三菱PLC编程口协议

发布时间:   来源:文档文库   
字号:
1DEVICEREAD(读出软设备状态值)计算机向PLC发送:
命令首地址位数和校验STXCMDGROUPADDRESSBYTESETXSUM例子:从D123开始读取4个字节数据
02h30h31h,30h,46h,36h30h,34h03h37h,34h地址算法:address=address*2+1000h再转换成ASCII31h,30h,46h,36hPLC返回
STX1STDATA2NDDATA.....LASTDATAETXSUM注:最多可以读取64个字节的数据
例子:从指定的存储器单元读到3584这个数据02h33h35h38h34h03h44h,36h
2DEVICEWRITE(向PLC软设备写入值)命令首地址位数数据STXCMDGROUPADDRESSBYTES1STDATA2NDDATA...LASTDATAETX例子:向D123开始的两个存储器中写入1234,ABCD
02h31h31h,30h,46h,36h30h,34h33h,34h,31h,32h,43h,44h,41h,42h03hPLC返回
ACK(06H接受正确NAK(15H接受错误3、位设备强制置位/复位FORCEON置位
命令地址和校验STXCMDADDRESSETXSUM02h37haddress03hsumFORCEOFF复位
命令地址和校验STXCMDADDRESSETXSUM02h38haddress03hsumPLC返回
ACK(06H接受正确NAK(15H接受错误设备强制中的地址公式:Address=Address/8+100h
说明:1.帧中的BYTES表示需要读取或者写入的字节数。
2.地址算法上有说明。
3.累加和是从STX后面一个字节开始累加到ETX的和。
FX系列通信协议总览
通讯格式:(该协议实际上适用于PLC编程端口以及FX-232AW模块的通信。命令命令码目标设备
DEVICEREADCMD"0"X,Y,M,S,T,C,DDEVICEWRITECMD"1"X,Y,M,S,T,C,DFORCEONCMD"7"X,Y,M,S,T,CFORCEOFFCMD"8"X,Y,M,S,T,C
传输格式:RS232C波特率:9600bps奇偶:even校验:累加方式(和校验)字符:ASCII16进制代码:ENQ05H请求ACK06HPLC正确响应NAK15HPLC错误响应STX02H报文开始ETX03H报文结束
帧格式:STXCMDDATA......DATAETXSUM(upperSUM(lower例子:STX,CMD,ADDRES,BYTES,ETX,SUM
02H30H,31H,30H,46H,36H,30H,34H,03H,37H,34H
SUM=CMD+......+ETX
30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位
和校验SUM34h,39h

关于密码的设定一般有以下几种方式:
1.设置密码等级:第一次指拨6off状态(指拨8on状态),在密码表中设置完各等级密码后,将指拨6设置为on,然后输入相应等级的密码,就可以对相应等级的元件进行操作。
2.编辑软件时候设置:在换画面按钮旁做一个密码表,对换画面按钮的相应等级进行密码设定,(此时换画面按钮勾选重设为最低等级,指拨8off3.用宏指令来实现密码的设置。4.plc配合来进行密码的设置。

海泰克指拨说明

指拨功能SW1保留SW2保留
SW3SW4作业模式ONON使用者正常操作模式ONOFF执行生产烧机程式OFFON更新BIOSOFFOFF执行硬件测试SW5通讯参数设定
ON人机使用硬件的通讯参数与PLC通信OFF人机使用ADP的通讯参数与PLC通信SW6输入密码否
ON当人机开机自我测试后,要求输入密码,随之进入系统OFF当人机开机自我测试后,不要求输入密码,随之进入系统SW7进入系统目录ON进入系统目录
OFF不进入系统目录,直接进入使用者应用程式SW8预设使用者等级
ON如人机不要求输入密码(SW6OFF)预设使用者等级=1OFF如人机要求输入密码(SW6ON)预设使用者等级=9SW9人机背面COM1规格设定ONRS485通讯:SW9=ONSW10人机背面COM2规格设定ONRS485通讯:SW10=ONOFFRS422通讯:SW10=OFF

制作步骤:

HITECH配方数据的插入、删除、填充功能



希望各位在读此文章前,先对HITECH人机界面的配方功能有初步了解,尤其是RCPNO的作用,否则可能会看不明白
1、使用ADP6.0软件,各位如没有可到WWW.ACEPILLAR.COM下载2、新建一程序,设定读写配方地址,长度设为10,组数设为1003、变量标签表中:
TOP@100将所输入的数据放到配方数据的什么位置NO@200用于显示目前共有多少组配方TEMP_1@300TEMP_2@301TEMP_3@302
4、制作十个数值输入,为@0~@9,用于输入数据;
5、制作一数值输入,为NO,用于选择将所输入的数据放到配方数据的什么位置;6、制作一数值显示,为TOP,用于显示目前共有多少组配方;
7、制作一保持型按钮,命名为删除按钮,用于将选定的NO组数据删除,删除按钮OFF宏:IFNO>0THENDOIFTOP>0THENDOIFTOP>NOTHENDOTEMP_1=ADD(NO,1TEMP_2=SUB(TOP,NOFORTEMP_2
RCPNO=TEMP_1
BMOV(@30,RCPW0,10RCPNO=SUB(TEMP_1,1BMOV(RCPW0,@30,10TEMP_1=ADD(TEMP_1,1NEXTENDIF
IFTOP>=NOTHENDORCPNO=TOP
FILL(RCPW0,0,10TOP=SUB(TOP,1ENDIFENDIFENDIFEND
主要思想为,首先将NO+1组的数据保存到@30~@39中,然后将其保存到NO组中,再将NO+2组的数据保存到@30~@39中,然后将其保存到NO+1,直到最后一组;
8、制作一保持型按钮,命名为插入按钮,用于将@0~@9中的数据插入到配方的NO组,原NO组及以后的数据向后移动,插入按钮OFF宏:IFNO>0THENDOIFTOP>=NOTHENDOTEMP_1=TOP
TEMP_2=SUB(TOP,NOTEMP_2=ADD(TEMP_2,1FORTEMP_2
RCPNO=TEMP_1
BMOV(@30,RCPW0,10RCPNO=ADD(TEMP_1,1BMOV(RCPW0,@30,10TEMP_1=SUB(TEMP_1,1NEXT
RCPNO=NO
BMOV(RCPW0,@0,10TOP=ADD(TOP,1ELSEDORCPNO=NO
BMOV(RCPW0,@0,10TOP=NOENDIFENDIFEND
主要思想为,首先将TOP组的数据保存到@30~@39中,然后将其放到TOP+1组中,再将TOP-1组放到TOP组中,直到NO组放到NO+1组中,然后再@0~@9的数据放到NO组。
9、制作一保持型按钮,命名为填充按钮,用于将@0~@9中的数据填充到配方的NO组,其它数据不变。填充按钮OFF宏:IFNO>0THENDORCPNO=NO
BMOV(RCPW0,@0,10IFNO>TOPTHENDOTOP=NOENDIFENDIFEND
主要思想为,将数据放到NO组。

关于HITECH触摸屏PWS1711巨集指令

HITECH触摸屏PWS1711巨集指令其内码为ASCII码吗?
以下为HITECH触摸屏PWS1711通过巨集指令与伺服控制器通讯以及画面的程序,请指教其输出以及输出的方式。
通讯设定、初始化INITIAL
@500=C3AH通讯格式?0000110000111010SYS[INIT_COM,500]com1opendok@614=00H@607=32H@606=30H@605=32H@604=30H@603=31H@602=30H@601=57H@599=14END画面数据设定CYCLIC
IF@0.0==OFFTHENGOTOLABEL0@200=D310@201=D311@440=H2A[@201]@608=H2A[@200]@612=@442@613=@443
SYS[PUT_CHARS,599]CLRB@0.0SETBM501LABEL0END
只懂简单的指令,比如知道是把@601@614的资料输入,@608@614的值如下:@608=003DH@609=0033H@610=0031H@611=0030H@612=0031H@613=0031H
或者画面设定中D310D311PLC中的暂存器,那结果就不是这个,也不晓得是什么。
然后如果@0.0等于ON就把@601@614的值输出,不过不晓得到底输出了什么,又以何种方式输出。
sys[put_chars,599]指令只是发送从@601开始的@599个数的暂存器的低字节的数到指定的通讯口,其是以十六进制发送的,但大部分的控制器都需接受ASCII码,所以需要在发送之前将要发送的数据转换成ASCII,你的前面的数据看起来都是添的ASCII,后面的H2A指令也是把十六进制转换成ASCII,如果@201内的值为1234H,则通过H2A指令后@440=031H,@441=0032H,@442=0033H,@443=0034H


本文来源:https://www.2haoxitong.net/k/doc/076e51eb5ef7ba0d4b733b04.html

《三菱PLC编程口协议.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式