checking coordinate transform
This commit is contained in:
183
Readme.md
183
Readme.md
@@ -597,9 +597,15 @@ caput SAR-EXPMX3:ASYN.AOUT '&1;cpx jog1..5=10000;call 16'
|
||||
caput SAR-EXPMX3:debug0 '&1;#1..5j/;cpx call 15'
|
||||
|
||||
caput SAR-EXPMX3:debug0 '&1;#1..5j/;cpx call 15'
|
||||
caput SAR-EXPMX3:debug0 '&1;#1..5j/;cpx call 16'
|
||||
caput SAR-EXPMX3:debug0 '&1;#1..5j/;cpx call 15'
|
||||
caput SAR-EXPMX3:debug0 '&1;#1..5j/;jog1..5=10000;cpx call 16'
|
||||
|
||||
caput SAR-EXPMX3:debug0 '&1;#1..5j/;cpx call 15'
|
||||
caput SAR-EXPMX3:debug0 '&1;cpx jog1..5=0;call 16'
|
||||
|
||||
caput SAR-EXPMX3:debug0 '&1;#1..5j/;cpx call 15'
|
||||
caput SAR-EXPMX3:debug0 '&1;cpx jog1..5=10000;call 16'
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -609,4 +615,179 @@ caput SAR-EXPMX3:ASYN.AOUT cpx call 15
|
||||
caput SAR-EXPMX3:ASYN.debug cpx call 16
|
||||
caput SAR-EXPMX3:ASYN.debug0 cpx call 16
|
||||
|
||||
|
||||
|
||||
|
||||
see also:
|
||||
|
||||
/home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_boot_sf/SARES20-CSSU-ESB1/SARES20-CSSU-ESB1_startup.script
|
||||
/home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_boot_sf/SARES20-CSSU-ESB1/SARES20-CSSU-ESB1_hexpodPI.subs
|
||||
/home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_boot_sf/SARES20-CSSU-ESB1/hpod.template
|
||||
/home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_boot_sf/SARES20-CSSU-ESB1/cfg/hpod.proto
|
||||
|
||||
|
||||
|
||||
caQtDM -macro "P=SAR-EXPMX:,R=asyn" asynRecord.ui
|
||||
caQtDM -macro "P=SAR-EXPMX:,R=asyn" asynSerialPortSetup.ui
|
||||
caQtDM -macro "P=SAR-EXPMX:,R=asyn" asynOctet.ui
|
||||
caQtDM -macro "P=SAR-EXPMX:,R=debug0" asynOctet.ui
|
||||
|
||||
|
||||
caput SAR-EXPMX:asyn.AOUT '&1;#1..5j/;cpx call 15'
|
||||
caput SAR-EXPMX:asyn.AOUT '&1;#1..5j/;cpx call 16'
|
||||
|
||||
caput SAR-EXPMX:debug0 '&1;#1..5j/;cpx call 15'
|
||||
caput SAR-EXPMX:debug0 '&1;#1..5j/;cpx call 16'
|
||||
|
||||
|
||||
caput SAR-EXPMX:debug '&1;#1..5j/;cpx call15;abslinear X(1000)Y(0)U(0)V(0)W(0);call16'
|
||||
|
||||
caget -S SAR-EXPMX:debug0
|
||||
|
||||
caput SAR-EXPMX:debug0 '&1;#1..5j/;cpx call15;abslinear X(1000)Y(0)U(0)V(0)W(0);call16'
|
||||
caput SAR-EXPMX:debug0 '&1;#1..5j/;cpx call15;abslinear X(00)Y(0)U(0)V(0)W(0);call16'
|
||||
caput SAR-EXPMX:debug0 '&1;#1..5j/;cpx call15;abslinear X(1000)Y(0)U(0)V(0)W(0);call16'
|
||||
caput SAR-EXPMX:debug0 '&1;#1..5j/;cpx call15;abslinear X(00)Y(0)U(0)V(0)W(0);call16'
|
||||
caput SAR-EXPMX:debug0 '&1;#1..5j/;cpx call15;abslinear X(1000)Y(0)U(0)V(0)W(0);call16'
|
||||
|
||||
|
||||
SAR-EXPMX:MOT_GIR_W.SPMG
|
||||
Plugin: epics3 : loaded & connected
|
||||
=====================================
|
||||
Description: Stop
|
||||
TimeStamp: Apr 04, 2018 11:57:02.623574449
|
||||
Type: DBF_ENUM
|
||||
Count: 1
|
||||
Value: 0
|
||||
nbStates: 4
|
||||
States:
|
||||
0 Stop
|
||||
1 Pause
|
||||
2 Move
|
||||
3 Go
|
||||
```
|
||||
|
||||
|
||||
Check some coord trf 4.4.18
|
||||
---------------------------
|
||||
```
|
||||
$$$***
|
||||
!common()
|
||||
!SAR-EXPMX3() //with !MX3_setup_sim()
|
||||
|
||||
|
||||
using trf:
|
||||
!MX3_coordTrf(exc=5000,height=2000,width=500000,length=1000000,camSf=1.7453292519943296e-05)
|
||||
|
||||
open forward
|
||||
// define(AA1='L1',AA2='L2',AA3='L3',AA4='L4',AA5='L5')
|
||||
// define(r='L6',scl='L7')
|
||||
// define(S1='L11',S2='L12',S3='L13',S4='L14',S5='L15')
|
||||
// define(X='C6',Y='C7',U='C3',V='C4',W='C5')
|
||||
L6=2000/500000
|
||||
L7=5000/1.41421356237
|
||||
L11=L7*sin(L1*1.74532925199e-05)
|
||||
L12=L7*sin(L2*1.74532925199e-05)
|
||||
L13=L7*sin(L3*1.74532925199e-05)
|
||||
L14=L7*sin(L4*1.74532925199e-05)
|
||||
L15=L7*sin(L5*1.74532925199e-05)
|
||||
|
||||
send 1"fwd_inp(%f) %f %f %f %f %f\n",D0,L1,L2,L3,L4,L5
|
||||
send 1"fwd_inp(%f) %f %f %f %f %f\n",D0,L11,L12,L13,L14,L15
|
||||
|
||||
|
||||
//C6=D^-1*S
|
||||
C6=+.5*L11 -.5*L12 +(L6+.5)*L13 +(L6-.5)*L14 +(.5-L6)*1.41421356237*L15
|
||||
C7=+.5*L11 +.5*L12 +.25*L13 +.25*L14 +.25*1.41421356237*L15
|
||||
C3= -.5*L13 -.5*L14 +.5*1.41421356237*L15
|
||||
C4=-.5*L11 +1.*L12 +1.5*L13 -.5*L14 -.5*1.41421356237*L15
|
||||
C5=-.5*L11 -1.*L12 +.5*L13 +.5*L14 +.5*1.41421356237*L15
|
||||
|
||||
send 1"fwd_res %f %f %f %f %f\n",C6,C7,C3,C4,C5
|
||||
|
||||
D0=$000000f8; //C3=$8 C4=$10 C5=$20 C6=$40 C7=$80 hex(8+int('10',16)+int('20',16)+int('40',16)+int('80',16)) -> '0xf8'
|
||||
close
|
||||
|
||||
open inverse
|
||||
// define(AA1='L1',AA2='L2',AA3='L3',AA4='L4',AA5='L5')
|
||||
// define(r='L6',scl='L7')
|
||||
// define(S1='L11',S2='L12',S3='L13',S4='L14',S5='L15')
|
||||
// define(X='C6',Y='C7',U='C3',V='C4',W='C5')
|
||||
|
||||
//if(D0>0)
|
||||
// send 1"Velocity calculation NOT SUPPORTED\n"
|
||||
|
||||
send 1"inv_inp(%f) %f %f %f %f %f\n",D0,C6,C7,C3,C4,C5
|
||||
|
||||
L6=2000/500000
|
||||
|
||||
L11=+.5*C6 +.5*C7 +(0) *C3 -.5*C4 +.5*C5
|
||||
L12=-.5*C6 +.5*C7 +(0) *C3 +.5*C4 +.5*C5
|
||||
L13=+.5*C6 +.5*C7 -(.5) *C3 +.5*C4 -.5*C5
|
||||
L14=-.5*C6 +.5*C7 -(.5) *C3 -.5*C4 -.5*C5
|
||||
L15= .5*1.41421356237*C7 +.5*1.41421356237*C3 -.5*1.41421356237*C5
|
||||
|
||||
L7=1.41421356237/5000
|
||||
L1=asin(L11*L7)/1.74532925199e-05
|
||||
L2=asin(L12*L7)/1.74532925199e-05
|
||||
L3=asin(L13*L7)/1.74532925199e-05
|
||||
L4=asin(L14*L7)/1.74532925199e-05
|
||||
L5=asin(L15*L7)/1.74532925199e-05
|
||||
|
||||
send 1"inv_res %f %f %f %f %f\n",L1,L2,L3,L4,L5
|
||||
|
||||
close
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
&1;cpx abs linear;jog1=0;jog2=0;jog3=0;jog4=0;jog5=0
|
||||
&1;cpx abs linear;jog1=10000;jog2=20000;jog3=30000;jog4=40000;jog5=50000
|
||||
|
||||
&1;cpx abs linear;X(1365.89)Y(2879.23)U(-105.071)V(502.495)W(2419.1)
|
||||
|
||||
&1;cpx abs linear;X(-10.000000)Y(200.000000)U(3.00000)V(4.00000)W(5.00000)
|
||||
|
||||
|
||||
&1;cpx abs linear;X(0.000000)Y(0.000000)U(0.00000)V(0.00000)W(0.00000)
|
||||
&1;cpx abs linear;X(-10.000000)Y(200.000000)U(3.00000)V(4.00000)W(5.00000)
|
||||
|
||||
|
||||
|
||||
|
||||
#1..5p
|
||||
|
||||
&1p
|
||||
pmatch
|
||||
|
||||
fwd_inp(0) 0 0 0 0 0
|
||||
fwd_inp(0) 0 0 0 0 0
|
||||
fwd_res 0 0 0 0 0
|
||||
inv_inp(0) 0 0 0 0 0
|
||||
inv_res 0 0 0 0 0
|
||||
|
||||
fwd_inp(0) 10000 20000 30000 40000 50000
|
||||
fwd_inp(0) 613.939 1209.22 1767.77 2272.6 2708.38
|
||||
fwd_res 1365.89 2879.23 -105.071 502.495 2419.1
|
||||
|
||||
fwd_res 1365.89 2879.23 -105.071 502.495 2419.1
|
||||
inv_inp(0) 1365.89 2879.23 -105.071 502.495 2419.1
|
||||
inv_res 60621.7 38843.4 20130.6 -10620.2 4072.1
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user