SB-Bus Commands

The SB-6668 can be remote controlled by a group of SB-Bus commands. Two main groups of commands exist, system commands and control commands. System commands can be recognized by the preceding asterisk * symbol. All other commands are the control commands and they control the specific functions of the SB-6668. The system commands are the only commands that can be executed when the device is selected by the general call address 255 ($FF).
Upper and lower case characters are treated as equals by the SB-6668 for commands and their parameters.
Parameters are separated from the command by at least one space. Multiple parameters are separated from each other by a comma (without extra spaces). A command is parsed and executed after the reception of a CR character.

You can repeat the last command, including its parameters, by simply sending a single CR character to the device. You'll get a NOTHING TO REPEAT ERROR message if no command was previously executed though.

The following description uses a special notation to simplify the explanation. Optional parameters are enclosed in square brackets [...]. You shouldn't type the square brackets yourself if you want to use such a parameter, it's just an indication that the parameter is optional!
If you can choose between multiple parameters the pipe symbol | is used to separate the possible parameters you can choose from (eg: XOFF | ACK means either use XOFF or ACK as parameter).
Sometimes a parameter is a value or a variable piece of text. Such parameters are written in Italic and lower-case notation in this description (eg: address).
I often include spaces in the parameter descriptions for readability only. You shouldn't include these spaces in or between the parameters yourself for the SB-6668 will not understand you if you do.

Here are a few examples of commands and parameters:

*ERROR?
No parameter given, no parameter required.

*FLOW ACK | XOFF
Use the word ACK or the word XOFF as parameter.

*SLAVE address | $address
Use a value (eg. 170), or a hexadicimal value (eg $9A) as parameter. The description of the command will show you what the legal range of the value is.

FREQ? [H[OLD]]
The outer brackets show that the whole parameter is optional, so the command may also be given without a parameter. The brackets around OLD indicate that you can either type H or HOLD as parameter.

System Commands

*CATALOG?

Use: *CATALOG?

This system command displays all available SB-Bus commands of the SB-6668. All command names are sent to the master computer separated by a CR character.

This command can be used together with Acknowledge flow control. If Acknowledge flow control is activated the master must send an acknowledge every time it receives one of the commands from the total list.
Transmission will be terminated if the master responds with an error acknowledge (! or ?) 10 times in a row, in which case the SB-6668 will send a final execution error prompt !> . Transmission is also terminated if an illegal acknowledge character is received from the master or when the ESC character is received.

The *CATALOG? command produces the following alphabetically ordered list:

*CATALOG?
*ERROR?
*FAST
*FLOW
*FLOW?
*HOLD
*ID?
*LOCS
*REMS
*RST
*SLAVE
*SLOW
*TRIG
*TST?
CALC?
DISPLAY?
DUMP?
FORMAT
FORMAT?
FREQ?
HOLD
OFFSET
OFFSET?
OPTION
OPTION?
RATE
RATE?
READ?
REFERENCE
REFERENCE?
RESET
SCALE
SCALE?
SPEED
SPEED?
SYNC
=>

The *CATALOG? command doesn't allow any parameters.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

ABORTED ERROR
The user aborted the catalog list by sending the ESC character.

TOO MANY ERRORS
More than 10 successive error acknowledges were received during the transfer under Acknowledge flow control.

*ERROR?

Use: *ERROR?

The *ERROR? command gives you a description of the last command's error cause. Remember that you have to give the *ERROR? command directly after receiving an error prompt, otherwise the cause is overwritten by the error state of the latest commands.

In fact you only need to give the *ERROR? command if an execution error prompt is received (!>). The > prompt will always result in the NO ERROR message, while the ?> prompt will always generate a SYNTAX ERROR message.

Please refer to SB-Bus Errors for a complete list of all possible error messages.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

*FAST

Use: *FAST

After this command the SB-6668 is switched to the fast respond mode. In this mode it won't delay after sending a CR character, as it would do if it were switched to slow mode.
The fast mode is the default mode of operation.

You can switch to slow mode by sending the *SLOW command.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

*FLOW

Use: *FLOW XOFF | ACK

This command sets the flow control mode of the SB-Bus. The default flow control mode is XON/XOFF.
Remember that the Acknowledge flow control (ACK parameter) is an additional flow control and that the XON/XOFF flow control always remains active.

Examples:

*FLOW XOFF
The Acknowledge flow control mode is now switched off.

*FLOW ACK
The Acknowledge flow control mode is switched on together with the XON/XOFF flow control.

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

MISSING PARAMETER ERROR
No parameter was given. A parameter is required by this command.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

*FLOW?

Use: *FLOW?

With this command you can find out whether the Acknowledge flow control is active or not.

This command will give one of two possible answers:

XON/XOFF       Only the XON/XOFF flow control mode is active.
ACKNOWLEDGE    Acknowledge flow control and XON/XOFF flow control are both active.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

*HOLD

Use: *HOLD

This command sets the SB-Bus interface into the HOLD mode, which means that the next command will not be executed immediately but will be placed on hold. The command which is placed on hold is not executed until the *TRIG command is given.
When giving the *HOLD command while the hold mode mode is already active (with or without a command waiting to be executed) will terminate the hold mode. Naturally this will generate an execution error and the command that was placed on hold will be discarded.
The hold mode will also be terminated if a new SB-Bus address is received before a command is actually placed on hold, even if this new address is the interface's own address. You may send as many SB-Bus addresses as you like if a command is already placed on hold without affecting this waiting command.
Finally the hold mode will be terminated if an attempt is made to give a new command while a command is still on hold because the interface can have only one command on hold. This means the *TRIG command is the only command that is allowed while a command is placed on hold.

Please note that this a completely different command than the HOLD command (without the asterisk), which is used to freeze the current values.

The commands that are to be put on hold must be given completely, including the required parameters. Such a command is parsed immediately, including the parameters. If a parameter error is detected you receive the error prompt and the hold mode is terminated.

The *ERROR? command can not be placed on hold. This command will always report the last error cause directly without affecting the hold mode in any way.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

HOLD MODE DEACTIVATED
The hold mode was deactivated because you gave the *HOLD command while the hold mode was already active.

*ID?

Use: *ID?

An SB-Bus device must answer with its name and software version number when it receives this command.

The SB-6668 can respond with one of two strings depending on the selected meter model:

SB-6668 FREQUENCY COUNTER V1.0
SB-6667 FREQUENCY COUNTER V1.0

You will have to set the appropriate meter model with the OPTION command before the *ID? command can respond with the proper answer.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

*LOCS

Use: *LOCS

This command allows local control of the device. The only local control on the SB-6668 that can be affected by this command is the "Menu" key.
Per default local control of the instrument is allowed. The *REMS command can be used to inhibit local control.
The LOWBAT indicator will be off when the instrument can be controlled locally.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

*REMS

Use: *REMS

This command inhibits local control of the device. The only local control on the SB-6668 that can be affected by this command is the "Menu" key.
Per default local control of the instrument is allowed. The *LOCS command can be used to allow local control again.
The LOWBAT indicator will be on to indicate that local control is inhibited.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

*RST

Use: *RST

This command resets the SB-6668. Resetting has the same effect as switched the device off and then on again. After reset the instrument is not selected anymore, so it won't respond with an OK prompt.

Please note that this command has an entirely different function than the RESET command!

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

*SLAVE

Use: *SLAVE address | $address

The SB-6668 can be set to answer to any SB-Bus address you like. This address is stored in NV-RAM and can be changed with the *SLAVE command.

When the SB-6668 is switched on for the first time it will respond to the SB-Bus address 254, which is the default address for all new devices. You'll have to change the default address to a different unique address as soon as possible to avoid future conflicts with other new devices.

You can enter normal SB-Bus slave addresses ranging from 130 to 254 as parameter to the *SLAVE command. Or you may subtract 128 from the address, to get addresses in the range of 2 to 126.
It is also possible to enter the address value as a hexadecimal number. Hexadecimal numbers are preceded by a $ sign, an can be in the range of $82 to $FE, or in the range of $02 to $7E.
Any other value will result in a RANGE ERROR.

The SB-6668 remains selected after the new address is set but you can test the new address immediately by sending the new address to the bus.

The SB-Bus protocol recommends the address range from 170 ($AA) to 179 ($B3) to be used for measuring instruments. This is just a recommendation and you may choose any other address you like as long as it is a unique address on your bus system. But some software may search for an instrument at addresses 170 to 179 first, before scanning all other addresses to speed up the search.

In order to be able to change the SB-Bus address the SB-6668 must be selected. It doesn't matter whether it is selected by its own (temporary default) address or by the general call address. If you don't know the private address of the SB-6668 you can always use the general call address 255.
Be careful though that the SB-6668 must be the only device connected to the bus when you set the *SLAVE address through the general call address. Other devices may also listen to this command and you'll end up with duplicate SB-Bus addresses.

