Modbus的通讯问题

我用modbus的RTU库,程序如下:
 NETWORK 1:
   LD SM0.1
   CALL MBUS_INIT,1,1,9600,2,0,128,32,1000,&VB100,M0.1,MB10
 NETWORK 2:
   LD SM0.0
   CALL MBUS_SLAVE,M0.2,MB12
 我用的串口调试工具调试的,功能码为16,从机地址为1,主机发送报文:01 10 00 00 00 01 01 19,从机回复的报文为“01 90 02 CD C1”。
 不知道问题出在了哪里?
  返回的报文09应该是功能码01的异议回应,其他的02 CD C1不知道是怎么意思啦,寻求大家的帮助。

 上面的程序用功能码为06的报文试过,没有问题。
 

问题补充:
首先谢谢各位!
 CRC校验码是正确的,我算了四遍。而且如果校验码错误的话,从机不会返回响应。
 我查到的Mobus异常码里只有代码分别为01、02、03、04、05、06、08、0A、0B的异常码,我调试的从机返回响应中的数据域有三个十六进制数,无法对应查错。
 我现在监视MB10和MB12的值没有任何变化,都是0。
 真的是没有头绪了,希望高人指导一下,小妹先拜谢啦!

最佳答案

功能16用来写多个V存储器字,格式如下:
 站地址(字节)/10(字节)/首字地址(字)/字数(字)/字节数(字节)/数据字1(字)/……/数据字n (字)/CRC(字)
 你再看看你发送的数据:
 站地址01
 功能吗10
 首字地址00 00
 字数00 01
 字节数  ??????????
 数据字1 ?????????

提问者对于答案的评价:
非常十分以及特别地感谢LaoHuai!

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

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

相关推荐

  • 复位指令问题

    一个复位指令能同时复位几个定时器,怎样做?S7-200能做上电复位吗?请高手指点 最佳答案 用(R)进行复位时,上端写定时器号码,如T37,下端写需要复位的个数。 例如:…

    SIMATIC S7-200 2021年7月5日
  • 再问子程序

    看了大师门的指导和细微阐述,对子程序有了一定的理解,但仍然似懂非懂(请原谅本人愚昧).我想知道的是:"带参数的子程序的参数,是影响调用子程序的过程呢,还是影响了子程序的内…

    SIMATIC S7-200 2021年7月5日
  • s7-200如何选择AI模块

    大家早,我在做一个气体控制系统,需要监测温度,压力等模拟信号,现在正在选型,看到选型手册有多种AI模块,不懂,故上来求教。具体的型号,模拟量隔离型输入模块(电流或电压输入)隔离型电…

    SIMATIC S7-200 2020年11月1日
  • CPU224型号疑问!请帮助解答。

    PLC型号为CPU224-AC/DC/RLY   订货号为214-1BD22-0BX01:请问该型号CPu能否用于高速脉冲输出》2:该型号CPU能否用…

    SIMATIC S7-200 2017年8月3日
  • S7200的直流地如何接?

    在答案里看到关于接地的知识,有疑问如下:我的224XP,DC/DC/DC,采用明维的开关电源24V供电。开关电源的交流端输入有三个接线柱: L N 和…

    SIMATIC S7-200 2020年10月31日
  • 10台S7-200系列CPU226CN和S7-300 313C-2DP通信问题

    现在有5台一样的小设备,小设备的由2台CPU226CN通过PPI相互通信数据并由一台触摸屏Proface连接在其中一台CPU226CN进行人机通信即MPI。现在需要通过S7-300…

    SIMATIC S7-200 2020年10月31日
  • SMB200-SMB549 智能模块状态

    EM277 SMB200-SMB549 智能模块状态是什么意思!怎么使用,我现在EM277放在CPU后的第一个模块!这些特殊地址和DP通信有没有关系 最佳答案 …

    SIMATIC S7-200 2020年11月1日
  • VB编写西门子PLC软件

    我想实现:PC—MODEM+EM241+PLC,不知道VB该如何拨号? 最佳答案 如果认为太复杂,可以使用带串口的调制解调器,不一定使用EM241,PC端也使用同样的调制解调器…

    SIMATIC S7-200 2021年7月5日
  • 如何用定时中段读取上次中段的数据

    我现在做一个10S的流量显示,请问如何读取前一个定时中段的数据? 最佳答案 用两个变量,假如是VD0—本次流量数据,VD4上次流量数据,在定时中为程序中,先VD0传入VD4,然…

    SIMATIC S7-200 2021年7月5日
  • 交换机能延长TP软线的通信最大长度吗

    S7-200PLC实现以太网通信,TP软线最大长度10M是什么意思,中间加交换机能延长最大长度吗? 最佳答案 S7-200PLC实现以太网通信网络配置必须遵守以下条件:二个(光通信…

    SIMATIC S7-200 2017年11月4日

发表回复

登录后才能评论