Страница 6 из 19 ПерваяПервая ... 4567816 ... ПоследняяПоследняя
Показано с 51 по 60 из 203

Тема: ПЛК63 + SysLibCom, потеря байтов

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

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

    По умолчанию

    счетчик я обсуждать не буду

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    1.Отправили, взвели таймер
    2.Читаем.Что-то есть - перевзводим таймер. время вышло - выходим на проверку данных
    PS
    А счетчик есть и в modbus.lib
    И я про тот, другой, протокол спрашивал
    Паузы - в сад

  3. #3

    По умолчанию

    шнайдеровский счетчик в сад. Здесь я его обсуждать не хочу. Не та тема.
    Пойми из буфера порта читаю небольшими порциями. Да можно при чтении запросить макс. возможное для данного протокола количество байт из буфера. И проблема пропадет. НО почему теряются байты при чтении ответа из буфера частями. На ПЛК100 работает на ПЛК63 - глючит. А на еще каком-нибуть ПЛКxxx, будет другой глюк.
    Меня не интересует, как можно сделать по другому. Я знаю как сделать. Меня интересует имено ентот глюк.

  4. #4

    По умолчанию

    Вы попробуйте, если не влом конечно, и есть возможность заменить
    Size := DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf), SIZEOF(rBuf), 0));

    на

    Size := DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf), SIZEOF(rBuf), 0));
    if ( size > 0 ) then
    size := size + DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf[ 1 ]), SIZEOF(rBuf) - 1, 0));
    end_if

  5. #5

    По умолчанию

    Цитата Сообщение от monteg Посмотреть сообщение
    Вы попробуйте, если не влом конечно, и есть возможность заменить
    Size := DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf), SIZEOF(rBuf), 0));

    на

    Size := DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf), SIZEOF(rBuf), 0));
    if ( size > 0 ) then
    size := size + DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf[ 1 ]), SIZEOF(rBuf) - 1, 0));
    end_if
    ошибся

    Size := DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf), 1, 0));
    if ( size > 0 ) then
    size := size + DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf[ 1 ]), SIZEOF(rBuf) - 1, 0));
    end_if

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    Цитата Сообщение от monteg Посмотреть сообщение
    ошибся

    Size := DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf), 1, 0));
    if ( size > 0 ) then
    size := size + DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf[ 1 ]), SIZEOF(rBuf) - 1, 0));
    end_if
    Вы хорошо подумали когда это написали ?
    PS
    Все. Утро вечера - сами знаете ..

  7. #7

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Вы хорошо подумали когда это написали ?
    PS
    Все. Утро вечера - сами знаете ..
    Можно подробно.

    Спокойной ночи

  8. #8
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    когда читаете - знаете сколько прочитали. Ну за каким читать меньше или больше ?
    PS
    Все. Спокойной ночи.

  9. #9

    По умолчанию

    Допустим в буфере появился "мусор" ( каким образом, даже думать не хочу ). Читаем 100 байт, первые 10 "мусор", а дальше идет верный ответ от устройства. Т.е. надо дочитать ответ. Читаем недостающие байты. И тут облом. Теряются байты.
    Вот зачем

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

    По умолчанию

    в место единицы видимо Size должны были написать

Страница 6 из 19 ПерваяПервая ... 4567816 ... ПоследняяПоследняя

Похожие темы

  1. плк63-пм01 потеря байт
    от Elka в разделе ПЛК63/73
    Ответов: 35
    Последнее сообщение: 06.11.2012, 14:26
  2. потеря байтов в ответной посылке с периодом 4-5 с.
    от Смирнов Роман в разделе ПЛК1хх
    Ответов: 44
    Последнее сообщение: 23.04.2009, 07:16
  3. SysLibCom
    от demon в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 20.03.2009, 13:08
  4. ПЛК 150 и SysLibCom.lib.
    от Анатолий в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 13.12.2008, 13:48
  5. SysLibCom 16#FF
    от powerind в разделе ПЛК1хх
    Ответов: 28
    Последнее сообщение: 28.10.2008, 13:41

Ваши права

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