Examples:

*SLAVE 171    New address is set to 171
*SLAVE 43     New address is set to 171 (43 + 128)
*SLAVE $AB    New address is set to 171 ($AB = 171)

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

MISSING PARAMETER ERROR
No parameter was given. A parameter is required by this command.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

RANGE ERROR
The value of the parameter was out of it's legal range. Legal values are between 130 to 254, or 2 to 126 decimal. And $82 to $FE, or $02 to $7E hexadecimal.

*SLOW

Use: *SLOW

After this command the SB-6668 is switched to the slow respond mode. In this mode it will delay about 5ms after sending each CR character.
You can switch back to fast mode by sending the *FAST command.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

*TRIG

Use: *TRIG

This command will trigger the execution of the command that was previously placed on hold by the *HOLD command. You can trigger the execution of commands on hold even when the SB-6668 is selected by the general call address.
After the execution of the command the hold mode is cleared. That means that you can trigger a command in hold only once. You'll have to set the command on hold again if you want to trigger it again.
If you give the *TRIG command when no command is set on hold you'll get the message HOLD NOT ACTIVE ERROR.

The command on hold is executed using the parameters that were given to it when it was placed on hold. If an error occurs during the execution of the command on hold a normal error message will be reported.

Please note that the *TRIG command is the only SB-Bus command that can answer with one or more lines, even when it is not followed by a question mark.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

HOLD NOT ACTIVE ERROR
The hold mode is not active, so there is nothing to be executed.

NOTHING IN HOLD ERROR
The *HOLD command was given, but no command was placed on hold yet. Obviously the *TRIG command can't be placed on hold. The hold mode is switched of after this error.

Further more you can expect any other error message known to the system, depending on the execution result of the command that was placed in hold.

*TST?

Use: *TST?

This command performs some minor functionality tests on the hardware of the SB-6668. It is impossible to make a 100% reliable functionality test but it's a test anyway. The command shows the number of watch dog resets and tests the I²C bus and the operation of the EEPROM.

If all's well the *TST? command will produce the next three lines:

NVM MEMORY OK
IIC BUS OK
0 WATCHDOG RESETS

The first line tells us that the data in the NVM memory are still valid. The second line indicates that the I²C Bus is functioning. You may expect the NVM memory to fail too if the I²C Bus is not OK.
The last line tells us how many watch dog resets have occurred since the last time the *TST? command is given, or since the interface was powered up.
A watch dog reset may indicate a software error, but it may also be caused by an electrical flash-over caused by an out of control input signal.
A watch dog reset has the same effect as switching the meter off and on again, so it won't be selected and all mathematical functions are cleared if a watch dog reset does occur.
Under normal circumstances I have never noticed any watch dog resets myself with the SB-6668, not even after months of continuous operation.

Other possible answers of the *TST? command are:

MEMORY LOST
The contents of the EEPROM were not valid when the set was switched on. This error occurs only once because the EEPROM will be filled with valid default data when it happens. If the NVM memory is lost it will be loaded with some default Offset and Scaling values and the SB-Bus address will be set to 254.

IIC BUS FAILED
For some reason communication over the I²C Bus failed. This may be caused by a defective NVM memory or by a short on the I²C Bus itself.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

Control Commands

CALC?

Use: CALC?

This command tells you with what formula the measured frequency is modified to obtain the value in the display. You can use the OFFSET? and SCALE? commands to find out what the actual values of both parameters are.

The CALC? command can produce any of the following answers:

DISPLAY=FREQUENCY

The displayed value is equal to the measured frequency. None of the math functions are active.

DISPLAY=FREQUENCY+OFFSET
DISPLAY=FREQUENCY-OFFSET

The displayed value is equal to the measured frequency plus or minus the offset value.

DISPLAY=FREQUENCY*SCALE
DISPLAY=FREQUENCY/SCALE

The displayed value is equal to the measured frequency multiplied or divided by the scaling value.

DISPLAY=(FREQUENCY*SCALE)+OFFSET
DISPLAY=(FREQUENCY/SCALE)+OFFSET
DISPLAY=(FREQUENCY*SCALE)-OFFSET
DISPLAY=(FREQUENCY/SCALE)-OFFSET

The measured frequency is first multiplied or divided by the scaling value, then the offset value is added to or subtracted from that result.

DISPLAY=(FREQUENCY+OFFSET)*SCALE
DISPLAY=(FREQUENCY-OFFSET)*SCALE
DISPLAY=(FREQUENCY+OFFSET)/SCALE
DISPLAY=(FREQUENCY-OFFSET)/SCALE

The offset value is first added to or subtracted from the measured frequency after which it is multiplied or divided by the scaling factor.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

DISPLAY?

Use: DISPLAY? [H[OLD]]

This command returns the value that is currently displayed on the instrument. The returned value is the result of the measured frequency including the currently selected math functions. So the returned value doesn't necessarily have to be the same as the applied frequency!
If the DISPLAY? command is given without parameter it will return the current display value. But if the HOLD parameter is given it will return the value that was placed on hold by the HOLD command. The HOLD parameter may be abbreviated to the single letter H.

The format in which the value is returned is determined by the format that was set by the FORMAT command.

Below you can see some values that can be returned by the DISPLAY? command. For each result the first value is the value returned in format 1, the second value is the value that is returned if format 2 is selected.

3.000000kHz
3.000000E+3
The value in the display was 3kHz.
12.34567MHz
12.34567E+6
The value in the display was 12.34567MHz.
2.950208kHz,-1.7%
2.950208E+3,-1.7
The speed value in the display is 2.950kHz, while the deviation from the nominal frequency is -1.7%.
2.496298kHz,-17%
2.496298E+3,-17
The speed value in the display is 2.496kHz, while the deviation from the nominal frequency is -17%.
9.000000kHz,+OL
9.000000kHz,+99
The speed value in the display is 9.000kHz, while the deviation from the nominal frequency is out of range (more than 99%).

Please note that the decimal point in the values is always behind one of the 3 most significant digits of the mantissa, while the exponent part of the value can always be divided by 3. This can be different from the way the values are displayed on the instrument!

There are some more differences if the Speed function is active. The returned frequency still has a 7 digit resolution and a decimal point is displayed. Frequencies above 9999Hz will result in an overload on the instrument's display, while the SB-Bus can still return the actual frequency.

The instrument can not perform new measurements while the user has activated the Menu. If you try to read the display value while the user has activated the Menu the DISPLAY? command will result in a MENU IS ACTIVE ERROR message.
This does NOT apply if you try to read the display value that was placed in hold, i.e. when the HOLD parameter is given.

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

MENU IS ACTIVE ERROR
The user has activated the Menu, during which the instrument can not perform any new measurements.

DUMP?

Use: DUMP?

This command is new since software version V1.1. It simply dumps every reading the counter takes to the SB-Bus, until you abort it. You can abort the command by pressing ESC, activating the menu, or by selecting a new SB-Bus Address.
It is not possible to put this command in *HOLD mode, mainly because I can't think of a use case for that scenario.

Error messages:

ABORTED ERROR
The dump was aborted by the user.

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

MENU IS ACTIVE ERROR
The user has activated the Menu, during which the instrument can not perform any new measurements.

FORMAT

Use: FORMAT 1 | 2

You can select one of two possible formats in which measured values are sent to the computer. The two possible formats are called 1 or 2.

Properties of format 1
Format 1 is the "human readable" format. Values that are read in format 1 can not directly be used in calculations.
The mantissa of the frequency is 6 or 7 digits long, with a decimal point to the right of one of the 3 most significant digits. This mantissa is followed by the unit designators mHz (milli Hz), Hz, kHz, MHz or GHz.
A percentage is always returned with a 2 digit mantissa, with or without a decimal point in between them. The percent symbol % will follow these 2 digits. A + or - sign will precede the 2 digits of the percentage. If the percentage is more than 99% the returned value will be +OL or -OL.

Properties of format 2
Format 2 is the "machine readable" format. Values that are read in format 2 can directly be used in calculations.
The mantissa of the frequency is 6 or 7 digits long, with a decimal point to the right of one of the 3 most significant digits. This mantissa is followed by the capital letter E, which is followed by a + or - sign and the exponent. The exponent can always be divided by 3.
A percentage is always returned with a 2 digit mantissa, with or without a decimal point in between them. These two digits will be preceded by a + or - sign. Percentages above 99% are returned as +99 or -99.

Format 1 is the default format after Reset.

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

MISSING PARAMETER ERROR
No parameter was given. A parameter is required by this command.

RANGE ERROR
The value of the parameter was out of it's legal range. Legal values are 1 and 2.

FORMAT?

Use: FORMAT?

This command returns the currently selected format. The format can be changed with the FORMAT command.

The command will return the value 1 or 2 depending on the currently selected format. Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

FREQ?

Use: FREQ? [H[OLD]]

This command returns the actually measured frequency. The returned value is never the result of any of the math functions. So the returned value is always equal to the measured input frequency!
If the FREQ? command is given without parameter it will return the current frequency. But if the HOLD parameter is given it will return the value that was placed on hold by the HOLD command. The HOLD parameter may be abbreviated to the single letter H.

The format in which the value is returned is determined by the format that was set by the FORMAT command.

Below you can see some values that can be returned by the FREQ? command. For each result the first value is the value returned in format 1, the second value is the value that is returned if format 2 is selected.

3.000000kHz
3.000000E+3
The value in the display was 3kHz.
12.34567MHz
12.34567E+6
The value in the display was 12.34567MHz.

Please note that the decimal point in the values is always behind one of the 3 most significant digits of the mantissa, while the exponent part of the value can always be divided by 3. This is different from the way the values are displayed on the instrument!

The FREQ? command will always return just one value because it will not return the percentage when the Speed function is active.

The instrument can not perform new measurements while the user has activated the Menu. If you try to read the frequency while the user has activated the Menu the FREQ? command will result in a MENU IS ACTIVE ERROR message.
This does NOT apply if you try to read the frequency that was placed in hold, i.e. when the HOLD parameter is given.

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

MENU IS ACTIVE ERROR
The user has activated the Menu, during which the instrument can not perform any new measurements.

HOLD

Use: HOLD

The HOLD command stores all current values in a temporary memory location to enable easy reading of values taken at the same moment.

This command can be very useful together with the *HOLD system command. Placing this command on hold enables you to take multiple readings on different devices at the same moment in time. To do this set all instruments in hold one by one, then select them all with the general call address and send the *TRIG command. After that you can read the measured values from all devices one by one.

Please note the difference between the HOLD command and the system *HOLD command! The HOLD command places all current values in a temporary memory location, while the system *HOLD command will place the next command in hold mode, waiting to be executed by the *TRIG command.

The HOLD command will store the current frequency and the modified value by any active math function and the percentage if the Speed function is active.
There's only one temporary memory location, so the next HOLD command will always overwrite the values that were previously stored there.

Please note that these are the values you normally would read while executing the FREQ? and DISPLAY? commands.
Normally these commands respond with the current value of the indicated property. If you want to read the value that is stored in the temporary memory location you'll have to include the parameter H or HOLD after the command.

The HOLD memory will not be influenced by any other command (except *RST), not even by the RESET command. Values stored in the hold memory will remain valid until they are over written by executing a new HOLD command

If the command is given while the user has activated the Menu the HOLD command will not be executed and terminates with a MENU IS ACTIVE ERROR. This is because the instrument can not perform new measurements while the Menu is active.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

MENU IS ACTIVE ERROR
The user has activated the Menu, during which the instrument can not perform any new measurements.

OFFSET

Use: OFFSET +offset | -offset | S,offset | D,offset

With this command you can perform three different functions:

  • Switch the Offset function on and set the offset value in either polarity.
  • Add a new offset value to the list of offset values.
  • Delete an existing offset value from the list of offset values.

The offset list is the list that is presented to the user if he/she wants to select an offset value manually in the Menu. This list can contain up to 50 different values and the memory is shared with the scaling value list. It doesn't matter whether you use 10 offset values and 40 scaling values, or the other way around. The maximum number of values in the list is simply 50.
The offset list is stored in NVM memory and is therefore retained even when the instrument is switched off.
The list is automatically sorted in ascending order when values are added or deleted.

You can activate or change the current offset value by starting the parameter with a + or a - sign. The value of offset is the actual value that is to be added to or subtracted from the measured frequency. Please note that you must specify the polarity of the offset, even when the polarity is positive!
This offset value doesn't have to be present in the Offset list, as opposed to setting the offset value manually using the Menu.
The Offset function will be terminated if the offset value is set to 0. If the Scale function is still active it will automatically get the highest priority.
Priority is assigned in exactly the same way as with manual control. The function that is activated first gets and keeps the highest priority for as long as it remains active. So if the Offset function is selected while the Scale function is not active, it is the Offset function that gets the highest priority.

If the first character in the parameter field is an S the following offset value will be added to the Offset list in NVM memory. This S must be followed by a comma to separate it from the actual offset value. No sign is expected for the offset value because it is up to the user to select the appropriate polarity later on.
You will get an execution error if the NVM memory appears to be full when you want to add more values.

Please note that the offset value is only stored in NVM memory. The Offset function is not activated, nor will an active offset value be changed to the entered value.

