...
Item | Description |
New Tag | There are two methods to create a new tag:
|
Edit Tag | There are two methods to edit a tag:
|
Delete Tag | There are two methods for deleting a tag:
|
Copy Tag | Select the tag to copy/cut from the tag list. Copy or cut the tag with any of the methods shown below: Alternatively, users can select the desired tag to copy and click the |
When creating a tag, use a name that follows the criteria listed below: 1. No special characters (e.g. Space, Tab, @, *, /, +, -, etc.) 2. The first character of a tag name cannot be a number. 3. Tags are not case-sensitive. All tags will be stored as uppercase. 4. You cannot use the same tag name more than once in the same tag group. However, tags may use the same name if they are in different groups. |
...
When creating a new tag or editing an existing tag, the ‘Tag Editor’ will appear on the screen. This window has two main tabs: the General tab which contains pertinent data for all tag types, and the Advanced tab which contains type-specific data for the tag.
...
Item | Description |
Tag Name | Input a the desired tag name |
Path | Outlines the group path of the tag |
Type | Allows the user to select from 12 possible data types. The available fields in the advanced options tab will change based on the selected data type. |
I/O Device | For remote tags, select the external device to associate the tag with. You can check the name of external devices using [Tools] – [I/O Device Editor]. For local tags, select “None” from the drop-down menu. Note that selecting this option will not allow the user to assign an I/O Address. |
I/O Address | Enter the external device address to associate the tag with. You must enter the address using the device’s addressing method. For example, for a CIMON PLC, valid bit addresses include “X00”, “Y1E”, etc. This field is enabled only when an I/O device is selected. |
Persistent | When this option is true, the last state of the tag is stored when the project is closed. When you execute the project again, the tag values will be reloaded. |
Value Changed | With this option enabled, a user-defined script or action list will be performed when the tag value changes. |
Quality Changed | With this option enabled, a user-defined script or action list will be performed when the quality of the tag changes. In this case, quality refers to the communications status of the tag. |
BOOL Type
BOOL tags are used to represent ON/OFF status, 0 or 1, True or False, or other values with only 2 possible states. Within Canvas, binary values are stored and represented as either 0 or 1. If a boolean tag is tied to a device address with more than one bit, then any value other than 1 will be treated as a 1. This type selection does not carry any additional options in the Advanced tab of the Tag Editor.
Analog
...
Type
Analog tags are used to represent 8-, 16-, 32-, or 64-bit numeric values. It is important to choose the correct data type for interpreting the data (INT16, UINT32, Float, etc.). Note that within Canvas, “Analog” refers to multi-bit numeric values, but not necessarily values with an analog input source.
Item
Description
Initial Value
Assign the initial tag value to be loaded to the tag at project startup.
Data Type
Select the data type (bit encoding) of the tag value to use within XpanelDesigner. Refer to the table below for a description of each data type.
Clipping
With this option, when the analog value exceeds the specified Min/Max range, a warning message will appear and the value will not be recognized.
Scale
Converts the original input data into a new value using one of two methods. Note that the behavior of the ‘Eng. Data’ Min/Max values change depending on whether the “Scale” box is checked or not.
Scale/Offset
(Only visible when Scale is selected)
To use the Scale/Offset method, check the “Scale” box, then enter the Scale and Offset values in the ‘Scale/Offset’ field. With this option, the tag value will be calculated using the formula below:
Tag Value = (Input Value * Scale) + Offset
Example: Select an analog tag with data type UINT16. When Scale is 0.1 and Offset is 10:
Minimum value: (0 * 0.1) + 10 = 10,
Maximum value: (65535 * 0.1) + 10 = 6563.5
For a given tag value, the corresponding input value can be calculated using the formula below:
Input Value = (Tag Value – Offset) / Scale
Min./Max.
(Visible when Scale is not selected)
Data Type | Description | Range |
SINT(INT8) | Signed 8-bit integer. Enables the ‘Encoding’, ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. |
(1) Advanced (Analog Types)
-128 ~ 127 | ||
INT(INT16) | Signed 16-bit integer. Enables the ‘Encoding’, ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | -32768 ~ 32767 |
DINT(INT32) | Signed 32-bit integer. Enables the ‘Encoding’, ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | -2147483648 ~ 2147483647 |
LINT(INT64) | Signed 64-bit integer. Enables the ‘Encoding’, ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | -9223372036854775808 ~ 9223372036854775807 |
USINT(UINT8) | Unsigned (non-negative) 8-bit integer. Enables the ‘Encoding’, ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | 0 ~ 255 |
UINT(UINT16) | Unsigned (non-negative) 16-bit integer. Enables the ‘Encoding’, ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | 0 ~ 65535 |
UDINT(UINT32) | Unsigned (non-negative) 32-bit integer. Enables the ‘Encoding’, ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | 0 ~ 4294967295 |
ULINT(UINT64) | Unsigned (non-negative) 64-bit integer. Enables the ‘Encoding’, ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | 0 ~ 18446744073709551615 |
REAL(FLOAT) | 32-bit floating-point number. Enables the ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | -3.40282346638529e+038 ~ 3.40282346638529e+038 |
LREAL(DOUBLE) | 64-bit floating-point number. Enables the ‘Clamp Mode’, ‘Deadband Type’, and ‘Scale Mode’ advanced options. | 4.9 x 10-307 ~1.8 x 10+308 |
|
(1) Advanced (Analog Type)
Item | Description | |
Clamp Mode | This option dictates how the tag will handle values outside of the specified Maximum/Minimum values. Note that this setting only applies to write requests, and will not change values read from the PLC. | |
Clamp High | To use Clamp High, select ‘Clamp High’ from the drop-down menu. Next, enter the desired Engineering Max value. Any tag value greater than the assigned Engineering Max value will be overwritten to the Engineering Max value. | |
Clamp Low | To use Clamp Low, select ‘Clamp Low’ from the drop-down menu. Next, enter the desired Engineering Min value. Any tag value less than the assigned Engineering Min value will be overwritten to the Engineering Min value. | |
Clamp Both | To use Clamp Both, select ‘Clamp Both’ from the drop-down menu. Next, enter the desired Engineering Max and Engineering Min values. Any tag value greater than the assigned Engineering Max value will be overwritten to the Engineering Max value, and any tag value less than the assigned Engineering Min value will be overwritten to the Engineer Min value. | |
Reject High | To use Reject High, select ‘Reject High’ from the drop-down menu. Next, enter the desired Engineering Max value. Any tag value greater than the assigned Engineering Max value will be discarded, and the tag value will remain at the last recorded tag value. | |
Reject Low | To use Reject Low select ‘Reject Low’ from the drop-down menu. Next, enter the desired Engineering Min value. Any tag value less than the assigned Engineering Min value will be discarded, and the tag value will remain at the last recorded tag value. | |
Reject High | To use Reject Both select ‘Reject Both’ from the drop-down menu. Next, enter the desired Engineering Max and Min values. Any tag value greater than the assigned Engineering Max value will be discarded, and the tag value will remain at the last recorded tag value. Any tag value less than the assigned Engineering Min value will be discarded, and the tag value will remain at the last recorded tag value. | |
Scale Mode | Converts the original input data into a new value using one of four methods. | |
Linear Range | To use the Linear Range method, select ‘Linear Range’ from the drop-down menu. Next, enter the desired Raw Low, Raw High, Scaled Low, and Scaled High values. With this option, the tag value will be linearly scaled so such that that the Raw Data minimum Low is converted to the Eng. Data minimum Scaled Low and the Raw Data maximum High is converted to the Eng. Data maximumScaled High. Intermediate values are scaled linearly. For a given input (raw) value, the exact output (tag) value can be calculated using the formula below: Tag Value = (Input Value – Raw Data MinLow) / (Raw Data Max High – Raw Data MinLow) * (Eng. Data Max – Eng. Data Min) + Eng. Data MinScaled High– Scaled Low) + Scaled Low Example: Select an analog a ‘REAL’ tag with data type Float. Set the Raw Data minimum Low to 0 and the maximum Raw High to 1. Set the Eng. Data minimum Scaled Low to 0 and the maximum Scaled High to 100. Now, PLC values (on the left) will be converted to the following tag values (on the right): -17.0 becomes 0 Any input value below the Raw Data minimum Low will be converted to the EngScaled Low. Data minimum. Any input above the Raw Data maximum High will be converted to the EngScaled High. Data maximum. For a given tag value, the corresponding input value can be calculated using the formula below: Input Value = (Tag Value – Eng. Data MinRaw Low) / (Eng. Data Max – Eng. Data MinScaled High – Scaled Low) * ( Raw Data Max – Raw Data MinHigh– Raw Low) + Raw Data Min |
Data Type
Description
Range
INT8
Signed 8-bit integer.
-128 ~ 127
INT16
Signed 16-bit integer.
-32768 ~ 32767
INT32
Signed 32-bit integer.
-2147483648 ~ 2147483647
UINT8
Unsigned (non-negative) 8-bit integer.
0 ~ 255
UINT16
Unsigned (non-negative) 16-bit integer.
0 ~ 65535
UINT32
Unsigned (non-negative) 32-bit integer.
0 ~ 4294967295
BCD8
Signed 8-bit Binary-coded decimal number.
-79 ~ 79
BCD16
Signed 16-bit Binary-coded decimal number.
-7999 ~ 7999
BCD32
Signed 32-bit binary-coded decimal number.
-79999999 ~ 79999999
UBCD8
Unsigned (non-negative) 8-bit binary-coded decimal number.
0 ~ 99
UBCD16
Unsigned (non-negative) 16-bit binary-coded decimal number.
0 ~ 9999
UBCD32
Unsigned (non-negative) 32-bit binary-coded decimal number.
0 ~ 99999999
Float
32-bit floating-point number
-3.40282346638529e+038 ~
3.40282346638529e+038
It is important to verify that the data type of every tag matches the data type used within the paired device. If there is a mismatch, data may be incorrectly represented or manipulated.
For data types that span multiple addresses (namely 32-bit double words), only the first address is needed. The address of the remaining words or bytes is implied. Note that Modbus devices typically only send and receive one 16-bit word per address. Therefore, Modbus double words may not be directly accessible via a single real tag.
String Tag
This tag stores a string value composed of ASCII characters. For virtual tags, strings up to 22 characters long can be created. For real tags, strings will use a contiguous block of data on the target device.
...
Item
...
Description
...
Name
...
Enter the tag name.
...
Des.
...
Enter a description for the tag.
...
Previous
...
Moves to the previous tag’s ‘Edit Tag’ window.
...
Next
...
Moves to the next tag’s ‘Edit Tag’ window.
...
Ok
...
Registers the tag in the database.
...
Cancel
...
Cancels the tag registration and goes back to the database window.
(1) General (String Tag)
...
Item
...
Description
...
Tag Type
...
Select the tag type (real or virtual)
...
Real Tag
...
Links to an external device connected to Xpanel. The tag value updates automatically when the device value updates.
...
Virtual Tag
...
Acts as a general-purpose variable for use within Xpanel. Does not connect to an external device.
...
I/O Device
...
Select the external device to associate the tag with. You can check the name of external devices using [Tools] – [I/O Device]. This field is enabled only when ‘Real tag’ is selected.
...
I/O Address
...
Enter the external device address to associate the tag with. You must enter the address using the device’s addressing method. For example, for a CIMON PLC, valid starting word addresses include “X00”, “M30” “D16”, etc. Note that real string tags will take up multiple words on the target device, depending on the length of the string. Only the starting address for the string needs to be specified; the other words in the string are implied by the starting address and the length of the string. Each ASCII character in the string uses 8 bits of data. For CIMON PLC’s, the standard unit of device memory is 16 bits or one “word”. Thus, every 2 characters in the string will require 1 word of device memory on the PLC. This field is enabled only when ‘Real tag’ is selected.
...
Save last status when closing
...
When you select this option, the last state of the tag is stored when the project is closed. When you execute the project again, the tag values will be maintained. Note: this feature is only available for virtual tags.
(2) Advanced (String Tag)
...
Item
Description
Low | ||
Linear Slope | To use the Linear Slope method, select ‘Linear Slope’ from the drop-down menu. Next, enter the desired Slope and Intercept values in their respective fields. With this option, the tag value will be calculated using the formula below: Tag Value = (Input Value * Slope) + Intercept Example: Select an analog tag with data type UINT. For a Slope of 0.1 and an Intercept of 10: Minimum value: (0 * 0.1) + 10 = 10, For a given tag value, the corresponding input value can be calculated using the formula below: Input Value = (Tag Value – Intercept) / Slope | |
Square Root | To use the Square Root method, select ‘Square Root’ from the drop-down menu. Next, enter the desired Raw Low, Raw High, Scaled Low, and Scaled High values. With this option, the tag value will be exponentially scaled, such that the Raw Low is converted to the Scaled Low and the Raw High is converted to the Scaled High. Intermediate values are scaled exponentially, with a fixed exponent of 1/2. For a given input (raw) value, the exact output (tag) value can be calculated using the formula below: Tag Value = (Scaled High – Scaled Low) * sqrt((Input Value - Raw Low) /(Raw High– Raw Low)) + Scaled Low Any input value below the Raw Low will be converted to the Scaled Low. Any input above the Raw High will be converted to the Scaled High. For a given tag value, the corresponding input value can be calculated using the formula below: Input Value = ((Tag Value – Scaled Low) / (Scaled High – Scaled Low))^2 * ( Raw High– Raw Low) + Raw Low | |
Polynomial | To use the Polynomial method, select ‘Polynomial’ from the drop-down menu. Next, enter the desired Exponent, Slope, and Intercept values. With this option, the tag value will be exponentially scaled. For this option, the tag value will be calculated using the formula below: Tag Value = Slope * (Input Value)^Exponent + Intercept For a given tag value, the corresponding input value can be calculated using the formula below: Input Value = ((Tag Value - Intercept)/(Slope))^(1/Exponent) | |
Deadband Type | Filters the original input data and discards any new input data that falls within a specified range of the last recorded tag value. | |
Absolute | To use the Absolute method, select ‘Absolute’ from the ‘Deadband’ drop down menu. Next, assign any numeric value in the ‘Deadband’. If the absolute difference between the current tag value and the last recorded tag value is greater than the Deadband value, the current value of the tag is sent. If the absolute difference is less than the Deadband value, the current value is filtered. Example: Select a ‘DINT’ tag type and an ‘Absolute’ Deadband type. For a Deadband of 10: Last Recorded Tag Value: 40 Current Tag Value: 12 Absolute Difference = |Last Recorded Tag Value - Current Tag Value| For this case, the absolute difference between the two tags is 28. The absolute difference is higher than the Deadband, so the current tag value will be recorded. Next, say that the last recorded tag value remains at 40 with a new current tag value of 32. The absolute difference in this case would be less than the headband, so the current tag value would be filtered and the tag value would remain as the last recorded tag value. | |
Percent | To use the Absolute method, select ‘Absolute’ from the ‘Deadband’ drop down menu. Next, assign any numeric value in the ‘Deadband’. If the absolute difference between the current tag value and the last recorded tag value is greater than the Deadband value, the current value of the tag is sent. If the absolute difference is less than the Deadband value, the current value is filtered. Example: Select a ‘DINT’ tag type and an ‘Absolute’ Deadband type. For a Deadband of 10: Last Recorded Tag Value: 40 Current Tag Value: 12 Absolute Difference = |Last Recorded Tag Value - Current Tag Value| For this case, the absolute difference between the two tags is 28. The absolute difference is higher than the Deadband, so the current tag value will be recorded. Next, say that the last recorded tag value remains at 40 with a new current tag value of 32. The absolute difference in this case would be less than the headband, so the current tag value would be filtered and the tag value would remain as the last recorded tag value. | |
Encoding | Selecting the ‘BCD’ option from the drop down menu enables binary-coded decimal encoding. With this mode enabled, the Analog tag’s value will be represented by a binary sequence. Note that Binary-coded decimal does not function the same as converting a decimal number to binary. |
String Tag
This tag stores a string value composed of ASCII characters. For local tags, strings up to 22 characters long can be created. For remote tags, strings will use a contiguous block of data on the target device.
(1) Advanced (String Type)
Item | Description | ||
Max Length | Assign the maximum string length that can be written to the tag. | Initial Value | Assign the initial value to be used at the project startup. |