FUNCTION FC 103 : VOID TITLE = //Funtie FC103 haalt alle analoge inputs binnen en schrijft de waarden weg //op de woorden beginnnend met het startadr_bit. //bv: //startadr_bit is M100.0 //dan staat val ch0 in mw100 // ch1 in mw102 // ch2 in mw104 // ch3 in mw106 // ch4 in mw108 (PT100) VERSION : 0.1 VAR_OUTPUT STARTADR_bit : BOOL ; END_VAR VAR_TEMP WOORD : WORD ; BIT : BOOL ; ADR_PTR : DWORD ; END_VAR BEGIN NETWORK TITLE = //Ch0..Ch3 kunnen gewoon direct uitgelezen worden. //bereik loopt dan van pos/neg 0-27648 (0h-6c00h) //pointer in adresregister 1 schrijven L P##STARTADR_bit; LAR1 ; NETWORK TITLE = //ch 0 // //teken bepalen //kladbit is '1' als waarde //negatief is. L PEW 752; UW W#16#8000; T #WOORD; // L #WOORD; L 0; <>I ; = #BIT; //------------------------------ // waarde bepalen en wegschrijven L PEW 752; SLW 1; SRW 5; T W [AR1,P#0.0]; // sign terugzetten U #BIT; = [AR1,P#0.7]; NETWORK TITLE = //ch 1 //teken bepalen //kladbit is '1' als waarde //negatief is. L PEW 754; UW W#16#8000; T #WOORD; // L #WOORD; L 0; <>I ; = #BIT; //------------------------------ // waarde bepalen en wegschrijven L PEW 754; SLW 1; SRW 5; T W [AR1,P#2.0]; // sign terugzetten U #BIT; = [AR1,P#2.7]; NETWORK TITLE = //ch 2 //teken bepalen //kladbit is '1' als waarde //negatief is. L PEW 756; UW W#16#8000; T #WOORD; // L #WOORD; L 0; <>I ; = #BIT; //------------------------------ // waarde bepalen en wegschrijven L PEW 756; SLW 1; SRW 5; T W [AR1,P#4.0]; // sign terugzetten U #BIT; = [AR1,P#4.7]; NETWORK TITLE = //ch 3 //teken bepalen //kladbit is '1' als waarde //negatief is. L PEW 758; UW W#16#8000; T #WOORD; // L #WOORD; L 0; <>I ; = #BIT; //------------------------------ // waarde bepalen en wegschrijven L PEW 758; SLW 1; SRW 5; T W [AR1,P#6.0]; // sign terugzetten U #BIT; = [AR1,P#6.7]; NETWORK TITLE = //ch4 //de weggeschreven waarde is te temperatuur in de //eenheid zoals met step7 geconfigureerd in units //van 0.1 graad of 0.1 Kelvin //------------------------------ // waarde wegschrijven L PEW 760; T W [AR1,P#8.0]; END_FUNCTION