三菱FX3U利用RS指令实现Modbus RTUCommunication

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

三菱FX3U利用RS指令实现Modbus RTUCommunication缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
三菱FX3U利用RS指令实现Modbus RTUCommunication插图



在了解了ModbusCommunication的基本format后,本期将通过仿真的方式实现Modbus RTUCommunicationProtocol在三菱FX3U PLC上的应用。

指令介绍

一、软件准备

虚拟串口Tools
Modbus Slave
凌一PLC仿真器
GX works2编程软件

二、RS指令

RS指令是在执行串口Communication时用来receive和senddata的指令,使用该指令时需要在PLC上插入FX3U-485-BDCommunication模块。

1)基本format

三菱FX3U利用RS指令实现Modbus RTUCommunication插图1


其中m(发生data的个数)和n(receivedata的个数)需要根据外部设备的messageformat指令,不能随便设置。

2)示例

三菱FX3U利用RS指令实现Modbus RTUCommunication插图2



X0:RS指令触发条件,当X0位ON时RS指令进入send或receivedata的等待状态。
D10:senddata的startregister。
K8:senddata的个数,表示每次sendD10~D17范围内八个register的data。
D20:receivedata的startregister。
K7:receivedata的个数,表示将外部设备返回的data存入D20~D26范围内的七个register里。

三、特殊辅助Relay

1)M8161 data处理位数标志Relay
当M8161=OFF时处理16位data。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图3


当M8161=ON时处理低8位data。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图4



2)M8122 datasend标志Relay
当RS指令处于send或receivedata的等待状态时置位M8122,此时RS指令中senddataregister里的data将会被send给外部设备。datasendComplete后system会自动复位M8122,不能使用程序对其进行复位Operation。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图5




3)M8123 datareceive标志Relay
RS指令将datasendComplete后,进入receivedata状态。此时M8123被置位为ON,并对receive到的data进行处理,data处理Complete后需要将M8123复位为OFF,否则无法receive下一轮的data。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图6


四、Communication parameters设置

Communication parameters既可以在PLCsystem设置中直接设置,也可以通过改变D8120的值进行设置,两种设置方式任选一种即可(本文主要介绍通过D8120进行设置)。

1)直接设置
依次单击参数列表中的“PLC参数”→“PLCsystem设置2” →勾选“进行Communication设置”,然后根据实际需求设置Communication parameters,设置Complete并检查无误后单击“设置End”button保存设置。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图7



2)通过D8120设置
根据下表给定的参数并结合实际需求设置b0~b15的值,并转换成hexadecimal数传送给D8120,实现Communication parameters设置。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图8



3)示例
将Communication parameters设置按如下要求进行设置:dataLength为8位、even parity、stop bit为1位、Baud rate为9600、无报头报尾,控制线为无Protocol的RS-485Interface。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图9



Edit程序将参数传入D8120。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图10


五、CRC指令

CRC指令的作用是计算Modbus RTUCommunicationmessage的校验码。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图11


在低8位模式下(M8161=ON),当X0为ON时CRC指令计算出D10~D15六个register产生的效验码,并将Computation result的高八位存入D16,低八位存入D17。

指令运用

一、项目要求
按下X0button读取1号从站保持register40000的值,按下X1将100写入1号从站保持register40002中,Communication parameters与上文示例中保持一致。

二、Edit程序

1)初始化
在初始化程序中需要将M8161设置为处理低8位data模式(M8161=ON),将Communication parameters传入特殊registerD8120以及复位程序中用到的register。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图12



2)添加RS指令
如果每次处理的dataLength一致,那么只需添加一次RS指,并且让RS指令一直处于等待send或receivedata状。
send或receive的dataLength需要根据外部设备的要求进行设置,此处外部设备为Modbus Slave,其messageformat与标准messageformat一致,所以此处send和receive的dataLength分别为K8和K7。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图13



3)Edit读取程序

a)计算读取程序message
可以借助Serial Port DebuggingAssistant自动生成message,其中84 0A为CRC check码。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图14



b)Editmessage传送程序
当检测到X0的上升沿时将生成的message传入用来senddata的registerD10~D15中。
message需要用hexadecimal表示。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图15



