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

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

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


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Средство для программирования контроллера: Си или МЭК 61131?
    Опубликовано: 14 Октябрь 2003 17:33
И в какой версии ISaGRAF была введена возможность
описывать на ST функции? В 2.11? или так и
не введена?

Уверяю Вас, в доках на версию 2.10 на обложке
присутствуют и слово Standard, и IEC 1131-3...
Крупными такими буквами, от души написаны... :-)

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

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



В свое оправдание могу сказать, что в главе стандарта, описывающем ST все упоминания об этой возможности ST отсутствуют... и в документации на ISaGRAF версии 2.10
эти возможности ST также не реализованы... (или опять же описание этого зарыты чрезвычайно глубоко)

Но в любом случае, ST в версии МЭК является структурным языком.



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


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

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

Владимир Е. Зюбин :

Скажите пожалуйста, как Вы себе представляете ВЫЗОВ функции без ЕЕ ОПИСАНИЯ? Извините, но так можно договориться до вызова функции без наличия в природе самой функции.

Если есть ВЫЗОВ и он работает, то значит есть ОПИСАНИЕ функции и ее (функции) ТЕЛО. Иначе получается фигня какая-то.

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


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

И в какой версии ISaGRAF была введена возможность
описывать на ST функции? В 2.11? или так и
не введена?

Уверяю Вас, в доках на версию 2.10 на обложке
присутствуют и слово Standard, и IEC 1131-3...
Крупными такими буквами, от души написаны... :-)



По поводу ISaGRAF 2.10 данных не имею, да и версии у меня такой нет. И мне кажется вопросы по 2.10 сейчас уже не очень актуальны. Версия достаточно древняя. Для программирования простых (нераспределенных) контролеров сейчас есть версия 3.5, но предпочтительнее использовать версию PRO 4.20, так как она поддерживает программирование контроллеров в распределенных системах.
В 4.20 типичного описания функции как в Си нет. Ее объявление сведено в добавлении новой функции к проекту, а заданание параметров к вводу их в словаре. Тело функции описывается в соответствующем редакторе. Вызывать из функции можно не только функции ST, но и функции на других языках МЭК, а также функциональные блоки. Не важно где и как описана функция, главное что она есть и вызывается? а также работает. :))

Если написано, что соответствует стандарту, то значит сответствует. В чем вопрос. Или вы нашли несоответствия. А в каком году вышла 2.10?

Если будут конкретные вопросы по ISaGRAF пишите на filsv@mail.ru
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Октябрь 2003 18:10
В таком случае ST a la ISaGRAF не является структурным
языком, поскольку все же не позволяет создавать
структурные программы.

Кстати, другой интересный вопрос, насколько тот способ
структуризации, что ST предлагает, вообще интересен для
рассматриваемого класса задач (алгоритмы кправления
объектами автоматизации :-)

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

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

И в какой версии ISaGRAF была введена возможность
описывать на ST функции? В 2.11? или так и
не введена?

Уверяю Вас, в доках на версию 2.10 на обложке
присутствуют и слово Standard, и IEC 1131-3...
Крупными такими буквами, от души написаны... :-)



По поводу ISaGRAF 2.10 данных не имею, да и версии у меня такой нет. И мне кажется вопросы по 2.10 сейчас уже не очень актуальны. Версия достаточно древняя. Для программирования простых (нераспределенных) контролеров сейчас есть версия 3.5, но предпочтительнее использовать версию PRO 4.20, так как она поддерживает программирование контроллеров в распределенных системах.
В 4.20 типичного описания функции как в Си нет. Ее объявление сведено в добавлении новой функции к проекту, а заданание параметров к вводу их в словаре. Тело функции описывается в соответствующем редакторе. Вызывать из функции можно не только функции ST, но и функции на других языках МЭК, а также функциональные блоки. Не важно где и как описана функция, главное что она есть и вызывается? а также работает. :))

Если написано, что соответствует стандарту, то значит сответствует. В чем вопрос. Или вы нашли несоответствия. А в каком году вышла 2.10?

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


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

В таком случае ST a la ISaGRAF не является структурным
языком, поскольку все же не позволяет создавать
структурные программы.

Кстати, другой интересный вопрос, насколько тот способ
структуризации, что ST предлагает, вообще интересен для
рассматриваемого класса задач (алгоритмы кправления
объектами автоматизации :-)



Вопрос такой. Вы в СИ и СИ++ работали? Ваша сфера деятельности?

Если работали в СИ, то наверное знаете, что в рамках проекта создать несколько файлов в каждом из которых написать по одной функции. Затем из одной функции вызывать другие функции из других файлов. Делает ли такая возможность СИ его не структурным? Правильный ответ НЕТ.
Так вот в ISaGRAF закреплено, что каждая функция должна находится в отдельном "Файле". Это сделано для избавления программиста от необходимости объявлять функции, т.е. функция объявляется в ресурсе, ей задается имя и параметры, но в теле функции ее название не повторяется.
Это не делает язык не структурным. Язык ST в ISaGRAF такой же структурный как и СИ. Я пока не видел, таких примеров из структурированности СИ, которых не было бы в ST.

Очень даже полезен. Так как позволяет отлаживать каждую функцию и функциональный блок независимо от всей программы. Повторюсь Я пока не видел, таких примеров из структурированности СИ, которых не было бы в ST. А если вы уж очень любите Си код, то ISaGRAF позволяет сохранить проект именно в нем, а потом связать его на целевой системе с ядром. Старая шутка:"С++ - Язык С, на котором поставлен крест. Дважды.":))

Не хочу Вас обидеть, но мне не ясно, как можно рассуждать о какой-либо теме или программе никогда к ней не прикасаясь.

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


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

ЭТО СИ.

http://www.bugtraq.ru/library/programming/languages.html

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


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

В принципе, по замыслу МЭК, как я теперь понимаю,
ST предлагался в качестве обычного процедурного языка...
урезанный вариант Паскаля.

В версии 2.10 ISaGRAF этот Паскаль еще больше урезал...
вообще сделав невозможным его автономное использование.

Является ли ST a la ISaGRAF 2.10 структурным языком? Разумеется нет. Та же ситуация, как я Вас понял, и в версии ISaGRAF 4.20 осталась.

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

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

В таком случае ST a la ISaGRAF не является структурным
языком, поскольку все же не позволяет создавать
структурные программы.

Кстати, другой интересный вопрос, насколько тот способ
структуризации, что ST предлагает, вообще интересен для
рассматриваемого класса задач (алгоритмы кправления
объектами автоматизации :-)



Вопрос такой. Вы в СИ и СИ++ работали? Ваша сфера деятельности?

Если работали в СИ, то наверное знаете, что в рамках проекта создать несколько файлов в каждом из которых написать по одной функции. Затем из одной функции вызывать другие функции из других файлов. Делает ли такая возможность СИ его не структурным? Правильный ответ НЕТ.
Так вот в ISaGRAF закреплено, что каждая функция должна находится в отдельном "Файле". Это сделано для избавления программиста от необходимости объявлять функции, т.е. функция объявляется в ресурсе, ей задается имя и параметры, но в теле функции ее название не повторяется.
Это не делает язык не структурным. Язык ST в ISaGRAF такой же структурный как и СИ. Я пока не видел, таких примеров из структурированности СИ, которых не было бы в ST.

Очень даже полезен. Так как позволяет отлаживать каждую функцию и функциональный блок независимо от всей программы. Повторюсь Я пока не видел, таких примеров из структурированности СИ, которых не было бы в ST. А если вы уж очень любите Си код, то ISaGRAF позволяет сохранить проект именно в нем, а потом связать его на целевой системе с ядром. Старая шутка:"С++ - Язык С, на котором поставлен крест. Дважды.":))

Не хочу Вас обидеть, но мне не ясно, как можно рассуждать о какой-либо теме или программе никогда к ней не прикасаясь.

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


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

В ISaGRAF 2.10 в ST отсутствовали ключевые слова
FUNCTION и END_FUNCTION.

В принципе, по замыслу МЭК, как я теперь понимаю,
ST предлагался в качестве обычного процедурного языка...
урезанный вариант Паскаля.

В версии 2.10 ISaGRAF этот Паскаль еще больше урезал...
вообще сделав невозможным его автономное использование.

Является ли ST a la ISaGRAF 2.10 структурным языком? Разумеется нет. Та же ситуация, как я Вас понял, и в версии ISaGRAF 4.20 осталась.



Если Вы причисляете ЯП к структурным, только по признаку наличия ключевых слов FUNCTION и END_FUNCTION в среде разработки, то поиск истины в диалоге с Вами становиться бессмысленным.

Так как, на мой взгляд, вы путаете среду программирования с языком программирования. В среде программирования могут быть скрыты любые (по мнению производителя мешающие) атрибуты, вплоть до явного объявления функции в теле файла содержащего функцию. В среде программирования это явное объявление может отсутствовать. Программный код скомпилированный средой будет включать и заголовки функций и их объявление, так как без ЭТОГО просто НЕВОЗМОЖНО вызвать и использовать функцию. Это БЕССПОРНО.

Листинг Программы написанной полностью на ST:

Файл программы:

PROGRAM UNTITLEDSTPR
val := UntitledST1();
END_PROGRAM

Файл функции UntitledST1():

FUNCTION UNTITLEDST1
UntitledST1:=UntitledST2();
END_FUNCTION

Файл функции UntitledST2():

FUNCTION UNTITLEDST2
UntitledST2:=2;
END_FUNCTION

Чтобы понять язык нужно смотреть его исходники, а не среду разработки. Надеюсь после выше приведенных исходников у Вас окончательно отпадут сомнения в структурности ST. Есть у меня подозрение, что и в 2.10 было точно также. :) Посмотрите исходники проекта. :))

О СИ.
Возможность выполнить одну и ту же операцию несколькими способами уменьшает структурированность языка.
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 15 Октябрь 2003 11:09
Ну и?
Там же и ответ, с которым 99% пользователей Си, согласятся:
http://www.bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=17&m=90065

А статья несомненно интересная...

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

Владимир Е. Зюбин :

ЭТО СИ.

http://www.bugtraq.ru/library/programming/languages.html

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


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

VSerg
Процесс разработки ПО и ЯП

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

Структурные программы не структурные пользователю всеравно, а вот программисту нет, по этому программисту решать, ставить ему жирный крест на С или нет.

 

www.sinat.ru
Наверх
 Ответить Ответить Страница  <1 2526272829 53>

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

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