FX系列PLC与计算机之间的通信若采用的是RS-323C标准,数据交换格式为字符串方式,如图6-18所示。在字符串格式中,左边第一位是开始位;中间7位是数据位,必须用字符的ASCII来表示。这里所用到的字符与ASCII码的对应关系见表6-2,右边2位分别是奇偶校验位(采用偶校验)和停止位。
在FX系列PLC与计算机的通信中,数据是以帧为单位发送和接收的,每一帧为10个字符。其中,控制字符ENQ、ACK或NAK可以构成单字符帧,其余的字符在发送或接收时必须用字符STX和ETX分别表示该字符帧的起始标志和结束标志,否则将不能同步,产生错帧。多字符传送时构成多字符帧,一个多字符帧由字符STX、命令码、数据、字符ETX以及和校验值五部分组成,如图6-19所示。其中,和校验值是将命令码到ETX之间所有字符的ASCII码(十六进制数)相加,取所得和的最低二位数。命令码只有“0”、“1”、“7”、“8”4个数字,对应的功能为:“0”表示读PLC软元件数据;“1”表示写PLC软元件数据;“7”表示对PLC软元件强制置“1”;“8”表示对PLC软元件强制置“0”。命令码的主要操作对象是PLC的X、Y、M、S、T、C等软元件,“0”、“1”还可以对数据寄存器D操作。
图6-18 FX系列与计算机之间通信的字符串格式
a)数据格式的规定 b)字符ENQ(OSH)的格式
表6-2 FX系列PLC与计算机之间通信所用的字符与ASCII码对应关系(www.xing528.com)
在FX系列PLC与计算机的通信中,PLC始终处于一种“被动响应”的地位,无论是数据的读或写,都是先由计算机发出信号。开始通信时,计算机首先发送一个控制字符ENQ去查询PLC是否做好通信的准备,同时也可检查计算机与PLC的连接是否正确。当PLC接收到该字符后,如果它处在RUN状态,则要等到本次扫描周期结束(即扫描到END指令)时才应答;如果它处在STOP状态,则马上应答。若通信正常,则应答字符为ACK;若通信有错,则应答字符为NAK。如果计算机发送一个控制字符ENQ,经过5s后,什么信号也没有收到,此时计算机将再发送第二次控制字符ENQ,如果还是什么信号也没有收到,则说明连接有错。当计算机接收到来自PLC的应答字符ACK后,就可以进入数据通信了。
当计算机发送数据时,其RS-232C接口上的ER端为高电平,与其相连接的FX-232AW接口模块上的DR端也为高电平,表示计算机的数据就绪,PLC可以接收数据了。此时,PLC被强制处于接收数据状态。当计算机发送完数据后,必须将ER端置为低电平,保证计算机处在接收数据的状态,以读取PLC的应答信号。当计算机收到PLC的应答信号后,复位通信线路,表示本次通信完成。
图6-19 多字符帧的组成
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。