Step 7 Sinumerik HT2 an S7 anbinden

DeltaMikeAir

User des Jahres 2018; 2023
Beiträge
26.604
Reaktionspunkte
10.173
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend zusammen,

ich habe ein Sinumerik HT2 mit der dazu gehörenden Anschlussbox PN-Plus.
Ich möchte dieses kompakte Gerät für eine meiner kleinen Anlagen nutzen.
Leider gibt es keine GSDML Datei. Ich habe schon gelesen, dass man Bausteine
zum ansteuern des Gerätes braucht aber leider nichts konkretes gefunden
( getting started, Beispiele... )

Hat so etwas evtl. schon jemand von euch umgesetzt.

Danke und mit Grüßen
 
Also an einer 840D wird das HT2 ja im OB100 über das Grundprogramm (FB1) angesprochen, ohne GSD!

Evtl. könnte ich mir voratellen, das es wie früher über Global Daten Kommunikation funktionieren würde!
Einfach mal bei Siemens bei der Hotline anfragen ....

Wobei ich meinte das es von Siemens da Bausteine gibt ...
Da habe ich nich etwas im Hinterkopf von früher, als man MSTT, PBP und HT8 gemeinsam an den ersten 840D sl genutzt hat!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
es gibt da keine GSD Dateien da die Anschlussbox nicht in der HW Config auftaucht.
die hängt am X120 Anlagennetz der 840Dsl das ist halt kein Profinet. Über GD Kommunikation habe ich das bisher nur bei Profibus gesehen für MCPs.

Ich kann nächst Woche mal nach sehen ob ich was finden um die Anschlussbox über Profinet zu betreiben , wenn es so lange Zeit hat.
 
Hallo,

die Anschlussbox kann man an PN betreiben, sie wird ja auch für MobilePanel 177/277 PN benutzt.
Die Frage ist nur, ob diese Funktionsbausteine ( Aufruf in OB100 / FBxx ) auch in einer S7 funktionieren.
Ich finde diese nicht als Download. Hat vielleicht einer diese Bausteine.

Mit Grüßen und Danke für eure Hilfen.
 
nö das wird nix der FB1 der Sinumerik ist nur eine leere hülle zur Daten Übergabe an den FB15 der in C geschrieben ist und die Daten an die VDI Schnittstelle der 840D durch reicht.

ich kann dir die Bausteine alle geben nur das nützt dir nix , den FB15 bekommst du nicht ans laufen und der Rest ist leer bis auf einen FB15 aufruf.
 
Hier mal als Beispiel der FC13 HT2 Display , damit wirst du nix anfangen können.

Code:
FC13 : 

Description
    


Parameter
000.0: ROOTNODE: STRUCT
000.0:     IN: STRUCT
000.0:         Row: BYTE := 0 //Display-line number, if value=3 text will be automatically wrapped
002.0:         ChrArray: STRING[254] := '' //Enter at least String[32]
258.0:         Convert: BOOL := False //Activate number formatting
260.0:         Addr: POINTER //Pointer to  Variable, which will be converted
266.0:         DataType: BYTE := 0 //Data type of the Variable
268.0:         StringAddr: INT := 0 //Right justified string address. 1..32
270.0:         Digits: BYTE := 0 //Number of decimal places 1, 2, 3 or 4
272.0:     OUT: STRUCT
272.0:         Error: BOOL := False //Conversion or String error
000.0:     TEMP: STRUCT
000.0:         C_LBlockNo: WORD := 0 // BlockNr fuer C-Code-Schnittstelle
002.0:         C_LBlockFB15Return: WORD := 0 // Returnwert C-Code
004.0:         C_LRow: BYTE := 0 //  C_LChrArray :      STRING ; //ein S7 Pointer
006.0:         C_LChrsubArea: WORD := 0
008.0:         C_LChrmc7Ptr: DWORD := 0
012.0:         C_LConvert: BOOL := False //  C_LAddr :          POINTER ;
014.0:         C_LAddrsubArea: WORD := 0
016.0:         C_LAddrmc7Ptr: DWORD := 0
020.0:         C_LDataType: BYTE := 0
022.0:         C_LStringAddr: INT := 0
024.0:         C_LDigits: BYTE := 0
025.0:         C_LError: BOOL := False
026.0:         C_dummy1: WORD := 0 // dummy fuer 4-Byte-Alignment// ACHTUNG: bei Aenderung auf 4-Byte-Alignment! au
028.0:         BpBlockNo: WORD := 0




AWL-Code
Netzwerk 1 : 
      L     #Row
      T     #TEMP.C_LRow
      L     P##ChrArray
      LAR1  
      L     W[AR1,P#0.0]
      T     #TEMP.C_LChrsubArea
      L     D[AR1,P#2.0]
      T     #TEMP.C_LChrmc7Ptr
      U     #Convert
      =     #TEMP.C_LConvert
      L     P##Addr
      LAR1  
      L     W[AR1,P#0.0]
      T     #TEMP.C_LAddrsubArea
      L     D[AR1,P#2.0]
      T     #TEMP.C_LAddrmc7Ptr
      L     #DataType
      T     #TEMP.C_LDataType
      L     #StringAddr
      T     #TEMP.C_LStringAddr
      L     #Digits
      T     #TEMP.C_LDigits
      SET   
      R     #Error


      L     13
      T     #TEMP.C_LBlockNo
      L     15
      T     #TEMP.BpBlockNo
      UC    FB[#TEMP.BpBlockNo]


      L     #TEMP.C_LBlockFB15Return
      L     B#16#0
      ==I   
      SPBNB end


      U     #TEMP.C_LError
      =     #Error
      NOT   
      SAVE  


end : BE
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Im großen und ganzen ist es so, das an der 840D dieses HT2 ja neben einer Maschinensteuertafel eingesetzt wird.
Im OB100 wird über den FB1 (dort werden die E/A Adressen angegeben) die Signale per den eingestellten E/A ausgegeben.

Nun wird vereinfacht beschrieben (quasi), im Anwenderprogramm diese beiden Möglichkeiten (MSTT und HT2) verodert und dann wieder an die NC (per FC19) übergeben.
Meist programmieren die Maschienhesrtelle (wir) dieses selbst, da man hier bestimmte Eigenheiten der Maschine berücksichtigt!
Bei Siemens ist es eigentlich so, das diese in dem Baustein für die Handbediengeräte die LED der MSTT ansteuern und somit eigentlich die MSTT übers HT dann quasi simulieren ...

Dann müssen noch die Texte fürs Dispaly übertragen werden!
Das macht hier ja dann der FC13, welcher diese Strings dann überträgt.

Hoffe ich denke in der Firma dran und dann müsste ich mal ne Quelle machen.

Aber das ganze setzt vorraus, das du die E/As des HTs in die 300'er bekommst!

Funktion

Dieser Baustein FC13 "BHGDisp" übernimmt die Display-Ansteuerung des Bedienhandgerätes (BHG oder HT 2). Die Information, die auf dem Display erscheinen soll, ist einer String-Variablen abzulegen. Der Zeiger auf den String wird im Parameter "ChrArray" angegeben. Hierzu ist beim Erstellen des Datenbausteins für diesen String eine Festtext-Zuweisung von 32 (BHG) bzw. 64 (HT 2) Zeichen notwendig.
Pro Auftrag werden 16 Zeichen zum Bedienhandgerät gesendet. Die Zuordnung der Zeichen im "ChrArray" zur jeweiligen Zeile ist eindeutig. Für die Zeile 1 werden die Zeichen 1 bis 16 und für die Zeile 2 die Zeichen 17 bis 32 des Stringdatums ChrArray übertragen. Zusätzlich werden beim HT 2 die Zeile 3 aus den Zeichen 33 bis 48 und die Zeile 4 aus den Zeichen 49 bis 64 angezeigt. Ein Auftrag dauert mehrere OB1-Zyklen.

Relevante FB1-Parameter

Bedienhandgerät BHG

Im OB100 sind die FB1-Parameter für die Ein- und Ausgangsdaten des Bedienhandgerätes einzustellen:

· Parameter "BHGIn" entspricht den Eingangsdaten der PLC vom Bedienhandgerät (Empfangsdaten der PLC)
· Parameter "BHGOut" entspricht den Ausgangsdaten der PLC zum Bedienhandgerät (Sendedaten der PLC).

Die beiden Zeiger sind auf den jeweiligen Datenbereichs-Anfang einzustellen, der auch bei MPI-Kopplung im SDB210 parametriert ist.
Für den Betrieb eines BHG ist der FB1-Parameter "BHG" = 2 zu setzen.

Handheld Terminal HT 2

Beim Einsatz des HT 2 ist FB1-Parameter "BHG" = 5 einzustellen. Die Parameter der Ein- und Ausgangsdaten sind, wie oben im Absatz "Bedienhandgerät BHG" beschrieben, zu setzen.
Den Parametern "BHGRecGDNo" und "BHGRecGBZNo" ist der Wert zuzuweisen, der am S2 des DIP-Fix-Schalters (Drehcodierschalter) des Anschlussmoduls des HT 2 konfiguriert wurde.
 
Zuletzt bearbeitet:
Zurück
Oben