Course code: EM-1
  • Years with company: 8
  • Years programming: 12+
  • Primary programming language: IEC 61131-3
  • Other programming languages: Within IEC 61131-3 we use Structured Text and Function Block Diagrams. I have also develop in C# as a hobby.
  • Unit test harnesses: With C# I have looked up tutorials on NUnit, XUnit, and MSTest.
  • Something else: I enjoy development and spend a lot of time looking up tutorials and attempting projects to expand my development knowledge at home.
  • Test practice now: Debugging on a device. Our required IDE for PLC development does not allow code to run unless loaded on a device, so we have to load it on a device and debug in order test the code. In the past I have attempted to translate the ST code to C# to help develop some functionality, but testing the C# code not mean the ST code does not have any issues.
  • Target system: I write code for a PLC (iPro).
  • Dev tools: Custom version of ISaGRAF as the IDE and StarTeam for VSC. For my hobby, I also use VS Coe and Visual Studio with their tools like nuget, git, etc...
  • Build time: 1-5 minutes
  • Coding standard: I tried to create a coding standard for our PLC development group. It has rules like not using globally scoped variables in function blocks, variable name standards and casing, addressing of variables for external use, and many more.
  • Function too long: When it tries to do too many things.
  • Code reviews: Not frequent and we don't often have the time or knowledge on a project (3-4 devs working on 3-4 projects) to do thorough reviews. It is often only reviewing code that has issues.
  • Code time: 30
  • Test time: 70
  • Debug time: 70
  • Favorite thing about dev: Automating tasks. I like creating tools that my team and other teams can use to make our tasks faster. I like learning and using new development technologies.
  • Least favorite thing about dev: I do not like the limits of the IDE or the simplistic languages used for our PLC development.
  • Tdd knowledge: I have gone through C# tutorials for my hobby to learn it. I understand the concepts of running code and testing for expected/actual values and designing tests for the good/bad paths of a function prior to writing the function.
  • Why are you attending: I received a meeting invite from my VP that just said it was a TDD training. I am interested in learning about it, although I am concerned about not having experience with C/C++ in either work or personal time.