cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

Reading single bit of a drive parameter

Reading single bit of a drive parameter

alink
New Contributor

Hello,

I'd like to read out a single bit of a drive parameter.

The parameter is: S-0-0135 and bit 3 is to read out.

ctrlX_2.JPG

For that "IL_ECATSoeRead" is used.

ctrlX_1.JPG

The values don't fit.

The drive has: 0b1100.1000.0000.1000

In PLC it's: 0b0000.0000.0000.1111

or something else...What's wrong with that?

Greetings

 

2 REPLIES 2

CodeShepherd
Community Moderator
Community Moderator

The S-0-0135 is in standard part of your cyclic communication, so do not need to read it acyclic. See here my examples working for both:

Declaration:

PROGRAM POU
VAR
	fb_IL_ECATSoeRead: IL_ECATSoeRead;
	bExecute: BOOL;
	bDone: BOOL;
	bActive: BOOL;
	bError: BOOL;
	ErrorID: CXA_EthercatMaster.ERROR_CODE;
	ErrorIdent: CXA_EthercatMaster.ERROR_STRUCT;
	strMasterName: STRING := 'ethercatmaster';
	uiSlaveAddress: UINT := 1001;
	wValueRead: WORD;
	cyclicS135: WORD;
	bBitAcyclic: BOOL;
	bBitCyclic1: BOOL;
	bBitCyclic2: BOOL;
END_VAR

Implementation:

bBitCyclic1 := %IX100.3;
cyclicS135 := %IW100;
bBitCyclic2 := cyclicS135.3;

fb_IL_ECATSoeRead(
	Execute:= bExecute, 
	Done=> bDone, 
	Active=> bActive, 
	Error=> bError, 
	ErrorID=> ErrorID, 
	ErrorIdent=> ErrorIdent, 
	ClientId:= , 
	MasterName:= ADR(strMasterName), 
	AddressType:= , 
	SlaveAddress:= uiSlaveAddress, 
	DriveNo:= , 
	Element:= , 
	Idn:= IL_ECATSoeIdnCoding(SOE_S_PARAM,0,135), 
	SizeOfValue:= SIZEOF(wValueRead), 
	ValueAdr:= ADR((wValueRead)), 
	Timeout:= , 
	NoOfRecBytes=> , 
	RecvElement=> );
	
bBitAcyclic := wValueRead.3;

Picture:

Read S-0-0135 cyclic and acyclicRead S-0-0135 cyclic and acyclic

Thanks, using status_word is working

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist