Порты и слейвы

Top  Previous  Next

Порты

Каждый контроллер оснащен одним или несколькими портами связи. Также возможно расширение коммуникационных возможностей контроллера путём добавления внешних портов связи.

Поддержка портов контроллерами

Устройство

Бортовые порты

Порты на сетевой карте

SMH2010

COM1 и COM2

нет

Pixel12хх

COM1

Ethernet и LON

Pixel25хх

COM1

Ethernet и LON

SMH2G

COM1 и COM2

Ethernet и LON

SMH2G(i)

SMH4

COM1 и COM2 и Ethernet

LON

Trim5

COM1, Wi-Fi и Ethernet

нет

 

 

Поддержка протоколов портами

Порт

Протокол

Com

Modbus

Ethernet

Modbus TCP

LON

LonWorks

Внимание.

В SMH2010 слейвы не могут быть подключены на оба порта одновременно
SMH2G(i) появился новый бортовой порт Ethernet. В будущем он сможет поддерживать не только Modbus TCP.

 

 

Особенности работы с портами в SMH2G(i), SMH4, Trim5

В контроллерах SMH2G(i), SMH4 и Trim5 возможно исполнение программ, написанных для ОС Linux одновременно с проектом SMLogix. Такие программы могут в том числе и осуществлять обмен данными по сети, используя коммуникационные порты контроллера. Для предотвращения конфликтов между такими программами и SMLogix, в последнем следует отключить используемые программами порты.

Сделать это можно через контекстное меню порта в окне Устройства, пункт Не использовать в SMLogix:

 

 

Внимание! Устройство TRIM5 имеет два Ethernet-интерфейса LAN1 и LAN2. Modbus-master работает на двух интерфейсах одновременно и выбирает интерфейс для запроса автоматически, основываясь на IP-адресе slave-устройства. Таким образом, нигде не надо специально указывать, на каком физическом разъеме работает тот или иной slave.

 

Добавление слейва в проект

Для добавления слейва в проект необходимо:

Кликнуть правой кнопкой на названии порта в дереве устройств
Выбрать Добавить устройство

В появившемся диалоге можно выбрать способ создания:

Рис. 1 - Создание слейва

 

В этом диалоге (рис. 1) можно выбрать следующие варианты:

с пустой картой памяти. Созданный слейв не будет иметь переменных, для работу будет необходимо добавить их вручную.
LonWorks. Будет создан LON-слейв с набором сетевых переменных. Может быть недоступным на данном порту или устройстве.

LON не поддерживается:

на COM-портах всех устройств
на порту Ethernet (SMH2G(i), SMH4, Trim5)
на основе существующей карты памяти. Необходимо указать файл карты памяти добавляемого слейва, переменные создадутся автоматически. Позже их можно будет отредактировать.

После нажатия на кнопку Создать появляется диалог настройки свойств слейва:

Рис. 2 - Свойства слейва

Для отображения дополнительных настроек нажмите кнопку ..>> В этом случае, диалог примет следующий вид:

Рис. 3 - Свойства слейва (расширенный вид)

Описание элементов диалога "Свойства слейва":

1. Название. Имя слейва, которое отображается в дереве устройств и на сетевых переменных.

2. Адрес. Адрес Modbus слейва. Значение от 0 до 255.

Внимание! В контроллерах 2Gi, SMH4 на портах COM1 и COM2 адреса Modbus c 240 по 255 являются зарезервированными и не должны использоваться в пользовательских проектах.

3. Тип Slave. Тип слейва определен интерфейсом порта, на который подключается слейв:

Для COM-портов тип COM, TCP неактивен
Для Ethernet выставлен тип TCP, COM неактивен.

4. Таймаут. Время в миллисекундах,  в течение которого ожидается ответ от слейва перед ошибкой связи.

5. Управление из FBD. Дает возможность управлять вышеперечисленными настройками из FBD-программы во время ее выполнения, используя блок SlaveX (link)

Флаг активен, если контроллер поддерживает эту функцию:

Контроллеры

Поддержка
управления из FBD

SMH2010

нет

Pixel12хх

нет

Pixel25хх

да

SMH 2G

да

SMH2G(i)

да

SMH4

да

Trim5

да

 

В дополнительной части диалога можно изменить параметры порта (в случае COM) или настройки TCP/IP (для Ethernet-слейвов).

Рис. 4 - Параметры TCP/IP

IP-порт можно менять SMH2G(i), SMH4, Trim5.

 

Изменение типа слейва

Чтобы изменить тип слейва, его необходимо переадресовать на другой порт.

