PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 64128|回复: 0

[三菱] 【雷赛智能 | 头条】Beckhoff PLC 在ABB伺服上实现探针功能

[复制链接]
发表于 2024-4-13 15:51:43 | 显示全部楼层 |阅读模式
点击蓝字  关注伺服与运动控制



以上为广告
概  述
探针功能又称位置锁存功能。用于通过外部DI信号实时锁存伺服轴或编码器的值。探针功能在模切、印刷等需要位置同步的场合应用广泛。
ABB Microflex e190是智能伺服驱动器,自身可编程,在驱动器上可通过LATCH指令集实现位置锁存功能(Direct控制模式)。E190的DI1和DI2是两个快速输入通道,可用于LATCH或TouchProbe功能。
Microflex e190伺服驱动器支持基于EtherCAT通讯的RT-EtherNet(CiA-402)控制,比如Beckhoff PLC。在PLC侧可通过MC-TouchProbe功能块实现探针或位置锁存功能。本文介绍如何通过Beckhoff PLC,实现e190的位置锁存功能。

图1:系统配置图
实验介绍PLC:BeckhoffCX5130-0125  编程软件:TwinCAT 3.1(Build 4024)运动控制库:TC2_MC2Drive: Microflexe190 (Firmware: 5902.6)
需要把开关或传感器连接到伺服驱动器的快速输入开关DI1或DI2上,作为探针的输入。BeckhoffPLC也支持把传感器接到PLC的IO上,但直接连接的伺服驱动器上,锁存的实时性更高。
除了连接DI信号以外,需要在Mint Workbench软件中,把Microflexe190伺服驱动器的控制源设置为RT-EtherNet(CiA-402)。

EtherCAT的PDO设置使用探针功能,除了默认配置的几个PDO以外,在PLC中还需额外配置几个PDO,如下表所示:


表1:PDO配置 如表1所示,0x60B8和0x60B9需分别配置为输出和输入。
0x60BA~0x60BD根据探针的配置选配。如仅需要在DI2的下降沿进行位置锁存,则仅配置0x60BD为输入即可。
Beckhoff PLC支持两个锁存通道。
从PDO的配置可知,探针输入信号,以及数据锁存,都是在伺服驱动器侧执行的。锁存的位置信息通过PDO传给PLC。因此,建议把探针信号直接集成在驱动器侧。
PDO在TwinCAT 3物理轴Drive下的ProcessData标签页进行配置。


图2:TwinCAT3中的PDO配置 MC_TouchProbe功能块在PLC中通过调用MC_TouchProbe功能块实现探针功能,功能块如图3所示:

图3:MC_TouchProbe功能块
TriggerInput(TRIGGER_REF): 结构体类型的变量。在此结构体中配置探针、上升沿/下降沿触发、锁存的源信号,以及是否连续锁存等。此结构体的配置是实现TouchProbe功能的关键,下节详述。
WindowOnly(BOOL): WindowOnly需与FirstPosition(LREAL)和LastPosition(LREAL)合并起来理解。FirstPosition和LastPosition组合成一个位置窗口,如果WindowOnly设置为TRUE,则仅在位置窗口内可以实现位置锁存。窗口触发常用在将伺服轴配置为模态轴的场合,如把伺服轴的modulofactor设置为360°

图4:锁存Window示意图 RecordedPosition(LREAL):锁存到的数值会写入RecordedPosition中。但如果TriggerInput中设置为连续触发时,RecordedPosition是监控不到锁存数据的,需要到RecordedData结构体中读取。
RecordedData(MC_TouchProbeRecordedData):结构体类型的数据

图5:RecordedData结构体 RecordedData中有AbsolutePosition, ModuloPosition,和RecordedPosition。当伺服轴为非模态轴时,这几个数据是相同的。上图为把轴设为模态轴,且Modulo factor=50时的读数。117=2*50+17…。 AbsolutePosition是32位数据寄存器,不受模态轴设定的影响,其计数视回转方向单边递增或递减。


图6:模态轴及锁存窗口 其它参数为常规参数,不详述! TriggerInput说明MC_TouchProbe功能块的TriggerInput输入,是TRIGGER_REF类型的结构体,其定义如下:


图7:TRIGGER_REF结构体 当定义一个实例(试验中为tpTriggerInput)后,各元素都有默认值,可根据需要,仅对需要更改的值进行编程。图8为tpTriggerInput的在线监测值:


图8:trigger_ref实例监控值 EncoderID: 设置锁存的数据源,在TwinCAT System Manager中,与伺服轴对应的Encoder的ID为1

图9:EncoderID TouchProbe: 枚举类型,如图10所示:


图10:TouchProbe枚举类型 其中TouchProbe1对应伺服轴的DI1,TouchProbe2对应伺服轴的DI2。好像可以通过PlcEvent对应PLC的输入点,未测试!
SignalSource: 保留其默认设置SignalSource_Default即可!
EDGE: 枚举类型,设定TouchProbe中选定的触发信号,上升沿还是下降沿触发。定义如图11:


图11:信号沿枚举类型 MODE: 设定单次触发还是循环触发。触发同时会受到MC_TouchProbe功能块中Window定义的影响。



图12:触发模式Mode枚举变量 PlcEvent: 当TouchProbe设定为PlcEvent时,即当触发信号使用PLC的io信号时,需设定。使用PLC的IO信号锁存数据时,其精度受EtherCAT总线周期的影响。
ModuloPositions(BOOL):设置是否把轴位置进行模态化解读。当其值设置为True,且ModuloFactor设置为50时,会把轴的ActualPosition 117解读为:17。因此,MC_TouchProbe功能实现的关键,是要对TriggerInput结构体有深入的了解,并进行正确的设置。测  试实验例程中有关TriggerInput的编程如图13所示:

图13:对TRIGGER_REF的编程 其中几个IF语句,是为了对触发沿、输入信号以及是否循环触发等,通过按钮进行选择。编写的VISU画面如图14所示:


图14:测试的VISU画面 程序使能后,可以通过MoveVelocity使轴转起来。TP1:选择伺服驱动器的DI1或DI2作为输入信号。RiseEdge:选择上升沿或下降沿触发WindowLatch:是否激活窗口触发,窗口由LowPos和HighPos设定。CyclicLatch: 是否循环触发其他为一些显示信息。画面有点粗糙,但基本测试功能都能满足!
注意事项:测试前,需确保伺服驱动器中没有Mint程序,且与LATCH相关的参数均为默认值。比如若伺服驱动器内的LATCHINHIBITVALUE或LATCHINHIBITTIME被更改,其会对TOUCHPROBE功能产生影响。(别问我怎么知道的!)
总  结主要讲解如何在Beckhoff PLC中,通过MC_TouchProbe功能块,实现CoE伺服驱动器(对,我说的是Microflex e190, ABB的!)的位置锁存功能。本文未按照操作流程配截图,分步骤详述配置及实现过程,只是侧重于讲解功能,避免文章过于冗长。
是为总结,望对大家有价值!毕竟,看英文文档挺费劲的,且文档中有的姿势点写得还很Implicit!
- END -
热门文章


宁德时代再砸290亿扩建产能


ABB贝加莱ACOPOS 6D平面磁悬浮技术


电机创新的四个领域


基于C#实现ProU winPLC的程序开发


“致敬初心,致敬运控二十年”访谈

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-5-2 20:34 , Processed in 0.043608 second(s), 26 queries .

快速回复 返回顶部 返回列表