Download this file
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
SUPER^.AfterReadInputs(); CASE _iState OF 10: //debug counter _AfterReadInputs := _AfterReadInputs + 1; // determine size of buffer udiBufSize := SIZEOF( THIS^._abyIntTxBuf ); (* Sets CRC16 checksum, for Tx byte array [24] and [25]*) CRC := THIS^.getCRC( THIS^._abyIntTxBuf ); THIS^._abyIntTxBuf[24] := WORD_TO_BYTE(CRC); THIS^._abyIntTxBuf[25] := WORD_TO_BYTE(SHR(CRC,8)); THIS^.getAInWord(wAIn1 => awAnalogIn[0], wAIn2 => awAnalogIn[1]); // Write Digital Out Channels THIS^.setDOutByte(byDOut := byDigitalOut); // Write Analog Out Channels tmpRxBuf : ARRAY [0..(ParamList.MONARCO_STRUCT_SIZE-1)] OF BYTE; udiBufSize : UDINT; CRC : WORD; iDiCh : INT; bDInByte : BYTE;