|   |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Home |
The Fluke interface is 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 Fluke interface.
Only the system commands can be executed when the device is selected by the general call address (255).
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!
Here are a few examples of commands and parameters:
The control commands for the Fluke interface can be divided in 3 specific groups,
All timings for the Fluke interface are derived from the display clock frequency.
Therefore it is very important that the display is not freezed while logging values or when you're interested in minimum, maximum or mean values.
Use: *CATALOG? This system command displays all available SB-Bus commands of the Fluke interface. 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.
The *CATALOG? command produces the following alphabetically ordered list: *CATALOG? *ERROR? *FAST *FLOW *FLOW? *HOLD *ID? *LOCS *REMS *RST *SLAVE *SLOW *TRIG *TST? CLEAR HOLD INTERVAL INTERVAL? LIST? MAX? MEAN? MIN? OPTION READ? SAMPLES? START STATUS? STOP => The *CATALOG? command doesn't allow any parameters. Error messages:
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:
Use: *FAST
After this command the Fluke interface 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.
You can switch to slow mode by sending the *SLOW command. Error messages:
Use: *FLOW XOFF | ACK
This command sets the flow control mode of the SB-Bus.
The default flow control mode is XON/XOFF.
Examples:
Error messages:
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:
Error messages:
Use: *HOLD
This command sets the SB-Bus interface into the HOLD mode, which means that the next command will not be executed directly but will be placed in hold.
The command which is placed in hold is not executed until the *TRIG command is given.
Please note that this a completely different command than the HOLD command (without the asterisk), which is used to freeze the statistical values. The commands that are to be put in 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 in hold. This command will always report the last error cause directly, without affecting the hold mode in any way. Error messages:
Use: *ID? An SB-Bus device must answer with its name and software version number when it receives this command. The Fluke interface can respond with one of two strings, depending on the selected meter model: Fluke 8010 V1.0 Fluke 8012 V1.0 You will have to set the appropriate meter model using the OPTION command before the *ID? command can respond with the proper answer. Error messages:
Use: *LOCS This command would allow local control of the device. But since the Fluke interface does not have any local controls, this command has no effect. It is only included for protocol compatibility reasons. Error messages:
Use: *REMS This command would not allow local control of the device. But since the Fluke interface does not have any local controls, this command has no effect. It is only included for protocol compatibility reasons. Error messages:
Use: *RST This command resets the Fluke interface. Resetting has the same effect as though the system was switched off and back on again. After reset the interface is not selected anymore, so it won't respond with an OK prompt. Error messages:
Use: *SLAVE address | $address The Fluke interface 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 Fluke interface is switched on for the very 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.
The Fluke interface 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 to 179 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 Fluke interface 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 Fluke interface you can always use the general call address 255.
Examples: *SLAVE 17 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:
Use: *SLOW
After this command the Fluke interface is switched to the slow respond mode.
In this mode it will delay about 5ms after sending each CR character.
Error messages:
Use: *TRIG
This command will trigger the execution of the command that was previously placed in hold by the *HOLD command.
You can trigger the execution of commands in hold even when the Fluke interface is selected by the general call address.
The command in hold is executed using the parameters that were given to it when it was placed in hold. If an error occurs during the execution of the command in 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 strings, even when it is not followed by a question mark. Error messages:
Use: *TST? This command performs some minor functionality tests on the hardware of the Fluke interface. It is impossible to make a 100% reliable functionality test, but it's a test anyway. The command tests the internal RAM memory, and the presence and operation of the EEPROM. If all's well the *TST? command will produce the next two lines: 0 WATCHDOG RESETS MEMORY OK
The first 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.
The second line indicates that the EEPROM is still working and that the contents are valid.
Error messages:
Use: CLEAR This command erases all statistical values, after which new statistical values will start accumulating automatically. The statistical values that are cleared are all variants of the Maximum, Minimum and Average values. Changing the range of the meter has the same effect as sending the CLEAR command. The meter can only detect range changes when the decimal point changes position. So the meter will probably not notice a range change if the decimal point remains in the same position. Please note: Be aware of some strange effects in the statistical results if you rely on the automatic clearing of the statistical values when switching to another range. Normally the meter needs a little time to settle and produce stable values after switching the range. All readings taken during this settling time are also accumulated in the statistical values and may cause erroneous results. The statistical values that are stored by the HOLD command are not cleared by the CLEAR command. The CLEAR command only affects the values of the MAX?, MIN? and MEAN? commands. The log values are not affected. Error messages:
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 in 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 value, the minimum values, the maximum values and the mean values in a temporary memory location.
Please note that these are the values you normally read while executing the READ?, MIN?, MAX?, and MEAN? commands.
The HOLD memory will not be influenced by switching to a different range or function. It's the user's responsibility to know what range and function the values were taken from. The placement of the decimal point is correct, but you won't be able to tell the difference between 1.234 V and 1.234 MΩ. Error messages:
Use: INTERVAL time The INTERVAL command is used to set the interval time between two successive samples that are stored in the log. The parameter time is given in seconds and may range from 0 to 3600 seconds, so the maximum interval time is one sample per hour. If the interval is set to 0 all measurements will be logged at maximum speed, which is 400ms per sample, or 2.5 samples per second on a 50Hz meter. The default interval time is set to 0 after a reset. The interval may only be changed while the Log function is not active. Once the Log function is started it is not allowed to change the interval time anymore. A flashing BT on the meter's display will indicate that the Log function is active at the moment. Error messages:
Use: INTERVAL? This INTERVAL? command is used to find out to what value the current time interval is set. The answer is a value in the range from 0 to 3600 seconds. This command can always be given, even when the Log function is active at the moment. Errors:
Use: LIST? [ [begin] [,] [end] ] With this command you can get a list of some or all of the samples that are stored in memory by the Log function. It may be given at any time, whether the Log function is still running or not. So you may request the current list even if it will still take several hours, or even days, before the Log function is completed. All samples are numbered, from 0 to 700. Every record that is sent to the SB-Bus has the format sample,value where sample is the sample number and value is the stored sample value. The sample number can be 1 to 3 digits long, depending on its value. The format of the value is exactly the same as the format of the values returned by the READ? command. The LIST? command is non-destructive, which means that it doesn't interfere with the already stored values, nor with the storing of new values. Even switching to another range will not erase the already stored samples, although the Log function will be terminated. The Log list is only erased when a new START command is given, while at the same time a new Log list is started. Also resetting the interface (e.g. by switching it off and on again) will clear the Log list. In which case the LIST? command will send no results. Every sample is sent on a separate line. The LIST? command can produce multiple result lines and can therefore be used together with acknowledge flow control. The LIST? command will send all available samples to the SB-Bus one by one if no parameter is given, starting at sample 0 and continuing until the last taken sample. Even brand new samples, taken while the list is being sent to the SB-Bus, will be included in the list.
You can specify a portion of the Log list you're interested in with the begin and end parameters.
The Fluke interface will automatically swap the values of begin and end if begin appears to be bigger than end. A listing can be aborted by sending an ESC character to the Fluke interface. Please note: It goes without saying that the Fluke interface can only send the samples that are already taken. No error is given if you try to read more samples than really exist. Non existing samples are simply not sent at all. Examples: LIST? Send the whole Log list to the SB-Bus. LIST? 100 Send only sample number 100. LIST? 100, Send all available samples starting at sample 100. LIST? 100,200 Send all available samples starting at sample 100 until sample 200. LIST? ,200 Send all available samples from sample 0 until sample 200 In short it comes down to this: The default value for begin is 0, and the default value for end is 700. The minimum value of begin and end is 0, and the maximum value is 700. Sample 0 is a sample that is taken immediately after the START command is given, and is therefore not affected by a time interval or averaging. Sample 1 is the first real sample, that is taken a certain interval after sample 0. Error messages:
Use: MAX? [ [A[BS]] | [S[IGNED]] [,H[OLD]] ] This command will send the current or the memorized maximum measured value to the computer. You may choose between the absolute maximum or the signed maximum value to be returned.
The maximum value is reset by the CLEAR command, or by switching to another range.
The format of the value sent to the computer is the same as that of the READ? command. Two types of maximum values exist, the absolute maximum and the signed maximum. The A or ABS parameter will send the absolute maximum value, while the S or SIGNED parameter will send the signed maximum value to the computer. The Fluke interface will send the absolute maximum by default when none of these parameters are given. Normally the MAX? command will return the current maximum value. But if the H or HOLD parameter is given it will return one of the maximum values that were stored by the HOLD command. The HOLD command stores both absolute and signed maximum values, so both values can be requested at any time. All parameters may be abbreviated to the first character. It is not important in what order the parameters appear. If both ABS and SIGNED parameters appear behind the command only the last one of the two will take effect. Error messages:
Use: MEAN? [ [A[BS]] | [S[IGNED]] [,H[OLD]] ] This command will send the current or the memorized average measured value to the computer. You may choose between the absolute mean or the signed mean value to be returned.
The mean value is reset by the CLEAR command, or by switching to another range.
The format of the value sent to the computer is the same as that of the READ? command. Two types of mean values exist, the absolute mean and the signed mean. The A or ABS parameter will send the absolute mean value, while the S or SIGNED parameter will send the signed mean value to the computer. The Fluke interface will send the absolute mean value by default when none of these parameters are given. Normally the MEAN? command will return the current mean value. But if the HOLD parameter is given it will return one of the mean values that were stored by the HOLD command. The HOLD command stores both absolute and signed mean values, so both values can be requested at any time. All parameters may be abbreviated to the first character. It is not important in what order the parameters appear. If both ABS and SIGNED parameters appear behind the command only the last one of the two will take effect.
Please note: In order to calculate the mean value we need to add all measured values together and count the number of samples we took.
Due to memory restrictions we can't allow any of the two values to grow indefinitely, so I had to set a maximum limit to those values.
I've set the maximum count to be 16.777.216 samples, after which the reported mean value won't be accurate any more.
At a rate of two and a half samples per second this is equivalent to approximately 186 hours, which is more than a week.
Error messages:
Use: MIN? [ [A[BS]] | [S[IGNED]] [,H[OLD]] ] This command will send the current or the memorized minimum measured value to the computer. You may choose between the absolute minimum or the signed minimum value to be returned.
The minimum value is reset by the CLEAR command, or by switching to another range.
The format of the value sent to the computer is the same as that of the READ? command. Two types of minimum values exist, the absolute minimum and the signed minimum. The A or ABS parameter will send the absolute minimum, while the S or SIGNED parameter will send the signed minimum value to the computer. The Fluke interface will send the absolute minimum by default when none of these parameters are given. Normally the MIN? command will return the current minimum value. But if the HOLD parameter is given it will return one of the minimum values that were stored by the HOLD command. The HOLD command stores both absolute and signed minimum values, so both values can be requested at any time. All parameters may be abbreviated to the first character. It is not important in what order the parameters appear. If both ABS and SIGNED parameters appear behind the command only the last one of the two will take effect. Error messages:
Use: OPTION 8010 | 8012
This command is used to set-up the meter model.
The only purpose for this is to let the *ID? command display the proper meter model.
Error messages:
Use: READ? [H[OLD]] This command is used to read the current value shown on the display, or to read the value stored by the HOLD command.
The display value is sent to the computer as a normal decimal number.
Leading zeroes are suppressed, except for numbers that are less than 1 in which case a 0 is put in front of the decimal point.
Please note that only the display value is sent to the computer, and nothing is being said about the actual range or function of the measurement. Below you find some display and interface reply combinations to give you a general idea of the relationship between them.
Normally the READ? command sends the current display value to the computer. But if the READ? command is followed by an H or HOLD parameter it will send the value that was stored by the most recent HOLD command. Error messages:
Use: SAMPLES? This command will return the number of samples that are currently stored in the Log list. It doesn't matter whether the Log function is active or not. You can use the answer to determine how long it will take before the Log list is filled, or to know how many samples are already taken. Error messages:
Use: START [ M[OMENT] | A[BS] | S[IGNED] ]
This command will clear the existing samples in the Log memory and then starts a new Log.
The parameter determines what kind of value will be logged.
A parameter may be abbreviated to the first character if you like.
The STOP command can be used to stop the Log function prematurely.
Also changing the meter range will stop the Log function.
In either case the available samples will remain in the Log memory.
An old Log list can only be cleared by the START command, and of course by the *RST command and by switching the interface off and on again. You may choose between 3 different types of values to be logged. Only one type can be active per Log session, so you have to decide which one you'll need beforehand.
The first sample is stored immediately after the Log function is started. Therefore it can never be the result of an average calculation, and is always the value in the display at the time the START command was given.
The momentary value is the default value to be sampled when no parameter is given.
Please note that the value of readings may vary considerably in between samples when a large interval is chosen. I recommend sampling the ABS or SIGNED values when using long intervals. It is not allowed to give the START command while a previous Log function is still running. It is also not possible to change the interval while the Log function is running. Error messages:
Use: STATUS? This command reports the current status of the Log function. It indicates whether the Log function is still active and what type of values are logged. The STATUS? command will answer with one of the following strings: LOG MODE OFF The Log function is not active (any more). MOMENTARY LOG MODE The Log function is running and stores momentary values. ABSOLUTE MEAN LOG MODE The Log function is running and stores absolute mean values. SIGNED MEAN LOG MODE The Log function is running and stores signed mean values. Error messages:
Use: STOP
This command will abort the Log mode prematurely.
It will not erase the values that are logged so far, so you can still recall the list after stopping the Log function.
Error messages:
|