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

Hoe maak je een eenvoudige PLCnext console applicatie in C#

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

Merk op dat deze tutorial bedoeld is voor C#-applicaties die volledig buiten de PLCnext Runtime draaien. Voor C#-toepassingen die gericht zijn op de eCLR, raadpleegt u de sectie eCLR van het PLCnext Info Center.

De installatiehandleiding liet zien hoe u .NET Core op een PLC installeert. In dat geval kunnen meerdere applicaties die gericht zijn op .NET Core op de PLC worden uitgevoerd, met minimale duplicatie van algemene .NET dll's.

Als alternatief is het mogelijk om een ​​.NET Core applicatie te draaien op een PLC waarop het .NET Core framework niet is geïnstalleerd. In dit geval worden alle .NET-afhankelijkheden die nodig zijn voor de toepassing geïmplementeerd met de toepassing. Dit kan geschikt zijn voor projecten waarvoor slechts één .NET Core-toepassing op de PLC nodig is.

Deze tutorial behandelt het tweede type applicatie.

Deze tutorial gebruikt:

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

Procedure

  1. Maak in Visual Studio een nieuw project met behulp van de sjabloon C# Console-app (.NET Core).

  2. Voeg een bestand toe aan de hoofdmap van het project met de naam runtimeconfig.template.json , met het volgende:

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

    De reden voor deze eigenschapsinstelling wordt beschreven in het gedeelte "Achtergrondinformatie" van de installatiehandleiding.

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

    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
    

    Dit vertelt de compiler om zich te richten op een Linux 32-bits platform. 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. Klik in Solution Explorer met de rechtermuisknop op de oplossing en open een terminal.

  5. Voer in de terminal de volgende opdrachten uit:

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

    Waar ConsoleApp1 is de naam van de oplossing, en MyApp is de naam van de uitvoermap, waar de toepassing zal worden gepubliceerd. De applicatie kan ook worden gepubliceerd in DEBUG modus indien nodig.

  6. Kopieer de uitvoermap en alle inhoud naar de PLC met (bijvoorbeeld) WinSCP.

  7. Open een shell-sessie op de PLC met (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 voor het juiste platform is gebouwd.

  9. Zorg ervoor dat het uitvoerbare bestand uitvoeringsrechten heeft:

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

    /opt/plcnext/MyApp/ConsoleApp1 Hello World!
    

Vragen/opmerkingen?

Als je vragen of opmerkingen hebt, stel ze dan in het PLCnext Community Forum.


Industriële technologie

  1. Hoe maak je een wrijvingsloze UX
  2. Een lijst met strings maken in VHDL
  3. Hoe maak je een zelfcontrolerende testbank aan
  4. Een timer maken in VHDL
  5. Hoe een array van objecten in Java te maken
  6. Hoe creëer je een succesvolle business intelligence-strategie
  7. Hoe Alibaba Cloud Connector te gebruiken?
  8. Clusterbeheer op PLCnext?
  9. Java-toepassing op PLCnext Control
  10. Hoe meerdere toleranties conflicten kunnen veroorzaken
  11. Hoe wolfraam te gebruiken in een automobieltoepassing?