こちらは新しい記事シリーズでOPEN SOURCEのTrustST Platformを紹介します。truSTは、VS Code上で動作するオープンソースのIEC 61131-3ツールチェーンであり、リアルタイム診断、定義先移動、ブレークポイント付きデバッガー、ハードウェア不要のテスト用ランタイムを備えています。
第2話はAdvantechのIPCでRuntimeのインストール・プロジェクトビルドなどを紹介します。
さ、FAを楽しもう!

前書き
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
技術は独り占めせず、届けるもの
私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。
また、もしあなたの現場で…
- 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
- 「EtherCAT通信でうまくいかない部分を検証してほしい」
- 「新しいリモートI/Oを試したいけど社内に検証環境がない」
など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。
支援のかたち
現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。
メンバーシップ(ラジオの応援)
Fullさんとのラジオをより充実させるための支援プランです。
https://note.com/fulhause/membership/join
Amazonギフトリスト
コンテンツ制作に必要な機材・書籍をリストにしています。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon(ブログ・動画活動への応援)
月額での小さなご支援が、記事の執筆・検証環境の充実につながります。
https://www.patreon.com/user?u=84249391
Paypal
小さな支援が大きな力になります。
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
知ってたら助かること、届けたいだけです
あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。
soup01threes*gmail.com
技術はひとりじゃもったいない。
インストール
こちらのコマンドでtruST Runtimeをインストールします。
https://github.com/johannesPettersson80/trust-platform/blob/main/docs/deploy/INSTALL.md
git clone https://github.com/johannesPettersson80/trust-platform.git trust-platform
|
|---|
Reference Link
http://soup01.com/ja/category/trust-platform/
トラブル
次は私インストールするとき発生したトラブルの解決方法を紹介します。
fatal: unable to access
最初にgithub.comアクセスできないエラーが最初に発生しました。
fatal: unable to access ‘https://github.com/Autonomy-Logic/openplc-runtime.git/’: Could not resolve host: github.com |
|---|
ネット接続の確認
まずインターネットと接続しているかを確認します。
ping 8.8.8.8 |
|---|
DNS解決の確認
次はgithub.comと通信できるかを確認します。
ping github.com |
|---|
DNS設定の修正
自分の場合はDNSの設定問題でしたので、下記のように修正すればOKです。
sudo nano /etc/resolv.conf
|
|---|
‘cargo’ not found,
今度はcargoパッケージがないのエラーですね。
oem@ubuntu:~/trust-platform$ cargo build -p trust-runtime –release
|
|---|
必要な基本ツールを入れます。
sudo apt update
|
|---|
次に、Rust と Cargo をインストールします
curl –proto ‘=https’ –tlsv1.2 -sSf https://sh.rustup.rs | sh |
|---|
環境変数を読み込みます
source “$HOME/.cargo/env” |
|---|
最後はVersion確認です。
cargo –version
|
|---|
error: could not execute process `sccache
oem@ubuntu:~/trust-platform$ cargo build -p trust-runtime –release
|
|---|
sccache を使わずにビルドしてみます。
unset RUSTC_WRAPPER
|
|---|
次はまたパッケージが足りないそうです。
error: failed to compile `sccache v0.14.0`, intermediate artifacts can be found at `/tmp/cargo-installwSuvlu`.
|
|---|
依存パッケージを入れてからもう一回試します。
sudo apt update
|
|---|
初めてのプロジェクトを作ろう!
今回の記事では直接SSH経由でIPCのコンソールに入って、コマンドでプロジェクトを作成します。空のFOLDERで下記のコマンドを実行します。
oem@ubuntu:~/p1$ sudo trust-runtime play |
|---|
それだけで、truSTプロジェクトTemplateが自動作成され、Runtimeにも起動します。

コンソールにはサイクルタイム・Runtime状態などの情報が表示されます。

Templateのプログラム main.stにも作成されました。

IPアドレス:8080からtruSTのWeb serverをアクセスできます。

Re-Build Again
次はmain.stを変更してみましょう。まずCountを内部変数から外部変数に変更します。
そしてCountをサイクルごとに1を加算するようにします。

次はconfig.stでCount変数を%MW50のメモリに割り付けます。

下記のコマンドでプロジェクトをビルドします。
oem@ubuntu:~/p1$ sudo trust-runtime build
|
|---|
最後にRuntimeを起動します。
oem@ubuntu:~/p1$ sudo trust-runtime play |
|---|
ctl コマンドチェック
こちらのコマンドでRuntimeの状態を確認できます。
oem@ubuntu:~$ sudo trust-runtime ctl –project p1/project/ status
|
|---|
こちらのコマンドでRuntimeのIO状態を読み取ります。
oem@ubuntu:~$ sudo trust-runtime ctl –project p1/project/ io-read
|
|---|
こちらのコマンドはRuntimeも運転状態を確認できます。
oem@ubuntu:~$ sudo trust-runtime ctl –project p1/project/ health
|
|---|
また、下図のコマンドで指定したEnd-Pointの状態をアクセスも可能です。
oem@ubuntu:~$ sudo trust-runtime ctl –endpoint unix:///tmp/trust-runtime.sock io-read
|
|---|