APP下载

嵌入式工控网络的Proteus 仿真研究

2016-05-04从宏寿,蔡娆娆

自动化仪表 2016年4期
关键词:子站下位工控



嵌入式工控网络的Proteus 仿真研究

0引言

嵌入式工控网络是典型的集散控制系统,在工业控制现场得到广泛应用。该系统由上下位机构成,上位机实现集中管理,下位机负责分散控制。上下位机之间通过网络连接[1],上位机采用工控机,可记录各站点工作状态、历史曲线,发送控制命令等;下位机通常由单片机、DSP、PLC站点等构成,负责独立控制现场设备。

Proteus是一款集单片机仿真与SPICE分析于一体的EDA仿真软件。一般情况下,虚拟仿真环境不能与实际的物理环境进行交互通信,但Proteus提供的组件COMPIM(串行接口组件),使Proteus虚拟环境与实际的物理环境直接交互成为可能。当PC机或UART软件生成的数字信号出现在COM口(串口)时,COMPIM能缓冲接收数据[2]。鉴于此,以Proteus为单片机开发平台,可在一台PC上实现嵌入式工控网络设计与仿真分析。PC机与下位机之间通过COM口连接,设计关键是通信协议。

1Proteus虚拟环境与上位机通信模型

Proteus虚拟环境在PC1,串口调试助手软件在PC2,且PC1与PC2都有物理串口[3]。Proteus虚拟环境与实际PC通信模型如图1所示。

图1 Proteus虚拟环境与实际PC的通信模型图

Proteus虚拟环境与虚拟PC串口的通信模型如图2所示。

图2 Proteus虚拟环境与虚拟PC的通信模型图

如果不希望使用物理PC串口而使用虚拟PC串口,则可在一台PC上实现Proteus虚拟环境与虚拟PC串口之间的通信。这时,还需要安装虚拟串口驱动软件(virtual serial port driver,VSPD)。这对手提电脑的用户非常实用,因为手提电脑通常没有物理COM口。

2基于Proteus 的嵌入式工控网络设计

2.1嵌入式工控网络结构的设计

嵌入式工控网络结构如图3所示。

图3 嵌入式工控网络结构图

上位机为PC机及应用软件,下位机由单片机构成应用系统,上下位机之间通过串口连接。由于实际工控网络系统需要串口连接线,考虑到串口驱动能力,下位机最多可连接32个单元,且终端需要120 Ω匹配阻抗。在Proteus虚拟环境中,上下位机之间的通信不需要串口连接线,通过虚拟串口驱动软件Virtual Serial Port Driver实现驱动,且下位机数量不受限制。端口分配:上位机为COM5,下位机1~32全部为COM4。

2.2嵌入式工控网络通信协议设计

嵌入式工控网络结构可分为应用层、数据链路层、物理层3层。应用层负责应用程序的管理和执行,其功能由单片机及PC应用程序实现;数据链路层为串口通信协议(如异步数据帧格式),保证数据的可靠传输,实现传输速率和差错控制;物理层为物理接口和传输介质[4-5]。

应用层通信协议由地址码、数据标志、数据码构成。地址码有5位,共32个代码,对应32个子站;数据标志说明每帧传输的有效数据字节数,如每帧传输128个字节数据,则为7位,数据标志的长度可根据待传输的数据长度增减;数据码为待传输的有效数据,数据量不足的补0处理。在实际应用时,考虑到传输的可靠性,还可在数据码后面增加校验码,如循环冗余校验[6]。

链路层通信协议,即串口异步数据帧,如图4所示。

图4 链路层通信协议

上位机发送给下位机的数据,按照应用层协议组成数据包,发送时以二进制形式按字节发送至串口;链路层协议为异步数据帧,上位机和下位机分别通过程序设置完成,包括端口号、波特率、数据位长度、奇偶校验位,应用层数据发送至串口的数据自动按照链路层协议传输[7]。下位机接收到上位机数据以后,先分离地址码,并与本机地址码进行比较,确认为本机地址码后,再接收数据标志和数据;若不是本机地址码,则不接收后面的数据标志和数据。下位机发送给上位机的数据,也按照同样的规则传输[8]。

3基于Proteus 的嵌入式工控网络的实现与仿真

3.1功能要求

本文所设计的嵌入式工控网络的主要功能要求是:主站(上位机)发送数据至子站(下位机),控制子站LED灯的循环点亮与熄灭;子站接收来自主站的指令后,可以独立工作,互不影响。此外,子站开关闭合后,可控制子站向主站发送文本信息。主站可以接收来自各个子站发送的信息并且加以显示,同时不同的文本信息不会被擦除,以待分析对比。

3.2通信协议设置

应用层通信协议设置:根据控制子站的个数和所发送指令的长短,可自行确定通信协议中的数据帧长度。本文以控制两个子站为例,考虑到实际应用中最多可控制32个子站,故设置子站地址码为“00000”和“00001”,分别对应子站1和子站2;数据标志为2位,可以标志出数据码中1~4个有效字节数,即“00”(1个有效字节)、“01”(2个有效字节)、“10”(3个有效字节)、“11”(4个有效字节);控制命令循环点亮LED为“1”,熄灭LED为“0”,控制命令作为数据码,需要补零处理,可以组成2个有效字节。数据帧包如表1所示。

表1 数据帧组成

将这些数据帧包赋给data数组,由VB以二进制形式发给子站。主站发送数据帧时,子站接收主站的数据帧,然后对地址和数据进行分离。判断数据帧中的地址码,如果是自己的地址码,则根据数据帧中的控制指令作出相应的反应。

链路层通信协议设置:为了便于串行通信设置,下位机(AT89C51)晶振时钟频率为11.059 2 MHz。打开串行接口组件COMPIM属性对话框,设置端口为COM5。该串口是使用软件虚拟出来的,波特率为9 600 bit/s,有8个数据位,无奇偶校验,有1个停止位。上位机端口为COM4,其他设置与下位机一致。COM4、COM5由虚拟串口驱动软件(VSPD)构建虚拟串口,可在一台计算机上实现嵌入式工控网络仿真。

3.3硬件实现

上位机使用VB构建应用界面,包括上位机对下位机所有控制按钮及用于接收下位机发送过来的文本信息的文本框,执行数据的发送与接收。下位机是由单片机组成的应用系统,其硬件在Proteus中实现,主要完成硬件平台的搭建和仿真效果的测试。

在Proteus ISIS环境中,调用2个AT89C51单片机、COMPIM组件(该组件设置单片机串口通信协议)等,组成单片机通信系统。COMPIM已经自带电平转换功能,就不需要MAX232元件。在P1口接8个LED,单片机的P3.0、P3.1分别与串口元件COMPIM的RXD、TXD相连。同时,单片机的P3.2分别连接一个按钮,用于触发外部中断,使下位机发送文本信息至上位机。

3.4软件实现

系统软件的实现包括PC上位机软件和下位机单片机系统软件的实现。

(1)上位机控制程序设计。

上位机使用VB建立界面和通信程序,完成数据的发送与接收。在工程中添加MSCOMM控件,然后进行相应的属性设置(波特率、奇偶校验、停止位、发送与接收事件的触发方式、发送数据的类型等),就可以用它发送与接收二进制数据或文本数据。上位机控制流程如图5所示。

(2)下位机控制程序设计。

下位机中的单片机主要完成串口接收与发送。下位机的单片机程序在Keil软件中编写。Proteus中的单片机系统加载控制程序,可实现联调,以便对嵌入式工控网络进行评估、验证。此外,还可以通过改变元器件参数优化电路设计。控制流程如图6所示。

图5 上位机控制流程图(发送数据)

图6 下位机控制流程图(接收数据)

3.5嵌入式工控网络的仿真分析

启动Proteus和VB的仿真按钮,点击VB(主站)中相应的按钮,观察分析仿真结果,如图7所示。

图7 嵌入式工控网络的仿真结果

图7中,电阻R的阻值为200Ω。上位机控制下位机2的LED灯被循环点亮。综合其他仿真结果,分析说明了该嵌入式工控网络设计实现了上位机对下位机即多个单片机的独立控制。单击仿真电路里的K1(或K2)触发外部中断,下位机发送信息至上位机中的VB应用程序。

本设计不仅实现了PC机控制多个下位机的任务,同时还可以接收多个下位机发送来的信息,从而实现了嵌入式工控网络中上位机与下位机之间的双向通信。

4结束语

本文在串口通信的基础上,设计了一种适应于嵌入式工控网络的通信协议。以Proteus虚拟环境为平台,采用AT89C51单片机设计了两个子站(下位机),用VB设计主站(上位机)程序,并借用虚拟串口驱动软件(VSPD)构建虚拟串口。该设计在一台PC上实现了上位机与下位机之间的通信。仿真结果表明,设计结果满足嵌入式工控网络的应用要求。

参考文献

[1] 王中伟.嵌入式工控机系统分析与设计[D].西安:西北工业大学,2005.

[2] 李朝青,刘艳玲,沈怡麟,等.单片机与PC机网络通信技术[M].北京:北京航空航天大学出版社,2007:100-115.

[3] 从宏寿.电子设计自动化:Proteus在电子电路与51单片机中的应用.[M].西安:西安电子科技大学出版社,2012:240-246.

[4] 沙燕萍,金德鹏,皇甫伟,等.简单数据链路协议的同步性能[J].清华大学学报:自然科学版,2008,42(7):887-880.

[5] 吴凌云,王静.串口通信数据的传输[J].数字技术与应用,2013(2):35-36.

[6] 李煊,丁为.常用设备串口通信协议及其应用[J].自动化仪表.2011,32(10):82-86.

[7] 刘根贤,王海霞,刘振宇,等.嵌入式处理器片外访存加密机制设计与实现[J].计算机工程与应用,2014(22):92-96.

[8] 邵新华,金元郁,吕学芳.基于组态软件与VB的实时监控系统[J].控制工程,2003,10(5):439-440.

Research on Proteus Simulation for Embedded Industrial Control Network

从宏寿蔡娆娆

(安徽工业大学电气与信息工程学院,安徽 马鞍山243000)

摘要:以Proteus为平台,对同一窗口放置多个单片机构成多个子站(下位机)进行了研究。采用COMPIM组件,结合物理串口或虚拟串口,应用VB6.0、C51分别编写上位机程序、下位机程序,实现子站(下位机)与主站(上位机)的通信,构成嵌入式工控网络。若采用虚拟串口,可在一台PC上实现嵌入式工控网络的仿真研究。设计结果满足嵌入式工控网络的应用要求。

关键词:Proteus串口通信通信协议通信模型嵌入式工控网络单片机集散控制系统VB

Abstract:With Proteus as the platform,the scheme of placing multiple single chip computers in the same window to constitute a plurality of sub-stations(lower computers) is researched.By using COMPIM components and combining physical serial port or virtual serial port,and VB6.0,C51 for respectively writing program of host computer and lower computer program,the communication between substation(lower computer) and master station(host computer),and the embedded industrial control network is constituted.If virtual serial ports are used,the simulation research of embedded industrial control network can be implemented on one PC.The design result meets the application requirement of embedded industrial control network.

Keywords:ProteusSerial communicationCommunication protocolCommunication modelEmbedded industrial control networkMCUDistributed control system(DCS)VB

中图分类号:TP368;TH89

文献标志码:A

DOI:10.16086/j.cnki.issn1000-0380.201604014

国家自然科学基金资助项目(编号:51277003)。

修改稿收到日期:2015-05-30。

第一作者从宏寿(1971-),男, 2005年毕业于西安电子科技大学自动化专业,获硕士学位,副教授;主要研究方向为嵌入式系统和计算机控制。

猜你喜欢

子站下位工控
工控编程编译工具应用现状分析及展望
工控系统脆弱性分析研究
液压平推CNG子站改造为标准CNG子站的建议
提高火力发电厂自动电压控制系统投入率的措施
发射机房监控系统之下位机
浅谈10kV配电自动化系统设计
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
配电自动化建设方案研究
围观党“下位”,吐槽帝“登基”