Puede combinarse en un log las muetras de digamos 4 canales VIO como entrada 4-20 y 3 como entrada de voltaje? es decir, conociendo que los canales del 1 al 4 serán usados en corriente y del 5 al 7 como voltaje.
Buenas tardes Miguel.
Si, puede combinarse en este caso.
En el ejemplo mencionado,
DiskSamplerLog4, se configura por defecto los canales VIO como entradas de voltaje.
Pero esto no impide, que los canales VIO1:4 se configuren como entradas de corriente 4-20 mA (
CIN), y los canales VIO5:7 sea entradas de voltaje (
VIN). Esto lo hacés en la función
SamplersInit() del ejemplo.
Entonces, podés remplazar:
for(new Ch=1; Ch <= SAMPLERS_CH; Ch++)
{
VioInitVin(Ch, VIO_TYPE_VIN_SINGLE, VIO_VIN_RANGE_N5V_5V, VIO_VIN_SAMPLES_NONE)
}
Por:
// Configurar canales VIO1:4 como entradas analógicas CIN de corriente 4-20 mA.
VioInitCin(1, VIO_TYPE_CIN, VIO_CIN_RANGE_DEFAULT, VIO_CIN_SAMPLES_NONE)
VioInitCin(2, VIO_TYPE_CIN, VIO_CIN_RANGE_DEFAULT, VIO_CIN_SAMPLES_NONE)
VioInitCin(3, VIO_TYPE_CIN, VIO_CIN_RANGE_DEFAULT, VIO_CIN_SAMPLES_NONE)
VioInitCin(4, VIO_TYPE_CIN, VIO_CIN_RANGE_DEFAULT, VIO_CIN_SAMPLES_NONE)
// Configurar canales VIO5:7 como entradas analógicas VIN de voltaje simple.
VioInitVin(5, VIO_TYPE_VIN_SINGLE, VIO_VIN_RANGE_N5V_5V, VIO_VIN_SAMPLES_NONE)
VioInitVin(6, VIO_TYPE_VIN_SINGLE, VIO_VIN_RANGE_N5V_5V, VIO_VIN_SAMPLES_NONE)
VioInitVin(7, VIO_TYPE_VIN_SINGLE, VIO_VIN_RANGE_N5V_5V, VIO_VIN_SAMPLES_NONE)
Nota: Recordar luego desde la página Web del ejemplo, especificar muestrear 7 canales analógicos.Como el ejemplo utiliza los "SAMPLERS" para muestrar a una tasa fija, lo que lee es voltaje, y eso es lo que se graba en el archivo binario, independiente de como esté configurado el canal VIO.
Por ello, luego en la aplicación de Visual C# cuando hacés el procesamiento de datos, al obtener el voltaje de los canales VIO1:4 (que son de corriente de acuerdo al PLC), debés dividir el valor de voltaje por "
84.1945", que es la resistencia en Ohms utilizada para la medición de corriente internamente (
ver figura 85, página 110 en la hoja de datos, allí se muestra el resistor "
Rcs" utilizado cuando se configura como entrada de corriente tipo
CIN).
Resumiendo, en C# para los canales VIO1:4, hacés la siguiente división:
Voltaje / 84.1945 = Corriente en amperesNotar que la corriente resultante está en amperes, si la querés en mili-amperes, para que se represente mejor, debés multiplicar por 1000.
(Voltaje / 84.1945) * 1000 = Corriente en mili-amperesY ese nuevo valor, es el que podés colocar en el archivo CSV o escalarlo a unidades de ingeniería.
Para los canales VIO5:7 no le aplicás la conversión a corriente, ya que son voltaje.
Eso es todo, avísame si lo podés realizar o no se entiende algo.
Saludos!
Atención: Al utilizar canales VIO como entradas de corriente 4-20 mA (CIN), no aplicar voltajes directos mayores a +/- 4.21 V al terminal VIO, ya que puede generar excesiva corriente y dañar la entrada (por el resistor que se activa internamente). Se recomienda leer hoja de datos para conexionado con sensores de 4-20 mA, sección 11.25.7, página 110. Si hay dudas, consulte.