******************************* Создание ST модуля в zWorkbench ******************************* .. contents:: Содержание: Создание, проверка, отладка проекта =================================== Во вкладке :guilabel:`Редактор` присутствует панель :guilabel:`Обозреватель проекта`. Нажимаем на :guilabel:`Программы` правой кнопкой мыши (ПКМ) для вызова контекстного меню, далее выбираем :guilabel:`Добавить...`. В появившемся окне выбираем нужный тип ``Панель M245-07``, далее нажимаем кнопку :guilabel:`Добавить` : .. figure:: ../image/st/1.png :align: center В дереве объектов :guilabel:`Программы` появилась ``Панель M245-07`` : .. figure:: ../image/st/2.png :align: center Модуль ST ========= Нажимаем на :guilabel:`Панель M245-07` ПКМ и выбираем в контекстном меню :guilabel:`Добавить`. В появившемся окне выбора категории объектов выбираем ``Модуль ST``. Нажимаем кнопку :guilabel:`Добавить` : .. figure:: ../image/st/3.png :align: center Двойным щелчком мыши нажимаем на панели :guilabel:`Модуль ST`, откроется вкладка ``Модуль ST`` : .. figure:: ../image/st/4.png :align: center Добавляем программу в поле окна ``Модуль ST`` и нажимаем на кнопку :guilabel:`Проверка` : .. figure:: ../image/st/5.png :align: center При неправильном написании программы появится окно об ошибке, где описывается в каком месте ошибка. Если ошибок в проекте не обнаружено, появится окно об успешном окончании проверки. Кроме локальных переменных и переменных для входов и выходов в программе можно использовать глобальный переменные проекта и переменные устройства. Для этого необходимо объявить внутренние переменные, которые ссылаются на них, как показано в примере ниже. Объявление переменных устройства :: 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 Объявление глобальных переменных и массивов :: 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 Имя переменных устройства и глобальных переменных указывается после знака %. Использование ST в ПЛК ====================== * ``Модуль ST`` – текстовый вид программы. * ``FBD- программа`` – графический язык программирования. Нажимаем на ``FBD – программа`` на панели :guilabel:`Обозреватель проекта` двойным щелчком мыши. Открылась новая вкладка: .. figure:: ../image/st/6.png :align: center Во вкладку из панели :guilabel:`Обозреватель проекта` перетащим ``Модуль ST`` внутрь ``FBD-программы`` : .. figure:: ../image/st/7.png :align: center Переменные ========== .. figure:: ../image/st/8.png :align: center Список переменных располагается в нижней части схемы в виде таблицы. Для добавления новой переменной нажимаем кнопку :guilabel:`+` на панели инструментов, после чего откроется окно :guilabel:`Редактор свойств` переменной: .. figure:: ../image/st/9.png :align: center Устанавливаем нужное имя и тип данных для переменных и нажимае Ok. Аналогичным образом создаем еще четыре переменных. Далее перетащим из таблицы все переменные на схему к ``Модулю ST`` и подключим связи ко входам и выходам: .. figure:: ../image/st/11.png :align: center При создания блока переменной он по умолчанию устанавливается в режим ``Чтение``. Чтобы подключить переменную на выход, нужно поменять их тип на ``Запись``. Для этого на поле схемы нажимаем на нужные переменные и в открывшемся окне :guilabel:`Редактор свойств` меняем :guilabel:`Тип данных` на ``Запись``. Переменные стали записываемыми: .. figure:: ../image/st/12.png :align: center Открываем вкладку :guilabel:`Панель` и нажимаем кнопку :guilabel:`Проверка`. В нижней части :guilabel:`Вывод` появится запись ``Успешное окончание проверки`` : .. figure:: ../image/st/15.png :align: center Симуляция ========= Для симуляции программы открываем элемент ``FBD-программа`` и нажимаем кнопку на панели управления: .. figure:: ../image/st/17.png :align: center В ``FBD-программе`` входные переменные меняются в нижней части, в таблице. Так же значения отображаются и на входах/выходах блоков : .. figure:: ../image/st/18.png :align: center Открываем ``Модуль ST`` двойным кликом в :guilabel:`Обозреватель проекта`. Открылась вкладка и появился список из переменных: .. figure:: ../image/st/19.png :align: center Чтобы на экране одновременно отображались две вкладки нажимаем в верхней части :guilabel:`ОКНА` – :guilabel:`Разделить` : .. figure:: ../image/st/20.png :align: center Одновременно отобразились две вкладки: ``Модуль ST`` и ``FBD – программа`` : .. figure:: ../image/st/21.png :align: center Меняя значения входных переменных можно наблюдать как меняются значения на выходах блока и переменные в ``ST-программе``.