发表于:2016/3/14 20:36:01
#0楼
要在S7-1200里面使用ModbusRTU通讯,必须在硬件组态中加入CM1241 RS422/485模块,最多可支持三个这样的串口通讯模块
添加了CM1241模块后,需要在模块属性中组态通讯端口的参数,波特率、数据位、停止位和奇偶校验等
通讯端口初始化指令 MB_COMM_LOAD ,其中的参数含义:PORT-端口硬件标识;BAUD-波特率;PARITY-奇偶校验;MB_DB-主从站指令的背景数据块,另外,EN为使能端,REG为上升沿触发端。
下图的指令建议在StartUp(启动组织块)中调用,因为端口的初始化只需要执行一次就可以了,频繁的调用这条指令会使正在发送的数据丢失。
主站指令,参数的含义:MB_ADDR-从站地址;MODE-读写功能码,这个功能码与标准的Modbus功能码有所不同,详细的可以看帮助文档;DATA_ADDR-从站里面读写数据的起始地址;DATA_LEN-从站里面读写数据的长度,单位是字;DATA_PTR-主站当中用来通讯的数据的缓存地址的指针;
从站指令,参数含义:MB_ADDR-PLC作为从站的地址;MB_HOLD_REG-允许主站访问的地址范围
添加了CM1241模块后,需要在模块属性中组态通讯端口的参数,波特率、数据位、停止位和奇偶校验等
通讯端口初始化指令 MB_COMM_LOAD ,其中的参数含义:PORT-端口硬件标识;BAUD-波特率;PARITY-奇偶校验;MB_DB-主从站指令的背景数据块,另外,EN为使能端,REG为上升沿触发端。
下图的指令建议在StartUp(启动组织块)中调用,因为端口的初始化只需要执行一次就可以了,频繁的调用这条指令会使正在发送的数据丢失。
主站指令,参数的含义:MB_ADDR-从站地址;MODE-读写功能码,这个功能码与标准的Modbus功能码有所不同,详细的可以看帮助文档;DATA_ADDR-从站里面读写数据的起始地址;DATA_LEN-从站里面读写数据的长度,单位是字;DATA_PTR-主站当中用来通讯的数据的缓存地址的指针;
从站指令,参数含义:MB_ADDR-PLC作为从站的地址;MB_HOLD_REG-允许主站访问的地址范围
[此贴子已经被作者于2016/3/14 20:52:57编辑过]
运用之妙,存乎一心