施耐德开放自动化中的一些概念(1) 复合自动化类型(CAT)

本文来谈谈施耐德开放自动化(EcoStruxure Automation Expert)中复合自动化类型(Composite Automation Type)的基本概念。CAT并不是IEC61499 标准化中的术语,它最早出现在nxtStudio IDE 中。初次接触时这个概念比较难以掌握。感觉它好像与HMI ,硬件有关。通过一些实际操作后,找到了一些感觉。而且进一步理解他背后是面向对象的设计理念。能够实现工程中设备的分层数字建模。是一个非常强大的设计工具。这里与大家分享自己的一些体会。

何为CAT?

从使用的角度看,CAT是一个复合功能块,在这个复合功能块中包含了一个HMI的服务功能块。也就是说要在工程中的HMI 上建立一个图形控件,就需要建立一个CAT ,在设计CAT时,要设计相应的HMI控件,并且建立复合功能块与HMI 中控件的联系。

下面是一个例子。

在这个例子中,为了建立在工程中的一个气缸的HMI 控制,我们新建了一个NewCylinder 复合功能块(1),它有两个部分构成,一个HMI服务接口功能块NewCylinder HMI(2)和对应的HMI 控制块(3)。

CAT 的设计过程

      下面我们通过一个例子来说明CAT的设计过程。假设我们要在HMI 中安排一个LED 灯和一个按钮(BUTTON),用来指示应用的状态和控制启停。

1 新建CAT

    在项目中鼠标指向CAT 中的Application 击右键,选择new Item:

这时出现的一个窗口:

选择一个名字,Finish。出现了定义复合功能块CAT2的窗口,在输入变量中我们添加了LED输入,在输出变量中添加BUTTON输出。

2 修改HMI 复合功能块

        前面提到,CAT 是一个复合功能块,在其中包含了HMI 功能块,并且与HMI控件关联,它们三者的关系如下:

修改HMI 的功能块输入输出,添加LED和BUTTON 。方法是双击CAT2 下面的IThis:CAT2_MHI,出现下面的窗口:

3 设计HMI 控制对象

下面我们设计HMI 的控制对象,双击CAT2->IThis.CAT2_HMI ->sDefault。出现下面的窗口:

将左边的BUTTON 拖动到图形编辑中,弹出下面的窗口:

选择checkButton .一个Button的图形出现图形编辑窗口中。 采取类似的方法完成LED 的放置。最后完成的HMI视图是这样的:

在EcoStruxure Automation Expert中,HMI控件是基于C# 实现的,如果你对C# 编程比较熟悉的化,可以方便地设置各种参数,并且可以编写程序来丰富HMI 的设计。这里我们就不展开讨论了。

4 完成CAT2 中的连线

再一次地提醒,CAT2是一个复合功能块,它的内部包含了CAT2_HMI 功能块。所以,我们要完成CAT2 中的连线。点击CAT2,选择窗口上方的Compisite,将IThis_CAT2_HMI 拖到编辑窗口,连线。

至此,我们完成了CAT2的设计,可以将这个CAT2 作为复合功能块类型在你的应用中实例化使用。

进一步地,能够在CAT2复合功能块中添加其它的功能块,实现与该硬件相关的算法。使CAT 成为处理该硬件的完整的功能块。

    CAT 背后的逻辑

我们对CAT 有了一些感性的认识,但是CAT 的概念还不仅仅这些。它有更深的内涵。其时,CAT 背后的逻辑是面向对象的思想。在nexControl )的网站上是如此描述CAT 的:

实际的设备和功能将转换为称为CAT(复合自动化类型)的软件对象。它们使工厂和设备的工程设计更加容易。

       另一方面,CAT 是可以分层和嵌套的,也就是可能一个CAT 中应用另一个CAT 实例。这完全是面向对象设计方法。使用这个机制,我们可以构建复杂设备的软件模型。例如,可以设计一个反应釜的CAT,内部包含了一个温度传感器和搅拌机电机。使用这种方式我们可以构建自动化领域的各种设备的数字模型!在CAT 复合功能块中,可以增加设备的内部控制逻辑和可视化控件,硬件连接,仿真和文档。可以实现复合功能块的复合使用,也可以实现HMI 视图中符号的拼接。真是堪称完美。

    进一步的思考

理解了CAT 的设计理念之后,我还是比较激动的。作为一个IT工程师,又一次感悟出自动化控制软件是如何演绎IT 技术的。同时也引发了我进一步的思考。在OT领域中非常推崇基于模型的设计方法。他们也不断地讨论(或者说是争论)各种模型方式。有些人主张OPC UA ,有些人主张采用AutomationXML 或者其它。其实这些建模标准主要是解决兼容性和互联互通的问题。在工业软件的内部,更需要采用效率高,便于理解的方式来实现建模。类似OPC UA 和AutomationXML 模型都是采用了XML格式。而XML 基本上是一个计算机处理的格式,而不便于人阅读。工业软件要设计一种人类更能够理解的建模方式。

笔者认为,完全可以使用CAT 建模方式来构建工业控制领域的模型。并且采用树形目录结构来组织对象的分层结构。我也大致了解了一些ISOSoft 公司的资产架构模板AF templates 好像也采取了类似的方式。当然,作为一个开放型系统,只要模型可以导出和转换成为标准的模型就可以了。标准与工业软件内部的处理方式是二回事。

对于所有的模型而言,最大的问题是仅有标准,设计工具是不够的,更需要针对大量的行业应用,预先设计好各种模型。 由于缺乏合适的商业模式,开发行业数字化模型没有利益驱动力。目前只有自动化设备厂商来引领。如果在EcoStruxure Automation Expert 中,针对某些应用领域,开发出丰富的CAT 库,也许IEC61499 的春天会很快地到来了。另一方面,CAT 库的开发需要更多IT领域的技术(比如C#),这也许由IT工程师一起来来做更合适。未来,传统的自动控制工程公司要有计划地引进相应的IT技术人才,OT和IT 相融合,首先是人的融合。

最后,我们能否将CAT 的理念推广到外部软件服务组件(SOA)的组态上去呢?

猜你喜欢

转载自blog.csdn.net/yaojiawan/article/details/117172251