基于人机界面的CANOpen 模块接入模式分析
在很多应用中,我们需要获取现场总线模块的数据,并参与控制,比如:温度信号、湿度信号、高度信号等等。我们现在可以采用组态软件利用现场总线传输,来采集现场的信号。为我们获取应用现场的信号提供了方便快捷的解决方案。
2.CANOpen设备分析
2.1.CANOpen设备模型
CANOpen 设备模型外部连接CANBus 系统合过程I/O,采集现场数据,通过CAN 总线系统,向高层传送。设备模型(图3)内部可以被分为3 部分:
● 通信接口(Communication)部分:
提供在总线上收发通信对象的服务。不同CANOpen 设备间的通信都是
通过交换通信对象完成的。
● 对象字典(Object Directory)部分:
对象字典描述了设备的功能性。它以特定的方式描述了通信对象(应用数据和配置数据),从而实现了设备的功能性描述。这些对象通过一个16 位的索引和一个附加的8 位子索引来访问。对象字典位于CAN 总线
设备通信部分和应用部分之间,向应用程序提供接口,应用程序对对象字典进行操作就可以实现CANOpen 通信。
● 应用(Application)部分:
应用部分由用户编写,包括功能部分和通信部分。通信部分通过对对象字典进行操作实现CANopen 通信,而功能部分由用户根据应用要求实现。比如CAN 控制器,应用程序部分则为过程控制或数据处理逻辑,
需要用户编写。
图3[1] CANOpen 设备模型
2.2.CANOpen设备应用分析
CANOpen 设备的应用可以有下面2 个层面:
●操作应用层面:现场操作人员、现场设备检查人员等关注;
●系统设置层面:系统集成技术人员、设备维护和改造人员等关注。
从操作应用层面看,技术人员主要是通过已经形成的生产线,依靠CANOpen系统完成既定的生产工作,也就是通过采集的信号的内容展示和分析结果,关注的是通过设备完成的生产操作。也就是,操作人员关注通过正确的操作方法,顺利完成生产任务。这个层面的用户是人机界面系统的最终使用者。工业人机界面
系统的设计必须考虑这个层面应用的需求。
从系统设置层面看,技术人员要对现场设备进行装配、设置,甚至编程。技术人员可以根据设备的说明文档,依据现场工程的需求,进行装配和设置。一般来说,每种设备都有测试或者配置软件,尤其逻辑控制设备,都配置编程软件,比如PLC,CANOpen 设备也是如此!首先,这些软件都已经非常成熟,然后,编程通讯往往有很多不开放的技术,所以,我们必须借助于设备厂商提供的软件。这个层面的技术人员工作,往往是针对确定的I/O 部分,依照明确的工艺需求,进行设备组态、系统集成等工作,关注系统集成部分,也就是根据操作应用层面的具体需求进行系统集成。
对于人机界面的组态,我们主要是考虑操作应用层面的需求,也就是关注I/O状态、控制有关的参数设置、运行结果的记录等。这些为基于HMI 的现场总线控制平台的协议通讯模式的实现提供了依据。
HMI 组态关注的对象
NMT(Network ManagemenT)网络管理服务:提供网络管理(如初始化、启动和停止节点,侦测失效节点)服务。这种服务是采用主从通讯模式(所以只有一个NMT 主节点)来实现的。上位机HMI 系统通过NMT 对象,管理网络,启动或停止CANOpen 节点。
过程数据对象用于在CANOpen 节点间传送过程数据,如I/O 模块的I/O 状态的读取和设定、模拟量采集和模拟量输出等等。
Node 节点-->HMI 平台(TPDO:发送过程数据对象)
Node 节点<--HMI 平台(RPDO:接收过程数据对象)
系统配置关注对象
服务数据对象(SDO:Server Data Object)服务用于读写节点的对象字典(Object Dictionary)用来在设备之间传输大的低优先级数据,典型的是用来配置CANopen 网络上的设备。
部分管理报文:
预定义报文或者特殊功能对象,比如修改节点ID,重新设置通讯波特率等。
2.3.CANOpen标识符
为了减小简单网络的组态工作量,CANopen 定义了强制性的缺省标识符(CAN-ID)分配表。这些标志符在预操作状态下可用,通过动态分配还可修改他们。CANopen 设备必须向它所支持的通讯对象的提供相应的标识符。
缺省ID 分配表是基于11 位CAN-ID,包含一个4 位的功能码部分和一个7位的节点ID(Node-ID)部分。如图4 所示。
图4 PDO 数据格式[1]
Node-ID:对应CANOpen 设备,由系统集成商定义,例如通过设备上的拨码开关设置。Node-ID 范围是1~127(0 不允许被使用)。
Function Code:确定CAN 帧的类型,比如:PDO 和SDO:对应CANOpen设备的寄存器。在CANOpen 设备中,常用的PDO 为0x180+Node-ID。其中0x180就是指Functon Code。SDO 是用来在设备之间传输大的低优先级数据的服务数据对象,典型的功能是配置CANopen 网络上的设备。
PDO 用来传输8 字节或更少数据,没有其它协议预设定(意味着数据内容已预先定义)。比如:某倾角传感器上传的为7 个字符,因此它有8 个PDO 数据需要传到现场总线上。标识符的格式为TPDO=0X180+NODE_ID,因此发送的PDO 可以表示为表3.1 的描述。
I/O 节点- 监控终端 | |||||||
COB-ID | 0 字节 | 1 字节 | 2 字节 | 3 字节 | 4 字节 | 5 字节 | 6 字节 |
416(0x1A0) |
CANOpen 设备上传的I/O 数据 |
||||||
23 | 0 | FD | FF | 1D | 88 | 32 | |
COB-ID: 0x1A0=0X180+0X20 |
表3.1 CANOpen 设备的PDO
3.组态软件通讯分析
3.1.PC-based的CAN总线接入
组态软件建立在数据库系统之上,实时数据库通过驱动接口采集总线系统中PLC、智能仪表和其他设备的信息,详细架构请见图1。
图1 现场总线数据采集架构图
组态软件与硬件设备组成的CAN 总线系统,详细组成请见图2。
3.2.HMI和CANOpen系统中位置
简单系统:HMI + CANOpen 从站模块
复杂系统:HMI 系统+CANOpen 主站模块+CANOpen 从站模块+诊断和配置节点
HMI 主要处于CANOpen 系统监视和存储、分析等
4.组态软件CAN驱动分析
4.1.组态软件CAN驱动特殊性分析
用于人机交互部分:
应用组态层保证数据发送成功。
驱动层保证成功。
用于监视部分:
采集的实时性保障;
采集的完整性保<
提交
“2014海外赤子北京行”参观HMITECH纵横科技
纵横科技坝上草原游记
纵横科技产品应用于第十届自动化年会签到系统
纵横科技 TPC105TD-CAN现场总线人机界面
纵横科技 TPC150TC-CAN(A8) 嵌入式人机界面