Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 13 из 13

Тема: Время ответа контроллеров ПЛК 110-60

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    23.10.2015
    Адрес
    Владимирская область
    Сообщений
    26

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    И читать надо по 1 байту до победного конца или наступления таймаута ожидания ответа
    Так делал. Начинает тормозить основной поток программы так, что работать невозможно. Чтение по одному байту возможно если писать COMport = CreateFile(NumPort,GENERIC_READ | GENERIC_WRITE, 0,NULL, OPEN_EXISTING, 0, NULL); У меня используется COMport = CreateFile(NumPort,GENERIC_READ | GENERIC_WRITE, 0,NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); Без этого флага основной поток встает, пока будет крутится цикл чтения по одному байту и программой пользоваться невозможно. С одним контроллером еще можно. Но когда в опросе их до 8 штук, то решение я нашел только так.
    И самое забавное!!! Например настроил порт, вроде все нормально. Даже ошибок нет по тайм ауту. Но стоит запустить Гугл хром, то начинают валиться ошибки чтения! Не таймауты, а именно читает не весь пакет отправленный контроллером. Визуально на работе программы это никак не сказывается, но сам факт потери множества пакетов при работе Гугл хрома удивляет. Параллельный запуск других приложений не вызывает такой катастрофы. А с Гугл хромом примерно 50% пакетов потеряны. Интересно, что Гугл Хрому нужно от COM порта? Другие браузеры не пробовал. Просто их нет на машине.
    Доброго здоровья!

  2. #2

    По умолчанию

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

  3. #3
    Пользователь
    Регистрация
    23.10.2015
    Адрес
    Владимирская область
    Сообщений
    26

    По умолчанию

    Спасибо! Скорее всего я невнятно задал вопрос. Само время ответа понятно зависит от количества читаемых регистров. Но меня интересует именно время задержки ответа контроллера после получения запроса. Оно стабильно равно 0.0313 секунды независимо от количества читаемых регистров или от кода команды запроса.
    Цитата Сообщение от Валенок Посмотреть сообщение
    Можно. Используйте какой-нить другой мастер и/или ПК. Эта комбинация - слаба.
    А вот этот ответ я не понял. Поясните пожалуйста, что вы имеете ввиду говоря использовать другой мастер и/или ПК? И какую вы имели ввиду комбинацию, говоря комбинация слаба?
    На сейчас я реализовал следующее. Обычный компьютер (ПК?) на котором установлена самописная программа на C++ Builder 6.0 (мастер, как описано в первом посте) опрашивает по COM порту 2 контроллера ПЛК 110-60. Реализован протокол modbus-rtu. Минимальное время задержки ответа от контроллера получается 0.0313 секунды.
    В CodeSys в параметрах модуля RS-485 параметр Framing time поставил 5ms. Можно поставить 0 и можно поставить 30 ms. Время задержки ответа от контроллера не меняется. А вот при увеличении более 30 ms время задержки начинает увеличиваться пропорционально увеличению параметра Framing time.
    Дело в том, что для реализации проекта требуется подключение по сети до 6 контроллеров типа ПЛК 110. А на одном из шести контроллеров мне нужно читать около 150 регистров. И оперативно (в течении не более 0,5 секунды) менять содержимое примерно 40 регистров. Суммарно время опроса всех 6 контроллеров хочется иметь в пределах 0,1 секунды.
    Поэтому я и стремлюсь уменьшить время задержки ответа контроллера на запрос мастера, что повысит общее быстродействие сети. Это решаемо в принципе или я просто что то не так делаю, если это время по вашему слишком большое?
    Последний раз редактировалось AnSm; 09.03.2017 в 10:23.
    Доброго здоровья!

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. ТРМ138 расшифровка ответа
    от Сергей110388 в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 03.10.2013, 22:15
  2. Время ответа ТРМ202
    от незарегистрированный в разделе Помощь Разработчикам
    Ответов: 2
    Последнее сообщение: 20.07.2013, 18:52
  3. время ответа модулей овен
    от light_finder в разделе Мх110
    Ответов: 1
    Последнее сообщение: 29.09.2009, 22:37
  4. время ответа модулей овен
    от light_finder в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 29.09.2009, 22:37

Ваши права

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