设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
BECKHOFF TwinCAT Vision视觉&飞拍应用介绍
返回列表
发新帖
[西门子]
BECKHOFF TwinCAT Vision视觉&飞拍应用介绍
[复制链接]
29703
|
0
|
2024-1-18 15:36:07
|
显示全部楼层
|
阅读模式
BECKHOFF TwinCAT Vision视觉&飞拍应用介绍
传统工业视觉应用介绍
在工业控制领域,视觉被广泛应用。例如用来对产品进行定位、外观检测、测量、扫码等等。传统的视觉解决方案中,视觉系统通常是独立于PLC控制系统单独存在的。一般有两种形式:
1、采用智能相机,康耐视、欧姆龙、基恩士都提供这种产品。智能相机集成了相应的视觉功能,只需要进行参数配置,就能实现所需要的功能。相机和PLC之间采用硬接线或通讯的方式来传递拍照命令和视觉处理结果,数据传输需要时间。这种方式实现相对比较容易,但成本比较高。
2、采用工业相机,常见品牌有巴斯勒、海康威视、大华等。采用工业相机需要基于基于OpenCV,Halcon等视觉库自己开发视觉算法,一般采用C#或C++。开发好的算法需要运行在一台独立的PC上,通过通讯的方式来和PLC控制系统传递拍照命令和视觉处理结果,数据传输需要时间。这种方式对开发人员有较高要求,需要专门的视觉工程师进行开发。并且需要额外的工业PC来运行视觉算法,成本也不低。
TwinCAT Vision介绍
BECKHOFF作为一家一直引领自动化控制技术潮流的技术创新型公司,在2019年推出其最新产品-TwinCAT Vision,完全集成在Twincat软件中的机器视觉软件。其具备如下几个显著特点:
1、很容易和控制系统进行深度集成
Twincat Vision作为一个独立的软内核,和PLC、NC、CNC等内核一起都集成在Twincat3内核中,所以Twincat Vision的算法程序可以和控制程序集成在同一个Twincat程序里,可以采用包括IEC 61131-3普通PLC编程语言,C++或者Matlab进行编程。借助于倍福提供的基于PLC编程语言开发的视觉库,普通PLC工程师就可以轻松实现视觉算法的开发,大大降低了开发难度。
2、完美的数据同步
视觉算法程序和机器控制程序完美整合在一套程序中,这样视觉和控制系统之间的数据只需要通过对应的变量进行直接访问,不会产生任何延迟和等待。而传统的视觉解决方案中,视觉系统和控制系统需要通讯,这会导致数据传输的延迟,并且时间不确定。这在对生产节拍要求极高的应用场合,会限制机器的产能,是不可接受的。
接下来我们从硬件和软件层面来简单了解Twincat Vision是如何实现的
硬件架构
TwinCAT Vision目前只支持GIGE类型的相机,一个控制器最多带16个GIGE相机。硬件上只需要把集成了Twincat vision功能的倍福控制器通过1G网口和第三方的GIGE相机相连,要求控制器的性能等级在50及以上。假如有多个相机,那么需要在控制器上选多个网卡,或外接交换机。
软件架构
Twincat Vision视觉软件包,需要安装在Twincat3.1 4024版本的Twincat 3软件上。安装之后会在Twincat项目中提供一个Tc3_vision库。针对不同的应用需求,需要购买不同软件包。
TF7000 -00XX 必选 GIGE 驱动+2个相机连接
TF7001 00XX 可选 额外两个相机连接
TF7002 00XX 可选 额外4个相机连接
TF7003 00XX 可选 额外8个相机连接
Twincat vision 算法 和相机个数没关系,选一个即可。
TF7100 00XX 必选 基础算法
TF7200 00XX 可选 2D匹配算法函数包
TF7250 00XX 可选 读码算法包
TF7300 00XX 可选 2D测量定位函数包
在TwinCAT3软件中可以通过System Manager对相机进行硬件组态,校准,模拟等,通过调用视觉库进行程序开发。
BECKHOFF飞拍应用介绍
在大多数场合,只能当被检测工件和相机都处于静止状态下才能进行拍照,拍照完成后,再移动工件或相机,进行下一个工件的检测。移动到位后,物体可能会晃动,需要等待物体静止后才能进行再次拍照。这些都会限制设备工作的节拍。假如能实现运动过程中进行拍照,将会极大提高工作效率。接下来,我们介绍如何使用倍福控制系统实现飞拍应用。
飞拍对控制系统的核心要求是在高速运动过程中,在单个或多个设定位置,进行单次或多次连续精确触发相机拍照。不同的应用场合,可能是工件在移动,或者是相机在移动。通常相机采用硬件外触发方式。视觉系统可以是倍福的或者是第三方的视觉系统。
本次测试采用的是倍福的TwincatVision视觉系统。伺服电机带着被测试的电路板高速运动,需要在指定位置触发相机拍照,计算出电路板上特征点的坐标数据和电路板的旋转角度。此次采用指定区域的圆的圆心作为特征点。需要EL2262 XFC超采样数字量输出模块、TC2_MC2_XFC软件包、TF7000相机驱动连接包、TF7100基础视觉算法包和TF7200 2D匹配算法函数包(用于计算偏转角度)。
EL2262可以实现最小1μs的ON/OFF数字量开关时间。
TC2_MC2_XFC软件包,提供如下功能块:
数字凸轮开关功能,当追踪到指定的编码器移动到设定位置,输出开关信号和精确的开关时间。可以追踪多个位置。
XFC_EL2262,根据数字凸轮开关功能的输出结果,精确控制EL2262模块的输出。
EL2262硬件组态及连接
飞拍触发程序:
变量及功能块定义:
CamSwitchArray : ARRAY[1..20] OF MC_CamSwitch;//指定飞拍触发的位置,可以多点
fbdigitalCam:MC_DigitalCamSwitch;//数字凸轮开关功能
fbXFC_EL2262 : XFC_EL2262;//XFC_EL2262输出功能
指定触发位置和编码器编号
CamSwitchArray[1].FirstOnPosition:=64;//指定相机拍照触发打开位置
CamSwitchArray[1].LastOnPosition :=65;//相机触发关闭位置
SwitchOption.EncoderIndex:=0;//追踪的编码器编号。可以是编码器或者是伺服轴的反馈
SwitchOption.UseAcceleration:=FALSE;
TrackOption.ModuloFactor:=360;
TrackOption.ModuloPositions:=FALSE;
switches.NumberOfSwitches:=1;
switches.pSwitches:=ADR(CamSwitchArray);
switches.SizeOfSwitches:=SIZEOF(CamSwitchArray);
功能块调用,并且使能之后,会自动追踪轴的位置。当到达设定位置会自动控制EL2262输出精确脉冲信号,触发相机拍照。
TwincatVision组态和程序
飞拍触发拍照之后,获取图像,然后抓取图像中指定区域,获取指定区域中的圆形轮廓,再计算出圆心。通过比较多次抓拍的圆心坐标,来确认飞拍的重复定位精度。经过多次重复测试速度在1.5m/s ,圆形的坐标值重复精度在一个像素以内。
在Twincat Vision中对相机进行组态,配置成外触发模式,曝光时间50μs.把EL2262的通道1的输出线接入到相机的中。
主要代码如下:
ipImageResDisp
ipImageInDisp
ipImageWorkDisp
测试视频:
video:
https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_1110457293780467712
(本次飞拍测试视觉算法程序由视觉产品经理梁霄编写,苏州办共同测试)
关注本公众号和个人微信CloudKuang,了解更多应用案例。倍福产品使用问题或工控应用解决方案欢迎交流探讨。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
plp1102
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』