不仅用于Arduino的信号监控和记录系统

大家好 另一种尝试是使用正常系统显示数据值图。

我介绍了我的开发-“ SVisual”软件-在线监控信号并将存档写入磁盘。 您不仅可以使用arduino,还可以观看/记录任何信号。

直接播种机


大约7年前,当他仍从事自动化工作时,这个想法就开始出现。 力量都在高层发展中出现。

该项目已有一年多了。 一切都是沿时间和时间的方式编写的,首先是一个整体-一台服务器,只能查看,然后是一个存档,一个监视器……于是我来到了arduinki。

我本来想从这笔业务中赚一分钱,但是促销根本不是一个话题,而拿什么也不是一件可耻的事情就遥不可及了。 因此,我决定为opensrc做出贡献,至少可以有所收获。

部分跨平台软件-Windows和Linux(CentOS)。 一切都用C ++编写,可视化用Qt编写。 俄语界面和手册。 我开始翻译成英语,是的...

SVisual系统包括三个部分:

  • SVMonitor-用于在线查看和记录档案的图形应用程序;
  • SVViewer-用于查看记录存档的图形应用程序;
  • SVClient是用于发送数据的用户库。 对于arduino素描。

简要描述各种可能性。

SVMonitor的功能:


-通过COM端口(arduino的usb),通过以太网或Wi-Fi的TCP协议连接到MK;
-以100 Hz的频率实时调查信号值(向下为100 Hz-最大,默认为10 Hz),由用户选择设备和信号的数量;
-允许记录的信号数量为2048,模块的数量为8(如果超过该数量,则不会发生任何事情,只会发出警告,并提供储备);
-在监视器屏幕上实时输出所选信号的值;
-将信号存档记录在PC硬盘驱动器上;
-使用可选的SVViewer软件查看存档;
-能够设置有关事件的警报(触发器),在触发触发器时启动用户进程;
-添加仅用于客户端查看/记录的信号,不需要其他移动。

软件架构




原则上,我认为这里一切都清楚。 我会说几句话。

客户端将数据传输到监视器,监视器将传输到数据处理服务器(SVServer.dll)。 服务器从事缓冲,写入磁盘,处理触发器-用户标签。 内部的一切都是异步的。

数据每10分钟到达磁盘一次,并使用zlib压缩。 归档文件以小时为单位接收,默认为2小时文件。

数据处理服务器可以独立于监视器使用,例如,纯粹用作记录存档的服务。

Arduino的例子



#include <SVClient.h> void setup() { bool ok = svisual::connectOfCOM("test"); } int cnt = 0; void loop() { svisual::addIntValue("dfv", cnt); ++cnt; if (cnt > 10) cnt = 0; bool odd_cnt = cnt % 2; svisual::addBoolValue("bFW", odd_cnt ); svisual::addBoolValue("bBW", !odd_cnt ); delay(200); } 


结果,您将看到:



该软件是MIT许可免费分发的。

谢谢啦

Source: https://habr.com/ru/post/zh-CN413331/


All Articles