diff -r ae263886ae92 -r 8e4992e0f147 etherlab/pous.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etherlab/pous.xml Thu Oct 25 19:55:02 2012 +0200 @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +,STATE, 2)} + 2: + IF PY0.ACK THEN + STATE := 3; + END_IF; + 3: + {if (HasAnswer()) __SET_VAR(data__->,STATE, 4)} + 4: + IF PY1.ACK THEN + ACK := 1; + VALUE := PY1.RESULT; + VALID := NE(VALUE, 'None'); + STATE := 0; + {ReleaseSDOLock();} + END_IF; +ELSE + STATE := 0; +END_CASE; + +EXECUTE0 := EXECUTE; +PY0(TRIG := STATE = 2, + CODE := CONCAT('EthercatSDOUpload(', + INT_TO_STRING(POS), + ',', + UINT_TO_STRING(INDEX), + ',', + USINT_TO_STRING(SUBINDEX), + ',"', + VARTYPE, + '")')); +PY1(TRIG := STATE = 4, + CODE := 'GetResult()'); +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +,STATE, 2)} + 2: + IF PY0.ACK THEN + STATE := 3; + END_IF; + 3: + {if (HasAnswer()) __SET_VAR(data__->,STATE, 4)} + 4: + IF PY1.ACK THEN + ACK := 1; + VALUE := PY1.RESULT; + ERROR := EQ(PY1.RESULT, 'False'); + STATE := 0; + {ReleaseSDOLock();} + END_IF; +ELSE + STATE := 0; +END_CASE; +EXECUTE0 := EXECUTE; +PY0(TRIG := STATE = 2, + CODE := CONCAT('EthercatSDODownload(', + INT_TO_STRING(POS), + ',', + UINT_TO_STRING(INDEX), + ',', + USINT_TO_STRING(SUBINDEX), + ',"', + VARTYPE, + '",', + VALUE, + ')')); +PY1(TRIG := STATE = 4, + CODE := 'GetResult()'); +]]> + + + + + + + + +