Версия для печати

Функциональные блоки: Siemens vs Allen-Bradley

Дата: 2012-11-19

Добавлено: komatic

Тема: Allen-Bradley





s7vsAB





Вольный перевод статьи, сравнивающей возможности использования функциональных блоков в контроллерах Siemens и Allen-Bradley

Автор статьи - Nick Shea
Ссылка на оригинал






1

Siemens и Rockwell Automation два гиганта соревнующихся сегодня в сфере промышленной автоматизации. Rockwell (aka Allen-Bradley) похоже более популярна на американском рынке, но у Siemens больше международных заказчиков. В Google можно найти множественные дебаты о том какая система лучше.



Для программирования контроллеров фирмы используют:
Siemens - Step 7 Simatic Manager для S7-300 и 400 уровня PLC
Allen-Bradley (AB) - RSLogix 5000 для Control Logix и Compact Logix PLC

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





Что такое функциональный блок?


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

В AB RSLogix 5000 версии 16 и выше, повторно используемые функциональные блоки называются Add-On Instructions (AOI) и могут быть определены с интерфейсными параметрами и локальными переменными. Эти возможности были добавлены начиная с 2007, это часто легко упускается из виду.

Стоит отметить, что обе платформы придерживаться IEC-61131-3 стандарта, который означает, что функциональные блоки имеются в наличии и могут быть написаны на любом из стандартных языков.





Обвязка функционального блока



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



В AB: параметры должны указываться независимо от вызова функционального блока. Если экземпляр функционального блока вызывается в LAD, входные параметры могут быть только указаны если они константы. Переменные должны быть соединены к входам в в предыдущем коде. Выходы должны быть привязаны в последующем за вызовом блока коде. Если блок вызывается в FBD (function block diagram), тогда переменные могут быть указаны напрямую в месте вызова.




s7vsAB

Недостатки: Большое число пересылок в LAD при обвязке блока. При вызове в FBD есть ограничения на определение экземпляра (смотри ниже) и простая булевская логика более сложна, потому что вы используете FBD блоки вместо контактов и выходов LAD.



В Siemens: Параметры привязываются напрямую и в LAD и в FBD Функциональный блок который вызывается в обоих случаях выглядит одинаково. Дискретные параметры блока могут быть сформированы как результат логических операций. Выходы функционального блока могут быть назначены к переменным в том же месте где находится вызов блока. Обратите внимание, что входа функционального блока и выходные параметры, могут быть также доступны символически из других мест в программе (как и в AB примере выше). Но Siemens имеет дополнительное преимущество - непосредственное назначение входов и выходов блоке в точке вызова.




s7vsAB

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





Декларирование экземпляра функционального блока



В AB: Ограничено программным файлом переменных. При использовании FBD, не может быть изменено в UDT Экземпляры AOI в основном декларируются в “Program Tags” в программной папке. Даже для очень модульных программ, все функциональные блоки перечисляются в этом общем месте. Экземпляры могут быть задекларированы и в UDT (user-defined types), но не в том случае если вы хотите использовать их в FBD.




s7vsAB

Достоинства: Простота. Одно расположение для поиска в каждой программной папке.





В Siemens: Память выделяется в экземплярных блоках данных, декларация происходит в месте вызова в родительском блоке.



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




s7vsAB

Достоинства: Мобильность. Экземпляры указываются внутри функционального блока в котором вызываются.





Итог



В итоге, Siemens похоже предлагает немного бОльшую гибкость и в обвязке функциональных блоков и в размещении экземплярных данных. Мы видим однако, что оба и Allen Bradley и Siemens предлагают решения для повторно используемых блоков для своих топовых PLC. Оба - функциональные блоки в Siemens и Add-On Instructions в Allen Bradley позволяют повысить модульность и пригодность к отладке ваших PLC программ.





Просмотров: 10722

Комментарии к материалу

Добавлен: Александр    Дата: 2021-05-20

Всё верно. Спасибо за перевод и авторам

Добавлен: Александр    Дата: 2021-05-20

Спасибо komatic

Добавить комментарий

Ваше имя:

Текст комментария (4000 max):

Введите сумму с картинки: