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

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

 Ответить Ответить Страница  <1 1819202122 53>
Автор
Сообщение
Доктор Q Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Сентябрь 2003
Категория: Isle Of Man
Online Status: Offline
Публикации: 119
Свойства публикации Свойства публикации   Ответить, цитируя автора - Доктор Q Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Средство для программирования контроллера: Си или МЭК 61131?
    Опубликовано: 03 Октябрь 2003 13:58
Настоящим извещаются все заинтересованные лица, что, дабы не быть обвиненным в наполеоновских замашках, я вынужден был сменить свое виртуальное место жительства. Вместо Святой Елены ныне я обитаю на острове Мэн ;-)))
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Октябрь 2003 15:06
Пожалуйста, сформулируйте четко вопрос.
Мне начинает казаться, что мы о разных вещах говорим. :-)
Ни о какой "переносимости/непереносимости ассемблера"
речи не идет...

Речь шла о
1. программировании на ассемблероподобном языке;
2. достижении переносимости на базе ассемблероподобного
языка.

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

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

Добиваться межплатформенной переносимости
с помощью ассемблера - ИДИОТИЗМ вдвойне.
Т.к. 1. ассемблер по определению отражает
архитектурные особенности вычислительной
платформы (если разговор идет о "железе" и
переносимости с одной "железки" на другую).
2. этот способ не позволит модифицировать
исходные тексты на других языках (если разговор
идет о переносимости ПО разных брэндов).

По определению Си - более подходящий вариант
по сравнению с IL. По ВСЕМ параметрам...
стоимости, надежности, гибкости, удобства,
читабельности, модифицируемости... и т.д.
и т.п.

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

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


Вот кратко тезис статьи, относительно IL:
Программировать логику работы ПЛК на ассемблеро-
подобном языке, не являющемся Ассемблером
целевой платформы - ИДИОТИЗМ.

Какие тут могут быть возражения?! :-)


Почему ИДИОТИЗМ?
А как же межплатформенная переносимость?


Пожалуйста, скажите по поводу тезиса в статье, "об ассемблероподобном языке".
Ещё раз -- почему ИДИОТИЗМ?

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


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

Можно ссылаться на любые источники, левые, правые.

Но ИНТЕРПРИТАТОР, это программа которая налету транслирует исходный текст программы и тут же его исполняет. Я приводил пример BASIC? на заре PC.

КОМПИЛЯТОР сначало переводит в натив, потом исполняй его сколько хочешь.

Все это не из какихто, бумажных источников, а сам писал на них и на разных платформах.  ПОВЕРЬТЕ!!!

 

www.sinat.ru
Наверх
bessonov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 07 Август 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 108
Свойства публикации Свойства публикации   Ответить, цитируя автора - bessonov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Октябрь 2003 15:41
Первоначально опубликовано Владимир Е. Зюбин

Пожалуйста, сформулируйте четко вопрос.
Мне начинает казаться, что мы о разных вещах говорим. :-)
Ни о какой "переносимости/непереносимости ассемблера"
речи не идет...

Речь шла о
1. программировании на ассемблероподобном языке;
2. достижении переносимости на базе ассемблероподобного
языка.

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

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

Добиваться межплатформенной переносимости
с помощью ассемблера - ИДИОТИЗМ вдвойне.
Т.к. 1. ассемблер по определению отражает
архитектурные особенности вычислительной
платформы (если разговор идет о "железе" и
переносимости с одной "железки" на другую).
2. этот способ не позволит модифицировать
исходные тексты на других языках (если разговор
идет о переносимости ПО разных брэндов).

По определению Си - более подходящий вариант
по сравнению с IL. По ВСЕМ параметрам...
стоимости, надежности, гибкости, удобства,
читабельности, модифицируемости... и т.д.
и т.п.

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

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


Вот кратко тезис статьи, относительно IL:
Программировать логику работы ПЛК на ассемблеро-
подобном языке, не являющемся Ассемблером
целевой платформы - ИДИОТИЗМ.

Какие тут могут быть возражения?! :-)


Почему ИДИОТИЗМ?
А как же межплатформенная переносимость?


Пожалуйста, скажите по поводу тезиса в статье, "об ассемблероподобном языке".
Ещё раз -- почему ИДИОТИЗМ?

Вы не ответили на этот вопрос,
но рассуждаете о непереносимости ассемблера.


Я по поводу вашего тезиса в статье:
почему программирование на ассемблероподобном языке -- ИДИОТИЗМ?
С уважением,
Бессонов Ян.
Наверх
Доктор Q Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Сентябрь 2003
Категория: Isle Of Man
Online Status: Offline
Публикации: 119
Свойства публикации Свойства публикации   Ответить, цитируя автора - Доктор Q Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Октябрь 2003 16:00

Mike_K Но ИНТЕРПРИТАТОР, это программа которая налету транслирует исходный текст программы и тут же его исполняет. Я приводил пример BASIC? на заре PC.

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

Однако, какое это имеет отношение к PLC? Для него программа обычно подготавливается кроссовой системой, а потом загружается в PLC и исполняется как единое целое.  Нет никакого смысла хранить программу в PLC в виде исходного текста. Поэтому так никто и не делает, кроме, возможно, каких-то специальных случаев, или если разработчик - совсем уж недотепа :-)

Кроссовая система компилирует программу, а в PLC она хранится и исполняется в виде "байт-кода". Дополнительно компилировать ее больше не надо, она "готова к употреблению" и исполняется интерпретатором "как есть" безо всякой дополнительной трансляции.

Чтобы было понятнее, точно так же работает Java, см http://java.about.com/library/glossary/bldef-interpreter.htm

The Java interpreter (java) decodes and executes bytecode for the Java Virtual Machine (JVM). See compiler, runtime system.

http://java.about.com/library/glossary/bldef-compiler.htm

The Java compiler (javac) translates source code written in the Java language into bytecode to be run on the Java Virtual Machine (JVM). See interpreter.

Здесь вы ни слова не найдете о том, что Java интерпретатор транслирует байткод. Если верить некоторым упертым "специалистам", то интерпретатор Java - это вообще не интерпретатор, а невесть что, поскольку он не укладывается в их допотопные определения и "не от мира сего" представления об интерпретаторах ;-)

Кстати, надо подчеркнуть, что движущие мотивы при создании Java были очень схожи с теми, из-за которых в большинстве PLC используется именно интерпретаторы.

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


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Октябрь 2003 16:14
Ну, так и я Вам об этом же говорю, и Легалов
не противоречит этому... "пооператорная трансляция",
или "пошаговая", или "трансляция на лету",
как не назови, смысл один: интерпретатор всегда
имеет дополнительные расходы на трансляцию во время
исполнения... Уверяю Вас, определение интерпретатора не
менялось с момента появления первого интерпретатора и
не изменится в дальнейшем... :-)
Но если Вам интересно, то определения приведены из
Instrument Society of America. ISA Comprehensive
Dictionary of M&C. 1995-1997

Я с Вами согласен, можно выискивать блох, как это Вы
пытаетесь делать в моей статье... ну, что ж, успехов...
только не получилось бы как в басне Крылова...
"слона то я и не заметил" :-)


Первоначально опубликовано Доктор Q

<SPAN class=bold>Владимир Е. Зюбин </SPAN>Переведите теперь определения ISA и сведите все вместе


Уважаемый, я вынужден повторить свою просьбу давать проверяемую информацию. Указывайте хотя бы источник и, самое главное, год издания. Дело в том, что computer science прогрессирует настолько быстро, что некоторые вещи устаревают даже к моменту их публикации ;-)


Я мог бы, например, привести достаточно много ссылок на определения интерпретаторов, где фаза трансляции указана как, казалось бы, необходимый атрибут интерпретатора. Начиная с ув. Легалова, см. http://www.softcraft.ru/translat/lect/t01-02.shtml 


Интерпретатор - программа или устройство, осуществляющее пооператорную трансляцию и выполнение исходной программы


Однако, обратите внимание что он пишет в самом начале страницы:


<P align=justify>Большинство рассматриваемых определений заимствовано из [АРНФТС].


<P align=justify>Если Ва не поленитесь и откроете эту ссылку то, вероятно, будете неприятно разочарованы:


<P align=justify>[АРНФТС] Шишмарев А.И., Заморин А.П. Англо-русско-немецко-французский толковый словарь по вычислительной технике. М.: Издательство "Русский язык", 1978.


<P align=justify>Увы... Можно представить, как давно _создавались_ эти определения. Так ведь и до "лженауки кибернетики" можно докопаться ;-)


<P align=justify>Основная проблема с приводимыми Вами определениями состоит в том, что они логически взаимно противоречивы. Если Вам это непонятно, я могу объяснить.


<P align=justify> 

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


Присоединился: 29 Сентябрь 2003
Категория: Isle Of Man
Online Status: Offline
Публикации: 119
Свойства публикации Свойства публикации   Ответить, цитируя автора - Доктор Q Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Октябрь 2003 16:55

Владимир Е. Зюбин интерпретатор всегда имеет дополнительные расходы на трансляцию во время исполнения.

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

Я привел  два конкретных примера интерпретаторов, которые ничего не транслируют при исполнении: SPF и Java. Я мог бы еще упомянуть классический p-код, но очень опасаюсь, что Вы про него ничего не слышали, а мои скромные, но правдивые объяснения, встретите с недоверием.

Могу Вас уверить, что подавляющее большинство PLC тоже ничего не транслируют, а исполняет заранее оттранслированный байт-код.

Ради повышения образования, можете глянуть на описание и исходные тексты интерпретируюшей системы BASIC в компьютере Atari, http://www.ping.be/kim-1__6502/6502/absb.html  Если Вы способны читать по-аглицки, Вы увидите, что уже в 1978 году эта система использовала тот самый "трюк", который я пытаюсь Вам втолковать:

A more accurate term for Atari's BASIC Language Translator is pre-compiIing interpreter.

Предложенный ими термин, насколько мне известно, так и не стал общеупотребительным. Сейчас все это называют просто интерпретатором.

Кроме того, из приведенных примеров один - SPF - практически не имеет накладных расходов даже на исполнение оттранслированного кода. Однако у меня создалось впечатление, что этот факт оказался недоступен Вашему пониманию.

 

Наверх
Sergey Sorokin Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 27 Март 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 240
Свойства публикации Свойства публикации   Ответить, цитируя автора - Sergey Sorokin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Октябрь 2003 21:17

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

Добиваться межплатформенной переносимости
с помощью ассемблера - ИДИОТИЗМ вдвойне.
Т.к. 1. ассемблер по определению отражает
архитектурные особенности вычислительной
платформы (если разговор идет о "железе" и
переносимости с одной "железки" на другую).
...

Владимир, а Вы не вспомните к архитектуре какого конкретно микропроцессора относится IL?

Я тут посмотрел последний драфт стандарта 61131-3 и в списке инструкций IL нашел всего 20 операторов. Мне показалось маловато. Даже для старенького микроконтроллера 8048 я насчитал в его ассемблере 96 команд. Может IL еще на ламповых контроллерах работал? :-)

С Уважением

Сергей Сорокин

 

Наверх
Доктор Q Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Сентябрь 2003
Категория: Isle Of Man
Online Status: Offline
Публикации: 119
Свойства публикации Свойства публикации   Ответить, цитируя автора - Доктор Q Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Октябрь 2003 04:32

Владимир Е. Зюбин можно выискивать блох, как это Вы пытаетесь делать в моей статье...

Видите ли, дело совсем не в "блохах". Вам потребуется какое-то время, чтобы произвести соответствующую корректировку Ваших определений и понятий. Действительно, на первый взгляд разница между тем, что Вы говорите, и тем, что есть на самом деле, кажется незначительной и несущественной.  Однако я вполне уверен, что впоследствии Вы увидите к каким серьезным переменам во взглядах и выводах Вы будете вынуждены прийти после такой вынужденной корректировки. На это потребуется время, я Вас не тороплю.

В частности, я могу предвидеть, что Вы перестанете называть программирование на IL "идиотизмом", поскольку истоком и причиной этой Вашей реакции являются Ваши нынешние искаженные представления об интерпретаторах и компиляторах.  Да и свою статью Вы, наверное, перемотрите более критичным взором.

Кроме того, хочется надеяться, что в результате дискуссии Вы прониклись большим почтением к LD и FBD, поскольку лучше увидели их глубинную связь с функциональными языками. Заодно, наверное, рассеялось Ваше ошибочное представление о том, что лямбда-калькулус является необходимой основой для функциональных языков.

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


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Октябрь 2003 12:59
Меня, честно признаться, ужасно утомляет пытаться научить Вас уму разуму...
наверное я прекращу эти попытки... в последний раз:

компилятором называется транслятор, входным языком для которого служит
платформо-независимыя язык (язык третьего поколения и выше), а выходным -
машиный код (или иногда просто, платформо-зависимый язык).

Запомните это и заучите, а книжку Ахо и Ко, сожгите... :-)
Ахо хороший человек, но тут он просто либо не сечет, либо его переводил
недоучка, коих, как я вижу, кругом в избытке...

Вам были даны ссылки на терминологические словари:
1. Шишмарев А.И., Заморин А.П. Англо-русско-немецко-французский толковый словарь по
вычислительной технике. М.: Издательство "Русский язык", 1978.
2. Free On-line Dictionary of Computing, Denis Howe 1993 - 1999.
3. Instrument Society of America. ISA Comprehensive Dictionary of M&C. 1995-1997

Вот Вам еще пару определений из толковых словарей...

http://dictionary.reference.com/search?q=compiler

4. The American Heritage® Dictionary of the English Language, Fourth Edition
Copyright © 2000 by Houghton Mifflin Company.

А Вы все упорствуете в своем невежестве... :-)   

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

Даже не знаю, что Вам тут посоветовать... :-( Грустно.



Первоначально опубликовано Доктор Q

<SPAN class=bold>Владимир Е. Зюбин </SPAN>compiler 1. A program that translates a high level source language (such as FORTRAN IV or BASIC) into a machine language suitable for a particular machine.


Вместо того чтобы переводить это определение, я приведу определение ув. Легалова из источника, на который давал ссылку в предыдущем постинге:


Компилятор - это обслуживающая программа, выполняющая трансляцию на машинный язык программы, записанной на исходном языке программирования


Удивительная схожесть, не правда ли? Зная, из какого источника брал свое определение Легалов (словарь 1978г),  я догадываюсь, из каких пыльных архивов добыто приводимое Вами ;-)


А теперь я приведу современное определение этого термина, взятое из наиболее авторитетного на сей день источника - "книги дракона" (А.Ахо, Р.Сети, Д.Ульман, "Компиляторы. Принципы, технологие, инструменты", Вильямс 2001, перевод издания 1985г) 


Компилятор - это программа, которая считывает текст программы, написанной на одном языке - исходном, и транслирует (переводит) его в эквивалентный текст на другом языке - целевом.


Во избежание всяческих ошибок и недоразумений, настоятельно рекомендую Вам использовать именно это определение ;-)

Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
 Ответить Ответить Страница  <1 1819202122 53>

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

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