Mengembangkan Aplikasi Konsol PLCnext Menggunakan C#: Panduan untuk Pemula
Tutorial ini menunjukkan cara membuat aplikasi konsol “Hello World” sederhana untuk perangkat PLCnext Control. Aplikasi ditulis dalam C# dan menargetkan .NET Core.
Perhatikan bahwa tutorial ini dimaksudkan untuk aplikasi C# yang berjalan sepenuhnya di luar PLCnext Runtime. Untuk aplikasi C# yang menargetkan eCLR, silakan merujuk ke bagian eCLR di PLCnext Info Center.
Tutorial Instalasi menunjukkan cara menginstal .NET Core pada PLC. Dalam kasus tersebut, beberapa aplikasi yang menargetkan .NET Core dapat dijalankan pada PLC, dengan duplikasi minimal dari dll .NET umum.
Sebagai alternatif, mungkin untuk menjalankan aplikasi .NET Core pada PLC yang tidak memiliki framework .NET Core yang diinstal. Dalam kasus ini, semua dependensi .NET yang diperlukan untuk aplikasi akan di-deploy bersama aplikasi. Ini mungkin cocok untuk proyek yang hanya memerlukan satu aplikasi .NET Core pada PLC.
Tutorial ini membahas jenis aplikasi kedua.
Tutorial ini menggunakan:
- AXC F 2152 dengan firmware 2021.0.3. .NET Core tidak perlu diinstal.
- Visual Studio 2019. Tidak diperlukan add-in atau SDK khusus PLCnext dalam kasus ini.
Prosedur
-
Di Visual Studio, buat proyek baru menggunakan template C# Console app (.NET Core).
-
Tambahkan file di direktori root proyek bernama runtimeconfig.template.json, yang berisi hal berikut:
{ "configProperties": { "System.Globalization.Invariant": true } }
Alasan pengaturan properti ini dijelaskan di bagian “Informasi Latar Belakang” dari tutorial Instalasi.
-
Tambahkan baris berikut ke bagian PropertyGroup dari file proyek (.csproj):
<RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
Ini memberi tahu kompiler untuk menargetkan platform Linux 32 bit. File .csproj seharusnya terlihat seperti ini:
<Project sdk=”Microsoft.NET.Sdk”> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers> </PropertyGroup> </Project>
-
Di Solution Explorer, klik kanan pada Solution dan buka Terminal.
-
Di terminal, jalankan perintah berikut:
dotnet build .ConsoleApp1.csproj dotnet publish -c RELEASE -r linux-arm .ConsoleApp1.csproj -o MyApp
Di mana ConsoleApp1 adalah nama solution, dan MyApp adalah nama direktori output, tempat aplikasi akan dipublikasikan. Aplikasi juga dapat dipublikasikan dalam mode DEBUG jika diperlukan.
-
Salin direktori output dan semua isinya ke PLC menggunakan (misalnya) WinSCP.
-
Buka sesi shell pada PLC menggunakan (misalnya) PuTTY atau ssh.
-
Periksa format file eksekutable:
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
Ini mengonfirmasi bahwa aplikasi telah dibangun untuk platform yang benar.
-
Pastikan file eksekutable memiliki izin eksekusi:
chmod a+x /opt/plcnext/MyApp/ConsoleApp1
-
Jalankan aplikasi:
/opt/plcnext/MyApp/ConsoleApp1 Hello World!
Pertanyaan/komentar?
Jika Anda memiliki pertanyaan atau komentar, silakan ajukan di PLCnext Community Forum.