Showing results 1 to 9 of 9

Thread: Aditional command butons in command processing screen

  1. #1
    Join Date
    30.03.2016
    Posts
    35

    Default Aditional command butons in command processing screen

    Hello ,

    In my previous post. https://forum.copadata.com/showthrea...and-processing

    I explaned that we want to use less VBA code to get things done.

    our command display with VBA looked like this

    Click image for larger version

Name:	command.PNG
Views:	42
Size:	7.0 KB
ID:	1994

    We have the normal action 1 and 2 and the Execute buttons. (IN/UIT/UITVOEREN) And we have two additional buttons (BLOKKEREN and VRIJGEVEN)
    The interlock was handled via VBA. also the substitude was done in VBA.

    Now we wanted to make this without VBA
    The first part with the normal commandprocessing (Action1/Action2/Execute is working fine. (Also the interlocking) The Commandprocessing screen is called via 'Write set value' of the combined element (see picture)

    Click image for larger version

Name:	command2.PNG
Views:	40
Size:	22.2 KB
ID:	1995

    The other to buttons ('Blokkeren' / 'vrijgeven') Translated its (Block and release). I dont no how to do this without using VBA.

    The function of these two buttons is to Block or release the Action 1/Action 2 commands. and is should sent a value to the driver (61850)

    thanks


    Is this possible without the use of VBA or not

  2. #2
    Join Date
    02.02.2017
    Posts
    1

    Default Re: Aditional command butons in command processing screen

    Hi Joulzer,

    Actually, In Zenon 7.5 we can cancel the action1/ action2 ( Close/Open) by following the path : Control Elements --> Change --> Cancel without coding VBA ( If I do not misunderstand your Question)

  3. #3
    Join Date
    30.03.2016
    Posts
    35

    Default Re: Aditional command butons in command processing screen

    Quote Originally Posted by anbkhn View Post
    Hi Joulzer,

    Actually, In Zenon 7.5 we can cancel the action1/ action2 ( Close/Open) by following the path : Control Elements --> Change --> Cancel without coding VBA ( If I do not misunderstand your Question)
    Hi

    Thanks for the response but I think you misunderstood me. With the two additional buttons we want to disable/interlock the action1/action2 (Open/Close) buttons . These buttons
    Also must control the Block/Release variables of the switching device in de IED

    Bij controlling the Block/release buttons in our command display we add or remove an interlock/block in the IED. The result is that also the control from IED(local) and from Control Centre will be blocked
    We use this feature for maintenance purposes . No external control allowed.

    So the action buttons (action 1/action2) (in our case with VBA) will be blocked/interlocked eventually bij the OpnEna/CloseEna (61850) variables/signals from the IED

    Is this posibble without using VBA?

    Thanks

  4. #4
    Join Date
    18.02.2014
    Posts
    5

    Default Re: Aditional command butons in command processing screen

    Hi Joulzer,

    you want to define additional command actions for e.g. Blocking via the command processing?

    Therefore you have the possibility at the command group (right mouse click -> open a new Menu), where you can select
    additional action Types.

    These Actions have to be linked to so called "Action Buttons" at the command processing screen.

    I hope this is the feature, what you are looking for,

    kind regards,
    Last edited by ulschri : 2nd February 2017 at 08:43

  5. #5
    Join Date
    01.07.2008
    Location
    Salzburg, AT
    Posts
    805

    Default Re: Aditional command butons in command processing screen

    Quote Originally Posted by Joulzer View Post
    Hi
    So the action buttons (action 1/action2) (in our case with VBA) will be blocked/interlocked eventually bij the OpnEna/CloseEna (61850) variables/signals from the IED
    Is this posibble without using VBA?
    What does the word "bij" mean, something like "via" or "by"?

    I suppose the answer is YES, but i'm missing key information about your use-case and your descriptions are not precisely, so left open area for interpretations. What exactly the VBA was doing?

    Typically, during a maintenance of a switch (CSWI controlling XCBR), any control operation shall be locked; so not separately only direction "Off" (mirrored to EnaOpn in CILO) and then separately only "On" (CILO/EnaCls), but all control operations - e.g. XCBR/Loc (so locked control behavior already on primary equipment, eventually BlkOpn and BlkCls - to block also trips caused by protection node).
    From the screenshot (in the language i do not know) i'm guessing that in HMI your Lock/Release buttons shall handle both directions together? Mirrored on two Enabler?

    The concept in Command Processing module is, that during the maintenance the Response Variable (e.g. CSWI/Pos/stVal[ST]) shall be protected against any control. This can be done by action 'Lock'. This additional action will set (or reset) by RV the status bit M1 and demands that the user acknowledges lock/unlock handling with a special code (to lock or unlock by accident could have severe consequences).

    To mirror to IED the fact that the user made 'Lock' you may link the RV with a reaction matrix detecting changes of M1 bit and calling 'write set value' functions writing 0 (or 1) to EnaOpn and EnaCls (Ena*/Oper.ctlVal[CO]). Note that if you want to call from a limit more as one function - you have to place all these functions in a script and call function executing the script. Or/And you may follow the opposite concept - if IED informs that control is disabled - set M1 status bit by RV.

    One more hint: in command screen it is possible to also link a function execution to the action button - then the button executes the action and the linked zenon function.

  6. #6
    Join Date
    30.03.2016
    Posts
    35

    Default Re: Aditional command butons in command processing screen

    Quote Originally Posted by ursulak View Post
    What does the word "bij" mean, something like "via" or "by"?

    I suppose the answer is YES, but i'm missing key information about your use-case and your descriptions are not precisely, so left open area for interpretations. What exactly the VBA was doing?

    Typically, during a maintenance of a switch (CSWI controlling XCBR), any control operation shall be locked; so not separately only direction "Off" (mirrored to EnaOpn in CILO) and then separately only "On" (CILO/EnaCls), but all control operations - e.g. XCBR/Loc (so locked control behavior already on primary equipment, eventually BlkOpn and BlkCls - to block also trips caused by protection node).
    From the screenshot (in the language i do not know) i'm guessing that in HMI your Lock/Release buttons shall handle both directions together? Mirrored on two Enabler?

    The concept in Command Processing module is, that during the maintenance the Response Variable (e.g. CSWI/Pos/stVal[ST]) shall be protected against any control. This can be done by action 'Lock'. This additional action will set (or reset) by RV the status bit M1 and demands that the user acknowledges lock/unlock handling with a special code (to lock or unlock by accident could have severe consequences).

    To mirror to IED the fact that the user made 'Lock' you may link the RV with a reaction matrix detecting changes of M1 bit and calling 'write set value' functions writing 0 (or 1) to EnaOpn and EnaCls (Ena*/Oper.ctlVal[CO]). Note that if you want to call from a limit more as one function - you have to place all these functions in a script and call function executing the script. Or/And you may follow the opposite concept - if IED informs that control is disabled - set M1 status bit by RV.

    One more hint: in command screen it is possible to also link a function execution to the action button - then the button executes the action and the linked zenon function.
    Yes bij means by.

    Our VBA code is 10 years old and i guess that the possibilities in the editor was less advance as in version 7.50. So let me try to expain the control flow how it was implemented with the help of VBA.

    ----------------

    Via context menu of the selected switchobject an initVBA script was called that set two helpvariables defined in the editor ('befVar' and 'befVar info'). BefVar is the RM and 'befVar info' is the name of the element name of the selected object. These variables are used in an other part of the VBA code to get the interlock variables of the selected switchobject. (EnaOpn/EnaCls/loc/Blk)

    Then the commandprocessing dialog is called via VBA

    As long as the dialog is open VBA is Checking (EnaOpn/EnaCls/loc/Blk) Of the selected switchobject . In case one of these 61850 variables are changed the enable bits of the action buttons are set/reset

    (This part i can build without using VBA )

    Then we had two more buttons (Blokkeren/vrijgeven) i think this is the lock function that you call it. These button called a VBA script that set or reset Blk var (61850) of the selected object So that It is mirrored to the IED.

    The result is then that the VBA check the interlock vars and it will detect that Blk has changed and it will update the enable bit of the action buttons.

    This part i don't know how to do this without VBA

    But if i read your comments, it looks that you are understanding what we want and how to do without VBA
    The only doubt i have is how to call the function with the REMA ( can you also do substitution here)

    Thanks in advance you have helpt me a lot.

  7. #7
    Join Date
    01.07.2008
    Location
    Salzburg, AT
    Posts
    805

    Default Re: Aditional command butons in command processing screen

    In zenon function 'write set value' there is no substitution, so to update additional interlock variables in IED, you would have to create many functions and as many REMAa as you have switching objects
    Or use (not so complex) VBA code and evaluate value and status bit changes of RV and set values of additional variables accordingly via VBA.

    The Command Processing is not updating the enablers of action buttons from interlocking conditions.
    And typically either both buttons On/Off are enabled or both disabled. Disabled e.g. when control is locked (RV has status bit M1), during communication loss (RV has status bit INVALID), when communication is intentionally stopped (RV has OFF-bit), or when on another PC in the zenon Network someone else has open command screen for this RV (RV has NET_SET-bit set by other owner). The only situation when only one action is disabled while the second is enabled - the actions has 'Nominal/current value comparison' and 'Executable only if set <> actual' - then e.g. if the switch is currently open - the button to open it is disabled, and the button to close - enabled.

    And now the good news: with the use of action property 'Replace in screen' you may use in command screen additional elements linked/made visible according the interlock variables; smart substituted. Then also while both buttons ON/OFF are enabled the HMI operator will have clear information that e.g. to press ON does not make sense as it will be refused anyway.

  8. #8
    Join Date
    30.03.2016
    Posts
    35

    Default Re: Aditional command butons in command processing screen

    Quote Originally Posted by ursulak View Post

    And now the good news: with the use of action property 'Replace in screen' you may use in command screen additional elements linked/made visible according the interlock variables; smart substituted. Then also while both buttons ON/OFF are enabled the HMI operator will have clear information that e.g. to press ON does not make sense as it will be refused anyway.
    Could you reply with a screenshot example . Because the manual is not so clear about 'replace in screen'
    And is there a way howto check if the replace was succesfull

    And how can you set M1 bit with VBA or editor

    Thanks for your answer

  9. #9
    Join Date
    01.07.2008
    Location
    Salzburg, AT
    Posts
    805

    Default Re: Aditional command butons in command processing screen

    > the manual is not so clear about 'replace in screen'
    The setting 'replace in screen' is relative new (7.50) and probably the translation from DE of the help is not included by you, sorry.
    In case of such feature a screenshot (it would contain Editor and Runtime and context tooltip) would be harder to understand as a written example:

    in the Editor:
    - name of RV (substituted) in Command Group: *_RV
    - in command screen additional elements are linked with variables: xyz_lock, xy_Switch (these could be internal, "dummy" variables)
    - in Action setting 'replace in screen': xyz;xy

    in the Runtime:
    - process response variable: abc_RV.

    --> result: in command screen additional elements are linked with variables: abc_lock and abc_Switch, and not xyz_lock and xy_Switch anymore (if abc* variables exist).

    >is there a way how to check if the replace was succesfull
    In the Runtime you may check if a variable is linked with a screen element by right-click on this element --> it displays a context tooltip with the variable name and status.

    > And how can you set M1 bit with VBA or editor
    I suppose on this Forum the topic how to set user status bits of a variable was already discussed in some general thread (and if not - please ask in a thread where anyone will find it)

Similar Threads

  1. Action buttons not enabled (interlocked) Command processing
    By Joulzer in forum zenon Energy Edition
    Replies: 6
    Last Post: 30th January 2017, 09:23
  2. Command Processing
    By dcs.engineer in forum zenon Energy Edition
    Replies: 4
    Last Post: 4th August 2016, 17:34
  3. Command Control
    By yara in forum Drivers
    Replies: 2
    Last Post: 7th December 2010, 14:49
  4. command
    By westbaaam in forum VBA
    Replies: 2
    Last Post: 9th October 2009, 06:30

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •