现在我们提的开放自动化和以前说的控制系统的开放性不是一个事情,以前系统的开放性是指一个系统可以和另外一个系统互相连通,而现在的开放自动化是指大家都用一个平台,大家的架构都是一样的,遵循的标准也是一样的,就像在IT领域里的安卓系统一样,基于这个系统开放的软件、硬件都可以互相通用。
现在说的开放自动化都是基于IEC61499标准来做开发的,这是一个分布式工业控制系统的标准,由于其具有可复用、可移植和可互操作等特性,这些特性完全符合开放的特性,所以开放自动化的最佳选择就是基于IEC61499这个国际标准来开发。
确实,在IEC61131-3里面也有功能块和基于事件的触发,但IEC61499里面的功能块和基于事件的触发与IEC61131-3的完全两个不一样的概念。在IEC61131-3里,所谓的事件只是说用一个布尔的值来触发功能块,仍然是通过轮询机制来执行,而在IEC61499里,如果事件不触发的话,这个模块是完全不会执行的,并不是轮询机制来执行。在IEC61499里,功能块只是一个最基础的封装单元,它上面还有很多层的模型,这些模型以前都是没有的,这些模型定义了最下面的模块到应用程序到功能,然后再到资源、到设备到整个系统配置,到部署模型再到管理模型等,整个系统就是一整套的模型。所以说,IEC61499是工业建模语言,而不是PLC编程语言。
基于IEC61499的系统开发方式和IEC61131-3也是完全不一样的。基于IEC61499的话,一开始完全不用考虑硬件,也不是去编写程序代码,而是先利用功能块来搭建模型,将整个系统的功能上先实现,然后将系统部署到设备上即可。编程的话是在功能块里面需要编程,可以用IEC61131-3规定的编程语言,也可以用高级语言来编写,然后按标准进行封装就可以重复使用了。所以说,IEC61499开发的自动化系统,软件和硬件实现了解耦,只要是支持IEC61499标准的硬件(硬件上都要有支持IEC61499的Runtime,硬件包括控制器、工控机,甚至是传感器、变频器、网关、端子等),软件都可以复用。
开放自动化不仅仅是指自动化系统的软件的可复用,硬件的即插即用,而且应该是一个开放的生态,需要更多的厂商、用户来参与到这个生态中来,开发更多支持IEC61499的软件,开发各个行业丰富的功能块,类似安卓市场一样,有很多硬件也有丰富的APP。有了这样的生态之后,开放自动化才能真正实现。