回复:smart200 modbus tcp通讯问题

大宝朱林森

  • 帖子

    25
  • 精华

    1
  • 被关注

    545

论坛等级:侠圣

注册时间:2014-02-20

钻石 钻石 如何晋级?

发布于 2017-09-12 23:54:17

3楼

第一  ModScan32 用来模拟标准的 MODBUS RTU 或者MOBUS ASSII  的客户端的,你写的程序有错误.

调用库文件如下图

第一步    程序段一   初始化端口0为MODBUS RTU端口

Mode: 1 = Modbus 协议  0= PPI 协议;
Addr:  将地址设置为 1 至 247 之间(包括边界)的值。
Baud:  将波特率设置为 1200、2400、4800、9600、19200、38400、57600 或 115200。
Parity: 应设置为与 Modbus 主站的奇偶验校相匹配。 所有设置使用一个停止位。 接受的值如下:

            0(无奇偶校验)、1(奇校验)和 2(偶校验)。
Port:  设置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可选信号板上的 RS-485 或 RS-232)。
Delay:通过使标准 Modbus 信息超时时间增加分配的毫秒数来延迟标准 Modbus 信息结束超时条件。

            在有线网络上运行时,该参数的典型值应为 0。
            如果使用具有纠错功能的调制解调器,则将延时设置为 50 至 100 ms 之间的值。 如果使用扩频无线通信,则将延时设置为 10 至 100 ms 之间的值。
           延时”(Delay) 值可以是 0 至 32767 ms。
MaxIQ:用于设置 Modbus 地址 0xxxx 和 1xxxx 可访问的 I 和 Q 点数,取值范围是 0 至 256。

              值为 0 时,将禁用所有对输入和输出的读写操作。 建议将 MaxIQ 值设置为 256。
MaxAI:用于设置 Modbus 地址 3xxxx 可访问的字输入 (AI) 寄存器数,取值范围是 0 至 56。

             值为 0 时,将禁止读取模拟量输入。 建议将 MaxAI 设置最大值为56
MaxHold:用于设置 Modbus 地址 4xxxx 或 4yyyyy 可访问的 V 存储器中的字保持寄存器数;
HoldStart:是 V 存储器中保持寄存器的起始地址
Done:   MBUS_INIT 指令完成时接通
Error:    错误代码
               0=无错误      1=存储器范围错误    2=波特率或奇偶校验非法  3=从站地址非法   4=Modbus 参数值非法  5=保持寄存器与 Modbus 从站符号重叠   6=收到奇偶校验错误
               7=收到 CRC 错误   8=功能请求非法/功能不受支持   9=求中的存储器地址非法  10=从站功能未启用   11=端口号无效   12=信号板端口 1 缺失或未组态


第二个网络

按上面所示再调用ModScan32做测试

通讯参数要与plc中的一致




评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。