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

[Bug]: Do not throw PlcInvalidTagException exception during batched PlcReadRequest #1776

Closed
2 of 16 tasks
vladbogun1 opened this issue Sep 20, 2024 · 8 comments
Closed
2 of 16 tasks
Assignees

Comments

@vladbogun1
Copy link

vladbogun1 commented Sep 20, 2024

What happened?

image
i am performing reading multiple tag addresses at once, and if one of tag not exist on PLC side, whole request will fail with exception. How can i get response for other tag addresses? Or is there any method that can help me filter out from my request invalid tags?

Exception: org.apache.plc4x.java.api.exceptions.PlcInvalidTagException: Couldn't resolve symbolic address: GVL_HMI.Mod1Back_Unlck invalid

Version

v0.12.0

Programming Languages

  • plc4j
  • plc4go
  • plc4c
  • plc4net

Protocols

  • AB-Ethernet
  • ADS /AMS
  • BACnet/IP
  • CANopen
  • DeltaV
  • DF1
  • EtherNet/IP
  • Firmata
  • KNXnet/IP
  • Modbus
  • OPC-UA
  • S7
@vladbogun1 vladbogun1 added the bug label Sep 20, 2024
@chrisdutz chrisdutz self-assigned this Sep 20, 2024
@chrisdutz
Copy link
Contributor

Ok ... making progress ...

image

This also continues work on the implementation of reading data without previously reading the symbol and data-type table.
However I still need to figure out how to dynamically read data-type information.

chrisdutz added a commit that referenced this issue Sep 20, 2024
@chrisdutz
Copy link
Contributor

Ok ... please test again with the latest SNAPSHOT version

@vladbogun1
Copy link
Author

vladbogun1 commented Sep 23, 2024

@chrisdutz
Yes, works perfectly, thanks a lot, would it be deployed in some repo as snap version? as i just pull your code and build in local repo by myself
image

@vladbogun1
Copy link
Author

and as well i wanna ask you another question about symbolic tags, dont wanna raise bug, etc...

Can we pull using symbolic addresses Array[1] for example?

image
For example i dont wanna make PlcReadRequest for whole Mod3.FDSCM02.HMI.HW.sInstancePath that will return me whole array, but for example Mod3.FDSCM02.HMI.HW.sInstancePath[3] to get 4rth element. is it real with current implementation or this should be as enchasement?

@chrisdutz
Copy link
Contributor

Well the SNAPSHOTS are always automatically updated in apache's Nexus ... see here for how to use them:
https://plc4x.apache.org/users/getting-started/using-snapshots.html

And regarding the arrays ... yes ... I will have to put a bit of work into that ... I also noticed that recently. This will most probably require a major refactoring of the driver. Especially if you have arrays of UDTs or even more complex tree and array structures such as:

Main.someProperty[3][6].someChildProperty[2].yetAnotherChildProperty

Or even worse, when selecting array ranges ...
Is also not supported ... I am planing on working on this, however it's not going to be done quickly.

@chrisdutz
Copy link
Contributor

Aaaaaa ... as SNAP (Like Ubuntu snap) ... unfortunately not that I know of ... I thought you were referring to SNAPSHOT.

@vladbogun1
Copy link
Author

Aaaaaa ... as SNAP (Like Ubuntu snap) ... unfortunately not that I know of ... I thought you were referring to SNAPSHOT.

Actually you was right first time, thats my typo, i mean SNAPSHOT, already implemented your apache repo. thanks a lot for your help)

And you are right about complexity and huge refactoring for Array index feature.
Should i define [Feature Request] followup for arrays?)

@chrisdutz
Copy link
Contributor

Yeah ... will be working on that anyway as I need that for a private side-project ... but I think in general we really need to improve the array handling in almost every driver we have. Just with drivers supporting symbolic addressing it gets a lot more tricky :-/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants