1 接口定义 S7—200 的通讯口为 RS485 物理口(9 针口),其引脚定义如下图所示。2 接线将端口 0 或者端口 1 的引脚 3 接安科瑞仪表的通讯端子的 A+,引脚 8 接安科瑞仪表的通讯端子的 B-.3 说明S7-200 CPU 上的通信口在电气上是标准的 RS—485 半双工串行通信口,此串行字符通信的格式:1个起始位;7/8 位数据位;1 位奇/偶/无校验;1 停止位。通信波特率可以设置为1200、2400、4800、9600、19200、38400、57600 或 112500,符合这些格式的串行通讯设备可以和 S7—200 进行自由口通讯,Modbus RTU 指令库就是使用自由口编程实现的.4 Modbus RTU 主站库使用 Modbus 主站指令库时需要注意的几点:需要 S7-200 的编程软件是 Micro/WIN V4.0 SP5 及以上版本;Modbus RTU 主站库对 CPU 的版本有要求,CPU 的版本必须为 2.00 或者 2.01(即订货号为 6ES721*-***23—0BA*);Modbus 主站可读/写的最大数据量为 120 个字(指每一个 MBUS_MSG 指令);Modbus 主站库支持 Port0 和 Port1(从站库只支持 Port0 口),本例中用 Port0;使用 Modbus 库时必须对库存储区进行分配,见下图设置,而且分配的空间不能和程序中其它空间冲突,否则编译调用会报错。图 4 库存储区设置Modbus 主站库支持的功能码和地址对应关系: Modbus 地址读 / 写Modbus 从站须支持的功能00001~09999读功能 1:读输出点 数字量输出写功能 5:写单个输出点 功能 15:写多个输出点10001~19999读功能 2:读输入点 数字量输入30001~39999读功能 4:读输入寄存器 输入寄存器40001~49999读功能 3:读保持寄存器 保持寄存器写功能 6:写单个寄存器 功能 16:写多个寄存器表 2 需要从站支持的功能5 S7—200 Modbus 主站编程编程时,使用 SM0.0 调用 MBUS_CTRL 完成主站的参数初始化,详细见下表,参数的说明也可以从子程序的局部变量表中找到.图 5 Modbus RTU 主站初始化图中各参数含义如下编号符号/含义说 明aEN / 使能必须保证每一扫描周期都被使能(使用 SM0.0).bMode / 模式为 1 时使能为 Modbus 协议;为 0 时恢复为 PPI 协议。cBaud / 波特率支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。dParity / 校验校验方式选择:0=无校验;1=奇校验,2=偶校验。eTimeout / 超时 主站等待从站响应的时间,以毫秒为单位,典型...