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

Seite 5 von 5 ErsteErste ... 345
Ergebnis 41 bis 47 von 47

Thema: Libnodave Version 0.8

  1. #41
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Zottel
    Zitat Zitat von seeba
    Zottel, das Problem ist einfach, dass jeder die Beispielprogramme liest, welche er versteht! Das ist bei mir VB.NET und etwas C#! Du solltest nicht erwarten, dass jeder alle Beispiele lesen will und kann!
    Nein, da hast du wohl recht, aber ich habe auch schon eine Menge Bibliotheken und Sachen von anderen Leuten benutzt und meiner Meinung nach war und ist das meiste davon zwar vielleicht von mehr Dokumentation begleitet, aber im Programmtext weitaus schlechter kommentiert.
    Wenn ich mehr Dokumentation schreibe, bekomme ich das Problem, die Dokumentation auf dem Stand des Programmcodes zu halten. Doppelte Arbeit

    Trotzdem sind mit jedem release neue Readmes und FAQs dabei.

    Das Programm testMPI.cs in Dot.Net/CS enthält die Benchmarks auch. Daß sie nun ausgerechnet im VB.net-Beispiel nicht drin sind, liegt daran daß der VB-Compiler von MONO (freier Dot.Net-Nachbau) noch ziemlich unfertig ist und mit längeren Programmen gar nicht klar kommt. Und ich will keine Programme verteilen, die ich selbst nicht ausprobieren kann.

    Was mich ein bißchen nervt, ist daß kaum etwas zurückkomt, was die Entwicklung von Libnodave voranbringt (es gibt einige wenige rühmliche Ausnahmen).
    Andererseits erhalte ich häufig Anfragen (ich meine jetzt nicht deine), wo ich denke, ich muß das ABC des Programmierens erklären. Jemand auf dem Level vieler Fragesteller käme sicher auch mit keinem kommerziellen Produkt zurecht.
    Dann geht mir durch den Kopf, daß so einer sowas wohl auch nicht kaufen würde, weil ihm das durchaus klar ist. Aber weil Libnodave nichts kostet, lädt es Hans und Franz zum Probieren runter und fragt dann, wie sein Compiler funktioniert oder so was.
    Ich denke auf diesem Level befinde ich mich nicht mehr. Aber du hast schon recht. Ich geb dir gerne ein Feedback, sobald ich alle Funktionen ausnutze. Deine C# Beispiele kannst du in #Develop einfach nach VB.NET konvertieren. Hab es gerade mal mit dem testMPI gemacht und es funktioniert ohne Nacharbeiten. Was mir noch fehlt (ich kann's leider echt nicht finden), wäre Start/Stop auslesen (nicht schalten). hast du dafür eine Funktion vorgesehen?

    Gruß Sebastian

  2. #42
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von seeba
    Deine C# Beispiele kannst du in #Develop
    Ich habe kein #Develop. Ich möchte mit auch nicht 20 verschiedenene IDEs runterladen, um dann von Nutzern zu hören, das wieder 10 von Ihnen nicht mehr up to date sind.
    Ich will auch nicht diese 20 IDEs lernen oder sie auch nur anschmeißen, bevor ich ein neues release rausgebe,nur um zu sehen, ob noch alles geht. Ich muß noch einen Standard-SPS-Inhalt haben und ein paar Skripte, die Anpassungen für PERL automatisieren, dann kann ich das Script buildall so ausbauen, daß es alle verteilten Programme baut und TESTET.
    Darum sind lauter einfache Batch-files dabei. Die sollten auch in 10 Jahren noch funktionieren bzw. sollte jeder die Anpassungen vornehmen können.
    Zitat Zitat von seeba
    ...einfach nach VB.NET konvertieren. Hab es gerade mal mit dem testMPI gemacht und es funktioniert ohne Nacharbeiten.
    Wunderbar. Jetzt könnte ich sagen, gib mir das Ergebnis, ich veröffentliche es für andere VB.Net user. Aber dann kann ich es nicht selbst anpassen oder erweitern. Aber ich werde es in ein nächstes README schreiben, daß das geht.
    Zitat Zitat von seeba
    Was mir noch fehlt (ich kann's leider echt nicht finden), wäre Start/Stop auslesen (nicht schalten). hast du dafür eine Funktion vorgesehen?
    Ja, daveReadSZL für die 300/400. Liest die System-Zustandslisten. Welche was enthält, kannst du der Siemens-Doku entnehmen. Soweit ich's im Kopf habe, hat SZL 25 (hex19) den Zustand aller LEDs.
    Bei der 200 steht es irgendwo in den Systemdaten.

  3. #43
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Das mit den Bits bring ich leider immernoch nicht zum laufen. Könntest du mir nochmal sagen, wo es ein Beispiel gibt? Oder ein kurzes schreiben, wie z.B. DB50 DBX0.0 - 0.7 gelesen werden können? Wäre dir sehr dankbar.

    Gruß Sebastian

  4. #44
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Zottel, hat sich erledigt man sollte vllt. irgendwo vermerken, dass man bei readBits die Addresse so übergeben muss (was ich nicht wusste): ( Byte * 8 ) + Bit

    Gruß Sebastian

  5. #45
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von seeba
    Zottel, hat sich erledigt man sollte vllt. irgendwo vermerken, dass man bei readBits die Addresse so übergeben muss (was ich nicht wusste): ( Byte * 8 ) + Bit
    Gruß Sebastian
    Ich denkes, es steht irgendwo. Wo weiß ich gerade nicht. Die Testprogramme enthalten auch Beispiele (ob in C# , müßte ich nachschauen).
    Etwas anderes ist wichtiger:
    daveReadBits liest immer nur ein einziges Bit. Dafür sendet es eine ganze PDU mit allem Overhead und Wartezeit. Es ist eine extrem schlechte Wahl für eine SCADA-Anwendung. daveWriteBits hätte ncoh eine gewisse Daseinsberechtigung, da es die einzige Möglichkeit bietet ein Bit zu verändern ohne andere Bits im gleichen Byte zu beeinflussen.
    Eine gute SCADA-Anwendung müßte die Anzahl der PDUs minimieren, um möglichst hohe Datenraten zu erreichen. Dazu müßte sie die gesamte Variablen- (Tag-) Liste zunächst mal durchgehen. Nehmen wir mal an, wir haben:
    MW0
    MD200
    Dann liest man am besten alle 204 Byte ab MW0 und sucht die gewünschten Ergebnisse aus dem Puffer.

    MW0
    MD20
    DB1.DBW4
    Man kombiniert am besten das Lesen der 24 Byte ab MW0 und das Lesen von DB1
    in einem readRequest für mehrere Variablen.

    MW0
    MD200
    DB1.DBW4
    Ob das noch mit einem readRequest zu erledigen ist, weiß ich nicht. Probieren oder ausrechnen.

  6. #46
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Zitat Zitat von Zottel
    Zitat Zitat von seeba
    Zottel, hat sich erledigt man sollte vllt. irgendwo vermerken, dass man bei readBits die Addresse so übergeben muss (was ich nicht wusste): ( Byte * 8 ) + Bit
    Gruß Sebastian
    Ich denkes, es steht irgendwo. Wo weiß ich gerade nicht. Die Testprogramme enthalten auch Beispiele (ob in C# , müßte ich nachschauen).
    Etwas anderes ist wichtiger:
    daveReadBits liest immer nur ein einziges Bit. Dafür sendet es eine ganze PDU mit allem Overhead und Wartezeit. Es ist eine extrem schlechte Wahl für eine SCADA-Anwendung. daveWriteBits hätte ncoh eine gewisse Daseinsberechtigung, da es die einzige Möglichkeit bietet ein Bit zu verändern ohne andere Bits im gleichen Byte zu beeinflussen.
    Eine gute SCADA-Anwendung müßte die Anzahl der PDUs minimieren, um möglichst hohe Datenraten zu erreichen. Dazu müßte sie die gesamte Variablen- (Tag-) Liste zunächst mal durchgehen. Nehmen wir mal an, wir haben:
    MW0
    MD200
    Dann liest man am besten alle 204 Byte ab MW0 und sucht die gewünschten Ergebnisse aus dem Puffer.

    MW0
    MD20
    DB1.DBW4
    Man kombiniert am besten das Lesen der 24 Byte ab MW0 und das Lesen von DB1
    in einem readRequest für mehrere Variablen.

    MW0
    MD200
    DB1.DBW4
    Ob das noch mit einem readRequest zu erledigen ist, weiß ich nicht. Probieren oder ausrechnen.
    So hier mein Feedback: Ich habe MPI, ISO und S7online deiner lib integriert und es hat alles sehr gut geklappt. Insgesamt sehr logisch aufgebaut und mit wenigen Änderungen auf die jeweils anderen Protokolle anpassbar! Die Idee mit dem Bündeln hatte ich auch schon durchdacht, allerdings werde ich mich damit erst beschäftigen, wenn ein gewisses Interesse daran besteht, denn es ist schon ein sehr großer Aufwand. Für Ethernet ist es so schnell genug und bei MPI halt etwas langsamer. Außer meine Kleinigkeiten (vllt. auch überlesen usw.) die ich noch von dir wissen wollte habe ich alles sehr schnell verstanden und aus dem Quellcode und den Kommentarzeilen lesen können. Vielen Dank!

    Was natürlich noch sehr toll wäre: Wenn man alle "Items" zu einer Liste hinzufügen kann und diese dann in einem Paket ausgeführt wird ohne diese vielen PDUs.

    Gruß Sebastian

  7. #47
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von seeba
    Was natürlich noch sehr toll wäre: Wenn man alle "Items" zu einer Liste hinzufügen kann und diese dann in einem Paket ausgeführt wird ohne diese vielen PDUs.

    Gruß Sebastian
    in C#:

    libnodave.PDU p=davePrepareReadrequest();
    p.addVarToReadRequest(daveFlags,0,0,10);
    ...bis zu 20 Variablen, die Bgrenzung ist S7-spezifisch...
    p.addVarToReadRequest(daveDB,1,20,4);
    res=dc.daveExecReadRequest(p, resultSet);

    erst die letzte Zeile löst die Kommunikation mit der CPU aus und holt bis zu 20 verschiedene Dinge in einem Rutsch.

Ähnliche Themen

  1. LibNoDave aktuelle Version "hängt"
    Von Lazarus™ im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 24.02.2011, 22:58
  2. Neue Version meines LibNoDave Datenbank Protokollers...
    Von Jochen Kühner im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.03.2009, 13:38
  3. Neues libnodave Version (woher?)
    Von BorisDieKlinge80 im Forum Hochsprachen - OPC
    Antworten: 79
    Letzter Beitrag: 02.02.2009, 14:48
  4. PCS7 Version 7.0 und CPU 414-3 Version 4.0/4.1
    Von tobias1036 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 23.09.2008, 17:55
  5. Libnodave Version 0.8.4.4
    Von Zottel im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 08.02.2008, 16:55

Lesezeichen

Berechtigungen

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