Jump to content
OMRON Forums

Global P variables in background C-PLCs


Recommended Posts

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 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




Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

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.
Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...