1. 项目概述
在工业自动化控制系统中,触摸屏与变频器的通讯是实现人机交互和远程控制的关键环节。本文将详细介绍MCGS昆仑通态TPC7062Ti触摸屏与三菱FR-E700变频器(兼容FR-D700)通过Modbus RTU协议实现通讯的具体方案。该方案实现了正反转控制、运行频率设定、加减速时间调整等控制功能,同时具备电压、电流、频率等运行参数的实时监测能力,并特别设计了断电保持功能,确保关键参数在系统重启后能够自动恢复。
2. 硬件连接与配置
2.1 物理接线方案
RS485通讯接口采用两线制连接方式,具体接线要点如下:
- 触摸屏端485接口的A端子(正极)连接变频器端的SDA端子
- 触摸屏端485接口的B端子(负极)连接变频器端的SDB端子
- 通讯线缆建议选用双绞屏蔽线(如RVSP 2×0.5mm²)
- 屏蔽层单端接地(通常在变频器端接地)
注意:当通讯距离超过50米时,应在总线两端各加装120Ω终端电阻,以消除信号反射干扰。
2.2 变频器参数设置
三菱变频器需通过操作面板设置以下关键通讯参数:
| 参数编号 | 参数名称 | 设定值 | 说明 |
|---|---|---|---|
| Pr.117 | 站号 | 1 | 需与触摸屏配置的从站地址一致 |
| Pr.118 | 通讯速率 | 96 | 对应9600bps |
| Pr.119 | 数据长度/停止位 | 11 | 7位数据+偶校验+1位停止位 |
| Pr.120 | 通讯校验方式 | 2 | 偶校验 |
| Pr.121 | 通讯重试次数 | 3 | 建议值3-5次 |
| Pr.122 | 通讯校验时间间隔 | 9999 | 无超时检测(单位:ms) |
| Pr.123 | 等待时间设定 | 0 | 变频器响应时间(单位:ms) |
| Pr.124 | CR/LF选择 | 0 | 无CR/LF |
参数设置完成后,必须断电重启变频器才能使设置生效。
3. MCGS触摸屏工程配置
3.1 工程创建与设备添加
- 打开MCGS嵌入版组态软件(版本建议V7.7及以上)
- 新建工程,选择设备型号为"TPC7062Ti"
- 在设备窗口中依次添加:
- 通用串口父设备
- 串口端口号:COM2(根据实际硬件连接确定)
- 波特率:9600
- 数据位:7
- 停止位:1
- 校验方式:偶校验
- 三菱变频器FR_E740子设备
- 设备地址:1(与变频器Pr.117设置一致)
- 数据采集周期:500ms
- 通用串口父设备
3.2 变量定义与数据关联
在实时数据库中创建以下关键变量:
| 变量名称 | 变量类型 | 寄存器地址 | 说明 |
|---|---|---|---|
| Run_Forward | 开关量 | 0000H | 正转控制 |
| Run_Reverse | 开关量 | 0001H | 反转控制 |
| Frequency_Set | 数值量 | 0002H | 频率设定(单位:0.01Hz) |
| Acc_Time | 数值量 | 0003H | 加速时间(单位:0.1s) |
| Dec_Time | 数值量 | 0004H | 减速时间(单位:0.1s) |
| Output_Current | 数值量 | 0005H | 输出电流(单位:0.01A) |
| Output_Voltage | 数值量 | 0006H | 输出电压(单位:0.1V) |
| Output_Frequency | 数值量 | 0007H | 输出频率(单位:0.01Hz) |
4. 核心功能实现
4.1 正反转控制逻辑
正反转控制需要通过独立的按钮脚本实现互锁功能:
vb复制' 正转按钮脚本
Sub btn_forward_Click()
' 先停止运行
Device.WriteSingleCoil 0, False ' 正转线圈OFF
Device.WriteSingleCoil 1, False ' 反转线圈OFF
Delay 200 ' 延时200ms确保变频器响应
' 启动正转
Device.WriteSingleCoil 0, True
SetValue "Run_Status", "正转运行中"
End Sub
' 反转按钮脚本
Sub btn_reverse_Click()
' 先停止运行
Device.WriteSingleCoil 0, False
Device.WriteSingleCoil 1, False
Delay 200
' 启动反转
Device.WriteSingleCoil 1, True
SetValue "Run_Status", "反转运行中"
End Sub
' 停止按钮脚本
Sub btn_stop_Click()
Device.WriteSingleCoil 0, False
Device.WriteSingleCoil 1, False
SetValue "Run_Status", "停止状态"
End Sub
4.2 参数读写实现
频率设定采用32位浮点数格式传输,需特殊处理:
vb复制Sub Set_Frequency()
Dim freq As Single
freq = GetValue("Frequency_Set") ' 获取界面设定值
' 转换为IEEE754格式的4字节数据
Dim buf(4) As Byte
buf = SingleToBytes(freq)
' 写入变频器
Device.WriteMultipleRegisters 2, buf
End Sub
' 频率读取函数
Sub Read_Frequency()
Dim buf(4) As Byte
Dim freq As Single
Device.ReadHoldingRegisters 7, 2, buf ' 读取2个寄存器(4字节)
freq = BytesToSingle(buf)
SetValue "Output_Frequency", Round(freq, 2)
End Sub
5. 断电保持功能实现
5.1 配方数据配置
- 在MCGS中创建配方"Parameter_Backup"
- 添加配方项:
- Last_Frequency
- Last_Acc_Time
- Last_Dec_Time
- Last_Run_Mode
5.2 断电保存脚本
vb复制Sub BeforeShutdown()
' 读取当前运行参数
Dim freq, acc, dec As Single
Dim mode As Integer
Device.ReadHoldingRegisters 7, 2, freq
Device.ReadHoldingRegister 3, acc
Device.ReadHoldingRegister 4, dec
Device.ReadHoldingRegister 100, mode ' 运行状态寄存器
' 保存到配方
SetRecipeValue "Parameter_Backup", "Last_Frequency", freq
SetRecipeValue "Parameter_Backup", "Last_Acc_Time", acc
SetRecipeValue "Parameter_Backup", "Last_Dec_Time", dec
SetRecipeValue "Parameter_Backup", "Last_Run_Mode", mode
' 保存配方到Flash
SaveRecipeToDisk "Parameter_Backup"
End Sub
5.3 上电恢复脚本
vb复制Sub AfterStartup()
' 从Flash加载配方
LoadRecipeFromDisk "Parameter_Backup"
' 读取保存的参数
Dim freq = GetRecipeValue("Parameter_Backup", "Last_Frequency")
Dim acc = GetRecipeValue("Parameter_Backup", "Last_Acc_Time")
Dim dec = GetRecipeValue("Parameter_Backup", "Last_Dec_Time")
Dim mode = GetRecipeValue("Parameter_Backup", "Last_Run_Mode")
' 恢复参数到变频器
Device.WriteMultipleRegisters 2, SingleToBytes(freq)
Device.WriteSingleRegister 3, acc
Device.WriteSingleRegister 4, dec
' 恢复运行状态
If mode = 1 Then
Device.WriteSingleCoil 0, True
ElseIf mode = 2 Then
Device.WriteSingleCoil 1, True
End If
End Sub
6. 常见问题与解决方案
6.1 通讯连接故障排查
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯超时 | 波特率设置不一致 | 检查Pr.118与触摸屏波特率设置 |
| 数据错误 | 校验方式不匹配 | 确认Pr.120与触摸屏校验设置一致 |
| 间歇性通讯中断 | 终端电阻未配置 | 长距离通讯时两端加装120Ω电阻 |
| 只能读取不能写入 | 寄存器地址偏移错误 | 确认写地址=读地址+2000H(十六进制) |
6.2 功能异常处理
-
频率设定无响应:
- 检查变频器是否处于远程控制模式(Pr.79=2)
- 确认频率来源参数设置为通讯给定(Pr.73=0)
-
正反转控制失效:
- 验证操作模式参数(Pr.79)
- 检查外部端子STF/STR的分配情况
-
断电保持功能异常:
- 确认配方文件保存路径正确
- 检查触摸屏RTC电池是否正常
7. 系统优化建议
-
通讯性能优化:
- 将数据采集周期调整为1000ms(非关键参数)
- 对连续寄存器采用批量读取方式
-
界面设计建议:
- 添加通讯状态指示灯
- 实现参数修改密码保护功能
-
安全防护措施:
- 在急停回路中保留硬件连锁
- 设置频率上限保护(Pr.1)
实际项目中,我们通过上述方案成功实现了多台变频器的集中监控。在调试过程中发现,当通讯距离超过200米时,需要改用屏蔽性能更好的线缆(如STP-120Ω),并将波特率降至4800bps以确保通讯稳定性。另外,建议定期备份配方文件,防止意外数据丢失。
