分享

ABBAC900F学习笔记207:modbus通讯18

 知足常乐k2rrqy 2023-02-14 发布于山东
继续学习,还是那一篇文档。modbus主站看完了,现在进入modbus从站相关学习,可能需要写十几篇吧。 Modbus从站可以使用的功能块如下表:
MODS_DEV Modbus串口从站对象
MODTCP_S ModbusTCP从站对象
MODS_VIEW Modbus从站状态统计显示
MODS_R1C Modbus从站读1个线圈
MODS_RC Modbus从站读8个线圈
MODS_R16C Modbus从站读16个线圈
MODS_W1C Modbus从站写1个线圈
MODS_W8C Modbus从站写8个线圈
MODS_R16C Modbus从站写16个线圈
MODS_R1R Modbus从站读1个寄存器
MODS_R8R Modbus从站读8个寄存器
MODS_R16R Modbus从站读16个寄存器
MODS_W1R Modbus从站写1个寄存器
MODS_W8R
Modbus从站写8个寄存器
MODS_R16R Modbus从站写16个寄存器

Modbus耦合从站
过程数据能够和其它系统通过串口或者TCP接口,使用MODBUS协议进行数据交换。此协议允许在主站或者从站进行数据传输。
能够使用modbus协议传输寄存器或者线圈。在freelance,支持modbus指令代码01,02,03,04,05,06,08,15,16(古尔德,1985年1月发布PI-MBUS_300 Rev.B)。数据传输模式可以选择ASCII或者RTU。modbus RTU模式数据吞吐量几乎是另一种的2倍。传输速率可以在600至38400之间配置。依托freelance的使用,物理上支持232或者485接线方式。包含一个主站在内的多至32个用户可以连接在RS485总线上。冗余过程站两个CPU模板接入总线,就如同两个独立的用户,也就是算成两个用户。关于链接的更多信息参阅安装介绍。
提示:荣誉控制系统过程站上modbus通讯中断,不会触发冗余切换。如果是以太网,受到通讯中断影响,会出发一条系统报警。
在本章节中,compact系统扮演着从站角色。关于主站描述,参阅前面记录的博客。必须在硬件结构上为串口配置一个从站对象MODS_DEV,或者为以太网接口配置一个从站对象MODTCP_S,且在从站对象配置接口特征参数。当硬件结构上MODS_DEV或者MODTCP_S参数配置完成后,创建两个大小可由用户指定的存储区域供为寄存器(16位,freelance WORDleixing )和线圈(1位,freelance BOOL类型)使用。更多关于插入串口和以太网接口信息的信息,请参阅工程师手册,系统配置,硬件结构。从站对象MODS_DEV和MODTCP_S的寄存器和线圈,可以被modbus主站通过串口/TCP(以太网)总线访问。此外数据交换,为诊断目的,功能08(诊断)只支持子功能00(返回查询函数/回送)。通过串口/TCP(以太网)总线运行的modbus通讯读写块,独立于用户任务在后台运行。
警告:如果接口功能块的名字做了修改,相关联的读写功能块不会自动修改接口名称。
freelance项目通过下列功能块访问硬件结构上的从站对象(MODS_DEV、MODTCP_S)上的寄存器和线圈。
读线圈 MODS_R1C、MODS_R8C、MODS_R16C
写线圈 MODS_W1C、MODS_W8C、MODS_W16C
读寄存器 MODS_R1R、MODS_R8R、MODS_R16R
写寄存器 MODS_W1R、MODS_W8R、MODS_W16R

为了确认数据传输一致性,相关值(例如实数值,字符串值)必须放入同一个块中。
ABBAC900F学习笔记207:modbus通讯18-modbus从站X

modbus从站操作方法
冷启动之后,线圈和寄存器值置位初始状态,线圈和寄存器的值能够被modbus主站通过modbus从站通讯利基访问。如果是热启动,线圈和寄存器数值会保持住。
警告:在冗余过程站上,唯一要在CPU模块之间调整的线圈和寄存器值是那些已被读、写块访问的值。也就是说主CPU上经过读写的线圈/寄存器数值,需要与从CPU做同步调整。如果执行冗余传输,任何备注站写入从站的线圈和寄存器数值,在被从站读取数据功能块读取之前将会丢失。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多