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: 2019-11-06 03:05 PM . Last Modified: 2023-05-03 12:25 AM
>>Message imported from previous forum - Category:Scripts and Tips<<
User: ROVSCADAENGINEER, originally posted: 2019-04-23 01:12:08 Id:415
I am wanting to assign an SQL script to a pick action on a drop down menu which when selected runs an SQL script to check how many times the reset has been actuated in a certain timeframe.
Then I want to use a pick action configuration which allows the pick action to control/actuate the button based on how recent the item was actuated.
The purpose behind this is to ensure that pumps are not being reset so frequently and causing overloads on the armatures.
Does anyone have any examples of scripting they can upload to this question so that I can get an understanding of how this might work or be implemented?
Many thanks.
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: 2019-11-06 03:06 PM
>>Responses imported from previous forum
Reply From User: ROVSCADAENGINEER, posted: 2019-04-24 00:35:24
![]((see attachments below) 1a/58r1sl7u8ccf.png "")
I have tried executing this however am not really fully understanding the help provided in the clearSCADA examples.
****my code for the script is. ****
Set Objectpoint = Server.FindObject(Paget.Test mimics.script testing.Pump Symbol + "Reset")
objectpoint.Interface.Override 1
Attached file: (editor/1a/58r1sl7u8ccf.png), script2.PNG File size: 74840
Reply From User: ROVSCADAENGINEER, posted: 2019-04-24 02:37:03
I have got it partially working on a test point. I just need to bring in a Count from an SQL query into the IF logic now. I am wanting to use an if statement based on a query to display the number of actuations of the point in a given timeframe.
Dim iResponse
iResponse = MsgBox (sMessage, vbExclamation + vbOKCancel + vbDefaultButton1, "Warning")
If iResponse = vbOK Then
iResponse = MsgBox("Are you sure you want to reset the pump? Be sure not to overheat from excessive resets! ", vbExclamation + vbYesNo + vbDefaultButton2, "Reset the Pump?")
If iResponse = vbYes Then
Server.SetOPCValue ".Reset.CurrentValue", 1
Else
Server.SetOPCValue ".Reset.CurrentValue", 0
End If
Else
MsgBox "Action Canceled"
End If.
Reply From User: BevanWeiss, posted: 2019-05-07 22:03:28
I would not recommend implementing such logic within ClearSCADA. The appropriate place for this would be within the PLC / RTU which is performing the reset action itself.
Otherwise resets performed by any HMI (i.e. not ClearSCADA), or by another instance of the ClearSCADA database, or in any other way will not be properly handled.
If you are to do this, then I would recommend doing it with actual ClearSCADA Logic. You could have a bit which the user actually drives (reset request) which only actuates the actual reset output when the reset output hasn't been triggered within some time period (or other such logic).
Reply From User: ROVSCADAENGINEER, posted: 2019-05-15 23:22:54
you raise a good point Bevan. perhaps the logic can tie into a point referencing the output by this code as a workaround to simplify the proposed logic. HMI interfaces in the field directly tied to the point are not picked up by this. so tying the actual point in the RTU to this logic like you suggested would be the best workaround yeah?
Reply From User: ROVSCADAENGINEER, posted: 2019-05-16 05:31:10
that being said [at]BevanWeiss . Say I want to cover all sites or mimics that are referencing a point. Can you assign script to a digital point itself so it runs through the logic always when it is actuated? instead of placing the script on something else that is actuating the digital point itself. to cover all access buttons to the point? by applying the code on the point itself? I hope that makes sense.
Reply From User: ROVSCADAENGINEER, posted: 2019-05-16 05:32:12
I do understand that scada interface will not be field based though. I am talking more for the overall scada interface here.
Reply From User: hardin4019, posted: 2019-05-20 21:18:48
[at]ROVSCADAENGINEER said:
that being said [at]BevanWeiss . Say I want to cover all sites or mimics that are referencing a point. Can you assign script to a digital point itself so it runs through the logic always when it is actuated? instead of placing the script on something else that is actuating the digital point itself. to cover all access buttons to the point? by applying the code on the point itself? I hope that makes sense.
Assign the point as the "Trigger" of a logic's properties?
Reply From User: ROVSCADAENGINEER, posted: 2019-05-21 03:30:40
thankyou [at]hardin4019
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: 2019-11-06 03:06 PM
>>Responses imported from previous forum
Reply From User: ROVSCADAENGINEER, posted: 2019-04-24 00:35:24
![]((see attachments below) 1a/58r1sl7u8ccf.png "")
I have tried executing this however am not really fully understanding the help provided in the clearSCADA examples.
****my code for the script is. ****
Set Objectpoint = Server.FindObject(Paget.Test mimics.script testing.Pump Symbol + "Reset")
objectpoint.Interface.Override 1
Attached file: (editor/1a/58r1sl7u8ccf.png), script2.PNG File size: 74840
Reply From User: ROVSCADAENGINEER, posted: 2019-04-24 02:37:03
I have got it partially working on a test point. I just need to bring in a Count from an SQL query into the IF logic now. I am wanting to use an if statement based on a query to display the number of actuations of the point in a given timeframe.
Dim iResponse
iResponse = MsgBox (sMessage, vbExclamation + vbOKCancel + vbDefaultButton1, "Warning")
If iResponse = vbOK Then
iResponse = MsgBox("Are you sure you want to reset the pump? Be sure not to overheat from excessive resets! ", vbExclamation + vbYesNo + vbDefaultButton2, "Reset the Pump?")
If iResponse = vbYes Then
Server.SetOPCValue ".Reset.CurrentValue", 1
Else
Server.SetOPCValue ".Reset.CurrentValue", 0
End If
Else
MsgBox "Action Canceled"
End If.
Reply From User: BevanWeiss, posted: 2019-05-07 22:03:28
I would not recommend implementing such logic within ClearSCADA. The appropriate place for this would be within the PLC / RTU which is performing the reset action itself.
Otherwise resets performed by any HMI (i.e. not ClearSCADA), or by another instance of the ClearSCADA database, or in any other way will not be properly handled.
If you are to do this, then I would recommend doing it with actual ClearSCADA Logic. You could have a bit which the user actually drives (reset request) which only actuates the actual reset output when the reset output hasn't been triggered within some time period (or other such logic).
Reply From User: ROVSCADAENGINEER, posted: 2019-05-15 23:22:54
you raise a good point Bevan. perhaps the logic can tie into a point referencing the output by this code as a workaround to simplify the proposed logic. HMI interfaces in the field directly tied to the point are not picked up by this. so tying the actual point in the RTU to this logic like you suggested would be the best workaround yeah?
Reply From User: ROVSCADAENGINEER, posted: 2019-05-16 05:31:10
that being said [at]BevanWeiss . Say I want to cover all sites or mimics that are referencing a point. Can you assign script to a digital point itself so it runs through the logic always when it is actuated? instead of placing the script on something else that is actuating the digital point itself. to cover all access buttons to the point? by applying the code on the point itself? I hope that makes sense.
Reply From User: ROVSCADAENGINEER, posted: 2019-05-16 05:32:12
I do understand that scada interface will not be field based though. I am talking more for the overall scada interface here.
Reply From User: hardin4019, posted: 2019-05-20 21:18:48
[at]ROVSCADAENGINEER said:
that being said [at]BevanWeiss . Say I want to cover all sites or mimics that are referencing a point. Can you assign script to a digital point itself so it runs through the logic always when it is actuated? instead of placing the script on something else that is actuating the digital point itself. to cover all access buttons to the point? by applying the code on the point itself? I hope that makes sense.
Assign the point as the "Trigger" of a logic's properties?
Reply From User: ROVSCADAENGINEER, posted: 2019-05-21 03:30:40
thankyou [at]hardin4019
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.