Межконтроллерная коммуникация SCS Link Transmission  

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

 


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


Урок 8
Межконтроллерная коммуникация
SCS Link Transmission

Два типа связи SCS Link Transmission:

  1. SCS Link Transmission Safety Communication - безопасная коммуникация (Safety Loop) между двумя контроллерами в одном домене:
    Рис. SCS Link Transmission Safety Communication
    1000 функциональных блоков, считывающих входные биты, может использоваться в одном SCS
    128 - количество выходных битов у одного SCS

  2. SCS Link Transmission Global Switch Communication (Interference-free) – коммуникация между контроллерами ПАЗ и РСУ в одном домене:
    Рис. SCS Link Transmission Global Switch Communication

  3. 256 глобальных бит (Global Switch) SCS может считывать из PCS.

Сравнение Inter-SCS Safety Communication и SCS Link Transmission
Inter-SCS Safety Communication SCS Link Transmission
Safety Communication Global Switch Communication
Коммуникация между контроллерами в разных доменах ДА НЕТ
Коммуникация между контроллерами ПАЗ И РСУ НЕТ ДА
Safety Loop ДА НЕТ
Широковещательная коммуникация НЕТ ДА
Тип передаваемых данных BOOL, INTEGER, REAL BOOL

Ограничения:
  • Максимальное количество станций – 64
  • Цикл передачи – 100 мс

Задание

  1. Запустить два симулятора SCS на одной машине и запрограммировать передачу данных между контроллерами по безопасной связи SCS Link Transmission Safety Communication

  2. Запустить два симулятора SCS и один симулятор FCS на одной машине и запрограммировать обмен данными по связи SCS Link Transmission Global Switch Communication между контроллером РСУ и контроллерами ПАЗ

Решение

Предпосылкой для симуляции межконтроллерной связи является интеграция Prosafe-RS и CENTUM VP.

  1. Открываем проект ProSafe-RS SCS0102

  2. Открываем словарь переменных:
    Project > Variables
    и добавляем переменные:
    SNDB0102001 (тип LTSND) – выходной бит SCS0102
    RCVB0103001 (тип LTRCV) – входной бит от SCS0103
    RCV0101001 (тип LTFCS) – входной бит от FCS0101
    SND001 (тип BOOL) – переменная для передачи
    RCV001 (тип BOOL) – переменная для приёма данных из SCS0103
    RCVFCS001 (тип BOOL) - переменная для приёма данных из FCS0101

    Рис. SCS0102 Dictionary

  3. Открываем редактор SCS Link Transmission Builder:

    Рис. SCS Link Transmission Builder

  4. Включаем приём и передачу данных:

    Рис. SCS0102 Send-Receive



















  5. Добавляем станции FCS0101 и SCS0103:

    Рис. SCS0102 Other Stations

  6. Добавляем выходной бит станции SCS0102:

    Рис. SCS0102 Self

  7. Добавляем входной бит от FCS0101:

    Рис. Wiring with Station 01

  8. Добавляем входной бит от SCS0103:

    Рис. Wiring with Station 03

  9. Добавляем программный блок связи – Link:

    Рис. POU Link

  10. Открываем программный блок Link и добавляем функциональные коммуникационные блоки и переменные:

    Рис. Edit Link

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

  12. Открываем проект ProSafe-RS SCS0103



















  13. Открываем словарь переменных:
    Project > Variables
    и добавляем переменные:
    SNDB0103001 (тип LTSND) – выходной бит SCS0103
    RCVB0102001 (тип LTRCV) – входной бит от SCS0102
    RCV0101002 (тип LTFCS) – входной бит от FCS0101
    SND002 (тип BOOL) – переменная для передачи
    RCV002 (тип BOOL) – переменная для приёма данных из SCS0103
    RCVFCS002 (тип BOOL) - переменная для приёма данных из FCS0101

    Рис. SCS0103 Dictionary

  14. Открываем редактор SCS Link Transmission Builder

  15. Включаем приём и передачу данных:

    Рис. SCS0103 Send-Receive

  16. Добавляем станции FCS0101 и SCS0102:

    Рис. SCS0103 Other Stations

  17. Добавляем выходной бит станции SCS0103:

    Рис. SCS0103 Self

  18. Добавляем входной бит от FCS0101:

    Рис. Wiring with Station 01

  19. Добавляем входной бит от SCS0102:

    Рис. Wiring with Station 02



















  20. Добавляем программный блок – Link:

    Рис. POU Link

  21. Открываем программный блок Link и добавляем функциональные коммуникационные блоки и переменные:

    Рис. Edit Link

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

  23. Открываем проект CENTUM VP в System View

  24. Открываем редактор Global Switch Builder:
    FCS0101 > SWITCH > GSwitchDef
    и задаём два тега: SNDBSCS001 и SNDBSCS002

    Рис. Global Switch Builder

  25. Открываем редактор FCS Constants Builder:
    FCS0101 > CONFIGURATION > StnDef
    и включаем передачу данных через Global Switch:

    Рис. FCS Constants Builder

  26. Запускаем симулятор SCS0103:
    Maintenance > SCS Test Function

  27. Деблокируем выходы:
    Maintenance > SCS State Management > I/O Channel Status > Output Enabled

  28. Запускаем симулятор FCS0101 из System View:
    FCS0101 > FCS > Test Function

  29. В Workbench запускаем режим Debug для программного блока Link:

    Рис. SCS0103 Link Debug




















  30. Форсируем выходной бит SND002=TRUE

  31. Вызываем лицевую панель по имени тега SNDBSCS002, включаем глобальный ключ %GS002 и наблюдаем, как он приходит из FCS0101 в SCS0103:

    Рис. SCS0103 Link Debug

  32. Выключаем режим Debug для программного блока Link

  33. Открываем проект SCS0102 и запускаем симулятор SCS0102:
    Maintenance > SCS Test Function

  34. Деблокируем выходы:
    Maintenance > SCS State Management > I/O Channel Status > Output Enabled

  35. В Workbench запускаем режим Debug для программного блока Link и видим, что пришёл бит RCV001 из SCS0103:

    Рис. SCS0102 Link Debug

  36. Форсируем выходной бит SND001=TRUE

  37. Вызываем лицевую панель по имени тега SNDBSCS001, включаем глобальный ключ %GS001 и наблюдаем, как он приходит из FCS0101 в SCS0102:

    Рис. SCS0102 Link Debug

  38. Переключаемся на SCS0103, включаем Debug для Link и видим, что пришёл бит из SCS0102:

    Рис. SCS0103 Link Debug



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

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