Array auf PC bearbeiten

L.T.

Level-2
Beiträge
190
Reaktionspunkte
25
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte/soll/muss Daten die auf der Steuerung als Array abgelegt sind auf einem externen Rechner bearbeiten.
Das Array besteht aus Datensätzen die in einem Strukt definiert wurden. (Die Struktur sieht z.B so aus: ID_Nr, StringName, Int1, int2, Int3, Bool_1, Bool2)
Also habe ich ein eindimensionales Array mit z.B. 1200 Datensätzen dieser Struktur.
Wie bekomme ich diese Daten nun möglichst komfortabel für den Benutzer zum editieren auf einen PC (Excel,......) und wieder zurück?
Die Daten müssen nicht übertragen werden. Es kann also ruhig auch 30 Sekunden dauern bis die Daten gelesen/geschrieben wurden.

Danke für jeden Tipp!

Gruß L.T.
 
Für welchen Steuerungstyp brauchst du es.
Beckhoff ??? oder andere STeuerung.
Bei Beckhoff könnte ich dir helfen, da ich sowas schon gemacht habe.
Ich habe das in Delphi2007 über die ADS_Dienste realisiert und in eine Datenbank geschrieben.
Man (ich) könnte hier eine Oberfläche entwickeln, die diese Daten dann anzeigt und editierbar macht.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo cybertracepda,

nun schalte ich mich auch mal ein.

Ich versuche gerade krampfhaft Delphi 2007 zu lernen, um auf WAGO-Controller zuzugreifen.

Was ist ADS? Funktioniert das hier auch?

Wäre es möglich, von Dir mal ein Beispielprjekt zu erhalten?

Das wäre mir eine Riesenhilfe.
 
ADS (Automation Device Specification) ist der Software-seitige Background von Beckhoffs TwinCAT-Steuerungen.
Das System ist schon sehr mächtig, denn damit lässt sich fast jede PC-Software mit einem entsprechend programmierten Interface mit der Beckhoff-Welt verbinden
:TOOL:

("Grenzen gab's gestern" :ROFLMAO:)

Zur Frage von L.T.:
Wenn's nen TwinCAT-System ist, könnteste mit den Datei-Bausteinen aus der System Bibliothek die Daten in eine csv-Datei schreiben. Das im Excel importieren, bearbeiten, und wieder im TwinCAT mit einem gebastelten Algorithmus einlesen:
http://infosys.beckhoff.de/index.ph...ibsystem/html/tcplclibsys_fb_eof.htm&id=11659
Als zweites fällt mir noch das kostenpflichte Tool "XML Data Server" ein. Geht evtl. etwas leichter, wegen der Formatierung:
http://infosys.beckhoff.de/index.ph...tasrv/html/tcxmldatasrv_overview.htm&id=18372
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Antworten.

Da werde ich mich mal bei den beiden Links von Trinitaucher schlau machen und wenn ich da nicht weiter komm dann meld ich mich nochmal bei dir cybertracepda.

Gruß L.T.
 
Hallo L.T. !
Für Wago muss es auch eine Möglichkeit geben, auf die Variablen zuzugreifen.
Ich kenne da von CodeSys den PLC-Handler, der wahrscheinlich auch bei Wago funktioniert, dies ist ein Hochspracheninterface mit den verschiedensten Hochsprachen. Ist aber meines Wissens kostenpflichtig bei 3S zu beziehen.

Frage einmal bei Wago nach, was die empfehlen.
lg
Cybertracepda
 
Also ich hab mich jetzt mal aus Interesse an die ADS Geschichte mit VB.Net gewagt. (auch wenn ich von VB nicht wirklich Ahnung habe :eek: )
Hab von "TwinCat" aus dem Netz geladen, Installiert und das VB-Beispiel versucht abzuändern.
Integer, Real und Bool Variablen lesen und schreiben klappt schon.
Bei Strings bekomme ich das ganze nur in eine Richtung (von SPS nach VB.Net hin).
Die String Var ist auf Twincat Seite als String[50] deklariert.

Kann mir hier jemand helfen? (über den Code nicht wundern, wie gesagt das ist mein erster Kontakt mit VB.net)

So wie das ganze jetzt ist, funktioniert das ja nur für die Runtime die auf dem gleichen PC läuft. Wie müsste die Konfiguration des ADS aussehen damit ich auf eine HArdware-SPS komme?

Muss man eigentlich immer Twincat installiert haben oder reicht es später auf dem eigentlichen Rechner die "TwinCAT.Ads.DLL" in c:\Windows/System32 zu kopieren?

Danke für jeden Tipp!!

Gruß Lars
 

Anhänge

  • Deklaration.JPG
    Deklaration.JPG
    215,4 KB · Aufrufe: 17
  • Var_Schreiben.JPG
    Var_Schreiben.JPG
    58,1 KB · Aufrufe: 10
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
In jedem Fall muss der DataStream länger sein und dein Offset darf nicht immer bei 0 beginnen, sondern bei Offset+Länge der Variablen davor. DataStream-Länge ist der letzte Offset + Länge der letzten Variablen. So wird die Notification der Werte nicht richtig funktionieren, da der String die anderen überschreibt.

Das Schreiben von Strings geht auch über einen Stream. Lies mal in der Doku unter 'Lesen und Schreiben von String-Variablen'. Da gibt's auch ein VB-Bsp.

Für reine Schreibzugriffe kann man das Variablen-Handle übrigens auch lokal deklarieren, den Zugriff machen und mit DeleteVariableHandle wieder freigeben.

Wenn du mit VisualStudio ein Setup erstellst wird die Dll mit eingebunden und später korrekt installiert.;)
 
Zurück
Oben