news 2026/8/8 21:23:41

三菱FX5U与三菱E700变频器通讯实战:SL5U - 23程序解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三菱FX5U与三菱E700变频器通讯实战:SL5U - 23程序解析

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

在自动化控制领域,实现不同设备之间稳定可靠的通讯是关键。今天就来聊聊如何用三菱FX5U的PLC达成与三菱E700变频器的modbus通讯,这其中还涉及到昆仑通态TPC7022NI触摸屏的配合,功能涵盖在触摸屏上设置频率、监控输出频率、控制启停以及设定加减速时间,而且这套程序已经过测试稳定运行。

一、器件准备

  1. 三菱FX5U PLC:作为控制核心,承担与变频器和触摸屏通讯以及逻辑控制的重任。
  2. 三菱E700变频器:实现电机的调速等功能,接收来自PLC的控制指令。
  3. 昆仑通态TPC7022NI触摸屏:提供人机交互界面,方便操作人员设置参数和监控状态。

二、接线方式

这部分非常关键,正确的接线是通讯成功的基础。一般来说,将FX5U PLC的通讯端口与E700变频器的相应通讯端口按照modbus通讯标准连接。例如,RS - 485接口的A、B线要对应连接,确保信号能够准确传输。同时,将触摸屏通过合适的通讯线与PLC相连,比如常用的以太网或者串口线,具体根据实际设备接口和通讯协议来定。

三、参数设置

  1. 三菱E700变频器:要开启modbus通讯功能,需设置特定参数。例如,Pr.79设为2,使变频器工作在外部运行模式;Pr.117(通讯站号)、Pr.118(通讯速率)、Pr.119(停止位长/数据位长)等参数要根据实际通讯需求设置,保证与PLC端设置一致。假设我们设置通讯站号为1,速率为9600bps,8位数据位,1位停止位,无校验,则对应参数设置如下:
Pr.117 = 1 // 通讯站号设置为1 Pr.118 = 96 // 通讯速率9600bps Pr.119 = 10 // 8位数据位,1位停止位,无校验
  1. 三菱FX5U PLC:在编程软件中,要对通讯参数进行设置,确保与变频器匹配。同时,设置PLC与触摸屏通讯的相关参数,如IP地址(如果是以太网通讯)等。

四、程序解析

下面是一段简化的FX5U PLC实现与变频器通讯的代码示例(以GX Works3编程软件为例,采用结构化文本ST语言):

// 定义变量 VAR // 通讯相关 comm_status : INT; // 通讯状态,0表示正常,非0表示异常 modbus_send_data : ARRAY[0..10] OF INT; // 发送给变频器的数据 modbus_recv_data : ARRAY[0..10] OF INT; // 从变频器接收的数据 // 触摸屏设置参数 set_frequency : REAL; // 设置频率 accel_time : REAL; // 加速时间 decel_time : REAL; // 减速时间 // 变频器状态 output_frequency : REAL; // 变频器输出频率 running_status : BOOL; // 变频器运行状态 END_VAR // 主程序 PROGRAM MAIN BEGIN // 初始化通讯 comm_status := MODBUS_INIT(1, 9600, 0, 1, 1); // 站号1,速率9600,无校验,1位停止位,通讯模式1 // 从触摸屏读取设置参数 set_frequency := GET_TOUCHSCREEN_DATA("SET_FREQUENCY"); accel_time := GET_TOUCHSCREEN_DATA("ACCEL_TIME"); decel_time := GET_TOUCHSCREEN_DATA("DECEL_TIME"); // 组装发送给变频器的数据 modbus_send_data[0] := 1; // 站号 modbus_send_data[1] := 6; // 功能码,写单个寄存器 modbus_send_data[2] := 0; // 寄存器地址,这里假设设置频率寄存器地址为0 modbus_send_data[3] := ROUND(set_frequency * 100); // 设置频率值,放大100倍 // 发送数据到变频器 comm_status := MODBUS_WRITE(modbus_send_data, 4); // 从变频器读取输出频率数据 modbus_send_data[0] := 1; // 站号 modbus_send_data[1] := 3; // 功能码,读多个寄存器 modbus_send_data[2] := 2; // 寄存器地址,假设输出频率寄存器地址为2 modbus_send_data[3] := 1; // 读取寄存器个数 comm_status := MODBUS_READ(modbus_send_data, 4, modbus_recv_data); output_frequency := REAL(modbus_recv_data[3]) / 100; // 还原输出频率值 // 将变频器状态数据发送给触摸屏显示 SET_TOUCHSCREEN_DATA("OUTPUT_FREQUENCY", output_frequency); SET_TOUCHSCREEN_DATA("RUNNING_STATUS", running_status); END_PROGRAM

