flhofer / IEC_61131-3_TestLib

A CoDeSys v2.3 test library based on a POU approach
GNU General Public License v3.0
6 stars 3 forks source link

Good idea! But why CODESYS V2.3? #3

Closed Aliazzzz closed 4 years ago

Aliazzzz commented 4 years ago

Hi,

I was wondering why you have chosen CODESYS V2.3 for the implementation? I mean, what are your specific reasons?

With kind regards,

Aliazzz

flhofer commented 4 years ago

Hi, Many reasons

  1. There is practically no testing for 2.3, and despite multiple advertisements about 2.3 disappearing soon, the industry surrounding it clings onto legacy and fears costs and effort that an upgrade may bring. They can test their software as is and increase reliability.
  2. There is a lot of research going on for the 3.x family for advanced testing tools (see article)
  3. CoDeSys 3.5 features a paid add-on for this purpose, TestManager (it's not exactly the same, but it already allows thorough testing)
  4. You can use this library also for CoDeSys 3.x

I'm planning to extend the library with automation, i.e. automatic test case creation. I punched down some examples so far, but there is big room for improvement.

Any feedback is welcome!

Florian

Aliazzzz commented 4 years ago

Dear Florian,

Yes 2.3 is rather obsolete as it has been around for at least a good 12 to 15 years. Time has come to leave v23 for what it is and move on. Migration to v3.5 is fairly easy but is dependent on the expertise of the software-engineer. Maybe a well written v23 to v35 migration tool makes more sense then sustaining a fear of migration (the CODESYS tool requires much manual labour afterwards). V23 will soon lack updates and thus forms a potential security risk. Offcourse, it is up to the plant manager to decide what is best for them.

That said, I will definitely check out your hard work for v2.3 as a good unit-testing was lacking until now. Also we (I) cordially welcome you to take a look at our allready mature MIT licensed, free and opensource unit-testing framework for TwinCAT3 (TcUnit) and CODESYS3 (CfUnit). We can always use people like you to help us realise our dreams.

We are close to releasing v1.1.0.0 which will contain many new features and exporting a testresults.xml file in jUnit format for integration in CI/CD environments. https://forge.codesys.com/svn/prj,cfunit,code/landingpage/index.html?raw and www.tcunit.org

flhofer commented 4 years ago

Thanks for your invite :)

Yes, 2.3 is around since 2003 if I'm not wrong. 3S software actually announced that they will discontinue bug-fixing and maintenance starting from December 2019, so now. However, as part of my research i conducted some investigation on use and practices, and as of 2017 around 60% of hardware manufacturers in the CoDeSys Alliance still used CoDeSys 2.3 on their devices. Thinking of the fact that v.3 launched first in the late 00's it's astonishing. I worked with TwinCat3 and CoDeSys 3.x and both are based on extensible platforms, 2.3 isn't. So for me it is a nice to cover and I see it as an opportunity to increase reliability of what's there. Migration has to happen, but I'm afraid it will take a while. Fortunately my library will work also on 3.5 systems.

Let's keep contact. I will check out you system, and thanks again.

Florian

Aliazzzz commented 4 years ago

Thumbs up!

Ps We love to hear feedback from you. Plus, you can expect good feedback from me for your v23 project also.