表1 FX系列可编程序控制器的命令格式
命令 命令号 日标设备 功 能
设备读 命令‘0’ X/Y/M/S/T/C/D 读位设备或字设备状态
设备写 命令‘1’ X/Y/M/S/T/C/D 写位设备或字设备
强制开 命令‘7’ X/Y/M/S/T/C 打开位设备
强制关 命令‘8’ X/Y/M/S/T/C 关闭位设备
每一个字符都以ASCII码形式串行传输,传输格式如图6。
图6 字符传输格式
例如,字符‘F’(ASCII码是46H)的传输格式如图7。
图7 字符“F”的传输格式
一般文本数据的传输格式如图8。
图8 文件数据传输格式
图8中,STX为文本的开始,其ASCII码定为02H;ETX为文本的结束,其ASCII码定为03H;CMD为命令字符,取‘0’、‘1’、‘7’、‘8’。
在STX之后,被传送数据的ASCII之和,也被作为2个字符码发送。
例如,实现从地址10F6(10F6为寄存器D123的地址)处读取4个字节数据,执行传输格式如图9。
求和:30H+31H+30H+46H+36H+30H+34H+03H=74H
图9 传输格式之例
通过改变命令号和地址号,就可以实现计算机与PLC之间的读、写、强制开关等基本功能,用户可以使用我们研制的通信软件,也可以在该软件基础上,根据实际情况灵活地用C语言开发自己的通信程序,这正体现了该软件的开放性特点。