Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 46

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

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

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Неужели у Вас при записи алгоритма в прибор копируются ВСЕ ФБ, содержащиеся в библиотеках?
    а не проскакивала мысль, что компиляция творит чудеса и в прибор заливается оптимизированный код, неважно что в ИДЕ он нарисован на холсте или использован готовый блок из библиотеки?
    В ОЛ выполняются все блоки нанесенные на холст, нет такого что из-за условия здесь выполняю, а там нет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  2. #22

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а не проскакивала мысль, что компиляция творит чудеса и в прибор заливается оптимизированный код, неважно что в ИДЕ он нарисован на холсте или использован готовый блок из библиотеки?
    В ОЛ выполняются все блоки нанесенные на холст, нет такого что из-за условия здесь выполняю, а там нет
    В том-то и дело,что проскакивала....
    Вызвало недоумение фраза:
    "Создание индивидуальных блоков встроенных в OL принесет больше вреда чем пользы, а быстродействие работы блока от этого, скорее всего. не увеличится, но потребуется дополнительная память в процессоре для описания новых блоков."
    На мой взгляд введение новых ФБ в библиотеку несколько (незначительно) увеличит объем ИДЕ и, соответственно, размер дистрибутива и.... все. А быстродействие и гибкость построения алгоритма увеличатся.

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

    По умолчанию

    Юрий не разработчик, мы стараемся отговорить Вас как можем. Просто Вам нужно перестраивать свое мышление из МК на плк, когда я заговорил про юнит тесты уже догадался откуда Вы пришли. Еще раз, нет особой разницы как будет тратится процессорное время если это законченный блок или в виде макроса.
    Создавать законченный блок ради одного(нескольких единиц) жаждущего/х тоже не рационально
    110 модель вряд ли поддерживается ОЛ в полном объеме, она слишком древняя, морально устаревшая, очень много подводных камней всплывет у Вас помимо ентой хотелки, поэтому не тратте время на пустяки.
    А я "пошел запасаться попкорном", весна выдастся веселой
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #24

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    На мой взгляд введение новых ФБ в библиотеку несколько (незначительно) увеличит объем ИДЕ и, соответственно, размер дистрибутива и.... все.
    Смотрите: в прошивке самого ПР (неважно 110 или 200) находится виртуальная машина, в которую заложены базовые команды. ОЛ не пытается генерировать машинный код для ПР.
    ОЛ компилирует схему в промежуточный код.

    Например, пресловутый PID регулятор написан на Си и заложен в прошивку.

    Вы предлагаете добавить хитроумный блок 4ИЛИ-НЕ? Да, его добавить можно, но в прошивке придётся и на него отвести место (чтобы ПР физически могло выполнять эту "команду").
    Но: уверен, что "место в прошивке под блок 4ИЛИ-НЕ" это далеко не самый главный аргумент. Вообще говоря, Юрий верно говорит, что место в ПР (в прошивке) потребуется.
    Но ещё придётся написать реализацию этого блока для существующих и готовящихся к выходу моделей ПР. А ещё протестировать и задокументировать этот блок.

    Внимание, вопрос: а какая будет польза от такого блока?
    То же самое можно сделать из 3-х блоков OR и одного блока NOT. Разница по времени выполнения будет наверняка несущественная. Ну, явно не в 10 раз. Может, и будет "один цельный блок" работать процентов на 5 быстрее. И? Стоит ли оно того, чтобы делать, отлаживать, и потом поддерживать?


    Цитата Сообщение от Vish57 Посмотреть сообщение
    А быстродействие и гибкость построения алгоритма увеличатся.
    Ну каким образом увеличится гибкость от "встроенного блока 4ИЛИ-НЕ"?

    Если бы говорили о блоке "работы с массивом", то ещё, да, можно было бы понять.
    Или о возможности "пропускать" ветки схемы.

    Но от создания "встроенного" блока 4ИЛИ-НЕ польза (даже, если она и будет) будет мизерной. А вреда будет много.

  5. #25

    По умолчанию

    Спасибо Владимир и capzap? именно это и имелось ввиду.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    e-mail: yu.revaka@owen.ru

    Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
    Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
    Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ

  6. #26

    По умолчанию

    Проделал следующий эксперимент:
    1.Загрузил пустой проект - время цикла 0,54 мс
    2.Загрузил проект 2ИЛИ - время цикла 0,64 мс
    3.Загрузил проект 2ИЛИ-НЕ - время цикла 0,69 мс
    4.Загрузил проект 3ИЛИ-НЕ - время цикла 0,79 мс
    5.Загрузил проект 4ИЛИ-НЕ - время цикла 0,90 мс

    Таким образом время выполнения функции 4ИЛИ-НЕ превышает время выполнения функции 2ИЛИ на 0,26 мс.
    Если бы функция 4ИЛИ-НЕ была оформлена в виде ФБ, то их время должно было бы совпадать.

    Я понимаю, что в некоторых применениях (например открытие шлюза Саяно-Шушенской ГЭС) этой разницей можно пренебречь.
    А вот при использовании в аварийной защите (например скоростные сервоприводы) это уже будет играть существенную роль.

    Надеюсь я достаточно обосновал свою позицию по поводу быстродействия выполнения алгоритма, записанного в прибор.

    По поводу состава библиотек ФБ в OL: посмотрите палитру компонентов Borland C++, их там столько...

    Я не призываю делать что-либо по моему хотению для ПР110, я думаю мои хотелки будут небесполезны и для других семейств ПРххх.

    Я не понимаю почему введение в состав библиотеки нового ФБ приведет к увеличению объема прошивки, особенно если в прошивке этот блок не используется.

    По поводу:

    "Но ещё придётся написать реализацию этого блока для существующих и готовящихся к выходу моделей ПР. А ещё протестировать и задокументировать этот блок.
    Внимание, вопрос: а какая будет польза от такого блока?"
    - встречный вопрос: а какая польза от перехода с WIN7 на WIN10?

    По поводу введения временных меток в режиме симуляции ИДЕ: конечно же это не обязательно, можно обойтись и без них, но с ними было бы проще...

    Ну и напоследок: я не считаю что "Вам нужно перестраивать свое мышление из МК на плк" большим "шагом вперед", скорее наоборот...

    С уважением, Vish57.

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

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Я понимаю, что в некоторых применениях (например открытие шлюза Саяно-Шушенской ГЭС) этой разницей можно пренебречь.
    А вот при использовании в аварийной защите (например скоростные сервоприводы) это уже будет играть существенную роль.

    Надеюсь я достаточно обосновал свою позицию по поводу быстродействия выполнения алгоритма, записанного в прибор.
    да в очередной раз Вы бред написали, Вы еще на АЭС порекомендуйте ПР ставить
    Цикл в ПР не выполняется меньше 1мс, поэтому не важно сколько показывает среднее время
    Если перешли на работу с ПР/ПЛК будте любезны использовать законы программирования таких устройств, а не МК, так что совет тоже не в тему
    Хотите померяться письками, давайте, в войсках я кроме дырочек на бумажной ленте с другим не работал, но я же не агитирую использовать такую методику
    ai_aykzwazpcg0exemwstjskuxu.png
    Последний раз редактировалось capzap; 15.02.2018 в 18:30.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  8. #28

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Таким образом время выполнения функции 4ИЛИ-НЕ превышает время выполнения функции 2ИЛИ на 0,26 мс.
    Почему должно совпадать?
    Как-никак, а процессору как-то нужно будет выполнить эти самые 3 операции ИЛИ и одну операцию НЕ. Откуда уверенность, что время выполнения должно совпасть?

    И, да, давайте измерять не на двух-трёх элементах, а на 100-200?
    Ну, чтобы уж измерять не шум, а именно работу элементов ИЛИ, НЕ и т.п.


    Цитата Сообщение от Vish57 Посмотреть сообщение
    По поводу состава библиотек ФБ в OL: посмотрите палитру компонентов Borland C++, их там столько...
    И?

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Я не призываю делать что-либо по моему хотению для ПР110, я думаю мои хотелки будут небесполезны и для других семейств ПРххх.
    Блок 4ИЛИ-НЕ -- бесполезен. Нужен -- сделайте макрос.
    Расширять ПР нужно не добавлением всех возможных блоков в среду, а правильным развитием *функциональности*

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Я не понимаю почему введение в состав библиотеки нового ФБ приведет к увеличению объема прошивки, особенно если в прошивке этот блок не используется.
    Ответьте на вопрос: каким образом ПР сможет вычислить значение этого 4ИЛИНЕ блока? Монетку что-ли кидать будет? Ну, опишите подробно каким образом оно должно получить значение.


    Цитата Сообщение от Vish57 Посмотреть сообщение
    "Но ещё придётся написать реализацию этого блока для существующих и готовящихся к выходу моделей ПР. А ещё протестировать и задокументировать этот блок.
    Внимание, вопрос: а какая будет польза от такого блока?"
    - встречный вопрос: а какая польза от перехода с WIN7 на WIN10?
    Польза кому? И при чём тут WIN7/10?
    В обновлении на Win10 есть очевидная польза компании Microsoft.
    Пользователям же зачастую просто нет выбора. Хочешь безопасную ОС -- обновляйся.

    В случае же с ПР и 4ИЛИНЕ, вообще никому нет пользы от добавления такого "встроенного" блока.

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Ну и напоследок: я не считаю что "Вам нужно перестраивать свое мышление из МК на плк" большим "шагом вперед", скорее наоборот...
    Это единственная правильная мысль в вашем сообщении. Я тоже не предлагаю перестраивать мышление и т.п. Кто хочет -- пусть перестраивает.
    По факту же, чтобы хорошо пользоваться инструментом, нужно представлять как он устроен и какие принципы лежат внутри.

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

  9. #29

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    да в очередной раз Вы бред написали, Вы еще на АЭС порекомендуйте ПР ставить
    Цикл в ПР не выполняется меньше 1мс, поэтому не важно сколько показывает среднее время
    Если перешли на работу с ПР/ПЛК будте любезны использовать законы программирования таких устройств, а не МК, так что совет тоже не в тему
    Хотите померяться письками, давайте, в войсках я кроме дырочек на бумажной ленте с другим не работал, но я же не агитирую использовать такую методику
    ai_aykzwazpcg0exemwstjskuxu.png
    Так ведь и я никого не агитирую! Я просто высказываю свои "хотелки" и пытаюсь обосновать их полезность, не более того...
    Писками меряться у меня тоже никакого желания нет (см. предыдущее предложение).
    Более того я не отказываюсь "использовать законы программирования таких устройств, а не МК"

    Начиная эту тему я хотел получить от техподдержки или от уважаемых форумчан простые ответы на свои простые вопросы примерно так:
    1. Время обработки входа (всех входов одновременно) составляет ~0,55 мс.
    2. Время обработки одного ФБ типа ИЛИ (как вариант -любого ФБ из библиотеки) составляет ~0,1 мс.
    3. Время сетевой переменной составляет ~0,хх мс.
    4. Время обработки выхода (всех выходов одновременно) составляет ~0,55 мс.
    Этого бы было вполне достаточно!

    А теперь по поводу "злополучного" ФБ 4ИЛИ-НЕ, на который ополчился Владимир.
    Почему должно совпадать?
    Как-никак, а процессору как-то нужно будет выполнить эти самые 3 операции ИЛИ и одну операцию НЕ. Откуда уверенность, что время выполнения должно совпасть?
    Поправьте меня, если я не прав: ФБ из библиотеки представляет собой подпрограмму, вызываемую из библиотеки ИДЕ OL при компиляции проекта.
    А реализовать можно так:
    1. Подпрограмма пишется на С, либо другом языке, либо вообще на ассемблере и ничего не знает о наличии других ФБ в библиотеке OL.
    Главное - то, что она правильно выполняет предписанный ей функционал при записи в прибор.
    2. Алгоритм работы подпрограммы - выборка значения из массива таблицы истинности, зашитой в память программ процессора, в
    соответствии с комбинацией входных сигналов.
    Кстати для реализации функций 2ИЛИ, 2ИЛИ-НЕ,3ИЛИ,3ИЛИ-НЕ,4ИЛИ,4ИЛИ-НЕ потребуется только 1 массив на
    16 элементов.
    И выполняться эта подпрограмма в процессоре будет единицы, а не десятки-сотни микросекунд, и при этом время выполнения любой из
    указанных функций будет одинаковым!

    С уважением, Vish57

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

    По умолчанию

    Цитата Сообщение от Vish57 Посмотреть сообщение
    Начиная эту тему я хотел получить от техподдержки или от уважаемых форумчан простые ответы на свои простые вопросы примерно так:
    1. Время обработки входа (всех входов одновременно) составляет ~0,55 мс.
    2. Время обработки одного ФБ типа ИЛИ (как вариант -любого ФБ из библиотеки) составляет ~0,1 мс.
    3. Время сетевой переменной составляет ~0,хх мс.
    4. Время обработки выхода (всех выходов одновременно) составляет ~0,55 мс.
    Этого бы было вполне достаточно!
    1) Math.max(1,время_цикла)
    2) ~Math.max(1,время_цикла)/количество_элементов_в_проекте
    3) ХЗ, зависит от скорости, помехи в кaнaле
    4) Math.max(1,время_цикла)


    злополучный элемент можно воспроизвести на одних константах и арифметике, не используюя ни одного элемента ИЛИ,НЕ, будет слекга громоздко, но зато принципиально не будет использоваться опыт работы с сериями логических микросхем
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Похожие темы

  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

Ваши права

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