C# で簡単な PLCnext コンソール アプリケーションを作成する方法
このチュートリアルでは、PLCnext Control デバイス用のシンプルな「Hello World」コンソール アプリケーションを作成する方法を示します。アプリケーションは C# で記述され、.NET Core を対象としています。
このチュートリアルは、PLCnext ランタイムの外部で完全に実行される C# アプリケーションを対象としていることにご注意ください。 eCLR をターゲットとする C# アプリケーションについては、PLCnext Info Center の eCLR セクションを参照してください。
インストール チュートリアルでは、PLC に .NET Core をインストールする方法を示しました。その場合、共通の .NET dll の重複を最小限に抑えて、.NET Core をターゲットとする複数のアプリケーションを PLC 上で実行できます。
別の方法として、.NET Core フレームワークがインストールされていない PLC で .NET Core アプリケーションを実行することもできます。この場合、アプリケーションに必要なすべての .NET 依存関係がアプリケーションと共にデプロイされます。これは、PLC で .NET Core アプリケーションを 1 つだけ必要とするプロジェクトに適している場合があります。
このチュートリアルでは、2 番目のタイプのアプリケーションについて説明します。
このチュートリアルでは以下を使用します:
- ファームウェア 2021.0.3 を搭載した AXC F 2152。 .NET Core をインストールする必要はありません。
- Visual Studio 2019。この場合、PLCnext 固有のアドインや SDK は必要ありません。
手順
<オール>Visual Studio で、テンプレート C# コンソール アプリ (.NET Core) を使用して新しいプロジェクトを作成します。
runtimeconfig.template.json
という名前のプロジェクト ルート ディレクトリにファイルを追加します。 、以下を含む:
{ "configProperties": { "System.Globalization.Invariant": true } }
このプロパティ設定の理由は、インストール チュートリアルの「背景情報」セクションで説明されています。
プロジェクト ファイル (.csproj) の PropertyGroup セクションに次の行を追加します。
<RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
これにより、コンパイラは Linux 32 ビット プラットフォームを対象とするようになります。.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 を使用して、出力ディレクトリとそのすべての内容を PLC にコピーします。
(たとえば) PuTTY または ssh を使用して、PLC でシェル セッションを開きます。
実行可能ファイルの形式を確認してください:
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 コミュニティ フォーラムで質問してください。
産業技術