GrafcetMaker
Открыть редактор

Моделирование

Симулятор выполняет ваш графсет точно по правилам IEC 60848, так что вы можете проверить его до того, как он попадёт в ПЛК.

Запуск и остановка

Нажмите F5 (или Моделирование › Начать моделирование). Диаграмма блокируется, элементы управления моделированием заменяют инструменты вверху, слева появляется панель Моделирование (сверните её шевроном, чтобы видеть больше диаграммы), и часы начинают идти. Shift+F5 останавливает моделирование и возвращает к редактированию.

Изменение входов

Панель Моделирование перечисляет входы:

  • У входов BOOL есть переключатель и кнопка Удерж. для кратковременного нажатия (как у кнопки без фиксации; с клавиатуры удерживайте на ней Space).
  • У входов INT, REAL и TIME есть поле значения.

Можно также щёлкнуть вход BOOL там, где он написан в условии перехода или условии на диаграмме (или коснуться его пальцем): он включается или выключается. Графсет эволюционирует, как только изменяется вход.

Во время моделирования каждая переменная INT, REAL или TIME, записанная в условии перехода или условии, показывает своё текущее значение в маленьком окошке над именем, а запоминаемое действие показывает значение записываемой им переменной под своим прямоугольником. Щёлкните значение (или коснитесь его), чтобы ввести новое, затем нажмите Enter (Escape отменяет). Это работает для входов, а также для внутренних переменных и выходов, например чтобы проверить счётчик вблизи его предела.

Наведите указатель на переход (или коснитесь его), чтобы увидеть, чего он ждёт: шаги, которые сначала должны стать активными, или члены его условия перехода, которые ещё ложны, с оставшимся временем таймера, например 10s/X0. Фронт, например ↑start, всегда указывается в списке: он истинен только в момент изменения своего входа.

Время

Время в симуляторе виртуальное и детерминированное.

  • F5 приостанавливает часы и снова запускает их. Таймеры (5s/X2) идут, только пока часы работают.
  • Скорость — от ×0.25 до ×10. Быстро перескакивает сразу от истечения одного таймера к следующему.
  • F10 переходит к истечению следующего таймера и выполняет этот цикл.
  • ⟲ перезапускает моделирование с начальной ситуации.

Полоса показывает время, номер цикла и момент истечения следующего таймера. Скорость по умолчанию задаётся в Настройки › Моделирование.

Что видно на диаграмме

  • Активные шаги закрашены и несут метку-точку, а под ними показано, сколько времени они активны.
  • Разрешённые переходы отмечены маркером ▶; переходы мигают при срабатывании.
  • Истинные сигналы в условиях переходов и условиях действий выделены зелёным, полужирным и подчёркиванием: включённая переменная, активный шаг Xn, выполняющееся сравнение. То, что не зелёное, — это то, чего переход ещё ждёт. Под чертой НЕ цвет показывает сам сигнал: в /a a зелёный, когда a включён.
  • Выполняемые непрерывные действия показывают ✓; запоминаемые действия показывают текущее значение своей переменной.
  • Шаг за шагом: когда одно изменение заставляет сработать несколько переходов подряд, диаграмма показывает каждый пройденный шаг не меньше 0,1 с, чтобы можно было проследить за меткой. Ждёт только отображение: в моделировании эти неустойчивые шаги не длятся нисколько, как требует IEC 60848, а показанные значения уже окончательные.

Журнал эволюции

Журнал на панели «Моделирование» (свёрнут: щёлкните Журнал эволюции, чтобы открыть его) перечисляет каждый цикл с тем, что его вызвало, и каждую итерацию поиска устойчивости: сработавшие переходы, активированные и деактивированные шаги. Там видны неустойчивые эволюции (шаги, пройденные без остановки). Щёлкните цикл, чтобы увидеть диаграмму такой, какой она была в тот момент.

Наблюдение за несколькими графсетами

При разделении (Ctrl+\) обе области показывают моделирование вживую: следите за производственным графсетом и его графсетом безопасности или за макрошагом и его развёрткой рядом.

Временная диаграмма

Панель Временная диаграмма (её кнопка в правом нижнем углу) отображает каждую переменную и шаги открытого графсета во времени. Щёлкните или перетащите в ней, чтобы вернуться назад во времени: диаграмма следует за этим. К текущему моменту возвращает в настоящее.

Сценарии

Чтобы точно повторить тест, запишите его:

  1. Щёлкните Запись: моделирование перезапускается и записывает каждое изменение входа с его временем.
  2. Проведите тест, затем остановите запись и дайте сценарию имя. Он сохраняется в проекте.
  3. Воспроизвести перезапускает моделирование и воспроизводит сценарий.

Когда графсет никогда не стабилизируется

Если переходы постоянно вызывают срабатывание друг друга (например, цикл, в котором все условия переходов истинны), эволюция никогда не становится устойчивой. Симулятор останавливается после 1000 итераций и сообщает в «Проблемах» о бесконечной неустойчивой эволюции. Добавьте условие (часто фронт ↑a), чтобы цикл не мог выполняться бесконечно. См. Устранение неполадок.