Събиране на показания от измервателни уреди - Меркурий 200-203
Имало едно време възникна задача - да се научите как да четете показанията от броячите на Меркурий 200-203-206.
Първо се оказа, че гишетата са златни, на сайта няма нищо повече, освен паспорти и примитивно описание. Това е разбираемо,NPK-Incotex взе за основа пакетаModbus RTU (премахна всичко логично и полезно от него - реши да използва фиксирани полета, без код за грешка и т.н.), разшири ID полето до 4 байта, останалото беше наречено "собствен протокол". Какво ви позволява да продавате (от един човек) конвертори от "собствения протокол" към нормалнияModbus.
Първо, конфигураторът беше изтеглен отвън:


Сглобих шал на STM32F107VC (CAN с USB беше желателно), 4-ти MAX485 за същия брой USART-UART портове, + DE / RE щифтове Написах структури, съжалявам за имената:
Следва описание на самия брояч:
за работа с USART DMA все още не е започнал да пише, всичко е в прекъсването:
Ето как се прави заявката:
И така пакетът е „пълнен“:
Ето как пакетът се изпраща до сървъра: