Mostrar Mensajes

Esta sección te permite ver todos los mensajes hechos por este usuario, recuerda que solo puedes ver los mensajes en áreas en donde tu tienes acceso.


Temas - Mariano

Páginas: [1] 2
1
STX8091 / Guardar registros a PC
« : septiembre 13, 2018, 12:26:47 pm »
Estimado Boris que tal,

Estuve leyendo el foro

http://foro.slicetex.com/index.php?topic=347.0


Me interesa implementar el recurso de descarga de datos por medio de la aplicación explicada.

Basicamente desarrollar un Datalogger de registros usando la aplicación en Visual C#.

Ahí se dice que la versión de dicho software debe ser la 2015 en caso de necesitar modificar el ejecutable.

Probe la aplicación y me funcionó sin problemas en windows 2010.

Consulta1: Será posible hacerla funcionar en windows 2007? y en xp?

Consulta2: Podrías pasarme unas líneas de código PAWN para guardar datos en la EEPROM de un PLCSTX8091-D1?

Consulta3: Por favor pasame a mi correo una cotización actualizada de un PLC PLCSTX8091-D2.

Saludos

Mariano

2
STX8091 / Array de registros por email
« : mayo 04, 2018, 13:47:07 pm »
Que tal Boris,

Será posible realizar el envío por mail desde el PLC de un array de registros?
Si es así te pido si podrías enviarme un código de ejemplo.
Los registros que quiero enviar deberían contener la hora de lectura y un valor entero de 0 a 300 por ejemplo:

11:53:48 || 201
12:03:48 || 199

Etcetera...

La idea general sería que una vez lleno un array capaz de almacenar 60 registros de este tipo se dispare un correo automático para almacenar esos registros.

Saludos

3
STX8091 / Enviar emails desde PLC stx8091-d1
« : mayo 02, 2018, 21:42:18 pm »
Buenas noches Boris,

Necesito implementar el envío de e-mails.
Cargué el ejemplo de la página en la última versión de stxladder con el PLC con firmware actualizado a versión 209 y tengo conexión al hmi virtual, sin embargo me da los errores -13 y -15 y no se realiza el envío del correo.
Que pasos me recomendarías seguir para buscar la solución?
Estoy utilizando el ejemplo MailExampleSimple2 con SMTP propio del PLC. Según HMI se intenta enviar el correo pero se producen los errores mencionados. Intento enviar el correo a una cuenta de hotmail.

Saludos

4
STX8091 / No puedo conectar el PLC a la PC (solucionado)
« : mayo 01, 2018, 11:48:24 am »
Feliz dia estimado Boris.

Intento conectar un PLC 8091-D1 a la PC y al conectar el cable de red
noto que no encienden los leds del puerto ethernet del PLC. Habrá algún problema de hardware?

Para probar intente realizar un seteo de parámetros a valores de fabrica y configurar a la placa de red de la PC para conectar con ip fija a puerto TCP/IP. Los leds del PLC

RTC - RUN ERROR - POWER ON

quedaron encendidos de forma permanente y ahi note que los del puerto ethernet no están enciendendo.

Saludos

5
STX8091 / Agregar nueva conexion RS485
« : febrero 11, 2018, 10:56:33 am »
Que tal Boris:

Resulta q ya tengo ocupados tanto el puerto ethernet como el RS232/485 para un panel HMI. Necesito conectar un nuevo dispositivo al PLC para lectura de datos via RS485. Que posibilidades existen bien para ampliar el PLC existente (agregando un nuevo puerto RS485) o será más factible la instalación de un nuevo PLC que realice especificamente la función de recibir estos datos.

Saludos

6
STX8091 / Consulta cambio versión stxladder de 1.7.5 a 1.8.2
« : agosto 31, 2017, 16:05:55 pm »
Hola Boris,

Resulta q al cambiar versión stxladder 1.7.5 a 1.8.2 el compilador me acusa errores de variables no definidas.

Errores q no surgen en la versión 1.7.5.

Estas variables se usan en una función escrita separada de PLC Main, pero están definidas dentro de PLC Main de la siguiente forma:

   new litros[60];
   new puntero_litros=0;

