当前位置:文档之家› 三菱plc,通讯协议

三菱plc,通讯协议

三菱plc,通讯协议

篇一:三菱PLC通讯协议

三菱PLC编程口通讯协议

一、三菱PLC编程口通讯协议

三菱PLC编程口的通讯协议比较简单,只有四个命令,即: 命令命令码目标设备

DEVICE READ CMD0X,Y,M,S,T,C,D

DEVICE WRITE CMD 1X,Y,M,S,T,C,D

FORCE ON CMD7 X,Y,M,S,T,C

FORCE OFF CMD 8X,Y,M,S,T,C

五个标示:

ENQ05H 请求

ACK06H PLC正确响应

NAK15H PLC错误响应

STX02H 报文开始

ETX03H 报文结束

使用累加方式的和校验,帧格式如下:

STX CMD DATA ...... DATA ETX SUM(upper)

1

SUM(lower)

和校验:

SUM= CMD+??+ETX。如SUM=73H,SUM=“73”。

1、DEVICE READ(读出软设备状态值)

计算机向PLC发送:

始命令首地址位数终和校验

STXCMD GROUP ADDRESS BYTESETX SUM

PLC 返回

STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 2、DEVICE WRITE(向PLC 软设备写入值)

计算机向PLC发送:

始命令首地址位数数据终和校验

PLC 返回

ACK (06H) 接受正确

NAK (15H) 接受错误

3、位设备强制置位/复位

FORCE ON 置位

始命令地址终和校验

STX CMD ADDRESSETXSUM

02h 37h address03hsum

FORCE OFF 复位

始命令地址终和校验

2

STX CMD ADDRESSETXSUM

02h 38h address03hsum

PLC 返回

ACK(06H) 接受正确

NAK(15H) 接受错误

以上可以看出,协议非常简单,但是由于没有寄存器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢,下面就是三菱Fx系列PLC地址对应表: Public Const PLC_D_Base_AddRess = 4096

Public 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 = 0

Public Const PLC_X_Group_Base_AddRess = 128 Public Const PLC_C_Group_Base_AddRess = 448

3

Public 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的值。所以当我们用FORCE ON 命

令时,M100寄存器地址=100+2048;

这也没有什么复杂的,不是吗,可是三菱公司好像不甘于

如此,FORCE ON/Off命令中地址排列与DEVICE

READ/WRITE不同,是低位在前高位在后。如Y20,地址

是0510H,代码中4个字节地址表示为:1005。(注意:Y

寄存器为八进制,如Y20地址=16+1280=0510H)

篇二:三菱PLC编程口协议

最近做一个PC通过编程口与FX PLC通讯的程序,在网

上找好久,内部软元件的地址还是找不全。没办法,只好使用串口监视软件分析 GX Developer PLC编程软件发送的代

码三菱FX系列PLC编程口通信协议总览

该协议实际上适用于PLC编程端口以及 FX-232AW 模

4

块的通信。感谢网友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

奇偶: even

校验: 累加方式(和校验)

字符: ASCII

16进制代码:

ENQ 05H 请求

ACK 06H PLC正确响应

NAK 15H PLC错误响应

STX 02H 报文开始

ETX 03H 报文结束

帧格式:

STX CMD DATA ...... DATA ETX SUM(upper)

SUM(lower)

例子:

5

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;

累加和超过两位取低两位

命令格式

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

再转换成ASCII

31h,30h,46h,36h

PLC返回

STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM

注:最多可以读取64个字节的数据

例子:从指定的存储器单元读到3584这个数据

02h 33h 35h 38h 34h 03h 44h,36h

2、DEVICE WRITE(向PLC软设备写入值)

始命令首地址位数数据终和校验

6

STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND

DATA ...... LAST DATA ETX SUM 例子:向D123开始的两个存储器中写入1234,ABCD

02h 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 SUM

02h 37h address 03h sum

FORCE OFF复位

