fa
Feedback
Записки инженера АСУ ТП

Записки инженера АСУ ТП

رفتن به کانال در Telegram

CAD & PLC & Rock & Roll

نمایش بیشتر
321
مشترکین
+224 ساعت
+57 روز
+2630 روز
آرشیو پست ها
Всем хороших выходных.
Всем хороших выходных.

@BaD_HKey и @artemicqq в процессе выяснили что нужно спустить камеры ниже, ибо распознавание лиц некорректно работало с высот
@BaD_HKey и @artemicqq в процессе выяснили что нужно спустить камеры ниже, ибо распознавание лиц некорректно работало с высоты, и установили кронштейны, сквозь профиль которых проходит кабель. Получилось интересно!

Монтаж системы видеонаблюдения + скс Камеры dahua, сеть 6 категория, сертифицирована Fluke DTX тоже @BaD_HKey и @artemicqq
+4
Монтаж системы видеонаблюдения + скс Камеры dahua, сеть 6 категория, сертифицирована Fluke DTX тоже @BaD_HKey и @artemicqq

К слову про монтажные стяжки! А вот такую красоту мне прислали мои друзья из смежной профессии - @BaD_HKey и @artemicqq Шкаф
+4
К слову про монтажные стяжки! А вот такую красоту мне прислали мои друзья из смежной профессии - @BaD_HKey и @artemicqq Шкаф в процессе сборки.

А есть еще и такой способ монтажа…
А есть еще и такой способ монтажа…

SCo_Код (Состояние) Кто программировал контроллеры фирмы Segnetics и использовал их конструктор (их киллер-фича, имхо), тот наверняка сталкивался с кодом состояния, который отображает статус системы в данный момент (останов, жалюзи, прогрев, работа и т.д.). И вот если вам приходилось налаживать связь с внешним master-устройством, будь то HMI либо диспетчеризация, то вы наверняка задавались вопросом, а как это этот статус передать. Я вот сталкивался. Постоянно, блин, сталкиваюсь. В последнее время все чаще и чаще в комплект к шкафу с ПЛК Segnetics стали заказывать и HMI Weintek. И я очень долго крутился вокруг да около, пока не нашел решения. Weintek позволяет создавать макросы. Кажется там что-то паскалеподобное. Так вот, до использования макросов я допер уже очень давно. Но я там там такой велосипед нарисовал, что кошмар. Аж на 80 строк. Правда, работало. Но переносить его из проекта в проект было очень неудобно и сложно. Настало время оптимизаций! Вооружившись GPT(уже и не помню каким) макрос был переработан в красивое и удобно переносимое решение: macro_command main() // Объявляем переменные. short sourceWord, resultWord, i GetData(sourceWord, "MODBUS TCP/IP (Zero-based Addressing)", "SCo_Код (Состояние)", 1) //переменная из ПЛК // Цикл для прохода по всем 16 битам слова for i = 0 to 15 step 1 // Проверяем, активен ли бит if ((sourceWord >> i) & 1) then // Если бит активен, сохраняем его порядковый номер resultWord = i // Выходим из цикла, чтобы найти только первый активный бит break end if next i // Записываем порядковый номер найденного бита в регистр LW0. SetData(resultWord, "Local HMI", "Статус ПВ4", 1) //переменная, в которой будет статус end macro_command И все! Дальше дело за малым - просто взять числовой индикатор, уставить необходимое количество состояний и на каждое состояние прописать необходимый статус. #weintek #segnetics

Repost from N/a

Аккуратность важна, стяжки помогут спасибо @BaD_HKey :)
Аккуратность важна, стяжки помогут спасибо @BaD_HKey :)

вот бы с белыми касками такие

Ууу, что же это...
Ууу, что же это...

Вытащили на объект с кучей замечаний, водили от одного шкафа к другому. По итогу из нашего - только замена вышедшего из строя ПЛК. Все остальные претензии разбились о суровость монтажной организации, которая некорректно произвела подключения.

Пост про использование нейросетей в АСУ ТП вызвал живой интерес. В таком случае хотел бы показать вам код упоминаемого макрос
Пост про использование нейросетей в АСУ ТП вызвал живой интерес. В таком случае хотел бы показать вам код упоминаемого макроса управления компрессором. ИИ сам придумал названия переменных (на самом деле именно переменные я указывал в промпте, когда описывал задачу), а так же комментарии. первоначальный промпт выглядел так: напиши функциональный блок на ST управлением ККБ/ входы: уставка, температура, мин включение сек, циклов в час, задержка между запусками сек, авария. выход: ккб. авария останавливает систему полностью мин включение не дает компрессору выключиться после включения. исключение - авария. цикл в час нужен для ограничения количества включений компрессора все переменные должны быть на английском Было очень много промежуточных итераций, после каждой успешной добавлялись новые требования и в конечном счете получился вот такой код. Рабочий. В целом это интересный опыт, советую попробовать, но с осторожностью. Небольшой совет: кормите ИИ хелп от вашей среды разработки - очень сильно облегчает работу, не сразу я пришел к этой мысли. И конечно же, как справедливо заметили коллеги, нужно очень тщательно перепроверять работу того, что оно там пишет. Каждый раз. И еще раз. И когда убедились, что все работает как надо - проверьте еще раз. Ибо ИИ очень любит что-то сломать в процессе исправления какого-то бага. Никого не напоминает, а? #owen #ии

Нас 13 - чертова дюжина. Йо-хо-хо и бутылка рома! P.S. по такому случаю - на канале появились комментарии.
Нас 13 - чертова дюжина. Йо-хо-хо и бутылка рома! P.S. по такому случаю - на канале появились комментарии.

А вот к слову и сам макрос. Идея в том, что в переменную «день недели» задаешь номер дня недели (1-7), и группа из четырех пе
А вот к слову и сам макрос. Идея в том, что в переменную «день недели» задаешь номер дня недели (1-7), и группа из четырех переменных (время для включения/выключения) переключается на соответствующую на выходе. Внутри все на ST, все написала нейронка. Почти с первого раза. #owen #ии

По канону вообще должна быть синяя изолента, но в экстренной ситуации подойдет все, что есть под рукой.
По канону вообще должна быть синяя изолента, но в экстренной ситуации подойдет все, что есть под рукой.