Resetting the IPC may make an updated bitmap appear, but it treats the cache state rather than the project configuration that created it. Replacing the same file repeatedly, changing visualization update behavior, or modifying PLC logic also misses the fault when the visualization continues to use a cached image resource.
Why do the usual bitmap refresh fixes fail?
An IPC reset clears volatile state and reloads the runtime, so it can appear to solve the problem. It also interrupts the machine interface and leaves the cache enabled. The next replacement under the same bitmap identity can reproduce the same symptom.
Repeatedly copying the edited bitmap is another weak test. A valid file at the expected location proves only that the source file changed; it does not prove that the visualization rebuilt, transferred, or reloaded its image resource. A cache can continue serving the prior representation while the file on disk is already correct.
Changing screen refresh rates or PLC task behavior does not invalidate an image cache. Those settings affect how often values or visualization states are evaluated, not necessarily how static resources are loaded. Tuning does not fix wiring, and faster screen updates do not fix a stale resource.
What actually causes the old bitmap to remain visible?
The signal chain starts with the bitmap file, passes through the project resource handling, and ends at the visualization object displayed by the runtime. If image caching is active, the displayed object can come from a previously loaded or built representation instead of reopening the edited bitmap whenever the screen updates.
That distinction explains why PLC values may refresh normally while the image remains old. The controller is still exchanging live data, and the visualization engine is still drawing the screen, but the static image input to that drawing operation has not been invalidated.
For Codesys V2.3, inspect the target configuration under Resources. The relevant control is an option associated with the target, not an ordinary property of the bitmap object. Disable the image cache there when the application must reload a changed bitmap without resetting the IPC. The precise option label can vary with the installed target package, so identify it by its cache or image-resource function rather than selecting an unrelated resource setting.
Which points in the image signal chain should be checked?
Look at the displayed result first, then work backward. Record one unmistakable feature of the replacement image, such as changed text, dimensions, or a prominent color block. Check each transformation point once before changing any configuration.
| Signal | Source | Wrong-value symptom |
|---|---|---|
| Bitmap content | Edited source file | The file itself still shows the old artwork when opened independently. |
| Resource identity | Project reference, name, or path | The visualization points to another copy or continues addressing the same cached identity. |
| Built project resource | Codesys V2.3 target resource processing | The engineering project contains the new file, but the built or downloaded resource remains old. |
| Cached image | Target resource cache | Other screen elements update while the prior bitmap persists until runtime or IPC restart. |
| Displayed pixels | Visualization object | The correct resource exists, but the active object, layer, or screen is not the one being inspected. |
Use a checksum, file size, or a visible marker to distinguish the two bitmap revisions. A timestamp alone is weaker because file-copy tools and project workflows can preserve or rewrite timestamps. If the independently opened deployed file is old, correct the file-transfer path before touching the cache setting.
How do you disable the Codesys V2.3 image cache?
Save a project backup and capture the current target settings. This gives you a known return point if resource loading or screen performance changes.
Open the replacement bitmap outside Codesys V2.3. Confirm that it contains the intended artwork and can be decoded normally.
Check the bitmap reference used by the visualization object. Verify that its name or path resolves to the file you changed, not a duplicate stored elsewhere in the project or deployment.
Open the configuration for the target used by the application. Navigate to the target's
Resourcesoptions.Find the option that enables image or bitmap caching and disable it. Do not change unrelated resource limits or visualization timing controls.
Rebuild the affected project resources and perform the normal application download. A configuration change in the engineering project cannot affect an already running target until the changed resource configuration reaches that target.
Return to the screen containing the bitmap or use the application's normal screen-navigation sequence to make the visualization request it again. Test this before resetting the IPC.
If no image-cache control appears under Resources, first verify that you opened the active target rather than a library, visualization object, or different target definition. The set of target options comes from the installed target package, so a different package can expose a different resource configuration.
How do you verify that the cache change solved the problem?
Run a controlled A/B test. Start with a recognizable bitmap revision, confirm it on the IPC, then replace it with a second revision containing one obvious visual marker. Keep the object reference and PLC state unchanged. Rebuild and transfer only through the established project workflow.
The fix passes when the second revision appears through normal visualization loading without an IPC reset. Navigate away and back, repeat the application-supported resource update process, and confirm that the replacement remains correct. Also check other screens that reuse the image; a shared resource can reveal whether the cache control applies at the target level rather than to one object.
Separate cache verification from process-data verification. Live tags changing on the same screen prove that communications and cyclic display updates work, but they do not prove that the bitmap resource was reloaded. Conversely, a refreshed bitmap does not validate PLC values, scaling, or control logic.
Which pitfalls make the stale image return?
The most common mistake is changing more than one link in the chain at once. Renaming the file, changing its path, editing the object, disabling caching, and resetting the runtime may produce the right picture without identifying which action mattered. Change the target cache option first after proving the source and reference are correct.
Duplicate filenames also obscure the result. Search the project and deployment locations used by the application, then identify the exact copy referenced by the visualization. A successful edit to an unused copy cannot reach the final element.
Another pitfall is testing only after an IPC reset. That test cannot distinguish correct cache configuration from a cache that was merely cleared by restarting. The acceptance test must exercise the normal update and visualization reload path while the IPC remains running.
Finally, disabling caching can change resource-loading behavior. Observe screen transitions and bitmap rendering after the change, especially where multiple images are reused. If the application requires frequent updates to only one image, confirm that the target-wide behavior remains acceptable across the rest of the visualization.
FAQ
Why does Codesys V2.3 show the old bitmap after I replace the file?
The visualization can display a cached target resource instead of rereading the changed file. Confirm the source and object reference, then disable the image-cache option in the target's Resources settings.
Why does resetting the IPC refresh the bitmap?
A reset reloads runtime state and can clear the stale in-memory resource. It does not correct an enabled cache, so the symptom can return after another bitmap replacement.
Why do live PLC values update while the bitmap stays stale?
Dynamic values and static image resources travel through different update paths. Normal tag updates prove that communications and screen evaluation are active, not that the bitmap cache was invalidated.
When should I escalate a Codesys V2.3 bitmap problem?
Stop changing the application when the active target has no identifiable image-cache control, or when disabling it and rebuilding the resources still leaves the old bitmap after a verified download. Contact official product or target-package support with the project archive, target identity, current Resources settings, bitmap properties, and repeatable test steps; do not keep resetting a production IPC to conceal the fault.