施耐德UNITY中使用ST 语言计算日均值

以前做过练习,在unity中计算分钟均值和小时均值,做成自定义功能块。今天在家打算按照同样的思路,试着做一下日均值。

第一次打算建立一个三维数组PV_DAY[0..23,0..59,0..59],每秒存放一个数据,编译的时候提示数组太大。

第二次尝试建立24个数组,每个数组存放一个小时内3600个检测值,最终编译的时候提示PLC保存数据内存满,我的这个练习还没有做其他的检测控制功能,说明这样的频率存放数据,计算均值能把CPU弄死机。

最终转变思路,不要1秒采集一个数据,把数据存储频率弄低一点,经过多次尝试,6秒采集一次比较合适。

新建一个导出的功能块类型PV_AVG_DAY,配置内部变量和程序段如下:

 

AVG_DAY程序段ST编程方式,脚本如下:

Minute1:=BCD_TO_INT(%SW51);
HOUR:=DIV(Minute1,100);
Minute:=mod_int(Minute1,100);
Second1:=BCD_TO_INT(%SW50);
Second:=div(second1,100);
Cur_Minute:=Minute;
Cur_Second:=Second;
SUM:=0.0;
i:=mod(second,6);
if i=0 then
PV_HOUR[HOUR,Minute,Second]:=PV;
end_if;

for i:=0 to 59 do
for j:=1 to 30 do
sum:=sum+PV_HOUR[hour,I,J];
END_FOR;
END_FOR;

AVG_DAY:=SUM/14400.0;

 

Alarm为FBD编程方式

这样就完成了日均值计算的自定义功能块,6秒左右采集一次数据。

 

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

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

相关文章

【转载】rpm 和 yum 软件包的应用

本节所讲内容:8.1 使用rpm命令-安装-查看-卸载-rpm软件包8.2 yum管理软件包8.3 CentOS8中使用DNF管理软件包8.4 实战tar源码包管理-源码包安装方法8.1 软件包的管理软件包的类型rpm二进制包------》已经使用GCC编译后的(二进制已经可以被操作系统直接执行了)tar源码包-----》…

[Redis] Redis (5) 多核多线程架构

序 引言Redis 作为一款高性能的内存数据库,以其简单的设计和单线程模型(潜台词:单核单线程)广受欢迎。 然而,随着用户需求和数据规模的增长,单线程的架构逐渐成为 Redis 性能的瓶颈。 近年来,Redis 开始引入部分多线程机制,以提高并发性能,特别是在处理网络 I/O 和数据持…

Python并行计算与高性能计算7迎接并行计算革命

在本章中,我们将介绍我们在前几章中看到的并行编程的实际方面。随着并行计算概念的扩展,它不仅包括并行编程及其相关方面,还包括能够管理并专门设计的基础设施。超级计算机通常被定义为由许多 CPU 和 GPU 组成的高性能系统,其中应用了并行计算和高性能计算 (HPC) 方法。本章…

人脸识别和神经风格转换

人脸识别和神经风格转换 人脸识别人脸验证(Verification):验证输入图像是否属于某个特定身份,属于一对一问题。 人脸识别(Recognition):一对多问题,从大量数据中找到匹配的人脸。 在很多人脸识别应用中,系统需要通过单一样本识别某人,而非多个样本,这就属于 One-shot Le…

dubbo 2.7.2 启动报错【Unsupported generic type false】排查

💖1.问题现象 dubbo服务启动时抛出异常Unsupported generic type false,但不影响服务正常发布。 Caused by: java.lang.IllegalArgumentException: Unsupported generic type false📖2. 版本信息 SpringBoot 2.1.3 + Dubbo 2.7.2 👉3. 问题根因 项目中使用了Spring Boot…

[Redis] Redis (5) 多核多线程模型

序 引言Redis 作为一款高性能的内存数据库,以其简单的设计和单线程模型(潜台词:单核单线程)广受欢迎。 然而,随着用户需求和数据规模的增长,单线程的架构逐渐成为 Redis 性能的瓶颈。 近年来,Redis 开始引入部分多线程机制,以提高并发性能,特别是在处理网络 I/O 和数据持…

案例分享-依赖传递引发的健康检查失败问题

背景 网关服务已成功发布,然而新创建的Pod却始终未能成功启动。在Pod的事件(Event)中,明确显示健康检查失败。但令人困惑的是,仔细查看启动日志,却未发现任何异常情况,具体情况如下图所示。 排查 既然当前问题表现为健康检查失败,那就有必要深入排查究竟是哪些关键部…

微信小程序逆向 ... 未完待续

解包 打开这个文件夹下图中,wxid_21arhynucfka22表示了不同微信号的id。打开的小程序缓存会被放入Applet文件夹中,比如图中wx31a9c726536cdacc 就是我之前打开过的 微信小程序下载的缓存。同时,在wechat目录下也存在所有账号公用的小程序缓存,公用的Applet文件夹,我们可以…

SourceMap的简单理解

什么是 SourceMap? Source Map 是一种映射文件,它可以将压缩、混淆后的代码还原回其原始的源代码。 (这种映射关系,可以准确地将编译后的代码映射回源代码。[自己理解就行]) 从而方便开发人员进行调试、错误日志收集和性能优化等工作。 它是一个以 .map 为后缀的文件。 为什么…

LamentXU 2024-2025年终总结

LamentXU 2024-2025年终总结下雪了。对于一个南方人来说,北方的雪声和爆竹味意味着年。键盘声在今天格外柔和,我终于还是开始写这篇文字了。最初我创建这个博客的原因就是想记录一下自己学习成长的足迹。而这一年的经历确实很丰富,我打算学着各个大佬的样子写个总结。整理一…

Linux 中grep命令 -F 选项使关键字按照原始字符串进行搜索

001、[root@localhost test]# ls a.txt [root@localhost test]# cat a.txt ## 测试数据 j003_mappingrate.txt KRA6 97.79% wild_mappingrate.txt KR.6 98.53% j004_mappingrate.txt KRG6 97.58% [root@localhost test]# grep "KR.6&quo…

你知道AI无法通过阅读一本好书获得灵感,对吧?

你知道AI无法通过阅读一本好书获得灵感,对吧? 人类写故事的方式和AI生成文本的方式是天差地别,完全无法相提并论。男孩与怪物的水彩画插图,授权自Deposit Photos有人曾这样问我:如果他们读了托尔金的所有书,然后写了一本关于精灵和霍比特人的书,这算盗窃吗?我笑了。 不…