Средство для программирования контроллера: Си или МЭК 61131? |
Ответить | Страница <1 2526272829 53> |
Автор | ||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
Опубликовано: 14 Октябрь 2003 17:33 |
|
И в какой версии ISaGRAF была введена возможность
описывать на ST функции? В 2.11? или так и не введена? Уверяю Вас, в доках на версию 2.10 на обложке присутствуют и слово Standard, и IEC 1131-3... Крупными такими буквами, от души написаны... :-)
|
||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
||
Как в ISaGRAF 2.10. Создается библиотека на других языках, на том же Си. Все.
|
||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
||
Новичок Присоединился: 14 Октябрь 2003 Online Status: Offline Публикации: 25 |
||
По поводу 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 |
||
В таком случае ST a la ISaGRAF не является структурным
языком, поскольку все же не позволяет создавать структурные программы. Кстати, другой интересный вопрос, насколько тот способ структуризации, что ST предлагает, вообще интересен для рассматриваемого класса задач (алгоритмы кправления объектами автоматизации :-)
|
||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
||
Новичок Присоединился: 14 Октябрь 2003 Online Status: Offline Публикации: 25 |
||
Вопрос такой. Вы в СИ и СИ++ работали? Ваша сфера деятельности? Если работали в СИ, то наверное знаете, что в рамках проекта создать несколько файлов в каждом из которых написать по одной функции. Затем из одной функции вызывать другие функции из других файлов. Делает ли такая возможность СИ его не структурным? Правильный ответ НЕТ. Так вот в ISaGRAF закреплено, что каждая функция должна находится в отдельном "Файле". Это сделано для избавления программиста от необходимости объявлять функции, т.е. функция объявляется в ресурсе, ей задается имя и параметры, но в теле функции ее название не повторяется. Это не делает язык не структурным. Язык ST в ISaGRAF такой же структурный как и СИ. Я пока не видел, таких примеров из структурированности СИ, которых не было бы в ST. Очень даже полезен. Так как позволяет отлаживать каждую функцию и функциональный блок независимо от всей программы. Повторюсь Я пока не видел, таких примеров из структурированности СИ, которых не было бы в ST. А если вы уж очень любите Си код, то ISaGRAF позволяет сохранить проект именно в нем, а потом связать его на целевой системе с ядром. Старая шутка:"С++ - Язык С, на котором поставлен крест. Дважды.":)) Не хочу Вас обидеть, но мне не ясно, как можно рассуждать о какой-либо теме или программе никогда к ней не прикасаясь. C уважением. VSerg. |
||
Новичок Присоединился: 14 Октябрь 2003 Online Status: Offline Публикации: 25 |
||
Владимир Е. Зюбин :
ЭТО СИ. http://www.bugtraq.ru/library/programming/languages.html :) |
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
||
В ISaGRAF 2.10 в ST отсутствовали ключевые слова
FUNCTION и END_FUNCTION. В принципе, по замыслу МЭК, как я теперь понимаю, ST предлагался в качестве обычного процедурного языка... урезанный вариант Паскаля. В версии 2.10 ISaGRAF этот Паскаль еще больше урезал... вообще сделав невозможным его автономное использование. Является ли ST a la ISaGRAF 2.10 структурным языком? Разумеется нет. Та же ситуация, как я Вас понял, и в версии ISaGRAF 4.20 осталась.
|
||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
||
Новичок Присоединился: 14 Октябрь 2003 Online Status: Offline Публикации: 25 |
||
Если Вы причисляете ЯП к структурным, только по признаку наличия ключевых слов 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 |
||
Ну и?
Там же и ответ, с которым 99% пользователей Си, согласятся: http://www.bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=17&m=90065 А статья несомненно интересная...
|
||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Июль 2003 Категория: Russian Federation Online Status: Offline Публикации: 140 |
||
VSerg Статья мягко говоря не корректная. Автор очень имеет очень смутное представление о С и о программирование вообще. Нельзя просто сравнивать любые языки, необходимо анализировать проекты, и выбирать средства реализации оных. Если программист владеет многими инструментами (языками) он более правильно выберет на чем и что писать, а не будет с пеной у рта кричать ST, МЭК, это круто. Структурные программы не структурные пользователю всеравно, а вот программисту нет, по этому программисту решать, ставить ему жирный крест на С или нет.
|
||
www.sinat.ru
|
||
Ответить | Страница <1 2526272829 53> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |