3

我目前正在从事一个在物联网环境中实时监控、控制和优化系统 (SCADA) 的项目。数据的获取和资产的控制将通过 REST api 和来自 IoT 平台(Cumulocity 或 Predix,尚不确定)的通知来完成,该平台本身从传感器收集测量值并将操作发送到设备。

然后,服务器应用程序将控制系统状态、设置警报并做出优化决策(例如设备规划)。

为了测试系统的行为、对决策的响应并找到一个好的优化解决方案,我还计划对系统进行模拟(甚至可能是实时测量的模拟)。

最后,将向用户提供 Angular JS 中的 HMI,供他输入用户输入数据,跟踪系统/警报的当前状态及其历史记录,并通知做出的决定。

我不确定所需的计算量,但模拟可能会很繁重,优化解决方案也可能有点繁重。

公司通常会用 C 来实现这样的应用程序,也可以用 Python 来完成(还需要快速开发),但我正在考虑用 Node.js 来做。我找到了一个用于离散事件模拟的 JS 库Sim.js,但我不知道这是否可以处理复杂的系统模拟。

简而言之,你有什么理由不使用 Node.js 吗?是否已经完成了类似的事情,例如在物联网监控中?

非常感谢你的帮助,

莱维尔

4

2 回答 2

1

是的,Node.js 是一个出色的 SCADA 快速框架。

是否已经完成了类似的事情,例如在物联网监控中?

是的!

a) 在商业上,node.js 用于myScada - 成熟的 SCADA 系统!

b) 您可能还想查看 GitHub 上 node.js 的 SCADA/HMI 节点模块的源代码:https ://github.com/vytronics/vytronics.hmi

c) 或示例 HMI SCADA 项目https://github.com/vytronics/vytronics.project - 来自 Raspberry Pi 的多平台支持!

于 2016-06-03T19:28:14.353 回答
0

你的问题有点笼统,但我会尽力提供帮助。我想你在问几件事:

  1. node.js 是一个可行的开发/扩展平台吗
  2. sim.js 是创建模拟的可行框架吗?是否有替代方案

最终,您将需要决定什么对您的项目很重要。

对于第一个问题,生产系统中使用 node.js 的例子很多。它的性能如何可能是有争议的并且是特定于用例的,所以我只会向您推荐相关的问题: 如何决定何时使用 Node.js?

对于第二个问题,您可能会在 sim.js 之类的框架中寻找一些东西,包括

a) 正在进行多少积极的开发

可以在源码中查找最后提交日期(5年前): github上的source

b) 社区提供了多少支持

可以在社区找讨论(历年5个话题): google group

c) 许可证是否适用于您的应用程序

根据simjs.com ,许可证是 LGPL,它可能对您有用,也可能不适用: lgpl 是否允许我这样做

根据您决定使用的平台,您可以使用或适应您的需求的替代模拟数据源。例如,Predix machinedata-simulator,但可能还有很多其他的。

希望那些对你有帮助。

于 2016-05-12T03:41:15.777 回答