原本想写一篇就Hydra和Ignition进行比较的小文,细想后发现对于Hydra由于其使用环境搭建不易,因而对于它的了解也仅限于项目经历和书本知识。相比而言Ignition容易获得且易于搭建评估环境,因而个人摸索也更深一些。经此一想为避免过于主观的言论就先写一篇我对InductiveIgnition的认知的小文。在后面的内容里将就Ignition的特点,安装与配置两方面阐述一点自己的认知。
Inductive Ignition的特点
本身MES就是个相对狭窄的行业,IndutiveIgnition作为其中小众的一员,必然不为多数人所知。因而有必要就这个软件做个简单介绍。这里不发广告,需要下载试用,请自行去百度谷歌。这里只究个人认识的这个软件一些特点做一些阐述。
Ignition是个BS架构的MES,其配置端完全轻量化基于Web实现,在这一点上将其归类到BS类型。这里也需要补充说一点其提供的内建的HMI Designer,支持创建HMI项目,并打包生成可执行的jnlp程序包,这一点上由于JNLP是Java NetWork Launching Protocol生成的基于Web的程序包,从技术角度还是应该将它视作为Web的客户端,但从使用者角度我们也可以将它看做是Client,这时候Ignition也符合CS架构的解释。对于BS架构相对CS架构的优势,归纳下有BS更经济,部署简单,可维护性更好等,其不足则常在性能方面。
Ignition是Java Based的MES,这一点让Ignition可以独立于OS,发行版本上就有Windows和Linux版本,这也为在企业环境部署的时候提供了可选项,对于产品环境更加推荐的是Linux搭配Ignition,而开发环境则可以使用Windows。
Ignition支持多数据库,先套个截图放下面。从下面截图也能看到机遇JDBC驱动,Ignition可以支持从小到Firebird,大到Oracle,SQL Server,DB2的各种关系型数据库,在开源数据库方面则支持PostgreSQL和MySQL。几乎所有的主流数据库都被Ignition覆盖,其好处则是在于可以根据不同场景选择合适的数据库。
图1 Ignition支持多数据库
举个例子算是抛砖,某大型制造企业有生产工厂10多个,其规模大小不一,生产工艺也各不相同。这算是大的背景,从背景得到的信息就是每个工厂对MES的需求程度是各不相同的,这时候对于只有三五台机加设备的小工厂合适选择的则是小规模的数据库Firebird,而其MES的部署的目的则是监控这些机加设备的使用。与之相对另一个工厂包含数条工艺类似的电镀产线,那么这个工厂则需要我们考虑用规模合适的数据库,这时候MySQL,PostgreSQL或者Oracle,SQL Sever则是合适的选择。上升到企业层面需要关注每个工厂的生产效率,并对这些生产效率的原始数据进行财务话的处理,这时候可能就不得不用SQLServer,Oracle,DB2来创建数据仓库从各个工厂的MES或其它数据库来捞取数据并加以分析了。这里补充一点,并不是说MySQL,PostgreSQL数据库没有SQL Server,Oracle,DB2大,毕竟好多云系统的底层数据库就是基于开源的MySQL做了性能调优的,这里的数据分配只是一种基于经济性的理解。
Ignition内置了HMI Designer。基于这个Designer几乎全部的HMI都可以用它来定制开发。提供了较完善的UI资源,支持设定使用Template,支持公共脚本Script的运行。个人总结基本上用好这里面提供的HMI开发资源,足够搭建工厂级需要的UI了。这里不做过多的展开,仅Designer本身一个个展开就能写本厚厚的开发手册教程。
图2 HMI开发资源