15个开源的工业软件

出品 | OSC开源社区(ID:oschina2013)

不同的工业流程,需要不同的工业软件。此前,我们已经介绍了面向研发设计环节的开源软件(详情查看: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

0bc735979daaef22a89486157a408046.png

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

3cff4c2d602c038c260739b4691ded23.jpeg

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

9669b7caa223a0251fc44b0224bb67af.png

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) 系统。

f98b46c88dc2e65fa5d5c3745b67ed6f.jpeg

WMS 部分连接到 ERP 系统,而运输管理系统控制现场控制器,如 Raspberry Pi 或 PLC。还考虑了系统可用性、性能和可靠性等非功能性要求。

链接:https://www.oschina.net/p/openwms-org

往期推荐

微软为Vue.js推出Power BI组件

Oracle惨不忍睹

必备利器,程序员不可错过的Shell工具


这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP开发中保证接口安全

模拟客户端请求:<?php namespace Home\Controller; use Think\Controller;class ClientController extends Controller{const TOKEN API;//模拟前台请求服务器api接口public function getDataFromServer(){//时间戳$timeStamp time();//随机字符串$randomStr $this ->…

MySQL远程访问报错解决

2019独角兽企业重金招聘Python工程师标准>>> 我之前的一篇博客讲了MySQL配置远程访问的方法&#xff0c;但是可能配置了账户以后还是不能访问&#xff0c;这可能是防火墙的原因&#xff0c;在CentOS里&#xff0c;我们修改一下防火墙设置就可以了 1. 进入防火墙配置…

jssdk.php

/*** Created by PhpStorm.* Date: 17/8/19* Time: 下午2:24*/ class JSSDK {private $appId;private $appSecret;public function __construct($appId, $appSecret) {$this->appId $appId;$this->appSecret $appSecret;}public function getSignPackage() {$jsapiTick…

GNU/Linux与开源文化的那些人和事

一、计算机的发明 世上本无路&#xff0c;走的人多了&#xff0c;就有了路。世上本无计算机&#xff0c;琢磨的人多了……没有计算机&#xff0c;一切无从谈起。 三个人对计算机的发明功不可没&#xff0c;居功至伟。阿兰图灵&#xff08;Alan Mathison Turing&#xff09;、阿…

PHP使用PHPMailer发送邮件

1. 首先下载phpmailer插件,并将插件复制到目录下 下载地址: http://download.csdn.net/download/m_nanle_xiaobudiu/10261269 2. home/view/user/mail_chck.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><…

python学习记录2

一、两个模块&#xff08;sys和os&#xff09; 1 #!/usr/bin/env python2 # _*_ coding: UTF-8 _*_3 # Author:taoke4 import sys5 print(sys.path)#打印环境变量6 print(sys.argv[0])#当前文件相对路径,sys.argv是一个列表&#xff0c;第一个元素为程序本身的相对路径&#xf…

cordova-config.xml配置应用图标

1. <icon src"res/icon/ios/browser.png"/> 2.规格&#xff1a; iphone平台一般要求3种规格的图片&#xff1a;1x、2x、3x&#xff0c;也是就Icon.png、Icon2x.png、Icon3x.png. 注意&#xff1a;iOS所有图标的圆角效果由系统生成&#xff0c;给到的图标本身不…

将 Figma 设计转换为 .NET MAUI Graphics 代码

原文链接&#xff1a;https://github.com/jsuarezruiz/figma-to-maui-graphics原文作者&#xff1a;jsuarezruiz翻译&#xff1a;沙漠尽头的狼(谷歌翻译加持)&#xff0c;翻译别扭&#xff0c;建议直接阅读原文使用FigmaSharp.Maui.Graphics将Figma设计转换为 .NET MAUI Graphi…

Android之上下文context

Context&#xff0c;中文直译为“上下文”&#xff0c;SDK中对其说明如下&#xff1a; 1、它描述的是一个应用程序环境的信息&#xff0c;即上下文。 2、该类是一个抽象(abstract class)类&#xff0c;Android提供了该抽象类的具体实现类。 3、通过它我们可以获取应用程序的资…

论坛中,无限分类的原理

1.创建数据表 CREATE TABLE category( cat_id SMALLINT unsigned not null auto_increment comment 类别id, cat_name VARCHAR(30) not null default comment 类别名称, par_id SMALLINT unsigned not null default 0 comment 类别父id, PRIMARY KEY (cat_id) )enginemyisam …

mooc- 基本程序设计方法week1,week2

学习了第一单元我们几本可以写出10行左右的代码。 week1:python编程之基本方法 1、从计算机到程序设计语言&#xff1a; 理解计算机&#xff1a;计算机是能够根据一组指令操作数据的机器。 功能性&#xff1a;可以进行数据计算 可编程性&#xff1a;根据一系列指令来执行 计算机…

Windows 11 的 2022 更新为每个人带来了新的东西

Windows 网站发布博客&#xff0c;宣布今天在 190 多个国家/地区推出 Windows 11 2022 更新。微软在过去一年中对 Windows 11 进行了非常大的改进&#xff0c;感觉每个月都有一次更新。对于之前的 Windows 11&#xff0c;相信很多人在使用过程中也遇到过或大或小的问题。而一部…

goaccess_nginx日志分析工具

在控制台分析nginx日志goaccess -f b.log生成html文件分析nginx日志vi ~/.goacce***ctime-format %Tdate-format %d/%b/%Ylog-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"各参数详解&#xff1a; man goaccess或Nginx Variable …

HTML5 Canvas 绘制六叶草

注意&#xff1a; context.arc(横坐标,纵坐标,弧半径,起始角度,终止角度,逆顺时针);这个函数挺难用&#xff0c;主要原因是最后参数和角度的关系。不管文档怎么说&#xff0c;按我的实际经验&#xff0c;逆顺时针false时&#xff0c;是逆时针旋转&#xff1b;逆顺时针true时&am…

tp框架中执行事务

function tran() {//定义事务成功失败的标志$mark true;//1. 实例化模型$model D(student);//2. 开启事务处理$model->startTrans();//3. ls减少2000$sql "update student set moneymoney-2000 where unamels";$result $model->execute($sql);//判断sql执行…

哪些听起来像段子一样的故事?

杭州海底世界&#xff0c;一个小走廊两边都是各种爬行动物展览。有两只蜥蜴当时是这个样子人还年轻&#xff0c;还比较猥琐&#xff0c;看到一个趴在另一个身上就觉得在做什么羞羞的事。于是就拍下来&#xff0c;发到群里&#xff0c;然后说了句交配中。然后一天就光拍照&#…

Event 事件 - 基础

事件驱动三要素 事件源&#xff1a;即触发事件的元素 事件&#xff1a;被JavaScript检测到的行为。例如&#xff1a; 鼠标点击 键盘按键 选输入框 事件处理函数&#xff1a;事件发生时要进行的操作&#xff0c;又叫做“事件句柄”或“事件监听器” 事件分类&#xff1a; 鼠标事…

String 与 StringBuilder 区别与用法

String用final修饰&#xff0c;实际上是不可更改的。我们平常用的“”来连接&#xff0c;实际执行过程中是将原字符串连接之后生成新的对象重新赋值给这个名字的字符串。Testpublic void myStrTest(){String s "str_s";System.out.println(s);String ss s.toUpperC…

防跳墙访问

出现场景: 1. 没有登录&#xff0c;也能访问网页 2. 没有相关权限&#xff0c;也能访问对应的控制器和方法 解决方案: 定义一个CommonController,其他控制器继承CommonController,在CommonController中定义初始化方法_initialize 注:这里用的是tp3.2框架,如果我们直接在Commo…

windows编译libevent时报告“缺少print_winsock_errors.obj”的解决

一、综述 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库。 在libevent官网(http://libevent.org)下载源码包&#xff0c;在Windows平台编译时&#xff0c;会报缺少“print_winsock_errors.obj”的错误。 二、原因及解决 经检查&#xff0c;这是因为源码包中缺少…