Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
initial condition:
Motor is homing from outside:
 C2 = 0 C1= 0
 MN = ?
 MF = XXXX steps (known) forward
 MB = XXXX steps (known) backward
 MO = XXXX steps (known) open position

Idle routine:
looking for where to go... (mod 2, mod 3, mod 4, fastopen, fastclose)

checkset subroutine
 check my pos:
   read C2
   MN=MB, C2=MF +/- DELTA (dead band)
   RT

   MN=MF, C2=MB +/- DELTA (dead band)
   RT


   (MA MF and  MN=MF), C2=MO +/- DELTA (dead band)
   RT

   if I m in startup+:
     set next move to startup- (MB)
     return subroutine
   if I m in startup-:
     set next move to startup+ (MF)
     return subroutine
   if I m open (MO):
     MA to startup+ (MF)
     set next move to startup- (MB)

mod 2
call chekset
waiting for trigger
...

mod 3
call chekset
waiting for trigger
...

mod 4
call chekset
waiting for trigger
...

fastopen
MA to open pos

fastclose
if in open pos
MA to startup+

Single Shot Mode (MODE 1)
Code Block

' Program Fragment: MODE_1 (Single Shot)

  Mode 1.0 - Set GO to 1 to arm trigger. Single sweep from trigger.

 

Continuous Mode (MODE 2)
Code Block

' Program Fragment: MODE_2 (Continuous)

  Mode 2.0 - Immediately armed. Continuous sweep from trigger.

 

Burst Mode (MODE 3)
Code Block

' Program Fragment: MODE_3 (Burst mode)
  
  Before mode select, select sub-mode TG:
   Mode 3.1 - TG=0, Single Burst: Set GO to 1, then only single burst sequence will execute

   Mode 3.2 - TG=1, Continuous Burst: Execute burst sequence

   Mode 3.3 - TG=2, Open/Close Burst: Single pulse to open, single pulse to close
 

Settings in XCS

Server running the IOC

...