TIA FM350-2 ---> 1 Count 24V/ 100kHz

siegener19

Level-2
Beiträge
255
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich hatte ein Programm im Step7 wo eine Zählerbaukarte FM350-2 angesteuert wird. Jetzt wird das ganze Programm ins TIA Portal migriert und die FM350-2 durch einen 1 Count24V ersetzt. Was ich fragen wollte, kann ich das Programm für die Ansteuerung der alten Zählerbaukarte 1:1 an den Count24V anwenden?

Gruß
 
Nein.
Fur die FM350-2 gibt er standard bausteinen von Siemens und fur der ET200S 1 Count24V must man self was bassele .

Gruss,
Joop
 
@RogerSchw85
Meinst du das :
Baustein: FC101

L 0
T DB1.DBD0
T DB1.DBD4

SET
S DB1.DBX4.0

L DB1.DBD0
T PAD 256
L DB1.DBW4
T PAW 260

Also das Beispiel im Handbuch?

Irgendwie bin ich verwirrt. Darf man die Bausteine verwenden oder nicht?
 
Zuletzt bearbeitet:
Ja so etwas, ich habe heute kein pg hier, aber morgen kan ich eins meine programm offen mit dieser karte in zahler. Er wurde verwendet in eine dosieranlage , fur jede dosiercyclus wurde die counter auf 0 gesets.

Joop
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ach so, dann ist ja gut. Natürlich wäre es mir lieber man könnte sich die Arbeit/Zeit sparen, aber dann mache ich es mal wie im Handbuch. Könntest du mir dann bitte zeigen, wie du es gemacht hast?
 
Falls ich morgen kurz Zeit finde mach ich dir au ein zwei Printscreen, es sind bei mir nur etwa drei Netzwerke... ist relativ einfach gemacht
 
Ja es ist exakt das beispiel das ich einfach in FUP geschrieben habe und in einem OB aufrufe.

Ich habe dir die Printscreens angehängt, falls es hilft.

temp 1.JPGtemp2.JPGtemp3.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier meine FB fur der ET200 Counter karte.
Diese code ist nog aus Step7 classic.
Entschuldigung fur die Niederlandische teksten, wen Sie dieze code in ein FB umsets ist etwas meer Deutsche commentar zu lesen.

Code:
FUNCTION_BLOCK FB 100
TITLE =Communicatie met tellerkaart 12 PEW + 6 PAW
//FB Voor ET200S Counter kaart
FAMILY : ET200S
VERSION : 0.1


VAR_INPUT
  Peripheriewoord : INT ; //Anfang adresse von Zaehler
  Storung_wissen : BOOL ; //Reset Storung
  teller_laden : BOOL ; //Anstoss Zaelwert in Zaehler laden
  First_Scan : BOOL ; //Bit hoog tijdens 1ste cyclus
  Waarde_TellerLaden : DINT ; //Zahlwert welche geladen must wurde
END_VAR
VAR_OUTPUT
  TellerLadenActief : BOOL ; //Laden Countwert ist aktief
  TellerGeladen : BOOL ; //Zahlwert ist in Counter geladen
  TellerNegatief : BOOL ; //Zaehleristwert kleiner Null
  Fout_TellerKaart : BOOL ; //Fehler Counter karte
  Tellerwaarde : DINT ; //Aktuele wert Counter
END_VAR
VAR
  StuurInterface : STRUCT  //Steuerschnittstelle
   Func_DO1_1 : BOOL ; 
   Func_DO1_2 : BOOL ; 
   RES_1 : BOOL ; 
   RES_2 : BOOL ; 
   Func_DO2_1 : BOOL ; 
   Func_DO2_2 : BOOL ; 
   RES_3 : BOOL ; 
   RES_4 : BOOL ; 
   HYS_DO1_und_DO2 : BYTE ; 
   Impulsduur : BYTE ; 
   RES_5 : BYTE ; 
   SW_GATE : BOOL ; 
   CTRL_SYN : BOOL ; 
   RES_STS : BOOL ; 
   SET_DO1 : BOOL ; 
   CTRL_DO1 : BOOL ; 
   SET_DO2 : BOOL ; 
   CTRL_DO2 : BOOL ; 
   EXTF_ACK : BOOL ; 
   LOAD_VAL : BOOL ; 
   LOAD_PREPARE : BOOL ; 
   CMP_VAL1 : BOOL ; 
   CMP_VAL2 : BOOL ; 
   C_DOPARAM : BOOL ; 
   RES_6 : BOOL ; 
   RES_7 : BOOL ; 
   RES_8 : BOOL ; 
  END_STRUCT ; 
  TerugmeldInterface : STRUCT  //Rückmeldeschnittstelle
   Tellerwaarde_P_0_0 : DINT ; //Tellerwaarde uit adres + P#0.0
   STS_LOAD : BOOL ; 
   ERR_LOAD : BOOL ; 
   RES_STS_A : BOOL ; 
   RES_1 : BOOL ; 
   RES_2 : BOOL ; 
   ERR_PARA : BOOL ; 
   ERR_DO : BOOL ; 
   ERR_24V : BOOL ; 
   STS_GATE : BOOL ; 
   STS_DI : BOOL ; 
   RES_3 : BOOL ; 
   STS_DO1 : BOOL ; 
   STS_DO2 : BOOL ; 
   RES_4 : BOOL ; 
   STS_C_UP : BOOL ; 
   STS_C_DN : BOOL ; 
   STS_SYN : BOOL ; 
   RES_5 : BOOL ; 
   RES_6 : BOOL ; 
   STS_CMP1 : BOOL ; 
   STS_CMP2 : BOOL ; 
   STS_OFLW : BOOL ; 
   STS_UFLW : BOOL ; 
   STS_ND : BOOL ; 
   RES : BYTE ; 
   TellerWaarde_P_8_0 : DINT ; //Tellerwaarde uit adres +P#8.0
  END_STRUCT ; 
  Flank : BOOL ; //Hilf Merker
  Tellerwaarde_laden : DINT ; //Wert womit Counter geladen wert
  Negative_tellerwaarde : BOOL ; //Zaehlwert ist <0
  FP_TellerwaardeLaden : BOOL ; //FP_Zaehlwert in Counter laden
