SCADA and data acquisition with iQuimiCAD Software 2024

demostrative video

New version : iQuimiCAD Software 2024
Balance de materia y energia ( Energy and Mass )
Reactores (Reactors)
Control de procesos (process Control)
Automatizacion de Procesos (Process Automatization)
Sistemas SCADA y HMI ( SCADA and HMI systems)
iQuimiCAD software

Moderador:
Por favor, lee las Normas del foro y edita tu titulo usando español, si quieres postear en el foro en inglés no lo hagas ahora porque ya lo hiciste en este y si lo hicieras hablando en español te moverían a este foro.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en (<CODE/>)



Movido a Documentación.

/*
  electronica-peru.com
  ep.electronica-peru.com
*/
const int PinA0 = A0;
const int PinA1 = A1;
const int PinA2 = A2;
const int PinA3 = A3;
const int PinA4 = A4;
const int PinA5 = A5;

int ValueA0 = 0;        // value read from the pot
int ValueA1 = 0;        // value read from the pot
int ValueA2 = 0;        // value read from the pot
int ValueA3 = 0;        // value read from the pot
int ValueA4 = 0;        // value read from the pot
int ValueA5 = 0;        // value read from the pot

int i=0;

int caracterrecibido = 0;   //  serial data recibido
void setup() {pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);pinMode(8, OUTPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(11, OUTPUT);pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  // incia communications serial  a 9600 bps:
  Serial.begin(9600,SERIAL_7N1);//Serial.begin(speed, config) config: sets data, parity, and stop bits. Valid values are : 
}

void loop() {
ValueA0= analogRead(PinA0);Serial.print(ValueA0);Serial.print(";");
ValueA1= analogRead(PinA1);Serial.print(ValueA1);Serial.print(";");
ValueA2= analogRead(PinA2);Serial.print(ValueA2);Serial.print(";");
ValueA3= analogRead(PinA3);Serial.print(ValueA3);Serial.print(";");
ValueA4= analogRead(PinA4);Serial.print(ValueA4);Serial.print(";");
ValueA5= analogRead(PinA5);Serial.print(ValueA5);Serial.print(";");
Serial.println("");

 if(!i){for(i=6;i<=13;i++){digitalWrite(i, !LOW);  }}
     if (Serial.available() > 0) {
                // lo leemos y lo ponemos en caracterrecibido:
                caracterrecibido = Serial.read();
switch(caracterrecibido)
   {
   case 100: digitalWrite(6, !HIGH); break;//d
   case 101: digitalWrite(7, !HIGH); break;//e
   case 102: digitalWrite(8, !HIGH); break;//f
   case 103: digitalWrite(9, !HIGH); break;//g
   case 104: digitalWrite(10, !HIGH); break;//h
   case 105: digitalWrite(11, !HIGH); break;//i
   case 106: digitalWrite(12, !HIGH); break;//j
   case 107: digitalWrite(13, !HIGH); break;//k

   case 108: digitalWrite(6, !LOW); break;//l
   case 109: digitalWrite(7, !LOW); break;//m
   case 110: digitalWrite(8, !LOW); break;//n
   case 111: digitalWrite(9, !LOW); break;//o
   case 112: digitalWrite(10, !LOW); break;//p
   case 113: digitalWrite(11, !LOW); break;//q
   case 114: digitalWrite(12, !LOW); break;//r
   case 115: digitalWrite(13, !LOW); break;//s
   
   case 116: digitalWrite(6, !HIGH);digitalWrite(7, !HIGH);digitalWrite(8, !HIGH);digitalWrite(9, !HIGH); 
             digitalWrite(10, !HIGH);digitalWrite(11, !HIGH);digitalWrite(12, !HIGH);digitalWrite(13, !HIGH); break;//t
             
   case 117: digitalWrite(6, !LOW);digitalWrite(7, !LOW);digitalWrite(8, !LOW);digitalWrite(9, !LOW); 
             digitalWrite(10, !LOW);digitalWrite(11, !LOW);digitalWrite(12, !LOW);digitalWrite(13, !LOW); break;//u

   case 118: digitalWrite(6, !HIGH);digitalWrite(7, !HIGH);digitalWrite(8, !HIGH);digitalWrite(9, !HIGH); 
             digitalWrite(10, !LOW);digitalWrite(11, !LOW);digitalWrite(12, !LOW);digitalWrite(13, !LOW); break;//v
             
   case 119: digitalWrite(6, !LOW);digitalWrite(7, !LOW);digitalWrite(8, !LOW);digitalWrite(9, !LOW); 
             digitalWrite(10, !HIGH);digitalWrite(11, !HIGH);digitalWrite(12, !HIGH);digitalWrite(13, !HIGH); break;//w
             
    case 120: digitalWrite(6, !HIGH);digitalWrite(7, !LOW);digitalWrite(8, !HIGH);digitalWrite(9, !LOW); 
             digitalWrite(10, !HIGH);digitalWrite(11, !LOW);digitalWrite(12, !HIGH);digitalWrite(13, !LOW); break;//x
             
   case 121: digitalWrite(6, !LOW);digitalWrite(7, !HIGH);digitalWrite(8, !LOW);digitalWrite(9, !HIGH); 
             digitalWrite(10, !LOW);digitalWrite(11, !HIGH);digitalWrite(12, !LOW);digitalWrite(13, !HIGH); break;//y         
   }
              // say what you got:
               // Serial.print("I received: ");
              //  Serial.print(incomingByte, DEC);
        }
  delay(500);
}

¿Algún problema con HIGH y LOW que los niegas?

¿Por qué no escribir HIGH en lugar de !LOW y LOW en lugar de !HIGH?

por alguna razon el modulo de relays trabaja de ese modo, y para la lectura parece menos confuso, tendrias que probar si en tu caso trabaja bien sin la negacion, adelante puedes quitarlas

Moderador:
Por favor, lee las Normas del foro y edita tu titulo expresándolo en español según corresponda.
Cuesta poco también dar un contexto de porque has posteado esto.

Bromeas no? Y solo para sostener el punto de @MaximoEsfuerzo.
Acaso, planteas que no entendemos algebra de Boole?

!LOW = HIGH
!HIGH = LOW

No hace falta comprobar nada. Ningun relé va ha hacer algo diferente de un modo u otro.
Pero no deja de ser contraintuitivo.

no es un problema en absoluto, el codigo trabaja perfectamente y es adaptable y modificable al gusto y uso del usuario final, el sistema iQuimiCAD puede controlar los puertos del arduino como cualquier sistema SCADA, adquiere datos de los 6 puertos analogicos, los graba para el usuario final, puede hacer un control automatizado de algun elemento como una bomba segun lo programes, se integra con los modulos arduino en su totalidad saludos.

asi es , es una broma, pruebalo por ti mismo y nos comentas tus resultados, que tengas buen dia.

/*
  
  iquimicad@gmail.com
*/
const int PinA0 = A0;
const int PinA1 = A1;
const int PinA2 = A2;
const int PinA3 = A3;
const int PinA4 = A4;
const int PinA5 = A5;

int ValueA0 = 0;        // value read from the pot
int ValueA1 = 0;        // value read from the pot
int ValueA2 = 0;        // value read from the pot
int ValueA3 = 0;        // value read from the pot
int ValueA4 = 0;        // value read from the pot
int ValueA5 = 0;        // value read from the pot

int i=0;

int caracterrecibido = 0;   //  serial data recibido
void setup() {pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);pinMode(8, OUTPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(11, OUTPUT);pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  // incia communications serial  a 9600 bps:
  Serial.begin(9600,SERIAL_7N1);//Serial.begin(speed, config) config: sets data, parity, and stop bits. Valid values are : 
}

void loop() {
ValueA0= analogRead(PinA0);Serial.print(ValueA0);Serial.print(";");
ValueA1= analogRead(PinA1);Serial.print(ValueA1);Serial.print(";");
ValueA2= analogRead(PinA2);Serial.print(ValueA2);Serial.print(";");
ValueA3= analogRead(PinA3);Serial.print(ValueA3);Serial.print(";");
ValueA4= analogRead(PinA4);Serial.print(ValueA4);Serial.print(";");
ValueA5= analogRead(PinA5);Serial.print(ValueA5);Serial.print(";");
Serial.println("");

 if(!i){for(i=6;i<=13;i++){digitalWrite(i, !LOW);  }}
     if (Serial.available() > 0) {
                // lo leemos y lo ponemos en caracterrecibido:
                caracterrecibido = Serial.read();
switch(caracterrecibido)
   {
   case 100: digitalWrite(6, HIGH); break;//d
   case 101: digitalWrite(7, HIGH); break;//e
   case 102: digitalWrite(8, HIGH); break;//f
   case 103: digitalWrite(9, HIGH); break;//g
   case 104: digitalWrite(10, HIGH); break;//h
   case 105: digitalWrite(11, HIGH); break;//i
   case 106: digitalWrite(12, HIGH); break;//j
   case 107: digitalWrite(13, HIGH); break;//k

   case 108: digitalWrite(6, LOW); break;//l
   case 109: digitalWrite(7, LOW); break;//m
   case 110: digitalWrite(8, LOW); break;//n
   case 111: digitalWrite(9, LOW); break;//o
   case 112: digitalWrite(10, LOW); break;//p
   case 113: digitalWrite(11, LOW); break;//q
   case 114: digitalWrite(12, LOW); break;//r
   case 115: digitalWrite(13, LOW); break;//s
   
   case 116: digitalWrite(6, HIGH);digitalWrite(7, HIGH);digitalWrite(8, HIGH);digitalWrite(9, HIGH); 
             digitalWrite(10, HIGH);digitalWrite(11, HIGH);digitalWrite(12, HIGH);digitalWrite(13, HIGH); break;//t
             
   case 117: digitalWrite(6, LOW);digitalWrite(7, LOW);digitalWrite(8, LOW);digitalWrite(9, LOW); 
             digitalWrite(10, LOW);digitalWrite(11, LOW);digitalWrite(12, LOW);digitalWrite(13, LOW); break;//u

   case 118: digitalWrite(6, HIGH);digitalWrite(7, HIGH);digitalWrite(8, HIGH);digitalWrite(9, HIGH); 
             digitalWrite(10, LOW);digitalWrite(11, LOW);digitalWrite(12, LOW);digitalWrite(13, LOW); break;//v
             
   case 119: digitalWrite(6, LOW);digitalWrite(7, LOW);digitalWrite(8, LOW);digitalWrite(9, LOW); 
             digitalWrite(10, HIGH);digitalWrite(11, HIGH);digitalWrite(12, HIGH);digitalWrite(13, HIGH); break;//w
             
    case 120: digitalWrite(6, HIGH);digitalWrite(7, LOW);digitalWrite(8, HIGH);digitalWrite(9, LOW); 
             digitalWrite(10, HIGH);digitalWrite(11, LOW);digitalWrite(12, HIGH);digitalWrite(13, LOW); break;//x
             
   case 121: digitalWrite(6, LOW);digitalWrite(7, HIGH);digitalWrite(8, LOW);digitalWrite(9, HIGH); 
             digitalWrite(10, LOW);digitalWrite(11, HIGH);digitalWrite(12, LOW);digitalWrite(13, HIGH); break;//y         
   }
              // say what you got:
               // Serial.print("I received: ");
              //  Serial.print(incomingByte, DEC);
        }
  delay(500);
}

Suerte que ahora haz dicho de que va la cosa, te aseguro que estuve a punto de denunciar tu publicación como spam porque vi una muy similar de hace 4 años atrás

y solo eso de tu parte. Parece que estuvieses promocionando tus videos más que un aporte. :wink:

Difícil que se pueda probar algo...

Google Drive dice

En estos momentos no puedes ver ni descargar este archivo.
Este archivo lo han visto o descargado demasiados usuarios últimamente. 
Prueba a acceder a él de nuevo más tarde. 
Si el archivo al que intentas acceder es especialmente grande o se comparte con muchos usuarios, es posible que tardes hasta 24 horas en verlo o en descargarlo. 
Si transcurrido este tiempo sigues sin poder acceder a él, ponte en contacto con el administrador del dominio.

preguntas si es un aporte o no, quisiera saber si lo has probado o solo es una opinion que emites sin antes probar algo?... pues dime tu si un software puede hacer control y tomar datos de temperatura, presion, pH, etc de cualquier sensor conectado al arduino y a partir de estos tomar una desicion y mover o impulsar una bomba, como de hecho lo hace el software iQuimiCAD porque yo si lo he probado, y no solo yo, hay videos en youtube que demuestran esto. Tal vez sea el momento que te pongas manos a la obra y lo pruebes antes de emitir una opinion no crees?, saludos estimado amigo.

¿Haz leído que te estoy avisando que no se puede descargar? ¿Cómo podría probarlo?

Y no estoy criticando el software, estoy criticando la falta de información en la presentación.
Si no miro el video no me entero que es lo que quieres mostrar.

Moderador:

No estoy de acuerdo con la forma en que te estas manejando.

Primero: Indica de que va el tema. Porque no has preguntado nada y si quieres explicar o mostrarlo para su uso entonces coloca un link para poder descargarlo porque te aseguro que lo único que encuentro es del 2012 o links a google drive desde tu presentaci´on en youtube. Para eso coloca el link al sitio de descarga ya que es un shareware, de lo contrario no es shareware.
Tu viniste al foro con el tema.
No hay link, no hay manual, no hay un ejemplo que sirva para entender algo.
Post#1 no dice nada
Post#3 pones un código y no dices nada.

Te hacen comentarios y te burlas de los mismos.

Si no lo podemos probar, por supuesto que no podemos validar nada de lo que dices.

Tienes que entender que suena raro lo que estas mostrando, porque al no presentarlo bien tenemos todo el derecho a desconfiar. El software debe existir pero porque el hermetismo?

Si es shareware como dices, debería estar por todos lados y no lo esta.

Una búsqueda de iQuimiCAD Software 2024 no arroja nada mas que pedidos de acceso a tu google driver porque esla misma voz en todos de esta presentación.

pide que deje mi email para conceder el acceso, cosa que no haré

lo mismo 2 dias atras

lo mismo x 3ra vez.

Esto es lo que hay del 2012

Y si no tenemos esto

Por favor, intenta ser serio!!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.