news 2025/12/24 20:46:40

三菱FX5U与三菱E700变频器专用协议通讯实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三菱FX5U与三菱E700变频器专用协议通讯实践

三菱FX5U与三菱E700变频器 专用协议方式通讯程序(SL5U-25) 通讯说明:用三菱FX5U的PLC实现与三菱E700变频器的变频器专用协议通讯 器件:三菱FX5U PLC,三菱E700变频器,昆仑通态TPC7022NI触摸屏 功能:触摸屏上设置每台频率,监控每台输出频率,控制启停,设定加减速时间 说明:已经通过测试运行可行。 程序带有注释,接线方式,参数设置

最近搞了个三菱FX5U与三菱E700变频器通过专用协议通讯的项目,和大家分享下过程与心得。我们要实现的是用三菱FX5U的PLC与三菱E700变频器进行变频器专用协议通讯,同时搭配昆仑通态TPC7022NI触摸屏,在触摸屏上设置每台频率、监控每台输出频率、控制启停以及设定加减速时间 ,并且这个程序已经过测试运行可行。

硬件器件

本次用到的硬件有三菱FX5U PLC、三菱E700变频器以及昆仑通态TPC7022NI触摸屏。这几款硬件在工业控制领域都很常见,性能也比较可靠。

接线方式

这里简单说下接线,PLC与变频器之间要按照专用协议通讯的要求连接相应的信号线。比如,变频器的控制信号输入端子要和PLC的输出点连接,用于接收PLC发出的启停、频率设定等指令。而变频器的状态反馈信号输出端子则连接到PLC的输入点,以便PLC获取变频器的运行状态、实际输出频率等信息。具体的接线细节,要参考两款设备的手册,确保连接正确,这是通讯成功的基础。

参数设置

  1. 三菱E700变频器参数设置
    - 首先要设置通讯相关参数,比如通讯速率、数据格式等。例如,将通讯速率设为9600bps,数据格式为7位数据位、1位停止位、偶校验。在变频器的参数设置界面找到对应的参数项,进行设置。
    - 还要设置控制模式相关参数,确保变频器能接收来自PLC的控制指令。比如设置运行指令选择参数,让其选择通过通讯接收运行指令。
  2. 三菱FX5U PLC参数设置
    - 在PLC编程软件中,配置通讯参数,使其与变频器的通讯参数一致。同时,要设置一些与程序运行相关的参数,比如扫描周期等,确保程序稳定运行。

程序代码及分析

下面来看看PLC程序代码,以实现通讯功能。以下以三菱GX Works3编程软件为例,展示部分关键代码(为简化展示,只提取核心功能代码片段):

// 定义变量区 DINT #FrequencySet; // 频率设定值变量 DINT #FrequencyActual; // 实际输出频率变量 BOOL #StartStop; // 启停控制变量 DINT #AccTime; // 加速时间变量 DINT #DecTime; // 减速时间变量 // 触摸屏数据读取 // 从触摸屏读取频率设定值 #FrequencySet = GetDataFromHMI(1); // 从触摸屏读取启停控制信号 #StartStop = GetDataFromHMI(2); // 从触摸屏读取加速时间 #AccTime = GetDataFromHMI(3); // 从触摸屏读取减速时间 #DecTime = GetDataFromHMI(4); // 向变频器发送控制指令 // 如果启停信号为开启 IF #StartStop THEN // 构建频率设定指令帧 // 这里假设变频器的频率设定指令格式为特定字节序列加上频率设定值 BYTE[10] #FrequencySetFrame; #FrequencySetFrame[0] = 0x01; // 指令头 // 将频率设定值转换为特定格式放入指令帧 // 例如假设频率设定值为16位整数,高8位和低8位分别放置 #FrequencySetFrame[1] = HIGH_BYTE(#FrequencySet); #FrequencySetFrame[2] = LOW_BYTE(#FrequencySet); // 放入加速时间 #FrequencySetFrame[3] = HIGH_BYTE(#AccTime); #FrequencySetFrame[4] = LOW_BYTE(#AccTime); // 放入减速时间 #FrequencySetFrame[5] = HIGH_BYTE(#DecTime); #FrequencySetFrame[6] = LOW_BYTE(#DecTime); // 指令尾 #FrequencySetFrame[9] = 0x0D; // 通过通讯口向变频器发送频率设定指令帧 SendDataToInverter(#FrequencySetFrame); END_IF // 从变频器读取实际输出频率 // 假设读取到的变频器实际输出频率数据存储在BYTE数组中 BYTE[10] #ActualFreqFrame; ReceiveDataFromInverter(#ActualFreqFrame); // 解析实际输出频率值 #FrequencyActual = COMBINE_BYTES(#ActualFreqFrame[1], #ActualFreqFrame[2]); // 将实际输出频率值发送回触摸屏显示 SendDataToHMI(5, #FrequencyActual);

