AS 4.9 motion component bug

During a small training to my colleague, I found the error below:

It is report that I need motion component 5.25.0 to compile the code but when I check on the setting, the applied motion component is 5.13.2. The creator can compiled the code without single error.

After checking the xml file, I found this:
image

And I found that the creator’s PC did install motion component V5.25.1. After installed the motion component v5.25.1, no error reported.

Why user interface show that v5.13.2 is used and the compiler is using version 5.25 component? This will make the new comer have difficulty to learn B&R, same code is working in a single PC does not mean it will work on others. :sweat_smile:

When a project is opened on a PC that doesn’t have the required upgrades installed, Automation Studio usually opens a window that shows the differences and allows you to install the corresponding upgrades. However, you can click out of this window and ignore it if you want to.

My guess as to what happened here is that the version was changed from 5.25 to 5.13 with the Change Runtime Versions dialog. This is why the “In Use” version is 5.13. However there is some dependency or file who’s version wasn’t changed (often this requires more manual intervention, especially for a backwards conversion).

To prevent compatibility issues, I highly recommend not ignoring those popups on startup and ensuring that you have all of the upgrades installed exactly as the original programmer did. This is especially true if you would be downgrading anything.

same code is working in a single PC does not mean it will work on other

This is not unique to B&R, but a problem known to the world of programmers unfortunately :sweat_smile:

1 Like

Hi @xyz, I agree with @marcusbnr. I think his explanation makes sense. If you do not agree, and your scenario is different, and you still think it is a bug, please create a report to your local B&R office. So I marked previous answer as a solution. BUt it is your topic @xyz, so feel free to change it

1 Like

Unfortunately I never ignored any required upgrades. The upgrade window ask me to install 5.13 and rest of the firmware too. Normally I will screenshot all the required updates and checked the every upgrade one by one manually because some of the upgrades in the auto select will be the latest instead of the “required”. If it happened, I will go B&R website to get exactly matched upgrade due to some upgrade missing in the dialog but existed on website.

What I think: some of my colleagues did the 5.25.0 upgrade and some how he/she use it to generate the xml. It is either he do the generation with latest library or AS help him to generate the xml (Although he select 5.13). He found no problem then pass to another colleague that without 5.25 and error discovered and ask for my help. I get the same piece of source code from colleague that can compile and unfortunately my PC does not have this library and I found this bug. I did checked the “can compile” PC and I saw 5.13 is “in used” and 5.25 exists in his PC. I can assumed that AS did not check this xml version but just check the “in used” when prompt user. When compiler is compile this code, it use definition of 5.25 instead of the “in used” version. If the PC only have 5.13, it report error. This still can’t considered as bug?

I’m starting using PG2000 to latest AS, I think it get improved time to time but non of the software is perfect. I report here because it is more easy and I hope there will be improvement so that everyone think B&R is a good platform. I still can remember the Macromedia Flash version support portal. :sweat_smile:

I’m agreed but most of them applied to PC programming that link to C, C++ or compiling a linux kernel or wince or embedded programming. In PLC world, it should be less or else every should built their own embedded board instead of buying PLC. PLC should be “rapid develop”.

This morning, I did conduct another training with different project. Below show that more than 20 updates but the “auto download” just picked 4 of them correctly (I unchecked the rest because it did not matched “version in project” exactly)

With the update, I don’t even see 5.25:

Even I change the runtime to 5.25, I will get error too because the project has an in-house library depends on library version 5.13.2:

From the icon you can know that it is a machine binary that I don’t even have source code.

In my case, the most correct solution will be edit the xml manually so that it will not “depends” on 5.25 anymore.

1 Like