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

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

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

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Средство для программирования контроллера: Си или МЭК 61131?
    Опубликовано: 21 Октябрь 2003 01:16

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

МЭК-языки ориентированы на низкоквалифицированных пользователей и крайне простые алгоритмы. Может таких простых задач и большинство, но сложные задачи это тоже реальность. МЭК 61131-3 создает искусственный барьер между простыми и сложными задачами, а также между узкоспециализированными задачами.

Если МЭК об этой проблеме молчит, то он не прав и его
нужно поправить... что и сделано в статье.

Еще раз по поводу сложности задач. Мне совершенно понятно стремление программиста, реализовавшего некий достаточно навороченный вычислительный алгоритм, называть простой задачей, к примеру, автоматизацию фабрики по производству жевательной резинки. Несмотря на то, что дальше многочисленных AND, OR, IF и огромного
количества промежуточных переменных здесь программистской мысли негде развернуться, задача от этого проще не становится. Это гарантированные несколько месяцев кропотливой работы. Именно для таких задач и предназначены языки типа LD/FBD/CFC.

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

Мы занимаемся выращиванием монокристаллов кремния методом Чохральского.

Наслышан об этом методе. Совершенно искренне, мне будет крайне интересно прочесть Ваш труд о данной работе. Это действительно сложная задача.

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

Мне кажется, дальнейшие обсуждения данной темы ведут в тупик. Обязательно опубликуйте Вашу статью в "СТА", уверен, что многим это будет интересно.

Инженер-системотехник
+7 (916) 477 3925
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2003 01:22

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

Если, скажем, LD что-то и упрощает, то нужно понимать, что он упрощает, и за счет чего, и где у этого подхода ограничения наступают... да, LD достоточно просто изучить, но запрограммировать на нем что-то серьезное - практически невозможно... да и несерьезное невозможно
тоже: скажем, тот же ПИД-регулятор... или расчет
среднего... и т.п.

Абсолютно согласен с Вашим давнишним утверждением о том, что IEC 1131 поощряет многоязыковое программирование. Более того, он подразумевает его. С расчетом среднего Вы несколько погорячились - это вполне реализуемо на LD, но, как Вы верно заметили - нужно четко понимать, где кончаются его возможности и на каком из МЭКовских языков можно реализовать необходимые функциональные блоки.

Инженер-системотехник
+7 (916) 477 3925
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2003 01:30

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

Разумеется, я не работал со всеми языками МЭК 61131-3.

И совершенно напрасно, смею Вас заверить... ;-)

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


Хотя, возможно Вы и правы, тема действительно непростая... начиная с вопроса, что такое "сложность"... :-)))

Я рад, что Вы тоже это заметили ;-)

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


Давайте, начнем с простого и будем программировать на LD
включение клапана... а потом рассмотрим практические
проблемы LD c фиксацией отказов, с повторным
использованием, с модифицируемостью...

Мне будет очень интересно рассмотреть этот вопрос. Пока что я не вижу разумных объяснений тому, что Вам не удалось создать нужный функциональный блок и, модифицируя его, использовать повторно...

Инженер-системотехник
+7 (916) 477 3925
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2003 01:44

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

Но, увы, этого в сложных системах мало. Нужна
расширенная диагностика отказов, интерфейс оператора,
журналы событий, архивы параметров, возможность
оперативной модификации алгоритма [...] 

 

Я что-то не пойму - Вы всерьёз полагаете, что эти задачи должны решаться на уровне контроллеров?

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

надежность ПО и т.д.

Вот-вот... мы все о том же говорим.

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


А в простых системах и LD сойдет, а может и реле нужно оставить... может и надежнее будет...

И действительно, кчему все это придумали... Назад, к ENIACу !!!! :-)))

Инженер-системотехник
+7 (916) 477 3925
Наверх
Mike_K Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Июль 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 140
Свойства публикации Свойства публикации   Ответить, цитируя автора - Mike_K Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2003 08:18
Максим Ананских

Я что-то не пойму - Вы всерьёз полагаете, что эти задачи должны решаться на уровне контроллеров?

или вот еще высказывание

Несмотря на то, что дальше многочисленных AND, OR, IF и огромного
количества промежуточных переменных здесь программистской мысли негде развернуться, задача от этого проще не становится. Это гарантированные несколько месяцев кропотливой работы. Именно для таких задач и предназначены

На уровне контроллеров решаются многие задачи не только AND, OR, IF, несмотрите на мир со своей "колокольни".  Мы выяснили в этой конфе, что вы решаете примитивные задачки достойные, и не кто в этом не спорит, МЭКам. Я же говорил уже тут, как вы для достижения быстродействия динамически будете менять приоритеты в МЭК. Опросить кучу датчиков с временем реакции 1сек. построить кривую это МЭК в лучшем случаи управлять не очень критичными процесами. Если вы не знаете других языков не говорите что требуется несколько месяцев кропотливой работы для выхода проекта. Нельзя быть таким ограниченным и судить о других языках о которых вы имеете поверхностное представления, судя по вашим словам.

Еще раз хочу сказать я не отрицаю МЭК, там где он действительно выгоден для программиста, но у нас основные задачи на Си и не куда от этого не деться.

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


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2003 08:52
Я именно про логику говорю, а не про драйверы.
Про контроль ошибок, про уровень качества реализации...
и про LD, а не про FBD.

Первоначально опубликовано VSerg

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


Хотя, возможно Вы и правы, тема действительно
непростая... начиная с вопроса, что такое "сложность"...
:-)))

