06-24-2008 08:58 AM
06-25-2008 03:55 AM
Hi,
Could you send your code ? So that, I will be able to have a better look on your issue.
Moreover, have you tried using ndStopDiagnosticSession before using ndCloseDiagnostic ? That could be the reason why your DLL freezes.
Best regards,
06-25-2008 04:28 AM
06-26-2008 10:18 AM
Bonjour,
J'ai essayé avec ndStopDiagnosticSession, mais sans plus de succes.
Je contact le support NI pour plus d'info au cas ou ...
Benoit Williot
JTEKT Automotive Dijon
06-27-2008 08:52 AM
06-27-2008 09:18 AM
06-30-2008 02:02 AM - edited 06-30-2008 02:03 AM
Bonjour,
Malheureusement vos fichiers n'étaient pas utilisables (problème de lecture). Cependant, nous avons pu remarquer dans votre code qu'au dernier appel de ncWaitForState l'argument numéro 4 n'était pas le même que les autres appels, est-ce normal ? Voici le prototype de ncWaitForState:
NCTYPE_STATUS ncWaitForState(
NCTYPE_OBJH ObjHandle,
NCTYPE_STATE DesiredState,
NCTYPE_UINT32 Timeout,
NCTYPE_STATE_P StatePtr);
Puisque l'argument est un pointeur, le plantage peut être du a un argument pointant vers une mauvaise place de la mémoire.
Pouvez vous me préciser comment vous créez votre DLL ? Comment l'appellez vous ? De plus, est-ce que votre code C contient tout le code de la DLL ?
Cordialement,
06-30-2008 02:44 AM
06-30-2008 09:55 AM
Bonjour,
Pouvez vous me dire s la façon donti vous crééez votre DLL est la même que celle expliquée dans la page suivante : KB .
De plus pouvez vous me préciser comment vous appellez cette DLL ? Code de l'appel ? Appel sous LabVIEW ? Appel dans un autre langage de programamation ? Dans tous les cas pouvez vous me joindre le code complet de l'appel de votre DLL.
Cordialement,
06-30-2008 10:11 AM
Bonjour,
J'ai créé ma DLL a partir du template de la page d'ouverture de CVI et avec le generateur de code de l'UIR.
Cette DLL est chargée par un script LUA source si dessous.
J'ai d'autre part d'autre DLL crées avec CVI et appellées de la même manière qui fonctionnent parfaitement.
extrait du source LUA :
---------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Simul Hall
require "ksm41"
require "mcu" -- chargement de la DLL mcu.dll
require "hall" -- chargement de la DLL hall.dll
nom = "Calibration A7R Step2 BLM4"
numero = "0"
init = 0
function RaisingPen1(m) --fonction LUA appellée depuis CVI
hall.ReadCells() -- appel fonction ReadCells() de la DLL hall.dll
end
.
.
.
function judge(m) -- fonction LUA appellée depuis le programme CVI
hw = mcu.GetEcuValues() -- appel de la fonction GetEcuValues() de la DLL mcu.dll
if( hw == "F800001254" ) then
SetJudgementResult("HardwareNb",1,true)
else
SetJudgementResult("HardwareNb",0,false)
end
end
---------------------------------------------------------------------------------------------------------------------------------------------------------------
le script est executé par une appli CVI principale.
Cordialement.
B.Williot