Al compilar me salta el error de que no están definidas.
Te envío una imagen de la captura de pantalla con la función Borrado.p y los errores que surgen al intentar compilar con 1.8.2

Existirá en esta nueva versión algún cambio en la sintaxis al definir variables globales?

Saludos




7
SH-300 / Display encendido permanentemente
« : enero 20, 2017, 17:22:46 pm »
Que tal Boris,

El panel junto al plc opera perfecto según lo previsto.
Muy fácil de configurar.

Tal vez sea una consulta algo básica, pero en el manual original del SH300
no lo veo especificado y quiero salir de dudas.

¿Se puede dejar el display encendido en forma permanente sin que ello disminuya su vida útil?

Saludos

8
STX8091 / Dos consultas sobre C#
« : junio 05, 2016, 14:54:39 pm »
Que tal Boris,

Te paso dos consultas…
*******************************************************************
1- Iniciándome en Visual C# me aparece un error al incluír la línea de programa:

PioBoard = new Stx8xxx("192.168.1.81", 0, Stx8xxxId.STX8081);

Realizando lo indicado en la AN001, recién al incluír esta línea mencionada el Visual Studio me da un error al querer correr el programa; mediante el botón Start Debug…

Te adjunto los archivos como Zip, y las imágenes que me aparecen en el error.
Al PLC le cargué el proyecto adjunto en la nota de aplicación Udp.RX.

La aplicación en Windows luego del error queda corriendo y activa/desactiva correctamente la salida 1 en el PLC.

Además, si en Visual le genero la solución (como aplicación terminada)… el programa completo de prueba funciona sin errores aparentes activando/desactivando el relé del PLC.

(Imágen 1 en word adjunto)

Si yo le doy a “No”… el programa corre y funciona (al parecer normalmente)….

(Imágen 2 en word adjunto)

El problema aparece al cerrarlo para tratar de volver al entorno de Visual… lo cierro con la clásica X… pero el entorno queda como “colgado”….

Te paso los códigos para que los pruebes a ver si te suceden los mismos errores… al parecer queda algo “colgado” o un bucle infinito que no permite retornar el control al entorno…

Con un programa de prueba sencillo en C# no se me producen errores… es decir, corro mediante Start debug y al cerrarlo el entorno vuelve a responder normalmente…


/////////////////

Si en la imagen 1, le doy a “si” para depurar se me abre un aplicativo IntelliTrace en el que me informa luego que el error correponde a un desbordamiento de la pila….

No obstante el entorno también queda como en un bucle infinito..... cómo podría evitarse este error?

*******************************************************************
2- En la sentencia:

PioBoard = new Stx8xxx("192.168.1.81", 0, Stx8xxxId.STX8081);

Cómo sería la sintaxis para agregar una IP remota (no en LAN) ? por ejemplo

186.190.175.158:83

Esto sería para direccional un PLC fuera de la LAN, es decir conectado a un router o modem que realiza un fordwarding mediante el puerto 83...

El código PAWN del PLC también debería cambiar?

Te adjunto un word donde estan las imágenes y los codigos de programa...

Saludos

9
STX8091 / Guardar en EEPROM Fecha y Hora
« : mayo 05, 2016, 11:54:12 am »
Hola Boris,

Tendrás algún código de ejemplo para guardar en memoria EEPROM los datos de la fecha y la hora del RTC...?

Saludos

10
STX8091 / Entrada Analógica 4-20ma
« : abril 22, 2016, 09:56:12 am »
Estimado Boris,

Instalé otro PLC para suplir el funcionamiento del que daño la tormenta.
Le cargué el mismo código de programa y tengo un problema con el valor de corriente que me muestra al acceder al servidor del plc.

Dicha corriente es de 13ma. Mediante osciloscopio se ve que la señal no presenta ningún tipo de ruido.

El problema es que el server me muestra un valor de 33 ma....

Te paso el codigo de PLC main y del evento postprint.

Seguro es un error de programa pero no me doy cuenta cual... Te comento que el jumper 3 está colocado.

Por mail voy a pasarte la dirección IP actual de acceso para que pruebes.

