Indeed, we need to.

Christofer Dutz <christofer.d...@c-ware.de> 於 2024年9月23日 週一 下午4:20寫道:

> I think we should probably start adding some more comments to the
> PlcResponseCode enum to describe in which szenario which value should be
> used.
>
> Chris
>
> Von: Jinlin Hong <myhongjin...@gmail.com>
> Datum: Montag, 23. September 2024 um 10:16
> An: dev@plc4x.apache.org <dev@plc4x.apache.org>
> Betreff: Re: [DISCUSS] Which return code to give for items that don't
> exist?
> Then I agree with your view, +1. 'return INVALID_ADDRESS if the address is
> syntactically invalid and NOT_FOUND, if the address is formally correct,
> but the resource could not be found.'
>
> Christofer Dutz <christofer.d...@c-ware.de> 於 2024年9月23日 週一 下午4:03寫道:
>
> > The thing is however, that S7 for example has “NOT FOUND” if an address
> > could not be found. And that actually represents the reality a lot better
> > .. because the addresss is actually valid, just not on that device.
> >
> > Chris
> >
> > Von: Jinlin Hong <myhongjin...@gmail.com>
> > Datum: Montag, 23. September 2024 um 09:59
> > An: dev@plc4x.apache.org <dev@plc4x.apache.org>
> > Betreff: Re: [DISCUSS] Which return code to give for items that don't
> > exist?
> > Hi Chris,
> >
> >
> > I think it makes sense to keep INVALID_ADDRESS consistent with the PLC
> > logic, meaning it would represent the case when a resource can’t be
> found.
> > Then we could use something like ERROR_ADDRESS_FORMAT to indicate a
> syntax
> > error. I just checked plc4go and saw errors.Errorf("Invalid address
> format
> > for address '%s'", tagAddress) being used. Looking forward to hearing
> > thoughts from the rest of the team.
> >
> >
> > Jinlin Hong
> >
> > Christofer Dutz <christofer.d...@c-ware.de> 於 2024年9月23日 週一 下午3:22寫道:
> >
> > > While working on this I noticed, we need to update the ReadRequest a
> bit
> > …
> > > When we call “build” on the ReadRequest builder and that passes all
> > > address strings to the tag-handler. If there’s only one invalid
> address,
> > > the entire build() call fails.
> > >
> > > I think we need to add a:
> > >
> > > PlcResponseCode getTagResponseCode(String tagName);
> > >
> > > To check if a tag in the ReadRequest was OK, if it’s not to simply
> relay
> > > that to the result.
> > >
> > > Or what do you think would be a better solution?
> > >
> > > Chris
> > >
> > > Von: Lukas Ott <ott.lukas...@gmail.com>
> > > Datum: Sonntag, 22. September 2024 um 15:30
> > > An: dev@plc4x.apache.org <dev@plc4x.apache.org>
> > > Betreff: Re: [DISCUSS] Which return code to give for items that don't
> > > exist?
> > > +1 for "return INVALID_ADDRESS if the address is syntactically invalid
> > and
> > > NOT_FOUND, if the address is formally correct, but the resource could
> not
> > > be found." sounds logical and understandable to me.
> > >
> > > Luk
> > >
> > > Christofer Dutz <christofer.d...@c-ware.de> schrieb am So., 22. Sept.
> > > 2024,
> > > 14:38:
> > >
> > > > Hi all,
> > > >
> > > > I have been working a bit on streamlining the return results from our
> > > > drivers to be a bit more consistent.
> > > > Now I noticed that there is quite a huge difference between
> > > > INVALID_ADDRESS and NOT_FOUND.
> > > >
> > > > Most drivers return an INVALID_ADDRESS if for example a symbolic
> > address
> > > > is used, and this does not exist on the PLC.
> > > > However the address IS valid, it’s just that the PLC can’t find a
> > > resource
> > > > with that given name. Similar with S7, if I specify a block number
> that
> > > > does not exist or a byte offset that exceeds the size of the block.
> > > >
> > > > I think we should probably return INVALID_ADDRESS if the address is
> > > > syntactically invalid and NOT_FOUND, if the address is formally
> > correct,
> > > > but the resource could not be found.
> > > >
> > > > What do you think?
> > > >
> > > > Chris
> > > >
> > > >
> > > >
> > >
> >
>

Reply via email to