Hi, I’m Bill Griffith, an Application Engineer with Keysight Technologies.
Today, we’re going to look at the group execute trigger.
The group execute trigger can be used to trigger multiple devices on the GPIB bus.
For example today, we’re going to use a couple power supplies.
The power supplies we’re using is from the E3640 series, which is comprised on some single-output
power supplies that offer a dual range.
In addition to that, we also have a dual-output power supply with dual ranges as well.
But for our example, we’re going to use the single-output power supplies.
We’re going to set up each of the power supplies and then we’re going to send a
single group execute trigger, and with that both power supplies will turn on.
We’re going to move to the PC now.
So looking at our example program, which is written in Visual Basic for Excel, we go ahead
and we define our interfaces and our power supply addresses.
So one of the unique things we need to do when setting a group execute trigger is we’ve
got to know the address of our GPIB, our controller.
So the program is simple enough.
It was started and then we set up each of the power supplies, and when both of the power
supplies are send up we send a group execute trigger and our DUTs turn on simultaneously.
With that, we can go ahead and close out our connections.
So let’s look at the underlying code.
So the first thing – and I’ll go ahead and post this too because there’s a lot
here – but the first thing we need to do is define our addresses for each of the instruments,
as well as our GPIB controller.
The next thing we do is send out the SCPI code to the first power supply.
So I started with a reset, I set the voltage for ten volts, the output on, and the trigger
source is bus so it’s waiting for a trigger from the bus, which will be the group execute
trigger.
Then we go ahead and initiate our trigger.
So it’s just waiting until it gets the group execute trigger – exact same thing for a
power supply, too.
Since these are independent power supplies, we could define different voltages for each
of them and we can define different delays for them.
So we can have a little bit of delay on our second one just as an example to show that
after it receives the trigger it takes a second to turn on, or a half second in this case.
Okay, now this is where the group execute trigger is and unfortunately there’s not
a command for it.
So what we have to do is drop down to the low level commands across the GPIB bus.
So the way we do that is we go ahead and create some strings with the low level addresses
in them.
So we first load up the addresses for the GPIB card and our power supplies, and then
the trick here is that if you think of it as one long register, there’s a listen bit
and there’s also a talk bit.
So what we want to do is set our two power supplies with the listen bit, plus our address
so there’s an “or” there.
Then we want to have the controller be in talk mode so we take its address and we “or”
with that bit.
The get command, the group execute trigger, has it’s own byte value, so we’ll need
that as well as the endless and all command.
So now that we’ve got all of our variables defined with our low level commands, we can
go ahead and send it out.
So we’ll start with our endless and all command, so we send that out across the bus.
So now no devices are listening.
Then we go ahead and send out our string that we created, so it puts both power supplies
in the listen mode and it puts the controller in talk mode.
Then we send out our get, our low level get command.
Then once we’re done with that we’ll put up a message box saying that the trigger has
been sent.
Again, I’ll go ahead and post this code but that’s how we can create a group execute
trigger by using the low level GPIB commands.
Then the last thing we did is we went ahead and closed out all of our connections across
the GPIB.
So that’s the program.
So I hope you found that interesting.
So that’s how you create a group execute trigger across the GPIB bus using the low
level GPIB commands to form the group execute trigger.
So thanks for watching, we’ll see you next time.