三菱modbus通讯学习笔记

合集下载

三菱PLC与三菱变频器ModbusRTU协议通讯应用三菱plc

三菱PLC与三菱变频器ModbusRTU协议通讯应用三菱plc

三菱PLC与三菱变频器ModbusRTU协议通讯应用 - 三菱plcModbus是为其plc与主机之间的通讯而创造的串行通讯协议。

其物理层接受RS232、485等异步串行标准。

由于其开放性而被大量的PLC 及RTU厂家接受。

Modbus通讯方式接受主从方式的查询-相应机制,只有主站发出查询时,从站才能给出响应,从站不能主动发送数据。

主站可以向某一个从站发出查询,也可以向全部从站广播信息。

从站只响应单独发给它的查询,而不响应广播消息。

MODBUS通讯协议有两种传送方式:RTU方式和ASCII方式。

三菱700系列变频器能够从RS-485端子使用ModbusRTU通讯协议,进行通讯运行和参数设定。

对象:1. 三菱plc:FX2N+FX2N-485-BD2. 三菱变频器:F700系列,A700系列。

两者之间通过网线连接,具体参照下图。

FX2N-485-BD与n台变频器的连接图三菱变频器的设置PLC与变频器之间进行通讯时,通讯规格必需在变频器中进行设定,每次参数初始化设定后,需复位变频器或通断变频器电源。

参数号名称设定值说明Pr331 通讯站号 1 设定变频器站号为1Pr332 通讯速度 96 设定通讯速度为9600bpsPr334 奇偶校验停止位长 2 偶校验,停止位长1位Pr539 通讯校验时间 9999 不进行通讯校验Pr549 协议选择 1 ModbusRTU协议Pr551 PU模式操作权选择 2 PU运行模式操作权作为PU接口进行ModbusRTU协议通讯时,Pr551必需设置为2,Pr340设置为除0以外的值,Pr79设置为0或2或6。

通过RS-485端子进行ModbusRTU协议通讯时,必需在NET网络模式下运行。

三菱PLC的设置对通讯格式D8120进行设置D8120设置值为0C87,即数据长度为8位,偶校验停止位1位,波特率9600pbs,无标题符和终结符。

修改D8120设置后,确保通断PLC电源一次。

Modbus通讯笔记注意事项

Modbus通讯笔记注意事项

Modbus通讯笔记注意事项Modbus寻址Modbus地址通常是包含数据类型和偏移量的5个或6个字符值。

第一个或前两个字符决定数据类型,最后的四个字符是符合数据类型的一个适当的值。

Modbus主设备指令能将地址映射至正确的功能,以便发送到从站。

1 Modbus主站寻址Modbus主设备指令支持下列Modbus地址:(1) 00001至09999是离散输出(线圈)。

(2) 10001至19999是离散输入(触点)。

(3) 30001至39999是输入寄存器(通常是模拟量输入)。

(4) 40001至49999是保持寄存器。

所有Modbus地址均以1为基位,表示第一个数据值从地址1开始。

有效地址范围将取决于从站。

不同的从站将支持不同的数据类型和地址范围。

2 Modbus从站寻址Modbus从站指令支持以下地址:(1) 000001至000128是实际输出,对应于Q0.0——Q15.7。

(2) 010001至010128是实际输入,对应于I0.0——丨15.7。

(3) 030001至030032是模拟输入寄存器,对应于AIW0至AIW2。

(4) 040001至04XXXX是保持寄存器,对应于V区。

Modbus从站协议允许您对Modbus主站可访问的输入、输出、模拟量输入和保持寄存器(V区)的数量进行限定。

MBUS_INIT指令的参数MaxlQ指定Modbus主站允许访问的实际输入或输出(I或Q)的最大数量。

MBUS_INIT指令的MaxAl参数指定Modbus主站允许访问的输入寄存器(A丨W)的最大数量。

MBUS_INIT指令的MaxHold参数指定Modbus主站允许访问的保持寄存器(V存储区字)的最大数MBUS_CTRL 指令西门子Modbus主站协议库包括两条指令:MBUS_CTRL指令和MBUS_MSG指令。

MBUS_CTRL指令用于初始化主站通信,MBUS_MSG指令(或用于端口1的MBUS_MSG_P1)用于启动对Modbus从站的请求并处理应答。

第四集:三菱FX3U与FX5U之间的MODBUS通讯

第四集:三菱FX3U与FX5U之间的MODBUS通讯

第四集:三菱FX3U与FX5U之间的MODBUS通讯本期带来的是FX3U和FX5U之间的通讯,由FX3U做主站通过485BD板,用RS2指令来跟FX5U进行MODBUS RTU通讯。

这里我们需要用到轮询,不管如何,485通讯必须用轮询来交互数据。

因为它是半双工通信,不能同时收发数据,同一时间内要么发,要么收。

否则通信就会报错。

另外,通信需要时间,因为主站发过去报文后,需要等待一定时间接收来自从站的数据,然后主站才能发送下一条报文。

这也为轮询创造了转移条件。

好了,接下来我们讲解下如何做:首先第一步就是各自设置好通讯参数:先设置FX5U,因为它做从站,好设置,因此就先设置它:然后设置FX3U的。

由于我们使用的是RS2指令,且是485BD板,因此我们需要通过通道1的D8400来设置通讯格式,如下所示:特别提醒:通讯格式的设定一定要参照“用户手册通讯篇”来,因为RS和MODBUS通信,这两者的通信格式虽有大同,但也有小异。

它们三者不大相同,这个要注意,否则是无法通信的。

RS2指令必须是16位模式,因此M8161必须保持OFF状态然后就是写程序了,我这里的程序交互流程是这样的:FX3U去控制FX5U中M0的状态,然后使FX5U中的D0进行累加。

同时,FX3U 来实时获取FX5U中的D0的值,并且实时写入到FX5U的D100中。

程序如下:FX5U中的程序这是大概的框架,具体写法需要根据实际情况和设备来写。

程序要点:1.首先要准备数据,也就是需要将功能码写入到D寄存器中。

2.进行CRC校验。

3.准备好RS2指令,这里可以一直让它导通,或者也可以单独导通。

4.接着就是进行发送请求(如本例中通道1的M8402)5.最后,FX3U接收完数据后,数据接收完成标志位M8403(通道1)会置ON。

然后接着它置ON,就需要及时将读回来的数据进行转存。

同时,将M8403复位,准备下一次的接收。

6.另外,在本例中,我特意将FX5U的D0值设置成了浮点数。

三菱FXPLCModbusRTU通讯程序

三菱FXPLCModbusRTU通讯程序

三菱FXPLCModbusRTU通讯程序三菱FX2NPLC与三菱变频器ModbusRTU协议通讯应用Modbus是Modicon公司为其PLC与主机之间通讯而发明串行通讯协议。

其物理层采用RS232、485等异步串行标准。

其开放性而被大量PLC及RTU厂家采用。

Modbus通讯方式采用主从方式查询-相应机制,主站发出查询时,从站才能给出响应,从站不能主动发送数据。

主站可以向某一个从站发出查询,也可以向所有从站广播信息。

从站只响应单独发给它查询,而不响应广播消息。

MODBUS通讯协议有两种传送方式:RTU方式和ASCII方式。

三菱700系列变频器能够从RS-485端子使用ModbusRTU通讯协议,进行通讯运行和参数设定。

对象:1. 三菱PLC:FX2N+FX2N-485-BD2. 三菱变频器:F700系列,A700系列。

两者之间网线连接,具体参照下图。

FX2N-485-BD与n台变频器连接图一.三菱变频器设置PLC与变频器之间进行通讯时,通讯规格必须变频器中进行设定,每次参数初始化设定后,需复位变频器或通断变频器电源。

参数号名称设定值说明Pr331 通讯站号 1 设定变频器站号为1Pr332 通讯速度 96 设定通讯速度为9600bpsPr334 奇偶校验停止位长 2 偶校验,停止位长1位Pr539 通讯校验时间 9999 不进行通讯校验Pr549 协议选择 1 ModbusRTU协议Pr551 PU模式操作权选择 2 PU运行模式操作权作为PU接口进行ModbusRTU协议通讯时,Pr551必须设置为2,Pr340设置为除0以外值,Pr79设置为0或2或6。

RS-485进行ModbusRTU 协议通讯时,必须NET网络模式下运行。

二.三菱PLC设置对通讯格式D8120进行设置D8120设置值为0C87,即数据长度为8位,偶校验停止位1位,波特率9600pbs,无标题符和终结符。

修改D8120设置后,确保通断PLC电源一次。

第一集:MODBUSRTU通讯功能码的讲解(三菱PLC)

第一集:MODBUSRTU通讯功能码的讲解(三菱PLC)

第一集:MODBUSRTU通讯功能码的讲解(三菱PLC)一.首先我们讲MODBUS RTU的帧规格三菱的帧规格如下:它的含义就是说,你要跟支持MODBUS协议的设备进行通信时,就必须按照上面的帧规格的样式来发数据。

如果不按照它来写,对不起,对方设备它就当没收到,不予理会或者返回错误帧。

下面解释下各个部分的含义:地址字段:就是各个设备的ID号或者站号,而主站固定是0,从站要从1开始,范围是1-247,而三菱FX最大是1-32。

功能代码:它是用来表示主站要对从站做什么。

如下图所示,比如03H功能码,它的作用就是主站要去读取从站的保持寄存器(D寄存器)。

MODBUS所有的功能码有:01H, 02H, 03H, 04H, 05H, 06H, 07H, 08H, 0BH, 0CH, 0FH, 10H, 11H, 16H, 17H。

在后面,我们会将主要的功能码进行程序演示,有必要会专门录制视频进行讲解演示。

敬请关注。

功能码名称作用01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02 读取输入状态取得一组开关输入的当前状态(ON/OFF)03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05 强置单线圈强置一个逻辑线圈的通断状态06 预置单寄存器把具体二进值装入一个保持寄存器07 读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态08 回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴09 编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑10 控询(只用于可使主机与一台正在执行长程序任务从机通信,探询484)该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送11 读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时12 读取通信事件记录 可是主机检索每台从机的ModBus 事务处理通信事件记录。

三菱modbus通讯学习笔记

三菱modbus通讯学习笔记
主/从
标有颜色的为必须设置项。
特殊辅助继电器的记录
通道1
通道2
名称
详细内容
主从站
M8411
设定MODBUS参数标志位
设定参数后要重启一下plc才能将参数写入
主/从
M8029
指令执行结束
ADPRW指令执行结束后置为ON

M8401
M8421
MODbus在通信中置位ON
从指令执行开始到指令执行结束一直为0N
D8411
D8431
请求间延迟时间设定
主/从
D8412
D8432
重试次数设定

D8414
D8434
从站本站号设定

D8415
D8435
通信计数器
主/从
D8416
D8436
通信计数器
主/从
D8419
D8439
显示当前使用的协议
主/从
D8063
D8438
串行通信出错代码(6321-D8063)(3821-D8438)
MODBUS-FX-3U-485-ADP-BM与FX3U/FX3UC连接单个连接使用通道CH2,两个连接是CH1,和CH2.
具体如下照片。
1,通讯设定的主要参数:
通道类型
名称
主从站
通道1
通道2
D8400
D8420
通讯格式设定
主/从
D8401
D8421
协议模式
主/从
D8402
D8422
通讯出错代码
主/从
通讯读出写入指令的说明:ADPRW
主站程序例子
从站例子;

M8402
M8422

三菱modbus通讯学习笔记

三菱modbus通讯学习笔记
D8411
D8431
请求间延迟时间设定
主/从
D8412
D8432
重试次数设定

D8414
D8434
从站本站号设定

D8415
D8435
通信计数器
主/从
D8416
D8436
通信计数器
主/从
D8419
D8439
显示当前使用的协议
主/从
D8063
D8438
串行通信出错代码(6321-D8063)(3821-D8438)
主/从
标有颜色的为必须设置项。
特殊辅助继电器的记录
通道1
通道2
名称
详细内容
主从站
M8411
设定MODBUS参数标志位
设定参数后要重启一下plc才能将参数写入
主/从
M8029
指令执行结束
ADPRW指令执行结束后置为ON

M8401
M8421
MODbus在通信中置位ON
从指令执行开始到指令执行结束一直为0N

M8402
M8422
MODBUS通信发生错误
出错时为ON
主/从
M8403
M8423
MODBUS通信发生错误锁存
主/从
M8404
M8424
只接收模式
0:联机模式
1;只接收模式

M8408
M8428
发生重试
发生重试时为ON

M8409
M8429
发生超时
发生超时置位为ON

modbus适配器支持的modbus标准功能如下:
MODBUS-FX-3U-485-ADP-BM与FX3U/FX3UC连接单个连接使用通道CH2,两个连接是CH1,和CH2.

MODBUS入门讲解-新手必看

MODBUS入门讲解-新手必看

MODBUS⼊门讲解-新⼿必看MODBUS详解精简版⼀、基本术语1、字word、字节byte、位bit1 word =2 byte;1 byte = 8 bit.2、校验码校验码是由前⾯的数据通过某种算法得出的,⽤以检验该组数据的正确性。

代码作为数据在向计算机或其它设备进⾏输⼊时,容易产⽣输⼊错误,为了减少这种输⼊错误,编码专家发明了各种校验检错⽅法,并依据这些⽅法设置了校验码。

常⽤的校验有:累加和校验SUM、字节异或校验XOR、纵向冗余校验LRC、循环冗余校验CRC……3、协议和接⼝协议是⼀种规范和约定,是⼀种通讯的语⾔,规定了通信双⽅能够识别并使⽤的消息结构和数据格式。

接⼝是⼀种设备的物理连接,指的是在物理层上的定义,像RS422/RS232/RS485/以太⽹⼝等。

协议和接⼝并不是⼀个概念,不能混淆。

Modbus协议⼀般运⾏在RS485物理接⼝上,半双⼯的,是⼀种主从协议。

⼆、Modbus协议概述Modbus协议是应⽤于电⼦控制器上的⼀种通⽤语⾔,实现控制器之间、控制器由⽹络和其它设备之间的通信,⽀持传统的RS232/RS422/RS485和最新发展的以太⽹设备。

它已经成为⼀种通⽤⼯业标准。

有了它,不同⼚商⽣产的控制设备可以连成⼯业⽹络,进⾏集中控制。

此协议定义了⼀个控制器能认识使⽤的消息结构。

Modbus协议是⼀种请求——应答⽅式的协议。

三、两种传输⽅式1、 ASCII模式ASCII:美国标准信息交换代码特点:①消息中每个8bit都作为两个ASCII字符发送② 1个起始位、7个数据位、1个奇偶校验位和1个停⽌位(或者两个停⽌位)③错误检测域是LRC 检验④字符发送的时间间隔可达到1秒⽽不会产⽣错误 2、 RTU 模式RTU:远程终端单元特点:①消息中每个8bit 字节包含两个4bit 的⼗六进制字符,因此,在波特率相同的情况下,传输效率⽐ascii 传输⽅式⼤② 1个起始位、8个数据位、1个奇偶校验位和1个停⽌位(或者两个停⽌位)③错误检测域是CRC 检验④消息发送⾄少要以3.5个字符时间的停顿间隔开始。

三菱FX与FX系列PLC MODBUS通讯方法

三菱FX与FX系列PLC MODBUS通讯方法

三菱FX系列与FX系列PLCMODBUS通讯的方法本文通过实践应用以后总结出来的,相对于三菱公司标准手册,把一些重点提了出了,如有不清楚的可以参照三菱手册,进行学习。

目录一,硬件设备组成 (3)二,设备接线 (3)1对接线 (3)2对接线 (3)三,相关软元件的详细内容 (4)3.1特殊数据寄存器 (4)3.2MODBUS通讯设定 (9)3.3特殊辅助继电器 (10)四,MODBUS标准功能 (12)4.1MODBUS标准功能支持一览表 (12)五,编程 (14)5.1ADPRW指令参数 (14)5.2编程软件通讯设置 (18)5.3编写通讯程序 (19)5.3.1主站通讯程序 (19)5.3.2主站读写程序 (20)5.3.3从站通讯程序 (20)5.4程序运行 (21)注:本文只在供交流学习使用,文中大量引用三菱资料,不可随意篡改三菱公司版权一,硬件设备组成1.FX3U64ER PLC2台2.FX3U-485ADP-MB MODBUS特殊通讯模块2台3.FX3U-CNV-BD功能扩展模块(与FX3U-485ADP-MB搭配使用)2台二,设备接线1对接线图2.11对接线2对接线图2.22对接线导线最好使用带屏蔽层绝缘导线,我这边使用的是标准的紫色DP通讯线。

为一对线形式,一根红色线,一根绿色线。

使用2对线形式一样,此处并没有异议。

三,相关软元件的详细内容3.1特殊数据寄存器图3.1特殊数据寄存器表1图3.2特殊数据寄存器表2图3.3特殊数据寄存器表3图3.4特殊数据寄存器表4图3.5特殊数据寄存器表53.2MODBUS通讯设定通讯中使用的软元件如图所示使用通信端口(通道1)时设定D8400使用通信端口(通道1)时设定D84201)D8400、D8420(通信格式)在通信格式中设定数值,可进行数据长度、奇偶性、波特率等通信设定。

通信格式的内容如下表所示。

图3.6D84008420通讯设定3.3特殊辅助继电器图3.7特殊辅助继电器1图3.8特殊辅助继电器2图3.9特殊辅助继电器3四,MODBUS标准功能4.1MODBUS标准功能支持一览表图4.1MODBUS标准功能1图图4.2MODBUS标准功能2FX3S/FX3G/FX3GC/FX3U/FX3UC系列的功能代码对应表图4.3MODBUS标准功能3五,编程在编写主站程序时我们会用到FNC276ADPRW/MODBUS读出写入指令5.1ADPRW指令参数图5.1ADPRW指令参数1图5.2ADPRW指令参数2图5.3ADPRW指令参数3图5.4ADPRW指令参数45.2编程软件通讯设置首先打开编程软件,我这边使用的是GX Work2V1.555D,打开后新建一个PLC程序,然后设定MODBUS通讯通道信息,我这边的设定如图所示,也可根据自己需求设定。

三菱modbus通讯学习笔记(20200623073529)

三菱modbus通讯学习笔记(20200623073529)
MODBUS RS232C接线图
三菱 modbus 通讯学习笔记
MODBUS 485 接线图
通讯设定的注意事项。 MODBUS-FX-3U-485-ADP-BM与 FX3S连接通讯通道使用 CH1 MODBUS-FX-3U-485-ADP-BM与 FX3G连接通讯通道使用 CH1(优先)和通道 CH2 MODBUS-FX-3U-485-ADP-BM与 FX3GC连接通讯通道使用 CH1 和通道 CH2 MODBUS-FX-3U-485-ADP-BM与 FX3U/FX3UC连接单个连接使用通道 CH2,两个连接是 CH1,和 CH2. 具体如下照片。

主 主
modbus 适配器支持的 modbus 标准功能如下:
通讯读出写入指令的说明: ADPRW
主站程序例子
设定通讯格式: D8400 RS485 9600 1 N 8 作为主站 :D8401 MODBUS 协议 RTU 具体参考上面通讯设置
从站例子 ;
通道 01,通讯格式 D8400(H1097) 19200 8 E 1 D8400 D8401(H11) MODBUS-RTU从, 站 D8414(H1)从站地址 01 D8416(H100)通信计数设定
1,通讯设定的主要参数:
通道类型
名称
通道 1 通道 2
D8400 D8420 通讯格式设定
D8401 D8421 协议模式
D8402 D8422 通讯出错代码
D8403 D8423 出错详细内容
D8404 D8424 发生通信出错的步
D8405 D8425 显示通信参数
D8406 D8426 接收结束代码的第二个字节
M8029
指令执行结束 ADPRW 指令执行结束

三菱PLC学习笔记

三菱PLC学习笔记

OUT指令驱动输出定时器(T)、计数器(C)时需要带一个设定值(K或D数据寄存器中的值)
LDP、ANDP、ORP指令是进行上升沿检测的触点指令,仅在指定的位元件上升沿(OFF—ON变化)时,接通一个扫描周期。

(LDF、ANDF、ORF与之相反)
MPS、MRD、MPP指令使用时需要注意,在梯行图分支后是否有元件,如为单独的输出,则无需使用MPS指令。

MC、MRC主控、主控复位指令(成对使用)使用注意事项
当主控指令为OFF时:
1.保持当前状态:积算定时器、计数器、用置位/复位指令驱动的软元件。

2.变为OFF的软元件:非积算定时器、用OUT指令驱动的软元件。

3.在没有嵌套结构时,通用N0编程。

N0的使用次数没有限制。

有嵌套结构时,嵌套级N的地址号增
大,即N0—N1—N2—N3—N4—N5….N7。

在将指令返回时,采用MCR指令,并从大的嵌套级开始消除。

格式MC 主控号(N0)操作数(如M100)
未嵌套:同一程序中主控号N0可多次使用,但操作数需改变。

SET、RST指令中,SET指令后只能是位元件,即Y、M、S等,不能为X、D等。

RST指令后即可以是位元件,也可以是字元件。

PLS、PLF微分输出指令中,PLS上升沿微分输出,当输入条件为ON时(上升沿),相应的输出位元件Y或M接通一个扫描周期(PLF与之相反)。

编程规则
1.水平不垂直
2.多上串右
3.线圈右边无接点
4.不能有双线圈输出。

MODBUS通讯协议学习总结

MODBUS通讯协议学习总结

MODBUS通讯协议学习总结
1、协议分3个层次看:
协议应用函数层,如读写coil,寄存器;
RTU或者ASCII传输层
硬件底层
2、比如上位机发来:01 06 00 01 02 D5 00 55
含义:表示上午12点05分开始采集,12*60+5=725=0X02D5
01地址
06表示功能码
00 01寄存器地址
02 D5数据
00 55 crc
3、就当是一个简单的协议看。

其它的都是格式。

比如:上位机发送A,下位机知道这个是>90分
按照他给的框架,自己再自由定义
比如:从机地址,可以写01-FF
255个这个是从机先固定好的。

比如从机是01。

上位机发了一串16进制数据,如果第一个字节是01,说明是在和自己通信。

每台从机地址都不一样
再判断功能码。

如03。

这个看你写程序是怎么定义的。

比如我这里是要读下位机采集到的数据,我这里就是设置了一个数组,把数据存了起来,等判断03的时候就把数据给上位机。

4、寄存器地址。

自己定义,我这边是随便写的一个固定值
5、还有一个crc判断。

读数据的时候,判断下。

如果上位机发过来的crc,和自己计算出来的crc一样,才给返回数据
6、那个CRC怎么计算呢?
有固定的计算格式,只需调用即可。

crc 在通过modbus串口传数据的时候用,网络上不用。

三菱modbus通讯学习笔记

三菱modbus通讯学习笔记
MODBUS-FX-3U-485-ADP-BM与FX3U/FX3UC连接单个连接使用通道CH2,两个连接是CH1,和CH2.
具体如下照片。
1,通讯设定的主要参数:
通道类型
名称
主从站
通道1
通道2
D8400
D8420
通讯格式设定
主/从
D8401
D8421
协议模式
主/从
D8402
D8422
通讯出错代码
主/从
D8411
Dቤተ መጻሕፍቲ ባይዱ431
请求间延迟时间设定
主/从
D8412
D8432
重试次数设定

D8414
D8434
从站本站号设定

D8415
D8435
通信计数器
主/从
D8416
D8436
通信计数器
主/从
D8419
D8439
显示当前使用的协议
主/从
D8063
D8438
串行通信出错代码(6321-D8063)(3821-D8438)
主/从
标有颜色的为必须设置项。
特殊辅助继电器的记录
通道1
通道2
名称
详细内容
主从站
M8411
设定MODBUS参数标志位
设定参数后要重启一下plc才能将参数写入
主/从
M8029
指令执行结束
ADPRW指令执行结束后置为ON

M8401
M8421
MODbus在通信中置位ON
从指令执行开始到指令执行结束一直为0N
D8403
D8423
出错详细内容
主/从
D8404
D8424

Modbus学习笔记

Modbus学习笔记
从机返回信息: Field Name Slave Address Function Starting Address Hi Starting Address Lo No. of Register Hi No. of Register Lo CRC Hex 11 10 00 01 00 02 XX
从站地址 功能码(十进制16) 开始地址的高字节 开始地址的低字节 要写入寄存器数量的高字节 要写入寄存器数量的低字节 CRC16的校验码
Modbus信息中的数据地址
Modbus信息中的所有数据地址以零作为基准,各项数据的第一个数据地址的编号为0 如:Coil 1 的地址为 0000 Coil 127 的地址为 007EH(126的十进制)
(一)06 主机对从机写数据操作。例如:01 06 00 01 00 17 98 04 01 06 00 01 00 17 从机地址 功能号 数据地址 数据
N*2 BYTE 1 BYTE 1 BYTE
N
MODBUS 响应
仪表地址 功能码 错误代码 CRC低位 CRC高位
1 BYTE 1 BYTE 1 BYTE 1 BYTE 1 BYTE
01-99 03(06、10)+80 01、02、03
错误 响应
D5 CA CRC校验 F8 4A CRC校验
(三)16 主机对从机写数据操作(多个寄存器)。 写入例子: Field Name (Hex) Slave Address 11 从站地址 Function 10 功能码(十进制16) Starting Address Hi 00 开始地址的高字节 Starting Address Lo 01 开始地址的低字节 No. of Register Hi 00 要写入寄存器数量的高字节 No. of Register Lo 02 要写入寄存器数量的低字节 Byte Count 04 要写入的字节数 Data Hi 00 值1的高字节 Data Lo 0A 值1的低字节 Data Hi 01 值2的高字节 Data Lo 02 值2的低字节 CRC XX CRC16的校验码

Modbus的基础学习

Modbus的基础学习

04
Modbus功能码详解
功能码分类及作用
离散量输入
功能码为01,用于读取从设备的离散量输入 状态。
保持寄存器
功能码为03,用于读取从设备的保持寄存器 值。
线圈状态
功能码为05,用于写入从设备的线圈状态。
输入寄存器
功能码为04,用于读取从设备的输入寄存器 值。
常用功能码使用方法
读取线圈状态 发送功能码01及相应的地址和数量, 从设备返回相应线圈的状态。
编写简单Modbus程序示例
确定Modbus从设备地址和寄存器地址
在编写Modbus程序之前,需要确定从设备的地址以及需要读写的寄 存器地址。
初始化Modbus通信
在程序中初始化Modbus通信,包括设置串口参数(如波特率、数据 位、停止位等)、从设备地址等。
读写寄存器
使用Modbus库提供的函数进行读写操作,如读取保持寄存器、写入 单个线圈等。
02
开放标准
Modbus是一种开放的标准协议, 不同厂商的设备可以互相通信,具
有良好的互操作性。
04
可靠稳定
Modbus协议具有较高的可靠性和 稳定性,适用于工业环境的恶劣条
件。
02
Modbus通讯原理
主从式通讯结构
主设备
主动发起通讯请求,从设 备响应请求并返回数据。
从设备
被动响应主设备的请求, 根据请求内容返回相应数 据。
实例三 某次功能码错误中,接收到不支持的功能码。经 过核对发现设备不支持该功能码,更换功能码后 故障排除。
07
总结与展望
学习成果回顾
掌握了Modbus通信协议 的基本原理和通信过程。
学习了Modbus RTU和 Modbus ASCII两种传输 模式的特性和差异。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

M8402
M8422
MODBUS通信发生错误
出错时为ON
主/从
M8403
M8423
MODBUS通信发生错误锁存
主/从
M8404Hale Waihona Puke M8424只接收模式
0:联机模式
1;只接收模式

M8408
M8428
发生重试
发生重试时为ON

M8409
M8429
发生超时
发生超时置位为ON

modbus适配器支持的modbus标准功能如下:
MODBUS-FX-3U-485-ADP-BM与FX3U/FX3UC连接单个连接使用通道CH2,两个连接是CH1,和CH2.
具体如下照片。
1,通讯设定的主要参数:
通道类型
名称
主从站
通道1
通道2
D8400
D8420
通讯格式设定
主/从
D8401
D8421
协议模式
主/从
D8402
D8422
通讯出错代码
主/从
三菱modbus通讯学习笔记
MODBUS RS232C接线图
MODBUS 485接线图
通讯设定的注意事项。
MODBUS-FX-3U-485-ADP-BM与FX3S连接通讯通道使用CH1
MODBUS-FX-3U-485-ADP-BM与FX3G连接通讯通道使用CH1(优先)和通道CH2
MODBUS-FX-3U-485-ADP-BM与FX3GC连接通讯通道使用CH1和通道CH2
D8411
D8431
请求间延迟时间设定
主/从
D8412
D8432
重试次数设定

D8414
D8434
从站本站号设定

D8415
D8435
通信计数器
主/从
D8416
D8436
通信计数器
主/从
D8419
D8439
显示当前使用的协议
主/从
D8063
D8438
串行通信出错代码(6321-D8063)(3821-D8438)
D8403
D8423
出错详细内容
主/从
D8404
D8424
发生通信出错的步

D8405
D8425
显示通信参数
主/从
D8406
D8426
接收结束代码的第二个字节
主/从
D8407
D8427
通信中步的编号

D8408
D8428
当前的重试次数

D8409
D8429
从站响应超时

D8410
D8430
播放延迟

通讯读出写入指令的说明:ADPRW
主站程序例子
从站例子;
主/从
标有颜色的为必须设置项。
特殊辅助继电器的记录
通道1
通道2
名称
详细内容
主从站
M8411
设定MODBUS参数标志位
设定参数后要重启一下plc才能将参数写入
主/从
M8029
指令执行结束
ADPRW指令执行结束后置为ON

M8401
M8421
MODbus在通信中置位ON
从指令执行开始到指令执行结束一直为0N
相关文档
最新文档