реклама на сайте
подробности

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


инженер
****

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



Так как автор поста http://electronix.ru/forum/index.php?showtopic=12972
загубил на корню возможность обсуждения, я и открыла новую тему.

Вопрос может быть поставлен так - автору скорее всего и не нужна ОС РВ. Кругу задач его предметной области (ЦОС) свойственна - цикличность (каждый такт - ввод+обработка+вывод), жесткое РВ, работа с аппаратурой возможна на уровне конфигуривания специализированной библиотеки. Намерено так написала smile.gif . Чем тогда это не "IsaGraf" (или любой другой пакет языков программирования ПЛК), скажем так "IsaGraf для жесткого реального времени"? Или по другому - нельзя ли применить подход МЭК к АСУТП для другой предметной области (которые также трудоемки, также требуют высокой надежности ПО и у которых уже виден базис свойств). Например, к таким задачам - ЦОС, алгоритмы функционирования информационно-измерительных систем, ...
Будет ли при этом этот новый case-инструмент альтернативой ОС РВ? Это возможно только на базе ОС РВ или самостоятельный путь развития программных технологий?

Приглашаю всех к дискуссии. smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andrew2000
сообщение Mar 3 2006, 17:57
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 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 туда же).
Они так видят мир smile.gif И не надо им мешать.
Еще в МЭК считаю полезным 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 - они отказались - по-русски писать нельзя smile.gif
Go to the top of the page
 
+Quote Post
Olej
сообщение Mar 11 2006, 14:56
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458



Цитата(Andrew2000 @ Mar 3 2006, 21:57) *
...
Они так видят мир smile.gif И не надо им мешать.


Когда я разбирал МЭК системы проектирования (ну, простите меня - язык у меня ... не подымается wink.gif это назвать "программированием") 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++;


Вот только когда-то ... один раз сложится ... sad.gif ... вспоминается тот давний анекдот: "... чёрт с ней, с этой Австралией - но дисциплина то хоть какая должна быть?!"(с).
То что это "почти невероятно" ("попасть" 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? ...) - то этого и не может случиться: "мы вам предлагаем уникальные технологии"!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
4 страниц V   1 2 3 > » 


Reply to this topicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 00:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01495 секунд с 7
ELECTRONIX ©2004-2016