//This file was generated by the LASAL2 CodeGenerator  -- 
//Please, do not edit this file (it might be overwritten by the next generator run)
//{{LSL_DECLARATION

(*!
<Class
	Name               = "_LMCAxisVisPara"
	Revision           = "1.13"
	GUID               = "{5C8694ED-7458-410B-8EB4-4ED04D8D11E2}"
	RealtimeTask       = "false"
	CyclicTask         = "false"
	BackgroundTask     = "false"
	Sigmatek           = "true"
	OSInterface        = "false"
	HighPriority       = "false"
	Automatic          = "false"
	UpdateMode         = "Prescan"
	IconPath           = ".\Class\_LMCAxisVisPara\LMCAxis.ico"
	SharedCommandTable = "true"
	Objectsize         = "(540,120)"
	Comment            = "this servers are all used by the VOV">
	<Channels>
		<Server Name="Accel" GUID="{DA434BFC-5DDB-4303-8527-5D12A64D972B}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="acceleration for MoveAbsolute(),&#13;&#10;MoveEndless(), MoveHand(), &#13;&#13;&#10;MoveRelative() and TuneAxis()"/>
		<Server Name="ClassSvr" GUID="{28237063-89D4-40AB-A84B-7C1896FC82F7}" Visualized="false" Initialize="false" WriteProtected="true" Retentive="false"/>
		<Server Name="Decel" GUID="{7D01275C-35A0-4690-A4EF-D4F4C5251AEE}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="deceleration for MoveAbsolute()&#13;&#10;and MoveRelative()"/>
		<Server Name="Jerk" GUID="{1C109A84-45CD-4A2F-8F24-9D76F464CFB1}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="jerk for MoveAbsolute, MoveRelative, MoveReference, ..."/>
		<Server Name="MovAbsPos" GUID="{F2C022EC-0E19-488F-8464-63A6DE804CD7}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="destination for MoveAbsolute()"/>
		<Server Name="MovDirection" GUID="{C84E72A4-4A17-464D-997B-F2CE28D3BAED}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="direction for MoveHand() and&#13;&#10;MoveEndless()&#13;&#10; 0 ... positiv&#13;&#10;&lt;&gt;0... negativ"/>
		<Server Name="MovRefAcc" GUID="{9A5E06AC-A069-4FE2-90D5-8A67ED0A1D47}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="acceleration for MoveReference()"/>
		<Server Name="MovRefMode" GUID="{B19CD4C1-F5AC-4862-8A29-D2CE8CB3502C}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="mode for MoveReference()"/>
		<Server Name="MovRefPos" GUID="{1130D175-826B-49E5-9D2E-40C0492460A9}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="position for MoveReference()"/>
		<Server Name="MovRefPosWindow" GUID="{41028867-58C9-4625-8306-57644096F5CC}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="position window for MoveReference()"/>
		<Server Name="MovRefVel1" GUID="{63AA7699-D7AB-4628-9092-6F37144AE90E}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="velocity 1 for MoveReference()"/>
		<Server Name="MovRefVel2" GUID="{3456A407-BE2C-426C-B989-1B51BDE2E05B}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="velocity 2 for MoveReference()"/>
		<Server Name="MovRelMode" GUID="{90BE28BB-984C-42D2-A842-60D1413B4E12}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="mode for MoveRelative()"/>
		<Server Name="MovRelPos" GUID="{52A9BF1D-382C-4254-9712-554AD81323B2}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="distance for MoveRelative()"/>
		<Server Name="Position" GUID="{AAB8F33A-2CC6-46CE-A633-396F0A3B2E64}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="position for MoveAbs() and MoveRel()&#13;&#10;see _LMCAxisVisInt.Command.Write(13 or 14)"/>
		<Server Name="PowOffMode" GUID="{8F20A834-DD59-490A-9AEE-A413DAF829B8}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="mode for PowerOff()"/>
		<Server Name="SetParMode" GUID="{B02B8454-8EC0-4DA1-AB0F-22953E8952FD}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="mode for SetParameter()"/>
		<Server Name="SetParNo" GUID="{7F220B91-6058-42B6-B9CD-918A6CF6D600}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="parameter number for SetParameter()"/>
		<Server Name="SetParVal" GUID="{5573897E-4ECD-4A46-AFC1-44AAF2CA352E}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="value for SetParameter()"/>
		<Server Name="SetPosMode" GUID="{6B55045E-F1FF-4331-AD6B-2734D97B2D17}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="false" Comment="mode for SetPosition()"/>
		<Server Name="SetPosVal" GUID="{D75195E1-6BDB-425B-A326-1C568BF13F10}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="value for SetPosition()"/>
		<Server Name="SetSWPosMode" GUID="{A4C84C9E-4B76-4F52-9808-45253C073C88}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="mode for SetSWEndPos()"/>
		<Server Name="SetSWPosVal" GUID="{B0E4BF6F-97C5-404F-BE52-871E83B6B2E3}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="value for SetSWEndPos()"/>
		<Server Name="TuneMode" GUID="{80F2266F-E534-4AD2-A4BC-4A2C9BFD043B}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="mode for TuneAxis()"/>
		<Server Name="TunePos" GUID="{8E9A814B-A5C4-4ACC-B27C-41473F26B4D3}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="distance for TuneAxis()"/>
		<Server Name="Velocity" GUID="{198EB64A-689B-4604-9BB2-A90294787DE7}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="velocity for MoveAbsolute(),&#13;&#10;MoveEndless(), MoveHand(), &#13;&#13;&#10;MoveRelative() and TuneAxis()"/>
		<Server Name="WaitTime" GUID="{085689B6-611C-4518-AC04-7CD874809DCB}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="wait time for TuneAxis()"/>
		<Client Name="ocLMCAxisVisInt" Required="true" Internal="false" Comment="object channel to _LMCAxisVisInt&#13;&#10;just for internal communication"/>
	</Channels>
	<RevDoku>
		<Owner Company="Sigmatek" Author="RauAnd"/>
		<Dokumentation Revision="1.13" Date="2017-10-12" Author="HasHan" Company="Sigmatek" Description="Improvement: set some Server to visualized = true to avoid errors when updating the structures in the VoV"/>
		<Dokumentation Revision="1.12" Date="2017-09-28" Author="SchMar2" Company="Sigmatek" Description="New Server Position added for Moving Absolute and Relative"/>
		<Dokumentation Revision="1.11" Date="2016-03-22" Author="SatChr" Company="Sigmatek" Description="1. New server Jerk added."/>
		<Dokumentation Revision="1.10" Date="2013-02-08" Author="ObeChr" Company="Sigmatek" Description="Removed server VelHand and AccHand"/>
		<Dokumentation Revision="1.0" Date="2012-09-27" Author="RauAnd" Company="Sigmatek" Description="creation"/>
	</RevDoku>
</Class>
*)
_LMCAxisVisPara : CLASS
  //Servers:
	ClassSvr 	: SvrChCmd_DINT;
	Velocity 	: SvrCh_DINT;
	Accel 	: SvrCh_DINT;
	Decel 	: SvrCh_DINT;
	Position 	: SvrCh_DINT;
	MovAbsPos 	: SvrCh_DINT;
	PowOffMode 	: SvrCh__LMCAXIS_POWER_OFF_MODE;
	MovRefMode 	: SvrCh__LMCAXIS_REFMODE;
	MovRefPos 	: SvrCh_DINT;
	MovRefVel1 	: SvrCh_DINT;
	MovRefVel2 	: SvrCh_DINT;
	MovRefAcc 	: SvrCh_DINT;
	MovRefPosWindow 	: SvrCh_DINT;
	MovRelPos 	: SvrCh_DINT;
	MovRelMode 	: SvrCh__LMCAXIS_MOVE_RELATIVE_MODE;
	TunePos 	: SvrCh_DINT;
	TuneMode 	: SvrCh_DINT;
	WaitTime 	: SvrCh_UDINT;
	SetPosMode 	: SvrCh__LMCAXIS_SETPOSITION;
	SetPosVal 	: SvrCh_DINT;
	SetParNo 	: SvrCh__LMCAXIS_SETPARAMETER;
	SetParMode 	: SvrCh_DINT;
	SetParVal 	: SvrCh_DINT;
	SetSWPosMode 	: SvrCh__LMCAXIS_SETSWENDPOS;
	SetSWPosVal 	: SvrCh_DINT;
	MovDirection 	: SvrCh_DINT;
	Jerk 	: SvrCh_DINT;
  //Clients:
	ocLMCAxisVisInt 	: CltChCmd__LMCAxisVisInt;
  //Variables:
  //Functions:
	
	FUNCTION VIRTUAL GLOBAL MovRefMode::Write
		VAR_INPUT
			input (EAX) 	: _LMCAXIS_REFMODE;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: _LMCAXIS_REFMODE;
		END_VAR;
  //Tables:
	FUNCTION @STD
		VAR_OUTPUT
			ret_code	: CONFSTATES;
		END_VAR;
	FUNCTION GLOBAL TAB @CT_;
