Code:
FUNCTION_BLOCK "Beispiel_FB"
TITLE =
VERSION : 0.1
 
VAR_INPUT
  Befehl_setze : BOOL ; 
  Befehl_ruecksetze : BOOL ; 
END_VAR
VAR_OUTPUT
  Signalzustand : BOOL ; 
END_VAR
BEGIN
NETWORK
TITLE =
      U     #Befehl_setze; 
      S     #Signalzustand; 
      U     #Befehl_ruecksetze; 
      R     #Signalzustand; 
END_FUNCTION_BLOCK
DATA_BLOCK "Beispiel_Instanz1"
TITLE =
VERSION : 0.0
"Beispiel_FB"
BEGIN
   Befehl_setze := FALSE; 
   Befehl_ruecksetze := FALSE; 
   Signalzustand := FALSE; 
END_DATA_BLOCK
DATA_BLOCK "Beispiel_Instanz2"
TITLE =
VERSION : 0.0
"Beispiel_FB"
BEGIN
   Befehl_setze := FALSE; 
   Befehl_ruecksetze := FALSE; 
   Signalzustand := FALSE; 
END_DATA_BLOCK
ORGANIZATION_BLOCK OB 1
TITLE = "Main Program Sweep (Cycle)"
VERSION : 0.1
 
VAR_TEMP
  OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
  OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
  OB1_PRIORITY : BYTE ; //Priority of OB Execution
  OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
  OB1_RESERVED_1 : BYTE ; //Reserved for system
  OB1_RESERVED_2 : BYTE ; //Reserved for system
  OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
  OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
  OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
  OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
END_VAR
BEGIN
NETWORK
TITLE =
      CALL "Beispiel_FB" , "Beispiel_Instanz1" (
           Befehl_setze             := "Befehlstaste1",
           Befehl_ruecksetze        := "Befehlstaste2",
           Signalzustand            := "Ausgang1");
      CALL "Beispiel_FB" , "Beispiel_Instanz2" (
           Befehl_setze             := "Befehlstaste3",
           Befehl_ruecksetze        := "Befehlstaste4",
           Signalzustand            := "Ausgang2");
END_ORGANIZATION_BLOCK
Code:
Ausgang1          A 0.0  BOOL 
Ausgang2          A 0.1  BOOL 
Befehlstaste1     E 0.0  BOOL 
Befehlstaste2     E 0.1  BOOL 
Befehlstaste3     E 0.2  BOOL 
Befehlstaste4     E 0.3  BOOL 
Beispiel_FB         FB 1   FB  1 
Beispiel_Instanz1 DB 1   FB 1 
Beispiel_Instanz2 DB 2   FB 1
Was haben die FB E/A mit dem HW-Tausch zu tun?
sehr viel - weil ich daran meine E/A ranrangiere ...