Ekka 0 21 декабря, 2017 Опубликовано 21 декабря, 2017 (изменено) · Жалоба Все получается, но возникла такая проблема... Клиент посылает серверу запрос на запись данных, все хорошо, сервер записывает по тому адресу, куда клиент сказал и посылает 0х60 индекс субиндекс и 4 байта пустоты, но КЛИЕНТ как-то не реагирует на это ответное сообщение, что должен сделать клиент, когда ему поступает успешное сообщение от сервера? У меня вылазит ошибка "Ошибка SDO: получен ответ для неизвестного запроса на загрузку от nodeId 0х10" откуда она берется... почему от неизвестного запроса, сервер же записывает себе данные в словарь (проверено) а... Все дело в неверном статусе линии... Должно быть SDO_DOWNLOAD_IN_PROGRESS для ответа 0x60 и SDO_UPLOAD_IN_PROGRESS для ответа на запрос чтения. Почему линия сама не меняет статус... Что я делаю не так(( Еще вопрос, на запрос от клиента на чтение данных (0x43 индекс субиндекс 4 пустых байта) от сервера должен же придти ответ в виде 0x23 индекс субиндекс 4 байта данных.... а он приходит 0x43... что я путаю? Изменено 21 декабря, 2017 пользователем Ekka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 21 декабря, 2017 Опубликовано 21 декабря, 2017 · Жалоба НЕ могу понять, что делаю не так... чтобы отправить серверу запрос на запись данных я отправляю только один запрос? Или еще нужен запрос на инит? клиент серверу - (0х23 0х02 0x20 0х00 0x25 0x26 0x27 0x28) сервер клиенту отвечает (0x60 0x02 0x20 0x00 0x00 0x00 0x00 0x00) все нормально, сервер себе пишет в словарь, но клиент не распознает ответ от сервера из-за несовпадения состояния линии. Линию надо клиенту как-то самостоятельно устанавливать в состояние SDO_DOWNLOAD_IN_PROGRESS, чтобы принять ответ от сервера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Ребят, медленно разбираюсь. Может, кто знает, такой вопрос вот: если пропадает heartbeat у какого-то слейва, то это фиксируется по адресу 0х1029. Так? как программно это можно посмотреть? как мне узнать, какой слейв "отвалился"??? Ребят, медленно разбираюсь. Может, кто знает, такой вопрос вот: если пропадает heartbeat у какого-то слейва, то это фиксируется по адресу 0х1029. Так? как программно это можно посмотреть? как мне узнать, какой слейв "отвалился"??? И как можно "смоделировать" пропадание heartbeat-ов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться