三菱PLC编程口协议_第1页
三菱PLC编程口协议_第2页
三菱PLC编程口协议_第3页
三菱PLC编程口协议_第4页
三菱PLC编程口协议_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.最近做一个PC通过编程口与F*PLC通讯的程序,在网上找好久,内部软元件的地址还是找不全。没方法,只好使用串口监视软件分析G*DeveloperPLC编程软件发送的代码由于没有存放器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢?下面就是三菱F*系列PLC地址对应表:

PublicConstPLC_D_Base_AddRess=4096

PublicConstPLC_D_Special_Base_AddRess=3584

PublicConstPLC_Y_Group_Base_AddRess=160

PublicConstPLC_PY_Group_Base_AddRess=672

PublicConstPLC_T_Group_Base_AddRess=192

PublicConstPLC_OT_Group_Base_AddRess=704

PublicConstPLC_RT_Group_Base_AddRess=1216

PublicConstPLC_M_SINGLE_Base_AddRess=2048(命令为7或8时)

PublicConstPLC_M_Group_Base_AddRess=256

PublicConstPLC_PM_Group_Base_AddRess=768

PublicConstPLC_S_Group_Base_AddRess=0

PublicConstPLC_*_Group_Base_AddRess=128

PublicConstPLC_C_Group_Base_AddRess=448

PublicConstPLC_OC_Group_Base_AddRess=960

PublicConstPLC_RC_Group_Base_AddRess=1472

PublicConstPLC_TV_Group_Base_AddRess=2048

PublicConstPLC_CV16_Group_Base_AddRess=2560

PublicConstPLC_CV32_Group_Base_AddRess=3072

当我们用DEVICEREAD命令时,D100地址=100*2+4096;M100地址=100+256;不同的是D类型存放器存放的是字,M存放器存放的是位,同样是读两个字节,D100返回的就是PLC中D100地址的值,M类型存放器返回的是M100到M116的值。所以当我们用FORCEON命令时,M100存放器地址=100+2048;

这也没有什么复杂的,不是吗?可是三菱公司好似不甘于如此,FORCEON/Off命令中地址排列与DEVICEREAD/WRITE不同,是低位在前高位在后。如Y20,地址是0510H,代码中4个字节地址表示为:1005。〔注意:Y存放器为八进制,如Y20地址=16+1280=0510H〕三菱F*系列PLC编程口通信协议总览

该协议实际上适用于PLC编程端口以及F*-232AW模块的通信。感谢网友visualboy提供。

通讯格式:

命令命令码目标设备

DEVICEREADCMD"0"*,Y,M,S,T,C,D//设备读DEVICEWRITECMD"1"*,Y,M,S,T,C,D//设备写

FORCEONCMD"7"*,Y,M,S,T,C//置位

FORCEOFFCMD"8"*,Y,M,S,T,C//复位

传输格式:RS232C

波特率:9600bps

奇偶:even

校验:累加方式〔和校验〕

字符:ASCII

16进制代码:

ENQ05H请求

ACK06HPLC正确响应

NAK15HPLC错误响应

ST*02H报文开场

ET*03H报文完毕帧格式:

ST*CMDDATA......DATAET*SUM(upper)SUM(lower)

例子:

ST*,CMD,ADDRESS,BYTES,ET*,SUM

02H,30H,31H,30H,46H,36H,30H,34H,03H,37H,34H

SUM=CMD+......+ET*;

30h+31h+30h+46h+36h+30h+34h+03h=74h;

累加和超过两位取低两位

命令格式

1、DEVICEREAD〔读出软设备状态值〕

计算机向PLC发送:

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

ST*CMDGROUPADDRESSBYTESET*SUM

例子:从D123开场读取4个字节数据

02h30h31h,30h,46h,36h30h,34h03h37h,34h

地址算法:address=address*2+1000h

再转换成ASCII

31h,30h,46h,36h

PLC返回

ST*1STDATA2NDDATA.....LASTDATAET*SUM

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

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

02h33h35h38h34h03h44h,36h

2、DEVICEWRITE〔向PLC软设备写入值〕

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

ST*CMDGROUPADDRESSBYTES1STDATA2NDDATA......LASTDATAET*SUM

例子:向D123开场的两个存储器中写入1234,ABCD

02h31h31h,30h,46h,36h30h,34h33h,34h,31h,32h,43h,44h,41h,42h03h34h,39h

PLC返回

ACK(06H)承受正确

NAK(15H)承受错误

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

FORCEON置位

始命令地址终和校验

ST*CMDADDRESSET*SUM

02h37haddress03hsum

FORCEOFF复位

始命令地址终和校验

ST*CMDADDRESSET*SUM

02h38haddress03hsum

PLC返回

ACK(06H)承受正确

NAK(15H)承受错误

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

说明:

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

2.地址算法上有说明。

3.累加和是从ST*后面一个字节开场累加到ET*的和。

通过串口监视得到的数据如下:PLC型号:F*0N

使用G*Developer的在线-调试-软元件测试功能以以下出不同的操作发送的不同内容,前面一段是He*码后面一段是对应的ASCII码

//////////////////////////////////CMDONYO//////////////////

023730303035034646.70005.FF

//////////////////////////////////CMDOFFYO/////////////////////

023830303035033030.80005.00//////////////////////////////////CMDONY1////////////////////

