[r68]: / trunk / Monarco / IoDrvMonarco / ICmpIoDrv / IoDrvWriteOutputs / svnobj  Maximize  Restore  History

Download this file

157 lines (157 with data), 13.6 kB

Gx_lì4!0…jüo2&eîª’e™š¬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	END_FORREND_FORSFIoDrvWriteOutputs := Errors.ERR_OK;TInterfaceUL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}V:{attribute 'conditionalshow'}W@METHOD IoDrvWriteOutputs : UDINTXVAR_INPUTYj	pConnectorMapList : POINTER TO IoConfigConnectorMap;Z	nCount : DINT;[END_VAR\VAR]	i,j : DINT;^	k: UINT;_	wSize : WORD;`B	pbyIecAddress : POINTER TO BYTE;a&	bySrcValue : BYTE;b&	wSrcIndex : WORD;	c$	bySrcMask : BYTE;d(	wDestIndex : WORD;	e.	pdw: POINTER TO DWORD;f*	pw: POINTER TO WORD;gX	pbyDO : POINTER TO BYTE; // pointer to DO'shh	pbyCB : POINTER TO BYTE; // Pointer to Control Byteib	pbyHWC: POINTER TO BYTE; // Pointer to HW Configj`	pbyUL : POINTER TO BYTE; // Pointer to UserLedsk:	wParameterByteOffset : WORD;l$	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ÐTUÐEÐÐ	
­ëÚÐ-VÐÐ	
­ÚÐ-WÐÐ	
­ÚÐ-XÐÐ	
­ÚÐ-YÐÐ	
­ÚÐ-ZÐÐ	
­ÚÐ-[ÐÐ	
­
ÚÐ-\ÐÐ	
­êÚÐ-]ÐÐ	
­ÚÐ-^ÐÐ	
­$ÚÐ-_ÐÐ	
­)ÚÐ-`ÐÐ	
­FÚÐ-aÐÐ	
­DÚÐ-bÐÐ	
­EÚÐ-cÐÐ	
­ ÚÐ-dÐÐ	
­ÀÚÐ-eÐÐ	
­.ÚÐ-fÐÐ	
­ÚÐ-gÐÐ	
­IÚÐ-hÐÐ	
­¶ÚÐ-iÐÐ	
­€ÚÐ-jÐÐ	
­-ÚÐ-kÐÐ	
­ÚÐ-lÐÐ	
­ÚÐ-[ÐÐ	
­ÚÐ-