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.
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.
el 10-29-2008 04:28 AM
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
¡Resuelto! Ir a solución.
el 10-29-2008 09:15 AM
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
el 10-29-2008 09:44 AM
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
el 10-29-2008 10:46 AM
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
el 10-29-2008 11:00 AM
el 10-30-2008 09:33 AM
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
el 10-30-2008 11:13 AM
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
el 04-23-2018 11:55 AM
TRATE DE ENTRAR A VER EL TUTORIAL, PERO NO ME DEJO VERLO, DICE QUE EXISTE UN ERROR, YA ELIMINARON LA INFORMACION????
el 04-23-2018 09:55 PM
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