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

Join our "Ask Me About" community webinar on May 20th at 9 AM CET and 5 PM CET to explore cybersecurity and monitoring for Data Center and edge IT. Learn about market trends, cutting-edge technologies, and best practices from industry experts.
Register and secure your Critical IT infrastructure

Alarm Disable Screen - Find all tags used on the screen and toggle the DNP3BinaryInState

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
  • Alarm Disable Screen - Find all tags used on the screen and toggle the DNP3BinaryInState
Options
  • Subscribe to RSS Feed
  • 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
307
AndrewScott
Admiral AndrewScott
96
BevanWeiss
Spock BevanWeiss
90
AdamWoodlandToo
Lt. Commander AdamWoodlandToo
36
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
Back to EcoStruxure Geo SCADA Expert Forum
Tanquen
Lt. Commander Tanquen
Lt. Commander

Posted: ‎2020-08-16 04:22 PM . Last Modified: ‎2023-05-03 12:12 AM

0 Likes
8
2446
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-16 04:22 PM . Last Modified: ‎2023-05-03 12:12 AM

Alarm Disable Screen - Find all tags used on the screen and toggle the DNP3BinaryInState

The checkbox is embedded and uses a PickParam with a Flowchart.

 

"Parameter:Checkbox.AlarmState" = 1

True     "Parameter:Checkbox.ObjectLink" + '?DNP3BinaryInState.Enable'

False   "Parameter:Checkbox.ObjectLink" + '?DNP3BinaryInState.Disable'

 

Any way to have VBA find all the tags on the screen and set the .Disable or Enable?

 

 

Labels
  • Labels:
  • Scripting
  • ViewX
  • Tags:
  • english
Reply

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

  • All forum topics
  • Previous Topic
  • Next Topic
Replies 8
BevanWeiss
Spock BevanWeiss
Spock

Posted: ‎2020-08-16 09:40 PM

0 Likes
7
2442
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-16 09:40 PM

All the tags on the screen... but you don't have any tags in your expression.  You only have Parameters... so that will make it difficult.

 

If you have a mimic which has expressions, and in these expressions you have references to CDBPoint objects, then it's not 'impossible'... but it's a bit painful.

You'd need to use the unsupported ViewX COM Interface, and iterate through all of the expressions, and parse them to identify which refer to Points, and then pass the name of these to the Automation Interface (or the .NET API... but you mentioned VBA, so the Automation Interface is 'easier')... then you can call the CAlarm Method 'Enable' or 'Disable' on the DNP3BinaryInState CAlarm item for the respective DNP3 Binary Point.


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..
  • Tags:
  • english
Reply

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

Tanquen
Lt. Commander Tanquen
Lt. Commander

Posted: ‎2020-08-17 08:33 AM . Last Modified: ‎2020-08-18 09:16 AM

In response to BevanWeiss
0 Likes
6
2430
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-17 08:33 AM . Last Modified: ‎2020-08-18 09:16 AM

That sounds complicated and “unsupported ViewX COM Interface” sounds scary. 😞


No tags directly in the expressions, just embedded objects with Parameters. There are many existing screens. Was just wondering if there was a way to parse all the objects and find the tags used or maybe find all the tags in Parameters on that screen.


Now that I think about it again they have a simple text object next to the checkboxes that just changes color when the tag is in alarm and they have links to tags in their expressions. Takes forever to link them up but I’m sure they did not want to mess with embedded objects and the text string length and such.


Doesn’t have to be VBA, but I most likely can’t install any apps or add-ons. I’m not a programmer but I’ve used VBA to parse objects and make changes to them in other SCADA packages. Some time ago, I think you had to run a command to get all the object names on the screen, even if you already knew the object name and then you could manipulate the objects fields that were exposed to VBA.


Can you just find all the T_## objects and get the tags out of them?

  • Tags:
  • english
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-08-17 03:08 PM

In response to Tanquen
0 Likes
1
2421
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-17 03:08 PM

Depending on how you structured your database you may be able to get away with calling the acknowledge method on the group object containing the tags

 

It is probably not very ASM-like but if you have your screens structured to show the tags on a mimic then it could be an option

  • Tags:
  • english
Reply

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

BevanWeiss
Spock BevanWeiss
Spock

Posted: ‎2020-08-17 04:17 PM

In response to AdamWoodland
0 Likes
0
2416
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-17 04:17 PM

@AdamWoodland The problem with that Adam is how the original question is worded it is ONLY the DNP3BinaryInState alarms that want to be enabled/disabled, and not ALL alarms associated with all CAlarmObjects within an area.

 

Of course then the subject itself talks about InService, which is again a different thing.

But then you're talking about Acknowledging alarms... which is different again.

 

What are we trying to achieve here?


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..
  • Tags:
  • english
Reply

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

BevanWeiss
Spock BevanWeiss
Spock

Posted: ‎2020-08-17 04:35 PM

In response to Tanquen
0 Likes
3
2415
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-17 04:35 PM

ClearSCADA / GeoSCADA doesn't just run string substitution like certain other platforms do (e.g. Citect / FactoryTalk View)... so find T_## doesn't mean much.. there is no T_##... there's not even 'Points' when it comes to mimics, only OPC Properties (for references).  That it happens to be a property on a point doesn't really change how the mimic sees it.

 


Some time ago, I think you had to run a command to get all the object names on the screen, even if you already knew the object name and then you could manipulate the objects fields that were exposed to VBA.

This is roughly how the unsupported ViewX interface works.

You open up a mimic, and then you can get the layers / graphical objects etc, and you can enumerate through the animation expressions for each graphical object.  But that doesn't tell you what is a point.

It will just give you a string which is the expression.  Hence you would need to parse that string to find the references (direct references within double quotes "..", or potentially indirect references within square brackets, which themselves contain a sub-expression which needs to be evaluated in a bottom->top hierarchy [...]).

 

If you are looking at an embedded mimic, then it doesn't only have references to objects however, they might be references to Parameters... in which case there is likely no real database object that they are representative of, since the animation expression passed into this embedded mimic from the next layer up might be passing in just a literal value, or a concatenation / transformation of multiple properties from many other objects.

 

I think first you should clarify what it is that you actually want.

1. Do you want to toggle the InService on the Point (or other InService-able object)? OR

2. Do you want to Enable / Disable a particular Alarm associated with a CAlarmObject (of which a Point is a particular type of..)?

 

Or..

3. Do you want to Acknowledge a certain / all Alarm(s) on the CAlarmObject?

 

As Adam has said, database structure is the best way of doing most of these things consistently across multiple objects.  It's relatively easy to perform these actions on all points if those points happen to all be within the same group, or all have the same name, or are all on the same outstation/scanner.  Something that you can 'filter' them by which is exposed as a property (i.e. in the OPC Data Explorer) to ClearSCADA/GeoSCADA.


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..
  • Tags:
  • english
Reply

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

Tanquen
Lt. Commander Tanquen
Lt. Commander

Posted: ‎2020-08-17 05:54 PM . Last Modified: ‎2020-08-18 10:37 AM

In response to BevanWeiss
0 Likes
2
2412
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-17 05:54 PM . Last Modified: ‎2020-08-18 10:37 AM

There is an embedded checkbox that uses parameters but as I said there is also a simple text object next to it with the same tag directly in an expression.

 

So to disable the tag the checkbox uses this:

                "Parameter:Checkbox.ObjectLink" + '?DNP3BinaryInState.Disable'

 

The alarm text uses the tag not a Parameter and this works in a rectangle animation as a type 5 PickParam:

                "...Tags DNP.FTS Alarm.ObjectLink" + '?DNP3BinaryInState.Disable'

 

No acknowledge just disable. This is their Alarm Disable Screen and it uses the ‘?DNP3BinaryInState.Disable’ command so whatever that is would be what is wanted. I thought it was changing the tags In Service setting.

 

The idea was to have a button that could enable or even toggle all 20, 30, 50 or 100 checkboxes on the one Alarm Disable Screen.

 

All the tags are in the “Tags DNP” group and all the tags are DNP3Binary using the same Outstation reference but they are in many different groups under “Tags DNP” group. Also, there is more than one or two Alarm Disable Screens in the same Outstation so it’s not like all the tags on one Alarm Disable Screen are in the same sub group and they are not all the alarms in the Outstation.

  • Tags:
  • english
Reply

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

BevanWeiss
Spock BevanWeiss
Spock

Posted: ‎2020-08-17 08:51 PM

In response to Tanquen
0 Likes
1
2409
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-17 08:51 PM

You should reference the DB Schema, otherwise you will continue to get things wrong.

And obviously if the client wants to disable an alarm, and you instead take the entire point out of service, then you've done the wrong thing.

 

Thankfully the GeoSCADA programmers 'normally' keep similar names for things, so if you look in the schema for DNP3BinaryIn you would have found this...

2020-08-18 13_33_37-Geo SCADA Expert Database Schema - Internet Explorer.png

 

You click on that, and it brings you to the details for that object type... if you look again for that DNP3BinaryIn then you find exactly DNP3BinaryInState as a CAlarm 'Alarm Condition'.

2020-08-18 13_34_05-CDNP3BinaryIn - Internet Explorer.png

And then if you follow the CAlarm link on this condition, you get here

2020-08-18 13_36_28-CAlarm - Internet Explorer.png

Which shows the Enable / Disable methods, which is what is in that PickParam.

 

One way to do what you're after is to add some metadata to the points (look in the help) which associates them together.

Then you can have something (a button calling script, or a button executing logic) which then queries for all points having the appropriate metadata value.. you can choose how that looks, whether it's a string with semi-colon separators to allow for a point being in multiple groups or whatever.. and you could call the Enable / Disable method on each one of them.  There's pros/cons to doing it via Script / Logic... each has their place.


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..
  • Tags:
  • english
Reply

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

Tanquen
Lt. Commander Tanquen
Lt. Commander

Posted: ‎2020-08-18 11:28 AM

In response to BevanWeiss
0 Likes
0
2386
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • 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-08-18 11:28 AM

"You should reference the DB Schema, otherwise you will continue to get things wrong.

And obviously if the client wants to disable an alarm, and you instead take the entire point out of service, then you've done the wrong thing."

 

Why would I change what they are doing? I already have the command it is using. "Which shows the Enable / Disable methods, which is what is in that PickParam." Yes, that is what I want to use that is why I posted it, I don't want to change what they are doing. Unless it can't work in script or logic or something.I’m sorry I said In Service and never said anything about acknowledging anything. They said they click here to take the tag out of service.

 

"Thankfully the GeoSCADA programmers 'normally' keep similar names for things,"

 

What is "GeoSCADA"? "Your search for "GeoSCADA" returned 0 result(s)." Am I posting on the Rockwell site again? So, EcoStruxure™ Geo SCADA Expert programmers name all their pumps and valves and such, device 1 through 10,000? Groups, they put all their tags in one big group based on each screen they want to have just in case they ever need to run a script that needs to only find tags used on that screen? 

 

This application has been worked on by a few different companies and some sites have all the tags under a Tags group with no sub groups and all the group and tag names are all upper case. Yuck. Others have the same main tag group and then sub groups for like odor control and other parts of the site and then a pumps group and then the pump tags.

 

On the new sites they say they want it like this. What is a better alternative I should recommend? They have each site in a big template and the full name on a closed tag looks something like this:

 

Templates.4 Pump Dual Wet Well.Tags DNP.Odor Control.Damper 3411.Closed

 

 

 

 

 

_____________________________________________________________

 

 

 

So, it sounds like this is hard to do because the tags being on particular screens don’t give you a filter to the tags used on that screen to then enable or disable.

 

If all the tags on a screen and only them where in a group you could just find all the tags in that group and enable or disable them. But there is not a command you can run on the group? You would need to make a PickParam kind of command for each tag in script or logic? I can’t change all the tags to be in one group though.

 

I can’t change all the tags to be in one group but can use the unsupported ViewX interface to go through a screen and find expressions used on that screen.

 

 “But that doesn't tell you what is a point.”

 

It would come back with the expression string like this and then you would need to get the relative tag name/path out of it? Look for the ("...Tags DNP) part that they all have and the next quote mark?

 

IIF( "...Tags DNP. FTS Alarm ", "......Library.Colors.Alarm Bar", "......Library.Colors.Mimic Popup Background" )

 

Then add the (.ObjectLink" + '?DNP3BinaryInState.Disable')

 

"...Tags DNP.FTS Alarm.ObjectLink" + '?DNP3BinaryInState.Disable'

 

I'm guessing there is some other command or syntax to run this command in a script?

 

 

 

But also I could add metadata to the points. Tried looking in the manual and I don’t think I can figure that out. If I could then I’d not need the unsupported ViewX interface?

 

“queries for all points having the appropriate metadata value”

 

So you add a field to the database and the correct table and tags will have the field and you can put a value in it to filter them to make a list that matches the tags on the alarm disable screen?

 

Not sure what is the best way to go.

 

If anyone has some example script on changing the DNP3BinaryInState, finding a tag by metadata or using the unsupported ViewX interface it would be greatly appreciated. It took me 3 hours just to write this reply. It's ok if not. No need to post and tell me I'm dumb.

 

  • Tags:
  • english
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