亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

如何在 C# 中创建一个简单的 PLCnext 控制台应用程序

本教程展示了如何为 PLCnext 控制设备创建一个简单的“Hello World”控制台应用程序。该应用程序是用 C# 编写的,面向 .NET Core。

请注意,本教程适用于完全在 PLCnext 运行时之外运行的 C# 应用程序。对于以 eCLR 为目标的 C# 应用程序,请参阅 PLCnext 信息中心的 eCLR 部分。

安装教程展示了如何在 PLC 上安装 .NET Core。在这种情况下,多个面向 .NET Core 的应用程序可以在 PLC 上运行,而公共 .NET dll 的重复次数最少。

作为替代方案,可以在未安装 .NET Core 框架的 PLC 上运行 .NET Core 应用程序。在这种情况下,应用程序所需的所有 .NET 依赖项都与应用程序一起部署。这可能适用于在 PLC 上只需要一个 .NET Core 应用程序的项目。

本教程介绍第二种类型的应用程序。

本教程使用:

程序

  1. 在 Visual Studio 中,使用模板 C# 控制台应用程序 (.NET Core) 创建一个新项目。

  2. 在项目根目录中添加一个名为 runtimeconfig.template.json 的文件 ,包含以下内容:

    { "configProperties": { "System.Globalization.Invariant": true } }
    

    此属性设置的原因在安装教程的“背景信息”部分中进行了描述。

  3. 将以下行添加到项目文件 (.csproj) 的 PropertyGroup 部分:

    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
    

    这告诉编译器以 Linux 32 位平台为目标。.csproj 文件应如下所示:

    <Project sdk=”Microsoft.NET.Sdk”>
    <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
    </PropertyGroup>
    </Project>
    
  4. 在解决方案资源管理器中,右键单击解决方案并打开终端。

  5. 在终端中,执行以下命令:

    dotnet build .ConsoleApp1.csproj 
    dotnet publish -c RELEASE -r linux-arm .ConsoleApp1.csproj -o MyApp
    

    ConsoleApp1 是解决方案的名称,MyApp 是输出目录的名称,应用程序将在其中发布。应用也可以发布在DEBUG 需要的模式。

  6. 使用(例如)WinSCP 将输出目录及其所有内容复制到 PLC。

  7. 使用(例如)PuTTY 或 ssh 在 PLC 上打开一个 shell 会话。

  8. 检查可执行文件的格式:

    file /opt/plcnext/MyApp/ConsoleApp1 ConsoleApp1: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=887a06cd9735de5da4b686517f69d68779571cec, stripped
    

    这证实了应用程序是为正确的平台构建的。

  9. 确保可执行文件具有执行权限:

    chmod a+x /opt/plcnext/MyApp/ConsoleApp1
    
  10. 运行应用程序:

    /opt/plcnext/MyApp/ConsoleApp1 Hello World!
    

问题/意见?

如果您有任何问题或意见,请在 PLCnext 社区论坛中提问。


工业技术

  1. 如何创建无摩擦的用户体验
  2. 如何在 VHDL 中创建字符串列表
  3. 如何创建自检测试平台
  4. 如何在 VHDL 中创建计时器
  5. 如何在 VHDL 中创建时钟进程
  6. 如何在 Java 中创建对象数组
  7. 如何制定成功的商业智能战略
  8. 如何使用阿里云连接器
  9. PLCnext 上的集群管理?
  10. PLCnext 控件上的 Java 应用程序
  11. 多重公差如何产生冲突
  12. 如何在汽车应用中使用钨