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

EtherCAT CoE communication as IOs

EtherCAT CoE communication as IOs

dhg
Established Member

Hello,

For the following configuration: ctrlX Drive with EtherCAT CoE (Cia402 profile)

I have performed some test with ctrlX Core and Beckhoff using Motion/NC and it works fine, but is it possible to communicate with the drive without the Motion? I mean, reading/writting directly the parameters (control word, target position...) as IOs?.

7 REPLIES 7

CodeShepherd
Community Moderator
Community Moderator

As all the data in the EtherCat is IO data you can also run a drive without any motion.

But for the user this means caring about all the things the motion normally does. Like switching operation modes, interpreting status word sending correct position/velocity values each fieldbus cycle without reaching axis limits and so on.

dhg
Established Member

I am not able to run the drive without motion. 

Architecture: ctrlX CORE with EtherCAT master and PLC, cltrX Drive as EtherCAT CoE and Cia402 drive profile.

ctrlX Drive configuration:

dhg_0-1682582559605.png

EtherCAT bus status, all modules are in OP mode:

dhg_1-1682582624158.png

Communication between PLC app and ctrlX Drive is OK (drive parameters can be read/write):

dhg_2-1682582732860.png

When sending a command throught the control word, the signal is reaching to the drive but there is not any action. 

dhg_4-1682582979828.png

dhg_3-1682582778291.png

Does anyone have any experience on command a ctrlX Drive in this mode?

Thank you, 

CodeShepherd
Community Moderator
Community Moderator

I did not use ctrlX DRIVE but EFC to control in velocity mode via PLC. Should be quite similar and perhaps you can get some info:

 

/////  Control  /////
ControlWord.0 := Con_SwitchOn;
ControlWord.1 := Con_VoltageOff;
ControlWord.2 := Con_QuickStop;
ControlWord.3 := Con_Enable;
ControlWord.7 := Con_ResetError;
ControlWord; //11 = dec to stop, 15 = run, 128 = reset fault

Vel_command := TO_UINT(FreqSetSigned); //64036 = -50Hz; 1500 = 50Hz

/////  Status  /////
StatusWord; //563 = ready to run, 567 = run forward
Stat_VoltageOn 		:= StatusWord.4;
Stat_ReadyToRun 	:= StatusWord.0;
Stat_SwitchOn 		:= StatusWord.1;
Stat_Enabled 		:= StatusWord.2;
Stat_QuickStop 		:= StatusWord.5;
Stat_Off 			:= StatusWord.6;
Stat_Warning 		:= StatusWord.7;
Stat_Error 			:= StatusWord.3;
Stat_TargetReached 	:= StatusWord.10;

Vel_Feedback;

(*
/////  Control commands  /////

Command			|	Bit7	|	Bit3	|	Bit2	|	Bit1	|	Bit0	|	Transitions
				| ResetFaul | EnableOp	| QuickStop	| Voltageoff| Switch on	|
________________|___________|___________|___________|___________|___________|_________________
				|			|			|			|			|			|
Schutdown		|	 X		|	 X		|	 1		|	 1		|	 0		| 2, 6, 8
________________|___________|___________|___________|___________|___________|_________________
				|			|			|			|			|			|
Switch On		|	 X		|	 X		|	 1		|	 1		|	 1		| 3
________________|___________|___________|___________|___________|___________|_________________
				|			|			|			|			|			|
Disable Voltage	|	 X		|	 X		|	 X		|	 0		|	 X		| 7, 9, 10, 12
________________|___________|___________|___________|___________|___________|_________________
				|			|			|			|			|			|
Quick Stop		|	 X		|	 X		|	 0		|	 1		|	 X		| 7, 10, 11
________________|___________|___________|___________|___________|___________|_________________
				|			|			|			|			|			|
Fault Reset		|	 1		|	 X		|	 X		|	 X		|	 X		| 15
________________|___________|___________|___________|___________|___________|_________________
				|			|			|			|			|			|
Disable Op		|	 X		|	 1		|	 1		|	 1		|	 1		| 5
________________|___________|___________|___________|___________|___________|_________________
				|			|			|			|			|			|
Enable Op		|	 1		|	 X		|	 X		|	 X		|	 X		| 4, 16
________________|___________|___________|___________|___________|___________|_________________
*)

 

dhg
Established Member

Hello @CodeShepherd,

After your tips I have managed to run the ctrlX Drive as CoE IO, but only for the cyclic communication (cyclic sync position mode and cyclic sync velocity mode).

For "Profile position mode" I am facing the problem that I can't send the toggle of start. As far as I understand it should be done through parameter 2844:02 bit 0 (adding it in the PDO), but it has not effect. Which should be the signal to start the positioning movement?

dhg_0-1682679880129.png

 

CodeShepherd
Community Moderator
Community Moderator

Like mentioned you also have to care about your operation mode. Which one is active? When adding a ctrlX DRIVE in ctrlX DRIVE Engineering the operation is automatically set to "cyclic sync position mode", as this is the standard for ctrlX MOTION. Please check the startup parameters in ctrlX IO Engineering. See also drive parameter documentation (currently german only)

dhg
Established Member

Hello @CodeShepherd,

First of all, clarify that the operation modes "cyclic sync position mode" and "cyclic sync velocity mode" are working (using ctrlX Core without ctrlX Motion).

My question was about "profile position mode". I am able to power ON the drive, but I don't know which is the parameter to be written in order to give the start command (I am looking for the same function as bit 0 of S-0-0346 for drive-controlled positioning mode). 

dhg
Established Member

Hello @CodeShepherd,

Found it! The start toggle in this mode is bit 4 of control word 6040h. 

dhg_0-1683019491231.png

 

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