01-06-2023 04:31 AM
Nach längerer DIAdem-Abstinenz, versuchte ich mich an einem DataPlugIn, um die CSV-Dateien des "dnt RoomLogg Pro" einzulesen.
Bis auf die Interpretation der Werte bei Sensorausfall als Novalue hat das auch geklappt.
Abhängig vom Messkanal (Temperatur, Luftfeuchte, ...) ist die Zeichenfolge für Novalue entweder "---.-" oder "--".
Mein Versuch, die Novalue-Zeichenkette im PlugIn mit der File-Formatter-Eigenschaft "NoValueSign" (abhängig vom einzulesenden Kanal) umzuschalten, schlug fehl:
Sub ReadStore(oFile)
'Tell the file how the string data is formed.
oFile.Formatter.Delimiters = ","
oFile.Formatter.DecimalPoint = "."
oFile.Formatter.TimeFormat = "YYYY/MM/DD hh:mm"
oFile.Formatter.LineFeeds = vbNewLine
dim sRow : sRow = oFile.GetNextLine
if inStr(sRow, "HeatIndex(C)") <= 0 then RaiseError("Dieses Dateiformat wird nicht unterstützt.")
'Create a file accessor
Dim oBlock, oDirectAccessChn, saChnName, saChnUnit, iLoop, iMaxChnCount
Set oBlock = oFile.GetStringBlock()
call GetChnNameAndUnit(sRow, saChnName, saChnUnit, iMaxChnCount)
'Provide the data to USI
Root.Properties.Add "datetime", Now
Dim oGroup : Set oGroup = Root.ChannelGroups.Add(oFile.Info.FileName)
Set oDirectAccessChn = oBlock.Channels.Add(saChnName(0), eTime)
call oDirectAccessChn.Properties.Add("Unit_String", saChnUnit(0))
oGroup.Channels.AddDirectAccessChannel(oDirectAccessChn)
for iLoop = 1 to iMaxChnCount
oFile.Formatter.NoValueSign = "---.-"
if iLoop = 2 then oFile.Formatter.NoValueSign = "--"
Set oDirectAccessChn = oBlock.Channels.Add(saChnName(iLoop), eR64)
call oDirectAccessChn.Properties.Add("Unit_String", saChnUnit(iLoop))
oGroup.Channels.AddDirectAccessChannel(oDirectAccessChn)
next
End Sub
Wie kann eine Berücksichtigung mehrerer NoValue-Strings oder eine Umschaltung realisiert werden?
Viele Grüße in die DIAdem-Welt
Martin
Solved! Go to Solution.
01-06-2023 07:13 AM
Hallo Martin,
es ist möglich, dass ein DataPlugin diese Flexibilität nicht unterstützt. Wenn dem so ist, dann müssen alle Werte manuell eingelesen und überprüft werden. Wenn du mir einen Datensatz per Mail schickst (die Adresse ist dir ja bekannt), kann ich mir das genauer ansehen.
Gruß
Walter
01-12-2023 01:06 AM
Nach Prüfung haben wir festgestellt, dass ein DataPlugin diese Flexibilität nicht unterstützt. In solchen Fällen müssen die Werte einzeln importiert und geprüft werden.
Gruß
Walter
01-13-2023 03:13 AM
Vielen Dank für die Unterstützung!
Mit der Einzelprüfung der Werte sind vom Kanal abhängige Formate zwar flexibel möglich (NoValueStrings, Datum/Zeitformate, ...), allerdings leidet die Ladegeschwindigkeit stark darunter.
Falls technisch möglich, würde zukünftig das Setzen der Formatter-Parameter während des Ladevorgangs sehr helfen.
Gruß Martin