Средство для программирования контроллера: Си или МЭК 61131? |
Ответить | Страница <1 1516171819 53> |
Автор | |
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Август 2003 Категория: Russian Federation Online Status: Offline Публикации: 108 |
Опубликовано: 01 Октябрь 2003 16:59 |
Всё гораздо проще. по портируемости ISaGRAF с одной платформу на другую: 1. перенос ISaGRAF с одной платформы на другую делают как минимум ФИОРД и Науцилус, не знаю точно, но возможно так же РТСофт и др. по транслятору на С: 2. пока нет ни какого транслятора языка С в ISaGRAF... если тело функции языка С компилируется и запускается на Вашей платформе, то её вполне можно объединить с ядром исполняемой системы ISaGRAF. В проекте ISaGRAF обозначается шаблон функции на языке С. Сделать это может любой пользователь ISaGRAF. Но для этого надо иметь Tool Kit, продаётся отдельно... |
|
С уважением,
Бессонов Ян. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|
=== Доктор Q на "необходимо отметить, что
интерпретационная модель имеет недостаток - она всегда снижает показатели эффективности исполнения программы.": Это заблуждение. Извинительным обстоятельством является его распространенность. Увы. Судя по ссылке, что Вы привели, Вы не поняли, о чем идет речь: а речь идет о сравнении компиляционной и интерпретационной модели при всех прочих _равных_ условиях... Кстати, Вы не могли бы более критически к своим ссылкам относится? а то из ссылки, которую Вы привели, выходит, что SPF (как Вы утверждаете, интерпретатор) дает лучшие результаты, чем ассемблер... :-))) Сильно напоминает разобранный на этой ветке случай о "сверхчудесных" свойствах FBD-UL по сравнению с Си... :-))) когда при разборе заявленного пятикратного превышения по быстродействию, FBD-UL оказался в 200 (двести) раз более медленным, чем Си (и это без учета потери качества вычислений)... 8-) === Доктор Q на "На практике использование языка низкого уровня может быть оправданным только в двух случаях...": Перечислены не все случаи, когда использование языка более низкого уровня оправданы. Помимо указанных, можно назвать: в) для обеспечения совместимости с ранее разработанными и выпущенными продуктами г) для того, чтобы не исключить из круга охваченных стандартом продукты небольших фирм, которые могут для своих изделий "осилить" язык IL (с силу простоты его реализации), но не имеют возможности потратиться на создание графических ST и/или FBD Пункт в) - я не понимаю, о какой совместимости Вы говорите... может речь идет о "тяжелом наследстве" предыдущих проектов? о переносе проектов без анализа алгоритма, то, о чем в "Послесловии" упоминается, при разборе случаев правомерности использования МЭК? В статье говорится, что использование МЭК может быть оправдано, если: "г)преследуется задача незначительно модифицировать старое ПО, уже написанное на одном из таких языков и снабженное качественной документацией." Увы, есть такая проблема, - проблема "тяжелого наследства" - она касается не только сименовского ассемблера, но и всех других МЭК-языков. Что касается IL. Можно, конечно, и программы машинном коде PDP-11 пытаться переносить... но зачем, спрашивается, это в стандарт тащить?! 8-) т.е. предлагать на этом программировать встречному и поперечному, как в ISaGRAF-е делается??? Понимаете, статья писалась в первую очередь для свободных людей, - людей, не обремененных "тяжелым наследством" использования МЭК... в статье грустная ситуация с МЭК описывалась в мягких тонах, и многие второстепенные аспекты просто не включались. Например, Ваш пункт г) несомненно справедлив, хотя и не имеет отношения к технической стороне дела... тут я с Вами абсолютно согласен: включение IL в стандарт произошло, по-видимому, с подачи Сименс, не по техническим, а по политическим соображениям. Внутренний сименовский ассемблер приобрел статус международного стандарта при программировании ПЛК... Круто? Еще бы! Но в статью обсуждение этой проблемы не вошло, и за меньшее Сергей Сорокин меня в конспирологии обвинил... А что, кстати?! Должен же быть в статье хоть один недостаток!? :-) === Доктор Q на "Но интерпретатор означает невозможность создания ни быстродействующего, ни малого по объему кода!": Это ошибка. Увы, с удовольствием бы согласился с Вами, но не могу погрешить против Истины: это не ошибка... :-( При всех прочих равных условиях для любого языка Ти >= Тмк, и Vи >= Vмк... где Ти, Тмк - время исполнения программы под интерпретатором и в машинных кодах соответственно, а Vи/мк - объем ОЗУ, необходимый для исполнения программы под интерпретатором и в машинных кодах... Доказательство, по-моему, банально. Ну, может, есть малюсенькая сложность: в доказательстве Vи >= Vк не забыть, что Vи - это сумма текста программы и кода самого интерпретатора... Не понимаю, почему Вы против очевидных вещей возражаете... странно. |
|
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|
Я не понял, чему Вы возражаете?
1. Я нигде не утверждал, что IL придумал Siemens. 2. Вы и сами подтверждаете, что IL - это ассемблер одного из сименсовских контроллеров. 3. Вы о чем говорите, когда утверждаете, что "Традиционно FBD и LD транслируются именно в IL, вернее, в байт-код IL."? Кем транслируется? Где? В ISaGRAF? В UltraLogik? Смысла в этом (кроме оговоренных в статье случаев) - НУЛЬ. Поверьте человеку, разбирающемуся в программировании.
|
|
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
|
Владимир Е. Зюбин При всех прочих равных условиях Граница между интерпретацией и исполнением нативного кода весьма зыбка и расплывчата, особенно если имеешь дело с Фортом. И уж, конечно, никакой трансляции "на лету"! SPF, о котором идет речь, использует так называемый подпрограммный шитый код. Программа, интерпретируемая им, выглядит примерно так: Для подпрограммного шитого кода "интерпретатор" - это сам процессор, с его call и ret, а вся Форт-система может быть представлена как определенным образом организованный набор подпрограмм. Тем не менее, Форт традиционно считается интерпретируемым языком. Выигрыш в скорости по сравнению с ассемблерным кодом достигнута за счет оптимизации при трансляции. На ассемблере человеку так написать можно, но очень трудно, при сложном алгоритме на каком-то этапе он "сломается". |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
|
1. Я нигде не утверждал, что IL придумал Siemens. Разве? Не стоит отнекиваться. Как тогда изволите понимать следующее Ваше утверждение: IL (Instruction List) - текстовый язык низкого уровня. Выглядит как типичный язык Ассемблера, что объясняется его происхождением: для некоторых моделей ПЛК фирмы Siemens является языком Ассемблера 2. Вы и сами подтверждаете, что IL - это ассемблер Даже не одного. Только не IL, а STEP5. Сименс - не более чем общеизвестный пример, однако можете быть уверены, что другие производители PLC тоже зашивали свои варианты IL в железо. . Вы о чем говорите, когда утверждаете, что Например, в STEP5 и в STEP7 транслируется. Форматом исполняемого кода ISaGRAF я пока не интересовался. Это более новая система, потому не удивлюсь, если они использовали FVM в качестве виртуального процессора. В UltraLogik? Ультралоджик транслирует в нативный код. Этим он отличается от большинства систем для PLC. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
|
Владимир Е. Зюбин Поверьте человеку, разбирающемуся в программировании Не забывайте, это называется "растопыриванием пальцев". Замечу, что загибать именно растопыренные пальцы большим грехом не считаю :-) |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|
Ну и как, интересно, Вы это перевели?! 8-) Сейчас мы тут еще и английским заниматься будем... :-) не было печали... |
|
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|
На самом деле без разницы, кто будет переносить ISaGRAF
на новое железо... владельцы ли ISaGRAF, или, как говорит, Бессонов, НАУЦИЛУС или еще какой-нибудь... Важно то, что это дело рядовому конечному пользователю НЕ ПО СИЛАМ. Опять же не забывайте, что ISaGRAF - это один из нескольких десятков других продуктов на базе МЭК... продуктов совершенно несовместимых... Ну, предположим, производитель железа произведет адаптацию ISaGRAF, а остальные продукты он будет адаптировать или нет? а сопровождать бесконечные обновления в ISaGRAF и других продуктов? Драйверы к разным платам УСО? Увы, но Ваше предложение нереально.
|
|
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|
В тексте констатируется простая вещь:
решить проблему переносимости ПО на базе МЭК можно либо de jure, т.е., выпуском независимого стандарта, после чего все производители корректируют свое ПО, либо de facto, т.е. путем большой "драчки", после которой выживет сильнейший, а все остальные сойдут со сцены... Остальной текст про Си и трансляторы я, с Вашего позволения, проигнорирую. Думаю, когда мы с Вами усвоим, что такое "транслятор", "интерпретатор" и "компилятор", мы можем вернуться к вопросам переносимости и трансляции т.н. "графических языков"... вернее, Вы сможете просто перечитать статью, там все это раскрыто в достаточной степени...
|
|
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|
Извините, за резкость, но Вам нужно разобраться с
основами программирования... к сожалению, по этой части у Вас наблюдается большой пробел, а заниматься с Вами лик.безом у меня нет ни времени, ни особого желания... Могу только посоветовать читать хорошие книги, журналы по программированию и не забывать заглядывать специализированные терминологические словари (ссылки Вам даны, заодно и английский свой подтяните...)
|
|
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|
Ответить | Страница <1 1516171819 53> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |