******************************* Создание ST модуля в zWorkbench ******************************* .. contents:: Содержание: Создание, проверка, отладка проекта =================================== Во вкладке :guilabel:`Редактор` присутствует панель :guilabel:`Обозреватель проекта`. Нажимаем на :guilabel:`Программы` правой кнопкой мыши (ПКМ) для вызова контекстного меню, далее выбираем :guilabel:`Добавить...`. В появившемся окне выбираем нужный тип ``Панель Z036_B1``, далее нажимаем кнопку :guilabel:`Добавить` : .. figure:: ../../../st/img/1.png :align: center В дереве объектов :guilabel:`Программы` появилась ``Панель Z036_B1`` : .. figure:: ../../../st/img/2.png :align: center Модуль ST ========= Нажимаем на :guilabel:`Панель Z036 В1` ПКМ и выбираем в контекстном меню :guilabel:`Добавить`. В появившемся окне выбора категории объектов выбираем ``Модуль ST``. Нажимаем кнопку :guilabel:`Добавить` : .. figure:: ../../../st/img/3.png :align: center Двойным щелчком мыши нажимаем на панели :guilabel:`Модуль ST`, откроется вкладка ``Модуль ST`` : .. figure:: ../../../st/img/5.png :align: center Добавляем программу в поле окна ``Модуль ST`` и нажимаем на кнопку :guilabel:`Проверка` : .. figure:: ../../../st/img/6.png :align: center При неправильном написании программы появится окно об ошибке, где описывается в каком месте ошибка. Если ошибок в проекте не обнаружено, появится окно об успешном окончании проверки. При проверке также появляется список переменных, которые программа определила для режима симуляции: .. figure:: ../../../st/img/20.png :align: center Использование ST в ПЛК ====================== * ``Модуль ST`` – текстовый вид программы. * ``FBD- программа`` – графический язык программирования. Нажимаем на ``FBD – программа`` на панели :guilabel:`Обозреватель проекта` двойным щелчком мыши. Открылась новая вкладка: .. figure:: ../../../st/img/7.png :align: center Во вкладку из панели :guilabel:`Обозреватель проекта` перетащим ``Модуль ST`` внутрь ``FBD-программы`` : .. figure:: ../../../st/img/8.png :align: center Переменные ========== Список переменных располагается в нижней части схемы в виде таблицы. Для добавления новой переменной нажимаем кнопку :guilabel:`+` на панели инструментов, после чего откроется окно :guilabel:`Редактор свойств` переменной: .. figure:: ../../../st/img/9.png :align: center Создаем переменные (5 переменных – для этого проекта), нажимаем :guilabel:`ОК` : .. figure:: ../../../st/img/23.png :align: center Далее перетащим из таблицы все переменные на схему к ``Модулю ST`` : .. figure:: ../../../st/img/10.png :align: center Видно, что входы, выходы ``Модуля ST``- красные, а переменных - синие. Это означает, что не совпадают типы данных. Чтобы определить какой тип данных, открываем вкладку ``Модуль ST``. Там указано ``BOOL`` (0,1). Это соответствует типу данных переменных – ``Логический`` : .. figure:: ../../../st/img/11.png :align: center Чтобы поменять тип данных переменных, в нижней части схемы в таблице нажимаем двойным кликом на каждую переменную: .. figure:: ../../../st/img/24.png :align: center Далее откроется окно :guilabel:`Редактор свойств` каждой переменной: .. figure:: ../../../st/img/26.png :align: center В данном окне нажимаем на вкладку :guilabel:`Тип данных` : .. figure:: ../../../st/img/27.png :align: center Меняем :guilabel:`Тип данных` каждой переменной на ``Логический`` и нажимаем :guilabel:`OK` : .. figure:: ../../../st/img/28.png :align: center Входы, выходы переменных стали красными: .. figure:: ../../../st/img/25.png :align: center Все переменные идут по типу ``Чтение``. Чтобы соединить две переменные с выходами ``Модуля ST`` нужно поменять их тип на ``Запись``. Для этого на поле схемы нажимаем на нужные переменные и в открывшемся окне :guilabel:`Редактор свойств` меняем :guilabel:`Тип данных` на ``Запись``. Переменные стали записываемыми: .. figure:: ../../../st/img/14.png :align: center Соединяем переменные с входами, выходами ``Модуля ST`` : .. figure:: ../../../st/img/15.png :align: center Дисплей ======= В панели :guilabel:`Обозреватель проекта` нажимаем ПКМ на :guilabel:`Дисплей` и выбираем в контекстном меню :guilabel:`Добавить…` : .. figure:: ../../../st/img/29.png :align: center В открывшемся окне выбираем :guilabel:`Список объектов` – :guilabel:`Экран` и нажимаем кнопку :guilabel:`Добавить` : .. figure:: ../../../st/img/30.png :align: center Двойным щелчком мыши нажимаем на панели :guilabel:`Дисплей`, откроется новая вкладка. Во вкладку из панели :guilabel:`Обозреватель проекта` перетащим ``Экран`` : .. figure:: ../../../st/img/31.png :align: center Открываем вкладку :guilabel:`Панель` и нажимаем кнопку :guilabel:`Проверка`. В нижней части :guilabel:`Вывод` появится запись ``Успешное окончание проверки`` : .. figure:: ../../../st/img/33.png :align: center Симуляция ========= На панели Обозреватель проекта в виде дерева отображается структура открытого проекта. На группе :guilabel:`Сети` нажимаем правой кнопкой мыши и выбираем в контекстном меню :guilabel:`Добавить`. В открывшемся окне выбираем в списке объектов – :guilabel:`Карта сети` и нажимаем кнопку :guilabel:`Добавить` : .. figure:: ../../../st/img/16.png :align: center На панели в группе :guilabel:`Сети` появилась подвкладка ``Карта сети``. В контекстном меню при нажатии ПКМ на ``Карта сети`` выбираем :guilabel:`Открыть`. Открылось окно графического представления создаваемой сети: .. figure:: ../../../st/img/17.png :align: center Перетаскиваем ``Панель Z036_B1`` из панели :guilabel:`Обозреватель проекта` на схему ``Карта сети``. Нажимаем ПКМ на контроллер и выбираем пункт :guilabel:`Симулятор` : .. figure:: ../../../st/img/18.png :align: center Редактор перейдет в режим ``симуляции``. Вкладку ``Карта сети`` можно закрыть: .. figure:: ../../../st/img/34.png :align: center В ``FBD-программе`` входные переменные меняются в нижней части, в таблице: .. figure:: ../../../st/img/35.png :align: center В ``FBD –программе`` входные переменные обновляются сразу: .. figure:: ../../../st/img/36.png :align: center Открываем ``Модуль ST`` двойным кликом в :guilabel:`Обозреватель проекта`. Открылась вкладка и появился список из переменных: .. figure:: ../../../st/img/37.png :align: center Чтобы на экране одновременно отображались две вкладки нажимаем в верхней части :guilabel:`ОКНА` – :guilabel:`Разделить` : .. figure:: ../../../st/img/38.png :align: center Одновременно отобразились две вкладки: ``Модуль ST`` и ``FBD – программа`` : .. figure:: ../../../st/img/39.png :align: center Передвигаем картинку по центру, чтоб все входы, выходы были видны в ``FBD-программе`` : .. figure:: ../../../st/img/40.png :align: center Переменные введены, нажимаем :guilabel:`Шаг` : .. figure:: ../../../st/img/41.png :align: center Когда пройдут все шаги до конца и программа перейдет в начало, только тогда произойдет обновление установленных значенией переменных в ``Модуль ST`` : .. figure:: ../../../st/img/43.png :align: center ``ВХОДНЫЕ`` переменные: * в ``FBD – программа`` обновляются сразу, * в ``Модуль ST`` обновляются только, когда программа пройдет все строки и переходит из конца в начало. ``ВЫХОДНЫЕ`` переменные (наоборот): * в ``FBD – программа`` только когда программа переходит из конца в начало, * в ``Модуль ST`` обновляются сразу. Продолжаем нажимать шаги и наблюдать выходные переменные. Нажимаем :guilabel:`Шаг` : .. figure:: ../../../st/img/50.png :align: center Программа перешла на следующую строку и выходная переменная ``Модуля ST`` обновилась сразу: .. figure:: ../../../st/img/45.png :align: center А в ``FBD – программе`` пока нет: .. figure:: ../../../st/img/46.png :align: center Нажимаем :guilabel:`Шаг` : .. figure:: ../../../st/img/47.png :align: center Обновились выходные переменные в ``Модуле ST`` и в ``FBD – программе``, так как программа вернулась в начало: .. figure:: ../../../st/img/49.png :align: center Останавливаем симуляцию нажатием на :guilabel:`СТОП` : .. figure:: ../../../st/img/52.png :align: center Остановлено: .. figure:: ../../../st/img/53.png :align: center Если открыть вкладку ``Модуль ST``, то будет отображен список из переменных в последнем состоянии, в котором были в режиме симуляции: .. figure:: ../../../st/img/54.png :align: center Список переменных появляется и в режиме ``симуляции``, и также в режиме ``проверки`` (см. выше).