Enviar datos (enlace MEWNET)
Esta instrucción envía datos a otra estación a través de los módulos de enlace en la red.
Entrada
Área de 32 bits para almacenar los datos de control
Dirección inicial (área de 16 bits) de los datos fuente (área de datos en la estación origen)
Tipo de operandos para almacenar los datos en la estación destino. Seleccionar el área en la dirección 0 (por ejemplo, DT0 ó WR0, ...) (área de datos en la estación de destino)
Dirección inicial (área de 16 bits) para el operando destino especificado en d_AdrType (área de datos en la estación de destino), debe ser una constante
Las variables s2_Start, d_AdrType y d_AdrOffs tienen que ser del mismo tipo de datos.
Especificación de s1_Control:
s1 byte más significativo |
s1 byte menos significativo |
|
---|---|---|
1. Selección del N° de enlace (LK: de 1 a 3, la propia estación) |
1. Unidad de envío: palabra |
|
Se pueden conectar hasta 3 unidades de enlace a 1 CPU. |
F = 0 |
Especifica la unidad de palabra |
n2 = 0 |
Especificar "0" para seleccionar la unidad de palabra |
|
(LK) Especifica la unidad de enlace origen. |
n1 = 11–16 |
Especificar el número de palabras a enviar |
2. Selección del número de estación de enlace (UN: de 1 a 63, otra estación) |
2. Unidad de envío: bit |
|
Se pueden conectar hasta 63 estaciones a 1 unidad de enlace. |
F = 1 |
Especifica la unidad de bit |
(UN) Especifica el N° de estación destino. |
n2 = 0–15 |
N° de bit destino |
n1 = 0–15 |
N° de bit origen |
Para obtener una información más detallada, consultar el manual técnico de la propia unidad inteligente.
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
VAR
start: BOOL:=FALSE;
(*activates the function*)
specify_value: DWORD:=0;
(*stores the control data*)
send_address: WORD:=0;
(*Starting 16-bit area for
storing source data*)
dest_address: WORD:=0;
(*Type of destination
operands for storing data
in the destination station*)
n: INT:=0;
END_VAR
Cuando la variable start está ajustada a TRUE, se ejecuta la función.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_CONTACT,,start,3,1,5,3,);
B(B_F,F145_SEND!,Instance,9,0,17,7,,?DEN?Ds1_Control?Ds2_Start?Dd_AdrType?Dd_AdrOffs?AENO);
B(B_VARIN,,specify_value,7,2,9,4,);
B(B_VARIN,,send_address,7,3,9,5,);
B(B_VARIN,,dest_address,7,4,9,6,);
B(B_VARIN,,5,7,5,9,7,);
L(1,2,3,2);
L(5,2,9,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF start then
F145_SEND( specify_value, send_address, dest_address, 5);
END_IF;