I’m new to the forum, but have been programming B&R PLCs for about 4 years now.
The company I work for has used B&R controls since the 80s/90s. Back then everything was programmed in a mixture of assembly and ladder, but ever since the company transitioned to the System 2003 “Blueline” PLCs like the CP474/CP476 everything here has been done in ANSI C.
This is my first job out of college, back when I interned elsewhere all the PLC logic I ever saw was done in the IEC languages. I’ve become very accustom to using C and find it to be fast and powerful and I am very curious if anybody else out there programming B&R PLCs use C today.
We also use today 2024 ANSI-C as preferenced language within Automation-Studio.
Means:
All our base-libraries we use for example for our AS-projects are programmed in ANSI-C.
If our customer whant’s to implement the machine-level integration with IEC-ST (example only) there is no limitation using the ANSI-C libraries we provide.
= languages can be mixed
= some “minor” restrictions / limitations are present and documented within AS-help
So the simple answer to your questions is: don’t hesitate to use ANSI-C with AS as it is supported by B&R.
Hi, I don’t have official statistics, but based on my personal feelings and experience, ANSI C and Structure Text are two of the most popular programming languages used with B&R controllers. So, don’t worry; use ANSI C. If you have any practical questions or doubts, feel free to ask here. There are a lot of experts who can help you
We are using it since we switched from PG2000 (DOS) to Automation Studio version for Windows about 20 years ago.
If I would have to start over again I maybe would consider to use C++ instead of C, but so so far as I know are there still some restrictions in the C++ programming.
If you are used to ANSI C I would strongly recommend using it with B&R. We also started using it about 10 years ago and never regretted it ever since.
With automation studio 6 coming this summer, even GCC11 will be supported. (currently GCC6.3)
They also have put some work into using native C libraries as well. So I guess there will be even fewer restrictions using C in the future.
We also tried using C++ but have been struggling with different topics. So we decided to stick with C. AS6 will also extend the support for C++ but since we have already started with the project, we won’t switch to C++ for now.
but so so far as I know are there still some restrictions in the C++ programming
sure, because of the real-time capabilities of AR there are a few limitations in both C and C++, e.g. memory management and IO and everything related to that.
But this is very well documented: