计算机链接又叫做专用协议通信,适用于串行通信中,其传输的是指令而非直接的信息,这些指令是预先制定的一些协议。通信时,传输的是ASCⅡ字符串,双方需对接收到的字符串进行分析。
由FX系列PLC构成的计算机链接系统,有两种规定的协议通信格式,可以通过设置特殊数据寄存器D8120的b15来进行选择格式1(b15=0)或格式4(b15=1)。特殊数据寄存器D8120定义见表8-17。
表8-17 D8120位信息表

(续)

1.协议通信格式1
(1)用于计算机从PLC读取数据,其读取过程如图829所示,可分为如下三步来执行:
1)计算机向PLC发送读取数据命令;
2)PLC接收到计算机的读取命令后执行相应的操作,将要读取的数据发送给计算机;
3)计算机在接收到相应的数据后向PLC发送确认响应,表示数据已接收到。

图8-29 协议通信格式1下计算机从PLC读取数据
(2)用于计算机向PLC写数据,其过程如图830所示,可分如下两步来执行:
1)计算机首先向PLC发送写数据命令;
2)PLC接收到写数据命令后执行相应的操作,执行完成后向计算机发送确认信号,表示写数据操作已完成。

图8-30 协议通信格式1下计算机向PLC写数据
图8-29和图8-30中,“站号”用来确定计算机在访问哪个PLC,在FX系列PLC中,站号是通过特殊数据寄存器D8121来设定的,设定范围为00H~0FH。“PC号”是用来确定PLC的CPU数字,FX系列PLC的PC号是FFH,由两位ASCⅡ字符来表示。“字符区域”的内容依赖于具体的单个系统,不随控制协议的格式而改变。“和校验代码”用来确定信息中的数据有没有受到破坏,由特殊数据寄存器D8120中的b13设定。当D8120的b13=1时,使用和校验码,和校验码根据和校验区域(从站号到字符区域)中的ASCⅡ字符的十六进制值求和得到,求和结果的低两位数字(十六进制)作为和校验码,由两个ASCⅡ字符表示。如果读/写数据的命令有误,PLC则向计算机发送有错误代码的命令,如图8-29和图8-30中以“NAK”开始的命令。若无误,则发送“ACR”开始命令。
例1-已知传输站号为0,PC号为FFH,命令为BR(元件存储器或批读),消息等待时间为30 ms,字符区域的数据为ABCD,计算和校验码。
如图8-31所示,将和校验区域内的所有字符的十六进制ASCⅡ码相加,所得和(30H+30H+46H+46H+42H+52H+33H+41H+42H+43H+44H=2BDH)的最低两位数为BDH,即和校验码为(42H、44H)。

图8-31 和校验码的计算
2.协议通信格式4
协议通信格式4与协议通信格式1的差别在于:协议通信格式4的每一个传输数据块上都添加终结码CR+LF。使用协议通信格式4时,PLC与计算机之间读/写数据的传输格式如图8-32和图8-33所示。
3.对控制协议各部分的说明(https://www.xing528.com)
(1)控制代码-控制代码见表8-18。
1)当PLC接收到ENQ、ACK、NAK中任意一个时,即初始化传送序列,并开始起动;
2)当接收到下述EOT或CL代码时,PLC初始化传送序列,此时PLC将不做响应。

图8-32 协议通信格式4下计算机从PLC读取数据

图8-33 协议通信格式4下计算机向PLC写数据
表8-18 控制代码表

(2)站号-站号是用来确定计算机要访问哪一个PLC。在FX系列PLC中,站号是通过特殊数据寄存器D8121来设定的,设定范围是从00H到0FH。对于FX0N系列,当使用特殊D8121时,应打开M8120。
1)在设定站号时,不要为多个站设定相同的站号,否则传送数据将会混乱,并引起通信不正常。
2)站号不必按数字顺序来设定,在指定范围内(00H到0FH)可自由设定,例如按随机的顺序或跳过一些数字都是可以的。
(3)PC号 由两位ASCⅡ字符来表示,FX系列PLC的PC号是FFH。当使用接通要求功能时,由PLC自动将PC号转为FFH。
(4)命令 用来指定要执行的操作,例如读、写等,命令用两位ASCⅡ字符来定义。
(5)消息等待 这是一些计算机要求的一个延迟时间,以实现在发送和接收状态间的转换。消息等待时间决定了PLC在从计算机接收到一个消息之后到它发送数据之前的最小延迟量,请根据计算机的具体情况设定等待时间。消息等待时间可在0~150ms之间设定(以10ms为增量),用一位ASCⅡ字符来设定其值(0~F),0~FH(即0~15)代表0~150ms。
当在1∶N系统中使用RS 485PC IF时,必须设定消息等待时间为70ms或更长;如果在网络中PLC的扫描时间是70ms或更长,消息等待时间须设定为最大扫描时间或更长。
(6)和校验代码 和校验代码用来确认消息中的数据有没有受到破坏,它是求和校验区域中ASCⅡ字符十六进制值的总和,总和结果的低两位数字(十六进制)的ASCⅡ符即为和校验代码。
4.计算机链接的错误代码
(1)NAK错误代码 错误代码在NAK之后送出,以指示错误发生的类型。错误代码由两个ASCⅡ码表示,这两个ASCⅡ码是从00H到FFH的十六进制码。如果两个或更多的错误同时发生,则发送最小的错误代码的低位数字,见表819。
表8-19 NAK错误代码

(2)PLC的错误代码-对于FX系列的PLC,表820所示错误没有使用NAK传输,而是通过打开PLC中的特殊继电器M8063,并且将错误代码保存在特殊数据寄存器D8063里面。因为这些错误不传输,所以,必须在计算机里通过监控定时器或其他监视定时器来识别错误。
表8-20 特殊数据寄存器的D8063错误代码

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
