Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
Описания языков программирования по стандарту IEC 1131-3 (страница 3)

Версия для печати (настроить)
Страницы: 1 2 3 4

Новая тема | Написать ответ

Подписаться

Автор Тема:   Описания языков программирования по стандарту IEC 1131-3
@sutp
Junior Member

Сообщений: 8
Откуда: Россия
Регистрация: Ноябрь 2006

написано 17 Декабря 2006 10:42ИнфоПравкаОтветитьIP

Интересно, каким системам программирования контроллеров отдается предпочтение и почему.
Можно создать опрос на эту тему?

Здесь в форуме упоминались пакет ISaGRAF, средство от Адастры (Trace Mode ?).
Я скачала с сайта ссылка и установила для знакомства OpenPCS Programming System. Симпатичный интерфейс для пользователя.

Павел Мощицкий
Member

Сообщений: 1729
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 18 Декабря 2006 02:07ИнфоПравкаОтветитьIP

@sutp
Фирма Infoteam имеет поддержку меньшего кол-ва показателей и языков IEC61131-3. И нет совместимости проектов для использования другими средами, поддерживающими данный стандарт. Так было два года назад, если только у них что-то кардинально изменилось.

panteleys
Member

Сообщений: 36
Откуда: Пермь, Россия
Регистрация: Апрель 2006

написано 18 Декабря 2006 07:40ИнфоПравкаОтветитьIP

Как обещал.
Анашкин, Алексей Сергеевич.
Техническое и программное обеспечение распределенных систем управления : Учеб. пособие / Анашкин, Алексей Сергеевич, Кадыров, Энвер Джумагелдыевич, Харазов, Виктор Григорьевич ; Под ред. В.Г.Харазова. - СПб. : Иван Федоров, 2004. - 368 с. - Библиогр.: c.342-343 (43 назв.). - ISBN 5-93893-274-2 : 198-00.
Приведены сведения о структуре, составе и функциях распределительных систем управления (РСУ), включая все уровни иерархии, от уровня полевой автоматики, контроллерного и диспетчерского до административного.

Есть еще одна книга
Петров И.В.
Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования
Описана практика применения промышленных программируемых контроллеров, широко применяющихся для автоматизации производства. Излагаются языки программирования на основе действующего стандарта МЭК 61131-3 и многочисленные примеры подготовки программ для промышленных программируемых контроллеров.Для специалистов по автоматизации производственных процессов и производственного оборудования, а также для студентов и преподавателей высших технических заведений. Серия: Библиотека инженера; Автор: Петров И.В.; Издательство: СОЛОН-Пресс
Год издания: 2004
Код ISBN: 5-98003-079-4

Сам правда не читал, т.к. не могу достать, но преподы в институте говорили что нормальные книги. Может кому и пригодятся.

IP
Junior Member

Сообщений: 26
Откуда: Russia
Регистрация: Июнь 2006

написано 18 Декабря 2006 18:53ИнфоПравкаОтветитьIP

Пожалуйста, не делайте выводов и обобщений о языках программирования МЭК на основе хелпов систем программирования!!! Это очень разные вещи. Иначе получаются статьи, в которых авторы делают удивительные выводы о непригодности МЭК языков для той или иной задачи. На самом деле не пригодна только описываемая система программирования и не более того

Данная выше книжка Michael Tiegelkamp вполне хорошая, но общепризнанная классика –
это Robert Lewis 'Programming Industrial Control Systems Using IEC 1131-3'
см. ссылка

А вот SFC никуда входить не может.
По стандарту может. 1) Функциональные блоки, написанные на SFC можно использовать в любом другом языке. 2) Действия в языке SFC можно писать на любом языке, включая сам SFC. Число этих вложений не ограничено. В Изаграфе нужно запускать дочерние программы, нельзя назвать это удобным, но в стандарте этого и нет.

Ряд публикаций по МЭК собран тут:
ссылка


Петров И.В.Программируемые контроллеры...
Сам правда не читал, т.к. не могу достать

Только для уважаемых участников данной конф-и в pdf 10 Мб: -
ссылка
(Это сохранившийся черновик, до финишной правки, возможны некоторые мелкие ошибки)

Павел Мощицкий
Member

Сообщений: 1732
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 18 Декабря 2006 19:05ИнфоПравкаОтветитьIP

IP
По стандарту может.
Может я отстал от жизни, но в CoDeSys я не видел такой возможности.
Только для уважаемых участников данной конф-и в pdf 10 Мб
Открытие раздела на сайте

R0MER
Member

Сообщений: 87
Откуда: Russia
Регистрация: Июль 2003

написано 19 Декабря 2006 10:46ИнфоПравкаОтветитьIP

Насчет вложенности SFC - это действительно не запрещено стандартом МЭК, например в Trace Mode 6 можно реализовать функцию или FBD-блок на SFC. Поэтому, как правильно сказал IP, не делайте выводов о стандарте по конечным продуктам.
Все равно каждый производитель понимает стандарт по-своему. Если CoDeSys этого не позволяет, то это не значит, что этого нет в стандарте.

IP
Junior Member

Сообщений: 27
Откуда: Russia
Регистрация: Июнь 2006

написано 19 Декабря 2006 11:06ИнфоПравкаОтветитьIP

цитата:
Павел Мощицкий:
Может я отстал от жизни, но в CoDeSys я не видел такой возможности.

Всегда была. В упрощенном SFC CoDeSys щелкаем мышкой по шагу, в диалоге New Action ставим галку SFC. В стандартном МЭК SFC выбираем SFC при создании нового действия. Допустимое число вложений SFC в SFC ограничивается только размером ОЗУ контроллера.

Добавление от 19 Декабря 2006 11:43:

цитата:
R0MER:
...Все равно каждый производитель понимает стандарт по-своему

Увы, это так. Хуже того многие берутся делать переводы, не утрудив себя изучением специальной терминологии, сложившейся в русскоязычных публикациях и документации известных фирм и даже в гостах. В итоге я регулярно сталкиваюсь с тем, что не могу читать документацию на русском на многие зарубежные контроллеры, просто не понимаю о чем речь. (Спецификаторы акций, фронтовые алармы, выходы для вытекающего заряда и др. и пр.) На английском обычно легче понять

Вообще, для изучения программирования ПЛК сам текст стандарта МЭК 61131-3 нужен также как текст стандарта GSM пользователю сотового телефона. Он содержит очень сухие и очень краткие технические спецификации. Описаны только интерфейсы функциональных блоков, но зачем нужен каждый блок и как его использовать не описано. Для этого есть книжки и учебные курсы.
Сам стандарт нужен только изготовителям МЭК систем программирования. Причем нужен именно гарантированно выверенный документ, в котором за каждую букву несет ответственность его издатель. Естественно он должен быть платным, причем нормально платным, купленную за $2 бумажку лучше использовать с другой целью

Павел Мощицкий
Member

Сообщений: 1733
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 19 Декабря 2006 16:42ИнфоПравкаОтветитьIP

IP
Допустимое число вложений SFC в SFC
Нет, Вы не поняли. Я имел ввиду установку SFC, как вложенную в другие языки, например, FBD. Сам в себя, это можно.

IP
Member

Сообщений: 31
Откуда: Russia
Регистрация: Июнь 2006

написано 25 Декабря 2006 16:22ИнфоПравкаОтветитьIP

цитата:
Павел Мощицкий:
Я имел ввиду установку SFC, как вложенную в другие языки, например, FBD.

Функциональный блок или программу (но не функцию), написанную на SFC можно использовать в любом другом языке. Она вставляется как обычный блок. Вот нарисовать фрагмент SFC прямо в FBD действительно нельзя принципиально.

Павел Мощицкий
Member

Сообщений: 1735
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 27 Декабря 2006 01:43ИнфоПравкаОтветитьIP

IP
можно
Наразработать можно всё что-угодно. Как согласно стандарта? Уж больно ты вольно обходишься с переносимостью.

IP
Member

Сообщений: 33
Откуда: Russia
Регистрация: Июнь 2006

написано 27 Декабря 2006 10:44ИнфоПравкаОтветитьIP

цитата:
Павел Мощицкий:
Наразработать можно всё что-угодно. Как согласно стандарта?

Дык так и есть по стандарту. При использовании функционального блока в любом МЭК языке меня совершенно не должно интересовать на чем он написан. Это может быть SFC либо даже С. Лишь бы интерфейс блока был доступен, что внутри неважно. Разве это не так?

a11oleg
Member

