TwinCAT Analytics 助力自动生成视觉 PLC 代码
直到几年前,设备中使用的视觉解决方案仍然还是通过接口与实际设备控制系统通信的全独立系统。编程通过集成视觉库或便于直接配置的专用硬件完成,工作量相当大。通过 TwinCAT Vision 可以将图像处理功能集成到设备控制系统中,无需使用物理接口,并且可以像往常一样根据 IEC 61131-3 标准进行编程。现在,TwinCAT Vision 和 TwinCAT Analytics 的结合意味着开发效率的极大提升,并且视觉应用开发可通过简单的配置轻松实现。
单独来看,这两个 TwinCAT 产品的任务分配非常明确:TwinCAT Vision 用于在设备控制器中创建图像处理操作流程。相机通过图形化界面配置,在这方面与驱动轴的配置方式没有区别。PLC 中有丰富的 PLC 功能库,因此图像处理功能全部都在 PLC 中编程。另一方面,TwinCAT Analytics 提供了很多不同的算法来评估设备的过程数据,如高分辨率振动、状态值和驱动器位置。最大的区别在于算法的使用。与直接使用 PLC 库不同,TwinCAT Analytics的使用 是在配置编辑器中以纯图形方式实现。算法本身基于相同的 PLC 库,Analytics 用户可以在完成配置后,使用这些算法在新创建的 PLC 项目中自动生成 PLC 代码。整个过程非常简单,用户无需进行任何编程工作。
丰富的分析功能
TwinCAT Analytics 有大量具有简单和复杂功能的功能块,包括基本的边缘计数器、 限值监测和包络线,以及机器学习领域中的频谱分析、相关函数和无监督聚类方法。总共有 150 多种用于评估过程数据的算法。这些算法可以连接在一起构成一个完整解决方案,并可保存为模板供将来重复使用。很多用户以应用为导向的方式利用这种可能性,因此在算法工具箱中可以找到用户自己的解决方案模板,例如用于设备模块或机械组件的算法。因此,可以在工具箱中列出“MH_Milling_Long3c”等设备模块名称,为技术服务人员提供不同设备类型部件的特定算法。通过 TwinCAT Scope 软件示波器,这些数据不仅能够以图形化方式传输处理,还能够用基于时间的曲线图、条形图或三维图等形式显示。带有时间戳的算法处理结果通过简单的拖放操作链接到图表中,这样就可以对事件以机器运行任务周期精度进行排序。这不仅适用于来自设备的实时数据,也适用于历史数据,例如,逻辑运算符可用于在数据流中寻找特殊状态关联。这样能够节约大量时间,尤其是在查找设备故障时。但真正实现工程简化的是自动生成 PLC 代码,但为什么必须这么做呢?
一般来说,通过带代码生成功能的 TwinCAT Analytics 可以在 PLC 运行环境中连续进行数据分析。 PLC 运行环境既可以是设备控制器本身,也可以是与设备控制器解耦的在远程设备上并行运行的控制器。这种解耦的优势在于,数据分析可不影响生产加工过程,与之进行数据交互和分析结果的更新。在设备控制中使用复杂算法也并不常见。很多用户对使用此类算法编程并将其集成到现有控制代码敬而远之。此外,在程序中输入已经配置和测试过的内容也很浪费时间。因此,自动生成的代码可以避免编程错误,并节省大量开发时间。当用户不仅能自动生成分析代码,还能自动生成用于显示分析结果的网页图形用户界面时,其优势就更加明显了。
视觉集成优势明显
由于相机系统越来越多地取代了设备上使用的传统传感器,或者通过单个相机系统将多个传感器组合在一起,因此在 TwinCAT Analytics 中集成图像数据评估功能也就顺理成章了。此外,TwinCAT Analytics 的低代码开销方法在很多专业视觉工具中已广泛应用,因而是 TwinCAT Vision 的理想补充。下一步是将大量的视觉算法逐步集成到 TwinCAT Analytics 中。这样做的好处显而易见:使用 TwinCAT 创建的视觉应用程序不再需要直接开始自动编程。所需的算法可以方便地通过配置连接在一起,并在非实时环境中运行和测试。尤其是在算法开发的初始评估阶段,必须对很多功能和参数进行测试,通过这种非实时环境的算法测试可以省去不断激活实时配置和下载代码的过程。独立性意味着无需重新获取设备状态,即可将新结果与之前的结果进行比较。例如,这对在需要进行不良品检测的生产线下线测试中尤为有用。
除了非实时环境之外,还可以反复使用历史原始图像数据来优化评估和参数,这一点尤为有利。色彩和中值滤波器等算法模块的输出图像可以与如 Blob 检测或 QR 码读取等其它视觉算法的输入连接。一旦找到一个或多个相机系统的理想设置后,只需按一下按钮,即可生成所需的基于 TwinCAT 视觉库的实时 PLC 代码并下载到控制系统中。生成的 PLC 代码是可读取的并且是面向对象的。其结构基于先前配置的算法网络,用户因此可以直接在生成的代码中找到方向。理想情况下,生成的代码可以直接部署应用,尽管代码随时可以进行修改,之后还可以进行代码比较和合并。TwinCAT Vision 库的详细文档可以用于理解生成代码中与 Vision 有关的部分,这对用户来说也非常方便。仅这一项功能就显著简化了工程设计,节省了大量时间和相关工程成本。
通过软件示波器进行更详细的评估
这并不是将 Vision 集成到 TwinCAT Analytics 中的唯一优势:其它标准的 TwinCAT Analytics 功能也有助于图像数据评估,这包括将图像数据像过程数据一样拖放到 TwinCAT Scope 中观察。视觉算法的输出图像被拖入示波器,并在 CAM 图中单独显示。如果需要,还可以使用鼠标将图像拖入某个过程数据图中。然后,图像就会出现在图的背景中并通过带颜色编码的标记在时间轴上显示处理时间和图像。
当然,TwinCAT Analytics 中也有专门针对 Vision 的功能。持续产品开发的目标是开发一般性的算法适配于用户的各种应用。Analytics 中支持的算法实现了尽可能的标准化和独立化。因此,我们采用了直观的操作元素,例如,可以轻松保存找到的轮廓,以便日后重新加载进行轮廓匹配。模块观察器的工具窗口等其它功能也适用于所有算法。根据所选的图像处理模块,模块观察器可以直接显示输入和输出图像。另一方面,图像图库允许对不同算法的多个输入和输出图像进行汇总。为此,可以加载并固定来自数据流的图像或硬盘上的单个图像,以便与当前图像进行比较。图库还提供很多标准功能,如颜色选择器、像素测量、像素位置和对比度设置。还可以为每幅图像添加其它形状和标签,以这种方式处理的图像可导出为各种图像格式。
持续进行进一步开发
除了逐步扩展算法之外,下一步的开发工作还包括为网页图形用户界面自动生成视觉控件。图形用户界面用于永久显示不同用户角色的图像处理结果,这些角色可以在 Analytics 开发工具中定义。由于采用了独立于平台的 HTML 5 图形用户界面,不仅开发人员、应用工程师、调试工程师和服务技术人员等都可以从 TwinCAT Analytics Vision 解决方案中获益,设备操作人员、生产和工厂管理人员也可以从中受益。后者可以根据需要,随时随地使用移动设备调用最重要的生产数据。