白皮书丨用CANopen实现智能自动化
供稿:宜鼎国际股份有限公司
- 关键词:CANopen,工业物联网
- 摘要:CANopen能够在工业物联网(IIoT)中实现复杂的智能自动化解决方案。
CANopen能够在工业物联网(IIoT)中实现复杂的智能自动化解决方案。
介绍
自动化中使用的系统包括大量的设备,每个设备都有多个传感器、电机以及接收和传输信息的其他组件和微控制器。为了确保所有这些组件和设备之间的必要协调以及对它们的有效监控,一个复杂的通信系统至关重要。
CAN总线技术是一种标准化的串行通信协议,已发展成为广泛行业(如航空、汽车行业和工业自动化)的首选标准。在这些行业和应用中,存在许多更高层的协议,每一个都有自己的专业和行业重点。在自动化领域,上层协议CANopen是首选协议之一,随着智能自动化和物联网(IoT)的发展,它的使用越来越普遍。
然而,扩展现有的系统或硬件以支持CANopen可能是一个挑战,而且在满足智能自动化应用程序的坚固性需求方面更是如此。
背景
『 CAN Bus 』
控制器局域网(CAN总线)是Bosch公司最初开发的一种内部通信网络,作为汽车内部微控制器和设备之间通信的标准。1993年,国际标准化组织采用了CAN总线作为国际标准,此后CAN总线已成为汽车工业及其他行业日益流行的标准。
CAN总线系统中由一根绞合线连接的CAN设备。
CAN总线的主要优点之一是它允许设备和微控制器之间的通信,而无需主机。通过CAN总线,设备通过一根单绞线连接,网络中任何设备发送的信号由CAN总线连接的所有其他设备接收。相反,每个消息中的标识符用于确定通过CAN总线发送的消息的预期接收者。
这其结果是一个高效的系统,只需要很少的布线,没有中央主机,并且可以处理大量连接的设备。
『 CAN高级协议 』
CAN高级协议可以大致描述为语言,每种语言都使用CAN总线作为通用字母表。然而,与人类语言不同的是,决定使用哪种高级协议的是特定协议更流行或对特定应用更有用的预期应用程序。
有很多基于CAN总线的高级协议,其中许多是专门为特定行业定制,甚至供单一制造商使用的。一些最常见的标准化高级协议是CANopen、DeviceNet和SAE J1939。更专业的协议包括,例如GMLAN(通用汽车)、RV-C(休闲车)和CubeSat空间协议(CubeSats)。
『 自动化中的CAN 』
虽然CAN总线最初是作为车内通信系统的标准,但后来它已发展成为自动化领域的流行标准。在这样的应用中,CANopen高级协议变得尤为突出。
CANopen是由CAN-in-Automation(CiA)开发和支持的,CiA是一个通过CANopen兴趣小组为CAN用户和制造商提供服务的国际非盈利组织。
CANopen标准最初设计用于面向运动的机器控制系统,现在广泛应用于自动化领域。例如,它是一种流行的协议,可以在机器人系统中、工厂传送带旁以及整个工业机械中使用。然而,CANopen并不局限于自动化;它还用于医疗保健和汽车工业等行业。
随着自动化程度越来越高的智能工厂的发展趋势,CAN总线和CANopen协议将在未来发挥更大的作用。
『 CANopen设备 』
Object Dictionary
CANopen设备通常被称为节点,它们都需要有一个对象字典——一个标准化的表,存储与节点及其操作相关的数据。例如,每个CANopen节点的对象字典都包含用于标识目的的设备类型条目。其他对象字典索引可以包含诸如传感器读数或处理状态之类的信息,例如,当前是否正在发送信号或设备操作当前是否处于活动状态
CANopen通信
CANopen节点可以根据主/从、客户机/服务器和生产者/消费者三种不同的体系结构或通信模型相互通信,从而确定节点之间的关系。
在主/从通信模型中,其中一个CANopen节点从“从”节点发送和请求数据,而“从”节点基本上只遵循其“主”节点的指令。在客户机/服务器模型中,同时,“客户机”从“服务器”读写数据。最后,在消费者/生产者通信模型中,“生产者”将数据广播到所有其他节点,即生产者数据的“消费者”。
此外,CANopen节点通过不同的通信服务进行通信,每个通信服务适合于通信特定的命令。例如,网络管理通信服务用于通信CANopen节点的期望状态(例如,关闭所有电机或启动传感器)。
另一个关键的通信服务是Heartbeat,节点使用它定期向其他节点发送“Heartbeat”,从而表明它们仍然处于活动状态
CANopen消息格式
由CANopen节点发送的消息遵循标准化的消息格式,该格式向接收节点表明哪个节点正在发送消息、消息的长度以及实际的数据传输(消息)。无论使用何种通信模型或通信服务,此标准化都适用于所有CANopen消息。
CANopen消息遵循一种标准格式,该格式标识传输源,每次传输最多中继64位数据。
CANopen消息的第一部分包含一个11位长的CAN-ID,它标识发送设备,后面跟着一个控制位。消息的这一部分通常被称为通信对象标识符或COB-ID。接下来的四位告诉接收设备消息的长度(即,数据长度),以便它们能够确定消息在传输中的哪个点结束。CANopen消息的最后一部分是实际数据,最长可达8字节(或64位)。消息的实际长度取决于传输的数据类型
挑战
虽然CANopen看起来是一个非常有吸引力的系统,可以在一系列应用程序中实现,也许最显著的是在智能自动化领域,但这可能比系统集成商预期的更具挑战性。例如,自动化环境通常会对设备的尺寸和耐用性提出苛刻的要求。将这些需求与工业环境中常见的恶劣环境结合起来,这些应用程序可能会对任何要实现的新系统造成很大的负担。
在自动化设置或任何中大型应用程序中实现CANopen系统的困难和成本也构成了需要克服的重大障碍。
『 自动化中的应用挑战 』
自动化领域的应用可能会给CANopen解决方案带来广泛而多样的挑战。例如,工业机器人的优化和空间效率都非常高,界面扩展空间很小。此外,这种设备的速度和精度要求设备在部件和设计方面达到最高质量标准。
智能工厂和工业物联网(IIoT)应用中的生产线还涉及数量惊人的机器、传感器和微控制器,所有这些都需要充分协调。如果生产线上某个地方的单个部件出现性能或可靠性方面的缺陷,所有生产风险都会逐渐停止。因此,在此类应用中实现的通信系统需要允许极端的协调,因此,在组件或设备故障的情况下,还需要性能和有效的模块化。
『 界面扩展困难 』
智能工厂所用系统的复杂性是任何新的通信系统所要解决的关键挑战之一。有了大量不同的设备,每个设备都有其定制和复杂的功能和硬件布局,实现像CANopen这样的系统所需的接口扩展可能会令人望而生畏,甚至根本不可能。
如果这些系统中的每一个设备都需要重新设计以支持CANopen,那么与这样一项任务相关联的费用、时间和困难会使它接近一项不可能完成的任务,或者至少是一项从财务角度难以支持的任务。
另一个复杂的因素是,在发生硬件故障时,允许CANopen支持的定制设计给系统操作员带来了相当大的挑战。如果没有足够的模块化,任何这样的硬件故障风险都需要更换部件经过广泛的重新设计过程,从而有可能导致长时间的停机和严重的收入损失。
『 环境挑战 』
在自动化应用中使用的硬件和组件通常要承受相当大的压力和长期的不利环境因素。因此,至关重要的是,所有组件都是坚固耐用的,并且采用有助于抵消其恶劣操作环境的有害影响的技术。
在自动化环境中,存在最重大风险的因素包括极端温度、暴露于冲击和振动、功率激增风险增加以及静电损害。
然而,自动化应用程序的操作环境的多样性意味着CANopen系统的实现有时只能通过很大程度的定制来考虑独特的环境因素。例如,在某些应用中,例如在石油和采矿行业,暴露于有害污染可能对硬件完整性构成重大挑战。
解决
『 CAN总线扩展卡 』
通过利用CAN总线扩展卡,可以经济高效、灵活地解决CAN总线系统实现的硬件要求(例如,使用CANopen或SAE J1939高级协议的硬件要求)。使用标准输入接口(如mPCIe、5针头和M.2)和通用接口(如USB和PCI Express)的CAN总线扩展卡具有高度的灵活性,可用于各种自动化设备和设备。因此,系统运营商不必重新设计设备或硬件以适应CAN总线支持。相反,可以很容易地将扩展卡插入现有的扩展端口以提供所需的功能。
CAN总线扩展卡使向现有系统添加CANopen支持变得容易。
『 接口和软件支持 』
有了这样的CAN总线扩展卡,系统集成商需要考虑很多重要因素。在更基本的层面上,如果系统集成商希望增加灵活性,则需要确保扩展卡支持其所需的更高层次协议,例如CANopen和附加协议(如SAE J1939)。同样重要的是,无论扩展卡是基于Linux还是基于Windows的系统,无论它是运行在ARM还是x86体系结构上,都要确保扩展卡能够在自己的软件环境中实现。
然而,只有确保硬件和软件的基本兼容性才能考虑到其他关键因素,这些因素可能会对在系统中实现CANopen支持的时间和成本产生重大影响。为确保新的CANopen系统在令人满意的水平上运行所必需的定制和编程通常需要大量的资源,并有可能导致严重的延迟。
因此,选择能够提供足够软件和售后支持的扩展卡至关重要。例如,全面的API可以大大减少为保证完整的系统集成而需要的耗时和昂贵的定制。此外,测试实用程序和示例代码可以帮助系统集成商验证他们的系统是否完全正常工作,是否按照规范和用户期望运行。如果遇到意外困难,特别是复杂的系统,或内部专业知识不足,全面可靠的售后服务和定制也可以证明是非常宝贵的,以满足最后期限和保持在预算之内。
『 专用硬件 』
CAN总线扩展卡不仅需要支持正确的连接器和接口,而且还必须满足其应用程序的特定硬件要求。首先也是最重要的是,他们需要在物理上适应他们打算使用的设备,这可能是一个相当大的挑战,因为在自动化设备中使用的空间往往是有限的。在某些情况下,扩展卡甚至可能需要定制设计,以满足要安装的设备的确切要求。
系统集成商还需要对此类扩展卡的预期操作环境进行彻底评估,以确定哪些环境因素可能对硬件完整性和使用寿命构成风险。任何接口扩展卡都必须包含能够充分考虑这些环境和操作风险因素的技术或设计解决方案。例如,许多自动化环境可能需要能够承受极端温度的扩展卡。在易受冲击和振动的设备或装置中,扩展卡可能需要安装有安装孔,以保持与其主机装置的足够安全的连接。
通过在采购CAN总线扩展卡时考虑到这些风险因素和环境挑战,企业可以确保在其自动化应用程序中成功实现CANopen系统,该系统提供所需的性能,而不会带来停机风险和与硬件故障相关的成本。
『 结论 』
CANopen为企业提供了一个极好的机会,通过为未来智能自动化应用优化的高性能通信系统来改进制造过程。虽然为适应CANopen而进行的接口扩展似乎非常困难且昂贵,但通过利用提供高性能、广泛软件支持和自动化应用程序所需的坚固性的CAN总线扩展卡,可以成功地缓解这一挑战。由于其模块性和耐用性,这种扩展卡为在任何自动化系统中实现CANopen支持提供了一种简单、经济的方法。白皮书丨用CANopen实现智能自动化