西门子plc数据传送计算问题 西门子plc数据传送计算问题
作者&投稿:圣舒 (若有异议请与网页底部的电邮联系)
PLC 数据传送问题~
其中VW0又是由VB0和VB1组成,其中VB0是VW0的高8位,VB1是VW0的低8位,
其中VW2是由VB2和VB3组成,其中VB2是VW0的高8位,VB3是VW0的低8位,
VB0是由8个位组成的,其中VB0.0是最低位,VB0.7是最高位
VB1也是由8个位组成的,其中VB1.0是最低位,VB1.7是最高位
VB3和VB4的规律同上
那么VD0就是由VB0,VB1,VB2,VB3,组成的,VB0是最高8位,VB3是最低的8位
用位来表示就是,VB0.7-VB0.0 ,VB1.7-VB0.0 ,VB2.7-VB2.0 ,VB3.7-VB3.0
可以看到VB0.7是VD0的最高位,VB3.0是VD0的最低位,共32位
那么按照你的问题,将1这个数值传到VW1中,由于VW1是由VB1(高8位)和VB2(低8位)组成,所以这个1是被存储在VB2的最低位,也就是VB2.0这个位上,
那么这时你看VD0的数值用16进制数应该是16#00000100;(注意16进制每两个数占用1个VB字节)
10进制数就是256;
VD中的数据为1,因为VD0由VW0和VW1组成。而西门子受ARM存储方式为高位在前,因此,VW1 是VD0的低字,因此VD0 为1。
来学习学习
VD0 应该是vw0和vw2组成。但是这个值也是1
FC5/6的参数设置里没有体现指向特定PLC的信息,但你在NetPro中组态时,在建立连接时选择和哪个PLC通讯了
在西门子PLC中,VD0是由VW0和VW2组成,而VW0是高16位,VW2是低16位,
其中VW0又是由VB0和VB1组成,其中VB0是VW0的高8位,VB1是VW0的低8位,
其中VW2是由VB2和VB3组成,其中VB2是VW0的高8位,VB3是VW0的低8位,
VB0是由8个位组成的,其中VB0.0是最低位,VB0.7是最高位
VB1也是由8个位组成的,其中VB1.0是最低位,VB1.7是最高位
VB3和VB4的规律同上
那么VD0就是由VB0,VB1,VB2,VB3,组成的,VB0是最高8位,VB3是最低的8位
用位来表示就是,VB0.7-VB0.0
,VB1.7-VB0.0
,VB2.7-VB2.0
,VB3.7-VB3.0
可以看到VB0.7是VD0的最高位,VB3.0是VD0的最低位,共32位
那么按照你的问题,将1这个数值传到VW1中,由于VW1是由VB1(高8位)和VB2(低8位)组成,所以这个1是被存储在VB2的最低位,也就是VB2.0这个位上,
那么这时你看VD0的数值用16进制数应该是16#00000100;(注意16进制每两个数占用1个VB字节)
10进制数就是256;
其中VW0又是由VB0和VB1组成,其中VB0是VW0的高8位,VB1是VW0的低8位,
其中VW2是由VB2和VB3组成,其中VB2是VW0的高8位,VB3是VW0的低8位,
VB0是由8个位组成的,其中VB0.0是最低位,VB0.7是最高位
VB1也是由8个位组成的,其中VB1.0是最低位,VB1.7是最高位
VB3和VB4的规律同上
那么VD0就是由VB0,VB1,VB2,VB3,组成的,VB0是最高8位,VB3是最低的8位
用位来表示就是,VB0.7-VB0.0 ,VB1.7-VB0.0 ,VB2.7-VB2.0 ,VB3.7-VB3.0
可以看到VB0.7是VD0的最高位,VB3.0是VD0的最低位,共32位
那么按照你的问题,将1这个数值传到VW1中,由于VW1是由VB1(高8位)和VB2(低8位)组成,所以这个1是被存储在VB2的最低位,也就是VB2.0这个位上,
那么这时你看VD0的数值用16进制数应该是16#00000100;(注意16进制每两个数占用1个VB字节)
10进制数就是256;
VD中的数据为1,因为VD0由VW0和VW1组成。而西门子受ARM存储方式为高位在前,因此,VW1 是VD0的低字,因此VD0 为1。
来学习学习
VD0 应该是vw0和vw2组成。但是这个值也是1
《西门子plcmove指令数据不传送》
答:1、传送的时间加长。2、将字符串分开传送,传送后再将两段字符串合并起来,这些都是有现成的指令可以用的。