|
Когда не нужна ОС РВ?, навеяно постом "Я написал RTOS" |
|
|
|
Mar 2 2006, 15:58
|

инженер
   
Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701

|
Так как автор поста http://electronix.ru/forum/index.php?showtopic=12972загубил на корню возможность обсуждения, я и открыла новую тему. Вопрос может быть поставлен так - автору скорее всего и не нужна ОС РВ. Кругу задач его предметной области (ЦОС) свойственна - цикличность (каждый такт - ввод+обработка+вывод), жесткое РВ, работа с аппаратурой возможна на уровне конфигуривания специализированной библиотеки. Намерено так написала  . Чем тогда это не "IsaGraf" (или любой другой пакет языков программирования ПЛК), скажем так "IsaGraf для жесткого реального времени"? Или по другому - нельзя ли применить подход МЭК к АСУТП для другой предметной области (которые также трудоемки, также требуют высокой надежности ПО и у которых уже виден базис свойств). Например, к таким задачам - ЦОС, алгоритмы функционирования информационно-измерительных систем, ... Будет ли при этом этот новый case-инструмент альтернативой ОС РВ? Это возможно только на базе ОС РВ или самостоятельный путь развития программных технологий? Приглашаю всех к дискуссии.
|
|
|
|
|
 |
Ответов
|
Mar 3 2006, 17:57
|
Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675

