西门子300PLC与威纶通人机界面通信问题。
我公司有个设备是用威纶通eb8000人机界面跟西门子300来控制,现在开关量都没什么问题,就是有一个模拟量有问题,是人机界面一个给定值到PLC,进行控制,但是这个给定值比...
我公司有个设备是用威纶通eb8000人机界面跟西门子300来控制,现在开关量都没什么问题,就是有一个模拟量有问题,是人机界面一个给定值到PLC,进行控制,但是这个给定值比PLC的值大256,刚好大一个字节,也就是说我在人机界面给定是0,PLC那里是256,人机界面显示也是256,;我给定是1,PLC那里是257。感觉就是变量数据类型设置问题,那个高手知道在step7里面怎么设置这个变量啊?请详细点,谢谢了!
展开
2个回答
展开全部
你是不是要的数据是16位1个字节, ,但是改的FC块写成双字节传送了?比如只需要DB0.0的数据(DB0),如果双字节传送(DW0),但是你触摸屏写的是写入高位的数据.就会产生这样的情况. 显示里是设置的32位. 查看一下数据类型
追问
我的意思就是问,我现在不用动触摸屏的程序,怎么改300PLC里面的程序?或者需要怎么设置FC2块啊!谢谢了说详细点吧!因为之前都是好好的,所以触摸屏的程序应该没什么问题吧,现在怎么去修改300 的程序!
追答
你查看一下你PLC里不一致的数据. 传送方式有没有问题. 比如DB0有问题就查找一下是不是
L DB0
T DB??
被改写成了
L DW0
T DW??
大概这种形式,你得知道程序改动了哪里才好办
我只能说原理:
每个字=8位 即 11111111=255
双字就是两个字的组合 为16位/高8位/低8位. 255=高位0+低们255 256=高位1+底位的0 257=高位1+低位1
所以,你输入0显示255 如果你触摸屏没改过,都是双字写入双字读出,那就只可能是你在传送的时候没有传送双字,
比如写入的是 DB0-DB1 双字 读取是 DB10-DB11 双字
传送应该为 L DW1 TDW10 (表示传送DB0和DB1到DB10-DB11)
但是变改成 L DB0 T DB11(输入1,单字1传送到高位高位1+低位000=257)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询