Сообщений: 42
Откуда: Москва,Россия
Регистрация: Июль 2003

написано 28 Декабря 2006 09:50ИнфоПравкаОтветитьIP

На мой взгляд все споры о совместимости графических языков это надуманно. Я еще могу представить пользователя который методом CTRL-C CTRL-V переносит текст программы на IL и ST из одной среды программирования в другую. Например из ISAGRAF в Codesys. Не будем рассматривать случай прямой конвертации проекта CoDeSys из STEP7(это редкая фича сделана из-за фактического монополизма(~70%) Siemens на рынке контроллеров Германии). Графические языки из одной программы в другую (кроме случаев крайней необходимости)переносить никто не будет. Ведь это фактически перерисовка шаг за шагом.

Что касается вызовов графических языков по стандарту там, например, разрисованны на одной схеме аж 3 языка. Шаг SFC прямо перетекает в действие на FBD, а переход состоит из схемы на LD. Это можно нарисовать, но понять это, скорее всего, сможет только автор.

Разговоры о совместимости, на мой взгляд, можно будет вести когда все производители реализуют единый формат для сохранения проектов. Иначе практической пользы строгое соблюдение стандарта не имеет.

Практические выводы:
Тщательно подходите к выбору среды программирования контроллеров. Если потом потребуется перейти на другую это может привести к неожиданным последствиям.

Павел Мощицкий
Member

Сообщений: 1736
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 28 Декабря 2006 13:50ИнфоПравкаОтветитьIP

a11oleg
Шаг SFC прямо перетекает в действие на FBD, а переход состоит из схемы на LD.
Верно. Но речь о другом. Например, может ли блок FBD быть написан на SFC по стандарту?

IP
Member

Сообщений: 34
Откуда: Russia
Регистрация: Июнь 2006

написано 28 Декабря 2006 15:51ИнфоПравкаОтветитьIP

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


Существует текстовый формат сохранения МЭК программ PLCopen. Если в CoDeSys сделать экспорт проекта, то получается именно такой текстовый файл. Для графических компонентов в нем описано какой вход с каким выходом соединяется для всех блоков, куда идут переходы в SFC и др. Естественно с потерей информации размещении компонентов. Т.е. графическая программа будет вполне работоспособной, только может выглядеть несколько не так.

Сейчас PLCopen предложено использовать XML. Идея хороша тем, что в проект можно засунуть все что надо, включая координаты элементов на экране конфигурацию контроллера. Пока это черновой вариант для обсуждения и документы доступны свободно (см. ссылка . Однако пока ни в одной системе МЭК программирования этот формат еще не поддержан

Конечно хорошо бы ввести для контроллеров нечто типа .NET и стандартизовать интерфейсы всех возможных типов модулей (например, как это сделано в CANopen). В этом случае можно было получить совместимость на уровне исполняемого кода. Но это дальняя перспектива. Пока же можно говорить только о переносимости текстов, да и то только с обязательной ручной правкой.

цитата:
a11oleg:
Тщательно подходите к выбору среды программирования контроллеров. Если потом потребуется перейти на другую это может привести к неожиданным последствиям.

Абсолютно согласен.

Мало того, гораздо чаще возникает проблема слегка поправить старую отлично отработавшую 5-10 лет программу с минимальными усилиями чем поменять контроллер.
Для простоты желательно использовать туже инструментальную систему и даже туже версию в которой она делалась. Увы, все программы имеют свои глюки, в новых версиях они исправляются и вносятся новые -

IP
Member

Сообщений: 35
Откуда: Russia
Регистрация: Июнь 2006

написано 28 Декабря 2006 16:23ИнфоПравкаОтветитьIP

цитата:
Павел Мощицкий:
...может ли блок FBD быть написан на SFC по стандарту?

В стандарте нет понятия 'блок FBD'! Есть понятие 'программный компонент' (POU), который может быть 3х видов: функция, функциональный блок, программа. Именно на уровне POU возможно совмещение разных языков в одном проекте. Когда я использую POU в любом языке, то мне необходимо и достаточно знать названия и типы его входных и выходных переменных. На каком языке он написан, мне абсолютно до фонаря.

Действительно, в стандартный SFC заложено слишком много чудных возможностей многие из них сложны в реализации, но не сильно нужны практически. Поэтому во всех системах МЭК программирования есть упрощения. 'Правильнее' всех SFC сделан в Siemens S7-GRAPH.

a11oleg
Member

Сообщений: 43
Откуда: Москва,Россия
Регистрация: Июль 2003

написано 09 Января 2007 08:56ИнфоПравкаОтветитьIP

...может ли блок FBD быть написан на SFC по стандарту?

В стандарте нет понятия 'блок FBD'! Есть понятие 'программный компонент' (POU), который может быть 3х видов: функция, функциональный блок, программа. Именно на уровне POU возможно совмещение разных языков в одном проекте. Когда я использую POU в любом языке, то мне необходимо и достаточно знать названия и типы его входных и выходных переменных. На каком языке он написан, мне абсолютно до фонаря.

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

Действительно, в стандартный SFC заложено слишком много чудных возможностей многие из них сложны в реализации, но не сильно нужны практически. Поэтому во всех системах МЭК программирования есть упрощения. 'Правильнее' всех SFC сделан в Siemens S7-GRAPH.

В итоге (классический) SFC (из всех языков IEC) наиболее тяжел для понимания и обычному технологу будет легче использовать "упрощенный" варинт, чем классический. В результате в CoDeSys сделана поддержка двух видов SFC.

IP
Member

Сообщений: 40
Откуда: Russia
Регистрация: Июнь 2006

написано 09 Января 2007 13:29ИнфоПравкаОтветитьIP

Единственное, что приводит меня в смущение, каким образом (и зачем???) FB на SFC использовать... Теоретически это можно представить, но практической пользы... наверное, нет. В большинстве случаев на SFC пишут именно POU типа программа.

Ну, например классический триггер почему бы на SFC не написать: 2 состояния + условия переходов = очень наглядно, либо блок управления клапаном определенного типа и др. и пр.
Один наш очень опытный партнер всегда пишет главную программу на LD и в нее вставляет вызов функциональных блоков, написанных на FBD и SFC. Красивые получаются программы, легко правятся. Если на SFC делать главную программу, то она постепенно так обрастает всякими ветвлениями, что ее и трогать потом страшно. Лучше использовать SFC для небольших и наглядных программок.

Dmitry M. Gaidash
Member

Сообщений: 115
Регистрация: Сентябрь 2005

написано 09 Января 2007 13:38ИнфоПравкаОтветитьIP

например классический триггер почему бы на SFC не написать
Интересно, во что превратит компилятор SFC простые строчки:
Tr := (TrSet OR Tr) AND NOT TrReset; // триггер с приоритетом по входу TrSet
Ts := TrSet OR Ts AND NOT TrReset; // триггер с приоритетом по вхожу TrReset

P.S. На IL это еще проще выглядеть должно, но я с IL давно дел не имел - сразу так в уме не напишу

P.P.S. Это я с той точки зрения, что если этих триггеров в программе тысячи, то контроллер пожет и не потянуть SFC-шную реализацию...

IP
Member

Сообщений: 41
Откуда: Russia
Регистрация: Июнь 2006

написано 09 Января 2007 18:21ИнфоПравкаОтветитьIP

Интересно, во что превратит компилятор SFC простые строчки...
Для всех POU написанных на SFC к коду проекта компонуется один единственный SFC исполнитель, который собственно управляет вызовом действий. Т.е. использование множества ф. блоков на SFC не приводит к резкому росту кода. Каждый новый экземпляр функционального блока кушает только ОЗУ данных.
В принципе (с чем я уже согласен) прикладному программисту наплевать, как это устроено и в какой код компилируется -

Триггер на SFC выглядит проще некуда. Его работа очевидна с первого взгляда. Чтобы понять, почему работает приведенное выражение ST мне нужно все же одну извилину напрягать

Марат
unregistered
написано 24 Января 2007 09:19  ПравкаОтветитьIP

цитата:
Порядок писал:
gregar
Выслал. Если будут вопросы по сабжу, пости в ветке.
ALL
Если кому тоже нужен, сообщите, вышлю.

Вышли и мне на адрес 10964@rambler.ru

unnicked
unregistered
написано 01 Августа 2007 11:52  ПравкаОтветитьIP

IP
а можно черновик на genius65e@mail.ru?

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики
Страницы: 1 2 3 4

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика