Program Examples:Camming by Virtual Master/zh-hans

From SoftMC-Wiki
< Program Examples:Camming by Virtual Master
Revision as of 01:53, 17 July 2017 by Chi (talk | contribs) (Created page with "{{Languages}} == Introduction == Slave axis is driven by a virtual(simulated) master axis. Example of cam usage |600px == Setup == Both master and slav...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
语言: [[::Program Examples:Camming by Virtual Master|English]]  • [[::Program Examples:Camming by Virtual Master/zh-hans|中文(简体)‎]]

Introduction

Slave axis is driven by a virtual(simulated) master axis.

Example of cam usage

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 any 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 newly created file onto flash disk:
  storecamdata ct1.cam CamTable1   

Once the table is stored on the flash it can be reloaded as:

  loadcamdata ct1.cam CamTable1

Creating 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

Full Example

See: Camming by Virtual Master/Full Example