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

上述例子也可以使用如下语句直接完成:

那么上述两者有何区别呢?从两图中的对比可以看出:

也就是说,对于数据块中地址的完整引用,将影响到DB 寄存器的内容。那么对于下面的程序,我们将很容易发现其中的错误。
程序原目的:将 3333 传送至DB1.DBW0 将 4444 传送至 DB1.DBW2

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

审核编辑:郭婷
-
寄存器
+关注
关注
31文章
5590浏览量
129092 -
西门子
+关注
关注
98文章
3272浏览量
119755
原文标题:西门子Step7 数据块寄存器使用错误
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
【教程】必看!手把手教你调试Codesys与西门子平台的Profinet网络
西门子PLC如何使用Modbus 485通讯传输接收数据
开疆智能Profinet转ModbusRTU网关连接西门子CP341配置案例
基于西门子S7-200PLC以太网模块的STEP7通讯配置实例
西门子PLC(S7-1200/1500/300/400)的数据采集与监控方案
西门子S7-200PLC借助于以太网模块与STEP7上位机通讯应用配置案例
西门子S7-200 PLC:数据采集与远程调试上下载解决方案
工业智能网关可以采集西门子PLC吗
在西门子TIA Portal中使用CFC语言实现电机控制的全流程
【答疑】网关返回错误?Modbus地址与寄存器地址别混淆!
西门子S7-200SMART与WINCC如何通信?老工控人这样做!
西门子TIA Portal中函数FC和函数块FB的相互转换

西门子Step7数据块寄存器使用错误
评论