DOCA0131ES-02

PKW: Accesos acíclicos encapsulados en DP V0

Descripción general

Algunos primarios (maestros) PROFIBUS DP no proporcionan servicios DP V1. La función PKW se ha implementado para permitir los accesos de lectura o escritura acíclicos en DP V0.

Esta característica se activa en la herramienta de configuración de PROFIBUS DP mediante la selección del módulo adecuado. Para cada módulo, existe una segunda entrada con PKW.

Los datos PKW se agregan a los datos cíclicos.

Registros de lectura/escritura

Con los datos PKW, podrá leer o escribir cualquier registro. Los 8 bytes se interpretan como un telegrama de solicitud o de respuesta encapsulado en datos de ENTRADA o de SALIDA.

Datos de PKW OUT

Las solicitudes de datos de PKW OUT (PROFIBUS DP Maestro → LTMR) se asignan en módulos que admiten PKW.

Para acceder a un registro, debe seleccionar 1 de los siguientes códigos de función:

  • R_REG_16 = 0x25 para leer 1 registro

  • R_REG_32 = 0x26 para leer 2 registros

  • W_REG_16 = 0x2A para escribir 1 registro

  • W_REG_32 = 0x2B para escribir 2 registros

Los números de registro se indican en Register Map (Organization of Communication Variables).

Palabra 1

Palabra 2

Palabra 3

Palabra 4

Dirección de registro

Bit de conmutación

(bit 15)

Bits de función

(bits 8 a 14)

No utilizado

(bits 0 a 7)

Datos para escribir

Número de registro

0/1

R_REG_16

Código 0x25

0x00

_

_

R_REG_32

Código 0x26

_

_

W_REG_16

Código 0x2A

Datos para escribir en el registro

_

W_REG_32

Código 0x2B

Datos para escribir en el registro 1

Datos para escribir en el registro 2

En función de la plataforma PLC utilizada, consulte las tablas que describen PKW OUT en los formatos little endian y big endian en la sección Descripción de datos cíclicos para conocer la ubicación de cada campo dentro de cada palabra.

Cualquier cambio en el campo de función activará la gestión de la solicitud (salvo si el código de función = 0x00).

El bit de conmutación debe cambiar en cada solicitud consecutiva. Este mecanismo permite al iniciador de la solicitud saber cuándo una respuesta está preparada consultando el bit de conmutación de la respuesta. Cuando este bit en los datos de salida sea igual al bit de conmutación emitido por la respuesta en los datos de entrada, la respuesta estará preparada.

Datos de PKW IN

Las respuestas de datos de PKW IN (Maestro PROFIBUS DP del LTMR → ) se asignan en módulos que admiten PKW. El LTMR responde con la misma dirección de registro y el mismo código de función o, finalmente, un código de error detectado:

Palabra 1

Palabra 2

Palabra 3

Palabra 4

Dirección de registro

Bit de conmutación

(bit 15)

Bits de función

(bits 8 a 14)

No utilizado

(bits 0 a 7)

Datos para escribir

Mismo número de registro que en la solicitud

Igual que para la solicitud

ERROR DETECTADO

Código 0x4E

0x00

Código de error detectado

R_REG_16

Código 0x25

Lectura de datos en registro

_

R_REG_32

Código 0x26

Lectura de datos en el registro 1

Lectura de datos en el registro 2

W_REG_16

Código 0x2A

_

_

W_REG_32

Código 0x2B

_

_

En función de la plataforma PLC utilizada, consulte las tablas que describen PKW IN en los formatos little endian y big endian en la sección Descripción de datos cíclicos para conocer la ubicación de cada campo dentro de cada palabra.

Si el iniciador intenta escribir un objeto o registro TeSys T en un valor ilícito o intenta acceder a un registro no accesible, se responderá con un código de error detectado como respuesta (código de función = bit de conmutación + 0x4E). El código de error exacto detectado se puede encontrar en las palabras 3 y 4. La solicitud no se acepta y el objeto o registro permanece en el valor antiguo.

Si desea volver a activar exactamente el mismo comando, debe llevar a cabo las siguientes acciones:

  • restablezca el código de función a 0x00,

  • espere la trama de respuesta con el código de función igual a 0x00 y, a continuación,

  • restablézcala a su valor anterior.

Esto resulta de utilidad para un primario (maestro) limitado como un HMI.

Otra manera de volver a activar exactamente el mismo comando es:

  • Invertir el bit de conmutación en el byte del código de función.

La respuesta es válida cuando el bit de conmutación de la respuesta es igual al bit de conmutación escrito en la respuesta (éste es un método más eficaz, pero se necesita una mayor capacidad de programación).

Códigos de error detectados del PKW

Errores de escritura detectados

Código de error detectado

Nombre del error detectado

Explicación

1

FGP_ERR_REQ_STACK_FULL

solicitud externa: devuelve una trama de error detectado

3

FGP_ERR_REGISTER_NOT_FOUND

registro no gestionado (o la solicitud requiere derechos de acceso de superusuario)

4

FGP_ERR_ANSWER_DELAYED

Solicitud externa: respuesta pospuesta

7

FGP_ERR_NOT_ALL_REGISTER_FOUND

no se encuentra uno o ambos registros

8

FGP_ERR_READ_ONLY

escritura de registro no autorizada

10

FGP_ERR_VAL_1WORD_TOOHIGH

el valor escrito está fuera del intervalo de registros (valor de palabra demasiado alto)

11

FGP_ERR_VAL_1WORD_TOOLOW

el valor escrito está fuera del intervalo de registros (valor de palabra demasiado bajo)

12

FGP_ERR_VAL_2BYTES_INF_TOOHIGH

el valor escrito está fuera del intervalo de registros (valor MSB demasiado alto)

13

FGP_ERR_VAL_2BYTES_INF_TOOLOW

el valor escrito está fuera del intervalo de registros (valor MSB demasiado bajo)

16

FGP_ERR_VAL_INVALID

el valor escrito no es un valor válido

20

FGP_ERR_BAD_ANSWER

solicitud externa: devuelve una trama de error detectado

Errores de lectura detectados

Código de error detectado

Nombre del error detectado

Explicación

1

FGP_ERR_REQ_STACK_FULL

solicitud externa: devuelve una trama de error detectado

3

FGP_ERR_REGISTER_NOT_FOUND

registro no gestionado (o la solicitud requiere derechos de acceso de superusuario)

4

FGP_ERR_ANSWER_DELAYED

Solicitud externa: respuesta pospuesta

7

FGP_ERR_NOT_ALL_REGISTER_FOUND

no se encuentra uno o ambos registros

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

¿Le ha resultado útil?