Как создать простое консольное приложение PLCnext на C#
В этом руководстве показано, как создать простое консольное приложение «Hello World» для устройства управления PLCnext. Приложение написано на C# и предназначено для .NET Core.
Обратите внимание, что это руководство предназначено для приложений C#, которые полностью выполняются вне среды выполнения PLCnext. Приложения C#, предназначенные для eCLR, см. в разделе eCLR в информационном центре PLCnext.
В руководстве по установке показано, как установить .NET Core на ПЛК. В этом случае на ПЛК можно запускать несколько приложений, ориентированных на .NET Core, с минимальным дублированием общих библиотек .NET.
В качестве альтернативы можно запустить приложение .NET Core на ПЛК, на котором не установлена платформа .NET Core. В этом случае все зависимости .NET, необходимые для приложения, развертываются вместе с приложением. Это может подойти для проектов, которым требуется только одно приложение .NET Core на ПЛК.
В этом руководстве рассматривается второй тип приложений.
В этом руководстве используются:
- AXC F 2152 с прошивкой 2021.0.3. .NET Core устанавливать не нужно.
- Visual Studio 2019. В этом случае не требуются надстройки или SDK для PLCnext.
Процедура
-
В Visual Studio создайте новый проект, используя шаблон консольного приложения C# (.NET Core).
-
Добавьте файл в корневой каталог проекта с именем
runtimeconfig.template.json
. , содержащий следующее:{ "configProperties": { "System.Globalization.Invariant": true } }
Причина установки этого свойства описана в разделе «Справочная информация» руководства по установке.
-
Добавьте следующую строку в раздел 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>
-
В обозревателе решений щелкните правой кнопкой мыши решение и откройте терминал.
-
В терминале выполните следующие команды:
dotnet build .ConsoleApp1.csproj dotnet publish -c RELEASE -r linux-arm .ConsoleApp1.csproj -o MyApp
Где
ConsoleApp1
имя решения, аMyApp
— имя выходного каталога, в котором будет опубликовано приложение. Приложение также можно опубликовать вDEBUG
. режим, если требуется. -
Скопируйте выходной каталог и все его содержимое в ПЛК, используя (например) WinSCP.
-
Откройте сеанс оболочки на ПЛК, используя (например) PuTTY или ssh.
-
Проверьте формат исполняемого файла:
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
Это подтверждает, что приложение создано для правильной платформы.
-
Убедитесь, что у исполняемого файла есть права на выполнение:
chmod a+x /opt/plcnext/MyApp/ConsoleApp1
-
Запустите приложение:
/opt/plcnext/MyApp/ConsoleApp1 Hello World!
Вопросы/комментарии?
Если у вас есть какие-либо вопросы или комментарии, задайте их на форуме сообщества PLCnext.
Промышленные технологии
- Как создать UX без трения
- Как создать список строк в VHDL
- Как создать самопроверяющийся тестовый стенд
- Как создать массив объектов в Java
- Как создать успешную стратегию бизнес-аналитики
- Как использовать облачный коннектор Alibaba
- Управление кластером на PLCnext?
- Java-приложение на PLCnext Control
- Как множественные допуски могут создать конфликт
- Как использовать вольфрам в автомобильной промышленности