The NVM memory is filled with some default Offset values when the counter is switched on for the very first time. This default list can be changed at any time and all changes will be retained when the instrument is powered off. The default list contains the following offset values:

445 kHz
450 kHz
455 kHz
5.5 MHz
5.74 MHz
6 MHz
5.5 MHz
10.7 MHz
38.9 MHz

If the first character in the parameter field is a D the following offset value will be deleted from the Offset list in NVM memory. This B must be followed by a comma to separate it from the actual offset value. No sign is expected for the offset value.
An execution error will warn you if the entered offset value is not present in the offset list.

Please note that the actual Offset function is not affected by this command. Only the offset value will be deleted from the Offset list.

Entering the offset frequency is very flexible. You may enter the mantissa only, or you may specify the exponent as well (following the letter E). The decimal point may be placed anywhere in the the mantissa part of the value. And you may omit the + sign in the exponent field if it is a positive exponent value.
The legal range of the offset value is from 1E-3Hz until 9.999999E+10Hz. The value 0 is only allowed if the parameter field does not start with an S or a D.

Error messages:

ILLEGAL PARAMETER ERROR
One of the parameters was not recognized. The command is not executed.

MISSING PARAMETER ERROR
Not all parameters were given. One or two parameters are required by this command.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

RANGE ERROR
The parameter value was out of range. Legal range is 1E-3 to 9.999999E+10. 0 may be illegal too, depending on the function.

MEMORY FULL ERROR
There was no room to store the new Offset value. The NVM memory can hold up to 50 Offset values, but shares this memory together with the list of Scaling values.

DUPLICATE VALUE ERROR
The value you tried to enter already exists in the Offset list. There is no need to enter it twice, so this value is ignored.

VALUE NOT FOUND ERROR
You tried to remove a value from the Offset list that doesn't exist. Nothing was removed.

NVM WRITE ERROR
An error occurred while writing to NVM memory. If this error persists it may be necessary to replace the NVM chip.

OFFSET?

Use: OFFSET? [L[IST]]

This command will report the currently selected offset value. It is also possible to recall the whole list of predefined offset values with this command if you use the LIST parameter.

This command will return the currently active offset value if no parameter is given. This value is always given in engineering format (format 2), regardless of the selected format. The offset value's polarity is indicated by a + or a - sign preceding the actual value.
The command will return the text NOT ACTIVE if the Offset function is not in use.

The OFFSET? command will return the complete Offset list if the LIST parameter is given. This parameter may also be abbreviated to the first character L.
All values are sent in engineering format (format 2) in ascending order. Sending the list may be influenced by the Acknowledge flow control. If the Offset list is empty nothing is sent and the command simply responds with the OK prompt.

Error messages:

ILLEGAL PARAMETER ERROR
One of the parameters was not recognized. The command is not executed.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

ABORTED ERROR
The user aborted the list by sending the ESC character.

TOO MANY ERRORS
More than 10 successive error acknowledges were received during the transfer under Acknowledge flow control.

OPTION

Use: OPTION SB6668 | SB6667 | EXTREF | NOEXTREF | RESETNVM

With this command you can select your counter model and whether you have installed the external reference switch circuitry. It is also possible to re-initialize the NVM memory so you can start all over again.
You may only specify one parameter at a time. So if you need to make 2 changes to the default settings you'll have to invoke the OPTION command twice.

The counter model can be selected by giving the SB6668 or SB6667 parameter. Per default the model SB6668 is selected.
The counter model is only important to display the appropriate name in the display when you turn the instrument on and to report the right model with the *ID? command. There are no other functional changes in the software between the two counter models.

Another option you can set with this command is whether there is a reference source switch installed in your counter. This can be done with the EXTREF and NOEXTREF parameters. Per default the counter expects that the reference source switch is installed.
The ExtRef selection will be skipped in the Menu if you indicate that there is no reference source switch in your instrument. Also the REFERENCE command will produce an error if there is no reference switch installed.

Finally you may initialize the NVM memory. After resetting the NVM memory it is as if you switched the counter on for the very first time. First the memory is erased and then all defaults are restored.
Remember that the default SB-Bus address is 254. The Offset and Scaling lists are filled with some default values. Also the counter model is set to SB6668 and the reference source switch is enabled.

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

MISSING PARAMETER ERROR
No parameter was given. A parameter is required by this command.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

NVM WRITE ERROR
An error occurred while writing to NVM memory. If this error persists it may be necessary to replace the NVM chip.

OPTION?

Use: OPTION?

This command will respond with two lines, indicating the selected options. The first line shows the selected meter model (either SB6668 or SB6667). The second line shows if the reference source switch is enabled (either EXTREF or NOEXTREF).

Because this command will generate a multi-line answer it can also be used with Acknowledge flow control.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

ABORTED ERROR
The user aborted the list by sending the ESC character. TOO MANY ERRORS
More than 10 successive error acknowledges were received during the transfer under Acknowledge flow control.

RATE

Use: RATE FAST | SLOW

This command enables you te select between the slow and fast measuring rate. The counter completes a measurement about every second in the slow mode. In the fast mode it completes about 5 measurements per second.
Naturally the counting resolution suffers a little when the fast rate is selected. That is why the counter switches back to 6 digit resolution when the count value exceeds 2000000.

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

MISSING PARAMETER ERROR
No parameter was given. A parameter is required by this command.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

RATE?

Use: RATE?

This command returns the currently selected measurement rate. It answers with the strings FAST or SLOW.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

READ?

Use: READ? [H[OLD]]

This command is new since software version V1.1 It is simply an alias to the *DISPLAY? command.

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

MENU IS ACTIVE ERROR
The user has activated the Menu, during which the instrument can not perform any new measurements.

REFERENCE

Use: REFERENCE I[NT[ERN[AL]]] | E[XT[ERN[AL]]]

This command enables you to select the reference source. You may select the source to be Internal or External, provided that your counter is equipped with a reference switching circuitry.

The parameter parsing is very flexible. You may specify I, INT, INTERN or INTERNAL as parameter to switch to the internal reference source. Or you may specify E, EXT, EXTERN or EXTERNAL as parameter to switch to the external reference source.

It's the operator's responsibility to supply an appropriate reference signal to the external reference input on the rear panel of the counter. Otherwise the counter will count nothing or gives inaccurate results.

Error messages:

ILLEGAL PARAMETER ERROR
The given parameter was not recognized. The command is not executed.

MISSING PARAMETER ERROR
No parameter was given. A parameter is required by this command.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

NO REFERENCE SWITCH ERROR
Your counter is not equipped with a reference switch, so you are not able to select the reference source.

REFERENCE?

Use: REFERENCE?

With this command you can determine what reference source is currently selected. It answers with either INTERNAL, EXTERNAL or NO REFERENCE SWITCH.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

RESET

Use: RESET

This command is used to switch off all the math functions at once. It is equivalent to the RESET function that can be executed from the Menu.
The RESET command clears the Offset, Scale and Speed functions all at once. Also the Offset/Scale priority is cleared.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

SCALE

Use: SCALE *scale | /scale | S,scale | D,scale

With this command you can perform three different functions:

  • Switch the Scale function on and set the scale value in either polarity.
  • Add a new scale value to the list of scale values.
  • Delete an existing scale value from the list of scale values.

The scale list is the list that is presented to the user if he/she wants to select a scaling value manually in the Menu. This list can contain up to 50 different values and the memory is shared with the offset value list. It doesn't matter whether you use 10 offset values and 40 scaling values, or the other way around. The maximum number of values in the list is simply 50.
The scale list is stored in NVM memory and is therefore retained even when the instrument is switched off.
The list is automatically sorted in ascending order when values are added or deleted.

You can activate or change the current scale value by starting the parameter with a * or a / symbol. The value of scale is the actual value that is to be multiplied with or divided on the measured frequency. Please note that in case the division function is used it is the frequency that is divided by the scaling factor.
This scale value doesn't have to be present in the Scale list, as opposed to setting the scale value manually with the Menu.
The Scale function will be terminated if the scale value is set to 1. If the Offset function is still active it will automatically get the highest priority.
Priority is assigned in exactly the same way as with manual control. The function that is activated first gets and holds the highest priority for as long as it remains active. So if the Scale function is selected while the Offset function is not active it is the Scale function that gets the highest priority.

If the first character in the parameter field is an S the following scale value will be added to the Scale list in NVM memory. This S must be followed by a comma to separate it from the actual scale value. No function symbol is expected for the scale value because it is up to the user to select the appropriate function later on.
You will get an execution error if the NVM memory appears to be full when you want to add more values.

Please note that the scale value is only stored in NVM memory. The Scale function is not activated, nor will an active scale value be changed to the entered value.

The NVM memory is filled with some default Scale values when the counter is switched on for the very first time. This default list may be changed at any time and all changes will be retained when the instrument is powered off. The default list contains the following scaling values:

2
3
4
8
10
15
16
32
64
128
256
512

If the first character in the parameter field is a D the following scale value will be deleted from the Scale list in NVM memory. The D must be followed by a comma to separate it from the actual scale value. No function symbol is expected for the scale value.
An execution error will warn you if the entered scale value is not present in the offset list.

Please note that the actual Scale function is not affected by this command. Only the scale value will be deleted from the Scale list.

Entering the scale frequency is very flexible. You may enter the mantissa only, or you may specify the exponent as well (following the letter E). The decimal point may be placed anywhere in the the mantissa part of the value. And you may omit the + sign in the exponent field if it is a positive exponent value.
The legal range of the scale value is from 1E-3 until 9.999999E+6. The value 1 is only allowed if the parameter field does not start with an S or a D.

Error messages:

ILLEGAL PARAMETER ERROR
One of the parameters was not recognized. The command is not executed.

MISSING PARAMETER ERROR
Not all parameters were given. One or two parameters are required by this command.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

RANGE ERROR
The parameter value was out of range. Legal range is 1E-3 to 9.999999E+10.

MEMORY FULL ERROR
There was no room to store the new Offset value. The NVM memory can hold up to 50 Scaling values, but shares this memory together with the list of Offset values.

DUPLICATE VALUE ERROR
The value you tried to enter already exists in the Scaling list. There is no need to enter it twice, so this value is ignored.

VALUE NOT FOUND ERROR
You tried to remove a value from the Scaling list that doesn't exist. Nothing was removed.

NVM WRITE ERROR
An error occurred while writing to NVM memory. If this error persists it may be necessary to replace the NVM chip.

SCALE?

Use: SCALE? [L[IST]]

This command will report the currently selected scale value. It is also possible to recall the whole list of predefined scaling values with this command if you use the LIST parameter.

This command will return the currently active scaling factor if no parameter is given. This value is always given in engineering format (format 2), regardless of the selected format. The scaling factor is preceded by the current scaling function which is * for multiplication or / for division.
The command will return the text NOT ACTIVE if the Scale function is not in use.

The SCALE? command will return the complete Scaling factor list if the parameter LIST is given. This parameter may also be abbreviated to the first character L.
All values are sent in engineering format (format 2) in ascending order. Sending the list may be influenced by the Acknowledge flow control. If the Scaling factor list is empty nothing is sent and the command simply responds with the OK prompt.

Error messages:

ILLEGAL PARAMETER ERROR
One of the parameters was not recognized. The command is not executed.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

ABORTED ERROR
The user aborted the list by sending the ESC character.

TOO MANY ERRORS
More than 10 successive error acknowledges were received during the transfer under Acknowledge flow control.

SPEED

Use: SPEED CCIR | DIN

This command will activate the Speed function. The same Speed function can also be activated manually. When the Speed function is selected the display will show a 4 digit frequency and a 2 digit deviation percentage from the nominal frequency.
You have to specify what the nominal frequency is by selecting one of the 2 standards. The CCIR standard uses tapes with a constant 3000Hz tone on it, while the DIN standard uses a constant tone of 3150Hz.
The Speed function can only be canceled by executing the RESET command or by the manual RESET function in the Menu.

Remember that the counter can only display 4 digits because of its limited number of digits on the LCD. This limit does not apply if you read the display value using the DISPLAY? command.

You can also use the other math functions together with the Speed function. These other math functions will always have a higher priority, making the Speed function always the last function to be executed on each measurement.
For instance the Scale function can be used in case you have to calibrate the double speed copy function of a double cassette deck, or in case you have a standard tape with a completely different frequency on it.

Error messages:

ILLEGAL PARAMETER ERROR
The parameter was not recognized. The command is not executed.

MISSING PARAMETER ERROR
No parameter was given. A parameter is required by this command.

TOO MANY PARAMETERS ERROR
Too many parameters were given. The command is not executed.

SPEED?

Use: SPEED?

With this command you can find out whether the Speed function is active or not, and what standard it is set to. It can respond with any of these three strings:

SPEED IS NOT ACTIVE
CCIR
DIN

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.

SYNC

Use: SYNC

This command does nothing but wait until the current measurement is completed and displayed. It can be used to synchronize the controlling computer to the actual measurements. The OK prompt => is returned immediately as soon as the current measurement is completed.

The execution error MENU IS ACTIVE ERROR occurs if this command is executed while the Menu is active.

Error messages:

NO PARAMETERS ALLOWED
No parameter was expected. A parameter was given anyway.