END_CLASS;

#pragma usingLtd _LMCAxisVisInt


//}}LSL_DECLARATION


FUNCTION GLOBAL TAB _LMCAxisVisPara::@CT_
0$UINT,
2#0100000000000000$UINT, //TY__LMCAXISVISPARA
1$UINT, 13$UINT, (SIZEOF(::_LMCAxisVisPara))$UINT, 
27$UINT, 1$UINT, 0$UINT, 
TO_UDINT(3953984284), "_LMCAxisVisPara", //Class
TO_UDINT(0), 0, 0$UINT, 0$UINT, //Baseclass
//Servers:
(::_LMCAxisVisPara.ClassSvr.pMeth)$UINT, _CH_CMD$UINT, 2#0000000000000000$UINT, TO_UDINT(619352855), "ClassSvr", 
(::_LMCAxisVisPara.Velocity.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(2028686053), "Velocity", 
(::_LMCAxisVisPara.Accel.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(2863199317), "Accel", 
(::_LMCAxisVisPara.Decel.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(1193485561), "Decel", 
(::_LMCAxisVisPara.Position.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(2149546169), "Position", 
(::_LMCAxisVisPara.MovAbsPos.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(2950493098), "MovAbsPos", 
(::_LMCAxisVisPara.PowOffMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(951905340), "PowOffMode", 
(::_LMCAxisVisPara.MovRefMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(2799397210), "MovRefMode", 
(::_LMCAxisVisPara.MovRefPos.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(4286183458), "MovRefPos", 
(::_LMCAxisVisPara.MovRefVel1.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(3018130239), "MovRefVel1", 
(::_LMCAxisVisPara.MovRefVel2.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(720130693), "MovRefVel2", 
(::_LMCAxisVisPara.MovRefAcc.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(1402957325), "MovRefAcc", 
(::_LMCAxisVisPara.MovRefPosWindow.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(3784530433), "MovRefPosWindow", 
(::_LMCAxisVisPara.MovRelPos.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(2428770374), "MovRelPos", 
(::_LMCAxisVisPara.MovRelMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(3966464507), "MovRelMode", 
(::_LMCAxisVisPara.TunePos.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(3028531341), "TunePos", 
(::_LMCAxisVisPara.TuneMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(3774426467), "TuneMode", 
(::_LMCAxisVisPara.WaitTime.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(1161610041), "WaitTime", 
(::_LMCAxisVisPara.SetPosMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3602087775), "SetPosMode", 
(::_LMCAxisVisPara.SetPosVal.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3936169710), "SetPosVal", 
(::_LMCAxisVisPara.SetParNo.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3283947444), "SetParNo", 
(::_LMCAxisVisPara.SetParMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3520673695), "SetParMode", 
(::_LMCAxisVisPara.SetParVal.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3977377770), "SetParVal", 
(::_LMCAxisVisPara.SetSWPosMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(295684982), "SetSWPosMode", 
(::_LMCAxisVisPara.SetSWPosVal.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(293712789), "SetSWPosVal", 
(::_LMCAxisVisPara.MovDirection.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3089281189), "MovDirection", 
(::_LMCAxisVisPara.Jerk.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(3393163168), "Jerk", 
//Clients:
(::_LMCAxisVisPara.ocLMCAxisVisInt.pCh)$UINT, _CH_CLT_OBJ$UINT, 2#0000000000000010$UINT, TO_UDINT(84876582), "ocLMCAxisVisInt", TO_UDINT(3511906983), "_LMCAxisVisInt", 1$UINT, 63$UINT, 
END_FUNCTION


#define USER_CNT__LMCAxisVisPara 0

TYPE
	_LSL_STD_VMETH	: STRUCT
			CmdTable	: CMDMETH;
			UserFcts	: ARRAY[0..USER_CNT__LMCAxisVisPara] OF ^Void;
	END_STRUCT;
END_TYPE

FUNCTION _LMCAxisVisPara::@STD
	VAR_OUTPUT
		ret_code	: CONFSTATES;
	END_VAR
	VAR
		vmt	: _LSL_STD_VMETH;
	END_VAR

	//Command Methods
	InitCmdTable (nCmd := nSTDCMD + USER_CNT__LMCAxisVisPara, pCmd := #vmt.CmdTable);
	ClassSvr.pMeth		:= StoreCmd (pCmd := #vmt.CmdTable, SHARED);

	IF ClassSvr.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	Velocity.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF Velocity.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	Accel.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF Accel.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	Decel.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF Decel.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	Position.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF Position.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovAbsPos.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovAbsPos.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	PowOffMode.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF PowOffMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovRefMode.pMeth			:= StoreMethod( #M_RD_DIRECT(), #MovRefMode::Write() );
	IF MovRefMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovRefPos.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovRefPos.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovRefVel1.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovRefVel1.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovRefVel2.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovRefVel2.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovRefAcc.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovRefAcc.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovRefPosWindow.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovRefPosWindow.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovRelPos.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovRelPos.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovRelMode.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovRelMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	TunePos.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF TunePos.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	TuneMode.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF TuneMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	WaitTime.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF WaitTime.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SetPosMode.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SetPosMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SetPosVal.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SetPosVal.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SetParNo.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SetParNo.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SetParMode.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SetParMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SetParVal.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SetParVal.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SetSWPosMode.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SetSWPosMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SetSWPosVal.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SetSWPosVal.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovDirection.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF MovDirection.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	Jerk.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF Jerk.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;

END_FUNCTION

//{{LSL_IMPLEMENTATION
//{{LSL_ENCRYPTION 16#800
8D627F08F342212FF2412A957A14F99509BFD9167F3AD827AFE543144A7B8AF0A829E3AEFC7C25F458FC717825620267AA16DE98A3DC71F59F54EF962CFD6A1A0C3503FB3384B25BBE15F445BB94CE5119F825334A61CBB68FBC1B759E0415F48514E398
257D0D1887507C64AFB36B5D5A085CAE489998E9716718D83FA50329718B9B437A7F125C604527549DC1310A3FC463C5EB5B87DA1C98F8FBB57E1EB02BC357435CEE65669BD06AA88B2E8CE36B94302A1E031000FA41715EA3B0EFB8DA50228F7A51D352
3780B27DC80386C5C51062B70438F879DCB03BBAA2E5E05A76842B58C162865C78CAE203AE524068F2151F60EB02DD5894C75A88C347283EB56513ECD480586DBA26C420DCD83A71C7EA9B1609492024E965734AFBFC6836F86966944590B54443FD4782
5629937CB114F53EB7591DAFC08B7CC27E61E738EBD0B0A4AE4B50F3DCD3DD82DD332474F2F40A1A32E0695027EA0400326F1C741FE514B50E04A280A68A5A8C407B32EB6006F90FB1BC647B5F123A5EC2AF2106748FB76BEEE433404FBD0CCB507DD397
99C484EC87ABF3A6943EBB382C11EBA0636C48880E1192C0241EC836E7944044903906E532C0D48C65C502C35EE541520105BFA41FFCF8F3779CD1F61AC3C824322B146CDF1AD3F0384A2967C6731D26EB110E5B9486DDEF0F14D377F387173FA5CBCD1F
480D1E544BDC396D5E09A5D1EB270AD0C91EBBB08112A1A66CA818AB2B766987DD6864CE4E198D9998BB564DF7CFE61CFA3D189B87B3B1B0F50AB8CC66AB4E5F9E7E754AB8F619A311140768B4224840C72043ED2C5E6E485C8CBD644E023EC77CE03FA7
33184EA154D3AD71E4E4C6A7017F29C570B3563AB9BE995BE0360EA05FB30B03D7D5A881049858E22E43CA2B2950D3065EAEDFFD9E431CEC8777C67D0BB6562C7CAA56F5125A1BD7AF2289E5756EF450B75BB9B125049E6E6C0FB42E0191AF1FE5D55783
029A01B92CD967F7802A9FF9B4A4E4D545E621A4