Comunicación c# - Siemens Simatic HMI EsRecipeView

  • 40 Respuestas
  • 23894 Vistas

Jose Torres

  • Aprendiz
  • **
  • Mensajes: 61
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #30 : abril 22, 2015, 19:30:36 pm »
Hola Boris, El problema lo tengo al querer compilar el plc. Como vos señalás, en las informaciones del componente UDP RX READ BUF indica que toma hasta 256 elementos y al configurarlo con los 28 bytes, los toma, pero al compilar me sale este error:

El array del puerto "ARRAY" en el componente "U63" no tiene el suficiente tamaño para copiar los "28" elementos requeridos a partir del indice "0". Modifique la cantidad maxima de bytes a copiar desde las propiedades del componente para continuar.

Para poder compilarlo tuve que ir bajando hasta 24 y ahí anduvo.


Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #31 : abril 22, 2015, 19:36:26 pm »
¿ Y de que tamaño es el array que le pasas al componente ?

Adjunta el proyecto StxLadder que estas realizando, comprimilo con zip desde "Archivo > Crear backup del proyecto (zip)" y postealo aca así lo intento compilar y ver.
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Jose Torres

  • Aprendiz
  • **
  • Mensajes: 61
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #32 : abril 23, 2015, 07:02:56 am »
Buen día Boris. Me fue imposible entrar el zip por este medio porque es muy pesado. Tampoco lo permite hotmail como adjunto. Te lo compartí entonces por OneDrive en un email enviado a Info.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #33 : abril 23, 2015, 11:40:55 am »
Ahi baje el Zip. Es muy grande porque adentro de la carpeta del proyecto copiaste el SDK (27 MB) y la nota de aplicación AN001 (5MB).
Sino pesaria menos de 30Kb.

Por lo que veo, el array RxData[] era muy pequeño (6 elementos, es decir 6x4=24 bytes), por eso no podías enviar 28 bytes. Incremente el tamaño del
array a 12 elementos para asegurar espacio.

Te adjunto el mismo proyecto modificado.
« Última Modificación: abril 23, 2015, 11:48:34 am por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Jose Torres

  • Aprendiz
  • **
  • Mensajes: 61
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #34 : abril 23, 2015, 12:18:54 pm »
Muchas gracias.

Jose Torres

  • Aprendiz
  • **
  • Mensajes: 61
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #35 : abril 23, 2015, 12:46:10 pm »
Boris, excelente!!! Gracias

Jose Torres

  • Aprendiz
  • **
  • Mensajes: 61
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #36 : abril 23, 2015, 20:16:47 pm »
Hola Boris, tengo que escalar los valores analógicos de una balanza con salida de 0-10 v y no se me ocurre cómo hacerlo. Gracias

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #37 : abril 23, 2015, 20:51:55 pm »
Hola Jose,

Crea un nuevo tema especifico para escala analógica, con un titulo acorde y seguimos por ese hilo, así es mas fácil ubicar esa pregunta para otros usuarios, ya que este tema según el titulo trata de comunicación.

Gracias y espero el post.
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Jose Torres

  • Aprendiz
  • **
  • Mensajes: 61
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #38 : abril 27, 2015, 17:53:25 pm »
Hola Boris, te envié la consulta de escalar por "Dicusión general" pero no apareció por aquí. También te envié un par de zips con los archivos de Plc y Visual c#. Bueno, pero esta es una consulta de este tema. En el zip que te adjunto está el programa C# donde tengo la dificultad. Si bien este es un foro de PLC me vendría bien otra ayudita. Busqué en el manual de Visual c# y en Internet pero no hallé algo tan específico. Para enviar los valores de las recetas siempre me debo referir al valor de Row programado, por ej Rows [X]. Cells
  • .Cómo hacer para que el programa tome como valor de Row el de la fila en foco del DataGridView del formulario? Muchas gracias.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #39 : abril 27, 2015, 19:46:01 pm »
Para obtener la fila actual seleccionada, debes ver el CurrentRow.Index:

// Obtener el indice del la fila actual seleccionada.
int Row = dataGridView1.CurrentRow.Index;

// Obtener valor en celda Columna 1, fila seleccionada "Row".
Int32 Val2 = Convert.ToInt32(dataGridView1.Rows[Row].Cells[1].Value);


Por otro lado, podes asociar algun evento click al dataGridView.

Link de ejemplo:
http://www.codeproject.com/Questions/338684/get-value-from-selected-rows-in-datagridview

Saludos
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Jose Torres

  • Aprendiz
  • **
  • Mensajes: 61
Re:Comunicación c# - Siemens Simatic HMI EsRecipeView
« Respuesta #40 : abril 27, 2015, 20:25:53 pm »
Espectacular!!! Salió de una. Muchas gracias