三菱FX~5U/PLC与台达DTA温控器通讯案例程序 功能:通过三菱FX~5U/PLC与台达D...
三菱FX~5U/PLC与台达DTA温控器通讯案例程序 功能:通过三菱FX~5U/PLC与台达DTA温控器进行modbus通讯,实现温度读取、实际输出率(%)读取,及温度的设定、和温控探头类型的设定,PLC网口与触摸屏通讯,RS485口与台达DTA温控器modbus通讯。 配件:FX~5U/,昆仑通态触摸屏,台达DTA4848V1温控器, 说明:的是带注释,PLC手册,台达温控器手册,参数设置和接线说明,昆仑通态触摸屏程序。
大半夜调通FX5U和台达温控器通讯那会儿,真想给设备磕一个。这俩玩意儿的Modbus对话简直像跨语种谈恋爱——参数但凡错一个数,立马给你摆烂装死。下面直接上干货,记得备好万用表和咖啡。
三菱FX~5U/PLC与台达DTA温控器通讯案例程序 功能:通过三菱FX~5U/PLC与台达DTA温控器进行modbus通讯,实现温度读取、实际输出率(%)读取,及温度的设定、和温控探头类型的设定,PLC网口与触摸屏通讯,RS485口与台达DTA温控器modbus通讯。 配件:FX~5U/,昆仑通态触摸屏,台达DTA4848V1温控器, 说明:的是带注释,PLC手册,台达温控器手册,参数设置和接线说明,昆仑通态触摸屏程序。
硬件接线先整明白:
- FX5U的485端子(SDA接R+,SDB接R-)怼到DTA的RS485口
- 温控器站号别撞车,DTA默认是1号站
- 终端电阻记得拨码,超过30米线路必须加,不然波形跟心电图似的
PLC参数配置关键两步走:
- 工程→参数→PLC参数→模块参数里,把串口设置成ModbusRTU主站
- 波特率建议19200(DTA默认值),校验位搞成Even parity
核心代码长这样:
MOV K19200 D8120 //波特率设定 MOV H0087 D8121 //数据格式:19200/7/E/1 //读取当前温度(PV值) ADPRW K1 H03 K3001 K1 D100 K1 //H03是功能码,3001对应DTA的PV寄存器,D100是存储地址 //写入目标温度(SV值) ADPRW K1 H06 K1000 K1 D200 K1 //H06是单寄存器写入,1000是SV寄存器地址重点看ADPRW指令参数:
- 第1个K1是站号
- 功能码选03/06最稳
- 寄存器地址注意换算,DTA的40001对应Modbus地址0x0000,比如SV地址40001要写成K0
触摸屏那边变量绑定要命门:
- 温度显示直接连D100
- 设定值输入绑定D200
- 输出率读DTA的0x100A寄存器,换算公式:(寄存器值/4000)*100%
踩过的坑实录:
- DTA的通讯参数必须进高级菜单改,长按SET键5秒进EE参数
- 探头类型设定在0x1010寄存器,J型热电偶填0002
- 通讯超时设3秒以上,否则容易误判断线
最后上电测试顺序:
- 先保证PLC能ping通触摸屏
- RS485线路用万用表量电压,正常在2-5V之间晃
- 在线监控D8129(通讯错误代码),出现6E00就是握手成功
这个方案在冻干机项目上跑了两年没掉过链子。注意温控器固件版本,去年有个坑是V1.2以下版本不支持浮点数读写,遇上了直接升级别犹豫。完整程序我扔Github了,搜"FX5UDTATempControl"自取,注释里埋了三个调试彩蛋,找到的记得请我喝红牛。
