Mensajes recientes

Páginas: [1] 2 3 ... 10
1
STX8092 / Re:Necesito bajar el programa del PLC a la PC
« Último mensaje por Soporte marzo 18, 2020, 10:13:54 am »
Buenos días Tex-Zero,

Una pena la perdida de los datos en su computadora, los discos SSD también nos han generado perdidas.
Lamentablemente, le comento que no hay opción para recuperar el proyecto leyendo la memoria del PLC.

Quedamos a disposición.

Saludos!
2
STX8092 / Necesito bajar el programa del PLC a la PC
« Último mensaje por Tex-Zero marzo 18, 2020, 08:58:29 am »
Buen día, de nuevo no quiero pecar de ignorante. Pero estoy aprendiendo paso a paso.

Ayer tuve un inconveniente con el disco SSD de mi PC. Normalmente (como no confío nada en estos discos) realizo un Back Up de todo una vez por semana. Resulta que el programa lo terminé el domingo, luego del Back Up del viernes.

Por lo que perdí TODO lo que programé en el PLC.
La pregunta es... Existe alguna forma de bajar el programa del PLC, y guardarlo de nuevo en la PC?
He buscado dentro del entorno Slicetex Ladder y no he encontrado la forma.


Gracias por la atención.
3
STX8091 / Re:Limitación de formulario - Web server
« Último mensaje por Soporte marzo 10, 2020, 13:46:55 pm »
Se me ocurre quizás ver si es posible cambiar el nombre del formulario con jQuery. De esta forma, apretando un botón en el web server podría activar la función que cambia el nombre del formulario y cambiar el texto de los campos para que el usuario ingrese otras variables. Esto evitaría que el usuario tenga que cargar una página nueva, que lleva tiempo ya que la conexión a internet de la maquina no suele ser tan buena. ¿Sabe si es posible?

Buenas tardes. No soy un experto en jQuery, para crear páginas dinámicas es muy efectivo, por ejemplo para actualizar un texto sin recargar toda la página o cambiar ciertas partes del HTML, hasta ahí he visto que es simple. Ahora, cuando es algo más complejo, tipo cambiar el formulario, refrescar la página y hacer una transacción al mismo tiempo, suele tener sus trucos, y lleva bastante prueba y error.

No sabría decirte si es posible por desconocimiento, pero jQuerry tiene mucho potencial y es posible que se pueda. Lo mejor sería ver ejemplos similares en Google y tantear si se justifica, frente a colocar dos página de configuración juntas.

Saludos!
4
STX8091 / Re:Limitación de formulario - Web server
« Último mensaje por EBD marzo 10, 2020, 11:17:55 am »
Entiendo, gracias.
Veré como puedo implementar lo que necesito.

Se me ocurre quizás ver si es posible cambiar el nombre del formulario con jQuery. De esta forma, apretando un botón en el web server podría activar la función que cambia el nombre del formulario y cambiar el texto de los campos para que el usuario ingrese otras variables. Esto evitaría que el usuario tenga que cargar una página nueva, que lleva tiempo ya que la conexión a internet de la maquina no suele ser tan buena. ¿Sabe si es posible?
5
STX8091 / Re:Control de motores paso a paso
« Último mensaje por Soporte marzo 10, 2020, 10:52:56 am »
Buenos días Luis,

No hay rutinas especificas para el control de motores paso a paso o soporte para este modelo de PLC.

Si tenés un controlador de motor paso a paso, como por ejemplo:

https://www.mcielectronics.cl/website_MCI/static/documents/TB6600_data_sheet.pdf

https://www.amazon.com/Single-TB6600-0-2-5A-Stepper-Controlle/dp/B00WN4U07E

https://youtu.be/31vf504h7d4

Con las dos salidas PWM, podés conectarlas a dos entradas del controlador (DIR y PUL), para establecer la dirección de giro (DIR) y enviar pulsos (PUL) para cada paso del motor. El controlador se encarga de operar el motor eléctricamente.

No lo he probado, pero sería en lenguaje Pawn más simple de implementar (ver vídeo en el link de arriba). Ya que hay funciones en Pawn para utilizar el PWM y establecer un tren de pulsos con una cantidad de pulsos determinada y parar (ver PwmTrainStart()). O también sería factible usando las salidas PWM como digital, y manteniendo en ALTO o BAJO la misma por un tiempo mínimo (ej: 1 milisegundo o menos), requerido por el controlador para dar un "paso" al motor.

Pero repito, es en teoría posible, pero no tengo un ejemplo probado.

Quedamos a disposición.

Saludos!

6
STX8091 / Control de motores paso a paso
« Último mensaje por LuisCamacho marzo 10, 2020, 01:46:37 am »
Hola estimado Boris he intentado controlar un par de motores a pasos usando la función pwm pero no lo he logrado tendrás alguna recomendación o ejemplo sobre este tema

Saludos
7
STX8091 / Re:Limitación de formulario - Web server
« Último mensaje por Soporte marzo 09, 2020, 20:03:03 pm »
Buenas tardes Marcos,

Reduciendo los valores de prueba enviados pude llegar al límite de tamaño que me deja envíar en un formulario (utilizando la función WebServerGetQueryLength()) que es de 250, correcto? Este valor no me alcanza para envíar todos los valores del setpoint, ya que me faltan alrededor de 48 caracteres para enviarlo de forma completa.

Si, 250 bytes es el límite, e influye la memoria RAM del PLC disponible, que es muy acotada, por ello tiene límites para reservar para otras aplicaciones. 

Quería saber si es posible aumentar esta limitación de 250 caracteres. En caso que no sea posible, tendría que partir el formulario y enviarlo por partes, ¿hay alguna forma sencilla de hacer esto?

Es un límite práctico, como los programas crecen y se acerca a los límites de la RAM del PLC, no es viable aumentar de forma significativa sin quitar memoria a otras aplicaciones y a futuras mejoras o expansiones.

Yo lo que te recomendaría es que agrupes los datos por similitud y dividas en dos páginas el formulario, por ejemplo temperaturas y presiones por separado. O una página que lleve a "Setpoint" y muestre "Configuración Paso 1/2", y al final de la misma un link a "Configuración Paso 2/2".

Porque si bien sería posible hacerte un firmware especial, aumentando la capacidad, por un lado sería difícil para que obtengas las actualizaciones y por otro, si aumentas las variables a futuro, caerías en el mismo problema que te quedás corto.

Futuros modelos de PLC ampliarán la memoria disponible.

Quedamos a disposición.

Saludos!

8
STX8091 / Limitación de formulario - Web server
« Último mensaje por EBD marzo 09, 2020, 15:38:57 pm »
Buenas tardes,
Estoy desarrollando el web server para un PLC que va a estar instalado en un lugar remoto con acceso a internet a traves de 4G. El programa que corre el PLC cuenta con una serie de parámetros (setpoint de temperaturas y presiones) que se deben poder modificar de forma remota a traves del web server. Ya tengo otros proyectos similares andando que utilizan un formulario como se menciona en la AN030 y funcionan sin problemas.

Sin embargo, este proyecto nuevo presenta más parámetros que los anteriores, y llegué a una limitación con el tamaño del formulario que envía los datos al PLC para que éste los cargue al setpoint de la máquina. El formulario debe enviar 33 campos (32 float y 1 int), por lo que el formulario enviado al PLC consta de, al menos:
el nombre del formulario + 33 strings para identificar el nombre del campo + los 33 valores numéricos.

Luego de programar el formulario y envíarlo con valores de prueba, me saltó un error "413 - Longitud de datos supera el límite".

Luego, reduje los nombres de los campos del formulario lo más que pude (el parámetro name del objeto input de HTML es utilizado en el PLC para identificar cada campo dentro del formulario). Aún así, continuaba el error.

Reduciendo los valores de prueba enviados pude llegar al límite de tamaño que me deja envíar en un formulario (utilizando la función WebServerGetQueryLength()) que es de 250, correcto? Este valor no me alcanza para envíar todos los valores del setpoint, ya que me faltan alrededor de 48 caracteres para enviarlo de forma completa.

Quería saber si es posible aumentar esta limitación de 250 caracteres. En caso que no sea posible, tendría que partir el formulario y enviarlo por partes, ¿hay alguna forma sencilla de hacer esto?
Envío a continuación el código del formulario para que vea si me estoy olvidando algo. Como se puede ver, los parámetros name de cada input tienen nombres lo más chico posible para que permita al PLC identificarlos unívocamente.
Muchas gracias,
Marcos.


Código: [Seleccionar]
<form action="/control.shtml" method="post" id="editOP_Form">
    <input type="hidden" name="Form" value="formEditOp"> 

      <h3 class="opCategoryHeader">General:</h3><br>
      <h4>Período de registros: </h4>
      <div class="singleInput"><span class="units">(min)</span><input type="text" name="ZZ" id="str_editOP_regPeriod"></div>
      <br>
      <br>


      <h3 class="opCategoryHeader">Temperaturas:</h3><br>
      <h4>T. Critica: </h4>
      <div class="singleInput"><span class="units">(C)</span><input type="text" name="A" id="str_editOP_critTemp"></div>
      <br>
      <h4>T. Control A: </h4>
      <div class="rangedInput">
        <span class="units">(C)</span>
        <input type="text" name="B" id="str_editOP_tLow_A"><span class="separator">;</span>
        <input type="text" name="C" id="str_editOP_tHigh_A">
      </div>
      <br>
      <h4>T. Control B: </h4>
      <div class="rangedInput">
        <span class="units">(C)</span>
        <input type="text" name="D" id="str_editOP_tLow_B"><span class="separator">;</span>
        <input type="text" name="E" id="str_editOP_tHigh_B">
      </div>
      <br>
      <h4>T. Maxima: </h4>
      <div class="singleInput"><span class="units">(C)</span><input type="text" name="F" id="str_editOP_tMax"></div>
      <br>
      <br>


      <h3 class="opCategoryHeader">Compresor A:</h3><br>
      <h4>P. Alta: </h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="G" id="str_editOP_cmpA_pHighMin">
      <span class="separator">:</span>
      <input type="text" name="H" id="str_editOP_cmpA_pHighMax">
      </div>
      <br>
      <h4>P. Baja: </h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="I" id="str_editOP_cmpA_pLowMin">
      <span class="separator">:</span>
      <input type="text" name="J" id="str_editOP_cmpA_pLowMax">
      </div>
      <br>
      <h4>P. Dif: </h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="K" id="str_editOP_cmpA_pDifMin">
      <span class="separator">:</span>
      <input type="text" name="L" id="str_editOP_cmpA_pDifMax">
      </div>
      <br>
      <br>


      <h3 class="opCategoryHeader">Compresor B:</h3><br>
      <h4>P. Alta: </h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="M" id="str_editOP_cmpB_pHighMin">
      <span class="separator">:</span>
      <input type="text" name="N" id="str_editOP_cmpB_pHighMax">
      </div>
      <br>
      <h4>P. Baja: </h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="O" id="str_editOP_cmpB_pLowMin">
      <span class="separator">:</span>
      <input type="text" name="P" id="str_editOP_cmpB_pLowMax">
      </div>
      <br>
      <h4>P. Dif: </h4>
      <div class="rangedInput">
        <span class="units">(PSI)</span>
        <input type="text" name="Q" id="str_editOP_cmpB_pDifMin">
        <span class="separator">:</span>
        <input type="text" name="R" id="str_editOP_cmpB_pDifMax">
      </div>
      <br>
      <br>


      <h3 class="opCategoryHeader">Ventiladores:</h3><br>
      <h4>P. Vent. A2: (off/on)</h4>
      <div class="rangedInput">
        <span class="units">(PSI)</span>
        <input type="text" name="S" id="str_editOP_fanA2_OFF">
        <span class="separator">/</span>
        <input type="text" name="T" id="str_editOP_fanA2_ON">
      </div>
      <br>
      <h4>P. Vent. A3: (off/on)</h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="U" id="str_editOP_fanA3_OFF">
      <span class="separator">/</span>
      <input type="text" name="V" id="str_editOP_fanA3_ON">
      </div>
      <br>
      <h4>P. Vent. A4: (off/on)</h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="W" id="str_editOP_fanA4_OFF">
      <span class="separator">/</span>
      <input type="text" name="X" id="str_editOP_fanA4_ON">
      </div>
      <br>
      <h4>P. Vent. B2: (off/on)</h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="Y" id="str_editOP_fanB2_OFF">
      <span class="separator">/</span>
      <input type="text" name="ZA" id="str_editOP_fanB2_ON">
      </div>
      <br>
      <h4>P. Vent. B3: (off/on)</h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="ZB" id="str_editOP_fanB3_OFF">
      <span class="separator">/</span>
      <input type="text" name="ZC" id="str_editOP_fanB3_ON">
      </div>
      <br>
      <h4>P. Vent. B4: (off/on)</h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="ZD" id="str_editOP_fanB4_OFF">
      <span class="separator">/</span>
      <input type="text" name="ZE" id="str_editOP_fanB4_ON">
      </div>
      <br>
      <h4>T. Habilitacion Vent 1: (A;B)</h4>
      <div class="rangedInput">
      <span class="units">(PSI)</span>
      <input type="text" name="ZF" id="str_editOP_fanA1_ENABLE">
      <span class="separator">;</span>
      <input type="text" name="ZG" id="str_editOP_fanB1_ENABLE">
      </div>
      <br>
      <br>
      <input type="button" name="sendOP" onclick="submit();" value="Enviar al PLC">
      <input type="button" name="defaultOP" value="Valores por defecto" onclick="GetDefaultOpJson()">
      <br>
    </form>
9
STX8092 / Re:Rango de direcciones Modbus TCP y Modbus RS-232
« Último mensaje por Soporte febrero 27, 2020, 09:35:02 am »
Voy a modificar el proyecto para entrar en el rango de direcciones que el PLC puede utilizar.
Por otra parte, le comento que el link a la referencia AN022 no estaría funcionando correctamente. Y de acuerdo a las pruebas que he realizado, ese rango de direcciones (40001 a 40016) sería el que necesito utilizar con mi PLC.

Perfecto, gracias, ya corregí el link.

Saludos!
10
STX8092 / Re:Problema comunicación Modbus TCP y Modbus RS-232
« Último mensaje por Tex-Zero febrero 27, 2020, 09:29:50 am »
Muchísimas gracias por la respuesta.
Voy a modificar el proyecto para entrar en el rango de direcciones que el PLC puede utilizar.
Por otra parte, le comento que el link a la referencia AN022 no estaría funcionando correctamente. Y de acuerdo a las pruebas que he realizado, ese rango de direcciones (40001 a 40016) sería el que necesito utilizar con mi PLC.



Gracias nuevamente por la información.
Páginas: [1] 2 3 ... 10