1 原理分析
本文以三菱meclec a系列plc为例,讨论用c语言实现通讯的方法。
(1) plc串行通信
三菱a系列plc串行通信模式,plc中有2个rs-232异步通信串行接口,能方便用于双机、多机之间的通信,其通信模式有ascii和rtu两种方式。ascii模式下,信息是以冒号(:)字符表示帧的开始,cr(回车)、lf(换行)表示帧的结吏,换行符同时也起同步符作用,表示发送方已准备好接受即时应答。rtu(远程终端设备)模式下,帧的同步模拟同步报文来保持,即以字符间隔时间为起始位,若3.5个字符时间未收到新字符或帧尾,则刷新原值且以下-个接受到的字节为地址进行通信数据的接收。rtu报文的帧结构如表1所示。
本文以rtu模式为例加以分析。rtu模式下,采用标准为八个数据位(低位在前,高位在后)1个奇偶校验位和1个停止位。
(2) uart基本特性分析
微机实现异步通信是依靠适配器来完成的,而后者又是以uart芯片,即通用异步收发器芯片为核心构成的。
ibm pc的异步通信适配器使用的uart芯片为ins 8250。它是40引脚双列直插式封装的可编程异步通信接口芯片。现将8250中几个寄存器介绍如下(端口地址仅以com1为例)
a) 线路控制寄存器(端口地址3fb)
此寄存器用来设置通信参数。各位作用如下所示:
位(bit) 含义
0 字符长度(低位)
1 字符