|
Маленькие замечания. ISaGRAF - интерпретатор. Других интерпретаторов не знаю. CoDeSys, OpenPCS - компиляторы (т.е. так называемая целевая/управляющая система там присутствует, но пользовательский код (МЭК языки) компилируется). ISaGRAF-у ОС, собственно, и не нужна, ему нужен аппаратный таймер, по которому он будет следить за временем выполнения такта: ввод-обработка-вывод - wait, если быстро, ошибка, если переполнение такта - вот и все реальное время ... А вот когда появляется задача связи (по Ethernet, например), то тут удобнее ОС: 1 задача - задача связи, вторая задача - интерпретатор TIC-кода (хотя, никто не мешает организовать связь на прерываниях). Siemens STEP7 - больше чем уверен, что компилятор. Новые Siemens PLC вообще построены на чипе Speed7 - http://www.speed7.com/ - спец. CPU заточенные под STEP7. По поводу технологов - их язык FBD - т.е. функциональные блоки (LabView туда же). Они так видят мир  И не надо им мешать. Еще в МЭК считаю полезным SFC. А ST там для того, если поймают обычного программиста и скажут - пиши на МЭК языке - ему будет куда спрятаться (шутка). Рефлекс, как я понял, это еще один вариант SFC+ST. (поправьте, если я не прав) Ну приведу еще один язык(пример), который любят наши технологи (тоже аналог SFC+ST): прог ТАЙМЕР_1 выкл; сит начало; переход СЧЕТ; конец; сит СЧЕТ; T_1 = 0; t_1 = 0; м: t_1 +=1; переход ДОБАВИТЬ_СЕК если t == 100, // СЧЕТ.м; конец; сит ДОБАВИТЬ_СЕК; T_1 += 1; t_1 = 0; переход СЧЕТ.м; конец; конец; А когда им предложили ISaGRAF - они отказались - по-русски писать нельзя
|
|
|
|
|
Mar 11 2006, 14:56
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Цитата(Andrew2000 @ Mar 3 2006, 21:57)  ... Они так видят мир  И не надо им мешать. Когда я разбирал МЭК системы проектирования (ну, простите меня - язык у меня ... не подымается  это назвать "программированием") Concept & Unity Pro от Schneider-Electric (это бранд и PLC и эти его пакеты ПО!) - "споткнулся" я в таком месте: в проекте можно организовать несколько задач (в Unity Pro даже - много: по принципу, наверное, чем больше там "рюшичек", тем дороже это можно "втулить"): фоновая задача, периодическая задача, приоритетная задача, ... N таймерных задач, M задач "по событиям" ... вас пока ничего здесь не смущает? :D Посмотрит CoDeSys: http://www.prolog-plc.ru/3s/CoDeSys/PT_Task.htmЦитата На представленном ниже рисунке видно, что задачи могут быть трех типов: - cyclic: задача выполняется циклически через заданный интервал времени; - freewheeling: выполнение задачи происходит при наличии у процессора свободного времени; - single events: задача запускается по событию (фронту логического сигнала). Я не раз спрашивал ... и интеграторов ISaGRAF и CoDeSys ... Они мне отвечают, но сильно нечленораздельно, что-то типа: ... если CoDeSys выполняется под управлением RTOS, то в системе может выполняться несколько задач... Но при чём здесь RTOS? или не-RT? если, в силу опримитизивленности средств выражения ( "Они так видят мир") - у них (средства МЭК) нет и не может быть ни средств синхронизации ассинхронно развивающихся задач, ни средств защиты (атомарного доступа) данных! Что будет, как вы предполагаете, если одна задача быдет циклически выполнять нечто: Код if( X == 0 ) { /* X исключая экстремальные обстоятельства бывает только 0 и 1*/ X++; ... if( X > 1 ) /* а это уже сложилась экстремальная ситуация! */ { /* пуск стратегической ракеты по той клятой Австралии*/ } }; else X = 0; А втора таймерная или "по событию" задача ненароком, для служебных целей где-то сделает: Код X++; Вот только когда-то ... один раз сложится ...  ... вспоминается тот давний анекдот: "... чёрт с ней, с этой Австралией - но дисциплина то хоть какая должна быть?!"(с). То что это "почти невероятно" ("попасть" 2-й задачей после вычисления if, но ещё до всего прочего) - это не аргумент (учите Э.Дэйкстру)! Я уже не говорю о том, что каждая задача начинается с фазы "ввод", и читает массив изменённых значений своих входных переменных... Задача А прочитала Х = 1, ... прервавшая её задача Б начинает с того, что читает Х = 2, ... что считать будем Х после завершения Б и возобновления А? Использователи МЭК говорят: мы будем в задачах А и Б использовать только непересекающиеся подмножества локализованных и внутренних переменных ... реализуя 2 независимые управляющие системы... Ага, ... АСУТП управления полётами + АСУТП стоящей рядом кофеваркой ... Но я не хочу управлять кофеваркой! И не хочу платить за "развитость" средств разработки, позволяющих мне ещё параллельно управлять кофеваркой! Или как делается hot-stendby резервирование ... в тех же Concept & Unity Pro? - 1-му PLC мы присваиваем IP (предполагаем Modbus over TCP/IP); - 2-му PLC автоматически присвается IP ... на 1 больше (?); - верхний уровень (SCADA) подаёт Modbus команду управления по IP1 ... - после чего повторяет её по IP2 ... - состояния PLC1 и PLC2 - эквивалентные (?)... - и при выходе из строя PLC1 можно преключиться на PLC2. Вас ничего не смущает???: п.2 - IP согласно всем 3000 с лихвой RFC не может быть "больше-меньше" ... да и любые сетевые IP не могут быть численно зависимыми, и должны всегда, в произвольный момент - конфигурироваться произвольно и независимо (а ещё лучше - динамически разрешаться через ARP или DNS). п.4 - 2 абсолютно независимые и последовательно следующие операции обмена по различным IP - считаются "по-совокупности" атомарной и неделимой операцией! а что - обрыв контакта кабельного не может произойти между 1-й и 2-й передачей? а TCP согласно всем RFC-ям не обнаруживает разрыв соединения "на ходу" и не возвратит ошибки... Это ещё один результат "опримитивливания модели под цели" ... раз это мы не наблюдали (на скольки прогонах? - 10**9? 10**29? ...) - то этого и не может случиться: "мы вам предлагаем уникальные технологии"!
|
|
|
|
Сообщений в этой теме
Vic1 Когда не нужна ОС РВ? Mar 2 2006, 15:58 SM Мое мнение однозначно - ОС РВ нужна тогда, когда л... Mar 2 2006, 16:35 Harbour Ну в пользу ОС РВ можно упомянуть переносимость пр... Mar 2 2006, 17:06 zltigo Цитата(SM @ Mar 2 2006, 18:35) Мое мнение... Mar 2 2006, 17:39 SM Цитата(zltigo @ Mar 2 2006, 20:39) А вот ... Mar 2 2006, 18:47  Olej Цитата(SM @ Mar 2 2006, 22:47) Нет. Это н... Mar 3 2006, 08:40   SM Цитата(Olej @ Mar 3 2006, 11:40) Почему э... Mar 3 2006, 11:59    Olej Цитата(SM @ Mar 3 2006, 15:59) Это я реши... Mar 3 2006, 12:50     SM Цитата(Olej @ Mar 3 2006, 15:50) Цитата(S... Mar 3 2006, 13:06      Olej Цитата(SM @ Mar 3 2006, 17:06) Да потому,... Mar 3 2006, 14:57       SM Цитата(Olej @ Mar 3 2006, 17:57) Цитата(S... Mar 3 2006, 15:40 Evgeny_CD IMHO по осям.
1. Ось - это совокупность стандарто... Mar 2 2006, 18:13 zltigo Цитата(SM @ Mar 2 2006, 20:47) Нет. Это н... Mar 2 2006, 20:06 SM Цитата(zltigo @ Mar 2 2006, 23:06) (конеч... Mar 2 2006, 21:30 Vic1 Всем, что такое языки программирования ПЛК (станда... Mar 3 2006, 06:11 Olej Цитата(Vic1 @ Mar 3 2006, 10:11) Всем, чт... Mar 3 2006, 09:24 Evgeny_CD Системы программировния PLC и ОС - это разные вещи... Mar 3 2006, 08:44 Olej Цитата(Evgeny_CD @ Mar 3 2006, 12:44) Сис... Mar 3 2006, 09:41  Evgeny_CD Цитата(Olej @ Mar 3 2006, 12:41) ...Весьм... Mar 3 2006, 10:02 Olej Цитата(Vic1 @ Mar 2 2006, 19:58) Будет ли... Mar 3 2006, 10:19 Vic1 ЦитатаЧтоб не повторяться - я об этом много писал,... Mar 3 2006, 10:53 Olej Цитата(Vic1 @ Mar 3 2006, 14:53) 2. тоже ... Mar 3 2006, 12:38 Evgeny_CD Цитата(Vic1 @ Mar 3 2006, 13:53) ...Собст... Mar 3 2006, 12:55  Olej Цитата(Evgeny_CD @ Mar 3 2006, 16:55) Я ч... Mar 3 2006, 15:14 Vic1 К сожалению смогу продолжить беседу только вечером... Mar 3 2006, 11:10 Vic1 Olej
ЦитатаГоворить о том, что PLC работают ... Mar 3 2006, 15:22 Evgeny_CD Цитата(Vic1 @ Mar 3 2006, 18:22) ...Упоми... Mar 3 2006, 15:58 Olej Цитата(Vic1 @ Mar 3 2006, 19:22) Насчет я... Mar 4 2006, 13:24  Andrew2000 Цитата(Olej @ Mar 4 2006, 16:24) Языки МЭ... Mar 4 2006, 18:35   Olej Цитата(Andrew2000 @ Mar 4 2006, 22:35) МЭ... Mar 4 2006, 19:11 Vic1 Нет, Olej, я с Вами здесь не соглашусь
ЦитатаА это... Mar 3 2006, 15:44 SM Цитата(Vic1 @ Mar 3 2006, 18:44) Еще насч... Mar 3 2006, 15:59 Vic1 Evgeny_CD, спасибо почитаю. Если найду, что можно ... Mar 3 2006, 16:07 Evgeny_CD Цитата(Vic1 @ Mar 3 2006, 19:07) Evgeny_C... Mar 3 2006, 16:12 SM Цитата(Vic1 @ Mar 3 2006, 19:07) ЦитатаНо... Mar 3 2006, 16:19 Olej Цитата(Andrew2000 @ Mar 3 2006, 21:57) IS... Mar 4 2006, 13:34  =AK= Цитата(Olej @ Mar 12 2006, 00:26) у них (... Mar 11 2006, 23:01   Olej Цитата(=AK= @ Mar 12 2006, 03:01) Прям-та... Mar 12 2006, 08:45    =AK= Цитата(Olej @ Mar 12 2006, 18:15) только ... Mar 12 2006, 09:18  Andrew2000 Цитата(Olej @ Mar 11 2006, 17:56) Цитата(... Mar 12 2006, 12:22 Andrew2000 Перечитал вниметельнее - выскажу свои мысли.
Evge... Mar 4 2006, 18:14 =AK= Чтобы лучше понять суть МЭК-овских языков, настоят... Mar 5 2006, 07:15 Olej Цитата(=AK= @ Mar 5 2006, 11:15) Я бы выд... Mar 6 2006, 16:14  Andrew2000 Цитата(Olej @ Mar 6 2006, 19:14) Модель ... Mar 7 2006, 16:16  =AK= Цитата(Olej @ Mar 7 2006, 01:44) Если уж ... Mar 8 2006, 12:27 Evgeny_CD Думаю, в свете всех этих PLC языков программирован... Mar 5 2006, 10:24 =AK= Цитата(Evgeny_CD @ Mar 5 2006, 19:54) Дум... Mar 5 2006, 11:55 Andrew2000 Цитата(Evgeny_CD @ Mar 5 2006, 13:24) Чит... Mar 5 2006, 21:07  =AK= Цитата(Andrew2000 @ Mar 6 2006, 06:37) На... Mar 5 2006, 21:35   Andrew2000 Цитата(=AK= @ Mar 6 2006, 00:35) ST проис... Mar 6 2006, 08:27 Evgeny_CD "Вредная" статья
http://www.msclub.ce.cc... Mar 6 2006, 08:48 =AK= Цитата(Andrew2000 @ Mar 6 2006, 17:57) А ... Mar 6 2006, 11:42 Evgeny_CD Цитата(=AK= @ Mar 6 2006, 14:42) PLC появ... Mar 6 2006, 12:16 Andrew2000 Цитата(=AK= @ Mar 6 2006, 14:42) Зюбин - ... Mar 6 2006, 14:04 Olej Цитата(=AK= @ Mar 6 2006, 15:42) Зюбин - ... Mar 11 2006, 13:49  =AK= Цитата(Olej @ Mar 11 2006, 23:19) объявит... Mar 11 2006, 15:08   Olej Цитата(=AK= @ Mar 11 2006, 19:08) Дык, кт... Mar 11 2006, 18:00 AlexandrY Я согласен с Evgeny_CD в плане его определения RTO... Mar 6 2006, 22:24 Vic1 To Andrew2000
Цитата"
Можно еще эту книгу поч... Mar 7 2006, 09:22 =AK= Цитата(Vic1 @ Mar 7 2006, 18:52) Но идея ... Mar 7 2006, 11:10 Andrew2000 Цитата(Vic1 @ Mar 7 2006, 12:22) ... (неп... Mar 7 2006, 16:36 Olej Цитата(Vic1 @ Mar 7 2006, 13:22) Я бы поо... Mar 8 2006, 12:10 Vic1 AlexandrY, а какими-нибудь ссылками на русскоязычн... Mar 7 2006, 11:31 AlexandrY To Vic1
http://aly.projektas.lt/Projects/OpenPLC/... Mar 8 2006, 08:25 Evgeny_CD AlexandrY, как всегда, на высоте.ЦитатаЕсли вы хот... Mar 8 2006, 09:45 one_man_show Совсем не желая подлить масло в огонь спора про РТ... Mar 9 2006, 09:52 Evgeny_CD Цитата(one_man_show @ Mar 9 2006, 12:52) ... Mar 9 2006, 16:45 Vic1 Цитата(one_man_show @ Mar 9 2006, 13:52) ... Mar 27 2006, 09:11 AlexandrY To Evgeny_CD
Ребята из Pro-Sign вообще-то до неда... Mar 9 2006, 15:46 zltigo ЦитатаПытаюсь ответить на вопрос "Когда не ну... Mar 9 2006, 16:48 Evgeny_CD Цитата(zltigo @ Mar 9 2006, 19:48) Цитата... Mar 9 2006, 16:58  SM Цитата(Evgeny_CD @ Mar 9 2006, 19:58) есл... Mar 12 2006, 08:02   Evgeny_CD Цитата(SM @ Mar 12 2006, 11:02) ...А если... Mar 12 2006, 11:08    SM Цитата(Evgeny_CD @ Mar 12 2006, 14:08) Ци... Mar 12 2006, 11:27     Evgeny_CD Цитата(SM @ Mar 12 2006, 14:27) ...Ну поч... Mar 12 2006, 12:48      Olej Цитата(Evgeny_CD @ Mar 12 2006, 16:48) Ин... Mar 12 2006, 13:58   Olej Цитата(SM @ Mar 12 2006, 12:02) И вот в э... Mar 12 2006, 11:50    SM Цитата(Olej @ Mar 12 2006, 14:50) Второй ... Mar 13 2006, 07:28     Evgeny_CD Цитата(SM @ Mar 13 2006, 10:28) Процессор... Mar 13 2006, 07:42     Olej Цитата(SM @ Mar 13 2006, 11:28) Цитата(Ol... Mar 13 2006, 08:42      SM Цитата(Olej @ Mar 13 2006, 11:42) Я не о ... Mar 13 2006, 11:20       Olej Цитата(SM @ Mar 13 2006, 15:20) Тем, что ... Mar 13 2006, 12:17        SM Цитата(Olej @ Mar 13 2006, 15:17) Это нев... Mar 13 2006, 12:26 Evgeny_CD В свете обсуждения это будет интересно
http://elec... Mar 13 2006, 05:29 Olej Цитата(Evgeny_CD @ Mar 13 2006, 09:29) В ... Mar 13 2006, 06:44 Vic1 Да ... И разрослась вроде ветка, но что то не по ... Mar 13 2006, 11:23 Olej Цитата(Vic1 @ Mar 13 2006, 15:23) Да ... ... Mar 13 2006, 12:26 Vic1 ЦитатаЭто потому, что нельзя тему обсуждения так р... Mar 13 2006, 14:06 Vic1 Готовлю выводы по обсуждению (потом, наверно, тему... Mar 16 2006, 13:13 Evgeny_CD Бука по промавтоматике - может кому пригодится в с... Mar 16 2006, 19:58 =AK= Че-то я там про МЭК языки не нашел. Собственно, не... Mar 18 2006, 12:09 yuri_t Понимаю, что тема несколько остыла, но тем не мене... Apr 21 2006, 20:32 Виктория ЦитатаПонимаю, что тема несколько остыла, но тем н... Apr 24 2006, 15:00 DogZ Цитата(Виктория @ Apr 24 2006, 18:00) Цит... Apr 26 2006, 00:32 Виктория ЦитатаПостановка вопроса более чем актуальна, с од... Apr 26 2006, 14:52 Владимир Е. Зюбин Всем привет! Отдельное спасибо Виктории за то,... May 4 2006, 07:35 Evgeny_CD Цитата(Владимир Е. Зюбин @ May 4 2006, 11... May 4 2006, 10:29  Olej Цитата(Evgeny_CD @ May 4 2006, 13:29) Я с... May 5 2006, 06:21
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0
|
|
|