Points are individual items that can be read or written from/to Nodes. They can be registers, I/O values, or variables in field devices (Nodes). Each Point is bound to a specific Tag in the solution configuration.
On this page:
Data Points define specific values for each Node that can be accessed using Tags. The number of data Points you can configure is related to both the Product Model that is configured for the project and your software license.
To configure points, follow these steps:
To add or remove a column, right-click the heading area and select or deselect columns. |
The following table describes each available property you can configure when configuring a Device point:
Column | Description |
---|---|
Tag Name | Enter a Tag name or click "..." to select a tag. You can also create a new Tag. |
Node | Select the Node for this data point. |
Address | Enter the register address, which is based on the PLC and protocol for this data Point and Tag. |
Data Type | Select the data type you want to use. Most protocols should use the native option since the protocol will automatically handle the data conversion. Selecting a different data type overrides the defaults. Some options may not apply to the selected Node. Make sure you know the applicable data types. |
Modifiers | Select the options you want if the PLC uses a different byte order. You can change the position bit, byte, Word, or Dword of the communicated data. |
Access Type | Select the access type for this data Point. You can define and configure the access types. See Access Types for additional information. |
Scaling | If you want to manipulate the Tag value, select the options you want. When the data is read in the Equation option:
For a write operation, the calculations are the opposite. The system will multiply by the Div value, then subtract the Add value. |
Label | A text that represents a label to the Point. |
Everything in the Device configuration, from the Node to address and Tag mapping, can be changed online using scripts.
The following example outlines a process for configuring dynamic addresses using MQTT telegrams.
The address format is `/topic/@Tag.gateway/data`, where `@Tag.gateway` will be replaced with specific values. The MQQT telegrams are received on topics like the ones below:
You need to configure the Points that will be used. Access Devices → Points to configure points defining their names, Node, Tags, and Address.
To use the Dynamic Address through scrips, your code will need to execute the following steps:
GetDataTable
method.Group
, @Tag.Gateway
, and /Device
.UpdateDataRows
.The system will log an error if any error occurs during the updating process. Otherwise, it applies the changes to the database.
The following code presents an example of changing the Address for the desired point.
string error; DataTable dt_DevicePoints = TK.ProjectDB.GetDataTable("EditDevicesPoints", "TagName='Tag.Tag01.Velocidade'"); DataRow[] rows = new DataRow[1]; rows[0] = dt_DevicePoints.Rows[0]; @Info.Trace(rows[0]["Address"].ToString()); rows[0]["Address"] = "Group01/"+@Tag.Gateway+"/Device01"; @Info.Trace(rows[0]["Address"].ToString()); rows[0].AcceptChanges(); TK.ProjectDB.UpdateDataRows("EditDevicesPoints", rows, out error); if (String.IsNullOrEmpty(error) == false) { @Info.Trace("Error changing tag address: " + error); } else { @Info.Trace("Applying Devices Changes - begin"); TK.ProjectDB.ApplyProjectChanges(); @Info.Trace("OK!"); } |
To make it easier for you to understand the above example, next you find additional explanations related to core operations.
In the code block below, the first parameter identifies the Points table from which data is retrieved. In this case, the second parameter refers to the specific column used for filtering data, the Tag Name column. This column is used to identify the tag configured within the Points table. For instance, the tag Tag.Tag01.Velocity
is retrieved in this example.
DataTable dt_DevicePoints = TK.ProjectDB.GetDataTable("EditDevicesPoints", "TagName='Tag.Tag01.Velocity'"); |
The following code enables you to choose the new desired address. The string type tag @Tag.Gateway will receive a different name in the example.
rows[0]["Address"] = "Group01/"+@Tag.Gateway+"/Device01"; |
The following line of code updates the Address internally in the system.
K.ProjectDB.UpdateDataRows("EditDevicesPoints", rows, out error); |
If no error occurs in the update, you can apply the change to the project using the code below. From then on, the Address will use the new value previously entered on the script.
TK.ProjectDB.ApplyProjectChanges(); |
Addittionally you can simplify the creation of Device Points with various methods for automatic data configuration import. Access the Importing PLC Addresses for further information about the process and configurations available.
In this section: