Code:
Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("Channel1").Properties("name").Value = "File"
Vals = Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("Channel").Properties("length").Value
Data.Root.ChannelGroups(1).Channels("Unit").Properties("length").Value = Data.Root.ChannelGroups(1).Channels("Unit").Properties("length").Value + Vals
For i = 1 to Vals Step 1 'Daten im Ch "File" von "File/Ch" auf "File" kürzen und Einheiten in Gruppe 1 schreiben
ChT(i, Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("File")) = _
Left(ChT(i, Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("File")), _
inStr(ChT(i, Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("File")), "/") -1) 'Zeile, Ch
ChT(i, Data.Root.ChannelGroups(1).Channels("Unit")) = _
Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels(i).Properties("unit_string").Value
Next 'For i = 1 to Vals Step 1 'Daten im Ch "File" von "File/Ch" auf "File" kürzen und Einheiten in Gruppe 1 schreiben
Hallo mal wieder alle zusammen,
ich habe obiges Script auf 2 DIAdemMaschinen laufen lassen. Ging beim 1. Mal super aber bei der 2. Maschine leider garnicht und ich wüsste gern weshalb.
Den Befehl:
ChT(i, Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("File")) = _
Left(ChT(i, Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("File")), _
inStr(ChT(i, Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("File")), "/") -1) 'Zeile, Ch
Will DIAdem nicht ausführen weil es im Befehl ChT(1,0) ein unzulässigen Textoperant erkennt.
Auf Maschine 1 läuft es weil DIAdem den Teil
"Data.Root.ChannelGroups(Data.Root.ChannelGroups.Count).Channels("File")" als Data - Objekt erkennt und nicht als String.
Wieso weshalb warum? :-) Kann ich da was einstellen? Habe nix gefunden. Auch zum erzwungenen Deklarieren von Variablen mit festem Datentyp find i nix.
Und als 2. würde mich nebenbei interessieren zum ChT Befehl wieso der die Kanallänge nicht selbst hochzählt? In der Hilfe steht es so, aber das Programm läuft nicht ohne die Zeile 3
"Data.Root.ChannelGroups(1).Channels("Unit").Properties("length").Value = Data.Root.ChannelGroups(1).Channels("Unit").Properties("length").Value + Vals"
Das Programm zu ändern war kein großer Akt aber wenn ich ab und zu die Rechner wechsel hätte ich gern Scripte die ich nicht immer anpassen muss.
Vielen Dank schonmal fürs helfen!
VG STG