工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

PLCnextデバイスでgrpcurlを用いた安全なリモートgRPCアクセス

警告:このブログで説明する手順は、現在サポートされていないPLCnext Runtime機能を使用します。自己責任で使用し、絶対に本番アプリケーションで使用しないでください。

gRPCurl GitHubプロジェクトより:

最近のファームウェアバージョンでは、PLCnext Controlデバイス上のgRPCサーバーへアクセス可能になりましたが、ローカルデバイス上で動作するgRPCクライアントのみでした。過去のMakers Blog記事で、C#とPythonで書かれたgRPCクライアント例を紹介しています。

将来のファームウェアバージョンでは、リモートデバイスからPLCnext ControlデバイスのgRPCサーバーへアクセス可能になります。実はこの機能はファームウェアバージョン2022.6に既に含まれていますが、まだ開発中で現在サポートされていません。この記事では、オープンソースgRPCクライアント「gRPCurl」を用いて、テスト・開発目的でこの機能を有効化する方法を説明します。

現在、gRPCサーバーをリモートからアクセスすることは、本番アプリケーションではすべきではありません。

手順

PLCnext Controlデバイス上で(ファームウェア2022.6)

将来的には、この設定はWebベース管理の「システムサービス」ページから行えるようになります。

リモートデバイス上で

grpcurl -insecure -import-path Documents/plcnext-grpc/protobuf -proto Device/Interface/IDeviceStatusService.proto -d '{"identifier":"Status.Board.Temperature.Centigrade"}' 192.168.1.10:50051 Arp.Device.Interface.Services.Grpc.IDeviceStatusService/GetItem

……ここで-import-pathはprotobufディレクトリへのパス、IPアドレスはPLCnext Controlデバイスのアドレスです。

返答はJSONオブジェクトで、ボード温度(摂氏度)を含みます:

{
 "ReturnValue": {
 "TypeCode": "CT_Int8",
 "Int8Value": 43
 }
}

FAQ

可能かもしれませんが、grpcurlをターゲットプラットフォーム向けにソースからビルドする必要があり、依存関係の数を考えるとシンプルではないでしょう。

さらなるヘルプ

grpcurl -helpで利用可能オプションの詳細情報を取得できます。

PLCnext RuntimeのgRPCサーバーについて質問がある場合は、PLCnextコミュニティフォーラムをご利用ください。

産業技術

  1. Raspberry Pi 3とPubNubでリモート気象監視
  2. LIRCなしでRaspberry PiにIRリモコンを接続 - Python UARTアプローチ
  3. モダン産業におけるリモート生産制御の5つの主要メリット
  4. PLCnextデバイスでgrpcurlを用いた安全なリモートgRPCアクセス
  5. PLCnextでのクラスタ管理:産業オートメーションにおけるKubernetesの活用
  6. TableauダッシュボードでPLCnextをリアルタイム監視
  7. PLCnextクラウドデータからPower BIダッシュボードを作成
  8. Azure IoT HubのPLCnext ControlデータでリアルタイムGrafanaダッシュボードを作成
  9. JlinkでPLCnext Control上のJava 9アプリを最適化
  10. PLCnext LinuxにAPTパッケージマネージャをインストール:ステップバイステップガイド
  11. C# usingステートメント完全ガイド:名前空間インポート、エイリアス、静的ディレクティブ