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

Болезненные воспоминания о симуляциях ПЛК

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

Вкратце:«Попытки и тестирование помогают найти ошибки».

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

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

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

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

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

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

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

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

Что вышло из этих мыслей?

Мы нашли эмулятор системы QEMU и используем его для имитации наших контроллеров. QEMU — это эмуляция машины с открытым исходным кодом. и предлагает именно то, что мы искали.

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

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

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

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


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

  1. Компьютерное моделирование электрических цепей
  2. Компьютерное моделирование нейродегенеративных заболеваний
  3. Задачи отображения Verilog
  4. Рабочий процесс моделирования экскаватора - вопросы и ответы
  5. ПЛК против РСУ
  6. ПЛК для приводов в промышленности
  7. Теорема Теллегена — Решенные примеры и моделирование MATLAB
  8. Инструмент моделирования воздушного движения
  9. Спасибо за воспоминания!
  10. ПЛК в помощь