毕业设计(论文)基于智能SLPC的液位DDC系统设计

上传人:无*** 文档编号:44410260 上传时间:2021-12-05 格式:DOC 页数:51 大小:3.37MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于智能SLPC的液位DDC系统设计_第1页
第1页 / 共51页
毕业设计(论文)基于智能SLPC的液位DDC系统设计_第2页
第2页 / 共51页
毕业设计(论文)基于智能SLPC的液位DDC系统设计_第3页
第3页 / 共51页
资源描述:

《毕业设计(论文)基于智能SLPC的液位DDC系统设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于智能SLPC的液位DDC系统设计(51页珍藏版)》请在装配图网上搜索。

1、湖南理工学院毕业设计(论文)1 DDC系统概述DDC是英文Direct Digital Control(直接数字控制)的缩写,是由于它用数字式的算式来代替模拟信息的组合,用断续形式的计算机输出去控制执行机构,计算机直接作用于生产过程。1.1 国内的现状和发展趋势50年代初期,仪器仪表取得了重大突破,数字技术的出现使各种数字仪器得以问世,把模拟仪器的精度、分辨力与测量速度提高了几个量级,为实现测试自动化打下了良好的基点。60年代中期,测量技术又一次取得了进展,计算机的引入,使仪器的功能发生了质的变化,从个别电量的测量转变成测量整个系统的待征参数,从单纯的接收、显示转变为控制、分析、处理、计算与显

2、示输出,从用单个仪器进行测量转变成用测量系统进行测量。70年代,计算机技术在仪器仪表中的进一步渗透,使电子仪器在传统的时域与频域之外,又出现了数据域(Datadomain)测试。80年代,由于微处理器被用到仪器中,仪器前面板开始朝键盘化方向发展,过去直观的用于调节时基域幅度的旋转度盘,选择电压电流等量程或功能的滑动开关,通、断开关键已经消失。测量系统的主要模式,是采用机柜形式,全部通过IEEE-488总线送到一个控制品上。测试时,可用丰富的BASIC语言程序来高速测试。不同于传统独立仪器模式的个人仪器已经得到了发展。90年代,仪器仪表与测量科学进步取得重大的突破性进展。这个进展的主要标志是仪器

3、仪表智能化程度的提高。工业智能化控制仪表主要包括变送器、调节器、调节阀等设备,控制仪表从基地式调节器(变送、指示、调节一体化的仪表)开始,经历了气功、电动单元组合仪表到今天的计算机控制系统(DDC)。DDC的控制功能已成为国内外计算机控制领域中一个研究分支。由于它直接与生产过程打交流,生产过程的优劣与它的关系就特别密切。目前,微型计算机作为装置一级实现集中、分散的综合型控制的系统,获得了迅速的发展。 图1 直接数字控制的原理框图1.2 DDC系统的原理 图1为直接数字控制的原理框图。输入通道把一次仪表送来的生产过程检测信号(温度、压力、流量、状态等),经过量纲变换、滤波、采样、数据放大和模/数

4、转换,再送入DDC计算机。计算机根据对应于指定控制规律的控制算式(例如PID控制算式)进行比较、分析和计算,然后将运算结果经输出通道输出。输出通道把计算机输出的控制信号,经数/模转换和量纲变换,变换成生产过程执行机构的调节信号,实现生产过程的闭环控制,从而使生产过程按预期的工况运行,以达到提高生产率、改善产品产品质量和降低成本的目的。1.3 DDC系统的组成特点 1.3.1 DDC系统是一种离散的时间控制系统工业控制系统一般是以分时的方式对生产过程的有关参数实行控制。它以定时采样和阶段控制来代替常规调节装置的连续检测和连续控制。这样,计算机就可对几个甚至几十个以上的调节回路“同时”进行检测和控

5、制。 在DDC系统中输出控制是以多路形式进行的。对每一路来说,输出控制部件只能为它提供有限的服务时间。计算机输出的控制量是数字量、脉冲量和开头量,需要进行适当的转换,才能变成生有效的数据。1.3.2 数字调节数字调节的规律是多种多样的。常见的有这样几种:按偏差的PID调节;按干扰量的前馈控制;使某些参数的给定值随着某些条件而变化的串级控制。计算机在执行控制程序时,根据给定值和反馈量(或干扰量),按照给定的控制规律(控制算式)进行控制量计算,并经输出通道把控制信号送给生产过程的执行机构,再由执行机构去操作生产过程,调节被控参量,使生产过程按预期的最优工况运行。这就是数字调节的过程。1.3.3 自

6、动化操作 所谓自动化操作是指这样一些自动操作:自动启停;故障切换;顺序控制;行程控制;联锁控制等。计算机根据给定的逻辑条件、各设备的联锁信号以及距离的计数值,就能自动地完成上述各种自动操作,从而保证生产工艺过程自动进行。DDC的特点是易于实现任意的控制算法。只要按人们的要求改变控制程序或修改控制算式的某些参数,就能得到不同的控制效果。因此,DDC系统除了具有以上提到的各种控制功能外,还可实现以下各种复杂的控制功能,以满足各种应用场合的需要。1.3.4 变更DDC的控制算式DDC的控制算式应该随对象特性和控制要求的不同而变更。例如,为了防止具有纯滞后的对象产生振荡,引入不灵敏区;为了校正系统的非

7、线性,引入平方特性;为了克服系统的大滞后,进行纯滞后补偿。1.3.5 进行多变量控制 多变量控制在生产过程控制中是经常遇见的。例如,多变量前馈控制系统,多变量解耦控制系统等。对于多变量控制系统,采用计算机控制是比较方便的,容易得到满意的控制效果。1.3.6 实现自适应控制 自适应控制系统能够自动跟踪对象参数的变化和自动补偿干扰作用的影响,使生产过程的工况始终保持最优。在适应控制系统中,需要对控制对象的参数进行递推估计,计算量较大,需要由计算机来完成。 应当指出,DDC系统功能的齐全程度,是由需要完成的控制任务和控制机本身的功能所决定的,应当根据需要和可能这两个方面来合理地确定。 DDC系统应用

8、于下列场合,其效果比较显著:1、 控制回路数较多的大规模生产过程。2、 被控参数需要进行计算的生产过程。3、 各参数之间相互关联的生产过程。4、 原料、产品和产量经常变更的生产过程。5、 具有纯滞后的工业对象。6、 生产工艺复杂,控制质量和自动化程度要求高的场合。1.4 直接数字控制系统与早期模拟控制系统的比较现代工业生产过程的计算机控制在生产控制中被越来越广泛的应用,其主要优点是:1.4.1 可消除常规模拟调节器的许多难以克服的缺点1、 不存在模拟调节器的漂移和刻度误差等问题。2、 参数整定宽广,PID的比例、积分和微分系数可单独调节,不相互牵制。3、 控制算式变更方便,调节规律容易修改。4

9、、 自动/手动切换方便。5、 当信号噪声大时,计算机作为低通滤波与模拟滤波器相配合,对高频的脉冲噪声有较好的滤波效果。特别是对甚低频的周期干扰,计算机可方便地通过数字滤波来解决,这是模拟调节器难以办到的。1.4.2 使用灵活,潜力大,便于实现特殊的控制规律在计算机控制中,个性部分程序就能改变调节规律,而无需改变硬设备,甚至可在线改变控制方案,因而可在不增加硬件设备的情况下逐步提高控制水平。1.4.3 兼有其它功能 在生产过程控制中,除了所需的控制功能外,还需要一些必要的附加功能。例如事故报警,自动采样,测量值显示,线性化处理,以及为充分利用计算机所附加的管理功能。 在一定的条件下,增加控制回路

10、数不会显著地增加费用;便于与大型管理机或控制机相联系,实现多机通讯。2 现场系统组成与方案论证2.1 系统硬件结构图本系的设计以XMA5000型号的智能调节仪表(又称智能型专家自整定PID调节器)为硬件基础。现场系统的主要部件有水泵、电动调节阀、SW开关、液位传感器、XMA5000智能调节仪组成,如图2。 XMA5000智能调节仪表的具体连接见附图1。2.2 总体方案论证 经过的多方面对该系统的了解和分析后,该系统在应满足以下要求:2.2.1 基于SLPC的DDC监控系统的功能监控系统的主要功能有:1、检测水槽的实际液位、调节阀值;2、自动调节水槽液位; 图2 系统结构图 3、自动与监控机通信

11、(PC机)、传送液位值、调节阀值;4、自动显示通信状态报警、液位上/下限报警;5、绘制动态曲线图;6、能用信息窗口显示实时的工作状态、通信状态和实时数据等;7、显示系统时间。2.2.2 系统实施的基本原则1、智能SLPC调节器(XMA5000)作为下位机的主控CPU;2、以RS485转换器作为传输介质;3、根据下位机的传输格式确定该系统的通信协议并进行规范;4、采用VB6.0制作监控系统的界面,并根据系统的实际要求增设相应的控键。在监控系统中应有报警显示。界面的设计和操作应以方便操作人员为主;5、在系统设计中应尽可能考虑到通信过程中出现的意外事故,并采取一定的防御措施;6、编写程序代码时应考虑

12、系统在运行时出现的死循环、延时等情况对系统造成的后果,并分析程序的可行性。2.3 各仪表选型与简介 2.3.1 水泵水泵型号:水泵20PLB10-121水泵是系统的主要动力。额定扬程12米,额定流量1立方/小时。最大流量1.6立方/小时左右。2.3.2 电动调节阀 电动调节阀型号:2DY-16P 电动调节阀的轴由齿轮带动,其上有一个电位器,根据420mA控制信号改变电阻值。值越大,调节阀的轴行程越大(满行程为15mm)。调节阀动作需要一定时间,因此控制系统有滞后。2.3.3 液位传感器液位传感器型号:ALT-P-E-G-1-2-1-M液位传感器实际是一个压力传感器,采用两线制接线,如图3所示。

13、端口ab间接负载。当水箱中没有水时,ab间的电流应当为4.00mA。 图3 压力传感器接线原理图3 智能SLPC调节器3.1 简介智能SLPC调节器是以微处理器为核心的智能仪表, 其设计结构合理, 控制运算功能较强,许多功能均由软件完成。硬件除以CPU 及R0M 、RAM 为中心的内部电路外,还包括与外界联系的人-机对话接口、过程信号I/0接口、与上位系统联系的上位接口、故障监视及安全措施等。在SLPC调节器中,最主要的是执行PID控制算法。3.2 调节器的调节规律调节器的作用是把测量值和给定值进行比较,得出偏差后,根据一定的调节规律产生输出信号,推动执行器,对生产过程进行自动调节。PID是过

14、程控制中应用最广泛的一种控制规律。实际运行经验及理论分析充分证明,这种控制规律在相当多的工业对象中能够得到较满意的结果。PID的运算电路2可用图4表示: 图4 PID运算电路其标准的传递函数为: 式中:Ti-积分时间;Td-微分时间;F-干扰系数,F=1+Td/Ti;P-调节器的比例度。在调节器中,比例调节器对干扰有及时而有力的抵制作用,在生产上有一定的应用。但它有一个不可避免的缺点-存在表态误差,一旦被调量偏差不存在,调节器的输出也就为零。积分调节器的突出优点是,只要被调量存在偏差,其输出的调节作用便随时间不断加强,直到偏差为零。在被调量的偏差消除以后,由于积分规律的特点,输出将停留在新的位

15、置而不回复原位,因而能保持静差为零。单纯的积分调节也有它的弱点,它的动作过于迟缓,因而在改善静态准确度的同时,往往使调节的动态品质变坏,过渡过程时间延长,甚至造成系统不稳定。微分调节器能在偏差信号出现或变化的瞬间,立即根据变化趋势,产生强烈的调节作用,使得偏差尽快地消除在萌芽状态之中。单纯的微分调节器也有严重的不足之处,它对静态偏差毫无抑制能力。将比例、积分、微分三种调节规律结合在一起,既可达到快速敏捷,又可达到平衡准确,只要三项作用的配合适当,便可得到满意的调节效果。4 调节对象特性与参数整定在连续生产过程中,最基本的关系是物料平衡和能量平衡。在静态条件下,单位时间内进入被控过程的物料(或能

16、量)等于单位时间内从被控过程流出的物料(或能量)。 然而,对象的动特性是研究参数随时间而变化的规律。在动态条件下,物料平衡和能量平衡的关系是:单位时间内进入被控过程的物料(或能量)减去单位时间内从被控过程流出的物料(或能量)等于被控过程内物料(或能量)存储量的变化率。对象动特性的微分方程式,也就是输出参数与输入参数之间的函数关系式,就是通过上述平衡方程式获得的。对于一个调节对象来说,输出参数就是被调量;输入参数就是输入量,它是引起被调参数变化的因素。4.1 水槽液位的动特性及其数学描述在这里我们以单容水槽液位作为调节对象进行研究,如图5,流入水槽的水流量Q1是由管路上的电动调节阀来调节的;流出

17、的水流量Q2决定于管路上手动阀门的开度,它是随用户需要而改变的。这里,液位h是被调量,手动阀门的开度变化是外部扰动,而电动调节阀门开度变化是调节作用。研究对象的动态特性,就是要找出其输入量和输出量之间的相互作用的规律,而对象的微分方程式便是这种规律的数学描述。如图5,设各量定义如下:Q1 输入水流量(m3/s)Q10 输入稳态水流量(m3/s);Q1 输入流量对它的稳态值的微小增量(m3/s)Q20 输出稳态水流量(m3/s);Q2 输出流量对它的稳态值的微小增量(m3/s) h 稳态水位(m)h 液位对它稳态值的微小增量(m)V 水槽中储存水的容积(m3)A 水槽横截面面积(m2)根据物料平

18、衡关系,在正常工作状态下的稳态方程式是:Q10 - Q20 = 0 (1)动态方程式是: (2) 图5 水槽水位调节对象 式中,是流体蓄存量的变化率。它与被调量水位h间的关系是: (3) 将3式代入2式,得 (4)或 上式可以看出,水位变化决定于两个因素:一个是水槽截面积A,一个是流入量与流出量的差额。A越大, 越小。因此,A是决定水槽水位变化率大小的因素。在4式中,Q1只决定于电动调节阀门的开度。假定流量Q1的变化量Q1与电动调节阀门的开度的变化量1成正比,即 Q1=K1 (5)其中K是是系数(m2/s)输出水流量Q2随水位而变化,假定二者的变化量之间关系为 ; 或 (6)其中,Rs是液阻。

19、在水位变化范围不大时,近似地认为Rs为常数,即流出量Q2的大小决定于水槽中水位h和流出侧阀门的阻力Rs。严格地说,Rs不是一个常数,它与水位、流量的关系是非线性的。为简化问题,常常要将非线性进行线性化处理,常用的方法是切线法,即在静特性上的工作点附近不大范围内以切线代替原来的曲线,而线性化后则用6式表示流量的变化和液位变化的关系。对于4式,变量用额定值和增量的形式表示Q1=Q10+Q1 ; Q2=Q20+Q2 ; h=h0+h并考虑到1式和4式,就化成以增量表示的微分方程式 (7 )将5式、6式代入7式,其中在本系统中A= 0.1974m2,可得 或 (8)一般将上式改写成下述标准形式: (9

20、)式中, T=0.1974Rs;K=KRs 这就是本系统调节对象调节通道的微分方程式。式中T为对象的时间常数,而K则为对象放大系数。4.2 调节器参数整定4.2.1 简述在生产过程中有各种调节对象,它们对调节器的特殊有不同的要求,选择适当的调节规律和整定其参数,使调节器特性能和调节对象配合好,以便得到最好的调节效果。在一般情况下,可以根据调节系统在阶跃振动作用下的调节过程来判定调节效果。总的来说,对调节过程可以提出稳定性、准确性和快速性三个方面要求,而这三方面往往又互相矛盾的。稳定性总是首先要考虑的因素,一般都要求被调量的波动具有一定的衰减率,例如0.75或更高。也就是经过一个到两个振荡周期以

21、后就看不出波动了,在稳定的前提下尽满足准确性和快速性的要求。典型最佳调节过程的标准是:在阶跃的振动作用下,保证调节过程波动的误差率=0.75(或更高)的前提下,使过程的最大动态偏差、静态误差和调节时间最小 。4.2.2 反应曲线参数整定法参数整定的主要任务是确定P、Ti和Td这三个参数。目前参数的整定方法很多,但反应曲线法的优点是飞升特性3实验容易掌握,做实验所需时间短。用反应曲线法整定调节器的参数应先测定对象的动特性,即飞升特性。根据飞升特性曲线定出几个能代表该调节对象动态特性的参数,然后可以直接按这个数据定出调节器最佳整定参数。 以图6为例,如果从拐点P1作切线,并将它近似地当做具有纯滞后

22、的一阶惯性环节来看待,从曲线上可以得三个参数:-等效滞后时间T -等效时间常数;K -广义对象的放大系数。图6 对象飞升特性表示成无因次量,即有时还用=K/T表示无自衡对象的飞升速度。对于调节器的比例作用大小,常用比例度(或比例带)P表示。 其中,emax为调节器输入的测量范围;e为输入变化量。xmax为调节器输出的变化全范围;x为输出变化量。对于单元组合调节仪表,比例度P与调节器放大倍数Kc互为倒数关系,即。 根据代表对象动特性的参数K、T、,可以利用下面的经验分式,计算对应于衰减率=0.75下PID调节器的最佳整定参数。 式115 系统通信接口5.1 通信方式选择系统上位机由一台微机构成。

23、软件采用Visual Basic编程,作出十分直观的人机界面。对采集到数据进行复杂的运算处理,并把运算结果转化成预置命令,并通过串行口将所需的各种预置命令(数字信号)传送给智能调节器,再由智能调节器执行预置命令控制液位。另一方面,智能调节器将采集到的信号通过串口传 图7 通信原理图送到上位机,并通过软件进行运算将结果显示在屏幕上。通信原理如图7所示。目前一般的通信方式有RS-232、RS-422与RS-485。RS-232是PC机与通信工业中应用最广泛的一种串行接口。它被定义为一种在低速率串行通讯中增加通讯距离的单端标准,并且采取不平衡传输方式,即所谓单端通讯。为改进RS-232通信距离短、速

24、率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-485标准是在RS-422基础上制定的,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围。基于现代工业的发展方向,为了满足将来工业的需求,本系统的设计中,将采用RS-485串口通信8。5.2 RS-485串行接口标准RS-485是串行数据接口标准, 它定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于

25、100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。图8 结构图 图9 接收与发送标准RS-485数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B,如图8。 通常情况下,发送驱动器A、B之间的正电平在+2+6V,是一个逻辑状态,负电平在-26V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”

26、,即它是有别于逻辑“1”与“0”的第三态。 接收器也作与发送端相对的规定,收、发端通过平衡双绞线将AA与BB对应相连,当在接收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV至6V之间。参见图9。 5.3 RS-485工作方式在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。在这个系统中将使用半双工工作方式。若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制,如图

27、10所示。采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。收/发开关实际上是由软件控制的电子开关。图10 半双工方式6 系统通信协议在工业控制系统中,为了使得来自不同厂家的设备能够成功地进行通信,必须有标准化的协议,这个系统设计将严格采用标准的RS485通讯协议15。61 RS-485通讯协议规定主从式半双工通讯主机呼叫从机地址从机应答方式通讯串行通讯数据帧11位,1个起始位,8个数据位,2个停止位。数据传输格式采用标准ASC码。通讯控制字符集如下:DC1 (11H): 读瞬时值 DC2 (12H): 读参数DC3 (13H

28、): 写参数 STX (02H):从机起始符 ETX (03H): 主机结束符 ETB (17H): 从机结束符US (1FH): 参数间隔符 ACK (06H): 接收正确NAK (15H): 接收错误 SP (20H): 空白符6.2 通讯协议格式6.2.1 读瞬时值主机发送:DC1 AAA CC ETXDC1 (11H): 读瞬时值AAA : 从机地址码=001254CC : 通道号=0199ETX (03H): 主机结束符从机回送:STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETBSTX (02H): 从机起始符AAA :从机地址码=001

29、254CC :通道号=0199US (1FH): 参数间隔符MM :表型字=0099(本系统采用XMA5000)DDDDDDD : 瞬时值EEEE : 报警14 (报警状态E=0:OFF E=1:ON)SSSSS :校验和5位(从STX到最后一个US间字符ASC和)ETB (17H): 从机结束符6.2.2 读参数主机发送 : DC2 AAA CC US PP ETXDC2 (12H): 读参数值AAA :从机地址码=001254CC :通道号=0199US (1FH): 参数间隔符PP :参数号=0169ETX (03H):主机结束符从机回送 : STX AAA CC US PP US DD

30、DDDDD US SSSSS ETBSTX (02H): 从机起始符AAA : 从机地址码=001254CC :通道号=0199US (1FH): 参数间隔符PP : 参数号=0169DDDDDDD :参数值=-199915999SSSSS :校验和5位(从STX到最后一个US间字符ASC和)ETB (17H): 从机结束符6.2.3 写参数主机发送 :DC3 AAA CC US PP US DDDDDDD US SSSSS ETXDC3 (13H): 写参数值AAA : 从机地址码=001254CC : 通道号=0199US (1FH): 参数间隔符PP : 参数号=1169DDDDDDD

31、: 参数值=-199915999SSSSS : 校验和5位(从DC3到最后一个US间字符ASC和)ETX (03H) 主机结束符从机回送: ACK (06H) : 接收正确NAK (15H): 接收错误6.3 读写参数号12: 量程零点 13: 量程满度 17: 报警回差18: 报警一值 19: 报警二值 20: 报警三值21: 报警四值 22: 报警方式 37: PID 变化率38: PID SP0 值 42: 启停程序0=启动43: 手自动切换0=自动 44: PID 输出值 7 通信程序VB设计基础7.1 方案选择与程序设计在VB中,可以通过多种方式来进行串行通信,一种是调用API函数,

32、另一种方法是用Mscomm控件。还可以用VC+与汇编语言混用编写DLL,然后在VB中调用。第二种方法相对简单,只要在工程中添加Mscomm控件,然后进行相应的属性设置(波特率、奇偶校验、停止位、发送与接收事件的触发方式、发送数据的类型等),就可以用它发送与接收数据。但是需要注意:如果利用Mscomm控件来发送文本,单片机收到的将是文本的ASCII码。在VB60中使用的是Unicode字符,既用两个字节来表示一个字符。这样当发送一个字符时,实际上单片机收到的是两个字节。例如Unicode表示的A为0041H,低字节为41H,高字节为00H,而ASCII码表示的A为41H。当在Win98下用VB6

33、0发送字符A时,单片机收到的是41H和OOH两个字节。实际上,在由PC与单片机组成的控制系统中,发送文本的应用场合并不是很多,大多数情况下PC机与单片机交换的是二进制数据。所以本系统中将采用二进制数据的发送与接收。7.2 VB6.0简介自从1991年微软公司推出VB以来,VB以其友好的开发界面,简单易用,实用性强,功能强大等优点在国内外得到了广泛的应用。在VB中提供了用于进行数据通信的MSCOMM通信控件,利用该控件提供的属性,方法和事件,可以开发出令人满意的通信程序。如何正确使用MSCOMM控件是设计通信程序的关键,只有完全掌握了MSCOMM控件的使用,才能设计出来运行稳定,数据传输正确的通

34、信程序。在早期,程序员在编写计算机的通信程序时都避免不了要和计算机硬件打交道,要求PC机的串行口要符合RS-232C/485标准,并按该标准定义的信号进行信息控制和数据传输。到了WINDOWS时代,程序员可以选择不再直接和硬件打交道,因为WINDOWS将通信机制进行了封装,程序员只须要利用相关控件调用就行了。在这种方式下,程序员通知WINDOWS要打开的串口的名字,像COM 1, COM2等等,WINDOWS会自动去查询该串口是否存在和可用,如果可用则将待发送的和己接受的字符放在相应的发送缓冲区和接收缓冲区内,程序员通过调用相应的函数来完成数据的发送和接收,这显然大大的方便了程序员的编程。7.

35、3 微软的MSCOMM通信控件下面就使用MSCOMM控件进行编程过程中用到的一些属性,方法和事件作一个简单的介绍。COmmPOrt属性:设置并返回通讯端口号Settings属性:设置并返回波特率、奇偶校验、数据位、停止位参数。Setings的Value值由四个设置值组成,格式是BBBB,P,D,S,其中BBBB为波特率,P为奇偶校验,D为数据位数,S为停止位数。InBuferCount属性:返回接收缓冲区中等待的字符数。该属性在设计时无效。可以把InBuferCount属性设置为0来清除接收缓冲区。InBuferSize属性:设置并返回接收缓冲区的字节数。缺省值是1024字节。InputLen

36、属性:设置并返回Input属性从接收缓冲区读取的字符数。InputLen属性的缺省值是。设置InputLen为0时,使用Input将使MSComm控件读取接收缓冲区中全部的内容Input属性:返回并删除接收缓冲区中的数据流。该属性在设计时无效,在运行时为只读。OutBuferCount属性:返回在传输缓冲区中等待的字符数。设置该属性为0可以清除传输缓冲区。该属性在设计时无效。OutBuferSize属性:以字节的形式设置并返回传输缓冲区的大小。Output属性:往传输缓冲区写数据流。该属性在设计时无效,在运行时为只写Output属性可以传输文本数据或二进制数据。用Output属性传输文木数据,

37、必须定义一个包含一个字符串的Variant。发送二进制数据,必须传递一个包含字节数组的Variant到output属性。PortOpen属性:设置并返回通讯端口的状态(开或关)。设置PortOpen属性为True打开端口。设置为False关闭端口并清除接收和传输缓冲区。当应用程序终止时,MSComm控件自动关闭串行端口。在设计时无效。InputMode属性:设置或返回Input属性取回的数据的类型。value设置值为ComInputModeText(0缺省)时,数据通过Input属性以文本形式取回。value设置值为ComInputModeBinary(1)时,数据通过Input属性以二进制形

