DotNetSiemensPLCToolBoxLibrary - array lesen / schreiben

voni_1

Level-2
Beiträge
68
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Werte Kollegas - Werte Jochen :cool:

Arbeite mich immer weiter in die DotNetSiemensPLCToolBoxLibrary ein. Ich kann auch schon einige Erfolge verzeichnen :D
Bin gerade dabei mir ein paar Code-Snippets zu basteln damit ich später mal nicht mehr suchen muss.

"Normale" Schreib und Lesezugriffe von Bits,Ints,Reals,Strings usw. funktionieren schon recht gut.

Aktuell suche ich nach einer Lösung wie ich beispielsweise ein gesamtes Real-Array aus einem DB einlesen und in einem Float-Array in C# ablegen kann.
Und natürlich auch in die andere Richtung -> von C# in den DB schreiben.

Bitte höflich um Hilfe
Besten Dank!

Echt ein tolles Tool diese Library!!!
 
Also, du hast verschiedene möglichkeiten...

1.) Du übergibts eine Liste von PLCTag Objekten, und liest diese auf einmal,
2.) Du Konfigurierst das Objekt als array:

Code:
            var tag = new PLCTag();
            tag.TagDataType = TagDataType.Float;
            tag.ArraySize = 10;
            myConn.ReadValue(tag);

3.) Du nutzt einen Struct:

Code:
        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]        public struct TestStruct
        {
            public Int16 aa;
            public Int16 bb;
            public Int16 cc;
            public Int32 ee;
            public UInt16 ff;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)] 
            public string test;
        }

            PLCTag<TestStruct> tst = new PLCTag<TestStruct>() {DataBlockNumber = 97, ByteAddress = 0};
            myConn.ReadValue(tst);
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wow - du bist echt schnell mit den Antworten - DANKE!


Also, du hast verschiedene möglichkeiten...

2.) Du Konfigurierst das Objekt als array:

Code:
            var tag = new PLCTag();
            tag.TagDataType = TagDataType.Float;
            tag.ArraySize = 10;
            myConn.ReadValue(tag);

ist tag dann ein array auf das ich mit tag[0] tag[1] usw. zugreifen kann?
-> nö - habs grad probiert...

Frage: wie greif ich auf die arrayelemente zu?

lg,
 
Zuletzt bearbeitet:
Zurück
Oben