西门子模块6ES7231-7PF22-0XA0产品规格
本文基于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设备模型中应用软件、对象字典和通讯部分的关系图
CommunicationInterface(通信接口):
提供CAN总线上收发数据报文的服务。规定了四类CANopen数据报文:管理报文(Administrativemessage:包括LMT、NMT和DBT服务报文)、SDO(Service Databbbbbb:设备配置相关,优先级较低的报文)、PDO(Process Databbbbbb:8字节数据快速传送报文)和特殊报文(Predefined messages or Special Functionbbbbbbs:包括SYNC、Time Stamp等报文)。设备间的通信都是通过交换通信对象完成的。
CANopen bbbbbbDirectory(对象字典):
对象字典描述设备的各项参数和其网络性能,以特定的方式描述总线设备包含的报文对象(过程数据对象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:Server Data bbbbbb)服务用于读写节点的对象字典(bbbbbbDictionary)用来在设备之间传输大的低优先级数据,实现信息的下载/上传、请求/应答、分段/加速传送等操作,用来配置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不允许被使用)。
Function Code:确定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.1 CANopen设备的PDO
3.1.PC-based的CAN总线接入
组态软件与硬件设备组成的CAN总线系统,详细组成请见图3.1。
图3.1 CAN总线系统
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连接EPEC 2020控制模块。
2)、复杂系统:HMI系统+CANopen站模块+诊断和配置节点。
HMI主要完成CANopen系统监视和存储、分析功能。人机界面的优势是友好的人机交互。同人机交互相关的CAN系统信息界面显示、总线数据存储、数据的初步分析等是CAN系统中人机界面所关注的重点。
CAN主站控制器注重实时性,HMI系统注重友好显示和数据存储。CAN主站控制器的逻辑也可以部分转移到HMI系统,我们还是建议客户根据控制工艺的要求,慎重考虑,合理的配置系统。
自1996年天津罗升开始负责HITECHPWS系列人机产品在大陆的推广和销售。2005年瑞典Beijer成功并购HITECH(海泰克)后,目前旗下的HMI产品:EXTER和PWS两大系列在中国大陆的销售和服务全部由天津罗升企业有限公司负责。由于EXTER系列产品的加入,罗升的产品线更加的齐全。
下面针对BEIJER T70 人机Mulit-bbbb通讯举例说明
功能:两台BEIJER(T100\T70)控制三菱FX2N,T100与T70之间进行数据交换.其中T100作为主站(server),T70作为从站(client),主\从之间通过以太网连接.
1、主站Beijer T100设置:
A、 选择人机型号和PLC种类
B、将“控制器1”拖至COM1(RS422)设置与FX2N通讯的通讯参数,并右键点击驱动属性,选择成FX2N.
C、 设置“TCP/IP 连接1”中的IP地址.(主站和从站IP地址在同一个局域网内就可 以).
D、 选择“网络服务”勾选“BDTP 服务器”,点击“编辑”进入设置.
E、主站Beijer T100设置完成,在画面上作需要控制PLC的点或者数值元件以后,保存编译将程序下载到T100.
F、 Beijer T100 COM2 25PIN与 FX2N 8PIN接线图(RS422)
T100 FX2N
25PIN 8PIN
2-------------------------------2
15-------------------------------1
3-------------------------------7
16-------------------------------4
2、从站设置:
A、选择与主站同样的PLC种类.不能将“控制器1”选择在COM1或者COM2,只能将其放到“不使用的功能(UnusedFunction)中.
B、在“网络连接“中设置“TCP/IP连接1”的IP地址(只要地址前三段的主站一样就可以,由于主站和从站在同一个局域网,不用设置网关和DNS服务器).
C、在“网络服务”中勾选“BDTP 客户端”,点击“编辑”,进入属性进行设置.
只需要“BDTP服务器地址”中添入主站T100的IP地址,点击“附加”,将默认的“默认BDTP服务器”改为1,在数据控制器中添入地址(前面必须要加上1>).
D、画面上所有的地址都必须要在其前面加上1>,这样就表示从站上的地址都已经指向主站服务器.
E、从站设置完成,保存编译以后下载到从站Beijer T70中即可.