APP下载

单片机控制系统通信模型探析

2019-01-23翁子寒

微型电脑应用 2019年1期
关键词:主从字段串口

翁子寒

(上海儿童医学中心,上海 200127)

0 引言

信息科技的不断进步带动着工业制造领域的转型升级。表现为日趋扩大的有关测量的领域,更多的工业制造可以进行自动控制、动态监控。单片机在汽车机车、光伏发电、柴油发电机、液压支架、直升机自动飞行等多领域起到了重要作用[1-5]。这样的态势之下,原有的单个单片机芯片以及较小范围内的芯片整合所构成的功能不能应对机械制造业内的发展需求。为满足上述领域对工业控制的需求,进而实现大面积的过程监控、数据采集和测算任务,有必要在各设备内形成一种通用的信号传输共享机制,构建灵活实用的分布式系统。此外,还需考虑规模化工业设备的复杂性、即时性特点,这些均需要物与物、物与PC之间的网络相连以保障控制及监控的稳定高效。现有文献较为分散,仅阐述其单个领域运用单片机所进行的实用探究,未能从理论上阐述在工业制造内有关控制、测量、监控功能的通信机理[6-7]。据此本文构建连接到以太网、PC互连、单片机联通的全方位的控制系统,探究利用单片机芯片完成的通信模型的分析,在归纳概括相应总线协议标准、架构流程内容的基础上,完成相应的硬件设计和软件测试。

1 系统层次

分布式控制系统的主要结构,如图1所示。

图1 网络设备分层结构

由下往上分别是设备控制、操作监控、信息管理功能[8]。上述功能的载体为经过概括整合的网络设备或软件功能的抽象,具体分配划分如下。单片机分布在底端的位置,承担对设备直接操控任务,依据上层PC发出的指令对下面的设备进行操作;处于中间位置联通上下两结构的是一些监控软件,对下将单片机反馈回来的信息进行传递,使上层客户能对整体的运转有准确的把控,同时通过对单片机的各类指令,能够及时的调整下层管控的运行状态;最上面的信息管理是整个监控机制的关键所在。借助于对由下往上逐级传递而来的参数、数据、反馈信息的处理,确保客户能够进行下一阶段的指令发布。对应构建的通信电路图,其通过特定的接口模块连接到某个监控PC上,如图2所示。

图2 通信模型

2 多主通信模式

对于寻求特定状态下与主动向上层设备发起通讯连接的状况,需要利用CAN总线标准的多主通信模式。上述模式在控制系统内体现的较为明显。可依据规则让单片机最先向监PC传递数据信息,进一步优化监控PC巡检任务。涉及到软件、测量单元、适配器等实体的监控系统的协议层次结构,其中列出通信帧传递的方向和路径[9],如图3所示。

图3 协议层次结构

监控层和设备层传输信息所用数据帧格式与总线标准相关。RS-232协议调和上述两层串行通信。图4为RS-232协议帧结构[10],如图4所示。

图4 RS-232协议帧结构

给出了数据帧的字段说明,OPT与CTL编码共同表征数据帧定义,体现串行通信协议各项功能。DATA字段大部分时间是通过CAN数据帧起作用,如表1所示。

表1 帧字段说明

上述串行通信协议具有五类功能,除去SEND以及EVENT之外的均是在调试过程中所需要的[11]。由此CAN总线网络适配器可通过OPT、CTL字段不同的编码方式明确预先设置好的动作,详细的编码细节不再叙述,如表2所示。

表2 串行通信协议功能

CAN应用层协议用于数据内容的共享与交互传输,保证远程测量单元与监控软件能通过定义的专用设定控制与传输规则的接口,对应帧结构,如图5所示。

图5 CAN应用层协议帧结构

其较之RS-232多了基于拓扑结构和通信模式而增添的寻址功能,对应帧字段解释,表现为参数和编码相结合的命令形式[12],如表3所示。

表3 帧字段说明

3 主从通信模式

3.1 理论基础

主从式通信模式的基本特点是待连接的下层单片机收到来自于监控PC的数据帧,对照收到数据内容所带标识与本身所带是否一致,以确定是否进行应答、执行、丢弃重发等操作。在设备层和监控层之间进行数据和信息的交互以完成上下行所用的数据帧。其通信时序图如图6所示。

RS-485接口利用Modbus总线协议进行控制器的信息传输,完成数目较多仪器的监视和控制[13]。本文将TIA/EIA-485 充当物理接口通过RTU模式实现Modbus协议下的串口通信。RTU模式在波特率一定的情况下的吞吐量高于ASCII模式下的吞吐量[14]。如图7所示。

3.2 电路设计

接口电路作为设计,如图8所示。

其中芯片SN75LBC 184[15]是RS-485类型的且单电源供电。为避免外围电路干扰,同时隔断接口芯片与单片机可能存在的点连接,利用芯片TLP521起到隔离作用[16]。RS-485中程序作用的机理是处理主PC发来的请求帧,从机应答重点在其中的请求功能码、从机地址的辨别。

Modbus协议主从机通信流程如图9所示。

图6 主从机通信时序图

图7 RTU模式字符序列

所设通信系统与服务器进行信息交换中的程序是与协议功能和串口接收相关的两部分,主要步骤如下所示。主机发送请求报文帧。从机获取到该信息,开始逐步筛选帧内的字段,判别是否与本机地址一致,若对比不一致则即刻丢弃;对比一致检验判断主机请求功能码,在确保能提供该功能的情况下执行动作,否则显示错误信号;在这之后,调用CRC 16检验函数,执行差错校验任务,拟定差错校验值置于响应报文帧最后部分,将结果发送到主机。

图8 RS-485接口电路设计

图9 主从机通信流程图

4 测试结果与分析

通过单片机通信接口1、2分别对应的RS-232、RS-485进行连接,以异步方式与仪器设备联通,上述模块为进行测试的串口模块,本测试主要是验证该接口的性能进而验证所设计的通信模型的准确稳定运行。在本测试中,其他设备处于在线联通状态下,相关设置如下:RS-232与PC直接联通,RS-485经过转换器格式变化后再输入到单片机内。在PC显示的界面上,依据串口调试工具来完成测试。测试中的串口设置和最终收到数据的结果显示,如图10所示。

说明单片机收到了模拟工具所传输的数据且将之转发。单片机借助于RS-232、RS-485得到的调试工具发来的信息后,原封不动的返回获取到的信息。串口调试工具接收结果处内容和发送操作框内的内容相同。检测单片机内串口缓存区域,也可获得与上述发送接收具一致的内容。这说明所构成的控制系统的通信模块部分数据传输正常稳定。

本文构建的通信模型内的传输功能大多分布在从机内,由从机向PC或服务器传输信息内容。根据上述设置,需验证Modbus数据帧依据所设规范获取信息。具体操作步骤如下,选取数量为2的RS-485总线的进行测试验证,标记从机地址依次为01、02。流程第一步为检验从机是否与主机有效互连,确保转换器的效力,同时保证其相互之间串行相接距离五米。第二步为在主PC上开启Modscan32,设置为波特率为5200bps的串口功能,对02从机传输字符为“02 03 00 00 00 02 "的请求帧,随后收到字符串为“02 03 20 14 10 25 08 13 49 07 00 10"。在上述动作发生后,向01从机传输如上述一致的请求帧,从机收到后回复主PC字符串“01 03 20 1410 26 123056010220”。上述流程进行完毕之后测试工具Modbuscan32内状态,确认相应信息的格式和接收状况完好。如图11所示。

图10 发送和接收界面

图11 Modbus测试情况

结果显示,Modbus协议下数据传输未出现遗漏或差错,且从机得到的信息格式和预先设置的相同,通信模块内的RS-485总线通信性能稳定性较高。

5 总结

主要探究单片机在工业测量和监控内的应用,对这一控制系统进行分析。在对应通信模型的基础上从多主通信和主从通信两类模式进行RS-232、RS - 485 和CAN 总线标准及协议的研究。重点对RS-485总线通信的硬件模块和软件流程进行设计,包括相关主从机的中断子程序和单片机功能程序。最后,在此基础上进行了Modbus RTU、串口功能测试,验证了单片机在结合上述功能模块构造出的通信模型的稳定性和有效性。

猜你喜欢

主从字段串口
带钩或不带钩选择方框批量自动换
Antarctica's pretty pink snow
Boy dresses up to honor school security officer
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
浅谈台湾原版中文图书的编目经验
旋转位似的性质与主从联动法
MCS—51单片机中的多串口通讯技术的应用
无正题名文献著录方法评述
无正题名文献著录方法评述