Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя
Показано с 31 по 40 из 46

Тема: Оценка быстродействия проекта для ПР110

  1. #31

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    2. Алгоритм работы подпрограммы - выборка значения из массива таблицы истинности, зашитой в память программ процессора, в
    соответствии с комбинацией входных сигналов.
    Тут вы ошибаетесь. В ПР не заливается таблица истинности. В ПР заливается программа.
    Например, если в ОЛ схеме написано "сложение/умножение чисел", то это вычисление проводит и ПР. "Таблица истинности" для умножителя 32 битных чисел вообще никуда не поместится. Да и согласно теореме Райса невозможно сказать соответствует ли "таблица истинности" ОЛ схеме.


    Цитата Сообщение от Vish57 Посмотреть сообщение
    Кстати для реализации функций 2ИЛИ, 2ИЛИ-НЕ,3ИЛИ,3ИЛИ-НЕ,4ИЛИ,4ИЛИ-НЕ потребуется только 1 массив на
    16 элементов.
    И выполняться эта подпрограмма в процессоре будет единицы, а не десятки-сотни микросекунд, и при этом время выполнения любой из
    указанных функций будет одинаковым!
    Какая подпрограмма? В каком процессоре?
    Вы о чём вообще?

    Я задавал прямой вопрос: "Как, по-вашему, работает ОЛ схема в железе?" Вы тут пишете про таблицу истинности, про массивы. По-вашему, ПР выполняет таблицу истинности, которую генерит ОЛ?
    Последний раз редактировалось Владимир Ситников; 15.02.2018 в 22:50.

  2. #32
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Тут вы ошибаетесь. В ПР не заливается таблица истинности. В ПР заливается программа.
    Например, если в ОЛ схеме написано "сложение/умножение чисел", то это вычисление проводит и ПР. "Таблица истинности" для умножителя 32 битных чисел вообще никуда не поместится. Да и согласно теореме Райса невозможно сказать соответствует ли "таблица истинности" ОЛ схеме.



    Какая подпрограмма? В каком процессоре?
    Вы о чём вообще?

    Я задавал прямой вопрос: "Как, по-вашему, работает ОЛ схема в железе?" Вы тут пишете про таблицу истинности, про массивы. По-вашему, ПР выполняет таблицу истинности, которую генерит ОЛ?
    А зачем Вы вопросы такие задаете, Вы же рекомендавали оставаться мыслить понятиями МК-шника, кстати чем там закончилась Ваша история с привнесением в контроллеры своих идей каких то непонятных функций с постоянными ретурнами, тоже не хотели же перестраиваться
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #33

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Тут вы ошибаетесь. В ПР не заливается таблица истинности. В ПР заливается программа.
    Например, если в ОЛ схеме написано "сложение/умножение чисел", то это вычисление проводит и ПР. "Таблица истинности" для умножителя 32 битных чисел вообще никуда не поместится. Да и согласно теореме Райса невозможно сказать соответствует ли "таблица истинности" ОЛ схеме.



    Какая подпрограмма? В каком процессоре?
    Вы о чём вообще?

    Я задавал прямой вопрос: "Как, по-вашему, работает ОЛ схема в железе?" Вы тут пишете про таблицу истинности, про массивы. По-вашему, ПР выполняет таблицу истинности, которую генерит ОЛ?
    Отвечаю на прямой вопрос - в железе выполняется последовательность микрокоманд, определяемых архитектурой процессора, который даже не подозревает о существовании OL в этой Вселенной, также как и о существовании таблиц истинности, массивов, и т.д. и т.п.
    Задача ИДЕ OL - сгенерировать правильную последовательность микрокоманд соответствующую схеме, нарисованной на холсте и потом "залить" ее в прибор.
    Подпрограмма - часть последовательности микрокоманд обеспечивающая выполнение заданной функции. В терминологии OL это ФБ библиотеки.
    Метод и способ преобразования схемы OL в последовательность микрокоманд определяется разработчиком OL. Вариантов бесконечное множество и их рассмотрение выходит далеко за рамки данной темы.

  4. #34
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Вариантов бесконечное множество и их рассмотрение выходит далеко за рамки данной темы.
    представляете, он в курсе, даже тему создавал об этом http://www.owen.ru/forum/showthread.php?t=23754
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #35

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    1) Math.max(1,время_цикла)
    2) ~Math.max(1,время_цикла)/количество_элементов_в_проекте
    3) ХЗ, зависит от скорости, помехи в кaнaле
    4) Math.max(1,время_цикла)


    злополучный элемент можно воспроизвести на одних константах и арифметике, не используюя ни одного элемента ИЛИ,НЕ, будет слекга громоздко, но зато принципиально не будет использоваться опыт работы с сериями логических микросхем
    Спасибо.
    Хочу уточнить по п2: получается, что время выполнения ЛЮБОГО ФБ из библиотеки всегда одинаково и не зависит от сложности выполняемой функции, это действительно так?

  6. #36
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Относительно какого устройства, в ПР110 нет вещественных чисел, вся логика сводится в конечном итоге к выполнению простейших элементов, за сколько тактов они выполняются Вы и так знаете. Меньше одной миллисекунды цикл контроллера не выполняется, поэтому закончив обработку логики программы процессор находится в фонов режиме ожидания, пока не придет очередь очередного цикла. Если элементов настолько много, что затраченное на них время больше 1мс, следующий цикл начнется по окончанию предыдущего. Когда говорят +-10% это не совсем верно, когда схема состоит из простых лог.элементов, время будет стабильно, если в схеме присутствуют таймеры, которые основаны на сравнении текущего времени и начального, тут могут быть расхождения от цикла к циклу. Не встречал понятия "прогрева" программы если это не виртуальная машина


    У меня вобщем то подозрение, что Вам советовали PRU на базе ПЛК110-М02, а Вы взяли ПР110 и теперь испытываете затруднения не находя требуемого быстродействия работы устройства
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #37

    По умолчанию

    Да нет!
    Все гораздо проще...
    Сначала попросили сделать тупой автомат с быстродействием 1-2 сек. Ну я и взял ПР110, чтобы не заморачиваться с питанием, обвязкой, электробезопасностью, корпусом, и т.д.
    Ну а после реализации возникла "гениальная" идея (не у меня) привязать работу этого автомата к энкодеру....
    Вот тут-то и начались "пляски с бубном"....

  8. #38

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Отвечаю на прямой вопрос - в железе выполняется последовательность микрокоманд, определяемых архитектурой процессора, который даже не подозревает о существовании OL в этой Вселенной, также как и о существовании таблиц истинности, массивов, и т.д. и т.п.
    Задача ИДЕ OL - сгенерировать правильную последовательность микрокоманд соответствующую схеме, нарисованной на холсте и потом "залить" ее в прибор.
    В том-то и дело, что те команды, которые генерирует ОЛ для процессора *абсолютно* непонятны.

    И правила работы базовых блоков заложены именно в сам прибор. Из ОЛ поступает программа в виде "какие блоки нужно выполнить и в каком порядке".
    Поэтому, добавление нового блока это не просто "научить ОЛ формировать новую последовательность машинных команд", а это и доработка микропрограммы ПР (прошивки ПР) так, чтобы эта прошивка научилась выполнять новый блок. И эту доработку нужно выполнять для всего ряда ПР (не забываем, что они основаны на совершенно разных процессорах).

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Подпрограмма - часть последовательности микрокоманд обеспечивающая выполнение заданной функции. В терминологии OL это ФБ библиотеки.
    Учитывайте, что "последовательность команд процессора, реализующая выполнение того или иного ФБ" хранится именно в ПР. И она там хранится до того, как в ПР что-то залили. На эту программу можно взглянуть по ссылке "прошивка" со страницы ПР
    В заливаемой же из ОЛ программе нет команд, понятных железу.

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Метод и способ преобразования схемы OL в последовательность микрокоманд определяется разработчиком OL. Вариантов бесконечное множество и их рассмотрение выходит далеко за рамки данной темы.
    Вариантов не так-то и много. И это важно.
    Например, есть ПР110, ПР114, ПР200. Все они программируются из одной среды. Делать "индивидуальный подход" к каждому реле экономически нецелесообразно, поэтому из "бесконечного множества" стоит рассматривать те, которые позволят унифицировать работу с разнотипным железом.
    Последний раз редактировалось Владимир Ситников; 16.02.2018 в 11:54.

  9. #39

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Цитата Сообщение от capzap Посмотреть сообщение
    2) ~Math.max(1,время_цикла)/количество_элементов_в_проекте
    Спасибо.
    Хочу уточнить по п2: получается, что время выполнения ЛЮБОГО ФБ из библиотеки всегда одинаково и не зависит от сложности выполняемой функции, это действительно так?
    Почему же?
    capzap, скорее всего, имел ввиду, что "если элементов на схеме мало, то ПР будет выдерживать паузу, чтобы цикл длился 1 мс минимум".
    Откуда он это взял -- загадка, но оно неважно.

    Длительность выполнения элемента OR (который подключен к входам-выходам, а не висит мёртвым грузом) не зависит от того, сколько этих элементов в схеме.
    Поэтому, чтобы узнать длительность работы этого самого OR, нужно взять схему с большим количеством элементов, узнать какая длительность цикла получится и поделить на количество элементов.

    Аналогично и для других элементов. Измерьте, посмотрим что будет. Заодно можно будет сравнить с производительностью самого железа. Вроде как обещают, что в ПР110 находится PIC18 18Mhz.

    Умножение деление (вроде, доступен же в ПР110 блок умножения целых?), очевидно, должны занимать гораздо больше времени, т.к. процессор там PIC18 (8-и битный), и команд для умножения/деления 32 битных чисел у него нет. Значит, там длинные портянки для этого самого умножения, значит оно работать должно дольше.

    Не хотелось бы верить, что интерпретатор ПР110 настолько медленный, что накладные расходы на выполнение блока OR превышают длительность умножения 32bit чисел.
    Последний раз редактировалось Владимир Ситников; 16.02.2018 в 11:40.

  10. #40

    По умолчанию

    Чтож, Владимир, спасибо за разъяснения по организации выполнения программ в ПР110.
    На мой взгляд подобный подход имеет место быть, хотя я бы назвал его мягко говоря не очень разумным.
    Ну да Бог с ним, спишем это на "тяжелое наследие прошлого"....
    А исследовать свойства чужого "железа" у меня нет никакого желания. Потратится куча времени с "нулевым" выхлопом.
    Придется по-дедовски отрабатывать на стенде-макете и испытывать.

Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя

Похожие темы

  1. Оценка стоимости работ по SCADA (WinCC OA)
    от krollcbas в разделе Другие SCADA системы
    Ответов: 26
    Последнее сообщение: 20.06.2016, 07:50
  2. В поиске быстродействия.
    от Anton58 в разделе Программируемые реле
    Ответов: 130
    Последнее сообщение: 24.03.2015, 17:49
  3. Оценка ПЛК Овен в частном случае.
    от saifullin в разделе Трёп (Курилка)
    Ответов: 28
    Последнее сообщение: 27.03.2013, 12:29
  4. Оценка ПЛК Овен в частном случае.
    от saifullin в разделе Разработки
    Ответов: 5
    Последнее сообщение: 24.03.2013, 22:06
  5. Проблемы быстродействия
    от soi в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 27.06.2008, 10:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •