摘要:
本文首先基于CANopen高层协议,分析CANopen设备模型和CANopen应用系统,并描述基于HMI的CANopen系统,最后CONTROL ENGINEERING China版权所有,通过组态软件CAN驱动,实现CANopen设备的人机界面接入。文章以人机界面为核心,描述HMI系统现场总线设备数据采集模型,分析HMI系统关注的CANopen协议的内容控制工程网版权所有,阐述了符合CANopen通信协议的设备在现场总线上的应用,并给出了具体的应用模型。
关键词:
HMI(人机界面);HMIBuilder;组态软件;CANopen。
1. 系统概述
组态软件建立工业自动化领域的各种标准之上的,详细架构请见图1.1。
HMI(Human Machine Interface)系统已经成为工业现场的一类应用核心。软硬一体,符合工业标准。
通过组态软件驱动接口,组态软件采集现场总线设备的数据,将现场数据转给组态软件实时数据库,并通过标准控件显示数据信息,通过标准存盘接口完成历史存储,以及其他功能,比如报警、逻辑、用户管理等,最后CONTROL ENGINEERING China版权所有,通过实时数据库和组态驱动接口,还可以实现总线系统中PLC、智能仪表和其他总线设备的控制。
图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.1www.cechina.cn,我们可以清楚地看到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 Object:设备配置相关,优先级较低的报文)、PDO(Process Data Object:8字节数据快速传送报文)和特殊报文(Predefined messages or Special Function Objects:包括SYNC、Time Stamp等报文)。设备间的通信都是通过交换通信对象完成的。
" CANopen Object Directory(对象字典):
对象字典描述设备的各项参数和其网络性能,以特定的方式描述总线设备包含的报文对象(过程数据对象PDO或配置服务数据对象SDO),从而实现了设备的功能性描述。这些对象通过一个16位的索引和一个附加的8位子索引来访问。对象字典位于CAN总线设备通信部分和应用部分之间,向应用程序提供接口,应用程序对对象字