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!

Querying Alarm Severity settings across an entire database

EcoStruxure Geo SCADA Expert Forum

Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).

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
  • Remote Operations
  • EcoStruxure Geo SCADA Expert Forum
  • Querying Alarm Severity settings across an entire database
Options
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Mute
  • Printer Friendly Page
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 Experts
User Count
sbeadle
Kirk sbeadle Kirk
308
AndrewScott
Admiral AndrewScott
98
BevanWeiss
Spock BevanWeiss
91
AdamWoodlandToo
Lt. Commander AdamWoodlandToo
37
View All
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
Solved Go to Solution
Back to EcoStruxure Geo SCADA Expert Forum
Solved
rlao
Lt. Commander rlao
Lt. Commander

Posted: ‎2020-02-19 10:11 PM . Last Modified: ‎2023-05-03 12:17 AM

0 Likes
7
3695
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-02-19 10:11 PM . Last Modified: ‎2023-05-03 12:17 AM

Querying Alarm Severity settings across an entire database

Hi all,

 

Broad question, but I am undertaking some alarm rationalization work and am wondering if there is an efficient way to query what the value of all alarm severity fields are across all relevant object classes in a ClearSCADA database?

 

The only way I know of currently is to individually query object classes like CeNetAnalog, CPointAlg, etc. one by one for all of their alarm severity fields and manually compile all the information somewhere like a spreadsheet. Quite a time-consuming process and my main concern is that it is very easy to accidentally miss alarms on object types that I'm not aware even had configurable alarms in the first place. For example, I only just learnt that CRootGroup has a WSEventSeverity field for workstation events as well as multiple aggregates that each have severity settings too.

 

I'm just thinking could there be a way to work backwards instead and somehow start from the severity settings in Server Config and somehow grab a list of all references to that?

Labels
  • Labels:
  • SCADA
Reply

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

  • All forum topics
  • Previous Topic
  • Next Topic

Accepted Solutions
sbeadle
Kirk sbeadle Kirk
Kirk

Posted: ‎2020-02-24 03:27 AM

In response to rlao
0 Likes
1
3649
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-02-24 03:27 AM

There's a variable number of severities per object. Here is a 'meta query' you can use to find severity data:

 

SELECT
	'select ''' || TABLE || ''',''' || NAME || ''',T.Id, T.FullName, T.' || NAME || ',S.Description from ' || TABLE || ' T left join CSeverity S on T.' || NAME || ' = S.Priority ' AS SQL
FROM
	DBFIELDDEF
WHERE
	NAME LIKE '%Severity' AND SIZE = 1 AND TYPE = 1

 

The output is a longish list of queries for each database type.

 

See Answer In Context

Reply

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

Replies 7
Hardin4019
Lieutenant Hardin4019
Lieutenant

Posted: ‎2020-02-20 06:13 AM

0 Likes
0
3684
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-02-20 06:13 AM

Maybe not the most efficient way, but the way I did something like this was:

 

Make a mimic with separate list of Modbus Digitals, Modbus Analogs, OPC Digitals, OPC Analogs, Internal Digitals, Internal Analogs, etc, each with all of the alarm fields to the point that I was happy that I had everything I wanted.

 

Then I copied the Query from each list in to its own SQL Export object and gave each export a unique Output file name. Now whenever someone asks me for the alarm details, all I need to do is execute each SQL Export and copy the files from the server to an email. 

Reply

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

AdamWoodland
AdamWoodland Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2020-02-20 02:01 PM

0 Likes
4
3675
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-02-20 02:01 PM

No simple way, typically I do what you propose and query each table and union them all together. I once tried to write a program to find all fields call "Severity" and auto generate some SQL but I don't think I ever finished it.

 

The way the ClearSCADA database is structured does make some thing much easier... however in cases such as this it can be unhelpful.

Reply

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

BevanWeiss
Spock BevanWeiss
Spock

Posted: ‎2020-02-20 02:19 PM

In response to AdamWoodland
0 Likes
0
3668
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-02-20 02:19 PM

It almost needs a feature request for a summary table of 'Alarm Severity '.. not that this would help in many situations.

Alarm redirections can often make the actual object configured severity meaningless.


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
Reply

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

rlao
Lt. Commander rlao
Lt. Commander

Posted: ‎2020-02-20 03:18 PM

In response to AdamWoodland
0 Likes
2
3665
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-02-20 03:18 PM

Thanks for confirming Adam. At least it sounds like I'm on the right track with how I'm approaching this and not missing something obvious. Some sort of Alarm Severity Summary table as Bevan suggested would be very helpful, although I'm not exactly sure how feasible it is to implement such a feature.

Reply

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

sbeadle
Kirk sbeadle Kirk
Kirk

Posted: ‎2020-02-24 03:27 AM

In response to rlao
0 Likes
1
3650
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-02-24 03:27 AM

There's a variable number of severities per object. Here is a 'meta query' you can use to find severity data:

 

SELECT
	'select ''' || TABLE || ''',''' || NAME || ''',T.Id, T.FullName, T.' || NAME || ',S.Description from ' || TABLE || ' T left join CSeverity S on T.' || NAME || ' = S.Priority ' AS SQL
FROM
	DBFIELDDEF
WHERE
	NAME LIKE '%Severity' AND SIZE = 1 AND TYPE = 1

 

The output is a longish list of queries for each database type.

 

Reply

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

tfranklin
Commander tfranklin
Commander

Posted: ‎2020-02-24 07:07 AM

0 Likes
0
3643
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-02-24 07:07 AM

This sounds like a really nice opportunity to ask for a feature request to do something like SQL Views but within the CS database. Additionally, server-side cached query objects would be really nice as well. 

 

Constantly having to union together OPC stuff isn't a big deal but gets repetitive to type out. 

 

For cached queries, have a query object (like the ones for GIS) that runs the query every x seconds/minutes and caches the result set.  Users can query those objects like they would a view and get the results directly from cache rather than having the server re-query it.  This could alleviate a big load when you have a server that runs a large number of clients.  Having something in there properties where it logs access count from client vs scheduled and stops running if the access count from clients doesn't increase after x minutes would also alleviate unnecessary runs. 

 

I've been trying to find ways to utilize the query objects for GIS stuff in a way that was not intended and I've yet to find a use outside of just storing common queries on them.

Reply

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

rlao
Lt. Commander rlao
Lt. Commander

Posted: ‎2020-03-02 03:41 PM

In response to sbeadle
0 Likes
0
3585
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

Posted: ‎2020-03-02 03:41 PM

Thanks Steve, I got around to trying your meta-query and it helped considerably. It needed a little bit of tweaking, mainly around all the aggregate classes as they need their select statements manually modified to inner join on CDBObject (as they don't directly contain a FullName).

Reply

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

Preview Exit Preview

never-displayed

You must be signed in to add attachments

never-displayed

 
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