本节书摘来自华章出版社《制造业中的机器人、自动化和系统集成》一书中的第3章,第3.7节,作者[英] 麦克·威尔逊(Mike Wilson),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.7 系统控制
自动化系统的系统控制可以提供许多关键的功能:
- 单元或系统的元件的总体控制,确保它们都按计划和正确的顺序运行。
- 给更高层次的控制系统(比如,工厂范围的制造执行系统(MES))的负责人和操作员提供有关工作单元或系统的数据。
- 维修方面的帮助,当故障情形或错误信息产生时,为人们提供识别和修复故障的指导。
- 总体的安全功能,保证元件或系统以安全的方式运行和维修。
为了提供这种类型的控制,20世纪60年代末发明了第一个可编程逻辑控制器(PLC)。在发明PLC之前,这种功能由大量的继电器来实现,往往很复杂,而且难以维修,难以适应系统升级。PLC使用软件提供了同样的功能,而没有使用大量的继电器构成的硬逻辑。其程序不仅具有了继电器的功能,而且使用了更易于理解和使用的梯形图来编程。
PLC用来提供总体系统控制,它们的性能和编程也得到了长足的进步。如今,PLC涵盖的范围从只有几个数字输入/输出(I/O)的微单元,到可以处理数以百计I/O、模拟输入/输出和更高级网络接口(如现场总线和以太网)的大设备。
典型66的机器人系统可能由PLC来提供总体控制。这也包括人机界面(HMI),它为操作人员、维护人员和其他人员提供信息。典型的HMI包括一个显示屏,用于图形展示单元/设备的工作状态以及生产过程信息。它还包括检查系统、发现故障和调整重要流程和工艺参数等功能。HMI也可以提供总体控制,包括开始、停止、复位等功能。
在较小的机器人系统中,机器人也能提供同样的功能。因此PLC也许就不需要了。这是一个更低廉的方案,但由于它需要用户具备使用机器人系统的能力,这就会更复杂,所以这个方案并不经常使用。由于用户具有使用PLC的经验,所以他们感觉使用PLC更舒服。因此经常包含PLC来保持机器人、机器人程序与总体控制之间的分界线。在更大的系统中,例如多台机器人,PLC更多地用来提供总体控制,而不是依赖系统中其他部分的控制。
在最底层,各种设备通过数字I/O与PLC相连接。传感器经常位于整个系统中,用于检查操作顺序,保证进行下一步操作前前一步已经执行完毕。这些传感器可能位于输送机上保证各工件就位;或位于夹具上保证正确地装载各个工件;或位于抓手内来检验被拾取和放下的工件。机器人还会在适当的时间向PLC提供信号,表明自己进行到了程序中的哪一步,同时在移动到下一步前等待来自PLC的信号。
另外,也可远程安装I/O模块,比如将它们安装在远离主机设备、PLC或机器人控制器的地方。例如,I/O模块可能安装在夹具上,以便连接所有的传感器和夹具上的驱动件。这些连接也许是通过单独的电线实现的。然后,I/O模块传给主设备的信号就可能通过单独的电线传输。因此减少了夹具与主设备之间的连线。这可以降低成本,尤其是在距离很长的情况下,但也会提升系统的可靠性,并易于维护和维修。
使用离散I/O会在系统中引入大量的信号。机器人和PLC都装有处理16位输入和16位输出的I/O模块。67如果需要的信号量很大,这会导致机器人和PLC中的I/O模块数量剧增,而可安装的I/O模块数量是有限的。拥有大量I/O的系统需要昂贵的安装费用和复杂的维修。为了缓解这个难题,人们开发了网络,为设备之间的接口定义标准,以保证不同设备之间的兼容性。最早的工业网络是制造自动化协议(MAP),最初于1982年由通用汽车公司提出。从那时起,人们定义和使用了各种网络,包括现场总线和以太网。遗憾的是,还存在一些挑战,PLC的主要供应商想应用一种特定版本的网络来降低其产品与其竞争对手之间的兼容性。
网络已经变为多层。例如,典型的三层网络包括:
- 设备网——一个将低级设备直接与工厂的控制器相连并消除与输入/输出模块硬接线的总线系统。
- 控制网——一个用来连接自动化系统内或车间中的各种机器的高级网络。这可能包括机器人、机床、人机界面(HMI)和可编程逻辑控制器(PLC)。
- 以太网——一个在PLC、监控与数据采集系统(SCADA)以及工厂MES之间快速交换大量数据的标准信息网络。这将为工厂提供自动化系统的整体通信和运行。
每一层都遵从一定的标准,其产品也满足这些标准。因此,选择合适的产品并将其置于网络中以判断它们是否正确运作成为可能。
控制系统同样用于安全电路的监控与维护,这将在下一节中详细讨论。总之,控制系统为自动化系统提供整体控制,同时为操作人员和维护人员提供访问功能。因此,它是系统的关键要素。系统配置尤其是软件经常是定制的,因为每个应用和客户的需求通常都是不一样的。因此,符合逻辑的设计、完整的注释和文档,让其他人能够理解如何检查系统和纠正错误,这些都是很重要的。现在许多公司将标准方法应用于软件的创建中,使得其他人以后可以更容易地理解和修改代码。