09-07-2017 01:57 PM
Hello,
On our manufacturing floor we have many consoles that contain Keithley Switch/DMM's. We use three different models of these instruments the 2700, 2750, and 3706A. The 2700 can contain up to three plugin switch modules, the 2750 can contain up to five plugin moduels, the 3706A can contain up to six plugin modules.
Keithley provides a means to access the switch closure counts for each switch on each plugin module. This helps with preventive maintenance we can see if a card or relay is coming near its life expectancy. Currently we have two utilities one for the 2700/50 and one for the 3706A. Our technicians periodically go out and check each console that contain one of these instruments and notes the highest count returned for each plugin module in that switch mainframe.
I am looking to reduce the effort that is currently necessary to perform this activity on our floor.
I would like to create an application that would reside on the PC in each of these consoles. This application would periodically query the switch mainfraim for the switch counts for each plugin module in that mainframe. This application would then report the max count from each module up to a server application that would package the information from all of the reporting consoles into a format that would allow the person looking at the data to easily discern which module in which console might be getting near it's end of life. The server application may also be able to send out an email to specified personel when a module max count crosses a defined threshold.
Any ideas are appreciated. If you have already created a system like this even more so.
Thank you in advance and have a great day!
09-07-2017 02:14 PM
Build the code that does the query into an EXE and enable VI server access to the VI that does the query.
From you central machine just bubble through a list if IP's and invoke the utility using VI Serve call by reference and sore the results after finding the max for each unit.
Ben
09-07-2017 09:14 PM
Build the simple application to get the relay counts and make a simple string report. My suggestion is to have the server be a fixed IP address and have it "listening" for a TCP/IP connection. Then your console applications just attempt to connect, send the data, and close the connection. The server can do whatever it wants with the data from there. But as soon as that connection is closed, it is waiting for another one. You can allow the consoles to retry to the connection for those situations where multiple consoles are trying to connect to the server.