Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Desarrollar una aplicación de consola PLCnext usando C#: Guía para principiantes

Este tutorial muestra cómo crear una simple aplicación de consola "Hola Mundo" para un dispositivo PLCnext Control. La aplicación está escrita en C# y apunta a .NET Core.

Tenga en cuenta que este tutorial está destinado a aplicaciones C# que se ejecutan completamente fuera del PLCnext Runtime. Para aplicaciones C# que apuntan al eCLR, por favor consulte la sección eCLR del PLCnext Info Center.

El tutorial de instalación mostró cómo instalar .NET Core en un PLC. En ese caso, múltiples aplicaciones apuntando a .NET Core pueden ejecutarse en el PLC, con mínima duplicación de DLLs comunes de .NET.

Como alternativa, es posible ejecutar una aplicación .NET Core en un PLC que no tenga el framework .NET Core instalado. En este caso, todas las dependencias .NET requeridas para la aplicación se despliegan con la aplicación. Esto puede ser adecuado para proyectos que requieren solo una aplicación .NET Core en el PLC.

Este tutorial aborda el segundo tipo de aplicación.

Este tutorial usa:

Procedimiento

  1. En Visual Studio, cree un nuevo proyecto usando la plantilla Aplicación de consola C# (.NET Core).

  2. Añada un archivo al directorio raíz del proyecto llamado runtimeconfig.template.json, que contenga lo siguiente:

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

    La razón de esta configuración de propiedad se describe en la sección "Información de fondo" del tutorial de instalación.

  3. Añada la siguiente línea a la sección PropertyGroup del archivo del proyecto (.csproj):

    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>

    Esto le dice al compilador que apunte a una plataforma Linux de 32 bits. El archivo .csproj debería verse algo así:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.1</TargetFramework>
        <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
      </PropertyGroup>
    </Project>
  4. En el Explorador de soluciones, haga clic derecho en la Solución y abra un Terminal.

  5. En el terminal, ejecute los siguientes comandos:

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

    Donde ConsoleApp1 es el nombre de la solución, y MyApp es el nombre del directorio de salida donde se publicará la aplicación. La aplicación también puede publicarse en modo DEBUG si se requiere.

  6. Copie el directorio de salida y todo su contenido al PLC usando (por ejemplo) WinSCP.

  7. Abra una sesión de shell en el PLC usando (por ejemplo) PuTTY o ssh.

  8. Verifique el formato del ejecutable:

    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

    Esto confirma que la aplicación se ha compilado para la plataforma correcta.

  9. Asegúrese de que el ejecutable tenga privilegios de ejecución:

    chmod a+x /opt/plcnext/MyApp/ConsoleApp1
  10. Ejecute la aplicación:

    /opt/plcnext/MyApp/ConsoleApp1
    Hello World!

¿Preguntas/comentarios?

Si tiene alguna pregunta o comentario, por favor pregúntelos en el Foro de la Comunidad PLCnext.

Tecnología Industrial

  1. Creación de experiencias de usuario sin fricción: una guía de diseño UX
  2. Dominar la inteligencia de negocio: Crear una estrategia ganadora para el éxito basado en datos
  3. Integrar Alibaba Cloud Connector con PLCnext: Guía paso a paso
  4. Gestión de clústeres en PLCnext: Aprovechando Kubernetes para automatización industrial
  5. Optimiza aplicaciones Java 9 en PLCnext Control usando Jlink
  6. Evitar conflictos: cómo las tolerancias múltiples impactan en coste y calidad
  7. Aprovechando el Cobre-Tungsteno para Soldadura por Puntos por Resistencia Avanzada en BEV
  8. Creación de listas de cadenas en VHDL: Buenas prácticas y ejemplo
  9. Cómo construir un testbench de auto-comprobación en VHDL: Guía práctica
  10. Construya un temporizador fiable en VHDL: Contar ciclos de reloj hasta horas
  11. Crear un array de objetos en Java: Guía paso a paso