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

Тема: Как ускорить считывание регистров?

  1. #31

    По умолчанию

    Parovoz Я делаю на счётчиках весь опрос кнопок.
    Кайф этого решения в том, что даже если будут потери связи, то нажатие по счётчику не потеряется никогда.
    Это работает так, что даже если ткнуть на кнопку ОЧЕНЬ быстро (я - барабанщик, я могу быстро ткнуть), то нажатие всё равно отлавливается.
    Я смотрю текущее число счётчика импульсов и предыдущее и сравниваю. Если разница по модулю > 1 - то было нажатие.
    Дополню. Если у нас отвалилась связь (например, потеряли несколько пакетов с данными из-за лага сети), а кнопку нажимали - то потом мы всё равно про это узнаем.
    Последний раз редактировалось Cs-Cs; 29.03.2021 в 15:13.

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

    По умолчанию

    Cs-Cs ну да, из-за дребезга контакта выключателя у вас пришел счетчик > на 2 - что вы должны сделать? включить свет и выключить свет или ничего не делать ?

  3. #33

    По умолчанию

    melky Так я отлавливаю >1. А дальше имитирую R_TRIG, и после обработки (в задаче, может раз в 100 мсек) привожу всё в исходное состояние.
    Я не знаю, как пояснить... ну, высчитали дельту по модулю. Если она > 0 - пошли в ветку обработки нажатия и что-то сделали.
    И там же сказали, что countPrevious := countCurrent;, после чего дельта снова равна нулю. Так как мы это делаем после обработки, то пока идёт обработка - хоть обнажимайся - пофиг.

    Поэтому если это будет ситуация вида "ни фига не было, а тут раз - и 25 импульсов", то обработается как однократное одинарное нажатие.
    Если же будет так, что только-только моя задача обработала нажатие, и снова дельта > 0 - то обработает как второе нажатие.

    А если подразниться - дык во всех модулях IO у ОВЕНа есть защита от дребезга, которую я всегда включаю.

  4. #34

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Parovoz Я делаю на счётчиках весь опрос кнопок.
    Кайф этого решения в том, что даже если будут потери связи, то нажатие по счётчику не потеряется никогда.
    Это работает так, что даже если ткнуть на кнопку ОЧЕНЬ быстро (я - барабанщик, я могу быстро ткнуть), то нажатие всё равно отлавливается.
    Я смотрю текущее число счётчика импульсов и предыдущее и сравниваю. Если разница по модулю > 1 - то было нажатие.
    Дополню. Если у нас отвалилась связь (например, потеряли несколько пакетов с данными из-за лага сети), а кнопку нажимали - то потом мы всё равно про это узнаем.
    Я не барабанщик, но с опросом в 10мс у меня ни разу не получилось ткнуть кнопку так, чтобы было потеряно нажатие, я это делал специально, неспециально это вообще нереально сделать. Ради интереса поставлю завтра счётчик ошибок по опросу. Чтобы проверить возникают они или нет, если за сутки не наберётся ни одной, могу констатировать метод счётчиками неоправданно сложным.

  5. #35

    По умолчанию

    А так у меня товарищ есть с подобным подходом к делу, который вместо одного микрокомпьютера Raspberry PI воткнул два полноценных системника, запитанных от бесперебойника, на одном из которых завёл резервное копирование первого системника. После некоторой беседы о целесообразности использования средств соразмерно решаемой задаче оптимизировали состав оборудования и пришли к одной "малине" и простой флешке на которую скидываются бекапы. При этом за 3 года работы она так и не понадобилась.

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

  6. #36

    По умолчанию

    Народ, хэлп ми! В общем те же груши только в профиль. Такая проблема: расшарил на контроллере 50 регистров, всё работало даже вроде неплохо, добавил ещё десяток регистров и пропала какая-либо возможность читать регистры из контроллера по модбас тср, просто ошибка при подключении и таймаут, что при чтении орс-сервером, что при чтении другим устройством, тупо нет связи, методом тыка убавлял регистры по одному, дошел обратно до 50 и все снова заработало. Таймауты и время опроса выставлял разное от 10мс до 20с толку нет.
    Все регистры в одном слейв-модбас-девайсе, проект выше.
    В общем сколько регистров может быть в одном слейве?
    Сколько может быть слейвов? Можно ли создать несколько слейвов разбросать их по портам, адресам и в каждый подобавлять ещё регистры?
    Ещё такой нюанс: при первой попытке опроса ответ приходит очень долго, а потом всё работает относительно быстро, что я сделал не так?
    Последний раз редактировалось Parovoz; 15.04.2021 в 17:09.

  7. #37

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Почти тыща если через конфигурацию. Это - пушка по воробьям, но я из нее палю чтоб до пива добраться побыстрее.
    ))
    Тогда я не понимаю, что происходит... При добавлении регистров свыше 50 напрочь отсутствует связь по MBTCP. Причём связь обрубается ещё на попытке создания соединения OPC-сервером, т.е. даже до запросов дело не доходит.

  8. #38

    По умолчанию

    В общем, что бы я не пытался делать (сбрасывать плк, очищать проект, заливать другой заведомо рабочий проект) свзяи по MBTCP, где ПЛК был в роли слейва не было, при этом плк стабильно и без проблем управлял другими устройствами по MBTCP, при этом при перезаливке проекта случалось и такое, что кодесис не подключался к плк, при этом плк также работал и всем управлял. Перезагрузка по питанию также не спасала ситуацию. Приходилось сбрасывать с помощью тумблера и снова заливать.
    Помогла только прошивка с 1.0.12 до актуальной. И все регистры сразу же откликнулись без задержек, ошибок и таймаутов, время ответа 20-30 мс. Добавил ещё 30 регистров, перезалил проект и новые регистры без проблем заработали.
    И всё бы ничего, но при перепрошивке поменялся адрес плк, причем не на дефолтный, а на какой-то другой. что-то типа 10.0.2.11. Хоть бы в инструкции указали этот момент, а то ночь на дворе USB-кабеля нет, связи нет, тех. поддержка молчит. Что делать непонятно...
    В общем ситуация вроде как решилась, что было - непонятно.

  9. #39
    Пользователь Аватар для A.Simonov
    Регистрация
    11.07.2017
    Адрес
    Москва
    Сообщений
    433

    По умолчанию

    Цитата Сообщение от Parovoz Посмотреть сообщение
    В общем, что бы я не пытался делать (сбрасывать плк, очищать проект, заливать другой заведомо рабочий проект) свзяи по MBTCP, где ПЛК был в роли слейва не было, при этом плк стабильно и без проблем управлял другими устройствами по MBTCP, при этом при перезаливке проекта случалось и такое, что кодесис не подключался к плк, при этом плк также работал и всем управлял. Перезагрузка по питанию также не спасала ситуацию. Приходилось сбрасывать с помощью тумблера и снова заливать.
    Помогла только прошивка с 1.0.12 до актуальной. И все регистры сразу же откликнулись без задержек, ошибок и таймаутов, время ответа 20-30 мс. Добавил ещё 30 регистров, перезалил проект и новые регистры без проблем заработали.
    И всё бы ничего, но при перепрошивке поменялся адрес плк, причем не на дефолтный, а на какой-то другой. что-то типа 10.0.2.11. Хоть бы в инструкции указали этот момент, а то ночь на дворе USB-кабеля нет, связи нет, тех. поддержка молчит. Что делать непонятно...
    В общем ситуация вроде как решилась, что было - непонятно.
    На 129 странице в РП есть инфа об этом IP.
    Это IP который ставится если удаляется файл сетевых настроек.
    Код:
    IP 10.2.11.119
    GATE 10.2.1.1
    MASK 255.255.0.0
    Александр Андреевич Симонов
    Инженер по продуктам «ПЛК, модули и OwenCloud»
    e-mail: support@owen.ru
    e-mail: a.simonov@owen.ru

  10. #40

    По умолчанию

    Цитата Сообщение от A.Simonov Посмотреть сообщение
    На 129 странице в РП есть инфа об этом IP.
    Это IP который ставится если удаляется файл сетевых настроек.
    Код:
    IP 10.2.11.119
    GATE 10.2.1.1
    MASK 255.255.0.0
    Так а почему бы об этом не сделать краткое упоминание в инструкции по перепрошивке..? Я, как и многие не читали руководство целиком, а обращаются к нему по мере необходимости. Есть руководство по прошивке, где об этом ни слова, неужели так сложно туда добавить эту информацию, если уж вы не удосуживаетесь отвечать на звонки на вашу горячую линию 24/7?

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

Похожие темы

  1. Считывание программы из ПЛК
    от MasterZ в разделе ПЛК1хх
    Ответов: 29
    Последнее сообщение: 30.12.2020, 20:24
  2. Считывание времени
    от Василий_S в разделе ПЛК1хх
    Ответов: 24
    Последнее сообщение: 08.06.2020, 12:47
  3. Считывание архива с ПЛК 304
    от Шевцов Игорь в разделе ПЛК3хх
    Ответов: 18
    Последнее сообщение: 15.09.2016, 09:08
  4. Считывание температуры
    от shtorm в разделе Эксплуатация
    Ответов: 7
    Последнее сообщение: 27.05.2012, 20:50
  5. Как ускорить процесс опроса для мастера ModBus
    от AWA1971 в разделе Сетевые технологии
    Ответов: 14
    Последнее сообщение: 15.10.2010, 01:58

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

Ваши права

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