В этой статье мы обсудим еще один способ связи между двумя ПЛК, независимо от того, находятся ли они в одном проекте или в двух разных проектах ПЛК. В этой статье мы поговорим о команде PUT в Siemens ПЛК, которую можно использовать для отправки или помещения данных из одного ПЛК во второй ПЛК.
Что такое команда PUT?
В общем, команда PUT — это встроенный функциональный блок TIA Portal FB, который используется исключительно для ЦП семейства S7 для помещения данных из локального ПЛК в удаленный партнерский ПЛК.
При использовании команды PUT у меня будет два ПЛК, где мне нужно будет отправить данные из одного ПЛК, называемого локальным, в другой ПЛК, называемый партнерским.
Необходимо выполнить некоторые настройки для партнерского ПЛК, чтобы обеспечить к нему доступ для другого ПЛК. В дополнение к соединению Profinet между ПЛК.
Мы создадим пример проекта, чтобы показать, как использовать команду PUT.
Команда PUT в ПЛК Siemens
Предположим пример проекта, в котором у нас есть два ПЛК в одном проекте, ПЛК_1, который будет действовать как локальный ПЛК, и ПЛК_2, который является партнерским ПЛК.
Мы хотим записать целое число из локального в партнерский ПЛК.
Пример проекта ПЛК
Сначала создадим новый проект и добавим два ПЛК. Смотрите рисунок 1.
рисунок 1. Добавьте локальный и партнерский ПЛК.
Теперь мне нужно настроить ПЛК_2, который будет получать данные, чтобы иметь возможность получать эти данные. А ПЛК_1 будет использоваться с командой PUT.
Первое, что мне нужно сделать, это разрешить доступ команды PUT к ПЛК_2, который будет получать данные. Смотрите рисунок 2.
рисунок 2. Разрешить доступ к команде PUT.
Как вы видите на рисунке, мы разрешаем команде PUT доступ к ПЛК_2 из свойств ПЛК_2, в опции «Защита и безопасность» нажмите на
«Разрешить доступ с помощью связи PUT/GET от удаленного партнера»
Теперь мне разрешено помещать данные от любого удаленного партнера в ПЛК_2 с помощью команды PUT.
Второй шаг — подготовить пространство или память в ПЛК_2 для данных, которые будут помещены в него. Предположим, что мы хотим поместить целочисленное значение в этот ПЛК, поэтому я подготовлю память в соответствии с этим. См. рисунок 3.
рисунок 3. Подготовка области для приема данных.
И это все; это вся конфигурация, которую вам нужно подготовить со стороны ПЛК_2, чтобы иметь возможность получать данные с помощью команды PUT.
Далее мы настраиваем данные, отправляемые с ПЛК_1. Мы создадим блок данных для хранения данных, отправляемых в ПЛК_2, и внутри этого блока данных мы определим целочисленный тег для PUT в ПЛК_2. Смотрите рисунок 4.
рисунок 4. Создайте блок данных для хранения отправленных данных.
Мы определили целочисленный тег «SendMeToПЛК_2», который мы хотим отправить в ПЛК_2. Смотрите рисунок 5.
рисунок 5. Определите данные для отправки.
Обратите внимание, что для ПЛК_1 нам не нужно разрешать доступ с опцией команды PUT. Мы активируем эту функцию в ПЛК, который будет получать данные, а не в ПЛК, который будет их отправлять.
Теперь давайте используем команду PUT в нашем программировании, в главном OB1 мы перетащим команду PUT FB. См. рисунок 6.
рисунок 6. Добавьте команду PUT в OB1.
Обратите внимание, что команда PUT находится в папке связи S7, так как это эксклюзивная функция для ПЛК семейства S7, поскольку она связана с проблемами безопасности. Помните, на рисунке 2, когда мы разрешили использование команды PUT, она была в атрибуте «Безопасность и защита» свойств ПЛК, так как она связана с безопасностью и защитой ПЛК.
Команда PUT по сути является функциональным блоком, поэтому при добавлении ее в мою логику мне будет предложено создать экземпляр данных. См. рисунок 7.
рисунок 7. Создайте экземпляр данных для команды PUT.
После нажатия кнопки «ОК» команда PUT теперь добавлена в вашу логику ПЛК. См. рисунок 8.
рисунок 8. Команда PUT
После того, как мы добавили команду PUT, теперь нам нужно ее настроить, у нас есть два параметра для настройки команды PUT.
- Соединение между ПЛК
- Блок, который будет PUT из ПЛК_1 в ПЛК_2
Чтобы перейти к конфигурационному виду команды PUT, нажмите на маленькую синюю иконку, показанную на последнем рисунке.
В параметре соединения вы установите связь между локальным (ПЛК_1) и партнерским (ПЛК_2) ПЛК. См. рисунок 9.
рисунок 9. Параметр соединения.
Как вы можете видеть, локальный ПЛК установлен на ПЛК_1, который является ПЛК, где используется команда PUT. Сторона партнера все еще пуста, и именно там мы должны назначить ПЛК_2.
Если вы щелкните по раскрывающемуся списку, у вас будет два варианта для партнера. См. рисунок 10.
рисунок 10. Партнерское соединение
Партнер — это ПЛК, который будет получать данные; вы увидите, что у вас есть два варианта выбора:
- ПЛК_2 [CPU 1516-3 PN/DP]
- Не указано
Поскольку оба ПЛК находятся в одном проекте, когда я выбираю вариант ПЛК_2, все параметры соединения будут автоматически заполнены. см. рисунок 11.
рисунок 11. ПЛК_2 как партнер
С другой стороны, если партнерский ПЛК из другого проекта, то я выберу опцию «Не указано», и в этом случае мне придется заполнить некоторые данные, такие как IP-адрес партнерского ПЛК. Смотрите рисунок 12.
рисунок 12. Неуказанный партнер
Как вы можете видеть, в этом случае мне нужно заполнить некоторые данные, такие как IP-адрес, а также добавить подсеть для ПЛК_1.
Чтобы добавить подсеть для ПЛК_1, мы перейдем в свойства Profinet ПЛК_1 и выберем опцию добавления подсети. Смотрите рисунок 13.
рисунок 13. Добавить подсеть.
После этого будет выполнена настройка параметров подключения. См. рисунок 14.
Имя соединения должно быть уникальным для каждой команды PUT, которую вы создаете, TIA Portal автоматически присвоит ему новое имя, но, возможно, вам лучше назначить более подходящее имя для соединения в вашем проекте. Мы оставили его таким, какой он есть.
фото 14. Параметры соединения готовы
Следующий шаг в настройке команды PUT — настройка параметров блока.
В этих параметрах мы указываем триггер для команды PUT, то есть какой сигнал запустит действие команды PUT. А также какие данные будут помещены из ПЛК_1 и где они будут храниться в ПЛК_2. См. рисунок 15.
фото 15. Настройка параметров блока
Для сигнала Start Request (REQ) мы определили входной тег (SendData %I0.0). И как мы уже упоминали ранее, мы уже определили тег, который будет отправлен в ПЛК_2, и где он будет храниться внутри ПЛК.
Завершение конфигурации параметров блока завершит конфигурацию команды PUT. Смотрите рисунок 16.
рисунок 16. Вызов команды PUT
Итак, вкратце, когда срабатывает сигнал REQ, данные в SD_1 будут отправлены в ADDR_1.