Difference between revisions of "Program Examples:Camming by Virtual Master"
(→Crating master-slave relationship) |
(→Creating Cam Table) |
||
Line 18: | Line 18: | ||
Creating an empty cam table: | Creating an empty cam table: | ||
− | * This table is | + | * This table is cyclic: |
<pre> | <pre> | ||
− | CamTable1.Cycle = 1 | + | CamTable1.Cycle = -1 |
</pre> | </pre> | ||
− | * Not linked to anything other cam- | + | * Not linked to anything other cam-tables: |
<pre> | <pre> | ||
Line 56: | Line 56: | ||
loadcamdata ct1.cam CamTable1 | loadcamdata ct1.cam CamTable1 | ||
</pre> | </pre> | ||
− | |||
== Crating master-slave relationship == | == Crating master-slave relationship == |
Revision as of 12:02, 3 August 2014
Contents
Introduction
Slave axis is driven by a virtual(simulated) master axis
Setup
Both master and slave axes are set as in previous examples
Program example
Creating Cam Table
Declaring a cam-table type global variable:
common shared CamTable1 as cam
Creating an empty cam table:
- This table is cyclic:
CamTable1.Cycle = -1
- Not linked to anything other cam-tables:
CamTable1.Next = none CamTable1.Prev = none
- making it 10000 points
dim camsize as long = 10000 createcamdata camsize CamTable1
- Defining a 360 deg sine table:
for i = 1 to CamTable1.Size CamTable1.MasterData [i] = 360*(i-1)/CamTable1.Size ' Master in degrees CamTable1.SlaveData [i] = cam_amplitude *sin (CamTable1.MasterData [i] * pi/180) next
- Store the created file onto flash disk:
storecamdata ct1.cam CamTable1
Once the table is stored on the flash it can be re-loaded as:
loadcamdata ct1.cam CamTable1
Crating master-slave relationship
Axis a2 is slave axis of axis a1. The source varaible for the camming is the master's external position (external encoder) pext. They are connected through CamTable1 cam multiplied by a gear-ratio of 1.0.
a2.MasterSource = a1.PExt a2.GearRatio = 1.0 a2.CamOffset = 0 a2.FirstCam = CamTable1 a2.slave = cam