[r4]: / trunk / IoDrvMEGAIO / ICmpIoDrv / IoDrvWriteOutputs / svnobj  Maximize  Restore  History

Download this file

185 lines (185 with data), 15.7 kB

Gx_l?=!0┘jЭoЕ+Qdy2╒VEЕSystem.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}	Id
longTagText
nIoDrvWriteOutputs_Count := IoDrvWriteOutputs_Count + 1;VIF pConnectorMapList = 0 OR nCount = 0 THENV	IoDrvWriteOutputs := Errors.ERR_PARAMETER;	RETURN;END_IF2FOR i:=0 TO nCount - 1 DOf	IF (pConnectorMapList[i].dwNumOfChannels = 0) THEN		CONTINUE;	END_IF░	FOR j:= 0 TO UDINT_TO_UINT(pConnectorMapList[i].dwNumOfChannels) - 1 DO╒		wSrcIndex := pConnectorMapList[i].pChannelMapList[j].wIecAddressBitOffset / 8; ▓		pbyIecAddress := pConnectorMapList[i].pChannelMapList[j].pbyIecAddress;				//Digital Out╗		IF (pConnectorMapList[i].pChannelMapList[j].pParameter^.dwDriverSpecific = 0) THENx			IF pConnectorMapList[i].pChannelMapList[j].wSize = 1 THENV				bySrcValue := pbyIecAddress[wSrcIndex];╦				wParameterByteOffset := pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset / 8; ~				pbyDO := ADR(_TestFB.byDigitalOut) + wParameterByteOffset;	!Ч				IF (pbyIecAddress[wSrcIndex] AND SHL(BYTE#1, pConnectorMapList[i].pChannelMapList[j].wIecAddressBitOffset MOD 8)) <> 0 THEN"H				{IF defined (pou:SysCpuSetBit2)}#ю					SysCpuSetBit2(pbyDO, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			$"    			{ELSE}    %╬					SysCpuSetBit(pbyDO, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			&&    			{END_IF}    '				ELSE(L				{IF defined (pou:SysCpuResetBit2)})ф					SysCpuResetBit2(pbyDO, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				*д					SysCpuResetBit(pbyDO, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				+&    		{	END_IF}    ,				END_IF			-~			ELSIF pConnectorMapList[i].pChannelMapList[j].wSize = 8 THEN.|				pbyDO := ADR(_TestFB.byDigitalOut) + wParameterByteOffset;/N				pbyDO^ := pbyIecAddress[wSrcIndex];0			END_IF 1		END_IF2		//Analog Out3╗		IF (pConnectorMapList[i].pChannelMapList[j].pParameter^.dwDriverSpecific = 2) THEN4╡			dwChannel := pConnectorMapList[i].pChannelMapList[j].pParameter^.dwParameterId - 2100;5|			_TestFB.awAnalogOut[dwChannel] := pbyIecAddress[wSrcIndex];6 		//Control Byte7╗		IF (pConnectorMapList[i].pChannelMapList[j].pParameter^.dwDriverSpecific = 3) THEN8─				pbyCB := ADR(_TestFB.byControlByte) + wParameterByteOffset;	9ю					SysCpuSetBit2(pbyCB, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			:╬					SysCpuSetBit(pbyCB, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			;ф					SysCpuResetBit2(pbyCB, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				<д					SysCpuResetBit(pbyCB, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				=~				pbyCB := ADR(_TestFB.byControlByte) + wParameterByteOffset;>N				pbyCB^ := pbyIecAddress[wSrcIndex];?		//HW Config@╗		IF (pConnectorMapList[i].pChannelMapList[j].pParameter^.dwDriverSpecific = 4) THENA|				pbyHWC := ADR(_TestFB.byHWConfig) + wParameterByteOffset;	Bб					SysCpuSetBit2(pbyHWC, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			Cю					SysCpuSetBit(pbyHWC, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			Dх					SysCpuResetBit2(pbyHWC, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				Eф					SysCpuResetBit(pbyHWC, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				Fz				pbyHWC := ADR(_TestFB.byHWConfig) + wParameterByteOffset;GP				pbyHWC^ := pbyIecAddress[wSrcIndex];H		//User LedsI╗		IF (pConnectorMapList[i].pChannelMapList[j].pParameter^.dwDriverSpecific = 5) THENJz				pbyUL := ADR(_TestFB.byUserLeds) + wParameterByteOffset;	Kю					SysCpuSetBit2(pbyUL, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			L╬					SysCpuSetBit(pbyUL, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			Mф					SysCpuResetBit2(pbyUL, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				Nд					SysCpuResetBit(pbyUL, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				Ox				pbyUL := ADR(_TestFB.byUserLeds) + wParameterByteOffset;PN				pbyUL^ := pbyIecAddress[wSrcIndex];Q$		//User Leds MaskR╗		IF (pConnectorMapList[i].pChannelMapList[j].pParameter^.dwDriverSpecific = 6) THENS┌				pbyULM := ADR(_TestFB.byUserLedMask) + wParameterByteOffset;	Tб					SysCpuSetBit2(pbyULM, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			Uю					SysCpuSetBit(pbyULM, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);			Vх					SysCpuResetBit2(pbyULM, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				Wф					SysCpuResetBit(pbyULM, pConnectorMapList[i].pChannelMapList[j].wParameterBitOffset MOD 8);				X─				pbyULM := ADR(_TestFB.byUserLedMask) + wParameterByteOffset;YP				pbyULM^ := pbyIecAddress[wSrcIndex];Z	END_FOR[END_FOR\FIoDrvWriteOutputs := Errors.ERR_OK;]Interface^L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}_:{attribute 'conditionalshow'}`@METHOD IoDrvWriteOutputs : UDINTaVAR_INPUTbj	pConnectorMapList : POINTER TO IoConfigConnectorMap;c	nCount : DINT;dEND_VAReVARf	i,j : DINT;g	k: UINT;h	wSize : WORD;iB	pbyIecAddress : POINTER TO BYTE;j&	bySrcValue : BYTE;k&	wSrcIndex : WORD;	l$	bySrcMask : BYTE;m(	wDestIndex : WORD;	n.	pdw: POINTER TO DWORD;o*	pw: POINTER TO WORD;pX	pbyDO : POINTER TO BYTE; // pointer to DO'sqh	pbyCB : POINTER TO BYTE; // Pointer to Control Byterb	pbyHWC: POINTER TO BYTE; // Pointer to HW Configs`	pbyUL : POINTER TO BYTE; // Pointer to UserLedstj	pbyULM : POINTER TO BYTE; // Pointer to UserLed Masku:	wParameterByteOffset : WORD;v$	dwChannel: DWORD;пппE⌡пп	
ґазп-
пп	
ґзп-пп	
ґзп-пп	
ґзп-пп	
ґ	зп-пп	
ґНзп-пп	
ґ
зп-пп	
ґзп-пп	
ґзп-пп	
ґзп-пп	
ґМзп-пп	
ґЭзп-пп	
ґЩзп-пп	
ґТзп-пп	
ґзп-пп	
ґgзп-пп	
ґзп-пп	
ґзп-пп	
ґзп-пп	
ґзп-пп	
ґзп- пп	
ґзп-!пп	
ґзп-"пп	
ґзп-#пп	
ґзп-$пп	
ґзп-%пп	
ґзп-&пп	
ґзп-'пп	
ґзп-(пп	
ґзп-)пп	
ґ зп-$пп	
ґ!зп-*пп	
ґ"зп-+пп	
ґ#зп-,пп	
ґ$зп--пп	
ґ%зп-пп	
ґ&зп-.пп	
ґ'зп-/пп	
ґ+зп-0пп	
ґУзп-1пп	
ґfзп-пп	
ґ,зп-2пп	
ґЖзп-3пп	
ґВзп-4пп	
ґЬзп-5пп	
ґЗзп-1пп	
ґ│зп-пп	
ґ└зп-6пп	
ґ┘зп-7пп	
ґ├зп-пп	
ґ┤зп-пп	
ґ┬зп-пп	
ґ┴зп-8пп	
ґ┼зп-!пп	
ґ▀зп-"пп	
ґ▄зп-9пп	
ґ█зп-$пп	
ґ▌зп-:пп	
ґ▐зп-&пп	
ґ░зп-'пп	
ґ▒зп-(пп	
ґ▓зп-;пп	
ґ⌠зп-$пп	
ґ■зп-<пп	
ґ∙зп-+пп	
ґ√зп-,пп	
ґ≈зп--пп	
ґ≤зп-пп	
ґ≥зп-=пп	
ґ зп->пп	
ґ⌡зп-0пп	
ґ┌зп-1пп	
ґ┐зп-пп	
ґ·зп-?пп	
ґ÷зп-@пп	
ґ═зп-пп	
ґ║зп-пп	
ґ╒зп-пп	
ґёзп-Aпп	
ґєзп-!пп	
ґ╔зп-"пп	
ґізп-Bпп	
ґїзп-$пп	
ґ╗зп-Cпп	
ґ╘зп-&пп	
ґ╙зп-'пп	
ґ╚зп-(пп	
ґ╛зп-Dпп	
ґґзп-$пп	
ґ╝зп-Eпп	
ґ╞зп-+пп	
ґ╟зп-,пп	
ґ╠зп--пп	
ґ╡зп-пп	
ґЁзп-Fпп	
ґЄзп-Gпп	
ґ╣зп-0пп	
ґ°зп-1пп	
ґ²зп-пп	
ґhзп-Hпп	
ґiзп-Iпп	
ґjзп-пп	
ґkзп-пп	
ґlзп-пп	
ґmзп-Jпп	
ґnзп-!пп	
ґoзп-"пп	
ґpзп-Kпп	
ґqзп-$пп	
ґrзп-Lпп	
ґsзп-&пп	
ґtзп-'пп	
ґuзп-(пп	
ґvзп-Mпп	
ґwзп-$пп	
ґxзп-Nпп	
ґyзп-+пп	
ґzзп-,пп	
ґ{зп--пп	
ґ|зп-пп	
ґ}зп-Oпп	
ґ~зп-Pпп	
ґзп-0пп	
ґ3зп-1пп	
ґЇзп-пп	
ґ╧зп-Qпп	
ґ╨зп-Rпп	
ґ╩зп-пп	
ґ╪зп-пп	
ґҐзп-пп	
ґ╬зп-Sпп	
ґ©зп-!пп	
ґюзп-"пп	
ґазп-Tпп	
ґбзп-$пп	
ґцзп-Uпп	
ґдзп-&пп	
ґезп-'пп	
ґфзп-(пп	
ґгзп-Vпп	
ґхзп-$пп	
ґизп-Wпп	
ґйзп-+пп	
ґкзп-,пп	
ґлзп--пп	
ґмзп-пп	
ґнзп-Xпп	
ґозп-Yпп	
ґпзп-0пп	
ґ╦зп-1пп	
ґзп-пп	
ґЧзп-Zпп	
ґзп-[пп	
ґЪзп-пп	
ґЛзп-\п]^пEпп	
ґКзп-_пп	
ґзп-`пп	
ґзп-aпп	
ґзп-bпп	
ґзп-cпп	
ґзп-dпп	
ґ
зп-eпп	
ґЙзп-fпп	
ґзп-gпп	
ґ$зп-hпп	
ґ)зп-iпп	
ґFзп-jпп	
ґDзп-kпп	
ґEзп-lпп	
ґ═зп-mпп	
ґюзп-nпп	
ґ.зп-oпп	
ґзп-pпп	
ґIзп-qпп	
ґІзп-rпп	
ґ─зп-sпп	
ґязп-tпп	
ґрзп-пп	
ґ-зп-uпп	
ґзп-vпп	
ґзп-dпп	
ґзп-