Просмотр полной версии : Чередование ковшей
Добрый день, уважаемые коллеги.
Не могу никак дать ума одному алгоритму. У меня есть дозатор с 4-мя ковшами. На каждый ковш стоит тензодатчик, и под каждым задвижка для выгрузки сырья. Стоят 4 весовых контроллера, которые взвешивают и дают дискретный сигнал, когда они готовы.
Так вот есть 1, 2, 3, 4 ковша, мне нужно сделать приоритетность ковшей, какой первый наполнился, такой и выгрузил, например, если 4 первый, выгружаем 4, и т.д., после этого следующий какой наполнился, допустим 3-й ковш, и т.д. Загружаются ковши циклически, то есть, выгрузил, опять наполнился, выгрузил и т.д.
Sergey666
19.08.2020, 09:54
Добрый день, уважаемые коллеги.
Не могу никак дать ума одному алгоритму. У меня есть дозатор с 4-мя ковшами. На каждый ковш стоит тензодатчик, и под каждым задвижка для выгрузки сырья. Стоят 4 весовых контроллера, которые взвешивают и дают дискретный сигнал, когда они готовы.
Так вот есть 1, 2, 3, 4 ковша, мне нужно сделать приоритетность ковшей, какой первый наполнился, такой и выгрузил, например, если 4 первый, выгружаем 4, и т.д., после этого следующий какой наполнился, допустим 3-й ковш, и т.д. Загружаются ковши циклически, то есть, выгрузил, опять наполнился, выгрузил и т.д.
А через логику ИЛИ нельзя просто?
А через логику ИЛИ нельзя просто?
Не понял, а как через ИЛИ? Как эта логика поможет мне в выборе ковша, который первым наполнился? Мне нужно чтобы по концевику открылся именно ОДИН ковш, и с заданным приоритетом. Чтобы по очереди открывались, а не все вместе.
Это нужно допустим, если один сломался, остальные три работали и т.д.
Это игра КТО ПЕРВЫЙ , только там два игрока ,а у вас 4 ;) Делайте стек - типа очередь Первый пришел -первый ушел
Алексеев
19.08.2020, 11:19
Если честно ,Я вообще не вижу здесь необходимость в очереди . Загрузился, все процессы ( разгрузка ) по остальным останавливаются на некоторое время . Разгрузился и опять ,
кто первый наполнился тот и разгружается . Не совсем понятно в очереди . Или Вы предполагаете ,что только один будет разгружаться и загружаться .
Но тогда после разгрузки , прекратите контроль заполнения на некоторое время по этому разгруженному ковшу ( и по остальным аналогично ). И они сами (остальные) встанут в очередь на разгрузку.
Времена все эти подбираются .
Вы запятые ставьте пожалуйста ,а то смысл не понятен - КАЗНИТЬ НЕЛЬЗЯ ПОМИЛОВАТЬ
Sergey666
19.08.2020, 11:57
Не понял, а как через ИЛИ? Как эта логика поможет мне в выборе ковша, который первым наполнился? Мне нужно чтобы по концевику открылся именно ОДИН ковш, и с заданным приоритетом. Чтобы по очереди открывались, а не все вместе.
Это нужно допустим, если один сломался, остальные три работали и т.д.
Ну у вас 4 дозатора с дискретным сигналом "Типа Доза набрана" судя по вашему же сообщению.
Ну и вот набрал- выгрузил, а строб выгрузки - закрыты разгрузочные затворы у всех.
Какой-такой приоритет не понятно, там в дозировании столько нюансов, запаришься приоритеты придумывать...
Сергей0308
19.08.2020, 12:43
Вот, ещё 2 года назад предлагал: https://owen.ru/forum/showthread.php?t=25068&page=34
50701
Я так понимаю, все хотят что-то своё придумать?!
Боюсь это проблематично, макрос довольно сложный и этот вариант я уже усовершенствовал: расширил в 4 раза по количеству входов-выходов и ускорил до 32 раз, по количеству необходимых циклов программы для включения следующего в очереди выхода, автору это ненужно, как говорится: и так сойдёт, поэтому не самый лучший вариант выложил!
Просто если сигналы придут со всех 4 весовых дозаторов, как понять какой надо первым открывать, они же меняются в случайном порядке эти сигналы.
Просто если сигналы придут со всех 4 весовых дозаторов, как понять какой надо первым открывать, они же меняются в случайном порядке эти сигналы.
А кто скажет ,что выгрузка закончена из данного ковша и можно следующий выгружать ,если есть ???
Алексеев
19.08.2020, 16:30
Скорей всего это все по фиксированному времени + 100% запас на гарантированную выгрузку .
Сергей0308
19.08.2020, 19:51
Просто если сигналы придут со всех 4 весовых дозаторов, как понять какой надо первым открывать, они же меняются в случайном порядке эти сигналы.
Здесь не надо понимать, надо не мешать работе автоматики, короче, на какой ковш первым придёт сигнал готовности, тот и откроется при подаче команды разрешения разгрузки и ровки прав надо иметь сигнал окончания разгрузки(аварии) по которому снимается сигнал со соответствующего ковшу входа и эстафета разгрузки переходит к следующему ковшу и как я понимаю Вам ещё нужно создать сигнал разрешения разгрузки, который разрешает открытие клапанов разгрузки всех 4-х ковшей, всё не просто, а очень просто, а ваш вопрос непонятен, такое впечатление, что Вы передумали так делать как ранее хотели!
Здесь множество вариантов, глаза разбегаются в разные стороны, как один из них можно так:
50714
Или так:
50715
С большими перспективами развития(возможностью расширения до 32 ковшей)!
А очередь 321 это какой-то готовый блок? или это макрос собственного производства?
Сергей0308
20.08.2020, 16:02
А очередь 321 это какой-то готовый блок? или это макрос собственного производства?
Это мой макрос, есть по ссылке, что я дал! Все макросы, что на картинке(или их составные части есть по ссылке), при желании можете программу повторить, но Вам и макроса, что в проекте который выложил, хватает с 2-х кратным избытком(очередь из 8-и), достаточно сформировать команду разрешения разгрузки, мне не очень удобно бежать впереди паровоза, как бы Вы должны лучше знать что вам нужно, а то я всё предположениями занимаюсь!
50838
50839
Сергей0308
31.08.2020, 05:15
А очередь 321 это какой-то готовый блок? или это макрос собственного производства?
Чего молчите, не похвалитесь, сделали или нет, вот и преведущие варианты выкладываю!
50840
50841
И такое впечатление складывается(моё личное мнение), как будто Вы в первый раз в жизни столкнулись с автоматикой и на форум зашли!
Вот, ещё в виде макроса сделал набор из четырёх SR-триггеров без единого ФБ(существуют ограничения по количеству в ОЛ) с возможностью расширения до 32 включительно:
50842
Входы триггеров(S и R) работают по фронту входного импульса, на какой последним пришёл фронт импульса, в таком состоянии и будет находится триггер, если фронт импульса приходит одновременно на оба входа, приоритет у входа "S", то есть выход триггера(здесь, соответствующий ему бит) будет в состоянии "1". Соответствующий каждому триггеру бит(0-31) настраивается(назначается) в свойствах макроса!
50843
Вот, всего из 3-х макросов состряпал:
50864
50865
Добрый день, спасибо большое за помощь, я сделал на макросе из очереди в 8 ковшей, просто установив 4 сигнала и давая разрешение на все ковши, у меня всё записано, жду только заказчика, чтобы обработать на реальном объекте всё.
Не я не в первый раз работаю с автоматикой, просто я не сразу сообразил, что к чему.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot