Changed from ISA88 to PackML

- Added PackML Base FB's
- Added Unit Tests for PackML Base State Machine
- Added Robot job numbers according to new interface
- Added PLC job number for robot to call according to new interface
- Change Robot to PackML interface
This commit is contained in:
2026-01-23 22:55:49 +01:00
parent 2d11c43579
commit 3946e45c65
26 changed files with 1615 additions and 421 deletions

View File

@@ -544,7 +544,7 @@
<ImageData Id="1020">424de6000000000000007600000028000000100000000e000000010004000000000070000000000000000000000010000000000000001c120800244aa500203262002462ee001c273f00245ad500243a7c001c222b001c1a1e002472fc00244fb7001c2a4d00243a7100246afc0024428d001c1a1300d5bbbbbbedddddddddb8777fcdd9dd9dd580ffffcddddddd9e7780f47b5dd9ddd3d35cb700e9ddd9ddd9d9de88a9ddddd9dddd9abb3dddddddddd99e04d9dd9dddddddd20adddddd9dd9d958b9ddd9ddddddd18cddddddd9dd5554e99d999d1dd9b07b2ee111e1add5bb777774bb6add</ImageData>
<ImageData Id="1021">424de6000000000000007600000028000000100000000e000000010004000000000070000000000000000000000000000000000000000000000000008000008000000080800080000000800080008080000080808000c0c0c0000000ff0000ff000000ffff00ff000000ff00ff00ffff0000ffffff00bb1111113bbbbbbbbb1000001bbbbbbbbb0000001bbbbbbbb300000001bbbbbbbbbbb110003bbbbbbbbbbbb3003bbbbbbbbbbbb311bbbbbbbbbbbbb300bbbbbbbbbbbbb103bbbbbbbbbbbbb01bbbbbbbbbbbb301bbbbbbbbbbbbb03bbbbbbb3bbb1001133333333bb3110000001113bb</ImageData>
</ImageDatas>
<Device Id="1" DevType="111" DevFlags="#x0003" AmsPort="28673" AmsNetId="0.0.0.0.2.1" RemoteName="Device 1 (EtherCAT)" InfoImageId="2">
<Device Id="1" Disabled="true" DevType="111" DevFlags="#x0003" AmsPort="28673" AmsNetId="0.0.0.0.2.1" RemoteName="Device 1 (EtherCAT)" InfoImageId="2">
<Name>__FILENAME__</Name>
<AddressInfo>
<Pnp>
@@ -556,9 +556,6 @@
<Image Id="1" AddrType="9" ImageType="3">
<Name>Image</Name>
</Image>
<Image Id="5" AddrType="10" ImageType="3">
<Name>Prozessabbild-2</Name>
</Image>
<Box Id="24" BoxType="9099">
<Name>Etcher1ChuckPresent (EP1018-0001)</Name>
<ImageId>1000</ImageId>
@@ -35040,19 +35037,19 @@ Bit 8 - 15 : reserved]]></Comment>
<Var>
<Name>HEAD</Name>
<Type GUID="{D46F6451-58CF-4853-A5DB-DA36D1D59A28}" Namespace="IO">ECAT_HEAD</Type>
<BitOffs>1184</BitOffs>
<BitOffs>12416</BitOffs>
</Var>
<Var>
<Name>DATA</Name>
<Type GUID="{18071995-0000-0000-0000-001300000200}">ARRAY [0..511] OF BYTE</Type>
<BitOffs>1264</BitOffs>
<BitOffs>12496</BitOffs>
</Var>
<Var>
<Name>CNT</Name>
<Comment><![CDATA[Working counter
After receiving]]></Comment>
<Type>UINT</Type>
<BitOffs>5360</BitOffs>
<BitOffs>16592</BitOffs>
</Var>
</Vars>
<Vars VarGrpType="2">
@@ -35060,19 +35057,19 @@ After receiving]]></Comment>
<Var>
<Name>HEAD</Name>
<Type GUID="{D46F6451-58CF-4853-A5DB-DA36D1D59A28}" Namespace="IO">ECAT_HEAD</Type>
<BitOffs>1184</BitOffs>
<BitOffs>12416</BitOffs>
</Var>
<Var>
<Name>DATA</Name>
<Type GUID="{18071995-0000-0000-0000-001300000200}">ARRAY [0..511] OF BYTE</Type>
<BitOffs>1264</BitOffs>
<BitOffs>12496</BitOffs>
</Var>
<Var>
<Name>CNT</Name>
<Comment><![CDATA[Working counter
Before sending]]></Comment>
<Type>UINT</Type>
<BitOffs>5360</BitOffs>
<BitOffs>16592</BitOffs>
</Var>
</Vars>
</EtherCATCmd>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.19" ClassName="CDevDpRamDef" SubType="121">
<Device Id="11" DevType="121">
<Device Id="11" Disabled="true" DevType="121">
<Name>__FILENAME__</Name>
<AddressInfo>
<Pci>

View File

@@ -18,55 +18,4 @@
<TaskPouOid Prio="20" OTCID="#x08502001"/>
</TaskPouOids>
</Instance>
<Mappings>
<OwnerA>
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 44 (EX260-SEC1)">
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTester._xCloseDoor1" VarB="Byte 0^Output[3]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTester._xCloseDoor2" VarB="Byte 0^Output[1]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTester._xOpenDoor1" VarB="Byte 0^Output[2]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTester._xOpenDoor2" VarB="Byte 0^Output[0]" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^HV_K01_KL01^HV_K01_KL07 (EL2008)">
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTester._xCloseChamber1" VarB="Channel 6^HV Hot_CloseChamber" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTester._xCloseChamber2" VarB="Channel 3^HV Cold_CloseChamber" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTester._xOpenChamber1" VarB="Channel 5^HV Hot_OpenChamber" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTester._xOpenChamber2" VarB="Channel 2^HV Cold_OpenChamber" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^K01_KL01 (EK1100)^K01_KL02 (EL1018)">
<Link VarA="PlcTask Inputs^PRG_Safety._xRequestOpenDoor" VarB="Channel 4^MainDoorUnlock" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^K20_QM01 (EX260-SEC1)">
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._xCloseDoor" VarB="Byte 0^Output[1]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._xOpenDoor" VarB="Byte 0^Output[0]" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^K21_QM01 (EX260-SEC1)">
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._xCloseDoor" VarB="Byte 0^Output[1]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._xOpenDoor" VarB="Byte 0^Output[0]" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^PC_K01_KL01 (EK1100)^PC_K01_KL02 (EL1918)">
<Link VarA="PlcTask Inputs^PRG_Safety._xComStartup" VarB="StandardInputs^Standard Out Var 12" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Safety._xErrorAck" VarB="StandardOutputs^Standard In Var 212" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Safety._xLockDoor" VarB="StandardOutputs^Standard In Var 192" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Safety._xRun" VarB="StandardOutputs^Standard In Var 9" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^RobotMain">
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._abMirrorToolsAndPositions" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 4 (Greifer/Drehteller/Positionen)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._asiMotorTemps1To4" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 8 (Motor Temp)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._asiMotorTemps5To8" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 9 (Motor Temp)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._awJobStatesFromRobot" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 2 (JobAktiv/JobEnde)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._diMirrorOffsetPosX" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 5 (Offset X)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._diMirrorOffsetPosY" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 6 (Offset Y)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._diMirrorThickness" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 7 (Thickness)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._dwErrorBits" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 1 (Errorbits)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._dwJobForPLC" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 3 (JobForPLC)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot._uState^dwState" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 0 (Status)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot._abToolsAndPositions" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 2 (Greifer/Drehteller/Positionen)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot._diOffsetPosX" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 3 (Offset X)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot._diOffsetPosY" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 4 (Offset Y)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot._diThickness" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^ Output DWORD 5 (Thickness)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot._uCtrl^dwCtrl" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 0 (CMDs)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot._uJobs^dwJobs" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 1 (JobNr/PLCJobNr)"/>
</OwnerB>
</OwnerA>
</Mappings>
</TcSmItem>