Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 14 из 14

Тема: тонкости вложенных шагов Sfc

  1. #11

    По умолчанию

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    Нет. Я же хочу чтобы эти 10 секунд диаграмма не стояла, а продолжала ходить по куче всяких других шагов и выполнять кучу всякой другой нужной работы. В упрощенном SFC для этого придется делать параллельную всем другим ветку с отслеживанием этого таймера или всовывать эти проверки в другие шаги. Если мне это нужно в нескольких шагах, то придется делать ветки параллельные тем параллельным которые... я уже запутался в этой лапше. В полном SFC я просто вставлю в шаг 1 доп. действие с соотв-м классификатором. Все дела касающиеся работы данного шага будут у меня просто и компактно к нему прилеплены. Даже случись нужда (тфу, тфу, тфу) 1 Января с утра, я смогу разобраться, как это работает
    Но не противоречит ли данный подход (выполнения действия шага без однозначной привязки к управляющему маркеру) самому подходу подобного (SFC, Petri Nets) программирования. где ключевым понятием является связка "шаг-действие-переход" и управляющий маркер?

  2. #12

    По умолчанию

    Цитата Сообщение от Kiselev Посмотреть сообщение
    Но не противоречит ли данный подход (выполнения действия шага без однозначной привязки к управляющему маркеру) самому подходу подобного (SFC, Petri Nets) программирования. где ключевым понятием является связка "шаг-действие-переход" и управляющий маркер?
    Философский вопрос…

    Выходы ПЛК можно включать/выключать в разных шагах, при этом будут активироваться/деактивироваться некие механизмы и 'нечто' делать сами (как бы аппаратно определенные действия). Это нормально? Это связано с маркерами? Вероятно, да.

    Теперь допустим, мы хотим этим 'нечто' управлять с контроллера более детально. Вместо сущности 'переменная' введем сущность работа или 'действие', которое можно точно также включать/выключать в разных шагах. В МЭК SFC примитивным действием может быть переключение логической переменной (имя BOOL переменной можно в лоб писать вместо имени МЭК действия), но мы имеем замечательную возможность наполнить действие чем-либо более программно сложным. Есть ли большая разница между включением/выключением по маркерам переменных и действий? Практически никакой.

    Действия МЭК – это довольно самостоятельные сущности, их можно запускать и останавливать, как и некие внешние устройства. Маркер же действительно ходит по шагам и управляет МЭК действиями, как директор фирмы разными отделами и их работами. Сотрудники не должны все бросать, если директор ушел.

    При этом подходе, глядя на SFC схему мы не должны брать в голову, что делается внутри каждого действия. Этого SFC схема не описывает. Она активирует и деактивирует действия в нужных шагах, в нужное время. Ключевым является 'шаг-условие-переход'. Действия (переменные) – это только инструмент исполнения решений SFC.

  3. #13

    По умолчанию

    2Игорь Петров

    Да,я понимаю о чем вы говорите. И с практически (а может и полностью) с Вами согласен. Просто меня смущает следующее: Я начал активно примять SFC в своих проектах после того, как начал копатьсяв теме конечных автоматов, диаграмм состояний и т.д. Т.е. для меня SFC на сегодняшний день это компромисс между своими старыми решениями в области программирования прикладных программ ПЛК (причем не только в среде Codesys, но и массе МЭК-экзотики) и пока еще не освоенной (по крайней мере на том уровне,чтобы можно было применять в коммерческих проектах) switch-технологии. Т.е. я пытаюсь при помощи SFC создать некую структуру (не знаю корректно ли нызывать ее автоматом) с заданным и определенным количеством состояний, чтобы исключить неоднозначность как на программном уровне, так и на уровне документирования\сопровождения\модернизации проекта. Все чаще приходится работать над проектами совместно с кем-то, очень трудно разбираться в чужом коде, тем более когда решения скажем, мягко, "не тривиальны". Вот и пытаюсь выработать некий "стандард" (хотя бы в рамках своей фирмы) для написания\сопровождения плк-программ.

    Потому меня и смущает эта неоднозачность с МЭК-дейсвиями. Но будем разбираться, копать дальше:-)

  4. #14
    Пользователь
    Регистрация
    12.08.2008
    Адрес
    Белгород
    Сообщений
    63

    По умолчанию

    Цитата Сообщение от Kiselev Посмотреть сообщение
    2Игорь Петров

    и пока еще не освоенной (по крайней мере на том уровне,чтобы можно было применять в коммерческих проектах) switch-технологии.
    для этого появился конвертер http://www.owen.ru/forum/showthread....4646#post74646

Страница 2 из 2 ПерваяПервая 12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •