Summary:
The "Pulse()" function no longer seems to function properly when called from popup page or supergenie.

My digital tag gets switched on properly, but is never switched off. 


Solution:

This problem would only occur if the popup page or supergenie is closed before the Pulse function is complete, i.e. before the digital tag is switched back off. (by default 2 seconds after the bit was switched on.) 

This issue has been fixed in 7.10 SPK1. 

 

Currently there is a workaround which can be used the first workaround is for popup pages and the second workaround can be used for Supergenies.

  • The following workaround can be used for Popup pages. Please note this workaround only works for Popup pages and cannot be used for Supergenies you will get a compile error when "Unknown dba error" when used with supergenies.

Label Name: Pulse(arg)
Expression: Pulser(GetVarStr(arg,name))
 

Then, create a cicode function as below:

 FUNCTION Pulser(STRING sTag)

     TagWrite(sTag,"1");

    Sleep(2);

    TagWrite(sTag,"0");

END

This allows the Pulse to be processed by cicode removing it from any problem caused by the popup pages being closed. 

  • For Supergenies you can use the following workaround but it involves some rework on the project. Add a new label as shown below

Label Name: AssPulse(arg)
Expression: Pulser(AssInfo(arg,0))

And change the references on the pages from Pulse(?String 1?) to AssPulse(1).

 


Applies To:
  • CitectSCADA 7.0, 7.1 
  • CitectHMI 7.0, 7.1 
Keywords:
 Pulse

Attachments