PDA

Просмотр полной версии : Управление насосами (ротация насосов)



Legayt
31.01.2024, 13:18
Приветствую!
Тема вроде часто встречающаяся и заезженная, но поискав на форуме не нашел ответов.
Описание задачи: система из двух насосов (основной и резервный), работают не постоянно, а только по запросу из блоков охлаждения (То есть подразумевается, что сигнал на включение от блоков может приходить на 10 минут раз в день-два, а может висеть постоянно в течении месяца)
Требуется:
- подсчет наработки каждого насоса с выбором на включения того у которого меньшее количество часов наработки;
- переключение между насосами через 12 часов без прерывной работы;
- автоматическое переключение по аварии одного из насосов;
из библиотеке Oscat Building использую блок с подсчетом времени работы каждого насоса и количества запусков, дальше какой то ступор, может кто то такое уже делал? проект на языке СFC

kondor3000
31.01.2024, 15:27
Для Лоджика полно макросов и программ с ротацией насосов, но переводить в Codesys 3.5, вам придётся самому. FBD в Лоджике, это практически CFC

На 2 насоса https://owen.ru/forum/showthread.php?t=25068&page=73&p=427538#post427538
На 2 (4,8,12 можно изменить) насоса с наработкой и ротацией по времени, ФБ на ST, ещё проще, текст только скопировать и чуть подправить https://owen.ru/forum/showthread.php?t=26216&page=342

In_Da_Cher_A
31.01.2024, 17:16
дальше какой то ступордальше простая булевая логика последовательности действий, информатика школьного уровня

Алгоритм можно составить множеством способов. Самые популярные: словесное описание, запись на алгоритмическом или формальном языке и создание блок-схемы.
Мы дадим словесное описание алгоритма и приведем его алгоритмическую запись. Алгоритм для простоты будет обыденным - поход в школу.
Словесное описание.
Сначала нужно проснуться, затем сделать зарядку, позавтракать, умыться. После этого нужно собрать учебники, одеться и выйти из дома.
Запись на алгоритмическом языке:
начало действий
проснуться;
сделать зарядку;
позавтракать;
умыться;
начало цикла пока НЕ все учебники собраны
найти нужный учебник;
положить учебник в сумку;
конец цикла;
одеться;
выйти из дома;
конец действий.
начните с этого. потом попробуйте нарисовать блок-схему. Потом тупо попробуйте нарисовать на бумаге, а не в КДС, такими же блоками как в КДС, свой алгоритм, от начала и до конца
учитесь. Если будете постоянно попрошайничать с протянутой рукой и надеяться скопипастить - так и будете на этом же, нулевом уровне

Legayt
31.01.2024, 18:22
Когда я создавал данную тему то отталкивался от того, что данный алгоритм разрабатывался много раз, соответственно были ошибки и их исправления, может добавляли то на что я не обратил внимание перед постановкой задачи для себя. И что бы не тратить время на изобретения велосипеда спросил совета, но сообщения о том как ставить задачу, протянутую руку и и начальный уровень это не совет, а бред. Не важно сколько людей откликнется с ответами по существу, но я после обкатки проекта на объекте поделюсь им в этой теме.

In_Da_Cher_A
31.01.2024, 18:29
И что бы не тратить время на изобретения велосипеда
не пытайтесь найти готовое, рано или поздно вы не найдёте, совпадающее с вашим полностью и окажетесь в ещё больше ступоре, когда не сможете сделать дополнение или исправление под свой набор условий

алгоритм ввода резерва/переключения по условию - это примитив. Вам и подсказали, как научиться делать примитивы, из которых и складывается "программа"
удачи

Godlike_S
31.01.2024, 19:28
У Евгения Кислова на Ютубе есть видеопример как отсортировать насосы по времени наработки. Это как раз Ваш вариант, но пример на ST и там циклы и массивы. На CFC наверное я бы такое в CodeSys и не пытался сделать… хотя в Лоджике порой приходится.

Godlike_S
31.01.2024, 19:32
И исходя из условий читается некоторое противоречие: ротация должна происходить через 12 часов, но при этом в работу включается насос с меньшим числом моточасов… Или я что-то неверно понял?

Андрей_ТМЗ
01.02.2024, 07:42
На канале CodesysOneLove на YouTube буквально час назад вышел ролик по схожему вопросу.