WRITE_VARWRITE_VAR: Escritura de datos en un dispositivo Modbus
El bloque de funciones WRITE_VAR escribe datos en un dispositivo externo en el protocolo Modbus.
Descripción de parámetros específicos de WRITE_VAR
Entrada |
Tipo |
Comentario |
---|---|---|
ObjType |
ObjectType |
ObjType describe el tipo de objeto que se va a escribir (MW, Q). |
FirstObj |
DINT |
FirstObj es el índice del primer objeto que se va a escribir. |
Quantity |
UINT |
Quantity es el número de objetos a leer: oDe 1 a 123: registros (tipo MW) oDe 1 a 1.968: bits (tipo Q) |
Buffer |
POINTER TO BYTE |
Dirección del puntero a la matriz que contiene los datos que se escribirán en el dispositivo de destino. La matriz debe ser igual o superior a los datos que se escribirán. Por ejemplo, si se deben escribir 4 registros, es necesaria una matriz de 4 palabras, mientras que para la escritura de 32 bits se requiere una matriz de 2 palabras o 4 bytes, donde cada bit se establece en su valor correspondiente. Utilice la función ADR para transmitir la dirección del primer byte de la matriz (consulte el gráfico CFC del ejemplo). |
NOTA: Para evitar una infracción de acceso provocada por un acceso no válido del puntero (fuera de los límites) a la memoria, asegúrese de que el tamaño de la matriz vinculada a la entrada Buffer sea igual o superior a los datos que se escribirán en el dispositivo de destino. Se recomienda vincular la Quantity definida de datos que se escribirán en la declaración del búfer, como en el ejemplo siguiente.
|
INCOMPATIBILIDAD DE DATOS INTERCAMBIADOS |
Compruebe que los datos intercambiados son compatibles, porque las alineaciones de la estructura de datos no son las mismas para todos los dispositivos. |
El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o daño al equipo. |
En el ejemplo siguiente se muestra la implementación conjunta de los bloques de funciones WRITE_VAR y ADDM para la escritura de 10 salidas (bobinas) a partir de la dirección 0 de un esclavo Modbus. El esclavo Modbus se especifica con la dirección 8 y debe poder accederse a él a través de la interfaz 1 de línea serie. Una condición previa es que hay que configurar el Modbus Manager como maestro en la interfaz 1 de línea serie.