Teststand cvi probleme de callback

Bonjour,
J'utilise TestStand(2013) en mode Batch parallel et mon interface utilisateur est gérée par CVI(2012).
Quand j'ai besoin d'informations provenant de l'utilisateur, Teststand appel une de mes DLL CVI.
Au debut de ma sequence (dans le model option) Je viens demander plusieurs informations à l'utilisateur et les échange entre teststand et cvi se passent très bien.
Lorsque mes socket sont créés j'arrive bien à mettre à jour mon interface graphique via CVI, mais mes Callback ne fonctionne plus.
Par exemple je souhaite seulement attendre l'appui par l'utilisateur sur un bouton de commande.
J'utilise donc le RunUserInterface dans ma fonction, que ma callback vient acquitter lors de l'appui sur le bouton.
Le problème est que l'appui sur le bouton ne fonctionne pas. Cela ressemble un peu à un problème de gestion des événements.
Une chose étrange est que lorsque je passe en mode debug sur CVI, ma callback  fonctionne correctement.
Je voudrai savoir si quelqu'un a déjà rencontré cette situation ou si quelqu'un à une idée?

Bonjour,
avez-vous déjà essayé ceci ?
Error Code 145 - ActiveX Control Not Registered in LabWindows/CVI
http://digital.ni.com/public.nsf/allkb/9894BE2B832B7FDE86256ECD00041172?OpenDocument
Aurelie

