15 个开源的工业软件
出品|开源中国
文|肖滢
不同的工业流程,需要不同的工业软件。此前,我们已经介绍了面向研发设计环节的开源软件(详情查看:20 个开源的 工业设计软件),今天就来介绍一下面向生产控制环节的开源软件,主要为可编程逻辑控制器(PLC)、分布式控制系统(DCS)、生产执行系统(MES)、仓库管理系统(WMS)。
先从最靠近硬件端的 PLC 开始吧。
一、PLC 及 DCS
1、openPLC
OpenPLC 是一个功能齐全的标准化开源 PLC,无论是软件还是硬件,其诞生之初的重点是为自动化和研究提供低成本的工业解决方案,现广泛用于工业网络安全研究的框架。
openPLC 由三部分组成:运行时、编辑器和 HMI 构建器 。运行时负责执行 PLC 程序,编辑器用于创建 PLC 程序。使用 HMI 构建器—— ScadaBR,可以创建漂亮的基于 Web 的动画,以呈现运行后的流程状态。ScadaBR 通过 Modbus/TCP 与 OpenPLC Runtime 通信。
OpenPLC 项目根据 IEC 61131-3 标准创建,该标准定义了 PLC 的基本软件架构和编程语言,主要用于工业和家庭自动化、物联网和 SCADA(监控和数据采集)研究。
链接:https://www.oschina.net/p/openplc
2、Beremiz
Beremiz 是一个用于机械自动化的 PLC 集成开发环境(IDE),符合 IEC61131-3 编程语言标准,可将任何处理器变成 PLC。Beremiz 还包含用于创建 HMI 并将 PLC 程序连接到现有的监控、数据库或现场总线的工具。
Beremiz 由两部分组成:
集成开发环境(IDE),Beremiz.py。它运行在用户的计算机上,使用 C 代码作为中间语言,用于编写、编译、调试 PLC 程序和控制 PLC 运行时。
引用 python 运行时实现,Beremiz_service.py,它在目标平台上运行,与 I/O 通信并执行 PLC 程序。
运行时的实现在不同平台上可能不同。例如使用 Cortex-M 的 PLC 很可能具有基于 C 的运行时。而 Beremiz 项目默认包含 Python 运行时的参考实现,可以在 GNU/Linux、Windows 和 Mac OS X 上轻松运行。
链接:https://www.oschina.net/p/beremiz
3、ProviewR
ProviewR 是一个过程控制系统,采用 GPL 许可,包含顺序控制、调整、数据采集、通信、监控等常用功能,支持图形 PLC 编辑器和高级编程语言(如 C、C++、Java 或 Fortran)。
ProviewR 是一个软 PLC。使用标准硬件和软 PLC 的最大优势在于,系统规模、属性和性能主要受主机操作系统及其硬件的限制,对 I/O、PID 回路、PLC 程序、计数器的数量没有限制。PLC 回路的最小循环时间小于 1 毫秒。
ProviewR 是一个分布式系统,可以由多台计算机通过网络连接组成,一个典型的 ProviewR系统由一个过程控制系统和一个或多个操作站组成,每个操作站可配置成多个控制系统的 HMI 系统。ProviewR 可以通过以太网(ip)和串行机制与其他计算机进行通信,支持多种不同的协议,例如通过以太网的 UDP 或 TCP 套接字和串行链路上的 Siemens 3964R。
Proview 中最常用的 I/O 系统是 Profibus/DP,还支持 Profinet、Ethernet Powerlink、Modbus TCP 和 RTU、PSS9000、1-wire、一些 USB I/O 卡等 I/O 系统。
ProviewR 能够以面向对象的方式工作,可以使用简单的功能块和简单的信号以传统方式进行编程,它支持创建复杂对象和相关函数对象,同时支持面向对象的概念,例如继承、方法和聚合。
链接:https://www.oschina.net/p/proviewr
4、Tango Controls
Tango Controls 是一个用于构建高性能分布式控制系统的软件工具包,包含用于监控和数据采集 ( SCADA ) 和 DCS 的开源解决方案。
Tango Controls 是一个面向对象的分布式控制系统,它的设计基于称为设备的分布式对象的概念,在 Tango 中,所有对象都代表着设备,对象(设备)可以在同一台计算机上,也可以分布在网络上。
TANGO 对象(设备)之间的通信可以是同步的、异步的或事件驱动,对象模型支持方法和属性。TANGO 提供了一个 API,它隐藏了网络访问的所有细节,并提供了对对象的浏览、发现和安全处理等功能。
Tango Controls 系统库在 LGPL 许可下发布,图形工具和部分设备服务器在 GPL 许可下发布。
链接:https://www.oschina.net/p/tango-controls
5、Apache PLC4X
Apache PLC4X 是一个工业物联网通用协议适配器,一个用于集成 PLC 的库。
PLC 大多采用大量不兼容的协议进行通信,因此和外界(IT/互联网)的交互变得很困难,PLC4X 项目致力于提供一组统一的 API,通过这些 API 实现能与大多数 PLC 进行通信的驱动程序(通过各种 PLC 的原生通信协议)。
链接:https://www.oschina.net/p/apache-plc4x
二、MES
1、章鱼师兄
章鱼师兄(原名黑科)是一个国产的生产制造执行系统,基于 springBoot 开发,使用 AGPL-3.0 许可发布。
链接:https://www.oschina.net/p/mes-springboot
2、qcadoo MES
qcadoo MES 是一款针对中小企业的基于 Web 的生产管理应用,结合了大型 ERP 系统的功能,适应中小企业的特点,其开源版本基于 AGPL 许可发布。
链接:https://www.oschina.net/p/qcadoo-mes
3、IMES
IMES 是一个为中小型 JobShop 制造商设计的软件,基于 Apache-2.0 许可发布。不过有些可惜的是,自 2019 年起该项目就没有更新记录了,作者表示受新冠疫情影响,暂停了开发计划。
链接:https://www.oschina.net/p/imes
三、WMS
1、GreaterWMS
GreaterWMS 是一个国产软件,遵循 Apache License 2.0 协议,前后端分离,且完全开源,API 使用 restful 协议,方便二次开发,前端代码使用 quasar 进行构建,后端使用 Python Django3.1,利用 API,可以支持多仓、波次发货、合并拣货,Milk-Run 等业务模型。
链接:https://www.oschina.net/p/greaterwms
2、KopSoftWms
KopSoftWms 是一个国产软件,基于 .Net Core 2.2 开发,支持 MySQL 和 SQL Server 数据库,功能模块丰富,使用 MIT 许可发布。该作者还发布了标签(条码)打印软件、制造执行系统、数据采集与监控及电子看板等项目,在 README.md 文件中均有介绍。
链接:https://www.oschina.net/p/kopsoftwms
3、SmoWMS
SmoWMS 是一个国产软件。已开源的代码为 C# ,是通过 Smobiler 平台开发的基于 .NET 的开源移动应用,包含了仓库、订单、主数据维护、图表分析、个人信息几大菜单功能。
链接:https://www.oschina.net/p/smowms
4、deer-wms
deer-wms 是一个国产的立体仓库管理系统,使用 GPL-3.0 许可发布,基于自动化输送线、机械臂、点数机、提升机、堆垛机等自动化设备和现代化仓储精益管理思想开发而来。 通过对接工厂的 EBS(ERP 中一种)、MES、deer-wcs(设备调度系统)等系统接口,实现仓储上下游的数据打通,也是实现完全自动化的基础。
链接:https://www.oschina.net/p/deer-wms
5、openboxes
openboxes 是一个库存和供应链管理系统,旨在管理医疗机构的库存和跟踪库存变动。该系统通过采用 FEFO(先过期先出)策略来减少浪费,采用 Eclipse 公共许可证发布。现有功能包括库存跟踪、批次和到期跟踪、库存移动和装运跟踪、采购订单、库存申请和履行,以及内置和可定制的报告。
链接:https://www.oschina.net/p/openboxes
6、myWMS LOS
myWMS LOS 是用于人工操作仓库的软件,用户界面简单。通过定义外部系统通信接口和可互换模块的内部接口,即所谓的插件,myWMS LOS 可以创建模块化和开放式仓库管理系统,独立于硬件和操作系统,与不同制造商的产品和模块兼容,比如叉车和条形码扫描仪等。
myWMS LOS 基于开源框架 myWMS 发展而来,使用 GPL 许可发布,支持 JEE 规范,并以面向服务的架构 (SOA) 的形式提供基本的物流服务。
链接:https://www.oschina.net/p/mywms-los
7、OpenWMS.org
OpenWMS.org 是一个用于构建现代仓库管理系统的软件项目,使用 Apache-2.0 许可证分发,由仓库管理部分 (WMS)、传输管理 (TMS) 和其他系统的连接器组成,带有用于自动和手动仓库的物料流控制 (MFC) 系统。
WMS 部分连接到 ERP系统,而运输管理系统控制现场控制器,如 Raspberry Pi 或 PLC。还考虑了系统可用性、性能和可靠性等非功能性要求。
链接:https://www.oschina.net/p/openwms-org
本篇权且抛砖引玉,如果你知道其他好用的开源工业软件,请在评论区告诉我呀。
开源软PLC,符合IEC61131-3,支持linux,集成多种总线,Beremiz
在当今日益发展的工业自动化领域,PLC(可编程逻辑控制器)作为核心控制单元,扮演着举足轻重的角色。然而,如何高效、便捷地开发、调试和管理PLC程序,一直是工程师们关注的焦点。Beremiz,作为一款专为机械自动化设计的PLC集成开发环境(IDE),以其强大的功能和便捷的操作,为工程师们提供了全新的解决方案。
Beremiz的最大特点在于其强大的兼容性和灵活性。它符合IEC61131-3编程语言标准,这意味着无论是哪种型号的PLC,只要符合这一标准,都可以通过Beremiz进行开发和管理。这一特性极大地拓宽了Beremiz的应用范围,使得它能够适应各种不同的自动化需求。
除了兼容性强之外,Beremiz的另一个亮点在于其完善的功能模块。作为一个完整的PLC集成开发环境,Beremiz不仅提供了基本的编写、编译、调试PLC程序的功能,还包含了一系列用于创建HMI(人机界面)和连接PLC程序到现有监控、数据库或现场总线的工具。这些工具使得工程师们能够在一个统一的平台上完成从PLC程序开发到系统集成的全过程,大大提高了工作效率。
Beremiz的核心部分是集成开发环境(IDE),即Beremiz.py。这个环境运行在用户的计算机上,使用C代码作为中间语言。工程师们可以使用熟悉的文本编辑器或集成开发环境来编写PLC程序,然后通过Beremiz.py进行编译和调试。编译后的程序可以直接下载到PLC中运行,也可以通过仿真器进行模拟测试。这种开发方式不仅降低了开发难度,还提高了程序的可靠性和稳定性。
在PLC程序运行时,Beremiz还提供了丰富的监控和调试工具。工程师们可以通过这些工具实时查看PLC的运行状态、变量值、输入输出信号等信息,从而及时发现和解决问题。此外,Beremiz还支持远程监控和调试功能,使得工程师们可以随时随地对PLC进行管理和维护。
Beremiz作为一款功能强大、操作便捷的PLC集成开发环境,为机械自动化领域的发展注入了新的活力。它不仅提高了工程师们的工作效率,还降低了开发成本和维护难度。随着工业自动化的不断深入发展,相信Beremiz将会在未来发挥更加重要的作用。
交流技术,薇(EtherCAT18)
相关问答
在国产化背景下,利用软Plc,采用100%国产化硬件+开源plc编程软件是否有发展前景?
当然可以,其实只要稳定性能和同等产品没有差距,甚至更强。客户就会接受你的产品!当然可以,其实只要稳定性能和同等产品没有差距,甚至更强。客户就会接受你...
世界前十的开源操作系统?
1、AndoridThingsAndoridThings是谷歌推出的物联网操作系统,是“Brillo”操作系统的更新版本,作为Andorid系统的一个分支版本,类似于可穿戴和智能手表.....
******************-OSCHINA-中文开源技术交流社区
补充,我不了解plc,只是知道有这种硬件,大概什么价格,和mcu比哪个更有性价比...你那句话我的理解是以前用硬件做控制,现在可以直接用软件。。。如果是因为p...
下载下来的三菱PLC的编程软件是压缩文件解压后肿么用?-ZOL问答
3:点击里面的SETUP.exe文件。安装编程软件.安装过程中会让你输入安装的序列号...三菱PLC编程软件在迅雷上就有8.52最近正在搞这个开源项目的跨平台编译,这...
TIOBE榜单-OSCHINA-中文开源技术交流社区
德国最大的港口城市汉堡(Hamburg)正在考虑在计算机上采用开源软件,以减少对付费产品的依赖,并成为所谓的“数字主权的典范城市”。此次宣布的新项目TrueNAS...
【学习软件java和云计算哪个比较好】?
感谢邀请!首先说明一点,java和云计算没有可比性。Java是一种编程语言,而云计算只是一种理念,并不是具体的技术。云计算比较复杂。可以使用很多开源系统实现...
ZCU106评估套件-OSCHINA-中文开源技术交流社区
从硬件参数到软件使用全方位细致讲解,与技术专家面对面学习讨论机会难得,不容错...支持4KP60的H.264/H.265视频编解码器和16nmFinFET+可编程逻辑。评估套...
如何开发c语言这样的编程语言?
这就很困难了吧,你不仅了解系统底层,而且深熟各种原始系统编码,二进制等,可能现有的机器编码做不到,你要无种中生有的做出更精、更强、更安全的编码,可以是...
Accessviolation'问题-OSCHINA-中文开源技术交流社区
我这边有个程序用C#写的里面有段代码是调用DLL程序控制PLC的api,但是这...开源最初的目的是为了抵制大企业对知识的垄断,而不是让个人变有钱,这是抗争的...
第三方OPC与S7-1500可以直接通讯吗?
有个开源的通讯协议叫HSL,可以直接与S7系列PLC进行通讯,我们公司现在就用这玩意儿,通讯非常方便,可以去了解下。当然也可以用OPCServer这类的第三方OPC工具...