En este momento estoy tratando de solucionarlo.
Re-leí de nuevo el manual Pawn en esta parte pero no encuentro el problema.

Probé desactivar el filtro pero sigue dando lectura de 33ma en lugar de 13ma (que es lo que mido).

Aguardo tu respuesta...

Te paso los códigos:

PLC MAIN::::

Código: (Pawn) [Seleccionar]

// --------------------------------------------------------------------------------
// Archivo      : PlcMain.p
// Titulo       : Script principal del PLC.
//
// Creado por   : StxLadder Version 1.7.2.
// Fecha        : 29/01/2016 07:59:31
//
// Descripcion  :
//
// Aqui puede describir su proyecto.
//
// --------------------------------------------------------------------------------

//{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{

// --------------------------------------------------------------------------------
// Archivo      : PlcMain.p
// Titulo       : Servidor TCP/IP ejemplo Cooperativa Oliva.
//
// Creado por   : StxLadder Version 1.7.0.
// Fecha        : 24/12/2015 10:58:44
//
// Descripcion  :
//
// Este ejemplo configura el PLC como servidor TCP.
// El mismo acepta conexiones en el puerto 48000.
//
// Comprueba la recepcion de dos bytes y de acuerdo al valor
// de los mismos, activa las salidas DOUT1 a DOUT2.
//
// Cuando los bytes son recibidos, responde al cliente enviando
// dos bytes con el estado de las entradas digitales DIN1 y DIN2.
//
// --------------------------------------------------------------------------------

//}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}


// ********************************************************************************
// Funcion     : PlcMain()
// Descripcion : Punto de entrada principal del PLC.
// ********************************************************************************


//{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
// --------------------------------------------------------------------------------
// VARIABLES GLOBALES
// --------------------------------------------------------------------------------

// Buffer de recepcion.
new RxData[10]

// Buffer de transmision.
new TxData[5]
//}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

// Crear variable para almacenar corriente.
new Float: Corriente = 0;
new Float: V_alim_sens = 0;
new Float: V_alim_prom=0;
new cont_prom=1;

PlcMain()
{

//{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
   // Inicializar TCP Server.
   // Puerto: 82
   // Timeout Idle: 30 segundos.
   
 //  TcpServerInit(82, 30)
   
   // Activar evento para recepcion de datos de cliente.
 //  TcpServerSetRxEvent()   
//}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}   

   // Inicializar Web Server.
  WebServerInitialize();   // a este lo sigo iniciando en el puerto 82
   

   // Configuro rango Vin1 de 0 a 5 volt
VinSetRange(1, VIN_RANGE_5V); /// ver bien esto
VinSetRange(8, VIN_RANGE_10V); /// ver bien esto
//VinSetRange(4, VIN_RANGE_10V); /// ver bien esto
//VinFilterAOn(200,1000);
// VinFilterAOn(200,2000);

   // Aqui puede escribir codigo PAWN y llamar a otras funciones.
   
   for(;;)
   {
      // Loop principal.
   
  // Leer corriente de VIN1 y almacenar en variable "Current".
// 1Utilizar un resistor de 100 ohms como sensor de corriente.

Corriente = Float: VinToCurrent(1, 100);
V_alim_sens= Float: VinReadVolt(8);

//VinFilterAOff();

/*while(cont_prom<201)
{
V_alim_sens= Float: VinReadVolt(8);
V_alim_prom=V_alim_prom+V_alim_sens;
PauseUS(500);
cont_prom++;
}
V_alim_prom=V_alim_prom/200;*/

      // Delay Led.
      DelayMS(200)
      LedToggle()

   }

   // Retorno.
   return 0;
}

@OnTcpServerRx()
{
new Id

//
// Obtener conexiones con datos sin leer.
//

while((Id=TcpServerGetUnreadId()) > 0)
{
// Leer datos y almacenar en RxData[].
TcpServerRead(Id, RxData, 10)

//
// Comprobar si debemos activar/desactivar salidas digitales DOUT1 a DOUT2.
//

if(RxData[0] == 0)
{
DoutSetOff(DOUT1)
}
if(RxData[0] == 1)
{
DoutSetOn(DOUT1)
}

if(RxData[1] == 0)
{
DoutSetOff(DOUT2)
}
if(RxData[1] == 1)
{
DoutSetOn(DOUT2)
}

//
// Obtener estado de entradas Digigitales DIN1 a DIN2.
//

TxData[0] = DinValue(DIN1)
TxData[1] = DinValue(DIN2)
   
   // Enviar estado de entradas digitales al cliente usando el Id de la conexion
   // que recibio los datos.
   TcpServerSend(Id, TxData, 2)
}
}

// --------------------------------------------------------------------------------
// EOF
// --------------------------------------------------------------------------------


Evento OnPrintEvent:::::::

Código: (Pawn) [Seleccionar]

// --------------------------------------------------------------------------------
// Archivo     : OnPrintEvent.p
// Descripcion : Rutinas para procesar el evento @OnWebServerPrint().
// --------------------------------------------------------------------------------

// ********************************************************************************
// Funcion     : OnWebServerPrint()
// Descripcion : Evento llamado cuando el Web Server necesita imprimir una cadena
//               al cargarse una pagina dinamica.
//               Se deberia retornar lo antes posible de este evento, ya que
//               se procesa mientras la pagina se carga en el navegador.
// ********************************************************************************

@OnWebServerPrint()
{
//
// Obtener e imprimir el numero de cadena solicitada por el servidor.
//

switch(WebServerGetPrintNum())
{
//
// Procesar cadenas relacionadas a inputs.shtml
//

case 10:
WebServerPrintStr("%d", DinValue(DIN1))
case 11:
WebServerPrintStr("/l%d.gif", DinValue(DIN1))

// código agregado por mi para prueba
case 30:
//WebServerPrintStr("%3.3f", Corriente*12558)// Así lo muestra con 3 decimales
//WebServerPrintStr("%3.0f", Corriente*12558000)// Así lo muestra sin decimales
         WebServerPrintStr("%3.3f", Corriente/3)// Así lo muestra sin decimales en miles de litros
         //WebServerPrintStr("%3.0f", Corriente*12558)// Sensor nuevo FMK
case 31:
//{
WebServerPrintStr("%3.1f", V_alim_sens*12.25) //%f muestra un float con 1 decimales por defecto. Pág 67 de AN030
//cont_prom=1;
//V_alim_prom=0;
//V_alim_sens=0;
//}

//
// Procesar cadenas relacionadas a outputs.shtml
//

//         Bomba 1
case 20:
if(DoutValue(DOUT1) == 0)
{
WebServerPrintStr("checked")
}
case 21:
if(DoutValue(DOUT1) == 1)
{
WebServerPrintStr("checked")
}
//         Bomba 2
case 22:
if(DoutValue(DOUT2) == 0)
{
WebServerPrintStr("checked")
}
case 23:
if(DoutValue(DOUT2) == 1)
{
WebServerPrintStr("checked")
}
//         Bomba 3
case 24:
if(DoutValue(DOUT3) == 0)
{
WebServerPrintStr("checked")
}
case 25:
if(DoutValue(DOUT3) == 1)
{
WebServerPrintStr("checked")
}
//         Bomba 4
case 26:
if(DoutValue(DOUT4) == 0)
{
WebServerPrintStr("checked")
}
case 27:
if(DoutValue(DOUT4) == 1)
{
WebServerPrintStr("checked")
}
//         Bomba 5
case 28:
if(DoutValue(DOUT5) == 0)
{
WebServerPrintStr("checked")
}
case 29:
if(DoutValue(DOUT5) == 1)
{
WebServerPrintStr("checked")
}

case 40:
WebServerPrintStr("/l%d.gif", DoutValue(DOUT1))
case 41:
WebServerPrintStr("/l%d.gif", DoutValue(DOUT2))
case 42:
WebServerPrintStr("/l%d.gif", DoutValue(DOUT3))
case 43:
WebServerPrintStr("/l%d.gif", DoutValue(DOUT4))
case 44:
WebServerPrintStr("/l%d.gif", DoutValue(DOUT5))
}
}

// --------------------------------------------------------------------------------
// EOF
// --------------------------------------------------------------------------------



Y por las dudas.... el código html de la página del server virtual::::::

Código: (HTML) [Seleccionar]

$!+ /header.html $

<h2>COSP Oliva - División Agua Corriente</h2>

<center>

<table id="t_VT">
<tr>Volumen en Tiempo Real </tr>
<th>Volúmen [Lt X 1000]</th>
<td>$! PrintStr 30 $</td>
<tr>
<th>Vcc_Sensor[V]</th>
<td>$! PrintStr 31 $</td>
</tr>
</table>

<br>
</center>
<meta http-equiv="Refresh" content="10">
<!-- Recarga automáticamente la página Vol_T cada 10 segundos-->

<center>
<h3>Volver a <a href="/">pagina principal</a>.</h3>
</center>

$!+ /footer.html $


11
STX8091 / PLC Dañado - Reparacion - Soporte
« : abril 02, 2016, 13:11:53 pm »
Buenos dias....
Estimado Boris, despues de la tormenta electrica de ayer por la noche; al intentar reconectar el PLC hace un rato, no encienden los leds ni run ni el led debug que estaba parpadeando permanentemente. Al energizar el sistema se produce un ruido de reles... pero el PLC no presenta respuesta de ningun tipo. Ayer al empezar la tormenta lo desconecte de la red retirando el cable del tomacorriente para protegerlo (como vengo haciendo en todas las tormentas) ya que esta todo el sistema en desarrollo; y no queria arriesgarlo para poder seguir programando. Se habra dañado el PLC de todos modos? Venia funcionando a la perfeccion...

Saludos


Enviado desde mi SM-J110M mediante Tapatalk


12
STX8091 / Guía Básica C#
« : marzo 20, 2016, 11:35:16 am »
Hola Boris,

Donde puedo encontrar el documento STX80XX-GS-CSHARP: Guía Básica de C# mencionado en la AN001.

Saludos

13
STX8091 / Filtro Digital B
« : marzo 06, 2016, 12:04:08 pm »
Buenas:

Boris, el compilador me detecta como error cuando quiero incluír en el código las sentencias de activación / desactivación del filtro digital B:

                VinFilterBOn(200,2000);
      V_alim_sens= Float: VinReadVolt(4);
      VinFilterBOff();

En el programa también tengo el siguiente código

      VinFilterAOn(200,2000);
      Corriente = Float: VinToCurrent(1, 100);
      VinFilterAOff();

El cual activa sin problemas el filtro A.

El error que tira es:

Error del compilador PAWN: PlcMain.p(53) : error 017: undefined symbol "VinFilterBOn"

Saludos

14
STX8091 / Actualizacion remota código de programa
« : febrero 28, 2016, 10:13:30 am »
Hola Boris que tal,

Consulta: hay posibilidad de actualizar el código desde una ubicación remota? o vale decir sin tener conectado el PLC a la red LAN?

Saludos

Mariano

15
STX8091 / Comunicación remota STX8091-D1
« : febrero 02, 2016, 20:25:21 pm »
Que tal gente,

Tengo instalado el web server en un PLC STX8091-D1 y quiero tener acceso a él desde una
pc remota.

El PLC está conectado a un Router TP-LINK TL-WR740N. Mi pc está conectada al mismo
router.

Una vez cargado el programa al PLC, sucede que tengo acceso a su Servidor desde mi LAN pero no así desde otra pc (o léase: a través de Internet)

El plc tiene cargada la dirección IP 192.168.0.81 ya que la original de fábrica
(192.168.1.81) no me la aceptaba el router por ser una dirección que estaba fuera de su
rango.

Mi IP pública es dinámica... la averigüe en google y supongamos que es 186.XXX.174.YY

Configuré el router para que cualquier requerimiento en el puerto 80 sea derivado a la IP
192.168.0.81 del PLC.

Si hago un ping con el DOS desde la PC remota a la IP 186.XXX.174.YY, la transmisión
se realiza sin problemas aparentes.

Ahora cuando escribo la dirección de mi IP dinámica 186.XXX.174.YY en el chrome no
me accesa al servidor.

Que me puede estar fallando o faltando de configurar o chequear para lograr el acceso remoto?

Saludos

Mariano

Páginas: [1] 2