Страница 5 из 7 ПерваяПервая ... 34567 ПоследняяПоследняя
Показано с 41 по 50 из 61

Тема: Свободное чтение RS-485

  1. #41

    По умолчанию

    Цитата Сообщение от Samel Посмотреть сообщение
    Ну это не корректно. Такое чтение превратит буфер в мусор.
    А я планировал читать по двукратному объему информации, и как только считал меньше чем нужно - беру предыдущий кусок, который содержит в себе 2х инфы, где точно есть нужный мне пакет.

  2. #42

    По умолчанию

    Цитата Сообщение от Raikkonen Посмотреть сообщение
    А я планировал читать по двукратному объему информации, и как только считал меньше чем нужно - беру предыдущий кусок, который содержит в себе 2х инфы, где точно есть нужный мне пакет.
    А где хранится что считал раньше? Простая задача очень усложняется! В этой задаче главный вопрос цикл вызова функции Read!

  3. #43
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,652

    По умолчанию

    Если есть какой-то функционал остановки опроса и известен конец, то да, можно считывать с Х байта, ловить конец, проверять весь ли пакет попал в чтение и либо уже дочитывать новый пакет, либо разбирать полученное.

    з.ы. подозреваю, что на ПЛК так быстро такие вещи не сделать, проще читать 2х пакета и искать начало и конец., надо прикинуть будет ли в этом случае коллизии, но вроде не должны. Либо два пакета будут полными, либо будет 1 обрезок + полный + 2 обрезок.
    Последний раз редактировалось melky; 22.06.2022 в 11:46.

  4. #44

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Если есть какой-то функционал остановки опроса и известен конец, то да, можно считывать с Х байта, ловить конец, проверять весь ли пакет попал в чтение и либо уже дочитывать новый пакет, либо разбирать полученное.

    з.ы. подозреваю, что на ПЛК так быстро такие вещи не сделать, проще читать 2х пакета и искать начало и конец., надо прикинуть будет ли в этом случае коллизии, но вроде не должны. Либо два пакета будут полными, либо будет 1 обрезок + полный + 2 обрезок.
    А какие проблемы сделать это на ПЛК. Читай из буфера с циклом 5 мс, формируй свой буфер и ходи по ниму ищи свой пакет

  5. #45
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,652

    По умолчанию

    Samel честно не знаю можно ли. например в RapidScada разработчик по моей просьбе дорабатывал код остановки опроса, можно посмотреть у него в исходниках. Но вот под силу такое ПЛК, который кроме опроса еще должен заниматься кучей других дел ? На ПК то это в потоке отдельном работает.... А то тоже была с подобным проблема, потому что в протоколе не было фиксированной длины данных, пакеты из-за этого могли быть разной длины и не поддавались рассчету.

  6. #46

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Samel честно не знаю можно ли. например в RapidScada разработчик по моей просьбе дорабатывал код остановки опроса, можно посмотреть у него в исходниках. Но вот под силу такое ПЛК, который кроме опроса еще должен заниматься кучей других дел ? На ПК то это в потоке отдельном работает.... А то тоже была с подобным проблема, потому что в протоколе не было фиксированной длины данных, пакеты из-за этого могли быть разной длины и не поддавались рассчету.
    У меня никогда не было проблем разбирать пакеты разной длины.
    Скорость, частота посылок, предпологаемы объем данных -> время цикла задачи
    Последний раз редактировалось Samel; 22.06.2022 в 12:15.

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

    По умолчанию

    Валенок если правильно понял, то что-то было связано с Виндовым кодом работы с портом (NET Framework), нужно задать размер обязательно, и если мы задаем размер заведомо больше, чтобы все влезло, а пакет короткий по факту, привет Timeout.... По этому остановка была софтовая...

    Дальше не вдавался в подробности почему, разработчик помог решить задачу, и ладно...

    Если ПЛК аналогично может читать и сразу проверять, то отлично, можно реализовать по аналогии.
    Как-то мне в голову не придет, реализовывать протокол Allen Bradley на ПЛК, там застрелиться проще...

  8. #48
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,671

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Как-то мне в голову не придет, реализовывать протокол Allen Bradley на ПЛК, там застрелиться проще...
    А можно подробнее, в целях повышения образованности, что это за протокол "Allen Bradley"???

  9. #49
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,652

    По умолчанию

    Sergey666 DF1 (тоже RS485), переменная длина пакета, два вида контрольных сумм, при этом отличается состав пакета для проверки контрольной суммы и многое другое.
    Хотя если их ПЛК вполне справляется с задачей, то возможно и другой справится, но боюсь там это реализовано на уровне прошивки самого ПЛК а не программы.

  10. #50
    Пользователь
    Регистрация
    31.01.2019
    Адрес
    РФ/РБ
    Сообщений
    917

    По умолчанию

    Цитата Сообщение от Raikkonen Посмотреть сообщение
    Был в отпуске. У меня дозирование.

    Я не пойму самого главного - когда я использую Read - я из начала или из конца буфера читаю?
    Буфер=очередь, стек, FIFO, FILO почитайте. Обязательно.
    В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик

Страница 5 из 7 ПерваяПервая ... 34567 ПоследняяПоследняя

Похожие темы

  1. Свободное ПО для опроса устройств (Modbus)
    от o_nik в разделе Трёп (Курилка)
    Ответов: 26
    Последнее сообщение: 09.11.2020, 14:15
  2. Ответов: 6
    Последнее сообщение: 05.03.2018, 10:46
  3. ПЛК110 М02 и свободное место на USB Flash?
    от Антон_Б в разделе ПЛК1хх [М02]
    Ответов: 0
    Последнее сообщение: 01.07.2017, 12:21
  4. чтение из плк
    от Wanted в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 03.12.2010, 13:18
  5. Свободное место на Flash диске
    от Логвиненко Андрей в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.11.2009, 15:04

Ваши права

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