c语言和PLC串口通信编程,用C语言实现PLC和上位机的串行通讯

1  原理分析

本文以三菱meclec a系列plc为例,讨论用c语言实现通讯的方法。

(1) plc串行通信

三菱a系列plc串行通信模式,plc中有2个rs-232异步通信串行接口,能方便用于双机、多机之间的通信,其通信模式有ascii和rtu两种方式。ascii模式下,信息是以冒号(:)字符表示帧的开始,cr(回车)、lf(换行)表示帧的结吏,换行符同时也起同步符作用,表示发送方已准备好接受即时应答。rtu(远程终端设备)模式下,帧的同步模拟同步报文来保持,即以字符间隔时间为起始位,若3.5个字符时间未收到新字符或帧尾,则刷新原值且以下-个接受到的字节为地址进行通信数据的接收。rtu报文的帧结构如表1所示。

20081129115413750.gif

本文以rtu模式为例加以分析。rtu模式下,采用标准为八个数据位(低位在前,高位在后)1个奇偶校验位和1个停止位。

(2) uart基本特性分析

微机实现异步通信是依靠适配器来完成的,而后者又是以uart芯片,即通用异步收发器芯片为核心构成的。

ibm pc的异步通信适配器使用的uart芯片为ins 8250。它是40引脚双列直插式封装的可编程异步通信接口芯片。现将8250中几个寄存器介绍如下(端口地址仅以com1为例)

a) 线路控制寄存器(端口地址3fb)

此寄存器用来设置通信参数。各位作用如下所示:

位(bit)                含义

0 字符长度(低位)

1 字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值