author | Laurent Bessard |
Mon, 11 Mar 2013 12:49:33 +0100 | |
changeset 802 | cac262d1d6a5 |
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