Allen Bradley Azyklische daten lesen und schreiben

Mcool

Level-2
Beiträge
37
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

da ich mich nun in eine CompactLogix einarbeite, bräuchte ich mal ein bischen Schwarmwissen.

ich bin schon mal soweit, dass ich mit meinem Gerät welches ich ansteuern möchte, rudimentär azyklisch Daten lesen und schreiben kann.
Wie schaffe ich es mir ein Array anzulegen und die Daten die auf unterschiedlichen instancen unterschiedliche Längen haben und natürlich auch aus unterschiedlichen datentypen bestehen, abzulegen und das ganze dann zu sortieren.
oder vieleicht einen art DB WIe bei der Siemens, um dann mit hilfe eines Zeigers die Daten in das richtige datenfach abzulegen.

Ich hoffe ich habe es einigermasen verständlich beschrieben was ich suche und wobei ich Hilfe brauche.
andernfalls fragt gerne nach ich beantworte gerne jede frage die zur Lösung meines Problems beiträgt.

ich verwende die MSG funktion mit
Message Type: CIP Generic
Service Type : Get Attribute Single
Class: A2

Danke im Vorraus

Marco
 
Hallo Marco

erstmal drei fragen. Was meinst du mit deinem Gerät? Warum greifst du azyklisch und nicht zyklisch auf die daten zu? Was ist ein DB WIe?

einen Array legst du an indem du an den Datentyp zwei eckige Klammern machtst.
Beispiel. DINT[50] => ein array mit dem index 0 bis 49
Das ganze geht auch mit UDTs.
Du kannst die arrays nicht dynamisch deklarieren. Jedoch ist es möglich die größe eines arrays über den SizeOf Befehl aufzulesen.
Natürlich kannst du auf das Element eines Arrays per index zugreifen. Tag[index]

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo hecko,

danke erst mal für die Antwort.
Erst mal zu Deinen Fragen:

1. Was meinst du mit deinem Gerät?
eine Neuentwicklung auf der Basis von Ethernet/IP leider kann ich dir hierzu mehr nicht sagen.

2. Warum greifst du azyklisch und nicht zyklisch auf die daten zu?
Zyklisch funktiuniert schon. Ich muß aber auch den azyklischen Datenaustausch testen, da ich in unserer Abteilun sozusagen "Den Kunden" simuliere und das "Gerät" (Device) auf seine Funktiunalität am Bus testen soll. (device zur Zertifizierungsreife bringen)

3. Was ist ein DB WIe?
das ist ein Schreibfehler. Sollte heisen "Ein DB (Datenbaustein) ähnlich der Siemens Programmierung.

Ich hoffe ich konnte die Fragen soweit beantworten.

Danke nochmals für die Antwort. Ich werde das Array gleich mal ausprobieren.

Gruß
Marco
 
kein Problem

zur ergänzung ist mir gerade noch eingefallen.
bei Rockwell kann man keine structuren wie im Siemens DB machen.

eine gängige praxis ist für eine Struktur einen seperaten UDT aufzusetzen.

Gruß
 
Zurück
Oben