Discusiones sobre Productos NI

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

DS_GetDataValue cuelga la aplicacion

 

Despues de varios test, la apliacion se queda colgada, sin dar ningun error en depuración

 


Cuando hago el "break"  de la ejecucion, el punto siempre es el mismo, la aplicación espera la ejecucion de un DS_GetDataValue que no llega.

 

Ejemplo:

 

 

void OPCCallback(DSHandle localDSHandle,int event, void *pUserData)
{
    // variables locales
    
    HRESULT hr = S_OK;
    double value;

    switch (event)
    {
        case DS_EVENT_DATAUPDATE:
                    // busco el  localDSHandle
                    // localDSHandle == OpcHandle[i]
                    // Entonces
                    
                    hr    = DS_GetDataValue(OpcHandle[i],CAVT_FLOAT,&value,1,NULL,NULL);
                    
                    //   Otras sentencias a las cuales no llega a entra porque no finaliza el DS_GetDatValue
                        
                    
         
                    break;
    }

}

 

Despues del "Break",  pulso GO para continuar y no entra en las siguientes sentencias por que no finaliza el DS_GetDataValue,....

 

¿Por que puede estar ocurriendo esto?

 

 

0 kudos
Mensaje 1 de 2
3.134 Vistas

Bueno, no tengo experiencia en DataSocket u OPC por lo que estas son simplemente consideraciones muy generales. Si embargo creo que deberías controlar el valor de OpcHandle[i] cuando entras en la función: en el código que has mostrado 'i' no está definido y no se ve qué valor tiene, deberías chequear que no haya errores en esta parte averiguando que el valor actual sea el mismo de cuando almacenas el handle en la variable. Por el otro lado, creo que cuando entras en la función ya tienes el handle del componente DS que la ha llamado en la variable 'localDSHandle' y podrías utilizar éste y ver si el problema se presenta de la misma manera.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 2 de 2
3.112 Vistas