『7x24小时有问必答』
西门子  S7-1200 PLC  与  三菱电机(Mitsubishi Electric)FR-E800 系列变频器  通过  Modbus TCP  实现通信,是一种典型的跨品牌工业集成方案。FR-E800 系列原生支持  Modbus TCP 从站(Server)功能(需选配  FR-ECB2 Ethernet 通信模块),可与 S7-1200(作为主站)进行启停控制、频率设定、状态监控等操作。

---

一、通信角色与硬件要求

1.png
  关键前提

标准 FR-E800 本体无以太网口!必须安装通信扩展板  FR-ECB2(订货号:FR-ECB2)。

该模块提供 RJ45 接口,支持 Modbus TCP 和 MC Protocol。

---

二、FR-E800 变频器侧配置

1. 安装 FR-ECB2 模块

将 FR-ECB2 插入 E800 的  PU 接口(前面板右侧)
上电后模块指示灯应正常(绿色)

2. 设置 IP 地址(通过操作面板)

MENU → NETWORK SETTINGS → ETHERNET

参数
示例值
说明
IP Address
192.168.3.80
与 S7-1200 同网段
Subnet Mask
255.255.255.0
Default Gateway
192.168.3.1
可选
Modbus TCP Port
502
默认,可修改
建议先用  三菱专用工具  MR Configurator2  配置网络,更可靠。

---

3. 启用 Modbus TCP 并设置控制模式

关键参数(通过操作面板或软件):

2.png
  Pr.79 = 7  是关键!否则通讯控制无效。
修改后需  断电重启  或执行  参数写入(Pr.77=2)

---

4. FR-E800 Modbus 寄存器映射(核心!)

E800 将内部数据映射到  4x 保持寄存器(Holding Registers),地址从  40001 开始
3.png
  控制字(40001)常用位定义(十六进制)
Bit 0:  正转启动(1=ON)
Bit 1:  反转启动(1=ON)
Bit 2:  故障复位(上升沿有效)
Bit 3:  自由停车(1=OFF)
示例:
正转启动:40001 = 1(0x0001)
停止:40001 = 8(0x0008)
故障复位:40001 = 4(0x0004)
  状态字(40003)常用位
Bit 0: 正转运行中
Bit 1: 反转运行中
Bit 2: 加速中
Bit 3: 减速中
Bit 4: 就绪(可运行)
Bit 5: 故障(1=有故障)
详细映射参考:《MELSERVO / FR-E800 Modbus TCP 手册》(文档号:IB(NA)0300407-A)

---

三、S7-1200 配置(TIA Portal)

S7-1200 作为  Modbus TCP Client,使用  MB_CLIENT 指令

1. 定义连接参数(TCON_IP_v4)

Connection_E800 : TCON_IP_v4 :=

(

   InterfaceID := 1600000001,

   ConnectionType := 160B,             // TCP

   ActiveEstablished := TRUE,          // 主动连接

   RemoteAddress := '192.168.3.80', // E800 IP

   RemotePort := 502,

   LocalPort := 2000

);

2. 定义数据缓冲区

// 读取状态(3 个 Word:40003~40005)

E800_ReadBuf : Array[0..2] of WORD;

// 写入命令(2 个 Word:40001~40002)

E800_WriteBuf : Array[0..1] of WORD;

3. 调用 MB_CLIENT 指令

(1)周期性读取状态(OB1 中)

// 使用 100ms 时钟触发

ReadTrigger  :=  Timer_100ms_Q AND NOT  LastRead;

MB_CLIENT(

   REQ :=  ReadTrigger,

   CONNECT := "Connection_E800",

   MODE := 0,                               // 自动管理连接

   DATA_ADDR := 40003,                  // 从状态字开始

   DATA_LEN := 3,                         // 读 3 个寄存器

   DONE =>  ReadDone,

   BUSY =>  ReadBusy,

   ERROR =>  ReadError,

   STATUS =>  ReadStatus,

   DATA_PTR := %PE800_ReadBuf

);

LastRead  :=  Timer_100ms_Q;

(2)写入控制命令

// 启动正转,50Hz

IF "Start_PB" THEN

   "E800_WriteBuf"[0] := 1;          // 控制字 = 1

   "E800_WriteBuf"[1] := 5000;      // 50.00 Hz

    WriteTrigger  := TRUE;

END_IF;

// 停止

IF "Stop_PB" THEN

   "E800_WriteBuf"[0] := 8;          // 控制字 = 8

    WriteTrigger  := TRUE;

END_IF;

MB_CLIENT(

   REQ :=  WriteTrigger,

   CONNECT := "Connection_E800",

   MODE := 1,                               // 写模式

   DATA_ADDR := 40001,

   DATA_LEN := 2,

   DONE =>  WriteDone,

   BUSY =>  WriteBusy,

   ERROR =>  WriteError,

   STATUS =>  WriteStatus,

   DATA_PTR := %PE800_WriteBuf

);

// 写入后清触发

IF  WriteDone  OR  WriteError  THEN

    WriteTrigger  := FALSE;

END_IF;

---

四、典型应用逻辑

1. 故障检测

// 状态字 Bit 5 = 故障(0x0020)

      IF ("E800_ReadBuf"[0] AND 160020) <> 0 THEN

   "E800_Fault" := TRUE;

END_IF;

2. 实际频率显示

ActualFreq_Hz := INT_TO_REAL("E800_ReadBuf"[1]) / 100.0;   // 40004 → [1]

---

五、调试与故障排查

4.png
  推荐调试工具
Modbus Poll
:测试读写 40001~40006
Wireshark
:抓包分析 Modbus 请求/响应

---

六、注意事项

FR-ECB2 模块必须安装,标准 E800 无以太网功能。Pr.79 = 7 是启用通讯控制的前提。
控制字需  持续发送“运行”命令(非脉冲),否则变频器会停止(取决于 Pr.340 设置)。
三菱 E800 的 Modbus TCP  Unit ID 默认为 0,但主站通常可忽略(设为 1 也可通信)。

---

七、总结

优势
支持标准 Modbus TCP,跨品牌兼容性好
可实现远程监控与控制,适合改造项目
局限
需额外购买 FR-ECB2 模块(增加成本)
实时性不如 CC-Link IE 或 PROFINET

---

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码