Difference between revisions of "PLS SETUP PROCEDURE"

From SoftMC-Wiki
Jump to: navigation, search
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
{{Languages|PLS_SETUP_PROCEDURE}}
 
The following example demonstrates the set up of a PLS data structure.
 
The following example demonstrates the set up of a PLS data structure.
  
  
{{Note/Important|The PLS data object must be defined in CONFIG.PRG:
+
{{Note/Important|The PLS data object must be defined in CONFIG.PRG or terminal:
 
Common Shared <PLS Name> as PLS <Axis> System.Dout.<DOut number>
 
Common Shared <PLS Name> as PLS <Axis> System.Dout.<DOut number>
 
For Example:  Common Shared Demo_PLS1 as PLS A1 System.Dout.1}}
 
For Example:  Common Shared Demo_PLS1 as PLS A1 System.Dout.1}}
  
  
For a complete explanation about PLS please refer to * [[PLS_Software_Specification|PLS Software Specification]].
+
For a complete explanation about PLS please refer to [[Programmable Limit Switch|Programmable Limit Switch]].
  
  
Line 57: Line 58:
  
  
'****************************************************************************
+
 
' Subroutine Name: SetAxis
 
' Description: Generic Axis Setup
 
' Called From: Program
 
' Author: Nir Geller
 
' Input Parameters: None
 
' Output Parameters: None
 
' Return Value: Void
 
' Algorithm:
 
' Global Variables Used:
 
' Revisions:
 
'****************************************************************************
 
 
sub SetAxis
 
sub SetAxis
  
Line 127: Line 117:
 
end sub
 
end sub
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
The example corresponds to commit SHA-1: 33f496b1c050f69ee648413402ce11c9fab95820 in GIT.
 +
  
 
== See Also ==
 
== See Also ==
* [[PLS_Software_Specification|PLS Software Specification]]
+
 
* [[path-PLS|path-PLS]]
 
 
* [[MC-Basic:pls.PLSPropagationDelay|PLS Propagation Delay]]
 
* [[MC-Basic:pls.PLSPropagationDelay|PLS Propagation Delay]]
 
* [[MC-Basic:pls.PLSPropagationEnableDelay|PLS Propagation Enable Delay]]
 
* [[MC-Basic:pls.PLSPropagationEnableDelay|PLS Propagation Enable Delay]]
 
* [[MC-Basic:pls.PLSPropagationDisableDelay|PLS Propagation Disable Delay]]
 
* [[MC-Basic:pls.PLSPropagationDisableDelay|PLS Propagation Disable Delay]]
* [[MC-Basic:pls.PLSRELATEDO|PLS RELATE DO]]
+
* [[MC-Basic:pls.PLSRELATEDTO|PLS RELATE DO]]
 +
* [[Program_Examples:Path-PLS|Program_Examples - Path-PLS]]

Latest revision as of 11:17, 16 October 2018

Language: English  • 中文(简体)‎

The following example demonstrates the set up of a PLS data structure.


IMPORTANT.svgIMPORTANT
The PLS data object must be defined in CONFIG.PRG or terminal:

Common Shared <PLS Name> as PLS <Axis> System.Dout.<DOut number>

For Example: Common Shared Demo_PLS1 as PLS A1 System.Dout.1


For a complete explanation about PLS please refer to Programmable Limit Switch.


Program

	call SetAxis

	try
		Demo_PLS1.PlsEnable = OFF
	catch 3163  ' PLS value cannot be accessed before the pls data is created
		Print "CreatePlsData not done!"
	end try

	CreatePlsData 2 Demo_PLS1  '  2 points to toggle PLS
	Demo_PLS1.PlsPosition[1] =  100.0
	Demo_PLS1.PlsPosition[2] =  250
	Print "PLS position 1: "; Demo_PLS1.PlsPosition[1]
	Print "PLS position 2: "; Demo_PLS1.PlsPosition[2]

	Print "Polarity:   "; Demo_PLS1.PlsPolarity
	Print "PLS-Repeat: "; Demo_PLS1.PlsRepeat
	'Demo_PLS1.PlsRepeat     = 1000   'Repeat distance e.g. for endless axes, switch all 1000mm
	Print "PLS-Hysteresis: "; Demo_PLS1.PlsHysteresis
	'Demo_PLS1.PlsHysteresis = 0.01   'necessary if the axis must stop at PLS position

	Print A1.PlsSource
	Attach A1
		A1.PlsSource = A1.Pfb
	Detach A1

	'  Print "PLS-Axis :  "; Demo_PLS1.PlsAxisname
	Print Demo_PLS1.PlsAxisname

	'  Print "PLS-Output: "; Demo_PLS1.PlsOutput
	Demo_PLS1.PlsOutput = Sys.DOut.1

	Print Demo_PLS1.PlsOutput

	Print "PLS-Active: "; Demo_PLS1.PlsEnable

	Demo_PLS1.PlsPolarity = ON  'switch default SignalOutput-Status to OFF
	Demo_PLS1.PlsEnable   = ON

	Print "PLS-Active: "; Demo_PLS1.PlsEnable


End Program



sub SetAxis

	with A1

		attach
		Simulated = 1
		en = 0
		sleep 1000

		Vmax = 3000
		VelocityOverride = 100
		VelocityOverspeed = 3600
		VRate = 100
		ARate = 100
		DRate = 100
		JRate = 100
		Vcruise = 3000
		'VelocityJog = 100
		Amax = 30000
		Acc = 30000
		Dmax = 30000
		Dec = 30000
		Jmax = 948000
		Jerk = 948000
		Cp = 0.0000
		BlendingMethod = 1
		BlendingFactor = 100

		Pfac = 6400
		Vfac = 6.4
		Afac = 0.0064
		Jfac = 0.0000064

		Feedback = 0
		PmaxEn = 1
		Pmax = 495

		PminEn = 1
		Pmin = -10

		PeMax = 1000000000000000000000
		PositionErrorDelay = 3
		PositionErrorSettle = 0.1
		TimeSettle = 4
		TimeSettleMax = 992

		Direction = 1

		Wrap = 0

		Absolute = 1

		detach

	end with

end sub


The example corresponds to commit SHA-1: 33f496b1c050f69ee648413402ce11c9fab95820 in GIT.


See Also