//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               = "_LMCAxisVisInt"
	Revision           = "1.63"
	GUID               = "{A99D9DD0-82D4-47B3-B06B-08D3C5018D93}"
	RealtimeTask       = "false"
	CyclicTask         = "false"
	BackgroundTask     = "false"
	DefBackground      = "500 ms"
	Sigmatek           = "true"
	OSInterface        = "false"
	HighPriority       = "false"
	Automatic          = "false"
	UpdateMode         = "Prescan"
	IconPath           = ".\Class\_LMCAxisVisInt\LMCAxis.ico"
	SharedCommandTable = "true"
	Objectsize         = "(596,120)"
	Comment            = "this servers are all used by the VOV">
	<Channels>
		<Server Name="AccHand" GUID="{C335B4CA-4F60-4369-8A9D-D9271E8BFF3C}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="AxisOPMode" GUID="{AEAE1CF9-462B-4C5D-8184-46ED09909769}" Visualized="true" Initialize="false" WriteProtected="true" Retentive="false"/>
		<Server Name="ClassSvr" GUID="{27F588BC-019B-43D6-995A-C12A92C8A9F2}" Visualized="false" Initialize="false" WriteProtected="true" Retentive="false"/>
		<Server Name="ClearSafeReference" GUID="{F12F4B58-7827-4426-9140-C34A3AFDDA4D}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="ClearVerify" GUID="{F932C1EE-4B90-453C-A2C0-2D04F01EAC0B}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="Command" GUID="{DD647FB6-9E4F-42AB-9575-4562B11197E2}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment=" 1 ... PowerOn&#13;&#10; 2 ... PowerOff&#13;&#10; 3 ... MoveHand&#13;&#10; 4 ... MoveEndless^&#13;&#10; 5 ... MoveAbsolute&#13;&#10; 6 ... MoveReference&#13;&#10; 7 ... MoveRelativ&#13;&#10; 8 ... StopMove&#13;&#10; 9 ... TuneAxis&#13;&#10;10 ... SetPosition&#13;&#10;11 ... SetParameter&#13;&#10;12 ... SetSWEndPos"/>
		<Server Name="CommandState" GUID="{DF868433-6BD1-476B-AEBF-58998DB47663}" Visualized="true" Initialize="false" WriteProtected="true" Retentive="false" Comment="retvalue of all commands&#13;&#10;sent by the VOV"/>
		<Server Name="ControllerType" GUID="{B04F0C2A-3333-4EDE-8290-D057E17D583F}" Visualized="true" Initialize="false" WriteProtected="true" Retentive="false" Comment=" 0 ... no Controller connected&#13;&#10; 1 ... UserController&#13;&#10; 2 ... DummyController&#13;&#10; 3 ... HydroController&#13;&#10; 4 ... KVController&#13;&#10; 5 ... NCController&#13;&#10; 6 ... PosController&#13;&#10; 7 ... DrivePosControl&#13;&#10; 8 ... StepperControl&#13;&#10; 9 ... VFDControl&#13;&#10;10 ... DrivePosControlSafety&#13;&#10;11 ... ST152StepperControl"/>
		<Server Name="CtrcEmerStop" GUID="{2C5581AA-F774-44A1-933E-62B03BA6AB69}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrcImode" GUID="{022AD23A-37B9-4B74-8C93-FE4AB7AF3F80}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrcMaxSignal" GUID="{C0AF341F-C13F-4A4B-823C-BF6BAE44A147}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrcMaxSignalStepper" GUID="{64BBD891-D096-4DC9-AE37-B7530703B2FF}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="CtrcMaxSpeed" GUID="{18B6D18C-CA03-400D-8236-FC1A1A0A5444}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrcOffSignal" GUID="{46E6AF17-D232-4755-8876-33984130F59C}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrcXWOffset" GUID="{AEA9C05B-63A9-4387-A70C-0193A06B5FC5}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrDeadbandDisable" GUID="{7793456B-5521-4F5D-BCF9-47BA7383F032}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="CtrDeadbandEnable" GUID="{FA957266-AF3E-4F94-ADC3-B066D36AE52F}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="CtrDisabledIfStopped" GUID="{F39298DB-527B-4015-B47C-E140688BC212}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="CtrDragCalcDelay" GUID="{CE343020-401F-4001-9C9A-6A3960397559}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrDraglimit" GUID="{4D3537F6-6FBA-4159-9F54-48FF0570C149}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrDraglimitPowerOnDelay" GUID="{F539E3E4-A024-4CBD-9B85-D38620811CC0}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="CtrPosOffset" GUID="{AE95C4DE-F8E2-4B8E-9FD0-077474D5F12B}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrSetConf" GUID="{A5AC156D-8EF9-47F2-A033-ED1039E48894}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="File" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrvKD" GUID="{FD9825BC-D518-4F0F-A07E-AEEA4DD6B42D}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrvKI" GUID="{6E190264-DD1A-47E6-BA2E-2614B1840F93}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrvKV" GUID="{CD636C86-F0F9-470C-ABD3-B75A42EF5FF8}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="CtrvKVVFDSTepper" GUID="{6AAD2DB7-8437-436C-8F27-8CC632E1E65E}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="CtrvVu" GUID="{9FC2AC38-DD55-4F3D-932D-F29F5326FDD2}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="interface to the connected&#13;&#10;controller"/>
		<Server Name="DecHand" GUID="{D32AD1A8-6E91-4610-A5B3-A68E0258CE84}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="ErrorConfig" GUID="{C937DD58-2B35-4FF5-B69C-356699C3D199}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="GlobalTab" GUID="{7F8F9B04-F6E1-4900-86FC-4A3C898C1EC2}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="false"/>
		<Server Name="InitDone" GUID="{86A2D2BB-4DB8-4AA3-AABA-3E7EB58CE4D9}" Visualized="true" Initialize="false" WriteProtected="true" Retentive="false"/>
		<Server Name="intUnitsadjusted" GUID="{F2AA206E-C9E7-4D23-9CE3-75B10D2A58EF}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="InversControllerDiasDrive" GUID="{3708C464-C816-4105-BBCC-FA697F35725E}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="LogInfoMerker" GUID="{6FDE7795-FE21-482B-A76F-CDDD41AC727A}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="false"/>
		<Server Name="MaxOverridePercent" GUID="{7E18914F-8470-4DD0-BB2D-9C3D0D108B2B}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="MovNegFast" GUID="{539FEC67-00B0-4D53-B68F-AF30A0D3A812}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="button pressed:&#13;&#10;   MoveEndless() in negativ direction&#13;&#10;button released:&#13;&#10;   StopMove()"/>
		<Server Name="MovnegFastEndless" GUID="{382DB2B3-3864-4322-9132-6E17103A60E7}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="permanent switch pressed:&#13;&#10;   MoveEndless() in negativ direction&#13;&#10;permanent switch released:&#13;&#10;   StopMove()"/>
		<Server Name="MovNegSlow" GUID="{8AC5D283-236B-438E-AEAF-7E854CFA9B9E}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="button pressed:&#13;&#10;   MoveHand() in negativ direction&#13;&#10;button released:&#13;&#10;   StopMove()"/>
		<Server Name="MovPosFast" GUID="{045F4A9B-A5B5-42AE-A7EB-0519466FF6CE}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="button pressed:&#13;&#10;   MoveEndless() in positiv direction&#13;&#10;button released:&#13;&#10;   StopMove()"/>
		<Server Name="MovPosFastEndless" GUID="{B78E1690-87D8-49DA-8A95-2118AAADE756}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="permanent switch pressed:&#13;&#10;   MoveEndless() in positiv direction&#13;&#10;permanent switch released:&#13;&#10;   StopMove()"/>
		<Server Name="MovPosSlow" GUID="{32A93867-1B55-4BC9-B80F-6407E1041F9C}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="button pressed:&#13;&#10;   MoveHand() in positiv direction&#13;&#10;button released:&#13;&#10;   StopMove()"/>
		<Server Name="OverridePercent" GUID="{D18B923D-39A7-4C26-B145-5386DBCA1275}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="PowerButtonState" GUID="{23C9900E-8248-4DEB-B414-9CEF4A379A0D}" Visualized="true" Initialize="false" WriteProtected="true" Retentive="false"/>
		<Server Name="PowerOnMode" GUID="{E1DC992C-B184-4052-8BA0-F5F2AD0F48B7}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="mode for the PowerOn()"/>
		<Server Name="PowerOnOff" GUID="{880B4DC3-6857-4048-BD55-38583FE588A4}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment=" 0 ... PowerOff()&#13;&#10; 1 ... PowerOn()&#13;&#10;&#13;&#10;the endless buttons will be&#13;&#10;reseted here"/>
		<Server Name="QuitAllError" GUID="{FF88E11F-9CFB-4FDD-AD60-D4D1D62A3C8F}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false" Comment="reset the command status +&#13;&#10;quit a HWError"/>
		<Server Name="SettingsTab" GUID="{BC5C085C-A693-4249-AD4B-F24EDEB4F2D9}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="false"/>
		<Server Name="SetVerify" GUID="{AB2954C2-D1D4-40D4-8886-963317DEACAD}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="StateMerker" GUID="{4D1921D8-442F-4ED7-9545-DE8B68E0B41B}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="false"/>
		<Server Name="TabState" GUID="{CF162332-8E27-4BFC-BF0F-5234AFAEDDFB}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="false"/>
		<Server Name="TriangleMode" GUID="{D08C19B6-D86B-4E11-9994-7F05F02B0547}" Visualized="true" Initialize="true" DefValue="1" WriteProtected="false" Retentive="File"/>
		<Server Name="UnitDecPoint" GUID="{23B42C57-150B-4783-993E-F8EF51D4CA4C}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="number of decimal places"/>
		<Server Name="UnitFactor" GUID="{6AD72B8A-F90E-4BAA-AACB-74E16DBB2558}" Visualized="true" Initialize="true" WriteProtected="false" Retentive="File" Comment="factor because of the decimal point"/>
		<Server Name="UnitFactorSel" GUID="{D582DDF2-2AF1-42BA-93DC-78B3A7B91D6E}" Visualized="true" Initialize="true" DefValue="0" WriteProtected="false" Retentive="File" Comment=" 0 ... factor 100000&#13;&#10; 1 ... factor 10000&#13;&#10; 2 ... factor 1000&#13;&#10; 3 ... factor 100&#13;&#10; 4 ... factor 10&#13;&#10; 5 ... factor 1"/>
		<Server Name="UnitSel" GUID="{164559CD-8C85-4AF3-B524-38DB3F8F2AEC}" Visualized="true" Initialize="true" DefValue="0" WriteProtected="false" Retentive="File" Comment=" 0 ... sigmatek units &apos;mm&apos;&#13;&#10; 1 ... sigmatek units &apos;deg&apos;&#13;&#10; 2 ... user units &apos;mm&apos;&#13;&#10; 3 ... user units &apos;deg&apos;"/>
		<Server Name="VelHand" GUID="{261C309C-6CD0-467D-8DC4-1F9B6B352DA5}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="Xw" GUID="{5FFC1E55-B7B9-434F-8483-BE35F1AEEC8F}" Visualized="true" Initialize="false" WriteProtected="true" Retentive="false" Comment="read out the actual value from&#13;&#10;the controller&#13;&#10;&#13;&#10;-1 ... when there is no controller&#13;&#10;       connected"/>
		<Server Name="XwMax" GUID="{AA0288EF-599A-45A2-A74C-7BF6668BF4F0}" Visualized="true" Initialize="false" WriteProtected="true" Retentive="false" Comment="read out the actual value from&#13;&#10;the controller&#13;&#10;&#13;&#10;-1 ... when there is no controller&#13;&#10;       connected"/>
		<Client Name="LMCAxisBase" Required="true" Internal="false"/>
		<Client Name="LMCAxisVisPara" Required="true" Internal="false" Comment="object channel to _LMCAxisVisPara&#13;&#10;just for internal communication"/>
	</Channels>
	<RevDoku>
		<Owner Company="Sigmatek"/>
		<Dokumentation Revision="1.63" Date="2024-12-13" Author="StePhi" Company="Sigmatek" Description="1. Improvement: Added support for ST152StepperControl VOV interface and updated KV Read() and Write() method.&#13;&#10;2. Improvement: When PowerOn via POWERON-Button fails the button shows with red color."/>
		<Dokumentation Revision="1.62" Date="2023-07-19" Author="StePhi" Company="Sigmatek" Description="1. Improvement: Added new Controller DrivePosControlSafety to class handling in case of controller specific sections.&#13;&#10;2. Improvement: Added options for handling SetVerify, ClearVerify and ClearSafeReference to class.&#13;&#10;3. Improvement: Added server to read operational mode of _LMCAxis."/>
		<Dokumentation Revision="1.61" Date="2022-09-29" Author="SakEmi" Company="Sigmatek" Description="1. Improvement: A time mark is now set when on of following servers is written to be able to determine last active button press. MovPosSlow, MovPosFast, MovNegSlow and MovNegFast. This time mark can be read via new method GetLastMoveTimeStamp().&#13;&#10;2. Improvement: New method StopAxis() allows to send a direct stop command to the axis."/>
		<Dokumentation Revision="1.60" Date="2020-09-22" Author="BauEli&#13;&#10;MarTho" Company="Sigmatek" Description="1. Improvement: In the general settings of the VOV the internal units are now displayed once originally and once divided by the unit multiplier. Therefore the server intUnitsadjusted has been added."/>
		<Dokumentation Revision="1.59" Date="2020-08-12" Author="StePhi" Company="Sigmatek" Description="Improvement: Added Servers to support VFDControl and StepperControl with correct scaling and new features"/>
		<Dokumentation Revision="1.58" Date="2019-08-23" Author="HasHan" Company="Sigmatek" Description="Improvement: the Power-Button is now blinking when the state is WAITIDLE_LMCAXIS or WAITPASSIVE_LMCAXIS"/>
		<Dokumentation Revision="1.57" Date="2018-03-27" Author="RauAnd" Company="Sigmatek" Description="1. Bugfix: Move endless command with VelHand= 0 is now possible"/>
		<Dokumentation Revision="1.56" 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.55" Date="2017-09-28" Author="RosKri&#13;&#10;SchMar2" Company="Sigmatek" Description="1. Improvement: Added command 13 for calling SetUserData()&#13;&#10;2. Improvement: extended Command to move abs and rel with server Position of class _LMCAxisVisPara&#13;&#10;3. Improvement: extended Command server to move reference with different servers as parameter -&gt; see command 15"/>
		<Dokumentation Revision="1.54" Date="2017-04-03" Author="HasHan" Company="Sigmatek" Description="Improvement: add the server InitDone that the VoV works without error in offline-mode"/>
		<Dokumentation Revision="1.53" Date="2016-03-22" Author="SatChr" Company="Sigmatek" Description="1. Improvement: All move commands have been expanded with a new input parameter MaxJerk for enabling different jerk values."/>
		<Dokumentation Revision="1.52" Date="2015-09-25" Author="KalMar" Company="Sigmatek" Description="1. Improvement: New Servers added"/>
		<Dokumentation Revision="1.51" Date="2014-11-24" Author="HasHan" Company="Sigmatek" Description="1. Improvement: the server PowerOnMode is not in the Retentive File anymore"/>
		<Dokumentation Revision="1.50" Date="2014-07-07" Author="HasHan" Company="Sigmatek" Description="1. Improvement: the settings for the units are now saved in the RamFile"/>
		<Dokumentation Revision="1.40" Date="2014-04-11" Author="SatChr" Company="Sigmatek" Description="1. Improvement: Servers for new override handling added"/>
		<Dokumentation Revision="1.30" Date="2014-01-27" Author="SatChr" Company="Sigmatek" Description="1. Bugfix: Removing Retentive-Property from Server ErrorConfig. Using retentive _LMCAxis.ErrorConfig instead."/>
		<Dokumentation Revision="1.20" Date="2013-07-18" Author="SliMic&#13;&#10;ZoePat" Company="Sigmatek" Description="1.  If no deceleration is set in the VOV by the Move Command Objects, the deceleration = acceleration&#13;&#10;2.  now the Acceleration and the Deceleration for the MoveHand and MoveEndless can be selceted separately&#13;&#10;3. the retentive of servers for the resolution are now false &#13;&#10;4. now the LogData are shown in the VOV"/>
		<Dokumentation Revision="1.10" Date="2013-02-08" Author="ObeChr" Company="Sigmatek" Description="Added Server of VelHand and AccHand with Limitcheck"/>
		<Dokumentation Revision="1.0" Date="2012-10-04" Author="RauAnd" Company="Sigmatek" Description="creation"/>
	</RevDoku>
