Страница 12 из 21 ПерваяПервая ... 21011121314 ... ПоследняяПоследняя
Показано с 111 по 120 из 203

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

  1. #111

    По умолчанию

    Забыл выложить
    Вложения Вложения

  2. #112

    По умолчанию

    Про какие навороты вы говорите, там код меньше 100 строк. Первая лаб. работа в институте более объемная. Надо Просто не полениться и залить проекты в железо. Неужели у техподдержки Овен под рукой нет одного ПЛК100 и одного ПЛК63

  3. #113

    По умолчанию

    Цитата Сообщение от monteg Посмотреть сообщение
    Там не используется ПЛК63
    а если в настройках целевой платформы выбрать за место плк100 свой плк63?

  4. #114

    По умолчанию

    Цитата Сообщение от swerder Посмотреть сообщение
    а если в настройках целевой платформы выбрать за место плк100 свой плк63?
    А если попробовать мой пример...

  5. #115

    По умолчанию

    рад бы, да не имею плк63

  6. #116

    По умолчанию

    Цитата Сообщение от swerder Посмотреть сообщение
    а если в настройках целевой платформы выбрать за место плк100 свой плк63?
    Нашел на складе MBA8... Пример PR1 прекрасно работает.
    Внимание вопрос, считаете ли Вы замену корректной:

    Код:
    byte_read:=SysComRead(port_number, ADR(buf_otvet), 8, 0);
    на

    Код:
    byte_read:=SysComRead(port_number, ADR(buf_otvet[ 0 ]), 1, 0);
    byte_read:= byte_read + SysComRead(port_number, ADR( buf_otvet[ 1 ] ), 1, 0);
    byte_read:= byte_read + SysComRead(port_number, ADR( buf_otvet[ 2 ] ), 1, 0);
    byte_read:= byte_read + SysComRead(port_number, ADR( buf_otvet[ 3 ] ), 1, 0);
    byte_read:= byte_read + SysComRead(port_number, ADR( buf_otvet[ 4 ] ), 1, 0);
    byte_read:= byte_read + SysComRead(port_number, ADR( buf_otvet[ 5 ] ), 1, 0);
    byte_read:= byte_read + SysComRead(port_number, ADR( buf_otvet[ 6 ] ), 1, 0);
    byte_read:= byte_read + SysComRead(port_number, ADR( buf_otvet[ 7 ] ), 1, 0);

  7. #117

    По умолчанию

    Кто-нибудь, положит этим мучениям конец. Скажет, что-нибудь дельное по теме...

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

    По умолчанию

    WHILE SysComRead(ComHand, ADR(Buffer), SIZEOF(Buffer), 0) <> 0 DO ; END_WHILE
    SysMemCpy(ADR(buf_otvet[0]),ADR(Buffer[0]),1);
    SysMemCpy(ADR(buf_otvet[1]),ADR(Buffer[1]),1);
    SysMemCpy(ADR(buf_otvet[2]),ADR(Buffer[2]),1);
    SysMemCpy(ADR(buf_otvet[3]),ADR(Buffer[3]),1);
    SysMemCpy(ADR(buf_otvet[4]),ADR(Buffer[4]),1);
    SysMemCpy(ADR(buf_otvet[5]),ADR(Buffer[5]),1);
    SysMemCpy(ADR(buf_otvet[6]),ADR(Buffer[6]),1);
    SysMemCpy(ADR(buf_otvet[7]),ADR(Buffer[7]),1);
    а почему Вас такой то код не устраивает?

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

    По умолчанию

    Передача данных осуществляется непрерывно, если больше определенного размера, то передача делится на кадры. Если приемный буфер переполняется, то начинают теряться данные, проверка четности и контрольная сумма не исправляют код а лишь информируют что данные некорректны. Поэтому всякая трата времени процессора на второстепенные задачи, вроде закрытия ПОУ, открытия ПОУ (причем с таким же функционалом) неизбежно приведет к потере данных, рано или поздно. То что один ПЛК справляется с двумя чтениями подряд, так может у него объем буферной памяти больше, другая микросхема и т.п. Поэтому заостряю еще раз внимание, на то что прочитать информацию надо за более короткий срок, а потом уже делайте с ней (информацией) что угодно
    Лучше бы так разбирались как SysComWrite заставить соблюдать интервалы тишины между кадрами

    ЗЫ посмотрел один из проектов, впечатление удручающее по поводу использования функций для таймера, полный атас
    Последний раз редактировалось capzap; 21.03.2012 в 18:18.

  10. #120

    По умолчанию

    Ответе, пожалуйста, вы сотрудник Овен?
    Если да, то значит у Вас можно уточнить тех. нюансы, которые отсутствуют в документации. Например может ли переполниться буфер порта rs-485 от приема 13 байт... А если это предположения, то у меня от своих уже голова пухнет

Страница 12 из 21 ПерваяПервая ... 21011121314 ... ПоследняяПоследняя

Похожие темы

  1. плк63-пм01 потеря байт
    от Elka в разделе ПЛК63/73
    Ответов: 35
    Последнее сообщение: 06.11.2012, 15:26
  2. потеря байтов в ответной посылке с периодом 4-5 с.
    от Смирнов Роман в разделе ПЛК1хх
    Ответов: 44
    Последнее сообщение: 23.04.2009, 08: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

Ваши права

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