三菱 FX PLC ModbusRTU通讯程序
三菱700系列变频器使用modbusrtu通讯协议与三【最新】

三菱700系列变频器使用ModbusRTU通讯协议与三菱PLC进行通讯运行和参数设定Modbus是Modicon公司为其PLC与主机之间的通讯而发明的串行通讯协议。
其物理层采用RS232、485等异步串行标准。
由于其开放性而被大量的PLC及RTU厂家采用。
Modbus通讯方式采用主从方式的查询-相应机制,只有主站发出查询时,从站才能给出响应,从站不能主动发送数据。
主站可以向某一个从站发出查询,也可以向所有从站广播信息。
从站只响应单独发给它的查询,而不响应广播消息。
MODBUS通讯协议有两种传送方式:RTU方式和ASCII方式。
三菱700系列变频器能够从RS-485端子使用M odbusRTU通讯协议,进行通讯运行和参数设定。
对象: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,无标题符和终结符。
三菱FX1Nplc自写MODBUS RTU 从站程序

P23
M8002
5
MOV
H0C81
D8120
M8000 14
SET
ADD D6005 K2 校验之前 实际发送 数据总长 度
M8161
D6002 发送数据 长度
D8120
B/D
7
B/D
M8161 A/S 12
A/S
D6005 A/S 15 272 315
B/D 265 D6002 A/S 23
B/D 15
* 本程序占用的D寄存器点位为D6000以后的区域(详见注释
* D6500对应03功能码的40001,之后按顺序排列
* 本程序由江西自动化网/ 会员“工控小生”编辑
* 本程序实例下载地址/thread-26770-1-1.htm
M1505 163
准备发送
[ 162] T199
167 接收后延 时发送
[ 164] M8122
171 发送请求
[ 169]
K2 T199 接收后延 时发送
T199 A/S 167 A/S
M8122
SET
M8122
A/S 169
发送请求
B/D 171
M8123
RST
M8123
A/S 42 55 84
M8000 0
CALL P23
P23
A/S
1
5
A/S
4
FEND
* 三菱MODBUS从站通讯程序 端口配置默认为 9600 8 N 1
* 规定站号存储地址D6000,仅支持功能码03和功能码06
* 03功能码一次最多只能读取50个字,如地址间隔较大请分批读取
* 本程序占用如下单元:M1500-M1526;T199;V0-V1
三菱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电源一次。
三菱PLC与变频器通讯-ModbusRTU协议Word

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程序如下:三:程序说明:1.当X1接通一次后,变频器进入正转状态。
三菱变频器ModbusRTU协议

三菱FX2N系列PLC与三菱700系列变频器ModbusRTU协议通讯应用
深圳壮盈科技有限公司张金波2006-11-2
Modbus是Modicon公司为其PLC与主机之间的通讯而发明的串行通讯协议。
其物理层采用RS232、485等异步串行标准。
由于其开放性而被大量的PLC及RTU厂家采用。
Modbus通讯方式采用主从方式的查询-相应机制,只有主站发出查询时,从站才能给出响应,从站不能主动发送数据。
主站可以向某一个从站发出查询,也可以向所有从站广播信息。
从站只响应单独发给它的查询,而不响应广播消息。
MODBUS通讯协议有两种传送方
式:RTU方式和ASCII方式。
三菱700系列变频器能够从RS-485端子使用ModbusRTU通讯协议,进行通讯运行和参数设定。
对象:
1.三菱PLC:FX2N+FX2N-485-BD
2.三菱变频器:F700系列,A700系列。
两者之间通过网线连接,具体参照下图。
FX2N-485-BD与n台变频器的连接图
一.三菱变频器的设置
PLC与变频器之间进行通讯时,通讯规格必须在变频器中进行设定,每次参数初始化设定后,需复位变频器或通断变频器电源。
四.程序说明:
1.当X1接通一次后,变频器进入正转状态。
2.当X2接通一次后,写入变频器运行频率60HZ。
3.当X3接通一次后,变频器进入停止状态。
4.当指令中,变频器指令地址为0时,为广播指令,所有从站变频器只接受PLC发出指令,不向主机发送响应信息。
三菱_FX系列PLC串口通讯配置方法

三菱_FX系列PLC串⼝通讯配置⽅法WebAccess 与三菱 FX系列PLC串⼝通讯配置⽅法WebAccess三菱FX系列驱动⽀持以下型号PLC:FX, FX0, FX0N, FX1N,FX2N,FX1S等。
FX系列PLC与上位机软件的通讯⽅式分为:RS232与RS485两种模式,默认通讯参数如下:波特率:9600,数据位:7位,停⽌位:1位,奇偶校验:偶校验,下⾯分别从两个⽅⾯进⾏配置说明:⼀、RS232⽅式通讯通常情况下,三菱FX系列PLC通过编程⼝(PS/2)与上位机软件进⾏RS232模式通讯,此时PLC中不需要做特殊配置,只需在WebAccess中将PLC对应的通讯参数匹配即可。
步骤如下:1、添加通讯端⼝图1 添加通讯端⼝数据流控(Flow Control):Rts、Dtr握⼿协议当使⽤RS232/RS485转换器进⾏通讯连接时,数据流控信号将根据该转换器的流控功能来决定。
有些RS232/RS485转换器不需要软件做任何类型的握⼿协议,⽽有些则需要软件进⾏Rts信号握⼿协议。
强烈建议⽤户选择具有⾃动流控的RS232/RS485转换器。
2、添加设备图2 设备参数配置单元号:实际PLC的串⾏地址号,即Device ID。
单个PLC可以默认0进⾏通讯。
3、添加IO点根据下图中的“参数”栏选择合适的参数类型(模拟量、数字量)和相应的转换代码。
图3 添加IO点表1⼆、RS485⽅式通讯为便于远距离通讯,三菱FX2N系列PLC通过FX2N-485-BD模块实现RS485⽅式与WebAccess软件通讯,安装FX2N-485-BD 需设置PLC的D8120寄存器,请参照《FX通讯⽤户⼿册》。
FX2N-485-BD通讯模块如下图: FX2N-485-BD模块安装位置图:图4 FX2N-485-BD模块及接线图(1)三菱PLC配置⽅法步骤1、FXGP/WIN-C编程软件配置⽅法使⽤FXGP/WIN-C编程软件来进⾏串⾏⼝设置。
三菱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通讯通道信息,我这边的设定如图所示,也可根据自己需求设定。
三菱PLC的MODBUSRTU的CRC计算程序编写,通讯必须掌握

三菱PLC的MODBUSRTU的CRC计算程序编写,通讯必须掌握(点击上方红字,免费领资料)今天就说下采用RTU数据模式控制变频器,包括变频器的调频、正转、反转、停止命令的写入及运行频率的读取。
先了解下RTU帧的结构:帧头 3.5个字节的通讯时间从机地址:通讯地址0~247, 0代表广播功能码: 01H、02H、03H等数据: 2*N个字节的数据,为通讯的主要内容,包括数据地址、数据内容等。
CRC 低位: CRC校验码CRC 高位: CRC校验码帧尾: 3.5个字节的通讯时间在变频器的控制器,功能码主要用到两个03H和06H。
03H表示主机向变频器读取数据,要读取多少个数据由命令中“数据个数”而定,最多可以读取 16 个数据。
读取的参数地址必须是连续的。
每个数据占用的字节长度为 2 字节,也即一个字(word)。
以下命令格式均以 16 进制表示(数字后跟一个“H”表示 16 进制数字),一个 16 进制占用一个字节,主要作用是读取变频器的参数及工作状态,比如变频器的频率、电压、电流以及运行状态(正转、反转、停机、故障状态的监视等)06H的命令表示主机向变频器写数据,一条命令只能写一个数据,不能写多个数据。
它的作用是改变变频器的参数及工作方式,比如控制变频器正反转、停机,设定频率、转矩、加减速时间等。
我们从主机往从机发送命令后,如果发送成功,从机会返回一个回应信息,从这个返回信息中可以看出我们想要得到的东西,这里说下发送写命令06H,它的返回信息与发送命令是一样的,所以我们只有在读命令03H才用到返回信息。
下面我们举个例子说明发送信息与返回信息。
03H,从通讯地址为01的变频器,以地址0004H开始,连续读取两个数据内容就是去读0004H和0005H地址的内容。
03H从上表看出主机向从机发送命令需要知道从机的地址、功能码(命令)、数据地址、数据个数、CRC校验码,以上例子中我们知道从机的地址是01H,功能码是读03H,地址是0004H,拆分成高低位,数据个数是俩个0002H,同样拆分,最后的CRC校验码是根据以上数据计算出来的,数据发送到从机后,从机也根据信息计算一个CRC校验码,如果与主机计算的校验码一致,则通讯成功,会向从机发送一组返回信号,我们就知道了从变频器中读取的信号,例如0004H和0005H 地址的数据是5000,0,那么返回信息除了地址与命令码不变,后面的数据就变成了字节个数、数据内容了,5000的16进制是1388H,因此数据内容是高位13H,低位88H。
三菱PLC连接MODBUS从站的简易方式

FX-MB 三菱PLC扩展MODBUS-RTU简易方式首先用于三菱PLC扩展的485BD或者232BD口与最多10台MODBUS-RTU设备之间交换数据,PLC无需编程直接将MODBUS设备连入三菱PLC,支持所有三菱系列PLC。
通讯口1:三菱专用协议通讯方式,支持连接到所有三菱PLC扩展通讯口;通讯口2:标准MODBUS-RTU协议,支持01、02、03、04、05、06、0F、10命令;PLC通讯速率:9.6Kbps;MODBUS-RTU波特率:1.2Kbps~115.2Kbps;连接MODBUS-RTU设备数量:MAX-10个;交换数据:(80个输入字节)/(80个输出字节);通讯回路相互隔离,隔离电压1KV且均带TVS防雷击、过流自恢复保险保护;24VDC输入电源极性保护。
●概述:1.通讯口1速率(固定):9.6Kbps。
2.通讯口2通讯速率(设置固定):1.2Kbps、2.4Kbps、4.8Kbps、9.6Kbps、19.2Kbps、38.4Kbps、57.6Kbps、115.2Kbps。
3.模块外形尺寸及端子结构图:4.连接数量:三菱PLC端网络:最多为32个;MODBUS-RTU网络:最多10个设备(地址范围0~255可选,每增加1个FX-MB模块可增加连接最多10个设备)5.用户参数设置:使用迅诺科技组态软件配置;6.模块LED状态指示:面板上排指示灯MBUF(第一个灯绿色):正确发送和接受组态配置的MODBUS-RTU设备后常亮。
MT (第三个灯黄色):MODBUS-RTU数据发送灯。
MR (第四个灯黄色):MODBUS-RTU数据接收灯。
面板下排指示灯POWER(第一个灯红色):电源指示灯;RUN (第四个灯绿色):工作后常亮。
●本模块参数设置使用迅诺组态软件设置进行用户参数设置。
状态设置:本模块采用通过拨码开关SW0选择运行状态或者停止配置状态, ON表示“0”,OFF表示“1”,见图1所示。
MODBUSRTU通信应用实例

MODBUS RTU通信应用实例(三菱PLC做主站、西门子PLC做从站)1、MODBUS RTU 01功能码应用实例(1)MODBUS RTU 01功能码简介:本功能可使主站获得被编址从站的开关量输出的通断状态。
起始地址是指从哪一路开关量开始(编号从0开始),数据线圈数是指读取几路。
应答帧中的数据是按上述要求读取的开关量数据(每路一位,每8位组成一个字节,最后一个字节的不足部分补0)。
(2)MODBUS RTU 01功能码应用实例简介:三菱PLC主站读取西门子PLC从站Q0.0-Q1.7的状态,三菱PLC主站将读取的西门子PLC从站输出的状态映射在三菱PLC主站的Y0-Y17,而西门子PLC 从站Q0.0-Q1.7的状态由西门子PLC从站I0.0-I1.7的状态决定。
2、MODBUS RTU 02功能码应用实例(1)MODBUS RTU 02功能码简介:本功能可使主站获得被编址从站的开关量输入的通断状态。
起始地址是指从哪一路开关量开始(编号从0开始),数据线圈数是指读取几路。
应答帧中的数据是按上述要求读取的开关量数据(每路一位,每8位组成一个字节,最后一个字节的不足部分补0)。
(2)MODBUS RTU 02功能码应用实例简介:三菱PLC主站读取西门子PLC从站输入I0.0-I1.7的状态,三菱PLC主站将读取西门子从站PLC输入的状态映射在三菱PLC主站的Y0-Y17。
3、MODBUS RTU 03功能码应用实例(1)MODBUS RTU 03功能码简介:本功能可使主站获得被编址从站的模拟量输出的通断状态。
起始地址是指从哪一路模拟量开始(编号从0开始),寄存器数是指读取几路模拟量(每路模拟量2个字节,高位在前,低位在后)。
应答帧中的数据是按上述要求读取的模拟量数据。
(2)MODBUS RTU 03功能码应用实例简介:三菱PLC主站读取西门子PLC从站寄存器VW0、VW2(假设两路模拟量输出保存在寄存器VW0、VW2里)的状态,三菱PLC主站将读取西门子PLC 从站寄存器VW0、VW2的状态映射在三菱PLC主站的Y0-Y7、Y10-Y17,而西门子PLC从站VW0、VW2的状态由从站I0.0-I0.7、I1.0-I1.7的状态决定。
三菱PLC与变频器通讯案例

Modbus是Modicon公司为其PLC与主机之间的通讯而发明的串行通讯协议。
其物理层采用RS232、485等异步串行标准。
由于其开放性而被大量的PLC及RTU厂家采用。
Modbus通讯方式采用主从方式的查询-相应机制,只有主站发出查询时,从站才能给出响应,从站不能主动发送数据。
主站可以向某一个从站发出查询,也可以向所有从站广播信息。
从站只响应单独发给它的查询,而不响应广播消息。
MODBU通S讯协议有两种传送方式:RTU方式和ASCII方式。
三菱700系列变频器能够从RS-485端子使用ModbusRTU通讯协议,进行通讯运行和参数设定。
对象:1.三菱PLC:FX2N+FX2N-485-BD2.三菱变频器:F700系列,A700系列。
两者之间通过网线连接,具体参照下图。
FX2N-485-BD与n台变频器的连接图1.三菱变频器的设置PLC与变频器之间进行通讯时,通讯规格必须在变频器中进行设定,每次参数初始化设定后,需复位变频器或通断变频器电源。
参数号名称设定值说明Pr331通讯站号1设定变频器站号为1Pr332通讯速度96设定通讯速度为9600bpsPr334奇偶校验停止位长2偶校验,停止位长1位Pr539通讯校验时间9999不进行通讯校验Pr549协议选择1ModbusRTU协议Pr551PU模式操作权选择2PU运行模式操作权作为PU接口进行ModbusRTU协议通讯时,Pr551必须设置为2,Pr340设置为除0以外的值,Pr79设置为0或2或6。
通过RS-485端子进行ModbusRTU协议通讯时,必须在NET网络模式下运行。
2.三菱PLC的设置对通讯格式D8120进行设置D8120设置值为0C87,即数据长度为8位,偶校验停止位1位,波特率9600pbs,无标题符和终结符。
修改D8120设置后,确保通断PLC电源一次。
3.通讯程序采用ModbusRTU协议与变频器通讯的部分PLC程序如下:4.程序说明:1.当X1接通一次后,变频器进入正转状态。
三菱FX3UPLC通用串口通信在MODBUS环境中的应用概要

三菱FX3UPLC通用串口通信在MODBUS环境中的应用1、引言在工业控制中,可编程控制器(PLC)由于控制灵活、可靠性高、抗干扰能力强、体积小、使用方便等优点而得到了广泛的应用,已经成为现代工业控制的主要技术平台之一。
PLC作为工业控制网络中的一个节点,它通常处于现场设备和上位机之间。
这就要求PLC在上位机和现场设备之间具有良好的适应性。
实际应用中往往上位机与PLC之间的通信方式需要服从已有的协议(如MODBUS等),而PLC的专用通信模块由于需求数量的原因,并受制于供货1、引言在工业控制中,可编程控制器(PLC)由于控制灵活、可靠性高、抗干扰能力强、体积小、使用方便等优点而得到了广泛的应用,已经成为现代工业控制的主要技术平台之一。
PLC作为工业控制网络中的一个节点,它通常处于现场设备和上位机之间。
这就要求PLC在上位机和现场设备之间具有良好的适应性。
实际应用中往往上位机与PLC之间的通信方式需要服从已有的协议(如MODBUS 等),而PLC的专用通信模块由于需求数量的原因,并受制于供货周期等因素无法在规定时间内到位。
本文以某生产线中PLC通用RS232模块与上位机之间MODBUS通信的实现为基础,探讨通用RS232接口的MODBUS通信实现问题。
系统框图如图1。
图1 系统的总体框图2、方案概述在许多纺织、化工工业生产线控制系统中,开关量较少,主要是生产线上多个变频器的控制,考虑到系统造价和可靠性等因素,采用三菱FX3U系列PLC可满足要求。
上位机方面:通过MODBUS协议,上位机要监视多条生产线的运行状态并对现场设备的运转进行参数的给定或调整,PLC收到操作指令后要对现场设备进行相应操作并将现场情况根据上位机要求进行反馈。
本方案中的FX3U系列PLC具有专用MODBUS通信接口模块,但项目实施过程中由于需求数量少,供货中期过长,在权衡各因素后,决定采用通用通信接口编程的方法来实现MODBUS 通信。
FX5U和三菱变频器Modbus-RTU通讯控制

FX5U和三菱变频器Modbus-RTU通讯控制FX5U和三菱变频器基于RS485 Modbus-RTU通讯控制本次实验主要是测试FX5U PLC与三菱变频器,通过RS485接⼝进⾏moudbus通讯控制,运⾏频率和监控频率,电压电流等通过通讯控制;运转信号通过两种⽅式来控制:1、外部信号PLC接线输出控制,2、通讯给出信号控制⼀、配置PLC: FX5U-32MT/ES变频器:FR-E740-3.7K-CHT电机:三相异步电机线缆:RJ45⽹线;⼀头带RJ45接头,另⼀头散线⼆、接线1、PLC端:FX5U有内置458接⼝变频器:PU接⼝2、接线⽅式①1对配线:②2对配线这⾥采⽤的是2对配线,不同配线⽅式,设置终端电阻不同采⽤外部信号控制:PLC输出信号Y0来控制变频器运转启动变频器:接线对应:PLC 0V----COM0Y0---- STFPLC 24V----PC三、参数设置PLC端:参数---模块参数---485串⼝变频器:Pr.117,118,119,120对应PLC设置注意:119设定的停⽌位长Pr.121=9999 (9999 即使发⽣通讯错误变频器也不会跳闸)Pr.122=9999 (9999 不进⾏通讯校验(断线检测))Pr.338=0或1 (0:启动指令权通讯;1:启动指令权外部)Pr.340=1 (1 ⽹络运⾏模式)Pr.79=0 (外部/PU切换模式)Pr.549=1 (1 Modbus-RTU协议)四、程序设置这⾥FX5U采⽤ADPRW命令与从站进⾏通信该命令可通过主站所对应的功能代码,与从站进⾏通信(数据的读取/写⼊)。
1、写⼊运⾏频率从站地址:01H功能代码:06HMODBUS地址:0DH访问点数:0(固定)读取数据存储软元件起始:D0输出通信执⾏状态的起始位软元件编号:M0H1:对应变频器站号(这⾥设置为1号站)H6:功能代码(保持寄存器写⼊)H0D:modbus地址,这⾥为频率写⼊,对应下表为40014,还需减去40001,为13,16进制换算为0DK0:访问点数,为固定的0,D0:数据存储软元件起始地址,这⾥是写⼊频率的值(单位:0.01HZ),要想设为转速,变频器参数Pr.37 的设定,可切换频率和转速,转速单位为(1r/min)M10:输出通信执⾏状态的起始位软元件编号2、监控数据从站地址:01H功能代码:03HMODBUS地址:0C8H访问点数:3(运⾏频率,电流,电压)读取数据存储软元件起始:D100输出通信执⾏状态的起始位软元件编号:M303、这⾥根据使⽤情况,运转信号采⽤外部控制还是通讯控制①外部控制:导通Y0即可②通讯给启动:从站地址:01H功能代码:06HMODBUS地址:8H (40009-40001H)访问点数:0(固定)读取数据存储软元件起始:D10输出通信执⾏状态的起始位软元件编号:M20给信号⽅式:对应下表⽐如我们给正转信号,对应位1置位,0000 0000 0000 0010,对应D10给的值即为2写⼊频率后,D10赋值=2,执⾏该程序,即可启动读取相关状态同上五、其他系列变频器的⽐较1、接⼝D700和E700,E800系列:PU接⼝A700,F700和A800,F800系列:PU接⼝,和RS485端⼦D700和E700系列只有PU⼀个接⼝,当连接多台时,使⽤分配器,这⾥需要注意的是,多台连接时变频器间不要连接②,⑧其他⽤法相同。
三菱PLC与变频器通讯-ModbusRTU协议Word

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程序如下:三:程序说明:1.当X1接通一次后,变频器进入正转状态。
三菱PLC的MODBUSRTU的CRC计算程序编写,通讯必须掌握

三菱PLC的MODBUSRTU的CRC计算程序编写,通讯必须掌握上一章我们介绍了MODBUS协议中的RTU数据模式中的CRC校验码的计算原理,为了方便在PLC中完成通讯控制,今天我们说下PLC中CRC校验码程序的编写。
首先,原理在上一章讲到了,我们利用三菱PLC梯形图进行编写,先看下流程图:CRC计算流程图从上图中发现,有两个循环过程,即单个数据的CRC的计算,主要是对首个数据的CRC暂存器进行8次移位运算,另一个大循环是所有数据的运算(先运算完一个8位数据的CRC,下一个数据与这个CRC 进行运算),这样把所有数据都计算完成后即可得到CRC校验码。
按照流程图步骤进行编写:1、初始CRC值:FFFFH,为了方便移位,我们采用位组成的方式来表示CRC暂存器: K4M0,采用变址寄存器V对数据进行依次运算,大的循环次数要根据传输数据的个数来决定,小的循环(单个数据的CRC)移位8次就循环8次,将数据初始化。
基本框架如下:数据初始化程序整体框架2、小循环单个数据的CRC小循环单个数据的CRC计算首先将M100复位是为了后面的高位补零用,SFTR指令是位右移指令,表示对M0为起始位置的16数据右移1位置,高位用M100填补即高位补零,低位M0为移除的溢出数据即LSB。
如果LSB=1,则需要把移位后的数据与A001H进行异或计算,结果保存到CRC暂存器K4M0中,此时将覆盖原来的K4M0中的数据,在这里需要跳转指令CJ跳过LSB=0的情况。
如果LSB=0,只要把移位后的数据放入CRC暂存器中即可。
这样首个数据就运算完成,进行下一个数据的运算(大循环)。
3、CRC校验码全部数据运算完成后,我们要对暂存器进行高低8位调换,将CRC校验码的高位存放到D100,低位存放发到D102中。
至此CRC 校验码计算完成。
如果觉得麻烦,在FX3U中有现成的CRC计算指令CRC S D n,S代表要计算的数据的起始编号,D为CRC校验码保存的数据寄存器,n表示数据个数。
fx3umodbus通讯案例编程

fx3umodbus通讯案例编程FX3U Modbus通讯是指Mitsubishi FX3U系列可编程控制器通过Modbus协议与其他设备进行通信的一种方式。
Modbus是一种通信协议,常用于工业自动化领域,可以实现不同设备之间的数据交换和控制操作。
下面将列举10个FX3U Modbus通讯案例编程,示例代码如下:1. 读取Modbus从站设备的保持寄存器数据:```cpp#include <FX3U_ModbusRTU.h>void setup() {// 初始化Modbus串口通信ModbusRTU.begin(9600);}void loop() {uint16_t data;// 读取从站设备地址为1的保持寄存器地址0的数据ModbusRTU.readHoldingRegisters(1, 0, 1, &data);// 输出读取到的数据Serial.println(data);delay(1000);}```2. 写入数据到Modbus从站设备的保持寄存器:```cpp#include <FX3U_ModbusRTU.h>void setup() {// 初始化Modbus串口通信ModbusRTU.begin(9600);}void loop() {uint16_t data = 100;// 向从站设备地址为1的保持寄存器地址0写入数据100 ModbusRTU.writeSingleRegister(1, 0, data);delay(1000);}```3. 读取Modbus从站设备的输入寄存器数据:```cpp#include <FX3U_ModbusRTU.h>// 初始化Modbus串口通信ModbusRTU.begin(9600);}void loop() {uint16_t data;// 读取从站设备地址为1的输入寄存器地址0的数据 ModbusRTU.readInputRegisters(1, 0, 1, &data); // 输出读取到的数据Serial.println(data);delay(1000);}```4. 写入数据到Modbus从站设备的多个保持寄存器:```cpp#include <FX3U_ModbusRTU.h>void setup() {// 初始化Modbus串口通信ModbusRTU.begin(9600);}uint16_t data[] = {100, 200, 300};// 向从站设备地址为1的保持寄存器地址0开始连续写入3个数据ModbusRTU.writeMultipleRegisters(1, 0, 3, data);delay(1000);}```5. 读取Modbus从站设备的线圈状态:```cpp#include <FX3U_ModbusRTU.h>void setup() {// 初始化Modbus串口通信ModbusRTU.begin(9600);}void loop() {uint8_t data;// 读取从站设备地址为1的线圈地址0的状态ModbusRTU.readCoils(1, 0, 1, &data);// 输出读取到的状态Serial.println(data);delay(1000);}```6. 写入数据到Modbus从站设备的线圈:```cpp#include <FX3U_ModbusRTU.h>void setup() {// 初始化Modbus串口通信ModbusRTU.begin(9600);}void loop() {uint8_t data = 1;// 向从站设备地址为1的线圈地址0写入数据1 ModbusRTU.writeSingleCoil(1, 0, data);delay(1000);}```7. 读取Modbus从站设备的离散输入状态:```cpp#include <FX3U_ModbusRTU.h>void setup() {// 初始化Modbus串口通信ModbusRTU.begin(9600);}void loop() {uint8_t data;// 读取从站设备地址为1的离散输入地址0的状态 ModbusRTU.readDiscreteInputs(1, 0, 1, &data); // 输出读取到的状态Serial.println(data);delay(1000);}```8. 写入数据到Modbus从站设备的多个线圈:```cpp#include <FX3U_ModbusRTU.h>void setup() {// 初始化Modbus串口通信ModbusRTU.begin(9600);}void loop() {uint8_t data[] = {1, 0, 1};// 向从站设备地址为1的线圈地址0开始连续写入3个数据ModbusRTU.writeMultipleCoils(1, 0, 3, data);delay(1000);}```9. 读取Modbus从站设备的保持寄存器数据(使用ModbusTCP 协议):```cpp#include <FX3U_ModbusTCP.h>void setup() {// 初始化ModbusTCP网络通信ModbusTCP.begin("192.168.1.100", 502);}void loop() {uint16_t data;// 读取从站设备地址为1的保持寄存器地址0的数据ModbusTCP.readHoldingRegisters(1, 0, 1, &data);// 输出读取到的数据Serial.println(data);delay(1000);}```10. 写入数据到Modbus从站设备的保持寄存器(使用ModbusTCP协议):```cpp#include <FX3U_ModbusTCP.h>void setup() {// 初始化ModbusTCP网络通信ModbusTCP.begin("192.168.1.100", 502);}void loop() {uint16_t data = 100;// 向从站设备地址为1的保持寄存器地址0写入数据100ModbusTCP.writeSingleRegister(1, 0, data);delay(1000);}```以上是10个FX3U Modbus通讯案例编程,通过这些示例代码,可以实现与其他Modbus设备的数据交换和控制操作。
三菱PLC与变频器通讯-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程序如下::程序说明:三:程序说明1.当X1接通一次后,变频器进入正转状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三菱FX2NPLC与三菱变频器ModbusRTU协议通讯应用
Modbus是Modicon公司为其PLC与主机之间通讯而发明串行通讯协议。
其物理层采用RS232、485等异步串行标准。
其开放性而被大量PLC及RTU厂家采用。
Modbus通讯方式采用主从方式查询-相应机制,主站发出查询时,从站才能给出响应,从站不能主动发送数据。
主站可以向某一个从站发出查询,也可以向所有从站广播信息。
从站只响应单独发给它查询,而不响应广播消息。
MODBUS通讯协议有两种传送方式:RTU方式和ASCII方式。
三菱700系列变频器能够从RS-485端子使用ModbusRTU通
讯协议,进行通讯运行和参数设定。
对象:
1. 三菱PLC:FX2N+FX2N-485-BD
2. 三菱变频器:F700系列,A700系列。
两者之间网线连接,具体参照下图。
FX2N-485-BD与n台变频器连接图
一.三菱变频器设置
PLC与变频器之间进行通讯时,通讯规格必须变频器中进行设定,每次参数初始化设定后,需复
位变频器或通断变频器电源。
参数号名称设定值说明
Pr331 通讯站号1 设定变频器站号为1
Pr332 通讯速度96 设定通讯速度为9600bps
Pr334 奇偶校验停止位长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程序如下:
四:程序说明:
1.当X1接通一次后,变频器进入正转状态。
2.当X2接通一次后,写入变频器运行频率60HZ。
3.当X3接通一次后,变频器进入停止状态。
当指令中,变频器指令址为0时,为广播指令,所有从站变频器只接受PLC发出指令,不向主机发送响应信息。