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

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

Thema: DotNetSiemensPLCToolBoxLibrary - "var list"

  1. #1
    Registriert seit
    12.09.2014
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hello,
    i 'm sorry but i can speak only English and Italian. I wrote here because this is the only place where i can find help.
    I used this library for simple tasks like connection and reading/writing simple data (like int, bit, byte) and complex data (like string and struct).
    Now i need the list of the variables used in the PLC. For example i need to know all the variables declared in DB1 and their values.
    Is it possible?
    Thank you
    Roberto
    Geändert von R3DLINE (16.09.2014 um 17:33 Uhr)
    Zitieren Zitieren DotNetSiemensPLCToolBoxLibrary - "var list"  

  2. #2
    R3DLINE ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2014
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    No one can help me?

  3. #3
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Maybe someone can help you, if the question is in English.


  4. #4
    R3DLINE ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2014
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    The question is in english, chrome translated it before i posted -.-'

  5. #5
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von R3DLINE Beitrag anzeigen
    The question is in english, chrome translated it before i posted -.-'
    Do you kidding me? I want to help you!

    Zitat Zitat von R3DLINE Beitrag anzeigen
    Ciao,
    i 'm dispiace ma posso solo parlare inglese e italiano. Ho scritto qui:. Perché questo è l'unico posto dove posso trovare aiuto
    ho usato questa biblioteca per compiti semplici come connessione e di lettura / scrittura di (stringhe, struct) dati semplici (int, bit, byte) e complessi.
    Ora ho bisogno una lista della variabile in uso nel controllore. Ad esempio, ho bisogno di sapere la variabile dichiarata in DB1 ed i loro valori.
    E 'possibile?
    Grazie
    Roberto
    http://webcache.googleusercontent.co...&ct=clnk&gl=de

  6. #6
    R3DLINE ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2014
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    You don't understand me...
    http://webcache.googleusercontent.co...&ct=clnk&gl=de
    this is the english question that i wrote translated in a sort of pseudo-italian language. Chrome translated my question before i pressed the publish button

  7. #7
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    You can read the DB from the PLC with the Lib.

    Maybe this Code Helps you...

    Code:
                myConn = newPLCConnection("SimpleCSharpDemonstrationConnection");
                myConn.Connect();
    
    
                var bytes = myConn.PLCGetBlockInMC7("DB1");
                var db = MC7Converter.GetAWLBlock(bytes, 0) as S7DataBlock;
                var plctagList = db.Structure.Children.Cast<S7DataRow>().Flatten(x => x.Children.Cast<S7DataRow>()).Select(x => x.PlcTag);
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  8. #8
    R3DLINE ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2014
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Thank you Jochen Kühner.

    I have this error with your code:
    System.Collections.Generic.IEnumerable<DotNetSiemensPLCToolBoxLibrary.DataTypes. Blocks.Step7V5.S7DataRow> don't contain a definition of Flatten

    And i have another question.. if i want to list also the variables used in OB1? i can use the same method?
    Thank you again

  9. #9
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    I don't understand what you mean with "if i want to list also the variables used in OB1? i can use the same method?"

    The Flatten is a ExtesionMethod defined in my Assembly, you must add a using to "
    DotNetSiemensPLCToolBoxLibrary.General"!

    And also maybe you need the newest DLL
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  10. #10
    R3DLINE ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2014
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Thank you for your hints, i updated the lib and added a using statement: the code compile.
    Now i have a problem at runtime.
    after the call to GetAWLBlock i get a warning (index out of range) in the Class DotNetSiemensPLCToolBoxLibrary.PLCs.S7_xxx.MC7.Parameter
    in the function GetVarTypeEN

    Code:
    case 0x11: //Struct
                        {
                            if (Arry) pos += 7;
                            Result = S7DataRowType.STRUCT;
                            var akPar = new S7DataRow(VarNamePrefix + VarCounter.ToString(), Result, myBlk) { StartValue = startVal };
                            currPar.Add(akPar);
                            VarCounter++;
                            max = interfaceBytes[pos + 2] - 1;
                            for (i = 0; i <= max; i++)
                            {
    
    
    
    
    
    
                                if ((interfaceBytes[pos + 3] == 0x11) || (interfaceBytes[pos + 3] == 0x10))   <-----HERE
    I'm not sure what's happening here, but... i tried with different DB and also with a DB without struct... but the code fails always here.
    Any suggestion?

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 07.05.2015, 08:25
  2. Antworten: 6
    Letzter Beitrag: 06.01.2013, 14:49
  3. "Index Pulse", "Home Switch" und "Position Limit Switch"
    Von senmeis im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 07.03.2011, 11:21
  4. Antworten: 0
    Letzter Beitrag: 18.03.2009, 14:20
  5. Antworten: 2
    Letzter Beitrag: 15.06.2006, 12:56

Lesezeichen

Berechtigungen

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