This is topic SFC - почему именно так? in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000284.html

Posted by Андрей Сергеевич (Участник № / Member № 2103) on :
 
Решили часть логики проекта - а именно последовательные технологические операции - открыть 1й клапан, дождаться его открытия, открыть 2й клапан, дождаться его открытия и т.д. сделать на SFC.
Оказалось, что это принципиально невозможно потому, что на каждом тике SFC-последовательность должна пройтись от начала до конца. Иными словами ее невозможно использовать как машину состояний, в которой на каждом тике осуществляется действие состояния и проверяется условие перехода (например, как у Siemens в PCS7).
Вопрос в следующем - для каких задач предполагается использовать SFC в существующем виде?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
При каждом вызове программы на языке SFC ее исполнение начинается с шага, который является "Начальным".
Но далее исполняются только те шаги, которые определены заданными условиями переходов.
При соответствующем задании условий переходов Вы всегда можете обойти те шаги (фрагменты алгоритма), которые на данный момент являются исполненными.
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
"Обходить" нагляднее и проще на ST с использованием операторов ветвления.
Я тоже не понимаю, для чего нужен SFC в такой реализации!

Исполнение SFC видится мне скорее наподобие метапрограммы TM5.

Условиям и шагам не нужны свои переменные - пусть оперируют основными аргументами программы, а то только и занимаешься созданием аргументов.

Условие должно формировать свое состояние явно - типа: <"ИМЯ_УСЛОВИЯ"=TRUE> или <RETURN TRUE>, чтобы можно было внутри условия использовать множественные сравнения или заводить таймер.

И программа не должна переходить к следующему условию, пока не выполнилось текущее - в этом смысл.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Язык SFC реализован в соответствии со стандартом МЭК.
В языке FBD есть функциональный блок SSTP (Конечный автомат - в разделе "Функции выбора"), который вполне адекватен описанной в начале темы задаче.
Это наше расширение стандарта МЭК.
 
Posted by Андрей Сергеевич (Участник № / Member № 2103) on :
 
В итоге решили проблему следующим образом.
На SFC в отдельном проекте в бесплатной версии пишем программу и документируем его в HTML.
Затем специально написанной программой выделяем из HTML код шагов и переходов этой SFC. На базе этих кусочков кода автоматически в той же программе формируем ST-код (классическую машину состояний), которую затем вставляем в профессиональную версию.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2