summaryrefslogtreecommitdiff
path: root/lib61131aux.lib
blob: e01c77187841e719bd455204fee059e33214f2fc (plain) (blame)
ofshex dumpascii
0000 43 6f 44 65 53 79 73 2b 0f 17 8c 00 00 00 1d 00 00 00 00 1e 00 00 00 09 62 08 75 5c 01 00 00 00 CoDeSys+................b.u\....
0020 00 00 41 54 6c 63 70 6c 64 5c 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 15 00 00 00 56 41 ..ATlcpld\....................VA
0040 52 5f 47 4c 4f 42 41 4c 0d 0a 45 4e 44 5f 56 41 52 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 R_GLOBAL..END_VAR...............
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00a0 00 00 00 00 00 04 01 00 27 00 00 00 00 00 00 00 00 00 00 00 08 08 00 00 00 00 00 ce 00 00 00 dc ........'.......................
00c0 00 00 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 11 00 00 00 47 6c 6f 62 61 6c 65 5f 56 .......................Globale_V
00e0 61 72 69 61 62 6c 65 6e 00 08 62 08 75 5c 09 62 08 75 5c 08 00 00 00 00 00 65 54 65 20 41 52 59 ariablen..b.u\.b.u\......eTe.ARY
0100 50 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 15 00 00 00 56 41 52 5f 47 4c 4f 42 41 4c 0d P....................VAR_GLOBAL.
0120 0a 45 4e 44 5f 56 41 52 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .END_VAR........................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 04 00 00 04 06 00 07 08 1f 00 00 00 2c 00 00 00 00 00 3d 03 01 02 02 .....................,.....=....
01a0 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 16 00 00 00 46 42 5f 42 45 43 4b 48 4f 46 46 5f 45 ...................FB_BECKHOFF_E
01c0 4c 35 31 30 31 5f 49 4e 43 00 08 62 08 75 5c 09 62 08 75 5c 00 00 00 00 00 00 00 00 00 00 00 00 L5101_INC..b.u\.b.u\............
01e0 00 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 c2 01 00 00 46 55 4e 43 54 49 4f 4e 5f 42 ......................FUNCTION_B
0200 4c 4f 43 4b 20 46 42 5f 42 45 43 4b 48 4f 46 46 5f 45 4c 35 31 30 31 5f 49 4e 43 0d 0a 0d 0a 56 LOCK.FB_BECKHOFF_EL5101_INC....V
0220 41 52 5f 49 4e 50 55 54 0d 0a 09 45 5f 49 6e 66 6f 44 61 74 61 5f 41 64 73 41 64 64 72 5f 70 6f AR_INPUT...E_InfoData_AdsAddr_po
0240 72 74 09 09 41 54 25 49 2a 09 3a 20 49 4e 54 3b 0d 0a 09 45 5f 49 6e 66 6f 44 61 74 61 5f 53 74 rt..AT%I*.:.INT;...E_InfoData_St
0260 61 74 65 09 09 09 41 54 25 49 2a 09 3a 20 49 4e 54 3b 0d 0a 0d 0a 09 45 5f 43 6f 75 6e 74 65 72 ate...AT%I*.:.INT;.....E_Counter
0280 56 61 6c 75 65 09 09 09 09 41 54 25 49 2a 09 3a 20 55 49 4e 54 3b 0d 0a 09 55 45 62 6f 52 65 66 Value....AT%I*.:.UINT;...UEboRef
02a0 65 72 65 6e 7a 69 65 72 65 6e 09 09 09 09 09 3a 20 42 4f 4f 4c 3b 0d 0a 09 55 45 72 53 6b 61 6c erenzieren.....:.BOOL;...UErSkal
02c0 69 65 72 75 6e 67 09 09 09 09 09 09 3a 20 52 45 41 4c 3b 0d 0a 09 55 45 72 52 65 66 57 65 72 74 ierung......:.REAL;...UErRefWert
02e0 4d 6d 09 09 09 09 09 09 3a 20 52 45 41 4c 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 0d 0a 56 41 52 5f Mm......:.REAL;..END_VAR....VAR_
0300 4f 55 54 50 55 54 0d 0a 09 41 5f 53 65 74 43 6f 75 6e 74 65 72 09 09 09 09 41 54 25 51 2a 09 3a OUTPUT...A_SetCounter....AT%Q*.:
0320 20 42 4f 4f 4c 3b 0d 0a 09 41 5f 53 65 74 43 6f 75 6e 74 65 72 56 61 6c 75 65 09 09 09 41 54 25 .BOOL;...A_SetCounterValue...AT%
0340 51 2a 09 3a 20 55 49 4e 54 3b 0d 0a 09 55 41 62 6f 52 65 66 65 72 65 6e 7a 69 65 72 74 09 09 09 Q*.:.UINT;...UAboReferenziert...
0360 09 09 3a 20 42 4f 4f 4c 3b 0d 0a 09 55 41 72 57 65 72 74 3a 20 52 45 41 4c 3b 0d 0a 45 4e 44 5f ..:.BOOL;...UArWert:.REAL;..END_
0380 56 41 52 0d 0a 0d 0a 56 41 52 0d 0a 09 70 66 52 65 66 65 72 65 6e 7a 69 65 72 65 6e 09 09 09 09 VAR....VAR...pfReferenzieren....
03a0 09 09 3a 20 52 5f 54 52 49 47 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 0d 0a 12 e7 00 00 00 28 2a 2a ..:.R_TRIG;..END_VAR.........(**
03c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
03e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 29 0d 0a 28 2a 2a 20 42 65 63 6b 68 6f 66 66 *****************)..(**.Beckhoff
0400 20 45 4c 35 31 30 31 20 49 6e 63 72 65 6d 65 6e 74 61 6c 20 45 6e 63 6f 64 65 72 20 49 6e 74 65 .EL5101.Incremental.Encoder.Inte
0420 72 66 61 63 65 20 2a 2a 29 0d 0a 28 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a rface.**)..(********************
0440 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 29 *******************************)
0460 0d 0a 0d 0a 61 5f 52 65 66 65 72 65 6e 7a 69 65 72 65 6e 28 29 3b 0d 0a 0d 0a 55 41 72 57 65 72 ....a_Referenzieren();....UArWer
0480 74 20 3a 3d 20 45 5f 43 6f 75 6e 74 65 72 56 61 6c 75 65 20 2f 20 55 45 72 53 6b 61 6c 69 65 72 t.:=.E_CounterValue./.UErSkalier
04a0 75 6e 67 3b 04 01 00 06 08 23 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 02 00 02 00 02 00 02 ung;.....#......................
04c0 00 02 00 02 00 02 00 0f 00 00 00 61 5f 52 65 66 65 72 65 6e 7a 69 65 72 65 6e 00 08 62 08 75 5c ...........a_Referenzieren..b.u\
04e0 12 7c 01 00 00 70 66 52 65 66 65 72 65 6e 7a 69 65 72 65 6e 28 63 6c 6b 3a 3d 0d 0a 09 55 45 62 .|...pfReferenzieren(clk:=...UEb
0500 6f 52 65 66 65 72 65 6e 7a 69 65 72 65 6e 0d 0a 09 41 4e 44 20 45 5f 49 6e 66 6f 44 61 74 61 5f oReferenzieren...AND.E_InfoData_
0520 53 74 61 74 65 20 3d 20 38 09 28 2a 20 4f 70 20 2a 29 0d 0a 29 3b 0d 0a 55 45 62 6f 52 65 66 65 State.=.8.(*.Op.*)..);..UEboRefe
0540 72 65 6e 7a 69 65 72 65 6e 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 0d 0a 0d 0a 41 5f 53 65 74 43 6f renzieren.:=.FALSE;......A_SetCo
0560 75 6e 74 65 72 20 3a 3d 20 30 3b 0d 0a 28 2a 20 7a 2e 42 2e 09 52 65 66 57 65 72 74 4d 6d 20 3d unter.:=.0;..(*.z.B..RefWertMm.=
0580 20 34 33 32 0d 0a 09 09 53 6b 61 6c 69 65 72 75 6e 67 20 3d 20 32 35 0d 0a 09 3d 3e 20 31 30 38 .432....Skalierung.=.25...=>.108
05a0 30 30 09 09 09 2a 29 0d 0a 41 5f 53 65 74 43 6f 75 6e 74 65 72 56 61 6c 75 65 20 3a 3d 0d 0a 09 00...*)..A_SetCounterValue.:=...
05c0 52 45 41 4c 5f 54 4f 5f 55 49 4e 54 28 55 45 72 52 65 66 57 65 72 74 4d 6d 0d 0a 09 2a 20 55 45 REAL_TO_UINT(UErRefWertMm...*.UE
05e0 72 53 6b 61 6c 69 65 72 75 6e 67 29 3b 0d 0a 09 28 2a 20 54 4f 44 4f 3a 20 41 6e 64 65 72 65 20 rSkalierung);...(*.TODO:.Andere.
0600 54 79 70 65 6e 3f 20 2a 29 0d 0a 0d 0a 0d 0a 49 46 20 70 66 52 65 66 65 72 65 6e 7a 69 65 72 65 Typen?.*)......IF.pfReferenziere
0620 6e 2e 51 20 54 48 45 4e 0d 0a 09 41 5f 53 65 74 43 6f 75 6e 74 65 72 20 3a 3d 20 31 3b 0d 0a 09 n.Q.THEN...A_SetCounter.:=.1;...
0640 55 41 62 6f 52 65 66 65 72 65 6e 7a 69 65 72 74 20 3a 3d 20 54 52 55 45 3b 0d 0a 45 4e 44 5f 49 UAboReferenziert.:=.TRUE;..END_I
0660 46 00 00 00 00 00 00 00 00 00 00 00 00 00 07 08 24 00 00 00 2c 00 19 00 19 00 18 03 1a 02 02 00 F...............$...,...........
0680 02 00 02 00 02 00 02 00 02 00 02 00 02 00 05 00 00 00 46 42 5f 44 49 00 08 62 08 75 5c 09 62 08 ..................FB_DI..b.u\.b.
06a0 75 5c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 u\..............................
06c0 db 01 00 00 46 55 4e 43 54 49 4f 4e 5f 42 4c 4f 43 4b 20 46 42 5f 44 49 0d 0a 0d 0a 56 41 52 5f ....FUNCTION_BLOCK.FB_DI....VAR_
06e0 49 4e 50 55 54 0d 0a 09 45 5f 49 4e 50 55 54 09 41 54 25 49 2a 09 3a 20 42 4f 4f 4c 3b 0d 0a 09 INPUT...E_INPUT.AT%I*.:.BOOL;...
0700 55 45 62 6f 44 69 73 61 62 6c 65 09 3a 20 42 4f 4f 4c 3b 0d 0a 09 55 45 62 6f 52 65 73 65 74 46 UEboDisable.:.BOOL;...UEboResetF
0720 6c 61 6e 6b 65 6e 5a 61 65 68 6c 65 72 3a 20 42 4f 4f 4c 3b 0d 0a 09 55 45 74 45 6e 74 70 72 65 lankenZaehler:.BOOL;...UEtEntpre
0740 6c 6c 5a 65 69 74 3a 20 54 49 4d 45 20 3a 3d 20 74 23 35 30 6d 73 3b 0d 0a 09 55 45 62 6f 50 72 llZeit:.TIME.:=.t#50ms;...UEboPr
0760 6f 74 6f 6b 6f 6c 6c 65 20 3a 20 42 4f 4f 4c 3b 0d 0a 09 55 45 73 4e 61 6d 65 3a 20 53 54 52 49 otokolle.:.BOOL;...UEsName:.STRI
0780 4e 47 20 3a 3d 20 27 75 6e 62 65 6e 61 6e 6e 74 27 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 0d 0a 56 NG.:=.'unbenannt';..END_VAR....V
07a0 41 52 5f 4f 55 54 50 55 54 0d 0a 09 55 41 62 6f 49 6e 70 75 74 50 6f 73 46 6c 61 6e 6b 65 3a 20 AR_OUTPUT...UAboInputPosFlanke:.
07c0 42 4f 4f 4c 3b 0d 0a 09 55 41 62 6f 49 6e 70 75 74 45 6e 74 70 72 65 6c 6c 74 3a 20 42 4f 4f 4c BOOL;...UAboInputEntprellt:.BOOL
07e0 3b 0d 0a 09 55 41 62 6f 49 6e 70 75 74 3a 20 42 4f 4f 4c 3b 0d 0a 09 55 41 62 6f 49 6e 70 75 74 ;...UAboInput:.BOOL;...UAboInput
0800 4e 65 67 46 6c 61 6e 6b 65 3a 20 42 4f 4f 4c 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 0d 0a 56 41 52 NegFlanke:.BOOL;..END_VAR....VAR
0820 0d 0a 09 70 66 49 6e 70 75 74 3a 20 52 5f 54 52 49 47 3b 0d 0a 09 64 77 50 6f 73 46 6c 61 6e 6b ...pfInput:.R_TRIG;...dwPosFlank
0840 65 6e 3a 20 44 57 4f 52 44 3b 0d 0a 09 74 6f 6e 49 6e 70 75 74 3a 20 54 4f 4e 3b 0d 0a 09 6e 66 en:.DWORD;...tonInput:.TON;...nf
0860 49 6e 70 75 74 3a 20 46 5f 54 52 49 47 3b 0d 0a 09 64 77 4e 65 67 46 6c 61 6e 6b 65 6e 3a 20 44 Input:.F_TRIG;...dwNegFlanken:.D
0880 57 4f 52 44 3b 0d 0a 09 73 54 65 6d 70 3a 20 53 54 52 49 4e 47 3b 0d 0a 45 4e 44 5f 56 41 52 12 WORD;...sTemp:.STRING;..END_VAR.
08a0 48 03 00 00 28 2a 20 44 69 67 69 74 61 6c 20 49 6e 70 75 74 20 46 42 20 2a 29 0d 0a 0d 0a 70 66 H...(*.Digital.Input.FB.*)....pf
08c0 49 6e 70 75 74 28 63 6c 6b 3a 3d 45 5f 49 4e 50 55 54 20 41 4e 44 20 4e 4f 54 20 55 45 62 6f 44 Input(clk:=E_INPUT.AND.NOT.UEboD
08e0 69 73 61 62 6c 65 29 3b 0d 0a 6e 66 49 6e 70 75 74 28 63 6c 6b 3a 3d 45 5f 49 4e 50 55 54 20 41 isable);..nfInput(clk:=E_INPUT.A
0900 4e 44 20 4e 4f 54 20 55 45 62 6f 44 69 73 61 62 6c 65 29 3b 0d 0a 0d 0a 49 46 20 70 66 49 6e 70 ND.NOT.UEboDisable);....IF.pfInp
0920 75 74 2e 51 20 54 48 45 4e 0d 0a 09 64 77 50 6f 73 46 6c 61 6e 6b 65 6e 20 3a 3d 20 64 77 50 6f ut.Q.THEN...dwPosFlanken.:=.dwPo
0940 73 46 6c 61 6e 6b 65 6e 20 2b 20 31 3b 0d 0a 28 2a 09 49 46 20 55 45 62 6f 50 72 6f 74 6f 6b 6f sFlanken.+.1;..(*.IF.UEboProtoko
0960 6c 6c 65 20 54 48 45 4e 0d 0a 09 09 66 50 72 6f 74 6f 6b 6f 6c 6c 28 31 2c 20 43 4f 4e 43 41 54 lle.THEN....fProtokoll(1,.CONCAT
0980 28 27 70 66 49 6e 70 75 74 3a 20 27 2c 20 55 45 73 4e 61 6d 65 29 2c 20 30 29 3b 0d 0a 09 45 4e ('pfInput:.',.UEsName),.0);...EN
09a0 44 5f 49 46 2a 29 0d 0a 45 4e 44 5f 49 46 0d 0a 0d 0a 49 46 20 6e 66 49 6e 70 75 74 2e 51 20 54 D_IF*)..END_IF....IF.nfInput.Q.T
09c0 48 45 4e 0d 0a 09 64 77 4e 65 67 46 6c 61 6e 6b 65 6e 20 3a 3d 20 64 77 4e 65 67 46 6c 61 6e 6b HEN...dwNegFlanken.:=.dwNegFlank
09e0 65 6e 20 2b 20 31 3b 0d 0a 28 2a 09 49 46 20 55 45 62 6f 50 72 6f 74 6f 6b 6f 6c 6c 65 20 54 48 en.+.1;..(*.IF.UEboProtokolle.TH
0a00 45 4e 0d 0a 09 09 66 50 72 6f 74 6f 6b 6f 6c 6c 28 31 2c 20 43 4f 4e 43 41 54 28 27 6e 66 49 6e EN....fProtokoll(1,.CONCAT('nfIn
0a20 70 75 74 3a 20 27 2c 20 55 45 73 4e 61 6d 65 29 2c 20 30 29 3b 0d 0a 09 45 4e 44 5f 49 46 2a 29 put:.',.UEsName),.0);...END_IF*)
0a40 0d 0a 45 4e 44 5f 49 46 0d 0a 0d 0a 49 46 20 55 45 62 6f 52 65 73 65 74 46 6c 61 6e 6b 65 6e 5a ..END_IF....IF.UEboResetFlankenZ
0a60 61 65 68 6c 65 72 20 54 48 45 4e 0d 0a 09 55 45 62 6f 52 65 73 65 74 46 6c 61 6e 6b 65 6e 5a 61 aehler.THEN...UEboResetFlankenZa
0a80 65 68 6c 65 72 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 09 64 77 50 6f 73 46 6c 61 6e 6b 65 6e 20 3a ehler.:=.FALSE;...dwPosFlanken.:
0aa0 3d 20 30 3b 0d 0a 09 64 77 4e 65 67 46 6c 61 6e 6b 65 6e 20 3a 3d 20 30 3b 0d 0a 45 4e 44 5f 49 =.0;...dwNegFlanken.:=.0;..END_I
0ac0 46 0d 0a 0d 0a 28 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a F....(**************************
0ae0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 29 0d 0a 0d 0a 74 6f 6e 49 6e 70 75 74 28 69 6e 3a 3d 45 5f 49 4e **********)....tonInput(in:=E_IN
0b00 50 55 54 20 41 4e 44 20 4e 4f 54 20 55 45 62 6f 44 69 73 61 62 6c 65 2c 20 70 74 3a 3d 55 45 74 PUT.AND.NOT.UEboDisable,.pt:=UEt
0b20 45 6e 74 70 72 65 6c 6c 5a 65 69 74 29 3b 0d 0a 0d 0a 28 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a EntprellZeit);....(*************
0b40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 29 0d 0a 0d 0a 55 41 62 6f ***********************)....UAbo
0b60 49 6e 70 75 74 20 3a 3d 20 45 5f 49 4e 50 55 54 20 41 4e 44 20 4e 4f 54 20 55 45 62 6f 44 69 73 Input.:=.E_INPUT.AND.NOT.UEboDis
0b80 61 62 6c 65 3b 0d 0a 55 41 62 6f 49 6e 70 75 74 50 6f 73 46 6c 61 6e 6b 65 20 3a 3d 20 70 66 49 able;..UAboInputPosFlanke.:=.pfI
0ba0 6e 70 75 74 2e 51 3b 0d 0a 55 41 62 6f 49 6e 70 75 74 4e 65 67 46 6c 61 6e 6b 65 20 3a 3d 20 6e nput.Q;..UAboInputNegFlanke.:=.n
0bc0 66 49 6e 70 75 74 2e 51 3b 0d 0a 55 41 62 6f 49 6e 70 75 74 45 6e 74 70 72 65 6c 6c 74 20 3a 3d fInput.Q;..UAboInputEntprellt.:=
0be0 20 74 6f 6e 49 6e 70 75 74 2e 51 3b 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 08 1e 00 .tonInput.Q;....................
0c00 00 00 2c 00 00 00 00 00 5c 03 0e 02 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 07 00 00 00 ..,.....\.......................
0c20 46 42 5f 45 57 4d 41 00 08 62 08 75 5c 09 62 08 75 5c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FB_EWMA..b.u\.b.u\..............
0c40 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 c8 01 00 00 46 55 4e 43 54 49 4f 4e 5f 42 4c 4f ....................FUNCTION_BLO
0c60 43 4b 20 46 42 5f 45 57 4d 41 0d 0a 56 41 52 5f 49 4e 50 55 54 0d 0a 09 49 4e 5f 72 4e 09 09 09 CK.FB_EWMA..VAR_INPUT...IN_rN...
0c80 3a 20 52 45 41 4c 20 3a 3d 20 31 35 3b 09 28 2a 20 46 69 6c 74 65 72 20 63 6f 6e 73 74 61 6e 74 :.REAL.:=.15;.(*.Filter.constant
0ca0 20 61 6c 70 68 61 20 3a 3d 20 72 4e 2f 28 72 4e 2b 31 29 20 2a 29 0d 0a 09 49 4e 5f 72 58 6b 09 .alpha.:=.rN/(rN+1).*)...IN_rXk.
0cc0 09 09 3a 20 52 45 41 4c 3b 09 09 09 28 2a 20 49 6e 70 75 74 20 76 61 6c 75 65 20 74 6f 20 73 6d ..:.REAL;...(*.Input.value.to.sm
0ce0 6f 6f 74 68 20 2a 29 0d 0a 45 4e 44 5f 56 41 52 0d 0a 56 41 52 5f 4f 55 54 50 55 54 0d 0a 09 4f ooth.*)..END_VAR..VAR_OUTPUT...O
0d00 55 54 5f 72 58 6b 5f 61 76 67 09 09 3a 20 52 45 41 4c 3b 09 09 28 2a 20 73 6d 6f 6f 74 68 65 64 UT_rXk_avg..:.REAL;..(*.smoothed
0d20 20 6f 75 74 70 75 74 20 2a 29 0d 0a 45 4e 44 5f 56 41 52 0d 0a 56 41 52 0d 0a 09 72 41 6c 70 68 .output.*)..END_VAR..VAR...rAlph
0d40 61 09 09 09 3a 20 52 45 41 4c 3b 0d 0a 09 72 58 6b 5f 61 76 67 5f 6f 6c 64 09 09 3a 20 52 45 41 a...:.REAL;...rXk_avg_old..:.REA
0d60 4c 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 0d 0a 28 2a 20 45 78 70 6f 6e 65 6e 74 69 61 6c 6c 79 20 L;..END_VAR....(*.Exponentially.
0d80 57 65 69 67 68 74 65 64 20 4d 6f 76 69 6e 67 20 41 76 65 72 61 67 65 20 46 69 6c 74 65 72 0d 0a Weighted.Moving.Average.Filter..
0da0 41 75 74 68 6f 72 3a 20 6d 6f 0d 0a 44 61 74 65 3a 20 32 30 31 39 2d 30 32 0d 0a 0d 0a 46 69 6c Author:.mo..Date:.2019-02....Fil
0dc0 74 65 72 20 63 6f 6e 73 74 61 6e 74 3a 09 61 6c 70 68 61 20 3a 3d 20 6e 20 2f 20 28 6e 2b 31 29 ter.constant:.alpha.:=.n./.(n+1)
0de0 0d 0a 45 57 4d 41 20 46 69 6c 74 65 72 3a 09 09 58 6b 5f 61 76 67 20 3a 3d 20 61 6c 70 68 61 2a ..EWMA.Filter:..Xk_avg.:=.alpha*
0e00 58 6b 5f 70 72 65 76 20 2b 20 28 31 2d 61 6c 70 68 61 29 2a 58 6b 0d 0a 0d 0a 2a 29 12 82 00 00 Xk_prev.+.(1-alpha)*Xk....*)....
0e20 00 72 41 6c 70 68 61 20 3a 3d 20 49 4e 5f 72 4e 2f 28 49 4e 5f 72 4e 2b 31 29 3b 0d 0a 0d 0a 4f .rAlpha.:=.IN_rN/(IN_rN+1);....O
0e40 55 54 5f 72 58 6b 5f 61 76 67 20 3a 3d 09 72 41 6c 70 68 61 20 2a 20 72 58 6b 5f 61 76 67 5f 6f UT_rXk_avg.:=.rAlpha.*.rXk_avg_o
0e60 6c 64 0d 0a 09 09 09 2b 20 28 20 28 31 20 2d 20 72 41 6c 70 68 61 29 20 2a 20 49 4e 5f 72 58 6b ld.....+.(.(1.-.rAlpha).*.IN_rXk
0e80 29 3b 0d 0a 0d 0a 72 58 6b 5f 61 76 67 5f 6f 6c 64 20 3a 3d 20 4f 55 54 5f 72 58 6b 5f 61 76 67 );....rXk_avg_old.:=.OUT_rXk_avg
0ea0 3b 0d 0a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 08 21 00 00 00 2c 00 4b 00 4b 00 c7 ;....................!...,.K.K..
0ec0 01 7c 02 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 0e 00 00 00 46 42 5f 49 4e 43 5f 44 45 .|.....................FB_INC_DE
0ee0 43 4f 44 45 52 00 08 62 08 75 5c 09 62 08 75 5c 00 00 00 00 00 00 0d 0a 4e 5f 20 3a 30 2e 02 00 CODER..b.u\.b.u\........N_.:0...
0f00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 51 07 00 00 46 55 4e 43 54 49 4f 4e 5f 42 4c 4f 43 4b ..............Q...FUNCTION_BLOCK
0f20 20 46 42 5f 49 4e 43 5f 44 45 43 4f 44 45 52 0d 0a 56 41 52 5f 49 4e 50 55 54 0d 0a 09 49 4e 5f .FB_INC_DECODER..VAR_INPUT...IN_
0f40 78 43 68 41 09 09 09 3a 20 42 4f 4f 4c 3b 09 09 28 2a 20 43 68 61 6e 6e 65 6c 20 41 20 2a 29 0d xChA...:.BOOL;..(*.Channel.A.*).
0f60 0a 09 49 4e 5f 78 43 68 42 09 09 09 3a 20 42 4f 4f 4c 3b 09 09 28 2a 20 43 68 61 6e 6e 65 6c 20 ..IN_xChB...:.BOOL;..(*.Channel.
0f80 42 2c 20 39 30 2d 64 65 67 72 65 65 20 72 6f 74 61 74 65 64 20 74 6f 20 43 68 61 6e 6e 65 6c 20 B,.90-degree.rotated.to.Channel.
0fa0 41 20 2a 29 0d 0a 09 49 4e 5f 78 52 65 73 65 74 09 09 3a 20 42 4f 4f 4c 3b 09 09 28 2a 20 52 65 A.*)...IN_xReset..:.BOOL;..(*.Re
0fc0 73 65 74 20 63 6f 75 6e 74 65 72 20 74 6f 20 30 20 2a 29 0d 0a 0d 0a 09 49 4e 5f 78 45 6e 50 6f set.counter.to.0.*).....IN_xEnPo
0fe0 73 57 69 6e 64 6f 77 09 3a 20 42 4f 4f 4c 3b 20 09 28 2a 20 54 52 55 45 20 69 66 20 79 6f 75 20 sWindow.:.BOOL;..(*.TRUE.if.you.
1000 77 61 6e 74 20 74 6f 20 6f 76 65 72 66 6c 6f 77 20 74 68 65 20 63 6f 75 6e 74 69 6e 67 20 61 74 want.to.overflow.the.counting.at
1020 20 6d 69 6e 2f 6d 61 78 20 76 61 6c 75 65 73 20 62 65 6c 6f 77 20 2a 29 0d 0a 09 49 4e 5f 64 69 .min/max.values.below.*)...IN_di
1040 4d 69 6e 56 61 6c 09 09 3a 20 44 49 4e 54 3b 0d 0a 09 49 4e 5f 64 69 4d 61 78 56 61 6c 09 09 3a MinVal..:.DINT;...IN_diMaxVal..:
1060 20 44 49 4e 54 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 56 41 52 5f 4f 55 54 50 55 54 0d 0a 09 4f 55 .DINT;..END_VAR..VAR_OUTPUT...OU
1080 54 5f 64 69 41 63 74 56 61 6c 09 3a 20 44 49 4e 54 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 56 41 52 T_diActVal.:.DINT;..END_VAR..VAR
10a0 5f 4f 55 54 50 55 54 20 50 45 52 53 49 53 54 45 4e 54 0d 0a 09 4f 55 54 5f 70 64 69 41 63 74 56 _OUTPUT.PERSISTENT...OUT_pdiActV
10c0 61 6c 09 3a 20 44 49 4e 54 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 56 41 52 0d 0a 09 72 74 43 68 41 al.:.DINT;..END_VAR..VAR...rtChA
10e0 09 09 3a 20 52 5f 54 52 49 47 3b 0d 0a 09 72 74 43 68 42 09 09 3a 20 52 5f 54 52 49 47 3b 0d 0a ..:.R_TRIG;...rtChB..:.R_TRIG;..
1100 09 66 74 43 68 41 09 09 3a 20 46 5f 54 52 49 47 3b 0d 0a 09 66 74 43 68 42 09 09 3a 20 46 5f 54 .ftChA..:.F_TRIG;...ftChB..:.F_T
1120 52 49 47 3b 0d 0a 09 78 46 69 72 73 74 43 79 63 6c 65 09 3a 20 42 4f 4f 4c 3b 0d 0a 45 4e 44 5f RIG;...xFirstCycle.:.BOOL;..END_
1140 56 41 52 0d 0a 0d 0a 28 2a 0d 0a 0d 0a 49 6e 63 72 65 6d 65 6e 74 61 6c 20 45 6e 63 6f 64 65 72 VAR....(*....Incremental.Encoder
1160 20 44 65 63 6f 64 65 72 20 46 42 0d 0a 41 75 74 68 6f 72 3a 20 6d 6f 0d 0a 44 61 74 65 3a 20 32 .Decoder.FB..Author:.mo..Date:.2
1180 30 31 39 2d 30 32 0d 0a 0d 0a 09 61 6c 74 65 72 6e 61 74 69 76 65 20 4f 53 43 41 54 20 69 6d 70 019-02.....alternative.OSCAT.imp
11a0 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 28 66 61 75 6c 74 79 21 29 20 62 65 6c 6f 77 3a 0d 0a 09 0d lementation.(faulty!).below:....
11c0 0a 09 3c 4f 53 43 41 54 3e 0d 0a 09 61 78 62 20 3a 3d 20 63 68 61 20 58 4f 52 20 63 68 62 3b 0d ..<OSCAT>...axb.:=.cha.XOR.chb;.
11e0 0a 09 0d 0a 09 28 2a 20 63 72 65 61 74 65 20 70 75 6c 73 65 73 20 66 6f 72 20 63 68 61 6e 6e 65 .....(*.create.pulses.for.channe
1200 6c 20 61 20 2a 29 0d 0a 09 63 6c 6b 61 20 3a 3d 20 63 68 61 20 58 4f 52 20 65 64 67 65 61 3b 0d l.a.*)...clka.:=.cha.XOR.edgea;.
1220 0a 09 65 64 67 65 61 20 3a 3d 20 63 68 61 3b 0d 0a 09 0d 0a 09 63 6c 6b 62 20 3a 3d 20 63 68 62 ..edgea.:=.cha;......clkb.:=.chb
1240 20 58 4f 52 20 65 64 67 65 62 3b 0d 0a 09 65 64 67 65 62 20 3a 3d 20 63 68 62 3b 0d 0a 09 0d 0a .XOR.edgeb;...edgeb.:=.chb;.....
1260 09 28 2a 20 63 72 65 61 74 65 20 70 75 6c 73 65 73 20 66 6f 72 20 62 6f 74 68 20 63 68 61 6e 6e .(*.create.pulses.for.both.chann
1280 65 6c 73 20 2a 29 0d 0a 09 63 6c 6b 20 3a 3d 20 63 6c 6b 61 20 4f 52 20 63 6c 6b 62 3b 0d 0a 09 els.*)...clk.:=.clka.OR.clkb;...
12a0 0d 0a 09 28 2a 20 73 65 74 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 6f 75 74 70 75 74 20 2a ...(*.set.the.direction.output.*
12c0 29 0d 0a 09 49 46 20 61 78 62 20 41 4e 44 20 63 6c 6b 61 20 54 48 45 4e 20 64 69 72 20 3a 3d 20 )...IF.axb.AND.clka.THEN.dir.:=.
12e0 54 52 55 45 3b 20 45 4e 44 5f 49 46 3b 0d 0a 09 49 46 20 61 78 62 20 41 4e 44 20 63 6c 6b 62 20 TRUE;.END_IF;...IF.axb.AND.clkb.
1300 54 48 45 4e 20 64 69 72 20 3a 3d 20 46 41 4c 53 45 3b 20 45 4e 44 5f 49 46 3b 0d 0a 09 0d 0a 09 THEN.dir.:=.FALSE;.END_IF;......
1320 28 2a 20 69 6e 63 72 65 6d 65 6e 74 20 6f 72 20 64 65 63 72 65 6d 65 6e 74 20 74 68 65 20 63 6f (*.increment.or.decrement.the.co
1340 75 6e 74 65 72 20 2a 29 0d 0a 09 49 46 20 63 6c 6b 20 41 4e 44 20 64 69 72 20 54 48 45 4e 20 63 unter.*)...IF.clk.AND.dir.THEN.c
1360 6e 74 20 3a 3d 20 63 6e 74 20 2b 20 31 3b 20 45 4e 44 5f 49 46 3b 0d 0a 09 49 46 20 63 6c 6b 20 nt.:=.cnt.+.1;.END_IF;...IF.clk.
1380 41 4e 44 20 4e 4f 54 20 64 69 72 20 54 48 45 4e 20 63 6e 74 20 3a 3d 20 63 6e 74 20 2d 31 3b 20 AND.NOT.dir.THEN.cnt.:=.cnt.-1;.
13a0 45 4e 44 5f 49 46 3b 0d 0a 09 0d 0a 09 28 2a 20 72 65 73 65 74 20 74 68 65 20 63 6f 75 6e 74 65 END_IF;......(*.reset.the.counte
13c0 72 20 69 66 20 72 73 74 20 61 63 74 69 76 65 20 2a 29 0d 0a 09 49 46 20 72 73 74 20 54 48 45 4e r.if.rst.active.*)...IF.rst.THEN
13e0 20 63 6e 74 20 3a 3d 20 30 3b 20 45 4e 44 5f 49 46 3b 0d 0a 09 3c 2f 4f 53 43 41 54 3e 0d 0a 0d .cnt.:=.0;.END_IF;...</OSCAT>...
1400 0a 3d 3e 20 70 72 6f 62 6c 65 6d 20 68 65 72 65 20 69 73 3a 20 69 66 20 79 6f 75 72 20 66 69 72 .=>.problem.here.is:.if.your.fir
1420 73 74 20 70 75 6c 73 65 20 69 73 20 65 2e 67 2e 20 61 20 72 69 73 69 6e 67 20 65 64 67 65 20 6f st.pulse.is.e.g..a.rising.edge.o
1440 6e 20 43 48 62 0d 0a 20 20 20 77 69 74 68 20 61 20 68 69 67 68 20 73 69 67 6e 61 6c 20 6f 6e 20 n.CHb.....with.a.high.signal.on.
1460 43 48 61 2c 20 69 74 20 77 69 6c 6c 20 69 6e 63 72 65 6d 65 6e 74 20 63 6e 74 2c 20 62 75 74 20 CHa,.it.will.increment.cnt,.but.
1480 69 6e 20 74 68 65 20 46 41 4c 53 45 0d 0a 20 20 20 64 69 72 65 63 74 69 6f 6e 20 69 6e 73 74 65 in.the.FALSE.....direction.inste
14a0 61 64 20 6f 66 20 74 68 65 20 54 52 55 45 20 64 69 72 65 63 74 69 6f 6e 2e 20 73 6f 20 79 6f 75 ad.of.the.TRUE.direction..so.you
14c0 72 20 66 69 72 73 74 20 70 75 6c 73 65 20 6d 69 67 68 74 20 63 6f 75 6e 74 0d 0a 20 20 20 69 6e r.first.pulse.might.count.....in
14e0 74 6f 20 74 68 65 20 77 72 6f 6e 67 20 64 69 72 65 63 74 69 6f 6e 21 0d 0a 0d 0a 0d 0a 54 68 69 to.the.wrong.direction!......Thi
1500 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 61 6c s.implementation.accounts.for.al
1520 6c 20 70 6f 73 73 69 62 6c 65 20 74 72 61 6e 73 69 74 69 6f 6e 73 2e 0d 0a 59 6f 75 20 63 61 6e l.possible.transitions...You.can
1540 20 75 73 65 20 4f 55 54 5f 64 69 41 63 74 56 61 6c 20 6f 72 20 74 68 65 20 70 65 72 73 69 73 74 .use.OUT_diActVal.or.the.persist
1560 65 6e 74 20 56 65 72 73 69 6f 6e 20 4f 55 54 5f 70 64 69 41 63 74 56 61 6c 20 69 66 20 79 6f 75 ent.Version.OUT_pdiActVal.if.you
1580 72 20 68 61 72 64 77 61 72 65 0d 0a 69 73 20 6e 6f 74 20 6d 6f 76 69 6e 67 20 77 68 69 6c 65 20 r.hardware..is.not.moving.while.
15a0 70 6f 77 65 72 65 64 20 6f 66 66 20 74 6f 20 61 76 6f 69 64 20 72 65 66 65 72 65 6e 63 65 20 72 powered.off.to.avoid.reference.r
15c0 75 6e 73 20 61 74 20 65 61 63 68 20 72 65 73 74 61 72 74 20 6f 66 20 74 68 65 20 50 4c 43 2e 0d uns.at.each.restart.of.the.PLC..
15e0 0a 0d 0a 20 20 31 20 20 7c 2d 2d 2d 2d 7c 20 20 20 20 7c 2d 2d 2d 2d 7c 20 20 20 20 7c 2d 0d 0a .....1..|----|....|----|....|-..
1600 41 20 30 20 5f 7c 20 20 20 20 7c 5f 5f 5f 5f 7c 20 20 20 20 7c 5f 5f 5f 5f 7c 0d 0a 0d 0a 20 20 A.0._|....|____|....|____|......
1620 31 20 20 20 20 20 7c 2d 2d 2d 2d 7c 20 20 20 20 7c 2d 2d 2d 2d 7c 20 20 20 20 7c 2d 0d 0a 42 20 1.....|----|....|----|....|-..B.
1640 30 20 20 20 20 5f 7c 20 20 20 20 7c 5f 5f 5f 5f 7c 20 20 20 20 7c 5f 5f 5f 5f 7c 0d 0a 0d 0a 2a 0...._|....|____|....|____|....*
1660 29 0d 0a 12 4a 04 00 00 72 74 43 68 41 28 63 6c 6b 3a 3d 49 4e 5f 78 43 68 41 29 3b 0d 0a 72 74 )...J...rtChA(clk:=IN_xChA);..rt
1680 43 68 42 28 63 6c 6b 3a 3d 49 4e 5f 78 43 68 42 29 3b 0d 0a 66 74 43 68 41 28 63 6c 6b 3a 3d 49 ChB(clk:=IN_xChB);..ftChA(clk:=I
16a0 4e 5f 78 43 68 41 29 3b 0d 0a 66 74 43 68 42 28 63 6c 6b 3a 3d 49 4e 5f 78 43 68 42 29 3b 0d 0a N_xChA);..ftChB(clk:=IN_xChB);..
16c0 0d 0a 28 2a 20 64 6f 6e 27 74 20 65 76 61 6c 75 61 74 65 20 74 68 65 20 63 68 61 6e 67 69 6e 67 ..(*.don't.evaluate.the.changing
16e0 20 65 64 67 65 73 20 77 68 65 6e 20 50 4c 43 20 73 74 61 72 74 73 20 75 70 20 2a 29 0d 0a 49 46 .edges.when.PLC.starts.up.*)..IF
1700 20 78 46 69 72 73 74 43 79 63 6c 65 20 54 48 45 4e 0d 0a 09 49 46 20 09 09 28 72 74 43 68 41 2e .xFirstCycle.THEN...IF...(rtChA.
1720 51 20 41 4e 44 20 4e 4f 54 20 49 4e 5f 78 43 68 42 29 0d 0a 09 09 4f 52 09 28 66 74 43 68 41 2e Q.AND.NOT.IN_xChB)....OR.(ftChA.
1740 51 20 41 4e 44 20 49 4e 5f 78 43 68 42 29 0d 0a 09 09 4f 52 09 28 72 74 43 68 42 2e 51 20 41 4e Q.AND.IN_xChB)....OR.(rtChB.Q.AN
1760 44 20 49 4e 5f 78 43 68 41 29 0d 0a 09 09 4f 52 09 28 66 74 43 68 42 2e 51 20 41 4e 44 20 4e 4f D.IN_xChA)....OR.(ftChB.Q.AND.NO
1780 54 20 49 4e 5f 78 43 68 41 29 0d 0a 09 54 48 45 4e 0d 0a 09 09 4f 55 54 5f 64 69 41 63 74 56 61 T.IN_xChA)...THEN....OUT_diActVa
17a0 6c 20 3a 3d 20 4f 55 54 5f 64 69 41 63 74 56 61 6c 20 2b 20 31 3b 0d 0a 09 09 4f 55 54 5f 70 64 l.:=.OUT_diActVal.+.1;....OUT_pd
17c0 69 41 63 74 56 61 6c 20 3a 3d 20 4f 55 54 5f 70 64 69 41 63 74 56 61 6c 20 2b 20 31 3b 0d 0a 09 iActVal.:=.OUT_pdiActVal.+.1;...
17e0 45 4e 44 5f 49 46 0d 0a 0d 0a 09 49 46 09 09 28 72 74 43 68 41 2e 51 20 41 4e 44 20 49 4e 5f 78 END_IF.....IF..(rtChA.Q.AND.IN_x
1800 43 68 42 29 0d 0a 09 09 4f 52 09 28 66 74 43 68 41 2e 51 20 41 4e 44 20 4e 4f 54 20 49 4e 5f 78 ChB)....OR.(ftChA.Q.AND.NOT.IN_x
1820 43 68 42 29 0d 0a 09 09 4f 52 09 28 72 74 43 68 42 2e 51 20 41 4e 44 20 4e 4f 54 20 49 4e 5f 78 ChB)....OR.(rtChB.Q.AND.NOT.IN_x
1840 43 68 41 29 0d 0a 09 09 4f 52 09 28 66 74 43 68 42 2e 51 20 41 4e 44 20 49 4e 5f 78 43 68 41 29 ChA)....OR.(ftChB.Q.AND.IN_xChA)
1860 0d 0a 09 54 48 45 4e 0d 0a 09 09 4f 55 54 5f 64 69 41 63 74 56 61 6c 20 3a 3d 20 4f 55 54 5f 64 ...THEN....OUT_diActVal.:=.OUT_d
1880 69 41 63 74 56 61 6c 20 2d 20 31 3b 0d 0a 09 09 4f 55 54 5f 70 64 69 41 63 74 56 61 6c 20 3a 3d iActVal.-.1;....OUT_pdiActVal.:=
18a0 20 4f 55 54 5f 70 64 69 41 63 74 56 61 6c 20 2d 20 31 3b 0d 0a 09 45 4e 44 5f 49 46 0d 0a 45 4e .OUT_pdiActVal.-.1;...END_IF..EN
18c0 44 5f 49 46 0d 0a 0d 0a 49 46 20 49 4e 5f 78 52 65 73 65 74 20 54 48 45 4e 0d 0a 09 4f 55 54 5f D_IF....IF.IN_xReset.THEN...OUT_
18e0 64 69 41 63 74 56 61 6c 20 3a 3d 20 30 3b 0d 0a 09 4f 55 54 5f 70 64 69 41 63 74 56 61 6c 20 3a diActVal.:=.0;...OUT_pdiActVal.:
1900 3d 20 30 3b 0d 0a 45 4e 44 5f 49 46 0d 0a 0d 0a 49 46 20 49 4e 5f 78 45 6e 50 6f 73 57 69 6e 64 =.0;..END_IF....IF.IN_xEnPosWind
1920 6f 77 20 54 48 45 4e 0d 0a 09 49 46 20 4f 55 54 5f 64 69 41 63 74 56 61 6c 20 3c 20 49 4e 5f 64 ow.THEN...IF.OUT_diActVal.<.IN_d
1940 69 4d 69 6e 56 61 6c 20 54 48 45 4e 0d 0a 09 09 4f 55 54 5f 64 69 41 63 74 56 61 6c 20 3a 3d 20 iMinVal.THEN....OUT_diActVal.:=.
1960 49 4e 5f 64 69 4d 61 78 56 61 6c 20 2d 20 31 3b 0d 0a 09 45 4e 44 5f 49 46 0d 0a 0d 0a 09 49 46 IN_diMaxVal.-.1;...END_IF.....IF
1980 20 4f 55 54 5f 64 69 41 63 74 56 61 6c 20 3e 3d 20 49 4e 5f 64 69 4d 61 78 56 61 6c 20 54 48 45 .OUT_diActVal.>=.IN_diMaxVal.THE
19a0 4e 0d 0a 09 09 4f 55 54 5f 64 69 41 63 74 56 61 6c 20 3a 3d 20 49 4e 5f 64 69 4d 69 6e 56 61 6c N....OUT_diActVal.:=.IN_diMinVal
19c0 3b 0d 0a 09 45 4e 44 5f 49 46 0d 0a 0d 0a 09 28 2a 20 66 6f 72 20 70 65 72 73 69 73 74 65 6e 74 ;...END_IF.....(*.for.persistent
19e0 20 63 6f 75 6e 74 65 72 20 2a 29 0d 0a 09 49 46 20 4f 55 54 5f 70 64 69 41 63 74 56 61 6c 20 3c .counter.*)...IF.OUT_pdiActVal.<
1a00 20 49 4e 5f 64 69 4d 69 6e 56 61 6c 20 54 48 45 4e 0d 0a 09 09 4f 55 54 5f 70 64 69 41 63 74 56 .IN_diMinVal.THEN....OUT_pdiActV
1a20 61 6c 20 3a 3d 20 49 4e 5f 64 69 4d 61 78 56 61 6c 20 2d 20 31 3b 0d 0a 09 45 4e 44 5f 49 46 0d al.:=.IN_diMaxVal.-.1;...END_IF.
1a40 0a 0d 0a 09 49 46 20 4f 55 54 5f 70 64 69 41 63 74 56 61 6c 20 3e 3d 20 49 4e 5f 64 69 4d 61 78 ....IF.OUT_pdiActVal.>=.IN_diMax
1a60 56 61 6c 20 54 48 45 4e 0d 0a 09 09 4f 55 54 5f 70 64 69 41 63 74 56 61 6c 20 3a 3d 20 49 4e 5f Val.THEN....OUT_pdiActVal.:=.IN_
1a80 64 69 4d 69 6e 56 61 6c 3b 0d 0a 09 45 4e 44 5f 49 46 0d 0a 45 4e 44 5f 49 46 0d 0a 0d 0a 78 46 diMinVal;...END_IF..END_IF....xF
1aa0 69 72 73 74 43 79 63 6c 65 20 3a 3d 20 54 52 55 45 3b 04 00 00 00 00 00 00 00 00 00 00 00 00 00 irstCycle.:=.TRUE;..............
1ac0 00 00 07 08 22 00 00 00 2c 00 64 00 64 00 cc 04 9f 02 02 00 02 00 02 00 02 00 02 00 02 00 02 00 ...."...,.d.d...................
1ae0 02 00 06 00 00 00 46 42 5f 50 49 44 00 08 62 08 75 5c 09 62 08 75 5c 00 00 00 00 00 00 52 20 67 ......FB_PID..b.u\.b.u\......R.g
1b00 65 09 65 65 62 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 89 05 00 00 46 55 4e 43 54 49 4f e.eeb....................FUNCTIO
1b20 4e 5f 42 4c 4f 43 4b 20 46 42 5f 50 49 44 0d 0a 56 41 52 5f 49 4e 50 55 54 09 09 09 09 28 2a 20 N_BLOCK.FB_PID..VAR_INPUT....(*.
1b40 65 78 2e 3a 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 2a 29 0d 0a 09 49 4e 5f 78 45 6e 61 62 6c 65 ex.:.positioning.*)...IN_xEnable
1b60 09 3a 20 42 4f 4f 4c 20 3a 3d 20 54 52 55 45 3b 0d 0a 09 49 4e 5f 78 52 65 73 65 74 09 3a 20 42 .:.BOOL.:=.TRUE;...IN_xReset.:.B
1b80 4f 4f 4c 3b 0d 0a 09 49 4e 5f 72 57 09 09 3a 20 52 45 41 4c 3b 20 28 2a 20 65 78 20 2d 3e 20 74 OOL;...IN_rW..:.REAL;.(*.ex.->.t
1ba0 61 72 67 65 74 20 70 6f 73 69 74 69 6f 6e 20 2a 29 0d 0a 09 49 4e 5f 72 58 09 09 3a 20 52 45 41 arget.position.*)...IN_rX..:.REA
1bc0 4c 3b 20 28 2a 20 65 78 20 2d 3e 20 61 63 74 75 61 6c 20 70 6f 73 69 74 69 6f 6e 20 2a 29 0d 0a L;.(*.ex.->.actual.position.*)..
1be0 0d 0a 09 49 4e 5f 72 4b 70 09 09 3a 20 52 45 41 4c 20 3a 3d 20 31 2e 30 3b 0d 0a 09 49 4e 5f 72 ...IN_rKp..:.REAL.:=.1.0;...IN_r
1c00 4b 69 09 09 3a 20 52 45 41 4c 20 3a 3d 20 31 2e 30 3b 0d 0a 09 49 4e 5f 72 4b 64 09 09 3a 20 52 Ki..:.REAL.:=.1.0;...IN_rKd..:.R
1c20 45 41 4c 20 3a 3d 20 31 2e 30 3b 0d 0a 0d 0a 09 49 4e 5f 78 4c 69 6d 69 74 09 3a 20 42 4f 4f 4c EAL.:=.1.0;.....IN_xLimit.:.BOOL
1c40 20 3a 3d 20 46 41 4c 53 45 3b 0d 0a 09 49 4e 5f 72 4c 69 6d 69 74 20 09 3a 20 52 45 41 4c 20 3a .:=.FALSE;...IN_rLimit..:.REAL.:
1c60 3d 20 31 30 32 34 3b 0d 0a 0d 0a 09 49 4e 5f 72 54 61 09 09 3a 20 52 45 41 4c 3b 20 28 2a 20 73 =.1024;.....IN_rTa..:.REAL;.(*.s
1c80 61 6d 70 6c 69 6e 67 20 72 61 74 65 20 69 6e 20 73 20 2a 29 0d 0a 45 4e 44 5f 56 41 52 0d 0a 56 ampling.rate.in.s.*)..END_VAR..V
1ca0 41 52 5f 4f 55 54 50 55 54 0d 0a 09 4f 55 54 5f 72 59 09 09 3a 20 52 45 41 4c 3b 09 28 2a 20 65 AR_OUTPUT...OUT_rY..:.REAL;.(*.e
1cc0 78 2e 20 2d 3e 20 73 65 74 20 73 70 65 65 64 20 2a 29 0d 0a 45 4e 44 5f 56 41 52 0d 0a 56 41 52 x..->.set.speed.*)..END_VAR..VAR
1ce0 0d 0a 09 72 45 53 75 6d 09 09 09 3a 20 52 45 41 4c 3b 0d 0a 09 72 45 5f 6f 6c 64 09 09 09 3a 20 ...rESum...:.REAL;...rE_old...:.
1d00 52 45 41 4c 3b 0d 0a 09 72 45 09 09 09 09 3a 20 52 45 41 4c 3b 0d 0a 09 78 57 69 74 68 69 6e 4c REAL;...rE....:.REAL;...xWithinL
1d20 69 6d 69 74 73 09 3a 20 42 4f 4f 4c 3b 0d 0a 09 72 59 5f 74 6d 70 09 09 09 3a 20 52 45 41 4c 3b imits.:.BOOL;...rY_tmp...:.REAL;
1d40 0d 0a 09 64 77 52 65 73 65 74 3a 20 44 57 4f 52 44 3b 0d 0a 45 4e 44 5f 56 41 52 0d 0a 0d 0a 28 ...dwReset:.DWORD;..END_VAR....(
1d60 2a 0d 0a 0d 0a 50 49 44 20 43 4f 4e 54 52 4f 4c 4c 45 52 0d 0a 41 75 74 68 6f 72 3a 20 6d 6f 0d *....PID.CONTROLLER..Author:.mo.
1d80 0a 44 61 74 65 3a 20 32 30 31 39 2d 30 32 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Date:.2019-02..................
1da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 7a 0d 0a 20 20 77 20 20 20 20 20 20 65 20 20 20 20 ..............|z....w......e....
1dc0 20 20 20 20 20 20 20 20 20 20 20 79 20 20 20 20 76 0d 0a 20 20 2d 2d 3e 28 20 29 2d 2d 2d 3e 5b ...........y....v....-->(.)--->[
1de0 63 6f 6e 74 72 6f 6c 6c 65 72 5d 2d 2d 2d 2d 3e 5b 73 79 73 74 65 6d 5d 2d 2d 2d 2d 3e 0d 0a 20 controller]---->[system]---->...
1e00 20 20 20 20 20 5e 78 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....^x.........................
1e20 20 20 20 20 20 20 7c 0d 0a 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......|........|................
1e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d ................|........-------
1e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 ---------------------------....S
1e80 65 74 20 75 70 20 50 49 44 20 75 73 69 6e 67 20 5a 69 65 67 6c 65 72 2d 4e 69 63 68 6f 6c 73 2d et.up.PID.using.Ziegler-Nichols-
1ea0 4d 65 74 68 6f 64 3a 0d 0a 0d 0a 31 29 20 4b 69 20 3d 20 30 2c 20 4b 64 20 3d 20 30 0d 0a 32 29 Method:....1).Ki.=.0,.Kd.=.0..2)
1ec0 20 69 6e 63 72 65 61 73 65 20 4b 70 20 75 6e 74 69 6c 20 70 65 72 69 6f 64 69 63 20 6f 73 63 69 .increase.Kp.until.periodic.osci
1ee0 6c 6c 61 74 69 6f 6e 20 6f 63 63 75 72 73 20 28 61 6e 64 20 6e 65 76 65 72 20 73 74 6f 70 73 20 llation.occurs.(and.never.stops.
1f00 73 77 69 6e 67 69 6e 67 29 0d 0a 33 29 20 74 68 69 73 20 76 61 6c 75 65 20 69 73 20 4b 70 5f 63 swinging)..3).this.value.is.Kp_c
1f20 72 69 74 0d 0a 34 29 20 6d 65 61 73 75 72 65 64 20 70 65 72 69 6f 64 20 6c 65 6e 67 74 68 20 69 rit..4).measured.period.length.i
1f40 73 20 54 5f 63 72 69 74 0d 0a 35 29 20 75 73 65 20 74 68 69 73 20 74 61 62 6c 65 0d 0a 0d 0a 20 s.T_crit..5).use.this.table.....
1f60 20 20 4b 70 20 3d 20 30 2e 36 20 2a 20 4b 70 5f 63 72 69 74 0d 0a 20 20 20 54 6e 20 3d 20 30 2e ..Kp.=.0.6.*.Kp_crit.....Tn.=.0.
1f80 35 20 2a 20 54 5f 63 72 69 74 0d 0a 20 20 20 54 76 20 3d 20 30 2e 31 32 20 2a 20 54 5f 63 72 69 5.*.T_crit.....Tv.=.0.12.*.T_cri
1fa0 74 0d 0a 0d 0a 20 20 20 2d 3e 20 77 69 74 68 20 20 5b 4b 69 20 3d 20 4b 70 20 2f 20 54 6e 5d 20 t.......->.with..[Ki.=.Kp./.Tn].
1fc0 20 61 6e 64 20 20 5b 4b 64 20 3d 20 4b 70 20 2a 20 54 76 5d 3a 0d 0a 0d 0a 20 20 20 4b 70 20 3d .and..[Kd.=.Kp.*.Tv]:.......Kp.=
1fe0 20 30 2e 36 20 2a 20 4b 70 5f 63 72 69 74 0d 0a 20 20 20 4b 69 20 3d 20 4b 70 20 2f 20 28 30 2e .0.6.*.Kp_crit.....Ki.=.Kp./.(0.
2000 35 20 2a 20 54 5f 63 72 69 74 29 0d 0a 20 20 20 4b 64 20 3d 20 4b 70 20 2a 20 28 30 2e 31 32 20 5.*.T_crit).....Kd.=.Kp.*.(0.12.
2020 2a 20 54 5f 63 72 69 74 29 0d 0a 0d 0a 65 2e 67 2e 0d 0a 4b 70 5f 63 72 69 74 20 3d 20 32 35 0d *.T_crit)....e.g...Kp_crit.=.25.
2040 0a 54 5f 63 72 69 74 20 3d 20 32 73 0d 0a 0d 0a 4b 70 20 3d 20 30 2e 36 20 2a 20 32 35 20 3d 20 .T_crit.=.2s....Kp.=.0.6.*.25.=.
2060 31 35 0d 0a 4b 69 20 3d 20 31 35 20 2f 20 28 30 2e 35 20 2a 20 32 73 29 20 3d 20 31 35 0d 0a 4b 15..Ki.=.15./.(0.5.*.2s).=.15..K
2080 64 20 3d 20 31 35 20 2a 20 28 30 2e 31 32 20 2a 20 32 73 29 20 3d 20 33 2c 36 0d 0a 0d 0a 2a 29 d.=.15.*.(0.12.*.2s).=.3,6....*)
20a0 0d 0a 12 27 02 00 00 49 46 20 49 4e 5f 78 45 6e 61 62 6c 65 0d 0a 09 41 4e 44 20 4e 4f 54 20 49 ...'...IF.IN_xEnable...AND.NOT.I
20c0 4e 5f 78 52 65 73 65 74 0d 0a 54 48 45 4e 0d 0a 09 72 45 20 3a 3d 20 49 4e 5f 72 57 20 2d 20 49 N_xReset..THEN...rE.:=.IN_rW.-.I
20e0 4e 5f 72 58 3b 0d 0a 0d 0a 09 78 57 69 74 68 69 6e 4c 69 6d 69 74 73 20 3a 3d 20 4e 4f 54 20 49 N_rX;.....xWithinLimits.:=.NOT.I
2100 4e 5f 78 4c 69 6d 69 74 0d 0a 09 09 4f 52 20 28 49 4e 5f 78 4c 69 6d 69 74 20 41 4e 44 20 72 59 N_xLimit....OR.(IN_xLimit.AND.rY
2120 5f 74 6d 70 20 3e 3d 20 2d 49 4e 5f 72 4c 69 6d 69 74 20 41 4e 44 20 72 59 5f 74 6d 70 20 3c 20 _tmp.>=.-IN_rLimit.AND.rY_tmp.<.
2140 49 4e 5f 72 4c 69 6d 69 74 29 3b 0d 0a 0d 0a 09 49 46 20 78 57 69 74 68 69 6e 4c 69 6d 69 74 73 IN_rLimit);.....IF.xWithinLimits
2160 20 54 48 45 4e 0d 0a 09 09 72 45 53 75 6d 20 3a 3d 20 72 45 73 75 6d 20 2b 20 72 45 3b 0d 0a 09 .THEN....rESum.:=.rEsum.+.rE;...
2180 45 4e 44 5f 49 46 0d 0a 0d 0a 09 72 59 5f 74 6d 70 20 3a 3d 20 28 49 4e 5f 72 4b 70 2a 72 45 29 END_IF.....rY_tmp.:=.(IN_rKp*rE)
21a0 20 2b 20 28 49 4e 5f 72 4b 69 2a 49 4e 5f 72 54 61 2a 72 45 73 75 6d 29 20 2b 20 28 49 4e 5f 72 .+.(IN_rKi*IN_rTa*rEsum).+.(IN_r
21c0 4b 64 2a 28 72 45 2d 72 45 5f 6f 6c 64 29 2f 49 4e 5f 72 54 61 29 3b 0d 0a 09 4f 55 54 5f 72 59 Kd*(rE-rE_old)/IN_rTa);...OUT_rY
21e0 20 3a 3d 20 72 59 5f 74 6d 70 3b 0d 0a 0d 0a 09 49 46 20 4e 4f 54 20 78 57 69 74 68 69 6e 4c 69 .:=.rY_tmp;.....IF.NOT.xWithinLi
2200 6d 69 74 73 20 54 48 45 4e 0d 0a 09 09 49 46 20 4f 55 54 5f 72 59 20 3e 3d 20 30 20 54 48 45 4e mits.THEN....IF.OUT_rY.>=.0.THEN
2220 20 4f 55 54 5f 72 59 20 3a 3d 20 49 4e 5f 72 4c 69 6d 69 74 3b 20 45 4c 53 45 20 4f 55 54 5f 72 .OUT_rY.:=.IN_rLimit;.ELSE.OUT_r
2240 59 20 3a 3d 20 2d 49 4e 5f 72 4c 69 6d 69 74 3b 20 45 4e 44 5f 49 46 0d 0a 09 45 4e 44 5f 49 46 Y.:=.-IN_rLimit;.END_IF...END_IF
2260 0d 0a 0d 0a 09 72 45 5f 6f 6c 64 20 3a 3d 20 72 45 3b 0d 0a 45 4e 44 5f 49 46 0d 0a 0d 0a 49 46 .....rE_old.:=.rE;..END_IF....IF
2280 20 49 4e 5f 78 52 65 73 65 74 20 54 48 45 4e 0d 0a 09 72 45 53 75 6d 20 3a 3d 20 30 3b 0d 0a 09 .IN_xReset.THEN...rESum.:=.0;...
22a0 72 45 5f 6f 6c 64 20 3a 3d 20 30 3b 0d 0a 09 64 77 52 65 73 65 74 20 3a 3d 20 64 77 52 65 73 65 rE_old.:=.0;...dwReset.:=.dwRese
22c0 74 20 2b 20 31 3b 0d 0a 45 4e 44 5f 49 46 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 08 t.+.1;..END_IF..................
22e0 20 00 00 00 2c 00 4b 00 4b 00 b3 04 86 02 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 04 00 ....,.K.K.......................
2300 00 00 4d 41 49 4e 00 08 62 08 75 5c 09 62 08 75 5c 00 00 00 00 00 00 54 3b 45 4e 56 41 0a 5d 02 ..MAIN..b.u\.b.u\......T;ENVA.].
2320 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 1a 00 00 00 50 52 4f 47 52 41 4d 20 4d 41 49 4e 0d ...................PROGRAM.MAIN.
2340 0a 56 41 52 0d 0a 45 4e 44 5f 56 41 52 12 01 00 00 00 3b 04 00 00 00 00 00 00 00 00 00 00 00 00 .VAR..END_VAR.....;.............
2360 00 00 00 04 00 00 10 fd ff ff ff 00 00 6c 6f 5c 50 43 4f 5c 3b 02 00 02 00 02 00 02 00 02 00 02 .............lo\PCO\;...........
2380 00 02 00 02 00 01 00 22 00 00 00 53 54 41 4e 44 41 52 44 2e 4c 49 42 20 35 2e 36 2e 39 38 20 31 ......."...STANDARD.LIB.5.6.98.1
23a0 31 3a 30 33 3a 30 32 00 40 56 c2 77 35 14 00 00 00 14 00 00 00 43 4f 4e 43 41 54 00 40 00 00 00 1:03:02.@V.w5........CONCAT.@...
23c0 00 00 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 43 54 44 00 40 00 00 00 00 00 00 00 00 09 00 .................CTD.@..........
23e0 00 00 43 54 55 00 40 00 00 00 00 00 00 00 00 0a 00 00 00 43 54 55 44 00 40 00 00 00 00 00 00 00 ..CTU.@............CTUD.@.......
2400 00 0c 00 00 00 44 45 4c 45 54 45 00 40 00 00 00 00 00 00 00 00 0c 00 00 00 46 5f 54 52 49 47 00 .....DELETE.@............F_TRIG.
2420 40 00 00 00 00 00 00 00 00 0a 00 00 00 46 49 4e 44 00 40 00 00 00 00 00 00 00 00 0c 00 00 00 49 @............FIND.@............I
2440 4e 53 45 52 54 00 40 00 00 00 00 00 00 00 00 0a 00 00 00 4c 45 46 54 00 40 00 00 00 00 00 00 00 NSERT.@............LEFT.@.......
2460 00 09 00 00 00 4c 45 4e 00 40 00 00 00 00 00 00 00 00 09 00 00 00 4d 49 44 00 40 00 00 00 00 00 .....LEN.@............MID.@.....
2480 00 00 00 0c 00 00 00 52 5f 54 52 49 47 00 40 00 00 00 00 00 00 00 00 0d 00 00 00 52 45 50 4c 41 .......R_TRIG.@............REPLA
24a0 43 45 00 40 00 00 00 00 00 00 00 00 0b 00 00 00 52 49 47 48 54 00 40 00 00 00 00 00 00 00 00 08 CE.@............RIGHT.@.........
24c0 00 00 00 52 53 00 40 00 00 00 00 00 00 00 00 0a 00 00 00 53 45 4d 41 00 40 00 00 00 00 00 00 00 ...RS.@............SEMA.@.......
24e0 00 08 00 00 00 53 52 00 40 00 00 00 00 00 00 00 00 09 00 00 00 54 4f 46 00 40 00 00 00 00 00 00 .....SR.@............TOF.@......
2500 00 00 09 00 00 00 54 4f 4e 00 40 00 00 00 00 00 00 00 00 08 00 00 00 54 50 00 40 00 00 00 00 00 ......TON.@............TP.@.....
2520 00 00 00 01 00 00 00 18 00 00 00 47 6c 6f 62 61 6c 20 56 61 72 69 61 62 6c 65 73 20 30 00 40 00 ...........Global.Variables.0.@.
2540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 01 00 ................................
2560 01 00 09 00 00 00 42 61 75 73 74 65 69 6e 65 05 00 01 00 00 00 00 00 00 00 00 00 01 00 01 00 04 ......Bausteine.................
2580 00 00 00 54 45 4d 50 02 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 16 00 00 00 46 42 5f 42 45 ...TEMP....................FB_BE
25a0 43 4b 48 4f 46 46 5f 45 4c 35 31 30 31 5f 49 4e 43 01 00 00 00 00 00 00 00 00 00 01 00 00 00 01 CKHOFF_EL5101_INC...............
25c0 00 0f 00 00 00 61 5f 52 65 66 65 72 65 6e 7a 69 65 72 65 6e 00 00 23 00 00 00 1f 00 00 00 00 00 .....a_Referenzieren..#.........
25e0 01 00 00 00 00 00 00 00 00 00 01 00 05 00 00 00 46 42 5f 44 49 00 00 24 00 00 00 ff ff ff ff 00 ................FB_DI..$........
2600 00 00 00 00 00 00 00 00 00 00 00 01 00 07 00 00 00 46 42 5f 45 57 4d 41 00 00 1e 00 00 00 00 00 .................FB_EWMA........
2620 00 00 00 00 00 00 00 00 00 00 01 00 0e 00 00 00 46 42 5f 49 4e 43 5f 44 45 43 4f 44 45 52 00 00 ................FB_INC_DECODER..
2640 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 00 00 46 42 5f 50 49 44 00 00 22 00 !.....................FB_PID..".
2660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 00 00 4d 41 49 4e 00 00 20 00 00 00 ff ff ....................MAIN........
2680 ff ff 01 00 01 00 00 00 00 00 00 00 01 00 01 00 0a 00 00 00 44 61 74 65 6e 74 79 70 65 6e 00 00 ....................Datentypen..
26a0 ff ff ff ff 00 00 00 00 00 00 00 00 01 00 01 00 01 00 11 00 00 00 47 6c 6f 62 61 6c 65 20 56 61 ......................Globale.Va
26c0 72 69 61 62 6c 65 6e 01 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 11 00 00 00 47 6c 6f 62 61 riablen....................Globa
26e0 6c 65 5f 56 61 72 69 61 62 6c 65 6e 00 00 08 00 00 00 ff ff ff ff 01 00 01 00 00 00 00 00 00 00 le_Variablen....................
2700 01 00 01 00 10 00 00 00 56 69 73 75 61 6c 69 73 69 65 72 75 6e 67 65 6e 00 00 ff ff ff ff 00 00 ........Visualisierungen........
2720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2740 1c 06 00 00 00 00 40 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66 08 75 5c 00 42 5d b8 d7 ......@................f.u\.B]..
in each repos: see "about"-tab (if existing) for more details / README.
mailto contact at omeckman dot net
all timestamps in UTC (German winter time: UTC+01:00, summer time: UTC+02:00)
dark theme is a modded version of: https://gist.github.com/Yoplitein/f4b671a2ec70c9e743fa