cancel
Showing results for 
Search instead for 
Did you mean: 

CoE Write Discrepancy PLC --> I/O

CoE Write Discrepancy PLC --> I/O

AutomateSHANE
Long-established Member

I have a device on EtherCAT and I am writing to some dictionary objects using the cyclic I/O data. The I/O data includes structures for read and write requests and well as responses. I am experiencing a weird error where I write an index and subindex, but it fails and the subindex is not mirrored back in the response. I have checked everything and there is no obvious reason for this. If I check the CoE tab of the device in ctrlX I/O Engineering, I verify that the subindex value is being written. However, the response does not mirror it back. If I initiate the command direct from the ECAT master (in the CoE tab in ctrlX I/O Engineering), it works no problem.

In PLC Engineering, the DataLayerNode I/O data

AutomateSHANE_0-1712239484510.png

AutomateSHANE_2-1712239544613.png

 

In I/O Engineering, CoE of device

AutomateSHANE_3-1712239701423.png

The data appears to transfer from the PLC app across the datalayer to the ECAT master correctly. Yet, the command errors. Again, to clarify, if I instead clear the command in the PLC and just enter the data direct in ctrlX I/O Engineering CoE for the device, it works no problem.

CORE X3 at v1.20

 

2 REPLIES 2

CodeShepherd
Community Moderator
Community Moderator

Which device is used for your tests? Please check its manual is this parameter is allowed to be used in cyclic communication as the mechanism itself is acyclic and also used in this way via the ctrlX IO Engineering.

From PLC side acyclic function blocks could be used for writing data like CXA_EtherCatMaster.IL_ECATCoeWriteSdo or CXA_Datalayer.DL_WriteNode to path "fieldbuses/ethercat/master/instances/ethercatmaster/device_access/coe/sdo".

AutomateSHANE
Long-established Member

It is a digital load cell electronics (DSE-HIE) from HBM/Hottinger Bruel Kjaer. You make a good point about CoE being acyclic. I did not yet try with the function blocks from the PLC. Their manual lists the object dictionary read and write commands and status with the cyclic data. They are also in the PDO lists in the ESI file. I had just assumed that they worked it out in their firmware to port OD reads and writes through the cyclic data, in addition to CoE. They have a tech note with screenshots of Beckhoff TwinCAT software doing it this way too. Regardless, I'll verify with them.

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