From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

datasocket ¿que es?

¡Resuelto!
Ir a solución

Buenos dias

 

     Necesito crear una aplicacion recogiendo datos de un automata S7, me han comentado que para poder comunicarme con el automata puedo usar la herramienta de national "datasocket" pero no se como funciona ni para que sirve, he visto algun ejemplo pero no termino de aclararme. ¿alguien puede darme alguna explicacion sencilla de que es lo que hace ?

 

u n saludo

0 kudos
Mensaje 1 de 9
6.390 Vistas

Buen día,

 

Aquí hay un tutorial sobre Datasocket, que explica ampliamente esta tecnología de NI.

De acuerdo a tu comentario asumo que tienes el OPC server del equipo del cual quieres tomar datos, así que sugiero que veas bien esa parte del tutorial.

Si sigue habiendo dudas los foros de NI son una excelente herramienta para que todos los usuarios de sus productos nos ayudemos mutuamente.

 

Saludos

 

Manuel

0 kudos
Mensaje 2 de 9
6.386 Vistas

buenas tardes

 

     Gracias por la rapida contestacion, MKES, per me temo que ese turorial ya lo habia visto y no me termino de aclarar, me explicare un poco mejor.  Tengo que hacer un programa que lea y escriba en un s7 de la serie 300, para ello uso un dispositivo denominado IBH link, que me permite conectarme con el automata via ethernet, creando para ello una especie de servidor TCP/IP, el dispositivo incluye ademas una DLL (solo eso) con una serie de funciones para interactuar con el pero que no he conseguido usarla en CVI no se muy bien por que, sin embargo si que he conseguido usar las funciones de la libreria en un compilador C#, (visual studio .net 2003) por lo que tenia pensado, crear una aplicacion en c# que lleyera del automata, y  luego otra en CVI que se comunicara con la aplicacion en c# para acceder a los datos leidos, pero no se como hacerlo. para hacerlo me han recomendado usar datasocket, pero dado que nunca he comunicado dos aplicaciones entre si no se como hacerlo

 

un saludo

0 kudos
Mensaje 3 de 9
6.381 Vistas

Hola nuevamente,

 

Mmm... aquí encontré información sobre el IBH link que mencionas... Según lo que leí del IBH link, este es en realidad sólamente un convertidor para que puedas accesar a tu S7 por ethernet y lo puedas accesar remotamente, pero en sí no te hace una conversión del protocolo con el que lo accesaras regularmente en forma directa.

 

Aparentemente en el CD que lo acompañe viene el software del servidor OPC, o si no en este otro link viene para descargar una versión gratuita (o demo) del mismo, no sé si sea demo o gratuita porque para descargarla tienes que registrarte en el sitio o al menos proporcionar un e-mail válido según parece. En el CD deben de venir ejemplos de código para Visual Basic, Visual C, C++, VB.net, C#, Delphi, Java, Excel.. de modo que si lo tienes (el CD) ahí debes poder encontrar más información.

 

Saludos

0 kudos
Mensaje 4 de 9
6.375 Vistas
Otro dato que puede servirte es que el CD de NI llamado Industrial Automation OP Servers incluye el S7 300  y entonces no debería de ser mayor problema interfasar con ese equipo... aquí está la lista de OPC servers que vienen incluidos en ese CD mostrando donde viene enlistado el S7 300 que mencionas... si tienes la suite de desarrollo de LabVIEW deberías de tener el CD IA OPC Servers...
0 kudos
Mensaje 5 de 9
6.374 Vistas

Buenas tardes

 

     ya me he descargado la demo del opc de IBH, y estoy modificando el ejemplo que te viene en national llamado "multiOPCclient" para tratar de acceder a una variable booleana que he creado y que apunta a una salida, sin embargo cuando uso la funcion DS_GetDataType me dice que es de tipo CAVT_CSTRING, y cuando uso "DS_GetDataValue" para leer el valor solo lee una cadena vacia  ¿que estoy haciendo mal?

 

un saludo

 

0 kudos
Mensaje 6 de 9
6.351 Vistas
Solución
Aceptado por el autor del tema InapreChris

Mmm... estás trabajando con CVI ¿verdad?... no manejo CVI, sólo LabVIEW... pero por lo que entiendo (y haciendo analogías con LV) defines el tipo de dato (DS_GetDataType) y luego lees el dato, esto equivale a la función "Variant to Data"  de LV donde lees un dato proveniente de datasocket pero para poder manipularlo tienes que decirle el tipo de dato que te está entregando datasocket para poder manipularlo en LV, esta función tiene un parámetro de entrada donde le das una constante del tipo de dato que quieres obtener como salida y así es como la función te entrega el dato en formato entero, flotante doble precisión, etc. Si no haces esta definición del tipo de datos que quieres obtener de la respuesta de datasocket, puedes terminar con una cadena vacía (parece que es lo que te pasa)

 

Estoy suponiendo que la función equivalente a esta que comento en CVI es lo que te hace falta pero como comento no soy usuario de CVI.... ojalá alguien más que vea tu mensaje pueda confirmar lo que te digo o aportar ayuda.

 

Aquí está la ayuda en línea de la función CA_VariantGetType tal vez te sirva de algo.

 

También podría sugerir que pruebes primero los ejemplos que vengan con el driver que bajaste y cuando los hayas comprendido completamente entonces empieces a hacer modificaciones para lograr lo que tú quieres. 

 

Saludos

0 kudos
Mensaje 7 de 9
6.346 Vistas

TRATE DE ENTRAR A VER EL TUTORIAL, PERO NO ME DEJO VERLO, DICE QUE EXISTE UN ERROR, YA ELIMINARON LA INFORMACION???? 

0 kudos
Mensaje 8 de 9
3.895 Vistas

Buenas noches,

Ciertamente, ya no aparece como disponible dicho tutorial.

Aparentemente es debido a que NI considera que las "network variables" vienen siendo el reemplazo de Datasocket.

Dependiendo de la versión de LabVIEW que manejes, puede ser que consideres mejor utilizar network variables en lugar de Datasocket.

Otra razón es que parece que Datasocket no es soportado en arquitecturas de 64bits (me parece que leí algo al respecto).

Aunque el tutorial como tal no esté disponible, aún hay mucha información en el sitio web de NI al respecto, sólo tienes que escribir "Datasocket" en el cuadro de búsqueda del sitio web y tendrás mucha información al respecto aún disponible.

 

... espero te sirva este comentario.

 

Saludos

0 kudos
Mensaje 9 de 9
3.864 Vistas