百度文库-让每个人平等地提升自我PLC通信格式为:9600波特率偶校验7位数据位1位数据格式为:1位起始位7位数据位1位奇偶校验位1位停止位pc->ENQ05Hplc->ACK06HPC->命令报文STKCMD数据段ETXSUMHSUML02H03H(前面相加,溢出不计)PLC->应答报文STK数据段EXTSUMHSUMLCMD:“0”-30H读命令“1”-31H写命令“7”-37H强制通ON“8”-38H强制端OFF例子:读fx系列D123内容pc------------------------------------------------------------>PLCENQ(05H)ACK(06H)STXCMD10F604EXTSUMHSUML02H30H31H30H46H36H34H03HSTX第1字节第2字节第3字节第4字节EXTSUMHSUML02H03H从串口得知读出的D123内的值为:30463030303030300C000000120001百度文库-让每个人平等地提升自我1、DEVICEREAD(读出软设备状态值)计算机向PLC发送:例子:从D123开始读取4个字节数据始命令首地址位数终和校验STXCMDGROUPADDRESSBYTESETXSUM地址算法:address=address*2+1000h再转换成ASCII31h,30h,46h,36hPLC返回02h30h31h,30h,46h,36h30h,34h03h37h,34h注:最多可以读取64个字节的数据例子:从指定的存储器单元读到3584这个数据STX1STDATA2NDDATA.....LASTDATAETXSUM2、DEVICEWRITE(向PLC软设备写入值)02h33h35h38h34h03h44h,36h例子:向D123开始的两个存储器中写入1234,ABCD和校始命令首地址位数数据终验GROUP1ST2NDLASTSTXCMDBYTES......ETXSUMADDRESSDATADATADATAPLC返回ACK(06H)接受正确2百度文库-让每个人平等地提升自我NAK(15H)接受错误3、位设备强制置位/复位FORCEON置位02h31h31h,30h,46h,36h30h,34h33h,34h,31h,32h,43h,44h,41h,42h03h34h,39hFORCEOFF复位始命令地址终和校验STXCMDADDRESSETXSUM02h37haddress03hsumPLC返回ACK(06H)接受正确NAK(15H)接受错误设备强制中的地址公式:Address=Address/8+100h说明:1.帧中的BYTES表示需要读取或者写入的字节数。2.地址算法上有说明。3.累加和是从STX后面一个字节开始累加到ETX的和。和始命令地址终校验CMADDRESETSUSTXDSXM02h38haddress03hsum三菱FX系列PLC编程口通信
总览该协议实际上适用于PLC编程端口以及FX-232AW模3百度文库-让每个人平等地提升自我块的通信。通讯格式:传输格式:RS232C波特率:9600bps奇偶:even校验:累加方式(和校验)字符:ASCII16进制代码:命令命令目标设备码DEVICEREAD"0"X,Y,M,S,T,C,DCMDDEVICEWRITE"1"X,Y,M,S,T,C,DCMDFORCEONCMD"7"X,Y,M,S,T,CFORCEOFF"8"X,Y,M,S,T,CCMD帧格式:ENQ05H请求ACK06HPLC正确响应NAK15HPLC错误响应STX02H报文开始ETX03H报文结束例子:4百度文库-让每个人平等地提升自我STX,CMD,ADDRESS,BYTES,ETX,SUM02H,30H,31H,30H,46H,36H,30H,34H,03H,37H,34HSUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位STCMDAT.....DATETSUM(uppeSUM(loweXDA.AXr)r)5