node.js - MongoDb 用于收集生产数据

标签 node.js mongodb plc real-time-data

我面临着一种我以前从未尝试过解决的新问题。所以我希望有比我更有知识的人提供一些正确方向的指示:-)

一位 friend 请我帮他设计一个生产线的控制系统。这个项目听起来真的很有趣,我无法停止思考它。

我已经发现我可以使用 Node.js 服务器来控制系统。到目前为止一切顺利(HTML5 界面来了)!但我真正希望这个系统脱颖而出的是系统指标的集合。系统会报告各种情况,例如温度、流量等,并且这些指标每秒每个指标报告数百次......并且全天候(24/7)运行。

我的想法是将其保存在 MongoDb 数据库中,并对此进行一些实时统计。如果你愿意的话,“竞争”似乎将其保存在 SQL Server 数据库中,并允许运算符(operator)将聚合数据导出到 Excel,并在 Excel 中进行统计。

使用 MongoDb 进行实时统计的策略是什么?

我真的很想根据这些指标提供即时反馈和监控。例如过去 24 小时的平均温度、峰值等,还可以启用警报。服务器上不会进行太多高级统计。如果需要,我会将数据导出到 SPSS 等程序。

MongoDb 适合吗?我喜欢使用 Linux 机器,而不是带有 SQL Server 和 WinForms 控制界面的 Windows 机器。仅许可费就足以让我望而却步,尽管我知道购买机器的人可能并非如此。

这不会放置在云端,而是放置在网络上的单个服务器上。在正在操作的机器旁边,我将放置一个触摸界面,该界面将通过浏览器联系 node.js 服务器以调用 PLC 命令。可以有多台机器需要控制,并且它们都将由同一个中央 Node.js 服务器控制。

机器由 http://beckhoff.com/ 的 PLC Controller 控制。 .

就 MongoDb 而言,我并不是一个完全的新手,但我从未将我所做的任何东西投入生产,而且我不会将 MongoDb 放在我的简历中......还没有!

编辑:看来 $inc 运算符是正确的选择。但是,如果我既不需要每日平均值和每小时平均值,也不需要使用 socket.io 每秒更新屏幕上的图表数据的连续源,该怎么办?为我需要的每个聚合更新文档是一个好主意。我确实也想保存每个测量值,但也许我可以每秒聚合一次,这样我就不会为每个指标每秒存储最多 1000 条记录?

最佳答案

关于node.js - MongoDb 用于收集生产数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17754234/

相关文章:

node.js - node.js 中函数调用后 API 的响应范围

node.js - 在本地 - Nginx 容器上的 React 应用程序,具有 Node Express 容器的代理

node.js - 使用 Nodemailer 从 Zohomail 发送邮件时出现连接超时错误

mongodb - TCP连接管理

java - 数据插入时如何重命名Spring-mongodb中的字段名称?

node.js - 使用 Node.js Scraper 从自动下载链接下载 PDF

javascript - 将日期字符串转换为带时区的 ISO 日期

java - 从 Android 向 PLC 发送一个 boolean 值

algorithm - 计算圆周运动中的角度变化

arduino - 西门子PLC与Arduino串口通信