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

Тема: Универсальный диспетчер для Modbus.lib

  1. #21
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Единственное, что мне не понятно, это то что в проекте Вы пытаетесь занять порт RS485-1 как для мастера, так и для слейва.
    Это осознано или ошибка?

  2. #22
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    И еще. Вы сеть инициализируете дважды.
    Первый раз после if FirstScan пишите Disp0.pModule[1] := adr();
    А затем вызываете функцию Initialization(). Где делаете ровно тоже самое.
    Это не приводит к ошибке, но лучше оставить инициализацию в одном месте.

  3. #23

    По умолчанию

    Ох спасибо вам большое! А можно про порт поподробнее?

    В Плк.прг сделал так

    IF FirstScan THEN
    Initialization();

    FirstScan := FALSE;
    END_IF;

  4. #24
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Цитата Сообщение от Vitorgan Посмотреть сообщение
    А можно про порт поподробнее? END_IF;
    При инициализации сети мастера (DispatcherModbus), вы задаете ComPort=0 (т.е. как я понимаю RS485-1).
    И при конфигурации слейва (в конфигураторе) у вас используется RS485-1.
    Т.е. вы на один порт пытаетесь повесить и опрос мастером сети модулей МВ110-8А и через этот же порт сделать контроллер слейвом для панели и скада.
    Так у вас ничего не получится. Будут ошибки в обоих сетях.

    Перенесите опрос панели на порт RS232.

    Цитата Сообщение от Vitorgan Посмотреть сообщение
    В Плк.прг сделал так

    IF FirstScan THEN
    Initialization();

    FirstScan := FALSE;
    END_IF;
    Да, лучше так.

  5. #25

    По умолчанию

    Про порты понял, не использую их, просто когда TCP не было висели) поудалял там где не нужно. Спасибо за то, что указали на ошибки)

    Кирилл, подскажите пожалуйста, сейчас добавил еще 2 8АС, у 8А ошибок modbusErrCnt =0, а у 8АС набигает за 10 минут штук под 200-300 на одном, а на другом около 100, Что лучше уменьшать скорость на всех модулях, или же играться с PollingTime и Timeout?

    И еще вопрос, pollingStatistic - как я понимаю статистика времени опроса, а readingStatistic -статистика времени чтения?

  6. #26
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Цитата Сообщение от Vitorgan Посмотреть сообщение
    Кирилл, подскажите пожалуйста, сейчас добавил еще 2 8АС, у 8А ошибок modbusErrCnt =0, а у 8АС набигает за 10 минут штук под 200-300 на одном, а на другом около 100, Что лучше уменьшать скорость на всех модулях, или же играться с PollingTime и Timeout?
    Попробуйте увеличить FramingTime у диспетчера.
    Но в целом, как я понимаю некоторый процент ошибок в сети RS-485 - это норма. Точнее это вопрос, которым я еще собираюсь заняться - написать в службу технической поддержки. Но я тоже наблюдаю, что у меня периодически проскакивают ошибки сети для разных модулей.

    Цитата Сообщение от Vitorgan Посмотреть сообщение
    И еще вопрос, pollingStatistic - как я понимаю статистика времени опроса, а readingStatistic -статистика времени чтения?
    PollingStatistic - это статистика между опросами модуля. В идеале PollingStatistic.Middle должно быть равно PollingTime, т.е. как только истекло время периода опроса, так сразу модуль получил доступ к сети.
    ReadingStatistic - это статистика времени, которое модуль тратит на чтение (опрос). Другими словами - это то время, которое модуль занимает порт.

  7. #27
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Да и еще для увеличения скорости опроса (я так понимаю, что это главная задача), уменьшайте Timeout. Я проводил эксперименты, и могу сказать, что если модуль не ответил за 50мс, то он не ответит уже и ждать дольше нет смысла.
    Я обычно выставляю Timeout = 50мс, MaxAttempts (максимальное количество попыток опроса одного модуля) = 2 или 3.

  8. #28

    По умолчанию

    Понял Вас, спасибо учту, сейчас добавил МУ 110 16Р -2 шт, работают всего 6 модулей) занимаемся 8ДФ, с ними сложней, му по примеру важего 32Р были сделаны. Спасибо за данный диспетчер, даже сейчас уже видим что скорость по сравнению с Конфигуратор, небо и земля.

  9. #29

    По умолчанию

    Кирилл, а подскажите пожалуйста, каким образом лучше организовать показ ошибок, на подобии ласт еррор, использовать base.Error?

  10. #30
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Цитата Сообщение от Vitorgan Посмотреть сообщение
    Кирилл, а подскажите пожалуйста, каким образом лучше организовать показ ошибок, на подобии ласт еррор, использовать base.Error?
    Да. В переменной Base.Error лежит код ошибки.

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

Похожие темы

  1. Универсальный блок питания ПР114
    от sea в разделе Программируемые реле
    Ответов: 12
    Последнее сообщение: 13.10.2013, 22:56
  2. PCLogger - универсальный логгер для CDS v3
    от Mikhail Shvetsov в разделе ПЛК3хх
    Ответов: 0
    Последнее сообщение: 23.11.2012, 14:39
  3. Универсальный Modbus Сервер Инсат и 200 контроллеров ПЛК-100
    от lomtik в разделе Сетевые технологии
    Ответов: 17
    Последнее сообщение: 08.11.2012, 23:42
  4. Универсальный конфигурируемый регулятор
    от ОООСА в разделе Разработки
    Ответов: 32
    Последнее сообщение: 09.12.2009, 22:12
  5. Ответов: 7
    Последнее сообщение: 04.05.2009, 10:42

Ваши права

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