Перейти к содержанию
    

CANFestival, посылка PDO запроса

Все получается, но возникла такая проблема... Клиент посылает серверу запрос на запись данных, все хорошо, сервер записывает по тому адресу, куда клиент сказал и посылает 0х60 индекс субиндекс и 4 байта пустоты, но КЛИЕНТ как-то не реагирует на это ответное сообщение, что должен сделать клиент, когда ему поступает успешное сообщение от сервера? У меня вылазит ошибка

"Ошибка SDO: получен ответ для неизвестного запроса на загрузку от nodeId 0х10" откуда она берется... почему от неизвестного запроса, сервер же записывает себе данные в словарь (проверено)

 

а... Все дело в неверном статусе линии... Должно быть SDO_DOWNLOAD_IN_PROGRESS для ответа 0x60 и SDO_UPLOAD_IN_PROGRESS для ответа на запрос чтения. Почему линия сама не меняет статус... Что я делаю не так(( Еще вопрос, на запрос от клиента на чтение данных (0x43 индекс субиндекс 4 пустых байта) от сервера должен же придти ответ в виде 0x23 индекс субиндекс 4 байта данных.... а он приходит 0x43... что я путаю?

Изменено пользователем Ekka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

НЕ могу понять, что делаю не так...

 

чтобы отправить серверу запрос на запись данных я отправляю только один запрос? Или еще нужен запрос на инит?

клиент серверу - (0х23 0х02 0x20 0х00 0x25 0x26 0x27 0x28)

 

сервер клиенту отвечает (0x60 0x02 0x20 0x00 0x00 0x00 0x00 0x00)

 

все нормально, сервер себе пишет в словарь, но клиент не распознает ответ от сервера из-за несовпадения состояния линии. Линию надо клиенту как-то самостоятельно устанавливать в состояние SDO_DOWNLOAD_IN_PROGRESS, чтобы принять ответ от сервера?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребят, медленно разбираюсь. Может, кто знает, такой вопрос вот: если пропадает heartbeat у какого-то слейва, то это фиксируется по адресу 0х1029. Так? как программно это можно посмотреть? как мне узнать, какой слейв "отвалился"???

 

 

Ребят, медленно разбираюсь. Может, кто знает, такой вопрос вот: если пропадает heartbeat у какого-то слейва, то это фиксируется по адресу 0х1029. Так? как программно это можно посмотреть? как мне узнать, какой слейв "отвалился"???

 

И как можно "смоделировать" пропадание heartbeat-ов?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...