cpu224xp做modbus主站接收从站数据并将数据转化编程的问题

cpu224xp作为主站,接收modbus从站的数值,数值的变化范围0——10万(可能),请问如何编程实现,如何选择合适的V寄存器,如果选字,肯定不够,如果选双字,就会出现下面图片的问题,接收为1时,显示如下,接收为4000时,显示如下,如果采用双字循环移位16,对于4000是可以的,但对于1,是不适合的,求解答,如何编程实现正确转化:
图片一显示的数值,二进制为:0000 0000 0001 0000 0000 0000 0000 0000
图片二显示的数值,二进制为:0000 1111 1010  0000 0000 0000 0000 0000

图片说明:

cpu224xp做modbus主站接收从站数据并将数据转化编程的问题    cpu224xp做modbus主站接收从站数据并将数据转化编程的问题   

最佳答案

不是这么搞的。你要看从站的数据格式,是字还是双字。然后再看PLC侧,如何处理数据。

你的截图,应该不是最初接收的数据。因为当你的数据为1时,VW50=256,而当数据是4000时,VW50=4000.

接收数据的处理,不需要移动。只需要把数据,重新按字节组合就可以。
如接收数据存在vd50.
MOVW VW50,VW102
MOVW VW52,VW100
那么VD100可能就是你需要的值。具体如何组合,要看你仪表和PLC的数据存储方式。详细的资料,你可以搜索大端对齐和小端对齐。但是搞明白这些是很烧脑的。也有简单的方式。
-
比如,十进制400,058,552的二进制为(0001 0111)(1101 1000)(0110 1000)(1011 1000).最前面是31位,最后面是第0位。在任何设备中,只要是双整都是这么显示的,不同的是存储方式。但是最基本的存储单元是字节,也就是8个位,所以每个( )中的8个位一定是在一起的。
对于西门子的200系列PLC,如果把400,058,552存到VD100,那么上面的4个字节依次为(VB100)(VB101)(VB102)(VB103)
假设从仪表读过来的数据存在VD50。如果VD50的数值就是400,058,552,那么你就不需要做任何处理。这一般是和西门子的PLC通信的时候。
如果数值不是400,058,552,那你把VD50以二进制显示(16进制最好)。比如显示的是这样:(1011 1000)(0110 1000)(1101 1000)(0001 0111)=(VB50)(vb51)(VB52)(VB53)。你对比正确的二进制就会发现,他只是把顺序反过来了,你直接把顺序搞正,再放到一个新的地址(比如:VD100)就可以了。具体就是VB53->VB100,VB52->VB101,VB51->VB102,VB50->VB103.此时,VD100就应该和从站的数值相同了。

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc370901.html

(2)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午4:35
下一篇 2021年7月5日 下午4:35

相关推荐

  • 编码器收到干扰问题

    欧姆龙编码器和CPU226,采用HCO 模式10 ,一个接近开关做为外部复位端子。现场有3个安川变频器.还有其它接近开关做为别的用途。当改外部复位端子还没有信号…

    SIMATIC S7-200 2021年7月5日
  • s7-200自由口通信!

    现场是一台电子秤和226CPU,PLC和电子秤进行自由口通讯的时候,我能在通信线上接两根线用来连接电脑,用串口通讯软件检测他们收发的数据吗? 最佳答案 可以的。用USB转485的转…

    SIMATIC S7-200 2017年11月12日
  • 200 300 通讯问题

    各位大虾,我有个问题想请教下     根据315与EM277配置资料显示,EM277选择8字节入/8字节出的通讯方式,I/O&nb…

    SIMATIC S7-200 2020年11月1日
  • MCGS触摸屏与200网络连接设置

    MCGS触摸屏与200网络连接设置,现在多台200PLC已经组好网络,但是触摸屏与网络连接不上,无法控制网络各站,求教谢谢 问题补充:我是想用触摸屏控制一台200主机,系统5台都是…

    SIMATIC S7-200 2020年11月1日
  • s7200PLC能接入DP网络中吗

    现场S7200PLC能不能接入DP网络中,如何实现 最佳答案 可以支持DP通讯。需要增加一个EM277模块,但是S7-200 PROFIBUS-DP 通讯只能做…

    SIMATIC S7-200 2021年7月5日
  • 西门子S7-200和S7-200CN的区别

    S7-200和S7-200CN的区别,样本一样吗,没有找到S7-200CN的样本,现在采购的话买S-700还是买S7-200CN 最佳答案 根据产品规划的需求,S7-200CN将于…

    SIMATIC S7-200 2017年6月8日
  • S7-200 扩展模块用的 扩展电缆 怎么选长一些的

    S7-200 扩展模块自带的扁平电缆很短,安装在箱内不方便。请问能不能买长一些的扩展线,加长扩展线有没有西门子原装的?几个模块里面最多可以用几条?每条最长多长? 最佳答案…

    2020年10月31日
  • 永宏PLC有拨码输入指令

    永宏PLC有拨码输入指令,西门子S7-200有没有拨码输入指令?请各位大侠赐教,在此谢了。 最佳答案 没有,但如果是dcdcdcplc的话,可以自己做一个。 ——…

    SIMATIC S7-200 2021年7月5日
  • S7-200设置PG/PC接口

    S7-200设置PG/PC接口应该选择那一种通讯 最佳答案 S7-200的通讯方式: 1. PPI:西门子专为S7-200系统开发的通讯协议. 2.M…

    SIMATIC S7-200 2021年7月5日
  • 请问四层电梯的PLC程序是不是比三层的复杂很多啊?

    那如果要是三十或四十层的电梯,用PLC的话,那工作量不是相当的大啊?可能需要几个编程人员才能完成吧? 最佳答案 1、用PLC的话,那工作量不是相当的大啊?可能需要几个编程人员才能完…

    SIMATIC S7-200 2020年10月31日

发表回复

登录后才能评论