Страница 836 из 856 ПерваяПервая ... 336736786826834835836837838846 ... ПоследняяПоследняя
Показано с 8,351 по 8,360 из 8559

Тема: CODESYS V3.5. Вопросы и ответы

  1. #8351
    Пользователь
    Регистрация
    01.12.2007
    Адрес
    Воронеж
    Сообщений
    238

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    udiTimeOut = 0 - это ждать столько, сколько придется
    Если вы ставите udiTimeOut = 100, а блок не сможет за 100 мкс вычитать весь буфер COM-порта (по тем или иным причинам) - то тогда случится .xError и .eError = TIME_OUT
    Тогда можно еще раз для дурачков: как же пользоваться этим "более высоким уровнем абстракций" за который уплочено?

    Задача стандартная(запрос):
    0) почистил приемный буфер от всякого мусора(очень желательно)
    1) отправил буфер с данными
    2) в течении какого то времени принимаешь/получаешь данные кусками и пытаешся собрать из этого пакет(и если получилось, то не ждешь до упора).

    PS Нет ли нормального примера, а не детсадовского из 3х коробочек на FBD?

  2. #8352
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,010

    По умолчанию

    так понимаю, нет возможности остановить timeout если пакет весь пришел и не дожидаться его окончания? впрочем это мало где есть, мне так кажется.

  3. #8353
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,627

    По умолчанию

    Цитата Сообщение от pt200 Посмотреть сообщение
    Задача стандартная(запрос):
    0) почистил приемный буфер от всякого мусора(очень желательно)
    1) отправил буфер с данными
    2) в течении какого то времени принимаешь/получаешь данные кусками и пытаешся собрать из этого пакет(и если получилось, то не ждешь до упора).

    PS Нет ли нормального примера, а не детсадовского из 3х коробочек на FBD?
    0) Это сделают за вас (если речь о буфере UART).
    1, 2) https://ftp.owen.ru/CoDeSys3/11_Docu...cols_v.3.0.pdf (6.5.4)

    Тогда можно еще раз для дурачков: как же пользоваться этим "более высоким уровнем абстракций" за который уплочено?
    Например - использовать уже упомянутый UNM_SerialRequest.
    Касательно вашей проблемы с WRONG_PARAMETER - техподдержка (support@owen.ru) с радостью вам поможет, как только вы пришлете минимальный проект, в котором ее можно повторить, и пошаговую инструкцию, как это сделать.

  4. #8354

    По умолчанию

    Прошу помочь, пока ждём контроллер, начал делать проект, и проверять его на эмуляторе, но столкнулся вот с этим паролем
    Где-то я нашел что надо найти файл и снять комментарий с строки,но это не помогло, нет папки с названием эмулируемого контроллера
    cds.png

  5. #8355
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,627

    По умолчанию

    Цитата Сообщение от Fusa Посмотреть сообщение
    Прошу помочь, пока ждём контроллер, начал делать проект, и проверять его на эмуляторе, но столкнулся вот с этим паролем
    Где-то я нашел что надо найти файл и снять комментарий с строки,но это не помогло, нет папки с названием эмулируемого контроллера
    cds.png
    Добрый день.
    https://owen.ru/forum/showthread.php...l=1#post401060

  6. #8356

    По умолчанию

    Не помогает,файлы удалил,один из них постоянно появляется опять после перезагрузки контроллера
    и пробую подключится, опять просил логин и пароль (вроде я даже при установке не создавал пользователя вообще)cds 3.png cds.png cds 2.png

  7. #8357
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,627

    По умолчанию

    Цитата Сообщение от Fusa Посмотреть сообщение
    Не помогает,файлы удалил,один из них постоянно появляется опять после перезагрузки контроллера
    и пробую подключится, опять просил логин и пароль (вроде я даже при установке не создавал пользователя вообще)cds 3.png cds.png cds 2.png
    Напишите завтра утром мне в телеграм (см. в подписи), пожалуйста.

  8. #8358
    Пользователь
    Регистрация
    01.12.2007
    Адрес
    Воронеж
    Сообщений
    238

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    0) ...Например - использовать уже упомянутый UNM_SerialRequest.
    Касательно вашей проблемы с WRONG_PARAMETER - техподдержка (support@owen.ru) с радостью вам поможет, как только вы пришлете минимальный проект, в котором ее можно повторить, и пошаговую инструкцию, как это сделать.
    Пока таким "костылем" пользуюсь:
    Код:
    IF(REQ.xDone OR (REQ.xError AND (REQ.uiResponseSize > 0))) THEN
    Все таки хотелось бы с COM.Read разобраться, как она работает:
    1) xExecute := TRUE и udiTimeOut = 0 и она начинает складывать принятые данные в буфер(добавляя каждый раз в конец) и инкрементируя размер szSize?
    2) а когда мне надо будет тормознуть "нажимаем" xAbort(кстати он мгновенного действия или надо будет дожидаться подтверждения)?

  9. #8359
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,627

    По умолчанию

    1) xExecute := TRUE и udiTimeOut = 0 и она начинает складывать принятые данные в буфер(добавляя каждый раз в конец) и инкрементируя размер szSize?
    По переднему фронту xExecute происходит однократная вычитка всего того, что накопилось в буфере COM-порта. После этого буфер автоматически очищается.
    "Добавлять каждый раз в конец и инкрементировать szSize" - это задача того, кто вызывает COM.Read.
    В документе из прошлого поста всё это показано.

    2) а когда мне надо будет тормознуть "нажимаем" xAbort(кстати он мгновенного действия или надо будет дожидаться подтверждения)?
    После ответа на 1) должно быть понятно, что в реальной жизни у вас не будет поводов для "торможения".

  10. #8360
    Пользователь
    Регистрация
    01.12.2007
    Адрес
    Воронеж
    Сообщений
    238

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    По переднему фронту xExecute происходит однократная вычитка всего того, что накопилось в буфере COM-порта. После этого буфер автоматически очищается.
    "Добавлять каждый раз в конец и инкрементировать szSize" - это задача того, кто вызывает COM.Read.
    Теперь понятно: т.е. это "не блокирующая" фукция("ReadAllFromBuffer"), гарантированно завершающаяся максимально быстро и не ждущая больше ни чего, а таймаут прикрутили больше "для мебели"(ну и мне по мозгам "поездить" )

Страница 836 из 856 ПерваяПервая ... 336736786826834835836837838846 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 4044
    Последнее сообщение: 17.12.2025, 10:15
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 849
    Последнее сообщение: 16.11.2025, 08:58
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 273
    Последнее сообщение: 08.09.2025, 13:21
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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