Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Средство для программирования контроллера: Си или МЭК 61131?

 Ответить Ответить Страница  <1 4344454647 53>
Автор
Сообщение
Дмитрий Теркель Смотреть выпадающим
Новичок
Новичок


Присоединился: 26 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 22
Свойства публикации Свойства публикации   Ответить, цитируя автора - Дмитрий Теркель Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Средство для программирования контроллера: Си или МЭК 61131?
    Опубликовано: 24 Октябрь 2003 12:54
Первоначально опубликовано Доктор Q

<SPAN class=bold><FONT face="Arial, Helvetica, sans-serif" size=2>очень много здесь зависит от OS и её tools поддержки обменов </span>


<SPAN class=bold>Дмитрий Теркель </span>В сущности, Вы сейчас мимоходом озвучили единственный СЕРЬЕЗНЫЙ недостаток примененения C++ в рассматриваемой области


Если бы единственный... К серьезным надо бы еще (как минимум) отнести плохую читаемость, небезопасность и низкоуровневость.


Предлагать архаичные С/С++ в качестве образца для подражания и пути для развития - совершенно несерьезно. У этих языков нет будущего. Их не зря сравнивают с Фортраном, поскольку С/С++ уготована та же судьба.


Можно было бы еще понять если бы кто-то пытался агитировать за более современные Java или C#, в которых устранены многие недостатки устаревших C/C++. Но даже при этом "С-подобный" синкаксис делает их малопригодными для создания и сопровожения надежных программ.


На мой взгляд, более не стоит тратить время на споры с пропонентами С.   Интереснее было бы обсудить языки Эйфель и Эрланг.



Я совершенно не фанат C++ и могу добавить про него кучу гадостей - и про эклектичность, и про отсутствие доступа к метаинформации и убогую рефлексию (т.н. rtti),невозможность без макросов реализовать динамически диспетчиризируемые виртуальные функции(интересно, между прочим, как это все лечат РАСШИРЕНИЯМИ языка создатели библиотеки qt - www.trolltech.no, у них есть спец. препроцессор MOP - meta object compiler, который они напускают на исходники перед компиляцией). Все эти недостатки не позоляют, например, реализовать средствами языка универсальную сборку мусора или универсальную сериализацию объектов (последнее сделано в Javе с помощью рефлексии). И т.д. и т.д. Я даже соглашусь, что С++ - умирающий язык.
Но .. умирать он будут еще лет тридцать, если не больше, и в ближайшее время его вряд ли что существенно сдвинет с того уникального места, которое он занимает. Все же на сегодня это единственный язык, на котором действительно можно сделать все (пусть иногда и коряво), и на котором реально пишется все системное ПО. Разумеется, в идеале
хотелось бы иметь проблемно-ориентированный язык, в котром бы все нужное было... но бывают нестандартные задачи, для которых создавать новый язык - слишком жирно, а еще - для создания такого "супер-проблемно-ориентированного" языка нужны эксперименты, то есть обкатка вводимых понятий на реальных примерах и системах. Для таких экспериментов постоянные изменения в компиляторе - тоже слишком жирно, и эксперименты на с++ - более дешевый и гибкий путь.

Насчет Эйфеля - мне кажется, что он помрет вместе с C++, поскольку позволяет делать примерно то же самое (хотя лучше и корректнее, но это уже, увы, не поможет). Design by contract я не считаю существенным моментом, в остальном - это просто более рафинироанный ООП-язык, исторически (возможно, несправедливо) оказавшийся на обочине. Вряд ли его оттуда что-то вернет..

С функциональными языками действительно интереснее. Возможно, кое-какие идеи отуда можно позаимствовать. Я бы с удовольствием посмотрел на примеры использования этих языков в нашей области. Наверное, в фирме Эрикссон работают не одни придурки, и Эрланг, вероятно, им чем-то существенно помогает в их телефонных сетях. Адепты ф. языков утверждают, что функциональный код обычно короче "процедурного" в 4 и более раз. Словом, если бы среди участников форума кто-то привел пример его использования в области, близкой к АСУТП, мне, например, было бы очень интересно на это посмотреть.
С уважением,
Дмитрий Теркель
Наверх
VSerg Смотреть выпадающим
Новичок
Новичок


