Dobrý den!
GetHistoryData funguje ve verzi 8.2.6 i na serverovém i na klientském (vzdálené napojení přes web) PmAlarmEvent. Je ovšem potřeba uvést ve filtračním řetězci všechny povinné části, aby mohlo hledání proběhnout. Toto jsem si i pro jistotu ověřil, že to funguje. Pokud funguje řetězec na serveru, bude fungovat i na klientu.
GetStateData na klientu skutečně nevyčte nová data, ale bere ty, co tam teď jsou. A data se občerstvují jenom při otevřené prohlížečce stavů alarmů. Aby byly při čtení vyčteny čerstvá data, musel bych udělat změny v implementaci. Zkusím se na to podívat, jestli to bude schůdné, tak to opravím.
Fungující příklad u mne, který čte stejná data ze 2 navzájem propojených PmAlarmEvent objektů:
- Code: Select all
dim a1, a2
a1 = Pm("/AlServer").GetHistoryData("Desc,TimeOn,TimeOff,TimeAck", "source:System;from:time(2013-01-30_00:00:00.000);timerange:1d;records:100;scanrecords:1000;")
a2 = Pm("/AlClient").GetHistoryData("Desc,TimeOn,TimeOff,TimeAck", "source:System;from:time(2013-01-30_00:00:00.000);timerange:1d;records:100;scanrecords:1000;")
Pm.FileCsvWrite "$path.app:alserver.csv", "filecols:all;appnames:Desc,TimeOn,TimeOff,TimeAck;", "colnameheader:yes;", a1
Pm.FileCsvWrite "$path.app:alclient.csv", "filecols:all;appnames:Desc,TimeOn,TimeOff,TimeAck;", "colnameheader:yes;", a2