点击上方 MES百科 关注我们
e-works鼓励原创,如需投稿请参看首页“原创投稿”说明。
导 读 ( 文/ 纪多斌 )
原本想写一篇就Hydra和Ignition进行比较的小文,细想后发现对于Hydra由于其使用环境搭建不易,因而对于它的了解也仅限于项目经历和书本知识。相比而言Ignition容易获得且易于搭建评估环境,因而个人摸索也更深一些。经此一想为避免过于主观的言论就先写一篇我对InductiveIgnition的认知的小文。在后面的内容里将就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覆盖,其好处则是在于可以根据不同场景选择合适的数据库。
举个例子算是抛砖,某大型制造企业有生产工厂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本身一个个展开就能写本厚厚的开发手册教程。
Ignition缺省支持多种PLC的接入。对于这个问题还是一样先贴个图在下面,一眼过去主流的美系AB,日系Omron,德系Siemens都在缺省支持之列,而对于通用协议Modbus,TCP,UDP都提供支持。对于一些未在列表中的PLC,如Keyence,其方案可以通过中性的OPC,或者适配专门的接口转换盒子转换成TCP进行连接。这里必须要提到一个熟悉PLC的电气工程师,对于MES的部署的价值,数据采集很多问题是软硬结合的问题,资深的电气工程师可以让设备连接变得非常容易,这样可以让MES团队更多关注于高层的HMI的展示、数据库的设计等问题,从大的角度看,电气工程师也是整个IIOT中必不可少的一员,脱离了设备连接谈IIOT都是扯淡。
Ignition提供Redundancy冗余的架构,这不仅是在单个数据库发生问题时候,Redundancy数据库可以迅速启动工作,也为热升级提供了可行性。由于配置的是demo环境,并未打开Redundancy和Gateway功能。
Ignition提供完善的安全策略。依然是上面这幅图,在支持了Gateway策略后,完全可以通过Gateway上策略限制MES内部网络和外部网络的访问,这是硬件层面的安全控制。由于提供Uers,Role的设定,还可以控制某个人或者某群人的访问权限;并且提供了Security Zone后,可以将访问按照IP或IP段进行划分。
以上内容是个人对于Ignition的特点的认识。总结而言,Ignition是BS架构Java Based的MES,支持多数据库,含内建的HMI Design,缺省提供较丰富的设备连接驱动,有一定的安全策略屏蔽技术的MES平台。
安装与配置
讲完了Ignition的特点,花一点篇幅讲一下Ignition的安装配置,以Windows + MySQL +Ignition为例搭建开发环境。真正的产品环境请Loop公司IT部门同事,因为涉及的问题有Infrastructure,Gateway,Security等一堆,这些IT基础技术都不是本文研究的范畴。
先粗粗的梳理下安装:
1 | 安装MySQL,版本是5.6还是7都可以。 |
2 | 安装结束后,记得登录MySQL创建一个空数据库,数据库名自编,这里用ignition_sample做数据库名,方便后面使用,注意记下数据库登录账号和密码,这里就用root和password了。 |
3 | 安装Ignition,一路Next到结束。 |
4 | 第一次登录Ignition,浏览器里打开网址localhost:8088,你要是改了端口,或者端口被占用,或者从局域网另一台机器登录,直接敲IP,再或者你搭建个域名解析服务,做了端口映射,分配个域名登录我也没意见。 |
5 | 登录进入后,HOME页面或者Configure页面都有数据库连接的配置选项。这里就推荐到Configure下的Overview去找Connection,下面有Create a new database connection. |
6 | 点上面的连接,进入Database Connections页面,选Create new Database Connection…,选择MySQL ConnectorJ
|
7 | 按照下图的内容,配置与数据库的连接(MySQL数据缺省连接端口为3306,如果改了请自己注意)
|
8 | 检查与数据库的连接是否成功
|
再花一点时间,讲一下HMI Designer的启动。登录Ignition后,右上角有个橘黄色的Button“Launch Designer”,点击会下载一个designer.jnlp。将它保存到某个路径,例如C:\workdir。然后启动CMD窗口,默认用户已经安装了JAVA并将JAVA_HOME环境变量添加到了系统,然后执行命令javaws C:\workdir\designer.jnlp,剩下就是耐心等待Designer启动。启动后如下图所示,之后的输入账号密码不在赘叙。
--- THE END ---
共有条评论 网友评论