智能制造
智能制造(Intelligent manufacture)是相对与批量制造(mass manufacture)而言的。将近一个世纪以来,专业化分工,大批量制造的生产方式已经被全球制造业广泛地采纳,西方先进的制造业国家面临了来自发展中国家,特别是亚洲国家(比如中国)低成本,大批量制造业的挑战。它们一方面为了提升本国制造业的竞争能力,另一方面也是为了解决批量制造(Mass Production)中存在的问题,提出了智能制造和工业4.0的概念。西方国家学者提出的智能制造的核心是将M大批量制造(Mass production)转变称为大批量定制(mass customize)。他们憧憬能够根据客户的需求,即时生产出各种定制化的产品。比如一下子推出几十种不同配置的汽车。或者是为客户定制各种硬件配置和预装软件的笔记本电脑。
由此可见,智能化制造并不是简单地“机器换人”-在生产线中增加机器人,提高制造业的自动化能力。汽车生产线就是一个典型的例证,在汽车生产线上已经采用的大量的机械手和自动机。但是目前的汽车制造生产线仍然是为大批量制造而设计的。并不适合大批量定制的要求。
智能化制造的目的是满足柔性化生产(flexible production)的要求,而柔性化制造的实现方式是模块化生产线(modular production line)。模块化生产线是由多个制造模块构成,每个模块都能够更加生产,工艺的要求,灵活地配置。
作为制造模块中的各种控制器,构成了分布式系统。许多情况下,他们是异构的计算机网络。他们有的可能是PLC 设备,inux工业电脑,Windows PC。为模块化生产线构建一个灵活配置的分布式系统是一个不小的挑战。在工业4.0 的概念下,它们被称为信息物理系统(Cyber-Physical System),制造系统中的CPS 称为CPS生产线(Cyber-Physical Production system or CPPS)。构建这样一种创新的CPS生产线是智能化制造的目标。
从信息技术的角度看,CPPS 和传统的生产线控制系统相比的不同点在于,CPPS 需要根据生产计划,制定高层的规划和调度,动态地配置(或者在配置)资源。针对特定生产量身定制工艺。修改制造单元的参数和加工程序。
容器技术和IEC61499 在智能制造系统中的应用
在异构的分布式智能制造网络中,情况变的异常的复杂。不同的设备采取了不同的网络协议和控制方式,如果采用传统的集中控制方法,不同协议需要各种的协议转换设备,设备厂商往往各自为政,在系统集成过程中,有时候为了控制一个设备而配一台PC,软件“硬化”现象严重。增加了成本不说,还增加了系统的复杂性。即使如此,中心控制程序也会变得十分庞大,研发,维护和系统更新的效率低下,开发一个稳定运行的系统成本高昂。
解决的方法可以采用IT 技术中软件解耦的理念,采用容器和微服务技术。将各种协议转换,控制程序放置在不同的容器之中。它们相互不受干扰。可以独立的开发,部署和升级。比如在机械加工业内,生产线上有各种CNC 设备,它们可能使用不同的控制协议,FUNC 是自己的协议,也可能是MT-Link 协议。或者国产机床可能使用Modbus 协议。同样地,不同厂商的机械臂(robot arm)的控制方式也是各行其道,互不兼容。在传统的控制系统中会增加许多的程序库来应付不同厂商的设备。或者使用各种的网关设备。如果采取了容器方式,我们使用一台边缘服务器设备,将不同厂商的协议转换程序部署在容器之中。
当然,将各种协议转换和控制放置在容器中,并没有完全解决兼容性问题。方便地使用它们来编写和修改应用程序才是关键。这些容器中的微服务需要有一种统一的封装和呈现方式供控制工程师使用。IEC61499 标准是一个好的选择。
IEC61499 是分布式工业测量和控制系统的功能块编程方式。并且采取了事件驱动的同步方式。我们可以为容器中的每个微服务封装成为一个或者多个IEC61499 功能块。
图-1是一个示意图,实际的功能块会复杂的多。
从上面的示意图我们可以看出,每个FUNC CNC 被描述成为一个IEC61499 的功能块。其实,它是物理CNC 的数字化抽象。它通过docker 中的FUNC CNC 微服务与物理CNC设备连接。类似地,ROBOT ARM 功能块是FUNC 机械臂的数字化模型,背后通过docker 中的ARM 微服务与物理FUNC ARM 连接。
控制工程师主要是利用CNC 和ARM 功能块,编写TASK 功能块(它也可以是一个子应用(sub Application)。
在这里我们省略了人机交互接口(HMI)的功能块。
边缘服务器内部的软件架构
图-2 边缘服务器软件架构
从上图可见,这是一个Client/Server 架构。边缘服务器是服务器端。加工信息下发,系统监控和生产调度通过客户端软件完成。Docker 容器映像可以使用docker 客户端程序完成。
控制工程师编写的IEC611499应用软件在IEC61499 运行时执行。
实例 :智能CNC生产单元
在这里我们以机械行业的智能制造生产线为例,描述CPPS 的工作流程和架构。
设备
假设一个机械加工厂由多台CNC 机床构成。加工一个机械零部件大约需要4道工序完成。为了向智能制造方式转移,公司将每4 台CNC 加一台FUNC 的机械臂构建成为一个制造单元。FUNC 机械臂完成CNC 机床的上下料。
在这样的制造单元中,涉及不同设备的不同控制器。主要包括
CNC 控制器,大多数是FUNC 公司提供的CNC 控制器。
CNC中执行部件,包括轴伺服驱动器,PLC 等
FUNC 机械臂控制器。
零部件托盘,AGV 搬运小车,或者传输带。
流程
1 根据零部件的CAD 信息,车间工艺设计工程师设计CNC 加工程序。通常是G code 编写的CNC 程序。生产计划编写派工单。
2 生产调度下发工单,工程部将G code 下载到相关的CNC 控制器中。
3 工艺人员要制定好4 台CNC的加工顺序,和相关工艺信息。
信息系统架构
每个制造单元配置一个边缘控制器(edge controller)。该控制器接受高层软件发送的G Code, 加工信息,控制该生产单元的加工过程。边缘控制器通过以太网和CNC ,机械臂,以及客户端计算机连接。
图-3 一个CNC 制造单元由4台Harting CNC和一台FUNC 机械臂构成
边缘服务器的支撑服务
边缘服务器采取与图-2类似基于docker微服务架构。主要的支援模块包括:
-FUNC CNC控制服务
-FUNC ROBOT 控制服务
-人机交互服务
-Restfull API 服务,
负责将CAD 文件以及加工单等文件下发到内部数据库。
-数据库服务
-加工单服务
读取数据库中的加工单。
结束语
基于docker容器技术的智能制造软件比传统集中式单一控制软件更加适合敏捷开发和快速部署,更新。减少了各种协议转换和网关。使分布式制造系统设备统一成为一台基于LInux平台的开放型系统。,利于系统扩展,维护和备份。IEC611499 功能块编程适合作为微服务的封装和呈现。满足生产线 OT 工程师的二次开发。
文章中提及的CNC 制造单元项目需要进一步深化。目前难免有错误。
智能制造
智能制造(Intelligent manufacture)是相对与批量制造(mass manufacture)而言的。将近一个世纪以来,专业化分工,大批量制造的生产方式已经被全球制造业广泛地采纳,西方先进的制造业国家面临了来自发展中国家,特别是亚洲国家(比如中国)低成本,大批量制造业的挑战。它们一方面为了提升本国制造业的竞争能力,另一方面也是为了解决批量制造(Mass Production)中存在的问题,提出了智能制造和工业4.0的概念。西方国家学者提出的智能制造的核心是将M大批量制造(Mass production)转变称为大批量定制(mass customize)。他们憧憬能够根据客户的需求,即时生产出各种定制化的产品。比如一下子推出几十种不同配置的汽车。或者是为客户定制各种硬件配置和预装软件的笔记本电脑。
由此可见,智能化制造并不是简单地“机器换人”-在生产线中增加机器人,提高制造业的自动化能力。汽车生产线就是一个典型的例证,在汽车生产线上已经采用的大量的机械手和自动机。但是目前的汽车制造生产线仍然是为大批量制造而设计的。并不适合大批量定制的要求。
智能化制造的目的是满足柔性化生产(flexible production)的要求,而柔性化制造的实现方式是模块化生产线(modular production line)。模块化生产线是由多个制造模块构成,每个模块都能够更加生产,工艺的要求,灵活地配置。
作为制造模块中的各种控制器,构成了分布式系统。许多情况下,他们是异构的计算机网络。他们有的可能是PLC 设备,inux工业电脑,Windows PC。为模块化生产线构建一个灵活配置的分布式系统是一个不小的挑战。在工业4.0 的概念下,它们被称为信息物理系统(Cyber-Physical System),制造系统中的CPS 称为CPS生产线(Cyber-Physical Production system or CPPS)。构建这样一种创新的CPS生产线是智能化制造的目标。
从信息技术的角度看,CPPS 和传统的生产线控制系统相比的不同点在于,CPPS 需要根据生产计划,制定高层的规划和调度,动态地配置(或者在配置)资源。针对特定生产量身定制工艺。修改制造单元的参数和加工程序。
容器技术和IEC61499 在智能制造系统中的应用
在异构的分布式智能制造网络中,情况变的异常的复杂。不同的设备采取了不同的网络协议和控制方式,如果采用传统的集中控制方法,不同协议需要各种的协议转换设备,设备厂商往往各自为政,在系统集成过程中,有时候为了控制一个设备而配一台PC,软件“硬化”现象严重。增加了成本不说,还增加了系统的复杂性。即使如此,中心控制程序也会变得十分庞大,研发,维护和系统更新的效率低下,开发一个稳定运行的系统成本高昂。
解决的方法可以采用IT 技术中软件解耦的理念,采用容器和微服务技术。将各种协议转换,控制程序放置在不同的容器之中。它们相互不受干扰。可以独立的开发,部署和升级。比如在机械加工业内,生产线上有各种CNC 设备,它们可能使用不同的控制协议,FUNC 是自己的协议,也可能是MT-Link 协议。或者国产机床可能使用Modbus 协议。同样地,不同厂商的机械臂(robot arm)的控制方式也是各行其道,互不兼容。在传统的控制系统中会增加许多的程序库来应付不同厂商的设备。或者使用各种的网关设备。如果采取了容器方式,我们使用一台边缘服务器设备,将不同厂商的协议转换程序部署在容器之中。
当然,将各种协议转换和控制放置在容器中,并没有完全解决兼容性问题。方便地使用它们来编写和修改应用程序才是关键。这些容器中的微服务需要有一种统一的封装和呈现方式供控制工程师使用。IEC61499 标准是一个好的选择。
IEC61499 是分布式工业测量和控制系统的功能块编程方式。并且采取了事件驱动的同步方式。我们可以为容器中的每个微服务封装成为一个或者多个IEC61499 功能块。
图-1是一个示意图,实际的功能块会复杂的多。
从上面的示意图我们可以看出,每个FUNC CNC 被描述成为一个IEC61499 的功能块。其实,它是物理CNC 的数字化抽象。它通过docker 中的FUNC CNC 微服务与物理CNC设备连接。类似地,ROBOT ARM 功能块是FUNC 机械臂的数字化模型,背后通过docker 中的ARM 微服务与物理FUNC ARM 连接。
控制工程师主要是利用CNC 和ARM 功能块,编写TASK 功能块(它也可以是一个子应用(sub Application)。
在这里我们省略了人机交互接口(HMI)的功能块。
边缘服务器内部的软件架构
图-2 边缘服务器软件架构
从上图可见,这是一个Client/Server 架构。边缘服务器是服务器端。加工信息下发,系统监控和生产调度通过客户端软件完成。Docker 容器映像可以使用docker 客户端程序完成。
控制工程师编写的IEC611499应用软件在IEC61499 运行时执行。
实例 :智能CNC生产单元
在这里我们以机械行业的智能制造生产线为例,描述CPPS 的工作流程和架构。
设备
假设一个机械加工厂由多台CNC 机床构成。加工一个机械零部件大约需要4道工序完成。为了向智能制造方式转移,公司将每4 台CNC 加一台FUNC 的机械臂构建成为一个制造单元。FUNC 机械臂完成CNC 机床的上下料。
在这样的制造单元中,涉及不同设备的不同控制器。主要包括
CNC 控制器,大多数是FUNC 公司提供的CNC 控制器。
CNC中执行部件,包括轴伺服驱动器,PLC 等
FUNC 机械臂控制器。
零部件托盘,AGV 搬运小车,或者传输带。
流程
1 根据零部件的CAD 信息,车间工艺设计工程师设计CNC 加工程序。通常是G code 编写的CNC 程序。生产计划编写派工单。
2 生产调度下发工单,工程部将G code 下载到相关的CNC 控制器中。
3 工艺人员要制定好4 台CNC的加工顺序,和相关工艺信息。
信息系统架构
每个制造单元配置一个边缘控制器(edge controller)。该控制器接受高层软件发送的G Code, 加工信息,控制该生产单元的加工过程。边缘控制器通过以太网和CNC ,机械臂,以及客户端计算机连接。
图-3 一个CNC 制造单元由4台Harting CNC和一台FUNC 机械臂构成
边缘服务器的支撑服务
边缘服务器采取与图-2类似基于docker微服务架构。主要的支援模块包括:
-FUNC CNC控制服务
-FUNC ROBOT 控制服务
-人机交互服务
-Restfull API 服务,
负责将CAD 文件以及加工单等文件下发到内部数据库。
-数据库服务
-加工单服务
读取数据库中的加工单。
结束语
基于docker容器技术的智能制造软件比传统集中式单一控制软件更加适合敏捷开发和快速部署,更新。减少了各种协议转换和网关。使分布式制造系统设备统一成为一台基于LInux平台的开放型系统。,利于系统扩展,维护和备份。IEC611499 功能块编程适合作为微服务的封装和呈现。满足生产线 OT 工程师的二次开发。
文章中提及的CNC 制造单元项目需要进一步深化。目前难免有错误。
举报