威纶通触摸屏与8台台达变频器485通讯,不经过PLC,有启动,停止,正转,反转频率输出,频率设定,电流输出,电压输出,运行状态,马达转速。
最近在项目中实现了威纶通触摸屏与8台台达变频器通过485通讯,且不经过PLC,整个过程挺有趣的,和大家分享一下。
通讯原理基础
485通讯是一种半双工的串行通讯方式,在工业控制领域应用广泛。威纶通触摸屏作为人机交互界面,要与台达变频器进行数据交互,就需要遵循特定的通讯协议,台达变频器一般使用的是Modbus RTU协议。
威纶通触摸屏端设置
首先,在威纶通触摸屏软件中新建一个项目,进入“编辑”-“系统参数设置”,在“通讯端口”中选择与变频器连接的485端口,并设置好波特率、数据位、停止位、校验位等参数,这些参数必须与变频器的设置一致。例如,常见的设置为9600波特率、8位数据位、1位停止位、无校验。
在触摸屏画面设计上,我们要创建各种按钮和数值显示元件。比如启动、停止、正转、反转按钮,频率设定输入框,以及频率输出、电流输出、电压输出、运行状态、马达转速的显示框。
台达变频器端设置
对台达变频器进行参数设置,使其能够正确响应485通讯请求。以VFD - M系列变频器为例,需要设置以下关键参数:
- Pr.118 :设置通讯波特率,要与触摸屏设置一致,如设为9600。
- Pr.119 :数据格式,对应8位数据位、1位停止位、无校验。
- Pr.120 :站号设定,8台变频器站号分别设为1 - 8,用于区分不同变频器。
通讯实现与代码示例(以VB脚本为例,模拟威纶通内部逻辑)
在威纶通触摸屏中,可以使用脚本语言来实现与变频器的数据交互。下面是一个简单的VB脚本示例,用于向变频器发送频率设定值:
'定义变量 Dim modbus As Object Dim stationID As Integer Dim frequency As Single '初始化Modbus通讯对象 Set modbus = CreateObject("ModbusRTU.Serial") modbus.Port = 1 '假设使用COM1口 modbus.BaudRate = 9600 modbus.DataBits = 8 modbus.StopBits = 1 modbus.Parity = 0 '无校验 modbus.Connect '设置变频器站号和频率值 stationID = 1 '假设设置第一台变频器 frequency = 50.0 '设定频率为50Hz '向变频器写入频率设定值 modbus.WriteSingleRegister stationID, 2000, frequency '2000为台达变频器频率设定寄存器地址 '关闭通讯连接 modbus.Disconnect Set modbus = Nothing在这段代码中,首先创建了一个ModbusRTU.Serial对象来管理485通讯。然后设置通讯端口的参数并连接。接着指定要操作的变频器站号和频率值,通过WriteSingleRegister方法将频率值写入变频器对应的寄存器地址(2000是台达变频器频率设定的典型寄存器地址,不同系列可能不同)。最后断开通讯连接。
威纶通触摸屏与8台台达变频器485通讯,不经过PLC,有启动,停止,正转,反转频率输出,频率设定,电流输出,电压输出,运行状态,马达转速。
对于读取变频器运行状态、频率输出、电流输出等数据,原理类似,只是使用ReadSingleRegister或ReadMultipleRegisters方法从相应寄存器读取数据。例如读取频率输出:
Dim modbus As Object Dim stationID As Integer Dim outputFrequency As Single Set modbus = CreateObject("ModbusRTU.Serial") modbus.Port = 1 modbus.BaudRate = 9600 modbus.DataBits = 8 modbus.StopBits = 1 modbus.Parity = 0 modbus.Connect stationID = 1 '读取变频器频率输出值,假设寄存器地址为2001 modbus.ReadSingleRegister stationID, 2001, outputFrequency modbus.Disconnect Set modbus = Nothing '在触摸屏上显示频率输出值 Screen1.Textbox1.Text = outputFrequency实际运行与调试
在实际运行过程中,可能会遇到通讯故障等问题。首先要确保硬件连接正确,485通讯线的A、B端要对应连接。如果通讯不上,检查波特率、站号等参数设置是否一致。另外,要注意通讯的时序问题,避免数据冲突。
通过这种方式,成功实现了威纶通触摸屏与8台台达变频器的485通讯,无需PLC就实现了启动、停止、正反转、频率设定与输出等多种功能,大大简化了系统架构,提高了系统的灵活性和可维护性。希望这篇分享能对大家有所帮助。