</Class>
*)
_LMCAxisVisInt : CLASS
	TYPE
	  LogFile : ARRAY [0..10] OF _LMCAxisBase::_LogStruct;
	END_TYPE
  //Servers:
	ClassSvr 	: SvrChCmd_DINT;
	Command 	: SvrCh_DINT;
	ControllerType 	: SvrCh__LMCCONTROLLERTYPE;
	UnitSel 	: SvrCh_DINT;
	UnitFactorSel 	: SvrCh_DINT;
	UnitFactor 	: SvrCh_DINT;
	UnitDecPoint 	: SvrCh_DINT;
	intUnitsadjusted 	: SvrCh_DINT;
	CommandState 	: SvrCh__LMCAXIS_CMDERROR;
	MovPosSlow 	: SvrCh_DINT;
	MovPosFast 	: SvrCh_DINT;
	MovNegSlow 	: SvrCh_DINT;
	MovNegFast 	: SvrCh_DINT;
	MovPosFastEndless 	: SvrCh_DINT;
	MovnegFastEndless 	: SvrCh_DINT;
	PowerOnOff 	: SvrCh_DINT;
	PowerOnMode 	: SvrCh__LMCAXIS_MOVEDIRECTION;
	Xw 	: SvrCh_DINT;
	XwMax 	: SvrCh_DINT;
	QuitAllError 	: SvrCh_DINT;
	CtrDraglimit 	: SvrCh_DINT;
	CtrPosOffset 	: SvrCh_DINT;
	CtrDragCalcDelay 	: SvrCh_DINT;
	CtrcMaxSignal 	: SvrCh_DINT;
	CtrcMaxSignalStepper 	: SvrCh_DINT;
	CtrcOffSignal 	: SvrCh_DINT;
	CtrcMaxSpeed 	: SvrCh_DINT;
	CtrvKV 	: SvrCh_DINT;
	CtrvKVVFDSTepper 	: SvrCh_DINT;
	CtrvVu 	: SvrCh_DINT;
	CtrvKI 	: SvrCh_DINT;
	CtrvKD 	: SvrCh_DINT;
	CtrcImode 	: SvrCh_DINT;
	CtrcEmerStop 	: SvrCh_DINT;
	CtrcXWOffset 	: SvrCh_DINT;
	CtrDeadbandEnable 	: SvrCh_DINT;
	CtrDeadbandDisable 	: SvrCh_DINT;
	CtrDisabledIfStopped 	: SvrCh_DINT;
	CtrDraglimitPowerOnDelay 	: SvrCh_DINT;
	VelHand 	: SvrCh_DINT;
	AccHand 	: SvrCh_DINT;
	DecHand 	: SvrCh_DINT;
	ErrorConfig 	: SvrCh__LMCAXIS_ERROR_CONFIG;
	CtrSetConf 	: SvrCh__POSFLAGS;
	TriangleMode 	: SvrCh_DINT;
	OverridePercent 	: SvrCh_DINT;
	MaxOverridePercent 	: SvrCh_DINT;
	InversControllerDiasDrive 	: SvrCh_DINT;
	TabState 	: SvrCh_DINT;
	GlobalTab 	: SvrCh_DINT;
	SettingsTab 	: SvrCh_DINT;
	LogInfoMerker 	: SvrCh_DINT;
	StateMerker 	: SvrCh_DINT;
	InitDone 	: SvrCh_DINT;
	SetVerify 	: SvrCh_DINT;
	ClearVerify 	: SvrCh_DINT;
	ClearSafeReference 	: SvrCh_DINT;
	AxisOPMode 	: SvrCh__LMCAXIS_OPMODE;
	PowerButtonState 	: SvrCh_DINT;
  //Clients:
	LMCAxisBase 	: CltChCmd__LMCAxisBase;
	LMCAxisVisPara 	: CltChCmd__LMCAxisVisPara;
  //Variables:
		UnitCalcActive 	: DINT;
		Timemark 	: UDINT;			//! <Variable Comment="timemark for blink at WAITIDLE_LMCAXIS" Name="Timemark"/>
		udLastMoveTimeStamp 	: UDINT;
  //Functions:
	
	FUNCTION VIRTUAL GLOBAL Init;
	
	FUNCTION GLOBAL GetLastMoveTimeStamp
		VAR_OUTPUT
			TimeStamp 	: UDINT;
		END_VAR;
	
	FUNCTION GLOBAL StopAxis
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL Command::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL ControllerType::Read
		VAR_OUTPUT
			output (EAX) 	: _LMCCONTROLLERTYPE;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL UnitFactorSel::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL UnitDecPoint::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL intUnitsadjusted::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL MovPosSlow::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL MovPosFast::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL MovNegSlow::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL MovNegFast::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL MovPosFastEndless::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL MovnegFastEndless::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL PowerOnOff::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL PowerOnOff::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL PowerOnMode::Read
		VAR_OUTPUT
			output (EAX) 	: _LMCAXIS_MOVEDIRECTION;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL PowerOnMode::Write
		VAR_INPUT
			input (EAX) 	: _LMCAXIS_MOVEDIRECTION;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: _LMCAXIS_MOVEDIRECTION;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL Xw::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL XwMax::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL QuitAllError::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDraglimit::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDraglimit::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrPosOffset::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrPosOffset::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDragCalcDelay::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDragCalcDelay::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcMaxSignal::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcMaxSignal::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcMaxSignalStepper::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcMaxSignalStepper::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcOffSignal::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcOffSignal::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcMaxSpeed::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcMaxSpeed::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvKV::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvKV::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvKVVFDSTepper::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvKVVFDSTepper::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvVu::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvVu::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvKI::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvKI::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvKD::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrvKD::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcImode::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcImode::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcEmerStop::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcEmerStop::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcXWOffset::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrcXWOffset::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDeadbandEnable::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDeadbandEnable::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDeadbandDisable::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDeadbandDisable::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDisabledIfStopped::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDisabledIfStopped::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDraglimitPowerOnDelay::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrDraglimitPowerOnDelay::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL VelHand::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL VelHand::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL AccHand::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL AccHand::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL DecHand::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL DecHand::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL ErrorConfig::Read
		VAR_OUTPUT
			output (EAX) 	: _LMCAXIS_ERROR_CONFIG;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL ErrorConfig::Write
		VAR_INPUT
			input (EAX) 	: _LMCAXIS_ERROR_CONFIG;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: _LMCAXIS_ERROR_CONFIG;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrSetConf::Read
		VAR_OUTPUT
			output (EAX) 	: _POSFLAGS;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL CtrSetConf::Write
		VAR_INPUT
			input (EAX) 	: _POSFLAGS;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: _POSFLAGS;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL OverridePercent::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL OverridePercent::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL MaxOverridePercent::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL SetVerify::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL ClearVerify::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL ClearSafeReference::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL AxisOPMode::Read
		VAR_OUTPUT
			output (EAX) 	: _LMCAXIS_OPMODE;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL PowerButtonState::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
  //Tables:
	FUNCTION @STD
		VAR_OUTPUT
			ret_code	: CONFSTATES;
		END_VAR;
	FUNCTION GLOBAL TAB @CT_;
