cpu224xp做modbus主站接收从站数据(数据范围0-100000),如何选择寄存器及编程

从站设备发送的是16进制数值,换成十进制是从0-10万的范围,如果选择字存储VW0,最多只能放0-32767,如果选择双字存储,容量是够了,不过比如说原来接收的数值是0AF0,,,换成VD0后,同样的数值,寄存器存储的样式变成了0AF00000,这就造成了错误,请问各位老师如何解决??直接用高低位转换指令吗?谢谢

最佳答案

请参考链接下面《S7-200 作为 Modbus 主站方接收上来的数据格式与第三方设备不一样怎么办?》
西门子PLC数据的存储格式为高位低存方式。举例:VD200中包含VW200和VW202,其中VW202是低字,VW200是高字。若第三方设备与西门子数据存储格式不同,是低位低存的方式,那么通信上来的数据就会存在错误,需要进行转换才能使用。编程的方式比较多样。
例如,针对单个字中高低字节的交换可以使用SWAP(字节交换)指令,若是双字中高低字的交换可以考虑循环移位指令。
比如双字循环右移16位就可以了。
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/s7-200/communication/modbus/modbus%20master/Modbus%20master.htm

提问者对于答案的评价:
你好,当接收数值为1时,寄存器VD50就变成了16#01000000,分开显示,VB50显示的是1,VB51显示的是0,如果采用循环移位指令,请问怎么编程呢?应该需要沿触发吧,我采用sm0.0后面加沿触发好像不起作用,我把从从站接收的数据处理放在了子程序,如果需要循环,不知如何编程了

最佳答案作者回复:
sm0.0后面不能加沿,它是长时间接通的。
可以引入一个中间变量,比如 VD204,将原变量 VD200循环右移的数据不断地存入VD204,这样就不用沿触发了。
另外移位后的数据是不是对高字、低字还要进行交换,你得再看一下。

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

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

相关推荐

  • 关于可控硅调压回路的电流问题?

    问题有点多,请大侠耐心解答。1,可控硅调压回路的电流用什么传感器能够准确测量,普通穿孔交流电流传感器可以吗?2,可控硅调压回路的电流用数字钳形表可以准确测量吗?3,可控硅调压回路的…

    SIMATIC S7-200 2017年11月4日
  • 224XP处理一路模拟量4-20MA时出现异常

    当输入4MA时,AIW0监控值为2200左右,断开时为0,按计算应为6400,请问这是不是正常的,(已并500电阻) 问题补充:电阻是两个250欧串的,是标准的500欧高精电阻&n…

    SIMATIC S7-200 2021年7月5日
  • I点直接控制Q点

    在200和300PLC中,很多实际使用的程序中,都是用中间M点或者变量来控制输出Q点。不用中间M点或者其他变量,直接用I点来控制Q点可以吗?这样做有什么弊端? 最佳答案 1、很多实…

    SIMATIC S7-200 2017年11月27日
  • STEP 7-MicroWIN SMART 打不开 提示 MWSmart.exe

    STEP 7-MicroWIN SMART 打不开 提示  MWSmart.exe 图片说明:   …

    2021年7月5日
  • S7-200 CP243-1如何通过以太网连接多个smart 700 IE

    设备清单:S7-222模块一个,CP243-1一个,SMART 700 IE 四台工艺要求多地控制,需要将4台SMART 700 …

    SIMATIC S7-200 2017年11月19日
  • T35无线猫

    想请问一下西门子T35无线猫和其他品牌PLC可以实现通信吗?我想采用欧姆龙CJ1系列PLC控制现场设备,通过T35设置相关泵站故障报警信息短信发送至预设手机号码,通知其进行泵站维护…

    SIMATIC S7-200 2021年7月5日
  • 传送指令的问题

    我在一个块用到了传送指令VW30.我是在信号一,二,三起作用下分别把数据块里的VW22=2  VW24=3  VW26=4传送给VW30(三者都调用这个传送块).但是我发现当我是想…

    SIMATIC S7-200 2021年7月5日
  • 200像300那样反复调子程序

    最近刚接触PLC,学习300的时候了解到:对于功能相同,参数不同的机台设备的控制可以利用300的OB1来反复调用FC或FB。但是,我突然在想为什么各大论坛甚至工程师们好像从来没有说…

    SIMATIC S7-200 2018年1月1日
  • sm66.7一直为ON???

    在200中,如果使用了位置向导,是不是其中的特殊寄存器sm66.7就不再是监控脉冲是否完成了??也就是说SM66.7会一直为ON,如图,我用了PT0向导后,寄存器一直为ON。。。。…

    SIMATIC S7-200 2017年6月13日
  • 数据分布图

    即:不是可以知道(在软件里用指令看出)比如说M0.1与M1.1是否有重叠,就是知道(二维的看到M0.1与M1.1的分布图),谢谢(我就想在软件里二维的看一下,怎嘛操作?谢谢 问题补…

    SIMATIC S7-200 2020年10月31日

发表回复

登录后才能评论