[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ÐÐ	
­ÚÐ-