В предыдущих статьях мы начали обсуждать различные способы связи между двумя или более ПЛК, до сих пор мы говорили о функции I-device, а также о командах PUT и GET, которые были методами, эксклюзивными для ПЛК Siemens.
Связь между ПЛК Siemens и другими ПЛК
В этой статье мы обсудим другой способ соединения двух ПЛК вместе, этот способ имеет больше преимуществ, чем команды PUT и GET, которые мы обсуждали ранее, поскольку противоположны командам PUT/GET, которые были эксклюзивными для семейства S7. Этот новый метод представляет собой открытую пользовательскую коммуникацию, то есть мы можем использовать его для связи между ПЛК SIEMENS и любым другим брендом ПЛК, это даже не обязательно должны быть два ПЛК, этот метод может связываться между ПЛК и любым другим устройством, которое может понимать сетевой протокол TCP, таким как ПК, серверы, принтеры и т. д.
В этой статье мы покажем, как настроить связь между двумя ПЛК с помощью блоков TCON и TDISCON, а в следующей статье мы покажем, как перемещать данные между ПЛК после настройки соединения.
Открытые пользовательские коммуникационные блоки TCON и TDISCON
Мы используем блок TCON для настройки и установления коммуникационного соединения между двумя ПЛК. После настройки и установки соединения оно автоматически поддерживается ПЛК.
Оба партнера по коммуникации вызывают инструкцию TCON для настройки и установления коммуникационного соединения. Это означает, что мне нужно вызвать блок TCON в обоих ПЛК, и нам нужно настроить блок в обоих ПЛК, как мы увидим в примере проекта.
Во время конфигурации блока мы укажем, какой партнер является активной конечной точкой связи, а какой — пассивной. Это означает, что какой ПЛК попытается подключиться, а какой откроет порт связи и будет ждать другой.
Существующее соединение завершается, а установленное соединение удаляется, когда выполняется блок TDISCON или когда ЦП переходит в режим STOP. Чтобы настроить и установить соединение снова, вам нужно будет снова выполнить TCON.
Пример проекта ПЛК с использованием TCON
Как мы уже объясняли в предыдущих статьях, для настройки связи между двумя ПЛК нам нужно установить две вещи:
- Связь между ПЛК.
- Передача данных между двумя ПЛК.
В этой статье мы настроим открытую пользовательскую связь с протоколом TCP между двумя ПЛК с использованием блока TCON. В следующей статье мы покажем, как перемещать данные после установки соединения.
Сначала давайте создадим новый проект и добавим два наших ПЛК. Мы добавим CPU1516-3PN/DP ПЛК и назовем их ПЛК_1 и ПЛК_2, и цель состоит в том, чтобы установить соединение между ними. Смотрите рисунок 1.
рисунок 1. Добавьте ПЛК_1 и ПЛК_2.
Теперь мы просто добавим блок TCON в нашу логику ПЛК, как мы уже упоминали ранее, нам нужно вызвать TCON для обоих ПЛК, давайте начнем с ПЛК_1.
Просто перетащите блок TCON, который вы найдете в открытой папке пользовательской связи. Смотрите рисунок 2.
рисунок 2. Перетащите инструкцию TCON
Блок TCON по сути является функциональным блоком, поэтому при добавлении его в мой основной OB1 нам будет предложено создать экземпляр блока данных для этого блока.
Создайте экземпляр данных и дайте ему правильное имя. См. рисунок 3.
рисунок 3. Создание экземпляра данных.
Теперь блок TCON добавлен в вашу логику, нам нужно настроить параметр соединения для блока.
Просто нажмите на маленький синий значок конфигурации над блоком. См. рисунок 4.
рисунок 4. Открыть представление конфигурации
При нажатии на синий значок вы откроете представление конфигурации для блока TCON, где мы можем настроить параметр соединения.
Вы найдете его почти таким же, как параметр соединения команд PUT и GET. См. рисунок 5.
рисунок 5. Параметр соединения TCON.
Параметры партнерского ПЛК в блоке TCON имеют больше параметров, чем у команд PUT/GET, поскольку мы используем открытое взаимодействие пользователей. См. рисунок 6.
рисунок 6. Параметры партнерского ПЛК
Как вы можете видеть на рисунке, у нас есть 4 различных параметра, а именно:
- ПЛК_2: если оба ПЛК находятся в одном проекте, здесь будет показан ПЛК_2
- Трансляция: это сделает соединение доступным для любого устройства в сети
- Многоадресная передача: это сделает соединение с выбранными устройствами, более чем одним устройством, но не всеми из них
- Не указано: если ПЛК находится в другом проекте TIA Portal.
При выборе не указанного параметра нам будет предложено добавить IP-адрес ПЛК, а также нам нужно будет добавить новые данные о подключении. См. рисунок 7.
рисунок 7. Добавить новые данные о подключении
Как вы можете видеть на рисунке, чтобы создать новые данные о подключении, просто щелкните стрелку раскрывающегося списка и нажмите «Новый». Это создаст новый блок данных соединения, и он будет автоматически назначен блоку TCON, см. рисунок 8.
рисунок 8. Блок данных соединения создан.
Как вы видите, был создан блок данных о подключении, теперь мне нужно добавить IP-адрес партнерского ПЛК.
Еще нам нужно выбрать, какой ПЛК будет активным устанавливающим соединение. Это определит, какой ПЛК будет отвечать за установление соединения, а другой в этом случае будет отвечать только за открытие порта подключения. Смотрите рисунок 9.
рисунок 9. Назначьте ПЛК_1 активным устанавливающим соединение.
Поскольку мы выбираем ПЛК_1 активным устанавливающим соединение, то ПЛК_2 будет отвечать за открытие порта подключения, и мне нужно выбрать значение для этого порта. Это может быть любое значение, но в TIA Portal оно автоматически назначается как 2000, поэтому мы оставим все как есть. Смотрите рисунок 10.
Рисунок 10. Порт партнера.
На предыдущем рисунке вы можете видеть, что параметр соединения стал зеленым, что означает, что все настройки выполнены и приняты.
При использовании TCON для установки соединения между двумя ПЛК оба ПЛК должны вызвать инструкцию TCON для установки соединения, поэтому теперь нам нужно сделать то же самое с другим ПЛК_2. Добавьте блок TCON в главный OB1 ПЛК_2, см. рисунок 11.
рисунок 11. Вызов TCON в ПЛК_2.
После добавления блока TCON нам нужно настроить параметр соединения, как мы это делали с ПЛК_1. См. рисунок 12.
Фото 12. Параметры соединения ПЛК_2
На рисунке видно, что мы по-прежнему выбираем ПЛК_1 в качестве активного установления соединения, и мы по-прежнему оставляем порт ПЛК_2 равным 2000.
Активное установление соединения и порт должны быть одинаковыми для конфигурации обоих ПЛК, иначе соединение не будет установлено. Теперь настройка соединения для обоих ПЛК завершена, см. рисунок 13.
фото 13. Блок TCON в обоих ПЛК.
Как видно из рисунка, нам нужно еще одно, а именно определить REQ для обоих ПЛК.
Мы создали AllowConnection для ПЛК_2 и StartConnection для ПЛК_1. См. рисунок 14.
фото 14. Определите сигналы REQ.
Соединение между двумя ПЛК теперь установлено, и оно выглядит следующим образом:
ПЛК_1 попытается установить соединение с ПЛК_2, когда сигнал REQ активен, но он не сможет этого сделать, пока ПЛК_2 не включит возможность соединения, а это будет сделано, когда блок TCON ПЛК_1 получит сигнал REQ.
- Сигнал REQ активен для TCON ПЛК_2, чтобы включить соединение (это означает, что ПЛК_2 откроет порт 2000 в ожидании соединения)
- Сигнал REQ активен для TCON ПЛК_1, чтобы начать соединение (это позволит ПЛК_1 установить соединение с ПЛК_2 через порт 2000)
МОДЕЛИРОВАНИЕ ПРОЕКТА
Давайте скомпилируем наш проект и запустим моделирование, чтобы увидеть, как будет установлено соединение.
Чтобы увидеть соединение любого ПЛК, а также между ПЛК, можно открыть сетевой вид и открыть вкладку соединений, чтобы увидеть все активные и установленные соединения. См. рисунок 15.
фото 15. ПЛК_2 ожидает соединения.
Когда REQ равен True, ПЛК_2 будет открыт для соединения, вы можете увидеть значение STATUS 7002 _ если вы проверите справку блока TCON, статус 7002 означает ожидание соединения_. Вы также можете увидеть на рисунке из сетевого представления, что ПЛК_2 ожидает соединения.
Когда REQ блока ПЛК_1 TCON равен True, ПЛК_1 попытается установить соединение с ПЛК_2, и поскольку ПЛК_2 уже открыт и ожидает соединения, ПЛК_1 сможет найти и установить соединение с ПЛК_2. См. рисунок 16.
Фото 16. ПЛК_1 устанавливает соединение.
Обратите внимание, что все соединения в сетевом представлении теперь зеленые, что указывает на исправное и продолжающееся соединение между ПЛК_1 и ПЛК_2.
Как мы уже упоминали ранее, после того, как соединение было настроено и установлено, оно автоматически поддерживается. Таким образом, даже когда сигналы REQ становятся ложными, соединение между двумя ПЛК останется. Смотрите рисунок 17.
Рисунок 17. Соединение все еще продолжается.
Но если включение сигналов REQ не отключает соединение, как я могу его отключить, если захочу?
Блок отключения TDISCON
Чтобы отключить соединение между двумя ПЛК, мы можем перевести ПЛК в режим STOP, что непрактично во время выполнения процесса. И мы также можем использовать блок отключения или TDISCON.
Чтобы добавить блок TDISCON, просто перетащите его в свою логику, см. рисунок 18.
фото 18. Добавьте блок TDISCON
как вы видите, для добавления блока TDISCON потребуется экземпляр блока данных, как только блок будет добавлен в вашу логику, все, что вам нужно сделать, это назначить идентификатор соединения, которое вам нужно отключить, а также вам нужно назначить сигнал REQ, чтобы начать завершение соединения. См. рисунок 19.
фото 19. Блок TDISCON.
ТЕПЕРЬ давайте добавим блок TDISCON в другой ПЛК, чтобы у нас была возможность отключить соединение. См. рисунок 20. Для блока TDISCON ПЛК_1.
фото 20. TDISCON в ПЛК_1
Давайте вернемся к моделированию и посмотрим, как использовать блоки TDISCON, см. рисунок 21.
фото 21. Соединение все еще активно.
Как вы можете видеть на рисунке, соединение между ПЛК все еще активно, а сигналы REQ TDISCON все еще ложны.
Если REQ ПЛК_1 станет ИСТИНА, соединение будет разорвано, но вы заметите, что ПЛК_2 все еще ожидает соединения, см. рисунок 22.
фото 22. REQ ПЛК_1 является истинным.
Когда REQ для блока TDISCON ПЛК_2 является истинным, ПЛК_2 больше не будет ожидать соединения. См. рисунок 23.
фото 23. Соединение разорвано.
В этой статье мы показали, как установить соединение между двумя ПЛК с помощью блоков TCON и TDISCON.