6.5
Recibir datos con 3964(R)
Establecimiento de la conexión al recibir
En estado de reposo, cuando no debe procesarse ninguna petición de transmisión, se espera
a que el interlocutor establezca la conexión.
Si durante el establecimiento de la conexión con STX no hay ningún búfer de recepción
disponible, se inicia un tiempo de espera (tiempo de espera = tiempo de retardo de acuse - 10
ms, aunque máximo 400 ms). Si transcurrido dicho tiempo no hay ningún búfer de recepción
libre, se genera un mensaje de error. Se envía el carácter NAK y se pasa al estado de reposo.
De lo contrario se envía el carácter DLE y se reciben los datos del modo descrito
anteriormente.
El tiempo de retardo de acuse debería ajustarse al mismo valor en ambos interlocutores.
Si durante el estado de reposo se recibe cualquier carácter (con la excepción de STX o NAK),
se espera primero a que transcurra el tiempo de retardo de caracteres y a continuación se
envía el carácter NAK. El módulo de comunicación emite el correspondiente mensaje de
error.
Recibir datos
Una vez que la conexión se ha establecido correctamente, los caracteres de recepción
entrantes se depositan en el búfer de recepción. Si se reciben dos caracteres DLE
consecutivos, solo uno de ellos se registra en el búfer de recepción.
Una vez establecida correctamente la conexión y después de cada carácter recibido, se espera
al siguiente durante el tiempo de retardo de caracteres. Si este transcurre sin recepción, se
envía el carácter NAK al interlocutor. El módulo de comunicación emite el correspondiente
mensaje de error. A continuación se espera una repetición.
Si durante la recepción se producen errores de transmisión (carácter perdido, error de trama,
error de paridad, etc.), se continúa recibiendo hasta que se produce la desconexión y, a
continuación, se envía el carácter NAK al interlocutor. A continuación se espera una
repetición. Si el bloque no puede recibirse sin errores tras el número de intentos especificado,
o si el interlocutor no vuelve a intentarlo dentro de un tiempo de espera de bloque de 4 s, se
cancela la recepción. El módulo de comunicación notifica la primera transmisión errónea y la
cancelación definitiva.
Desconexión al recibir
Si se detecta la secuencia de caracteres DLE ETX, se finaliza la recepción y se envía al
interlocutor el carácter DLE para confirmar la recepción sin errores de un bloque. Si, por el
contrario, se produce un error de recepción, envía el carácter NAK al interlocutor. A
continuación se espera una repetición.
Al detectarse la secuencia de caracteres DLE ETX BCC, se finaliza la recepción. Se compara el
carácter de control de bloque BCC con la paridad longitudinal calculada internamente. Si el
carácter de control de bloque es correcto y no se ha producido ningún otro error de
recepción, se envía DLE (regreso al estado de reposo). Si hay un error en el BCC o si se
produce cualquier otro error de recepción, se envía el carácter NAK al interlocutor. A
continuación se espera una repetición.
CM PtP en servicio sin instrucciones de sistema SIMATIC
Manual de programación y manejo, 05/2021, A5E03908201-AB
Transferencia de datos con 3964(R)
6.5 Recibir datos con 3964(R)
43