c)添加CRC指令
CRC指令将根据前六个message计算出校验码,并将结果的高八位存入D16,低八位存入D17。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图16


由于仿真中CRC指令时好时坏,所以本项目不使用CRC指令,而是将校验码直接传入D16和D17。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图17



d)senddata
当检测到X0的下降沿时置位M8122Completedata的send。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图18



e)receive并处理读取回来的data
从站返回的data如同所示,通过分析message可得从站返回的data高八位和低八位分别储existenceD23和D24中。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图19


三菱FX3U利用RS指令实现Modbus RTUCommunication插图20


通过计算把D23和D24的data合并,然后存放到D31中。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图21



4)Edit写入程序

a)Editmessage传送程序
参照读取程序的Edit方式。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图22


三菱FX3U利用RS指令实现Modbus RTUCommunication插图23


三菱FX3U利用RS指令实现Modbus RTUCommunication插图24



b)senddata

三菱FX3U利用RS指令实现Modbus RTUCommunication插图25



c)receivedata
由于不需要receive从站返回的data所以直接复位M8123。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图26




仿真环境配置

一、添加虚拟串口
需要添加两对虚拟串口,一对用来实现GX works2和凌一PLC仿真器的connect,另一对用实现凌一PLC仿真器和Modbus Slave的connect

三菱FX3U利用RS指令实现Modbus RTUCommunication插图27



二、配置凌一仿真器
配置Complete后需要打开Download口和Open扩展Communication,并让PLC处于运行状态。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图28



三、配置GX works2
其配置方式与connect实体PLC时的方式一致,主要选择端口号。设置Complete后单击“Communication测试”,测试成功后单击“确定”保存设置,并将程序Download到仿真器中。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图29



四、配置Modbus Slave

1) 配置Modbus Slaveconnect
connect参数需要与D8120中的Communication parameters保持一致。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图30



2)配置Modbus Slave从站Function
如图所示设置从站Function,并修改register40000的值。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图31



五、仿真演示

配置好仿真环境后,将程序Download到仿真器中,并进入监视状态。

1)读取演示
单击仿真器中的X0button,观察D31的值是否与Modbus Slave中保持register40000设置的值一致。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图32



2)写入演示
单击仿真器中的X1button,观察100是否被写入到从站的保持register40002中。

三菱FX3U利用RS指令实现Modbus RTUCommunication插图33



六、程序整体浏览

三菱FX3U利用RS指令实现Modbus RTUCommunication插图34



2026年补充:FX5U与R系列PLC的ModbusCommunication方案对比

随着三菱FX3U逐步向FX5U和R系列换代,Modbus RTUCommunication的实现方式也有了变化:

PLC型号 Modbus实现方式 优势
FX3U + 485-BD RS指令(手动编程) 灵活,适合定制化项目
FX5U 内置485 MODBUS RTU专用指令 编程简化50%,debug效率高
R系列 C24串口模块 支持双通道独立Communication

如果您正在做PLC型号迁移,modbus.cn提供三菱全系列ModbusCommunicationTechnical Docs,包括详细接线图和示例程序,欢迎查阅。

Related文章:PLCTechnology专栏 | 西门子PLC RS485Communication | 西门子1200 S7通讯

Technology术语(共 8 个)—— 点击展开
Modbus RTU基于串行链路的ModbusProtocol,使用binaryCoding和CRC check
RS485工业常用的差分串行Communication标准,支持多点Communication
registerModbus register存储data单元,分线圈/离散输入/保持/输入register四类
CRC check循环冗余校验,用于检测data传输中的Error
PLC可编程逻辑控制器,Automation控制的核心设备
Baud rate串行Communication每秒传输符号数,Modbus RTU常用9600/19200
串口计算机与外部设备进行串行Communication的物理Interface
保持registerModbus 16位可读写data,address从40001开始
来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category 工业物联网 字数 2505 字 · 阅读约 7 分钟 更新 2026-06-26 永久链接 https://www.modbus.cn/24833.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时Communicationdebug、register读写、线圈控制、data监控和message分析。 No installation required, WeChat Search「Modbus DebuggingAssistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

《“三菱FX3U利用RS指令实现Modbus RTUCommunication”》 有 1 条Comments

Leave a Reply

Your email address will not be published. Required fields are marked *.