西门子 S7-300/400 系列 CPU 拥有两个数据块寄存器,它们保存着当前打开的数据块编号: DB 寄存器保存着打开的共享数据块编号 DI 寄存器保存着打开的背景数据块编号特别提示:DI 寄存器主要用于 FB 引用背景数据块,但也常用于程序中同时打开两个数据块的操作。如下图的程序即完成了将 DB1.DBW0(16#2222)传送到 DB4.DBW0 中的工作。用户请注意程序中的格式(如 T DIW0),详细信息请参考 STEP7 编程手册中的寻址方式部分。


那么上述两者有何区别呢?从两图中的对比可以看出:
| L | DBW0 | //不改变 DB 寄存器的内容 |
| T | DIW0 | //不改变 DI 寄存器的内容 |
| L | DB1.DBW0 | //改变DB 寄存器的内容 |
| T | DB4.DBW0 | //改变DB 寄存器的内容,相当于增加了 OPN DB4 的指令。 |
也就是说,对于数据块中地址的完整引用,将影响到DB 寄存器的内容。那么对于下面的程序,我们将很容易发现其中的错误。
程序原目的:
将 3333 传送至 DB1.DBW0
将 4444 传送至 DB1.DBW2

故障分析:
由于程序的 Network5 中使用了对于 DB4.DBW0 的比较指令,此指令改变了 DB 寄存器的内容,因而我们将得到如下的错误结果,DB1.DBW2 并没有得到正确数值,正确数值 4444 被错误地送到了DB4.DBW2中:

审核编辑:郭婷
-
寄存器
+关注
关注
31文章
5647浏览量
133768 -
cpu
+关注
关注
69文章
11516浏览量
229565 -
西门子
+关注
关注
98文章
3758浏览量
122512
原文标题:数据块寄存器使用错误
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
S7-300 400 PLC编程软件STEP7 V5.7安装教程
S7-300 400 PLC编程软件STEP7 V5.6安装教程
西门子S7-300产线升级利用串口转以太网实现与西门子1500PLC数据交互应用案例
西门子S7-300 PLC通过以太网转换器与S7-1200互联实现产线集中监控应用案例
西门子S7-300与S7-1200 PLC以太网通讯及HMI集成 实现瓶装饮用水灌装生产线监控智能化升级
西门子 S7-300 PLC 通过 MPI 以太网模块与上位机通讯实现饮料生产线状态监控的应用配置案例
西门子S7-300系列PLC借助于MPI转以太网模块同时与S7-1200PLC和触摸屏、变频器通讯案例
西门子S7-300系列PLC借助于以太网转换模块同时与S7-1200PLC和触摸屏、通讯案例
S7-300通过以太网转换模块实现与S7-1200及触摸屏的多设备通信方案
工业无线数传模块实现西门子 S7-300 与 S7-200 SMART 300米 Profinet 无线通讯
西门子S7-1500 PLC和S7-300 PLC Profibus-DP通讯的组态实例
西门子S7-300 PLC借助于MPI以太网通讯处理器实现与MES的双向通讯
西门子S7-300 PLC通过MPI以太网通讯处理器达成与MES双向通讯
西门子S7-300/400系列CPU数据块寄存器使用错误
评论