Cara membuat aplikasi konsol PLCnext sederhana di C#
Tutorial ini menunjukkan cara membuat aplikasi konsol “Hello World” sederhana untuk perangkat Kontrol PLCnext. Aplikasi ditulis dalam C# dan menargetkan .NET Core.
Perhatikan bahwa tutorial ini ditujukan untuk aplikasi C# yang berjalan sepenuhnya di luar PLCnext Runtime. Untuk aplikasi C# yang menargetkan eCLR, silakan merujuk ke bagian eCLR di Pusat Info PLCnext.
Tutorial Instalasi menunjukkan cara menginstal .NET Core pada PLC. Dalam hal ini, beberapa aplikasi yang menargetkan .NET Core dapat dijalankan di PLC, dengan duplikasi minimum .NET dll yang umum.
Sebagai alternatif, dimungkinkan untuk menjalankan aplikasi .NET Core pada PLC yang tidak memiliki kerangka kerja .NET Core yang diinstal. Dalam hal ini, semua dependensi .NET yang diperlukan untuk aplikasi disebarkan dengan aplikasi tersebut. Ini mungkin cocok untuk proyek yang hanya membutuhkan satu aplikasi .NET Core di 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 ke direktori root proyek bernama runtimeconfig.template.json
, yang berisi sebagai berikut:
{ "configProperties": { "System.Globalization.Invariant": true } }
Alasan untuk 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 memberitahu kompiler untuk menargetkan platform Linux 32 bit. File .csproj akan 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 Solusi dan buka Terminal.
-
Di terminal, jalankan perintah berikut:
dotnet build .ConsoleApp1.csproj
dotnet publish -c RELEASE -r linux-arm .ConsoleApp1.csproj -o MyApp
Dimana ConsoleApp1
adalah nama solusinya, dan MyApp
adalah nama direktori keluaran, tempat aplikasi akan dipublikasikan. Aplikasi ini juga dapat dipublikasikan di DEBUG
mode jika diperlukan.
-
Salin direktori keluaran dan semua isinya ke PLC menggunakan (misalnya) WinSCP.
-
Buka sesi shell pada PLC menggunakan (misalnya) Putty atau ssh.
-
Periksa format yang dapat dieksekusi:
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 menegaskan bahwa aplikasi telah dibuat untuk platform yang benar.
-
Pastikan executable memiliki hak eksekusi:
chmod a+x /opt/plcnext/MyApp/ConsoleApp1
-
Jalankan aplikasinya:
/opt/plcnext/MyApp/ConsoleApp1 Hello World!
Pertanyaan/komentar?
Jika Anda memiliki pertanyaan atau komentar, silakan tanyakan di Forum Komunitas PLCnext.