Skip to content

Commit

Permalink
FIX: PV names
Browse files Browse the repository at this point in the history
  • Loading branch information
ghalym committed Sep 19, 2023
1 parent 3c6f850 commit 3d4c014
Show file tree
Hide file tree
Showing 4 changed files with 810 additions and 81,980 deletions.
2 changes: 1 addition & 1 deletion GratingMonoScope/VSSettings/.vsm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<Node>
<Title>Scope YT NC Project</Title>
<Expanded>True</Expanded>
<FileName>C:\Users\nrw\plcprojs\lcls-plc-rixs-optics\GratingMonoScope\Scope YT NC Project.tcscopex</FileName>
<FileName>C:\Github (mghaly)\lcls-plc-rixs-optics\GratingMonoScope\Scope YT NC Project.tcscopex</FileName>
<Children>
<Node>
<Title>DataPool</Title>
Expand Down
32 changes: 16 additions & 16 deletions lcls-plc-rixs-optics/_Config/PLC/rixs_optics.xti
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,15 @@
</Format>
</DataType>
<DataType>
<Name GUID="{D03D69A1-BF28-445B-838B-E78D4A687778}" Namespace="lcls_twincat_motion" AutoDeleteType="true">EL5042_Status</Name>
<Name GUID="{7CC27056-D141-4DE4-95D2-6B65B10B6AB4}" Namespace="lcls_twincat_motion" AutoDeleteType="true">EL5042_Status</Name>
<BitSize>0</BitSize>
<BaseType GUID="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}"/>
<Hides>
<Hide GUID="{3FFD09D1-96AE-4CA8-9F3B-B190ED4E3132}"/>
<Hide GUID="{D03D69A1-BF28-445B-838B-E78D4A687778}"/>
</Hides>
</DataType>
<DataType>
<Name GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion" AutoDeleteType="true">ST_RenishawAbsEnc</Name>
<Name GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion" AutoDeleteType="true">ST_RenishawAbsEnc</Name>
<Comment>
<![CDATA[Renishaw BiSS-C absolute encoder used with an EL5042]]>
</Comment>
Expand All @@ -106,7 +106,7 @@
</SubItem>
<SubItem>
<Name>Status</Name>
<Type GUID="{D03D69A1-BF28-445B-838B-E78D4A687778}" Namespace="lcls_twincat_motion">EL5042_Status</Type>
<Type GUID="{7CC27056-D141-4DE4-95D2-6B65B10B6AB4}" Namespace="lcls_twincat_motion">EL5042_Status</Type>
<Comment>
<![CDATA[Status struct placeholder]]>
</Comment>
Expand All @@ -123,7 +123,7 @@
<BitOffs>64</BitOffs>
</SubItem>
<Hides>
<Hide GUID="{C983838E-0160-447A-9028-BAAB11793078}"/>
<Hide GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}"/>
</Hides>
</DataType>
<DataType>
Expand Down Expand Up @@ -1377,7 +1377,7 @@ External Setpoint Generation:
<Comment>
<![CDATA[ Encoders]]>
</Comment>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand All @@ -1399,7 +1399,7 @@ External Setpoint Generation:
</Var>
<Var>
<Name>PRG_MR1K1_BEND.M1K1.fbRunHOMS.stYdwnEnc</Name>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand All @@ -1421,7 +1421,7 @@ External Setpoint Generation:
</Var>
<Var>
<Name>PRG_MR1K1_BEND.M1K1.fbRunHOMS.stXupEnc</Name>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand All @@ -1443,7 +1443,7 @@ External Setpoint Generation:
</Var>
<Var>
<Name>PRG_MR1K1_BEND.M1K1.fbRunHOMS.stXdwnEnc</Name>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand Down Expand Up @@ -1673,7 +1673,7 @@ Emergency Stop for MR1K1]]>
<Comment>
<![CDATA[ Encoders]]>
</Comment>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand All @@ -1695,7 +1695,7 @@ Emergency Stop for MR1K1]]>
</Var>
<Var>
<Name>PRG_MR1K2_SWITCH.M1K2.fbRunHOMS.stYdwnEnc</Name>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand All @@ -1717,7 +1717,7 @@ Emergency Stop for MR1K1]]>
</Var>
<Var>
<Name>PRG_MR1K2_SWITCH.M1K2.fbRunHOMS.stXupEnc</Name>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand All @@ -1739,7 +1739,7 @@ Emergency Stop for MR1K1]]>
</Var>
<Var>
<Name>PRG_MR1K2_SWITCH.M1K2.fbRunHOMS.stXdwnEnc</Name>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand Down Expand Up @@ -2192,7 +2192,7 @@ External Setpoint Generation:
</Var>
<Var>
<Name>PRG_SP1K1_MONO.mpi_upe</Name>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand All @@ -2214,7 +2214,7 @@ External Setpoint Generation:
</Var>
<Var>
<Name>PRG_SP1K1_MONO.gpi_upe</Name>
<Type GUID="{FB7D5431-7B7B-4738-9231-480B0E95EB4A}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<Type GUID="{C13F2823-EEBD-4580-AF38-47D327636A15}" Namespace="lcls_twincat_motion">ST_RenishawAbsEnc</Type>
<SubVar>
<Name>Count</Name>
<Comment>
Expand Down Expand Up @@ -8722,8 +8722,8 @@ External Setpoint Generation:
<TaskPouOids>
<TaskPouOid Prio="19" OTCID="#x08502004"/>
<TaskPouOid Prio="1" OTCID="#x08502001"/>
<TaskPouOid Prio="3" OTCID="#x08502002"/>
<TaskPouOid Prio="20" OTCID="#x08502003"/>
<TaskPouOid Prio="3" OTCID="#x08502002"/>
</TaskPouOids>
</Instance>
</Project>
Expand Down
131 changes: 26 additions & 105 deletions lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU
Original file line number Diff line number Diff line change
Expand Up @@ -10,46 +10,57 @@ VAR
i_Desc := 'Faults when Zero order beam safe conditions are not met',
i_TypeCode := 16#F506);
{attribute 'pytmc' := '
pv: SIM:SafeBenderRange
pv: @(PREFIX)SafeBenderRange
field: ZNAM FALSE
field: ONAM TRUE
'}
bSafeBenderRange : BOOL;
{attribute 'pytmc' := '
pv: SIM:LRG_Grating_IN
pv: @(PREFIX)LRG_Grating_IN
field: ZNAM FALSE
field: ONAM TRUE
'}
bLRG_Grating_IN : BOOL;
{attribute 'pytmc' := '
pv: SIM:ZOS_IN
pv: @(PREFIX)ZOS_IN
field: ZNAM FALSE
field: ONAM TRUE
'}
bZOS_IN : BOOL;
{attribute 'pytmc' := '
pv: SIM:ZOB_on_Lower_Stopper
pv: :@(PREFIX)ZOB_on_Lower_Stopper
field: ZNAM FALSE
field: ONAM TRUE
'}
bZOB_on_Lower_Stopper : BOOL;
{attribute 'pytmc' := '
pv: SIM:MR1K1_Inserted
pv: @(PREFIX)MR1K1_Inserted
field: ZNAM FALSE
field: ONAM TRUE
'}
bMR1K1_Inserted : BOOL;
{attribute 'pytmc' := '
pv: SIM:ZeroOrderBeam

Check warning on line 48 in lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU

View workflow job for this annotation

GitHub Actions / standard / Style check / Leading tabs

Leading tabs

Check warning on line 48 in lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU

View workflow job for this annotation

GitHub Actions / standard / Style check / Trailing whitespace

Trailing whitespace
{attribute 'pytmc' := '

Check warning on line 49 in lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU

View workflow job for this annotation

GitHub Actions / standard / Style check / Leading tabs

Leading tabs
pv: @(PREFIX)MachineMode
field: ZRST NC
field: ONST SC
field: TWST Misconfig

Check warning on line 53 in lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU

View workflow job for this annotation

GitHub Actions / standard / Style check / Leading tabs

Leading tabs
field: THST UnInit

Check warning on line 54 in lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU

View workflow job for this annotation

GitHub Actions / standard / Style check / Leading tabs

Leading tabs
'}
nMachineMode : INT;

Check warning on line 57 in lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU

View workflow job for this annotation

GitHub Actions / standard / Style check / Leading tabs

Leading tabs

Check warning on line 57 in lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU

View workflow job for this annotation

GitHub Actions / standard / Style check / Trailing whitespace

Trailing whitespace
{attribute 'pytmc' := '

Check warning on line 58 in lcls-plc-rixs-optics/rixs_optics/POUs/PRG_ZeroOrder_PMPS.TcPOU

View workflow job for this annotation

GitHub Actions / standard / Style check / Leading tabs

Leading tabs
pv: @(PREFIX)BeamPermitted
field: ZNAM FALSE
field: ONAM TRUE
'}
bZeroOrderBeam : BOOL;
bBeamPermitted : BOOL;
Pm3 : LREAL;
Expand Down Expand Up @@ -94,29 +105,27 @@ END_VAR
<Implementation>
<ST><![CDATA[
ffZeroOrderBeam.i_xOK := (SafeBenderRange() AND (((PMPS_GVL.stCurrentBeamParameters.nMachineMode =1(*SC*)) AND (PMPS_GVL.stCurrentBeamParameters.nBeamClass <=6)) OR (PMPS_GVL.stCurrentBeamParameters.nMachineMode =0(*NC*))))
OR (bLRG_Grating_IN AND bZOS_IN AND bZeroOrderBeam AND MR1K1_Inserted()(*NC or SC Any Beamclass with beam at ZOS*));
OR (bLRG_Grating_IN AND bZOS_IN AND bZOB_on_Lower_Stopper AND MR1K1_Inserted()(*NC or SC Any Beamclass with beam at ZOS*));
ffZeroOrderBeam(io_fbFFHWO := GVL_PMPS.fbFastFaultOutput1);
bZOB_on_Lower_Stopper := ffZeroOrderBeam.i_xOK;
bBeamPermitted := ffZeroOrderBeam.i_xOK;
//Diagnostics
bSafeBenderRange := SafeBenderRange();
//bLRG_Grating_IN := LRG_Grating_IN();
//bZOS_IN := ZOS_IN();
bZOB_on_Lower_Stopper := ZOB_on_Lower_Stopper();
nMachineMode := PMPS_GVL.stCurrentBeamParameters.nMachineMode;
bMR1K1_Inserted := MR1K1_Inserted();
//bZeroOrderBeam := ffZeroOrderBeam.i_xOK;
//TRUE if Hzos - hb0m3(Zzoz) > D
Ans := (Hzos*1E3) - Hb0m3; //um
IF GVL_PMPS.rPhotonEnergy <550 THEN
bZeroOrderBeam := Ans > 3*1E3;
bZOB_on_Lower_Stopper := Ans > 3*1E3;
ELSIF GVL_PMPS.rPhotonEnergy <1000 THEN
bZeroOrderBeam := Ans > 2.5*1E3;
bZOB_on_Lower_Stopper := Ans > 2.5*1E3;
ELSIF GVL_PMPS.rPhotonEnergy >=1000 THEN
bZeroOrderBeam := Ans > 2*1E3;
bZOB_on_Lower_Stopper := Ans > 2*1E3;
END_IF
//
Expand Down Expand Up @@ -208,93 +217,5 @@ END_VAR
GVL_M1K1_BENDER_Constants.nM1K1bendDS_PMPS_LowerLimit < M18.nEncoderCount AND M18.nEncoderCount < GVL_M1K1_BENDER_Constants.nM1K1bendDS_PMPS_UpperLimit;]]></ST>
</Implementation>
</Method>
<Method Name="ZOB_on_Lower_Stopper" Id="{1038aeb1-9507-4623-b455-ede771c58d51}">
<Declaration><![CDATA[METHOD ZOB_on_Lower_Stopper : BOOL
VAR_INPUT
END_VAR
VAR
Pm3 : LREAL;
Pm2: LREAL;
Pm1: LREAL;
Hm1: LREAL;
HZos:LREAL;
Zbm1: LREAL;
Zbm2: LREAL;
Zbm3: LREAL;
Hbm1: LREAL;
Hbm2: LREAL;
Hbm3: LREAL;
Hb0m3:LREAL;
//fixed calc
Hm3 : LREAL;
Hpiv : LREAL;
Theta_m1: LREAL;
Theta_m2: LREAL;
Theta_m3: LREAL;
Delta : LREAL;
Ans : LREAL;
END_VAR
VAR CONSTANT
Hi2 :LREAL:=1.4;//m
Zi2: LREAL :=731.613;//m
Theta0 : LREAL:=0;
Zm1 : LREAL:=733.772;//m
Zmon : LREAL:=739.622;//m
Zpiv : LREAL:= 739.622 ; //m
Zzos : LREAL:= 741.422;//m
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[
//Hm1 = 1400000+mr1k1 ben Y up
Hm1:= 1400000+M12.fPosition; //um
//Pm1 = 18310 - 281 + mr1k1 bend pitch
Pm1 := 18310 - 281 + Main.M16.fPosition; //urad
//Hpiv = 1.620305 + 0.001 // m 0.001 is correction from nominal
Hpiv:= (1.620305 + 0.001)*1E6; //um
//Pm2 = mono mirror pitch - 90700 urad
Pm2 := Main.M6.fPosition - 90700;//urad
//Hm3 = Hpiv + 0.006 m
Hm3:= Hpiv + (0.006*1E6); //um
//Pm3 = mono grating pitch - 63300 urad
Pm3 := Main.M7.fPosition - 63300; //urad
//Hzos = 1824.3 + st1k1_zos mm
Hzos:= 1824.3 + M24.fPosition; //mm
//urad
Theta_m1 := 2*Pm1 - Theta0;
Theta_m2 := 2*Pm2 - Theta_m1;
Theta_m3 := 2 *Pm3 - 2 * Pm2 + 2* Pm1 - Theta0;
// fix units
//um
Zbm1 := (Hm1 - TAN(Pm1)* (Zm1*1E6) - (Hi2*1E6) + TAN(Theta0) *(Zi2*1E6))/(TAN(Theta0) - TAN(Pm1));
hbm1 := TAN(Pm1)*Zbm1 + Hm1 - TAN(Pm1)*(Zm1*1E6);
//u?
Zbm2 := (Hbm1 - TAN(Theta_m1)*Zbm1 - Hpiv + TAN(Pm2)*(Zpiv*1E6))/ (TAN(Pm2) - TAN(Theta_m1));
Hbm2 := TAN(Pm2)*Zbm2 + Hpiv - TAN(Pm2)*(Zpiv*1E6);
Zbm3 := (Hbm2 - TAN(Theta_m2)*Zbm2 - Hm3 + TAN(Pm3)*(Zpiv*1E6))/ (TAN(Pm3) - TAN(Theta_m2));
Hbm3 := TAN(Pm3) * Zbm3 + Hm3 - TAN(Pm3)*(Zpiv*1E6);
Hb0m3 := TAN(Theta_m3)*(Zzos*1E6) + Hbm3 - TAN(Theta_m3)*Zbm3;
//TRUE if hb0m3(Zzoz) - Hzos > D
Ans := Hb0m3 - (Hzos*1E3); //um
IF GVL_PMPS.rPhotonEnergy <550 THEN
ZOB_on_Lower_Stopper := Ans > 6*1E3;
ELSIF GVL_PMPS.rPhotonEnergy <1000 THEN
ZOB_on_Lower_Stopper := Ans > 3.2*1E3;
ELSIF GVL_PMPS.rPhotonEnergy >=1000 THEN
ZOB_on_Lower_Stopper := Ans > 2.5*1E3;
END_IF
]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>
Loading

0 comments on commit 3d4c014

Please sign in to comment.