- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Помощь с тестовым проектом
Модератор: Глоб.модераторы
-
- read only
- Сообщения: 4
- Зарегистрирован: 03 ноя 2023, 16:01
- Имя: Евгений
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Помощь с тестовым проектом
Добрый день, форумчане. Устроился на работу инженером в области автоматизации систем управления технологическими процессами (АСУ ТП). Недавно закончил университет и решил работать по специальности, есть небольшой опыт работы с верхним уровнем умных зданий. Диплом был связан с программированием и управлением мехатронной линией Siemens, поэтому имею некоторое представление о профессии. Компания, в которой я работаю, в основном занимается нефтегазовой промышленностью, следовательно, использует рсу (от компании SUPCON). Я изучил их систему, просмотрел различные кривые вебинары, переведенные с китайского языка, и начал работать над проектом. Проект заключается в модернизации эстакады и программировании устройств, предотвращающих перелив в цистернах. Вначале я сделал расчет с учетом 20% резервирования и добавил все необходимые модули для системы управления и автоматизации (САУ) в проекте. После этой части работы я обратился к старшим коллегам и спросил, что делать дальше. Несколько человек дали мне примерно одинаковый ответ: "Займитесь разработкой логики и напишите свои блоки для управления клапанами." Грубо говоря, я не совсем понял, и объяснения у коллег были не слишком ясными. Также литературы по этой теме я не нашел, за исключением одной более-менее приемлемой книги Ю.Н. Федорова, но она охватывает вопросы в общих чертах. Я хотел бы узнать, есть ли какой-то нормальный метод или алгоритм для создания подобных систем. Существует ли какая-либо литература, которая подробно объясняет все этапы этого процесса?
-
- read only
- Сообщения: 4
- Зарегистрирован: 03 ноя 2023, 16:01
- Имя: Евгений
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Помощь с тестовым проектом
Алгоритм работы такой:
1)Подать световой и звуковой сигнал на АРМ оператора при L=Lном. в цистерне от датчиков LT40X1,LT40X2, где X - номер комплекса налива.
2)Подать световой и звуковой сигнал на АРМ оператора, закрыть клапан-отсекатель UV60X1 или клапан-отсекатель UV60X2 при L = Lmax в цистерне от датчика LT40X2, где X - номер комплекса налива.
3)Подать световой и звуковой сигнал на АРМ оператора, закрыть клапан-отсекатель UV60X1 или клапан-отсекатель UV60X2, или клапан-отсекатель UV60X3 при L = Lmax в цистерне от датчика LT40X4, где X - номер комплекса налива.
4)Запрет на открытие клапан-отсекателей UV60X4, UV60X5 при неподключенном заземлении цистерны ZS80X1, где X - номер комплекса налива.
5)Запрет на открытие клапан-отсекателей UV60X1, UV60X2, UV60X3 при неподключенном заземлении цистерны ZS80X2, где X - номер комплекса налива.
6)При 50%НКПР останов налива. Закрытие клапан-отсекателей UV60X1, UV60X2, (UV60X1, UV60X2, UV60X3) где X - номер комплекса налива.
1)Подать световой и звуковой сигнал на АРМ оператора при L=Lном. в цистерне от датчиков LT40X1,LT40X2, где X - номер комплекса налива.
2)Подать световой и звуковой сигнал на АРМ оператора, закрыть клапан-отсекатель UV60X1 или клапан-отсекатель UV60X2 при L = Lmax в цистерне от датчика LT40X2, где X - номер комплекса налива.
3)Подать световой и звуковой сигнал на АРМ оператора, закрыть клапан-отсекатель UV60X1 или клапан-отсекатель UV60X2, или клапан-отсекатель UV60X3 при L = Lmax в цистерне от датчика LT40X4, где X - номер комплекса налива.
4)Запрет на открытие клапан-отсекателей UV60X4, UV60X5 при неподключенном заземлении цистерны ZS80X1, где X - номер комплекса налива.
5)Запрет на открытие клапан-отсекателей UV60X1, UV60X2, UV60X3 при неподключенном заземлении цистерны ZS80X2, где X - номер комплекса налива.
6)При 50%НКПР останов налива. Закрытие клапан-отсекателей UV60X1, UV60X2, (UV60X1, UV60X2, UV60X3) где X - номер комплекса налива.
-
- здесь недавно
- Сообщения: 84
- Зарегистрирован: 02 авг 2010, 11:30
- Имя: Сергей Сергеевич
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Помощь с тестовым проектом
Начать стоит, как и подсказали коллеги, с написания функциональных блоков обработки сигналов однотипного оборудования:
- для дискретных датчиков (и в общем случае для всех входных дискретных сигналов)
- для аналоговых датчиков (если они есть в проекте)
- для клапанов
- для других однотипных исполнительных устройств (насосы, насосные станции, регуляторы и т.д.), если они конечно есть в проекте.
Смысл в том, чтобы описать логику работы однократно, а потом для каждого устройства обрабатывать свой экземпляр функционального блока.
Например для клапана опишите (как пример, нужно смотреть что за клапан и как реализована схема управления):
1.Набор входных переменных
- сигналы исправности, готовности оборудования (наличие питания, сигнал неисправность от клапана и т.д.)
- сигналы от концевиков
- команды от кнопок местного управления (если есть)
- команды от кнопок дистанционного управления на ШУ (если есть)
- команды от АРМ оператора
- команды автоматического управления
2. Набор выходных переменных
- сигнал на открытие клапана
- сигнал на закрытие клапана
3. Статусы привязанные к логике обработки клапана:
- ошибка открытия/ закрытия
- открыт
- закрыт
- режим работы (местный/ деист/ автомат)
- и т.д.
Нужно написать блок так, что бы он корректно работал для вашей задачи. Например,:
- имел приоритеты автоматическое, дистанционное, местное управление.
- выдавал на АРМ оператора и/или на сигнальные лампы (если они есть ) свои статусы
- выдавал конманды откырть/ закрыть в соответствии с приоритетом входной команды
- и т.д.
- для дискретных датчиков (и в общем случае для всех входных дискретных сигналов)
- для аналоговых датчиков (если они есть в проекте)
- для клапанов
- для других однотипных исполнительных устройств (насосы, насосные станции, регуляторы и т.д.), если они конечно есть в проекте.
Смысл в том, чтобы описать логику работы однократно, а потом для каждого устройства обрабатывать свой экземпляр функционального блока.
Например для клапана опишите (как пример, нужно смотреть что за клапан и как реализована схема управления):
1.Набор входных переменных
- сигналы исправности, готовности оборудования (наличие питания, сигнал неисправность от клапана и т.д.)
- сигналы от концевиков
- команды от кнопок местного управления (если есть)
- команды от кнопок дистанционного управления на ШУ (если есть)
- команды от АРМ оператора
- команды автоматического управления
2. Набор выходных переменных
- сигнал на открытие клапана
- сигнал на закрытие клапана
3. Статусы привязанные к логике обработки клапана:
- ошибка открытия/ закрытия
- открыт
- закрыт
- режим работы (местный/ деист/ автомат)
- и т.д.
Нужно написать блок так, что бы он корректно работал для вашей задачи. Например,:
- имел приоритеты автоматическое, дистанционное, местное управление.
- выдавал на АРМ оператора и/или на сигнальные лампы (если они есть ) свои статусы
- выдавал конманды откырть/ закрыть в соответствии с приоритетом входной команды
- и т.д.
-
- эксперт
- Сообщения: 1735
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 78 раз
- Поблагодарили: 235 раз
Помощь с тестовым проектом
В библиотеке Торнадо - штук 6 различных вариантов модулей. Они у них них называются от IM0 - до IM6. (IM - это исполнительный механизм). Самый простой, IM0 - это электромагнитный клапан - который управляется 1 сигналом, сигнал есть - открыт, сигнала нет - закрыт. IM6 - это позиционер, который открывается (0-100%) в зависимости от управляющего сигнала (0 - 100%). Он самый навороченный, так как предполагается что он работает в связке с ПИД регулятором.
Можно начать работать по такой же схеме - для начала реализовать простейший вариант (типа IM0), а потом и к более сложным механизмом перейти.
Польза такого подхода - в том, что вокруг клапана наворачивается много различных сервисных функций (местное управление, удаленное, автоматическое). статусных вещей (открыт, закрыт, блокировка, выведен в ремонт...) который по большей частью пересекается, и далее усложнение алгоритмов (IM1, IM2 ...) делается уже на существующей сервисной базе.
Впрочем это просто мое мнение.....
Можно начать работать по такой же схеме - для начала реализовать простейший вариант (типа IM0), а потом и к более сложным механизмом перейти.
Польза такого подхода - в том, что вокруг клапана наворачивается много различных сервисных функций (местное управление, удаленное, автоматическое). статусных вещей (открыт, закрыт, блокировка, выведен в ремонт...) который по большей частью пересекается, и далее усложнение алгоритмов (IM1, IM2 ...) делается уже на существующей сервисной базе.
Впрочем это просто мое мнение.....
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Помощь с тестовым проектом
все же есть у вас)
Просто вы неправильно читаете этот алгоритм:
Вы читаете условие и что должно произойти и таких условий несколько, думаю это вас и путает.
Разбейте ваш алгоритм на отдельные исполнительные механизмы (клапаны) и опишите условия при которых будет срабатывать запрет на открытие.
Например, uv1 закроется при l1max или l3max и т.д. И так для каждого клапана
-
- администратор
- Сообщения: 18749
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1852 раза
Помощь с тестовым проектом
Всё верно.megavolt86 писал(а): ↑06 ноя 2023, 11:09 все же есть у вас)
Просто вы неправильно читаете этот алгоритм:
Работа по алгоритмизации должна начинаться с формализации алгоритма. Есть такое понятие. То есть с представления этого алгоритма в каком-либо формальном виде: конечный автомат, блок-схема или тому подобное. На этапе формализации снимается две трети вопросов, остальные конкретизируются и после этого решаются. Иначе мрак.
Как говорит наш уважаемый коллега: "Начав в потёмках, закончишь во тьме". Так что начинать надо сразу как положено.
По вопросам работы Форума можно обратиться по этим контактам.
-
- read only
- Сообщения: 4
- Зарегистрирован: 03 ноя 2023, 16:01
- Имя: Евгений
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Помощь с тестовым проектом
Есть ли литература по проектированию подобных систем? Есть ли какие-либо примеры? С моим пониманием задачи, всё кажется очень грустно. Понятно, что для решения задачи нужно провести её декомпозицию, и я думаю, что для этого не обязательно быть специалистом.
-
- освоился
- Сообщения: 200
- Зарегистрирован: 18 сен 2021, 18:07
- Имя: Владимир
- Страна: Беларусь
- Благодарил (а): 12 раз
- Поблагодарили: 34 раза
Помощь с тестовым проектом
Интересно стало аж - уже целую поэму развели, а человек еще ничего не понял .Тыкните у кого есть ссылка на мануал, я вот нашел только китайскую версию - судя по картинкам - ничего сложного нет, обычный LAD . Мануал
-
- администратор
- Сообщения: 18749
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1852 раза
Помощь с тестовым проектом
Слово "декомпозиция" умное, но тут никчемное. Понимаете его смысл?
Специалистами не рождаются. Ими становятся. Но тут нет серединки: либо Вы специалист, либо дилетант. Решайте сами что устроит.
Навалом. Причём их великое множество разных. Если у Вас задача чисто логическая (на то и похоже) - вот лично мой пример: https://disk.yandex.ru/i/T16XuLJ377BCZw
Под свою установку, полагаю, сможете адаптировать.
А метод описан тут: viewtopic.php?p=132704#p132704
Человек докторскую на этом защитил.
По вопросам работы Форума можно обратиться по этим контактам.
-
- read only
- Сообщения: 4
- Зарегистрирован: 03 ноя 2023, 16:01
- Имя: Евгений
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Помощь с тестовым проектом
Ладно, не буду вас больше донимать, лишний раз сотрясать воздух своими тривиальными вопросами, больше ответов, больше вопросов и каши в моем "дилетантском котелке". Такого токсичного и надменного отношения к новым участникам ещё не видел, разрыв поколений просто сильнейший, я про Фому, а мне про Ерёму.
-
- освоился
- Сообщения: 200
- Зарегистрирован: 18 сен 2021, 18:07
- Имя: Владимир
- Страна: Беларусь
- Благодарил (а): 12 раз
- Поблагодарили: 34 раза
Помощь с тестовым проектом
consider, главная беда всех новичков - неумение задавать вопросы . Вот что я вижу в первом посте : вскользь упоминается контроллер SUPCON - я например о нем не знал до сих пор, потом идет непонятное рассуждение об разработках, методах и алгоритмах. Нам программу для PLC нужно написать, или курсовую по теории автоматизации и оптимизации ? Значит надо начинать с мануалов по конкретному оборудованию : что стоит, какой язык программирования, какая среда программирования . После этого уже и надо задавать вопросы. Там работы , судя по второму посту на 5 минут , при условии что знаком со средой программирования .Вот я не поленился, обратился к гуглу и он мне сказал, что есть такая софтина, как SUPCON AdvanTrolPro, но это же не факт, какое оборудование я не знаю. Контроллеров на свете полно, у каждого свой софт, свои нюансы, хотя очень многие программируются так называемым языком лестничной диаграммы (Ladder) . Чтобы вам помогли, надо для начала хоть что-то знать , а потом уже спрашивать.
-
- администратор
- Сообщения: 18749
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1852 раза
Помощь с тестовым проектом
Это ещё не беда. Беда - это отсутствие стремления что-то изучить. "Давайте сделаем, а разберусь я потом" - нет, так не пойдёт.
Как-то так.
Чтобы сделать, придется сначала разобраться и стать специалистом, другого пути на этом форуме не предложат. "Сделайте за меня" - это тоже не про этот форум.
Читать сюда: viewtopic.php?t=18755
По вопросам работы Форума можно обратиться по этим контактам.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Помощь с тестовым проектом
А вы наверное думали что все кинутся вам писать программу под вашу задачу? Еще и драться будем между собой, чтобы вы взяли программу победителя?
Вам направление решения задачи дали, хоть чтото вы попробовали сделать? На бумаге хотябы накидали бы логическую схему...но нет вы видимо ждете готового решения.
Вот почемуто последнее время много спэцов тут пишут про какуюто задачу и обижаются на то, что сходу им ее не решили.
Одно и тоже
-
- администратор
- Сообщения: 18749
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1852 раза
Помощь с тестовым проектом
Анекдот: Перевожу на русский. Подробные разъяснения Сергей, petr2off, megavolt86, zromz, и немножко моих (а у меня ещё материалы есть) за здорово живёшь - это теперь называется "токсичное отношение?" Ну-ну...
Слово - не воробей. Мужик сказал - мужик сделал.
Да не, ничего не меняется, картина плюс-минус стабильна уже много лет. Тут за 20 лет уже столько всего написано, что находится просто поиском, многие ищут, и спрашивать порой не надо, поэтому пишут меньше и пишут те, кто не нашёл либо не воспользовался поиском.megavolt86 писал(а): ↑07 ноя 2023, 18:14последнее время много спэцов тут пишут про какуюто задачу и обижаются на то, что сходу им ее не решили.
По вопросам работы Форума можно обратиться по этим контактам.