概述 这 CODESYS Control Extension Package 提供许多不同的选项和接口来将您自己的程序连接到 Linux 运行时系统和 IEC 应用程序。 例如,这允许您控制 PLC、响应来自 PLC 的事件,或将您自己的功能添加到 PLC 或 IEC 应用程序。 有关最重要的接口和功能的概述,请参见下文。注意:“从 PLC 外部”仍然意味着您在 Linux 系统上。这些接口仅在
安全机制 扩展 API 提供了全面的选项来影响运行时系统。因此,用户必须注意必要的安全措施。 为了 CODESYS Control Extension Package 4.4.0.0 及更高版本, codesysuser 安装包时创建组。扩展 API 的某些功能要求使用它们的 Linux 用户是 codesysuser 团体。您可以使用以下命令将具有管理员权限的用户添加到该组(例如): $ sud
外部事件任务 “外部事件任务”机制可用于通过外部事件触发任务。 “Unix Domain Sockets”用于进程分离。根据用户为外部事件选择的名称,相应的套接字文件位于目标系统上: /var/run/codesysextension/eventtasks/<EventName>.sock 创建“外部事件”类型的任务 创建外部事件。 在设备树中,选择 任务配置 并在上下文菜单中单击 管理外部事件
事件机制 运行时系统使用“事件”来传达诸如 PLC 的启动/停止/复位、异常发生等事件。使用“事件机制”,可以在触发选定事件后立即接收消息。 转发以下与应用程序相关的事件: EVT_StartDone EVT_StopDone EVT_ResetDone EVT_ExitDone EVT_AllBootprojectsLoaded EVT_CmpApp_Exception EVT_StateCha
访问 PLC 外壳 扩展 API 支持对 PLC 外壳的外部访问。对于此功能,使用“Unix 域套接字”,运行时系统使用它来接收传入的命令并发送相应的响应。对应的socket文件为: /var/run/codesysextension/plcshell.sock 对于此功能,运行时系统需要允许“匿名用户”。允许匿名登录是通过 通讯设置 在设备的 改变沟通政策 对话框(1): 允许匿名登录 选项 (
START/STOP 开关 START/STOP 开关代表一个物理开关,可用于将 PLC 设置为启动或停止状态。 如果文件i /var/run/codesysextension/runstop.switch 存在。注意,与扩展包的其他功能不同,文件是在 /var/opt/codesysextension/ 该文件不是由运行时系统创建的。如果您想使用 START/STOPP 功能,您必须创建文件。当
调用外部函数 此机制可用于通过 Unix 域套接字调用 IEC 应用程序中的外部函数。这允许您创建自己的功能。同时,实现了流程分离。作为 IEC 的一个接口, EXTAPI.UDSExternalFunction 功能块提供在 ExtensionAPI 库。在 Python 中, ExternalFunctionBase 类用于此目的,在提供的示例中提供。 还使用此示例解释了该机制的使用。该示例包
链接您自己的 I/O 借助此功能,本地 I/O 可以连接到控制器并在 IEC 应用程序中使用。 编辑设备描述 在提供的示例中 C:\Users\<user>\CODESYS Control SL Extension Package\<version>\Examples\ExternalIoDrv ,设备描述用于创建两个通过 Unix Domain Socket 连接的输入和输出。 要定义您自己的输
将数据保留在共享内存中 某些产品不包括从控制器中的应用程序保留数据的自动连接(由于缺乏普遍有效的存储选项)。但是,运行时系统中存在一种通过共享内存 (SHM) 连接的现有机制,该机制可用于此目的,并具有相应的配置。 例如,可以通过以下方式使用 CODESYS Control SL 产品: CODESYS Control for Linux SL CODESYS Control für Linux
扩展 SDK 使用扩展 SDK,您可以在 C 中实现自己的函数并从 IEC 应用程序中调用它们。 对于这种连接,C 代码以单独的动态组件的形式集成到运行时系统中( shared object )。 有两种方法包括: 在控制器上准备:动态组件已配置为 CODESYS 运行时系统(一个 shared object 存在并在 Linux 系统上配置)。然后,只需要相应的 IEC 库。 以带有集成动态组件