三菱PLC编程口通信协议介绍
之前在做LabVIEW与三菱FX3U PLC的编程口通信,找了很多资料,总结一下。
1.1 通信指令
三菱PLC的位元件主要有X、Y、M、S、T、C,字元件有D。编程口通信协议采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,字符为ASCII码形式。存储单元有:输入继电器X、输出继电器Y、辅助继电器M、状态元件S、定时器T、计数器C 以及数据寄存器D。四条通讯指令如下表:
协议的五个标示符如下表:
1.2 通信格式
三菱PLC编程口通信协议中,读、写操作和强制置位、复位的通信格式大同小异,只需要修改相应地址即可。下面主要列出读、写操作的内容。
注:1*.和校验是将CMD-ETX之间内容的十六进制码对应的ASCII码相加,取和累计的最低位两位转换为ASCII码。
2*.首地址:D:address2+1000H;
M:address2+0100H;
X:address+0080H;
Y:address+00A0H;
T:address+00C0H;
C:address2+01C0H;
S:address3;
address为十进制数字,运算后转换为十六进制再与后项相加,将和转换为ASCII码。例如:X7的地址为7+0080H=0087H,对应代码30,30,38,37;
Y13的地址为00A0H+13=00A0H+DH=00ADH,对应代码30,30,41,44;
D123的地址为1000H+1232=1000H+F6H=10F6H,对应代码31,30,46,36;
M40的地址0100H+402=0100H+50H=0150H,对应代码30,31,35,30。
1.3 例子
给Y1写入1的代码如下:
注:Y0-Y7是1个字节,所以BYTE是30,31;
Y1写入1后Y0-Y7变为0000 0010,即0 2。转换为ASCII码30,32
和校验SUM的计算:31H+30H+30H+41H+31H+30H+31H+30H+32H+03H=1C9H,取后两位C 9,转换为ASCII码为43,39。