版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.1概述集散测控系统又称为分布式测控系统,它是一种综合计算机技术、测量技术、控制技术、通信技术对生产过程集中监测、操作、管理和分散控制的新型测控系统,其特点是采用模块化、标准化和系列化的设计,实现大范围远程多点集中监测、操作、管理与分散控制。集散测控系统的体系结构从垂直方向分为三级,第一级为分散过程测量与控制级:第二级为集中操作管理级:第三级为综合信息管理级,各级相互独立又相互联系。从水平方向,每一级按功能可分成若干子块(相当于在水平方向分成若干级)。各级之间由通信网络连接,级内各装置之间由本级的通信网络进行通信联系。集散测控系统典型的体系结构,如图7.1.1所示。下一页返回7.1概述集散测控系统既不同于分散的仪表测控,又不同于集中计算机测控系统,它克服了二者的缺陷而集中了二者的优势。与模拟仪表测控相比,它具有连接方便—采用软连接的方法连接,容易更改,显示方式灵活,显示内容多样,数据存储量大,占用空间少等优点;与计算机集中测控系统相比,它具有操作监督方便,危险分散、功能分散等优点。另外,集散测控系统不仅实现了分散控制,分而治之,而且实现了集中管理、整体优化,提高了生产自动化水平和管理水平,成为过程自动化和信息管理自动化相结合的管理与控制一体化的综合集成系统。这种系统组态灵活,通用性强,规模可大可小,既适用于中小型测控系统,也适用于大型测控系统。因此,在各行各业各个领域得到了广泛应用。
上一页下一页返回7.1概述目前的集散测控系统中,直接使用许多成熟技术和标准部件。利用现有的工业PC(IPC)、工业标准通信控制网络和通用控制级设备,构成的中小型集散测控系统是应用最为广泛的集散测控系统。它的拓扑结构一般采用总线拓扑结构,监控级设备(也可以称为上位机或操作站)一般使用IPC,测控级设备使用产品化的测量与调节仪表、可编程序控制器(PLC)和远程I/O模块等。其基本结构如图7.1.2所示。
上一页下一页返回7.1概述根据控制级所采用的不同控制设备,可以将中小型集散测控系统分为IPC+仪表、IPC+PLC、IPC+远程I/O三种基本形式。由IPC+仪表这种方式构成的中小型集散测控系统侧重于过程控制,该系统在脱开IPC后仍是一个独立的仪表控制系统,具有仪表的基本调节功能和显示功能。由IPC+PLC构成的中小型集散测控系统侧重于逻辑控制和顺序控制,由于PLC可靠性极高,因此,由此构成的中小型集散测控系统具有高可靠性。但是由于一般的PLC都不自带显示功能,因此,由IPC+PLC构成的中小型集散测控系统在脱开IPC后,只能借助于PLC的显示单元才能实现过程信息的监视。由IPC+远程I/O构成的中小型集散测控系统适用于过程控制和逻辑控制。如果远程I/O为子系统,则整个系统在脱开IPC后仍然可以独立运行,如果远程I/O为输入/输出模块,则整个系统在脱开IPC后将无法自主运行。
上一页下一页返回7.1概述上位机和测控级设备的网络通信使用RS-485总线和面向字符型的通信协议。RS-485协议可以看做RS-232协议的替代标准,与传统的RS-232协议相比,其在通信速率、传输距离、多机连接等方面均有了非常大的提高,这也是工业系统中使用RS-485总线的主要原因。由于RS-485总线是RS-232总线的改良标准,所以在软件设计上它与RS-232总线基本上一致,如果不使用RS-485接口芯片提供的接收器、发送器选通的功能,为RS-232总线系统设计的软件部分完全可以不加修改直接应用到RS-485网络中。RS-485总线工业应用成熟,而且大量的已有工业设备均提供RS-485接口,因而时至今日,RS-485总线仍在工业应用中具有十分重要的地位。
上一页返回7.2基于IPC与PLC的集散测控系统PLC是以微处理器为基础,综合计算机技术与自动控制技术为一体的工业控制产品,在1987年国际电工委员会颁布的PLC标准草案中对PLC作了如下定义:“PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。”
下一页返回7.2基于IPC与PLC的集散测控系统PLC是基于微处理器技术的通用工业自动化控制设备。它采用了计算机的设计思想,实际上就是一种特殊的工业控制专用计算机。最初PLC只是设计用于机械制造行业的顺序控制器。经过几十年的发展,PLC在保留数字I/O功能的基础上,新增了通信、模拟测量、远程数据采集等多种自动测量与控制功能,人们很快发现,用PLC构成一个集散测控网络是一个不错的选择。现在许多场合利用PLC网络构成一个计算机测控系统,或是将其作为集散测控系统的下位子系统。
上一页下一页返回7.2基于IPC与PLC的集散测控系统7.2.1系统构成基于IPC与PLC的集散测控系统实际上就是由多个PLC独立承担各个现场局部范围内的测控工作,再将PLC通过现场总线组成局域网络与作为中央控制计算机的IPC进行通讯,实现数据的上传、指令的下传等通讯功能,从而实现远程集中监控。基于IPC与PLC的集散测控系统的架构图见图7.2.1。其中IPC是主站(上位机),PLC是从站(下位机),两者进行主从式通信,现场总线可以是任何现场总线,对于不同公司的PLC,采用的现场总线不同,目前,采用RS-485串行总线的居多。
上一页下一页返回7.2基于IPC与PLC的集散测控系统设计基于IPC与PLC的集散测控系统的主要工作包括:测控系统的组网、PLC测控程序的设计、IPC上位机系统程序的设计。一般情况下,PLC是作为被测控对象的内嵌式控制计算机,是被控对象的核心环节,它的控制程序通常是由测控对象的研制公司自行设计,而集散测控系统设计人员的主要工作是设计IPC上位机系统测控程序。下面以螺杆冷水机组远程监控系统为例,介绍基于IPC与PLC的集散测控系统的设计。
上一页下一页返回7.2基于IPC与PLC的集散测控系统7.2.2螺杆冷水机组远程监控系统1.总体方案螺杆冷水机组远程监控系统的构成见图7.2.2。监控系统由现场监控系统与远程监控计算机组成,现场系统与远程计算机通过公共电话网相连,以拨号的方式连通并通讯。现场冷水机组是提供冷水的设备,该系统就是要对机组的工作状况及出水温度、压力进行实时监测与控制,机组分为冷水系统与PLC控制系统两部分,PLC是机组的控制核心,它的主要功能包括:①采集机组的开关量信号用以判断机组的运行状况。②采集机组出水温度信号和压力信号。③输出开关量信号控制机组阀门的开关、压缩机的运行。
上一页下一页返回7.2基于IPC与PLC的集散测控系统PLC互连形成一个RS-485网络。现场监控计算机通过RS-232到RS-485的转换器与此PLC网络相连。通信协议采用Modbus协议。现场监控计算机与远程监控计算机采用Modem拨号互连。现场监控程序的软件结构如图7.2.3所示,程序使用VisualBasic语言编写。
上一页下一页返回7.2基于IPC与PLC的集散测控系统(1)人机界面模块①实时状态显示部分以图形化的方式实时显示各个数据采集点返回的观测量的大小,使操作员对系统的状态有直观的了解。②历史趋势图显示可以表现出数据间的动态关系,并且从趋势图生成的文件可以输出,以便使用其他程序进行进一步的分析。③报警信息显示系统观测量的异常,通知操作员进行处理。用户可以定义所需的报警上下限值。报警信息可由窗口或打印机输出。并将其存储于数据库中。操作员可以很快进行确认、分析和判别报警,对系统运行过程进行调整。④控制参数设置用来设置PLC的参数。⑤操作提示可以为不同情况设定不同的操作步骤提示,并指出相应的结果。这使得操作员对系统的目前状况,操作后的结果都十分明确,减少了误操作的可能。
上一页下一页返回7.2基于IPC与PLC的集散测控系统(2)通信模块①使用Timer控件定时启动通信功能,与PLC和远程监控程序通信,检查现场监控程序的人机界面或远程监控程序是否请求修改控制参数。如果需要修改控制参数,就发送参数修改命令,否则,发送读取数据命令,读取采集到的各变量状态值。②通信故障处理部分在发生通信故障时,作相应的处理。在达到最大重发次数前重发数据,超过最大重发次数时停止重发,显示报警信息。上一页下一页返回7.2基于IPC与PLC的集散测控系统(3)数据库模块①运行信息记录部分记录现场运行数据,如采集量数值、开关状态、时间信息等。②报警信息记录部分记录报警的时间,原因,处理结果等。③数据报表部分可以针对管理的需要,获取系统一段时间的运行状态信息、报警信息,以及管理员操作记录等,便于总结经验,提高管理效率。④历史数据查询提供历史数据检索功能,使操作员可以随时获取系统以往的运行状态,为今后的控制提供帮助。
上一页下一页返回7.2基于IPC与PLC的集散测控系统(4)其他模块①帮助信息。软件使用方面的相关帮助。②密码设置。设定监控软件或重要参数修改的操作员权限,防止他人误操作。远程监控完成与现场监控相似的功能。因此,可以将现场监控程序修改为远程监控程序。除了通信模块与现场监控程序不同,远程监控程序的其他模块与现场监控程序基本相同。
上一页下一页返回7.2基于IPC与PLC的集散测控系统2.现场监控程序设计1)监控程序界面现场监控程序界面见图7.2.4。2)与PLC通讯的程序当使用者单击菜单“开始监控”,程序响应此菜单单击事件,打开与PLC网络通信的串口,启动定时器TimerPLC以400ms的周期定时触发。现场控制计算机与PLC通讯的程序流程如图7.2.5所示。其中,在故障报警时,如果发现远程连接断开,就会启动定时器TimerAutoDial以500ms为周期拨号,试图远程报警。在程序中使用MSComm控件与PLC和Modem通信,分别为MSCommPLC和MSCommModem。
上一页下一页返回7.2基于IPC与PLC的集散测控系统使用类模块ClassPLC来实现对数据的打包和拆包。ClassPLC中定义了一个类型PLCData,并定义了此类型的数据块结构PLCState和LocalState。从PLC中读取的数据保存在PLCState中,PLCState描述了PLC采集的数据和设定参数的状态。LocalState作为现场端的输出缓冲区。当操作者修改了控制参数时,修改后的量保存在LocalState中,并设置标志LocalDataChange为True。当监控程序发送命令时,首先判断标志LocalDataChange,若其为True,说明有控制参数需要修改,发送控制参数修改命令,否则,发送数据读取命令读取PLC状态。
上一页下一页返回7.2基于IPC与PLC的集散测控系统PLC和监控计算机之间的数据交换通过一个数据表格来完成。当监控程序读取数据时,PLC将采集的数据和设定值首先填充到V区寄存器VW1000到VW1070中,然后一起发送到监控计算机。当监控程序修改设定值时,来自监控计算机的相应数据首先被填充到寄存器VW1000到VW1070的表格中,然后分别拷贝到各自寄存器位置。此数据表格结构即为类ClassPLC中定义的PLCData,如表7.2.1所示。
上一页下一页返回7.2基于IPC与PLC的集散测控系统(1)数据表格数据块发送格式如表7.2.1所示。读写标志为&HFFFF表示此命令为控制参数修改命令;读写标志为&H0000示此命令为数据读取命令。PLC通过判断此标志来决定是否需要修改控制参数。读写标志2字节,所以在ClassPLC中定义FLAGNUMBFR=2。从Unlock到AlarmPressureMin,共30字节,所以定义WRITFNUMBFR=30。Time8字节,所以定义TIMFNUMBER=8。从DI到M2Delay共32字节,所以定义RFADNUMBER=32。此数据表总共占用字节数为FLAGNUMBER+WRITFNUMBER+TIMFNUMBER+READNUMBER=72,我们使用这些信息在ClassPLC中完成数据打包和拆包工作。
上一页下一页返回7.2基于IPC与PLC的集散测控系统(2)故障标志位故障总数ALARMCOUNT=16,故障标志位见表7.2.2。(3)控制位和状态位控制位和状态位见表7.2.3。M31.1表示控制柜于动开,在类ClassPLC中用属性IsRun表示。M11.1表示故障仍未排除,在类ClassPLC中用属性IsFault表示。M11.5表示现场集中控制,在公共模块中用PLCControl表示。M10的各位在窗体dlgPLCOption中设置和获取,在类ClassPLC中用属性ControlStatus表示。
上一页下一页返回7.2基于IPC与PLC的集散测控系统ClassPLC获得数据后,通过各种属性或函数将数据从PLCState中析取出来或填充到LocalState得相应字段中去。例如,温度和压力分别通过函数AnalogInput获得。机组1和机组2的启动延时时间从属性M1Delay与M2Delay中得到。报警压力最大值和最小值从属性AlarmPressureMax和AlarmPressureMin中得到。机组监控程序代码如下:
上一页下一页返回7.2基于IPC与PLC的集散测控系统3.远程监控程序设计远程监控需要现场计算机监控程序和远程计算机监控程序的配合来完成。因此,程序可分为两部分,现场端和远程端。通信通过Modem的连接实现。我们使用类模块ClassPLC和Remote对数据进行打包和拆包处理。使用MSComm控件MSCommModem与现场计算机通信,远程数据帧的接收动作在MSCommModemOnComm()事件过程中。
上一页下一页返回7.2基于IPC与PLC的集散测控系统1)现场Modem通讯的程序远程通讯有三种途径:手动拨号,故障报警自动拨号,处于应答状态接受远程拨入。(1)故障自动拨号的程序故障自动拨号的程序流程图见图7.2.6。响应自动报警定时器的Timer事件时,打开端口,向Modem拨号。接着响应端口的OnComm事件。如果还未远程连接,则检测Modem回送字串,如果字串示已连接,那么启动延时定时器。在延时定时器的Timer响应事件中设置端口为二进制模式,输入缓冲区长度为数据帧长度,并设置远程连接标志,准备在端口的OnComm事件中接收数据。故障自动拨号程序如下:
上一页下一页返回7.2基于IPC与PLC的集散测控系统(2)设置自动应答和手动拨号的程序设置自动应答和手动拨号在窗体dlgDial中,流程图如图7.2.7所示,(a)为设置自动应答,(b)为手动拨号。AT命令“ATS0=1”表示设置为自动应答。命令“ATS8=2”置逗号延长时间。命令“ATDT”为拨号命令。①自动应答程序如下②手动拨号程序如下上一页下一页返回7.2基于IPC与PLC的集散测控系统(3)ClassPLC和Remote对数据的处理远程通信需要使用类模块ClassPLC和Remote配合来共同完成对数据的打包和拆包处理。远程通信数据帧格式如表7.2.4所示:PLC的编号为ClassPLC的属性GroupID。LocalConnect=1表示主机与PLC的通讯连接正常,LocalConnect=0表示主机与PLC的通讯断开。
上一页下一页返回7.2基于IPC与PLC的集散测控系统Flag为标志位,它的取值为以下常量。REMOTEWRITEASK:表示远程写请求,监控程序使用远程数据改写本地数据和参数,发送给PLC。REMOTEREADASK:表示远程读请求,监控程序将ClassPLC的数据打包发送给远程监控计算机。HANGUP:表示挂断连接。REMOTEWRITEANSWER:表示响应远程写请求。REMOTREADANSWER:表示响应远程读请求。
上一页下一页返回7.2基于IPC与PLC的集散测控系统接收数据时,在类Remote的RemoteReceive属性中接收远程监控计算机的数据,根据Flag做相应处理,再交由类ClassPLC进一步拆包。Flag的取值为REMOTEWRITEASK,REMOTEREADASK,HANGUP。ClassPLC在RemoteReceive属性中将远程数据被保存在LocalState中。发送数据时,在ClassPLC的RemoteSend属性中,对原始数据帧PLCState添加Flag后交由类Remote继续处理。类Remote在RemoteSend属性中将ClassPLC的数据包按照表7.2.2添加信息,然后发送给远程监控计算机。相应的Flag标志位取值为REMOTEWRITFANSWER和REMOTEREADANSWER。
上一页下一页返回7.2基于IPC与PLC的集散测控系统2)远程Modem通讯的程序(1)通信流程设置自动应答和手动拨号程序流程如图7.2.8(a)所示,选择Modem通讯端口并打开,并发送命令设置Modem处于自动应答状态,等待现场主机报警拨入。图(b)为手动拨号的流程图。
上一页下一页返回(2)ClassPLC和Remote对数据的处理远程端监控程序与现场端监控程序对数据的处理相似。接收数据时,首先,在类Remote的RemoteReceive属性中根据Flag对数据帧做相应处理,Flag的取值为REMOTEREADANSWER,REMOTEWRITEANSWER,HANGUP。处理后的数据在ClassPLC的RemoteReceive属性中保存到数据表RemoteState中。发送数据时,首先,在类ClassPLC的RemoteSend属性中对原始数据帧LocalState添加Flag后交由类Remote继续处理。类Remote如表7.2.2所示添加需要的信息,发送给现场计算机。
上一页返回7.2基于IPC与PLC的集散测控系统基于IPC与分布式测控模块的集散测控系统在结构上与基于IPC与PLC的集散测控系统相一致,所不同的是将PLC换成了分布式测控模块,分布式测控模块是一种内嵌微处理器的具有数据采集、数据分配、数字I/O或计数等功能,并配有RS-485串行接口的专门远程测控模块。PLC是一种可独立编程并运行的控制计算机,与PLC不同,分布式模块不是一个独立的控制计算机,不具有用户编程功能,工作时不具备脱离上位机独立工作的功能,需要在上位机控制程序的控制下才能正常工作。PLC作为可独立编程工作的控制计算机,也可以作为分布式模块的上位控制计算机。
下一页返回7.3基于IPC与分布式测控模块的
集散测控系统7.3.1分布式模块1.分布式模块的分类目前,许多公司能够生产分布式模块,国内应用比较多的是台湾研华公司的ADAM系列模块、台湾泓格公司的I-7000,I-8000系列模块,深圳研祥公司的ADAM模块。虽然各公司的产品各不相同,但功能及使用方法基本相同,本书以台湾泓格公司的I-7000系列模块为例进行介绍。一般的,根据信号种类的不同,使用不同的信道进入控制器时,可以分为嵌入式控制模块、串口转换模块、缓冲模块、模拟输入模块、模拟输出模块、数字输入/输出模块、计数模块以及无线传输模块等种类。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统①嵌入式控制模块。嵌入式控制模块可作为主控计算机使用,当无法使用一般IPC时,该模块可取代IPC。模块中需写入控制程序用的程序代码,一般用C语言编写程序。②串口转换模块。串口转换模块是RS-232/RS-485串口转换模块,其功能是将RS-485接口转换成RS-232接口,便于实现基于RS-485串行总线组成的分布式测控网络与IPC的连接。③缓冲模块。当模块分布的范围很大,模块之间距离过长时,使用此模块可增加模块的分布距离或范围。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统④模拟输入模块。多路模拟信号采集模块。外界的模拟信号可利用这些模块进行采集,根据模拟信号的不同选择不同的模块,有直接测量电压的模块,也有直接测量电流的模块,还有直接测量温度的模块。⑤模拟输出模块。可输出电压或电流,但输出的电压或电流属于低功率信号,不具有驱动能力,一般需要与功率放大电路配合使用。⑥数字输入/输出模块。提供各种不同信道和类型的数字输入/输出。⑦计数模块。用于测量频率等准周期信号。⑧无线传输模块。当无法使用接线的方式组网时,可使用该类模块代替导线传输信号。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统2.基于分布式模块的集散测控系统的结构形式基于分布式模块的集散测控系统的结构形式见图7.3.1。系统由主控计算机、转换模块以及功能模块组成,网络是RS-485网络,RS-485网络上的模块均由主控计算机控制。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统控制方式有三种:①使用IPC作为主控制器控制测控系统,这是最为常用的方式。②使用嵌入式控制模块作为主控制器控制测控网络,该方式在不太适合IPC工作的场合使用,控制程序必须写入控制模块内,显示程序可使用专门的人机界面设备处理,由于嵌入式控制模块不如IPC的资源丰富。这种方式只能完成比较简单的任务。③IPC与嵌入式控制模块混合控制的模式,此时网络中既有IPC,又设置了嵌入式控制模块(如图中虚框),一般情况下,嵌入式控制模块不工作,一旦IPC死机。该模块马上激活,并使用内部预先写入的监控程序执行RS-485网络上的监控操作,此时需要设计一看门狗程序,IPC端和嵌入式模块均按照一定的程序执行,即可达到预防系统死机的目的。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统3.分布式模块的命令字符串和格式通过传输命令,计算机可以控制分布式模块的操作并获得数据。与所有可控设备一样,模块的控制命令比较多,并且有自己的格式和用法。分布式模块可以通过计算机的RS-232串行通信端口转换到RS-485,因此其命令格式和RS-232息息相关。RS-485中的命令均是文字格式,所用的编码都在ASCII码的0~128范围内,因此处理时无需考虑到ASCII码超过128的部分。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统1)命令过程分布式模块的命令传输方式中,主控计算机与模块间的命令流通过程如图7.3.2所示。主控计算机发出的命令通过RS-232串行通信端口传输出去,此信号经过RS-232/RS-485的转换模块(模块编号I-7520)进行信号电位和类型转换后,在RS-485网络上进行传播;模块收到自身模块的命令后,进行控制的分析并将结果再送至RS-485网络,此信号再经过I-7520转换后,可由计算机的RS-232串行端口接收。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统因此,分布式模块的命令格式可被分成发送与响应两部分子以讨论。发送的部分由计算机发送命令给分布式模块,此部分包含以下的几个字段:(前导字符)(地址)(命令)(CHK)(CR)以上的字段构成了发送到分布式模块的命令。其中各项分别解释如下:①(前导字符):1个字节,标明命令的类型。模块的控制命令通常被分成几个不同的类型,通过前导字符使用一些特殊字符,如$、#等进行分类。②(地址):两个字节,表示命令将送至的模块。模块的地址范围为00-FF,因此有256个地址。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统③(命令):1个或多个字节,指定模块执行的命令,这些命令通常使用不同的数字来表示不同的功能。④(CHK):冗余校验和(Checksum),使用程序将所有传输的字符在ASCII对照码中的地址数值相加,保留最后的一个字节,拆成前后两个字符作为校验值。⑤(CR):Enter键,VisualBasic的vbCr,程序代码中将大量使用此字符。在分布式模块中,主控计算机按照实际的需求向模块发送命令,要求其执行相应的操作,而与发送命令匹配的是分布式模块接收到命令后的执行结果,该字符串由以下的几个字段组成:(前导字符)(地址)(数据)(CHK)(CR)上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统返回字符串只是(数据)部分与命令字符串格式不同,其余的部分均如上所述。而数据的格式,在不同模块上有不同解释。无论是主控计算机发送的字符串命令还是分布式模块返回的执行结果,每个部分都含有1个至数个不等的字符。除了(CHK)和(CR)两部分,其他部分均为可见字符。如果命令中使用英文字母,该英文字母必须大写。2)前导字符分布式模块所使用的前导字符分成几种,相同类型的命令使用相同的前导字符。前导字符包括%、#、$、~、@等,命令的第1个字符都必须是在这几个前导字符中。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统3)模块地址计算机里里外外所连接的设备非常多,CPU为了与连接的设备互相沟通,必须给设备设置一个编号,从而使CPU可以通过每个设备独一无二的编号与不同的设备作沟通,这个编号就是地址。每个设备通过不同的地址让计算机知道其所在的位置。CPU传输信息或者某个设备回传信息都需要通过地址。分布式模块通过RS-485网络将所有模块联系起来,每个模块都借助网络接收数据、传输数据,至于哪个模块应该对主控计算机的命令作出响应就必须通过模块的地址来区分。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统地址字符串必须紧接在前导字符之后,RS-485网络传输的数据格式为字符串形式,此地址必须是字符串。发送命令中的模块地址占两字节,以十六进制表示,地址组合即可能由00-FF,共256个地址。地址字符虽是文字(例如地址0A,表示ASCII码上的十进制第48号和第62号字符),却都代表数字,这点需特别注意。原来我们处理地址时,得到的都是数字(因为计算机的地址是数字),但在串行通信的场合中,却是将数字转为字符串进行传递。需注意的是,ASCII码作为一个字节的内容被记录在计算机中,通信双方先传输此字节的内容,解析后才能得到传输的内容。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统假设传输地址01,以数字来说,它们一个是0,一个是1;但在串行通信中,它们必须直接被视为“0”字符和“1”字符组合的“01”字符串,在ASCII码对照表中,"0”字符为&H30(以十六进制表示,数值为30);“1”字符为&H31(以十六进制表示,数值为31),因此地址01必须发送&H30,&H31字符。4)命令字符命令字符紧接在地址之后,表示主控计算机需要模块执行的命令。命令字符可能是数字(0-9),也可能是文字(M,L,F…)。依命令的不同,所使用的命令字符可由1至数个不等。命令字符(有时是字符串)如果有数字,可直接当成字符处理。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统5)校验和不管如何保护,传输的过程中始终有数据传输错误的可能。为了保证传输数据的正确性,通常使用校验和进行校验,此方法称为Checksum。不同设备的Checksum的方法可能不同,但原理是一样的。分布式模块的Checksum计算将发送命令中的(前导字符)(地址)(命令)3个部分的字符或返回字符串中的(前导字符)(地址)(数据)3个部分ASCII码相加,并保留十六进制结果中的最后两位数,再将此两位数转换为字符,即得到Checksum。例如发送的命令字符串是$012[Enter],分别将前导字符($)、地址(01)、命令(2)三者的ASCII值相加,结果如下:Checksum=0x22+0x30+0x31+0x32=0xB7上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统结果最后的两个字符为“B”和“7”,将它们并在发送命令的后面、[Enter]的前面,最后发送的字符串为$012B7[Enter],如此就完成了一个带有Checksum的命令字符串。当主控计算机使用Checksum的方式将命令发送时,必须先行计算此Checksum的数值,接收到命令的模块也会将所接收到的字符串再进行一次Checksum的计算,当二者的结果一致时,此次的传输便被认为是正确的:如果二者的结果不一致时,模块会返回相应的错误信息。同样的,主控计算机在Checksum激活的情况下接收模块返回的字符串时,也必须对Checksum的值进行校验,以确认传输过程的正确性。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统6)结尾字符此字符表示字符串命令发送完毕,分布式模块中使用的是ASCII码的“13”;一般说来,相当多的设备使用的结尾字符也是此字符。模块接收到此字符才认定主控计算机命令发送完毕,并进行命令的分析和执行相应的控制操作。结尾字符在键盘上是Enter键。模块采用的结尾字符为[Enter],(CR)或(Cr)。7)数据主控计算机发送命令到模块,包括要求模块执行某些功能或返回模块的数据。数据包含在返回的字符串中,其位置如上文所述。不同的情况下,数据会不同,其格式也有差异。这些差异除了和要求的命令有关之外,也和每一个模块的功能有关。这些数据也是以字符串的格式被返回,但程序必须将其作为数字处理,例如返回的数据字符串为“12.55”,应视为12.55的数值。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统4.命令及返回格式1)命令概述分布式结构可以在同一个RS-485网络中连接最多256个模块(在没有缓冲模块的情况下),如同前面的讨论,每一个模块必须要有一个地址,以便于主控计算机将相应的命令送达,也保证这些模块中的相应模块才会进行响应,不至于多个模块同时进行响应而造成网络上的数据产生冲突。命令格式后的字符串需要看该模块是如何定义,表7.3.1是一些命令字符串的范例。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统表7.3.1中的英文字母都有其特别的意义,需要看使用手册上的规定,例如“AA”这两个字母通常代表的地址;后面其他的数值或是字母视各个模块而定,没有固定的意义。除了配置命令较长以外,其他命令其实都很短。由于命令字符串的长度不固定,因此7000系列模块所有的命令后面都需要加上结束字符ASCII码第13号,以便让所有的模块知道一个命令的结束位置。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统例如,设置模块的配置时,要发送%AANN40CCFF的命令(此命令用于数字I/O模块),但此字符串却不是直接发送到模块去,而是需要先找出对应的意义。此命令的意义如下:%:前导字符。AA:两个字符表示的模块地址,由00-FF。NN:新的AA值,也即新的地址。40:表示使用的是DIO模块,模块以不同的号码来代表该模块的使用范围;而40特别用以代表DIO。CC:以两个字符数字表示的传输速度,使用手册上列出的数值参照表如表7.3.2所示。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统FF:以两个字符数字表示的状态码,可被拆成8个不同状态,在使用手册上的定义根据模块功能的不同而有差异,表7.3.3是其中的一种。而在此命令的最后面还可能加上Checksum的值和结束字符Chr(13)。当此命令发送时,相应的模块便会将该模块的情况返回,由表7.3.1中的返回值可以看出,如果返回的字符串开头是“!”,表示命令正确;如果是“?”,表示发送的命令是错误的,错误的产生原因可能是模块地址错误或是不正确的参数所致。详细的命令响应字符串需参考各模块手册上的说明,不过各命令大同小异。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统2)MSComm控件与命令的传输和接收在命令中经常会提到数值的部分,我们必须很清楚地了解到,这些数值都必须转换为字符串后才发送到RS-485网络并到达相应分布式模块。MSComm控件中使用Output属性将所发送的字符串发送到规定的串行端口(一般的计算机是COM1或COM2);以配置命令为例,%AANN40CCFF命令字符串可以写成如下的字符串(Buf在程序中须被声明为字符串):Buf=”%0101400600”&vbCr结合MSComm控件的Output属性发送此命令:MSComm1.Output=Buf上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统如此配置命令借助串行端口发送,而地址是01的模块将进行响应。接下来是接收由模块所返回的执行结果。其中我们假设使用的MSComm控件的名称是MSComm1。正常情况下(指的是模块存在、地址正确、命令正确),模块接收到配置命令后会返回执行结果,以此命令为例,就是将模块本身的配置以字符串的格式返回。MSComm控件要接收传自模块的字符串,使用的是Input属性,接收的程序就须写成(Buf在程序中须被声明为字符串):Buf=MSComm1.InputBuf字符串变量因此得到模块返回的执行结果。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统3)程序步骤在图7.3.2说明的命令流通过程是每一个命令都必须遵守的,Visua1Basic程序编写的过程中,这一连串的步骤可以归纳如下:①引用MSComm控件,并赋予适当的对象名称。可在设计时设置串行端口号码,或在程序中设置。②在适当的事件程序中令MSComm对象的PortOpen属性为True,以打开串行通信端口。③准备发送命令时,将命令字符串进行必要的组合,接着使用Output命令发送(如图7.3.2的步骤①、②所示)。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统④等待一些时间,给模块时间执行发送命令(如图7.3.2的步骤③、④所示)。⑤使用MSComm对象的Input属性获取执行结果(如图7.3.2的步骤③所示。⑥其他的程序处理。这几个步骤都相当重要,尤其是步骤①,模块需要一定时间执行命令并返回结果。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统7.3.2基于分布式模块的测控系统实例——北京某冰场温度自动监测系统设计1.监测系统构成冰场温度自动监测系统是为实现对两个冰场冰层温度进行本地自动监测而研制开发的自动监测系统。系统由现场上位IPC、分布式模拟输入模块、温度传感器阵列和自动监测软件组成。基于分布式模块的冰场温度自动监测系统构成见图7.3.3。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统本系统要求对两个冰场(一个主冰场、一个训练用辅助冰场)的冰层温度实时自动监测,共设置了5个监测点,主冰场设置三个监测点,辅助冰场设置两个监测点,每个监测点在冰层中安置一个温度变送器。每个冰场设置一个分布式模拟输入模块I-7017,用于采集温度变送器获取的温度信号,主冰场设置的温度变送器为温度变送器1~3,辅助冰场温度变送器为温度变送器4~5。变送器1~3的输出对应连接I-7017A的输入通道CH0~CH2,变送器4~5的输出对应连接I-7017B的输入通道CH0~CH1。两个模拟输入模块接入RS-485网络与I-7520连接,I-7520是RS-232/RS-485转换模块,将RS-485信号转换成RS-232信号,与主控计算机IPC的COM1口相连。如此,实现了监测系统的网络构建。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统在系统架构完成之后,系统的主要设计工作在于自动监测软件的设计,软件可以采用多种软件平台设计。常用的有VisualBasic、VisualC++、Labview以及组态软件,本例中采用VisualBasic进行软件设计。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统2.监测软件设计自动监测系统的主界面见图7.3.4。在主界面窗口的上方设置了两个Shape控件(图形控件),用以表示冰场的冰面:在左下方设置了一个PictureBox控件(图片框控件),用以显示监测点的温度变化曲线:在右下方的上部设置了10个Shape控件,用以指示冷水机组的工况:在右下方的下部设置了9个CommandButton控件,用以功能切换。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统在主界面窗口上方左边的Shape控件(Shape1)中设置了3个CommandButton控件(T1、T2、T3)与3个Label(1bltemp(0)~1bltemp(2))控件,CommandButton控件用以切换下方PictureBox控件中显示的对应监测点的温度变化曲线,Lable控件用以显示对应监测点的温度数值。在右边的Shape控件(Shape2)中设置了2个CommandButton控件(T4、T5)与2个Lable(1bltemp(3)~1bltemp(4))控件,CommandButton控件用以切换下方PictureBox控件中显示对应监测点的温度变化曲线,Lable控件用以显示对应监测点的温度数值。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统在主界面窗口左下方的PictureBox控件(picTemperature)用以显示监测点的温度曲线,究竟显示的是哪一个监测点的温度曲线,通过点击按钮控件T1~T5选择,点击哪一个按钮就显示哪一个对应监测点的温度变化曲线。在主界面窗口右下方上部的10个Shape控件,作为状态指示灯,用以指示冷水机组的工况,当颜色为绿色时表示对应的冷水机组工作正常,当颜色为红色时表示对应的冷水机组工作异常。上一页下一页返回7.3基于IPC与分布式测控模块的
集散测控系统在主界面窗口右下方下部的9个CommandButton控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电气消防设施安装施工方案
- 2025-2026学年我的心砰砰跳教学设计
- 2025-2026学年语文教学设计培养目标
- 2026年南京城市职业学院单招职业适应性考试题库及答案详解(考点梳理)
- 2026年内蒙古乌海市单招职业倾向性考试题库附参考答案详解(巩固)
- 2026年北海康养职业学院单招职业技能考试题库带答案详解
- 2026年六盘水幼儿师范高等专科学校单招职业适应性考试题库附参考答案详解(达标题)
- 混凝土结构施工环境监测技术方案
- 2025-2026学年教案寒假成长记
- 广西财经学院《中国美术史》2024 - 2025 学年第一学期期末试卷
- 多胎羊养殖技术培训课件
- 隧洞爆破安全培训课件
- 2026年泰山职业技术学院单招综合素质笔试模拟试题带答案解析
- 博物馆讲解培训课件
- 《机械设计》课件-上
- 卧底侦查话术手册
- 2026年-高中语文阅读理解专题训练50篇(含答案)
- 2026年湖南高速铁路职业技术学院单招职业技能考试必刷测试卷及答案1套
- 2025福建福港拖轮有限公司招聘7人笔试历年备考题库附带答案详解试卷2套
- 广东省惠州市示范名校2025-2026学年物理高二第一学期期末学业水平测试试题含解析
- 多模态信息环境下虚假新闻智能检测技术研究
评论
0/150
提交评论