6ES7214-2BD23-0XB8多库发货
1 引言
可编程逻辑控制器(PLC—Programmable LogicController),简称可编程控制器,它是以微处理器为基础,综合了计算机技术、通讯技术和自动控制技术发展而来的一种新型工业控制装置。它问世于20世纪60年代,到现在仍保持旺盛的发展势头。它具有体积小、功能丰富、配置灵活、适应恶劣环境、抗干扰性强、可靠性高、编程方便、价格便宜等优点,广泛用于电力、机械、冶金、化工、轻纺等各个工业过程自动控制中。它不仅可以取代传统的继电器控制系统,还可构成复杂的过程控制网络。
现场总线技术是20世纪80年代后期发展起来的,它是目前自动化领域中的一个热点,是新一代控制系统的发展方向,它综合了数字通信技术、计算机技术、自动控制技术、网络技术和智能仪表等多种技术手段,从根本上突破了传统的“点对点”式的模拟信号或数字—模拟信号控制的局限性,构成一种全分散、全数字化、多变量、多节点的通信与控制系统。现场总线则是连接现场智能设备和自动化控制设备的数字式、双向传输、多分支结构的通信网络,其基础是数字智能现场装置。分散在各个现场的数字智能现场装置通过现场总线连为一体,并与控制室中的控制器和监视器一起构成现场总线控制系统(FCS—FieldbusControl System)。
现场总线技术实际上是采用串行数据传输和连接方式代替传统的并联信号传输和连接方式的方法,它依次实现了控制层和现场总线设备层之间的数据传输,在保证传输实时性的情况下实现信息的可靠性和开放性。一般的现场总线具有以下几个特点:(1)布线简单;(2)开放性;(3)实时性;(4)可靠性;(5)高效诊断;(6)硬件灵活。
目前,国际上各种各样的现场总线有很多种,统一的尚未建立。其中有较强实力和影响的有: FF(FoundationFieldbus 基金会现场总线)、HART(Highway Addressable RemoteTransducer)、CAN(Controller Area Network 控制器局域网)、Profibus(ProcessField Bus 过程现场总线)、INTERBUS、LonWorks(Local Operating Network局部操作网络)、WorldFIP、MODBus、DeviceNet、ControlNet 、ASi(Actuator SensorInterface 执行器传感器接口)等。
基于PPC工业计算机、PLC及现场总线的电气控制系统在工业自动化领域,如冶金、电力、石化、矿山、水泥、水处理、乳品饮料、啤酒罐装、烟草加工、机械装配、产品包装等已得到广泛的应用,在铁路大型养路机械电气控制系统中还没有广泛应用。本文根据铁路大型养路机械控制系统的特点,提出一种基于PPC工业计算机、PLC及INTERBUS现场总线的铁路大型养路机械电气控制系统的设计方案。
2 现状
养路机械化是实现铁路维修养护现代化、保证铁路不间断运输和行车安全的重要技术手段。为适应铁路快速、重载以及轨道结构重型化的技术发展要求,发达国家铁路相继采用大型养路机械进行铁路线路维护,到上世纪80年代末,已基本形成以大型养路机械为主要作业手段的格局。而此时,我国还在依靠手工、小型机械和非标准自制设备进行线路维护,作业质量差、效率低,特别是在繁忙干线,线路维护与运营的矛盾尤其突出。
上世纪80年代初期,我国从奥地利普拉塞—陶依尔公司引进了先进的大型养路机械制造技术,确立了大型养路机械的发展采取“技术引进—消化、吸收—国产化生产—开发、创新”的途径。通过20多年的引进技术和国产化生产,我们学习了国外大型养路机械的先进技术,更新了传统的设计观念,拓宽了开发思路,增强了开发具有自主知识产权产品的能力。
随着铁路的跨越式发展和市场竞争的加剧,加快推进大型养路机械引进、消化、吸收国外先进技术的进程,加快具有自主知识产权产品的研发,加快新产品开发速度,发展核心技术,创新和超越已经成为现阶段工作的重中之重,已经刻不容缓。
铁路大型养路机械是集机械、液压、气动、电气、计算机、激光等技术于一体的铁路专用机械。按功能分有以下系列:清筛机、捣固车、配碴车、稳定车、钢轨打磨车、钢轨探伤车、轨道检测车、架线车、焊轨车、道岔铺换机组等。对于不同功能的铁路大型养路机械电气控制系统来说,其本质的区别在于作业监视控制系统。到目前为止,我国的清筛机、捣固车、配碴车、稳定车等铁路大型养路机械的技术主要是在引进、消化吸收奥地利普拉塞—陶依尔公司铁路大型养路机械技术的基础上发展起来的,它属于模拟集中式控制系统,它主要由以下子系统组成:
(1)整车电源子系统;
(2)柴油机监视控制子系统;
(3)高速走行监视控制子系统;
(4)作业监视控制子系统;
(5)辅助设备子系统:包括照明、通话、取暖及空调等。
其中作业监视控制子系统是各类铁路大型养路机械电气控制系统的核心,它完成作业机构状态的监视、完成作业机构动作的控制。不同功能的铁路大型养路机械,其作业监视控制系统的复杂程度有着很大的差别。如清筛机和配碴车,它的作业监视控制系统比较简单。而捣固车、稳定车、钢轨打磨车、钢轨探伤车、轨道检测车、架线车等,它们的作业监视控制子系统就比较复杂。下面以稳定车的作业监视控制子系统为例作一介绍,它由以下部分组成:
(1)计算机控制部分:由上位机控制板、键盘、显示器构成;
(2)程序控制部分:由下位机控制板、I/O板、功率输出板组成的微机系统构成;
(3)模拟量控制部:由A/D转换板、D/A转换板、频率测量板、各种功能的模拟控制板构成;
(4)测量部分:由左、右抄平传感器,加速度传感器,振频传感器等构成;
(5)轨道参数记录部分:由记录仪、前、后电子摆,正矢传感器,测量轮等构成。
普拉塞—陶依尔公司的模拟集中式控制系统的特点如下:
(1)各子系统的监视部分都使用模拟仪表或数字显示器或指示及报警灯;
(2)功能复杂机型作业监视控制子系统的控制部分都使用插装式模拟电路板和由插装式电路板组成的微机系统;
(3)作业监视控制子系统中各I/O信号的接线方式均为“终端(开关、传感器/电磁阀、继电器)—作业主控制柜”或“终端元件(开关、传感器/电磁阀、继电器)—中间过渡箱—多芯电缆—作业主控制柜”的传统接线方式(如图1);
(4)轨道参数记录系统为一个独立的系统,与微机及计算机系统没有通讯和数据交换。
图1:传统的接线方式
普拉塞—陶依尔公司的模拟集中式控制系统存在以下不足:
(1)监视仪表、指示及报警灯安装位置分散;模拟仪表信号仅用作显示而未进入过程控制;
(2)插装式电路板的抗振性能、抗冲击性能、防尘性能均不好;模拟电路板的调整(如校“0”、标定)由多个电位器来完成,比较复杂;控制系统中采用模拟量对传输及控制信号进行转换、传递,其精度差、受干扰信号影响大,整个控制系统的控制效果及系统稳定性都较差;
(3)集中控制模式使得作业主控制柜体积较大;I/O信号传统的接线方式,使作业主控制柜中有大量连接电缆,使断点和接点增加而增加故障点,使检修和维护变得复杂。
3 系统要求
针对上面列举的不足,有必要设计一种新的电气控制系统,它应满足以下要求。
3.1 基本要求
新的大型养路机械电气控制系统应具有统一的显示、指示及报警,具有过程控制功能;具有较高的可靠性和稳定性,具有较好的抗振性能、抗冲击性能、防尘性能,能经受高温、高湿的环境。
3.2 具体要求
新的铁路大型养路机械电气控制系统主要针对柴油机监视控制子系统、高速走行监视控制子系统、作业监视控制子系统进行重新设计,而对于整车电源子系统和辅助设备子系统,它们都是点对点的简单控制,不作重新设计。下面详细介绍这三个子系统的各种输入输出信号。
3.2.1 柴油机监视控制子系统
3.2.1.1 柴油机监视部分
输入DI信号:油压开关信号、缸盖温度(水温)开关信号、空气滤清器开关信号、直流发电机发电状态开关信号等;
输入AI信号:转速传感器信号、油压传感器信号、缸盖温度(水温)传感器信号、电瓶电压信号、柴油油位传感器信号等;
输出DO信号:预热指示信号等;
3.2.1.2 柴油机控制部分
输入DI信号:怠速位感应开关信号、高速走行位感应开关信号、作业位感应开关信号等。
输出DO信号:油门电机驱动信号等;
3.2.2 高速走行监视控制子系统(静液压传动模式)
3.2.2.1 高速走行监视部分
输入DI信号:各轴挂、脱挡感应开关信号等;
输入AI信号:速度—里程传感器信号等;
3.2.2.2 高速走行控制部分
输入DI信号:挂挡开关信号,点动挂挡开关信号,向前、向后走行开关信号,走行手柄位置信号等。
输入AI信号:走行手柄电位器信号等。
输出DO信号:向前、向后阀驱动信号,挂挡阀驱动信号等。
输出AO信号:走行泵比例阀驱动信号等。
3.2.3 作业监视控制子系统(以新型稳定车为例)
输入DI信号:各种开关、行程开关、感应开关信号共125个;
输入AI信号:左、右抄平传感器信号,前、后电子摆信号,正矢传感器信号,测量轮信号,加速度传感器信号,振频传感器信号共7个;
输出DO信号:各种开关电磁阀驱动信号共82个;
输出AO信号:比例电磁阀驱动信号共4个。
4 系统设计
4.1 INTERBUS现场总线简介
INTERBUS现场总线于1984年推出,其主要技术开发者为德国的PhoenixContact公司。INTERBUS现场总线采用非常独特的集总帧传输协议,有效数据传输率高达52%,具备强大的故障诊断功能;采用双绞线无中继器传输距离长达12.8公里;单主站可连接多达255个从站;扫描8192个I/O点的时间仅为7.8毫秒(500Kbps)。由于该总线的快速发展和广泛使用,INTERBUS已先后成为DIN19258德国标准、EN50254欧洲标准、IEC61158现场总线和中国机械工业标准JB/T10308.8所规定的标准现场总线。INTERBUS在全球有1000多家总线设备生产商,提供多达2500种产品。到目前为止,INTERBUS现场总线在世界各地的节点安装突破750万,在各种现场总线中名列第二。
,作为现场总线、PC-Based、工业以太网技术的先导,菲尼克斯又率先提出了Fieldbus+Ethernet这一新型自动化方案,构造了完善的工业企业管理控制网络。
INTERBUS总线包括远程总线网络和本地总线网络,两种网络传送相同的信号但电平不同。远程总线网络用于远距离数据传送,采用RS-485传输,远程网络采用全双工方式进行通讯,通讯速率为500kb/s。本地总线网络连接到远程网络上,网络上的总线终端BT(BUSTerminal)上的BK模块负责将远程网络数据转换为本地网络数据。INTERBUS总线上的主要设备有总线终端BT(BUSTerminal)上的BK模块、I/O模块和安装在PC或PLC等上位主设备中的总线控制板。总线控制板是INTERBUS总线上的主设备,用于实现协议的控制、错误的诊断、组态的存储等功能。I/O模块实现在总线控制板和传感器/执行器之间的接收和数据传输,可处理的数据类型包括机械制造和流程工业的所有标准信号。
INTERBUS的主要应用在汽车、造纸、烟草、印刷、仓储、船舶、食品、冶金、木材、纺织、化工等行业。欧洲汽车工业80%的车身厂和焊接车间,均采用INTERBUS系统的控制方案。在上海大众的帕萨特生产线、一汽大众的AudiA6生产线上、红塔集团玉溪卷烟厂新的生产线,均全面采用了INTERBUS作控制方案。
4.2 系统网络结构
根据铁路大型养路机械控制系统的特点,基于PPC工业控制计算机、PLC及现场总线INTERBUS的铁路大型养路机械控电器制系统的系统网络结构如图2所示,它分为两层:监控层和现场控制层。
4.2.1 监控层
监控层由高速以太网Ethernet、PPC工业控制计算机、TP触摸屏显示器以及连接在PPC上的打印机组成。监控层主要完成以下功能:
(1)柴油机监视控制子系统中柴油机转速、油压、缸盖温度(水温)、电瓶电压、柴油油位的显示;低油压、高缸盖温度(水温)、空气滤清器堵塞状态、直流发电机发电状态的报警指示;预热指示;怠速位、高速走行位、作业位的指示等。
(2)高速走行监视控制子系统(静液压传动模式)中速度—里程,各轴挂、脱挡状态的显示;挂挡开关,点动挂挡开关,向前、向后走行开关,走行手柄电位器,走行手柄位置的显示等。
(3)作业监视控制子系统(以新型稳定车为例)中各种开关,作业机构的各种行程开关、感应开关状态的显示;左、右抄平传感器信号,前、后电子摆信号,正矢传感器信号,加速度传感器信号,振频传感器信号,作业速度的显示。
(4)系统参数的设置。
(5)系统故障诊断。
(6)轨道参数的记录及打印输出。
4.2.2 现场控制层
现场控制层由主站(PLC控制器、总线分支模块、本地I/O),现场总线,从站(总线藕合器BK、远程I/O)和现场设备四部分组成。主站安装于作业室内,从站的数量根据实际需要而定,它分布于车体的不同位置。现场控制层主要完成以下功能:(1)各种输入信号的采集;(2)各种控制信号的输出;(3)各种信号的处理;(4)与监控层的通讯。
图2:基于PPC、PLC及INTERBUS的铁路大型养路机械控制系统
4.3 系统硬件配置
本系统是基于Phoenix Contact公司的自动化产品配置而成的。主要配置如下:
PPC工业计算机:PPC 5115
TP触摸屏显示器:TP 15T
PLC控制器:ILC 370 ETH 2TX-IB,带2个以太网端口、1个RS232端口。
总线分支模块:IBS IL 24 RB-T-PAC
总线藕合器BK:IBS IL 24 BK-T/U-PAC
各种Inline I/O模块:IB IL 24 DI 16-NPN-PAC,IB IL 24 DI2-NPN-PAC, IB IL 24 DI 32/HD-NPN-PAC,IB IL 24 DI4-PAC,IB IL 24 DO 2-2A-PAC,IB IL 24 DO 2-NPN-PAC,IB IL 24 DO32/HD-NPN-PAC,IB IL 24 DO 4-PAC,IB IL 24 DO 8-NPN-PAC,IB IL 24 TEMP2 RTD-PAC, IB IL AI 2/SF-PAC,IB IL AO 2/U/BP-PAC,IB ILCNT-PAC等。
4.4 系统软件配置
系统软件配置包括bbbbbbs NT操作系统、IBS OPCSERVER、Diag+故障诊断软件、轨道参数记录及打印程序、上位机监控软件Visu+、下位机编程软件PC WORX 5。
4.4.1 上位机监控软件
本系统采用Visu+作为上位监控软件。对于过程的组态,所有的PhoenixContact公司的HMI设备均使用强大的组态软件Visu+,它除了完全的SCADA功能(例如:操作与监控、趋势图、报警信息等)之外,还提供诸如:数据采集、记录、配方管理、数据库连接、企业资源计划系统(ERP)连接等。Visu+软件的开发接口设计清晰、操作直观、所有的组态画面元素能够轻松的通过鼠标点击或拖拽实现。
4.4.2 IBS OPC SERVER软件
OPC适用于可视化的标准运行阶段接口。通过INTERBUS OPC服务器,这个接口可以用于INTERBUS主站和PCWORX编程控制系统、PC接口和嵌入式解决方案中。通过这种方式,可以简单地与使用OPC客户端的可视化软件相连接,如Genesis32,Visu+等
4.4.3 Diag+故障诊断软件
INTERBUS提供了操作舒适的全面诊断功能,并且Diag+软件工具完全支持这些功能。通过Diag+,可以实现简单而全面的诊断,也可以实现基本的INTERBUS功能。Diag+可以作为独立的诊断工具来操作,也可以作为ActiveX组件将INTERBUS诊断集成在设备和系统的可视化软件中。图形化设计使得诊断功能可采用低分辨率显示,也适用于小型手持诊断设备。这些诊断可以通过INTERBUS主站上的任意接口(以太网、V.24和ISA/PCI总线)来完成。这样,通过一个INTERBUS主站,就可以从任何位置对控制系统网络中的每个控制系统实现诊断。这意味着INTERBUS系统的诊断变得更加简便和通用。
4.4.4 下位机编程软件配置
本系统采用PC WORX 5作为下位机编程软件。下位机编程软件PC WORX 5为控制系统提供了一个现代化开发工具。当PCWORX 5连接到现场总线的控制系统上时,它不仅提供了符合IEC 61131-3标准和IEC61131-5标准的方便编程工具,还可方便进行INTERBUS组态。PC WORX 5还包括对INTERBUS的简易诊断。
4.4.5 轨道参数记录及打印程序
轨道参数记录及打印程序是为实现铁路大型养路机械电气控制系统中传统记录仪功能而开发的一个专用程序。它可以实现轨道参数的记录、查询、分析及打印。
5 结束语
在当今科学技术迅猛发展的时代,各种新技术、新产品、新的控制理念不断涌现。铁路大型养路机械产品电气控制系统的设计思路也应跟上科技发展的步伐,采用新的设计理念和目前世界上比较先进的控制技术。
过去,总线在铁路大型养路机械电气控制系统中已经有成功的应用。如在普拉塞—陶依尔公司生产的CEM100型架线车上全套使用RS-485工业总线控制系统;在CMG-16型道岔打磨车上使用以RS-485工业总线为主、结合Profibus-DP现场总线的控制系统;在CPH型道岔铺换机组上使用以“无线发射器+无线接收器+CANBUS总线+PLC”的“一对多”控制系统;以“PLC+本地I/O”组成的程序控制系统,也在D0832捣固车上使用,经过半年多的试验,获得成功。
现在,工业计算机技术、PLC技术、现场总线技术、网络技术均获得了极大的发展和广泛的应用。本文提出的基于PPC工业计算机、PLC及INTERBUS现场总线的铁路大型养路机械电气控制系统,它集成了柴油机监视控制、高速走行监视控制、作业监视控制等,它实现了集中监视、集中处理、分散控制,在铁路大型养路机械上则是一种新的设计和尝试。它应用于作业工况差的稳定车上,将全面检验系统的各项指标:可靠性、稳定性、抗冲击性能、经受高温、高湿的能力,特别是抗频率振动性能力。如果该套控制系统在新型稳定车上的应用获得成功,那么,它的设计理念和方法在铁路大型养路机械上全面推广使用便成为可能;它作为一种完全不同于普拉塞—陶依尔公司铁路大型养路机械产品电气控制系统的设计理念和方法,将成为今后具有自主知识产权新产品开发的新的模式和方向。
一. 概述
RS-422A总线是EIA公布的“平衡电压数字接口电路的电气特性”标准,这个标准是为改善RS-232C标准的电气特性,又考虑与RS-232C兼容而制定的。RS422A是工业界广泛使用的双向、差动平衡驱动和接收传输线标准接口,它以全双工方式通信 ,支持多点连接 ,允许创建多达 32个节点的网络,具有传输距离远 (大传输距离为 1200m) ,传输速率快 (1200m时为 100kbit/s)等优点,相对于其它总线,如FF、CAN、LonWorks等而言,具有结构简单、成本低廉、安装方便、与传统的DCS兼容等特点;市场上很多现场仪表都有RS422A总线接口,采用该总线可以很容易地开发一些中小型网络测控系统。结合某一工程项目的实际特点,我们采用了RS422A通信接口来实现远程数据通信系统。
在该工程项目中,系统采用两级主从总线型网络结构。温度等变量的控制主要由总线上的各个智能仪表实现,上位机根据控制要求修改智能仪表的给定值等参数,以及一些数字量的监控显示等。该项目所选智能仪表为上海大华-千野仪表有限公司生产,参数相当复杂,具有较强的控制以及通信功能。利用上位机软硬件资源丰富,以bbbbbbs为操作平台,开发的应用软件有强大的管理功能以及非常友好的人机界面。本系统应用软件采用MicrosoftVisualC++6.0开发,充分利用VC++灵活快速,对视窗编程和多任务编程的方便接口,开发出来的软件具有完善的数据采集、设定、报警、实时监视等功能。应用结果表明,该系统有效的实现了对温度控制系统的监控,效果良好。
二. 系统结构
该智能仪表功能较为完善,控制精度高。自带RS422A通信卡,通信命令多达一百多条,上传及接受数据量大,主要包括各步温度设定值、PID参数值、报警参数值、传感器修正值、模糊控制参数值等等。现场总线采用RS422A总线,因为RS422A总线具有结构简单、成本低廉安装方便等优点。智能仪表挂接在RS422A总线上,通过RS422A/232C装换器和PC串口相连接。为此配置有十几台(可扩展)智能仪表,RS422A/232C转换器一块,并且每一台仪表设置唯一的地址。温度的控制由下位机(智能仪表)完成。主控计算机完成的功能有1)主动读取下位机相关数据2)改变温度控制的设定值以及其它的参数,但不直接完成对温度的控制。3)显示温控曲线画面,温控仪集中显示画面以及报警数据等的动态显示。4)数据的存储,统计,报表等。系统的硬件结构图如图1所示。
图1
三. 通信协议
1) 物理层 采用平衡型标准RS422接口 ,以提高数据传输的可靠性。在平衡型标准RS422A中,
发送器与接收器均以差分方式工作 ,每个信号用两根导线传输 ,信号的电平由两根导线上的信号的差值来表示。
2) 数据链路层本系统采用异步串行通信方式。系统约定,波特率:9600bps,偶校验,1个起始位,7个数据位,1个停止位,采用ASCII码作为传输代码。总线上的传输帧分为命令帧和数据帧。命令帧又分为为建立连接包含地址信息的地址命令帧和对已建立连接要求上传或者下传数据的控制命令帧。后者和数据帧的文本格式如下:
3)网络层由PC机实现该层协议的功能。总线上的传输帧中,地址命令帧是控制PC机以广播的形式发出,用于唤醒总线上的某台仪表,握手请求与之建立通信关系,相应的仪表向控制PC机回传本机地址,则握手成功;否则仪表向PC机回传否定应答。当PC机要和目前通信的仪表以外的其他仪表通信时,必须放弃目前的通信关系,发送放弃通信命令帧。再从新按照上述方式建立连接。建立连接,放弃连接以及温控仪的应答格式如下所示:
其中ENQ ﹑EOT ﹑ACK 为控制码 结束码表示一帧的结束
4)应用层工业智能仪表的RS422A总线网络系统的应用层,是对控制PC机与智能仪表之间相互传送的信息组帧,即数据格式按照一定的格式和含义进行定义。
四. 系统软件设计
系统管理软件采用面向对象技术,基于bbbbbbs2000平台,用VC++6.0编程开发。系统应用软件由实时动态过程和历史记录浏览两大部分组成,实时动态过程包括数据采集及设定、运行控制、数据管理三大模块组成,数据采集及设定模块定时从下位机即智能仪表采集和设定过程实时数据。控制模块主要是控制仪表的运行或停止等以及运行段选择,数据管理模块包括数据通信、数据显示、报警、打印、存储等功能。
根据实时系统的特征,监控软件中多个任务运行,为了不让一个任务执行的时候,阻塞别的任务,我们充分里了bbbbbbs系统允许多进程、多线程编程的特点,将系统的分成几个模块。将历史纪录浏览和实时动态过程分成两个进程,因为这两个过程有很大的差别。历史纪录浏览中的数据是静态的,对实时性没有要求,可以在生产过程之中或之后运行都可以,在开发这部分程序时,可以不用考虑时间的问题。实时动态过程却是一个实时性要求很高的任务,在这个过程中主要要完成通信、显示、控制、打印等任务,还要完成数据的转储。
(1) 动态进程设计
线程一词指程序指令顺序的执行,每个程序独立执行程序代码中的一系列指令。从用户或应用程序编程的角度看,程序中的线程是运行的。操作系统通常靠线程与线承建的快速切换控制来达到这种的感觉(但如果计算机有多个处理器,则系统可以直接执行线程)。程需要在某个时间完成多个任务时(许多引用程序都是这样),将每个任务放在不同的线程中不仅使程序更加有效,能简化开发工作。
在设计实时动态进程时我们把它分成了两个线程:主线程和通信线程。主线程定时启动通信线程,通信线程执行完一次通信任务后自动悬挂。在正常情况下,主线程两次恢复通信线程之间的时间是能够保证一次通信线程的完整执行。
在数据存储方面,为了提高系统的动态性能,要求能快速访问数据存储区,我们将数据存放在两个地方。正在进行的生产过程的过程数据存放在内存开辟的数据缓冲区内,这样主线程能很快的访问到。将几次通信的数据定期存放到硬盘上,这样能防止因停电等意外事故造成数据的损失。
在程序设计时我们采用了面向对象设计的思想,比如我们把温控仪看成一个对象,有关的数据结构及其操作完全封装在一个类里面,这样程序的数据结构分离也可以实现分离,这对于软件的扩展,对于软件开发和调试都会带来极大的方便。
该软件主要实现方式如下:
在重载的void CRs422AnetView::OnDraw(CDC*pDC)函数里面调用自定义函数StartOfSystem(pDC),后者打开并配置好串口,启动通信线程,设置记时器等。其主要代码如下:
void CRs422AnetView::StartOfSystem(CDC *pDC)
{
……
m_hCom=CreateFile(m_sPort, GENERIC_READ | GENERIC_WRITE, 0,NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL |FILE_FLAG_OVERLAPPED,NULL);
if(m_hCom==INVALID_HANDLE_VALUE)
return FALSE;
DCB dcb;
if(!GetCommState(m_hCom, &dcb)) return FALSE;
dcb.fBinary=TRUE;
dcb.BaudRate=m_nBaud;
dcb.ByteSize=m_nDataBits;
dcb.fParity=TRUE;
dcb.Parity=EVENPARITY;
dcb.StopBits=ONESTOPBIT;
return SetCommState(m_hCom, &dcb);
……//以上为打开并配置串口代码
SetTimer(1,5000,NULL); //启动定时器,定时间隔为5妙
CwinThread*m_pThreadd=AfxBeginThread(CommProc,this->GetDocument(),THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED, NULL); // 创建并挂起线程
if(m_pThreadd==NULL)
{
CloseHandle(m_hCom);
return FALSE;
}
else
{
m_bConnected=TRUE;
m_pThreadd->ResumeThread(); // 恢复线程运行
}
……
}
UINT CommProc(LPVOIDpbbbbb)为辅助通信线程,该线程完成设定值以及动态数据的读取,其程序流程图如下所示:
void CRs422AnetView::OnTimer(UINTnIDEvent)为响应计时器消息的函数,定时被触发,本程序中定时间隔为5秒。在该函数里,主要是恢复辅助通信线程以及调用数据显示程序﹑定时刷新数据等。
(2) 历史纪录浏览进程设计
历史纪录的浏览是为了对过去生产过程的回顾,可将产品的质量和过程的设定结合起来进行分析,对以后的生产提供参考,以便能提高产品的生产质量。这个进程提供了一定的查询功能,能将历史纪录用曲线的方式回放出来,能将重要的过程锁定下来,也能删除过程纪录。
五. 结束语
本文介绍的基于RS422A现场总线的温控网络系统已经在现场运行了较长时间,系统运行稳定可靠,充分发挥了网络管理的便捷优点,提高了生产效率。显然,对于一些中、小规模的测控系统,采用RS422A是一个很好的选择。