Страница 47 из 51 ПерваяПервая ... 374546474849 ... ПоследняяПоследняя
Показано с 461 по 470 из 504

Тема: В продаже МКОН - преобразователь протокола Modbus!

  1. #461
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,009

    По умолчанию

    Ошибки таймаута? Или неправильные запросы?
    На первые по идее и реакция не нужна.

  2. #462

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Ошибки таймаута? Или неправильные запросы?
    На первые по идее и реакция не нужна.
    Мне нужно знать что устройство отвалилось и в обмене более не участвует. ПЛК110 соответственно отдавал не нулевой статус операции обмена. А сейчас любая операция обмена с МКОН по Ethernet проходит успешно, даже если подключенное к нему по RS485 устройство не ответило.

  3. #463
    Пользователь
    Регистрация
    25.02.2016
    Адрес
    Кострома
    Сообщений
    302

    По умолчанию

    Цитата Сообщение от rediskus Посмотреть сообщение
    Мне нужно знать что устройство отвалилось и в обмене более не участвует. ПЛК110 соответственно отдавал не нулевой статус операции обмена. А сейчас любая операция обмена с МКОН по Ethernet проходит успешно, даже если подключенное к нему по RS485 устройство не ответило.
    Если скорость реакции не важна, то я делаю так: Считаю кол-во ошибочных запросов, если ПОДРЯД вернулось к примеру 5 ошибок, то значит связь отвалилась. Чем больше число тем вернее, но из практики вроде и до 3-х можно считать.

  4. #464

    По умолчанию

    Цитата Сообщение от stesel Посмотреть сообщение
    Если скорость реакции не важна, то я делаю так: Считаю кол-во ошибочных запросов, если ПОДРЯД вернулось к примеру 5 ошибок, то значит связь отвалилась. Чем больше число тем вернее, но из практики вроде и до 3-х можно считать.
    Я же написал выше, что обмен через МКОН не позволяет детектировать ошибку, обмен с МКОН всегда без ошибок, просто данные с подключенного по RS485 устройства не приходят и все.

  5. #465
    Пользователь
    Регистрация
    25.02.2016
    Адрес
    Кострома
    Сообщений
    302

    По умолчанию

    Цитата Сообщение от rediskus Посмотреть сообщение
    Я же написал выше, что обмен через МКОН не позволяет детектировать ошибку, обмен с МКОН всегда без ошибок, просто данные с подключенного по RS485 устройства не приходят и все.
    Пардон, мимо прошел. Тогда может другой вариант?
    Я так делал для слэйва, что бы он как-то знал что связь с мастером отвалилась и нужно что-то предпринять, в моем случае безопасно остановить выполнение алгоритма. Для этого мастер с периодичность раз в несколько секунд инвертирует сетевую переменную. Слэйв по каждой инверсии сбрасывает таймер, но если таймер досчитал до конца, значит связь оборвалась.

  6. #466

    По умолчанию

    Цитата Сообщение от stesel Посмотреть сообщение
    Пардон, мимо прошел. Тогда может другой вариант?
    Я так делал для слэйва, что бы он как-то знал что связь с мастером отвалилась и нужно что-то предпринять, в моем случае безопасно остановить выполнение алгоритма. Для этого мастер с периодичность раз в несколько секунд инвертирует сетевую переменную. Слэйв по каждой инверсии сбрасывает таймер, но если таймер досчитал до конца, значит связь оборвалась.
    Да это единственный возможный вариант, но он возможен только для своих устройств. У меня же через МКОН подключены 4 частотника от Innovert, они ничего инвертировать не согласные

  7. #467
    Пользователь
    Регистрация
    25.02.2016
    Адрес
    Кострома
    Сообщений
    302

    По умолчанию

    Цитата Сообщение от rediskus Посмотреть сообщение
    Да это единственный возможный вариант, но он возможен только для своих устройств. У меня же через МКОН подключены 4 частотника от Innovert, они ничего инвертировать не согласные
    Может в частотнике есть какая-то не нужная переменная, которую можно записывать и считывать изменяя каждый раз? Хотя тут получается, что мы к МКОНу обращаемся и такой алгоритм может не прокатить. В новой версии есть прошивка для прозрачного режима, тогда бы это сработало. Но в прозрачном-то режиме и ошибка должна приходить по идее. Тут кроме разработчиков вряд ли кто поможет.
    Старые МКОНы на STM-ках вроде собраны, если руки дойдут может что своё туда напишу. По идее там сильно не придется реверс инжинирингом заниматься, узнать пины uarta, кнопки и светодиода, а Ethernet должен на стандартных пинах сидеть, как по даташиту.

  8. #468

    По умолчанию

    Мне очень хороший способ подсказал пользователь EFrol применительно к панели СП307 к которой через МКОН сосисками подвязаны ПВТ110. Если в макросе организовать чтение регистра конкретного устройства через функцию Read, например Read(NET_0, 7, MODBUS_TCP_REG_4X, 1300, 0, TYPE_WORD, &Value621) и этой функцией читать какой-то регистр в нужном слэйве, то сама эта функция в качестве значения выдает TRUE/FALSE в зависимости от отклика конкретного слэйва (в примере с адресом 7). Таким образом просто присвоив значение этой функции подходящей переменной можно понимать, отзывается слэйв или нет. Нужно посмотреть кодэсис, наверняка там тоже можно реализовать нечто подобное. В случае СП307 и ПВТшки я так читал регистр 1300, который в одном из битов передает статус своей связи с зондом. Поскольку эти данные были мне тоже нужны, получилось 2 в одном. FLOAT32 с температурой и влажностью я читал по другому, чтобы не раздувать макросы. Но сама идея прикольная.

  9. #469
    Пользователь
    Регистрация
    25.02.2016
    Адрес
    Кострома
    Сообщений
    302

    По умолчанию

    Цитата Сообщение от Lexx225 Посмотреть сообщение
    Мне очень хороший способ подсказал пользователь EFrol применительно к панели СП307 к которой через МКОН сосисками подвязаны ПВТ110. Если в макросе организовать чтение регистра конкретного устройства через функцию Read, например Read(NET_0, 7, MODBUS_TCP_REG_4X, 1300, 0, TYPE_WORD, &Value621) и этой функцией читать какой-то регистр в нужном слэйве, то сама эта функция в качестве значения выдает TRUE/FALSE в зависимости от отклика конкретного слэйва (в примере с адресом 7). Таким образом просто присвоив значение этой функции подходящей переменной можно понимать, отзывается слэйв или нет. Нужно посмотреть кодэсис, наверняка там тоже можно реализовать нечто подобное. В случае СП307 и ПВТшки я так читал регистр 1300, который в одном из битов передает статус своей связи с зондом. Поскольку эти данные были мне тоже нужны, получилось 2 в одном. FLOAT32 с температурой и влажностью я читал по другому, чтобы не раздувать макросы. Но сама идея прикольная.
    Не получится, в том и дело, что МКОН как буфер работает. Он сам опрашивает регистры и если связь отвалилась, то Вы об этом не узнаете, об этом знает только МКОН, но он не хочет об этом сообщать.
    Последний раз редактировалось stesel; 05.12.2024 в 19:36.

  10. #470

    По умолчанию

    Цитата Сообщение от stesel Посмотреть сообщение
    Он сам опрашивает регистры и если связь отвалилась
    Ничего он сам не опрашивает.

Страница 47 из 51 ПерваяПервая ... 374546474849 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 7
    Последнее сообщение: 06.09.2018, 10:14
  2. Поддержка протокола ModBus ТРМ138
    от sega в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 27.07.2011, 07:52
  3. Аварийное завершение OPC для протокола Modbus
    от !nferno в разделе Сетевые технологии
    Ответов: 0
    Последнее сообщение: 29.06.2011, 07:17
  4. Поддержка OPM2 протокола ModBus
    от AndreyS в разделе Разработки
    Ответов: 2
    Последнее сообщение: 21.10.2007, 10:37

Ваши права

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