Показать сообщение отдельно
Старый 04.07.2008, 18:26   #3
gtfox
Новичок
 
Регистрация: Dec 2007
Сообщения: 28
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Exclamation Ответ: Switch-технология

Я не знаю, прочитали ли вы все материалы с этого сайта, (я прочитал почти все, касающиеся этой методики), и могу сказать что в них есть ответы практически на все вопросы о "целесообразности применения данного подхода", "реализуемости", "приемуществах и недостатках".

Цитата:
Этот способ программирования, как и любой способ, связанный с автоматами, позволяет программировать функции только с малым количеством входных данных.
Как раз наоборот, с увеличением сложности проекта, эффективность данного метода возрастает

Примеры
А.А. Шалыто, Н.И. Туккель Проектирование программного обеспечения системы управления дизель-генераторами на основе автоматного подхода

Цитата: "Работа иллюстрирует применение технологии автоматного программирования на примере проектирования программного обеспечения системы управления двумя дизель-генераторами.

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

Вавилов К.В. LabVIEW и SWITCH-технология. Методика алгоритмизации и программирования задач логического управления

На последней странице даны количественные характиристики оъекта

Вавилов К.В., Шалыто А.А. Что плохого в неавтоматном подходе к программированию контроллеров?

Я вообще плохо себе представляю как можно программировать задачи логического управления без автоматного подхода...

Цитата:
Контроллеры пока не дожили до этого. Автомат на 20 входных событий выглядит просто чудовищно для сегодняшних ПЛК.
Входные события, (логические условия, разрешающие переход по дуге), реализуются стандартной логикой И, ИЛИ, НЕ и автоматы здесь не причем, структура автомата остается не изменной
Шалыто А.А. Реализация алгоритмов логического управления программами на языке функциональных блоков
а если использовать возможности создания макросов в SMLogix то все автоматы будут выглядуть просто замечательно

См. картинку: Структура всех автоматов одинакова. Число мультиплексоров = числу состояний.

Другой вопрос - возможная нехватка памяти. Этот вопрос может решится программированием на СИ (при помощи конструкции оператора switch и многозначным кодированием состояний), причем Visio2Switch сгенерирует код всей логики автоматически, по нарисованному в Visio графу переходов.
Еще один момент - не все любят и умеют программировать PLC на СИ, (в основном из за проблем с реализацией системозависимых операций. Логика программируется элементарно ), поэтому и был придуман язык ST (Pascal-е подобный), который избавляет от системозависимого программирования, и одновременно предоставляет все возможности языка высокого уровня (операторы Case, If, For), он присутствует в CoDeSys, и было бы хоро ввести его в SMLogix, что представляется мне маловероятным
Изображения
Тип файла: png 1.PNG (24.3 Кбайт, 591 просмотров)
gtfox вне форума   Ответить с цитированием