Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Plant SCADA

SleepMS

  • Last UpdatedJul 18, 2023
  • 2 minute read

Suspends the current Cicode task for a specified number of milliseconds. After the time delay, the Cicode task wakes and continues execution. This function is similar to the Sleep function but with greater resolution.

Although a value of 0 milliseconds is accepted, it is not recommended. Try to use at least a value of 1.

This function does not affect any other Cicode tasks; only the task calling SleepMS() is suspended. If you have Cicode that runs continuously in a loop, you should call the SleepMS() or Sleep() function somewhere within the loop, to pause the loop and allow other tasks to run.

This function is a blocking function. It will block the calling Cicode task until the operation is complete.

Syntax

SleepMS(Milliseconds)

Milliseconds:

The number of milliseconds (1000 milliseconds per second). Set to 0 to pre-empt the task for one time-slice. Be careful not to use a value that is too small. Setting the value to 0 would generally have no desirable effect.

Return Value

0 (zero) if successful, otherwise an error code is returned.

TaskNew, ReRead, Sleep

Example

Buttons

Text

Step

Command

PLCBit=1;SleepMS(500);PLCBit=0;

Comment

Switch Bit ON and then OFF 500 milliseconds later.

! Increment a memory variable by ten, 120 times over one minute

(twice a second).

I = 0;

WHILE I < 180 DO

SleepMS(500);

iRamp = iRamp + 10;

I = I + 1;

END

! sleep a while in polling loops

WHILE < waiting for event or time> DO

! do what ever here

...

SleepMS(200); ! sleep a while to give other tasks a go.

! the longer the sleep the better for other tasks.

END

See Also

Task Functions

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in