mxInit (Function)

Top  Previous  Next

Architecture:

X32 / NX32 / NX32L

Device support:

ALL

Firmware version:

1.00 / 1.00.00


The mxInit() function will initialize a MUTEX variable.

The mxInit() function must be called before any other operations can be performed on the mutex.

 

 

Input:

None

 

Returns: MUTEX

The initialized mutex.

 

Declaration:

FUNCTION mxInit : MUTEX;

 

 

Example:

INCLUDE rtcu.inc
 
VAR
  mxCnt : MUTEX;
  Count : DINT := 0;
END_VAR;
 
THREAD_BLOCK Thread_A;
WHILE TRUE DO
  mxLock(mx:=mxCnt);
  Count := Count + 1;
  mxUnlock(mx:=mxCnt);
END_WHILE;
END_THREAD_BLOCK;
 
THREAD_BLOCK Thread_B;
WHILE TRUE DO
  mxLock(mx:=mxCnt);
  Count := Count + 5;
  mxUnlock(mx:=mxCnt);
END_WHILE;
END_THREAD_BLOCK;
 
PROGRAM test;
VAR
  TA   : Thread_A;
  TB   : Thread_B;
  i     : INT;
END_VAR;
 
mxCnt := mxInit();
 
TA();
TB();
 
BEGIN
  Sleep(delay:=1000);
  DebugFmt(message:="Count: \4",v4:=Count);
END;
 
END_PROGRAM;