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

Competing data / data layer

Competing data / data layer

rum1
Established Member

Hello there,

I have a question fo competing data. For example two different languages (like Python, codesys) want to write to the same variable. How to handle the competing data in this case?

5 REPLIES 5

Jochen_Mueller
Community Moderator
Community Moderator

Two instances writing the same variable?

During the write process itself there are internal mechanism (semaphor) which protect the systems for corrupt data.

But in general the last write access wins. Means you have to take care in you overall project that the writing of the differnet instances will work correctly. (if all instances writes cyclic the variable, this will not work, ....)

rum1
Established Member

Thanks for your reply.

I have an additional question: Is it possible to see if a variable is written twice or can the write accesses to the variable be displayed?

Jochen_Mueller
Community Moderator
Community Moderator

Here it will be interesint to know details of your concept. Who is writing what?

When we talking about PLC-variables I only now the Call tree inside the PLC Engineering, which shows the write/read access of a varialbe. But it is limited only for the PLC code and not for other instances...

rum1
Established Member

Thanks for your reply.

It is not limited to the PLC variables. In the concept it is not known who creates/describes the variable in the data layer e.g. different apps accessing the data layer. Is there a possibility to look up like the last 10 accesses to a variable in the logbook or something similar. E.g. by setting a hook at a certain variable the diagnostic function is selected?

Or is there any other way to track the different variables?

CodeShepherd
Community Moderator
Community Moderator

At the moment there is no global recognition or recording who is writing which ctrlX Data Layer datum or what is/was written. Each data provider would have to do this for his own.

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