author | Manuele Conti <conti.ma@alice.it> |
Tue, 12 Jun 2012 22:46:51 +0200 | |
changeset 588 | 3d72d09bd40f |
parent 251 | 5e7457efbb8f |
permissions | -rw-r--r-- |
(* * (c) 2011 Edouard Tisserant * * Fake semaphore support, for non preemptive implementation. * *) FUNCTION_BLOCK SEMA VAR_INPUT CLAIM : BOOL; RELEASE : BOOL; END_VAR VAR_OUTPUT BUSY : BOOL; END_VAR VAR Q_INTERNAL : BOOL; END_VAR Q_INTERNAL := CLAIM OR ( Q_INTERNAL AND (NOT RELEASE)); BUSY := Q_INTERNAL; END_FUNCTION_BLOCK