Fields are the user configured points that an ezeio logs in onboard memory and sends to the Cloud. Up to 90 can be added per ezeio. These are typically mapped to inputs or outputs, but can be used to create counters, set points, constants, sums, differentials, averages, and more. The possibilities are truly endless. Each Field is evaluated every tenth of a second by the ezeio's Expression engine. The result can be visualize on Dashboards, trigger alarms, drive automation as well as being logged for historical reference. Each Field has a number of required and optional settings detailed below.
This table provides a view similar to the controller status table on the manage level. One of the purposes of the Fields page is to configure this version this version that is accessible by users with out “Edit ezeio privileges. The order the Fields are shown on both tables is manages here. By default the order is descending numerically. Below are descriptions of the table columns and their functions.
Multiple selection check boxes
Multiple Fields can be selected for modification by checking the corresponding box. (once selected) Left clicking the header at the top of this column will reveal several options, including; “set show on System tab” and “delete selected”. For most, clicking the desired option will apply the change. Clicking “Delete selected will bring up a dialog box to confirm.
Field number order
Clicking the header of this column toggles between ascending and descending number order (up & down arrows may be visible). If set to alphabetical listing by Field name, clicking the banner will also return the list to number order. Fields may also be moved up or down the order individually, using the up & down arrow icons running down the left side of the column. Simply, Left click-Hold and drag to the desired location, then release. Clicking in the name or number banner will return to alpha / numeric order.
Name
Clicking in the header of the Name column will reorder the Fields in alphabetical order. Clicking in the header a second time will flip the listing to ascending order. When Fields are added from the Devices page, the default name is a pairing of the user defined device name and the driver defined register name. When adding a Field manually the name must also be added manually by the user. Whether generated automatically or entered manually the name can always be edited by a user with adequate privileges'.
Asset Tag
If an Asset Tag has been entered in the config settings of a Field, the tag/s will appear here.
View
This column can display the value of a Field in graphical, text, numeric, or unit interpretations of the Fields value. See “Display in format in view” for available formats.
Value
This column displays the result of the Fields “Data expression”.
Unit
This column displays the unit entered or selected, in the Fields settings, for the corresponding value.
As discussed at the beginning of this page a Field is a user defined data point logged by an ezeio. What is logged, how it is logged, and how it is presented, is controlled by a Fields configuration. Below are descriptions of the available settings and there functions.
Name
The name/text entered here appears on the Fields table and ezeio Status table. It can also be sent in alarm messages by using the “Message template tag” [FN#]. The tag [F#] also includes the Field name, along with the Field's value and unit.
Unit
This user defined text is shown on the Fields table, controller “Status” table, linked Widgets and “Message template tags” [FU#] & [F#].
Asset Tag
Enter nicknames or codes here, separated by space. These “Tags” are an alternate means of referencing one or more Fields and utilized in message templates, some dashboard Widgets and anywhere expressions are used (Fields, alarms, alarm & restore actions, timers).
Tags names should always start with a letter, and only include letters, numbers, underscore (_) and hyphen (-). Spaces, international letters or other special characters are not supported in tags.
Asset tags can be user defined and/or generated by a device driver. They can be unique such as “HVACload” or generic such as “load”. Asset tags should be kept short, starting with a letter, and containing no special characters or spaces. The asset tags are entered on the Field's configuration, for example as: HVACload and referenced in an expression or message template as: <HVACload>
It is common for hundreds controllers to be used for the same purpose across an account. The configuration could be identical or utilize different devices for the same purpose. For example: a fleet of engine driven pumps. The size, design and manufacture may vary, but they all use fuel, oil, coolant, and pump fluid. Assigning an asset tag for each of the common data points allows them to be easily reference regardless of their Field number.
Within an expression, the asset tag is synonymous to the Field number expression. For example, if HVACload is the asset tag in Field #3, <HVACload> would replace f(3) in an expression. Both represent the Field's value.
When reference by an Aggregating dashboard Widget, all the Fields (from controllers in the dashboards group and below it on the group tree) a with the same generic asset tag will be included or evaluated in the aggregation.
Within a message template the asset tag replaces the Field number in these “Message template tags” [FV#], [FU#], [FN#] and [F#]. Example: [F<HVACload>]
Decimals selector
Clicking plus or minus will add or remove decimal points to the value of the Field. If the result of the Field's data expression has more resolution than can be displayed with the selected number of decimal points the number will be rounded.
Minimum & Maximum
The range established here is used by Dashboard Widgets and the “linear gauge” display format in the view column of the Fields table.
Display format in view This feature converts numeric values into text, graphics, or commonly used formats such as feet and inches or hours and minutes. The formatted value is displayed in the “View” column of the “Field” and “Status” tables. Also available on Dashboards with the “Formatted Field Value” widget.
Name | Description | Example |
Blank | No graphic or text shown | |
Number | same value as shown in “Value” column | Tip: required setting for manually inputting value |
Feet as Feet and inches | Converts decimal values to inches | 6.75 = 6 feet, 9 inches |
Pounds as Pounds and ounces | Converts decimal values to ounces | 6.75 = 6 lbs., 12 oz. |
Seconds as Minute and seconds | Minutes as a decimal are converted to Minutes and Seconds | 72.5 = 72min 30s |
Hours as Hours and minutes | Hours as a decimal are converted to Hours and Minutes | 72.5 = 72h 30min |
Seconds as Days, Hours, Minutes and Seconds | Convert seconds to | 6958745 = 80d 12h |
Degrees as direction | #s from 1 to 360 are shown as compass directions | 235 = Southeast |
String | ||
EPOCH as local time | Converts EPOCH (RTC()) seconds to time stamp | 1609419599 = 12/31/2020 23:59 PM |
Switch | on / off switch, click to toggle, | On = 100% |
Linear gauge | displays percentage of min - max range as green bar graph | |
Slider | Click-hold-drag to adjust | Range of slider is 0-100 (When driving an anlaog output 0 = 0V, 100 = 10V |
Data expression
The value of a field is determined by the Field's “Data expression”. The expression works just like a calculated cell in a spreadsheet. The simplest expression is a constant, like 1234
or 89.02
, but more commonly the field expression will be used to map the Field to a data source by referencing a register, for example r(3,4)
. If there is a Device driver #3, with 4 or more registers, the value of its 4th register will populate the Field.
All field expressions are re-evaluated at a constant rate of ten (10) times per second.
Expressions can include math, like r(3,4)+45
. As you would expect, the field value will now be 45 greater than the register value.
You may also use values from multiple registers: r(3,4)-r(2,18)
This example a creates a differential.
Fields can also reference other fields: f(19)
, or abs(f(2)-f(3))
The second example will show a differential as an absolute value.
A more advanced example calculates temperature (in °C) from a thermistor (r(1,1) in Ohms), using the Steinhart-Hart equation:
1/(0.00112530885+0.00023471186*ln(r(1,1))+0.00000008566*ln(r(1,1)))-273.15
Another useful example is to use a field as a run-time counter. Because the field value is re-calculated 10 times per second, we can increment the field value based on some other condition. For example, if we want to monitor the time a switch on field #3 is ON (>50), we can use the following expression on a new field: f(THIS) + (f(3)>50)*0.1
.
The logic condition (f(3)>50) will evaluate to either 0 (false) or 1 (true). Because the field updates 10 times per second, we multiply this with 0.1 before adding it to the current value of our counter field.
Leaving a Field's data expression blank and checking the box to make it writable allows the value to be set by several different means.
field[FIELDNO]=value
, allows a Field's value to be set via API Please refer to the expression reference for the syntax and all the available functions.
Reverse expression
This setting is optional and left blank for most applications. Reverse expressions only effect writable “Fields” or registers. For more information see reverse expressions
Log interval
The default log interval of 10 minutes is included with basic service. Two upgrades to the logging service are available, “Logging down to 1 minute” (includes 1, 2, & 5 minute intervals) and “logging down to 5 seconds” (includes 5 & 15 second intervals).
Log method
Several different logging methods are available.
Method | Description | |
Snapshot | Captures the momentary value at the log interval | |
Mean (average) | Calculates the average of all the samples taken over the interval | |
Minimum | Records the lowest sample value over the interval | |
Maximum | Records the highest sample value over the interval | |
Extreme | Calculates the average and records the sample furthest from the average | |
Trend | Calculates a slope value for the samples taken within the processing interval (see “Processing speed”) |
Process speed for Log Method
When the log method is Mean, Min, Max, Extreme or Trend, the momentary field value is calculated over the time given by this setting.
Example:
Assume Log interval is set to 1 minute, Log method is Maximum and Process speed is set to 10 seconds. The momentary (real-time) field value will be the maximum value detected over a rolling 10 second window. The logged value is computed from the momentary field value, as the max over the log interval (1 minute).
This setting has no effect if the log method is set to Snapshot.
Is active (check box)
This box is checked by default. Un-checking it will disable logging for the Field
Median filter (1s) (check box)
Checking this box will filter out any high or low values that do not persist for more that 1 second. This effectively introduces a 1 second delay. This delay effects alarms and other logic.
Field values are updated every 1/10th of a second. The filter buffer holds 21 of these values/samples. The samples are sorted from highest to lowest and the middle (median) is selected to update the field. Every 1/10th of a second the oldest sample is removed, a new sample is added and the median is selected.
Writable (check box) Checking this box allows users to manually change the value of the Field. Once checked and saved, the cell in the Field's view column will change from light grey to white. Select a setting on the “Display format in view” dropdown menu that provides a means of manipulating the value, such as; Number, Switch, or Slider. With number selected, clicking in the cell will produce a pop-up box for the user to enter and submit a new value. This feature functions differently whether the Field is mapped to a connected device or not. When mapped to writable register on a peripheral device, the new value will be written to the register. If no mapping (no “Data expression” entered) the Field value can be referenced by Alarms, Timers, Script or application drivers.
Peripheral device example: Write a new RPM setpoint to an engine controller
No “Data expression” example: Manually change the threshold in an “Alarm condition setting”.
Continuous write (check box) The value of a Field is calculated every 1/10th of a second. If the Field is mapped to a writable register, “Continuous write” will attempt to write the value shown to every time the Field is calculated.
Show on system tab (check box)
For some applications may be desirable to show a sub-set of the Fields on the Manage level. Checking this box will make the Field appear on the controller's status table, found under the Manage screen's Systems tab.