Вам надо LEN делать, а не SIZEOF.
Вам надо LEN делать, а не SIZEOF.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Единственное, почему-то счётчик не хочет отвечать на другой запрос после предыдущего.
Например делаю запрос:
VOLTA () - ответ
CURRE() - нет ответа.
Если делаю по отдельности, то все нормально.
Менял и время ожидания, все равно.
Надо разбираться почему не хочет так.
Станьте снифером порта с ПК между счетчиком и ПЛК, возможно мусор на следующем шаге идет. Буфер не очищается или еще что-то, а то так гадать можно долго
Так, вас понял, только в двух словах с помощью чего это реализовать, подскажите?
Но все же первые 4 шага реализуются без косяков, всегда ответ есть от счетчика.
1: / ? АДРЕС! CR LF Ответ есть
2: ACK 0 5 1 CR LF Ответ есть
3: <SOH>P1<STX>(777777)<ETX><BCC> Ответ есть
4: <SOH>R1<STX>VOLTA()<ETX><BCC> Ответ есть
5: <SOH>R1<STX>CURRE()<ETX><BCC> Тут ответа нет.
Блоки по факту одинаковые, меняется только запрос.
На 5-м шаге BCC корректно считается?
ADVANCED SERIAL DATA LOGGER - trial версии вполне достаточно, можно настроить порт на прослушку, правда не помню, может ли он со стороны смотреть, но вроде должен.
Надо посмотреть что на пятом шаге реально уходит в порт.
pixiemosty вы контрольную сумму считаете программно или просто подставляете ?
Последний раз редактировалось melky; 20.05.2021 в 21:37.
Считаю программно.
Сейчас уже не смогу запустить, ушел из кабинета.
Но вот на скриншоте приложил. Считает BCC корректно
Последний раз редактировалось pixiemosty; 20.05.2021 в 21:47.
pixiemosty насколько помню, в BCC старший бит тоже сбрасывается, если он появляется. Но если вы вместо VOLTA делаете запрос CURRE и работает, думаю причина какая-то с буфером
Да, если делаю отдельно CURRE, все работает. Также делаю и по месяцам потребление, тоже все работает.
А вот если пытаюсь опросить вместе, то все, ответа нет.
Завтра попробую поразбираться в чем причина, вроде буфер чищу функцией BUFFER CLEAR. Хммм.
Получилось реализовать считывание параметры сети и потребление за месяц\день\общее в реальном времени отдельными запросами, считаю это успехом! Всем спасибо большое за помощь!)
B5xF3cDAzy4.jpg