您现在的位置:中国传动网  >  技术频道首页  >  专业论文  >  基于人机界面的CANopen设备接入模式分析

基于人机界面的CANopen设备接入模式分析

2018年01月12日 11:08:21 中国传动网

摘要:

本文首先基于CANopen高层协议,分析CANopen设备模型和CANopen应用系统,并描述基于HMI的CANopen系统,最后,通过组态软件CAN驱动,实现CANopen设备的人机界面接入。文章以人机界面为核心,描述HMI系统现场总线设备数据采集模型,分析HMI系统关注的CANopen协议的内容,阐述了符合CANopen通信协议的设备在现场总线上的应用,并给出了具体的应用模型。

1.系统概述

组态软件建立工业自动化领域的各种标准之上的,详细架构请见图1.1。

HMI(HumanMachineInterface)系统已经成为工业现场的一类应用核心。软硬一体,符合工业标准。

通过组态软件驱动接口,组态软件采集现场总线设备的数据,将现场数据转给组态软件实时数据库,并通过标准控件显示数据信息,通过标准存盘接口完成历史存储,以及其他功能,比如报警、逻辑、用户管理等,最后,通过实时数据库和组态驱动接口,还可以实现总线系统中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协议也体现了总线设备在应用软件中的映射关系或设备轮廓描述(DeviceProfile)。

2.2.CANopen设备模型

现场总线的作用就是将接近执行层面总线设备的信息发送给总线系统的管理层面主站系统。CAN协议决定了CAN总线支持多主的通讯方式,使上层系统可以更多种的方式获取总线设备的信息。基于CAN2.0A协议,CANopen协议定义了工业自动化领域的总线设备模型,明确了总线网络的管理,定义了总线设备内的各种信息对象,而且规定了设备设置的具体方法。

根据自动化现场的要求,CANopen设备下面接入信号I/O,采集现场数据,上部连接CAN总线,向高层传送设备信息。CANopen协议为总线设备定义了应用程序软件、对象字典和CAN-bus通讯,如图2.2说明了三者间的关系。

图2.2[1]CANopen设备模型中应用软件、对象字典和通讯部分的关系图

CommunicationInterface(通信接口):

提供CAN总线上收发数据报文的服务。规定了四类CANopen数据报文:管理报文(Administrativemessage:包括LMT、NMT和DBT服务报文)、SDO(ServiceDataObject:设备配置相关,优先级较低的报文)、PDO(ProcessDataObject:8字节数据快速传送报文)和特殊报文(PredefinedmessagesorSpecialFunctionObjects:包括SYNC、TimeStamp等报文)。设备间的通信都是通过交换通信对象完成的。

CANopenObjectDirectory(对象字典):

对象字典描述设备的各项参数和其网络性能,以特定的方式描述总线设备包含的报文对象(过程数据对象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节点<--HMI平台(RxPDO:接收过程数据对象)

系统配置关注的数据对象主要是服务数据对象(SDO:ServerDataObject)服务用于读写节点的对象字典(ObjectDictionary)用来在设备之间传输大的低优先级数据,实现信息的下载/上传、请求/应答、分段/加速传送等操作,用来配置CANopen网络上的设备。

其他的数据对象,比如管理报文、预定义报文、特殊报文,系统配置时,一般会使用。而根据控制工艺,在操作应用层面,较少使用这些数据对象。

2.4.CANopen标识符和数据对象

为了减少简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN-ID)分配表。这些标志符在预操作状态下可用,通过动态分配还可修改他们。CANopen设备必须向它所支持的通讯对象的提供相应的标识符。

缺省ID分配表是基于11位CAN-ID,包含一个4位的功能码部分和一个7位的节点ID(Node-ID)部分。如图4所示。

图2.5[1]PDO数据对象11位ID的预定义格式

Node-ID:对应CANopen设备,由系统集成商定义,例如通过设备上的拨码开关设置。Node-ID范围是1~127(0不允许被使用)。

FunctionCode:确定CAN帧的类型,比如:PDO和SDO:对应CANopen设备的寄存器。在CANopen设备中,常用的PDO为0x180+Node-ID。其中0x180就是指FunctonCode。SDO是用来在设备之间传输大的低优先级数据的服务数据对象,典型的功能是配置CANopen网络上的设备。

比如,PDO用来传输8字节或更少数据,没有其它协议预设定(意味着数据内容已预先定义)。比如:某倾角传感器上传的为7个字符,因此它有8个PDO数据需要传到现场总线上。标识符的格式为TPDO=0X180+NODE_ID,因此发送的PDO可以表示为表3.1的描述。

表3.1CANopen设备的PDO

3.组态软件通讯

3.1.PC-based的CAN总线接入

组态软件与硬件设备组成的CAN总线系统,详细组成请见图3.1。

图3.1CAN总线系统

3.2.基于HMI的CANopen系统描述

1)、简单系统:HMI+CANopen模块。

人机界面产品可以直接连接CAN从站模块,如图3.2所示。CAN从站模块主要是I/O模块,可以采集模拟量I/O数据或者控制数字量I/O,并通过总线方式扩展。比如,带CAN接口的HMI设备HMITECHTPC-CAN,直接连接芬兰Axiomatic单轴和双轴倾角传感器。

人机界面产品也可以直接连接CAN主站模块,如图3.3所示。CAN主站模块可以是现场总线通讯的可编程控制器,可以扩展直接I/O模块,也可以连接控制总线扩展模块。比如,HMITECHTPC-CAN连接EPEC2020控制模块。

2)、复杂系统:HMI系统+CANopen站模块+诊断和配置节点。

HMI主要完成CANopen系统监视和存储、分析功能。人机界面的优势是友好的人机交互。所以,同人机交互相关的CAN系统信息界面显示、总线数据存储、数据的初步分析等是CAN系统中人机界面所关注的重点。

CAN主站控制器注重实时性,HMI系统注重友好显示和数据存储。虽然,CAN主站控制器的逻辑也可以部分转移到HMI系统,但是,我们还是建议客户根据控制工艺的要求,慎重考虑,合理的配置系统。

4.组态软件CAN驱动

4.1.组态软件CAN驱动特定

图4.1组态软件CAN驱动

组态软件的CAN驱动程序,如图4.1所示,是人机界面和组态软件的接口,其功能和特点是:

CAN总线数据传递给组态软件的接口:

驱动要借助系统的设备驱动接口,读取CAN总线数据,并通过组态软件的标准形式,传递给组态软件的实时数据库。

可以通过多种形式保证数据发送和接收成功:

1)、驱动内部,判断CAN控制器发送错误信息;

2)、通过写入设备寄存器,然后,读取判断寄存器写是否成功。

关注CANopen协议操作应用层面:

驱动程序中,并不需要整合CANopen整个协议栈,支持CAN2.0协议就足够。然后,CANopen协议部分通过组态逻辑解决。

可以通过多种形式保障数据的完整性和实时性:

实时性就是最新发送总线数据,能够在规定的延时内,进入组态软件的实时数据库。完整性就是能够将所有的数据报文抓取到组态软件,并进行完整的数据处理和存储。根据控制工艺的要求,我们可以设置总线数据上发的频率,通过HMI嵌入的CAN控制器设置屏蔽减少非目标数据,也可以通过组态软件对CAN控制器和驱动缓冲区的处理数据收发性能。

供稿:网络转载

本文链接:http://www.chuandong.com/tech/detail.aspx?id=30678

中国传动网

官方微信

扫一扫,信息随手掌控

运动与控制

官方微信

扫一扫,运动与控制信息随手掌控

相关文章

联系我们

广告联系:0755-82048561
展会合作:0755-83736589
杂志投稿:0755-82048562

网站简介|会员服务|联系方式|帮助信息|版权信息|法律声明|网站地图|友情链接|法律支持|意见反馈

版权所有 2006-2016 中国传动网(ChuanDong.com)

  • 经营许可证
    粤B2-20150019

  • 粤ICP备
    14004826号

  • 不良信息
    举报中心

  • 网络110
    报警服务

网站客服热线

0755-82949541

QQ客服

2737591964