ViewPLUS Application Notes

From Mikrodev Documentation
Jump to: navigation, search

Creating a Constantly Increasing Counter Tag

In some cases, it may be desirable that the trend of the tag value read from the field is continuously increasing (such as reading a counter). In such cases, when the data read from the field is contaminated because of device replacement, project update, and etc.; trends and counter total values may also get contaminated. To prevent this, a mechanism on SCADA can be configured in the following way.

  • We need 3 seperate tags to solve the problem. As an example we will create a "CounterTag" tag. In parallel we will create a "CounterTag_latest" tag under "Database Channel" and a "CounterTag_controller" tag under Macro channel to fix field-based distortions so that this tag can read the latest value logged in the database.
CounterTag.png
  • We will use the following query in the tag settings to get the most current value we have logged into the "CounterTag_latest" tag:

select dataval from logs.lct_table where tag_id=2 This query will read the last logged value of the "CounterTag" tag with tag ID "2"

  • Finally, we will add the control macro to the "CounterTag_controller" tag. The macro will be:
macroContent.png


[v1=$4e0]
[IF,v1,3]
[$4=$6+0]
[E]
[v0=$4>$2]
[IF,v0,3]
[$2=$4+0]
[E]
[$4=$2+0]
[E]

This macro consists of 3 main sections. Lines numbered 1 reads the last logged value from the database when the server is running for the first time. Line 2 sets the value to be the value on the field device if it is less than the last log value for any reason. Lines 3 are the part where macro continuously updates the control tag.

  • In order to prevent erroneous logs in addition to the structure created above, the "log only while increasing" option should be enabled in the tag logging settings.