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

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

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


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Средство для программирования контроллера: Си или МЭК 61131?
    Опубликовано: 23 Октябрь 2003 13:12
Первоначально опубликовано VSerg

Я имел ввиду, что некоторые SCADA допускают изменение внутренних данных только в определенные моменты, например только в начале цикла целевой системы, что гарантирует что данные не изменятся не в то время. ОС позволяет провести данные до определенного уровня, а кто их будет забирать и как, Ей разве не все равно? Или я ошибаюсь?


Это уже несколько другая область - синхронизаций и IPC (Inter Process Communication) ... вообще-то, успешное (ну, совершенно корректное) решение здесь зависит, по-моему, от того, насколько инструмент: язык, библиотеки, OS ... позволяют описывать много потоковые вычисления (не в смысле thread конкретно, а независимо от механизма: потоки, процессы, нити, ветви...). Даже на самом убогом оборудовании, допускающем только строго "линейное" выполнение... впрочем, об этом очень много написано (Хоар, Дэёкстра, Р.Янг...).

В универсальные языки, к сожалению, эти механизмы входят редко, только в самые последние: Modula-2, ADA, Oberon - кажется...

Чаще - это реализуется библиотечными средствами: С, С++, ... К счастью, независимо от реализации - общая структура таких механизмов в "необходимой и достаточной" степени отлично стандартизована: POSIX 1003c, 1003b.

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

Наверх
VSerg Смотреть выпадающим
Новичок
Новичок


Присоединился: 14 Октябрь 2003
Online Status: Offline
Публикации: 25
Свойства публикации Свойства публикации   Ответить, цитируя автора - VSerg Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Октябрь 2003 13:21
Первоначально опубликовано Дмитрий Милосер


Кстати, доп. вопрос- а какое кол-во моделей контроллеров поддерживает Исаграф? И каких? Он универсален или же "заточен" под определенный тип контроллеров?




Насколько я знаю, то исаграф работает под следующими ОС:
информаця c сайта www.fiord.com.

ISaGRAF Runtime Target может исполняться в любой операционной системе: Embedded NT, NT RTX, VxWorks, Phar Lap, OS-9/9000, Windows CE, Linux, pSOSystem, Windows NT, LynxOS, QNX, MS-DOS, US Software, NT INtime, VRTX...


Можно также портировать isagraf на железо без ос.
естественно понадобятся драйвера.

Каждой вещи свое место.
С уважением, VSerg.
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Октябрь 2003 13:47
Первоначально опубликовано Дмитрий Милосер

Гммм..мдя. В общем сабж нужно было называть по другому- Средство для программирования алгоритмов для тех. процессов. Потому что мэковские языки предназначены для этого и ТОЛЬКО для этого. Не более. Не нужно приписывать им возможности для написания драйверов, протоколов и пр.

Да - негодно названа тема - отсюда и последствия.
Т.е. - не всё так плохо: всё это полезно и интерсно было бы почитать ... но в 10-ти ;-) темах, не сваливая в одну.
Слишком широко "захватили", даже если это "алгоритмы для техпроцессов":

- что такое техпроцесс? Одному это - управление производством жевательной резинки (тут кто-то писал ;-)). Актуально? Безусловно. Другому - управление раскруткой турбины (я этот предмет просто знаю)... Тех. процесс это? А как же! Чем отличается от предыдущего? ... те-же датчики, контакты, вентили... Практически ничем, кроме того, что реакцию по времени проаустить нельзя - вырвется эта дура из подшипников, и пойдёт "гулять по территориям", как гироскоп стабилизируясь - говорят до 5-6 часов "гуляет" здания круша... А у меня, чаще, техпроцесс: получать огромный зашумленный поток данных от радарного приёмника, обсчитать, обнаружить, выделить координаты, дать целеуказание и "влупить"... Техпроцесс? Ещё какой. Но здесь - 95% по объёму и кода и времени - цифровая обработка сигнала... Не может быть единых правил даже для этих 3-х техпроцессов!

- что такое контроллер? (который программировать собираемся). 2 шкафа набитых И-НЕ логикой - контроллер? А то как же! Только программировать его не нужно - там всё паяльником "запрограммировали". PIC простейший на ретрансляции данных - контроллер? Или ещё вот: контроллер - это только то, что на низовом уровне? А если там PC-104+ Celeron 650 с OS QNX - контроллер? А на верхнем уровне? Не контроллер? А если там такой же PC-104+ Celeron 650 с OS QNX? А если и нет уже нижнего-верхнего уровня, если они (PC-104 модули) в сети и отличаются "нижний-верхний" только по выполняемому сегодня ПО, т.е. функционально? А завтра "верхний" вынут и унесут на профилактику, а "нижний" станет выполняться как "верхний"? (А я не придумал эти ситуации - недавно делали, сейчас макетно эксплуатируется).

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


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Октябрь 2003 13:52
Первоначально опубликовано VSerg

Насколько я знаю, то исаграф работает под следующими ОС: информаця c сайта www.fiord.com.

ISaGRAF Runtime Target может исполняться в любой операционной системе: Embedded NT, NT RTX, VxWorks, Phar Lap, OS-9/9000, Windows CE, Linux, pSOSystem, Windows NT, LynxOS, QNX, MS-DOS, US Software, NT INtime, VRTX...

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


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

очень много здесь зависит от OS и её tools поддержки обменов

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

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

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

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

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

Наверх
Guests Смотреть выпадающим
Гость
Гость
Свойства публикации Свойства публикации   Ответить, цитируя автора - Guests Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Октябрь 2003 14:32

 что такое техпроцесс? Одному это - управление производством жевательной резинки (тут кто-то писал ;-)). Актуально? Безусловно. Другому - управление раскруткой турбины (я этот предмет просто знаю)... Тех. процесс это? А как же! Чем отличается от предыдущего? ... те-же датчики, контакты, вентили... Практически ничем, кроме того, что реакцию по времени проаустить нельзя - вырвется эта дура из подшипников, и пойдёт "гулять по территориям", как гироскоп стабилизируясь - говорят до 5-6 часов "гуляет" здания круша...

Ну, не мне рассказывать всем какие бывают процессы :)

Основные:

-непрерывный (нефтянка, химия, металлургия и т.п )

- дискретный(еще называют прерывистый) (автопром, изготовление штучных деталей, станки, роботы с ЧПУ и т.п.)

- гибкие

- batch (периодические )- управление процссами смещения и пр.)

ну и производные уже от них...смешанные процессы.

А у меня, чаще, техпроцесс: получать огромный зашумленный поток данных от радарного приёмника, обсчитать, обнаружить, выделить координаты, дать целеуказание и "влупить"... Техпроцесс? Ещё какой. Но здесь - 95% по объёму и кода и времени - цифровая обработка сигнала... Не может быть единых правил даже для этих 3-х техпроцессов!

Эээээ, нет, батенька :) Вы меня с толку не собьете, я говорил о ТЕХНОЛОГИЧЕСКИХ процессах :) Жаль, сократил. Но я надеялся, что все знают аббревиатуру АСУ ТП... :(

По поводу контроллеров...ладно, приведу живой пример (живее некуда :)

В конце 80-х нефтяникам немцы (ГДР) поставляли комплексные ЦПУ. Кто не знает- центральный пункт перекачки нефти. Автоматизировали они ЦПУ в последние годы на супертехнике как всем тогда казалось- ПЛК с "сердцем" на небезызвестном камне Z80. Язык- асмоподобный. Круто, да? Куда круче Си и быстрее главное! :)

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

Примерно в то же время у нас начался гораздо больший проект по автоматизации НПЗ. Там уже купили РСУ примерно тех же годов разработки (конец 80-х). И контроллер ПАЗ, алгоритмы на LD были. Ну так вот, пуск всего завода занял 2 месяца, а с обслугой и изменениями мы почти и не парились- все было довольно просто на те времена.

Вот вам и трудозатраты и удобство и пр.  

Так что мня не переубедить, что МЭК хуже для (повторю) создания алгоритмов управления технологическими процессами. Даже не старайтесь :) Я эту разницу через собсвенные ручки прочувствовал. Только не говорите что они кривые :) Проекты-то живут до сих пор и после того еще очень много было разных.

 

 

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


Присоединился: 26 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 22
Свойства публикации Свойства публикации   Ответить, цитируя автора - Дмитрий Теркель Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Октябрь 2003 14:37
Первоначально опубликовано Olej

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


В сущности, Вы сейчас мимоходом озвучили единственный СЕРЬЕЗНЫЙ недостаток примененения C++ в рассматриваемой области.
Действительно, все зависит:
1) от ОС
2) от тех базовых библиотек, которые пользователь сам себе создал, "проблемно-ориентируя" C++ для себя.

В результате имеется, во первых, зависмость кода от платформы (1), во вторых, лишняя работа по созданию "каждому для себя" инфраструктуры, которая в случае с мэковскими языками обеспечивается поставщиком систем разработки.

1-я позиция - я её никак не могу признать.
Ни одно средство (даже если это МЭК ;-)) никак не может использовать средств, которые не предоставляет ему базис! Чудес не бывает (т.е. - законы термодинамики утверждают, что бывают но та-а-а-ак редко;-)).

Как ваш МЭК будет "синхронизировать" данные, независимо каким механизмом они доставляются: RS-232, ModBus, Ethernet MAC, TCP/IP, UDP vs TCP ;-), HTTP, SNMP, FTP... - назвать ещё 1234 протоколов/механизмов?
А как ваш МЭК собирается работать в Windows, положим, OS при обмене "в стиле NFS" ... когда Windows никогда не слышала об NFS, и сочтёт всё это "мусором". Или МЭК станет "разгребать" данные на портах адаптера? какого: NE-2000, RTL-8029, RTL-8139 ... назвать ещё 4321 адаптеров? ;-)

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

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

А уж вот эта "святая вера" в возможности таких средств - вот это уже всерьёз опасно!


Мне кажется, Вы просто увлеклись глубокосодержательным спором про big endian и не потрудились понять, что я имел в виду ;) ПОэтому я пропускаю мимо ушей слова о "моем" (???) мэке и опасности чьей-то (чьей, интересно?) святой веры.

Речь идет не о реализации сетевого слоя, не о транспортных протоколах, на которых эта реализация основывается, и, тем более, не о железе. Я говорю об АБСТРАКЦИИ сети, которая должна быть предоставлена этим слоем для прикладных программ. И о том, что эта сама эта абстракция (а не ее реализация) не должна зависеть от Ос, платформы и т.п. Мэк позволяет ОПИСАТЬ распределенную систему (мэковское описание довольно плохое, но это тема другого разговора) неким стандартным образом.
ПРи программировании на C++ нет этой стандартной абстракции сети (имеется ввиду абстракции прикладного уровня, я, конечно, не сокеты имею в виду). А нет этой абстракции не потому, что С++ не позволяет ее создать, а потому, что разработчики систем автоматизации, пишущие на С++, не удосужились ее создать, то есть написать совместно некий файл вроде asutp.h, и делать ему #include в своих прикладных программах. А при необходимости, реализовывать некоторые понятия из этого файла для N-й платформы, K-го транспортного протокола или 78965-го сетевого адаптера.
И это относится не только к сети.
С уважением,
Дмитрий Теркель
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Октябрь 2003 14:50
Первоначально опубликовано Доктор Q

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


Голубчик, "читаемость" - это всегда прямая функция "грамотности" ... безотносительно к языкам программирования: "вот в России 1913-го года..."(с) ;-).

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


небезопасность

... пользуясь термином - огласите, пожалуйста, какие суровые опасности и испытания нас подстарегают в С++... откройте общественности глаза!

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


и низкоуровневость.


[QUOTE]
... а это вы чем измеряете? ареометром?

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


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



Какая "такая же"?
FORTRAN до сих пор повсеместно применяеися в фундаментальной науке (ионосфера, физика твёрдого тела, плазмы и мн.др.), в университетских кругах... (в USA "кругах"!, т.к. прочее для вас не авторитет?). Применяется:
а). для того, для чего и предназначен - численные методы;
б). потому, что наработано огромное количество библиотек, и только безумец станет их переписывать ... на Эйфель ;-).

На предмет "уготована судьба...".
Мне всегда так нравились подростки с неиссякаемым запасом "молодости и задора"(с).
"Марксизм-ленинизм непобедим, потому что он единственно верный!"(с)
Чем всегда заманчиво пророчествовать - так это тем, что за него никогда не приходится отвечать!

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

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



Применительно к данной теме "программирование алгоритмов АСУТП"... как раз "трудно было бы понять..."!
1. Java для управляющих алгоритмов (особенно, если это embedded а ещё более realtime) имеет ... 105 ;-) отягчающих обстоятельств применения...
2. а C# ... :D :D :D - не будем об грустном ...в общем, ничем не отличается от Java в концепциях, кроме того, что последняя "изобретена не MicroSoft" - об этом уже писано-переписано.

[QUOTE=Доктор Q]

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


Ещё бы!
Особенно применительно АСУТП ;-)...
Господа - подымите руки, кому было бы любопытно обсудить языки Эйфель и Эрланг (... может ещё "матерный" заодно?).
... Вы слышите меня, стены ... (с).
Наверх
Доктор Q Смотреть выпадающим
Действительный член
Действительный член


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

Olej какие суровые опасности и испытания нас подстарегают в С++... откройте общественности глаза!

Уважаемый общественник, если умеете читать по-английски - читайте http://burks.brighton.ac.uk/burks/pcinfo/progdocs/cppcrit/index.htm

 

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


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Октябрь 2003 16:05
Первоначально опубликовано Дмитрий Милосер

Эээээ, нет, батенька :) Вы меня с толку не собьете, я говорил о ТЕХНОЛОГИЧЕСКИХ процессах :) Жаль, сократил. Но я надеялся, что все знают аббревиатуру АСУ ТП... :(



Да я вас с толку сбивать и в мыслях не держал...
Я только не пойму: почему управляемый процесс доменной печи вы считаете "технологическим", а тем же, скажем, радиолокационным комплексом - "не технологическим"? Или системы бортовых АСУ тепловоза, метрополитена (то, что мне знакомо) ... или это не "процессы"?

Можно и так квалифицировать. Только тогда нужно строго сказать: мы здесь будем рассматривать применимость целевых языков (МЭК) для описания тех процессов, которые мы называем "технологическими", а это значит: а)... б)... в)...
Наверх
 Ответить Ответить Страница  <1 3940414243 53>

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

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