07-08-2013 06:49 PM
I'm currently in the planning phase of developing an control system for an electro-hydraulic actuator.
Problem Background and Motivation: The actuator we have is an Instron 1332, and currently we are using an MTS controller (TestStar II) and MTS software. However, the software we currently have will only work on Windows XP and older systems, and our IT will soon discontinue their support of this system. In order to use newer MTS software (which would be costly in itself), we would also have to purchase a new MTS controller that would work with the newer system (which is even more costly). The computer we are using with the software already recently crashed and we had to replace it with another old computer. Since budget is an issue (I work for a university), we would like to have a less costly, and easier to upgrade solution. I have been asked to look into the feasibility of developing a LabVIEW control system to communicate directly with the Instron (no more MTS controller), since our college uses LabVIEW software a lot.
Questions: Besides determining pin connections of the Instron 1332, and required input values and reading output values, which I plan to work on soon, I know I need to build a program in LabVIEW. I am fairly familiar with LabVIEW and have built some semi-complex programs (though not in a real-time environment), but haven't dealt so much with closed-loop control in LabVIEW, nor very much with controlling devices in LabVIEW (mostly focused on inputs so far). So my first question is: What do I need to consider when developing this closed-loop system? I have been making a list of the MTS software components, such as choosing between load/displacement control, setting safety limits, and controlling timing/speed of tests, as well as setting units, but I'm struggling with how to put all this together into a feedback control system. My second question is: I know I'm going to have prioritize things like user interface inputs and safety limit triggering, so, how do I prioritize, to insure that the system shuts down no matter what the user may input if things become unsafe (load too high, displacement surpassed, etc.), or what sub-program may currently be running?
Any advice on this would be greatly appreciated. Meanwhile, I'm going to continue to look for more information on our Instron and on electro-hydraulic systems in general...
07-11-2013 06:17 PM
Hi WyoEng,
Here are a few examples of basic closed-loop systems in LabVIEW to give you a basic idea of how this might be implemented:
http://www.ni.com/white-paper/12944/en/
http://www.ni.com/academic/students/learnlabview/control.htm
http://www.ni.com/white-paper/8156/en
For your second question, you could use something like an event structure so that if a certain input goes above a threshold, you can react accordingly.
07-11-2013 06:49 PM
Thank you. Those video tuturials are very helpful. I didn't know LabVIEW had such functions to make closed-loop control more feasible. About the event structure--can you prioritize certain events over others?
07-11-2013 07:19 PM - edited 07-11-2013 07:22 PM
@WyoEng wrote:
About the event structure--can you prioritize certain events over others?
No, prioritizing events isn't an available option.
Each Event structure and Register For Events function on the block diagram owns a queue that LabVIEW uses to store events. When an event occurs, LabVIEW places a copy of the event into each queue registered for that event. An Event structure handles all events in its queue and the events in the queues of any Register For Events functions that you wired to the dynamic event terminals of the Event structure. LabVIEW uses these queues to ensure that events are reliably delivered to each registered Event structure in the order the events occur.
Reference:
1. http://zone.ni.com/reference/en-XX/help/371361J-01/lvconcepts/using_events_in_labview/