串口通信移植
串口通信主要包括自由口通信、MODBUS通信、USS通信。S7-200 串口通信移植至S7-200 SMART 时,PORT1端口需要使用CM01信号板替代。
自由口通信移植
S7-200 自由口通信移植至S7-200 SMART 时,使用STEP 7-Micro/WIN SMART 直接打开S7-200 自由口通信程序即可,也可以将S7-200 自由口通信程序复制至S7-200 SMART 项目程序中。
图1. 使用STEP 7-Micro/WIN SMART 直接打开 S7-200 自由口通信程序
MODBUS通信移植
S7-200 MODBUS通信移植至S7-200 SMART 时,使用STEP 7-Micro/WIN SMART 直接打开S7-200 MODBUS 通信程序即可,也可以在S7-200 SMART 中使用MODBUS库重新编写程序。
1、S7-200 SMART V2.1 及以前版本软件有一个modbus主站库程序和一个modbus从站库程序,PORT0端口和PORT1端口不能同时做modbus主站,也不能同时做modbus从站;如果两个端口同时做modbus主站,建议使用STEP 7-Micro/WIN SMART 直接打开S7-200 MODBUS通信程序。
2、S7-200 SMART V2.2 版本软件有两个modbus主站库程序和一个modbus从站库程序,如图2所示。两个modbus主站库程序和一个modbus从站库程序都可以选择通信端口0或者1,如图3所示。
图2. V2.2版本软件的modbus主站和从站库程序
图3. V2.2 版本软件的modbus主站和从站库程序端口选择
USS通信移植
S7-200 USS通信移植至S7-200 SMART 时,使用STEP 7-Micro/WIN SMART 直接打开S7-200 USS通信程序即可,也可以在S7-200 SMART中使用USS库重新编写程序。
S7-200 SMART软件只有一个USS库程序,PORT0端口和PORT1端口不能同时用作USS通信,如果两个端口同时USS通信,建议使用STEP 7-Micro/WIN SMART 直接打开S7-200 USS通信程序。
常问问题
1. S7-200 SMART 使用S7-200的Modbus slave库无法初始化成功?
如下图所示,使用STEP 7-Micro/WIN SMART 直接打开S7-200 MODBUS 通信程序并做相关设置后测试,
首先,图中的MBUS_INIT的相关参数针对200smart来说,设置均正常,但是从测试结果可以看出,初始化MBUS_INIT报错1:存储器范围出错,而且MBUS_SLAVE报错10:从站功能未启用
图4. MODBUS Slave报错
这是因为200的库程序里针对过程映像区MaxIQ(0-128),AaxAI(0-32)做的报警判断,如下图Modbus Slave程序所示,S7-200的过程映像区最大0-31,所以超过31会报错,【但S7-200smart的AI过程映像区最大255】
图4. MODBUS Slave报警判断
所以当S7-200 SMART需要设计AI大于31的地址时,考虑还是使用STEP 7-Micro/WIN SMART自己的库。