Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

PLCnext Console-applicatie Ontwikkelen met C#: Handleiding voor Beginners

Deze tutorial laat zien hoe u een eenvoudige "Hello World" console-applicatie voor een PLCnext Control-apparaat kunt maken. De applicatie is geschreven in C# en richt zich op .NET Core.

Let op dat deze tutorial bedoeld is voor C#-applicaties die volledig buiten de PLCnext Runtime draaien. Voor C#-applicaties die de eCLR aansturen, verwijzen we naar de eCLR-sectie van het PLCnext Info Center.

De installatietutorial liet zien hoe u .NET Core op een PLC installeert. In dat geval kunnen meerdere applicaties die .NET Core aansturen, op de PLC draaien, met minimale duplicatie van gemeenschappelijke .NET dll's.

Als alternatief is het mogelijk om een .NET Core-applicatie op een PLC te draaien waar het .NET Core-framework niet geïnstalleerd is. In dat geval worden alle .NET-afhankelijkheden die voor de applicatie vereist zijn, samen met de applicatie geïmplementeerd. Dit kan geschikt zijn voor projecten die slechts één .NET Core-applicatie op de PLC vereisen.

Deze tutorial richt zich op het tweede type applicatie.

Deze tutorial gebruikt:

  • AXC F 2152 met firmware 2021.0.3. .NET Core hoeft niet geïnstalleerd te zijn.
  • Visual Studio 2019. Geen PLCnext-specifieke add-ins of SDK's zijn in dit geval vereist.

Procedure

  1. In Visual Studio, maak een nieuw project met de sjabloon C# Console-app (.NET Core).

  2. Voeg een bestand toe aan de project-root-directory genaamd runtimeconfig.template.json, met de volgende inhoud:

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

    De reden voor deze eigenschapsinstelling wordt beschreven in de sectie "Achtergrondinformatie" van de installatietutorial.

  3. Voeg de volgende regel toe aan de PropertyGroup-sectie van het projectbestand (.csproj):

    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
    

    Dit vertelt de compiler om een Linux 32-bit-platform aan te sturen. Het .csproj-bestand zou er dan ongeveer zo uit moeten zien:

    <Project sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
    </PropertyGroup>
    </Project>
    
  4. In Solution Explorer, rechtsklik op de Solution en open een Terminal.

  5. In de terminal, voer de volgende commando's uit:

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

    Waar ConsoleApp1 de naam is van de solution, en MyApp de naam is van de uitvoermap waar de applicatie zal worden gepubliceerd. De applicatie kan ook in DEBUG-modus worden gepubliceerd indien vereist.

  6. Kopieer de uitvoermap en al zijn inhoud naar de PLC met behulp van (bijvoorbeeld) WinSCP.

  7. Open een shell-sessie op de PLC met behulp van (bijvoorbeeld) PuTTY of ssh.

  8. Controleer het formaat van het uitvoerbare bestand:

    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
    

    Dit bevestigt dat de applicatie is gebouwd voor het correcte platform.

  9. Zorg ervoor dat het uitvoerbare bestand uitvoerrechten heeft:

    chmod a+x /opt/plcnext/MyApp/ConsoleApp1
    
  10. Voer de applicatie uit:

    /opt/plcnext/MyApp/ConsoleApp1
    Hello World!
    

Vragen/Opmerkingen?

Als u vragen of opmerkingen heeft, stel ze dan in het PLCnext Community Forum.

Industriële technologie

  1. Frictieloze gebruikerservaringen creëren: Een UX-design blauwdruk
  2. Business Intelligence onder de knie krijgen: Een winnende strategie voor data-gestuurd succes
  3. Alibaba Cloud Connector Integreren met PLCnext: Stapsgewijze Handleiding
  4. Clusterbeheer op PLCnext: Kubernetes Benutten voor Industriële Automatisering
  5. Java 9-apps optimaliseren op PLCnext Control met Jlink
  6. Conflicten Vermijden: Hoe Meerdere Toleranties Kosten en Kwaliteit Beïnvloeden
  7. Koper-Wolfram Inzetten voor Geavanceerd Weerstandspuntlassen in BEVs
  8. Dynamische string-lijsten in VHDL: Best Practices & Voorbeeld
  9. Een self-checking testbench in VHDL bouwen – Een praktische gids
  10. Een betrouwbare timer in VHDL bouwen: klokcycli tellen tot uren
  11. Een Array van Objecten in Java aanmaken: Stap-voor-stap gids