Do we need to program the compressor in Labview? Is the compressor already programmed into the coding of the double solenoids?

When you open a solenoid, the compressor start running (and stops when it fills the tanks) automatically.

So all i need to do is program the solenoid in the Begin vi, Telop vi, and the Finish vi, and when I do this the compressor will automatically turn on and stop without manually programming it to do so?

Yes, just so.

If you want to see how it’s done, double-click on the Solenoid Open and looking at the block diagram you’ll see the compressor Open.

We’ve added 2 double solenoids to our program and the compressor does not start. we added the compressor to the Begin vi and tested it and still no compressor. Attached is a copy of our coding in Begin and Telop that pertains to the compressor.

The enums in Teleop are incorrect for Relay. That’s why they have red dots.
Get a correct Relay Enum by

  • Deleting the wire into Relay (the one with the red dot)

  • Right-click on the now vacant Relay input node and choose Create->Constant
    That’s the correct Relay enum type.

  • Now make copies of the correct one and replace all the others

  • Finally, remove the Enum you created into Relay and wire Relay into the Select as it was before.

  • If done correctly all the red dots should be gone.

Separately, is the status light on the Pneumatics Control Module blinking green?

Why does one of your double solenoids have a 0 wired to it, and the other a 1?

Okay I changed the program in telop. is there anything else I need to change? Like in the Begin vi?

In the begin vi the 0 and 1 corresponds with the channel in the Pneumatic Control Module that the double solenoids are using. Or at least that’s what I think.

Solenoid B in needs the “1” changed to a “0”

To check that the PCM is setup correctly, use a web browser and type into the address bar:
That should bring up web page where you’ll see PCM listed on the left side.
Click on PCM and verify that the CAN ID = 0

What are the status lights on the PCM doing?

I changed Solenoid B to “0” and i can’t find the pcm in the web browser. The status light on the PCM is blinking slow red. (No Can Com?)

That number corresponds to the CAN ID of the PCM itself. It defaults to zero, and should remain zero unless you’re adding a second PCM to the system.

The enumerated “Solenoid 0”, “Solenoid 1”, etc. define which outputs of the PCM are connected to the solenoids.

If your PCM is blinking red, then you need to look at your CAN wiring and make sure it is correct. The yellow/green CAN terminals on the roboRIO should be wired to one pair of terminals on the PCM, and the other pair of PCM terminals should be wired to the CAN terminals on the Power Distribution Panel.

We rewired our CAN wires (They were wired incorrectly). Now the PCM is blinking green. We have yet to test the program though.

We ran into a problem where the buttons do not retract the pistons. Did i program the buttons wrong?

If some of the LEDs next to the solenoid ports 0, 1, 2, 3 light but do not change, then there is still something wrong with the code.
Want to post the latest?

There are no LEDs next to the solenoid ports as far as I can tell.

The PCM solenoid LEDs are easy to miss if they are off, and hard to miss if they are on. Here is what they look like:

If none of the LEDs are on then your commands are not getting to the PCM (or it’s Disabled).
Did you go back with a web browser and confirm the CAN ID used by the PCM =0?

The CAN ID is 0 and none of the LEDs are on. The Light Device LED box is unchecked. Could that be why?

Is there an example of how to program the buttons in Labview that I could see?

There are some examples here.

The Light Device LED is just a way to make the PCM flash so you can confirm which one it is if you have multiple PCMs.
You can test it by checking it then clicking Save. The PCM will immediately blink rapidly for a second or two.

We reworked the programming and some LEDs do turn on. However only Solenoid B seems to work. Solenoid A automatically expands the piston and refuses to retract. Solenoid B (used for our noodle system) extends and retracts the piston correctly yet Solenoid A (used for our lift system) extends the piston without the pressing a button and refuses to retract.