OSHMI是一种基于现代开源HTML5的HMI,它是为变电站自动化而从头开始构思的,但它可以用于任何其他自动化领域,如工业生产、楼宇系统、物联网等。
本人将逐步介绍OSHMI的安装、点表和协议的配置、图形创建、脚本编写等。
它指导思想是通过集成现成的开源技术,如Nginx、PHP、Lua、SQLite、Chromium、Inkscape等,使系统的开发和使用尽可能简单。web技术也是优先考虑:SVG、Javascript、JSON、HTTP、OData、D3JS、Vega等。通过所用到的开源技术的不断更新,这为OSHMI提供了同步升级的方法,并且它在所有这些技术之上保持了更进一步的开发。此外,使用开源技术可以方便地与其他系统和工具集成。
OSHMI是完全模块化,并能以不同方式灵活配置使用。系统由三个模块组成,可以根据需要分别运行或集成运行:
- 协议驱动程序
- 实时web服务器
- 客户端用户界面
OSHMI模块化的架构
例如,对于本地变电站,可以使用一台集成了所有三个模块的PC机。对于控制中心,可以使用2台冗余服务器,运行协议驱动模块和实时web服务器模块,以及只包含用户界面模块的很多客户端。还可以将协议驱动程序部署在设备所在地方、实时web服务器部署在云上、而客户端界面运行在移动设备(电话、平板电脑等)上。考虑到服务器和客户机设备的成本和性能、安全需求、带宽和通信通道特性、操作位置等,通过配置和组合这些模块,可以设计许多用例。
单机部署架构
控制中心部署架构
对于物联网场景,如果需要的话,可以使用协议转换器来转接所有需要的协议,并将所有系统托管在云上,以便从任何地方都可以安全地访问。
使用Nginx HTTP服务器可以通过HTTPS、用户身份验证和客户端证书,很容易地保护客户端/服务器通信安全。其他web服务器(如Apache)可以定制。如果需要,实时web服务器模块也可以部署在Linux操作系统上。
数据库基于SQLite,但它可以和脚本配合将历史数据转存到MySQL, MS SQL Server, PostgreSQL, InfluxDB或其他SGBD等更健壮的数据库(容量超过20 gb),这样可以适应有很多客户端同时访问数据 (超过10)。
简而言之,OSHMI系统有极大的灵活性和可定制性。开源特性、web标准的使用和一些可用的子系统,允许几乎任何类型的定制。这些定制对于很多应用场景都是必要的,同时可以将成本降到最低。
英文网址:https://oshmiopensubstationhmi.sourceforge.io/
源码网址:https://sourceforge.net/projects/oshmiopensubstationhmi/
有志于WebScada学习和开发的朋友,可联系 QQ号:9167326,QQ群:867962452