代码分析

  1. 变量定义部分

定义了几个关键变量,#FrequencySet用于存储从触摸屏获取的频率设定值,#FrequencyActual用于存储从变频器读取到的实际输出频率,#StartStop是启停控制变量,#AccTime#DecTime分别是加减速时间变量。这些变量是整个通讯和控制逻辑的基础。

  1. 触摸屏数据读取部分

通过GetDataFromHMI函数从触摸屏获取相应的数据,这里的参数1 - 4代表触摸屏上不同数据项的地址或者标识。通过这种方式,PLC能实时获取操作人员在触摸屏上设置的参数。

  1. 向变频器发送控制指令部分

#StartStop为开启时,构建频率设定指令帧。指令帧格式根据变频器专用协议来构建,包含指令头、频率设定值、加减速时间以及指令尾等信息。然后通过SendDataToInverter函数将指令帧发送给变频器,实现对变频器频率、加减速时间等参数的设定以及启停控制。

  1. 从变频器读取实际输出频率部分

通过ReceiveDataFromInverter函数从变频器接收实际输出频率数据,数据存储在#ActualFreqFrame数组中。接着使用COMBINE_BYTES函数将数组中相应字节组合成实际输出频率值,并存入#FrequencyActual变量。

  1. 将实际输出频率值发送回触摸屏显示部分

最后通过SendDataToHMI函数将实际输出频率值发送回触摸屏,以便操作人员监控变频器的实际运行情况。

通过以上硬件连接、参数设置以及程序代码,就实现了三菱FX5U与三菱E700变频器基于专用协议的通讯,再结合昆仑通态触摸屏,达到了方便控制和监控变频器运行的目的。希望这篇博文能对正在研究类似项目的朋友有所帮助。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/13 18:07:31

AD学习笔记-33 丝印位号的调整

大家好,我们来介绍丝印位号。针对元件装配,一般需要得出PCB的装配图,用于元件定位。1、丝印调整原则和常规尺寸我们先按下l键,把所有层的显示去掉,然后把丝印层打开。在properties中把text打开,避免拖动其他…

作者头像 李华
网站建设 2025/12/13 18:05:51

CAN通讯协议

一、CAN物理层1、电气特性总线结构物理特征(左:闭环;右:开环):​CAN总线由两根信号线组成,使用的是差分信号,是一种异步通讯CAN总线网络的结构有闭环和开环两种,其对应标…

作者头像 李华
网站建设 2025/12/13 17:59:33

家庭园艺种植提醒工具,核心功能,录入植物名称,比如绿萝,月季等,种植日期,设置浇水周期,施肥周期,到点自动弹出提醒,记录养护日志,应用场景,养花爱好者,尤其是记性不好的老年人,让植物养得更茂盛。

家庭园艺种植提醒工具下面是一个完整的家庭园艺种植提醒工具&#xff0c;专为养花爱好者特别是记忆力不佳的老年人设计。这个工具可以帮助用户记录植物信息、设置养护周期、接收提醒并记录养护日志。<!DOCTYPE html> <html lang"zh-CN"> <head><…

作者头像 李华
网站建设 2025/12/13 17:58:23

5大优势解析:为什么art-design-pro成为现代后台管理的首选方案

在现代软件开发中&#xff0c;一个优秀的后台管理系统往往决定着整个项目的成败。art-design-pro作为一款基于Vue3、TypeScript、Vite和Element-Plus精心打造的后台管理解决方案&#xff0c;凭借其出色的用户体验和视觉设计&#xff0c;正在成为开发者们的首选工具。 【免费下载…

作者头像 李华