news 2026/6/15 22:28:06

OpenPLC Runtime v4 架构(英译中)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenPLC Runtime v4 架构(英译中)

OpenPLC Runtime v4 架构

概述

OpenPLC Runtime v4 是一个双进程系统,通过 REST API 服务器(用于 OpenPLC Editor 通信)和实时 PLC 执行引擎提供工业自动化能力。

系统组件

1. REST API 服务器进程 (Python/Flask)

REST API 服务器是一个基于 Flask 的 HTTPS 应用程序,提供以下功能:

  • REST API,用于 PLC 控制和管理
  • WebSocket 接口,用于实时调试
  • 程序编译编排
  • 用户认证与安全
  • 运行时进程管理

关键细节:

  • 端口:8443 (HTTPS)
  • 位置:webserver/app.py
  • TLS:自签名证书(自动生成)
  • 认证:基于 JWT

2. PLC 运行时核心 (C/C++)

PLC 运行时是一个实时执行引擎,其功能包括:

  • 执行编译后的 PLC 程序,具有确定性时序
  • 通过插件驱动程序管理 I/O 操作
  • 提供调试接口,用于变量检查
  • 通过看门狗监控系统健康状态
  • 维护生命周期状态(INIT, RUNNING, STOPPED, ERROR, EMPTY)

关键细节:

  • 可执行文件:build/plc_main
  • 位置:core/src/plc_app/
  • 调度:SCHED_FIFO(实时优先级)
  • 要求:root 权限或 CAP_SYS_NICE 能力

进程间通信

两个进程通过 Unix 域套接字进行通信:

PLC 运行时套接字

  • 路径:/run/runtime/plc_runtime.socket
  • 用途:命令与控制(启动、停止、状态查询)
  • 协议:基于文本的命令,带同步响应
  • 实现:core/src/plc_app/unix_socket.c(服务器端),webserver/unixclient.py(客户端)

日志套接字

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 1:15:40

GitHub 热榜项目 - 日榜(2026-01-29)

GitHub 热榜项目 - 日榜(2026-01-29) 生成于:2026-01-29 统计摘要 共发现热门项目: 11 个 榜单类型:日榜 本期热点趋势总结 本期GitHub热榜显示AI智能体工具生态持续火爆,多个项目聚焦于提升AI智能体的实用性与工程化水平。如…

作者头像 李华
网站建设 2026/6/15 12:20:27

ISTQB新增AI模块考试指南:测试证书大革命

AI驱动的测试认证变革 随着人工智能(AI)技术在各行业的渗透,软件测试领域正经历一场深刻革命。2025年,ISTQB(国际软件测试资格认证委员会)正式推出生成式AI测试(CT-GenAI)和人工智能…

作者头像 李华
网站建设 2026/6/15 12:20:37

协程 Hook 机制的庖丁解牛

协程 Hook 机制 是 Swoole 实现 同步代码自动协程化 的核心技术,它通过 运行时劫持 PHP 内部函数表,将阻塞 I/O 操作(如 file_get_contents、sleep)透明替换为非阻塞协程版本。这使得开发者能用 同步风格编写高并发代码&#xff0…

作者头像 李华
网站建设 2026/6/15 13:39:01

基于Java的幼儿园教师备课智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ? 幼儿园教师备课智慧管理系统主要功能模块包括系统会员管理、幼儿园管理、班级管理等,通过SpringMVC开发框架和MySQL数据库实现。此项目专注于解决传统选题普遍存在的问题:过于泛化缺乏创新性与实用性。本系统的特色…

作者头像 李华