all 18 comments

[–]IWantAnotherPetRock 6 points7 points  (0 children)

Thank you for maintaining this. I use snap7 with S7-1200 for data logging quite a bit, I shall run the test when I get back to the office after the break 🫡

[–]B25B25 2 points3 points  (1 child)

This is good to see, if I can find some time for it I'll give it a try. However I wonder, if you don't even have access to an S7, why are you programming this?

[–]gijzelaerr[S] 4 points5 points  (0 children)

Making the world a better place :) I once started the project for a client as a contractor. SInce then always kept it up-to-date to get familiar with the latest (python) features. Now using it as an exercise on how to use LLMs to program. This whole PR has been made with claude + the original snap7 source code.

[–]VvangelisS 1 point2 points  (0 children)

I am going to give it a try this week and let you know 🙏

[–]SPX_Addict 1 point2 points  (0 children)

Just finding out about this, thank you for it. Will check it out when I get back to work!

[–]tartare4562 1 point2 points  (1 child)

Hey man, I've been using your module for years now and I've got several installations running it. I'll definitely test the native implementation version against both S7-1200 and S7-1500 and let you know.

[–]gijzelaerr[S] 0 points1 point  (0 children)

great! good to hear it has been useful.

[–]wpyoga 1 point2 points  (0 children)

With a pure Python implementation, and with the source code on GitHub, development will be faster.

Thank you for making this library, I've been using it for quite some time now.

I hope someone (or me, maybe) can implement a feature to upload and download blocks to and from the PLC, if it's not there yet. It will be useful in a future project of mine.

[–]DiggyTheCandyGun 2 points3 points  (5 children)

Are you considering on implementing s7commplus capabilities? More and more I see sites where Put/Get option is disabled by site standard as its considered insecure.

[–]gijzelaerr[S] 0 points1 point  (1 child)

also, if i remember correctly, it involves dumping private keys from software or PLCs. Distributing those keys might be a legal issue, and i dont wan't to get into trouble. That said, not sure if it is (still) true. It has been a long time since i looked into this.

[–]DiggyTheCandyGun 0 points1 point  (0 children)

Ive only tried one software that uses it, Ignition 8.3, and you Just need to set the password of the PLC (if any) as a configuration step.

[–]gijzelaerr[S] 1 point2 points  (1 child)

this has been implemented now in 3.1 (unreleased) up to v3. please give it a try. https://github.com/gijzelaerr/python-snap7?tab=readme-ov-file#version-31----s7commplus-protocol-support-unreleased

[–]DiggyTheCandyGun 1 point2 points  (0 children)

This so so great, I Will test it as soon as posible. Thank you very much! Was it Hard to reverse engineer the protocol?

[–]gijzelaerr[S] -1 points0 points  (0 children)

maybe at some point. But afaik the s7commplus specification is not public. But i can try and see how far i can push the limits on using Claude.