1

Téma: Měření pulzů na vstupu

Používám S0 input na odchytávání signálu z exetrního zařízení, který je dost krátký, takže pouhým testováním vstupu v hlavním programu mi může občast utéct. Dá se v SDS nějak zjistit délka pulzu, který zařízení posílá? V systémové proměnné 1064 (pro input 1) mám pořád nulu, v proměnné 1096 nějaké číslo (time (in msec) since the last captured impulse), které přesně nevím, co znamená. Je to čas od sestupné hrany impusu po okamžik zprcování instrukce SDS_get_u32(1096)?
Abych to upřesnil, zařízení je u zákazníka a běží na něm ostrý provoz, takže žádné testy tam pouštět nelze, pouze si doplnit nějaké výpisy do echa. Vstupy S0 jsem nijak nenastavoval, používám vlastně jen čítač pulzů a porovnávám jeho hodnotu s hodnotou v předchozím průchodu hlavní smyčky programu.

2

Re: Měření pulzů na vstupu

Základní popis algoritmu v SDS, který zpracovává pulsy, je zde:
https://wiki.merenienergie.cz/subdom/wiki/index.php?title=S0_Algoritmus

SDS interně udržuje více proměnných (pro každý vstup), z nichž jsou zajímavé tyto: DPI, DMI, DBI

DMI lze číst pomocí get u32 z indexů 1064..1095  (time distance (in msec) between impulses)
DBI lze číst pomocí get u32 z indexů 1096..1127  (time (in msec) since the last captured impulse)
DPI tušim v indexech dostupná není, protože se používá jen interně pro řešení "zákmitů" a potvrzení minimální délky puslu na vstupu, ale pak pro pŕičtení vyhodnoceného  platného S0 impulsu už není potřeba (proto se ani do indexů DPI nikdy nedala).

Teoreticky by doplnění DPI mohlo mít význam, pro měření délky pulsu mohou být nějaké aplikace, kde by se to hodilo.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !