Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Разработка консольного приложения PLCnext на C#: Руководство для начинающих

Это руководство показывает, как создать простое консольное приложение «Hello World» для устройства PLCnext Control. Приложение написано на C# и ориентировано на .NET Core.

Обратите внимание, что это руководство предназначено для C# приложений, которые полностью запускаются вне PLCnext Runtime. Для C# приложений, ориентированных на eCLR, обратитесь к разделу eCLR в PLCnext Info Center.

Руководство по установке показывало, как установить .NET Core на ПЛК. В этом случае несколько приложений, ориентированных на .NET Core, могут запускаться на ПЛК с минимальным дублированием общих .NET dll.

Как альтернатива, можно запустить .NET Core приложение на ПЛК, где .NET Core фреймворк не установлен. В этом случае все .NET зависимости, необходимые для приложения, развертываются вместе с приложением. Это может подойти для проектов, требующих только одно .NET Core приложение на ПЛК.

Это руководство касается второго типа приложения.

В этом руководстве используются:

Процедура

  1. В Visual Studio создайте новый проект с использованием шаблона C# Console App (.NET Core).

  2. Добавьте файл в корневую директорию проекта с именем runtimeconfig.template.json, содержащий следующее:

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

    Причина этого настройки свойства описана в разделе «Background Information» руководства по установке.

  3. Добавьте следующую строку в секцию PropertyGroup файла проекта (.csproj):

    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>

    Это говорит компилятору ориентироваться на 32-битную Linux-платформу. Файл .csproj должен выглядеть примерно так:

    <Project sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.1</TargetFramework>
        <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
      </PropertyGroup>
    </Project>
  4. В Solution Explorer нажмите правой кнопкой на Solution и откройте Terminal.

  5. В терминале выполните следующие команды:

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

    Где ConsoleApp1 — имя решения, а MyApp — имя выходной директории, куда будет опубликовано приложение. Приложение также можно публиковать в режиме DEBUG при необходимости.

  6. Скопируйте выходную директорию со всем содержимым на ПЛК с помощью (например) WinSCP.

  7. Откройте сессию оболочки на ПЛК с помощью (например) PuTTY или ssh.

  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 Community.

Промышленные технологии

  1. Создание бесшовного пользовательского опыта: чертеж UX-дизайна
  2. Создание списков строк в VHDL: лучшие практики и пример
  3. Как создать самопроверяющийся тестбенч в VHDL — практическое руководство
  4. Создание массива объектов в Java: пошаговое руководство
  5. Овладение бизнес-интеллектом: создание выигрышной стратегии для успеха, основанного на данных
  6. Интеграция Alibaba Cloud Connector с PLCnext: Пошаговое руководство
  7. Управление кластерами на PLCnext: Использование Kubernetes для промышленной автоматизации
  8. Оптимизация Java 9 приложений на PLCnext Control с помощью jlink
  9. Избегание конфликтов: как множественные допуски влияют на стоимость и качество
  10. Использование меди-вольфрама для передовых точечных контактных сварок в BEV