С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
Все таки тут вообще не получается до счетчика достучаться этим запросом.
На СПК подключен счетчик к COM1, пробовал и 1 и 2 задавать программно. 0 реакции.
А что висит пустая строка на COM_READ размером 256, то она и без счетчика висит
2133.jpg
С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
pixiemosty кнопочку на счетчике нажали для разрешения передачи? есть там у него фокус с каким-то параметром, который управляется кнопкой либо разрешает передачу либо запрещает.
Я извиняюсь, заработался тут)
Получилось получить ответ от счетчика!
Два момента осталось:
1. Расчет контрольной суммы, который реализуется немного другим способом, как я понимаю.
2. Во время опроса счетчика, на нем висит ошибка Error 05.
Безадресный.png
п.с. нажимаю кнопку разрешения эту, она как то не влияет на опрос его, все равно опрос идет)
Вот ссылка на проект, если что: https://disk.yandex.ru/d/wc2VmdPabExuHA
Последний раз редактировалось pixiemosty; 17.05.2021 в 17:27.
pixiemosty ну мне проект не поможет, некуда загружать. По CRC писал, могу дать код на C#, переделать в ST думаю не особая проблема погуглив.
Вот код расчета CRC для Энергомеры на C#
Код:public static string CalcCS(string s) { byte[] bytes = Encoding.Default.GetBytes(s); byte num = 0; for (int i = 1; i < (int)bytes.Length; i++) { num = (byte)(num + bytes[i]); } bytes[0] = (byte)(num & 127); return Encoding.Default.GetString(bytes, 0, 1); }
pixiemosty а почему вы решили, что у счетчика адрес 01 ? у них адрес часть серийного номера по умолчанию. Почитайте документацию на счетчик
Весь день промучился с попыткой отправить запрос на счетчик.
Никакой запрос не хочет отвечать, кроме самого первого /?! CR LF.
Пытаюсь следующим отправить ACK 0 5 (0 и 1) CR LF, но ответа нет.
Что я делаю не так? Почему на следующий запрос нет ответа?
Если есть возможность посмотреть проект, гляньте пожалуйста.
https://disk.yandex.ru/d/Ckbw_W07ZJhkxg
111.png
222.png
Пробую реализовать опрос по этому логу, попутно читая мэк 61107.
Отправка (5): /?!<0D><0A> // безадресный запрос
Приём (16): /EKT5CE102Mv01<0D><0A> // ответ счетчика
Отправка (6): <06>051<0D><0A> // запрос на чтение Режим С протокола МЭК61107
Приём (17): <01>P0<02>(145605366)<03>* // Ответ, что счетчик готов
Отправка (14): <01>P1<02>(777777)<03>! // Отправка пароля счетчика по умолчанию
Приём (1): <06> // подтверждающий ответ
п.с. Избавился от ошибки Err5 при запросе.
п.с.с. на счёт адресного запроса, по документации адрес это последние 4 цифры серийника, пытаюсь достучаться до счетчика с адресом /?1829! CR LF, где 1829 последние 4 цифры, пока безрезультатно
Последний раз редактировалось pixiemosty; 19.05.2021 в 01:15.
Получилось, все таки адрес там не 4х значный.