• 基于人机界面的CANOpen 模块接入模式分析———基于人机界面的CANOpen 模块接入模式分析
    HMITECH 纵横科技

    1.系统概述
      在很多应用中,我们需要获取现场总线模块的数据,并参与控制,比如:温度信号、湿度信号、高度信号等等。我们现在可以采用组态软件利用现场总线传输,来采集现场的信号。为我们获取应用现场的信号提供了方便快捷的解决方案。

    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。

    图2 CAN 总线系统

    3.2.HMI和CANOpen系统中位置
      简单系统:HMI + CANOpen 从站模块
      复杂系统:HMI 系统+CANOpen 主站模块+CANOpen 从站模块+诊断和配置节点
      HMI 主要处于CANOpen 系统监视和存储、分析等

    4.组态软件CAN驱动分析
    4.1.组态软件CAN驱动特殊性分析
      用于人机交互部分:
      应用组态层保证数据发送成功。
      驱动层保证成功。
      用于监视部分:
      采集的实时性保障;
      采集的完整性保<

     
     
    网站首页  |  关于我们  |  联系我们  |  广告服务  |  版权隐私  |  友情链接  |  站点导航