Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Global P variables in background C-PLCs
#1
We have some established programs running background C-PLCs that reference global P variables in the C code. We reference them using the notation "pshm->P[2]".

These C-plc's have been running fine on other Power Pmacs for a couple of years.

We recently upgraded to FW 2.4.0.180 on one of our 465 UMAC processors. The C code appears to build and download, but none of the expressions that contain global P variables seem to evaluate. No code changes in the project, the only change is new FW in the PMAC.

We've verified that the PLCs are running by adding debug code that modifies a few variables in user shared memory, we then use the watch window and make sure the user shared memory locations update as expected when the C-plcs are running.

Any ideas as to why just the global P-variable expressions will not evaluate? We've tried cleaning the project before build and download, reboot then build, etc.

We're using IDE 3.1.2.2.

Thanks,
kmonroe
Reply
#2
I have found that you need to not only execute the “Clean” but an “Unload” and “Reload” of the project. Also if you have any of the buffer sizes in the project properties different from the default you must also execute a reboot (or power cycle) at least once after the first “build and Download” after the firmware update. I was able to recreate the issue but resolved it after doing the above actions.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)