Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Allgemein Toolbox Library Kuehner.

  1. #1
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    geht es nur mir so oder ist es auch bei anderen der Fall. Ich finde diese Bibliothek und das Download-Package total unuebersichtlich. Man sieht den Wald vor lauter Baeumen nicht.

    Und was soll dieser merkwuerdige Configurations-Editor. Der versteckt die Configuration vor mir. Ich will aber nicht manuell konfigurieren, sondern aus dem Programm heraus!

    Wie kann ich denn ISO over TCP einstellen?


    Code:
        myConn.Configuration.CpuIP = strDevice.stIPAddress
                myConn.Configuration.CpuRack = 0
                myConn.Configuration.CpuSlot = 2
                myConn.Configuration.Port = 102
                myConn.Configuration.TimeoutIPConnect = 5000000
                myConn.Configuration.PLCConnectionType =
                myConn.Connect()
    Bei Libnodave war alles schoen einfach und uebersichtlich. Nun habe ich mich entschieden mal diese Toolbox-Lib auszuprobieren, da ich mit Libnodave und Multi-Threading Probleme habe. Aber irgendwie ist das sehr unuebersichtlich gestaltet.

    Wo sehe ich denn mal ein Beispiel wie man die Connection richtig konfiguriert?
    Geändert von Burkhard (22.09.2015 um 04:21 Uhr)
    Zitieren Zitieren Allgemein Toolbox Library Kuehner.  

  2. #2
    Registriert seit
    06.04.2013
    Beiträge
    208
    Danke
    10
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Ich würde sagen über:

    Code:
    myConn.Configuration.ConnectionType = (int)LibNodaveConnectionTypes.ISO_over_TCP;
    
    
    
    public enum LibNodaveConnectionTypes
        {
            // ReSharper disable InconsistentNaming
            MPI_über_Serial_Adapter = 1,
            MPI_über_Serial_Adapter_Andrews_Version_without_STX = 2,
            MPI_über_Serial_Adapter_Step_7_Version = 3,
            MPI_über_Serial_Adapter_Adrews_Version_with_STX = 4,
            PPI_über_Serial_Adapter = 10,
            AS_511 = 20,
            Use_Step7_DLL = 50,
            ISO_over_TCP = 122,
            ISO_over_TCP_CP_243 = 123,
            Netlink_lite = 223,
            Netlink_lite_PPI = 224,
            Netlink_Pro = 230,
            // ReSharper restore InconsistentNaming
        }

  3. #3
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    magicview.png
    Kann man den Enum-Type nicht direkt vorschlagen lassen wie bei diesem DataGridView? Unter DotNetSiemensPLCToolBoxLibrary.DataTypes findet man naemlich nichts aber statt dessen dann unter Communication. Und unter den vielen Beispielen ist alles was ich gefunden habe mit dem manuellen Konfigurator konfiguriert...

    Die Wrapper-Funktionen sind schon sehr gut, und die Handhabbarkeit ist viel besser als bei Libnodave. Und auch Multithreading-faehig ist die Toolbox, das war bei der libnodave.net nicht der Fall.

    Trotz der Unuebersichtlichkeit der Beispiele, gibt es von mir einen Daumen hoch fuer diese Bibliothek. Das zusammenstellen der Tagliste und das Lesen in eine Rutsch ist einfach genial!!
    Geändert von Burkhard (22.09.2015 um 17:21 Uhr)

  4. #4
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 420 Danke für 337 Beiträge

    Standard

    Zitat Zitat von Burkhard Beitrag anzeigen
    magicview.png
    Kann man den Enum-Type nicht direkt vorschlagen lassen wie bei diesem DataGridView? Unter DotNetSiemensPLCToolBoxLibrary.DataTypes findet man naemlich nichts aber statt dessen dann unter Communication. Und unter den vielen Beispielen ist alles was ich gefunden habe mit dem manuellen Konfigurator konfiguriert...

    Die Wrapper-Funktionen sind schon sehr gut, und die Handhabbarkeit ist viel besser als bei Libnodave. Und auch Multithreading-faehig ist die Toolbox, das war bei der libnodave.net nicht der Fall.

    Trotz der Unuebersichtlichkeit der Beispiele, gibt es von mir einen Daumen hoch fuer diese Bibliothek. Das zusammenstellen der Tagliste und das Lesen in eine Rutsch ist einfach genial!!

    Jaaaaaaaa..... die Bibliothek ist halt im laufe der Jahre gewachsen. Als ich damit angefangen habe, war das auch so ziemlich mein erster Code in CSharp! Und die zeit um das in eine schönere Struktur zu packen hab ich im Moment einfach nicht! Aber du hast recht, das gehört in einen Enum! Mein hauptsächliches denken war damals, das man einfach den eingebauten Config Dialog nimmt, so muss nicht jeder selber einen bauen...

    Vlt finde Ich gegen Ende des Jahres mal Zeit dies zu verbessern...

    Doku gibt's leider gar keine, komm ich einfach nicht dazu, dafür helf ich gern bei Fragen aus!

    Problem ist im Moment auch, mach fast gar nichts mehr mit S7, so mach Ich da nicht wirklich viel!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #5
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Daumen hoch

    Hallo Jochen! Schwamm drueber. Nach der obligatorischen Einstiegsfrage und zwei Tagen Beschaeftigungszeit mit der Beispiel-Solution, hab ich jetzt den Dreh Raus...

    Und das SPS-Forum ist wirklch genial... Deutschland - Land der Ideen, sage ich da nur!! An was arbeitest du den gerade?

    Sowas haben die Chinesen nicht!

    Hat jemand die Lib schon mal mit LabView eingesetzt?
    Geändert von Burkhard (23.09.2015 um 00:45 Uhr)

  6. #6
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Jochen,

    wieviele Daten kann ich mit der TagList lesen? Ich bekomme die Fehlermeldung "Index was outside the bounds of the array"

    Code:
              myConn.ReadValues(lstPlcTag)
    Gibt es da eine Beschraenkung?

    Das ist meine Tag Liste:

    DB500.DBW2 INT1 INT
    DB500.DBW4 INT2 INT
    DB500.DBW6 INT3 INT
    DB500.DBW8 INT4 INT
    DB500.DBW10 INT5 INT
    DB500.DBW12 INT6 INT
    DB500.DBW14 INT7 INT
    DB500.DBW16 INT8 INT
    DB500.DBW18 STRING1 STRING
    DB500.DBW274 STRING2 STRING
    DB500.DBW530 STRING3 STRING
    DB500.DBW786 STRING4 STRING
    DB500.DBW1042 DWORD1 DWORD
    DB500.DBW1046 DWORD2 DWORD
    DB500.DBW1050 DWORD3 DWORD
    DB500.DBW1054 DWORD4 DWORD
    DB500.DBW1058 REAL1 REAL
    DB500.DBW1062 REAL2 REAL
    DB500.DBW1066 REAL3 REAL
    DB500.DBW1070 REAL4 REAL

  7. #7
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich habe mal die Strings rausgenommen, da diese ja sehr gross sind (ein String 255 Byte) und eine PDU ja schon 240 Byte umfasst. Nun geht es.

    Daher meine Frage: Wie kann ich mit einer Tag-Liste eine grosse Anzahl von Tags lesen. So gross ist die Anzahl ja eigentlich gar nicht. Aber eben ueber tausend Byte pro SPS. Insgesamt habe ich 14 SPSen und fuer jede SPS einen eigenen Lese-Thread.

    Vier Strings a 255 byte + 4DWORD und 4 REAL und 8 INT = 1074 Byte, die ich mit einmal lesen will. Ist das moeglich? Warum geht es bei mir nicht?
    Geändert von Burkhard (23.09.2015 um 07:30 Uhr)

  8. #8
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 420 Danke für 337 Beiträge

    Standard

    Normalerweise sollte mein Code die tags so anordnen und aufteilen das die gelesen werden. Auf mehrere PDU's muß es natürlich aufgeteilt werden, aber das sollte trotzdem funktionieren. Ist auf jeden Fall ein Bug!!! Ich schaus mir an!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  9. #9
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo lieber Jochen. Das waere toll, wenn der Code so funktionieren wuerde wie von dir angesprochen und die Aufteilung in libnodave Read-Requests und PDU's intern vornehmen wuerde. Ich habe noch einen Test gemacht und einen String gelesen (255 Byte), das geht. Wenn ich dann noch einen weiteren String in die Tag-Liste setze, kommt wieder die Meldung, Index is outside the Bounds of an array.

    Capture.JPG
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Burkhard (23.09.2015 um 09:41 Uhr)

  10. #10
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 420 Danke für 337 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kann das Problem nicht nachvollziehen...

    Folgender Code läuft bei mir:

    Code:
    var tags = new[]
                {
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 2, TagDataType = TagDataType.Int },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 4, TagDataType = TagDataType.Int },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 6, TagDataType = TagDataType.Int },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 8, TagDataType = TagDataType.Int },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 10, TagDataType = TagDataType.Int },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 12, TagDataType = TagDataType.Int },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 14, TagDataType = TagDataType.Int },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 16, TagDataType = TagDataType.Int },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 18, TagDataType = TagDataType.String, ArraySize = 255 },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 274, TagDataType = TagDataType.String, ArraySize = 255 },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 530, TagDataType = TagDataType.String, ArraySize = 255 },                
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 768, TagDataType = TagDataType.String, ArraySize = 255 },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 1042, TagDataType = TagDataType.Dword },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 1046, TagDataType = TagDataType.Dword },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 1050, TagDataType = TagDataType.Dword },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 1054, TagDataType = TagDataType.Dword },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 1058, TagDataType = TagDataType.Float },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 1062, TagDataType = TagDataType.Float },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 1066, TagDataType = TagDataType.Float },
                    new PLCTag() { DataBlockNumber = 5550, ByteAddress = 1070, TagDataType = TagDataType.Float },
                };
     
     
     
                myConn = new PLCConnection("SimpleCSharpDemonstrationConnection");
                myConn.Connect();
     
                myConn.ReadValues(tags);
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  11. Folgender Benutzer sagt Danke zu Jochen Kühner für den nützlichen Beitrag:

    Burkhard (23.09.2015)

Ähnliche Themen

  1. Excel OPC UA Client/Toolbox bekannt?
    Von Opezeh im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 26.10.2011, 20:51
  2. WPF ToolBox for Siemens PLCs
    Von Jochen Kühner im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 14.01.2011, 12:25
  3. Fehlermeldung von S7 Toolbox (7uvtstb)
    Von Henri-1 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 27.04.2009, 23:08
  4. Projektierungstool/ Toolbox für FM-NCU570
    Von CNC840D im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 23.01.2008, 20:51
  5. Toolbox Regelungstechnik Möller PS4
    Von myozze im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 30.10.2004, 13:07

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •