Центральный процессор ПЛК

Центральный процессор ПЛК

В ПЛК лишних компонентов нет и каждый играет свою роль, но ни один из них не является более важным, чем модуль, отвечающий за выполнение логических инструкций, составляющих программируемую часть – это центральный процессор (ЦП). В статье Дэвида Петерсона, опубликованной в журнале Control Automation дается разъяснение, какие характеристики ЦП влияют на производительность и функции ПЛК.

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

Что на самом деле делает ЦП ПЛК?

Для запуска ЦП должен выполнить несколько отдельных задач, каждая из которых тесно связана со всеми остальными:

  • Связь с ПО для программирования и загрузка программы
  • Передача данных ввода-вывода через объединительную плату
  • Чтение и обновление входных регистров
  • Расчет результата каждой строки кода
  • Обновление выходных регистров

Загрузка и выполнение программы ЦП программируемого логического контроллера существенно отличается от традиционного компьютера. Для большинства ноутбуков мы называем операционной системой (Windows, MacOS или Linux) фоновую систему, которая загружает и запускает программы и предоставляет пользовательский интерфейс. Но ПЛК не устанавливает и не запускает программы, а также не предоставляет пользовательский интерфейс, к которому можно подключиться с помощью мыши и клавиатуры.

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

Модуль ЦП (в центре) предназначен для взаимодействия с блоком питания, модулями связи (слева) и модулями ввода-вывода (справа)
Модуль ЦП (в центре) предназначен для взаимодействия с блоком питания, модулями связи (слева) и модулями ввода-вывода (справа)

Для задачи проектирования кода каждый производитель создает свою собственную интегрированную среду разработки (integrated development environment – IDE), например, Rockwell Studio 5000, Siemens TIA Portal или Beckhoff TwinCAT. Каждая из этих IDE устанавливается на ноутбук или настольный компьютер, создается проект, а затем он загружается в среду выполнения на ПЛК через интерфейс Ethernet (или PROFINET, EtherCAT и т. д.) или последовательный (обычно USB) интерфейс.

В наши дни существует развитые версии ПЛК, которые объединяют среду выполнения и ОС на одном устройстве, бок о бок. Примерами служат встраиваемые ПК Beckhoff или PLCnext от Phoenix Contact. Они позволяют выполнять привычное программирование на типичных языках IEC 61131, а также позволяют устанавливать IDE и другие приложения на основе ОС на самом ПЛК.

Как ПЛК взаимодействует с устройствами ввода-вывода?

Коммуникация печатной платы обеспечивает передачу всей информации ввода/вывода между ЦП и модулями ввода/вывода. Она также может обрабатывать передачу данных на модули связи для подключения к удаленным блокам ввода/вывода.

Некоторые фиксированные вводы-выводы ПЛК также включают слоты для дополнительных модулей
Некоторые фиксированные вводы-выводы ПЛК также включают слоты для дополнительных модулей

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

Некоторые ПЛК имеют фиксированное количество встроенных входов/выходов (малые ПЛК «коробочного» типа), а некоторые из них даже допускают установку дополнительных модулей, но этим моделям по-прежнему требуется соединение данных между ЦП и точками ввода/вывода.

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

Строки кода, где каждый тег или переменная ссылается на местоположение в банке памяти, вычисляются по одной за раз, пока формируется временный выходной регистр. Как только последняя строка сканируется, этот выходной регистр отправляется в каждый выходной модуль. Поэтому выходные терминалы не обновляются в тот момент, когда строка меняется с false на true – это только выглядит так, потому что цикл сканирования ПЛК очень короткий.

Наиболее важные характеристики ЦП ПЛК

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

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

Отдельные контроллеры совмещают типичные функции ПЛК и характеристики по производительности, присущие ОС на базе Linux
Отдельные контроллеры совмещают типичные функции ПЛК и характеристики по производительности, присущие ОС на базе Linux

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

Что касается хранения программ, нам не нужно обременять себя внешним твердотельным накопителем на 500 Гб. В отличие от компьютера, который хранит изображения, видео и программы десятками, мы храним несколько строк текстового кода, как файл блокнота. Представьте себе самый большой файл .txt, который вы когда-либо видели. Несколько МБ, те так ли? Аналогично, акцент делается не на размере хранилища, а на безупречную надежность.

Обычно объем памяти для хранения программ составляет менее 1 ГБ – только самые крупные промышленные процессы могут приблизиться к этому размеру. Некоторые ПЛК допускают расширение памяти или указывают начальную стоимость моделей ЦП с большим объемом флэш-памяти, но тратить деньги на покупку большего объема, чем вам нужно, бессмысленно.

Какой процессор лучше всего подойдет для моего ПЛК?

Вот основные вещи, на которые вам нужно обратить внимание:

  • Протокол связи, совместимый с вашим ноутбуком для программирования. Если вы покупаете старый процессор с интерфейсом программирования RS-232, убедитесь, что у вас есть кабель и программное обеспечение, соответствующие ему.
  • Достаточно памяти для хранения вашей программы. Сколько вам нужно? Короткий разговор с производителем, скорее всего, прояснит этот вопрос, но если у вас небольшой процесс, то 100 МБ вероятно хватит с запасом.
  • Возможности ввода-вывода. Каждый ЦП оценивается по количеству точек ввода-вывода, которые могут быть подключены к системе. Убедитесь, что у вас их достаточно.
  • Низкое время примерного цикла для обеспечения надежности системы. Опять же, пообщайтесь с производителем, чтобы получить представление о том, сколько точек ввода-вывода и сколько инструкций вам, скорее всего, понадобится, чтобы обеспечить низкую задержку между входными данными и выходными командами.
Выбирайте с умом: даже самый мощный процессор бесполезен, если вы не можете подключиться к нужному порту и протоколу
Выбирайте с умом: даже самый мощный процессор бесполезен, если вы не можете подключиться к нужному порту и протоколу

Теперь, обладая этой информацией при обновлении системы и парка ПЛК вы будет уверены, что не потратите деньги зря.

Советуем также прочитать еще одну статью автора по этой же теме "Объяснение режимов работы центрального процессора ПЛК"

Материал подготовлен Московским заводом тепловой автоматики (МЗТА)

Начать дискуссию