Присоединился: 14 Октябрь 2003
Online Status: Offline
Публикации: 25
Свойства публикации Свойства публикации   Ответить, цитируя автора - VSerg Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 12:57
Первоначально опубликовано Владимир Е. Зюбин

Первоначально опубликовано Максим Ананских

Первоначально опубликовано Владимир Е. Зюбин


Вот я и говорю, LD неадекватен большинству практических задач из области автоматизации. В него надо постоянно включать инородные элементы, написанные другими средствами, на ST ли, на FBD ли, или на Си.


Владимир, перестаньте притворяться. Я по-прежнему уверен, что человек, справившийся с Чохральским, не может не понять со второго раза три строчки текста. Повторяю еще раз: В LD можно использовать функциональные блоки, написанные на LD. В LD можно применять арифметику и прочие прелести жизни. Это не инородные блоки. LD, FBD и IL эквивалентны по возможностям (доказано Сименсом). LD адекватен большинству задач автоматизации, в которых необходимы булевские операции.


Я рад, что у Вас нашлось наконец оглавление от стандарта. Надеюсь, скоро найдется и все остальное.



Вам также предлагается осмыслить две несложные позиции:
1. LD - это язык в основании которго лежит метафора реле.
Все другие блоки - инородны для LD. Произвольный (алгоритмически произвольный) блок на LD записать ПРАКТИЧЕСКИ невозможно.

2. Насчет слова "ПРАКТИЧЕСКИ":
То, что любую программу ТЕОРЕТИЧЕСКИ можно записать
на простейшем языке, включающим только ДВЕ команды
DEC и JZ, доказали задолго до Сименс. И
Сименовское "доказательство" "эквивалентых возможностей"
LD и FBD никакого научного интереса не представляет.
Ну, можно все, что угодно на всем что угодно написать, и
что?! Практической ценности такой язык может и не
представлять... Почему кроме LD в МЭК еще 4 языка? да
потому, что на LD непрактично программировать в общем
случае ПЛК. То же касается и других языков. Хотя в МЭКе они оказались совершенно по разным причинам... с разными свойствами и с разными "заморочками"...

Я же Вам говорю, наиболее гибкое средство в МЭК 61131.3 -
это SFC+ST. Все остальные средства можно смело исключить.


Пожалуй соглашусь с вами по поводу SFC+ST, что эти двое могут заменить практически все на данный момент. Так как LD был необходим при переходе от релейных схем к контроллерам. Я не говорил вам, что покажу в форуме за 5 минут схему. Я сказал, что ее можно написать за 5 минут, на уровне закрыть/открыть клапан и не надо передергивать, естественно формат форума мало предназначен для отображения схем LD. Да и Вы всегда сможете сказать, что нарисованная схема не работает. Лучше найдите где-нибудь демо версию ISaGRAFA и посмотрите Project2 и Demo. Раз уж все равно в ваши обязанности входит изучение материалов по АСУ. Надеюсь это вас не затруднит. Забираю, свои слова о вас, как о теоретике обратно, возможно, что вы пока не посмотрите не поверите. Только найдите версию PRO 4.12 или PRO 4.20. И я все же хотел бы увидеть кусок работы с клапаном на СИ-подобном языке, ведь вам ничто не должно мешать вывести его в форуме.
Каждой вещи свое место.
С уважением, VSerg.
Наверх
Доктор Q Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Сентябрь 2003
Категория: Isle Of Man
Online Status: Offline
Публикации: 119
Свойства публикации Свойства публикации   Ответить, цитируя автора - Доктор Q Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 13:27

Дмитрий Теркель Я даже соглашусь, что С++ - умирающий язык.  Но .. умирать он будут еще лет тридцать, если не больше, и в ближайшее время его вряд ли что существенно сдвинет с того уникального места, которое он занимает

Я согласен, это произойдет очень нескоро. Пока что даже не видно (мне, по крайней мере) какой язык реально сможет занять его место. Однако это не является достаточным основанием для того, чтобы пытаться "экспортировать" сами С/C++, со всеми их болячками , в МЭКовские языки. Именно это я и пытался сказать.

Насчет Эйфеля - мне кажется, что он помрет вместе с C++, поскольку позволяет делать примерно то же самое (хотя лучше и корректнее, но это уже, увы, не поможет)

Очень может быть...

Я бы с удовольствием посмотрел на примеры использования этих языков в нашей области.

Я бы тоже не отказался. Но, похоже, как раз тот случай когда "спасение утопающих - дело рук самих утопающих"(с). Чем тратить время на пустые препирательства с сишниками, пойду лучше доки читать ;-)

Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 14:39
Первоначально опубликовано Максим Ананских

Первоначально опубликовано Владимир Е. Зюбин

Первоначально опубликовано Максим Ананских


Первоначально опубликовано Владимир Е. Зюбин

МЭК не позволяет обеспечить достаточный уровень безопасности...
Конкретизируйте, пожалуйста...
Форум ждет...




Я уже сказал почему: в МЭК подходе отсутствует необходимый уровень гибкости, модифицируемости, и
структурируемости. Ссылка на документ тоже приводилась.

Первоначально опубликовано Максим Ананских


Первоначально опубликовано Владимир Е. Зюбин


Как я могу Вам что-то показать, если Вы над уровнем реле подняться не желаете? Если пропагандируете программирование на уровне ассемблера (IL)?


Не надо передергивать. Это Вы подняли тему LD. И про IL я ничего подобного не говорил. Внимательно прочтите мои постинги еще раз и отвечайте по существу. Ссылки на "материалы специализированных конференций" меня не устраивают.



Тему LD поднял МЭК и производители, желающие на этом получить прибыль. Они же и на IL предлагают программировать. Вы активно поддерживаете МЭК и Ко... что я должен о Вас сказать? Не поддерживаете - четко выскажите свою позицию. Я буду знать, что Вы думаете насчет LD и IL.

Первоначально опубликовано Максим Ананских


Первоначально опубликовано Владимир Е. Зюбин


"На поле противника"... на каком поле, если даже простейшее включение клапана Вы не в состоянии запрограммировать на реле?


Отучаемся говорить за других... Вам пример выложить?


Первоначально опубликовано Владимир Е. Зюбин


Сначала нам нужно понять, что любая программа LD, IL, FBD и ST - это просто одно состояние SFC.


А Вы, кстати, в курсе, что программа на SFC отлично транслируется в тот же LD? Многие средства разработки делают это незаметно для пользователя, но некоторые - STEP7 + S7-GRAPH, например, позволяют полюбоваться результатами. То есть, наоборот, каждый из шагов SFC - это просто одно из состояний вашей программы на LD. Не спорю, что SFC является довольно удобным представлением переходов между этими состояниями.



Я уже устал повторять: любая программа транслируется в
набор команд DEC и JZ... и любая программа транслируется
в машинный код 0/1. В курсе? Транслируется, только человеку работать с ней после этого невозможно.

Относитесь более критично к тому, что говорите.
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 14:43
Первоначально опубликовано Дмитрий Милосер

Владимир, добрый день. А с чего
Вы взяли, что в МЭКовских языках одни И-НЕ? Более, того,
я подтвердаю возможность вставки в LD структурированного текста с вычислениями.
[...]


Опять структурированный текст! 8-)

Я про язык LDс Вами говорю, а не про ST.
Что тут неясного? Может неясно, что в МЭК-средстве может не быть ST? Может. Вот и забудьте про все, кроме LD.
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
Guests Смотреть выпадающим
Гость
Гость
Свойства публикации Свойства публикации   Ответить, цитируя автора - Guests Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 14:53

Я про язык LDс Вами говорю, а не про ST.
Что тут неясного? Может неясно, что в МЭК-средстве может не быть ST? Может. Вот и забудьте про все, кроме LD.

Неа :) Не забуду. Я уже говорил, что согласен рассматривать МЭКовские языки только в комплексе. Тем более, она взаимосвязаны.

Все, спорить не хочу- мне Ваши позиция еще с 2001 года понятна :), а что хотел услышать дополнительно по этой теме вроде уже сказали и подтвердили.

Успехов всем!

Наверх
evgen Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 178
Свойства публикации Свойства публикации   Ответить, цитируя автора - evgen Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 15:22
Первоначально опубликовано Дмитрий Милосер

Процесс брожения и перегонка спирта - это, видимо, ТП. Как и перегонка нефти. А вот процесс сборки машины на конвейере ? Или, скажем, утилизация подводной лодки ? Или изготовление чего-либо на станке ЧПУ ?<!-- Signature -->


Да, это все ТП, только разные его виды.


Спирт - непрерывный, конвейр, утилизация - дискретный или bathюююнадо конкретно смотреть процесс.


Кстати, где-то в файловой области нашей конференции (ссылка в подписи) лежит хорошая книжка от парня из Сименс. Советую ознакомится. Называется:

<FONT face=TimesNewRomanPS-BoldMT size=5>

Х<FONT face=TimesNewRomanPS-BoldMT+1>.-<FONT face=TimesNewRomanPS-BoldMT>П<FONT face=TimesNewRomanPS-BoldMT+1>. <FONT face=TimesNewRomanPS-BoldMT>Бойерле<FONT face=TimesNewRomanPS-BoldMT+1>/<FONT face=TimesNewRomanPS-BoldMT>Г<FONT face=TimesNewRomanPS-BoldMT+1>.<FONT face=TimesNewRomanPS-BoldMT>Бах<FONT face=TimesNewRomanPS-BoldMT+1>-<FONT face=TimesNewRomanPS-BoldMT size=5>Беценар

<FONT face=TimesNewRomanPS-BoldMT size=7>

Коммуникация в технике автоматизации


Или в архиве web-шлюза поищите- не так давно ссылка там приводилась.



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


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 15:34
Первоначально опубликовано Дмитрий Милосер

1. Заметьте, МЭК 61131.3 тогда не было.. и все
получилось "хорошо"


Хорошо, но долго. МЭК не было, но был Си :)


Да точно также все и было как сейчас с МЭК.
МЭК Просто стандартизовал синтаксис сотни модификаций
того же LD. На самом деле положительного момента в этом
немного, т.к. все равно имеются сотни групп
непересекающихся сообществ: ISaGRAF, UL, и т.д. и т.п.

Первоначально опубликовано Дмитрий Милосер


2. Все было написано на одном LD... ну, вернее, РКС +
библиотека инородных РКС элементов (таймеры, счетчики и
т.д.)


Вы при Трайкон? Если да, то там были вставки структурированного текстас вычислениями. И передача данных в РСУ.



Да трайконов этих сотни было и сейчас не меньше... все
каким-то образом решали задачу расширения убогости LD,
кто за счет текстовых языков, кто за счет обширных
библиотек... Все и сейчас в том же виде.

Первоначально опубликовано Дмитрий Милосер


3. Речь шла не о разработке, а о тиражировании. То есть
все программы не писались, а настраивались... Делали это
специалисты, которые в этих программах разбирались, хотя
б потому, что их сами и писали... Тут уж, хоть в
машинных кодах они писаны, хоть на LD разницы большой
нет.


А что Вы подразумеваете под написанием программы? Вы



Я имею ввиду их разработку.

Первоначально опубликовано Дмитрий Милосер

хотите сказать, что те специалисты, которые разрабатывали алгоритмы для ПАЗ сами писали этот софт для Трайконекс? :) Неее, софт Трайкон- разработки фирмы Triconex, а алгоритмы разрабатывал проектный институт. А воплощали ихв жизнь парни из инжиниринговой фирмы.


Да не LD они писали, а задачи автоматизации. У них уже
были готовые заготовки для Вашей задачи. Сколько они на эти заготовки времени убили - никому не известно.
Вот о чем разговор.

Первоначально опубликовано Дмитрий Милосер



Я понимаю, что у Вас другая ситуация- Вы и софт разрабатываете, включая саму систему и внедряете, у вас самодостаточная замкнутая система - Вы в одном лице и разработчик и конфигуратор и инженер.


 Только в большинстве случаев такой подход "не катит".




Нет. Я поддерживаю язык. Программы пишет и сопровождает
другой человек. А конфигурированием - третий (заказчик).
И технологию пишет заказчик (технолог). Никто из обслуги
даже и не знает, на чем ПО написано. Они просто кнопки
давят на сенсорном экране. У них и без программирования
своих забот хватает... им работать надо.
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
Guests Смотреть выпадающим
Гость
Гость
Свойства публикации Свойства публикации   Ответить, цитируя автора - Guests Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 15:43

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

Чтоб ты свопился на одну дискету :)
Ага, и перемещение собственного тела с работы домой и обратно- тоже ТП.  Причем посредством метрополитена в контексте транспортного протокола :) И умственный процесс при создании софта, там тоже продукты всякие вырабатываются - нужные и ненужные. А еще секс- тоже ТП, ведь продуктом его являются дети :)

И написание всего этого топика - групповой, территориально распределенный непрерывный ТП построеный на био-нейро-сетях:) Продуктом является заполнение базы данных форума мегабайтами всякой фигни.

 

Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Октябрь 2003 15:51
Первоначально опубликовано Доктор Q


Вас в очередной раз поймали на явной глупости, вы же пытаетесь - как обычно - увести разговор в сторону. Если у вас есть упомянутая информация - представьте ее, и я возьму свои слова назад (т.е.  переведу это ваше утвержждение из разряда безответственного трепа в разряд полезной информации).




Пока на глупостьи ловили только Вас...

Вот основные Ваши проблемы:

1. Вы постоянно демонстрируете завидную тупость в
отстаивании своего невежества.

2. Вы не обладаете умением логически мыслить.

3. Вы не в состоянии соблюдать простейшие правила ведения дискуссий.

Первоначально опубликовано Доктор Q


<SPAN class=bold>Владимир Е. Зюбин </SPAN>Только вот адепты FBD того же самого, да и LD, в частности, скорее всего не знают, что экспериментальные данные (подчеркиваю, строгие экспериментальные данные) говорят о том, что существуют достаточно распространенный класс случаев, когда
читаемость графических языков оказывается гораздо ниже, чем текстовых.


Ссылочку. Приведете ссылку на достоверный источник - прочитаем - будем знать. Пока же это утверждение положим в "отстойник", т.к. на слово вам верить не приходится, как источник информации вы не заслуживаете доверия.  Подозреваю, что и в данном случае вы "слышали звон", но при пересказе, как обычно, сильно передергиваете.


Я знаком с результатами других исследований, которые выясняли, сколько времени оператор тратит на восприятие информации с измерительного прибора. Показания цифровых приборов воспринимались медленнее всего, показания шкальных приборов - быстрее всего.


Вероятно, это не попадает в "достаточно распространенный класс случаев" (с)? Впрочем, как знать, что подразумевается под эти "классом". Шизофрения ведь тоже "достаточно распространена"...



Вы определенно глупы: разговор идет не о приборах, а о
языках спецификаций.

Чтобы поймнеть и обнаружить ссылки на упоминаемые мной
факты - STFW... ну, или ждите, когда моя
статья на эту тему появится... :-)
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
 Ответить Ответить Страница  <1 4344454647 53>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz