Skip to content

Testing of prerelease 3.6.0 with new adslib from upstream #505

Closed

Description

@stlehmann

With #504 there is a brand new adslib version from upstream. A step that has been due far to long. All tests in the CI have passed so far. However I'm a bit reluctant to release 3.6.0 to PyPi. Could some of you guys give it some testing and provide some feedback if everything works as expected ... or not ;)

The new version has been released as a prerelease on PyPi and can be installed via

uv pip install -U  --prerelease pyads
# or pip:
pip install -U --prerelease pyads

Please give it a go ... feedback apprecitated

Activity

  1. chrisbeardy commented on Mar 15, 2026

    @chrisbeardy
    Collaborator

    Great work, ill give this a go next week

  2. BS-Highline commented on Apr 28, 2026

    @BS-Highline

    I tried it out on Linux last week and so far, I haven't seen any issues/regressions.

  3. stlehmann commented on Apr 28, 2026

    @stlehmann
    OwnerAuthor

    That's great news. @BS-Highline thanks for the feedback.

  4. atoff-dynisma commented on Jun 4, 2026

    @atoff-dynisma

    I've been testing the last couple of days, and can also say I have not found any issues and haven't had to make any changes to our implementation. Thanks for this!

  5. stlehmann commented on Jun 8, 2026

    @stlehmann
    OwnerAuthor

    Thanks for the feedback everyone. Looks like all runs well. So I'm going to drop a release to this soon.

  6. atoff-dynisma commented on Jun 11, 2026

    @atoff-dynisma

    Sorry, I have done a bit more testing and have some regression. It seems to be specifically for notifications: The timestamp that comes back from the notification (whether you decode it through pyads or not), is invalid and nonsensical and static cycle on cycle. I've included a small reproduction below, that sets up a cyclic notification at 1Hz

    from ctypes import sizeof
    from time import sleep
    import pyads
    
    plc = pyads.Connection(
        ams_net_id="192.168.17.190.1.1",
        ams_net_port=pyads.PORT_TC3PLC1,
        ip_address="192.168.17.190",
    )
    
    plc.open()
    
    
    def callback(notification, data):
        _, timestamp1, value = plc.parse_notification(notification, symbol.plc_type, True)
        _, timestamp2, value = plc.parse_notification(notification, symbol.plc_type, False)
    
        print(timestamp1, timestamp2)
    
    
    symbol = plc.get_symbol("MAIN.MyBoolean")
    plc.add_device_notification(
        (symbol.index_group, symbol.index_offset),
        callback=callback,
        attr=pyads.NotificationAttrib(
            sizeof(symbol.plc_type), trans_mode=pyads.ADSTRANS_SERVERCYCLE, cycle_time=1000
        ),
    )
    
    while True:
        sleep(0.1)
    // With 3.5.0
    $ python python_repl.py
    2026-06-11T13:34:36+0000 Info: Connected to 192.168.17.190
    134256600587132500 2026-06-11 14:00:58.713250
    134256600597132500 2026-06-11 14:00:59.713250
    134256600607132500 2026-06-11 14:01:00.713250
    134256600617132500 2026-06-11 14:01:01.713250
    
    $ pip install pyads==3.6.0.dev1
    ...
    Successfully installed pyads-3.6.0.dev1
    $ python python_repl.py
    90225572266 1601-01-01 02:30:22.557226+00:00
    90225572266 1601-01-01 02:30:22.557226+00:00
    90225572266 1601-01-01 02:30:22.557226+00:00
    
  7. stlehmann commented on Jun 13, 2026

    @stlehmann
    OwnerAuthor

    Thanks for the investigation @atoff-dynisma. This was fixed upstream by Beckhoff in e0e559c (AdsNotificationHeader: add BHF_ADS_USE_TWINCAT_ORDER), and is included in master since the adslib submodule was bumped in d5a950d.

    The published pyads==3.6.0.dev1 prerelease wheel was built before this fix and does not include it.

    I'll cut a new prerelease built from current master for further testing.


    Generated by Claude Code

  8. stlehmann commented on Jun 15, 2026

    @stlehmann
    OwnerAuthor

    @atoff-dynisma please have a look at the new prerelease 3.6.0.dev3. Things should work now as expected. If so please drop a short confirm.

  9. atoff-dynisma commented on Jun 16, 2026

    @atoff-dynisma

    Yep looks good now 👍

  10. stlehmann commented on Jun 16, 2026

    @stlehmann
    OwnerAuthor

    With #538 new version 3.6.0 has been released. So I'll close this issue.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions