购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.2 多种网络设备统一管理技术

5.2.1 概述

控制系统中需要管理的对象包括网络、设备与数据。网络定义了设备间的连接关系以及信息交换的格式与方法;设备是系统控制功能的主要实施者,设备参数体现并反映了设备的运行状态,而系统中各设备的状态决定了控制系统的状态;数据主要来源于设备的输入输出、寄存器和内存变量,反映控制系统状态以及生产过程中产生的各类信息。系统应用软件根据对应的协议与网络设备进行通信,对网络设备进行操作和管理。而不同的网络所采用的通信协议不同,不同类型的设备所具有的状态与寄存器资源也不相同。通常用户通过协议手册了解通信时应使用的通信方式、通信命令以及报文格式,编写或安装协议栈软件;通过设备手册了解设备的参数与寄存器定义,开发管理软件,对设备的运行状态以及各类数据进行操作与访问。

多网络设备统一管理方法利用互联网中的描述技术,对控制系统中的网络与协议相关的通信方式、通信命令与报文格式进行定义,形成协议描述文件,使协议栈软件可以通过描述文件定义协议功能,以统一的方式对不同网络中的协议提供支持,实现与不同总线设备通信;对网络系统中的设备资源,如系统参数、存储区、通信接口进行定义,形成设备描述文件,使不同总线、不同类型设备的资源与属性具有统一的理解与访问方法;对生产过程中产生的实时、历史以及过程数据进行定义,形成描述文件,使各类数据在系统中具有统一的表达、理解与使用方式。通过加载描述,自动获得协议信息、设备资源和系统参数与数据,对多种网络中的设备进行统一的配置和管理。

5.2.2 基本原理

根据开放系统互连OSI(Open Systems Interconnection)体系中的7层网络模型,IEC61158标准将现场总线结构简化为物理层、数据链路层以及应用层三层结构。

物理层为物理连接的数据链路实体提供透明的数据传输服务,负责从数据链路层接收数据单元,添加前导码和定界符,编码后将信号发送至物理媒体,或对媒体中传输的信号进行解码,去掉前导码和定界符后将数据传递至数据链路层。在编码方式与通信媒体选择上,各类现场总线一般采用RS485串行通信或IEEE802.3以太网标准。

数据链路层向高层用户提供透明可靠的数据传送服务,主要包括数据帧封装,数据校验以及介质访问控制等功能。在现场总线控制系统中,总线上的所有设备共享通信介质。为避免同一时刻有多个设备争用总线而产生冲突,链路层通过令牌、时分复用等介质访问控制机制保障控制网络的响应时间、吞吐量和传输效率。

在应用层中,应用软件为用户提供设备管理、变量管理、编程开发、监视控制等功能,其中设备与变量是现场监控与管理的核心,这些信息主要来源于现场设备的系统参数、IO接口与寄存器,信息被封装为报文在网络中传输,实现信息共享。不同类型的总线使用不同的通信协议,对应于不同的报文格式。除此之外,不同协议采取的通信方式、通信命令也各不相同。通信软件在与设备通信之前应了解设备的参数与寄存器的定义,及其所支持的通信协议与通信接口,根据协议要求进行通信报文的封装与解析。

在多总线设备统一管理方法中,上述信息分别包含在协议、设备以及变量描述中。应用软件加载描述文件,自动获得变量属性,设备资源以及通信方式与报文格式,实现对不同总线设备的统一操作与管理,系统结构如图5-6所示。

图5-6 现场总线控制系统的应用软件结构

图5-6中,控制系统中的现场设备主要包括DCS(集散控制系统)、PLC(可编程控制器)、PAC(可编程自动化控制器)、CNC(数控系统)、ECU(嵌入式控制单元)等控制器以及仪表、传感器、驱动器与执行器等数据采集与执行单元。它们通过现场总线连接,进行分布式数据采集、运算与控制。设备中的参数与变量是生产制造过程中各类数据的主要来源。设备描述为系统提供设备的参数、IO接口、寄存器、通信接口等资源的定义与说明,指导用户通过软件对设备与变量进行操作与管理。

物理层与数据链路层硬件接口为了设备间透明可靠的数据传输进行物理信号的编解码以及数据帧的校验与介质访问控制等操作。应用层协议提供通信服务和系统管理服务,由不同报文的传输与解析实现。协议栈软件负责通信报文的封装与解析,其将用户层请求按通信协议的格式要求封装为报文传递至数据链路层与物理层硬件接口,或从这些接口中接收报文,按格式解析报文字段,获得现场数据。通信协议描述提供了与设备通信时应使用的通信方式、通信命令以及报文格式等信息,指导协议栈软件与设备交互。

制造企业在生产过程中不断产生各类实时数据、历史数据以及包含着生产、经营与管理业务逻辑相关的过程数据。在应用软件中,各类数据以变量的形式体现,变量描述从基本信息、数据源属性以及处理方式对变量进行统一的描述与表达,使其在系统的各类软件,如生产监控、制造执行系统MES以及企业资源计划ERP中被高效的获取、理解与使用。设备管理通过设备描述获得设备参数、IO接口与寄存器等信息,并根据用户定义生成变量;通过协议描述获得与设备通信应使用的通信方式与报文格式,与设备通信并为应用软件提供设备参数与变量信息的存储、访问与修改等管理服务。

编程软件通过指令组合对设备的运行程序进行编程或组态;人机界面软件对生产过程中产生的各类实时、历史和过程数据进行监视与控制;生产过程、生产资源管理与调度以上述软件模块为基础,对生产过程中的制造数据、生产计划、原材料、产成品以及人员和生产设备等信息进行合理的组织、管理与展现,根据生产计划与生产工艺要求,对生产过程与企业资源进行管理。

5.2.3 设备描述的主要内容与实现

在工业控制网络中,设备的状态、参数以及变量是设备管理与变量管理的主要对象,也是各类软件的主要数据来源,而通信命令、通信方式与通信报文是操作这些对象的主要手段,这些信息构成了协议、设备与变量描述的核心内容。

(1)设备的系统参数

系统参数反映并影响现场设备的配置与运行状态,以大工计控PEC8000可编程控制器为例,PLC设备的典型系统参数如表5-2所示。

表5-2 PLC设备的典型系统参数

如表5-2所示,系统参数分别从程序执行、通信参数、IO接口配置以及特殊指令等方面体现并影响设备的运行状态。程序执行参数反映了控制器程序下载过程中是否出现异常、程序解析执行过程中是否产生错误以及程序执行过程中堆栈是否溢出等状态;同时还包括程序最快与最慢扫描时间等与设备运行相关的信息。通信参数则主要包括设备在网络中的通信格式、通信接口与通信方式等参数,可以通过参数配置改变通信模式或者查询参数了解设备通信状态。IO接口参数则包含设备开关量输入防抖时间,模拟量输入的零点满度与报警值,输出保持方式等配置信息。除此之外具有PID指令和设备冗余等功能的一系列配置和状态参数。

系统参数是设备描述的主要内容之一,包括名称、类型以及与通信相关的通信命令与通信报文等属性。描述文件中对应的节点如表5-3所示。

表5-3 系统参数描述

注:*为必选属性,其余可选。

表5-3中,Read/WriteCmdID属性给出了读写该系统参数应使用的通信命令;ReadBitIndex属性定义了在读操作的响应报文中,系统参数在数据段中的偏移,而WriteBitIndex则对应于该参数在写请求报文数据段中的偏移;Read/WriteBlockValueList属性给出了读写操作对应报文中部分报文字段的取值。

(2)设备的寄存器与IO变量

变量用于存储设备的输入输出以及控制程序的运算结果,用户通过设备中的变量定义和指令编程完成控制程序的开发以及生产过程的监控与管理。PLC设备中的输入输出变量或寄存器与物理IO对应,物理IO连接控制系统的开关、触点、传感器和执行器等,其接口属性主要包括类型(开关量或模拟量)、操作方式(输入或输出)与数量等。

在设备描述中,IO接口与寄存器的属性包括名称、操作方式、长度、地址范围、读写方式以及与之对应的通信协议等。在设备描述中,寄存器与IO接口统一通过寄存器区Area节点描述,主要包括基本信息与操作方式两部分内容,如表5-4所示。

表5-4 设备存储区描述

注:*为必选属性,其余可选。

表5-4中,不同的存储区支持不同的操作方式,由OperateInfo子节点描述。OperateType属性为0表示位操作;OperateType=2表示整块操作;OperateType=1表示单元操作,单元长度取决于Area节点的Unitlen属性:Unitlen=8为字节操作,Unitlen=16为字操作,Unitlen=32为双字操作;每种方式对应着不同的操作范围与通信命令,由OperateInfo节点的Start/EndAddr以及Read/WriteCmdID属性定义。MaxOperate属性描述一条报文最大可操作的寄存器长度,长度单位由OperateType属性决定。Read/WriteBlockValueList为通信命令报文中特定字段的赋值方法。协议栈软件可以根据上述信息获得设备支持的寄存器区信息,以及操作各寄存器区对应报文的封装与解析方法。

(3)应用层协议与通信方式

应用层协议提供通信服务和设备管理服务。通信服务用于设备的数据访问,实现设备的数据交互;设备管理服务用于设备的状态查询、功能切换和参数设定等操作。不同协议使用的通信命令和通信方式不同。表5-5列举了EPA、Profibus、FF三种总线常用的通信命令。

表5-5 EPA、Profibus、FF协议常用的通信命令

表5-5中,各种协议支持的通信命令可分为两类:通信服务类命令,用于读写设备变量实现数据交互,主要操作设备存储区,如变量读写、域上载下载等;设备管理类命令,用于对设备配置与运行状态进行管理,主要操作设备的系统参数,如设备上线管理、系统参数读写、设备诊断等。

不同的通信命令使用不同的通信方式,目前各总线共支持请求/应答、预订者/发布者以及报告分发三种通信方式,如图5-7所示。

图5-7 通信方式示意

图5-7中,请求/应答方式用于两个设备之间进行点对点数据交互,如客户机/服务器,主/从等方式,绝大部分通信命令均使用该方式与设备通信;预订者/发布者方式,用于多个用户向同一数据源订阅数据,当其值发生改变或预定时间到时,数据源向订阅者发布数据,如EPA协议的数据分发命令,以及FF协议采用的预订/发布VCR(虚拟通信关系,Virtual Communication Relationship)的变量读写命令等;报告分发方式,当触发条件满足时,数据源向网络内所有设备广播数据,如各总线的事件通知命令。

综上,通信命令的描述应包含名称,类型,通信方式等基本信息,以及与之对应的请求与正负响应报文的格式,如表5-6所示。

表5-6 通信命令描述

注:*为必选属性,其余可选。

通信命令主要包括管理类(CmdType=0)与数据交互类(CmdType=1)两种类型;通信方式主要有三种,请求/应答(CommType=0),预订者/发布者(CommType=1),以及报告分发(CommType=2);CheckType字段描述校验类型:0不校验,1CRC校验,2奇校验,3偶校验等;Show2User描述该命令是否允许软件暴露给用户,并被用户直接调用;请求报文格式通过Request定义,如Request=“0-1-2-3-4”代表该报文是由编号为0、1、2、3、4的报文字段顺序组合而成。同理正负响应报文格式由Response与Error属性定义。

(4)通信报文

通信命令通过报文传输使设备按着报文定义的命令执行。通信报文是在不同设备间传输,用于执行通信命令的有序字节序列。典型的应用协议报文由报文头,数据区与校验码几部分组成,每部分又分别由若干报文字段构成,如目的设备地址DA、命令功能号FC、报文长度PL、数据段长度DL、数据段DS、报文校验码FCS等等,各字段分别具有数据类型,长度,赋值方法等属性。可从最基本的报文字段入手,对其名称,长度,赋值方法等属性进行描述,通过字段间的排列组合,构成不同命令对应的请求与正负响应的报文格式。报文字段描述主要包括长度、类型、字节顺序以及赋值方式等属性,如表5-7所示。

表5-7 通信报文字段的描述

注:*为必选属性,其余可选。

ByteSeq属性指定报文字段在报文中的字节顺序,包括低字节在前(ByteSeq=1),和高字节在前(ByteSeq=0)两种方式;报文字段的赋值方法由DealType属性定义,共包括静态和动态两种赋值方法:DealType=0为静态赋值,此时报文字段的值为常量,BlockValue属性存储赋值立即数;DealType=1动态赋值,此时数据字段的值需要在报文封装与解析时动态计算,BlockValue属性描述赋值方法,表5-8列出了常用的赋值方法。

表5-8 报文字段常用赋值方法

综上,设备描述主要包括系统参数、IO接口与寄存器、通信命令以及通信报文四个主要部分。在工程应用中,设备描述文件应遵守各元素的语义和语法定义,但并不强制要求包含以上全部节点与属性,可根据实际需要选择相应的节点编写描述文件。

5.2.4 变量描述的实现

变量描述定义了用户在编程、监控、MES以及ERP系统中所使用的数据信息,为各类软件提供统一的理解与存储格式。变量描述主要包括基本属性、数据源信息以及报警信息三方面内容,结构如表5-9所示。

表5-9 变量描述节点说明

注:*为必选属性,其余可选。

表5-9中,基本信息主要包括变量名称、变量类型、数据类型、长度、单位以及备注。数据源属性描述了设备变量与内存变量的数据来源:如果是设备参数,DeviceID与ParaID属性指定目标设备的参数,软件可从对应的设备描述中获得目标参数的属性与对应的通信命令与通信报文;如果是设备变量,DeviceID与AreaID指定目标设备与存储区,WordIdx与BitIdx指定变量在存储区中的地址偏移,IODataType与ItemLength描述在设备中该变量的数据类型与长度,软件可从设备描述中获得操作该变量应使用的通信命令与报文格式;如果是内存变量,ValueScript属性存储变量赋值脚本。如果是需要周期刷新的变量RefreshCycle属性存储变量刷新周期,单位ms,如果变量需要进行量程转换,Max/MinProjValue以及Max/MinIOValue属性指定转换范围。变量共支持六种报警操作:下下限、下限、上限、上上限、目标值以及变化率报警,通过AlarmType属性定义;变量可同时支持多种报警类型,每种类型对应一个AlarmInfo字段。

5.2.5 基于描述的设备操作与管理

在系统软件中,设备需要被操作与管理的内容包括通信命令、系统参数与变量。通信命令可被直接配置以完成对设备的特定操作,如设备的启动/停止,切换设备状态,扫描从设备等;系统参数可以被用于管理和设定设备的运行状态,如程序运行模式,DI防抖滤波时间等;变量用于读取或修改设备的输入输出,或与组态逻辑相关的寄存器值。系统软件应分别根据协议描述、设备描述以及变量描述对设备进行配置和管理,并根据用户操作与协议描述封装成通信报文,实现与设备交互。

(1)系统参数管理

系统软件解析设备描述中的系统参数Para字段,将设备支持的系统参数以表格形式显示,如图5-8所示。

图5-8 系统参数列表

软件根据用户选择的参数,从描述中获得操作该参数应使用的通信命令,根据协议描述进行通信报文的封装与解析,完成设备运行状态的配置与管理。从描述文件获得相关信息生成报文过程如图5-9所示。

图5-9 设备参数操作流程

图5-9中,首先从变量描述中获得参数所在设备的类型编号以及参数编号,然后根据设备类型找到对应的设备描述文件,根据参数编号获得参数描述;通过参数描述中的Read/WriteCmdID属性得到读写该参数应使用的通信命令,从协议描述中的Command通信命令描述获得该命令的请求报文格式;根据协议描述中的报文字段描述PacketBlock以及参数描述中的Read/WriteBlockValueList获得报文中各字段的赋值方法;根据参数描述中的Read/WriteBitIndex获得目标参数在报文数据区中的位置偏移,从而完成报文封装与解析;从通信命令描述中的CommType属性获得该报文的通信方式,与设备交互,完成目标参数的读写操作。

(2)变量读写

系统软件解析变量描述,根据ItemName、DataType、SrcType等属性获得变量名称、数据类型、IO类型等,绘制变量列表显示给用户,如图5-10所示。

图5-10 变量列表

软件根据用户选择的变量,从变量描述中获得该变量所属的设备、地址与数据类型,从设备描述中获得操作该寄存器应使用的通信命令,根据协议描述进行通信报文的封装与解析,完成变量读写。与设备参数操作过程类似,软件首先通过变量地址获得对应的设备类型与寄存器区编号;根据变量的数据类型,从设备描述的寄存器区描述中找到对应的操作方式描述,通过命令编号得到读写该寄存器区应使用的通信命令,并从协议描述中获得该命令对应的报文格式与通信方式,实现变量读写操作。

(3)通信命令调用

系统软件解析协议描述中的通信命令Command字段,形成命令报文,由通信程序完成收发,由描述文件(Show2User属性为1)以命令形式暴露给用户,供其直接访问,如图5-11所示。

图5-11 通信命令列表

软件根据用户选择的通信命令,从协议描述中获得其对应报文的封装与解析方法,与设备通信。软件根据调用的命令编号,在通信命令描述中通过Request/Response/Error属性得到请求与正负响应报文的格式;根据通信方式与报文字段描述获得各字段的赋值方法,封装报文与设备通信。 IRp4TCfqBHfPeel2xfrkviyUWgcfP3eUQ5xehhanHp8Ymxj69U1hjPk+M6pDy9TX

点击中间区域
呼出菜单
上一章
目录
下一章
×