Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Система проектирования логического управления (требуется пом

Всё об автоматизации для дома

Автор темы
replic
новенький
новенький
Сообщения: 2
Зарегистрирован: 26 мар 2011, 06:32
Ф.И.О.: Иван Лысиков

Система проектирования логического управления (требуется пом

Сообщение replic » 26 мар 2011, 06:44

Есть задание разработать Систему проектирования алгоритмов логического управления дискретными процессами.
Система должна быть основана на сетях Петри. Преобразовывается в конечный автомат, и в конце получаем таблицу переходов.
И вот тут загвоздка. Зачем эта таблица переходов? Сам не могу понять Грустный
Еще нужно привести в пример подобные программные продукты. Не нашел ничего конкретного и однозначного. Под определение Scada-систем точно не подходит, и под программирование ПЛК тоже...
Если кто может помочь, очень прошу...

Аватара пользователя

Marrenoloth
частый гость
частый гость
Сообщения: 485
Зарегистрирован: 05 окт 2009, 10:51
Ф.И.О.: Тихомиров Дмитрий Викторович
Откуда: Москва
Благодарил (а): 13 раз
Поблагодарили: 16 раз
Контактная информация:

Re: Система проектирования логического управления (требуется

Сообщение Marrenoloth » 26 мар 2011, 12:36

Вообще, есть такой язык - SFC (http://ru.wikipedia.org/wiki/Sequential_Function_Chart). Есть еще его младший брат s7-Graph, но только у Siemens'а. Т.к. это стандарт IEC 61131-3 (http://ru.wikipedia.org/wiki/IEC61131-3), то он присутствует практически в любых средах программирования от любых производителей (названия в по линкам). Есть еще PlantiT от ProLeiT, но там так реализуется только процедура объекта с общеизвестным названием Sequence. Если нужно, расскажу подробнее.
А таблица переходов, как правило не выходит к пользователю (за исключением PlantiT я ее не видел, а в нем она больше для рецептов заточена, нежели для представления переходов - функционал, не имеющий отношения к теме), а используктся как промежуточный этап при компиляции графа переходов для генерации кода на асемблероподобном языке, который и понимают контроллеры.

Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1243
Зарегистрирован: 25 июл 2008, 09:25
Ф.И.О.: Гринев Эдуард Владимирович
Откуда: Оренбург
Благодарил (а): 11 раз
Поблагодарили: 37 раз
Контактная информация:

Re: Система проектирования логического управления (требуется

Сообщение CHANt » 26 мар 2011, 13:23

http://is.ifmo.ru/progeny/ - Наиболее развитая практическая тема применения конечных автоматов, приближающаяся к нотации UML. Много копий на эту тему сломано, но не суть. Сама идея, подходы, популяризация методики, ее применимость в любых системах программирования наверное единственная в рунете, которая держится до сих пор на энтузиазме, ну и наверное за гос. счет :) Там же найдете и некоторые системы похожие на Вашу задачу, скажем так - на начальном этапе.
--------------------------------------------------------------------------------------------
"Почти все начальники - дилетанты." © цитата из поста hell_boy )))


Автор темы
replic
новенький
новенький
Сообщения: 2
Зарегистрирован: 26 мар 2011, 06:32
Ф.И.О.: Иван Лысиков

Re: Система проектирования логического управления (требуется

Сообщение replic » 26 мар 2011, 19:37

А вот язык SFC и многие другие именно для программирования контроллеров предназначены? Ну то есть именно они генерируют ассемблероподобный код?
Просто как я понял, моя программа всего-то и должна что преобразовать сеть петри в автомат и создать таблицу переходов, которая будет использована для генерации кода для контроллера уже языком программирования... То есть, по идее это будет не язык программирования.
Про конечные автоматы я, конечно, читал, но для меня еще на 3 курсе это было кошмаром, который я не понимал. Сейчас вот вникаю подробнее, раз уж связался.
Большое спасибо за пояснения. Если можно, посматривайте эту ветку, чувствую, я надолго с этим застряну и еще может понадобиться какая-нибудь помощь... Заранее спасибо.

Аватара пользователя

Marrenoloth
частый гость
частый гость
Сообщения: 485
Зарегистрирован: 05 окт 2009, 10:51
Ф.И.О.: Тихомиров Дмитрий Викторович
Откуда: Москва
Благодарил (а): 13 раз
Поблагодарили: 16 раз
Контактная информация:

Re: Система проектирования логического управления (требуется

Сообщение Marrenoloth » 26 мар 2011, 20:08

Угораздило же вас (Исключительно ИМХО!)!
Посмотрите еще раз ссылку на стандарт IEC 61131-3, которую я давал выше - это именно стандарт, описывающий международные стандартные языки программирования PLC. А при компиляции все все-равно на асме. В конце-концов и РС ваш так-же работает!
Насколько я понимаю логику построения компилятора для такого языка, то сначала надо перевести сеть Петри в таблицу, а потом ее в перевести в ассемблер.
По-идее, вы можете выдавать эту таблицу как промежуточный результат для преподавателя, а потом генерить исходник, к примеру, на IL с заточкой под конкретную марку контроллеров. Иначе жизни этой программе не видать!
Эта ветка всем автоматом рассылает события - не волнуйтесь!


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2212
Зарегистрирован: 10 ноя 2009, 04:58
Ф.И.О.: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Система проектирования логического управления (требуется

Сообщение Михайло » 27 мар 2011, 06:34

Можно еще у Adastra скачать бесплатную версию TraceMode. Там есть красивый SFC. Результатом работы этого модуля SFC является рабочий код для определенных контроллеров. Про Сименс тебе сказали... там генерится код для контроллера только своих моделей.

Естественно этот стандарт по бОльшей части пригоден для контроллеров, так как именно они плотно работают с дискретными сигналами. Но никто не мешает сделать такой код-генератор для персонального компьютера. Например, для Visual Basic. Только оно надо?

viewtopic.php?f=33&t=900
viewtopic.php?f=35&t=1450

Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1243
Зарегистрирован: 25 июл 2008, 09:25
Ф.И.О.: Гринев Эдуард Владимирович
Откуда: Оренбург
Благодарил (а): 11 раз
Поблагодарили: 37 раз
Контактная информация:

Re: Система проектирования логического управления (требуется

Сообщение CHANt » 28 мар 2011, 05:37

replic писал(а):Просто как я понял, моя программа всего-то и должна что преобразовать сеть петри в автомат и создать таблицу переходов, которая будет использована для генерации кода для контроллера уже языком программирования...

А зачем в автомат то переводить? Сразу в код, будет проще. Может нужно просто два подхода и сеть Петри и конечный автомат - на практике проще решать задачу на конечных автоматах.
Вот ссылку ранее приводил, там есть пару подобных конвертеров, но для автоматов. В MS Visio шейпами создается граф в соответствии с нотацией и описание требуемой функции, т.е. описание входов/выходов. Из чертежа в MS Visio конвертер, средствами OLE, переводит в С, С#, Ассемблер еще что-то. Причем эти конвертеры снабжены и алгоритмами на тех же автоматах, и исходным кодом, и вполне понятным описанием. Да, последний вариант конвертера работает через шаблон XML необходимого языка. Мне кажется, такая проторенная дорожка проще, чем создавать свою вариацию SFC еще и в одиночку.
--------------------------------------------------------------------------------------------
"Почти все начальники - дилетанты." © цитата из поста hell_boy )))


Вернуться в «Умный дом»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей