******************************* Создание ST-модуля в zWorkbench ******************************* .. contents:: Содержание: :depth: 2 Создание, проверка, отладка проекта =================================== Во вкладке :guilabel:`Редактор` присутствует панель :guilabel:`Обозреватель проекта`. Щёлкните правой кнопкой мыши (ПКМ) по элементу :guilabel:`Программы`, чтобы вызвать контекстное меню. Выберите в нём пункт :guilabel:`Добавить...`. В появившемся окне выберите тип ``Панель M245-07`` и нажмите кнопку :guilabel:`Добавить`. .. figure:: image/1.png :align: center :alt: Добавление Панели M245-07 :width: 800px Дерево объектов :guilabel:`Программы` теперь содержит ``Панель M245-07``: .. figure:: image/2.png :align: center :alt: Панель M245-07 добавлена :width: 800px Создание ST-модуля ================== Щёлкните правой кнопкой мыши (ПКМ) по ``Панели M245-07`` и снова выберите :guilabel:`Добавить` в контекстном меню. В окне выбора категории объектов выберите ``Модуль ST`` и нажмите :guilabel:`Добавить`. .. figure:: image/3.png :align: center :alt: Добавление Модуля ST :width: 800px Для открытия вкладки редактирования дважды щёлкните по элементу :guilabel:`Модуль ST`. .. figure:: image/4.png :align: center :alt: Открытая вкладка Модуля ST :width: 800px Введите программный код в поле редактора. После завершения нажмите кнопку :guilabel:`Проверка`. .. figure:: image/5.png :align: center :alt: Пример кода в Модуле ST :width: 800px Если в программе есть ошибки, появится окно с описанием ошибки и её местоположением. Если ошибок нет, отобразится сообщение об успешной проверке. .. note:: Помимо локальных переменных и переменных входов/выходов, в программе можно использовать глобальные переменные проекта и переменные устройства. Для этого необходимо объявить внутренние переменные, ссылающиеся на них, как показано в примерах ниже. Примеры объявления переменных ----------------------------- **Переменные устройства** .. code-table:: PROGRAM PLC_PRG VAR portin1 AT %DIN1: BOOL; portin2 AT %DIN2: BOOL; portin3 AT %DIN3: BOOL; END_VAR VAR_OUTPUT output1 : UINT; END_VAR output1 := portin1 AND portin2 AND portin3; END_PROGRAM **Глобальные переменные и массивы** .. code-table:: PROGRAM PLC_PRG VAR globalVar1 AT %var1: UINT; globalVar2 AT %var2: UINT; arrayVar AT %array: ARRAY [0..4] OF UINT; END_VAR VAR_OUTPUT output1 : UINT; END_VAR VAR_INPUT index : UINT; END_VAR output1 := globalVar1 + globalVar2 + arrayVar[index]; END_PROGRAM .. note:: Имя переменной устройства или глобальной переменной указывается после символа ``%``. Интеграция ST-модуля в FBD-программу ==================================== * ``Модуль ST`` представляет собой текстовую форму записи программы. * ``FBD-программа`` — это графический язык программирования. Для открытия FBD-программы дважды щёлкните по ней в :guilabel:`Обозревателе проекта`. .. figure:: image/6.png :align: center :alt: Открытая FBD-программа :width: 800px Перетащите элемент ``Модуль ST`` из :guilabel:`Обозревателя проекта` внутрь области редактирования ``FBD-программы``. .. figure:: image/7.png :align: center :alt: Модуль ST добавлен в FBD-программу :width: 800px Работа с переменными ==================== .. figure:: image/8.png :align: center :alt: Таблица переменных :width: 800px Список переменных отображается в нижней части схемы в виде таблицы. Для добавления новой переменной нажмите кнопку :guilabel:`+` на панели инструментов. Откроется окно :guilabel:`Редактор свойств` переменной. .. figure:: image/9.png :align: center :alt: Редактор свойств переменной :width: 600px Укажите имя и тип данных переменной, затем нажмите :guilabel:`OK`. Аналогичным образом создайте необходимые переменные. Перетащите переменные из таблицы на схему и соедините их с входами и выходами ``Модуля ST``. .. figure:: image/11.png :align: center :alt: Переменные подключены к Модулю ST :width: 800px По умолчанию переменные создаются в режиме ``Чтение``. Чтобы подключить переменную к выходу, измените её тип на ``Запись``. Щёлкните по переменной на схеме, чтобы открыть её :guilabel:`Редактор свойств`. Измените :guilabel:`Тип переменной` на ``Запись``. Теперь переменная доступна для записи. .. figure:: image/12.png :align: center :alt: Переменная в режиме записи :width: 800px После подключения всех переменных снова нажмите кнопку :guilabel:`Проверка` на вкладке :guilabel:`Панель`. Если всё выполнено правильно, в области :guilabel:`Вывод` появится сообщение ``Успешное окончание проверки``. .. figure:: image/15.png :align: center :alt: Успешная проверка :width: 800px Симуляция программы =================== Для запуска симуляции откройте ``FBD-программу`` и нажмите кнопку симуляции на панели управления. .. figure:: image/17.png :align: center :alt: Кнопка симуляции :width: 800px Во время симуляции значения входных переменных можно изменять в таблице в нижней части ``FBD-программы``. Изменения будут отображаться на входах и выходах блоков. .. figure:: image/18.png :align: center :alt: Симуляция FBD-программы :width: 800px Для просмотра переменных, объявленных в ``Модуле ST``, откройте его двойным щелчком в :guilabel:`Обозревателе проекта`. Откроется вкладка с таблицей переменных. .. figure:: image/19.png :align: center :alt: Переменные в ST-модуле :width: 800px Чтобы одновременно видеть ``FBD-программу`` и ``Модуль ST``, используйте функцию разделения окна. Выберите в верхнем меню :menuselection:`ОКНА --> Разделить`. .. figure:: image/20.png :align: center :alt: Меню разделения окна :width: 800px Теперь на экране отображаются обе вкладки. .. figure:: image/21.png :align: center :alt: Разделённое окно :width: 1200px Изменяя значения входных переменных в ``FBD-программе``, вы можете наблюдать изменения в выходных переменных и переменных внутри ``ST-программы``.