END_VAR
VAR_TEMP
  Adres_Telwaarde : DINT ; //Adresse Zahlwert (+P#0.0)
  Adres_Stuur_Statusbits : DINT ; //Adresse Steuer und Ruckmelde bits
  Adres_Telwaarde_8 : DINT ; //Adresse Zahlwert (+P#8.0)
END_VAR
BEGIN
NETWORK
TITLE =Geldigheid peripheriewoord testen
//Kontrole Periphieword
      L     #Peripheriewoord; 
      L     0; 
      <=I   ; 
      BEB   ; 
NETWORK
TITLE =Aansturingen volgens handboek Hoofdstuk 13-33
//Wie in handbuch Karpitel 13-33
//
//
//
      SET   ; 
      R     #StuurInterface.Func_DO1_1; 
      R     #StuurInterface.Func_DO1_2; 
      R     #StuurInterface.RES_1; 
      R     #StuurInterface.RES_2; 
      R     #StuurInterface.Func_DO2_1; 
      R     #StuurInterface.Func_DO2_2; 
      R     #StuurInterface.RES_3; 
      R     #StuurInterface.RES_4; 
      L     0; 
      T     #StuurInterface.HYS_DO1_und_DO2; 
      T     #StuurInterface.Impulsduur; 
      T     #StuurInterface.RES_5; 
      SET   ; 
      S     #StuurInterface.SW_GATE; 
NETWORK
TITLE =Laden van de teller
//Laden von zaehler
      U     #TellerLadenActief; 
      U     #StuurInterface.LOAD_VAL; 
      O     #TerugmeldInterface.STS_LOAD; 
      S     #TellerGeladen; 

      U     #First_Scan; 
      R     #TellerGeladen; 
      U     #teller_laden; 
      FP    #FP_TellerwaardeLaden; 
      S     #StuurInterface.LOAD_VAL; 
NETWORK
TITLE =Gewenste waarde in teller schrijven / Waarde

      L     #Peripheriewoord; 
      SLD   3; 
      T     #Adres_Telwaarde; 
      L     #Tellerwaarde_laden; 
      T     PAD [#Adres_Telwaarde]; 
NETWORK
TITLE =Teller Adressen berekenen en stuurbits schrijven
      LAR1  P##StuurInterface; 
      TAR2  ; 
      +AR1  ; 
      L     #Adres_Telwaarde; 
      L     P#4.0; 
      +D    ; 
      T     #Adres_Stuur_Statusbits; 
      L     P#4.0; 
      +D    ; 
      T     #Adres_Telwaarde_8; 
      L     D [AR1,P#4.0]; 
      T     PAW [#Adres_Stuur_Statusbits]; 
NETWORK
TITLE =Tellerwaarde uitlezen van tellerkaart
      LAR1  P##TerugmeldInterface; 
      TAR2  ; 
      +AR1  ; 
      L     PED [#Adres_Telwaarde]; 
      T     #TerugmeldInterface.Tellerwaarde_P_0_0; 
      L     PED [#Adres_Stuur_Statusbits]; 
      T     D [AR1,P#4.0]; 
      L     PED [#Adres_Telwaarde_8]; 
      T     D [AR1,P#8.0]; 
NETWORK
TITLE =Tellerwaarde naar uitgang
      U     #StuurInterface.LOAD_VAL; 
      O     #TerugmeldInterface.STS_LOAD; 
      SPB   m001; 
      L     #TerugmeldInterface.Tellerwaarde_P_0_0; 
      T     #Tellerwaarde; 
m001: NOP   0; 
NETWORK
TITLE =Fehlerauswertung
      U     #TerugmeldInterface.ERR_24V; 
      O     #TerugmeldInterface.ERR_DO; 
      O     #TerugmeldInterface.ERR_PARA; 
      =     #Fout_TellerKaart; 
NETWORK
TITLE =Ruecksetzen Fehlermeldung
      U     #Storung_wissen; 
      =     #StuurInterface.EXTF_ACK; 
NETWORK
TITLE =Resetten tellerwaarde laden.
// 1 cyclus vertraagd waardoor tellerwaarde zeker geschreven wordt 
      U     #Flank; 
      R     #StuurInterface.LOAD_VAL; 
      U     #TerugmeldInterface.STS_LOAD; 
      U     #StuurInterface.LOAD_VAL; 
      S     #Flank; 
      UN    #TerugmeldInterface.STS_LOAD; 
      UN    #StuurInterface.LOAD_VAL; 
      R     #Flank; 
NETWORK
TITLE =Teller laden actief
      U     #StuurInterface.LOAD_VAL; 
      O     #TerugmeldInterface.STS_LOAD; 
      =     #TellerLadenActief; 
NETWORK
TITLE =Tellerwaarde is negatief
      L     #Tellerwaarde; 
      L     L#0; 
      <D    ; 
      =     #Negative_tellerwaarde; 
      =     #TellerNegatief; 
END_FUNCTION_BLOCK

Gruss Joop
 
Zuletzt bearbeitet:
Zurück
Oben