Step 7 Hardware eingänge automatisch auf ein UDT mappen ohne Globalen DB

Thixor

Level-1
Beiträge
32
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag SPS Forum,

Folgendes Setting :
Step 7 (classic) V5.6
Kommunikationssystem: Profinet
PLC-317 DP/PN
zusaetzlich ein Markiergeraet welches ueber Profinet mit der PLC kommuniziert
(die Kommunikation zum Markiergeraet leauft ueber das Handshake verfahren und hat in der PLC die Eingaenge 200 -389 (190) und Ausgaenge 200 - 357 (158 )


Nun suche ich nach einer Loesung fuer das folgende problem:

Ich wuerde gerne die Eingangs Adressen am anfang meines Programmes auf ein Instanz UDTStatus mappen (ohne globalen DB)
und am Ende des Programmes die verarbeiteten ausgangsvariablen von dem Instanz UDTRequest auf die Ausgaenge mappen

Nun bin ich beim nachforschen immer wieder auf den SFC14 / 15 bzw FB21 gestossten, jedoch muss dort der ausgangsdatentyp Byte sein.

-----------------------
Das was ich eigentlich erreichen will ist, dass der Baustein so flexibel wie moeglich sein soll, dass soll heissen im falle das der Baustein in einem anderen Projekt gebraucht wird und die Adressen nicht uebereinstimmen der benutzer diese nicht von hand im code alle aendern muss.
-----------------------

Im Anhang ist noch ein beispiel wie der baustein evtl später mal aussehen könnte.
sry für die komische schreibweise, die vorschau wollte keine ä ö ü xD
 

Anhänge

  • Eadressmapping.png
    Eadressmapping.png
    5,8 KB · Aufrufe: 18
Zuletzt bearbeitet:
Bei SFC14/15 ist nicht nur Byte erlaubt. Es müssen 3, oder mehr als 4 Byte sein, und die Konsistenz des Slaves muss auf „gesamte Länge“ stehen (bin nicht ganz sicher). Dann einfach in STAT oder TEMP deine UDTs deklarieren und bei RECORD der SFCs aufschalten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hmm danke für antwort und der SFC14 weiss selber wie viel Bytes er rüberschieben soll?
als Info der UDT ist von der Struktur genau gleich aufgebaut dan sollte dies ja funktionieren
und damit könnte ich auch über den udt auf die einzelnen adressen zugreifen oder?
Eadressmapping.png
 
Ja der Parameter RECORD erwartet einem Any-Zeiger, der hat auch info über die Länge. Die muss aber auch mit der projektierten Länge der HW zusammenpassen.
Und ja, du kannst dann symbolisch auf alles zugreifen.

PS: Keyence MDX?
 
Hallo TP-Inc alles klaar so wie ich dich verstanden habe stimmt es wie ich das gemacht habe? :D

Ja ist ein Keyence markierer :) muss halt alles so flexibel wie möglich bauen damit bei einer anderen Station das grundgerüst bzw die logik übernommen werden kann (so jedenfalls in der Theorie):ROFLMAO:
Hast du schon damit gearbeitet?
 
Ah das hört sich ja sehr gut an :) vielen dank für den Tipp villeicht kann ich dort ja ein paar sachen herausnehmen :)

vielen dank nochmals, evtl komme ich auf dich zurück falls etwas unklaar ist :D
 
Zurück
Oben