Страница 231 из 507 ПерваяПервая ... 131181221229230231232233241281331 ... ПоследняяПоследняя
Показано с 2,301 по 2,310 из 5065

Тема: ПР200

  1. #2301
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,238

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Конкретный пример: очередь. Т.е. с одной стороны записываем (например, номера опустевших баков), из другой читаем (первый опустел -- его перого и будем заполнять).

    В варианте олимпиады под эгидой "нет массивам" это делается как кучка SEL'ов. Начинаются игры "как поддержать очередь на 33 бака и не сломать мозг об SEL".
    Да, в качестве игры это, конечно, норм.

    Но вот для надёжного решения (а в пром автоматике же нужны именно надёжные решения?) должно быть ясно и прозрачно что это не 100500 SEL'ов, а очередь.
    Чтобы не требовалось день изучать схему для осознания того, что хотел сказать автор.

    С массивом это было бы так:
    1) Объявляем массив для хранения очереди. При объявлении указываем его размер. Нужна очередь на 8? Указываем 8 в объявлении. Нужна на 48? Указываем 48. При этом не приходится добавлять и проводить связи между этими 48 SEL'ами, а просто объявили, что нам нужен массив из этих самых 48 ячеек.

    2) Для записи/чтения используем две переменные. Одна указывает на порядковый номер ячейки для записи, вторая -- порядковый номер ячейки тения.

    3) Запись это просто взять номер ячейки для записи, записать туда значение, увеличить переменную-индекс записи (ну и обработать случаи очередь переполнена/индекс вышел за границы). Можно себе представлять это как блок-"запись в ФБ" с параметрами "имя массива", "порядковый номер ячейки" и "записываемое значение".

    4) Чтения -- берём значение из массива по порядковому номеру. Можно себе представлять это как "read from FB" с параметрами "имя массива" и "порядковый номер ячейки", а на выходе -- "результат чтения".


    Очередь, стек, линия задержки, всё это гораздо проще программировать и понимать именно с массивом, а не с месивом SEL/GT блоков.

    В общем, сила массива в том, что "количество ячеек" можно указать одним числом, и это исключает ошибки copy&paste, которые могут возникнуть при ручном размножении SEL'ов.
    Да и потребление ресурсов у массива должно быть меньше, чем у кучки SEL'ов.


    Тут кто-нибудь может сказать: "но макрос STEK это же и есть простое и понятное решение с N входами и N выходами. По названию понятно, что стек. Зачем массивы-то нужны?"
    Если возникла такая мысль, то человек ничего не понял.
    Вдруг в этом самом макросе STEK какая-нибудь связь неправильно проложена? Как это проверить? Как вариант упражнения: давайте я удалю какую-нибудь связь (нарисую лишнюю) и посмотрим сколько времени уйдёт у "эксперта-электронщика" на поиск ошибки, когда он будет заранее знать, что ошибка есть?

    А, если нужен стек не на 8 входов, а на 33? Придётся, ведь, макрос перекраивать. Это как раз прямая возможность накосячить. Как тестировать новосозданный макрос на 33 элемента?
    Даже, если имеющийся "стек на 8 элементов" был полностью протестирован (как, кстати? ведь в ОЛ нет автотестов), то новый блок придётся тестировать заново.
    Запустить в эксплуатацию и ждать когда взорвётся бак?

    В случае массивов же, шансов на ошибку гораздо меньше, ведь для увеличения/уменьшения длины очереди достаточно будет лишь изменить размер массива.
    Вот у меня есть такой макрос:

    EEPROM.PNG

    Чем он не дотягивает до массива(способ создания опустим)? На сколько понял на запись счётчик поставить, чтобы каждый раз увеличивал на единицу адрес ячейки записи, на чтение не очень понятно и надо ли там какие связи "налаживать", а то у меня все ячейки независимые, никак между собой не связаны?
    Вот, на всякий случай проект с макросом:
    Вложения Вложения
    • Тип файла: owl EEPROM.owl (3.24 Мб, Просмотров: 31)
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  2. #2302

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Чем он не дотягивает до массива(способ создания опустим)?
    Вот тут я отвечал на этот же вопрос:
    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Повторяю по буквам:
    1) Запросто может оказаться, что какая-нибудь связь пошла не туда, не подключилась, или лишняя связь.
    2) В ОЛ отсутствует понятие автоматических тестов. Т.е. пощёлкать на 2-3-4 элемента ещё можно, а вот найти ошибку, что "30 и 31ый элементы перепутаны" крайне затруднительно.
    3) Потребление ресурсов ПР будет чрезмерным. Например, линия задержки из 400 SEL'ов будет выполнять как минимум 400 операций в каждом цикле ПР. Каждая SEL ячейка будет "пересохранять значение". В случае же массива, добавление/чтение записи это лишь пара целочисленных операций с индексами. Т.е. не 400 операций, а 3-4.
    И чуть позже дополнял: http://www.owen.ru/forum/showthread....l=1#post237637

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

    С массивом не пришлось бы переливать из пустого в порожнее весь набор данных на каждом цикле ПР.

  3. #2303

    По умолчанию

    Хорош прибедняться. Прямо как в басне Крылова про лису и виноград... Купит вам директор контроллер, если хорошо попросите и обоснуете.
    ОЛ для относительно простых задач.
    Кстати, как ваша система из 4Х32 входных модулей + 2 х 32 выходных + ИП320 + аналоговый ввод + МДВВ работает?
    Я такого монстра на ПР200 точно собирать не стану... Мозг вывихнешь на отладке... Только на ПЛК.
    даже не думаю прибедняться, ПЛК что бы купили мне не надо уговаривать, скажу по секрету он у меня есть и че толку, ПЛК есть ума нет, к счастью задач не решаемых на ПР нет (для меня конечно).

    система из 4Х32 входных модулей + 2 х 32 выходных + ИП320 + аналоговый ввод + МДВВ работает, нет не работает, я ее на столе собрал испытал и бросил, частично в пульт поставил в виде сигнализации аварий, к моему счастью она не управляет технологическим процессом (ПР200 терял программу, вроде как исправили этот косяк, пока подожду), позже, если сбоев не будет переделаю как задумал, постепенно заменяя ПР110.

  4. #2304

    По умолчанию

    Цитата Сообщение от Павел Братковский Посмотреть сообщение
    даже не думаю прибедняться, ПЛК что бы купили мне не надо уговаривать, скажу по секрету он у меня есть и че толку, ПЛК есть ума нет, к счастью задач не решаемых на ПР нет (для меня конечно).
    Порог входа в кодесис повыше конечно, но разобраться можно - там и LD есть.
    Программу отлаживать удобнее.

    система из 4Х32 входных модулей + 2 х 32 выходных + ИП320 + аналоговый ввод + МДВВ работает, нет не работает, я ее на столе собрал испытал и бросил, частично в пульт поставил в виде сигнализации аварий, к моему счастью она не управляет технологическим процессом (ПР200 терял программу, вроде как исправили этот косяк, пока подожду), позже, если сбоев не будет переделаю как задумал, постепенно заменяя ПР110.
    Интересно, а что она у вас такое делает? что вы такое задумали?
    Мне из ПР200 "выбить" программу не удалось. (может ваша просто не помещается?)

  5. #2305

    По умолчанию

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

  6. #2306

    По умолчанию

    Я имел в виду функциональный блок PID из стандартной библиотеки компонентов owenlogic

  7. #2307
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,492

    По умолчанию

    Цитата Сообщение от Власов Посмотреть сообщение
    Я имел в виду функциональный блок PID из стандартной библиотеки компонентов owenlogic
    Выделяете на схеме ФБ PID, чтобы он изменил цвет и в свойствах блока задаёте параметры которые вам нужны.

  8. #2308

    По умолчанию

    Цитата Сообщение от Алексей Геннадьевич Посмотреть сообщение
    "По серьёзному" с этой задачей и ПЛК110 М02 не справится.Слишком специфическая задача.
    Вы отстали от жизни. ПЛК110 [М02] с этой задачей хорошо справляется. Внимательно читайте здесь: http://www.owen.ru/forum/showthread.php?t=23013

  9. #2309

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    Вот тут гляньте -сынок делает ,все на ардуино и ШД http://www.printersystem.ru/ .Естественно есть задачи которые не под силу ардуино ...Для каждого ореха свои зубы!
    Вы еще про конструктор LEGO напишите.

  10. #2310

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Ну, на картинке ОВЕН нарисовано 72МГц.
    Процессор там, якобы, STM32F103VCT (там же фотографиия)

    В даташите, конечно, сказано, что максимальная частота -- 72МГц.


    Если всё это зарезали кварцем до 16МГц, то, что уж тут скажешь.

    Но, как показала практика PRU, даже сами инженеры ОВЕН не могут (или не хотят) правильно назвать частоту ядер.
    Ничего не зарезано! Читайте мануал и смотрите схему на стр. 13. Используется PLLMUL с множителями 16х, 4х, 3х, 2х. Какой множитель подключен - мы не знаем. Спросите разработчиков.

    Если входной кварц - 16Мгц, то делим на 2, множим на 4, получим 32Мгц клок.
    далее перед системным таймером стоит делитель на 8. Итого системный таймер шурует на 4Мгц. Это и будет темп выполнения микроинструкций процессора.
    Последний раз редактировалось По самые по...; 16.02.2017 в 13:46.

Страница 231 из 507 ПерваяПервая ... 131181221229230231232233241281331 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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