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

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

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


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

Владимир Е. Зюбин http://www.iae.nsk.su/~zyubin/iec1131.htm

необходимо отметить, что интерпретационная модель имеет недостаток - она всегда снижает показатели эффективности исполнения программы.

Это заблуждение. Извинительным обстоятельством является его распространенность.

Не вдаваясь в теорию, приведу ссылку на пример, где интерпретатор (SPF) показывает лучшие бенчмарки чем многие компиляторы, включая С http://talk.mail.ru/article-26762867.html

Аналогичные бенчмарки неоднократно приводились в группе comp.lang.forth для других быстрых Фортов.

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


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

Владимир Е. Зюбин http://www.iae.nsk.su/~zyubin/iec1131.htm

На практике использование языка низкого уровня может быть оправданным только в двух случаях:
а) языки высокого уровня недоступны;
б) необходимо значительно оптимизировать исполняемый код либо по быстродействию, либо по объему, т.е. "разменять" структурирующие возможности языка, удобного для восприятия человеком, на оптимизирующие возможности языка, отражающего архитектуру процессора.

Перечислены не все случаи, когда использование языка более низкого уровня оправданы. Помимо указанных, можно назвать:

в) для обеспечения совместимости с ранее разработанными и выпущенными продуктами

г) для того, чтобы не исключить из круга охваченных стандартом продукты небольших фирм, которые могут для своих изделий "осилить" язык IL (с силу простоты его реализации), но не имеют возможности потратиться на создание графических ST и/или FBD

Последний пункт, с моей точки зрения, являлся доминирующей причиной, по которой в МЭК вошел IL. Для меня это свидетельство демократизма и гуманности комитета.

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


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

Владимир Е. Зюбин http://www.iae.nsk.su/~zyubin/iec1131.htm

Но интерпретатор означает невозможность создания ни быстродействующего, ни малого по объему кода!

Это ошибка. Пример: интерпретаторы FVM (Forth Virtual Machine), как правило являются, быстродействующими, а исполняемый ими код компактным. Выбирая тот или иной вариант шитого кода удается настраивать соотношение (размер кода)/(скорость исполнения) в довольно широких пределах. Типично Форт-программа займет места в 2-3 раза меньше чем аналогичная, написанная на С.

Для примера укажу, что быстрый SPF4, о котором я упоминал ранее, занимает примерно 70КБ (он написан, естественно, на Форте, то есть "сам на себе")

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


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Октябрь 2003 15:30
Доктор Q на "Ядро-интерпретатор, как следует уже из
его названия, транслирует пользовательский алгоритм
во время исполнения.":
Из названия следует, что он его интерперетирует.
Если это рассматривать как утверждение о том, что
"интерпретатор вообще" должен транслировать (или
компилировать, поскольку в выч. технике эти два
слова - синонимы) программу "на ходу" - то это ошибка.


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

Вот, например из ISA словаря
interpreter
A system program which allows the execution of
computer programs using a step by step translation
of individual instructions instead of translating
the complete program before execution.

Ну или сюда загляните:
http://www.InstantWeb.com/D/dictionary/foldoc.cgi?query=interpreter

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


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

Владимир Е. Зюбин http://www.iae.nsk.su/~zyubin/iec1131.htm

По поводу IL, собрано из разных мест в статье:

его происхождением: для некоторых моделей ПЛК фирмы Siemens является языком Ассемблера

но и в общем случае единственным обоснованием для IL может быть только его полное совпадение с ассемблером целевой системы, что в нашем случае невыполнимо

У языка IL нет видимых обоснований для существования? - Почему нет? Есть. IL - это традиционный язык программного средства STEP 5 (компания Siemens) и имеет определенную группу поклонников

Знакомы ли Вы или Ваши сотрудники с ассемблером для одного из ПЛК фирмы Siemens? Если не знакомы, то IEC 1131-3 продукты - это отличная возможность для удовлетворения Вашего любопытства.

Относительно IL. Да, это умирающий язык, ориентированный на бывших пользователей STEP5

Насколько мне известно, язык, соответствующий IL, появился еще в самых первых PLC, созданных в конце 60-х годов компаниями Gould Modicon и Allen Bradley. Язык STEP5 появился существенно позже, в конце 70-х или начале 80-х.

То, что некоторые старшие модели Simatic-S5 интерпретировали (текстовый вариант) STEP5 аппаратно, это правда. Утверждение, что в STEP5 этот вариант языка вошел потому, что он уже был реализован как система комад этих PLC - это ошибка, дело обстояло с точностью до наоборот. То есть, _сначала_ был разработан STEP5, а уж _потом_ Siemens в _некоторых_ моделях реализовал его на секционных процессорах Am2900. К сожалению, ссылок дать не могу, эту информацию, если память не изменяет, я почерпнул из разговоров с сотрудниками совместного предприятия Минприбор-Сименс.

