jordan83

Few doubts as a beginner

9 posts in this topic

Hello everyone, I am approaching PLC programming and I am looking for some answers to get started in the proper way. Some context: I am a software developer, working in a small company (we are 2 people), and so far we always worked on projects such as: Android, web programming, back-end programming (Java, Python, Scala) mostly on linux environments. Recently, we decided to enter the PLC world, since we have some opportunities that require expertise on both "high level" programming and PLC programming. I've been lurking some forums and reading some articles to build a basic understanding on the topic. However there are some aspects that are bothering me a bit and hopefully you can shed some light. 1) I see several brands, Siemens, Omron, Panasonic citing a few. Do I need a different software for each brand? 2) if I learn to program for Omron PLCs, can I reuse the expertise on Siemens PLCs (or other brands)? 3) Is there a main/standard programming language I should learn? 4) Are there open source/free solutions to get started with PLC programming or am I forced to buy a full version of the software? I see that CX-One costs ~2000 EUR which is not that little 5) Most likely I will be starting working on Omron for my first task. I see that they provide at least 2 different environment: CX-One and Sysmac Studio. In what do they differ? Is Sysmac Studio an evolution of CX-One or are they entirely different pieces of software? 6) Can you recommend some resource to get started properly? I'm mostly looking for desgin patterns, best practices or any other major concept I should be aware of. I know that most of the details will come from experience. 7) Technical question: I usually use linux for my daily work but I got the impression that the programming environments are Windows-based only. I own a laptop running Windows 10, do you think that I am going to experience troubles because of this? Is the software ready for Windows 10? If not, could it be possible/recommended to use virtual machines (I could create a Windows Vista/7 VM to run CX-One for example). Sorry for the generality/dumbness of the questions but they will be of great help for me for getting started on the right foot. I thank you in advance if you can answer to some or all of the questions. have a good day!

Share this post


Link to post
Share on other sites
Welcome! Here are some answers. 1) Every brand has their own programming software, and sometimes several different versions depending on the product line. 2) As a general rule, don't expect to be an expert in one brand by learning a different brand. It would be similar to learning Visual Basic .net, then trying to program in C++. Some knowledge is transferable, but the specific instructions, syntax, the programming environment, and even using the tech support website are very different experiences. 3) Most PLC programming is done in ladder logic, and every major PLC supports it. It's a visual style of programming that takes a little getting used to if you're coming from computer programming. Focus your efforts here. Again, instruction sets vary, but the basics will be the same. 4) There are a number of options available for free. Many brands offer time-limited or feature-limited demo versions of their programming package, and there are a few smaller brands that offer their software for free. If you have a brand in mind, talk to your distributor. 5) Can't help you here. I don't work with Omron. 6) Best thing to do is to play. Buy a low-end PLC and wire up some switches and lights. There are lot's of resources online. You could download the Hugh Jack (not Jackman) book on PLCs from this site. There's a good basic overview of PLCs and how they work on www.plcs.net, and that website also sells training DVDs. There are also sites like www.thelearningpit.com. 7) Automation programming packages are not generally early adopters when it comes to operating systems, so you'll have mixed results with Windows 10. However, virtual machines are a viable option. Again, I have no experience with Omron, but I use Win7 and WinXP virtual machines (VMWare) with Siemens, Allen-Bradley, Mitsubishi, and Automation Direct, and rarely have a problem. I would recommend getting a USB to Ethernet adapter if you go this route. I can usually use my built-in port, but occasionally certain features such as auto-discovery don't work when routed through the virtual network.

Share this post


Link to post
Share on other sites
Thank you very much for your reply, very clear and helpful. While waiting for an answer I discovered CoDeSys. Apparently this would allow to program once and run everywhere, unless I misunderstood something. Is this really an option or is it something that doesn't really meet the expectations? Is it supported by Siemens, Omron, etc...? Thanks

Share this post


Link to post
Share on other sites
I don't know much about CoDeSys, but I believe the answer is no. CoDeSys uses the IEC standards, which are intended to be interchangeable. But in reality every brand has their own take on the standards, and their own level of compliance. Even if you could program in CoDeSys, you'd still need to export/import it into the correct programming software, clean up anything that doesn't import properly, then transfer it to the PLC. So you'd almost be doing double work.

Share this post


Link to post
Share on other sites
No devices from Omron or Siemens can be programmed in Codesys to my knowledge. And answer to #5, CX-One is used for the C-Series PLCs like CJ, CP, CS. Sysmac Studio is used with the NJ and NX Series PLCs. It's the new stuff. If you learn to program in an IEC compliant product like Sysmac Studio, much of your knowledge will be portable to other IEC compliant softwares. That's the purpose of the standard. But not everything will be identical.

Share this post


Link to post
Share on other sites
Thanks for your time :) It sounded too great to be true, unfortunately. Time to get my hands dirty now ^_^

Share this post


Link to post
Share on other sites
Even though manufacturers write thier software to be IEC compliant each manufacturer has legacy PLCs to support and different functionality in there PLCs. They even implement things like function blocks and ST differently althoug still remaining compliant. Get used to it - you will need different software for each brand of PLC. You will even find that the manufacturers implement memory allocation and handling differently not to mention how they handle common things like remote I/O and Modbus communications. Welcome to our world.
1 person likes this

Share this post


Link to post
Share on other sites
Hello, regarding CODESYS, I believe it is intended to program microcontrollers, such as ARM Cortex and so on... I don't think it is implementable on PLCs. At least I know Omron PLC doesn't support it. Regarding Omron, there is a Lite version of CX-One which you can use with lower budget, although you'll only got a limited series of PLC to be programmed. But at least the new compact model, CP1-Series PLCs are supported. Depending on your project, you can consider to use this.
1 person likes this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now