Leer datos desde la estación esclava
Esta instrucción lee datos de la unidad inteligente especificada de la estación esclava MEWNET-F.
Entrada
Almacena los datos de control de la configuración Maestro/Esclavo
Dirección de inicio del área de memoria a leer
Nùmero de palabras a leer (máx. 32 palabras)
Área 16 bits para almacenar las palabras leídas, (consultar F153)
Las variables s2_Start y d_Start tienen que ser del mismo tipo de datos.
No es posible ejecutar varias instrucciones F152_RMRD e instrucciones F153_RMWT al mismo tiempo. El programa se debe crear de forma que estas instrucciones se ejecuten cuando la bandera de ejecución habilitada sys_bIsMewnetFNotActive de F152_RMRD/F153_RMWT esté a TRUE.
sys_bIsMewnetFNotActive | 0: Ejecución inhabilitada. (se está ejecutando la instrucción F152_RMRD/F153_RMWT.) 1: Ejecución habilitada |
La instrucción F152_RMRD solo habilita un petición. El proceso real se lleva a cabo al final del ciclo de scan. La bandera de ejecución completa (R9036) de la instrucción F152_RMRD/F153_RMWT se puede utilizar para confirmar si la instrucción se ha ejecutado o no.
sys_bIsMewnetFError | 0: Finalización normal 1: Ejecución completa con errores (el código de error se almacena en sys_wMewnetFErrorCode) |
sys_wMewnetFErrorCode | Si la transmisión ha finalizado con un error (sys_bIsMewnetFError (pasa a TRUE y permanece TRUE) ), se almacena el código de error . |
Código de error (HEX) |
Descripción |
---|---|
16#5B |
Error de tiempo de espera (no se ha encontrado ningún módulo inteligente en la posición especificada) |
16#68 |
Error de memoria (no existe memoria en la dirección especificada) |
16#71 |
Error de tiempo de espera para envío de respuesta |
16#72 |
Error de tiempo de espera del buffer de envío |
16#73 |
Error de tiempo de espera de respuesta |
Si el código de error es 16#71–16#73, se ha producido un error de tiempo de espera (timeout) en la comunicación El tiempo de espera se puede modificar dentro del rango de 10,0 mseg a 81,9 seg. (en unidades de 10 mseg), utilizando la configuración del registro del sistema 32. El valor por defecto es de 2 segundos.
s1 almacena los datos de control de la configuración de los módulos Maestro y Esclavo en la red. Se leen n palabras comenzando en la dirección de la memoria compartida del módulo inteligente, especificada en s2_Start. El resultado se almacena en d.
Especificación de s1_Control:
Unidad inteligente con banco de memoria: Memoria de expansión del FP3
Referencia: AFP32091 AFP32092
si el dato de control s1_Control excede el límite del rango especificado
si no se ha encontrado el módulo maestro MEWNET-F
si los datos leídos superan el área s2_Start
si el dato de control s1_Control excede el límite del rango especificado
si no se ha encontrado el módulo maestro MEWNET-F
si los datos leídos superan el área s2_Start
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;
ControlData: DWORD:=16#000A0105;
(*No bank,
slot no. 10,
Master station 1,
Slave station 5*)
StartingAddress: WORD:=0;
NoWordsWrite: INT:=5;
WordsWritten: ARRAY [0..4] OF WORD:=[5(0)];
END_VAR
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_F,F152_RMRD,,11,1,20,8,,?DEN?D@'s1'?Ds2?Dn?Dd?AENO);
B(B_CONTACT,,Start,5,1,7,3,);
B(B_VARIN,,ControlData,9,3,11,5,);
B(B_VARIN,,StartingAddSlave,9,4,11,6,);
B(B_VARIN,,NumberWordsRead,9,5,11,7,);
B(B_VARIN,,WordsRead[0],9,6,11,8,);
L(1,0,1,8);
L(1,2,5,2);
L(7,2,11,2);
L(11,2,11,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (Start) Then
F152_RMRD(s1_Control := ControlData,
s2_Start := StartingAddress,
n_Number := NoWordsWrite,
d_Start := WordsRead[0]);
End_if;