023730313035033030.70105.00

//////////////////////////////////CMDOFFY1//////////////////

023830313035033031.80105.01

//////////////////////////////////CMDON*O//////////////////

023730303034034645.70004.FE

//////////////////////////////////CMDOFF*O/////////////////////

023830303034034646.80004.FF//////////////////////////////////CMDON*1//////////////////

023730313034034646.70104.FF

//////////////////////////////////CMDOFF*1//////////////////

023830313034033030.80104.00//////////////////////////////////CMDONT0//////////////////

023730303036033030.70006.00

//////////////////////////////////CMDOFFT0//////////////////

023830303036033031.80006.01//////////////////////////////////CMDONT1//////////////////

023730313036033031.70106.01

//////////////////////////////////CMDOFFT1/////////////////

023830313036033032.80106.02

//////////////////////////////////CMDONC0//////////////////

023730303045033046.7000E.0F

//////////////////////////////////CMDOFFC0//////////////////////

023830303045033130.8000E.10//////////////////////////////////CMDONC1//////////////////

023730313045033130.7010E.10

//////////////////////////////////CMDOFFC1//////////////////////

023830313045033131.8010E.11

//////////////////////////////////CMDONM0//////////////////

023730303038033032.70008.02

//////////////////////////////////CMDOFFM0//////////////////////

023830303038033033.80008.03//////////////////////////////////CMDONM1//////////////////

023730313038033033.70108.03

//////////////////////////////////CMDOFFM1//////////////////////

023830313038033034.80108.04//////////////////////////////////CMDONS0//////////////////

023730303030034641.70000.FA

//////////////////////////////////CMDOFFS0//////////////////////

023830303030034642.80000.FB//////////////////////////////////CMDONS1//////////////////

023730313030034642.70100.FB

//////////////////////////////////CMDOFFS1//////////////////////

023830313030034643.80100.FC//////////////////////////////////CMDWRITED015AB16Bit/////////////////

02313130303030324142313503.1100002AB15.

343040

//////////////////////////////////CMDWRITED115AB15AB32Bit/////////////////

02313130303030344142313541.1100004AB15A

423135033242B15.2B//////////////////////////////////CMDWRITET015AB16Bit/////////////////

02313038303030324142313503.1080002AB15.

343747

//////////////////////////////////CMDWRITET115AB15AB32Bit/////////////////

02313038303030344142313541.1080004AB15A

423135033332B15.32//////////////////////////////////CMDWRITEC015AB16Bit/////////////////

02313041303030324142313503.10A0002AB15.

353050

//////////////////////////////////CMDWRITEC115AB15AB32Bit/////////////////

02313041303030344142313541.10A0004AB15A

423135033342B15.3B

以上是用F*-0NPLC时的情况,从上面的数据很容易分析出内部软元件的地址,有趣的是在换成F*-1N时发现有所不同F*-1NPLC

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

//////////////////////////////////CMDONYO//////////////////

02453730303043033532.E7000C.52

//////////////////////////////////CMDOFFYO/////////////////////

02453830303043033533.E8000C.53//////////////////////////////////CMDONY1////////////////////

02453730313043033533.E7010C.53

//////////////////////////////////CMDOFFY1//////////////////

02453830313043033534.E8010C.54

//////////////////////////////////CMDON*O//////////////////

02453730303132033432.E70012.42

//////////////////////////////////CMDOFF*O/////////////////////

02453830303132033433.E80012.43//////////////////////////////////CMDON*1//////////////////

02453730313132033433.E70112.43

//////////////////////////////////CMDOFF*1//////////////////

02453830313132033434.E80112.44//////////////////////////////////CMDONT0//////////////////

02453730303130033430.E70010.40

//////////////////////////////////CMDOFFT0//////////////////

02453830303130033431.E80010.41//////////////////////////////////CMDONT1//////////////////

02453730313130033431.E70110.41

//////////////////////////////////CMDOFFT1/////////////////

02453830313130033432.E80110.42

//////////////////////////////////CMDONC0//////////////////

02453730303046033535.E7000F.55

//////////////////////////////////CMDOFFC0//////////////////////

02453830303046033536.E8000F.56//////////////////////////////////CMDONC1//////////////////

02453730313046033536.E7010F.56

//////////////////////////////////CMDOFFC1//////////////////////

02453830313046033537.E8010F.57

//////////////////////////////////CMDONM0//////////////////

02453730303030033346.E70000.3F

//////////////////////////////////CMDOFFM0//////////////////////

02453830303030033430.E80000.40//////////////////////////////////CMDONM1//////////////////

02453730313030033430.E70100.40

//////////////////////////////////CMDOFFM1//////////////////////

02453830313030033431.E80100.41//////////////////////////////////CMDONS0//////////////////

02453730303134033434.E70014.44

//////////////////////////////////CMDOFFS0//////////////////////

02453830303134033435.E80014.45//////////////////////////////////CMDONS1//////////////////

02453730313134033435.E70114.45

//////////////////////////////////CMDOFFS1//////////////////////

02453830313134033436.E80114.46

//////////////////////////////////CMDWRITED015AB16Bit/////////////////

024531303430303030324142313503.E10400002AB15.

4238B8

//////////////////////////////////CMDWRITED115AB15AB32Bit////////

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论