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

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

  1. #21

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Для каждого не надо! Надо только для тех, у кого важна скорость реакции.
    Естественно, не для каждого, а для каждого, для которого надо. Не имеет смысла все модули форсить по 10 мс. Короче модули ввода перевел под мастеры свет начал летать

  2. #22

    По умолчанию

    Всем спасибо, все свободны.

  3. #23

    По умолчанию

    Каких битовых функций в Модбасе Вам, Валенок, не хватает?
    Тролль-наседка, добрый, нежный и ласковый

  4. #24

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    И это оптимизируется легко. Читать "для показать" можно редко (1..4 сек) и оно же кипалив.

    По входам можно читать именно счетчики (не смотрел проект). Реагировать на факт и четноть изменения.
    Тогда и входам можно 50..100мс

    Какой-то режим "переключения" - это случайно не инверсия конкретного выхода ?
    Смотреть счётчики слишком мудрёно, поэтому и хотел сделать максимально по "тупому" просто мониторить в реальном времени состояния входов, по счётчикам я уже делал на другом объекте, слишком громоздко получается, тут я считываю с одного модуля 32 бита, а то пришлось бы считывать 20х32 бита чтобы каждый канал мониторить, а таких модулей 8 штук, короче в 20 раз бы вырос трафик и количество обрабатываемых данных, нафиг оно надо. Когда мне нужен был именно частотомер для импульсов вращения барабана нории, я читал счётчики каждые полсекунды, это было точно и меня устраивало.
    Тут же бытовые выключатели, такой изврат ни к чему. 10мс меня вполне устраивает. Как бы я ни старался долбить по клавише ни одной осечки по входящему импульсу у меня не получилось сделать, считаю цель достигнутой, а метод оправданным.

  5. #25

    По умолчанию

    Лично я на 110-х по Ethernet работаю только через библиотеки.
    А так, после разработки ПЛК200 - перешёл на них. Там всяко проще 3-4 кликами разнести опрос по разным потокам
    Ведущий инженер проектов
    Линейки шлюзов сетевых Пх210
    Линейки модулей ввода/вывода Мх210

  6. #26

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Повеселили. Хоть про размер eth-пакетов посмотрели. Но раз устраивает - и норм.

    Мне ? Мне пофиг. Чтоб чего там синхронизировать а то "термостатный блок решил открыть термоголовку и весь свет потух" в многопортовом полном дуплексе устраивают голимый поллинг.
    Не понимаю сарказма.

    Если есть возможность обрабатывать и считывать 20 битов вместо 20-ти 32-битовых модулей и обрабатывать их самым примитивным образом (false/true) на кой тогда городить огород из чётности/нечётности и сравнении счётчиков? В моём конкретном случае порядка 160 счётчиков вместо 160 Битов.
    Когда мне надо было мониторить частоту вращения барабана нории по датчику импульсов, я использовал счётчики, здесь же в этом смысла нет никакого. Это касаемо модулей ввода.

    Про синхронизацию тоже не понял к чему эти ухмылки, в сети организовано мультимастерное управление. Как контроллер должен понять, в каком состоянии сейчас находятся выходы модуля вывода, если их в любой момент может поменять другой мастер?

    Объясняю ситуацию на пальцах: все выходы допустим изначально выключены, потом я с айпада включаю 5 первых выходов (свет), но контроллер об этом не знает. Тыкаю на клавишу, завязанную на плк, включить 6 выход. И плк благополучно перезаписывает весь модуль с одним включенным 6 выходом, потому что "думает", что надо включить только 6 выход, т.к. контроллером в модуль вывода я пишу по изменению модуль 32 бита.

    Чтобы таких ситуаций не происходило я контроллером постоянно считываю фактическую битовую маску выходов и перезаписываю модуль с учётом имеющейся фактической картины. И на команду включить 6 выход, контроллер перезаписывает модуль с включенными первыми пятью и ещё одним 6 выходом. Что я делаю неправильно?

    Также есть ещё такие устройства как замки, краны, привод ворот, которые управляются также с разных мест, разноименными сигналами, и считывание фактической битовой маски позволяет исключить одновременное закрытие и открытие крана/ворот/штор/замков и т.п.

    Если есть какой-то боле простой и правильный способ это благополучно делать без чтения фактической маски выходов из модуля, мне было бы очень интересно узнать этот способ.
    Последний раз редактировалось Parovoz; 27.03.2021 в 03:12.

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

    По умолчанию

    Цитата Сообщение от Parovoz Посмотреть сообщение
    Объясняю ситуацию на пальцах: все выходы допустим изначально выключены, потом я с айпада включаю 5 первых выходов (свет), но контроллер об этом не знает. Тыкаю на клавишу, завязанную на плк, включить 6 выход. И плк благополучно перезаписывает весь модуль с одним включенным 6 выходом, потому что "думает", что надо включить только 6 выход, т.к. контроллером в модуль вывода я пишу по изменению модуль 32 бита. .
    возможно Вы уже высказывались, но я вот не пойму, чем не устраивают регистры с 340по 363, концепция не нарушится, изменятся будет состояние только одного выхода
    Последний раз редактировалось capzap; 27.03.2021 в 09:16.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  8. #28

    По умолчанию

    Ну хотя бы тем, что вместо чтения/записи четырёх регистров (2х32Bit) надо будет читать/писать 24 регистра. И вместо булевых функций оперировать числовыми. А суть останется та же, мониторим обратную связь выхода по регистру и по обратной связи конкретного регистра задаём новую уставку исходя из реальной на данный момент. Режим работы выходов надо будет перевести в ШИМ, и с другого мастера также писать числовые уставки и там также придётся поменять булевую логику на числовую.
    В следствие чего такая простая конструкция типа: dword1.0:=(dword1.1 or dword2.2) and not(dword3.3); превращается в полноценное "трёхэтажное" условие.

  9. #29

    По умолчанию

    Не ругайте Валенка, он дело говорит. Если есть счётчики по входам - надо их использовать, тогда правильно настроив фильтрацию по входам модулей можно и дребезга не боятся и не надо так часто опрашивать,опасаясь пропустить событие.
    Тролль-наседка, добрый, нежный и ласковый

  10. #30

    По умолчанию

    А можно немного подробнее почему в моём случае надо использовать счётчики и не надо так часто опрашивать? Что не так? Или что может произойти? Цикл выполняется за 2-3 мс почему бы не опрашивать каждые 10мс, если оборудование позволяет это делать? Ошибок по обмену нет, совсем, сеть для этого оборудования выделена отдельная, чисто физически между щитами проложены отдельные линии. Почему вы мне так явно навязываете счётчики? Если у меня всего по 20-50 нажатий в сутки, но случиться они могут в любое время. Почему все так усердно пытаются навязать какую-то альтернативу, которая больше, сложнее, неудобнее, а результат тот же?

    Когда тогда надо использовать битовую маску входов? И есть ли какие-то критерии использования тех или иных способов учёта входящих сигналов? Я вот, допустим, думаю, что если частота входящего импульса больше 10 Гц, то следует использовать счётчики, всё что ниже - битовая маска.

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

Похожие темы

  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

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

Ваши права

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