Como criar um aplicativo de console PLCnext simples em C#
Este tutorial mostra como criar um aplicativo de console simples “Hello World” para um dispositivo PLCnext Control. O aplicativo é escrito em C# e tem como alvo o .NET Core.
Observe que este tutorial é destinado a aplicativos C# que são executados totalmente fora do PLCnext Runtime. Para aplicativos C# direcionados ao eCLR, consulte a seção eCLR do PLCnext Info Center.
O tutorial de instalação mostrou como instalar o .NET Core em um PLC. Nesse caso, vários aplicativos direcionados ao .NET Core podem ser executados no PLC, com duplicação mínima de dlls .NET comuns.
Como alternativa, é possível executar uma aplicação .NET Core em um CP que não possui o framework .NET Core instalado. Nesse caso, todas as dependências .NET necessárias para o aplicativo são implantadas com o aplicativo. Isso pode ser adequado para projetos que exigem apenas um aplicativo .NET Core no PLC.
Este tutorial aborda o segundo tipo de aplicativo.
Este tutorial usa:
- AXC F 2152 com firmware 2021.0.3. O .NET Core não precisa ser instalado.
- Visual Studio 2019. Nenhum suplemento ou SDK específico do PLCnext é necessário neste caso.
Procedimento
-
No Visual Studio, crie um novo projeto usando o modelo C# Console app (.NET Core).
-
Adicione um arquivo ao diretório raiz do projeto chamadoruntimeconfig.template.json
, contendo o seguinte:
{ "configProperties": { "System.Globalization.Invariant": true } }
O motivo dessa configuração de propriedade é descrito na seção “Informações de fundo” do tutorial de instalação.
-
Adicione a seguinte linha à seção PropertyGroup do arquivo de projeto (.csproj):
<RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
Isso diz ao compilador para direcionar para uma plataforma Linux de 32 bits. O arquivo .csproj deve ser algo assim:
<Project sdk=”Microsoft.NET.Sdk”> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers> </PropertyGroup> </Project>
-
No Solution Explorer, clique com o botão direito do mouse na solução e abra um Terminal.
-
No terminal, execute os seguintes comandos:
dotnet build .ConsoleApp1.csproj dotnet publish -c RELEASE -r linux-arm .ConsoleApp1.csproj -o MyApp
OndeConsoleApp1
é o nome da solução eMyApp
é o nome do diretório de saída, onde o aplicativo será publicado. O aplicativo também pode ser publicado emDEBUG
modo, se necessário.
-
Copie o diretório de saída e todo o seu conteúdo para o PLC usando (por exemplo) WinSCP.
-
Abra uma sessão de shell no PLC usando (por exemplo) PuTTY ou ssh.
-
Verifique o formato do executável:
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
Isso confirma que o aplicativo foi criado para a plataforma correta.
-
Certifique-se de que o executável tenha privilégios de execução:
chmod a+x /opt/plcnext/MyApp/ConsoleApp1
-
Execute o aplicativo:
/opt/plcnext/MyApp/ConsoleApp1 Hello World!
Perguntas/comentários?
Se você tiver alguma dúvida ou comentário, por favor, pergunte no Fórum da Comunidade PLCnext.
Tecnologia industrial
- Como criar UX sem Fricção
- Como criar uma lista de strings em VHDL
- Como criar um testbench de autoverificação
- Como criar uma matriz de objetos em Java
- Como Criar uma Estratégia de Business Intelligence de Sucesso
- Como usar o Alibaba Cloud Connector
- Clustermangement no PLCnext?
- Aplicação Java no PLCnext Control
- Como Múltiplas Tolerâncias Podem Criar Conflitos
- Como utilizar o tungstênio em uma aplicação automotiva