查看: 5069|回复: 8
收起左侧

[SV660系列应用问题] 国庆七天乐-MC_Power与Axis_Power

Nooice 2019-9-29 09:48:05 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 Nooice 于 2019-10-1 23:47 编辑

国庆七天乐-MC_Power与Axis_Power

国庆加班-暂缓更新

本次会利用国庆七天的时间更新一下网络型驱动器的一些知识点,有利于大家深入了解。更新时间不定。
我们利用AM600控制SV660N或者IS620N时,常常会用到MC_Power功能块,我们通过MC_Power功能块可以让伺服驱动器在RN状态和RY状态下自由切换,那么MC_Power到底做了什么来完成这项工作的呢?

首先我们看一张图。

这张图叫CiA402状态机切换图,结合百度,我们来梳理一下关系。

CAN总线

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由德国BOSCH公司开发的,最初用于汽车产业,“由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化”——百度百科。

CANopen

CANopen是一种架构在CAN上的高层通信协协议,也是工业控制常用到的一种现场总线。CANopen由非营利组织CiA(CAN in Automation)负责,基本的定义在 CiA301中,针对个别设备,产生了一些设备子协议,如针对 I/O 模组的 CiA401 及针对运动控制的 CiA402。——百度百科。

对象字典就是CANopen的一个重要特性。

CiA402

Cia402(也称为DS402)设备子协议是关于那些控制电机的伺服驱动器、变频器以及运动控制器的,定义了一些基本的参数,比如产品代码、序列号以及故障代码等。其他参数和电机类型(步进、交流伺服等)与铭牌参数(如额定电流)有关。同时还有一些作用于特定模式的参数,如目标位置、目标速度等。要划重点的是有一些通用的和必须的参数已经被预先定义了,并且他们的地址也被固定了,其中就有我们熟悉的6040、6041。

这个文件中还包括了上述的状态机,这个状态机体现了伺服驱动器可能处于的状态,并且其各状态的转化也是有条件的,必须遵循状态机所规定的顺序。我们通过控制字(6040)引导伺服驱动器改变状态,同时通过状态字(6041)读取伺服当前的状态,值得一提的是,有时我们必须先通过读取状态字来判断是否可以进行下一步操作,比如伺服驱动器的使能一般是利用状态字和控制字的配合来完成的。——百度百科。

我们的620N与660N是通过EtherCAT总线通讯的,那么CiA402与EtherCAT有什么关联呢?

EtherCAT

Ether-利用以太网为基础的现场总线系统。

CAT(以太网控制自动化技术)控制自动化技术(Control Automation Technology)字首的缩写。

由德国的Beckhoff公司研发。

EtherCAT提供了与CANopen相同的通信机制:对象字典、PDO、SDO。——百度百科。

CoE

我们来看看etherCAT的开发者beckoff怎么说:EtherCAT over CANopen协议(CoE)使完整的CANopen配置文件系列可通过EtherCAT使用。 SDO可以直接使用,因此现有的CANopen堆栈几乎可以不变地使用。 定义了可选的扩展名,这些扩展名提高了8个字节的限制并实现了对象列表的完全可读性。

过程数据被组织在过程数据对象(PDO)中,这些对象使用EtherCAT的高效方式进行传输-自然没有8字节限制。 所有CANopen配置文件-包括驱动器配置文件(DS 402)-都可以完全使用,并且基于它的设备可以很容易地传输到EtherCAT。

除了一些细节外,从站的EtherCAT状态机与CANopen状态机相对应,因此仅需要进行少量更改。 为了实现较少模糊的启动行为,定义了另一种称为“安全操作”的状态,将已经有效的输入传送到该状态,同时将输出保持在安全状态。——官网英文说明+翻译。

总结一下就是EtherCAT通过CANopen over EtherCAT 来支持CiA402设备子协议。

多提一句,上文提到了EtherCAT状态机,图示如下:

那么MC_Power就相当于将伺服驱动器从伺服无故障切换到伺服使能,那么它必然会经过以下流程:伺服无故障-伺服准备好-等待打开伺服使能-伺服运行。那么我们如何查询伺服处于什么状态以及如
何控制它从一个状态切换到另一个状态呢?这就不得不提到对象字典中的6040H和6041H了。简单来说,6040称为控制字是因为他是用来控制
用的,即切换状态用它来控制,6041称为状态字是因为它是用来表征状态的,即用来查询伺服驱动器当前的状态。那么我们要完成以上步骤,必然要通过6040和6041的配合来完成。





上一篇:汇川伺服绝对值如何调零
下一篇:上位机通讯修改伺服的参数,EEPROM是否会损坏?

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

Nooice 2019-9-29 10:05:02 | 显示全部楼层

我的可以呀
回复 送花

使用道具 举报

wenpian 2019-9-29 11:34:54 | 显示全部楼层
根小编一起学习汇川,又搞懂MC_Power指令,慢慢往汇川这边靠,控制字用到16#6040H, 监控状态用到16#6041H
回复 送花

使用道具 举报

Nooice 2019-9-29 12:41:11 | 显示全部楼层

哈哈哈哈哈,我还没有加图呢,等我有时间了用markdown编辑一下,到时候看看我写的有没有错误
回复 送花

使用道具 举报

MC_Power和MC_Power_co有什么区别
回复 送花

使用道具 举报

不枉此行 2022-4-21 15:29:15 | 显示全部楼层
汇川萌新大佬 发表于 2022-1-3 09:08
MC_Power和MC_Power_co有什么区别

前者是Ethercat轴控块,后者是CANopen轴控块
回复 送花

使用道具 举报

不枉此行 2022-4-21 15:30:25 | 显示全部楼层
总结的挺好的,但是有个问题,bRegulatorOn 和bDriveStart分别有啥作用呢?
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部