泗博自动化Modbus转CANopen网关的应用

发布时间:2011-07-13

——实现人机界面HMI和机床运动控制器的通信

一、引言

随着国民经济飞速发展工业自动化,制造业向着高、精、尖方向发展,特别是汽车、船舶、纺织、电子技术、航空航天的迅猛发展,对机床的精度和生产效率要求也越来越高,主轴转速12000r/min以上、快移速度大于40m/min的高效高精机床已经是机床行业流行的趋势。现在加工中心逐渐成为机械加工业中最主要的设备,机电、通信一体化已成为主流发展方向。本文就某机床加工中心项目,介绍SiboTech的Modbus转CANopen网关MCO-421如何实现HMI(人机界面系统)与机床运动控制器的通信。在实现HMI和运动控制器的通信中,泗博自动化的Modbus转CANopen网关MCO-421表现出了其稳定、可靠的优点。

二、系统概述

1、系统结构及功能

数控系统是加工中心的重要组成部分,能控制机床按不同工序,自动选择和更换刀具,自动改变机床主轴转速、进给量和刀具相对工件的运动轨迹,以及其他辅助功能。HMI是操作人员与数控装置进行信息交流的工具,主要用来实现系统各个参数的状态值等监视、设置加工初始值信息等。本加工中心的主要控制部分即运动控制器是德国伦茨的伺服驱动系统。该伺服驱动系统采用分布式供电结构,由供电模块和轴模块两部分组成,内置两个独立CAN总线接口,可以完成高速大容量现场通信。HMI与伺服驱动系统之间进行通信,实时采集机床实际运行中的各项参数并给定相关参数值调整控制器相关动作。HMI提供RS485串口作为通信接口,能够作为Modbus从站与Modbus主站设备实现现场总线通信。伺服驱动系统作为CANopen主站,能实时将控制器参数上传到人机界面HMI,并且根据人机界面HMI的给定量参数值进行相关动作调整。为实现这两种不同总线协议之间的通信,SiboTech的Modbus转CANopen网关MCO-421发挥了非常重要的作用。

系统结构如下图1所示。其中,网关MCO-421在CANopen侧做CANopen从站,在Modbus侧做Modbus主站。用户在泗博公司提供的产品配置软件CM-123中设置相关的现场总线参数及命令,进行不同总线间的数据地址映射,并将配置下载到网关中使其生效,即可实现不同现场总线间数据的双向传输。

 

 

2、通信网络组成

2.1、通信网络组成

Modbus协议是一种适用于工业控制领域的主从式串口通信协议,它采用查询通信方式进行主从设备的信息传输,可寻址1-247个设备地址范围。协议包括广播查询和单独设备查询两种方式,二者区别就是广播查询不需要从设备回应信息,主、从设备查询通信过程见图2:

 

 Modbus协议常用功能码如图3所示:

 

 

Modbus协议有两种传输模式:ASCII模式和RTU模式。同波特率下,RTU模式较ASCII模式能传输更多的数据,所以工业网络大都采用RTU模式。RTU模式下的信息传输报文格式如图4

 

 

它没有起始位和停止位,而是由至少3.5个字符间隔时间作为信息的起始和结束标志。信息帧所有字符位由16进制字符0-9、A-F组成。

Modbus RTU通信协议帧结构:

 

 

Modbus RTU方式主站读取从站寄存器数据示例:主设备查询。

 

Modbus RTU方式主站读取从站寄存器数据示例:从设备响应。

 

 

2.2 CANopen协议简介

在CANopen网络中的通信信息以对象来进行描述的。CANopen通信模型定义了4种报文(通信对象):网络管理报文(NMT)、服务数据对象(SDO)、过程数据对象(PDO)和特殊功能对象。

SDO通过使用索引和子索引(在CAN报文的前几个字节),SDO采用客户机服务器模式。SDO客户机能够访问设备(服务器)对象字典中的条目或项(对象)。 SDO通过CAL中多元域的CMS(CAN-based Message Specification)对象来实现,允许传送任何长度的数据(当数据超过4个字节时分拆成几个报文)。SDO协议是确认服务类型。服务器为每个消息生成一个应答(一个SDO需要两个ID)。SDO请求和应答报文总是包含8个字节(没有意义的数据长度在第一个字节中表示,第一个字节携带协议信息)。

PDO对象用来传输实时数据,PDO对象采用生产者消费者模式。数据从一个生产者传到一个或多个消费者。数据传送限制在1到8个字节(例如,一个PDO可以传输最多64个数字I/O值,或者4个16位的AD值)。PDO通信没有额外的协议规定。PDO有两种类型的使用:数据发送和数据接收。它们以TPDO和RPDO区分。

PDO可以有多种传输方式,其中,同步传输是指为了使设备同步,由一个同步应用程序周期性地发送一个同步对象(SYNC对象)。异步传输是由远程帧触发传送或由设备子协议中规定的对象特定事件触发传送。

三、Modbus转CANopen网关MCO-421功能及接口特性

MCO-421是实现CANopen主站和Modbus从站通信的的协议转换网关,在网关内存中有输入、输出数据缓存区(分别为512字节,输入、输出针对网关Modbus端而言)。凡支持Modbus从站接口的设备都可以通过MCO-421与CANopen主站设备互联并实现数据双向交换。其中MCO-421在与CANopen主站设备通信时作为CANopen从站,MCO-421在与Modbus从站设备通信时,作为Modbus主站。泗博自动化也提供CANopen从站设备(如变频器等)与Modbus主站设备(如DCS等)通信的网关MCO-422。

1、CANopen从站接口特性

CAN接口和电源端口共用五针端子,支持CAN2.0A协议

CANopen支持CANopen DS301V4.02;支持NMT、PDO、SDO;波特率支持5Kbit/s~1Mbps

支持CANopen协议的最多8个字节的TPDO、最多8个字节的RPDO、最多4个字节快速Download SDO和最多4个字节快速Upload SDO

TPDO和RPDO可以采用默认的COB-ID,也可以采用用户自定义的COB-ID,默认的COB-ID:TPDO 的COB-ID只能为:384+节点地址(0x180+节点地址) 或 640+节点地址(0x280+节点地址) 或 896+节点地址(0x380+节点地址) 或 1152+节点地址(0x480+节点地址);RPDO的 COB-ID只能为:512+节点地址(0x200+节点地址) 或 768+节点地址(0x300+节点地址) 或 1024+节点地址(0x400+节点地址) 或 1280+节点地址(0x500+节点地址)

可支持多达64条TPDO、64条RPDO命令

2、Modbus主站接口特性

串口采用DB9(针)端子,支持RS485接口或RS232接口(用户订货时指明),半双工,波特率:1200~115200bps(支持波特率:1200、2400、4800、9600、19200、38400、56700、115200bps);数据位:8bit;校验位:无、奇、偶可选;停止位:1位、2位可选

支持的功能码:01H、02H、03H、04H、05H、06H、0FH、10H;

支持的通信格式:RTU、ASCII格式

3、其它特性

工作电源:直流24V(11V~30V),消耗电流最大为60mA(24V)

周围空气温度:-20℃ ~ 60℃,且24小时的平均值不超过45℃(特殊定货除外)

机械尺寸:100mm(长)×700mm(宽)×25mm(深)

安装:35mm导轨

四、Modbus转CANopen网关MCO-421的配置

1、 Modbus转CANopen网关MCO-421的硬件配置

通过双击网关面板上的配置按钮可使MCO-421处于配置状态或者正常运行状态。

当MCO-421处于配置状态(数码管显示“CF”)时,用户可以通过配套配置软件CM-123设置相关Modbus读写命令、CANopen相关PDO命令等参数。在配置模式下,双击配置按钮,则网关能保留当前配置并等待一段时间后会复位系统,并进入运行状态。用户需使用RS232串!@#$%^&*叉线连接网关和电脑串口进行配置。当网关提供的串口(DB9 针)为RS485接口时,用户还需要RS485/232转换器。

当MCO-421处于正常运行状态,数码管显示当前配置的CANopen从站地址。如果CAN发送异常,数码管则显示“Eo”。

MCO-421的电源接口和CAN接口共用五针端子。其中,CAN接口1KV光电隔离。

2、 Modbus转CANopen网关MCO-421的软件配置

网关串口与电脑串口正确连接,给网关上电。双击配置按钮使MCO-421处于配置状态,打开安装的配置软件(产品光盘或者访问http://www.sibotech.net/DownLoad01.asp )。

配置软件界面如下图8所示:

在配置软件主界面,点击“CANopen”,设置MCO-421作为CANopen从站的通信波特率、节点地址等参数。用户在软件中设置的“CANopen波特率”需和CANopen总线波特率参数一致(CANopen主站设备即伺服驱动系统通信波特率)。

 

 

在CANopen从站下配置实际应用中需要的TPDO以及RPDO命令,并设置命令的COB-ID、字节数,通过软件“自动映射”功能自动计算“映射地址”。RPDO的“映射地址”为接收到CANopen主站发送过来的数据在网关内存输出缓存区中的存储地址。TPDO的“映射地址”为发送给CANopen主站的数据在网关输入缓存区中的存储地址。

 

 

在配置软件主界面,点击“Modbus”,设置串口通信参数:波特率、数据位、校验类型、停止位、传输格式等。注意:串口通信参数需与要连接的Modbus从站设备(即HMI)的串口通信参数一致。

 

 

右键点击“Modbus”,在软件中增加节点“Node-x”并设置节点地址(该节点地址即为所要连接的Modbus从站设备HMI的从站地址)及读写命令。

 

 

在上图中,节点1下分别配置了1条读寄存器命令和1条写寄存器命令。其中,“读保持寄存器”命令参数界面如图11右侧所示,“Modbus寄存器起始地址”指网关要读取的数据的寄存器地址。“数据个数”指该命令连续读取的寄存器(字)的个数。“内存映射起始地址”指该条命令读取的HMI相应的数据在网关输入缓存区的地址(通过软件的“自动映射”功能自动分配)。Modbus写命令的“内存映射起始地址”指该条命令发送给HMI的数据在网关输出缓存区的地址(通过软件的“自动映射”功能自动分配)。

CANopen命令和Modbus命令的映射地址可通过软件工具栏按钮“自动映射”或者“菜单栏、操作、自动映射”自动分配,CANopen命令和Modbus命令映射地址之间的对应关系如下图所示

 

 

“TPDO映射地址”对应“1、2、3、4(Modbus读命令)内存映射地址”:网关读取Modbus从站设备(HMI)的数据(通过Modbus读命令)存储在网关的输入缓存区,并通过配置的TPDO命令将网关输入缓存区的数据发送给CANopen主站设备。

“RPDO映射地址”对应“5、6、15、16(Modbus写命令)内存映射地址”:网关接收CANopen主站设备(伺服驱动系统)的数据(网关接收RPDO命令)存储在网关的输出缓存区,并通过配置的Modbus写命令将网关输出缓存区的数据发送给Modbus从站设备。

五、数据读写举例

假如在配置软件CM-123中做了如下设置:

 

1、HMI伺服驱动系统

网关MCO-421在串口侧轮询输出03 命令读取节点地址为1的HMI的寄存器地址为0的连续4个数据(4个寄存器),并将读取到的数据存储在网关输入缓存区的0~7字节位置。 当输入缓存区0~7字节位置数据变化时,网关MCO-421在CANopen侧输出1条TPDO(COB-ID=0x0181H),即将输入缓存区0~7中的数据发送给CANopen主站(伺服驱动系统)。注意,网关CANopen侧的TPDO命令为“逢变输出”,即当输入缓存区的数据发生变化时,才会输出相应映射地址的TPDO命令。即完成伺服驱动系统对HMI数据的读取。

2、伺服驱动系统HMI

网关CANopen侧接收到CANopen主站(伺服驱动系统)发送过来的对应的RPDO(COB-ID=0x0201H)命令,并将相应的数据存储在输出缓存区的0~7字节位置。当输出缓存区0~7字节位置数据变化时(配置软件中,输出命令方式配置为“逢变输出”,若配置为“连续输出”,则写数据命令与读数据命令类似,按照轮询周期连续输出),网关在串口侧输出 配置的16命令,将输出缓存区0~7字节数据发送到节点地址为1的HMI的寄存器地址为10的连续4个寄存器。即完成伺服驱动系统数据的输出。

五、结束语

在该加工中心的数控系统中,MCO-421作为人机界面和伺服驱动系统之间的桥梁,能够使这两种完全不同的现场总线设备实现正常数据通信。在整个系统中,上海泗博自动化提供的Modbus转CANopen网关MCO-421表现了其稳定、可靠的性能,大大方便了机械加工行业各种现场总线的应用。

    测试社区