MES是大型的应用系统,其特点是:
1) 实时性高,通常客户端的响应时间在1~5秒内,和PLC通信的响应时间在1~2秒。
2) 功能复杂,包含了计划、生产、工艺、质量、设备等诸多业务模块,逻辑较复杂。
3) 稳定性高,通常会要求达到99.5%以上的在线率,不然会影响现场生产。
4) 和外部系统(如ERP/PLM/WMS)有较多数据交互。
因此,为了保证MES系统稳定、可靠运行,需要通过系统架构设计予以保障。
图2.3-1显示了MES系统的典型架构关系。
图3.1-1 MES系统基础架构
应用服务器是MES的核心,其功能包括:
1) 业务模型的定义。
2) 工艺路线的定义。
3) 业务逻辑的处理。
4) 对于输入、输出数据的处理。
5) 数据的类型转换、格式转换。
6) 计划任务的处理。
7) OPC客户端,用于和OPC服务器通信。
8) MQ客户端,用于和MQ服务器通信。
9) DB客户端,用于执行数据库读写。
通常应用服务器会采用Cluster机制进行冗余处理,以提供高可用性。
数据库用于存储和备份数据,通常采用Oracle/MSSQL等大型成熟关系型数据库。
数据库通常会划分成生产数据库和历史数据库。
生产库用于实时业务处理,通常只存储较近一段时间如3个月以内的数据。生产库采用DataGuard等技术提供冗余支持。
历史数据库会存储所有的历史数据,数据量大,通常用于报表输出。
因此我们可以在应用服务器上执行实时数据查询,而通过报表服务器执行历史数据统计分析。
网络服务器主要用于处理客户端的输入输出,主要功能有:
1) 图形界面展示。
2) 采集用户输入数据。
3) 对用户键盘、鼠标操作的响应。
4) 本地脚本处理。
5) 本地DLL调用,如.NET框架支持调用本地OPC客户端,从而实现分布式OPC通信。
通常网络服务器会采用NetworkLoad Balance实现负载均衡,以支撑客户端高并发。
由于MES系统中注册的打印机主要以网络打印机为主,因此还需要部署专用打印机服务器以驱动所有的网络打印机。
MES和PLC的通信,目前还是以OPC作为主流的形式。
OPC是一个中间件平台,安装对应的驱动后,OPC服务器能够将PLC数据块中存储的数据映射成内存变量,OPC变量在形式上和普通的IT变量没有区别。
目前应用较广泛的是KepwareOPC Server,其价格较低,提供了几乎所有主流PLC的驱动,此外还有一些功能强大的插件,如IoT Gateway能够将OPC变量封装成Web Service进行调用。
MES和PLC通信的耦合性、实时性都较强,如PLC的扫描周期一般为50~100ms,而OPC的扫描周期通常设置为250~1000ms。
MES和ERP/PLM/WMS有较多的数据交互,但对实时性的要求较低。此外,为了减少系统间的耦合性,通常会采用消息队列的机制在系统间传输数据。
例如ERP部署在集团公司,PLM部署在研究院,而MES部署在工厂,那么通常会在集团公司部署消息队列服务器,然后在集团、工厂、研究院部署MQ客户端,从而实现三地之间的数据交互。
领取专属 10元无门槛券
私享最新 技术干货