F146_RECV

Recevoir des données (liaison MEWNET)

Cette instruction reçoit des données d’une autre station via des modules de liaison dans un réseau.

Paramètres

Entrée

s1_Control (DWORD)

Zone de 32 bits de sauvegarde des données de contrôle

s2_AdrType (WORD, INT, UINT)

Type d’opérandes source pour sauvegarder les données dans la station de destination. Sélectionnez la zone en définissant l’adresse 0 (par ex. DT0 ou WR0, ...) (zone de données dans la station source)

s2_AdrOffs (WORD, INT, UINT)

Adresse de départ de la zone 16 bits pour les opérandes source spécifiées par s2_AdrType (zone de données dans la station source)

d_Start (WORD, INT, UINT)

Adresse de départ de la zone 16 bits pour sauvegarder les données reçues (zone de données dans la station de destination). Doit être une constante

Les variables s2_AdrType, s2_AdrOffs et d_Start doivent être du même type de données.

Remarques

Caractéristiques de s1_Control :

Octet de poids fort de s1

Octet de poids faible de s1

1. N° de liaison (LK : 1 à 3, la station elle-même)

1. Transfert de mots

Possibilité de connecter jusqu’à 3 unités de liaison à 1 unité centrale.

F = 0

Transfert de mots

n2 = 0

Transfert du mot lorsque "0" est défini

Parmi les 3 unités de liaison, LK sélectionne l’unité de liaison source.

n1 = 11–16

Indique le nombre de mots qui doivent être envoyés

2. N° de la station de liaison (UN : 1 à 63, une autre station)

2. Transfert de bits

Possibilité de connecter jusqu’à 63 stations à 1 unité de liaison.

F = 1

Transfert de bits

UN sélectionne le numéro de station de destination

n2 = 0–15

N° du bit de destination

n1 = 0–15

N° du bit source

Conseil

Pour en savoir plus, voir le manuel technique du module intelligent correspondant.

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.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_VARIN,,control_value,7,3,9,5,);
B(B_VARIN,,start_address,7,4,9,6,);
B(B_VARIN,,offset,7,5,9,7,);
B(B_VARIN,,output_value,7,6,9,8,);
B(B_CONTACT,,start,3,2,5,4,);
B(B_F,F146_RECV!,Instance,9,1,17,8,,?DEN?Ds1_Control?Ds2_AdrType?Ds2_AdrOffs?Dd_Start?AENO);
L(1,3,3,3);
L(5,3,9,3);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps du POU

La fonction est exécutée lorsque la variable start est sur TRUE.

Corps en LD

	VAR
		start: BOOL:=FALSE;
			(*activates the function*)
		control_value: DWORD:=0;
			(*32-bit area for storing
control data*)
		start_address: WORD:=0;
			(*Starting 16-bit area
address for the source
operand specified in s2*)
		output_value: WORD:=0;
			(*Starting 16-bit area
address for storing data
received*)
		offset: INT:=0;
	END_VAR

Corps en ST

IF start then
    F146_RECV( s1_Control:= control_value, s2_AdrType:= start_address, n_AdrOffs:= offset,
              d_Start:= output_value);
END_IF;

Modifié le : 2022-04-20Feedback on this pagePanasonic hotline