Изменение порта слейва:

Кликнуть правой кнопкой на названии порта в дереве устройств
Выбрать пункт Переадресовать на ...
Все слейвы с выбранного порта перейдут на выбранный порт

 

Удаление слейва из проекта

Кликнуть правой кнопкой на имени слейва в дереве устройств
Выбрать пункт Удалить

 

Блок Slave (Link)

Для диагностики связи со слейвом существует блок Slave (link). Его можно найти в дереве устройств, в ветке слейва.

Рис. 5 - Блок Slave (Link) в дереве

Рис. 6 - Блок Slave (Link)  на поляне

C помощью данного блока можно отслеживать статистику обмена - количество ошибок связи с подключенным слейвом. Фактически, блок представляет собой счетчик ошибок обмена. Счетчик сбрасывается любым корректным ответом slave-устройства.

Входы:

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

Выходы:

 Break  - на данном выходе появляется значение логической единицы, если превышено предельное количество ошибок обмена. Предельное количество ошибок задается входом Q Err.

 Errors  - выход отображает текущее состояние счетчика ошибок обмена.

 

 

 

Блок SlaveX (Link)

Блок настройки сетевых параметров slave-устройства. Появляется при выставлении флага Управление из FBD диалога свойств слейва. Позволяет:

переадресовывать запросы с устройства на устройство в ходе выполнения FBD-программы
отслеживать статистику обмена - количество ошибок связи с подключенным слейвом аналогично блоку Slave (Link)

Блок SlaveX (Link) обязательно должен быть правильно сконфигурирован, так как стандартные сетевые настройки slave-устройства игнорируются при использовании управляемых slave-запросов. После загрузки и после выключения контроллера до подачи сигнала на вход ^set запросы не отправляются.

Блок SlaveX(Link) поддержан в SMLogix начиная с версии 3.23.00ХХ.

Контроллеры Pixel12хх, SMH2010 не поддерживают блок SlaveX(Link).

Рис. 7 - Блок SlaveX (Link)  на поляне

Входы:
         Q Err - указывает, какое количество ошибок обмена должно пройти подряд, чтобы на выходе Break выставилось значение 1.
         ^set  - переход из состояния логического нуля в логическую единицу на входе устанавливает новые настройки со входов блока для данного slave устройства
         stop - стоп/старт запросов (1-стоп/0-старт на входе соответственно)
         interface - интерфейс контроллера с которого будут посылаться запросы к slave:
 

Значение

Интерфейс

0 или 1

RS-485

2

RS-232 (в контроллерах 2G)

3

Ethernet

         address - адрес устройства в сети modbus, всегда должен совпадать с адресом slave-устройства
         baudrate - скорость работы для интерфейсов RS-485 и RS-232:

 

Значение

Скорость

0

115200

1

57600

2

38400

3

19200

4

14400

5

9600

6

4800

         format - настройки при использовании интерфейсов RS-485 и RS-232:

Значение

Настройка

0

2 стоп бита, контроль четности отключен, размер передаваемого слова - 8 бит

4

2 стоп бита, контроль четности odd, размер передаваемого слова - 8 бит

8

2 стоп бита, контроль четности even, размер передаваемого слова - 8 бит

16

1 стоп бит, контроль четности отключен, размер передаваемого слова - 8 бит

20

1 стоп бит, контроль четности odd, размер передаваемого слова - 8 бит

24

1 стоп бит, контроль четности even, размер передаваемого слова - 8 бит

         

         timeout - Таймаут на ответ от slave, в миллисекундах

 

Никогда не забывайте про установку таймаута: при значении 0 контроллер не будет дожидаться ответа от slave устройства. Рекомендуемое значение для сети Modbus - 100мс. Для сети Ethernet это значение может быть больше, обычно подбирается вручную и соответствует времени реакции slave устройства плюс задержки, обусловленные пропускной способностью линии связи.

 
 IPx---, IP-x--, IP--x-, IP---x - IP адрес slave-устройства (для Ethernet).

 
Выходы:
 Break  - на данном выходе появляется значение логической единицы, если превышено предельное количество ошибок обмена. Предельное количество ошибок задается входом Q Err.
 Errors  - выход отображает текущее состояние счетчика ошибок обмена.

 

 

Работа с картой памяти слейва

Диалог редактирования карты памяти слейва (рис.1) вызывается через контекстное меню слейва (пункт Карта памяти устройства) или по двойному щелчку на слейве в дереве устройств
 

Рис. 8 - Свойства слейва

 

Назначение элементов:

1. Список переменных. Отображает сетевые переменные слейва.

Поля таблицы:

Имя - имя переменной; по умолчанию - Name, но рекомендуется присваивать разные имена во избежание путаницы;
Тип - тип переменной (bool, int, long, real)
Направление - направление передачи переменной: R - read, R/W - read/write, Echo - диагностическая команда Эхо. (смотри Сетевые переменные).
Адрес - адрес в памяти слейва в формате, заданном в группе Формат адреса, где находится переменная.
Период - период опроса переменной в миллисекундах, диапазон - 0…1000000000 мс; если задается период равный 0, переменная будет опрашиваться не циклически, а по команде из прикладной программы, для чего у блока переменной появляется дополнительный вход "^" и выход "rdy".
v - используется для отключения опроса переменных в альтернативных картах памяти для оптимизации опроса. ( смотри Карты памяти в справке по SMConfig)
Комментарий - текстовое пояснение.

 

2. Группа кнопок работы  со списком.

Добавить - добавляет новую строку в список переменных. Горячая клавиша - Ins

Удалить  - удаляет строку из списка. Горячая клавиша - Del

 

3. Загрузка карты из файла. Загрузить - вызывает диалог выбора файла и загружает из него карту памяти. Возможны два режима загрузки:

обновить - режим замены всех переменных на содержимое файла карты памяти
объединить - загруженные из файла карты памяти переменные добавляются к существующим

 

4. Сохранить. Сохраняет список переменных слейва в файл карты памяти. Будет создан файл с расширением .map, который можно использовать для создания других слейвов.

 

5. Сортировка запросов.

       Сортировать - при нажатии на кнопку происходит сортировка переменных:

строки объединяются в группы согласно распределению переменных по запросам (рис. 8)

 

Рис 9. -  Сортировка переменных по запросам

Условия объединения переменных в групповой запрос:

установлен флаг Групповые запросы
имеют один тип: bool или регистровый, т.е. переменные типа integer, long и real объединятся в один запрос
имеют одно направление R или R/W, причем для R/W автоматически создаются 2 запроса, хотя и выделяются одним цветом
имеют одинаковый период опроса, кроме 0;
адреса располагаются одном массиве
Если период опроса равен 0, то переменные объединяются в запрос, если опрос происходит одновременно, т.е. входы "^" привязаны к одному выходу.

Цветовое разделение запросов. Для удобства восприятия переменные в запросе объединяются в одну группу и выделяются одним цветом. Переменная, находящаяся в другой группе, но выделенная тем же цветом, является другим запросом, например, переменная "Авария" (рис. 8).

Подсчет числа запросов. Число запросов, сформированное на основании редактируемой карты памяти, выводится окне под кнопкой Сортировать. Оно может быть больше, чем количество запросов, выделенных цветом, так учитывает все запросы, включая те, что создаются для переменных R/W.
 
Пример. На рис. 9 приводятся 9 переменных, которые разделились по запросам следующим образом:

Рис. 10 - Пример сортировки запросов

Распределение переменных по запросам сведено в таблицу:

Переменные

Число запросов

Переменные 6…9 представляют собой 2 запроса R и W

2

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

3

Переменные 4 и 5 объединены в 1 запрос

1

Итого

6 запросов

 

       Групповые запросы. При активации этого режима, SMLogix использует функции групповой записи протокола Modbus:
15 (0x0F) — запись значений в несколько регистров флагов (Force Multiple Coils)
16 (0x10) — запись значений в несколько регистров хранения (Preset Multiple Registers)

 

Если флаг "групповые запросы" неактивен, то используются следующие функции:

5 (0x05) — запись значения одного флага (Force Single Coil)
6 (0x06) — запись значения в один регистр хранения (Preset Single Register)

 

Использование режима "групповых запросов" позволяет уменьшить число использованных запросов.

 

Не все устройства сторонних производителей поддерживают режим "групповых запросов"

 

 

6. Формат адреса. Формат, в котором выводится адрес переменных в списке. Также в этом формате происходит ввод и изменение адресов.

hex - шестнадцатеричный

dec - десятичный

 

7. Готово, Отмена, Справка.

  Готово - завершение работы с картой памяти слейва с сохранением всех изменений.
  Отмена - завершение работы с картой памяти слейва без сохранения всех изменений
  Справка - вызов этой страницы справки

 

8. Выбор для редактирования альтернативных карт памяти (смотри Карты памяти в справке по SMConfig).

 

См. также

Сетевые переменные

Передача числа из мастера в слейв

Расширитель входов-выходов