END_CLASS;

#pragma usingLtd _LMCAxisBase
#pragma usingLtd _LMCAxisVisPara


//}}LSL_DECLARATION


FUNCTION GLOBAL TAB _LMCAxisVisInt::@CT_
0$UINT,
2#0100000000000000$UINT, //TY__LMCAXISVISINT
1$UINT, 63$UINT, (SIZEOF(::_LMCAxisVisInt))$UINT, 
59$UINT, 2$UINT, 0$UINT, 
TO_UDINT(3511906983), "_LMCAxisVisInt", //Class
TO_UDINT(0), 0, 0$UINT, 0$UINT, //Baseclass
//Servers:
(::_LMCAxisVisInt.ClassSvr.pMeth)$UINT, _CH_CMD$UINT, 2#0000000000000000$UINT, TO_UDINT(619352855), "ClassSvr", 
(::_LMCAxisVisInt.Command.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2978944206), "Command", 
(::_LMCAxisVisInt.ControllerType.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2695960002), "ControllerType", 
(::_LMCAxisVisInt.UnitSel.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(1421997741), "UnitSel", 
(::_LMCAxisVisInt.UnitFactorSel.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(1375933454), "UnitFactorSel", 
(::_LMCAxisVisInt.UnitFactor.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(3886900136), "UnitFactor", 
(::_LMCAxisVisInt.UnitDecPoint.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(2732182792), "UnitDecPoint", 
(::_LMCAxisVisInt.intUnitsadjusted.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3635604185), "intUnitsadjusted", 
(::_LMCAxisVisInt.CommandState.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3392030077), "CommandState", 
(::_LMCAxisVisInt.MovPosSlow.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2584901009), "MovPosSlow", 
(::_LMCAxisVisInt.MovPosFast.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2322812296), "MovPosFast", 
(::_LMCAxisVisInt.MovNegSlow.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2567471142), "MovNegSlow", 
(::_LMCAxisVisInt.MovNegFast.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2305407039), "MovNegFast", 
(::_LMCAxisVisInt.MovPosFastEndless.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3820013349), "MovPosFastEndless", 
(::_LMCAxisVisInt.MovnegFastEndless.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2077761132), "MovnegFastEndless", 
(::_LMCAxisVisInt.PowerOnOff.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2953907544), "PowerOnOff", 
(::_LMCAxisVisInt.PowerOnMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(643433439), "PowerOnMode", 
(::_LMCAxisVisInt.Xw.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3333685748), "Xw", 
(::_LMCAxisVisInt.XwMax.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1812725021), "XwMax", 
(::_LMCAxisVisInt.QuitAllError.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3932029903), "QuitAllError", 
(::_LMCAxisVisInt.CtrDraglimit.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1662149848), "CtrDraglimit", 
(::_LMCAxisVisInt.CtrPosOffset.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3243021652), "CtrPosOffset", 
(::_LMCAxisVisInt.CtrDragCalcDelay.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1694125356), "CtrDragCalcDelay", 
(::_LMCAxisVisInt.CtrcMaxSignal.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2331472113), "CtrcMaxSignal", 
(::_LMCAxisVisInt.CtrcMaxSignalStepper.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2522676664), "CtrcMaxSignalStepper", 
(::_LMCAxisVisInt.CtrcOffSignal.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2569385725), "CtrcOffSignal", 
(::_LMCAxisVisInt.CtrcMaxSpeed.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(551062606), "CtrcMaxSpeed", 
(::_LMCAxisVisInt.CtrvKV.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1831683918), "CtrvKV", 
(::_LMCAxisVisInt.CtrvKVVFDSTepper.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1604775908), "CtrvKVVFDSTepper", 
(::_LMCAxisVisInt.CtrvVu.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(189299432), "CtrvVu", 
(::_LMCAxisVisInt.CtrvKI.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3760540347), "CtrvKI", 
(::_LMCAxisVisInt.CtrvKD.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2660513286), "CtrvKD", 
(::_LMCAxisVisInt.CtrcImode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(939792695), "CtrcImode", 
(::_LMCAxisVisInt.CtrcEmerStop.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1506909988), "CtrcEmerStop", 
(::_LMCAxisVisInt.CtrcXWOffset.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3593533377), "CtrcXWOffset", 
(::_LMCAxisVisInt.CtrDeadbandEnable.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2781559382), "CtrDeadbandEnable", 
(::_LMCAxisVisInt.CtrDeadbandDisable.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1050845994), "CtrDeadbandDisable", 
(::_LMCAxisVisInt.CtrDisabledIfStopped.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1828655841), "CtrDisabledIfStopped", 
(::_LMCAxisVisInt.CtrDraglimitPowerOnDelay.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(572903214), "CtrDraglimitPowerOnDelay", 
(::_LMCAxisVisInt.VelHand.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(793533763), "VelHand", 
(::_LMCAxisVisInt.AccHand.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3644623823), "AccHand", 
(::_LMCAxisVisInt.DecHand.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1566394229), "DecHand", 
(::_LMCAxisVisInt.ErrorConfig.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(4237974082), "ErrorConfig", 
(::_LMCAxisVisInt.CtrSetConf.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(765692650), "CtrSetConf", 
(::_LMCAxisVisInt.TriangleMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000011000$UINT, TO_UDINT(437586898), "TriangleMode", 
(::_LMCAxisVisInt.OverridePercent.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2238360151), "OverridePercent", 
(::_LMCAxisVisInt.MaxOverridePercent.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(489562346), "MaxOverridePercent", 
(::_LMCAxisVisInt.InversControllerDiasDrive.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3388533794), "InversControllerDiasDrive", 
(::_LMCAxisVisInt.TabState.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2252804265), "TabState", 
(::_LMCAxisVisInt.GlobalTab.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2085572061), "GlobalTab", 
(::_LMCAxisVisInt.SettingsTab.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3241512028), "SettingsTab", 
(::_LMCAxisVisInt.LogInfoMerker.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2331807777), "LogInfoMerker", 
(::_LMCAxisVisInt.StateMerker.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(48725062), "StateMerker", 
(::_LMCAxisVisInt.InitDone.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2784815143), "InitDone", 
(::_LMCAxisVisInt.SetVerify.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(4214105174), "SetVerify", 
(::_LMCAxisVisInt.ClearVerify.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2244745711), "ClearVerify", 
(::_LMCAxisVisInt.ClearSafeReference.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(1267472281), "ClearSafeReference", 
(::_LMCAxisVisInt.AxisOPMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(965857051), "AxisOPMode", 
(::_LMCAxisVisInt.PowerButtonState.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2995402009), "PowerButtonState", 
//Clients:
(::_LMCAxisVisInt.LMCAxisBase.pCh)$UINT, _CH_CLT_OBJ$UINT, 2#0000000000000010$UINT, TO_UDINT(1308806851), "LMCAxisBase", TO_UDINT(280984637), "_LMCAxisBase", 2$UINT, 110$UINT, 
(::_LMCAxisVisInt.LMCAxisVisPara.pCh)$UINT, _CH_CLT_OBJ$UINT, 2#0000000000000010$UINT, TO_UDINT(936664723), "LMCAxisVisPara", TO_UDINT(3953984284), "_LMCAxisVisPara", 1$UINT, 13$UINT, 
END_FUNCTION


#define USER_CNT__LMCAxisVisInt 0

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

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

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

	IF ClassSvr.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	Command.pMeth			:= StoreMethod( #M_RD_DIRECT(), #Command::Write() );
	IF Command.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	ControllerType.pMeth			:= StoreMethod( #ControllerType::Read(), #M_NO_F() );
	IF ControllerType.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	UnitSel.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF UnitSel.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	UnitFactorSel.pMeth			:= StoreMethod( #M_RD_DIRECT(), #UnitFactorSel::Write() );
	IF UnitFactorSel.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	UnitFactor.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF UnitFactor.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	UnitDecPoint.pMeth			:= StoreMethod( #M_RD_DIRECT(), #UnitDecPoint::Write() );
	IF UnitDecPoint.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	intUnitsadjusted.pMeth			:= StoreMethod( #intUnitsadjusted::Read(), #M_WR_DIRECT() );
	IF intUnitsadjusted.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovPosSlow.pMeth			:= StoreMethod( #M_RD_DIRECT(), #MovPosSlow::Write() );
	IF MovPosSlow.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovPosFast.pMeth			:= StoreMethod( #M_RD_DIRECT(), #MovPosFast::Write() );
	IF MovPosFast.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovNegSlow.pMeth			:= StoreMethod( #M_RD_DIRECT(), #MovNegSlow::Write() );
	IF MovNegSlow.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovNegFast.pMeth			:= StoreMethod( #M_RD_DIRECT(), #MovNegFast::Write() );
	IF MovNegFast.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovPosFastEndless.pMeth			:= StoreMethod( #M_RD_DIRECT(), #MovPosFastEndless::Write() );
	IF MovPosFastEndless.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MovnegFastEndless.pMeth			:= StoreMethod( #M_RD_DIRECT(), #MovnegFastEndless::Write() );
	IF MovnegFastEndless.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	PowerOnOff.pMeth			:= StoreMethod( #PowerOnOff::Read(), #PowerOnOff::Write() );
	IF PowerOnOff.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	PowerOnMode.pMeth			:= StoreMethod( #PowerOnMode::Read(), #PowerOnMode::Write() );
	IF PowerOnMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	Xw.pMeth			:= StoreMethod( #Xw::Read(), #M_NO_F() );
	IF Xw.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	XwMax.pMeth			:= StoreMethod( #XwMax::Read(), #M_NO_F() );
	IF XwMax.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	QuitAllError.pMeth			:= StoreMethod( #M_RD_DIRECT(), #QuitAllError::Write() );
	IF QuitAllError.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrDraglimit.pMeth			:= StoreMethod( #CtrDraglimit::Read(), #CtrDraglimit::Write() );
	IF CtrDraglimit.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrPosOffset.pMeth			:= StoreMethod( #CtrPosOffset::Read(), #CtrPosOffset::Write() );
	IF CtrPosOffset.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrDragCalcDelay.pMeth			:= StoreMethod( #CtrDragCalcDelay::Read(), #CtrDragCalcDelay::Write() );
	IF CtrDragCalcDelay.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrcMaxSignal.pMeth			:= StoreMethod( #CtrcMaxSignal::Read(), #CtrcMaxSignal::Write() );
	IF CtrcMaxSignal.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrcMaxSignalStepper.pMeth			:= StoreMethod( #CtrcMaxSignalStepper::Read(), #CtrcMaxSignalStepper::Write() );
	IF CtrcMaxSignalStepper.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrcOffSignal.pMeth			:= StoreMethod( #CtrcOffSignal::Read(), #CtrcOffSignal::Write() );
	IF CtrcOffSignal.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrcMaxSpeed.pMeth			:= StoreMethod( #CtrcMaxSpeed::Read(), #CtrcMaxSpeed::Write() );
	IF CtrcMaxSpeed.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrvKV.pMeth			:= StoreMethod( #CtrvKV::Read(), #CtrvKV::Write() );
	IF CtrvKV.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrvKVVFDSTepper.pMeth			:= StoreMethod( #CtrvKVVFDSTepper::Read(), #CtrvKVVFDSTepper::Write() );
	IF CtrvKVVFDSTepper.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrvVu.pMeth			:= StoreMethod( #CtrvVu::Read(), #CtrvVu::Write() );
	IF CtrvVu.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrvKI.pMeth			:= StoreMethod( #CtrvKI::Read(), #CtrvKI::Write() );
	IF CtrvKI.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrvKD.pMeth			:= StoreMethod( #CtrvKD::Read(), #CtrvKD::Write() );
	IF CtrvKD.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrcImode.pMeth			:= StoreMethod( #CtrcImode::Read(), #CtrcImode::Write() );
	IF CtrcImode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrcEmerStop.pMeth			:= StoreMethod( #CtrcEmerStop::Read(), #CtrcEmerStop::Write() );
	IF CtrcEmerStop.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrcXWOffset.pMeth			:= StoreMethod( #CtrcXWOffset::Read(), #CtrcXWOffset::Write() );
	IF CtrcXWOffset.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrDeadbandEnable.pMeth			:= StoreMethod( #CtrDeadbandEnable::Read(), #CtrDeadbandEnable::Write() );
	IF CtrDeadbandEnable.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrDeadbandDisable.pMeth			:= StoreMethod( #CtrDeadbandDisable::Read(), #CtrDeadbandDisable::Write() );
	IF CtrDeadbandDisable.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrDisabledIfStopped.pMeth			:= StoreMethod( #CtrDisabledIfStopped::Read(), #CtrDisabledIfStopped::Write() );
	IF CtrDisabledIfStopped.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrDraglimitPowerOnDelay.pMeth			:= StoreMethod( #CtrDraglimitPowerOnDelay::Read(), #CtrDraglimitPowerOnDelay::Write() );
	IF CtrDraglimitPowerOnDelay.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	VelHand.pMeth			:= StoreMethod( #VelHand::Read(), #VelHand::Write() );
	IF VelHand.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	AccHand.pMeth			:= StoreMethod( #AccHand::Read(), #AccHand::Write() );
	IF AccHand.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	DecHand.pMeth			:= StoreMethod( #DecHand::Read(), #DecHand::Write() );
	IF DecHand.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	ErrorConfig.pMeth			:= StoreMethod( #ErrorConfig::Read(), #ErrorConfig::Write() );
	IF ErrorConfig.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	CtrSetConf.pMeth			:= StoreMethod( #CtrSetConf::Read(), #CtrSetConf::Write() );
	IF CtrSetConf.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	TriangleMode.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF TriangleMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	OverridePercent.pMeth			:= StoreMethod( #OverridePercent::Read(), #OverridePercent::Write() );
	IF OverridePercent.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	MaxOverridePercent.pMeth			:= StoreMethod( #MaxOverridePercent::Read(), #M_WR_DIRECT() );
	IF MaxOverridePercent.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	InversControllerDiasDrive.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF InversControllerDiasDrive.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	TabState.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF TabState.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	GlobalTab.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF GlobalTab.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SettingsTab.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SettingsTab.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	LogInfoMerker.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF LogInfoMerker.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	StateMerker.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF StateMerker.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	SetVerify.pMeth			:= StoreMethod( #M_RD_DIRECT(), #SetVerify::Write() );
	IF SetVerify.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	ClearVerify.pMeth			:= StoreMethod( #M_RD_DIRECT(), #ClearVerify::Write() );
	IF ClearVerify.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	ClearSafeReference.pMeth			:= StoreMethod( #M_RD_DIRECT(), #ClearSafeReference::Write() );
	IF ClearSafeReference.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	AxisOPMode.pMeth			:= StoreMethod( #AxisOPMode::Read(), #M_NO_F() );
	IF AxisOPMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	PowerButtonState.pMeth			:= StoreMethod( #PowerButtonState::Read(), #M_NO_F() );
	IF PowerButtonState.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;

END_FUNCTION

//{{LSL_IMPLEMENTATION
//{{LSL_ENCRYPTION 16#800
[encoded data, 89800 characters]
7B55D950A9C338ED1971483AF4CDF9DD525B6A7E42E7D5C4B702DD53