
C:\Program Files\Siemens\Automation\Portal V21\PublicAPI\V21\net48\。
二、安装或确认 Openness 组件
TIA Portal 安装时,在 Options 里勾选 “TIA Portal Openness” 即可。安装完成后,本机会生成一个本地用户组:Siemens TIA Openness。西门子官方说明,Openness 是随 TIA Portal 提供的免费选件包,不需要单独许可证。 但安装了组件并不代表你的程序就能访问 TIA Portal,还必须把运行程序的 Windows 用户加入 Siemens TIA Openness 用户组。官方文档明确说明,每次 Openness 应用访问 TIA Portal 时,TIA Portal 都会检查当前用户是否属于这个用户组。
三、创建 C# 工程
第三步,是创建 C# 工程。最稳妥的方式是做一个 Windows 工程机上的 .NET Framework Console App 或 Worker 程序,而不是一开始就把它塞进 Web 后端。原因很简单:TIA Portal 是 Windows 工程软件,Openness 也依赖本机安装路径、注册表、用户权限和首次授权弹窗。建议架构是:你的 AI 平台或后端服务只负责任务编排,把“导入 SCL、创建 DB、编译工程”这类任务发到队列;真正调用 Openness 的 Worker 运行在装有 TIA Portal 的 Windows 工程机上。
四、引用 Siemens 的程序集
第四步,是引用 Siemens 的程序集。V20 及以前常见入口是 Siemens.Engineering.dll;V21 开始改成模块化程序集,例如 Siemens.Engineering.Base.dll、Siemens.Engineering.Step7.dll 等。官方 V21 迁移说明要求,旧应用迁移到 V21 时需要替换旧的 Siemens.Engineering.dll 引用,并使用 V21 的新模块化程序集重新编译。 这里有一个非常容易踩坑的点:不要把 Siemens.Engineering 相关 DLL 复制到你的程序输出目录里长期分发。官方明确提示,Copy Local: True 不受支持,建议设置为 Copy Local: False,运行时通过 app.config 或 AssemblyResolve 解析 TIA Portal 安装目录中的程序集。
五、连接 TIA Portal
第五步,是连接 TIA Portal。Openness 支持两种方式:一种是启动新的 TIA Portal 实例,可以选择带界面或不带界面;另一种是连接已经运行的 TIA Portal 实例。官方文档中给出的核心对象是 TiaPortal,可以用 TiaPortalMode.WithUserInterface 或 TiaPortalMode.WithoutUserInterface 启动,也可以通过 TiaPortal.GetProcesses() 枚举并连接已有实例。 第一次连接时,TIA Portal 会弹出 Openness firewall 授权提示,可以选择只允许一次、拒绝或始终允许该应用连接;如果连续拒绝三次,系统会抛出 EngineeringSecurityException。
一个最小化接入流程可以这样设计:
using Siemens.Engineering;
class Program
{
static void Main()
{
using (var tiaPortal = new TiaPortal(TiaPortalMode.WithUserInterface))
{
// 后续可在这里打开项目、导入块、编译、保存
Console.WriteLine("TIA Portal started by Openness.");
}
}
}
实际项目中,不建议只做一个“能打开 TIA”的 Demo,而应该围绕工程闭环拆成几个明确能力:OpenProject 打开工程,ImportBlocks 导入 SCL/XML/SimaticML,CompileSoftware 编译 PLC 软件,ExportDiagnostics 导出诊断结果,SaveAndArchive 保存或归档工程。这样 AI 生成代码后,才能形成“生成 → 导入 → 编译 → 反馈错误 → 再修复”的自动化链路。
六、避坑
最后提醒几个关键坑:
第一,Openness 版本必须和 TIA Portal 主版本匹配;
第二,V21 以后要按模块化程序集重新适配;
第三,运行用户必须加入 Siemens TIA Openness 用户组;
第四,第一次运行要处理 Openness firewall 授权;
第五,不要把导入成功等同于工程正确,真正有价值的是导入后自动编译、提取错误、回传给 AI 修复。
一句话总结:Openness API 是 AI PLC 平台接入西门子工程体系的最后一公里。没有它,AI 只是生成文本;接上它,AI 才真正开始进入工程自动化。需要了解和使用的Openness的朋友,赶紧收藏!也请点赞👍、推荐

和转发哦!
参考链接:
【1】Siemens 官方 Openness V21 文档入口: https://docs.tia.siemens.cloud/r/en-us/v21/tia-portal-openness-api-for-automation-of-engineering-workflows/tia-portal-openness-api
【2】TIA Portal Openness 安装说明: https://docs.tia.siemens.cloud/r/en-us/v21/tia-portal-openness-api-for-automation-of-engineering-workflows/basics/installation/installing-tia-portal-openness
【3】添加用户到 Siemens TIA Openness 用户组: https://docs.tia.siemens.cloud/r/en-us/v21/tia-portal-openness-api-for-automation-of-engineering-workflows/basics/installation/adding-users-to-the-siemens-tia-openness-user-group
【4】连接 TIA Portal 示例与授权说明: https://docs.tia.siemens.cloud/r/en-us/v21/tia-portal-openness-api-for-automation-of-engineering-workflows/tia-portal-openness-api/general-functions/connecting-to-the-tia-portal
【5】TIA Portal Openness V21 重大变更与迁移说明: https://docs.tia.siemens.cloud/r/en-us/v21/readme-tia-portal-openness/major-changes-for-long-term-stability-in-tia-portal-openness-v21
【6】Openness 官方文档与重要链接总览: https://support.industry.siemens.com/cs/document/109792902/tia-portal-openness-overview-of-the-most-important-documents-and-links
【7】TIA Portal Openness Demo Application: https://support.industry.siemens.com/cs/document/108716692/tia-portal-openness-introduction-and-demo-application
【8】Siemens Openness NuGet Reference Package: https://www.nuget.org/packages/Siemens.Collaboration.Net.TiaPortal.Packages.Openness
【9】Siemens Openness Extensions: https://www.nuget.org/packages/Siemens.Collaboration.Net.TiaPortal.Openness.Extensions