12-04-2010 04:09 AM
Good morning everyone and thank you in advance for any response.
I'm develops to an application with Agilent 34980 ATE. From the point of view of the signals to be measured I have no problem using the labview driver can acquire the physical and measure them. The problem remains for alarm management, in essence I connected the emergency (safety) button to alarm connector 34980 I would like to if I was down 34980 labview issue an emergency and was able to capture it.
The instrument is connected via Ethernet (LAN) with Static IP.
If anyone has any idea of Savoy, or has already solved the problem I would be very grateful if you could help me.
Francis
12-06-2010 06:59 AM
Hi Francis,
your problem isn't so clear to me. If I well understood, when you press a physical button you generate an alarm to the 34980 and you want to capture this alarm in your VI.
Is this correct?
Could you better explain what do you mean when you speak about the emergency button (is this button an external non software control?) and if you want to capture it using the 34980 or using an additional DAQ device?
Alex
12-06-2010 12:35 PM
First, thank you very much for your help. What you think is correct. The emergency-safety button is connected to the module 34950 - I / O card digital. I pilot the 34980 using using the VI VISA downloaded from Agilent or by sending SCPI commands. Basically as you said, I have two threads, the first thread that allows me to communicate with 34980 for the status bits, or measure of the tensions of my UUT, whereas the second thread that listens and when you press physically the emergency button (safety), the 34980 gives me an error message (RQS). Within labview to capture it and I've got to stop the first thread and alert the operator.
Yesterday I tried to find the reference manual of the Program is 34980, if I understand it, the 34980 is not intended control of the socket (SYSTEM: Communicate: LAN: Control?) This command will actually bring me back .... Frankly 0 I have no ideas on how to do ... if you can help me I would be really grateful.
Francesco
12-07-2010 02:44 AM
Hi Francesco,
If I well understood, your VI contains two parallel loops: one contains all the VISA blocks used to communicate with the 34980 and the other loop has to wait until the button is pressed. You wrote that when you press the button the 34980 gives you an error message. I think you can catch this error within labview using the VISA blocks.
Are you able to do that?
If yes, using a local variable, you can stop both the loops and alert the operator. The following link can help you in doing that:
http://digital.ni.com/public.nsf/allkb/267704CDE91156D186256F6D00711AAE
Alex
12-11-2010 04:25 AM
Hi Alex, sorry me for later,
my problem isn't the costruction in labview, infact the architecture that i think is exactly those you are proposed to me, The my problem is own to do genertion event to agilent 34980 and send the messagge to pc with TCP-IP, because i don't wont to make a polling system, that control the state bit, but i want that, that operator press the safety button, the 34980 send a event to labview with TCP/IP...and labview capture this event.
12-13-2010 02:40 AM
Hi Francesco,
I can see you have two operations to do:
- first, the 34980 has to generate a TCP-IP event when you press the safety button. Unfortunately I don't know this instrument and I can't help you in that.
- second, you want to capture this event in labview without using a polling system. You have to create a client application in labview based on TCP/IP messaging. I think this tutorial can help you in doing that http://zone.ni.com/devzone/cda/tut/p/id/3098. In order to avoid the polling architecture, it could be useful to you to realize a producer/consumer user-event VI. You can find an example to this link http://decibel.ni.com/content/docs/DOC-5404. The example, I suggested you, shows how to create and register a new user-event. I think that, in your case, you have to register a new event related to the TCP/IP communication, and use it inside the event-structure. Anyway, you can start trying to implement the acquisition using the polling architecture, shown in the first example, and then passing to the more complicated event-structure implementation, shown in the second example.