Первая программа ProSafe-RS

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

 


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


Урок 2
Первая программа ProSafe-RS

Задание

Запрограммировать на языке FBD логическое сложение сигналов двух дискретных входов и результат присвоить дискретному выходу. Проверить логику работы программы с помощью симулятора логики.

Решение

  1. Из окна Link Architecture создаём программу на языке FBD:
    нажимаем правой кнопкой на элемент Program и в появившемся контекстном меню выбираем
    Add Program > FBD: Function Block Diagram

    Рис. Добавление программы

  2. В директории Programs появляется программа с именем по умолчанию – UntitledFBD.
    Зададим ей другое имя – FirstProgram:

    Рис. Переименование программы

  3. Двойным щёлчком по имени программы открываем редактор схем функциональных блоков FBD

  4. В окне редактора нажимаем кнопку [Function Block] и щёлкаем курсором в экранной области Logics, куда хотим вставить блок

  5. Открывается окно выбора типа функционального блока:

    Рис. Выбор блока
    - Выбираем OR с двумя входами
    - Нажимаем кнопку [ОК]

  6. В поле Logics появляется функциональный блок логического сложения – OR:

    Рис. Блок логического сложения
    Нажимаем кнопку [Select] и перемещаем курсором блок в нужную точку области Logics.

  7. Нажимаем кнопку [Variables] и щёлкаем курсором в экранной области Inputs, куда хотим вставить входную переменную. Появляется окно выбора переменной:

    Рис. Выбор переменной
    - Выбираем дискретный вход DI1>DI1.v
    - Нажимаем кнопку [OK]
    В поле Inputs появляется входная переменная DI1.v

  8. Аналогично вставляем переменную DI2.v

  9. Нажимаем кнопку [Variables] и щёлкаем курсором в экранной области Outputs, куда хотим вставить выходную переменную.
    Выбираем переменную DO1.v

  10. Нажимаем кнопку [Draw Link] и соединяем переменные с функциональным блоком, однократно касаясь курсором точек соединения:

    Рис. Блок логического сложения
    - Нажимаем кнопку [Save]
    - Компилируем программу - нажимаем кнопку [Build Program]
    - Закрываем редактор DGE.

  11. Компилируем проект:
    Project > Build Project/Library

  12. Вызываем меню Инжиниринг:
    Tools > Engineering:

    Рис. Меню Инжиниринг

  13. Проверяем приложение на соответствие требованиям Safety Application – запускаем анализатор целостности безопасности – Integrity Analyzer:

    Рис. Анализатор целостности
    Зелёная галочка означает, что наше приложение удовлетворяет требованиям безопасности.
    Нажимаем кнопку [Save]

  14. Запускаем из меню Инжиниринг анализатор перекрёстных ссылок – Cross Reference Analyzer:

    Рис. Анализатор перекрёстных ссылок
    Нажимаем кнопку [Display program dependency acknowledgement dialog] – появляется диалоговое окно подтверждения результатов анализа перекрёстных ссылок:

    Рис. Подтверждение
    Если вы принимаете на себя ответственность за обнаруженные в результате анализа несоответствия, то можете проставить галочки и нажать кнопку [OK]

    Рис. Подтверждённые анализ перекрёстных ссылок
    Анализатор запомнит, что вы взяли ответственность на себя.
    Нажимаем кнопку [Save]

    Программа готова к загрузке в станцию безопасности SCS.

  15. Запускаем симулятор логики:
    Debug > Simulation:

    Рис. Logic Simulation Test

  16. Дважды щёлкаем по значкам модулей 3:SDV144 и 4:SDV541
    Нажимаем кнопку [Horizontal Tile]:

    Рис. Симулятор входов-выходов

  17. Дважды щёлкаем по полю Value входных переменных в правом вернем углу окна и наблюдаем за изменением статуса выходной переменной в правом нижнем углу окна:

    Рис. Статус входов-выходов

  18. Не останавливая симулятор, возвращаемся в окно Link Architecture и дважды щёлкаем по имени программы FirstProgram:

    Рис. Вызов окна статуса программы

  19. Открывается окно статуса программы:

    Рис. Окно статуса программы
    DI1.v = F - означает, что значение переменной равно нулю (FALSE).

  20. Двойным щелчком по входной переменной вызываем окно изменения значения переменной:

    Рис. Окно окно изменения переменной
    Нажимаем кнопку [TRUE] – значение двух переменных изменяется на 1 (TRUE) DI1.v = T
    DO1.v = T

    Рис. Окно статуса программы