本帖最后由 舞长安 于 2018-6-30 11:03 编辑
我们都知道Modbus是公开通信协议,具有两种串行传输模式,ASCII和RTU。
S7-200通过两种方式支持Modbus RTU 通信协议:S7-200 CPU上的通信口0(Port 0)通过指令库支持Modbus RTU从站模式;S7-200 CPU 上的通讯口0和1(Port 0 和 Port 1)通过指令库支持Modbus RTU主站模式。 在S7-200 CPU通信口上实现的是RS485半双工通信,使用的是S7-200的自由口功能。 也就是说,S7-200 CPU通信口的自由口模式实现 Modbus通信协议。
问题来了: 我的项目中,我该如何做呢? 西门子不提供的现成指令库,需要用户自己用自由口模式编程。 三点注意项: 1. Modbus RTU主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port 0和Port 1有效。该指令库将设置通信口工作在自由口模式下。 2. Modbus RTU主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。 3. Modbus RTU主站库对CPU的版本有要求。CPU的版本必须为2.00或者2.01 (西门子在Micro/WIN V4.0 SP5中正式推出Modbus RTU主站协议库)
|