西门子S7 200smart与欧姆龙E5cc温控器通讯程序 功能:通过西门子s7 200smart与欧姆龙e5cc温控器modbus通讯,实现目标温度设定,实际温度读取,设定报警类型,报警值,报警值上下限,探头型号设定等功能。 操作通过昆仑通态触摸屏。 有通讯中断自恢复功能,保证通讯稳定。 器件:西门子s7 200smart ST20 PLC.昆仑通态MCGS TPC7062K,欧姆龙E5cc温控器。 说明:是程序,可以直接应用现场,带详细注释程序,触摸屏程序,PLC设置和温控器设置,接线说明书。
在工业自动化场景中,设备间的稳定通讯至关重要。今天就来分享下如何实现西门子S7 200smart与欧姆龙E5cc温控器通过Modbus通讯,并借助昆仑通态触摸屏进行操作,还具备通讯中断自恢复功能。
一、器件准备
本次项目用到的器件有:西门子s7 200smart ST20 PLC,它以其可靠性和强大的逻辑处理能力著称;昆仑通态MCGS TPC7062K触摸屏,方便用户直观操作;以及欧姆龙E5cc温控器,精准控制温度。
二、接线说明
- PLC与温控器接线:
- 西门子S7 200smart的Port0端口用于Modbus通讯,将其RS485+(A)连接到欧姆龙E5cc温控器的RS485+(A)端,RS485-(B)连接到温控器的RS485-(B)端。注意共地,这样能减少通讯干扰。 - 触摸屏与PLC接线:
- 昆仑通态MCGS TPC7062K触摸屏通过USB或者串口与西门子S7 200smart PLC连接。如果是串口连接,要注意设置好波特率、数据位、停止位等参数,确保两者能正常通讯。
三、温控器设置
欧姆龙E5cc温控器需进行如下设置:
- 通讯模式设置:进入温控器菜单,将通讯模式设为Modbus RTU。这是因为我们选用Modbus通讯协议,RTU模式适合大多数工业场景,数据传输效率较高。
- 站号设置:设定一个唯一的站号,比如1。这个站号在PLC的通讯程序中要对应,就像给设备分配一个地址,方便PLC找到它。
- 波特率等参数:设置波特率、数据位、停止位等,要与PLC中的设置一致。例如波特率设为9600bps,8位数据位,1位停止位,无奇偶校验。
四、PLC设置
- 硬件组态:在西门子编程软件中,对S7 200smart ST20进行硬件组态,确保CPU型号等设置正确。
- 通讯参数设置:在程序中配置Modbus通讯参数,下面是一段简单的初始化代码示例(以梯形图为例):
// 初始化Modbus通讯 LD SM0.1 MOVB 16#01, SMB30 // 设置Port0为Modbus RTU主站模式,站号为1 MOVW 9600, SMB38 // 设置波特率为9600bps MOVB 0, SMB40 // 无校验分析:这段代码在PLC首次扫描时执行(SM0.1)。SMB30用于设置Port0的通讯模式和站号,16#01表示Modbus RTU主站模式且站号为1。SMB38设置波特率,这里设置为9600bps。SMB40设置校验方式,0表示无校验。
五、PLC通讯程序
下面是实现温度设定、读取等功能的核心代码片段(梯形图):
目标温度设定
// 目标温度设定 LD I0.0 // 假设I0.0是触摸屏触发设定的输入点 MOVD VW100, VD200 // VW100是触摸屏传递过来的目标温度值,VD200用于存储 MOVB 16#06, VB300 // Modbus写单个寄存器功能码 MOVB 1, VB301 // 温控器站号 MOVW 16#0000, VW302 // 目标温度寄存器地址 MOVD VD200, VD304 // 要写入的目标温度值 CALL MBUS_MSG // 调用Modbus通讯指令分析:当触摸屏触发设定(I0.0接通),将触摸屏传来的目标温度值(VW100)存到VD200。然后设置Modbus写单个寄存器的功能码(16#06)、站号(1)、目标温度寄存器地址(16#0000)以及要写入的值(VD200),最后调用MBUS_MSG指令执行通讯。
实际温度读取
// 实际温度读取 LD I0.1 // 假设I0.1是触摸屏触发读取的输入点 MOVB 16#03, VB400 // Modbus读多个寄存器功能码 MOVB 1, VB401 // 温控器站号 MOVW 16#0001, VW402 // 实际温度寄存器地址 MOVW 2, VW404 // 读取2个寄存器(实际温度占用2个字节) CALL MBUS_MSG // 调用Modbus通讯指令 MOVW VW410, VW500 // 将读取到的实际温度值存到VW500,供触摸屏显示分析:当I0.1接通,设置Modbus读多个寄存器功能码(16#03)、站号(1)、实际温度寄存器地址(16#0001)和读取寄存器数量(2)。调用MBUS_MSG指令读取数据后,将读取到的实际温度值存到VW500,以便在触摸屏上显示。
通讯中断自恢复
// 通讯中断自恢复 LD SM0.5 // 1秒脉冲 EU MOVB 16#01, SMB30 // 重新设置Port0为Modbus RTU主站模式,站号为1 MOVW 9600, SMB38 // 重新设置波特率为9600bps MOVB 0, SMB40 // 重新设置无校验分析:利用SM0.5产生的1秒脉冲,每个上升沿(EU)都重新设置通讯参数,这样如果通讯中断,能尝试自动恢复通讯。
六、触摸屏程序
昆仑通态MCGS TPC7062K触摸屏程序主要实现与用户的交互。
- 界面设计:设计友好的界面,包括目标温度设定输入框、实际温度显示框、报警类型选择、报警值设定等控件。
- 变量关联:将这些控件与PLC中的对应变量关联。比如目标温度设定输入框关联PLC中的VW100,实际温度显示框关联VW500。这样就能实现数据的双向传输,用户在触摸屏操作,PLC能响应;PLC的数据变化,触摸屏也能实时显示。
以上就是完整的西门子S7 200smart与欧姆龙E5cc温控器通讯程序,从器件准备、接线到各个设备的设置以及程序编写,都做了详细介绍,可直接应用于现场项目。希望对大家的自动化项目有所帮助。
西门子S7 200smart与欧姆龙E5cc温控器通讯程序 功能:通过西门子s7 200smart与欧姆龙e5cc温控器modbus通讯,实现目标温度设定,实际温度读取,设定报警类型,报警值,报警值上下限,探头型号设定等功能。 操作通过昆仑通态触摸屏。 有通讯中断自恢复功能,保证通讯稳定。 器件:西门子s7 200smart ST20 PLC.昆仑通态MCGS TPC7062K,欧姆龙E5cc温控器。 说明:是程序,可以直接应用现场,带详细注释程序,触摸屏程序,PLC设置和温控器设置,接线说明书。