Уважаемая служба технической поддержки или знатоки Trace Mode!
Мы начинающие пользователи Trace Mode. В настоящий момент изучаем инструментальную среду с точки зрения возможности реализации нашей задачи. Для каждого объекта нашей системы разработана и специфицирована в БД диаграмма состояний (конечный автомат). Мы пытаемся изоморфно перевести свою модель в Trace Mode с использованием языков SFC и ST. В связи с этим, возникли вопросы:
1. Есть ли возможность в SFC диаграмме менять последовательность проверки условий переходов, или переходы всегда проверяются только в той очередности, в которой они были созданы.
2. Почему в ST коде SFC перехода возможно только булевское выражение, а не, скажем, тело булевской функции, позволяющее, кроме собственно проверки условия, сделать что-то еще.
3. Есть ли какой-нибудь способ посмотреть ST код, сгенерированный системой по SFC диаграмме.
4. Существует ли (или планируется ли) программный интерфейс для генерации данных проекта, в частности, возможна ли автоматизированная генерация SFC и ST кода с использованием внешних данных.
Спасибо.
Posted by M@V (Участник № / Member № 1800) on :
Вскакиваем на форум и, не читая его, сразу валим вопросы. По крайней мере на 3-й вопрос Вы найдете ответ в топике на этой странице: Программа для получения ST-кода по SFC
Posted by Ndv63 (Участник № / Member № 2834) on :
Уважаемый M@V!
Разумеется, я прочитал весь форум прежде чем задавать вопросы. Но, если Вы внимательно прочитаете вопрос, то поймете, что меня интересует ST представление SFC кода, сгенерированное системой Trace Mode, а не внешней программой по HTML документу.
Posted by M@V (Участник № / Member № 1800) on :
И чего бы это писалась внешняя программа??
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Условия переходов выполняются в соответсвии со схемой, а не в порядке их создания. Менять вручную их порядок нельзя.
2. Это стандарт IEC 61131-3, ничего поменять здесь мы не можем.
3. Внутренней функции для перевода SFC в ST в Trace Mode 6 нет.
4. Такой возможности нет, и не придвидится.
Posted by Ndv63 (Участник № / Member № 2834) on :
Спасибо за ответ. Возможно, я не точно сформулировал первый вопрос. Разумеется, условия переходов выполняются в соответствии с диаграммой. Я имел в виду переходы, исходящие из одного шага. Порядок обхода при проверке условий переходов, исходящих из одного шага, соответствует той последовательности, в которой они создавались. При этом, если выполняются условия более чем для одного перехода, то реализуется тот переход, который был проверен первым (и соответственно первым был сгенерирован). В нашей же модели, предусмотрена система приоритетов, так как обеспечение попарной несовместности всех возможных переходов очень сильно усложняет модель. Если бы была возможность управлять последовательностью, в которой производится обход условий (например, перемещая переходы в рамках списка), то мы смогли бы просто выстроить их в порядке приоритетов.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Такой возможности нет.
Posted by Андрей Сергеевич (Участник № / Member № 2103) on :
Как разработчик программы SFC_2_ST не могу не отметить, что данная программа разрабатывалась отнюдь не для демонстрации полного кода SFC в виде ST-программы, а потому, что реализация SFC, заложенная в Trace Mode не позволяет последовательно управлять набором исполнительных механизмов - все шаги SFC должны быть пройдены за один цикл. Получаемая же с помощью программы реализация проходит один шаг (а лучше сказать состояние) за один цикл (как это реализовано для SFC, например, в системе Siemens PCS7). Т.е. например, можно подать команду на открытие клапана, дождаться прихода конечников, и затем запустить насос.