首页 > 解决方案 > 如何在 siemens PLC Device 中设置 I/O 值?

问题描述

我正在为 .net 框架(C#)中的本地网络创建一个 Web API。在该用户可以从 excel 导入/导出 IO 标签或将它们设置为静态字符串数组。我添加了(Siemens.Engineering.Hmi.dll),但仍然显示未找到编译时错误。

我们还连接到 TIAPortal,它运行良好,唯一的障碍是 I/O 标签导入/导出或设置静态值和 HMI 软件。

如果有人有想法或任何建议,请回复我。这将是高度赞赏。

标签: c#plcsiemenshuman-computer-interfacetia-portal

解决方案


您遇到的问题是(很可能)您没有copy local将引用的 Siemens.Engineering.Hmi.dll 的属性设置为 false。因此,无法找到引用的 Siemens.Engineering.Hmi.dll 的依赖关系。备注:除了Siemens.Engineering.Hmi.dll之外,添加 Siemens.Engineering.dll 作为参考

拥有一个非本地程序集则需要AssemblyResolving. 最简单的方法是使用 App.config 文件。

请参阅 Siemens 关于此主题的此页面: support.industry.siemens.com

我看到的第二个问题是标签的访问。您肯定知道,有 HMI 标签和 PLC 标签。可以通过各自的DeviceItems. 这些DeviceItems暴露不同Services。您可以Services通过该<YourEngineeringObject>.GetService<T>()方法访问。在这种情况下,您将需要该SoftwareContainer服务。

要熟悉 TIA Openness 的数据模型,请查看TIA Openness Explorer

此外,为了加深您对使用 TIA Openness 的理解,请参阅SIMATIC TIA Portal Openness:用于工程工作流自动化的 API


推荐阅读