Similar Messages

  • Problem with CVI blocking UART Callback

    Hi,
    I have been using LabWindows CVI 9.0 since a few years now and I have seen a problem that didn't blocked me until now.
    My LabWindows Software freezes, the code is no longer executed, when I hold a click on the interface, on a string for example.
    The problem is that I use a device that emits data continuously on a COM port. When I decide to drag the software window or simply hold a left click on the interace the software stop acquiring data from the COM callback and my software misses data.
    Do you have a solution for this problem ?
    Thank you

    HI Penou,
    In fact it is a good idea using multiple Threads to  avoid this kind of behavior.
    Maybe you are using ProcessSystemEvents to handle events,  on the same main thread. 
    If it is the case, when ProcessSystemEvents handles an event that starts a tracking loop, such as the user pulling down a menu, ProcessSystemEvents does not return until the tracking loop completes. In the case of pulling down a menu, the tracking loop does not complete until the user dismisses the menu. 
    You have several inforrmations about ProcessSystemEvents here.
    Regards,
    Rémi D.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Les rencontres techniques de NI - Mesures et acquisition de données : de la théorie à la mise en ...

  • TestStand CVI OI link errors

    I was given a .UIR file from a teamate (another company), but no implementation, so that our GUI could ultimately look and feel like theirs (since that's what the customer wants).  I'm using CVI 8.0 and I opened up the .UIR and ran the UI to Code Converter tool.  Since the tool forces you to enter the name of the .h and .c target files (associated with the panel), I ran the tool one panel at a time.  Ultimately, I had about eight .h and eight .c files.  When I do a 'create executable', I get 60 link errors.  The messages are all quite similar (but for different symbols) in that they say "Undefined symbol, '_SD_ExeEntryPoint1' referenced in SeqDisp.c".  I see where I use SD_ExeEntryPoint1 (no underscore in front), but I don't see where the _(underscore) version is coming from/being referenced.  Any clues here would be very appreciated.
    In general, though, is this a correct approach?  Can I begin with a UIR that has much of the TestStand full-featured OI functionality available in its different panels and generate code, then begin filling in each template that's produced?

    You can find a new style OI in:
    C:\Program Files\National Instruments\TestStand 3.<x>\OperatorInterfaces\NI\Full-Featured\CVI\
    I don't have an old TestStand installed to be sure, but the old style OI would probably be found in:
    C:\Program Files\National Instruments\TestStand <1.x or 2.x>\OperatorInterfaces\NI\Full-Featured\CVI\
    The old style example has a lot more code and that code is more complicated than the code in the new style example.
    The UIR you have is a CVI file, thus converting it to TestStand 3.5 doesn't apply.
    If you have to implement the whole application from scratch (instead of from the source code that goes with the UIR you have), you will probably be better off in the long run by starting the example from TestStand 3.5 and modifying it using the UIR you received as a user interface specification of sorts.
    Controls on the old UIR that did "TestStand" things like display the steps in a sequence are now ActiveX controls in the new example which you configure and connect to other controls. In the old example, the function of these controls was entirely implemented in the example source code and the result was complex code with less functionality.
    If there are controls in the UIR that were not part of the old example and do not directly implement "TestStand" functionality, you can probably just cut and paste them into the UIR from your 3.5 example and implement their callbacks according to their function.
    BTW. I'm not sure I completely understand your situation were you have been given the UIRs but not the source for application and tasked with reimplementing it.  Assuming the source code is absolutely not available and that you have to make significant modifications from the functionality the TestStand examples provide, then the new example is a better starting point. However, it won't look "exactly" the same. In many cases it will look better. Run the old and new examples to see the difference.

  • Problems creating callback VI

    Hi,
    I stumbled over some strange behavior....
    I tried to register a TestStand ActiveX callbacks, but I'm facing multiple problems:
    My first attempt for assigning the callback VI was the right-click "Create Callback VI" which brings then up a template VI which in my case reports the following errors:
    Albeit, both typedefs are considered ok (at least) for all the rest of this application....
    So I manually deleted the "broken" controls and replaced them with the typedef'ed one and wired them up to the connector block.
    The problem comes up at runtime: the Register for callback node returns Error 97: LabVIEW:  A null or previously deleted refnum was passed in as an input.
    What am I doing wrong?
    Cheers
    Oli
    Programming languages don't create bad code, programmers create bad code....
    Solved!
    Go to Solution.

    Hi Norbert,
    thanks for the quick reply. Please find attached some scrrenshots:
    Typedef for UserEvent
    Typedef for UserEvent data
    Frontpanel of automatically created callback VI
    Frontpanel of modified callback VI (Error97)
    The typedefs reside within the same lvlib as the caller. The callback VIs are reentrant. They are also marked private within the library, changing the access scope to public did not change the behaviour.
    Do you think http://forums.ni.com/t5/LabVIEW/Register-Event-Callback-problem-with-Linkam-ActiveX-controls/td-p/15... could be related?
    BTW using LV2012SP1 ans TS 2012SP1
    Cheers
    Oli
    Programming languages don't create bad code, programmers create bad code....

  • Problem registering Callback applet in weblogic 8.1 SP3

    Hi,
    I am having a applet which is signed and loaded from the web application. When i am accessing the remote functions from RMI server, it works fine.
    But, while exporting the callback applet to RMI (using UnicastRemoteObject.exportObject(this)), i am getting StubNotFoundException.
    As per weblogic RMI, it wont create the Stub's and Skeletons, How do I solve this problem?
    Can anyone help me with sample code and steps to implement a call back applet in weblogic RMI.
    Thanks and Regards,
    Jamal

    Jamal,
    Have you found a solution to this problem?
    Thank you.

  • TestStand open problem

    Hi,
    I'm working with TestStand 2010.
    Today I opened TS and saw strange window on the top of TS:
    This window hides the menu, the edit window and does not allow proper work. I did not find any way to remove it. Even TS repair did not solve this problem.
    If I open a sequence, a part of a file is hiding behind this window.
    Does anybody know what is that and how solve the problem?
    Solved!
    Go to Solution.

    Hi,
    Try resetting the UI to the default configuration:  With the sequence editor selected, hit 'ALT+V' and then 'R'. 
    I tried to reproduce the screenshot by changing the monitor resolution with the floating 'Step Settings' and 'Output' windows floating near the top of the screen but I couldn't put it in a state that the picture showed.  Do you remember how the editor got in that state?
    Thanks,
    Jim

  • Labwindows CVI problem

    hello I´m trying to create an installer for an application created in a previous version of Labwindows CVI that a dont know becasuse i receive just de sources files, i´m working with 2010 version, the problem is that the application run perfect in debug mode but when i run it in release mode the application doesnt work, only the icon in the taskbar is showed but the graphic interface never appears, someone can help me with that
    Solved!
    Go to Solution.

    I check all source files an there is no any  #ifdef that could cause problems, the program is correct because is running in an old PC, what i am doing is trying to create an installer to change the program to a new PC, what i receive was just the folders project that are in that machine, but i can do work the program in my machine.

  • Ni.6363 CVI, probleme d'échantil​lionnage

    Bonjour,
    Je programme actuellement sous l'environnement CVI. Et je possède une 6363 qui est sensé pouvoir mesuré sur 16 canaux en différentiel, avec une fréquence d'échantillonnage de 1M/S par canal.
    Or avec ma carte, on est obligé de diviser la fréquence d'échantillonnage max par le nombre de canaux que l'on souhaite mesurer.
    De quel façon je peux procéder pour ne pas etre obligé de divisé la fréquence d'échantillonnage? sachant que dans les spec de cette carte, on peut faire des mesures 1M/s par canaux
    voila le code ;
    //string_channel ="Dev1/ai0,Dev1/ai1,Dev1/ai2,Dev1​/ai3,Dev1/ai4,Dev1/ai5,Dev1/ai6,Dev1/ai7"
    //rate                 =fréquence d'échantillionnage
      DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
      DAQmxErrChk (DAQmxCreateAIVoltageChan(taskHandle,string_channe​l,"",DAQmx_Val_Diff,min,max,DAQmx_Val_Volts,NULL))​;
      DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandle,"",rate,DAQmx_Va​l_Rising,DAQmx_Val_FiniteSamps,sampsPerChan));
      DAQmxErrChk (DAQmxGetTaskAttribute(taskHandle,DAQmx_Task_NumCh​ans,&numChannels));
      if( (data=malloc(sampsPerChan*numChannels*sizeof(float​64)))==NULL )
       MessagePopup("Error","Not enough memory");
       goto Error;
      // DAQmx Start Code
      DAQmxErrChk (DAQmxStartTask(taskHandle));
      SetCtrlAttribute(panel,PANEL_ACQUIRE,ATTR_DIMMED​,1);
      ProcessDrawEvents();
      // DAQmx Read Code
      DAQmxErrChk (DAQmxReadAnalogF64(taskHandle,sampsPerChan,10.0,D​AQmx_Val_GroupByChannel,data,sampsPerChan*numChann​els,&numRead,NULL));
    Je vous remercie d'avance

    "Or avec ma carte, on est obligé de diviser la fréquence d'échantillonnage max par le nombre de canaux que l'on souhaite mesurer.
    De quel façon je peux procéder pour ne pas etre obligé de divisé la fréquence d'échantillonnage? sachant que dans les spec de cette carte, on peut faire des mesures 1M/s par canaux"
    Mon post précédent donne les raison de cet échantillonnage à 1Méch/s agrégé, c'est à dire, 1Méch/s partagé entre les différentes voies acquises simultanément. Ceci est du au multiplexage des voies analogique de la carte. Je vous invite à vous référer aux spécifications de la carte 6363, qui reprends ces éléments (1MS/s multichannel aggregate), et à les comparer avec les spécifications des cartes 6366/6368 par exemple.
    Voici la topologie typique d'une carte multiplexée:
    Si vous demandez 16 voies en acquisition analogique à une telle fréquence d'échantillonnage, vous devriez avoir un message d'erreur ou à minima une mise en garde lors de l'exécution. Qu'en est-il? Est-ce qu'une erreur apparaît? A quelle ligne? Quel code d'erreur?
    Cordialement,
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • Création dll sous CVI vers LabView (Callback function)

    Bonjour,
    J'utilise un capteur de champ magnétique dont la communication se fait sous labwindows/CVI 2012.
    Ensuite je dois récupérer la valeur de champ magnétique (mesure en continu) sous labview pour ensuite la traiter.
    Je pense qu'il faut utiliser une dll, en regardant dans votre forum j'ai vu comment créer des dll, sauf que les fonctions callback (dans CVI) ne sont pas transformées.
    Je ne sais absolument quelles modifications apporter au programme CVI, pouvez-vous m'aider ?
    Cordialement,
    Fabien65

    Bonjour Fabien65,
    Que voulez vous dire par: La communication avec le capteur se fait sous Labwindows/CVI??
    Quel système d'acquisition utilisez vous ?
    Si vous avez vraiment besoin de créer une dll avec Labwindows/CVI, vous devez impérativement spécifier que vous créez une dll et non un .exe.
    Voici un document qui pourrait vous être utile:
    http://www.ni.com/white-paper/3341/en#toc7
    Cordialement.
    Aurélien Corbin
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Cahiers de vacances de NI
    Présentations en ligne : 12 fondamentaux à réviser, du 9 juillet au 29 aoû...

  • TestStand Deployment problems on Windows 2K3 x64

    Greeings:
    I'm hoping someone out there can advise me.
    I recently tried building a TS application to deploy on a server running WIndows Server 2003 x64, and I have run into a few difficulties.  On my development system, (32-bit WInXP pro) I built a TS Deployment installer.  I transfered it to the destination machine.  Installation failed ... it said that numerous files were missing from different CAB files.  I tried again ...  the second time I had better luck ... the installation seemed to take.  Using the License Manager, I activated my installation using my development license (my deployment license hasn't arrived yet).  I tried launching my application, and I get an exception that seems to indicate the ActiveX dlls aren't registered:
    Unhandled Exception: System.Runtime.InteropServices.COMException (0x80040154): C
    lass not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
       at System.Windows.Forms.UnsafeNativeMethods.CoCreateI​nstance(Guid& clsid, Obj
    ect punkOuter, Int32 context, Guid& iid)
    I tried registering these manually using
    regsvr32 "D:\Program Files\National Instruments\TestStand 4.1\API\DotNet\Assemblies\CurrentVersion\NationalI​nstruments.TestStand.Interop.UI.AxControls.dll"
    but it complains that this DLL has no DllRegisterServer entry point.  (Is it the wrong DLL to register?)
     I tried uninstalling my deployment and installing the full teststand ... and SeqEdit seems to run properly.  (It must have registered the required DLLs, no?)  My app, on the other hand, still does not run. I am trying to install Visual Studio to see if I can rebuild the application on this system with better results.
    Have I missed an important step?
    Thanks!
    Tom MacLean
    Solved!
    Go to Solution.

    LabCat,
    That's correct.  If you have the build set as Any Platform, when you install that on a 64-bit machine, the project will try to load the 64-bit versions of those assemblies, which don't exist.  You have to make sure your project is building specifically for x86 so it will run properly on a 64-bit machine.  I believe TestStand 4.2 or 4.2.1 ships with OIs that have this set as the default setting in the .NET OI source code, but your earlier version may not have had that corrected.
    Eric B.
    National Instruments

  • TestStand license problem

    Hi 
    When installing the TestStand, I believe it being tide up with 2 things, Computer ID(Hard Disk Volume) and Ethernet MAC address.
    I would like to know, is there any ways to make the TestStand License being tide up forever with the hard disk volume Serial Number rather than Ethernet MAC address?
    This is because, my testing approach is like below:
    1.Install TestStand - Deployment version inside a laptop A.
    2.Take out the hard disk from laptop A and put into another laptop (laptop B).
    3.Boot the laptop B that using the laptop A hard disk. 
    4. Once done execute the testing in laptop B, take out the hard disk and put it to another laptop (laptop C)
    5.Repeat step 3 to 4 for another laptop.
    I am not running the TestStand at the same time.
    With this method, will the license have the tendency to corrupt? 

    If you need to activate a license on a different machine. Then de-activate it using the NI License Manager on the old machine, and then go to ni.com/activate and activate it on the new machine.
    CTA, CLA, MTFBWY

  • TestStand Deployment problems with visarc issues

    Recently I attempted to rebuild a TestStand Deployment that I had build just 1 month before and it wouldn't create the deployment.  Changes that occurred between the last build and this build was an upgrade to LV 8.6.1 from LV 8.6.
    The issue was that the file visarc was not able to be found by the deployment engine and wouldn't progress much beyond the tsw file verification.  It turned out that having multiple versions of LV on my harddrive screwed up the linking on this file and caused the deployment to fail.
    The following link solved the issue and allow the deployment to be built:
    http://digital.ni.com/public.nsf/allkb/833BFD5E9CA​0224886257584004DAA4C
    I don't really have a question, just wanted to get this out there so fewer people have to sustain the pain that I went through.

    Thanks for the input
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Using LabView to Programatically Specify the Module of a TestStand Step Problems

    I am writing a LabView App that generates TestStand Sequences.
    When programatically 'specifying the module' of a TestStand Step calling a LabView VI, is it possible to set the values of the parameters passed to the VI by Name?  I am currently creating steps fine, but the only way I can set parameter values is by using the parameters index. 
    It would be really nice if I could reference the parameters by the name specified in the VI rather than the index derived when the VI is created.
    Any ideas?
    Steve
    There are 10 types of people in the world that understand binary, those that do and those that don't.

    Hi Steve,
      you've also posted this on the TestStand forum and it's been answered there.
    For anyone else looking for the approach :
    http://forums.ni.com/ni/board/message?board.id=330&message.id=9585
    Thanks
    Sacha Emery
    National Instruments (UK)
    // it takes almost no time to rate an answer

  • Client == server - problems with callbacks

    Hi everyone!
    I'm having trouble establishing bidirectional communication between a client and a server (code samples are below).
    Both classes (client & server) extend UnicastRemoteObject and implement Interfaces that are extending Remote. Now the client looks up the server and tries to register itself at the server by calling a method like this:
    remote_server.setClient(this);
    as long as I execute both programs in the same LAN this method-call works fine, but when client and server connect through internet I'm getting the following exception:
    ---------------------- Exception ------------------------>
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.ConnectException: Connection refused to host: 192.168.0.3; nested exception is:
         java.net.ConnectException: Connection timed out
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:292)
    <---------------------- Exception ------------------------
    maybe helpful:
    - 192.168.0.3 is the client's LAN-IP
    - I am directly connected to the internet via ADSL-modem (no router)
    I searched the forums for several hours now, I read through the following tutorial,
    http://developer.java.sun.com/developer/onlineTraining/rmi/exercises/RMICallback/index.html
    but still I didn't find a solution.
    I already spent a lot of time developing this and I start to get desperate, so I hope someone of you out there can help me!
    pilord
    ==================== Codesamples =======================>
    public class ServerImpl extends UnicastRemoteObject implements Server {
    Client client;
    public ServerImpl() {
    LocateRegistry.getRegistry(1096).rebind("test",this);
    /* specified in Remote-Interface: Server*/
    public void setClient(Client client) {
    this.client = client;
    public class ClientImpl extends UnicastRemoteObject implements Client {
    public ClientImpl() {
    Server s = Naming.lookup("rmi://***.***.***.***:1096/test");
    s.setClient(this); // HERE is the trouble.
    <==================== Codesamples =======================

    Don't feel lost, crumb. Http tunnelling is not as complex as it seems. I just started using RMI at my new job here and in a couple of weeks I've already picked up on alot of what I needed to know. (I just posted a question myself on the same topic.) Basically what you have to do is set up a web server for RMI to talk to at the server side. It will work if the webserver is listening on port 80 with the rmiservlet.ServletHandler registered to respond to any path request of cgi-bin/java-rmi.cgi. In other words "cgi-bin/java-rmi.cgi" should be the servlet-mapping of the ServletHandler. The servlet merly acts as a proxy on behalf of the RMI client and fowards the request to the desired port on the server. If you know how to set up a servlet as the default web app then it is really a breeze. On the client side you only need to set the http.proxyHost and http.proxyPort system properties to the appropriate values for your proxy server. (I mistyped these property names in my prior post use what I have here as I just read it out of the RMI book.) Do a search on HTTP tunnelling and you should turn up dozens of hits. I have the source to the servlet if you need it. I've already modified it for my own purposes though it should still work for you. If you forego http tunnelling then you'll have to do a complete app rewrite to use another protocol because RMI just doesn't work through firewalls without it. Alternatively you can get down and dirty with some low level sockets coding (this is what I'm thinking I'll end up doing eventually) to get it working without standard RMI/HTTP but that's way more complex. Unfortunately it looks like your callback code will need to be rewritten unless you either go commercial or do the socket stuff. (There does seem to be a shareware product called rmi doves that would help you here.) I'll be happy to assits you in any way as you need help.
    Cliff

  • Error Code -2147467259 when custom FrontEnd Callback is called from Teststand.

    Hello,
    For the project I am working on, the standard LoginLogout sequence has to be overriden from a custom one. The sequence i implemented does the following: A connection to a database, located on a virtual machine at my pc, is initially opened, the user name and password are given by the user through a message popup and the information is compared to the database entries. If the username and password are valid, a new TestStand user with the corresponding user information and priviliges is created and set as current user. If not, the procedure is repeated five times and if it ends unsuccessfully, the user account is blocked.
    The implemented sequence works just fine when I run it independently in TestStand, while I'm logged in as administrator using the standard TestStand Front End callback. When I added it in the LoginLogout sequence in the FrontEndCallbacks.seq in C:\Users\Public\Documents\National Instruments\TestStand 2010 SP1\Components\Callbacks\FrontEnd in order for this to be called instead of the standard one, I received the following errors:
    1. Error HRESULT E_FAIL has been returned from a call to a COM component. Error Code= -2147467259
    This error appears immediately after I open the sequence editor. (see also attached images
    2. LABVIEW: (Hex 0x80004005) Unspecified error.
    This error appears when I run the customized user interface in LabVIEW that calls the FrontEnd callback in the TtestStand public folder. After the error message appears my custom login dialog pops up and after the user logs in (the procedure works as expected) and then presses OK to the error message, the vi stops. It cannot execute further.
    I suspect that there is a problem when connecting to the database but I cannot understand what it is or why this is happening since the sequence runs without problems in Testand.
    Could someone help?
    Thank you very much!

    I am sorry for the omission. As seen during a highlighted execution of the GUI, the error appears after the call of IApplicationMgr.Start (see attached image).
    Attachments:
    error_blogdiagram.png ‏72 KB

Maybe you are looking for

  • I am getting a -50 error when trying to sync my IPOD Classic  with XP.

    I am getting a -50 error message when trying to sync my IPOD Classic with ITunes. My computer is running WIndows XP.

  • How come My Sites can only be created when logged directly onto the Sharepoint Server?

    Hello Community    In Synchronization I populate the container with OU's that contain Service accounts, user accounts created in the Sharepoint farm and a domain local group containing a OU with all of the trusted user accounts.    AFter populating t

  • How to reinstall OS without a functioning CD Drive

    I just got a Quicksilver tower and I sloppily copied my laptop's system into the Tower's. Now it won't start up (giving me the system folder with question mark icon). Problem is, the cd drive on the tower isn't working. I took it apart and the gears

  • IP Profile set to 2mbps

    Hi, I've been trying to get this issue resolved and from what I've read this is a good place to try  My BT broadband was installed about 20 days ago and the first few days went swimingly  Speeds were around 6.5mbps Downloads were great, streaming vid

  • Registry key problem when updating itunes

    I'm having difficulties installing the new itunes upgrade. I get the following error message: Could not open key: UNKNOWN\Components\32A7D634EB632D11CABB00087CCFBB48\21DFF8FCB206D224FAD115B114E 16723. Verify that you have sufficient access to that ke