news 2026/5/1 11:22:54

三菱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进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:35:22

alembic使用指南

一、alembic是什么?Alembic 是一个用于 Python 数据库迁移和版本控制的工具。它与 SQLAlchemy(一个流行的 Python ORM 库)紧密集成,共同为 Python 应用程序提供数据库管理和迁移支持。python使用mysql时常用SQLAlchemyAlembic进行…

作者头像 李华
网站建设 2026/5/1 7:21:35

生活小窍门查询小程序,核心功能,收录清洁,收纳,养生等生活小窍门,支持按关键词搜索,收藏常用技巧,离线查看,应用场景,中老年人解决生活中的小问题,如去除水垢,收纳衣物等,简单实用。

生活小窍门查询小程序 下面是一个基于Python的生活小窍门查询小程序,专为中老年人设计,具有简洁易用的界面和实用的功能。 import json import os import tkinter as tk from tkinter import ttk, messagebox, simpledialog from datetime import da…

作者头像 李华
网站建设 2026/5/1 9:25:08

**免费游戏角色AI配音软件2025推荐,适配独立开发者与小

免费游戏角色AI配音软件2025推荐,适配独立开发者与小型工作室一、行业背景与核心痛点对于独立开发者与小型工作室而言,为游戏角色注入灵魂的配音工作,往往是预算与创意之间最大的矛盾点。据《2025年全球独立游戏开发市场报告》显示&#xff0…

作者头像 李华
网站建设 2026/5/1 5:02:57

如何用3个核心模块构建Three.js手势交互系统:实战指南

如何用3个核心模块构建Three.js手势交互系统:实战指南 【免费下载链接】hammer.js 项目地址: https://gitcode.com/gh_mirrors/ham/hammer.js 你是否曾在3D网页应用中体验过卡顿的旋转操作?或者为缩放控制不够精准而烦恼?传统鼠标交互…

作者头像 李华
网站建设 2026/5/1 5:01:08

3步掌握JSMpeg播放器数据监控与性能优化实战指南

3步掌握JSMpeg播放器数据监控与性能优化实战指南 【免费下载链接】jsmpeg MPEG1 Video Decoder in JavaScript 项目地址: https://gitcode.com/gh_mirrors/js/jsmpeg 还在为视频播放卡顿问题头疼?想深入了解用户观看行为却无从下手?今天我们就一起…

作者头像 李华
网站建设 2026/5/1 5:01:21

Gesturefy:Firefox鼠标手势插件完全指南

Gesturefy:Firefox鼠标手势插件完全指南 【免费下载链接】Gesturefy Navigate, operate, and browse faster with mouse gestures! A customizable Firefox mouse gesture add-on with a variety of different commands. 项目地址: https://gitcode.com/gh_mirror…

作者头像 李华