Показано с 1 по 10 из 60

Тема: Как подружить ПЛК304 и Mobus

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Ильнур Гибадуллин Посмотреть сообщение
    Обрывы связи наблюдаются при опросе?
    Да, обратил внимание, некоторые Slave-устройства "отваливаются" периодически, я передёргиваю соответствующую шину в программе, связь восстанавливается, может через некоторое время повториться, причём таких устройств примерно 4-5шт из 45.

  2. #2

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Да, обратил внимание, некоторые Slave-устройства "отваливаются" периодически, я передёргиваю соответствующую шину в программе, связь восстанавливается, может через некоторое время повториться, причём таких устройств примерно 4-5шт из 45.
    Я рекомендую стабилизировать опрос с отваливающимися устройствами - подправить карту регистров, установить соответствующие таймауты, если ошибки также будут проявляться, то реализовать программную переинициализацию COM-порта. Подробно об этой процедуре описано в документе СПК.Протокол Modbus, п.4.5., стр.55 (ссылка).

  3. #3

    По умолчанию

    Цитата Сообщение от Ильнур Гибадуллин Посмотреть сообщение
    Я рекомендую стабилизировать опрос с отваливающимися устройствами - подправить карту регистров, установить соответствующие таймауты, если ошибки также будут проявляться, то реализовать программную переинициализацию COM-порта. Подробно об этой процедуре описано в документе СПК.Протокол Modbus, п.4.5., стр.55 (ссылка).
    Да, я использую похожее действие для переинициализации - прописал на каждое устройство такую строку:

    myBlink(ENABLE:= Term_47.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> Term_47.xReset);

    Частично удалил неиспользуемые каналы, некоторые перевёл в режим Rising Edge. Ситуация улучшилась. Меньше стало отвалов и одно устройство, которое вообще не работало - появилось в сети.
    Второе, что сделал - уменьшил время ожидания отклика до 100мс, а время между фреймами до 1 мс. После этого временные отвалы устройств в основном прекратились. Но, кроме двух устройств.
    После этих действий заметил некоторое улучшение отклика, но ещё не совсем то, которое хотелось...

  4. #4

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Да, я использую похожее действие для переинициализации - прописал на каждое устройство такую строку:

    myBlink(ENABLE:= Term_47.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> Term_47.xReset);

    Частично удалил неиспользуемые каналы, некоторые перевёл в режим Rising Edge. Ситуация улучшилась. Меньше стало отвалов и одно устройство, которое вообще не работало - появилось в сети.
    Второе, что сделал - уменьшил время ожидания отклика до 100мс, а время между фреймами до 1 мс. После этого временные отвалы устройств в основном прекратились. Но, кроме двух устройств.
    После этих действий заметил некоторое улучшение отклика, но ещё не совсем то, которое хотелось...
    Пришлите архив проекта для анализа на support@owen.ru с пометкой "Для Ильнура". Я проверю проект и дам рекомендации по улучшению обмена.

  5. #5

    По умолчанию

    Цитата Сообщение от Ильнур Гибадуллин Посмотреть сообщение
    дам рекомендации по улучшению обмена.
    По мере перевода записи устройств в режим Rising Edge ситуация с отвалами устройств значительно улучшилась, так же улучшилась отзывчивость всей системы. Возник вопрос по использованию этого режима (Rising Edge), если я перевожу флаг триггера записи в TRUE, через какое время мне можно сбросить флаг? Чисто подбором у меня получилось 30ms, но мне кажется это не совсем верное решение т.к. разные устройства, по идее, реагирую по разному... Т.е. нужно как-то контролировать дошла команда или нет и после сбрасывать флаг. У каждого устройства есть перечень переменных через точку (к примеру .byModbusError), возможно среди них есть флаг подтверждения записи в устройство?

  6. #6

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    По мере перевода записи устройств в режим Rising Edge ситуация с отвалами устройств значительно улучшилась, так же улучшилась отзывчивость всей системы. Возник вопрос по использованию этого режима (Rising Edge), если я перевожу флаг триггера записи в TRUE, через какое время мне можно сбросить флаг? Чисто подбором у меня получилось 30ms, но мне кажется это не совсем верное решение т.к. разные устройства, по идее, реагирую по разному... Т.е. нужно как-то контролировать дошла команда или нет и после сбрасывать флаг. У каждого устройства есть перечень переменных через точку (к примеру .byModbusError), возможно среди них есть флаг подтверждения записи в устройство?
    Режим Rising Edge подразумевает запись данных по однократному переднему фронту. Другими словами, после подачи импульса запрос кладется в очередь. Необходимости в выставлении таймеров нет.

  7. #7

    По умолчанию

    Цитата Сообщение от Ильнур Гибадуллин Посмотреть сообщение
    Необходимости в выставлении таймеров нет.
    Т.е. можно тупо в начале следующего цикла сбросить флаг?

Похожие темы

  1. Подружить СПК107 с PC
    от Vasily_avico в разделе СПК1xx (архив)
    Ответов: 3
    Последнее сообщение: 06.08.2017, 21:38
  2. Как подружить СПК 105 и ТРМ202
    от дрю в разделе СПК1xx (архив)
    Ответов: 2
    Последнее сообщение: 16.02.2016, 09:19
  3. Запись массива данных в Mobus-Slave ПЛК150
    от Alex A Pap в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 13.12.2010, 13:41
  4. подружить OPC и WinCC
    от AVit в разделе Другие SCADA системы
    Ответов: 3
    Последнее сообщение: 18.09.2007, 10:13

Ваши права

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