Можно ли писать части программы PMP20 на языке C?

Проверено экспертом Опубликовано: 10.10.2024 Обновлено: 15.02.2025 3033 просмотра Помогло 93%

Да. Основных языков у PMP20 два — список инструкций и лестничная диаграмма, они взаимно преобразуются в среде PROMPOWER PLC Studio. Вдобавок к ним поддерживаются функциональные блоки на языке C: блок пишется отдельно и вызывается из лестничной диаграммы как обычная команда.

Где это оправдано:

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

Два ограничения, о которых надо знать заранее:

  1. Расширенный режим хранения файлов. В нём блоки на языке C из контроллера не выгружаются. Если проект хранится только в контроллере, восстановить исходный текст блока будет невозможно — держите исходники у себя и передавайте их заказчику вместе с проектом.
  2. Режим приоритетных внешних прерываний. Когда подпрограмма внешнего прерывания переведена в настоящий режим прерывания системным flash-регистром, вызывать в ней функциональные блоки на языке C нельзя.

Организационное замечание: программу, в которой половина логики спрятана в блоках на C, тяжело обслуживать чужому наладчику. Разумная граница — держать в блоках вычисления, а всю логику включений и блокировок оставлять в лестничной диаграмме, где она видна в мониторе.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Можно ли писать части программы PMP20 на языке C?