EcoStruxure Geo SCADA Expert Forum
Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-15 05:18 PM . Last Modified: 2023-05-03 12:05 AM
Hello brains trust.
Just going through the release notes for Jan 2021 update and saw "New Feature: Added support for setting the Alarm Banner filter via Global Script".
I've looked at the help file which doesn't seem to have been updated for this feature. Is there any info available on how this is done?
Cheers,
Josh
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-16 02:53 AM . Last Modified: 2021-03-17 03:42 AM
Here are some examples of getting / setting the alarm banner filter and default filter from a global script:
public Sub SetAlarmFilterHigh
Dim ParseError
ParseError = AlarmBanner.SetFilterForSystem("My System", "MinSeverity=""500""&MaxSeverity=""1000""")
If ParseError <> "" Then
MsgBox "Filter", "Failed to set the filter. Parse Error: " & ParseError
End If
End Sub
public Sub GetCurrentAlarmFilter
MsgBox "Alarm Banner Filter", "Current Filter: " & AlarmBanner.GetFilterForSystem("My System")
End Sub
public Sub GetDefaultAlarmFilter
MsgBox "Alarm Banner Filter", "Default Filter: " & AlarmBanner.DefaultFilter
End Sub
NB. The original version of this post incorrectly showed an early version of the API which didn't support clients connected to multiple systems.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-15 06:34 PM
I've had a look through the online help, and have tried a few options myself, like:
AlarmBanner.Filter = ..
AlarmBanner.Alarms.Filter = ...
Neither worked unfortunately.
I'd say this is something that you should raise with your local Tech Support also, so that it gets into the correct Schneider systems.
It's possibly an error in the Release Notes, or it's an issue in that the help hasn't been updated to reflect the change mentioned in the Release Notes.
I would have expected it to be something of the form AlarmBanner.Filter = ... (where the filter string would match what the embedded Alarm Lists would also expect).
@Anonymous user, @sbeadle or @AndrewScott might have some additional guidance.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-15 07:04 PM
I knew it was being worked on but hadn't realised it had been backported! This is what I get for not reading release notes properly, well spotted @joshribbons.
Possibly it's still subject to change; I'm sure we will release documentation when it makes sense to.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-15 07:11 PM
Ahh, all good. Getting ahead of myself as usual.
If I could put my 2c in here, I reckon it'd be even more useful if the alarm banner filter was configurable from any client scrips.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-16 02:53 AM . Last Modified: 2021-03-17 03:42 AM
Here are some examples of getting / setting the alarm banner filter and default filter from a global script:
public Sub SetAlarmFilterHigh
Dim ParseError
ParseError = AlarmBanner.SetFilterForSystem("My System", "MinSeverity=""500""&MaxSeverity=""1000""")
If ParseError <> "" Then
MsgBox "Filter", "Failed to set the filter. Parse Error: " & ParseError
End If
End Sub
public Sub GetCurrentAlarmFilter
MsgBox "Alarm Banner Filter", "Current Filter: " & AlarmBanner.GetFilterForSystem("My System")
End Sub
public Sub GetDefaultAlarmFilter
MsgBox "Alarm Banner Filter", "Default Filter: " & AlarmBanner.DefaultFilter
End Sub
NB. The original version of this post incorrectly showed an early version of the API which didn't support clients connected to multiple systems.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-16 02:47 PM
Thanks Andrew, good to know.
It would have been 'nicer' if the interface had of remained standard against the Alarm List animation properties however, i.e. it was possible to both 'Get' and 'Set' the AlarmBanner.Filter 'Property'.
Perhaps this could be added in a future release, with the SetFilter() left as a legacy method
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-17 03:53 AM
Bevan, I made a mistake with my original post and showed an early version of the API. The final version doesn't have Filter property and SetFilter method, instead it has GetFilterForSystem and SetFilterForSystem methods to support clients connected to multiple systems.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-03-17 04:53 AM
Ahh, makes more sense now.
And yes, .Filter wouldn't work well with Systems taken into consideration.
Is there an ability to SetFilterForSystem and have it apply to ALL systems? i.e.
AlarmBanner.SetFilterForSystem("*", "Source=Water.*")
It wouldn't be needed for the GetFilterForSystem method (since retrieving an individual filter string per System would suffice here).
Thoughts are that in combined systems we will often want to have a simple filter like 'Severity >= High' and would want that to be applied to all the Systems the user is connected to, but we may not easily know the name of them all (both because the system might be named differently on each client, and also because at original development time we simply don't know how many, or the names of, all the remote systems).
Link copied. Please paste this link to share this article on your social media post.
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.