MODBUS-RTU通讯问题

MB_MASTER中DATA_PTR之DB如何定义,为何出现16#818C错误;如改为MW200则出现16#818B错误;请问错误在那里?谢谢!

问题补充:
1.首先感谢左传及lee nd2009之协助,原16#818C或16#818B错误已解决;但新问题如下:连接外设仪表是一个PID温控器,FC03范围为0~138,用RS485直接电脑测试显示都没问题;经由S7-1200读不到资料,图片如附加3张,烦请再指正,谢谢!

图片说明:

MODBUS-RTU通讯问题    MODBUS-RTU通讯问题    MODBUS-RTU通讯问题    MODBUS-RTU通讯问题   

最佳答案

1、错误信息:818B   指向本地数据源/目标的指针无效: 大小不正确
             818C   DATA_PTR 的指针无效或 Blocked_Proc_Timeout 无效。必须是 DB(允许符号访问和直接访问)或 M 存储器。   
2、  MB_MASTER中DATA_PTR之DB如何定义?
   DATA_PTR 参数指向要写入或读取的 DB 或 M 地址。 如果使用数据块,则必须创建一个全局数据块为读写 Modbus 从站提供数据存储位置。
说明
DATA_PTR 数据块类型必须允许直接寻址
该数据块必须允许直接(绝对)寻址和符号寻址。 创建该数据块时,必须选择“标
准”(Standard) 访问属性。
    DATA_PTR 参数的数据块结构
● 这些数据类型对 Modbus 地址 30001 到 39999、40001 到 49999 和 400001 到
465536 的字读取有效,对 Modbus 地址 40001 到 49999 和 400001 到 465536 的字
写入也有效。
– WORD、UINT 或 INT 数据类型的标准数组
– 指定的 WORD、UINT 或 INT 结构,其中每个元素都具有唯一的名称和 16 位数据
类型。
– 指定的复杂结构,其中每个元素都具有唯一的名称以及 16 或 32 位数据类型。
● 用于 Modbus 地址 00001 到 09999 的位读取和写入和 10001 到 19999 的位读取。
– 布尔数据类型的标准数组。
– 具有唯一名称的布尔变量的指定布尔结构。

 3、你的错误之处在于:(1)MODE 和 Modbus 地址一起确定实际 Modbus 消息中使用的功能代码。根据你的程序选择的MODE 为0,Modbus地址是:1,两者确定的功能是:每个请求 ,读取输出位:1 到 1992 或 2000 个位
 (2)你在DATA_PTR程序输入MW200 ,显然数据的长度不能满足,它只有16位,而你读1-2000个位,所以出现16#818B错误。
  (3)你在DATA_PTR程序输入“MB_DB"块指针无效,可能的原因:A、数据长度不够,B、你引用的数据块没有选择必须选择“标准”(Standard) 访问属性。
   导致你程序出现的错误16#818C错误。
可以参考:《S71200的说明书》
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/39710145[1].pdf
例子可以参考:《如何通过Modbus RTU协议实现S7-1200 与PAC3200的通信》
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0403.pdf

提问者对于答案的评价:
前段问题解决,后段与现场仪表连线无法读取资料很遗憾,在努力寻找原因。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月16日
下一篇 2017年11月16日

相关推荐

  • S71200 通信

    一台S71200PLC能否通过交换机同时和上位机以及触摸屏通讯? 最佳答案 完全可以的,我的项目中就是这么做的,运行正常1200的以太网口同事可以通信的示意图见图1参考文献:“哪些…

    2017年10月24日
  • Step basic软件与WIN7 家庭版 64位

    各位朋友好,小弟最近学习S7 1200,系统用的是WIN7 家庭普通版64位的,在安装编程软件时,低版本的不支持操作系统,高版本的也不支持操作系统,从step&…

    SIMATIC S7-1200 2017年6月29日
  • 修改过程映像

    I/O地址的过程映像怎么修改?把局部过程映像编号PIP0分配给OB123。在I/O属性里怎么改不了 图片说明:    最佳答案 1.在项目的 “监控和…

    2017年6月13日
  • 仿真时不能实现强置

    博途V13做仿真时,变量不能强置,只是随便写一个MOV传送也不能实现仿真,是怎么回事 问题补充:截取图片 图片说明:    最佳答案 能截图一下看看吗?move…

    2017年6月4日
  • s7-1212c(dc/dc/dc)本机及模块最多能有几个高速脉冲输出接口?

    s7-1212c(dc/dc/dc)本机及模块最多能有几个高速脉冲输出接口?开发系统中有要控制近5台伺服电机,1212C本机有2个高速脉冲输出接口,能再加模块到达控制伺服电机的要求…

    SIMATIC S7-1200 2017年7月26日
  • 温度PID设置

    各位好,我在调试温度PID时,怎么下载PID值,一般温度PID调节,P值,I值,各是 多少啊,谢谢!我附图中的PI值那两行英文各是什么意思啊? 图片说明:  &…

    2017年10月31日
  • S7-1200选型问题

    S7-1200选型,PM电源是必须选吗 最佳答案 可以不用的。用其他电源代替也可以,比如明纬电源、欧姆龙电源都不贵,质量也不错,可以代替使用。 提问者对于答案的评价:谢谢 专家置评…

    SIMATIC S7-1200 2017年6月11日
  • 博途V11编程

    如果要加入一个模拟量的0.76次方函数,应该怎么做?梯形图行么?语言编程行吗? 最佳答案 可以用梯形图的指令EXPT,  说明见图 图片说明:  &n…

    2017年10月24日
  • 梯形图编译

    要采集4个浮点型信号每个浮点型信号间隔5s怎么编程梯形图最好发个图 问题补充:给图的那个大神我用的是1200 你给的是1500;采集完4组完事了不循环 要梯形图…

    2017年7月30日
  • S7-1200两台PLC通讯?

    如何实现两台PLC之间的通讯?麻烦前辈提供下相关资料  谢谢 最佳答案 以太网 S7,TCP,PN见https://support.industry.…

    SIMATIC S7-1200 2017年6月18日