1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <TcPlcObject Version =" 1.1.0.1" ProductVersion =" 3.1.4026.13" >
3+ <POU Name =" FB_Beckhoff_EK1914" Id =" {ee3e9bec-150f-064b-0dfb-8262f6a99d11}" SpecialFunc =" None" >
4+ <Declaration ><![CDATA[ FUNCTION_BLOCK FB_Beckhoff_EK1914
5+ VAR_INPUT
6+ bSafetyIn1 : BOOL;
7+ bSafetyIn2 : BOOL;
8+ bInput0 : BOOL;
9+ bInput1 : BOOL;
10+ bInput2 : BOOL;
11+ bInput3 : BOOL;
12+ END_VAR
13+ VAR_OUTPUT
14+ bSafetyOut1 : BOOL;
15+ bSafetyOut2 : BOOL;
16+ bOutput0 : BOOL;
17+ bOutput1 : BOOL;
18+ bOutput2 : BOOL;
19+ bOutput3 : BOOL;
20+ bOSafetyLinkedOutput0 : BOOL;
21+ bOSafetyLinkedOutput1 : BOOL;
22+ END_VAR
23+ VAR
24+ RxPDO AT %I* : FSOE_6;
25+ TxPDO AT %Q* : FSOE_6;
26+ fbFsoeSlave : FB_FsoeSlave;
27+ nMasterData : BYTE := 0;
28+ nSlaveData : BYTE := 0;
29+
30+ bOutputDIO0 AT %I* : BOOL;
31+ bOutputDIO1 AT %I* : BOOL;
32+ bOutputDIO2 AT %I* : BOOL;
33+ bOutputDIO3 AT %I* : BOOL;
34+ bOutputDIOSafetyLinkedOutput0 AT %I* : BOOL;
35+ bOutputDIOSafetyLinkedOutput1 AT %I* : BOOL;
36+ bInputDIO0 AT %Q* : BOOL;
37+ bInputDIO1 AT %Q* : BOOL;
38+ bInputDIO2 AT %Q* : BOOL;
39+ bInputDIO3 AT %Q* : BOOL;
40+ END_VAR
41+ ]]> </Declaration >
42+ <Implementation >
43+ <ST ><![CDATA[ nSlaveData.0 := bSafetyIn1;
44+ nSlaveData.1 := bSafetyIn2;
45+ bInputDIO0 := bInput0;
46+ bInputDIO1 := bInput1;
47+ bInputDIO2 := bInput2;
48+ bInputDIO3 := bInput3;
49+
50+ fbFsoeSlave();
51+
52+ bSafetyOut1 := nMasterData.0;
53+ bSafetyOut2 := nMasterData.1;
54+ bOutput0 := bOutputDIO0;
55+ bOutput1 := bOutputDIO1;
56+ bOutput2 := bOutputDIO2;
57+ bOutput3 := bOutputDIO3;
58+ bOSafetyLinkedOutput0 := bOutputDIOSafetyLinkedOutput0;
59+ bOSafetyLinkedOutput1 := bOutputDIOSafetyLinkedOutput1;]]> </ST >
60+ </Implementation >
61+ <Method Name =" FB_init" Id =" {f8d4c283-c105-0343-04d3-250d70427101}" >
62+ <Declaration ><![CDATA[ METHOD FB_init : BOOL
63+ VAR_INPUT
64+ bInitRetains : BOOL; // if TRUE, the retain variables are initialized (warm start / cold start)
65+ bInCopyCode : BOOL; // if TRUE, the instance afterwards gets moved into the copy code (online change)
66+ END_VAR
67+ ]]> </Declaration >
68+ <Implementation >
69+ <ST ><![CDATA[ fbFsoeSlave.stConfig.nSlaveAddress := 0;
70+ fbFsoeSlave.stConfig.pFromBus := ADR(RxPDO);
71+ fbFsoeSlave.stConfig.pToBus := ADR(TxPDO);
72+ fbFsoeSlave.stConfig.nSizeMaster := 6;
73+ fbFsoeSlave.stConfig.nSizeSlave := 6;
74+ fbFsoeSlave.stConfig.pMasterData := ADR(nMasterData);
75+ fbFsoeSlave.stConfig.pSlaveData := ADR(nSlaveData);]]> </ST >
76+ </Implementation >
77+ </Method >
78+ </POU >
79+ </TcPlcObject >
0 commit comments