Beckhoff / ADS

Beckhoff protocol to communicate with TwinCAT devices.
MIT License
502 stars 194 forks source link

Simultanious writing on a set of variables from different AdsLib clients #88

Closed pogojotz closed 5 years ago

pogojotz commented 5 years ago

Hi, I am not sure if this is the right place ask.

Imagine two clients (A & B) using the AdsLib to write to a TwinCat server. Both use AdsSyncReadWriteReqEx2 with index ADSIGRP_SUMUP_WRITE to their sets of variables VarsA and VarsB. VarsA includes a subset of variables of VarsB - lets call this subset VarsAB Both clients issue AdsSyncReadWriteReqEx2 at the same time and the TCP requests arrive at the TwinCat instance between Task cycles in the order Req(VarsA) then Req(VarsB). During the next cycle, will the Task see VarsAB from Req(VarsB) (overwriting Req(VarsA)) or will it be handled in two cycles, so that the Task first sees VarsAB from Req(VarsA) and in the next cycle VarsAB from Req(VarsB)?

Thx

pbruenn commented 5 years ago

Sorry, I don't know. I have no internal knowledge to our TwinCAT router or ADS implementation. Beckhoff support should be able to answer this.