感悟网 导航

西门子plc数据传送计算问题 西门子plc数据传送计算问题

作者&投稿:圣舒 (若有异议请与网页底部的电邮联系)
PLC 数据传送问题~

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;

在西门子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;

VD中的数据为1,因为VD0由VW0和VW1组成。而西门子受ARM存储方式为高位在前,因此,VW1 是VD0的低字,因此VD0 为1。

来学习学习

VD0 应该是vw0和vw2组成。但是这个值也是1

《西门子plcmove指令数据不传送》
答:1、传送的时间加长。2、将字符串分开传送,传送后再将两段字符串合并起来,这些都是有现成的指令可以用的。

《西门子plc除法指令都是数据地址为什么编译错误?》
答:如图所示,注意数据类型,西门子S7-200系列PLC的整数除法指令,DIV指令的除数和被除数都是字类型的,因此用VW,MW等。而结果是双字类型的,因此用VD,MD等。例如图片这个,就是VW0除以VW2,结果的商保存到VW6,余数保存到VW4。字的VW6和VW4组合成的双字VD4。望采纳。。。

《西门子PLC数据问题》
答:如果双字DB100.DBD0为0,那么DB100.DBX0.0是否也为0 是的,DBX0.0~DBX3.7均为0 当DB100.DBD0为1时,是否DB100.DBX0.0也为1 不是,DBD0由DBB0~DBB3组成,DBB3为最低字节,因此DBX3.0才是为1 当DB100.DBD0为0和1以外的数值时,DBD100.DBX0.0全为0呢?那取决于你以外的数值的值...

《西门子plc传送指令中2#1010是什么意思啊?要具体啊~~》
答:2#1010代表2进制数1010,但是西门PLC是8位2进数,所以正确的理解应该是00001010 即是B#2#00001010,假设传送到MB0,则M0.0=0,M0.1=1,M0.2=0,M0.3=1,M0.4=0,M0.5=0,M0.6=0,M0.7=0.传送到其他地址同理可得,但是注意地址所占用的位置会被数据覆盖,也就是说当传送过后...

《[求助-西门子PLC300/400] 请问几个模拟量采集运算问题?》
答:FC22 不是西门子软件里自带的功能块吧,关键得看FC22里面编的程序了!这个FC22不是标准的西门子库文件中的,为什么写入L#20000呢?只能打开这个功能看具体计算程序段。至于触摸屏显示格式是取高字、低字做显示,还是要根据FC22的计算,看具体实际值。你图1已经选择了带2位小数的I/O域了。补充问题...

《西门子plc中怎么把数据指定给计数器》
答:计数器的PV值的数据类型必须为整数,所以VW,MW,常数等等都可以,尝试着做一下试验,将数据通过传送指令送入VW或是AC中,然后将该操作数放入计数器的PV中,监控观察C0与PV的变化

《西门子plc编程软件如何处理数据溢出问题》
答:处理方法:1、使用SCALL指令,判断输出RET_VAL的值,如果不为0,则SCALL指令没有正确执行,根据RET_VAL的值输出报警。2、对IN值做判断,如果IN值超过了32767,则输出超量程报警,同时将IN值替换为32767。西门子plc编程软件可进行远程编程、诊断或数据传输。控制器功能中已集成了Profibus DP Master/Slave...

《求助i:西门子PLC数组的输入输出的问题》
答:首先你的MD12,MD14,MD16就不对 因为一个MD占四字节,MB12,MB13,MB14,MB15,那就是MD12 md16 md20了 这个需要注意 你要实现的功能可以建立结构数据块 列入建立fb20,指定一个背景数据块DB20.在DB20里面定义数组A的具体值 然后当新数据采集回来,执行FB20的内容,每个数据后移一位即...

《西门子PLC中同时将2 ,3个传送到vb82中,VB82会显示什么数据?为什么?》
答:你就是送1000000000000000000000000000个,也是显示最后一个,看你程序最后一个送进的是多少。相当于你对一个变量赋了无穷多次值,但你读的时候肯定是你赋的最后一个有效值。你说的同时应该是梯形图上看着同时,但PLC是逐行执行的,还是有先后顺序的 ...

《西门子plc字节传送指令in的位置写的数字代表什么意思?例如:0 1 3 5...》
答:西门子的PLC的数据一般是以字节为单位,一个字节就包含8位数据位,IB0(表示I0.0-I0.7这8个位)同理,QB0就表示Q0.0-Q0.7这8个位)。用你提供的数据来举例:当I0.0接通时,QB0=0=2#00000000,则Q0.0-Q0.7全部断开;当I0.1接通时,QB0=1=2#00000001,则Q0.0接通,Q0.1-Q0....

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网