![[Pasted image 20230925115512.png]] ![[Pasted image 20230925115534.png]] This gateways from #Malisko Reads and write from Henkel PLC to the Q1s PLCs This communication is made using: ![[Pasted image 20230925114635.png]] This area of E and A Then on the FC 7 / 26 "FC COM Data - QE1 from/to Henkel L23 / L24" the array is read and converted to an struct that can be used more easily in the DB ComHenkel_D ``` FOR #i := 0 TO 49 DO #atFromHenkel[#i] := "FromHenkel".di[#i]; CASE #i OF 0, 10, 20, 35..40, 44..49: #diAppo.%B3 := #atFromHenkel[#i].%B2; #diAppo.%B2 := #atFromHenkel[#i].%B3; #diAppo.%B1 := #atFromHenkel[#i].%B0; #diAppo.%B0 := #atFromHenkel[#i].%B1; #atFromHenkel[#i] := #diAppo; ELSE #diAppo.%W0 := #atFromHenkel[#i].%W1; #diAppo.%W1 := #atFromHenkel[#i].%W0; #atFromHenkel[#i] := #diAppo; END_CASE; END_FOR; ``` swaps bytes and words. ![[Pasted image 20230925114933.png]] For transforming the data the same memory is overlaid in this way: ![[Pasted image 20230925115046.png]] So then the for can iterate the data as an array to swap some bits and then the structured data is copied on the DB Last info of the structure used to communicate with #Malisko ![[L24_L23 Empty Bottle Conveyor Communication.xlsx]] Steps for the changeover: ![[Changeover process map v1.xlsx]]