MODBUS RTU通信中关于如何将压力温度流量放入数据缓冲区

从站里 一个压力传感器的压力值为10.0是存在VD1000中的,数据缓冲区是VB0开始的100个字,应该是VB0-VB199。定义缓冲区的VD0(VB0,VB1,VB2,VB3)用于存储压力传感器寄存器的地址,程序是不是也要用间接寻指的方式将VD1000转到VD0中呢,即如下程序:LD     M1.0
MOVD   &VB1000, VD0, 
不知道是否是这样做呢。

主站的编程
主站这边通过读取40001放入缓冲取VB100,是不是表示主站的VD100=从站的VD0呢,如果要在主站里显示压力值是不是需要编程即:LD     M1.0
MOVD   *VD100, MD0
这时主站的MD0应该是显示压力值,
第一次接触通信方面,看了一些资料,不知道是不是这样理触的,手头上只有一个CPU224,做了MODSCAN与其的串口测试,000001和100001这方面的测试都是明白了,但对40001这寄存器方面还是不太懂,测试中的值都是0,不管我从站在缓冲区VB0中写入什么值MODSCAN里显示的40001都是0.0.,所以问了上面的那个问题,本身对间接寻址就接触的少

问题补充:
刚根据weiyt工程师说的直接将数据值写入数据缓冲区用MODSCAN32测试了一下,浮点数数据传送对就40001和40003,但整数型数据也是直接传到缓冲区里,不知道分别对应的40000是多少呢,好像显示不出来,请看下面的程序与MODSCAN32的截图

图片说明:

MODBUS RTU通信中关于如何将压力温度流量放入数据缓冲区    MODBUS RTU通信中关于如何将压力温度流量放入数据缓冲区   

最佳答案

1、是的,需要将要发送的数据放到数据缓冲区,并从缓冲区读取主站写来的数据。
    LD M1.0  //该指令是正确的
       MOVD &VB1000,VD0  //该指令是把VB1000的地址传送给VD0,VD0需要的是仪表的数据而不能是变量的地址
    可以修改成:
    LD SM0.0
       MOVD   &VB1000, AC1
       MOVR   *AC1, Symbol_9
     或者直接改成
    LD   SM0.0
      MOVR  VD1000,VD0
2、是的,40001对应第一个字,如果是读指令,那么将40001放到VB100开始的第一个字中,如果要使用,需要将VD100中的数据赋值给需要的变量。
     LD   SM0.0
         MOVR  VD100,VD0
3、40001~49999是读写寄存器的地址
补充
实数需要使用VD方式显示,一次使用2个字完成一个实数读写,如主站40001,40002中两个字存到VW100,VW102,使用VD100来显示实数就是10.0;整数就一个字可以了,如40003中存储10

提问者对于答案的评价:
谢谢

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

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

相关推荐

  • STEP7-microwin v4.0 sp9

    开启软件报警“STEP7-MICRO/WIN 必须重装才能在S7中作为集成”但同样可以打开软件,是什么原因造成?写出的程序会有影响吗? 最佳答案 不会影响,可以使用,不知…

    SIMATIC S7-200 2017年11月16日
  • 通讯接口转换

    买了一个RS232转RS485的接头,在RS485一侧,说明书上写,引脚1是485-,引脚2是485+,引脚5是GND。可是PLC的接口不是标准的RS485的吗?西门子的资料中,P…

    SIMATIC S7-200 2021年7月5日
  • S7-200 226计时不准

    cpu226,一个过程用sm0.5+计数器计时,偶尔会出现30分钟设定用了25分钟就跑完了。另外连的串口打印机用的readrtc读实时时钟每分钟打印当前时间和过程变量,有时候打印的…

    SIMATIC S7-200 2017年6月5日
  • SMRT—200.FOR—NEXT指令疑难

    FOR—NEXT指令,如下图圈的地方,为什么要加2 问题补充:FOR-NEXT指令看的迷惑,红圈处VD4为什么要+2 图片说明:    最佳答案 补图说明。fo…

    2021年7月5日
  • 200SMATER与自制的PC板通讯问题

    近期,公司有一个项目,由嵌入式开发组做一个PC板,用QT做操作界面,要与200SMATER做以太网通讯。我在网上查了几次,没有可参考资料,我也没有相关经验。我想问的就是:1、自制的…

    SIMATIC S7-200 2021年7月5日
  • 请教各位老师200 PID自整定问题

    各位老师好,我在现场遇到一个问题,PID的二次回压设定值为0.05MPa,二次回压的实际值为0.08MPa,KP(比例系数)=1,TI(积分时间)=10,但此时PID依然有输出,而…

    SIMATIC S7-200 2017年11月12日
  • 西门子200PLC做从站与施耐德PREMIUM PLC的MODBUS通讯

    西门子200PLC做从站与施耐德PREMIUM PLC的modbus通讯,施耐德PLC读西门子200PLC的地址是v1000-v1200,那么在施耐德中对应的地址是多少?…

    SIMATIC S7-200 2020年11月5日
  • 无法安装S7-200

    安装200PLC编程软件时 每次装到90%时就报错 无法继续安装 而且无法卸载 哪位大侠遇到过 请赐教! 最佳答案 重下一个软件:…

    SIMATIC S7-200 2021年7月4日
  • 关于中断

    请问在中断程序中   1.ATCH(中断连接指令)后面必须跟ENI(开中断指令)吗? 如果没有跟ENI(开中断指令)能否执行中断?&nbsp…

    SIMATIC S7-200 2021年7月5日
  • mwp文件损坏后如何修复?

    用STEP7 micro/win V4.0.0.8.1写了一段程序,存盘后遇到电脑非正常关机,重新启动后,程序文件没有丢,但是用STEP7打开出错,提示:指定文…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论