Одним глазком.
Pulser_stc.cmd ни разу не указатель. Как следствие за каким то каждый цикл бестолково перекладывается 250+ байт. Дальше не смотрел.
Одним глазком.
Pulser_stc.cmd ни разу не указатель. Как следствие за каким то каждый цикл бестолково перекладывается 250+ байт. Дальше не смотрел.
Относительно старый, покупался лет восемь назад. Пароля по-умолчанию не было.
Имхо, если не читать журнал показаний, дата на устройстве не особо важна. Де-факто у меня в проекте она используется только для контроля в HA а-ля "когда последний раз была связь с устройством", т.к. опрос производится не часто.
Очень странно, у меня счётчик, где есть переменные на магнит, и ещё что-то. Которые можно сбросить только установкой часов с паролем. Который каким-то алгоритмом вычисляется из серийного номера.
Выпуск до 2016 или даже до 2015 года.
Да, верно. Если синхронизация не нужна - можно отрубать этой же переменной.
NTP, это важно ) по поводу адреса - я использую свой внутренний сервер, в той же сети что и ПЛК. однако, если на ПЛК настроена нормально маршрутизация (указан корректно гейтвей) - все работает и с внешними адресами.
Сейчас не найду бумажку с паспортом, но там явно было про отсутствие пароля. А в инструкции на сайте сказано "если забыли пароль - идите с серийником в поддержку за мастер-паролем".
А вот с чем были проблемы - так это с непропаем около мк преобразования логических уровней после трансмиттера рс485. Что приводило к тому, что часть битов отъезжало и CRC пакета не сходился. Собственно, отсюда и код, запиленный на отладку в первую очередь. Неделю с осциллографом шарился, пока нашел.
Обновил библиотеку до версии 0.2 - оптимизировал работу с буфером команд/результата и проверил на своем проекте.
Для интеграции по RS485 счетчиков Пульсар М существует готовая библиотека для Codesys 3.5. А вот для Codesys 2.3 не нашел, ниже моя реализация. Может кому пригодится.
По мотивам 1, 2, 3, 4 и ряда примеров с форума.
Умеет из коробки:
искать адрес устройства (один раз - при старте POU по IN),
считывать текущие показания первого счетчика
считывать температуру
считывать напряжение встроенной батареи
синхронизировать время на счетчике с системным временем ПЛК (один раз - при старте POU по IN)
проверять формат/crc/иные ошибки фрейма данных
проводить опрос с заданным периодом
Могу рекомендовать теплосчетчик Пульсар от теплоком.
Рекомендуется с синхронизацей времени по NTP.
Пример живого POU из работающего проекта (Отладочное логгирование и FB NTP в код ниже не входят):
Нажмите на изображение для увеличения. Название: PULSAR_M_FB.png Просмотров: 32 Размер: 205.3 Кб ID: 81388
Пример прокидывания в Modbus, обратите внимание на множители в комментариях к регистрам.
Нажмите на изображение для увеличения. Название: Pulsar-Modbus.png Просмотров: 23 Размер: 122.2 Кб ID: 81386
Используемые библиотеки: Oscat Basic, SysComLib, ComService, SysLibTime, SysLibMem.
Немного про адрес устройства
речь о счетчике Пульсар?