在这段代码中,首先定义了通讯状态、发送接收数据数组以及触摸屏设置参数和变频器状态相关变量。然后在主程序中初始化通讯,从触摸屏获取设置参数,根据这些参数组装发送给变频器的数据,使用MODBUSWRITE函数发送数据。接着,通过MODBUSREAD函数从变频器读取输出频率等数据,并将这些数据处理后发送给触摸屏显示。

五、总结

通过上述接线、参数设置以及程序编写,我们成功实现了三菱FX5U与三菱E700变频器的modbus通讯,并结合昆仑通态触摸屏实现了丰富的控制和监控功能。这种组合在工业自动化场景中有广泛应用,希望这篇博文能为大家在类似项目中提供一些参考和帮助。

以上代码仅为示例,实际应用中需根据具体设备手册和项目需求进行调整优化。

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

anoconda简单操作

1. 常用命令 conda env list:查看目前电脑中所有的conda环境 conda search pymysql:查找本机所支持的所有pymysql版本 conda list pymysql:查看本机已经安装 的pymysql版本 2. Jupyter Notebook

作者头像 李华
网站建设 2026/8/7 22:46:58

多场景头盔佩戴检测

多场景头盔佩戴检测系统 本文档旨在全面、深入地介绍安全帽佩戴检测系统的技术细节、架构设计及功能实现。系统集成了深度学习目标检测算法、Web全栈开发技术与数据库管理技术,形成了一套完整的闭环解决方案。1. 系统架构设计 (System Architecture) 本系统采用经典…

作者头像 李华
网站建设 2026/8/7 23:38:07

70看看:AI如何帮你快速生成代码项目

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 使用70看看平台,输入以下需求:创建一个简单的待办事项应用,包含添加、删除和标记完成功能。前端使用React,后端使用Node.js&#xff…

作者头像 李华
网站建设 2026/8/7 22:09:02

13、Puppet 模块与类:从基础到高级应用

Puppet 模块与类:从基础到高级应用 1. 模块代码编写 Puppet 模块具有标准的目录结构,这有助于 Puppet 自动查找模块内的清单文件、模板和其他组件。在这个示例中,我们主要关注 manifests 和 files 这两个子目录。以下是创建管理 NTP 服务的模块的详细步骤: 创建 ma…

作者头像 李华
网站建设 2026/8/7 22:09:03

JBoltAI 识图阅卷:AI 赋能教育考评,开启智能阅卷新时代

在教育信息化深入发展的今天,学校、考试院、培训机构面临着大规模阅卷的共性难题:人工阅卷效率低下、主观误差难以避免、人力成本居高不下。传统阅卷模式不仅消耗大量师资精力,还可能因疲劳、标准理解偏差等因素影响考评结果的公正性与准确性…

作者头像 李华
网站建设 2026/8/7 22:08:03

16、模板与容器管理:Puppet 实践全解析

模板与容器管理:Puppet 实践全解析 模板参数传递 在模板中声明参数,需在非打印标签内用竖线(|)列出参数。示例如下( template_params.epp ): <% | String[1] $aws_access_key,String[1] $aws_secret_key, | -%> aws_access_key_id = <%= $aws_access_key…

作者头像 李华