dmroeder / pylogix

Read/Write data from Allen Bradley Compact/Control Logix PLC's
Apache License 2.0
599 stars 182 forks source link

Unittest Added for CLX/Compactlogix #80

Closed TheFern2 closed 5 years ago

TheFern2 commented 5 years ago

My work is done for unittesting of clx/compact, I won't be submitting any more commits to this branch unless you find something that needs editing. Feel free to merge this after reviewing the PR.

I will submit two more PRs separated.

Concerns/Thoughts about micro800 unittesting:

I was not able to use sim as mentioned before, so just need to know if read/write is the only functions intended to work, or do others work like plcTime, discover, etc? I am debating whether to make a separate unittest file and keep things like that to avoid confusion when users are testing.

dmroeder commented 5 years ago

Right on, nice work. I'll peek at it tonight.

I'm sure the Micro800 will respond to Discover, I cannot remember for sure about get/set time. I'll verify when I get home as my Micro820 is at my house. I don't use the Micro8xx series in the real world, I probably would have never added support for it but Rockwell gave me one and the changes were pretty easy.

TheFern2 commented 5 years ago

Guess one way to find out is to run the PylogixTests and see what passes, well if you have the same controller tags as global variables on a project. I was going to build one but gosh CCW sucks lol.

Anyway since most tests have mixed fixtures with controller and programs tags I don't think many tests will pass unless an if is wrapped around fixtures with program tags parameter input on the prefix on the tests.

dmroeder commented 5 years ago

I'll try to suck it up and make an equivalent CCW program.

I agree with you on CCW, it's free if your time and sanity are worthless.

dmroeder commented 5 years ago

Get and set the PLC time is not supported with the Micro8xx series.

TheFern2 commented 5 years ago

Ok thanks for the info, I will work in making PylogixTests.py compatible with micro800 in the next few days. I can attempt to make the project too. I did noticed export tags works too so that would be the second option too for users if they want to unittest.

TheFern2 commented 5 years ago

Nevermind on creating a micro800 project, apparently you need the developer version to create UDTs. Guess we can test everything but UDTs unless you have access to dev version.

image