first commit
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# Troubleshooting
|
||||
|
||||
On the user's Pi the active runtime log is /var/log/codesyscontrol.log.
|
||||
/var/opt/codesys/codesyscontrol.log contained old logs. Check timestamps.
|
||||
|
||||
```sh
|
||||
sudo /etc/init.d/codesyscontrol status
|
||||
sudo tail -n 100 /var/log/codesyscontrol.log
|
||||
file component/out/libCmpAtomModbus.so
|
||||
nm -D component/out/libCmpAtomModbus.so
|
||||
```
|
||||
|
||||
Look for CmpAtomModbus, undefined symbol, signature mismatch or load errors.
|
||||
ComponentEntry and atmbcall_cext must be exported. The observed manual load was
|
||||
component ID 0xffff2001, version 0.2.0.0. Ensure custom component IDs do not collide.
|
||||
|
||||
External function signature: 0x709EE65B, API version: 0x00020000.
|
||||
A valid component load does not prove the request scheduler or device I/O works.
|
||||
|
||||
AccessViolation in processAllRequests: use the current export with zero-count,
|
||||
bounds and null checks and do a full download. Nonzero stale pointers still need
|
||||
lifecycle investigation. Keep requests and their data arrays alive for the client
|
||||
lifetime, and do not change a registered request's client while running.
|
||||
|
||||
Use one IEC task for all native clients. Handles must not be retained/persistent.
|
||||
For STOP/download, disable the client and let a scan run, or call release().
|
||||
See compat/README.md for lifecycle limitations and uncertain-write handling.
|
||||
Reference in New Issue
Block a user