IL является ассемблером некоего виртуального процессора, это верно. Однако архитектура (и даже мнемоники ассемблера) этого процессора более всего напоминает MC6800, только в 16-битном варианте, и с несколькими интересными нововведениями (типа скобочных операторов).

Еще одна причина, почему IL остался в стандарте, я забыл о ней упомянуть ранее. Причина прозаическая и чисто "технологическая". Традиционно FBD и LD транслируются именно в IL, вернее, в байт-код IL. То есть, многие (но не все) PLC интерпретируют именно IL. Поэтому выкидывать IL из стандарта не имело ровно никакого смысла, это нормальная "рабочая лошадка", зачастую необходимая при отладке.

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


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

Доктор Q

Могу привести пример ИНТЕРПРИТАТОРа, если кто помнит с ДОСом поставлялся Basic, и так же он был на различных платформах.

Исполняемый код транслировался налету это ИНТЕРПРИТАТОР, а КОМПИЛЯТОРЫ пошли на PC позже. (жутко неудобно было отлаживать проги на первых Компиляторах сначало откомпили, потом запускай, а онон повисло). Ладно увлекся.

Доктор Q

Пример: интерпретаторы FVM (Forth Virtual Machine), как правило являются, быстродействующими, а исполняемый ими код компактным. Выбирая тот или иной вариант шитого кода удается настраивать соотношение (размер кода)/(скорость исполнения) в довольно широких пределах. Типично Форт-программа займет места в 2-3 раза меньше чем аналогичная, написанная на С.

Ну это уж вообще ни куда ни годится такого я еще не видел,фортран изначально был разработан для матиматических расчетов. Допускаю что какойто один из кодов может и меньше чем на С++(ну очень сомнительно), ну я после форта сел на С++ небо и земля, С++ быстрей и меньше код.(правда давно это было может что сейчас и изменилось).

 

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


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

Владимир Е. Зюбин Ну или сюда загляните:
http://www.InstantWeb.com/D/dictionary/foldoc.cgi?query=interpreter

Заглядываю, вижу:

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.

Вам перевести?

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

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

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


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

Mike_K Ну это уж вообще ни куда ни годится такого я еще не видел,фортран изначально был разработан для матиматических расчетов

Уважаемый, Вам сюда надо сходить:

http://www.forth.org.ru/

http://www.forth.org

http://www.forth.com

Дело в том, что Форт к Фортрану не имеет ни малейшего отношения. Как говорится, даже не однофамильцы, но только без шуток и в буквальном смысле этого слова.

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


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

Владимир Е. Зюбин http://www.iae.nsk.su/~zyubin/iec1131.htm

Где гарантия, что новая выбранная Вами платформа имеет транслятор Си аналогичный предыдущему? Да, адаптацию ISaGRAF будет производить CJ International,[...]

Адаптацию ISaGRAF на новое железо (т.е. установку run-time) в большинстве случаев будет производить не CJ International (ныне ICS Triplex), а сам производитель железа, который купит ОЕМ лицензию у ICS Triplex. Возможно, ICS Triplex предоставляет и такой сервис как постановку  run-time на железо заказчика, но это за отдельные деньги.

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


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

Владимир Е. Зюбин http://www.iae.nsk.su/~zyubin/iec1131.htm

Графические языки. Да, графические языки - это проблема несовместимости IEC 1131-3 продуктов. Однако, ее решение означает: а) войну между производителями за выбор "правильной" базы для внутреннего формата; б) признание неприемлемости стандарта IEC 1131-3 для целей PLCOpen

К сожалению, не улавливаю ровно никакого смысла в этом высказывании.

Я уже упоминал, что графические МЭК языки обычно транслируются в формат байт-кода IL. Если ратовать за унификацию, то имело бы смысл рассуждать о несовместимости этого байт-кода и о том, что его надо бы стандартизовать. Поскольку вместо этого имеются не относящиеся к делу рассуждения типа

Эта проблема хорошо известна как Проблема Распознавания Образов, уходящая корнями в проблему Искусственного Интеллекта. Вы спросите, как же мы тогда работаем с графикой на компьютере? - Очень просто: в любой из систем, позволяющих манипулировать графическими объектами (CorelDraw, AutoCad, PCAD и т.д.), каждый графический элемент, отображаемый на экране компьютера, обязательно имеет некоторое внутреннее числовое представление - единственное представление "понятное" вычислительной машине. Что означает отсутствие единого соглашения о внутреннем представлении для простейшего случая, - случая текстовой информации - очень хорошо известно русскоязычным пользователям: КОИ-7, КОИ-8, "базовая" кодировка,

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

Даже призывы стандартизовать какой-то определенный шрифт для того, чтобы писать программы на С (скажем, "только Cоurier New 10pt"), буде такие раздались бы, имели бы больший смысл и основание.

Наверх
 Ответить Ответить Страница  <1 1415161718 53>

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

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