Средство для программирования контроллера: Си или МЭК 61131? |
Ответить | Страница <1 3738394041 53> |
Автор | |||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
Опубликовано: 22 Октябрь 2003 15:51 |
||||
Спасибо за напоминание. Согласен абсолютно.
|
|||||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|||||
Новичок Присоединился: 14 Октябрь 2003 Online Status: Offline Публикации: 25 |
|||||
Вы меня паражаете. Еще раз приведу название темы "Тема: Средство для программирования контроллера: Си или МЭК 61131?", так как ваши слова:"мы обсуждаем не МЭК, а LD" меня удивили. Вы вроде сначала il обсуждали, затем кинули и перешли на ST, теперь LD. Хочу Вам подсказать, что изучение предмета путем его разделения на части не всегда приводит к правильным ответам. Качество системы или продукта не всегда равно суперпозиции его частей. Вы совершенно правы в утверждении " LD - это отдельный и самостоятельный язык стандарта МЭК 61131.3", но сильно ошибаетесь считая, что раз он отдельный и самостоятельный в МЭК, значит его нужно использовать для всех задач автоматизации. LD для конкретных задач, как и все остальные языки МЭК 61131.3 и только их совокупность является почти минимальным базисом. Почти, так как избыточность все же есть. Интересно. Вот храняться у вас на контроллере исторические данные + интерфейс оператора + тревоги + работает механизм горящего резервирования, то что произойдет если контроллер выйдет из строя?? Как просмотреть что с ним произошло, причины и т.д. где дублирование информации??? А вы всему форуму втираете, что это нормально. Я думаю, что уже на 5-6 контроллерах, при синхронизации их работы и обмене данными между ними на СИ вы просто умрете. |
|||||
Каждой вещи свое место.
С уважением, VSerg. |
|||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
|||||
http://burks.brighton.ac.uk/burks/pcinfo/progdocs/cppcrit/index.htm Выдержки из 5. Conclusion C++ is complex including too many constructs to overcome problems with itself and C, while lacking sophisticated mechanisms such as garbage collection, global analysis and automatic optimisations. C is thought of as being a simple language; but this is doubtful, as it has many operators, and a difficult precedence system. C's pointer style of programming is low level and difficult. Overall, C has many traps that lead to difficult to detect errors in software. Now C++ as a language is looking like the equivalent of computers of the 1950s, with large knobs, dials and patch panels; the C++ equivalents being pointers, structures, unions, #defines , etc., all of which have no place in a modern OO language, and are not in Java and Eiffel. Compared to other OO languages, C++ looks more and more like an anachronism. C++ is now impeding the progress of the programming technology. |
|||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|||||
Ну и я про это же говорю. МЭК не позволяет обеспечить достаточный уровень безопасности...
Я ведь не зря по клапан говорю... клапан закрыть - это целая история даже в самом упрощенном виде: убедиться, что клапан можно закрывать (если нельзя - сформировать диагностику оператору, сформировать реакцию на действие) подать сигнал, убедиться, что за заданное время он закрылся, если не закрылся - сформировать диагностическое сообщение оператору и предпринять спец.действия (например, кучу других клапанов перекрыть). Опять повторюсь, при этом все решения должны приниматься и отрабатываться локализовано, а не быть разбросаны по системе. Плюс программа должна сохранять гибкость, модифицируемость, иметь адекватную наглядную структуру, позволять общаться с заказчиком в терминах тех.процесса, а не реле и микросхем 2И-НЕ и т.д. и т.п. Это и есть по моему мнению современный уровень автоматизации, принципиально недостижимый средствами МЭК.
|
|||||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|||||
Это уже становится интересным... Как справедливо заметил тут один товарищ, я совсем не разбираюсь в языках, и с трудом себе представляю, как такую штуку реализовать на паскале, не пользуясь расширениями типа hi и lo. Но на Java... Вы не могли бы привести примерчик?
Приведенный мною "плохой пример", тем не менее, должен транслироваться на любой машине любым транслятором.
Именно. Это тактика моего оппонента - увести разговор в сторону от обсуждаемой темы, перевернув все с ног на голову. Как раз я говорил о том, что Си обеспечивает достаточный уровень переносимости. Но мне просто стало интересно, каков будет ответ. |
|||||
Инженер-системотехник
+7 (916) 477 3925 |
|||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|||||
Ну, Вы меня все-таки неверно поняли. Я же Вам постоянно об ограничениях LD толкую. Из этого прямо следует, что LD для всех задач не подходит. Более того, я считаю, что на LD вообще ничего нельзя программировать.
Выбросьте LD из МЭК и ничего не изменится. Также из МЭК спокойно можно выбросить FBD и IL. SFC+ST - вот единственное, заслуживающее внимание средство... со своими ограничениями и заморочками, правда...
Если Вы внимательно почитаете, то, что я писал, то Вы нигде не найдете слов в подтверждение Ваших предположений... БД и ИО у нас вынесены на ПК общего назначения. А если контроллер выйдет из строя, то почти всей системе будет каюк... что соответствует требованию ТЗ.
Ну давайте про дублирование поговорим, чем не тема... Я вот Вам такой умный вещь скажу насчет дублирования: дублировать нужно самые ненадежные элементы системы... а Вот теперь подумайте, какие самые ненадежные элементы в системах? ;-) ... А я Вам скажу: это клапаны, реле, кнопки, светодиоды, двигатели, источники питания и т.д. ;-) И, вообще, с дублированием есть много вопросов... на отказ, до отказа, гамма-процентная наработка, риск производителя, риск потребителя... давненько я ГОСТы по надежности в руки не брал... можно и освежить память... :-))) |
|||||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|||||
Гость |
|||||
Я сам лично реализовывал подобные алгоритмы как в LD (несколько дольше и не так наглядно, но он-лайн можно контроллировать входа-выхода) и в FBD (просто и наглядно и в он-лайн все параметры видны). И не только в РСУ, но и ПАЗ. И я могу привести десятки примеров, где на МЭКовских языках разрабатывались ОЧЕНЬ опасные объекты, такие как завод по уничтожению хим. оружия, такие суперкритические установки как синтезирование трициклогексанона, гидрогенизация, гидроформилирование, алкилационные установки, этерификация для химических производств, не говоря уже про попроще: изомеризацию, каталитический риформинг и пр... Более того- в FBD я могу или взять готовый блок из библиотеки (это стандарный алгоритм в нашей системе) или, если не понравится- модифицировать библиотечный или накидать свой. Что касатся этого- убедиться, что за заданное время он Мало того- я могу иметь защищенный доступ к настройке клапана, вести его (и не только для клапанов) журнал (чертежи, описания, даты поверок, ремонтов, калибровок и кучу подобных вещей). Составлять прогнозы по обслуживанию, эксплуатации, смотреть графики отрабоки, в общем все то, что Вы на Си будуте реализовывать кучу времени.
|
|||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
|||||
Это голословное утверждение: правда очень много здесь зависит от OS и её tools поддержки обменов (так как "синхронизацию и обмен" между узлами, как вы понимаете - никакое языковое средство не поддержит). Я в QNX сам организовывал кластерную обработку данных на x86 N хостах (N - не только 5-6, но - динамически изменяющееся!) - при поддержке QNET - это "за-всё-про-всё" прописано в ~300 строк С++. |
|||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|||||
Что это вам Си повсюду мерещится, как в страшном сне? Я говорил про самые обыкновенные операторы (арифметика, команды пересылки, преобразования типов и т.д.) и функциональные блоки, подразделяемые на стандартные (счетчики, таймеры, триггеры и прочее) и пользовательские, реализуемые на любом языке МЭК, в т.ч. и на самом LD. Прочтите, наконец, описание - я уже понял, что текста стандарта у Вас нет. А то получается "я Пастернака не читал, но глубоко осуждаю..."
Во-первых, стандарт хотя и допускает использование LD отдельно от остальных языков, но для эффективной работы предполагается использование адекватных задаче представлений. Во-вторых, операторы, функции и функциональные блоки, которые Вы называете инородными элементами, являются неотъемлемой частью языка. В-третьих, функции и функциональные блоки могут быть созданы и на LD, хотя для многих задач использовать его часто бывает неудобно. Концепция, заложенная в LD, действительно крайне проста - с этим не поспоришь. |
|||||
Инженер-системотехник
+7 (916) 477 3925 |
|||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|||||
[...] -Я думаю, большая часть форума в курсе проблем, связанных с закрытием клапана.
Вы затеяли игру на поле противника. Пока что, именно МЭК обеспечивал весь этот набор требований. Если Вы хотите переубедить широкую общественность, предложив какое-либо более прогрессивное решение, настало время привести наглядный пример - хотя бы на уровне клапана. Иначе этот раунд будет явно не в Вашу пользу. |
|||||
Инженер-системотехник
+7 (916) 477 3925 |
|||||
Ответить | Страница <1 3738394041 53> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |