Configuración de dispositivos mediante el canal de servicio

Descripción general

El maestro Sercos puede usar el canal de servicio (SVC) para leer y escribir IDN y comandos de procedimiento. La comunicación mediante SVC usa el canal de tiempo real, pero no es cíclica. El tiempo de ejecución típico de un parámetro de 4 bytes es de aproximadamente 10 ciclos Sercos. En función de la disponibilidad de SVC, el tiempo de ejecución puede ser considerablemente mayor. Como es posible colocar en cola hasta 20 comandos de procedimiento y operaciones de lectura y escritura de IDN en un búfer común, un comando de procedimiento o una operación de lectura o escritura de IDN dados pueden tardar más tiempo en finalizar.

 Consulte Comunicación Sercos no cíclica mediante RTC si desea más información sobre SVC y consulte la sección Parámetros Sercos si desea más información sobre IDN y comandos de procedimiento.

Lectura y escritura de comandos de procedimiento

Los comandos de procedimiento se ejecutan de forma asincrónica. Esto significa que llamar a un comando de procedimiento no bloquea la tarea. Debe leer el estado del comando de procedimiento si desea saber si el comando de procedimiento ha finalizado.

Hay dos formas de ejecutar un comando de procedimiento:

oMediante FC_ExecuteProcedureCommandAsync con IDN y dirección de topología de los parámetros de entrada

oMediante FC_ExecuteProcedureCommandAsyncViaHandle con IDN y controlador de los parámetros de entrada

Posibles valores devueltos:

DINT

Nombre (ET_Result)

Descripción

0

Ok

Comando de procedimiento ejecutado.

8

Pending

Comando de procedimiento esperando ejecución.

–1

DeviceManagerInvalidDeviceHandle

El comando de procedimiento no se puede ejecutar.

Solo para llamada con controlador.

-2

DeviceManagerNoPhysicalSlaveConnected

El comando de procedimiento no se puede ejecutar.

-11

TopologicalAddressOutOfBounds

El comando de procedimiento no se puede ejecutar.

Solo para llamada con dirección de topología.

-15

ServiceChannelIdnInvalid

El comando de procedimiento no se puede ejecutar.

-43

ServiceChannelBusy

El comando de procedimiento no se puede ejecutar.

-99

UnexpectedFeedback

El comando de procedimiento no se puede ejecutar.

Hay dos formas de leer el estado de un comando de procedimiento:

oMediante FC_ReadProcedureCommandAsync con dirección de topología de los parámetros de entrada

oMediante FC_ReadProcedureCommandAsyncViaHandle con controlador de los parámetros de entrada

Los valores devueltos son los mismos que en la ejecución de un comando de procedimiento. La llamada devuelve el estado del comando de procedimiento que se está procesando. Si no se está procesando ningún comando de procedimiento, la llamada devuelve el estado del siguiente comando de procedimiento de la cola. Un comando de procedimiento ha finalizado si el valor devuelto no es 8.

Lectura y escritura de IDN

La lectura o la escritura de un parámetro se realizan de forma asincrónica. Esto significa que la tarea no se bloquea.

Use el bloque de funciones FB_WriteIDN para escribir un parámetro y el bloque de funciones FB_ReadIDN para leer los valores de un parámetro.

El tiempo de espera es uno de los parámetros de entrada de FB_WriteIDN y FB_ReadIDN. El valor predeterminado del tiempo de espera es 1 000 000 µs (1 s). El tiempo de espera empieza a contar cuando se desencadena el comando de lectura o escritura, no cuando empieza en la cola. En función del número de elementos de la cola y del tiempo necesario para procesar estos elementos, es posible que un comando de lectura o escritura agote su tiempo de espera incluso antes de empezar a procesarse.