Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

output with readback #21

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

tboegi
Copy link
Contributor

@tboegi tboegi commented Nov 18, 2024

There is probably no fix possible. But a working solution for
#13

Ever since the "bulk read" was introduced, there are 2 ways to
handle records with input funcionality (*):
 - using a notification for this very PLC variable
 - through a cyclic-poll, where all input-ish variables are read at once,
   hence the name "bulk read". They are are all read through handles.

(*) From a drivers point of view (this software) there is no difference
   between an input (record) or an output record with READBACK.
   Both need to read the PLC variable and the result needs to go into
   the asyn parameter library, from where the records picks values up.
There are 2 ways to use the READBACK:
Either by using "I/O Intr" or by a polling with 1 Hz.
When an output record is processed, and the value pushed
into the PLC, the PLC may decide to ignore the change in the next PLC
cycle. And set back the variable back to where it was.
As there is "no change" from a PLC perspective, the EPICS record
and the PLC variable get of synch.
There is no notifaction send via ADS (2 would have been better).
As a workaround, the 1Hz poller can be used. Document this better.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant