Code Monkey home page Code Monkey logo

Comments (5)

dmroeder avatar dmroeder commented on July 18, 2024

There is no reason that I know of that reading a program scoped tag that is a UDT wouldn't work. I have a program that contains every variation of tag type that I can think of (basic tags, arrays, UDT's, multi-dimensional arrays, UDT Arrays, etc) in both controller and program scope. I typically run a test on that program that reads/writes all of the tags (controller and program scope) before I commit changes.

Could you possibly send me the program? If sending the program is out of the question, maybe you could export the UDT and send it to me, I'll try and run the same test.

from pylogix.

TheFern2 avatar TheFern2 commented on July 18, 2024

Here's the udt in question, no rush, I was able to get the tag from the top one, which comes from a MOV from the second tag.
UDT_DW_VPROFILE.L5X.txt

Traceback (most recent call last):

  File "~\dw_encoder_troubleshooter.py", line 39, in <module>
    dwx_encoder = ex_read('Program:DW_Fast.DW_VP.INP_DWAEncoderPresentValue')
  File "~\dw_encoder_troubleshooter.py", line 8, in ex_read
    return comm.Read(tag)
  File "C:\Python34\lib\site-packages\pylogix\eip.py", line 90, in Read
    return _readTag(self, args[0], 1)
  File "C:\Python34\lib\site-packages\pylogix\eip.py", line 160, in _readTag
    InitialRead(self, t, b)
  File "C:\Python34\lib\site-packages\pylogix\eip.py", line 1178, in InitialRead
    raise ValueError(cipErrorCodes[status])
ValueError: Path segment error

I ran GetTagList() and saved to a text file. Nothing on that UDT was written to the file. I'll check during the week if any other UDT was read, going on fumes now.
tags_01.txt

This controller has quite a few UDTs but the tag list is just the controller tags. And program tags, as Program:Tag format. I wonder if there's a security setting preventing access to udt tags.

from pylogix.

dmroeder avatar dmroeder commented on July 18, 2024

Looking at your tag list, DW_VP is a controller scoped tag.
edit: in other words, try reading:

DW_VP.INP_DWAEncoderPresentValue

from pylogix.

TheFern2 avatar TheFern2 commented on July 18, 2024

Did I seriously made that mistake, sorry I come from the Siemens world where everything is a datablock tag. Just tested, and it works fine. Note to self, make sure is not a controller tag in the future.

Thanks for awesome help!

from pylogix.

dmroeder avatar dmroeder commented on July 18, 2024

Haha, no problem, glad it was easy!

from pylogix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.