Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

universal command group (ucg)

I can't seem to locate information on the  GPIB universal command group (UCG) on how and when it should be used. I have a section of bus analyzer printout from my bus analyzer showing this sequence:
 

0 0 0 49 200 _ 5f 01011111 0 1 1 1 0 0 1 1 UNT

0 0 8 47 550 ? 3f 00111111 0 1 1 1 0 0 1 1 UNL

0 0 1 101 350 1b 00011011 0 1 1 1 0 0 1 1 UCG

0 0 1 53 700 1b 00011011 0 0 1 1 0 0 1 0 ATNv

 

What gpib statement causes a UCG command to be sent? What documentation do I need to consult?

 

0 Kudos
Message 1 of 3
(3,743 Views)
The GPIB Command bytes are organized into groups.

  • The group from 0x00 - 0x0F are the Addressed Command Group (ACG) meaning that they only affect devices that are propertly addressed.
  • The group from 0x10 - 0x1F are the Universal Command Group (UCG), meaning that they affect all devices universally
The bus analyzer will analyze all bytes and provide you with their meaning. If the command byte is unknown, it will just tell you which group it appears in. In your case, you are seeing the command byte 0x1B go across the bus. Since this is an undefined command byte for the GPIB, the analyzer doesn't know how to interpret it, so it just shows that it is part of the UCG.




@kzamora wrote:

What gpib statement causes a UCG command to be sent? What documentation do I need to consult?


You can send any command byte with the call ibcmd. Why your application would be sending the command byte 0x1B is unknown to me. If you have a pre-written application from your instrument vendor it is possible that they are using this command byte for some internal purpose, but I really doubt that since I have never heard of this before.

Do you know what the logic of your application was trying to do when this occurred on the bus? You could have a bad cable and a bit (or two) is stuck? Or the device is misbehaving and asserting a line? Or the host just send this command byte for some reason?

0 Kudos
Message 2 of 3
(3,731 Views)

Thanks for your response, I'm glad you are interested in my project.

The VERY small trace output that I showed you is part of larger trace that I captured at a customer's site. The UCG byte is transmitted from a host computer that is IEEE 488-1975 ONLY compliant.

My company is replacing the test equipment that the host computer is talking to. Consequently, I captured the data between the host computer and the "test equipment" so we could emulate it.

For testing, I want to be able to use my laptop to simulate the host computer in every aspect so make sure our replacement test equipment functions properly. That includes the transmission of the UCG byte....So I wanted to know what, if anything, this particular code would be useful for. It appears to be innocuous.

The IEEE driver for our test equipment is using a modified  non_cic.c (originally supplied from NI)  module which works well....but I need to check what if anything it does with this UCG byte.

 

 

 

 

0 Kudos
Message 3 of 3
(3,719 Views)