A Level Gauge is a Screen Object which is used to display live data in the form of a liquid tank fill level. It can be configured to accept data from another object within ModCom, or to automatically poll an external Data Module on a continuous basis. User defined data conversions allow for viewing of data in a format or scale which is appropriate for the task, as well as the injection of calibration factors and/or offset values if needed. High and low level markers track and show the extreme ranges of the tank level value during run-time. The tank level value can also be used to trigger other actions within ModCom.
Once a Level Gauge is placed on the screen it can be selected by clicking on it with the left mouse button. To move the object, place the cursor over it, hold down the left mouse button and drag the object to the desired position. Resize handles are provided to allow adjustment of the overall size by dragging on them with the mouse in a similar fashion.
To set the properties of a Level Gauge, right-click on the object or select "Properties" in the <Edit> menu while the Level Gauge is selected. The following is a summery of the user defined attributes in the Properties dialog box.
Properties Dialog Box:
Title: Type in the text that will appear on the top of the Level Gauge.
Size: Selects the font size used for the text characters in the Level Gauge. Making changes to this attribute will also change the overall size of the Level Gauge respectively.
Color: Selects the font color used for the characters in the title.
Object ID Label: Type in a label that will be used for identification by other objects within ModCom when sending data to the Level Gauge, using the displayed reading as a variable in another object's function, or when evaluating Conditional statements specific to the Level Gauge's value.
Data Polling Command: If wishing the Level Gauge to continuously grab data from a Data Module, type in the command string which should be transmitted to the module in order to read the data. Note, this entry box supports variables.
Send output value to this Screen Object: To send the current tank level value to another Screen Object for viewing, type in the object's ID label here. This object can be a Data Window or a Text Window for instance. Note, the data format of this value (Decimal, Binary, or Hexadecimal) is determined by the "Output" format chosen in the "Data Conversion" section.
Input: Set this to the data format (Decimal, Binary, or Hexadecimal) which equals the format of the data being returned by the Data Module.
Output: Set this to the data format (Decimal, Binary, or Hexadecimal) which should be displayed in the window of this screen object during run-time.
Multiplier: Type in the multiplication factor which should be applied to the data before it is displayed. This can be a whole number as well as a number containing digits to the right of the decimal point.
Offset: Type in the offset value which should be added to or subtracted from the data before it is displayed. This can be a whole number as well as a number containing digits to the right of the decimal point. Note, the number of digits to the right of the decimal point which will be used to label the tick marks will be the same as that of the Offset. For example, using 0.0 as an offset value will force the tick mark display to show the tenths place.
Lookup Table: To convert the data using a lookup table of known substitution values, type in the filename which contains the table. If the full PATH name is not included, the file will be searched for in the current directory as shown in Get File Path. If a multiplier or offset value is being used for this Screen Object, it will be applied to the original data before searching for a match in the lookup table. For a detailed description of the file format and how to create a substitution list, see Lookup Tables. Note, this entry box supports variables.
Math Formula: To convert the data using a mathematical expression, type in the formula here. This formula can contain the four common math operators (addition, subtraction, multiplication, and division), any constant with or without a decimal point, as well as variables that represent the current value of other Screen Objects. If this Screen Object is being included in the formula as one of the variables, any multiplier, offset value, or lookup table will be applied to the original data before using it in the equation. If this Screen Object is not included in the formula, the Screen Object will update autonomously based on the formula instead of using the polling command or any data sent to it by another object.
Tick Marks: Select the number of tick marks to show along side the Level Gauge's tank. These will be spaced evenly from top to bottom.
Show Values: Check this box to show the numerical values of each tick mark. The number of digits to the right of the decimal point is determined by that of the Offset value.
Show Min/Max: Check this box to show the markers which track the minimum and maximum tank level values. These markers will be reset each time the run-loop is restarted. Note, stopping the run-loop does not change these markers, allowing the operator to view or save the file with the current min/max values.
Top Value: Type in the tank level value which will represent a full tank on the Screen Object.
Bottom Value: Type in the tank level value which will represent an empty tank on the Screen Object.
Bar Color: Choose the color which will be used to represent the contents level of the tank.