今回はPackagesマネジメント操作について説明します。TwinCAT/BSDはPCにインストールされたとき基本なSoftwareもRuntimeも入っていますが、アプリケーションにより追加のSoftwareをインストールする場合もあります。
TwinCAT/BSDにそのような追加SoftwareやTwinCAT Functions(たとえばTF6100 OPCUA)をインストール可能です。
TwinCAT/BSDのPackageマネジメントはPackageの検索・インストール・アンインストール・アップデート・ロック機能があります。
Reference Link
TwinCAT/BSDに関連する記事はこちらへ↓
http://soup01.com/ja/category/beckhoff/twincat3/twincat-bsd/
Package Server
BeckhoffのPackage ServerはコンパイルされたSoftwareがおいてあり(Packagesと呼ばわれてます)、それは一番簡単で、素早くTwinCAT/BSDで必要なSoftwareをインストールする方法です。TwinCAT/BSDはそのPackage Serverにアクセスできるようにする必要があります。そのServerでは、TwinCAT/BSDのアップデート・TwinCAT3のUpdate、TwinCAT3のFunctionとFressBSD Repositoryも入っています。
ServerのRepositoryは:
https://tcbsd.beckhoff.com/?dir=TCBSD/12/stable/packages/All
TwinCAT/BSD内の/etc/pkgにその2つのRepositoryが入ってるかを確認してください。
Administrator@Soup01PC:~ $ cd /etc/pkg Administrator@Soup01PC:/etc/pkg $ ls FreeBSD.conf TCBSD.conf |
TCBSD.conf
BackhoffのRepositoryです。
Administrator@Soup01PC:/etc/pkg $ cat TCBSD.conf TCBSD: { url: “https://tcbsd.beckhoff.com/TCBSD/12/stable/packages”, enabled: true, signature_type: “fingerprints”, fingerprints: “/usr/share/keys/bhf-pkg” } |
FreeBSD.conf
FreeBSDの公式Repositoryです。Defaultは無効になっています。
Administrator@Soup01PC:/etc/pkg $ cat FreeBSD.conf # $FreeBSD$ # # To disable this repository, instead of modifying or removing this file, # create a /usr/local/etc/pkg/repos/FreeBSD.conf file: # # mkdir -p /usr/local/etc/pkg/repos # echo “FreeBSD: { enabled: no }” > /usr/local/etc/pkg/repos/FreeBSD.conf # FreeBSD: { url: “pkg+http://pkg.FreeBSD.org/${ABI}/quarterly”, mirror_type: “srv”, signature_type: “fingerprints”, fingerprints: “/usr/share/keys/pkg”, enabled: yes } |
Check your System
最初はいまRuntimeインストールされているPackagesを調べます。
pkg infoのコマンドを使用します。
実行すると現在インストールされているすべてのPackageが一覧できます。
Administrator@Soup01PC:~ $ pkg info BapiCmd-1.2 BapiCmd | CLI for Beckhoff BIOS API IPC-Diagnostics-1.0.9.25_1 Beckhoff IPC Diagnostics IPC-Diagnostics-www-2.0.3.25 Beckhoff IPC Diagnostics website MDP-1.1.0.0_1 MDP component of TwinCAT System Service TC31-Driver-3.1.4024.22_532517 Intermediate package to fetch required drivers from TFS drop location TC31-OrderNo-0.0.0.6 Mapping of TwinCAT order numbers to TC/BSD package names TC31-TcOsSys-3.1.4024.22_532517 TwinCAT runtime component TcOsSys.dll and TwinCAT license text ————-… |
もちろん、指定Packageの情報を詳しく確認することできます。
pkg info <PackageName>のコマンドを使用します。
例え今回 TF6100-OPC-UA-beta-4.0.257を調べるには、
pkg info TF6100-OPC-UA-beta-4.0.257のコマンドになります。
Administrator@Soup01PC:~ $ pkg info TF6100-OPC-UA-beta-4.0.257 TF6100-OPC-UA-beta-4.0.257 Name : TF6100-OPC-UA-beta Version : 4.0.257 Installed on : Fri May 20 02:37:46 2022 UTC Origin : bhf/TF6100-OPC-UA Architecture : FreeBSD:12:amd64 Prefix : /usr/local Categories : bhf Licenses : SLA4BSP Maintainer : info@beckhoff.com WWW : https://www.beckhoff.com/tf6100/ Comment : TF6100 | TC3 OPC UA Shared Libs required: libsasl2.so.3 libTcAdsDll.so libldap_r-2.4.so.2 ————-… |
Search packages
Packagesをインストールする前まず該当するソフトがServerにあるかどうかを確認することができます。
pkg searchコマンドを使用します。
例えば以下のExampleだと、BeckhoffのServerにOPCUAのPackagesがあるかを確認します。
TF6100-OPC-UA-beta-4.0.249 が戻ってそれはPackage名になります。
pkg search opc-ua TF6100-OPC-UA-beta-4.0.249 TF6100 | TC3 OPC UA |
-R Option
-R Optionsをつけると該当するPackagesの詳しい情報を確認できます。
Administrator@Soup01PC:~ $ pkg search -R opc-ua name: “TF6100-OPC-UA-beta” origin: “bhf/TF6100-OPC-UA” version: “4.0.257” comment: “TF6100 | TC3 OPC UA” maintainer: “info@beckhoff.com” www: “https://www.beckhoff.com/tf6100/” abi: “FreeBSD:12:amd64” arch: “freebsd:12:x86:64” prefix: “/usr/local” sum: “79621b4fc0f348857b690385a6822a3609a3bf5300df584a4391c928bc283973” flatsize: 14489741 path: “All/TF6100-OPC-UA-beta-4.0.257.pkg” repopath: “All/TF6100-OPC-UA-beta-4.0.257.pkg” licenselogic: “single” licenses: [ “SLA4BSP” ] ————-… |
Backup Your System!
リスクを減らすため、Pacakgesをインストール・更新する前にまずRestore Pointを作成するのがおすすめです。
Install packages
次はPackagesをインストールします。
doas pkg install コマンドを使用します。OPC-UA Packagesを自分のTwinCAT/BSDにインストールしてみます。
doas pkg install TF6100-OPC-UA-beta-4.0.257 |
自分が元からそのPackageに入っていますので、更新しますかって聞かれます。
yで同意します。
PackagesがServerからDownloadとしてインストールされています。
これで完成です。
Upgrade packages
Packagesをアップデートするにはそのコマンドを使用します。
もちろん指定Packagesもできますが、コマンドではAllになります。
doas pkg upgrade -n |
すべてが自動実行されます。
Lock your packages
TwinCAT/BSD のPackagesはロックをかけることができ、アンインストールやアップデートされないように保護できます。ロックされたPackagesはアップデート・再インストール・アンインストールもできません。
まぁ…ときにUpdateしたらうまくいかないときもありますし、誤って削除されたりとかからの面からみますとかなり優秀な機能です。例えば以下のコマンドはOPCUA Packagesにロックをかけます。
doas pkg lock TF6100-OPC-UA-beta-4.0.257 Password: TF6100-OPC-UA-beta-4.0.257: lock this package? [y/N]: y Locking TF6100-OPC-UA-beta-4.0.257 pkg lock -l Currently locked packages: TF6100-OPC-UA-beta-4.0.257 |
Unlock Your packages
ロックがあればもちろんアンロックもあります。例えば以下のコマンドはOPCUA Packagesのロックを解除します。
doas pkg unlock TF6100-OPC-UA-beta-4.0.257 Password: TF6100-OPC-UA-beta-4.0.257: unlock this package? [y/N]: y Unlocking TF6100-OPC-UA-beta-4.0.257 pkg lock -l Currently locked packages: |
Delete Your packages
よし、最後はPackagesの削除ですね。以下のコマンドはOPCUA Packagesを削除します。
ですが、OPCUA Packagesがロックされてる状態だとTwinCAT/BSDにロックされてる状態は削除できませんと返します。
doas pkg delete TF6100-OPC-UA-beta-4.0.257 Password: Checking integrity… done (0 conflicting) The following package(s) are locked and may not be removed: TF6100-OPC-UA-beta 1 packages requested for removal: 1 locked, 0 missing |
こちらはLockされてない状態で、Packagesを削除するときのTerminal outputです。
doas pkg delete TF6100-OPC-UA-beta-4.0.257 Password: Checking integrity… done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: TF6100-OPC-UA-beta: 4.0.257 Number of packages to be removed: 1 The operation will free 14 MiB. |
Test
TwinCAT/BSD内にOPCUA Packagesをインストールしましたので、テストしてみましょう。
UaExpertを起動し、Add Serverします。
Custom Discoveryの+ボタンをクリックします。
TwinCAT/BSDのIPを入力>OKします。
しばらく立ちますと、TwinCAT/BSDのOPCUA Serverが見えますね。
Noneを選び>OK。
Serverが追加されました。
そのServer選び>Connectします。
AccpetのCheckbox入れ、Continueします。
TwinCAT/BSDのOPCUA Serverと接続に成功しました。
Packageのマネジメントと実証はここまでですが、次回はWrite filterについて説明しますね。よろしくお願いします。