Статья удалена

Этот материал был удалён по просьбе автора.

2 комментария

Занимаемся на работе созданием более функциональной системы, чем просто АСКУЭ, с поддержкой более трёх десятков моделей счётчиков. Плюс ещё минимум сотня других устройств.
Когда-то запустили в работу целый зоопарк устройств, с ними работают целых три (три!) версии CRC: CRC16-Modbus, CRC16-Xmodem и CRC8. Так что выносить всё это в библиотеку — полезно и нужно.
Если вы разрабатали систему, к которой можно подключать несколько различных устройств — стоит предусмотреть очень и очень многое. Некоторые устройства объединили в локальную сеть по PLC или CAN-интерфейсу, и в этом случае одно-единственное устройство с RS485 будет служить роутером для всех остальных устройств в сети.
Правда это часто осложняется плохой документацией от производителей оборудования, или невозможностью эту документацию получить.

Счетчики учитывают любые интервалы времени. Просто пишут себе в память показания раз в полчаса. Если был «всплеск» на несколько секунд, но его хватило, чтобы счетчик «повернулся на один оборот», то счетчик запишет в следующую получасовку на 1 больше предыдущего значения. Если не хватило и было к примеру 0,7 от 1, то когда будет следующий такой «всплеск» эти 0,7 будут учтены.
Грубо говоря, в своей «оперативке» счетчик учитывает все (в пределах погрешности и чувствительности), а на флеш сбрасывает, когда накопит единичку. Важно не сколько времени махал ковшом, а сколько энергии сгенерил.