Basic Operating Principle of the Action-Based Structure

In the Action-Based SCADA structure, an operation is not directly associated with a specific function. Instead, it is defined through two fundamental components: action and function.

An action occurring on a user control can trigger one or more functions defined for that action.

Basic approach: Action occurs → Action-associated function runs → Defined operation is performed.

For example, when the Leftmousedown action occurs on a user control, the Write function can be executed as the function associated with this action. This allows a command to be sent to the relevant Tag or controller when the user presses the left mouse button on the user control.

Actions Supported by EOS SCADA

EOS SCADA supports various actions that may occur on user controls.

The supported actions are described below:

  1. Leftmousedown (Left Mouse Down): Pressing the left mouse button.
  2. Leftmouseup (Left Mouse Up): Releasing the left mouse button.
  3. Leftmousedoubleclick (Left Mouse Double Click): Double-clicking the left mouse button.
  4. Rightmousedown (Right Mouse Down): Pressing the right mouse button.
  5. Rightmouseup (Right Mouse Up): Releasing the right mouse button.
  6. Rightmousedoubleclick (Right Mouse Double Click): Double-clicking the right mouse button.
  7. Middlemousedown (Middle Mouse Down): Pressing the middle mouse button.
  8. Middlemouseup (Middle Mouse Up): Releasing the middle mouse button.
  9. Middlemousedoubleclick (Middle Mouse Double Click): Double-clicking the middle mouse button.
  10. Valuechanged (Value Changed): A change in the SCADA data value.
  11. Private (Private): Actions defined for functions specific to the EOS SCADA software.

Functions That Can Be Triggered by Actions

Actions occurring within EOS SCADA can trigger different functions that need to be performed by the user control or the system.

The supported functions are described below.

  1. Usercontrolspecific (User Control Specific): Allows the user control to perform its normal function programmed in EOS SCADA 2022.
  2. Gotoscreeninnavigator (Go to Screen in Navigator): Navigates to the screen specified in the action definition of the Navigator user control.
  3. Goforwardinnavigator (Go Forward in Navigator): Navigates to the next screen according to the navigation history.
  4. Gobackinnavigator (Go Back in Navigator): Navigates to the previous screen according to the navigation history.
  5. Openpopupscreen (Open Popup Screen): Opens the specified screen as an independent Popup Screen window.
  6. Opengraphicspanel (Open Graphics Panel): Opens the Graphics Panel.
  7. Openeventpanel (Open Event Panel): Opens the Event Panel.
  8. Runscript (Run Script): Executes the Visual C#, Visual Basic, or Python script specified in the action definition.
  9. Openwebpage (Open Web Page): Opens the specified web page in the computer's web browser.
  10. Sendemail (Send E-Mail): Starts the E-Mail sending panel.
  11. Startprogram (Start a Program): Executes the specified .exe or .bat file or command list.
  12. Opennotesscreen (Open Operator Notes Screen): Starts the Operator Notes panel.
  13. Increasetagvaluebyfixedamount (Increase a Tag Value by a Fixed Amount): Increases the specified Tag value by the defined fixed amount.
  14. Decreasetagvaluebyfixedamount (Decrease a Tag Value by a Fixed Amount): Decreases the specified Tag value by the defined fixed amount.
  15. Invertbooltag (Invert Bool Tag Value): Inverts a digital Tag value. If the value is 1, it is changed to 0; if it is 0, it is changed to 1.
  16. Printscreen (Print Screen): Prints the SCADA screen.
  17. Savescreenshot (Save Screenshot as BMP): Saves a screenshot in BMP format.
  18. Opendiagnostics (Open System Diagnostics Screen): Opens the Diagnostics screen for system diagnostics and troubleshooting operations.
  19. Openonscreenkeyboard (Open On-Screen Keyboard): Opens the on-screen keyboard.
  20. Readtagsforcestatus (Read Tag FORCE Status): Reads and displays the FORCE status of the specified Tag.
  21. Updatetagsforcestatus (Update Tag FORCE Status): Updates the FORCE status of the specified Tag.
  22. Readeosdatetime (Read EOS Hardware Date and Time): Reads the hardware date and time information from EOS hardware.
  23. Seteosdatetime (Set EOS Hardware Date and Time): Sets the hardware date and time information of EOS hardware.
  24. Visibleinvisible (Visibility): Makes the user control visible or hidden according to the specified Tag value.
  25. Enabledisable (Enable-Disable): Enables or disables the user control according to the specified Tag value.
  26. Blink (Blink): Makes the user control remain steady or blink according to the specified Tag value.
  27. Soundalarm (Audible Alarm): Starts an audible warning alarm according to the specified Tag value.
  28. Write (Write Data): Sends a command or data to the controller when the defined action occurs.
  29. Private (Private): Performs functions specific to the EOS SCADA software.

Action-Function Relationship

In the Action-Based structure of EOS SCADA, an action-function relationship is created between an action and the operation to be performed.

An action occurring on a user control triggers the execution of the function associated with that action.

Example 1 — Data Visualization

Valuechanged Usercontrolspecific

When the value of a Tag changes, the Valuechanged action occurs. The associated Usercontrolspecific function is then executed so that the user control performs its normal visual function.

Example 2 — Sending a Command to a Controller

Leftmousedown Write

When the user presses the left mouse button on the user control, the Leftmousedown action occurs. The associated Write function can then be executed to send a command to the controller.

Example 3 — Opening a Screen

Leftmousedoubleclick Openpopupscreen

When the user double-clicks the user control, the specified Popup Screen can be opened.

Valuechanged - Usercontrolspecific Pair

In EOS SCADA, the Valuechanged - Usercontrolspecific action-function pair must be used for a user control to perform its normal data visualization function.

The Valuechanged action indicates that the relevant SCADA data value has changed. The Usercontrolspecific function performs the normal operating function of the user control.

For example, changing the LED color when the Tag value changes in an LED user control, or updating the displayed data value in a Numeric LED user control, can be performed through this structure.

⚠️ ATTENTION

The Valuechanged - Usercontrolspecific pair must be defined for user controls that are expected to perform their normal visual function.

Using the Write Function

When a command or data needs to be sent to a controller by the user, the Write function can be used.

The Write function must be defined together with an appropriate user action in order to operate.

For example, if a command is to be sent to the controller when the user presses the left mouse button on a user control, the following action-function pair can be used:

Leftmousedown - Write

Similarly, if a command needs to be sent when the left mouse button is released, the Leftmouseup - Write pair can be used.

Right or middle mouse actions can also be used together with the Write function according to the requirements.

⚠️ ATTENTION

In order to send a command to the user or controller, the Write function must be used together with an appropriate mouse action.

For example: Leftmousedown - Write, Leftmouseup - Write, or other appropriate action-function pairs can be used.

Defining an Unlimited Number of Action-Function Pairs

Within EOS SCADA, an unlimited number of action-function pairs can be defined for each user control.

This allows different functions to be assigned to different actions on the same user control, creating different responses according to the operations performed by the user.

For example, multiple action-function relationships can be defined simultaneously on a single user control:

  • Valuechanged - Usercontrolspecific
  • Leftmousedown - Write
  • Rightmousedoubleclick - Openpopupscreen
  • Leftmousedoubleclick - Openwebpage

Multiple action-function relationships such as the examples above can be defined and used simultaneously.

NOTE: An unlimited number of action-function pairs can be used for each user control.

Flexibility Provided by the Action-Based Structure

The Action-Based structure allows the behavior of user controls to be configured more flexibly. Instead of limiting a user control to performing only a single function, different functions can be assigned to different user interactions.

This approach is particularly useful in complex SCADA screens, where it allows the behavior of user controls to be defined in a more controlled and understandable manner.

Separating actions from functions allows the same function to be used by different actions and different actions to trigger different functions.

Design approach: First determine the action expected to occur on the user control, and then define the function that should be performed by that action.

Summary

The Action-Based Structure used in EOS SCADA 2023 is based on triggering specific functions when actions occur on user controls.

Actions supported by EOS SCADA, including Leftmousedown, Leftmouseup, Leftmousedoubleclick, Rightmousedown, Rightmouseup, Rightmousedoubleclick, Middlemousedown, Middlemouseup, Middlemousedoubleclick, Valuechanged and Private, can be associated with different functions.

These functions include Usercontrolspecific, Write, Gotoscreeninnavigator, Openpopupscreen, Runscript, Openwebpage, Sendemail, Startprogram, Visibleinvisible, Enabledisable, Blink, Soundalarm and other system functions.

The Valuechanged - Usercontrolspecific pair must be used for a user control to perform its normal data visualization function. To send a command to a controller by the user, the Write function must be used together with an appropriate action.

EOS SCADA allows an unlimited number of action-function pairs to be defined for each user control. This structure enables user controls on SCADA screens to exhibit flexible and functional behavior according to different user interactions.

← Back to Previous Page