MES is a big scale system, with features:
1)
Act fast, normally it should
response to client within 1~5 seconds, response to PLC within 1~2 seconds.
2)
Has lots of function modules,
including functions of planning, production, process, quality, equipment, with
lots of complicated business logic.
3)
With high stability, normally
requires availability of over 99.5%, otherwise it will have big impact to
lineside production.
4)
Lots of interaction with
external systems such as ERP, PLM, WMS, LES.
So to ensure its stability and availability, we need a really good
system architecture for it.
Diagram 2.3-1 shows a typical architecture of MES system.
Diagram
3.1-1 Basic MES Architecture
Application Server is the core of MES, with functions of:
1)
Definition of business model.
2)
Definition of production
routine.
3)
Execution of business logic.
4)
Handling input/output data.
5)
Type/format conversion of data.
6)
Execution of scheduled jobs.
7)
OPC client to talk to OPC
server.
8)
MQ client to talk to MQ server.
9)
DB client for Database read/write.
Normally application server will use cluster to provide higher
availability.
Database is used to store data, normally MES uses Oracle or SQL
Server.
Database includes Production Database and History Database.
Production Database is used for real time business handling,
normally it only store data within short period of time, it uses Technology
such as DataGuard to improve availability.
History Database stores all historical data, normally is used for
reporting.
So we can use Application Server to run real time data query from
Production Database, and use Report Server to run historical data analysis from
History Database.
Network Server is used to handle input/output of clients, with
functions of:
1)
Graphic user interface.
2)
Collect user input data.
3)
Response to user operations of
keyboard and mouse.
4)
Execution of local scripts.
5)
Load local DLL, for example, we
can use .Net framework to run OPC client, so we can have Distributed OPC
communication.
Normally Network
Server uses Network Load Balance to balance network traffic, so lots of clients
can run at same time.
In most cases MES uses network printers for printing work, so we
need print server to drive all network printers.
As for communication between MES and PLC, OPC is used for most
cases.
OPC is a middle-ware platform, after installing correct drivers, OPC
can map PLC’s data stored in Memory or Data Blocks into Memory Tags of OPC
Server, OPC Tags are similar as other IT variables.
Now Kepware OPC Server is most popular, which supports almost all
popular PLC, and it also has some powerful plug-ins, such as IOT Gateway, which
can pack OPC Tag into standard Web Server.
PLC’s typical scan cycle is 50~100ms, and OPC’s scan cycle can be
set to 250~1000ms.
MES has lot of data exchange with external systems such as
ERP/PLM/WMS/LES, normally MQ service is used to exchange data between systems.
MQ can reduce coupling between systems.
For example ERP is placed at corporate headquarter, PLM is places at
R&D center, MES is placed at plants, in that case, MQ server will be setup
in corporate, and MQ clients will be setup at corporate/R&D/plants, so that
we can exchange data between systems.
没有评论:
发表评论