38、式取回。8 Windows环境下上位机的监控界面设计8.1 功能简述在我们此次设计开发的DDC系统中,下位单片机主要采集安装在水槽边上的压力变送器的电信号和电动调节阀的电信号,经过A/D转换和必要的数据处理后得出水槽液位的实际高度和电动调节阀的调节度(4-20mA的标准信号),将数据存储在一定的内存单元中并通过串行接口实时传递给上位机;上位机接收到数据后,对这些数据进行各种分析和处理以直观的形式显示在计算机上。上位机监控系统以PC机为人机交互系统,下位PC机利用RS485串行口和上位机进行通信,对下位机进行参数设定(液位上限/下限、通信波特率、SP值、通道地址)、读取实时参数(液位测量值、电动

39、调节阀值)、报警设置(液位上/下限、通信状态)等操作。图11是我们设计的上位机监控界面。为了显示的直观性,在上位机监控界面中增加了动态曲线图,对下位机的实时参数进行动态显示。主机界面还设置了动态显示当前液位的值和调节阀值图。8.2 上位机的主工作界面上位机的界面主要有主工作界面、动态曲线图工作界面和信息窗口界面。上位机程序的主工作界面见图11。菜单栏主要菜单的设计见表1。主界面还包括工作方式转换按钮、通信状态显示、液位报警、实测参数、系统参数设置、系统时间和动态显示图标。表1 主界面菜单规划表标题 名称 类型标题 名称 类型文件 mnufile 主菜单打开 mnuopen 第1层子菜单保存数据

40、 mnusave 第1层子菜单- mnusparator4 第1层子菜单打印设置 mnuprint 第1层子菜单- mnusparator 第1层子菜单退出 mnuexit 第1层子菜单信息 mnuspecial 主菜单 信息窗口 mnuimformation 第2层子菜单动态曲线 mnumobile 第2层子菜单关于 mnuabout 主菜单关于 mnuabout2 第3层子菜单8.3 输入键盘的设计当左击SP设置、液位上限、液位下限时就会弹出图12的对话框,可以直接单击数字键输入数字;当输入错误时,可以通过-来单个删除。当输入正确时单击确定即可将数据传给SP设置、液位上限、液位下限;可以单

41、击取消键取消输入。8.4 动态曲线图的设计可以将通信得到的实时数据显示出来,让人一目了然。其中包括暂停键、继续键、保存键、复位键和退出键,可以将数据进行实时操作;按退出键数据将继续保存,只有将系统关闭,数据才会消失。如图13。8.5 信息窗口的设计通过信息窗口可以了解到上位机与下位机的实时通信情况。它包括系统的启动、液位是否超出上下限、通信的通断状态及每一个操作的具体时间。信息窗口数据可以设置不同的字体、字号、颜色等。如图14 图11 主工作界面图12 输入键盘设计 图13 动态曲线图界面 图14 信息窗口界面9 基于VB6.0的串行通信中的错误预防方法9.1 错误预防的必要性与方案选择随着计

42、算机技术特别是单片机技术的发展,通信在诸多领域得到了广泛的应用,技术人员可以通过计算机的串口来获取设备的各种数据,然后利用计算机强大的运算和分析处理功能进行处理,再根据处理的结果发送数据来控制设备。通常通信的型式可以分为两种,即并行通信(Parallel COmmunieatiOn)和串行通信(Serial Communication)。就传输的安全性来说,由于并行通信在传输过程中更容易产生电压衰减和信号间相互干扰等问题而使得传输的数据发生错误,相对而言,串行通信一次只传输处理的数据电压只有一个标准电位,因此不容易把数据丢失。不论是采用哪种通信方式,在数据的传输过程中,数据都有可能受到干扰而使

43、得原来的数据信号发生扭曲,此时的接收到的数据当然是错误的,为了检测数据在发送过程中发生的错误,发送与接受必须对数据进行进一步的确认工作。验证的方法有CRC(循环冗余校验码)校验、奇偶校验、校验和等。最简单的方式就是使用校验和(CheckSum)。本系统将采用校验和的校验方法9。9.2 发送数据的校验和在VB6.0中可以设置InputMode属性为comInputModeBinary,则Input属性返回二进制数据的数组。发送数据之前,将要发送的数据逐个取其ASCII的和,求其校验和,然后以字符串的形式放在正确的位置。软件流程图如图15。 图15 发送数据的校验和流程图程序如下:Function

44、 checksum(ByVal inputstr As String) As String Dim i, xyresult As Integer xyresult = 0 For i = 1 To Len(inputstr) xyresult = xyresult + Asc(Mid(inputstr, i, 1) Next i checksum = xyresultEnd Functionparitystr=checkum(writedata)parityint = Val(paritystr) + 19 + 3 * 31 paritystr = CStr(parityint)Do Whil

45、e (Len(paritystr) = Val(Text2) And waterupflag = False Then Image7.Visible = True: Image9.Visible = False 输入信号超出上限 Form3.Text1 = ymdhms & 输入信号超出上限 & Chr(13) + Chr(10) & Form3.Text1.Text Text15 = Text15 & Chr(13) + Chr(10) & ymdhms & 输入信号超出上限 waterupflag = True ElseIf dataval = 10 Then Image5.Visible

46、 = True Image6.Visible = FalseIf serei = 10 Then Form3.Text1 = ymdhms & 通信中断. & Chr(13) + Chr(10) & Form3.Text1.Text Text15 = Text15 & Chr(13) + Chr(10) & ymdhms & 通信中断. End If commuflag = TrueEnd If If serei 10 And commuflag = True Then Image6.Visible = True: Image5.Visible = False Form3.Text1 = ym

47、dhms & 通信正常. & Chr(13) + Chr(10) & Form3.Text1.Text Text15 = Text15 & Chr(13) + Chr(10) & ymdhms & 通信正常. commuflag = FalseEnd If10.2.4 参数设置流程设计图21 参数设置流程设计如图21所示,在参数设置中可以分别对系统的波特率、通信地址、SP值、液位上限、液位下限、自动/手动进行设置。当设置好之后,单击“自动/手动”键即可完成。波特率和通信地址的设置从很大的角度上方便了操作人员的操作,可以很方便的根据实际的要求进行操作。10.2.5 信息窗口流程设计 在信息窗口中

48、,包括打开、保存、字体、字号、颜色、清除、关于、退出操作键(见图14)。打开主要用于打开其它的文档;保存主要用于保存系统在运行过程中的运行状态、运行数据(这些数据在信息窗口中是看不到的。为了操作人员的直观性,信息窗口中只显示运行状态,不包含运行数据);信息窗口中的文字可以通过窗口中的字体、字号、颜色进行设置;清除键是用于清除信息窗口是的信息;关于键是显示制作人信息;见图22。10.2.6 动态曲线流程设计实时动态曲线反映了是现场数据的实时性和当前趋势,因此在实现时需显示曲线的动态变化。通常当前点在曲线的最右端显示,随着时间的推进整个曲线动态地向左移动。本液位控制系统中,分别是不同颜色的曲线表示

49、不同的参数值,红色的表示实时的液位值,蓝色的表示调节阀的操纵值,黑色的表示SP设定值。由于曲线动态数据不是很大,所以并没有采用数据库保存,而是采用数组保存。在动态曲线窗口中包括暂停、继续、保存、复位、退出键。暂停键用于暂停正在运动的曲线,系统并不停止工作;当曲线被暂停之后,可以通过继续键让曲线继续运行;复位键主要是用于清除动态曲线窗口中的曲线图。操作人员可以根 图22 信息窗口流程设计据实际的要求,对曲线进行暂停、继续和复位操作。当需要实际曲线图时,操作人员可以不用绘制,只需单击保存键,就可以将系统的实时曲线保存起来,大大的节省了操作人员的时间。见图23。由于本系统对实时曲线的精确度要求不是很

50、高,所以可以直接应用VB提供的PictureBox作为绘制曲线的容器来完成。实时曲线的绘制一般借助于Timer控件来完成,使用Timer控件,定期将串口中监测到的数据送往PictureBox1,而曲线的绘制一般画成折线图,采用PictureBox1的Line方法绘制。PictureBox2用来绘制随波形移动时间。动态曲线具体实现如下:1、定义好PictureBox的坐标系统:Picture1.Scale (0, 0)-(100, 100)Picture2.Scale (0, 0)-(100, 2)2、在PictureBox1中绘制网格(包括在运行时移动网格的绘制):Picture1.DrawW

51、idth = 1Picture1.DrawStyle = 2For i = 0 To 99 Step 5Picture1.Line (0, i - 1)-(100, i - 1), QBColor(13) 画横线Next iPicture1.DrawStyle = 0For i = 0 To 99 Step 10Picture1.Line (0, i - 1)-(100, i - 1) 画横线Next iPicture1.DrawStyle = 2For i = 0 To 99 Step 5Picture1.Line (i - loopcount, 0)-(i - loopcount, 100

52、), QBColor(1) vbMagenta 画纵线-粉红Next iPicture1.DrawStyle = 0For i = 0 To 10p = 10 * iPicture1.Line (p - loopcount, 0)-(p - loopcount, 100) 画纵线Next iPicture1.DrawStyle = 2k = 100 - loopcountFor i = k To 100 Step 5Picture1.Line (i, 0)-(i, 100), QBColor(1) vbMagenta 画纵线Next iPicture1.DrawStyle = 0k = k - 10For i = 0 To 10 p = k + 10

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!