Skip to content

Commit

Permalink
Merge pull request #19 from ghalym/pmps
Browse files Browse the repository at this point in the history
Pmps
  • Loading branch information
ghalym authored May 21, 2024
2 parents 1d04de0 + 6b0fc06 commit f1626ce
Show file tree
Hide file tree
Showing 16 changed files with 47,977 additions and 547 deletions.
2 changes: 1 addition & 1 deletion lcls-plc-qrix-vac/iocBoot/ioc-PLC-QRIX-VAC/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ PROJECT_PATH := ../../lcls-plc-qrix-vac/lcls-plc-qrix-vac.tsproj
PLC := PLC_QRIX_VAC

PYTMC_OPTS :=
PREFIX := PLC:$(PLC)
PREFIX := PLC:QRIX:VAC

# With two $$, as in $$(IOC) below, this will be expanded in the
# environment of st.cmd:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4022.18">
<GVL Name="GVL_PMPS" Id="{3a21f405-831e-4bf0-92c1-62f30c7f9e94}">
<Declaration><![CDATA[{attribute 'qualified_only'}
VAR_GLOBAL
{attribute 'pytmc' := 'pv: PLC:QRIX:VAC:ARB'}
<Declaration><![CDATA[VAR_GLOBAL
{attribute 'pytmc' := 'pv: PLC:QRIX:VAC:ARB:01'}
fbArbiter: FB_Arbiter(1);
fbArbiter2: FB_Arbiter(2);// no pytmc pv because it is not used
{attribute 'pytmc' := 'pv: PLC:QRIX:VAC:FFO:01'}
{attribute 'TcLinkTo' := '.q_xFastFaultOut:=TIIB[PMPS_FFO]^Channel 1^Output'}
{attribute 'TcLinkTo' := '.q_xFastFaultOut:=TIIB[PMPS_PRE]^IO Outputs^FFO'}
fbFastFaultOutput1: FB_HardwareFFOutput := (bAutoReset := TRUE, i_sNetID:='172.21.92.73.1.1');
{attribute 'pytmc' := 'pv: PLC:QRIX:VAC:FFO:02'}
{attribute 'TcLinkTo' := '.q_xFastFaultOut:=TIIB[PMPS_FFO]^Channel 2^Output'}
fbFastFaultOutput2: FB_HardwareFFOutput := (bAutoReset := TRUE, i_sNetID:='172.21.92.73.1.1');
fbFastFaultOutput2: FB_HardwareFFOutput := (bAutoReset := TRUE, i_sNetID:='172.21.92.73.1.1');//no pytmc pv because it is not needed for P/MPS
END_VAR]]></Declaration>
</GVL>
</TcPlcObject>
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ VAR_GLOBAL
.q_xOPN_DO := TIIB[qRIXS_PNL1_E3_EL2004]^Channel 3^Output
'}
{attribute 'pytmc' := '
pv: QRIXS:DET:VRC:01
pv: QRIXS:DET:VGC:01
io: io
'}
qRIXS_DET_VRC_01: FB_VRC;
qRIXS_DET_VGC_01: FB_VGC;
(* MKS275 - Pirani *)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ xSystemOverrideMode : BOOL := FALSE; (* Global system override for the qRIXS Vac
{attribute 'pytmc' := '
pv: QRIXS:VAC:OVRDON
pv: QRIXS:SA:OVRDON
io: io
'}
xSystemOverrideMode_Valve : BOOL := FALSE; (* Global system override for the qRIXS Vacuum System*)
xSAOverrideMode : BOOL := FALSE;
{attribute 'pytmc' := ' pv: QRIXS:SA:VAC:SETUP_MODE'}
SetupMode_Valve : BOOL := FALSE;
{attribute 'pytmc' := ' pv: QRIXS:SA:SETUP_MODE'}
SetupMode : BOOL := FALSE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@
<Resolution>LCLSVacuumSerialDriverLib, 1.2.2 (SLAC - LCLS)</Resolution>
</PlaceholderResolution>
<PlaceholderResolution Include="PMPS">
<Resolution>PMPS, 2.1.0 (SLAC - LCLS)</Resolution>
<Resolution>PMPS, 3.2.1 (SLAC - LCLS)</Resolution>
</PlaceholderResolution>
<PlaceholderResolution Include="Tc2_Utilities">
<Resolution>Tc2_Utilities, 3.3.54.0 (Beckhoff Automation GmbH)</Resolution>
Expand Down
46,992 changes: 46,554 additions & 438 deletions lcls-plc-qrix-vac/lcls-plc-qrix-vac/PLC_QRIX_VAC/PLC_QRIX_VAC.tmc

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,20 @@ VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[GVL_PMPS.fbFastFaultOutput1.Execute();
GVL_PMPS.fbFastFaultOutput2.Execute();
<ST><![CDATA[GVL_PMPS.fbFastFaultOutput1.Execute(i_xVeto := (PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.MR1K1_OUT]
AND NOT PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.MR1K1_IN])
OR PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.ST1K2]);
GVL_PMPS.fbFastFaultOutput2.Execute(i_xVeto := (PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.MR1K1_OUT]
AND NOT PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.MR1K1_IN])
OR PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.ST1K2]
OR TRUE); // Currenlty these valves are permenantly vetoed
//Code for Requesting full beam arbitration
fbArbiter.AddRequest(nReqID := 16#FAFA, stReqBp := PMPS_GVL.cstFullBeam, sDevName := 'plc-qrix-vac');
fbArbiterIO(
i_bVeto := (PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.MR1K1_OUT]
AND NOT PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.MR1K1_IN])
OR PMPS_GVL.stCurrentBeamParameters.aVetoDevices[PMPS.K_Stopper.ST1K2],
Arbiter:=GVL_PMPS.fbArbiter,
fbFFHWO:=GVL_PMPS.fbFastFaultOutput1);]]></ST>
</Implementation>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,26 @@
<POU Name="PRG_SA_WINDOW" Id="{7abc0b72-bfc7-40b5-9fc5-6d9e0631f363}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM PRG_SA_WINDOW
VAR
xFirstPass : BOOL;
xFirstPass : BOOL;
fbFSInit : R_TRIG;
state : E_STATES;
bExtPress : BOOL;
g_FastFaultOutputNA: FB_HardwareFFOutput;
g_fbArbiterNA: FB_Arbiter(2);
xExtILK_OK_BLW: INT;
g_FastFaultOutputNA: FB_HardwareFFOutput;
g_fbArbiterNA: FB_Arbiter(3);
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[fbFSInit( CLK := TRUE, Q => xFirstPass);
(* On first PLC pass, put valve into init state*)
IF xFirstPass THEN
state:= E_STATES.INIT;
xSystemOverrideMode_Valve := FALSE;
SetupMode_Valve := FALSE;
xSAOverrideMode := FALSE;
SetupMode := FALSE;
END_IF
bExtPress:= qRIXS_SA_GCP_01.PG.xAT_VAC;
Expand Down Expand Up @@ -66,7 +66,7 @@ E_STATES.NOT_SAFE: // System is not allowed to actuate, i.e all interlocks are i
// Override Mode is enabled for all valves
qRIXS_SC_VGC_04.i_xOverrideMode :=qRIXS_SA_VRC_01.i_xOverrideMode := TRUE;
// Exit of Override mode always goes back to init
IF NOT(xSystemOverrideMode_Valve) THEN state:= E_STATES.INIT; END_IF
IF NOT(xSAOverrideMode) THEN state:= E_STATES.INIT; END_IF
E_STATES.SETUP:
Expand All @@ -75,15 +75,15 @@ E_STATES.NOT_SAFE: // System is not allowed to actuate, i.e all interlocks are i
// Isolation valves operates like standard gate valves
qRIXS_SC_VGC_04.i_xExt_OK := TRUE;
// exit to init just to be safe?
IF NOT(SetupMode_Valve) THEN state:= E_STATES.INIT; END_IF
IF NOT(SetupMode) THEN state:= E_STATES.INIT; END_IF
END_CASE
// STATE TRANSITIONS
// the system can go to setup state from any other state except override
IF (SetupMode_Valve) AND (state<>E_STATES.OVERRIDE) THEN state:= E_STATES.SETUP;
IF (SetupMode) AND (state<>E_STATES.OVERRIDE) THEN state:= E_STATES.SETUP;
// the system can go to override state from any other state except setup
ELSIF (xSystemOverrideMode_Valve) AND (state<>E_STATES.SETUP) THEN state:= E_STATES.OVERRIDE;
ELSIF (xSAOverrideMode) AND (state<>E_STATES.SETUP) THEN state:= E_STATES.OVERRIDE;
//Loss of at vac signal makes the system go to init/not safe to move state
ELSIF (NOT bExtPress) OR (NOT qRIXS_SC_GCC_01.IG.xAT_VAC) THEN state:= E_STATES.INIT;
//ELSIF (NOT US_GCC.IG.xAT_VAC) OR (NOT DS_GCC.IG.xAT_VAC) THEN state:= E_STATES.INIT;
Expand All @@ -94,7 +94,7 @@ END_IF
qRIXS_SC_VGC_04(
i_stUSG:= qRIXS_SC_GCC_01.IG ,
i_stDSG:= qRIXS_OPT_GCC_01.IG ,
i_stDSG:= qRIXS_SA_GCP_02.PG ,
i_xDis_DPIlk:= FALSE ,
i_xPMPS_OK:= TRUE ,
i_xEPS_OK:= ,
Expand All @@ -106,27 +106,21 @@ qRIXS_SC_VGC_04(
i_nTransitionRootID:= ,
iq_stValve=> ,
xMPS_OK=> ,
io_fbFFHWO:=g_FastFaultOutputNA ,
io_fbFFHWO:=g_FastFaultOutputNA,
fbArbiter:= g_fbArbiterNA
);
qRIXS_SC_VGC_05(
qRIXS_SA_VRC_01(
i_xExtILK_OK:= ,
i_xOverrideMode:= ,
iq_stValve=> ,
io_fbFFHWO:= g_FastFaultOutputNA ,
fbArbiter:= g_fbArbiterNA,
io_fbFFHWO:= g_FastFaultOutputNA,
fbArbiter:= g_fbArbiterNA ,
i_xPMPS_OK:= TRUE,
i_xIsAperture:= TRUE ,
i_sDevName:= ,
i_nTransitionRootID:=,
i_xPMPS_OK:= TRUE );
//VGC_W(i_xExtILK_OK:= ,
// i_xOverrideMode:= ,
// iq_stValve=> );
i_nTransitionRootID:= );
]]></ST>
Expand Down
40 changes: 19 additions & 21 deletions lcls-plc-qrix-vac/lcls-plc-qrix-vac/PLC_QRIX_VAC/POUs/PRG_SPA.TcPOU
Original file line number Diff line number Diff line change
Expand Up @@ -30,52 +30,50 @@ END_VAR
qRIXS_DET_GCC_01(PG:=qRIXS_DET_GPI_01.PG, IG=>, bEP:=TRUE);
(* Normally Closed Vate Valve *)
//(*
stUSG_dummy := qRIXS_OPT_GCC_01.IG;
qRIXS_OPT_VGC_01(
i_stUSG := stUSG_dummy,
i_stUSG := qRIXS_SA_GCP_02.PG,
i_stDSG := qRIXS_OPT_GCC_01.IG,
i_xExt_OK := xExtILK_OK_OPT,
i_xPMPS_OK:= TRUE ,
i_xOverrideMode:=xSystemOverrideMode,
io_fbFFHWO := GVL_PMPS.fbFastFaultOutput1,
fbArbiter := GVL_PMPS.fbArbiter,
io_fbFFHWO := GVL_PMPS.fbFastFaultOutput2,
fbArbiter := GVL_PMPS.fbArbiter2,
iq_stValve =>,
);
// *)
// (*
// Calc pressure Difference
xExtILK_OK_BLW := ( qRIXS_OPT_VGC_01.iq_stValve.i_xClsLS AND qRIXS_OPT_GPI_01.PG.xPRESS_OK AND qRIXS_SA_GCP_01.PG.xPRESS_OK AND (qRIXS_OPT_GPI_01.PG.rPRESS - qRIXS_SA_GCP_01.PG.rPRESS) < iPressTorrerance)
OR (qRIXS_OPT_GCC_01.IG.xPRESS_OK AND qRIXS_SA_GCP_01.PG.xPRESS_OK AND (qRIXS_OPT_GCC_01.IG.rPRESS - qRIXS_SA_GCP_01.PG.rPRESS) < iPressTorrerance);
qRIXS_SA_VWC_01(
i_stUSG:= qRIXS_SA_GCP_01.PG ,
i_stDSG:= qRIXS_OPT_GCC_01.IG ,
i_xDis_DPIlk:= FALSE ,
i_xPMPS_OK:= TRUE ,
i_xEPS_OK:= ,
i_xExt_OK:= xExtILK_OK_BLW ,
i_xExt_OK:= TRUE ,
i_xOverrideMode:= ,
i_xReset:= ,
i_xIsAperture:= TRUE,
i_sDevName:= ,
i_nTransitionRootID:= ,
iq_stValve=> ,
xMPS_OK=> ,
io_fbFFHWO:=GVL_PMPS.fbFastFaultOutput1 ,
fbArbiter:= GVL_PMPS.fbArbiter
io_fbFFHWO:=GVL_PMPS.fbFastFaultOutput2 ,
fbArbiter:= GVL_PMPS.fbArbiter2
);
// *)
// (*
qRIXS_DET_VRC_01(
i_xExtILK_OK := xExtILK_OK_DET,
qRIXS_DET_VGC_01(
i_stUSG := qRIXS_SA_GCP_01.PG,
i_stDSG := qRIXS_DET_PIP_01.q_IG,
i_xExt_OK := xExtILK_OK_OPT,
i_xPMPS_OK:= TRUE ,
i_xOverrideMode:=xSystemOverrideMode,
io_fbFFHWO := GVL_PMPS.fbFastFaultOutput2,
fbArbiter := GVL_PMPS.fbArbiter2,
iq_stValve =>,
);
// *)
);
xExtILK_OK_DET := (qRIXS_DET_GPI_01.PG.xPRESS_OK AND qRIXS_SA_GCP_01.PG.xPRESS_OK AND (qRIXS_DET_GPI_01.PG.rPRESS - qRIXS_SA_GCP_01.PG.rPRESS) < iPressTorrerance)
OR (qRIXS_DET_GCC_01.IG.xPRESS_OK AND qRIXS_SA_GCP_01.PG.xPRESS_OK AND (qRIXS_DET_GCC_01.IG.rPRESS - qRIXS_SA_GCP_01.PG.rPRESS) < iPressTorrerance);
]]></ST>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,11 @@
<Box File="qRIXS_PNL1_E0_EK1100.xti" Id="105">
<EtherCAT PortABoxInfo="#x02000038"/>
</Box>
<EtherCAT EnableVirtualSwitch="true" MaxSwitchPorts="3" MaxSwitchFrames="140">
<EtherCAT EnableVirtualSwitch="true" MaxSwitchPorts="4" MaxSwitchFrames="160">
<SyncUnit Name="Sample Chamber" NoDeleteIfUnused="true"/>
<SyncUnit Name="Spectrometer Arm" NoDeleteIfUnused="true"/>
<SyncUnit Name="pmps" NoDeleteIfUnused="true"/>
<SyncUnit Name="qrix-motion" NoDeleteIfUnused="true"/>
</EtherCAT>
</Device>
<Mappings>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
<ImageId>1000</ImageId>
<EtherCAT PdiType="#x0100" CycleMBoxPollingTime="0" VendorId="#x00000002" ProductCode="#x04b02c52" RevisionNo="#x00001388" InfoDataState="false" PortPhys="49" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EK1200-5000 EtherCAT Power supply (2A E-Bus)" Desc="EK1200"/>
<Box BoxType="9099" Id="18">
<Name>PMPS_FFO</Name>
<Name>EL2202_00_01</Name>
<ImageId>1001</ImageId>
<EtherCAT SlaveType="1" PdiType="#x0104" CycleMBoxPollingTime="0" VendorId="#x00000002" ProductCode="#x089a3052" RevisionNo="#x00130000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL2202 2Ch. Dig. Output 24V, 0.5A" Desc="EL2202" PortABoxInfo="#x01000011">
<SyncMan>000f01004400010003000000000000000000000f44090000</SyncMan>
Expand Down Expand Up @@ -1182,6 +1182,9 @@ Bit1: Value smaller than Limit2]]>
<Name>EK1521-0010_00_15</Name>
<ImageId>1005</ImageId>
<EtherCAT SlaveType="1" PdiType="#x0d00" CycleMBoxPollingTime="0" VendorId="#x00000002" ProductCode="#x05f12c52" RevisionNo="#x0014000a" CheckRevisionNoType="3" PortPhys="4867" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EK1521-0010 1 port EtherCAT junction (FX-SingleMode)" Desc="EK1521-0010" PortABoxInfo="#x0100001d"/>
<Box File="Term 78 (EK1501-0010).xti" Id="78">
<EtherCAT PortABoxInfo="#x0300001e"/>
</Box>
</Box>
<Box File="EK1122_00_16.xti" Id="31">
<EtherCAT PortABoxInfo="#x0200001e"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmItem" TcSmVersion="1.0" TcVersion="3.1.4022.30" ClassName="CFlbTermDef" SubType="9099">
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000bfff00bfffc0c0c0808080c0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000bfff00bfffc0c0c0808080c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000bfff00bfffc0c0c0808080c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080c0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000bfff00bfffc0c0c0808080c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000bfff00bfffc0c0c0808080c0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000bfff00bfffc0c0c0808080c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000000000c0c0c0808080c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ff000000c0c0c0c0c0c0000000808080c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000000000c0c0c0808080c0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
</ImageDatas>
<Box Id="78" BoxType="9099">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT SlaveType="1" PdiType="#x0d04" CycleMBoxPollingTime="0" VendorId="#x00000002" ProductCode="#x05dd2c52" RevisionNo="#x0012000a" PortPhys="305" IdentificationAdo="4096" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EK1501-0010 EtherCAT Coupler (2A E-Bus, FX-SingleMode, ID switch)" Desc="EK1501-0010">
<SyncMan>001002000000010004000000000000000000001000000000</SyncMan>
<Fmmu>0000000000000000001000010100000002000000000000000000000000000000</Fmmu>
<Pdo Name="ID" Index="#x1a00" Flags="#x0010" SyncMan="0">
<Entry Name="ID" Index="#x6000" Sub="#x01">
<Type>UINT</Type>
</Entry>
</Pdo>
</EtherCAT>
<Box File="PMPS_FFO.xti" Id="79">
<EtherCAT PortABoxInfo="#x0100004e"/>
</Box>
<Box File="PMPS_PRE.xti" Id="80">
<EtherCAT PortABoxInfo="#x0100004f"/>
</Box>
<Box File="Term 132 (EL9011).xti" Id="132">
<EtherCAT PortABoxInfo="#x01000050"/>
</Box>
</Box>
</TcSmItem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmItem" TcSmVersion="1.0" TcVersion="3.1.4022.30" ClassName="CFlbTermDef" SubType="9099">
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000120b0000120b00000000000000000000ff00ffff00ffff00ffff00ffff00ffff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
</ImageDatas>
<Box Id="79" BoxType="9099">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT SlaveType="1" PdiType="#x0104" CycleMBoxPollingTime="0" VendorId="#x00000002" ProductCode="#x089a3052" RevisionNo="#x00130000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL2202 2Ch. Dig. Output 24V, 0.5A" Desc="EL2202">
<SyncMan>000f01004400010003000000000000000000000f44090000</SyncMan>
<Fmmu>0000000000000000000f00020100000001000000060000000000000000000000</Fmmu>
<Pdo Name="Channel 1" Index="#x1600" InOut="1" Flags="#x0011" SyncMan="0">
<Entry Name="Output" Index="#x7000" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="TriState" Index="#x7000" Sub="#x02">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="Channel 2" Index="#x1601" InOut="1" Flags="#x0011" SyncMan="0">
<Entry Name="Output" Index="#x7010" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="TriState" Index="#x7010" Sub="#x02">
<Type>BIT</Type>
</Entry>
</Pdo>
</EtherCAT>
</Box>
</TcSmItem>
Loading

0 comments on commit f1626ce

Please sign in to comment.