Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Уроки из проблем симуляции ПЛК: Практическое руководство

Это громоздкое утверждение из диссертации Роланда Шульца 2002 года очень точно подводит итог всему.

Коротко: «Попытки и тестирование помогают находить ошибки».

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

Раньше, как молодой сотрудник Phoenix Contact, я также учился программированию и был бы рад симуляции контроллера. Просто чтобы узнать больше о работе и функции блоков или программ методом «проб и ошибок». К сожалению, тогда её не существовало, а последувшая симуляция ПЛК была очень ограниченной. Код IEC 61131-3 можно было симулировать хорошо, но не хватало поддержки специальных устройств или просто различного поведения кода между системами на базе Intel, ARM или Motorola.

Уроки из проблем симуляции ПЛК: Практическое руководство

С этими мыслями и воспоминаниями о проблемах с «классической» симуляцией ПЛК мы начали поиск решения с реальной добавленной стоимостью, не создавая огромных усилий — ни в разработке симуляции, ни в последующем её использовании.

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

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

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

Не секрет, что наши контроллеры основаны на Linux. Но для разработки кода важно, что здесь также используются разные архитектуры процессоров.

В инженерном ПО, в нашем случае PLCnext Engineer, клиент должен иметь возможность выбрать между IP-адресом контроллера или симуляцией — одним кликом мыши, не беспокоясь о дальнейших адаптациях кода или совместимости бинарного кода.

Что получилось в результате?

Мы нашли системную эмуляцию QEMU и используем её для симуляции наших контроллеров. QEMU — это «open source machine emulation» и предлагает именно то, что мы искали.

«Просто» запустить прошивку в ней, и QEMU эмулирует полную Linux-систему PLCnext Technology, включая архитектуру ARM процессоров некоторых контроллеров PLCnext — и так родилась симуляция PLCnext. Признаемся, мы добавили несколько незначительных ограничений. PROFINET-коммуникация или другие протоколы коммуникации отключены. Но, например, OPC UA-сервер не затрагивается.

Тем не менее, все особенности PLCnext Technology могли быть сохранены. Так я могу также отправлять свои программы и компоненты на C/C++, C# или Matlab Simulink в симуляцию. Также приложения (APPs), которые можно найти для определенных приложений в Store, можно запустить в симуляции.

Некоторые дополнительные ограничения очевидны — детерминизм не ожидается от такой смоделированной системы. И в зависимости от загрузки моей Windows-системы может возникнуть одна или другая ошибка watchdog в симуляции PLCnext. Но в таких случаях я всегда могу дать процессу симуляции более высокий приоритет в системе Windows, и тогда ошибки watchdog быстро устраняются.

И теперь у меня наконец есть симуляция, или, возможно, в зависимости от определения, эмуляция моего контроллера. К сожалению, мне пришлось учиться программированию без неё, а теперь я уже не так много программирую.

Промышленные технологии

  1. Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов
  2. Высокоразрешающие симуляции мозга раскрывают, как инфекционные семена распространяются в нейродегенератив…
  3. Мастерство задач отображения в Verilog: эффективная отладка и логирование
  4. Оптимизация проектирования экскаватора: проверенный рабочий процесс моделирования
  5. PLC vs DCS: выбор правильной системы автоматизации
  6. Промышленные ПЛК управляют приводами переменной скорости
  7. Теорема Теллегена: полное руководство с решенными примерами и симуляциями в MATLAB
  8. Инструмент Fe³ NASA Ames: продвинутая симуляция низковысотного воздушного трафика
  9. Искреннее прощание: мой 40-летний путь в издательстве
  10. Раскройте экономичный производственный контроль с ПЛК и промышленным Ethernet в реальном времени