设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
Beckhoff PLC 在ABB伺服上实现探针功能
返回列表
发新帖
[西门子]
Beckhoff PLC 在ABB伺服上实现探针功能
[复制链接]
33639
|
0
|
2024-1-12 22:50:30
|
显示全部楼层
|
阅读模式
概 述
探针功能又称位置锁存功能。用于通过外部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_MC2
Drive: 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!!!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
hdyj118
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』