Средство для программирования контроллера: Си или МЭК 61131? |
Ответить | Страница <1 1617181920 53> |
Автор | |||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Август 2003 Категория: Russian Federation Online Status: Offline Публикации: 108 |
Опубликовано: 02 Октябрь 2003 12:17 |
||
Важно то, что пользователь может легко залить свой проект на Линукс, QNX и др. ОС. |
|||
С уважением,
Бессонов Ян. |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
|||
A program which executes other programs. This is in contrast to a compiler which does not execute its input program (the "source code") but translates it into executable "machine code" (also called "object code") which is output to a file for later execution Владимир Е. Зюбин Ну и как, интересно, Вы это перевели?! 8-) Вполне приличное объяснение для "чайников". Оно, конечно, не учитывает таких нюансов как трансляция в промежуточный код, не указывает что результат трансляции не обязан выводиться в файл, а может использоваться иным способом, и т.п. Но, по крайней мере это определение не выдвигает пресловутого глупого требования, чтобы интерпретатор сначала транслировал код, а уж потом его исполнял. |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
|||
Доктор Q Адаптацию ISaGRAF на новое железо (т.е. установку run-time) в большинстве случаев будет производить не CJ International (ныне ICS Triplex), а сам производитель железа, который купит ОЕМ лицензию у ICS Triplex. Возможно, ICS Triplex предоставляет и такой сервис как постановку run-time на железо заказчика, но это за отдельные деньги Владимир Е. Зюбин [...] Увы, но Ваше предложение нереально :-) В цитируемом Вами абзаце я, собственно, ничего не предлагал. Я просто проиллюстрировал, насколько высказываемые Вами мнения далеки от реальности. |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
|||
Владимир Е. Зюбин http://www.iae.nsk.su/~zyubin/iec1131.htm Ну что ж, можно подвести итоги. В своей статье автор продемонстрировал поверхностное понимание основ вычислительной техники (см. про препроцессор, интерпретацию и компиляцию). Анализ материала в статье проведен с пропусками и натяжками (см. "два оправдания использования IL"). В статье содержатся неточные формулировки и ряд фактических ошибок (про IL, и др). С историей развития PLC автор, судя по всему, совсем не знаком (см. про Siemens, и др). Некоторые высказывания автора являются абсурдными (см. о "необходимости" единого графического интерфейса). Список можно продолжить. Учитывая сказанное, совсем неудивительно, что за время, прошедшее с момента публикации, выводы и прогнозы, сделанные автором, не оправдались. На конструктивную критику автор, к сожалению, реагирует недостаточно адекватно. "Пойманный с поличным" на ошибках, он периодически пытается хамить. Однако в его оправдание можно привести тот довод, что многие, окажись на его месте, вели бы себя не лучше. |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
|||
Теперь можно вернуться к функциональным языкам Дмитрий Теркель По традиции функциональными языками называют языки, в той или иной степени основанные на лямбда-исчислении Черча. Простая вещь. Чтобы было немножко понятнее что это такое, цитата из http://www.jetcafe.org/~jim/lambda.html Теорема Черча-Россера утверждает, что конечный результат замены не зависит от порядка, в каком замена производится. В материалах www.latrobe.edu.au/philosophy/phimvt/joy/forth-joy.html приводится пример, и говорятся примечательные слова: [...]is known as a lambda abstraction. Almost all programming languages use such a construct at least implicitly. Их отличает по крайней мере такие черты: Там же, в http://www.latrobe.edu.au/philosophy/phimvt/joy/forth-joy.html сказано: The language Joy is a purely functional programming language. Whereas all other functional programming languages are based on the application of functions to arguments, Joy is based on the composition of functions. То есть, указанное Вами свойство не является обязательным, можно по разному делать. Строго говоря, FBD сам по себе не обладает этим свойством. Однако, вкупе с редактором блоков (который обычно входит в комплект средств разработки) - обладает. При условии, что редактор позволяет создавать новый функциональный блок на уснове ранее созданных, в т.ч., созданных пользователем. Если это условие выполняется, то полная система FBD полностью удовлетворяет перечисленным Вами критериям.
|
|||
Новичок Присоединился: 26 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 22 |
|||
Сама по себе теорема Черча-Россера не имеет отношения к нашему вопросу. Но раз уж ее упомянули .. В приведенном отрывке нужно понимать, о каких заменах идет речь в теореме Черча-Россера. Лямбда исчисление - это исчисление, то есть некий формальный язык с правилами вывода, позволяющих получать из одних предложений языка эквивалентные им предложения. В лямбда-исчислении соответствующее правило вывода называется редукцией и звучит как (\x P) Q редуцируется к P[x->Q] (здесь \ заменяет греческую "лямбда", а P[x->Q] означает подстановку Q вместо всех вхождений переменной x в выражение P) К сложным выражениям можно применять это правило несколькими способами (грубо говоря, найдя там несколько "подходящих фрагментов"), и , таким образом, получить из исходного выражения A некие различные выражения A1 и A2. Теорема утверждает, что, даже если так случилось, оба этих выражения можно дальше редуцировать к некоему четвертому (общему для обоих) выражению B. Я опять же не понимаю связь этой теоремы с нашими проблемами (в FBD нет никакого исчисления, то есть правил преобразования одних диаграмм в другие). Дух Черча с Россером не стоит тревожить понапрасну. А то приснятся еще.. :))
На этом основаны по крайней мере ML, Miranda (которая использовалась в оригинале упоминаемой Вами статьи Хьюза), Haskell (который использовалься в ее русском переводе). Применение функций к функциям - это общее место и, в общем, изюминка функционального программирования, без которой существование этого термина (как ТЕРМИНА, а не словосочетания) вообще не было бы оправдано.
[/QUOTE] Доктор, мы поняли, что Вы имели ввиду, назвав ФБД функциональным ;). Но этот термин ЗАНЯТ. Еще раз повторю, лучше оставить его в покое, тем более, что эти терминологические изыскания не добавляют ничего к нашей дискусссии. PS. Все же придется неформально пояснить сущность лямбда-абстракции. А то Черча -Россера, Хиндли-Милнера, Карри-Ховарда .. так мы далеко зайдем :)))) Пусть есть функция, скажем, о трех аргументах f(x,y,z) Тогда запись \x f(x,y,z) (слэш заменяет букву "лямбда") означает функцию ОДНОГО аргумента x , ПАРАМЕТРИЗОВАННУЮ значениями y и z. Лямбда-абстракция как раз и употребляется при передаче функции в качестве параметра другим функциям. При этой передаче часть аргументов передаваемой функции может быть уже известна, и лямбда-абстракция позволяет частично "зарядить" аргументами еще не вызванную функцию, и передать ее "как вещь" дальше. А там, дальше, скормить ей оставшиеся аргументы и , наконец, вызвать. В си, например, такой возможности нет. Там есть указатели на функцию, которые можно передавать как аргументы (си в этом смысле "функционален"). Но в Си нельзя передать указатель на функцию вместе с НЕКОТОРЫМИ уже известными в момент вызова параметрами. И в ФБД нет. И вряд ли будет. Понятно также, что если мы не собираемся передавать функции как аргументы (то есть как "вещи"), смысл лямбда-абстракции теряется. А если собираемся, то только она позволяет сделать это максимально гибко. |
|||
С уважением,
Дмитрий Теркель |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|||
Я вполне допускаю, что IL-подобные языки используются и
еще кем-то... Но наиболее известное употребление IL - это STEP5 Сименса, оттуда и растут ноги IL в стандарте... Уверяю Вас, это не я придумал... :-) Сходите на какую-нибудь профессиональную конференцию и убедитесь в этом сами... Тот факт, что Сименс использует IL - очевиден, об этом и в статье пишется. Что Вы хотите сказать повторяя эту банальность мне неясно. То, что Вы говорите о внутренней кухне UL - это подтверждение моих слов. Что Вы хотели сказать о ISaGRAF - неясно. Вот кратко тезис статьи, относительно IL: Программировать логику работы ПЛК на ассемблеро- подобном языке, не являющемся Ассемблером целевой платформы - ИДИОТИЗМ. Какие тут могут быть возражения?! :-) Разве что вызванные непониманием слова "ассемблер"... Есть проблемы? - Вам уже давалась ссылка на толковый словарь... нужно только английский подтянуть... ;-)
|
|||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Август 2003 Категория: Russian Federation Online Status: Offline Публикации: 108 |
|||
Почему ИДИОТИЗМ? А как же межплатформенная переносимость? |
|||
С уважением,
Бессонов Ян. |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
|||
Как пользователь может "залить" проект, если он портировать ISaGRAF не в состоянии!? Это отдельная работа, отдельные средства, дополнительный головняк с отладкой... Кто НАУЦИЛУСУ платить будет? Товальдс что ли? Ой, не уверен. с Си-то в этом смысле проблем гораздо меньше. Да даже если случится чудо и пользователь найдет для своей МЭК-системы свой НАУЦИЛУС, который задаром все портирует, проблемы-то этим не заканчиваются... например, читаю в ветке "Форум СТА : Программное обеспечение"... глас вопиющего в пустыне (поиск драйвера платы UNIO): http://forum.cta.ru/forum_posts.asp?TID=123&PN=1 шесть просмотров, нуль ответов... кто будет драйверы для всего-чего-на-свете-ни-есть в ISaGRAF портировать? Опять НАУЦИЛУС? Или может быть А.С.Пушкин? За какие бабки? Не-а... слишком мягко стелите... :-) |
|||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Август 2003 Категория: Russian Federation Online Status: Offline Публикации: 108 |
|||
Ни чего не стелю. Как понять "для своей МЭК-системы" ? |
|||
С уважением,
Бессонов Ян. |
|||
Ответить | Страница <1 1617181920 53> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |