- 一、摘要
伺服电机(servo motor )是指在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速装置。可使控制速度,位置精度非常准确,可以将电压信号转化为转矩和转速以驱动控制对象。转子转速受输入信号控制,并能快速反应,在自动控制系统中作执行元件,且具有机电时间常数小、线性度高的特点,产生电磁干扰,对环境有要求。因此它可以用于对成本敏感的普通工业和民用场合。伺服系统(servomechanism)是使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。
宁波某电动机厂家所生产的一款伺服电机采用CANopen总线进行通讯,为了实现与现场PROFIBUS总线数据交换,需要一款能够实现将CANopen协议转换为PROFIBUS协议的转换网关,经过与客户的沟通和测试,客户决定采用上海泗博自动化CANopen转PROFIBUS-DP网关PCO-150来实现两种协议的转换。在整个通讯链路中,用户通过PCO-150可实现对现场多台伺服电机的远程集中控制,提高了工厂的生产效率和自动化水平,同时网关PCO-150因其易用性和稳定性受到客户好评。
- 系统构成及工作原理
对本系统构成进行简要介绍,控制柜使用西门子S7-300PLC与现场设备进行通讯, 总线协议为PROFIBUS DP。现场生产线有10台伺服电机需要控制,采用CANopen总线协议通讯。网关PCO-150 CANopen端与10台伺服电机相连,DP端与西门子300PLC相连,网关在PROFIBUS总线一侧做从站,在CANopen总线一侧做主站,PLC通过读取伺服电机内置编码器位置数据来精确控制伺服电机的启停、转角等动作,并同时将伺服电机的运行状态、电机转速等参数显示在HMI上。
系统互联图如图1所示:
图1 系统互联图
- 通讯速率:
- CANopen接口支持:50kbit/s ,100kbit/s ,125kbit/s ,50kbit/s ,250kbit/s ,1Mbps
- PROFIBUS DP接口支持最大12M波特率,波特率自适应
- CAN工作方式:本CAN接口支持CAN2.0A协议
- 符合CANopen行规DS-301 V4.01和CiA Draft Recommendation 303:
- 支持CANopen协议的最多8个字节的TPDO、最多8个字节的RPDO、快速Download SDO和快速Upload SDO
- 每个CANopen节点有4个默认TPDO和4个默认RPDO
即TPDO COBID只能为:384+节点地址(0x180+节点地址)或 640+节点地址(0x280+节点地址)或896+节点地址(0x380+节点地址)或 1152+节点地址(0x480+节点地址)
RPDO COBID只能为:512+节点地址(0x200+节点地址)或768+节点地址(0x300+节点地址)或1024+节点地址(0x400+节点地址)或1280+节点地址(0x500+节点地址)
- 每个CANopen节点也可以有自定义的COBID,但必须确保改COBID和CANopen协议不冲突
- 最多支持命令条数:84条,不限制单个命令条数。支持简单的NMT网络启动、TPDO超时清零和SYNC同步功能,支持由DP端控制CANopen从站设备等功能
根据CANopen从站设备伺服电机的通讯说明书,确认所要读取和写入的数据,对于TPDO和RPDO需要确认相应的COB-ID,对于SDO则需要确认索引、子索引等参数。然后在配置软件PC-123中设置相应PDO 、SDO参数,并保持与从站设备参数一致。
- 对于CANopen网络配置,主要需要确认的参数有通讯波特率、NMT管理使能、SYNC、Control&Status使能位等,其他可以使用默认参数。
- NMT管理使能开启:上电后网关给所有CANopen从站发送启动命令。
- SYNC为非零值:表示使用同步周期功能,由同步对象帧SYNC触发。
- Control&Status使能位Enable:通过报文查看从站设备状态。
图2 CANopen网络配置
- 对于节点配置,添加所需要的PDO、SDO命令条数,并根据从站设备通讯说明修改COBID、索引、字节数等参数,在本应用中客户所要读取TPDO COB-ID为385,字节数为7。所要写入的RPDO COB-ID为513,字节数为7。所要读取的Upload SDO 索引为4120,子索引为0,字节数为1。所要写入的Download SDO 索引为8192,子索引为0,字节数为1。对于多个相同从站设备,可以通过复制粘贴节点来实现。
单个节点读取的字节数为7+1=8字节,单个节点所要写入的字节数为7+1=8字节。故十个节点总的读、写字节数为各80字节。因DP端字节数限制,故总的读、写字节数均不能超过244字节。
图3 TPDO命令配置
图4 RPDO命令配置
图5 Upload SDO命令配置
图5 Download SDO命令配置
- 为防止所添加的命令有字节冲突,可以点击自动映射,并在冲突检测中查看各条命令在网关内存缓冲区里所占的位置,此排列顺序与DP端数据排列一致。在DP端查看数据与节点对应关系时可以参考此排列顺序。
图6 冲突检测
- 对于PROFIBUS网络,只需要确认读、写最大字节数均小于244字节,如果字节数小于112可以选择默认PROFIBUS 输入、输出字节数,如果字节数大于112,可以选择由PROFIBUS主站的组态软件设置。配置完成后在配置模式下通过RS232串口将配置下载到网关内,然后将网关状态切换到运行模式,可以看到网关指示灯 ERR 、RUN均变成绿色,此时CAN网络通讯正常。
图7 PROFIBUS网络
- 首先将与所使用PCO-150版本配套的GSD文件安装到Step7中,然后进行组态。新建DP从站地址为23,与网关数码管显示地址一致。插入56 words input,56 words output 字节块后系统会自动分配DP从站的输入、输出起始地址,与网关的输入、输出内存映射区域对应。组态时所添加的输入、输出字节总数需大于等于在配置软件PC-123中总的字节数(56*2=112>80 )。
图8 输入、输出字节块
- 保存编译并将工程文件下载到PLC中,可以看到网关指示灯PBF红灯熄灭,STA绿灯闪烁。此时在STEP7中可以使用监视修改功能对从站伺服电机进行读取和写入数据。
图9 STEP7组态配置
- 调试模式下使用网关配置软件PC-123监控CANopen端读取和写入的数据。
图10 调试模式
- 在从站设备伺服电机自带CANopen通讯监视软件中看到数据交换报文。
图11 通讯监视
在本自动化生产线控制系统中,上海泗博自动化网关PCO-150作为现场伺服电机与西门子PLC S7-300之间的桥梁,能够使两种不同协议的现场总线设备实现数据通讯,使西门子PLC读取现场伺服电机状态及控制其动作成为可能,在整个控制系统中,上海泗博自动化的网关PCO-150表现了其稳定、可靠的性能,为整个控制系统能良好运行提供了保障。