0
0
Fork 0

docs+chore: online verification complete on PFC200 750-8216, bump to 0.12.3

All 12 online tools verified live; 8th drift fix (source_download temp/
stale-archive). Only import_text_list_file remains prep-test-only.
This commit is contained in:
Karstein Phobic Nyvold Kvistad 2026-06-12 16:03:23 +02:00
parent 22245b91af
commit d29ebfcb8f
3 changed files with 30 additions and 6 deletions

View file

@ -161,6 +161,30 @@ remove round-trip). SP21 caveat: IScriptUser.change_password is removed
creates the user, probes change/set/reset_password, and warns when the
password could not be set (set it in the IDE in that case).
Still pending live: import_text_list_file (needs a text-list export file)
and the 12 phase-1 ONLINE tools (reset/force/bulk read-write/boot
app/source/PLC files) — require the WAGO PFC200 to be reachable.
## Online verification — 2026-06-12, WAGO PFC200 750-8216 @ 10.0.0.202, TestN2k_v1
All 12 online tools verified against the live PLC: read_variables /
write_variables (write 12.5/TRUE, read-back, restore), force_variables +
list_forced_variables + unforce_variables (force/list/unforce-all/verify-
clean), plc_file_list (root + PlcLogic), plc_file_transfer (to_plc +
from_plc, byte-identical round-trip), plc_file_delete (own marker file),
source_download (full archive onto PLC), source_upload (5 MB .prj
recovered), create_boot_application (on-device AND offline .app),
reset_application warm (state preserved), with connect/disconnect around it.
Live-found fix #8: device-level download_source on SP21 writes its temp
into Program Files (access denied) and the failed attempt leaves a locked
Archive.prj that breaks the app-level fallback — script now cleans the
stale archive and prefers the app-level call unless compact is requested.
Operational gotchas recorded: mariner40206 does not compile on this
workstation (IoDrvModbusTCPSlave 4.3.0.0 + device descriptions missing,
visu profile outdated) — TestN2k_v1 used instead; close_project with an
active online session pops a modal dialog that hangs the watcher until
clicked (the IDE-dialog rule applies to close too, not just
connect/download); long source downloads exceed the per-call IPC timeout
while still completing — check the watcher log before assuming failure.
Remaining untested live: import_text_list_file only (needs a text-list
export file in the IDE dialog format — single documented API call,
same plumbing as the verified tools).

4
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "codesys-mcp-sp21-plus",
"version": "0.12.2",
"version": "0.12.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "codesys-mcp-sp21-plus",
"version": "0.12.2",
"version": "0.12.3",
"license": "MIT",
"dependencies": {
"@modelcontextprotocol/sdk": "^1.26.0",

View file

@ -1,6 +1,6 @@
{
"name": "codesys-mcp-sp21-plus",
"version": "0.12.2",
"version": "0.12.3",
"description": "Codesys-MCP-SP21+ -- fork of luke-harriman/Codesys-MCP carrying CODESYS V3.5 SP22 Patch 1 fixes (and forward-compat with later SPs): script-engine API drift, online/runtime tool auto-login, dual-SHA release classifier, set_pou_code omitted-decl wipe fix, add_library managed-overload, etc. MCP server for CODESYS with persistent UI instance and file-based IPC.",
"main": "dist/server.js",
"bin": {