Thread Content
La estación de tratamiento de aguas residuales de la empresa cuenta con un PLC Siemens PLC300 que se comunica con el sistema DCS para la supervisión y visualización de los datos. Existe un parámetro de presión que va de -0.1 MPa a -0.2 MPa; sin embargo, la presión real es de -0.05 MPa. En la pantalla del DCS se muestra siempre el valor 0. Al revisar el programa de configuración del PLC, se descubre que primero se multiplica el valor medido por 10, lo que da como resultado -0.5. Luego, este valor se convierte a un tipo de dato entero, y el resultado sigue siendo 0. Por eso, decidí multiplicar el valor medido por 100; así, el resultado fue -5. Pero cuando este valor se transmite al DCS, se muestra como 65535. ¿Por qué? ¿Alguien lo sabe?
65535, parece que estos datos han superado su límite. Ya que está en formato TRUC, debería ser un número entero de 16 bits, ¿qué pasa con DW? Sería mejor poder enviar una captura de pantalla del programa.
Esto consiste en transmitir el valor de 300 al DCS. Para facilitar la transmisión de valores negativos, se utilizan valores como -0.1 MPA o -0.2 MPA. Lo mejor es multiplicarlos por 10000, de modo que los valores queden entre -1000 y +2000. Luego, se suma 1000 a estos valores, para que queden entre 0 y 3000. Finalmente, la variable real se convierte en tipo dint; lo ideal es convertirla también a tipo int. Después, se transmite el valor al DCS y, posteriormente, se vuelve a realizar la conversión inversa.
Algo como esto: sería mejor si se transmitieran los valores originales del PLC AI y luego se realizaran las conversiones correspondientes en el DCS
Debería ser un desbordamiento de datos, pero no está claro por qué ocurre
Eso sí que es una solución; entonces, vamos a intentar modificarlo
De esa manera, todavía habría que tirar de los cables, lo cual es bastante complicado.
Tú ya eres una forma de comunicación, ¿no? Esto también es una forma de comunicación; simplemente se transmiten los valores originales antes de estandarizarlos con la IA. No es necesario usar cables para ello
¿Significa transmitir directamente la entrada de IA (un valor entre 0 y 27648)?
Sí, mejor realizar la conversión según el rango