下载中心
PLC与伺服驱动器和数码显示器的RS485通讯参数设置
关键词: 西门子PLC RS485通讯 MODBUD-RTU
一、以S7-1500PLC为例,西门子PLC可以与信捷伺服驱动器和数码显示器通过RS485口进行串口通讯,通讯协议为MODBUD-RTU。
二、硬件上面S7-1500需要有RS485通讯模块,并将PLC设置为主站,将伺服驱动器和数码显示器设置为从站;其中伺服驱动器地址设置为11、数码显示器地址设为12。
三、软件设置:
1、打开相应的西门子S7博图程序→设备组态,找到RS485通讯模块

2、点击模块,进入模块属性设置
2.1、操作模式设定

2.2、端口组态设置
设置485通讯的波特率、有无奇偶校验位、数据位、结束位,这里的设置必须和从站设备伺服驱动器的通讯参数设置一样。

2.3、点击“系统常数”,记下硬件标识符数字。


3、RS485通讯启动功能ModBus_Comm_Lord设置
3.1、ModBus_Comm_Lord功能是设置RS485通讯的参数
3.2、打开一个程序段,打开右边的菜单项,依次选择“指令”→“通讯”→“通信处理器”→“MODBUS(RTU)”
将“ModBus_Comm_Lord”拖入程序段中。
3.3、为ModBus_Comm_Lord指定1个背景数据块和块名,这个数据块的static.MODE位的初始值必须设置为4,第一次运行时的监视值也改为4。
3.4、为ModBus_Comm_Lord配置输入、输出参数,其中
3.4.1、“EN”端:长通。
3.4.2、“REQ”为启动端,上升沿接通一次即可;如果通讯有故障,也可以通过在此端加一个上升沿信号复位和重启通讯。
3.4.3、“PORT”端:填入上面记下的硬件标识符数字。
3.4.4、“BADU”端:波特率,这里的设置必须和2.2端口组态设置的波特率一样。
3.4.5、“PARITY”、“FLOW_CTRL”、“RTS_ON_DLY”、“RTS_OFF_DLY”都填0.
3.4.6、“RESP_TO”端:响应超时时间,单位ms;超过此时间通讯还未建立,就报故障。

3.4.7、“MB_DB”端:接入下面“ModBus_Master”背景数据块的MB_DB位,建立“ModBus_Comm_Lord”和“ModBus_Master”的联系。表示下面“ModBus_Master”所连接的从站,都是与“PORT”指定RS485通讯模块进行通讯的。
3.4.7、“DONE”状态位:如果与从站的通讯已经建立,该位输出一个周期的“TRUE”。
3.4.8、“ERROR”状态位:如果响应超时时间后,与从站的通讯还未建立,该位输出一个周期的“TRUE”。
3.4.9、“STATUS”状态字:显示当前通讯的状态和错误字;具体错误信息查询:选择该块→按“F1”键→点击“错误信息”

4、ModBus_Master功能设置
4.1、打开右边的菜单项,依次选择“指令”→“通讯”→“通信处理器”→“MODBUS(RTU)”,将“ModBus_Master”拖入程序段中。
4.2、为ModBus_ Master指定1个背景数据块和块名,这个背景数据块的MB_DB位被上面“ModBus_Comm_Lord”块的MB_DB位所引用。
4.3、为ModBus_Master配置输入、输出参数,其中
4.3.1、“EN”端:长通。
4.3.2、“REQ”为启动端:上升沿接通一次,就启动一次数据通讯。
4.3.3、“MB_ADDR”端:从站地址。
4.3.4、“MODE”端:0:读;1:写。
4.3.5、“DATA_ADDR”端:从站里面通讯对应的寄存器首地址。
4.3.6、“DATA_LEN”端:从站里面通讯对应的寄存器长度。
4.3.7、“DATA_PTR”端:与从站寄存器对应的主站寄存器首地址。
4.3.8、“DONE”状态位:一次通讯完成没有错误,该位输出一个周期的“TRUE”。

4.3.9、“BUSY”状态位:通讯正在进行时,该位输出“TRUE”。
4.3.10、“ERROR”状态位:本次通讯发生错误,该位输出一个周期的“TRUE”
4.3.11、“STATUS”状态字:显示当前通讯的状态和错误字;具体错误信息查询:选择该块→按“F1”键→点击“参数”→点击“错误信息”。
5、轮询设置
5.1、PLC485通讯模块与伺服驱动器和数码显示器的通讯采取轮流通讯的方式(轮询)。
5.2、轮询程序轮流接通伺服驱动器和数码显示器的“ModBus_Master”的“REQ”端。
5.3、轮询设置程序如下:

6、数码显示器的通讯参数设置
6.1、数码显示器端地址设为12,其他参数不用设置,数码显示器自适应。
6.2、要向数码显示器写数据,因此MODE=1。
6.3、数码显示端接收数据的寄存器是400311、400312、400313、400314,所以设置DATA_ADDR=400311、DATA_LEN=4。
6.4、准备写入数码显示器的4个字放在PLC的DB120数据块的DBD0---DBD4。
6.4.1、400311控制数码显示器的符号位,当400311设置为1时,数码显示器既可以显示正数,也可以显示负数; 当400311设置为0时,数码管只能显示正数。
6.4.2、400312控制数码显示器小数点位,当400312为0时,数码管显示整数;当400312为1时,数码管显示1位小数;当400312为2时,数码管显示2位小数。
6.4.3、400313为数码显示器符号设置位,当400313设置为0时,数码显示无符号;当400313设置为-1时,数码显示带“-”号。
6.4.4、400314为数码显示器要显示的数值。
