威纶通触摸屏与4台台达变频器485通讯,不经过pLc,有启动,停止,正转,反转频率输出,频率设定,电流输出,电压输出,DC—bus电压 马达转速。
在自动化控制领域,有时候我们想实现一些较为基础但又高效的设备联动,不依赖PLC也能达成。今天就来聊聊威纶通触摸屏与4台台达变频器通过485通讯实现各类控制与数据获取的奇妙之旅。
硬件连接
首先,要将威纶通触摸屏的485接口与4台台达变频器的485接口正确连接。确保通讯线的A、B端对应连接,并且做好屏蔽处理,减少干扰。这就好比搭建一座桥梁,连接稳固才能让数据顺畅通行。
威纶通触摸屏设置
- 建立通讯设备:
在威纶通触摸屏的编辑软件中,进入“编辑” - “系统参数设置” - “通讯设置”。选择485通讯方式,并设置好波特率、数据位、停止位、校验位等参数,这些参数要与台达变频器的设置一致,就像两个人约定好说话的语言规则。比如波特率设置为9600bps,数据位8位,停止位1位,无奇偶校验。
- 创建变量:
为了实现对变频器的各种控制和数据读取,我们需要创建一些变量。例如:
// 创建启动变量
Bool startVariable;
// 创建停止变量
Bool stopVariable;
// 创建正转变量
Bool forwardVariable;
// 创建反转变量
Bool reverseVariable;
// 创建频率设定变量,假设以浮点数表示
Float frequencySetVariable;
这些变量就像是我们控制变频器的“钥匙”,通过操作这些变量来向变频器发送指令。
台达变频器设置
- 通讯参数设置:
进入台达变频器的参数设置界面,将通讯相关参数设置为与威纶通触摸屏一致。例如,P00.02设置为4(选择485通讯模式),P00.03设置波特率,P00.04设置数据位、停止位、校验位等。
- 功能码映射:
台达变频器有一系列功能码来对应不同的操作。比如,要实现启动控制,我们可能会用到功能码H02.00,将其设置为外部通讯控制方式。当威纶通触摸屏的启动变量置为True时,通过通讯发送对应的指令给变频器功能码H02.00,变频器就启动啦。同样,对于频率设定,假设功能码为H03.00,我们将威纶通触摸屏中频率设定变量的值通过通讯写入到H03.00,变频器就能按照设定频率运行。
数据读取与显示
- 读取电流、电压等数据:
台达变频器有相应功能码存储电流、电压、DC - bus电压、马达转速等数据。例如,电流数据可能存储在功能码H06.00,电压数据在H06.01等。我们在威纶通触摸屏中创建对应的变量来接收这些数据。
// 创建电流显示变量
Float currentDisplayVariable;
// 创建电压显示变量
Float voltageDisplayVariable;
// 创建DC - bus电压显示变量
Float dcBusVoltageDisplayVariable;
// 创建马达转速显示变量
Float motorSpeedDisplayVariable;
通过485通讯,周期性地从变频器读取这些功能码对应的数据,并赋值给威纶通触摸屏中的变量,然后在触摸屏界面上显示出来。就像不断从变频器这个“宝藏库”中挖出数据,并展示给我们看。
代码示例(以类似伪代码表示通讯发送与接收逻辑)
// 发送指令函数,以发送启动指令为例 void sendStartCommand() { // 构建通讯指令,这里简化表示,实际要符合台达变频器通讯协议格式 byte command[10]; command[0] = 变频器地址; command[1] = 功能码(启动相关); command[2] = 数据字节数; command[3] = 启动数据(例如1表示启动); // 计算校验和等操作 byte checkSum = calculateCheckSum(command); command[9] = checkSum; // 通过485通讯发送指令 sendData(command, 10); } // 接收数据函数,以接收电流数据为例 Float receiveCurrentData() { byte receiveBuffer[10]; // 通过485通讯接收数据 receiveData(receiveBuffer, 10); // 解析数据,提取电流值,这里简化处理 Float currentValue = parseCurrentValue(receiveBuffer); return currentValue; }通过以上步骤,我们成功实现了威纶通触摸屏与4台台达变频器的485通讯,在不经过PLC的情况下,完成了启动、停止、正反转、频率设定以及各类数据的输出显示等功能,为自动化控制提供了一种简洁而有效的解决方案。