Help
  • Explore Community
  • Get Started
  • Ask the Community
  • How-To & Best Practices
  • Contact Support
Notifications
Login / Register
Community
Community
Notifications
close
  • Forums
  • Knowledge Center
  • Events & Webinars
  • Ideas
  • Blogs
Help
Help
  • Explore Community
  • Get Started
  • Ask the Community
  • How-To & Best Practices
  • Contact Support
Login / Register
Sustainability
Sustainability

We Value Your Feedback!
Could you please spare a few minutes to share your thoughts on Cloud Connected vs On-Premise Services. Your feedback can help us shape the future of services.
Learn more about the survey or Click here to Launch the survey
Schneider Electric Services Innovation Team!

Configuring Database Aggregates Using DATABASE OBJECT

Geo SCADA Knowledge Base

Access vast amounts of technical know-how and pro tips from our community of Geo SCADA experts.

cancel
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Home
  • Schneider Electric Community
  • Knowledge Center
  • Geo SCADA Knowledge Base
  • Configuring Database Aggregates Using DATABASE OBJECT
Invite a Co-worker
Send a co-worker an invite to the portal.Just enter their email address and we'll connect them to register. After joining, they will belong to the same company.
You have entered an invalid email address. Please re-enter the email address.
This co-worker has already been invited to the Exchange portal. Please invite another co-worker.
Please enter email address
Send Invite Cancel
Invitation Sent
Your invitation was sent.Thanks for sharing Exchange with your co-worker.
Send New Invite Close
Top Labels
Top Labels
  • Alphabetical
  • database 32
  • Web Server and Client 31
  • WebX 19
  • Request Form 18
  • Lists, Events & Alarms 16
  • ViewX 15
  • Application Programming 12
  • Setup 12
  • Telemetry 8
  • Events & Alarms 7
  • Lists 7
  • Mimic Graphics 7
  • Downloads 6
  • Support 5
  • IoT 5
  • SCADA 5
  • Geo SCADA Expert 5
  • Drivers and Communications 4
  • Security 4
  • DNP 3 3
  • IEC 61131-3 Logic 3
  • Trends and Historian 2
  • Virtual ViewX 2
  • Geo Scada 1
  • ClearSCADA 1
  • Templates and Instances 1
  • Releases 1
  • Maps and GIS 1
  • Mobile 1
  • Architectures 1
  • Tools & Resources 1
  • Privacy Policy 1
  • OPC-UA 1
  • Previous
  • 1 of 4
  • Next
Latest Blog Posts
  • OPC UA - Driver and Server
  • Requirements for Generating a Valid OPC UA Server Certificate
  • Load Events Using LoadRecord and LoadRecords
  • Geo SCADA Embedded Component Licenses
  • Geo SCADA 2023 Known Issues
Related Products
product field
Schneider Electric
EcoStruxure™ Geo SCADA Expert

Invite a Colleague

Found this content useful? Share it with a Colleague!

Invite a Colleague Invite
Anonymous user
Not applicable
‎2021-06-09 04:03 PM
0 Likes
0
1163
  • Bookmark
  • Subscribe
  • Email to a Friend
  • Printer Friendly Page
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2021-06-09 04:03 PM

Configuring Database Aggregates Using DATABASE OBJECT

Originally published on Geo SCADA Knowledge Base by Anonymous user | June 10, 2021 01:03 AM

📖 Home  Back  
The DATABASE_OBJECT structure does not allow calling methods or writing to properties of aggregates using Logic. However there is a way that this can be done using two structured text programs. The example code below writes to the ControlMinimum and ControlMaximum properties of all Modbus analog points within a group.

Program 1


The first program, uses DATABASE_OBJECT to get the list of points to operate on. This program can update any of the properties of these points in the class defined by DATABASE_OBJECT, for example, ZeroScale and FullScale. The SQL and DATABASE_OBJECT should also return the FullName property from the class. It accepts an input variable that determines which group it should search in the SQL query. The program uses two Double variables to set the ZeroScale and FullScale named "Range Max" and "Range Min".

As part of the processing of each point, call a second ST program (in the example this is called Sub and is in the same directory as the first program) and pass in the object FullName as an input variable.

Note that both ST programs should be set to "On Interval" with an interval of 0.
 TYPE   ModbusAlgTagName : DATABASE_OBJECT(CModbusPointAlg)   FullScale : INT;   ZeroScale : INT;   FullName : STRING;   END_DATABASE_OBJECT; END_TYPE PROGRAM ConfigurePoints VAR_INPUT   sGroupFullName : STRING; END_VAR METHOD   CallSub AT %M(.Sub.Execute) : STRING; END_METHOD VAR   ModbusAlgTags AT %S(SELECT Id, Units, FullScale, ZeroScale, TrendMaximum, TrendMinimum, FullName FROM CModbusPointAlg WHERE FullName LIKE ? || '%') : RESULTSET OF ModbusAlgTagName WITH_PARAMS sGroupFullName; END_VAR VAR   iRangeMax AT %I(.Range Max) : INT;   iRangeMin AT %I(.Range Min) : INT; END_VAR WHILE ModbusAlgTags.Valid DO   ModbusAlgTags.Value.FullScale := iRangeMax;   ModbusAlgTags.Value.ZeroScale := iRangeMin;   CallSub(ModbusAlgTags.Value.FullName);   ModbusAlgTags.Next(); END_WHILE; END_PROGRAM


Program 2


The second program creates read/write variables that point at the required properties, generating the variable using the FullName which is passed in in the VAR_INPUT block.

Note that we have checked whether or not the Control aggregate is enabled first by checking the $Enabled property to avoid errors when attempting to write to properties on an aggregate that is not enabled.
 PROGRAM Sub VAR_INPUT   FullName : STRING; END_VAR VAR   CtrlMax AT %M({FullName}.Control.ControlMaximum) : INT;   CtrlMin AT %M({FullName}.Control.ControlMinimum) : INT;   Enabled AT %M({FullName}.Control.$Enabled) : BOOL; END_VAR VAR   iRangeMax AT %I(.Range Max) : INT;   iRangeMin AT %I(.Range Min) : INT; END_VAR IF Enabled THEN   CtrlMax := iRangeMax;   CtrlMin := iRangeMin; END_IF; END_PROGRAM


Go: Home Back
Labels:
  • database

  • IEC 61131-3 Logic

Author

Biography

Anonymous user

Link copied. Please paste this link to share this article on your social media post.

  • Back to Blog
  • Newer Article
  • Older Article
To The Top!

Forums

  • APC UPS Data Center Backup Solutions
  • EcoStruxure IT
  • EcoStruxure Geo SCADA Expert
  • Metering & Power Quality
  • Schneider Electric Wiser

Knowledge Center

Events & webinars

Ideas

Blogs

Get Started

  • Ask the Community
  • Community Guidelines
  • Community User Guide
  • How-To & Best Practice
  • Experts Leaderboard
  • Contact Support
Brand-Logo
Subscribing is a smart move!
You can subscribe to this board after you log in or create your free account.
Forum-Icon

Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.

Register today for FREE

Register Now

Already have an account? Login

Terms & Conditions Privacy Notice Change your Cookie Settings © 2025 Schneider Electric

This is a heading

With achievable small steps, users progress and continually feel satisfaction in task accomplishment.

Usetiful Onboarding Checklist remembers the progress of every user, allowing them to take bite-sized journeys and continue where they left.

of