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: 2020-04-13 06:44 PM . Last Modified: 2023-05-03 12:15 AM
So if the discrete tag is true display tag A is used, if false then display the value from tag B.
I know I could just use visibility with two objects on the screen but would like a third tag that would show the value, historical data and alarms from one or the other at all times.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-04-14 01:45 AM
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-04-14 01:45 AM
Do you want to do this for existing history, or are you ok with just getting data from when you implement it?
Sounds like a job for a calculation point, but it won't backfill anything. For that you'd need to write some logic or something in one of the APIs.
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: 2020-04-14 08:45 AM
That sounds complicated. 🙂 The PLC work is being done by others but it seems like you should be doing this in the PLC so the SCADA just has one tag.
My current understanding is that you would have an analog internal tag with level alarms and historical logging that would somehow be getting its value from one of two external analog I/O tags. They currently have two discrete tags to choose between two different analog tags or addresses. If discrete A is set then switch the analog internal tag to get its value from external analog tag A and then the same for another set of B tags. So the one analog internal tag displayed on the screen would have the alarms and historical data of the sensor in charge of the process.
I’ve not worked with ClearSCADA very often and wanted to see what the options were. Was there something like “calculation point” that you mentioned that would remap the data to a new internal tag or a way to change an external analog tags I/O address reliably on the fly?
Thanks for taking a look.
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: 2020-04-14 07:47 PM
Yep, a calculation point is an internal database point that has an expression so you could have something like (psuedocode):
If (discrete)
then (analogX)
else (analogY)
You can configure it to be triggered by various means and it will add the data each time.
You can configure changing of the IO address on the fly, but I wouldn't recommend it. Dynamic config should be avoided for performance reasons - it has to be re-validated, re-added to the driver etc.
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: 2020-04-15 12:15 AM
The syntax for the expression is:
IIF( ".test point.CurrentValue"=1,".pointWhenOne.CurrentValue",".pointWhenZero.CurrentValue")
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: 2020-04-15 12:18 AM
Thanks for covering for my laziness Steve!
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: 2020-04-26 04:20 AM
I find laziness works sometimes.. I prefer allowing the default property to take over, this way the 'point' doesn't even need to be a point, it could also be a Variable, or a Parameter (and I haven't yet seen ClearSCADA get the default property wrong... although you'll get the bug report the instant I do Jesse 😛 )
IIF( ".test point", ".pointWhenTrue", ".pointWhenFalse" )
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.