始命令地址终和校验

STX CMD ADDRESS ETX SUM

02h 38h address 03h sum

PLC返回

ACK(06H) 接受正确

NAK(15H) 接受错误

设备强制中的地址公式:Address=Address/8+100h

说明:

1.帧中的BYTES表示需要读取或者写入的字节数。

7

2.地址算法上有说明。

3.累加和是从STX后面一个字节开始累加到ETX的和。

通过串口监视得到的数据如下:

PLC型号:FX0N

使用 GX Developer 的在线,调试,软元件测试功能

以下列出不同的操作发送的不同内容,前面一段是Hex

码后面一段是对应的ASCII码

//////////////////////////////////CMD ON YO////////////////// 02 37 30 30 30 35 03 46 46 .70005.FF

//////////////////////////////////CMD OFF YO///////////////////// 02 38 30 30 30 35 03 30 30 .80005.00

//////////////////////////////////CMD ON Y1////////////////////

02 37 30 31 30 35 03 30 30 .70105.00

//////////////////////////////////CMD OFF Y1//////////////////

02 38 30 31 30 35 03 30 31 .80105.01

//////////////////////////////////CMD ON XO//////////////////

02 37 30 30 30 34 03 46 45 .70004.FE

//////////////////////////////////CMD OFF XO///////////////////// 02 38 30 30 30 34 03 46 46 .80004.FF

//////////////////////////////////CMD ON X1//////////(来

自:https://www.doczj.com/doc/678904786.html, 小龙文档网:三菱plc,通讯协议)////////

02 37 30 31 30 34 03 46 46 .70104.FF

8

//////////////////////////////////CMD OFF X1//////////////////

02 38 30 31 30 34 03 30 30 .80104.00

//////////////////////////////////CMD ON T0//////////////////

02 37 30 30 30 36 03 30 30 .70006.00

//////////////////////////////////CMD OFF T0//////////////////

02 38 30 30 30 36 03 30 31 .80006.01

//////////////////////////////////CMD ON T1//////////////////

02 37 30 31 30 36 03 30 31 .70106.01

//////////////////////////////////CMD OFF T1/////////////////

02 38 30 31 30 36 03 30 32 .80106.02

//////////////////////////////////CMD ON C0//////////////////

02 37 30 30 30 45 03 30 46 .7000E.0F

//////////////////////////////////CMD OFF C0////////////////////// 02 38 30 30 30 45 03 31 30 .8000E.10

//////////////////////////////////CMD ON C1//////////////////

02 37 30 31 30 45 03 31 30 .7010E.10

//////////////////////////////////CMD OFF C1////////////////////// 02 38 30 31 30 45 03 31 31 .8010E.11

//////////////////////////////////CMD ON M0//////////////////

02 37 30 30 30 38 03 30 32 .70008.02

//////////////////////////////////CMD OFF M0////////////////////// 02 38 30 30 30 38 03 30 33 .80008.03

9

//////////////////////////////////CMD ON M1//////////////////

02 37 30 31 30 38 03 30 33 .70108.03

//////////////////////////////////CMD OFF M1////////////////////// 02 38 30 31 30 38 03 30 34 .80108.04

//////////////////////////////////CMD ON S0//////////////////

02 37 30 30 30 30 03 46 41 .70000.FA

//////////////////////////////////CMD OFF S0////////////////////// 02 38 30 30 30 30 03 46 42 .80000.FB

//////////////////////////////////CMD ON S1//////////////////

02 37 30 31 30 30 03 46 42 .70100.FB

//////////////////////////////////CMD OFF S1////////////////////// 02 38 30 31 30 30 03 46 43 .80100.FC

//////////////////////////////////CMD WRITE D0 15AB 16Bit

///////////////// 02 31 31 30 30 30 30 32 41 42 31 35 03 .1100002AB15.

34 30 40

//////////////////////////////////CMD WRITE D1 15AB15AB 32Bit

/////////////////

02 31 31 30 30 30 30 34 41 42 31 35 41 .1100004AB15A

42 31 35 03 32 42B15.2B

//////////////////////////////////CMD WRITE T0 15AB 16Bit

///////////////// 02 31 30 38 30 30 30 32 41 42 31 35

10

03 .1080002AB15.

34 37 47

//////////////////////////////////CMD WRITE T1 15AB15AB 32Bit

/////////////////

02 31 30 38 30 30 30 34 41 42 31 35 41 .1080004AB15A

42 31 35 03 33 32B15.32

//////////////////////////////////CMD WRITE C0 15AB 16Bit

///////////////// 02 31 30 41 30 30 30 32 41 42 31 35 03 .10A0002AB15.

35 30 50

//////////////////////////////////CMD WRITE C1 15AB15AB 32Bit

/////////////////

02 31 30 41 30 30 30 34 41 42 31 35 41 .10A0004AB15A

42 31 35 03 33 42B15.3B

以上是用FX-0N PLC 时的情况,从上面的数据很容易分

析出内部软元件的地址,有趣的是在换成FX-1N 时发现有所

不同

FX-1N PLC

以下列出不同的操作发送的不同内容

//////////////////////////////////CMD ON YO//////////////////

02 45 37 30 30 30 43 03 35 32.E7000C.52

//////////////////////////////////CMD OFF YO///////////////////// 02 45

11

38 30 30 30 43 03 35 33.E8000C.53

//////////////////////////////////CMD ON Y1////////////////////

02 45 37 30 31 30 43 03 35 33.E7010C.53

//////////////////////////////////CMD OFF Y1//////////////////

02 45 38 30 31 30 43 03 35 34.E8010C.54

//////////////////////////////////CMD ON XO//////////////////

02 45 37 30 30 31 32 03 34 32.E70012.42

//////////////////////////////////CMD OFF XO///////////////////// 02 45 38 30 30 31 32 03 34 33.E80012.43

//////////////////////////////////CMD ON X1//////////////////

02 45 37 30 31 31 32 03 34 33.E70112.43

//////////////////////////////////CMD OFF X1//////////////////

02 45 38 30 31 31 32 03 34 34.E80112.44

篇三:浅谈各种PLC通讯协议

浅谈各种PLC通讯协议

一、美系厂家Rockwell ABRockwell的PLC主要是包括:

PLC2、PLC3、PLC5、SLC500、ControlLogix

等型号,PLC2和PLC3是早期型号,现在用的比较多的

小型PLC是SLC500,中型的一般是ControlLogix,大型的

用PLC5系列。DF1协议是Rockwell各PLC都支持的通讯

协议,DF1协议可以通过232或422等串口介质进行数据传

输,也可以通过DH、DH+、DH485、ControlNet等网络介

12

质来传输。DF1协议的具体内容可以在AB的资料库中下载。AB的PLC也提供了OPC和DDE,其集成的软件中RSLogix中就包含DDE和OPC SERVER,可以通过上述软件来进行数据通讯。AB的中高档的PLC还提供了高级语言编程功能,用户还可以通过编程实现自己的通讯协议。

二、GE现在在国内用的比较多的主要是90-70和90-30系列PLC,这两款PLC 都支持SNP协议,SNP

协议在其PLC手册中有协议的具体内容。现在GE的PLC也可以通过以太网链接,GE的以太网协议内容不对外公开,但GE提供了一个SDK开发包,可以基于该开发包通讯。

三、西门子系列PLC主要包括其早期的S5和现在的S7-200、S7-300、S7-400等各型号PLC,早期的S5PLC支持的是3964R协议,但是因为现在在国内应用较少,除极个别改造项目外,很少有与其进行数据通讯的。S7-200是西门子小型PLC,因为其低廉的价格在国内得到了大规模的应用,支持MPI、PPI和自由通讯口协议。西门子300的PLC支持MPI,还可以通过Profibus 和工业以太网总线系统

