网站首页 > 开源技术 正文
最近网上看到一些写MES和PLC通信的文章。或许因为行业不同的缘故吧,对于里面的一些观点,我个人是持保留意见的。首先在我所在行业里,MES是不会和PLC直接通信的。MES和PLC之间通常还有一个其他系统。该系统在不同行业的叫法不一样。比如有的行业称之为二级系统(L2)或者数采系统,有的行业称之为过程控制系统。
根据Purdue模型及ISA95标准中的模型,自动化系统位于L1,MES位于L3,它们中间还有一个L2系统。而位于L3的MES是不会直接和位于L1的PLC通信的。否则就违背了层级隔离原则。
PLC<->L2
L2在不同行业的叫法及功能不一样。有的行业只是一个简单的SCADA。有的行业要复杂一些,它会接收MES下方的作业计划并调取生产配方,按照MES的要求进行生产,并把生产实绩返回给MES系统。还有的行业会在L2中部署一些控制模型,用于对生产制造进行优化控制。这些带有控制模型的L2系统有的行业称之为先进制造系统。
上图是一个简单的L2系统功能模块示意图。实际项目中因行业或者其他原因会有所不同。但是在部分行业中,L2不会只是一个简单的SCADA可以替代的。
L2是位于IT和OT之间的一个衔接系统。L2系统的数据基本直接来自PLC。通过和PLC的数据交换实现设备控制和状态监视。并把这些数据根据上游系统的要求进行相应处理后发送到MES系统。L2和PLC的通信各家做法也不一样,有的直接使用PLC的通信协议读写数据,比如S7和Modbus TCP这样的协议。也有的会要求PLC通过Socket主动发送数据。
L2<->MES(L3)
L2和MES之间通常采用WEB API交换数据,格式通常是JSON字符串。MES系统在排产后会下发相关的生产计划到L2系统。L2系统根据对生产计划的拆解调取相应的配方或者其他生产参数下发到自动化系统。如果L2系统有控制模型的话还会调用相应的模型。并在生产过程中将生产实绩返回到MES系统。
目前也有一些行业对L2功能进行了弱化,一方面自动化系统的功能越来越强,以前一些必须要L2系统来实现的功能现在自动化系统也可以实现。另一方面L2系统中的引以为傲的模型系统在实际使用中的效果并没有想象中的那么好,慢慢的一些行业的L2只剩下数据采集的功能了。但是随着工业大模型的兴起,L2系统在这些行业中能否重现昔日的辉煌就不好说了。
猜你喜欢
- 2025-04-30 Mac 下php5.3-7.0的二进制包 ── PHP-OS
- 2025-04-30 如何把一个Python应用程序装进Docker
- 2025-04-30 为何推荐 JsonTree.js 做 JSON 可视化?
- 2025-04-30 Python进阶-day21:复习与小项目(python小项目练手)
- 2025-04-30 java项目相关知识点整理(java项目简介)
- 2025-04-30 Deepseek官方提示词教程(deep message)
- 2025-04-30 里程碑!用自己的编程语言实现了一个网站
- 2025-04-30 草率了,又一个Maven打包的问题(maven打包带源码)
- 2025-04-30 JSONP安全攻防技术(web安全攻防)
- 2025-04-30 maven 处理多版本 jar包依赖冲突(maven管理jar包冲突)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)