1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Монограф

Модератор: специалисты по PLC

Ответить

Автор темы
leon78
эксперт
эксперт
Сообщения: 1024
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 27 раз
Поблагодарили: 104 раза

Монограф

Сообщение leon78 »

(c) Михайло
Предлагаемый подход автоматного программирования я называю монограф. Может быть это и не новинка в области автоматного программирования, но метод не становится от этого хуже. Если у предлагаемой концепции есть какое-то уже научное название, то ради бога, будем применять укоренившееся название. Знаком со switch-концепцией, но, к сожалению, не было времени проанализировать особенности этого метода. Поэтому все идеи по изменению терминологии и совершенствованию подхода приветствуются.

Думаю, не надо объяснять значение таких терминов, как граф, вершина (состояние), переход, условия перехода, действие. По английски: graph, state, transition, transition condition, action.

Прежде чем приступить к объяснению сущности монографа, приведу концепцию канонической формы графа. Термин также авторский, поэтому предлагайте свои идеи.

Какой граф является каноническим? Это граф, у которого:
1. В условиях переходов записаны исключительно входные сигналы, коими у ПЛК являются входные сигналы I.
2. В вершинах выполняются действия исключительно по включению/отключению выходных сигналов, коими у ПЛК являются выходные сигналы Q.
3. Промежуточные маркеры M используются только для хранения номера текущего состояния графа.

Зачем нужна каноническая форма графа?
1. Подумайте, что это за граф управления, который в условии перехода опрашивает состояние какого-либо выхода Q, который сам же устанавливает или сбрасывает??? Разве граф не может в зависимости от того, включил или выключил тот или иной выход, перейти в такое состояние, в котором опрашивать этот выход не потребуется?
2. Если граф включает какой-либо промежуточный бит, например, из области M, т.е. не относящийся к выходу, то он делает "засечку" на память для себя самого. Но ведь эти "засечки" можно делать и с помощью перехода в некоторое состояние, нахождение в котором будет означать включение того "левого" промежуточного бита.

Надеюсь понятно объяснил... Итак, канонический граф запоминает ту или иную входную, выходную или промежуточную информацию исключительно с помощью собственных состояний. На самом деле, эта форма графа обычно наиболее легко читается, т.к. не приходится держать в голове, где и что запоминается и анализировать, к каким программным последствиям то или иное запоминание приведет.

ПРИМЕЧАНИЕ: На практике область М может оказаться как входной, так и выходной информацией по отношению к графу. Это справедливо в тех случаях, когда эта память используется для коммуникационного обмена данными с панелью оператора, преобразователем и другими девайсами. В этих случаях, эти биты нужно считать соответственно входными или выходными.

<Продолжение следует.>
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
Ответить

Вернуться в «F.A.Q. по структуре программ»