Страница 4 из 7 ПерваяПервая ... 23456 ... ПоследняяПоследняя
Показано с 31 по 40 из 61

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

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

    По умолчанию

    Цитата Сообщение от Samel Посмотреть сообщение
    И не один!
    Нет, с кольцевым - достаточно длинны на 1 пакет. Работать с ним сложнее просто. Не сильно, но с точки зрения циклической программы - сложнее.
    В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик

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

    По умолчанию

    Цитата Сообщение от Samel Посмотреть сообщение
    В задаче не хватает нескольких переменных:
    1. Частота пакетов.
    2. Требуемая актуальность данных.
    1. 115200/~20.
    2. Я задал вопрос ТС - у него взвешивание или дозирование. Молчит.
    В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик

  3. #33

    По умолчанию

    Цитата Сообщение от keysansa Посмотреть сообщение
    Нет, с кольцевым - достаточно длинны на 1 пакет. Работать с ним сложнее просто. Не сильно, но с точки зрения циклической программы - сложнее.
    Один. Это если минимальное время цикла и нет мусора.
    Такие беседы нужно за бокалом пенного в баре
    Я думаю тему можно закрывать.

  4. #34

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Тут оно не надо. Тут что-то там/как-нибудь/и так сойдет.
    Как его забанить в этой теме?

  5. #35

    По умолчанию

    Цитата Сообщение от keysansa Посмотреть сообщение
    1. 115200/~20.
    2. Я задал вопрос ТС - у него взвешивание или дозирование. Молчит.
    Был в отпуске. У меня дозирование.

    Я не пойму самого главного - когда я использую Read - я из начала или из конца буфера читаю?

  6. #36

    По умолчанию

    Цитата Сообщение от Samel Посмотреть сообщение
    Я предлагаю универсальное решение. А то потом выясняется, что размер пакета не фиксированный, мусор на шине и тд.
    Если можете - ответьте на 4 вопроса из 1 сообщения темы, пожалуйста.....
    я могу любые буферы обработки сам написать, я скорее не могу нормальной инфы о СисКомЛиб найти.

  7. #37

    По умолчанию

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

    Я не пойму самого главного - когда я использую Read - я из начала или из конца буфера читаю?
    Из начала. Как-то глупа из конца читать

  8. #38

    По умолчанию

    И у меня возникло несколько вопросов:
    1. Так как скорость 115200, я думаю считывая по 50 байт каждый цикл (50 мсек), мне кажется рано или поздно случится переполнение буфера?

    Я не очень понимаю как этот буфер устроен.
    2. Не понимаю - я читаю данные из конца или из начала этого буфера?
    3. Вроде как прочитанные данные из буфера стираются, это так или не очень?

    Анализируя данные в буфере я обратил внимание что посылки бывают кусками, хотя по факту я на 100000000000000% уверен что они всегда ровненькие и одинаковые
    4. Почему в буфере могут быть обрывки? это потому что я своими 50 байтами там оставляют объедки от них?
    1. Все зависит от частоты посылок от устройства. Но за 50 мс может прилететь 115200/10/20 байт.
    2. С начала буфера.
    3. Данные вычитываются один раз.
    4. Смотри 1 вопрос.

  9. #39

    По умолчанию

    Цитата Сообщение от Samel Посмотреть сообщение
    Из начала. Как-то глупа из конца читать
    Ну в целом да, получается это очередь а не стек.
    А как тогда мне лучше производить чтение чтобы получать данные ближе к последним?
    В одном цикле можно делать много чтений?
    типа:
    Код:
    while SysComRead(com_settings.Port,ADR(buffer[1]),50,0) > 0 do
      (*не важно какая обработка*)
    end_while
    ??

  10. #40

    По умолчанию

    Цитата Сообщение от Raikkonen Посмотреть сообщение
    Ну в целом да, получается это очередь а не стек.
    А как тогда мне лучше производить чтение чтобы получать данные ближе к последним?
    В одном цикле можно делать много чтений?
    типа:
    Код:
    while SysComRead(com_settings.Port,ADR(buffer[1]),50,0) > 0 do
      (*не важно какая обработка*)
    end_while
    ??
    Ну это не корректно. Такое чтение превратит буфер в мусор.

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

Похожие темы

  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

Ваши права

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