Project link:<a href=\"https://github.com/midea-ai/SemaPLC\" rel=\"nofollow\">https://github.com/midea-ai/SemaPLC</a><br>Document:<a href=\"https://midea-ai.github.io/SemaPLC/#/en/\" rel=\"nofollow\">https://midea-ai.github.io/SemaPLC/#/en/</a></p>\n<p>SemaPLC turns AI-assisted PLC programming from \"generating code\" into \"delivering verified control logic.\" It provides a browser-based IDE for generating, editing, verifying, and simulating programs, and its verification-gated agent empirically surpasses prior systems, with the widest margin in dynamic runtime behavior.</p>\n","updatedAt":"2026-08-20T02:35:21.224Z","author":{"_id":"6a8419d70147838abe580dea","avatarUrl":"/avatars/a8b3758b418f2d6cc8ccc8c79d418743.svg","fullname":"Allen","name":"Allenyltu","type":"user","isPro":false,"isHf":false,"isHfAdmin":false,"isMod":false,"isUserFollowing":false}},"numEdits":0,"identifiedLanguage":{"language":"en","probability":0.7912766933441162},"editors":["Allenyltu"],"editorAvatarUrls":["/avatars/a8b3758b418f2d6cc8ccc8c79d418743.svg"],"reactions":[],"isReport":false}}],"primaryEmailConfirmed":false,"paper":{"id":"2608.18565","authors":[{"_id":"6a866443db13816030683e84","name":"Yanlun Tu","hidden":false},{"_id":"6a866443db13816030683e85","name":"Huacan Wang","hidden":false},{"_id":"6a866443db13816030683e86","name":"Ziyue Zhou","hidden":false},{"_id":"6a866443db13816030683e87","name":"Jie Zhou","hidden":false},{"_id":"6a866443db13816030683e88","name":"Ningyan Zhu","hidden":false},{"_id":"6a866443db13816030683e89","name":"Ge Chen","hidden":false},{"_id":"6a866443db13816030683e8a","name":"Wangyi Chen","hidden":false},{"_id":"6a866443db13816030683e8b","name":"Tengfei Zhou","hidden":false},{"_id":"6a866443db13816030683e8c","name":"Yifan Zhou","hidden":false},{"_id":"6a866443db13816030683e8d","name":"Dasheng Yang","hidden":false},{"_id":"6a866443db13816030683e8e","name":"Xiaofeng Mou","hidden":false},{"_id":"6a866443db13816030683e8f","name":"Hui Zhang","hidden":false},{"_id":"6a866443db13816030683e90","name":"Yi Xu","hidden":false}],"mediaUrls":["https://cdn-uploads.huggingface.co/production/uploads/6a8419d70147838abe580dea/Y6ljictlBqBG6N-AwVEnv.gif"],"publishedAt":"2026-08-19T00:00:00.000Z","submittedOnDailyAt":"2026-08-20T00:00:00.000Z","title":"SemaPLC: A Project-Grounded, Verification-Gated Agent Harness for PLC Code Generation","submittedOnDailyBy":{"_id":"6a8419d70147838abe580dea","avatarUrl":"/avatars/a8b3758b418f2d6cc8ccc8c79d418743.svg","isPro":false,"fullname":"Allen","user":"Allenyltu","type":"user","name":"Allenyltu"},"summary":"Programmable logic controllers (PLCs) run industrial plants, and large language models can already generate independent program organization units (POUs) for them. Whether such logic integrates into an existing PLC project and then runs correctly has been checked only in limited tests. We present SemaPLC, a project-grounded and verification-gated agent harness assembled from conventional tools but governed by a strict completion rule. Rather than stopping when the model judges its own output adequate, SemaPLC declares a task complete only when logged external checks confirm it. Those checks cover the specification, the compilation, and the behavior on a live runtime. On 117 independent-POU tasks matching existing benchmarks, it attains the highest strict verified pass rate on all seven models (72.6\\% mean). On a project-context track of 65 tasks whose generated logic must compile and run inside a real project, it attains the highest mean on integrated compilation, static behavior, and dynamic behavior. Of the three layers, dynamic behavior is the most revealing. We measure it by deploying the generated and the reference logic to a live PLC runtime and comparing their executed traces. All methods fall within 10 static points of one another, whereas dynamic scores separate them sharply, from 22.4 to 31.4 for the baselines against 52.2 for SemaPLC. Overall, our verification-gated harness raises the mean at every layer and most sharply at runtime. Execution, not static scoring, is the faithful test of whether generated control logic actually works. SemaPLC is open-sourced at https://github.com/midea-ai/SemaPLC.","upvotes":58,"discussionId":"6a866443db13816030683e91","githubRepo":"https://github.com/midea-ai/SemaPLC","githubRepoAddedBy":"user","ai_summary":"SemaPLC is a verification-gated agent harness that validates generated PLC logic through external compilation and live runtime execution, achieving higher verified pass rates than baseline methods.","ai_keywords":["programmable logic controllers (PLCs)","program organization units (POUs)","SemaPLC","verification-gated agent harness","live runtime","integrated compilation","static behavior","dynamic behavior","executed traces"],"ai_summary_model":"thinkingmachines/Inkling-Small","githubStars":30,"organization":{"_id":"69dc8ba0ba9bca6e55fd1b10","name":"Midea-AIRC","fullname":"Midea AI Research Center","avatar":"https://cdn-avatars.huggingface.co/v1/production/uploads/67aab016929cde5e80e9727b/rL_SprKt4P3mwpCGjartp.png"}},"canReadDatabase":false,"canManagePapers":false,"canSubmit":false,"hasHfLevelAccess":false,"upvoted":false,"upvoters":[{"_id":"6a8419d70147838abe580dea","avatarUrl":"/avatars/a8b3758b418f2d6cc8ccc8c79d418743.svg","isPro":false,"fullname":"Allen","user":"Allenyltu","type":"user"},{"_id":"64c382691ddb38927358744f","avatarUrl":"/avatars/52421acc33cb3b8eb2b7cc6339421d78.svg","isPro":false,"fullname":"Aries Liu","user":"AriesLiu","type":"user"},{"_id":"665de5242d8dafd54d618c0f","avatarUrl":"/avatars/4c83723222792eefb513434070c7d7e8.svg","isPro":false,"fullname":"NingyanZhu","user":"IrizZ","type":"user"},{"_id":"682c6da639dfc75334140fad","avatarUrl":"https://cdn-avatars.huggingface.co/v1/production/uploads/no-auth/aJZH-iK-ar04-O0wUVafX.png","isPro":false,"fullname":"yqh","user":"ToBeJoyVanguard","type":"user"},{"_id":"6406cadb692855e65ae9ee01","avatarUrl":"/avatars/5a0a04f38a00b11b9752ad8d1fc0708e.svg","isPro":false,"fullname":"kuan li","user":"minlik","type":"user"},{"_id":"63ac5701c21e60a3e9b58aa7","avatarUrl":"https://cdn-avatars.huggingface.co/v1/production/uploads/63ac5701c21e60a3e9b58aa7/g6EX7diOpuA94R2ab-rZC.png","isPro":true,"fullname":"Dipankar Sarkar","user":"dipankarsarkar","type":"user"},{"_id":"6a867b5753e21a65a196e51d","avatarUrl":"/avatars/5938e7111001950678b39c48167aca7d.svg","isPro":false,"fullname":"Smith","user":"SmithAllen123","type":"user"},{"_id":"6a6a9506a698558ca76242e3","avatarUrl":"/avatars/0a0eff98d0336961ce4b5c0f0f2db559.svg","isPro":false,"fullname":"John Perez","user":"Ember-Wisp","type":"user"},{"_id":"6a6a9b4d726441725a3003f6","avatarUrl":"/avatars/68190a31808e25b5b25f07a003b871b9.svg","isPro":false,"fullname":"John Taylor","user":"Harbor-John","type":"user"},{"_id":"6a6c7a3d3574d63d5305cd74","avatarUrl":"/avatars/78a0b7bd8c1b9996c19966b58df44488.svg","isPro":false,"fullname":"Richard Wilson","user":"Cobalt-Richard4","type":"user"},{"_id":"6a6c9d69c4a86c3ccc0e871d","avatarUrl":"/avatars/dea73c44020faf8c2656939baf02c2db.svg","isPro":false,"fullname":"Charles Jones","user":"Cedar-Owen","type":"user"},{"_id":"6a6c8bf37e229e8df66886be","avatarUrl":"/avatars/335caa28ef1d0af046d2ff2320fe5cd1.svg","isPro":false,"fullname":"Paul Martin","user":"zenithstack","type":"user"}],"acceptLanguages":["en"],"dailyPaperRank":3,"organization":{"_id":"69dc8ba0ba9bca6e55fd1b10","name":"Midea-AIRC","fullname":"Midea AI Research Center","avatar":"https://cdn-avatars.huggingface.co/v1/production/uploads/67aab016929cde5e80e9727b/rL_SprKt4P3mwpCGjartp.png"},"markdownContentUrl":"https://huggingface.co/buckets/huggingchat/papers-content/resolve/2608/2608.18565.md","query":{}}">
SemaPLC: A Project-Grounded, Verification-Gated Agent Harness for PLC Code Generation
Abstract
SemaPLC is a verification-gated agent harness that validates generated PLC logic through external compilation and live runtime execution, achieving higher verified pass rates than baseline methods.
Programmable logic controllers (PLCs) run industrial plants, and large language models can already generate independent program organization units (POUs) for them. Whether such logic integrates into an existing PLC project and then runs correctly has been checked only in limited tests. We present SemaPLC, a project-grounded and verification-gated agent harness assembled from conventional tools but governed by a strict completion rule. Rather than stopping when the model judges its own output adequate, SemaPLC declares a task complete only when logged external checks confirm it. Those checks cover the specification, the compilation, and the behavior on a live runtime. On 117 independent-POU tasks matching existing benchmarks, it attains the highest strict verified pass rate on all seven models (72.6\% mean). On a project-context track of 65 tasks whose generated logic must compile and run inside a real project, it attains the highest mean on integrated compilation, static behavior, and dynamic behavior. Of the three layers, dynamic behavior is the most revealing. We measure it by deploying the generated and the reference logic to a live PLC runtime and comparing their executed traces. All methods fall within 10 static points of one another, whereas dynamic scores separate them sharply, from 22.4 to 31.4 for the baselines against 52.2 for SemaPLC. Overall, our verification-gated harness raises the mean at every layer and most sharply at runtime. Execution, not static scoring, is the faithful test of whether generated control logic actually works. SemaPLC is open-sourced at https://github.com/midea-ai/SemaPLC.
Community
Project link:https://github.com/midea-ai/SemaPLC
Document:https://midea-ai.github.io/SemaPLC/#/en/
SemaPLC turns AI-assisted PLC programming from "generating code" into "delivering verified control logic." It provides a browser-based IDE for generating, editing, verifying, and simulating programs, and its verification-gated agent empirically surpasses prior systems, with the widest margin in dynamic runtime behavior.
Upload images, audio, and videos by dragging in the text input, pasting, or clicking here.
Tap or paste here to upload images
Cite arxiv.org/abs/2608.18565 in a model README.md to link it from this page.
Cite arxiv.org/abs/2608.18565 in a dataset README.md to link it from this page.
Cite arxiv.org/abs/2608.18565 in a Space README.md to link it from this page.
Discussion (0)
Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.
Sign in →No comments yet. Sign in and be the first to say something.