ResetComPort

Rücksetzen einer angegebenen COM-Schnittstelle

Dieser Funktionsblock sendet einen COM-Schnittstellen-Rücksetzungsauftrag an eine bestimmte Schnittstellennummer. Die SPS muss auf "programmgesteuerte" Kommunikation eingestellt sein. Werten Sie die Ausgangsvariablen bIsDone und bIsRequested aus, um zu prüfen, ob die angegebene Schnittstelle zurückgesetzt wurde und wieder verwendet werden kann.

Parameter

Eingang

bReset (BOOL)

Wenn eingestellt auf TRUE, wird der COM-Schnittstellen-Rücksetzungsauftrag an die angegebene Schnittstellennummer gesendet

Port (WORD, INT, UINT)
Schnittstellennummer
  • COM0, COM1, COM2 an CPU

  • 16#xx01–16#xx04 (xx = Steckplatznummer 1–64) auf dem SCU-Modul

Ausgang

bIsDone (BOOL)

Wird auf TRUE gesetzt, wenn die COM-Schnittstelle zurückgesetzt ist und wiederverwendet werden kann.

bIsRequested (BOOL)

Wird auf TRUE gesetzt, wenn die COM-Schnittstellen-Rücksetzung beauftragt ist.

Entsprechende Systemvariablen der Ausgänge (nur gesetzt, wenn die COM-Schnittstelle durch bReset derselbe Instanz zurückgesetzt wurde)

  • Auftrag zum Rücksetzen

    • COM0: sys_bIsComPort0ResetRequested

    • COM1: sys_bIsComPort1ResetRequested

    • COM2: sys_bIsComPort2ResetRequested

  • Rücksetzen ausgeführt

    • COM0: sys_bIsComPort0ResetDone

    • COM1: sys_bIsComPort1ResetDone

    • COM2: sys_bIsComPort2ResetDone

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		fbResetComPort: ResetComPort;
		bResetComPort: BOOL:=FALSE;
		iPort: INT:=0;
		bComPortCannotBeUsed: BOOL:=FALSE;
	END_VAR

POE-Rumpf

Wenn die Variable bResetComPort auf TRUE gesetzt wird, wird der Funktionsbaustein ausgeführt.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,iPort,19,3,21,5,);
B(B_CONTACT,,bResetComPort,6,2,8,4,);
B(B_FB,ResetComPort!,fbResetComPort,21,1,30,5,,?BbReset?BPort?AbIsDone?AbIsRequested);
L(1,3,6,3);
L(8,3,21,3);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_COIL,,bComPortCannotBeUsed,39,1,41,3,S);
B(B_CONTACT,,fbResetComPort.bIsRequested,6,1,8,3,);
L(1,2,6,2);
L(8,2,39,2);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_COIL,,bComPortCannotBeUsed,39,1,41,3,E);
B(B_CONTACT,,fbResetComPort.bIsDone,6,1,8,3,);
L(1,2,6,2);
L(8,2,39,2);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

fbResetComPort(bReset := bResetComPort,
               Port := iPort);
               IF (fbResetComPort.bIsRequested) then
                   bComPortCannotBeUsed := TRUE;
               ELSIF (fbResetComPort.bIsDone) then
                   bComPortCannotBeUsed := FALSE;
               END_IF;

Letzte Änderung: 2024-07-25Feedback zu dieser SeitePanasonic Hotline