Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

PLCnext Konsolenanwendung mit C# entwickeln: Einsteigerleitfaden

Dieses Tutorial zeigt, wie man eine einfache „Hello World“-Konsolenanwendung für ein PLCnext Control-Gerät erstellt. Die Anwendung ist in C# geschrieben und zielt auf .NET Core ab.

Beachten Sie, dass dieses Tutorial für C#-Anwendungen gedacht ist, die vollständig außerhalb der PLCnext Runtime laufen. Für C#-Anwendungen, die auf die eCLR abzielen, verweisen Sie bitte auf den eCLR-Bereich des PLCnext Info Centers.

Das Installationstutorial zeigte, wie man .NET Core auf einem PLC installiert. In diesem Fall können mehrere Anwendungen, die auf .NET Core abzielen, auf dem PLC ausgeführt werden, mit minimaler Duplizierung gemeinsamer .NET-DLLs.

Als Alternative ist es möglich, eine .NET Core-Anwendung auf einem PLC auszuführen, auf dem das .NET Core Framework nicht installiert ist. In diesem Fall werden alle für die Anwendung erforderlichen .NET-Abhängigkeiten mit der Anwendung bereitgestellt. Dies kann für Projekte geeignet sein, die nur eine .NET Core-Anwendung auf dem PLC benötigen.

Dieses Tutorial behandelt den zweiten Anwendungstyp.

Dieses Tutorial verwendet:

Vorgehensweise

  1. In Visual Studio ein neues Projekt mit der Vorlage „C# Console App (.NET Core)“ erstellen.

  2. Eine Datei namens runtimeconfig.template.json im Projektstammverzeichnis hinzufügen mit folgendem Inhalt:

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

    Der Grund für diese Eigenschaftseinstellung wird im Abschnitt „Hintergrundinformationen“ des Installationstutorials beschrieben.

  3. Folgende Zeile zum PropertyGroup-Abschnitt der Projektdatei (.csproj) hinzufügen:

    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>

    Dies teilt dem Compiler mit, eine Linux 32-Bit-Plattform als Ziel zu verwenden. Die .csproj-Datei sollte dann etwa so aussehen:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.1</TargetFramework>
        <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
      </PropertyGroup>
    </Project>
  4. Im Solution Explorer mit Rechtsklick auf die Solution ein Terminal öffnen.

  5. Im Terminal folgende Befehle ausführen:

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

    Wobei ConsoleApp1 der Name der Solution ist und MyApp der Name des Ausgabeverzeichnisses, in dem die Anwendung veröffentlicht wird. Die Anwendung kann auch im DEBUG-Modus veröffentlicht werden, falls erforderlich.

  6. Das Ausgabeverzeichnis und seinen gesamten Inhalt auf den PLC kopieren (z. B. mit WinSCP).

  7. Eine Shell-Sitzung auf dem PLC öffnen (z. B. mit PuTTY oder ssh).

  8. Das Format der Executable prüfen:

    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

    Dies bestätigt, dass die Anwendung für die korrekte Plattform gebaut wurde.

  9. Sicherstellen, dass die Executable Ausführungsrechte hat:

    chmod a+x /opt/plcnext/MyApp/ConsoleApp1
  10. Die Anwendung ausführen:

    /opt/plcnext/MyApp/ConsoleApp1
    Hello World!

Fragen/Kommentare?

Wenn Sie Fragen oder Kommentare haben, stellen Sie diese bitte im PLCnext Community Forum.

Industrietechnik

  1. Reibungslose Nutzererfahrungen schaffen: Ein UX-Design-Blaupause
  2. String-Listen in VHDL erstellen: Best Practices & Beispiel
  3. Selbstprüfenden VHDL-Testbench erstellen – Praxisleitfaden
  4. Array von Objekten in Java erstellen: Schritt-für-Schritt-Anleitung
  5. Business Intelligence meistern: Eine gewinnende Strategie für datengetriebenen Erfolg
  6. Alibaba Cloud Connector mit PLCnext integrieren: Schritt-für-Schritt-Anleitung
  7. Cluster-Management auf PLCnext: Kubernetes für die industrielle Automatisierung nutzen
  8. Java 9 Apps auf PLCnext Control mit Jlink optimieren
  9. Konflikte vermeiden: Wie mehrere Toleranzen Kosten und Qualität beeinflussen
  10. Kupfer-Wolfram für fortschrittliches Widerstandspunktschweißen in BEVs nutzen