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

相关推荐

  • 加减计数器

    S7-200CN: 加减计数-跟我学 – 70/185 课程编号:V0206 暂无简介 点击这里,打开新窗口观看完整视频 该视频下的所有用户提问列表 加减计数器没有提到,加减输入端…

    2017年6月24日
  • EM277加不上去?

    GSD文件已安装(以前添加过),我是在已有的一个程序中进行修改,但我现在E277添加不上,采用的拖放方式。在总线上直接右键-插入对象可以添加,但不能选择通讯字节长度。 问题补充: …

    SIMATIC S7-200 2020年11月5日
  • 200的 PLC通讯都有什么

    如题 最佳答案 1、最基本的是PPI方式,本机CPU都集成这个接口,可以通过它来编程调试,连接HMI,也可以用于多个S7200之间做主从通讯。 2、兼容的MPI方式,S7…

    SIMATIC S7-200 2021年7月5日
  • S7-200cpu224xpCN 模拟量输出控制东方调速电机

    我有台东方调速电机BX460CM30S—-驱动器上有通过外部直流电压DC 0-5V,1mA可以控制其速度。我想问下cpu224xpCN的模拟量输出是否可以用来控制其电…

    SIMATIC S7-200 2020年10月31日
  • S7-200 DIV_R输出问题

    用梯形图编写一个子程序,用到DIV_R,3个操作数分别为: IN1:AC0; IN2:#FT1_K (FT1_K变量类型为IN, 数据类型为…

    SIMATIC S7-200 2021年7月5日
  • S7-200输入点和COM点可以短接吗?

    今天在现场听说,200的PLC可以用一根导线直接短接输入点和COM点~请问这样做可以吗?没有外提供的24V,输入点能采集到输入信号吗? 问题补充:只没有24V电源~只为PLC提供了…

    SIMATIC S7-200 2021年7月5日
  • S7-200中的变量怎么和TD200进行连接

    S7-200中的变量如VW0,VW2等怎么在TD200中进行组态,具体怎么作法 最佳答案 首先提醒你的是,最好不要使用VW0,往往初学者最易出现的问题就是程序中使用了VW0。CPU…

    SIMATIC S7-200 2021年7月5日
  • v4.0 step 7 microwin sp9怎么设置连接PLC

    v4.0 step 7 microwin sp9怎么设置连接PLC 最佳答案 参考这个:S7-200编程通信http://www.ad.si…

    SIMATIC S7-200 2021年7月5日
  • 方案编程请教高手,谢谢!

    一台电机通过机械传动的方式带动三条辊共同夹住一根粗木头旋转, 其中有一条辊上装有刀(刨刀 ,象在展开一卷纸一样)在均匀的削切木头,该辊在带动木头转的同时还受到另…

    SIMATIC S7-200 2021年7月5日
  • 关于cpu226电源模块问题。

    拿到一个很长时间闲置的cpu226,没注意是DC供电,再第一次通电的时候用了AC220,,大概持续5秒发现不对马上拔掉电源。再通DC24也无任何反应,是CPU本来就是坏的还是我烧坏…

    2017年11月4日

发表回复

登录后才能评论