梧州西门子专业授权代理商
本文基于CANopen高层协议,分析CANopen设备模型和CANopen应用系统,并描述基于HMI的CANopen系统,*后,通过组态软件CAN驱动,实现CANopen设备的人机界面接入。文章以人机界面为核心,描述HMI系统现场总线设备数据采集模型,分析HMI系统关注的CANopen协议的内容,阐述了符合CANopen通信协议的设备在现场总线上的应用,并给出了具体的应用模型。
关键词:HMI(人机界面);HMIBuilder;组态软件;CANopen。
1. 系统概述组态软件建立工业自动化领域的各种标准之上的,详细架构请见图1.1。
HMI(Human Machine Interface)系统已经成为工业现场的一类应用核心。软硬一体,符合工业标准。
通过组态软件驱动接口,组态软件采集现场总线设备的数据,将现场数据转给组态软件实时数据库,并通过标准控件显示数据信息,通过标准存盘接口完成历史存储,以及其他功能,比如报警、逻辑、用户管理等,*后,通过实时数据库和组态驱动接口,还可以实现总线系统中PLC、智能仪表和其他总线设备的控制。
在系统中,现场总线设备是信息的源头,连接采集传感器信号,并参与控制执行单元,比如通过输入部分,采集温湿度、高度信号等模拟量采集(AI)和开关量输入(DI)信号;通过计算和控制部分,实现数据转换、报警判断等计算和逻辑控制;*后,经由输出部分,通过电压和电流的模拟量输出(AO)和开关量输出(DO)执行控制结果。
图1.2形象的描述了现场总线设备内部构造。工业自动化领域设备内部结构有规律可循,并可以标准化,为现场总线高层协议设备模型的标准化提供了事实依据和保障。
2. CANopen设备2.1. CANopen协议
图2.1[1] CAN、CANopen标准在OSI网络模型中的关系框图
CANopen协议是CiA(CAN-in-Automation)组织定义的标准之一。CANopen协议已得到广泛的认可,并成为CAN总线在工业自动化领域的主导标准。
基于OSI通讯模型,CAN总线协议仅仅定义了物理层和数据链路层标准,而CANopen协议是在CAN2.0A协议基础上的应用层协议。
通过图2.1,我们可以清楚地看到CANopen协议和CAN协议的关系。也可以说,CAN协议是固化在CAN控制器芯片中的,比如我们选用飞利浦SJA1000CAN控制器,则CAN标准协议已经在控制器中实例化或固化;CANopen协议是应用层协议,也就是需要我们在软件编程实现。
CANopen协议也体现了总线设备在应用软件中的映射关系或设备轮廓描述(Device Profile)。
2.2. CANopen设备模型
现场总线的作用就是将接近执行层面总线设备的信息发送给总线系统的管理层面主站系统。CAN协议决定了CAN总线支持多主的通讯方式,使上层系统可以更多种的方式获取总线设备的信息。基于CAN2.0A协议,CANopen协议定义了工业自动化领域的总线设备模型,明确了总线网络的管理,定义了总线设备内的各种信息对象,规定了设备设置的具体方法。
根据自动化现场的要求,CANopen设备下面接入信号I/O,采集现场数据,上部连接CAN总线,向高层传送设备信息。CANopen协议为总线设备定义了应用程序软件、对象字典和CAN-bus通讯,如图2.2说明了三者间的关系。
图2.2 [1] CANopen设备模型中应用软件、对象字典和通讯部分的关系图
Communication Interface(通信接口):
提供CAN总线上收发数据报文的服务。规定了四类CANopen数据报文:管理报文(Administrative message:包括LMT、NMT和DBT服务报文)、SDO(Service Data bbbbbb:设备配置相关,优先级较低的报文)、PDO(Process Data bbbbbb:8字节数据快速传送报文)和特殊报文(Predefined messages or Special Function bbbbbbs:包括SYNC、Time Stamp等报文)。设备间的通信都是通过交换通信对象完成的。
CANopen bbbbbb Directory(对象字典):
对象字典描述设备的各项参数和其网络性能,以特定的方式描述总线设备包含的报文对象(过程数据对象PDO或配置服务数据对象SDO),从而实现了设备的功能性描述。这些对象通过一个16位的索引和一个附加的8位子索引来访问。对象字典位于CAN总线设备通信部分和应用部分之间,向应用程序提供接口,应用程序对对象字典进行操作就可以实现CANopen通信。
Application(应用程序):
应用程序部分由用户编写或者配置,包括功能部分和通信部分。通信部分通过对对象字典进行操作实现CANopen通信,而功能部分由用户根据应用要求实现。比如CAN控制器,应用程序部分则为过程控制或数据处理逻辑,需要用户编写。
各个厂家提供的CANopen设备都必须遵循协议的标准,我们查找设备厂家提供的资料或技术手册的时候,都可以找到类似Beckhoff公司的总线设备描述(参见图2.3)。
图2.3 [1] Beckhoff公司CANopen设备描述
2.3. CANopen系统应用
CANopen协议应用可以分为下面2个层面:
操作应用层面:现场操作人员、现场设备检查人员等关注,关注可控性、易操作性和操作效率。
目标:监测控制,生产操作。 特点:关注CANopen协议的相关内容。
系统设置层面:系统集成技术人员、设备维护和改造人员等关注,通过**的方案,实现应用系统。
目标:工程实施、系统集成。 特点:关注CANopen协议整体。
从操作应用层面看,技术操作人员主要是通过已经形成的生产线,依靠CANopen系统完成既定的生产工作,也就是通过采集的信号的内容展示和分析结果,关注的是通过设备完成的生产操作。也就是,操作人员关注通过正确的操作方法,顺利完成生产任务。这个层面的用户是人机界面系统的*终使用者。工业人机界面系统的设计必须考虑这个层面应用的需求。
如图2.4所示,现场总线系统中,人机界面部分往往是体现操作应用层面。
从系统设置层面看,技术人员要对现场设备进行装配、设置,甚至编程。技术人员可以根据设备的说明文档,依据现场工程的需求,进行装配和设置。一般来说,每种设备都有测试或者配置软件,尤其逻辑控制设备,都配置编程软件,比如PLC,CANopen设备也是如此!这些软件都已经非常成熟,编程通讯往往有很多不开放的技术,我们必须借助于设备厂商提供的软件。这个层面的技术人员工作,往往是针对确定的I/O部分,依照明确的工艺需求,进行设备组态、系统集成等工作,关注系统集成部分,也就是根据操作应用层面的具体需求进行系统集成。
如图2.4所示,现场总线系统中,编码调试设备和软件往往体现系统设置层面。
对于人机界面的组态,我们主要是考虑操作应用层面的需求,也就是关注I/O状态、控制有关的参数设置、运行结果的记录等。这些为基于HMI的现场总线控制平台的协议通讯模式的实现提供了依据。
HMI组态关注的数据对象主要是过程数据对象(PDO)用于在CANopen节点间传送过程数据,如I/O模块的I/O状态的读取和设定、模拟量采集和模拟量输出等等。
Node节点-->HMI平台(TxPDO:发送过程数据对象)
Node节点