和计算机进行通讯。如果要完成点对点通讯,可以使用CP340/341。S7400作为西门子的大型PLC,提供了相当完备的通讯功能。可以通过S7标准的MPI进行通讯,同时可以通过C-总线,Profibus和工业以太网进行通讯。如果要使用点对点通讯,S7-400需要通过CP441通讯模块。西门子

13

的通讯协议没有公开,许多组态软件都支持MPI、PPI等通讯方式,Profibus 和工业以太网一般通过西门子的软件进行数据通讯。

四、施耐德(莫迪康)施耐德的PLC型号比较多,在国内应用也比较多。其通讯方式主要是支持Modbus

和MODBUS PLUS两种通讯协议。Modbus协议在工控行业得到了广泛的应用,已不仅仅是一个PLC的通讯协议,在智能仪表,变频器等许多智能设备都有相当广泛的应用。MODBUS经过进一步发展,现在又有了MODBUS TCP方式,通过以太网方式进行传输,通讯速度更快。Modbus PLUS相对于MODBUS传送速度更快,距离更远,该通讯方式需要在计算机上安装MODCON提供的SA85卡并需安装该卡的驱动才可以进行通讯。除了上述两种方式之外,莫迪康的PLC还支持如TCP/IP以太网,Unitelway, FIPWAY,FIPIO,AS-I,Interbus-s等多种通讯方式。

五、欧姆龙系列PLC在中国推广的也比较多。在通讯方式上,OMRON现在主要采用两种通讯方式:Host Link协议是基于串口方式进行数据传输的通讯方式。当PLC进入MONITOR方式时,上位机可以和欧姆龙PLC通讯。在和欧姆龙通讯时要注意,两次通讯之间要留一定时间,如果通讯速度过快容易造成PLC通讯异常。ControlLink是欧姆龙PLC的一种快速通讯方式。Control Link通过板卡进行数据

14

通讯,板卡之间有数据交换区,由板卡实现数据的交换从而完成数据采集功能。使用该方式通讯需配置欧姆龙的驱动。

六、三菱PLC的小型PLC在国内的应用非常广泛。三菱的PLC型号也比较多,主要包括FX系列,A系列和Q系列。三菱系列PLC通讯协议是比较多的,各系列都有自己的通讯协议。如FX系列中就包括通过编程口或232BD通讯,也可以通过485BD等方式通讯。其A系列和Q系列可以通过以太网通讯。当然,三菱的PLC还可以通过CC-LINK协议通讯。

七、松下PLC和计算机之间可以通过串口和以太网进行通讯。其采用的通讯协议是MEWTOCOL协议。如大多数日系PLC一样,MEWTOCOL协议比较简单。许多软件都可以从PLC中直接读取数据。

以上介绍的是国外的主流PLC设备通讯方式。除以上厂家外,还有很多PLC厂家:厂家型号协议介质LGSTER-K10S/30S/60S/80S/K200SMASTER-K串口日立H系列EH150等Hi协议串口/USB光洋所有系列CCM2协议串口信捷所有系列Modbus串口凯迪恩全部MODBUS串口

笔者认为目前市场上的PLC之间很难融合,最主要的原因就是它们之间缺少一种共同的通讯语言,这也直接限制了PLC发展的步伐。PLC与上位机之间通讯,也是由于各个厂家的PLC通讯协议不一致,我们在做

15

网络通讯时,往往被一大堆的通讯协议报文格式所阻碍。目前OPC 协议规范的出现打破了这种局面,但是要彻底解决不同品牌PLC之间的通讯,光靠一种技术规范是不够的,我相信在未来一定PLC 一定会统一兼容规定的一种通讯协议的。

相关热词搜索:通讯协议 plc 三菱plc485通讯协议三菱plc与触摸屏通讯

16

相关主题
文本预览
相关文档 最新文档