硬件:cpu 1214C 目的:通过Modbus RTU协议实现温控仪表参数的读写 软件:Portal V14SP1
温度控制仪表参数地址
根据以下地址,通过编写程序Modbus读取实际测量温度的功能AL-读写参数。 实际测量温度地址1001H为16进制,转换为10进制后为4097 AL-1的地址0001H为16进制,转换为10进制
硬件组态
1.插入cpu 1214C,添加CM1241 RS422/RS485模块,组态参数改变 2.记录下RS485模块485模块
软件编程
1.PLC_1作为Modbus主站,在OB1中插入Modbus_Comm_Load 指令和Modbus_Master 指令 调用指令后,系统将自动生成背景数据块Modbus_Comm_Load_DB与Modbus_Master_DB
Modbus_Comm_Load指令参数: PORT:我们在填写之前记录的内容PLC_1.通信模块硬件标识符 BAUD:波特率在组态时已设置为9600,需要将温控仪中的波特率调整为9600 MB_DB:连接到Modbus_Master_DB的MB_DB
Modbus_Master指令参数 MB_ADDR:温站填写地址,温度控制仪器中设置的地址为1 DATA_PTR:数据读取或数据写入地址
*MODE与DATA_ADDR可用于选择各种参数的组合Modbus功能代码,具体组合查询手册
2.将Modbus_Comm_Load指令的背景数据块Modbus_Comm_Load_DB静态变量中的静态变量MODE”修改为4 该变量MODE默认值为0,需要根据实际组态修改为相应的值 0 = 全双工 (RS232) 1 = 全双工 (RS422) 四线制模式(点对点) 2 = 全全双工 (RS 422) 四线制模式(多点主站,CM PtP (ET 200SP)) 3 = 全全双工 (RS 422) 四线制模式(多点从站,CM PtP (ET 200SP)) 4 = 半双工 (RS485) 二线制模式
3.因为RS如果我们需要,485属于半双工通信Modbus从车站进行多读写操作,需要轮询来实现此功能。程序如下
监控测试
1.进入监控界面,再次调用Modbus_Comm_Load然后开始轮询 2.监控DB3.DBW0,DB3.DBW4,DB3.DBW这三个变量值20 DB3.DBW4可实时显示温度控制仪 DB3.DBW可实时显示温控仪表AL-1的设定值 修改DB3.DBW20值后,温度控制仪表AL-1参数也发生了相应的变化