Давайте, начнем с простого и будем программировать на LD
включение клапана... а потом рассмотрим практические
проблемы LD c фиксацией отказов, с повторным
использованием, с модифицируемостью...


Что бы включить клапан? Управление клапаном идет вроде через дискретный канал В/В. Да в общем не важно через какой канал. Суть не меняется.

Всего 4 действия или 7 для управления с таймера (4-действие можно пропустить).
1) Заводим переменную
2) Заводим драйвер для устройства
3) Связываем переменную с драйвером
4) Собираем проект
Запускаем в отладке и смотрим меняются ли значения канала при изменении переменной. Естественно меняются. Даже LD не нужно. Значения можно вычислять, если правила простые (на уровне булевой логики)то и в LD, а если сложные то в ST и/или других МЭК языках. При наличии логики вычисления включения, то например по таймеру
5) заводим в FBD таймер
6) задаем значение времени и указываем какой сигнал пускает таймер.
7) привязываем переменную к выходу Q таймера. Все.

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


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2003 09:57
Да, языки МЭК 61131-3 имеют право присутствовать в
сложных системах, но только когда сложность системы
заключена не в алгоритме управления... ну, может SFC+ST
чуть-чуть поднимают планку по сравнению с другими
подходами...

и если можно, то мантры не читайте насчет "гармонично
дополняет возможности для автоматизации"...

Первоначально опубликовано bessonov

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


Вот и в статье про это говорится: что, де, если страсть
как хочется модернизировать старые реле, то можно рассмотреть LD.

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

А в простых системах и LD сойдет, а может и реле нужно оставить... может и надежнее будет...


А вы про сложные системы и не говорили :)
вы спросили про LD вам и ответили, про сложные системы вы сейчас написали :)

В любом случае, любой МЭК 61131 язык имеет право и присутствует в сложных системах :)

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


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


Я именно про логику говорю, а не про драйверы.
Про контроль ошибок, про уровень качества реализации...
и про LD, а не про FBD.


Так и я вам про логику, про логику управления клапаном, драйвер это лишь интерфейс. Мы еще говорим о МЭК или только о LD(смотрите тему форума). Тем более я сказал, что LD позволяет реализовать логику на уровне конечного автомата, если операнды булевские, тем более LD позволяет включать блоки FBD, по крайней мере в ISaGRAF.
Выдирая один язык из стандарта, мне кажется, что вы не представляете картины в целом. Стандарт МЭК разработан и предоставляет инструменты для реализации большого спектра задач автоматизации. Ну так и используйте все его инструменты, а не только LD. Вы же когда в CИ пишите используете не только stdio.h.

Надеюсь вы поняли, что включить клапан, как в FBD так и LD ОЧЕНЬ ПРОСТО.

Я не понимаю, зачем на контроллере интерфейс оператора. Да и для интерфейсов и многого другого используют SCADA системы, которые позволяют резервировать управление, сеть да и весь процесс (горячее резервирование) + ведение трендов и алармов, хранение данных в различных бд и многое другое. Как вы себе представляете контроллер, который хранит данные за пару суток, сам себя по горячему резервирует, да еще отслеживает алармы????? Это уже вопросы к уровням управления.
Каждой вещи свое место.
С уважением, VSerg.
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2003 11:26
Все-таки нужно учиться пользоваться словарями...
Знаете, когда Владимир Иванович жил? :-)

Словарь Ожегова исследуйте:
ЭКЛЕКТИЗМ, -а, м. (книжн.). Неорганическое, чисто внешнее соединение внутренне несоединимых взглядов, точек зрения, методов. Э. в исследовании. Э. в искусстве. 11 прил. эклектический, -ая, -ое.
ЭКЛЕКТИК, -а, м. (книжн.). Исследователь или художник, склонный к эклектизму, к эклектике.
ЭКЛЕКТИКА, -и, ж. (книжн.). То же, что эклектизм; то, что обнаруживает в себе эклектизм. И прил. эклектический, -ая, -ое.
ЭКЛЕКТИЧЕСКИЙ, -ая, -ое. 1. см. эклектизм и эклектика. 2. То же, что эклектичный.
ЭКЛЕКТИЧНЫЙ, -ая, •юе; -чен, -чна (книжн.). Обнаруживающий эклектизм, являющийся эклектизмом, эклектикой. Эклектичное рассуждение. II сущ. эклектичность, -и, ж.



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

<SPAN class=bold>Olej </SPAN>Виноват, понял: вы просто знаете далеко не все слова в русском языке...
Ну, так тогда, почтенный, вам просто необходимо вооружаться: "Толковый словарь русского языка", "Фразеологический словарь русского языка"...


Дешево блефуете, уважаемый...


<H1><FONT color=green size=2>Словарь Даля</H1>

ЭКЛЕКТИК м. греч. кто не следует одному ученью, а избирает и согласует лучшее из многих.



 

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


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2003 12:16
Это фраза из фильма "Две сорванные башни"...
Это я так над Вашим ником иронизирую, который
совершенно не соответсвует Вашему поведению...
которое лично мной воспринимается как чванливое
хамство не очень грамотного человека, даже если и "с
корочками".

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

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

нехорошо, купили, поди, ботанические корочки...


Кажется, господин Зюбин опять пытается хамить? Выражайтесь яснее, плз, я плохо понимаю приблатненный жаргон. Увы, недостатки воспитания у каждого свои...

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

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

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