Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

  • Explore the new navigation for even easier access to your community.
  • Bookmark and use our new, easy-to-remember address (community.se.com).
  • Get ready for more content and an improved experience.

Contact SchneiderCommunity.Support@se.com if you have any questions.

Close
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
84248members
353348posts

[Imported] Pick Action Script.

EcoStruxure Geo SCADA Expert Forum

Find out how SCADA systems and networks, like EcoStruxure Geo SCADA Expert, help industrial organizations maintaining efficiency, processing data for smarter decision making with IoT, RTU and PLC devices.

Solved
sbeadle
Janeway Janeway
Janeway
0 Likes
1
533

[Imported] Pick Action Script.

>>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.


Accepted Solutions
sbeadle
Janeway Janeway
Janeway
0 Likes
0
532

Re: [Imported] Pick Action Script.

>>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

See Answer In Context

1 Reply 1
sbeadle
Janeway Janeway
Janeway
0 Likes
0
533

Re: [Imported] Pick Action Script.

>>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