|
Когда не нужна ОС РВ?, навеяно постом "Я написал 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? ...) - то этого и не может случиться: "мы вам предлагаем уникальные технологии"!
|
|
|
|
|
Mar 11 2006, 23:01
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(Olej @ Mar 12 2006, 00:26)  у них (средства МЭК) нет и не может быть ни средств синхронизации ассинхронно развивающихся задач, ни средств защиты (атомарного доступа) данных! Прям-таки "нет и не может быть"?  Например, задачи могут исполняться кооперативно, это гарантирует атомарность доступа к данным. Управление исполнением ("синхронизация") обеспечивается на уровне языка SFC. Цитата(Olej @ Mar 12 2006, 03:30)  есть и ... вещи и спорные, по крайней мере: вопрос вкуса, к чему относятся и сами языки МЭК ... Хоть о вкусах и не спорят (с), хочу обратить Ваше внимание еще на один факт, а именно - на общеизвестную простоту освоения языков LD и FBD непрограммистами. Имхо, именно в этом же кроется причина нынешней популярности LabView. Такая информация для размышления: в англоязычных странах значительный (порядка 5%) процент обычных электриков в порядке повышения квалификации заканчивают курсы программирования PLC, где осваивают LD (в Германии, наверное, FBD). После этого они успешно программируют простые системы управления на небольших PLC. Заставьте их программировать на С, так наверняка результат будет нулевой (а уж если попытаться "навесить" на них RTOS-ные заморочки, так вас просто прибьют, ведь электрики - ребята простые). По той же причине выбор более близкой к естественному языку Модулы (а не абстрактных каракулей С) в качестве основы языка ST имел смысл. А Вы с Зюбиным как глухари на току, право слово: "ах, защита мега-корпораций", "ах, рекламная кампания", "фи, убогие языки", "где привычные нам фигурные скобки", "где сообщения, семафоры и мютексы".  Впрочем, справедливости ради: у в Вас можно увидеть и здравые суждения, тогда как Зюбин только протяжно бредит, упиваясь собственным невежеством.
Сообщение отредактировал =AK= - Mar 12 2006, 04:56
|
|
|
|
Сообщений в этой теме
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   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
8 чел. читают эту тему (гостей: 8, скрытых пользователей: 0)
Пользователей: 0
|
|
|