Probleme mit Wago I/O PRO32

Ghingha

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe bisher nur mit Simatic STEP7 und PCS7 gearbeitet. Jetzt will ich eine Steuerung mit der Wago Software erstellen mit der ich bisher noch gar nicht gearbeitet habe. Mein Problem ist das ich bei der Wago Software keine Datenbausteine erstellen kann. Muß ich das nun über Arrays realisiren oder gibt es dafür noch eine andere Möglichkeit? Und wenn Arrays, wie muß ich vorgehen? Würde mich freuen wenn mir jemand weiterhelfen könnte.

Gruß Ghingha
 
Anhand dieser Frage merkt man, das du bisher nur mit Siemens gearbeitet hast. :ROFLMAO:

Jetzt im Ernst:
Datenbausteine sind schlussendlich eine Datenstruktur,
suche mal in der Hilfe von IO-Pro nach "Struct", bzw. sieh dir mal einen Siemens-DB als Quelle an.

Was du dir abgewöhnen musst / kannst ist die direkte Adressierung von Merker, etc.

Mfg
Manuel
 
Also sei froh das Du Dich bei Wago von dem ganzen Dreck wie Datenbausteine und Merkern verabschieden kannst.

Die Hilfe ist da eine gute Anlaufstelle.

Bei Variablen sollte man sich Gedanken machen wo im Programm diese Verwendet werden, ob diese temporär, statisch, remanent (persistent und/oder retain) sein sollen.

Je nach dem Deklariert man die Variablen.

Wenn Du bei den Globalen Variablen sowas anlegst
Code:
VAR_GLOBAL PERSISTENT RETAIN 

 (* Variablendeklarationen *)
  pseudoDatenBausteinInhalt :INT;    
END_VAR
Kommst Du einem Datenbaustein recht nahe. Das ist aber nicht immer zu empfehlen.

Das fehlen von Datenbausteinen ist IMHO einer der großen Vorteile gegenüber der S7 Geschichte.
 
Das fehlen von Datenbausteinen ist IMHO einer der großen Vorteile gegenüber der S7 Geschichte.

...so ein Unsinn, und das nach Feierabend...




willst du allen Ernstes PCS7 mit Sandkastenprogrammierung vergleichen.
Das ist wie Bahnhof gegenüber Haltepunkt.


DAS MUSSTE RAUS!!

.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wo war hier jetzt die Rede von PCS7 (von den Vorkenntnissen des Fragestellers mal abgesehen)?

Ein Datenbaustein ist in der IEC-Sprache ein simples Struct.
Insofern gibt es in der IEC auch Datenbausteine,
oder etwas funktionell gleichwertiges.

Mfg
Manuel
 
Ich weis jetzt auch nicht wie er auf PCS7 gekommen ist. Hat wohl über den Ereignissen des Tages den Überblick verloren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Datenbausteine sind IMHO Dreck. Ich muss doch nicht für die SPS das Handling der Speichers übernehmen. Dazu kommt das viele Hersteller von SPSen und auch die ganze PC Sparte ohne dieses komische Gebilde klar kommt.

Zu PCS7 [total Offtopic]:
Wo war hier jetzt die Rede von PCS7 (von den Vorkenntnissen des Fragestellers mal abgesehen)?
...
100% Ack.

@IBFS: Hier ging es ja wohl eher darum die Funktion die Datenbausteine bei der S7 erfüllen mit den Boardmitteln von Wago I/O PRO32 zu realisieren.


War Dein Tag heute irgendwie schlecht verlaufen?
 
Danke an alle

Guten Morgen,
wollte mich für die schnellen Antworten bedanken. :s12: Werde mich dann jetzt mal ans Werk machen. Ich werde mich dann hier nochmal melden und mitteilen was bei meinem Problem rumgekommen ist.
Gruß
Ghingha
 
Hallo,
also das mit den Variablen in STRUCT anlegen habe ich hinbekommen. Nur will ich jetzt diese Variablen in einer FOR-Schleife nacheinander aufrufen. Das ging in STEP7 einfach mit z.B. DB1.DW. Wie muß ich da bei Wago vorgehen, damit das funktioniert? Würde mich freuen wenn mir da jemand weiterhelfen könnte.
Gruß
Ghingha
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine Antwort würde mir einfacher Fallen wenn ich wüsste wie die Struktur aussieht (wenn dies überhaupt nötig ist). Also hast jetzt ein Array angelegt?

Einfacher wäre es natürlich wenn ich die Aufgabe wüsste aber hier mal ein Beliebiges Beispiel.

PLC_PRG:
Code:
PROGRAM PLC_PRG
VAR
    myCount :INT;
    myDB    :dbStruct; (* lokale, statische Variable vom Typ dbStruct *)
END_VAR

FOR myCount := 0 TO 100 DO
  globalArray[myCount]            := myCount;        (* Zugriff auf ein globales Array *)
  myDB.dbArray[myCount]           := 100 - myCount; (* Zugriff auf das Array der lokalen statischen DBversion *)
  globalDBstruct.dbArray[myCount] := myCount * 2;   (* Zugriff auf das Array der globalen statischen und remanenten DBversion *)
END_FOR

myDB.dbBlaBla := TRUE; (* Damit noch was anderes als das eine Array im Struct ist ;o) *)


Datentypen (ein UDT)
Code:
TYPE DBstruct :
STRUCT
    dbArray : ARRAY[0..100] OF INT;
    dbBlaBla: BOOL;
END_STRUCT
END_TYPE

Globale Variablen:
Code:
VAR_GLOBAL 
    globalArray : ARRAY[0..100] OF INT; (* global und statisch *)
END_VAR

VAR_GLOBAL RETAIN PERSISTENT
    globalDBstruct : dbStruct; (* global, statisch und remanent*)
END_VAR
 
Hallo Zotos,
erst nochmal Danke für deine Hilfe. Zu meiner Aufgabe: also ich will Werte aus WinnCC übernehmen, die dort in einer Tabelle eingetragen werden können. Die konnte man bei STEP7 einfach über einen DB einlesen. Diesen DB konnte ich dann mittels einer FOR Schleife Zeile für Zeile auslesen und die Werte in dem DB mit einem anderen Wert vergleichen. Wenn der Vergleichswert mit einem Wert in dem DB übereinstimmte wurde eine bestimmte Aktion ausgelöst. Sowas in der Art möchte ich jetzt mit Wago realisieren.
Gruß Ghingha
 
Ich weis ja jetzt nicht wie die Anbindung von WinCC an Wago läuft.
Aber an sich brauchst Du da ja kein Struct sondern nur ein globales Array ob dies remanent sein muss oder oder nicht kann ich Dir nicht sagen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habs grad mit dem Array probiert. Scheint zu funktionieren. Kann aber leider im Moment nicht testen, weil ich die SPS nicht vor Ort hab. Aber auf jeden Fall bekomm ich keine Fehlermeldungen und Warnungen mehr. Werd es aber sobald möglich testen.

Danke nochmal für deine Hilfe.
 
Zurück
Oben