author | mjsousa |
Sat, 10 Aug 2013 09:10:06 +0100 | |
changeset 830 | 6f45ec6ed011 |
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