三菱PLC通讯协议参考
三菱FX系列PLC编程口通讯协议实例
三菱FX系列PLC编程口通讯协议实例三菱FX系列PLC编程口通讯协议实例一、协议介绍通过编程口通讯协议,计算机可以通过串口或USB接口向PLC读写数据,以及置位或复位软元件,但PLC不能主动向计算机发送信息。
具体可操作的软元件有:X/Y/M/S/T/C/D。
由于只需要PLC主机和一根编程线缆即可简单通讯,无需另外购置如232-BD等通讯板,因此编程口通讯实际上非常实用。
可惜的是,三菱的官方手册《FX通讯用户手册》却根本没有介绍这个通讯协议,网络上能找到的资料也很少。
仅找到的一篇如下,其中也有很多语焉不详的地方,埋了不少坑。
本文通过实际操作,简单总结一下该协议的使用方法和注意点。
链接: 三菱PLC编程口协议.二、通讯设置必须设置为:波特率9600,偶校验,7位数据位。
否则无法通讯。
三、读写操作时数据的基本格式:注意:通讯协议中的所有字符是用它们的十六进制ASCII码表示。
如果有十进制数据,要先转化为十六进制数,再把十六进制数的每个字符用它相应的十六进制ASCII码表示。
以下有详解。
参数详解:STX: ASCII码,含义为Start of Text,十六进制代码为02H;CMD:读操作时为0,即十六进制代码30H;写操作时为1,即十六进制代码31H;ADDR:要操作的软元件的起始地址,查表可得,如下。
注意是起始地址,例如要查询D0、D11寄存器的数据,写入D0的地址即可。
ADDR为4个十六进制ASCII码。
如D0查表地址为1000,每个字符均用十六进制ASCII码表示,即为:31 30 30 30。
NUM:字节数,用两个十六进制ASCII码表示,取值范围为01H-40H。
这个数据是比较tricky的地方,一定要注意。
理论上它是指“要操作的所有软元件对应的字节数”,比如:要读D0中的数据,因为D软元件是用2个字节表示的,则NUM 为02,十六进制ASCII码为 30 32;要读D0、D1两个D软元件中的数据,则NUM为04,十六进制ASCII码为 30 34;如果是读Y0-Y7这8个位软元件的状态,因为8个位为一个字节,所以NUM为01,十六进制ASCII码为 30 31;如果是写数据,比如写十六制数122F到D0中,则NUM一样为02,写数据到D0、D1中,则NUM为04。
三菱FX系列PLC编程口通信协议举例
三菱FX系列PLC编程口通信协议举例简介三菱FX系列是一种常见的工业自动化控制设备,用于自动化控制领域。
该系列PLC(可编程逻辑控制器)具有可编程控制、数据传输、数据处理等功能,被广泛应用于各种控制领域。
在三菱FX系列PLC编程中,常用的通信协议有三种,分别是RS232C、RS485和USB。
本文将着重介绍编程口通信协议,以举例说明该系列PLC的编程方法。
编程口通信协议编程口通信协议是FX系列PLC常用的通信协议之一。
在进行编程时,需要将PLC连接到计算机,使用编程软件进行编程操作。
这时,就需要使用编程口通信协议来进行数据传输。
在进行编程口通信时,需要准备一个编程口线缆,将线缆连接到PLC的编程接口上。
然后将线缆的另一端连接到计算机的串口或USB口上。
接下来,需要在计算机上安装编程软件,例如三菱的GX Developer软件,然后进行数据传输和编程操作。
编程口通信的实现步骤下面,我们将以三菱FX2N系列PLC为例,介绍编程口通信的具体实现步骤。
1.准备编程口线缆首先,需要准备一个编程口线缆,将该线缆连接到FX2N系列PLC的编程口接口上。
然后将线缆的另一端连接到计算机的串口或USB口上。
2.安装编程软件在计算机上安装三菱的GX Developer编程软件,并打开软件。
3.打开PLC通信设置界面在GX Developer软件的菜单中,选择“PLC通信设置”选项,打开PLC通信设置界面。
4.设置PLC型号和通信协议在PLC通信设置界面中,需要设置PLC的型号和通信协议。
对于FX2N系列PLC,通信协议通常选择“串口通信”或“USB通信”。
5.设置通信参数在设定PLC型号和通信协议之后,需要设置通信参数,例如波特率、数据位、校验位等。
这些参数需要与PLC的通信设置相一致。
6.连接PLC在设置完通信参数之后,需要连接PLC。
在GX Developer软件的PLC通信设置界面中,单击“连接”按钮,软件将自动连接PLC。
谈三菱PLC的网络协议及通讯方法
谈三菱PLC的网络协议及通讯方法三菱PLC(可编程逻辑控制器)是一种常见的自动化控制设备,广泛应用于工业领域。
它通过网络协议和通讯方法实现与其他设备之间的通信,以实现系统的自动化控制和数据交换。
本文将就三菱PLC的网络协议及通讯方法展开讨论。
一、三菱PLC的网络协议在网络通信中,协议是设备间进行数据交换的规范。
三菱PLC支持多种网络协议,主要包括以太网(Ethernet)、DeviceNet、Modbus、Profibus等。
1. 以太网(Ethernet):以太网是一种常见的局域网通信协议,三菱PLC通过以太网协议可与其他设备进行通信。
以太网广泛应用于工业自动化领域,具有传输速度快、可靠性高的特点。
2. DeviceNet:DeviceNet是一种用于工业自动化的通信协议,主要用于连接工厂生产线上的各种设备。
三菱PLC通过DeviceNet协议可以与其他DeviceNet设备进行通信,实现设备之间的数据交换和控制。
3. Modbus:Modbus是一种开放的通信协议,用于连接不同供应商的设备。
三菱PLC通过Modbus协议可以与其他支持Modbus协议的设备进行通信,实现设备之间的数据传输和控制。
4. Profibus:Profibus是一种用于工业自动化的通信协议,用于连接生产线上的各种设备。
三菱PLC通过Profibus协议可以与其他Profibus设备进行通信,实现设备之间的数据交换和控制。
二、三菱PLC的通讯方法三菱PLC实现与其他设备之间的通讯,除了网络协议外,还需要采用适当的通讯方法,主要包括点对点通讯和多点通讯。
1. 点对点通讯:点对点通讯是指单个PLC与一个或多个设备之间建立独立的通讯链路进行数据交换。
这种通讯方式适用于较简单的控制系统,通讯速度较快且可靠。
2. 多点通讯:多点通讯是指多个PLC之间通过网络建立通讯链路,实现多个PLC之间的数据交换和协同控制。
这种通讯方式适用于较复杂的自动化系统,能够实现多个设备之间的实时数据共享和联动控制。
三菱FX系列PLC编程口通信协议总览
三菱FX系列PLC编程口通信协议总览三菱FX系列PLC编程口通信协议是用于与三菱FX系列可编程逻辑控制器(PLC)之间进行数据交互的协议。
它定义了数据报文格式、通信命令、数据传输等规范,使得用户可以通过编程接口与PLC进行通信,并实现对PLC的控制、监控和数据采集等功能。
FX系列PLC编程口通信协议支持多种通信接口,包括串行接口(如RS232和RS485)、以太网接口等。
不同的接口对应不同的通信命令和数据传输格式,但大部分规范是相似的。
在FX系列PLC编程口通信协议中,主要定义了以下几个方面的内容:1.帧格式:通信数据以帧的形式进行传输,每个帧由起始字符、数据长度、数据内容、校验和和结束字符组成。
帧格式使得数据的传输更加可靠,并且能够有效地区分不同的数据报文。
2.通信命令:通信命令定义了与PLC进行各种操作的指令。
包括读取PLC的输入和输出状态、读写PLC的数据寄存器、设置PLC的操作模式和参数等。
不同的通信命令对应不同的操作,用户可以根据需要选择合适的命令进行通信。
3.数据传输:通信协议支持从PLC读取数据和向PLC写入数据。
用户可以通过命令指定要读取的数据寄存器或写入的数据值,并通过通信接口传输。
数据传输操作可以实现对PLC的实时控制和监控,以及和其他设备的数据交换。
4.数据编解码:通信协议中定义了对数据内容的编解码规则,使得数据在传输过程中可以正确解析和还原。
编解码规则包括数据格式、数据类型、字节顺序、数据长度等方面的规定,确保在不同的设备之间能够正确地解析和使用数据。
FX系列PLC编程口通信协议是一种非常常用和成熟的通信协议,广泛应用于工业自动化领域。
它具有简单、可靠、高效、灵活等特点,适用于各种PLC控制系统的通信需求。
用户可以根据协议规范进行开发、集成和应用,实现对PLC的控制和监控,并与其他设备进行数据交换,提高自动化生产系统的可靠性和效率。
三菱plc通讯协议
三菱plc通讯协议
三菱FX系列plc作为三菱基本的PLC,它们之间的通讯有几种常用的方式,分别如下:CC-LINK,N:N网络连接,并联连接。
1.CC-LINK连接
CC-LINK连接图如下:
对应的PLC可为FX1N、FX1NC、FX2N、FX2NC、FX3U、FX3UC,因为在使用CC-LINK通讯时要扩展CC-LINK模块,而FX1S没有扩展模块功能,故FX1S不能用于此通讯方式。
2)FX1N/FX2N/FX3U即可以作为主站,也可以作为远程设备站使用。
此种通讯因为要加CC-LINK通讯模块,所以成本较高。
3)在CC-LINK网络中还可以加入变频器伺服等符合CC-LINK规格的设备。
2.N:N网络连接
N:N网络连接连接图如下:
3.并联连接
并联连接图如下:
1)通讯对象是FX1S、FX1N、FX1NC、FX2N、FX2NC、FX3U、FX3UC 同一系列的PLC之间。
2)该通讯在PLC间进行1:1通讯,进行数据交换,只能满足2台
PLC的通讯。
三菱plc,通讯协议
三菱plc,通讯协议篇一:三菱PLC通讯协议三菱PLC编程口通讯协议一、三菱PLC编程口通讯协议三菱PLC编程口的通讯协议比较简单,只有四个命令,即: 命令命令码目标设备DEVICE READ CMD0X,Y,M,S,T,C,DDEVICE WRITE CMD 1X,Y,M,S,T,C,DFORCE ON CMD7 X,Y,M,S,T,CFORCE OFF CMD 8X,Y,M,S,T,C五个标示:ENQ05H 请求ACK06H PLC正确响应NAK15H PLC错误响应STX02H 报文开始ETX03H 报文结束使用累加方式的和校验,帧格式如下:STX CMD DATA ...... DATA ETX SUM(upper)1SUM(lower)和校验:SUM= CMD+??+ETX。
如SUM=73H,SUM=“73”。
1、DEVICE READ(读出软设备状态值)计算机向PLC发送:始命令首地址位数终和校验STXCMD GROUP ADDRESS BYTESETX SUMPLC 返回STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 2、DEVICE WRITE(向PLC 软设备写入值)计算机向PLC发送:始命令首地址位数数据终和校验PLC 返回ACK (06H) 接受正确NAK (15H) 接受错误3、位设备强制置位/复位FORCE ON 置位始命令地址终和校验STX CMD ADDRESSETXSUM02h 37h address03hsumFORCE OFF 复位始命令地址终和校验2STX CMD ADDRESSETXSUM02h 38h address03hsumPLC 返回ACK(06H) 接受正确NAK(15H) 接受错误以上可以看出,协议非常简单,但是由于没有寄存器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢,下面就是三菱Fx系列PLC地址对应表: Public Const PLC_D_Base_AddRess = 4096Public Const PLC_D_Special_Base_AddRess = 3584 Public Const PLC_Y_Group_Base_AddRess = 160 Public Const PLC_PY_Group_Base_AddRess = 672 Public Const PLC_T_Group_Base_AddRess = 192 Public Const PLC_OT_Group_Base_AddRess = 704 Public Const PLC_RT_Group_Base_AddRess = 1216 Public Const PLC_M_SINGLE_Base_AddRess = 2048(命令为7或8时)Public Const PLC_M_Group_Base_AddRess = 256 Public Const PLC_PM_Group_Base_AddRess = 768 Public Const PLC_S_Group_Base_AddRess = 0Public Const PLC_X_Group_Base_AddRess = 128 Public Const PLC_C_Group_Base_AddRess = 4483Public Const PLC_OC_Group_Base_AddRess = 960 Public Const PLC_RC_Group_Base_AddRess = 1472 Public Const PLC_TV_Group_Base_AddRess = 2048 Public Const PLC_CV16_Group_Base_AddRess = 2560 Public Const PLC_CV32_Group_Base_AddRess = 3072 当我们用DEVICE READ命令时,D100地址=100*2+4096;M100地址=100+256;不同的是D类型寄存器存放的是字,M寄存器存放的是位,同样是读两个字节,D100返回的就是PLC中D100地址的值,M类型寄存器返回的是M100到M116的值。
三菱FX系列PLC编程口通信协议举例概要
1、DEVICE READ(读出软设备状态值) 计算机向PLC发送:
l_«
gL
询地址
位数
利校验
STX
CMD
GROUP ADDRESS
BYTES
ETX
SUM
02h
30h
3!h30h.4Ah36b
30tu34123开始读取4个字节数据
STX1ST DATA 2ND DATA1“一LAST DATAETXSUM地址算法:address=address*2+1000h
no*
X-Y.MSTQD
DEVICE WRITE CMD
1*1 -tt
X.Y.M5.T.CD
FORCE ON CMD
M 7K
X.Y.M3XC
FORCE OFF CMD
*8*
X.Y.M.S.TC
ENQ
05H
请康|
ACK
O6H
PLC正确响应
NAK
15H
PLC谡响臟
STX
02H
报文幵始
1
ETX
D3H
报文騎柬I
再转换成ASCII
31h,30h,46h,36h
PLC返回
02h
33h
35h
38h
34h
03h
44h36h
注:最多可以读取64个字节的数据 例子:从指定的存储器单元读到3584这个数据
2、DEVICE WRITE(向PLC软设备写入值)
命令
昔地址
*
和校
脸
STX
CMD
GROUP
ADDRESS
BYTES
向d123开始的两个存储器中写入1234abcdj2h31h屮hmh34h39hplc返回ack06h接受正确nak15h接受错误3位设备强制置位复位forcestxcmdaddressetx02haiklress03hsuniforceoff复位地址和校9ftstxcmdaddressetxsum02hoddness03hsumplc返回ack06h接受正确nak15h接受错误设备强制中的地址公式
三菱plc,通讯协议
三菱plc,通讯协议篇一:三菱PLC通讯协议三菱PLC编程口通讯协议一、三菱PLC编程口通讯协议三菱PLC编程口的通讯协议比较简单,只有四个命令,即: 命令命令码目标设备DEVICE READ CMD0X,Y,M,S,T,C,DDEVICE WRITE CMD 1X,Y,M,S,T,C,DFORCE ON CMD7 X,Y,M,S,T,CFORCE OFF CMD 8X,Y,M,S,T,C五个标示:ENQ05H 请求ACK06H PLC正确响应NAK15H PLC错误响应STX02H 报文开始ETX03H 报文结束使用累加方式的和校验,帧格式如下:STX CMD DATA ...... DATA ETX SUM(upper)1SUM(lower)和校验:SUM= CMD+??+ETX。
如SUM=73H,SUM=“73”。
1、DEVICE READ(读出软设备状态值)计算机向PLC发送:始命令首地址位数终和校验STXCMD GROUP ADDRESS BYTESETX SUMPLC 返回STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 2、DEVICE WRITE(向PLC 软设备写入值)计算机向PLC发送:始命令首地址位数数据终和校验PLC 返回ACK (06H) 接受正确NAK (15H) 接受错误3、位设备强制置位/复位FORCE ON 置位始命令地址终和校验STX CMD ADDRESSETXSUM02h 37h address03hsumFORCE OFF 复位始命令地址终和校验2STX CMD ADDRESSETXSUM02h 38h address03hsumPLC 返回ACK(06H) 接受正确NAK(15H) 接受错误以上可以看出,协议非常简单,但是由于没有寄存器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢,下面就是三菱Fx系列PLC地址对应表: Public Const PLC_D_Base_AddRess = 4096Public Const PLC_D_Special_Base_AddRess = 3584 Public Const PLC_Y_Group_Base_AddRess = 160 Public Const PLC_PY_Group_Base_AddRess = 672 Public Const PLC_T_Group_Base_AddRess = 192 Public Const PLC_OT_Group_Base_AddRess = 704 Public Const PLC_RT_Group_Base_AddRess = 1216 Public Const PLC_M_SINGLE_Base_AddRess = 2048(命令为7或8时)Public Const PLC_M_Group_Base_AddRess = 256 Public Const PLC_PM_Group_Base_AddRess = 768 Public Const PLC_S_Group_Base_AddRess = 0Public Const PLC_X_Group_Base_AddRess = 128 Public Const PLC_C_Group_Base_AddRess = 4483Public Const PLC_OC_Group_Base_AddRess = 960 Public Const PLC_RC_Group_Base_AddRess = 1472 Public Const PLC_TV_Group_Base_AddRess = 2048 Public Const PLC_CV16_Group_Base_AddRess = 2560 Public Const PLC_CV32_Group_Base_AddRess = 3072 当我们用DEVICE READ命令时,D100地址=100*2+4096;M100地址=100+256;不同的是D类型寄存器存放的是字,M寄存器存放的是位,同样是读两个字节,D100返回的就是PLC中D100地址的值,M类型寄存器返回的是M100到M116的值。
自编三菱PLC通讯协议概要
FX系列可编程控制器(PLC)通讯常用方法目录1、基本通讯方法§1.1常用的通讯方法§1.2计算机与FX-PLC通讯结构2、通信格式§2.1通讯基本格式§2.2 PLC相关通讯寄存器标志§2.3通讯格式详解§2.4举例3、通讯过程§3.1基本知识§3.2专用通讯协议框图§3.3专用通讯控制命令4、附录ASCII码表1、基本通讯方法§1.1常用通讯方法FX系列PLC支持5种通讯方法1) 计算机链接:用计算机做主机,通过RS485接口与16台PLC组网,采用专用通讯协议,在计算机与PLC之间交换数据,本资料重点解决计算机链接问题,包括硬件连接、通讯参数设置、通讯格式等。
2) N网络:可以将8台PLC构成网络,无需协议,自成网络。
3) 并联:可以将2台PLC并联成网络,也无需协议,自成网络。
4) PLC用RS指令发送、接收数据,与计算机等设备进行无协议通讯交换数据。
5) 通过PLC编程接口,与计算机等设备进行数据交换,本厂采用该方式在MCGS工业组态软件基础上,开发出各类锅炉专用的计算机监控系统。
§1.2计算机链接通讯结构RS232C FX-485RC-IF FX1N-485-BD……… 1 2 16上述结构是一种采用计算机串行口与PLC链接的最基本方法,最远通讯距离50M,其通讯相关参数见下表:通讯接口:FXON-485ADP /FX-485ADP/FX1N-485BD/FX1N-CNV-BD/FX1N-232BD可选。
通讯距离:FX1N-485BD 50M,选其它某些件,最远500M。
从站连接数:最大16台通讯方法:半双工数据长度:7位/8位可选校验:不用/奇/偶可选停止位: 1位/2位可选波特率:300/600/1200/2400/4800/9600/19200 可选超始符:不用/有效可选协议:格式1/格式4 可选求和检查:不用/有效可选可选PLC类型:FX2N,FX2NC,FX1N,FX1S,FXON,FX,FX2C计算机与PLC通讯所需的时间,可通过计算得到。
三菱PLC通信格式字
三菱PLC通信格式字RS485标准接口通信格式,通信格式随控制设备的通信协议不同会有差异,但B0-B7位适用于所有使用RS485总线的控制设备。
而b8~b15这里没有定义,留给厂家定义。
菱FX通信规定了“ b11 b10 b9”为控制线选取方式,当使用通信板卡FX2N-485-BD时,这时b11 b10=11三菱PLC FX2N是写入D8120,台达PLC是写入D1120,西门子S7-200是写入SMB30或SMB130, 而且仅B0~B7这8位二进制在许多控制设备中对通信格式字有一种约定俗成的写法,其约定如下:7J N19600数据长度校验位停止位波特率b15 b14 b13 b12b11 b10 b9 b8b7 b6 b5 b4b3 b2 b1 b00 0 0 0 1 1 0 010 0 00 0 0 00C80参数为7,N,1,9600 =H0C80(所以通信格式字为H0C80)异步传送的数据格式及常用校验码在PLC与变频器等智能设备中,其数据信息帧结构都是HDLC信息帧设计的,一个完整的帧结构如图:一帧数据信息的发送,是从帧头开始到帧尾结束,依次一个字符一个字符地发送,对每个字符则是从低位bO到高位b7 一位一位地连续依次发送,而一个字符一个字符地发送,字符中间是可以有间隔的,了解这一点对将来写通信程序会有所帮助的。
通常把异步传送的字符数据格式和波特率一起称为异步传送通信格式这里把由多个字符组成的数据信息帧结构称为异步传送数据格式校验码:1 •求和校验码(取其低8位或全部16位)可用CDD指令2 • LRC校验码(这是MODBUS通信协议ASCLL方式的校验方法)将参与校验的数据(0XH)求和,取低8位的补码为校验码。
补码=求反+13 • CRC校验码(这是MODBUS通信协议RTU方式的校验方法)4•异或校验码(将参与校验的数据依次进行逐位异或运算最后结果为校验码)MODBUS通信协议ASCLL通信格式:1个起始位;7个数据位;1个奇偶校验位,无校验则无;1个停止位(有校验),2个停止位(无校验)。
三菱plc专用协议通信详解
三菱plc专用协议通信详解三菱PLC专用协议通信详解一、双方基本信息甲方:(以下简称“甲方”)地址:联系人:电话:电子邮箱:乙方:(以下简称“乙方”)地址:联系人:电话:电子邮箱:二、各方身份、权利、义务、履行方式、期限、违约责任1、甲方承诺在主体设备中正确使用乙方提供的PLC(可编程逻辑控制器)以实现控制运作,同时提交PLC编程、测试应用软件。
2、乙方承诺遵循甲方要求,提供符合甲方设备控制标准、适用于甲方相关工程项目的PLC供甲方使用。
3、甲方需要正确使用乙方提供的PLC,保证PLC使用期限内无故障,不影响相关工程项目的正常运作。
4、乙方应在PLC销售、安装和维护过程中履行其职责,保证PLC质量稳定可靠、工作环境安全健康。
5、乙方应在PLC制造和销售过程中,遵守中国的相关法律法规。
6、甲方应按照行业标准和乙方提供的操作说明,使用PLC。
如需要对PLC进行维护、更换零部件等,需事先与乙方协商并获得许可。
7、乙方应将技术文件、技术标准、技术变更通知等资料及时地传递给甲方。
8、双方应保护对方的商业秘密和技术资料,不得向第三方泄露。
9、若因一方责任导致协议无法履行,责任方应承担相应的违约责任。
10、本协议自签署之日起生效。
11、协议期为()年。
三、需遵守中国的相关法律法规双方应遵守相关法律法规,不得违反国家法律法规及相关行业标准。
四、明确各方的权力和义务1、甲方的权力:(1)接受乙方提供的PLC;(2)使用乙方提供的PLC,并得到乙方的技术支持;(3)要求乙方对PLC进行维护和修理。
2、乙方的权力:(1)向甲方提供符合甲方工程项目标准的PLC设备;(2)提供PLC软件编程、测试服务;(3)向甲方提供技术支持。
3、甲方的义务:(1)支付乙方提供的PLC设备及相关服务的费用;(2)正确使用乙方提供的PLC设备及相关软件;(3)如需对PLC进行维护、更换零部件等,应事先与乙方协商并获得许可。
4、乙方的义务:(1)向甲方提供符合甲方工程项目标准的PLC设备;(2)提供PLC软件编程、测试服务;(3)向甲方提供技术支持。
三菱FX系列通信协议概要
FX系列PLC专用协议通信指令一览以下将详细列出PLC专用协议通信的指令:指令注释BR 以1点为单位,读出位元件的状态WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值BW 以1点为单位,写入位元件的状态WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件BT 以1点为单位,SET/RESET 位元件WT 以16点为单位,SET/RESET 位元件,或写入值到字元件RR 控制PLC运行RUNRS 控制PLC停止STOPPC 读出PLC设备类型TT 连接测试注:位元件包括X,Y,M,S以及T,C的线圈等;字元件包括D,T,C,KnX,KnY,KnM等。
三菱FX系列PLC编程口通信协议总览该协议实际上适用于PLC编程端口以及FX-232AW 模块的通信。
通讯格式:命令命令码目标设备DEVICE READ CMD "0" X,Y,M,S,T,C,DDEVICE WRITE CMD "1" X,Y,M,S,T,C,DFORCE ON CMD " 7" X,Y,M,S,T,CFORCE OFF CMD "8" X,Y,M,S,T,C传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式(和校验)字符: ASCII16进制代码:ENQ 05H 请求ACK 06H PLC正确响应NAK 15H PLC错误响应STX 02H 报文开始ETX 03H 报文结束帧格式:STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子:STX ,CMD ,ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H SUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位1、DEVICE READ(读出软设备状态值)计算机向PLC发送:始命令首地址位数终和校验STX CMD GROUP ADDRESS BYTES ETX SUM例子:从D123开始读取4个字节数据02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h地址算法:address=address*2+1000h再转换成ASCII31h,30h,46h,36hPLC返回STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM注:最多可以读取64个字节的数据例子:从指定的存储器单元读到3584这个数据02h 33h 35h 38h 34h 03h 44h,36h2、DEVICE WRITE(向PLC软设备写入值)始命令首地址位数数据终和校验STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM 例子:向D123开始的两个存储器中写入1234,ABCD02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h PLC返回ACK (06H) 接受正确NAK (15H) 接受错误3、位设备强制置位/复位FORCE ON置位始命令地址终和校验STX CMD ADDRESS ETX SUM02h 37h address 03h sumFORCE OFF复位始命令地址终和校验STX CMD ADDRESS ETX SUM02h 38h address 03h sumPLC返回ACK(06H) 接受正确NAK(15H) 接受错误设备强制中的地址公式:Address=Address/8+100h说明:1.帧中的BYTES表示需要读取或者写入的字节数。
三菱plc,mc协议
竭诚为您提供优质文档/双击可除三菱plc,mc协议篇一:自编三菱plc通讯协议Fx系列可编程控制器(plc)通讯常用方法目录1、基本通讯方法1.1常用的通讯方法1.2计算机与Fx-plc通讯结构2、通信格式2.1通讯基本格式2.2plc相关通讯寄存器标志2.3通讯格式详解2.4举例3、通讯过程3.1基本知识3.2专用通讯协议框图3.3专用通讯控制命令4、附录ascii码表1、基本通讯方法1.1常用通讯方法Fx系列plc支持5种通讯方法1)计算机链接:用计算机做主机,通过Rs485接口与16台plc组网,采用专用通讯协议,在计算机与plc之间交换数据,本资料重点解决计算机链接问题,包括硬件连接、通讯参数设置、通讯格式等。
2)n网络:可以将8台plc构成网络,无需协议,自成网络。
3)并联:可以将2台plc并联成网络,也无需协议,自成网络。
4)plc用Rs指令发送、接收数据,与计算机等设备进行无协议通讯交换数据。
5)通过plc编程接口,与计算机等设备进行数据交换,本厂采用该方式在mcgs工业组态软件基础上,开发出各类锅炉专用的计算机监控系统。
1.2计算机链接通讯结构Rs232cFx-485Rc-iFFx1n-485-bd………1216上述结构是一种采用计算机串行口与plc链接的最基本方法,最远通讯距离50m,其通讯相关参数见下表:通讯接口:Fxon-485adp/Fx-485adp/Fx1n-485bd/Fx1n-cnV-bd/Fx1n-2 32bd可选。
通讯距离:Fx1n-485bd50m,选其它某些件,最远500m。
从站连接数:最大16台通讯方法:半双工数据长度:7位/8位可选校验:不用/奇/偶可选停止位:1位/2位可选波特率:300/600/1200/2400/4800/9600/19200可选超始符:不用/有效可选协议:格式1/格式4可选求和检查:不用/有效可选可选plc类型:Fx2n,Fx2nc,Fx1n,Fx1s,Fxon,Fx,Fx(三菱plc,mc协议)2c计算机与plc通讯所需的时间,可通过计算得到。
三菱Q系列PLCMC协议通讯
三菱Q系列PLCMC协议通讯总结⼀下上位机通过MC协议与Q系列PLC通讯的配置。
现场碰到的硬件有两种⼀种是⾃带⽹⼝的CPU如Q06UDEH,另⼀种是使⽤⽹络模块QJ71E71-100。
⼀. PLC端设定1.1 ⾃带⽹⼝的CPUGX Works 软件打开【参数】-->>【PLC参数】-->>【内置以太⽹端⼝设置】配置IP,协议格式等参数。
然后进【打开设置】,如下是按TCP协议开放了两个供上位机MC协议的端⼝。
这样PLC端的配置就结束了。
1.2 使⽤⽹络模块QJ71E71-100通讯(界⾯与上述的内置⽹⼝PLC有所不同)GX Works 软件打开【参数】-->>【⽹络参数】-->>【以太⽹***】配置IP,协议格式等参数。
下图中的初始时间设置,允许RUN中写⼊⼀定要勾对!!!然后进【打开设置】,如下是按TCP协议开放了⼀个供上位机MC协议的端⼝3210。
⼆通讯测试上位机可以通过⽹络调试助⼿测试通讯端⼝的配置状况,⼆进制与ASCII码两种通讯⽅式协议内容有所不同,具体可以查询三菱的通讯协议资料。
我这边主要使⽤的是如下这份,主要是其中的第3章通过 QnA 兼容 3E/3C/4C 帧、4E 帧进⾏通信时https:///s/1jQs8l2M7IZHvMKFqrgP0qw1 ⼆进制模式如下指令为向D7000写⼊H000C发送:50 00 00 FF FF 03 00 OE 00 10 00 01 14 00 00 58 1B 00 A8 01 00 0C 00接收:D0 00 00 FF FF 03 00 02 00 00 00如下指令为读取D100开始的20个D值发送:50 00 00 FF FF 03 00 0C 00 10 00 01 04 00 00 64 00 00 A8 14 00接收:D0 00 00 FF FF 03 00 2A 00 00 00 00 00 FF FF FF FF FF FF 00 00 01 00 FD FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 002 ASCII模式//设定D1090为H2032500000FF03FF00001C001014010000D*00109000012032 //读取D1090500000FF03FF000018001004010000D*0010900001。
自编三菱PLC通讯协议样本
自编三菱PLC通讯协议样本自编三菱C PLC通讯协议本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。
文档如有不当之处,请联系本人或网站删除。
FX系列可编程控制器(PLC)通讯常用方法目录1、基本通讯方法§§§§2、通信格式§§§§PLC相关通讯寄存器标志§§§§3、通讯过程§§§§§§4、附录ASCII码表本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。
文档如有不当之处,请联系本人或网站删除。
1、基本通讯方法§§FX系列PLC支持5种通讯方法1)计算机链接:用计算机做主机,通过RS485接口与16台台PLC组网,采用专用通与讯协议,在计算机与PLC之间交换数据,本资料重点解决计算机链接问题,包括硬件连接、通讯参数设置、通讯格式等。
2)N网络:能够将8台台PLC构成网络,无需协议,自成网络。
3)并联:能够将2台台PLC并联成网络,也无需协议,自成网络。
4)PLC用RS指令发送、接收数据,与计算机等设备进行无协议通讯交换数据。
5)通过PLC编程接口,与计算机等设备进行数据交换,本厂采用该方式在MCGS工业组态软件基础上,开发出各类锅炉专用的计算机监控系统。
§§RS232C FX-485RC-IF FX1N-485-BD………1216与上述结构是一种采用计算机串行口与PLC链接的最基本方法,最远通讯距离离50M,其通讯相关参数见下表:通讯接口:FXON-485ADP/FX-485ADP/FX1N-485BD/FX1N-V-BD/FX1N-232BD可选。
通讯距离:FX1N-485BD50M,选其它某些件,最远500M。
从站连接数:最大16台通讯方法:半双工数据长度:7位/8位可选校验:不用/奇/偶可选停止位:1位/2位可选波特率:300/600/1200/2400/4800/9600/19200可选超始符:不用/有效可选协议:格式1/格式4可选求和检查:不用/有效可选选可选PLC类型:FX2N,FX2NC,FX1N,FX1S,FXON,FX,FX2C与计算机与PLC通讯所需的时间,可通过计算得到。
三菱FX系列PLC编程口通信协议总览
三菱FX系列PLC编程口通信协议总览三菱FX系列PLC编程口通信协议总览发布时间:2006-10-9 17:36:10三菱FX系列PLC编程口通信协议总览该协议实际上适用于PLC编程端口以及FX-232AW 模块的通信。
通讯格式:命令命令码目标设备DEVICE READ CMD "0" X,Y,M,S,T,C,DDEVICE WRITE CMD "1" X,Y,M,S,T,C,DFORCE ON CMD " 7" X,Y,M,S,T,CFORCE OFF CMD "8" X,Y,M,S,T,C传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式(和校验)字符: ASCII16进制代码:ENQ 05H 请求ACK 06H PLC正确响应NAK 15H PLC错误响应STX 02H 报文开始ETX 03H 报文结束帧格式:STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower)例子:STX ,CMD ,ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H SUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位1、DEVICE READ(读出软设备状态值)计算机向PLC发送:始命令首地址位数终和校验STX CMD GROUP ADDRESS BYTES ETX SUM例子:从D123开始读取4个字节数据02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h地址算法:address=address*2+1000h再转换成ASCII31h,30h,46h,36hPLC返回STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM注:最多可以读取64个字节的数据例子:从指定的存储器单元读到3584这个数据02h 33h 35h 38h 34h 03h 44h,36h2、DEVICE WRITE(向PLC软设备写入值)始命令首地址位数数据终和校验STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM 例子:向D123开始的两个存储器中写入1234,ABCD02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h PLC返回ACK (06H) 接受正确NAK (15H) 接受错误3、位设备强制置位/复位FORCE ON置位始命令地址终和校验STX CMD ADDRESS ETX SUM02h 37h address 03h sumFORCE OFF复位始命令地址终和校验STX CMD ADDRESS ETX SUM02h 38h address 03h sumPLC返回ACK(06H) 接受正确NAK(15H) 接受错误设备强制中的地址公式:Address=Address/8+100h说明:1.帧中的BYTES表示需要读取或者写入的字节数。
三菱PLC通讯协议
四川中鼎电气控制有限公司公用及辅机控制系统PLC通讯协议(三菱FX、A系列通用)公用及辅机控制系统现地PLC控制柜/箱与LCU均采用三菱专用通信协议格式1(有校验和,无CR、LF),以RS485异步方式通信。
所有设备的通信参数均取:波特率9600bps,1位起始位,8位数据位,1位停止位,无奇偶校验位;一、上位机从PLC读取数据的通信顺序为:上位机请求,PLC应答两个步骤。
(一)从上位机发给PLC(请求)请求标志+站号+PLC号+命令字+信息等待时间+正文+校验和1)请求标志:05H,单字节2)PLC站号:双字节的ASCII值3)PLC代号:FX系列PLC,固定为46H 46H双字节,也即:“FF”4)命令:双字节ASCII值“WR”5)等待时间:单字节ASCII值“0”~“F”,表示从PLC收到上位机信息到PLC发出信息所需要等待的时间,0~150ms之间变化6)正文:包括两部分,第一部分是启始寄存器,为5字节ASCII字符。
第二部分是要读取的寄存器数,为2字节ASCII字符7)校验和:2) ~6)的所有字节的二进制数值相加所得的数取低字节,然后用两个ASCII字符来表示。
如:累加和为316H,校验和字段就为“16”,即31H、36H。
例如:1、上位机需要读取5号P LC的X0040 ~X005F连续2个16位寄存器(2个字)的值,等待时间设为0ms,不需要结束符号,上位机发送的信息如下:05H 30H 35H 46H 46H 57H 52H 30H 58H 30H 30H 34H 30H 30H 32H 34H 38H 也就是:ENQ(05H)+”05”+”FF”+”WR”+”0”+”X0040”+”02”+”48”(校验和);2、上位机需要读取4号PLC的D1000 ~D1003连续4个16位寄存器(4个字)的值,等待时间设为0ms,上位机发送的信息如下:05H 30H 34H 46H 46H 57H 52H 30H 44H 31H 30H 30H 30H 30H 34H 33H 32H 也就是:ENQ(05H)+”04”+”FF”+”WR”+”0”+”D1000”+”04”+”32” (校验和);(二)从PLC发给上位机成功接收时:信文开始标志(02H)+ PLC站号+PLC代号+正文+信文结束标志(03H)+校验和1)或上位机的读命令有错时发回:非应答标志(15H)+ PLC机号+PLC代号+错误代码2)信文开始标志:02H,单字节3)PLC站号:双字节的ASCII值4)PLC代号:FX系列PLC,固定为46H 46H双字节,也即:“FF”5)正文:每4个ASCII字符一组,代表一个16位的寄存器的16进制数值,用相应的ASCII字符代替6)信文结束标志:03H,单字节7)校验和:2) ~5)的所有字节的二进制数值相加所得的数取低字节,然后用两个ASCII字符来表示。
PC与三菱PLC之间的RS232通讯协议
IO通讯举例:
例2:IPC置位PLC内部位元件Y1 思路:1、确定Y1地址(读操作已说明); 2、就于写入的原理,需要先读取00A0的值; 3、将读取的值与0010进行&运算,确定Y1是否为0; 4、为0,则将读取值与0010进行或运算,再将得到的值转为数字代码形式发送给PLC; 为1,则表示内部Y1已经为1,不需要重复置位; 5、写入成功后返回06; 编写VC程序时需要用到以上思路; 这里我们假设我们只是写入Y1=1来操作: Y1的PLC内部地址为:00A0H;表示Y7-Y0的地址,Y1只是其中一个位; LEN取2个字节16位=30H 32H; 写入数据:00A0表示的是Y7-Y0 8个位,需要Y1为1,写入00000010B=02H,但是LEN为2, 表示2个字节,所以需要写入0002H转化为30H 32H 30H 30H(低位先发,高位后发); 完整代码:02H 31H 30H 30H 41H 30H 30H 32H 30H 32H 30H 30H 03H 32H 39H 返回:06写入成功。
二、IPC读取PLC内部数据时:
首先将需要读取的PLC内部元件的地址找到,主要内部元件地址如下: D: m_address*2+1000H; T: m_address+00C0H; C: m_address*2+01C0H; S: m_address*3; M: m_address*2+0100H; Y: m_address+00A0H; X: m_address+0080H;(只能读不能写,输入寄存器必须由外部信号驱动) m_address元件是指最低位开始后的第N个元件的位置。 数据通讯举例: 例1:读D0的值 D0的内部地址为1000H=31H 30H 30H 30H LEN表示我们需要读字节的个数,0-7为一个字节,D0占两个字节,所以LEN=30H 32H. 计算CHK校验码=CMD0+ADD+LEN+EXT =30H+31H+30H+31H+30H+30H+32H+03H=157H 所以校验码为35H 37H. 得到完整的数字命令格式为:02H 30H 31H 30H 30H 30H 30H 32H 03H 35H 37H 将这段数字代码发送给PLC, 返回代码:02H 30H 30H 30H 30H 03H 43H 33H 得到数据段DATA为30H,31H,30H,30H=0001B(低位先发,高位后发)=1D 至此得到D0=1. 完成IPC读取PLC内部数据的全部过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
帧格式
STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子 STX ,CMD ,ADDRESS, BYTES, ETX, SUM 02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H SUM=CMD+......+ETX 30h+31h+30h+46h+36h+30h+34h+03h=74h; 累加和超过两位取低两位 三菱 FX 系列 PLC 编程口通信协议举例
总 17 页之第 3 页
三菱工控产品北京分销中心 TEL 0086-10-86360099 FAX 0086-10-86865130
技术支持 三菱工控网
{ if((inportb(STATS_PORT)&1)!=0)
break;
}
if(lTmp>=DELAY_TIMES)
总 17 页之第 1 页
三菱工控产品北京分销中心 TEL 0086-10-86360099 FAX 0086-10-86865130
技术支持 三菱工控网
奇偶: even 校验: 累加方式 和校验 字符: ASCII
16 进制代码
ENQ 05H 请求 ACK 06H PLC 正确响应 NAK 15H PLC 错误响应 STX 02H 报文开始 ETX 03H 报文结束
技术支持 三菱工控网
enable(); return(FALSE); } uReceive[0]=inportb(DATA_PORT); if(uReceive[0]!=2) { enable(); return(FALSE); } for(i=1;i<number*4+4;i++) { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++) { if((inportb(STATS_PORT)&1)!=0)
uSend[6]=(unsigned char)(num/16+0x41-10); else
uSend[6]=(unsigned char)(num/16+0x30); if((num%16)>=10)
uSend[7]=(unsigned char)((num%16)+0x41-10); else
uSend[7]=(unsigned char)((num%16)+0x30); uAddress=uAddress*2+0x1000; uTmp=uAddress & 0x000f; uSend[5]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa); uTmp=(uAddress>>4) & 0x000f; uSend[4]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa); uTmp=(uAddress>>8) & 0x000f; uSend[3]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa); uTmp=(uAddress>>12)&0x000f; uSend[2]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa); uSum=0; for(i=1;i<9;i++)
{
int i;
for(i=0;i<3;i++)
if(_read_data_register(uAddress,number)==TRUE)
return TRUE;
return FALSE;
} //返回顶部
int _read_data_register(unsigned int uAddress,unsigned int number) { unsigned char uSend[]={2,0x30,0x30,0x30,0x30,0x30,0x30,0x32,3,0x30,0x30};
{
enable();
return(FALSE);
}
if((lTmp=inportb(DATA_PORT))==6)
{
enabቤተ መጻሕፍቲ ባይዱe();
return(TRUE);
}
else
{
enable();
return(FALSE);
}
} //返回顶部
int read_data_register(unsigned int uAddress,unsigned int number)
for(lTmp=0;lTmp<DELAY_TIMES;lTmp++) { if((inportb(STATS_PORT)&1)!=0)
break; } if(lTmp>=DELAY_TIMES) {
总 17 页之第 5 页
三菱工控产品北京分销中心 TEL 0086-10-86360099 FAX 0086-10-86865130
unsigned char uReceive[104]; unsigned int uTmp; unsigned int uSum; unsigned int num; long lTmp; int i,j; if(TESTING==1) { for(i=0;i<number;i++)uRead_value[i]=0;
void init_plc(void) { _AX=0xfa;
_DX=COMM_PORT; geninterrupt(0x14); while((inportb(STATS_PORT)&1)!=0) inportb(DATA_PORT);
} //返回顶部
int check_plc(void) { long lTmp;
三菱工控产品北京分销中心 TEL 0086-10-86360099 FAX 0086-10-86865130
技术支持 三菱工控网
三菱 FX-PLC 的通讯协议参考
说明 由三菱工控网收集整理 仅供参考 如有更好的建议 请向本站提交 三菱 FX 系列 PLC 专用协议通信指令一览
三菱 FX 系列 PLC 编程口通信源代码
fx_comm.h
#define DELAY_TIMES 30000L #define TRUE 1 #define FALSE 0 #define TRUE 1 #define FALSE 0 #define FORCE ON 0x37
总 17 页之第 2 页
注 位元件包括 X,Y,M,S 以及 T,C 的线圈等 字元件包括 D,T,C,KnX,KnY,KnM 等
三菱 FX 系列 PLC 编程口通信协议总览
三菱 FX 系列 PLC 编程口通信协议总览
该协议实际上适用于 PLC 编程端口以及 FX-232AW 模块的通信 感谢网友 visualboy 提供 通讯格式 命令 命令码 目标设备 DEVICE READ CMD "0" X,Y,M,S,T,C,D DEVICE WRITE CMD "1" X,Y,M,S,T,C,D FORCE ON CMD " 7" X,Y,M,S,T,C FORCE OFF CMD "8" X,Y,M,S,T,C 传输格式: RS232C 波特率: 9600bps
for(i=0;i<11;i++) { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)
{ if((inportb(STATS_PORT)&0x20)!=0) break;
} if(lTmp>=DELAY_TIMES) {
return(FALSE); } outportb(DATA_PORT,uSend[i]); } disable();
break; } if(lTmp>=DELAY_TIMES) {
enable(); return(FALSE); } uReceive[i]=inportb(DATA_PORT); } enable(); uSum=0; for(i=1;i<number*4+2;i++) uSum=uSum+(unsigned int)uReceive[i]; uTmp=uSum&0xf; uTmp=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);
FX 系列 PLC 专用协议通信指令一览 以下将详细列出 PLC 专用协议通信的指令
指令 注释 BR 以 1 点为单位 读出位元件的状态 WR 以 16 点为单位 读出位元件的状态 或以 1 字为单位 读出字元件的值 BW 以 1 点为单位 写入位元件的状态 WW 以 16 点为单位 写入位元件的状态 或以 1 字为单位 写入值到字元件 BT 以 1 点为单位 SET/RESET 位元件 WT 以 16 点为单位 SET/RESET 位元件 或写入值到字元件 RR 控制 PLC 运行 RUN RS 控制 PLC 停止 STOP PC 读出 PLC 设备类型 TT 连接测试
if(TESTING==1)return TRUE; init_plc(); for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++) { if((inportb(STATS_PORT)&0x20)!=0)
break; } if(lTmp>=DELAY_TIMES)
return(FALSE); outportb(DATA_PORT,5); disable(); for(lTmp=0L;lTmp<DELAY TIMES;lTmp++)