Aufruf eines SFB

Kamania

Level-1
Beiträge
32
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Ich möchte mit einer CPU 313C über die integrierten Zählereingänge eine Frequenzmessung realisieren. Habe mir dazu den SFB 30 ausgewählt.
Nur weiß nicht, wie ich diesen deklarieren soll (die drei roten Fragezeichen darüber). Bei mir erscheint die Meldung "Typ-Konflikt". Bin mir aber auch ehrlich gesagt nicht sicher was dort überhaupt hin kommt? :oops:
Außerdem wollt ich noch wissen an welchen Eingang des SFB's der Operand des Zählereingangs hinkommt und in welcher Einheit die Frequenz ausgegeben wird (mHz oder Hz)?

Vielen Dank schonmal.

MfG

Kamania
 
Problem mit Aufruf gelöst

Habe des Problem gelöst. Hatte noch keinen Instanz-DB für diesen SFB erzeugt.
Bleibt aber immer noch die Frage mit der Einheit der Frequenz. Hatte bei Siemens was von mHz gelesen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wieso sfb30? laut handbuch benutzt man den sfb48 dafür.

in hwconfig auf freq.messen stellen. als intergrationszeit habe ich 1000ms gewählt. die tore benutze ich hierfür nicht.

Code:
FUNCTION FC 20 : VOID
TITLE =
VERSION : 0.1


VAR_TEMP
  Freq_Vent_1 : DINT ;	
  Freq_Vent_2 : DINT ;	
  countval : DINT ;	
  sts_gate : BOOL ;	
  sts_strt : BOOL ;	
  sts_do : BOOL ;	
  sts_c_dn : BOOL ;	
  sts_c_up : BOOL ;	
  job_done : BOOL ;	
  job_err : BOOL ;	
  job_stat : WORD ;	
  puffer_1 : DINT ;	
END_VAR
BEGIN
NETWORK
TITLE =drehzahl vent 1 b8

      U     M      4.1; 
      =     L     20.0; 
      BLD   103; 
      CALL SFB   48 , DB    48 (
           LADDR                    := W#16#768,
           CHANNEL                  := 0,
           SW_GATE                  := L     20.0,
           STS_GATE                 := #sts_gate,
           STS_STRT                 := #sts_strt,
           STS_DO                   := #sts_do,
           STS_C_DN                 := #sts_c_dn,
           STS_C_UP                 := #sts_c_up,
           MEAS_VAL                 := #Freq_Vent_1,
           COUNTVAL                 := #countval,
           JOB_DONE                 := #job_done,
           JOB_ERR                  := #job_err,
           JOB_STAT                 := #job_stat);
      NOP   0; 
NETWORK
TITLE =Drehzahl Ventilator 1

      U(    ; 
      L     #Freq_Vent_1; 
      L     100; 
      /D    ; 
      T     #puffer_1; 
      UN    OV; 
      SAVE  ; 
      CLR   ; 
      U     BIE; 
      )     ; 
      SPBNB _001; 
      L     #puffer_1; 
      L     3; 
      *D    ; 
      T     DB80.DBD   20; 
_001: NOP   0; 
END_FUNCTION
 
SFB48

I'm sorry but my "deutch" is not good enough (passive knowledge).

I don't understand STL very good. With wich number did you divide the MEAS_VAL to get the actual frequency in Hz??
As I tested it with a time relay, it turned out to be 5000. Is that right?

BR, Trigi
 
Zurück
Oben