I have an application where I believe the “Sine Start (Prs/Frc) (76)” command might be useful. I need to cycle a servo valve a number of times using the same pressure set point with each cycle. Basically open the servo valve until a certain hydraulic pressure is met, then close the valve. Repeat the sequence x amount of times. Is this command useful for this scenario? If so, where does the command get its pressure reference from and where do I enter that at? The servo valve is assigned to Axes 0. My pressure transducer is assigned and scaled to Ref2 Axes. Do I simply need to choose Axes 0 AND Ref2 in the “Commanded Axes” drop down of the command?
I have no way of testing this until I have the system set up. All I have right now is the RMC150 controller.
If you don’t need to continuously control the pressure, but just monitor it and do something when you change it, then I do not think the Sine Start command is what you need. You could just write a user program that opens the valve, waits for the pressure to reach a certain value, closes the valve, waits until whatever condition you need before opening the valve, and repeat.
When sending a command, you would send it only to the axis that will be doing the moving. What type of feedback is axis 0 connected to? Are you just opening and closing the valve with an open-loop voltage signal, or is the RMC closing the loop on the spool position?
The way you describe in your first paragraph, is pretty much the way that my program is written now. That way of programming will work I’m sure, but by looking at the “Sine Start (Prs/Frc)” command, I thought that might work as well, and possibly better and more efficient? The valve that I’m using is a Moog servo valve with a -10/+10 analog input, where -10VDC = B-port of the valve all the way open. +10VDC = A-port of the valve all the way open. 0VDC = Valve at neutral, both ports closed. I will need to open both ports alternatively in my program, where the RMC will get pressure feedback from pressure transducers, one each from both the A and B side ports of the valve. So the RMC opens the A-port side until PD-1 (Pressure transducer 1) equals a certain pressure, then immediately shuttles in the opposite direction (essentially closing A-port) and opens B-port side until PD-2 equals a certain pressure. Repeat this a predetermined number of cycles. Would aforementioned command work for this scenario? If so, refer to my original questions from my first post. Thank you.
It depends on what you want the system to do and how precisely it needs to perform. Am I correct in a assuming that right now, you are just sending open loop voltage to the valve? Is this meeting your needs? If you go with a sine wave, or any other force command, you will then need to do closed-loop control, and make sure the pressure control is tuned properly. Of course, it will very likely be able to perform more precisely.
What is your end goal? How precise do you need the control to be? When you say more efficient, do you mean energy efficiency, or less programming?
No, I am not sending open loop voltage to the valve. It will be a closed loop control, even in “Manual mode”. The system is not built yet but I do have the RMC and one Moog valve (No hydraulics plumbed to it). I’m trying to get most of my end of the project completed before the system is built. The opening of the valve to allow hydraulic pressure and flow will be determined by a pressure feedback via the transducers. Obviously I can’t tune the loop until the system is built and plumbed. End goal is simply to be able to run the valve open until it sees a predetermined pressure (via pressure feedback from a transducer), then immediately close the valve. Immediately open the other side (B-port) until that pressure transducer sees a predetermined pressure, then close the valve, etc, etc. The Servo valve to control is the Moog D633 with a -10/+10 VDC input. Which brings me to another question. In order to open the B-port side of the D633, I need to send it a negative voltage. In that respect, do I need to invert the Output Voltage polarity on the Axis in my program once I’m to the step of opening the B-port? I believe I need to but I’m looking for verification. As far as precision on the control…well, I need it to be as precise as possible. So, if I give it a command to open the A-port of the valve until “Actual Pressure” reaches 225 psi, I would like it to ramp to that pressure with little or no overshoot before it closes the valve. When I said more efficient, yes, I meant less programming. I figured less program steps would equate to less scan time. However, my programs are very small (<= 15 steps), so it shouldn’t be a problem anyway. Hydraulic Test Bench II R1.rmcproj (48.5 KB)
I just now realized that you will be switching which pressure transducer will be used to tell the valve when to switch. This makes it a bit trickier and you will need to swap the Pressure/Force Orientation. I think you would be better off using regular force ramping commands instead of the sine wave. That way, you can send the pressure command, wait for pressure, ramp to zero, swap the Pressure/Force Orientation, send the pressure command for the other direction, wait for pressure, ramp to zero, etc. You can make a fairly short user program that loops.
The scan time (we call it loop time), is selectable, and once selected, will be exactly that. More or less programming won’t make a difference. The RMC will limit how many calculations you can do in one step based on the loop time, but for this project, you will not get anywhere near the limit.
What is the desired cycle time? In order to get no overshoot, slower is easier.
I have been following along here and I am really wondering what is connected to the valve? Is this for a cylinder that goes back and forth with a specific force in each direction? Or are the A and B sides connected to different single acting cyliders?
We do some pressure impulsing systems that sound sort of like this but we plug the B port and connect the A port to a closed volume. Then we keep ramping the pressure command between 2 values for 250,000 cycles.
It might be helpful to know what is connected to the valve and what physical results you need to happen if you can share.
Okay, sounds good since I’ve pretty much have the program (Station1) written that way now.
Yes, if you look at the program that I attached in a previous post, that is what I’m doing - switching the PFOrientation. Is that all I need to do to get the valve to cycle in the opposite direction (B-port side open, sending negative voltage to the valve). I don’t need to invert the output polarity as well? I did a test where I switched the PFOrientation and then sent a command to the Axes. The “Control Output (V)” in the status pane still showed a positive voltage after I sent the command, although it was referencing the transducer on Ref3, so that part I know was correct. Point and question is, will “Control Output (V)” status register always show a positive voltage no matter what PFOrientation or Output Polarity is selected?? Because switching PFOrientation and Output Polarity, the register still shows a positive voltage. So, I’m hazy on what’s going on there, if anything. Also, I tried running “Station1ManualMode” and something strange to me is going on there too, particularly at step 5. If I have the “Sta1Setpoint” variable set to 25 (psi), the program will get to step 5 and stay there with the “Control Output (V)” register showing around 2.5 VDC. I bump up the “Sta1Setpoint” up to 125 and re-run the program, it gets to step 5 and I get an “Output Saturated” fault. There is nothing hooked up (valves, Pressure Transducers, etc), so getting the “Output Saturated” fault makes sense to me. The RMC is ramping up the voltage to the output and the pressure isn’t changing, so it keeps ramping until it exceeds the 10.5 VDC. If that is correct, then why when I have the “Sta1Setpoint” set at 25, it ramps up the voltage to 2.5 VDC and just stays there, apparently waiting for my link condition to go true. Shouldn’t I have gotten an “Output Saturated” fault there too, since there was no pressure on the transducer?? Is it possibly a setting that I have selected in Axis Parameters?
To answer your question, desired cycle time (Open A port, wait for pressure to reach, ramp to 0, Open B port, wait for pressure to reach, ramp to 0 = 1 cycle) is 3-5 Hz. More if we can do it. The faster the better on strict durability tests. A full durability test (1.2 Million cycles) can last a few days at those cycle rates. The shorter the duration of that, the better for all.
Yes, this is a durability test that is sending pressurized hydraulic fluid to a valve. The valve is the part under test. It is a major component of a selectable clutch. There are two ports to the valve under test. Normally, we would send pressurized fluid to only one port of the valve, allow it to shuttle, release the pressure and then allow the spring in the valve to return it. I have written a portion in my “Station1” program for this routine, starting at Step 8. However, in some other tests, we need or want to use “pressure assist” to “assist” the spring in shuttling the valve back. That is where opening the B-port of the valve comes into play. That routine is also in “Station1” program.
I figured out the “issue” I was having with the output voltage not ramping, and just holding there. I don’t have any tuning parameters set. I believe that’s the reason behind that anyways. I guess I won’t really be able to debug this program much until I actually have the servo valve mounted to a working hydraulic system.