F159_MTRN (n_Number=16#8000)

Changer de mode de communication

Le mode de communication des ports de communication de l’unité centrale peut être modifié en mode RUN. Vous pouvez passer du mode communication contrôlée via le programme API au mode MEWTOCOL-COM en exécutant la fonction F159_MTRN et en définissant la variable n_Number (nombre d’octets à envoyer) sur 16#8000.

Paramètres

Entrée

s_Start (WORD, INT, UINT)

Tampon de transmission

n_Number (WORD, INT, UINT)

Nombre d’octets à envoyer :

  • Valeur négative : Le délimiteur sélectionné dans les registres système n’est pas ajouté à la chaîne de caractères à envoyer.

  • 0 (zéro octet) : Préparer le système à recevoir d’autres données

  • 16#8000: Changer de mode de communication

d_Port (WORD, INT, UINT)

Indique les ports de communication (selon le type d’API) :

  • Port COM, par ex. SYS_COM0_PORT

  • Port Ethernet, par ex. SYS_ETHERNET_USER_CONNECTION_1

  • MCU/SCU, par ex. 16#xx01 (xx = numéro du connecteur) dans COM01

Remarques

  • Lorsque l’automate est mis sous tension, le mode de communication sélectionné dans les registres système est activé.

  • Il est impossible de passer au mode Modbus RTU ou au mode liaison API pendant le mode RUN.

Exemple

En-tête du POU

Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.

	VAR 
		bSwitchToMewtocolSlave: BOOL:=FALSE;
		wDummy: WORD:=0;
		bSwitchToProgramControlled: BOOL:=FALSE;
	END_VAR

Corps en LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 9 ;
        NETWORK_BODY
B(B_COMMENT,,Changing COM 1 from program controlled to MEWTOCOL-COM Slave mode.ø^The corresponding transmission mode flag R9032 (sys_bIsComPort1ProgramControlled) is setø^when program controlled mode is selected.,1,0,39,3,);
B(B_VARIN,,wDummy,26,5,28,7,);
B(B_VARIN,,16#8000,26,6,28,8,);
B(B_F,F159_MTRN!,,28,3,36,9,,?DEN?Ds_Start?Dn_Number?Dd_Port?AENO);
B(B_VARIN,,SYS_COM1_PORT,26,7,28,9,);
B(B_CONTACT,,bSwitchToMewtocolSlave,6,4,8,6,R);
B(B_CONTACT,,sys_bIsComPort1ProgramControlled,19,4,21,6,);
L(1,5,6,5);
L(8,5,19,5);
L(21,5,28,5);
L(1,0,1,9);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_COMMENT,,Changing COM 1 from MEWTOCOL-COM Slave to program controlled mode.,1,0,30,1,);
B(B_VARIN,,wDummy,26,3,28,5,);
B(B_VARIN,,16#8000,26,4,28,6,);
B(B_F,F159_MTRN!,,28,1,36,7,,?DEN?Ds_Start?Dn_Number?Dd_Port?AENO);
B(B_VARIN,,SYS_COM1_PORT,26,5,28,7,);
B(B_CONTACT,,sys_bIsComPort1ProgramControlled,19,2,21,4,N);
B(B_CONTACT,,bSwitchToProgramControlled,6,2,8,4,R);
L(8,3,19,3);
L(21,3,28,3);
L(1,3,6,3);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

(* Changing COM 1 from program controlled to MEWTOCOL-COM Slave mode. 
   The corresponding transmission mode flag R9032 (sys_bIsComPort1ProgramControlled) is set
   when program controlled mode is selected. *)
if (DF(bSwitchToMewtocolSlave) AND sys_bIsComPort1ProgramControlled) then
   F159_MTRN(s_Start := wDummy, n_Number := 16#8000, d_Port := SYS_COM1_PORT);
end_if;
(* Changing COM 1 from MEWTOCOL-COM Slave to program controlled *)
if (DF(bSwitchToProgramControlled) AND NOT sys_bIsComPort1ProgramControlled) then
   F159_MTRN(s_Start := wDummy, n_Number := 16#8000, d_Port := SYS_COM1_PORT);
end_if;

Modifié le : 2022-01-24Commentaires sur cette pageAssistance téléphonique