Как один маленький функциональный блок влияет на обслуживание промышленного оборудования

Стандартизация программного обеспечения в России пока остается недостаточно развитой. Интеграторы, разрабатывающие системы автоматизации, зачастую не задумываются о последствиях для обслуживания оборудования. В результате программное обеспечение может негативно сказываться на работе инженеров, усложнять диагностику неисправностей, модернизацию и другие процессы, связанные с эксплуатацией оборудования.

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

Простые решения — большие изменения

Речь идет о двух простейших блоках программного обеспечения, которые играют ключевую роль в работе ПЛК (программируемых логических контроллеров). Первый блок копирует состояние входов в определенную область памяти контроллера, будь то маркеры или блоки данных. Этот блок должен вызываться в начале цикла программы. Второй блок, напротив, выводит данные из памяти на выходы контроллера и вызывается в конце цикла.

Чтобы упростить понимание, далее мы сосредоточимся только на первом блоке, так как их логика идентична.

Различные варианты работы с входами ПЛК

Рассмотрим несколько способов организации работы с входами ПЛК на примере контроллеров Siemens. Однако предложенные решения могут быть применимы к ПЛК любого производителя.

  1. Классическое присваивание входов маркерам.

    Пример для ПЛК Siemens:

    I10.1  
    =M 10.1
  2. Прямое использование адресов входов в нужных местах программы.

  3. Использование косвенной адресации для копирования данных из входов в блок данных.

  4. Применение косвенной адресации во всей программе, что исключает отображение адресов в cross-reference.

Практический пример

Представим ситуацию: в модуле входов ПЛК сгорел один вход, а замены на складе нет. Наиболее очевидным решением будет перемонтаж провода на другой вход и изменение адреса в программе. Однако реализация этого решения напрямую зависит от способа, которым входы обрабатываются в ПЛК.

Преимущества стандартизации

Использование первого варианта, который подразумевает систематическое копирование данных входов в определенные области памяти, несет ряд значительных преимуществ.

  1. Быстрая диагностика и поиск неисправностей. Благодаря структурированной записи входов и выходов по секциям с комментариями инженеры смогут оперативно находить нужные сигналы без необходимости обращаться к электрическим схемам.

  2. Упрощение пуско-наладочных работ. Стандартизированные блоки оказываются отличным инструментом для проверки входов и выходов во время I/O-чека.

  3. Быстрая замена неисправных датчиков. В системах с дублированием сигналов при поломке датчика можно быстро перенаправить сигнал на исправный датчик, обеспечив минимальный простой линии. Основной ремонт можно отложить на более удобное время, например, на плановый останов.

  4. Повышение безопасности эксплуатации. Стандартизация блоков помогает минимизировать человеческие ошибки при ремонте и модернизации, снижая риск неправильных действий инженеров.

  5. Ускорение модернизации. Структурированная работа с входами и выходами позволяет быстро адаптировать программу под новые задачи или оборудование без переписывания значительных частей кода.

  6. Повышение квалификации инженеров. Инженеры, работающие с четко организованным и стандартизированным кодом, быстрее осваивают систему, что повышает их эффективность и ускоряет процесс работы.

Заключение

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

Стандартизация программного обеспечения становится важным инструментом в развитии компаний-интеграторов, позволяя им не только сократить время на ремонт, но и повысить качество обслуживания оборудования. В условиях растущей конкуренции на рынке автоматизации такие меры становятся важным элементом успешного и устойчивого роста.

@ePGfree
15.09.2024 10:15 UTC
Первоисточник

Комментарии

@Yukr
15.09.2024 06:32 UTC
+3

Замена сгоревшего выхода решается программным путём заранее. Нужно сделать свободно определяемое назначение выходов (и входов тоже), и всё - система возвращается в работоспособное состояние без вмешательства в ПО, минимально грамотным местным техником.

вот пример на LD и ST

@ePGfree
15.09.2024 18:02 UTC
0

При таком варианте сложно сопоставлять схему и программу. Можно так все наменять, что потом придется долго разбираться. А это все время ремонта, а в случае который я описал можно вписать комментарий причины замены. Так же этот метод не поможет если в оборудовании стоит два дублирующих датчика (например с двух сторон какой нибудь двигающейся балки) и один из них вышел из строя сделать работу только от одного датчика запараллелить сигналы. И поиск можно начинать непосредственно из этой функции.

15.09.2024 19:44 UTC
0

не нужно ничего сопоставлять. программа остаётся той же, сигнал датчика присвоится той же переменной, просто по другому каналу. принцип мультиплексора. нужно только некоторый запас по входам.

15.09.2024 23:07 UTC
0

В смысле запас по входам? Вы же не предлагаете делать 3 резерва на каждый модуль?

16.09.2024 03:13 UTC
0

Обычно входы/выходы и так остаются свободные. Модули делают их (дискретные) по 8/16. Программа не часто содержит ровно кратное число каналов. Аналоговые и счетчики бывают по 2/4. Тут можно и добавить.

Сколько заложить резерва - решается стоимостью простоя оборудования.

@Scaeurgus
15.09.2024 17:21 UTC
0

Как часто у вас на практике горел только один вход на целом модуле? Я всегда думал что подобное может случится только на относительно современных (младше 20 лет) если на вход 24в подать 220в.

@Moog_Prodigy
15.09.2024 17:36 UTC
0

Такое случается. И да, туда может прилететь много всякой бяки, и 220в и иголка, и даже киловольты. Развязка - понятно, что она есть, но вот до нее может выгореть входная цепь. Такое часто встречал не на дискретных входах, а на аналоговых, где термопары и шунты, в идеале бегают милливольты. Кирдык приходит именно аналоговой части, потому как микровольты не развяжешь в большинстве случаев. Времени разбираться зачастую тоже нет, переназначаешь на другой канал, если он есть - и погнали. Если каналов не осталось, в ход могут пойти внешние модули расширения. И вот тут надо пересматривать всю программу, переправляя адреса, которые часто захардкожены.

15.09.2024 19:48 UTC
0

клиенты палили транзисторные входы, подавая туда 220в. особо "талантливые" люди умеют устраивать короткое замыкание, передавливая кабели.

@akcount
19.09.2024 03:38 UTC
0

Почему во втором случае придется менять адрес "дохлого" канала во всей программе? Открываешь таблицу символов, находишь нужный, меняешь его адрес, грузишь в ПЛК.

@Scaeurgus
23.09.2024 00:34 UTC
0

Это если используешь TIA Portal. В случае с:

  • Siemens Step7 - начинаешь отрывать все FC и FB, для автоматического обновления адреса. Если же символьное программирование выключено правиш адрес ручками.

  • Rockwell Studio 5000 - таблицы символов нет. Если поставил вход алиасом адрес правится только перагрузкой ПЛК. Если используешь сразу адрес начинаешь обход программы по крос-референсу.

  • CodeSYS - таблицы символов нет. Если используешь сразу адрес начинаешь обход программы по крос-референсу.

И это я сейчас самие продвинутые и удобные описал, без учета разных Шнайдеров, Хонивелов, Омронов с Мицубиси.

23.09.2024 11:54 UTC
0

Для информации - пример, который в моём первом ответе на картинке сделан на Delta Electronics. PLC AS300N. Таблица символов тоже есть, но сделал переназначение, чтобы не лазить в прогу лишний раз, да ещё если заказчик находится во Владивостоке, например.

@akcount
19.09.2024 03:40 UTC
0

И никакая это не стардартизация, это применяемые в прикладном ПО приемы кодирования.

@ePGfree
25.09.2024 05:03 UTC
0

Расскажите это подрядчикам =) Если от них ничего не требовать то вы такое можете получить, что потом очень долго их вспоминать будете. А если разработать внутренний стандарт и требовать от них его соблюдения то получите то что надо. И конечно это маленькая часть стандарта.