Связь между контроллерами CENTUM VP и ProSafe-RS по шине Modbus Ethernet

Пошаговый самоучитель ProSafe-RS

 


Статья для предварительного чтения:

  1. Краткий обзор промышленных сетей


Содержание самоучителя


Урок 9
Связь между контроллерами CENTUM VP и ProSafe-RS по шине Modbus Ethernet

Vnet/IP – родная промышленная шина для связи контроллеров FCS (РСУ) и SCS (ПАЗ).

Некоторые компании для специфических приложений считают связь между FCS и SCS по сети Modbus более надёжной (несмотря на более высокие издержки на инжиниринг, оборудование, материалы, монтаж и пусконаладку).

Modbus Master (FCS) обращается к Modbus Slave (SCS) по адресам виртуальных устройств Modbus:

Виртуальное устройство Modbus Данные Применение Чтение/Запись
Coil Выход 1 бит Дискретный выход Read/Write
Input Relay Вход 1 бит Дискретный вход Read
Input Register Вход 16 бит Аналоговый вход Read
Holding Register Выход 16 бит Аналоговый выход Read/Write

Этапы разработки обмена данными по шине
Modbus Ethernet между CENTUM VP и Prosafe-RS
N Этап CENTUM VP ProSafe-RS
1 Добавление коммуникационного модуля Modbus Ethernet System View I/O Wiring
2 Параметрирование модуля Modbus Ethernet System View I/O Parameter Builder
3 Настройка каналов связи Communication I/O Builder
Word Data
4 Привязка переменных процесса к каналам связи Communication I/O Builder
Bit Data
Modbus Address Builder
5 Программирование логики Control Drawing Builder POU

Задание

Настроить канал связи по Modbus TCP между станциями FCS0101 (Modbus Master) и SCS0102 (Modbus Slave).

Решение

Симулировать связь по Modbus нельзя, поэтому ограничимся конфигурированием.

Инжиниринг на стороне станции управления FCS (Modbus Master)

  1. Добавляем коммуникационный модуль Modbus Ethernet:
    FCS0101 > IOM > NODE1 > Create New > IOM…

    Рис. Коммуникационный модуль ALE111

  2. Настраиваем свойства ALE111:

    Рис. Свойства ALE111: Type and Position
    Рис. Свойства ALE111: Set Details

  3. Открываем редактор Communication I/O Builder словных данных (Word Data): FCS0101 > SWITCH > CommDataWW
    и настраиваем параметры:

    Рис. CommDataWW
    Element – слово %WWnnnn, где nnnn – номер слова
    Buffer – количество элементов, используемых в программе
    Program Name – имя программы:
    Kt-n-sProgramName
       K – идентификатор FIO
       t – системный номер (1)
       n – номер узла
       s – номер слота
       ProgramName - FMODBUS
    Size – длина данных, начинающихся от адреса, заданного в поле Device&Address
    Port – порт (1)
    IP Address – IP адрес ведомого устройства в сети Modbus TCP (SCS0102)
    Station – номер станции ведомого устройства в сети Modbus TCP (SCS0102)
    Device&Address – адрес виртуального устройства Modbus:
       A0**** - Coil
       A1**** - Input Relay
       A2**** - Input Register
       A4**** - Holding Register
    Data Type – тип данных
    Reverse – параметр задаёт нужно ли реверсировать порядок битов или слов
    Scan – тип сканирования: Normal или Fast

  4. Открываем редактор Communication I/O Builder битовых данных:
    FCS0101 > SWITCH > WBTagDef
    и настраиваем параметры:

    Рис. WBTagDef Element - бит %WWnnnnbb, где nnnn – номер слова, bb – номер бита
    Tag Name – имя тега

Инжиниринг на стороне станции безопасности SCS (Modbus Slave)

  1. Открываем проект SCS0102. В окне Link Architecture нажимаем на кнопку [I/O Wiring]. В открывшемся окне подключения модулей ввода-вывода нажимаем на кнопку [Add Device] и выбираем коммуникационный модуль ALE111:

    Рис. Добавляем ALE111
    В окне I/O Wiring появляется модуль ALE111:

    Рис. Добавлен ALE111

  2. Щёлкаем дважды по элементу Parameters и в открывшемся окне задаём номер узла - 1 и номер слота – 5:

    Рис. Параметры ALE111

  3. В меню Engineering выбираем I/O Parameter Builder и задаём IP адрес и адрес маски подсети модуля ALE111:

    Рис. Параметры ALE111

  4. Открываем библиотеку переменных Dictionary и добавляем логические переменные:
    COIL (тип ESW_B)
    INPUT_RELAY (тип BOOL)
    INPUT_REGISTER (тип DINT)
    HOLDING_REGISTER (тип ESW_I)

    Рис. Библиотека переменных

  5. Открываем Modbus Address Builder:

    Рис. Modbus Address Builder

  6. Задаём соответствие между адресами Modbus и логическими переменными контроллера ПАЗ:

    Рис. Coil
    Рис. Input Relay
    Рис. Inpur Register
    Рис. Holding Registers

  7. Добавляем новый программный блок Modbus:

    Рис. Добавление POU Modbus

  8. Редактируем программный блок Modbus:

    Рис. Редактирование POU Modbus

  9. Компилируем проект и прогоняем через анализаторы.



Пошаговый самоучитель ProSafe-RS: урок 10

Пошаговый самоучитель ProSafe-RS: урок 8