Skip to content

Historik i IMC

IMC kan lagra historik. T ex för utläsning via OPC UA eller FastAPI, eller för filexport. Här beskrivs hur detta kan aktiveras och ställas in.

Inställningar görs med verktyget CMT kopplat mot IMC. Verktyget kan laddas ner här

Princip

IMC läser från objekt i IMC, eller utrustning som IMC kopplar upp sig emot. Dessa objekt konfigureras i "Topologi".

Läsning utförs med schemalagda "Jobb". Jobben sparar data i "Datasänkor" (kallas ibland "fältsänkor").

OPC UA och FastAPI konfigureras till att läsa historisk data från en viss datasänka.

Datasänkor

En datasänka i IMC är en koppling till en lokal databas. Typen av databas som används heter SQLite.

Från fabrik kommer IMC med en fördefinierad datasänka som heter "localhost". Den går bra att använda, och används oftast för lite blandade ändamål.

För att optimera en viss funktion kan det vara bra att ha en egen datasänka för just den funktionen.

Skapa datasänka

  1. I CMT öppna datakällan Entiteter -> Datasänkor.

  2. Lägg till en "SQLite-fältsänka"

  3. Ge ett ID. T ex DataHour eller något annat betecknande.

  4. På fliken Innehåll, ställ in kopplingen till databas.

Databas-strängen kan se ut så här:

Data Source=c:\ProgramData\IMC_db\fsSQLiteHour.db;Version=3;

Kopiera gärna denna, men se till att varje fältsänka har olika filnamn (i detta fall "fsSQLiteHour.db").

Det är rekommenderat att ta bort gamla fält. då håller man nere filstorlek och säkerställer stabil funktion under lång tid. Klicka i "Ta bort gamnla fält", och ställ in antal månader att spara data.

Skapa jobb för att läsa historik

Historik på momentanvärden

Läs momentanvärden med jämna intervall och lägg i historik. Detta fungerar för alla objekt och protokoll.

I CMT, öppna datakällan Entiteter -> Jobb. Lägg till ett nytt "Avläsningsjobb". Ge jobbet ett förklarande namn.

På fliken innehåll behövs inga förändringar.

På fliken Noder, välj in alla de noder som ska läsas i jobbet (de som ska ha historik).

Dialog för schemaläggning av läsjobb

På fliken exekvering, ställ in schemaläggningen:

  • För timvärden t ex Typ av intervall timmar och intervall 1.
  • Ställ starta schemaläggning till samma dag om jobbet ska starta direkt.
  • Omförsök. Vi rekomenderar 0 omförsök. Värden kommer att läsas regelbundet, nästa läsning blir det omförsök vi behöver.

Utläsning av historik från utrustning

För protokollet SRDlink (och MBus mot KTC:s utrustning) stödjer IMC möjligheten att läsa ut lagrad historik ur DUC.

Sätt upp jobbet som ovan, men:

  • På fliken innehåll väljs "Readout Types" till "Historisk", eller "Historisk per Timme"
  • På Exekveringsfliken kan man då välja att köra jobbet mer sällan, då historiken ändå läses ut. T ex med interval om ett dygn.

Alternativt sätt att välja ut noder

Istället för att välja noder från topologi, kan man göra det från datakällan "Grupper". För detta finns en flik i inställningar för jobbet.

Då väljer man ut objekten genom att lägga dem i den valda gruppen.

Manuell grupp

Lägg till objekt från topologin i gruppen med dra-och-släpp, eller genom att lägga till "Nodreferens".

Automatisk grupp

IMC levereras med en automatisk grupp som heter "AllSrdLinkObjectsWithHistory". Innehållet i en sådan grupp genereras kontinuerligt av IMC genom den filterfunktion som gruppen har.

I det här fallet filtrerar den fram noder via SRDlink som har inställt fält för historikutläsning.

Dialog för att lägga till valda signaler för historikutläsning

Lägg till objekt i gruppen genom att gå till SRDlink-noden, redigera, och på fliken historik välja in de fält som ska loggas.

Konfigurera api till att använda rätt datasänka

I datakällan IMC -> Inställningar finns objektet Inställningar. Detta objekt har en flik för OPC UA, och en för FastAPI. Här kan man ställa in rätt datasänka.

Tricks

Jämna timmar

Om man bara låter jobbet rulla kommer värden att komma in på udda tider, då jobbet råkar köras. Man kan relativt enkelt se till att värden får en tidsstämpel på t ex en jämn timma. Man använder en så kallad Datafältprocessor som justerar värdets tidsstämpel.

Skapa fältprocessor

Öppna datakällan Entiteter -> Datafältprocessorer.

Lägg till en processor av typen "Jämna tidsintervall".

Innehållsflik för jämna tidsintervall

På fliken Innehåll, sätt intervallet en timma ("01:00:00").

Använd fältprocessorn i läsjobbet

Redigera avläsningsjobbet.

På fliken "Processorer", välj in den nya processorn (övre fältet: Processorer som ska användas för att bearbeta data innan de sparas).

Läs vad som finns i historiken

I CMT kan man för ett objekt läsa ut vilken data som finns sparat i de olika datasänkorna.

Högerklicka på ojektet.

Meny läs från datasänka

Rör pekaren över Läs Historia. Då valet av datasänka kommer upp, rör pekaren till önskad datasänka och vänsterklicka. Nu öppnas en dialog där man kan välja för vilket tidsintervall man vill se data. Ställ in och klicka OK.