ezio2016
工控小白
级别: 略有小成
精华主题: 0
发帖数量: 138 个
工控威望: 265 点
下载积分: 851 分
在线时间: 104(小时)
注册时间: 2016-08-05
最后登录: 2024-05-15
查看ezio2016的 主题 / 回贴
楼主  发表于: 2019-09-16 13:36
楼主最近在一个内部项目中,S7-200 smart(SR20 AC/DC/Relay)与Demo 3D采取S7通讯。
当Demo 3D对PLC进行数据写入时(对M或者I写入)
此时的PLC所有的M或者I寄存器都会被写入(假设写入M0.0=1)
那么写入后只有M0.0=1,其他所有M寄存器都没复位为0(即使原来的值为1)

我想请问,这个问题是S7通讯的问题吗?还是其他方面?
各位有没有遇到过类似的问题?

Demo 3D是一款仿真软件。
ezio2016
工控小白
级别: 略有小成
精华主题: 0
发帖数量: 138 个
工控威望: 265 点
下载积分: 851 分
在线时间: 104(小时)
注册时间: 2016-08-05
最后登录: 2024-05-15
查看ezio2016的 主题 / 回贴
1楼  发表于: 2019-09-25 09:47
自己捣鼓了一下,目前发现是单字节覆盖
M0.0-M0.7,不管这8个寄存器是什么状态,当Demo 3D对其中一个写入时,都会将另外7个的状态刷新
所以除了状态互斥的变量可以使用同一字节的寄存器,其他变量都使用单独字节寄存器中的一个

如何大家有更好的思路,希望不吝赐教
[ 此帖被ezio2016在2019-09-25 09:52重新编辑 ]