Grabar Múltiples Salidas y Relays:

       (ModBus Function 15)

     Mediante la función SetMultipleCoils, podrá Grabar Palabras (agrupadas de hasta 8 Bits) de Salidas y Relays (del tipo 0x en ModBus) de un PLC, Variador de Velocidad, Controlador de Temperatura, etc. Esta función permite grabar hasta 800 (ochocientos) Bits de una vez, en la estación que se especifique. El valor a grabar debe ser una cadena de tipo String con los valores en Hexadecimales de 2 dígitos (representando el valor de grupos de a 8 Bits) separados por coma.  Podrá crear esta cadena desde un Array utilizando la función de conversión «CArrayToStr«.
      Comando: ActiveMbus1.SetMultipleCoils (StationNumber, StartCoilAddress,  EndCoilAddres, StringHexValue)
      Descripción de Argumentos:
            StationNumber: Número de la estación que se va a leer de 1- 247.
            StartCoilAddress : Dirección inicial del Bit a grabar.
            EndCoilAddress:  Dirección final del Bit a grabar.
            StringHexValue:  Cadena con valores Hexadecimales (de dos dígitos) separados por coma.

            Ejemplo: A continuación se muestra como «setear» el estado de 10 salidas (Y), comenzando por Y0

Private Sub Command1_Click()

‘Seteo 10 Salidas, desde (Y0 a Y9)

Call ActiveMbus1.SetMultipleCoils 1, 0, 9, «CD,01»     ‘En este ejemplo el parámetro OffSetMemory = 0

End Sub

 

            Resultado: El valor en Hexa «CD» (en binario 1100 1101), y el valor en Hexa «01» (en binario 0000 0001) indicados en la función, setearon las salidas de la siguiente manera.

Bit:       1   1    0    0   1   1    0   1          0   0   0   0   0   0   0   1   

Coil:    Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0        –    –    –    –    –   –  Y9 Y8

 

Nota: El primer byte Transmitido («CD» en Hexa) corresponden a las direccionesY7-Y0, donde Y0 es el Bit menos significativo. El siguiente byte transmitido («01» en Hexa) corresponden a las dos direcciones restantes Y9-Y8 con el bit Y0 como el menos significativo. Los bits que no fueron usados en el Byte se rellenan con ceros.

 

 

*  Vea la propiedad OffSetMemory para establecer el corrimiento de memoria del equipo utilizado.