Leer Palabras de Entradas y Salidas:
(ModBus Function 01, 02)
Utilizando la función ReadIOWord, podrá leer palabras de Entradas, Salidas y Relays, (del tipo 0x y 1x en ModBus) de un PLC, Variador de Velocidad, Controlador de Temperatura, etc. Esta función permite la lectura de hasta 800 (ochocientas) posiciones de memorias de una vez, obteniendo el resultado en una cadena de caracteres separados por una coma con los valores expresados en Hexa. Cada valor en Hexa obtenido, representa a un grupo de hasta 8 Bits de registros leídos. Podrá convertir esta cadena en un Array utilizando la función de conversión «CStrToArray«.
Comando: ActiveMbus1.ReadIOWord (StationNumber, StartAddress, EndAddress)
Descripción de Argumentos:
StationNumber: Valor decimal que representa el número de la estación que se va a leer de 1- 247.
DataType: Indica el tipo de lectura a realizar. Los valores posibles son: «X» (Entradas), «Y» (Salidas), «R» (Relays).
StartAddress : Dirección inicial de lectura.
EndAddress: Dirección final de lectura (pueden leerse hasta 800 posiciones de memorias por vez).
Se obtendrá como resultado de la función una cadena de valores en Hexa separadas por comas, donde cada valor en Hexa representa al valor de palabras de hasta 8 Bits.
Ejemplo: Para leer los valores desde 10197 a 10218 de la estación 1, donde el valor de las entradas es el siguiente:
10204-10197 = AC (8 Bits)
10212-1l205 = DB (8 Bits)
10218-10213= 35 (restantes 6 Bits)
Private Sub cmdReadIOWord_Click()
‘El puerto debe estar abierto.
On Error Resume Next
Label3.Caption = PLC.ReadIOWord(1, «X», 10197, 10218)
If PLC.Status <> 0 Then
MsgBox (PLC.StatusText)
End If
End Sub
‘El resultado de Label1.Caption de este ejemplo será «AC,DB,35»
Análisis del Resultado: El estado de las entradas 10204-10197 se muestra como un Byte de valor AC en Hexa o en Binario 1010 1100.
La entrada 10204 es el valor mas significativo del byte y la entrada 10197 es el menos significativo. De izquierda a derecha el estado de las entradas 10204 a 10197 es: ON-OFF-ON-OFF-ON-ON-OFF-OFF.
El estado de las entradas 10218-10213 se muestra con el valor en Hexa 35 o en Binario 0011 0101. Donde la entrada 10218 se encuentra en el tercer Bit comenzando desde la izquierda, y la entrada 10213 es el valor menos significativo del Byte. Los estados de las entrados 10218 a 10213 son: ON-ON-OFF-ON-OFF-ON. Note que los dos Bits restantes de la izquierda (0011 0101) no deben ser tenidos en cuenta ya que se completan con cero porque no fueron incluidos en la lectura.
* Vea la propiedad OffSetMemory para establecer el corrimiento de memoria del equipo utilizado.