博图16 中多电机时间排序启动 SCL 功能块实现
时间排序启动电机(阀门功能块 博图程序 多电机均匀 SCL功能块博图16编写时间排序启动功能块scl语言可用于各种泵站水处理工况通过比较运行时间选择启动最短时间的几台泵启动泵的台数可以设置总泵数可以设置默认10台时间为Ms 自行更改原理一样程序精炼调用方便小程序块可以扩展更改为其他非时间排序适合工控中各种排序启动模式启停方便。 为了监视方便使用数组其他支持ST语言编程也适用用冒泡排序 本程序用于研究学习在工控领域泵站、水处理等工况中常常需要对多台电机或阀门按照一定规则排序启动。今天咱就聊聊在博图16里用SCL语言写一个时间排序启动的功能块这功能块就像个瑞士军刀改改还能适应各种排序启动模式。功能概述这个功能块能通过比较运行时间从一堆电机或阀门里选出运行时间最短的几台来启动启动的台数能自己设置总电机数默认10台时间单位是毫秒Ms 要改时间单位啥的原理不变。而且为了监视方便咱用数组来实现ST语言编程的环境也能用排序算法用冒泡排序。这程序主要就是用来研究学习的。SCL 代码实现FUNCTION TimeSortStart : VOID VAR_INPUT TotalPumps : INT : 10; // 总泵数默认10台 StartPumps : INT; // 要启动的泵数 RunTime : ARRAY[1..10] OF DINT; // 每台泵的运行时间单位Ms END_VAR VAR i, j, temp : DINT; IndexArray : ARRAY[1..10] OF INT; END_VAR BEGIN // 初始化索引数组 FOR i : 1 TO TotalPumps DO IndexArray[i] : i; END_FOR; // 冒泡排序按照运行时间对索引数组排序 FOR i : 1 TO TotalPumps - 1 DO FOR j : 1 TO TotalPumps - i DO IF RunTime[IndexArray[j]] RunTime[IndexArray[j 1]] THEN temp : IndexArray[j]; IndexArray[j] : IndexArray[j 1]; IndexArray[j 1] : temp; END_IF; END_FOR; END_FOR; // 这里就可以根据IndexArray里前StartPumps个索引去启动对应的泵啦 // 实际应用中这里应该是启动泵的逻辑比如置位对应泵的启动位 // 这里简单打印一下要启动的泵的索引示意 FOR i : 1 TO StartPumps DO // 假设这里有个输出数组用来标记要启动的泵 // StartFlag[IndexArray[i]] : TRUE; // 实际没有StartFlag数组这里只是示意以下打印代替 PRINTF(要启动的泵索引%d, IndexArray[i]); END_FOR; END_FUNCTION代码分析变量定义-TotalPumps是输入变量定义了总的泵数量默认设为10台。要是实际项目里泵多了少了改这个数就行。-StartPumps也是输入变量决定要启动几台泵。-RunTime数组用来存每台泵的运行时间这里就10个元素对应10台泵要是泵数变了数组范围也得跟着改。- 局部变量i、j用来循环计数temp用于交换数据IndexArray数组是用来存泵的索引方便后面排序操作。初始化索引数组FOR i : 1 TO TotalPumps DO IndexArray[i] : i; END_FOR;这段代码给IndexArray数组赋值每个元素的值就是对应的泵索引从1到TotalPumps这样后续排序就可以通过操作索引而不直接动RunTime数组的数据。冒泡排序FOR i : 1 TO TotalPumps - 1 DO FOR j : 1 TO TotalPumps - i DO IF RunTime[IndexArray[j]] RunTime[IndexArray[j 1]] THEN temp : IndexArray[j]; IndexArray[j] : IndexArray[j 1]; IndexArray[j 1] : temp; END_IF; END_FOR; END_FOR;冒泡排序大家应该都熟这里通过比较RunTime数组里对应索引位置的运行时间把IndexArray数组按照运行时间从小到大排序。每次比较如果前面泵的运行时间比后面的大就交换它们在IndexArray里的位置。选择并启动泵FOR i : 1 TO StartPumps DO // 假设这里有个输出数组用来标记要启动的泵 // StartFlag[IndexArray[i]] : TRUE; // 实际没有StartFlag数组这里只是示意以下打印代替 PRINTF(要启动的泵索引%d, IndexArray[i]); END_FOR;这里根据StartPumps的设定遍历IndexArray数组的前StartPumps个元素这些元素就是运行时间最短的泵的索引。实际应用中这里应该是控制启动泵的逻辑比如给对应的泵置位启动信号。这里为了演示就简单打印要启动泵的索引。时间排序启动电机(阀门功能块 博图程序 多电机均匀 SCL功能块博图16编写时间排序启动功能块scl语言可用于各种泵站水处理工况通过比较运行时间选择启动最短时间的几台泵启动泵的台数可以设置总泵数可以设置默认10台时间为Ms 自行更改原理一样程序精炼调用方便小程序块可以扩展更改为其他非时间排序适合工控中各种排序启动模式启停方便。 为了监视方便使用数组其他支持ST语言编程也适用用冒泡排序 本程序用于研究学习这个功能块代码精炼调用方便后续要是想改成其他排序启动模式比如按优先级排序修改冒泡排序部分的比较逻辑就好啦很适合在工控项目里研究学习和扩展应用。

相关新闻

Python实战日志_第31篇_多模态模型入门_CLIP与图文理解

Python实战日志_第31篇_多模态模型入门_CLIP与图文理解

Python实战日志 第31篇:多模态模型入门——CLIP与图文理解 学习目标 理解多模态学习的基本概念 掌握CLIP模型的原理和应用 实现图文检索与匹配系统 构建图书封面+简介联合理解系统 前置知识 第18篇:卷积神经网络(CNN)基础 第21篇:BERT与预训练模型 第30篇:大模型部署与推…

2026/7/7 2:49:59 阅读更多 →
vxe-table 如何实现分组列头折叠列功能

vxe-table 如何实现分组列头折叠列功能

实现 vxe-table 分组列头折叠列功能非常简单&#xff0c;只需改变列的 visible 就可以实现 https://vxetable.cn 通过修改列的 visible 属性来精确控制列的显示隐藏 <template><div><vxe-tableborderheight"400":data"tableData"><…

2026/5/17 10:42:04 阅读更多 →
在python中使用c语言

在python中使用c语言

1.前言工作以后一直做AI领域的研究&#xff0c;python在数据处理上我一直感觉很麻烦&#xff0c;尤其是一直扎根在底层上&#xff0c;对pyhton的数据架构感觉很不习惯&#xff0c;尤其是最近做一个比赛&#xff0c;就是数据清洗的项目。于是还是想把c语言的特性融入python里&am…

2026/7/7 2:41:30 阅读更多 →

最新新闻

AI视频生成技术在游戏特效制作中的应用实践

AI视频生成技术在游戏特效制作中的应用实践

&#x1f680; 30款热门AI模型一站整合&#xff0c;DeepSeek/GLM/Qwen 随心用&#xff0c;限时 5 折。 &#x1f449; 点击领海量免费额度 这次我们来看一个基于AI视频生成技术的"恐惧魔王 吞噬魔法"特效测试项目。这个项目展示了如何利用AI技术实现游戏角色特效的…

2026/7/7 2:40:13 阅读更多 →
本地AI部署实战指南:从环境配置到性能优化的完整解决方案

本地AI部署实战指南:从环境配置到性能优化的完整解决方案

&#x1f680; 30款热门AI模型一站整合&#xff0c;DeepSeek/GLM/Qwen 随心用&#xff0c;限时 5 折。 &#x1f449; 点击领海量免费额度 今天我们来聊聊一个让很多开发者头疼的问题&#xff1a;本地AI部署。虽然标题提到了"一人公司"的困境&#xff0c;但本文重…

2026/7/7 2:38:12 阅读更多 →
Claude偷改了你一行代码

Claude偷改了你一行代码

摘要&#xff1a;2026 年 6 月底&#xff0c;Reddit 开发者逆向 Claude Code 客户端&#xff0c;发现 Anthropic 用隐写术在中国用户请求里嵌入隐藏标记——读系统时区、比对 147 个加密域名、在日期字符串里替换 Unicode 字符。这段代码静默运行三个月&#xff0c;从未披露。三…

2026/7/7 2:36:12 阅读更多 →
面向AI应用的后端架构设计:协议选型、服务治理与可观测性

面向AI应用的后端架构设计:协议选型、服务治理与可观测性

引言&#xff1a;AI应用的后端挑战与传统架构的差异 在AI应用从概念验证走向生产部署的过程中&#xff0c;后端架构面临的挑战与传统互联网应用有本质差异。传统后端系统追求的是低延迟、高吞吐、确定性响应&#xff0c;而AI应用的核心瓶颈往往不在业务逻辑&#xff0c;而在于…

2026/7/7 2:36:12 阅读更多 →
[实战]Python爬取全国考研数据与可视化(附源码)

[实战]Python爬取全国考研数据与可视化(附源码)

很多考研同学都会关注院校招生人数、专业分数线等信息&#xff0c;手动整理效率极低。本篇用 Python 完成接 口爬虫 数据存储 可视化分析全流程实战&#xff0c;从考研网站抓取院校专业数据&#xff0c;再通过图表直观分析数据&#xff0c;适合爬虫、数据分析入门学习。 一、…

2026/7/7 2:36:12 阅读更多 →
ComfyUI整合包+KREA2模型:AI绘画本地部署全攻略

ComfyUI整合包+KREA2模型:AI绘画本地部署全攻略

&#x1f680; 30款热门AI模型一站整合&#xff0c;DeepSeek/GLM/Qwen 随心用&#xff0c;限时 5 折。 &#x1f449; 点击领海量免费额度 如果你正在为AI绘画的复杂环境配置而头疼&#xff0c;特别是想要体验最新的KREA2模型却苦于繁琐的安装过程&#xff0c;那么萝卜大佬的…

2026/7/7 2:34:11 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集&#xff0c;从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高&#xff1a;流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广&#xff0c;是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队&#xff0c;往往容易卡在一容易踩坑的选型难题&#xff1a; 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定&#xff0c;必须同时依赖「文本语义理解 实体关系推理」时&#xff0c;到底是做「向量图谱混合检索」就够了&#xff0c;还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools&#xff1a;5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里&#xff0c;参与了关于混合后量子密码学的讨论&#xff0c;应付端点攻击找茬的人&#xff0c;还参与留言板讨论后&#xff0c;发现“威胁模型”对多数人仍是陌生概念&#xff0c;且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”&#xff1a;我理解的渗透测试到底是什么&#xff1f;每次看到新闻里说某个大公司的数据被“黑”了&#xff0c;或者某个网站被攻击导致服务瘫痪&#xff0c;你是不是和我一样&#xff0c;心里会冒出两个念头&#xff1a;一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