ほぼ他のソースはこれしかないですね、本当に。
で、エディターとランダムタイムの両方もオープンソース、
完全オープンソースのソースコードも提供されていて、
なおかつ彼らのエディターもWindows、
Windows Linux、あとはMacの出てるんですね。
これもなかなか面白いかなと思ったんですね。
そうですね。マルチプラットフォームのエディターは少ないですからね。
基本的にCodesとかTwinCatとかも含めて、
めっちゃソフトPLCが進んでそうに思うんですけど、
今はPLCのエディターで使えるものっていうのはほとんどWindowsなんですよね。
Windowsしかないですよね。
そうですね。だからベックオフもTwinCatは、
エディター自体はWindowsでしか動かないですし、
Codesも実はマルチプラットフォームというのを謳ってながら、
マルチプラットフォームなのは実際はランタイムだけで、
エディターはWindowsじゃないとダメという。
ということですね。
なので皆さん思ったようにオープンプラットフォームは、
見てるのはランタイムの話だけですね。
エディターは全然オープンプラットフォームではないかなと思っています。
なのでこれはちょっと面白いの1点かなと思っていて。
そうですね。
一緒に触ってみたんですけど、
ランタイムは今回、前回のマイクフェアでコンテナで載せたんですね。
彼らをイメージはもう提供してないんですけど、
DockerのIoHub、
DockerのHubのところで、
Dockerのホームページで、
プラットフォームで、
その上にいろいろなDockerのイメージを引っ張れるところで、
たくさんの人がオープンプラットフォームのランタイムの
Dockerのイメージを載せているので、
その中の1つを引っ張って、
自分のパネルPCにちょっとインストールしてたんですね。
ランタイムだけ。
当然ですけど、うまく動いてるんですね。
ちゃんと動いてるんですね。
そこで初めて、
前に今年も使ったんですけど、
こんなようにバーチャルPLCの使い方を感じたかなと思いましたね。
例えば今、
私のパソコンで、
オープンプラットフォームのランタイムは1つのコンテナに入っているんですけど、
もし私のパソコンのリソースを結構余裕を持っているんだったら、
リソース操作では、
たぶんこのランタイムを無限に、
ある程度もっと増やせるんですね。
単に1つ押すだけで、
コンテナをコピーして、
それで次回のPLCランタイムになって、
それを自分で制御することもできるんじゃないかなと思っています。
お苦労ですね、またランタイム的には。
はい。
次出てくるのは、
エディターですね。
プログラムの部分は、
エディターをちゃんと使わないといけないので、
エディターは、今ではバージョンフリーがあってて、
高橋さんがバージョン4がありますよって教えてくれて、
バージョン4を、
まだベータ版ですけど、
使ってみたんですね。
基本やっぱり、
期待通りに、
グラフィック言語は弱いところですね。
それでも頑張って作ってくれた、
高橋さんは結構偉いなと私は思っていたんですけど。
グラフィック弁言語が弱いっていうのは、
FBDも弱いんですか?
そうそう、操作自体も分からない。
分からないというところもあって、
操作感がすごい分からない。
単純とは、このオーワーカイドを作る時の、
操作が分かるまではすごい時間がかかる。
こういう押し方、順番押さないと、
単にオーワーカイドを追加できないんだとか。
そういうところで、やっぱり国産のラータエディターは、
すごい優秀だなと改めて感じましたね、これは。
一応5種類のIC言語も対応しているので、
使っているのは、
STとラータだけ使ったんですね。
聞いている人は多分、
当たり前のようにPLCのエディターを使っていると思うんですけど、
やっぱりめっちゃ大変なんですよね、
PLCのエディターの特にラダーだとか、
FPD、SFCもそうですけど、
グラフィカル言語を何千行も書いて、
それを一括でC言語ないし、
いろんな言語に、
いわゆるPLCで動く言語形態にコンパイルするっていう。
コンパイル。
これがやっぱりすごい技術の塊なんですよね。
なんでみんなコディスを使うエディター2みたいな。
そうですね。
これをオープンソースで開発して、
使いづらいものだとしても、
なんとなくそれっぽく使えるものを出してきているっていうのが、
なかなかすごいところですよね、これは。
そう、頑張っていると思います。
もうカリエライってことは、
上にほぼしていない、
リンインで、
いわゆる海外のプラットフォーム、
ウェブサイトみたいなもので、
オープンPLCのCEOが、
上の人もまだ活動してるからね、
オープンPLCについて。
だから収入権どこかなと、
どこにあるんだろうと思うけど、収入権は。
一応スポンサー動画ありますので、
一応スポンサー動画がありますよね、ホームページ見たら。
そうそう、スポンサーを。
それで来てるのかわからないけど。
モーションのところ、
どうやって読むんだっけ、
ムーシス、
M-O-V-E-N-S-Y-S、
知らない。
まあいいや、
4社はスポンサーはしてるんですね。
4社はスポンサーはしてるんですね。
なので、
エディター自体はちょっと、
グラフィック変更はちょっと弱いんですけど、
それを頑張って作ってくれたところは、
すごい偉いなと褒めるところです。
あとはどういう風に。
あ、いいです、どうぞどうぞ。
はいはい、
エディターもあって、
あとは実際彼らのシミュレーションもできるところも、
シミュレーションもできますよ。
シミュレーションできるんですか、
ちなみに外部通信できるんですか?
外部通信は、
エディターのシミュレーションでできますか?
多分できないですね、
それをやりたかったらランタイムの落とせってことですね。
そうですね、
シミュレーションも無料でモードソフトの中で、
シミュレーションできるのがすごいなと思って、
本当にそこまでやるのか、
思ったりはしてます。
そうですね。
あとは何かな、
あとフィールドバスですね。
フィールドバスは、
彼らは基本モードバスがメインで、
あとはライブラリの中にはMQTTが入っていると。
そして、
彼らのオンプレミスランタイムの設定には、
Ethernet IPという単語が出たんですけど、
調べたら実装されていませんというオチがありました。
Ethernet IPという単語が出たんですけど、
調べたら実装されていませんというオチがありました。
今回の所でGoogleのオプションはなかったり、
オプションもなかったりしたっけ?
あったはずですよ
公式ドキュメンテーションの中では、
EtherCATはなかったかな。
確かサポートしていたと思いますよ、
EtherCAT。
オープンPCはどうやってEtherCATをサポートできるか?
確かそういうコンパイルオプションがあって それを使うとイセキャットできたような記憶が僕は
なるほど 2022年のときはOpen PLC がイセキャット対応できませんと
仕様を言ってて もしサポートしたいんだったら 自分でコードを書けっていう
言ってなかったっけ あれ僕の勘違いかな
僕の勘違いかな オープン PLC イセキャット対応してた記憶が若干あって
でもハットグループで出れないってことは多分ないのか
そうだね 多分できるだけ自分で頑張って オープンソースのイセキャットのスタックを
自分のところにオープン PLCの中に積んでいくんじゃないかなと思いますね
仕様はなんか YouTube 行ったら
イセキャットサーボコントロール with Open PLC and Raspberry Pi っていうのが出てきましたけど
これはでもなんか別口でやってるのかな
あれ ちょっと待って 今調べたら
でも普通にGitHubになかった? GitHubにイセキャットって文字 僕見た記憶あるんですけど
気のせいかな
ありました イセキャットソースという
ですよね イセキャットソースありますよね
あれなんか多分 イーサーのエディターだけで
これを多分彼らの自分のイーサーキャットのスタックをインストールする方法が見つかったみたいですね
作ったんですね あれ ちょっとまた試しましょうか 私
もうちょっと具体的に言うと
IOリフレッシュのタイミングが
きちんと決められた時間でできるかっていうことなんですね
リアルタイム性ですね
だから計算時間とか別にどうでもいいんですよ
IOリフレッシュのタイミングが合ってるかどうかしか
リアルタイム性なのっていうのには全然関係ない
ちゃんと同じ周期にいかないかな
同じ周期内でちゃんとアイロックももらって
その同じ周期でスロックも出せることがリアルタイム性ですよね
そうですね
周期とかタイミングって言ったほうがいいですかね
実際には演算時間の出ばらつきっていうのは全然構わないわけですね
実際のリアルタイムなPLCっていうのが
どういうふうになってるかっていうと
IOリフレッシュをします
そこから次のIOリフレッシュまでのタイミングまでに
計算を終わらせるっていうことしかしなくて
計算を何秒でしますみたいな
これは全く関係ないんですよね
PLCのラダーを5ミリセックで絶対計算しなさい
なんてものはなくて
実際には5ミリセック以下で絶対終わりなさいなんですよ
だからプログラムも次のIOのリフレッシュの周期まで
終わってねちゃんと
終わってねっていうだけなんですよね
実際に求めてるの
そこに絶対一緒の計算しなさいってわけじゃないんですよ
別に計算がプラマイ2ミリセックとかばらついたとしても
リアルタイム性には全く影響がない
リアルタイム性そういうのとIOの話ですよね
IOのタイミングですか
IOのタイミングです
IOと通信のタイミングです
これしかリアルタイム性じゃないです
計算とか計算も大事だけどそこがメインじゃないですよね
目がIOですよね
そうですね
だから産業用コンピューターで
なんでリアルタイム性が難しいって言われたかっていうと
このIOリフレッシュのタイミングっていうのが
OSの変な割り込みでずれる可能性があったからですね
そうですね
だから別にラダーの計算してるところで
なんぼ別にOSから割り込みが入っても
周期時間内に終わってれば全然問題なかったんですけど
実際には一番大事なIOリフレッシュのところで
そういう変な割り込みが入るっていうのが
PCはリアルタイム性に向かないって言われた一番の原因
それで今どんどんPCメーカーが改善してる
いろいろパラメータ設定して割り込めないように
PCのアンタイムのタスクが一番上に上がるということですね
そうですね
ここで定周期が大事っていう話をした上で
定周期が必要な設備って何って話があるじゃないですか
次
そうですね
定周期が必要ない必要あるみたいな話をするときに
定周期っていうのはそもそもどういう機能があって
何人いるんですかっていう話ですよね
具体的にはいわゆる時刻がはっきりしてるものを取るときですね
時刻がはっきりしてるもの
時刻がはっきりしてる
例えば速度
速度を取るのに
どういう計算をしてるかっていうと
速度を別にもらってるわけじゃないんですよあれって
2点間のいわゆる0秒のときと次のスキャンですよね
このときの位置の差分を時間で割ってるだけなんです
そうですね
だから100ミリセックだったら
例えば1メーターいってこれ100ミリセックで2点取ったとすると
実際には10メーターパーセックで動いてるよという計算ができるじゃないですか
でもこれは100ミリセックっていう固定値があって初めて計算できるわけで
これが実は50から150ミリですみたいな
ミリセックですみたいなことになったら
速度がプラ倍50%バラつくわけですよね実際の値よりも
そうですねなるほど
まず時間に関係する計算が入ってきてるものは定周規制っていうのは絶対必要です
そういう意味か確かに
速度は何に使うかっていうとモーションに使うんです
そうですね
だからモーションネットワークっていうのは定周規制と同規制が大事なんです
なるほどなるほど時間性が合わないとそもそも速度も計算できない
そうですね実際にはアンプで計算してますけどね
実際にはアンプで計算してますけど
毎周期位置を送ったり毎周期速度を送ったりするものだと
ちゃんと毎周期決まった時刻でデータを渡してあげないと
思った通りの動きになりませんよっていうものがあるんで
モーションは時刻同期っていうのが非常に大事ですっていう話になるんですよ
なるほど
逆に言うとそういうのがいらなければ多少バラついても問題はないわけですね
なるほど
例えばコンベアを回してワークアリセンサーがオンになるまで回しますみたいな
これはその瞬間その瞬間の情報で判断してるだけじゃないですか
そうですね入ったら動く
前後の記憶とかそういうのを全く取らない回路になってるわけですね
そうですね
そういうものに関しては別に多少スキャンがバラついても影響はないわけです
実際には
あのツイートはそういう意図です
難しいね今聞かないとわからないですね皆さん
逆にツイートのほんのり意味が
今私も今日やっと分かりました
何か高さがないけど何か伝えたかったとか
まあということですね
だからあの裏には何があるかっていうと
絶対にソフトPLCがリアルタイム性を完全維持する必要があるかっていう話だと別々ないよねっていう
確かに
はいどうぞ
何を意味してるかっていうと
クラウドに持っていったときにソフトPLCを
クラウド上で定集規を保つっていうのは相当難易度が高いけど
そうですねやっぱりローから保たれちゃうでしょねこれ
そうですね
でもそれは定集規制が必要なものはEdgeで処理して
定集規制がいらないものはクラウドやオンプレサーバーに持っていくっていうことを
まあ別に選択肢は全然あるよねっていう
そういうことですね
なるほど
いかがりましたまたいかがりました
そういう意図ですねあのツイート
そういう意図
なんか読んでどういう意図かなと思って
これはどういう意味なのかなとずっと考えてて
そういう意味ですね
そうですねまあその
そんなにまあそのオープンフィッシュにあんま関係ない話なんですけど
実際には
ただ実際まあそういう話です
まあその時何が目についたかっていうと
リアルタイム性のない PLC は PLC じゃないから
別にそんな PLC である必要はないみたいな
クラウド PLC とかいらないみたいな論調が僕ちょっと目に入って
はい
でも別にその PLC を担保しない別にリアルタイム性でも何でもないよみたいな
っていうことが高畑さんの見解ですね
そうですね
だからまあ別にそれはそれであるんじゃないっていう
なるほど
だからその
別に見解を持っていらなくてただそういう高畑さんの自分の意見ですね
そうですね
ただちょっと勘違いされたくないのはそのリアルタイム性は必要ですっていう
リアルタイム性は絶対必要です
リアルタイム性のありなしが選べるっていうことが必要です
なしオンリーはないなしオンリーはもう成立しない
成立してもそのすごく小っちゃい領域ですと
わかりました
はい
あともう一回聞き直してもうちょっと深く考えます
という話でしたね
ちょっといろいろ脱線した感じですけど
オープンピルC かなりいいなって思って
ライセンスいらないことですよね
そうですね基本無償
無償ですね
あれは基本無償ものを選んでいるので
無償がしか選んでいない
オープンソースなんで当然無償なんですけど
オープンソースだから無償っていうのはちょっと定義が違いますけど
少なくともオープンピルCに関しては無償であると
無償ですね
これのいいところとしてはやっぱり
この間我々もメカフェア東京で仮想PLCのデモしましたけど
仮想PLC周りってやっぱりライセンスが非常にめんどくさいんですよね
えっともう一回言って
周りで
ライセンスが非常に厄介であると
厄介です厄介です
例えばJACODISの仮想PLCを使ったとしても
CMESの仮想PLCを使ったとしても
ライセンスの問題っていうのが非常に絡むわけじゃないですか
そもそもどういうモデルもわからないし
まだわからない
計算はもうできるわからない状態ですもんね今
そうですよね
例えばあるところのコンテナを閉じて
別のところにつけて
じゃあこれライセンスどうなるのとか
今あるやつを二つに分割したら
2ライセンスいるんですかとか
しかもライセンスっていうのも
ライセンスっていうのも一つのPLCに対して一つじゃなくて
例えばこれSKだったら機能に対してライセンスがついてるわけですね
しかも
IoTenseとかTwininterfaceとかでよって変わるんですよね
そうですよね
っていういろんなライセンスの難しさがあるけど
その中で
これっていろんなものをつけたり消したりする
いわゆるコンテナ技術とすごく相性が悪いわけですよね
当たり前の話ですけど
相性が悪い
っていうめんどくささが一旦このオープンソースを使っておけば
解消するっていうのは魅力的だなっていうのは非常に思います
そうですね
インストールも簡単だし
あとは何があるかな
この発言はただで使いたいっていうわけじゃなくて
実験するときに煩わしすぎて
実験すらできない状況なのが今だと思ってて
もう一回言っていいですか
例えば今コデスを使って
仮想PLCの実験をしたいです
こういう試験設備を作りたいですっていうときに
ライセンスのハードルが高すぎて
いろんなね
例えばいろんなとこで
2拠点でつけたり消したりしますみたいな
そういう簡単実験したいときでさえ
ライセンスの問題がめんどくさすぎて
これはちょっと今できないねって言って
結構多いと思ってるんですよね
だからそれが一旦解消するじゃないですか
これだと
オープンPLCプラットフォーム使ったらどうせ無料で
ライセンスの問題が一旦解決しますっていうところですね
当然自己責任だし保証の問題もないし
これがそのままずっと使えるかとか
本番もいけるかっていうのはまた別の話だけど
でも本番やったらこれはある程度おいしいですと
そういう状態であればそこで本格的に
CodexやCMSのいわゆるバーチャルPLCって
検討しても別にいいんじゃないっていう
最初の一歩として
オープンPLCっていうものが示す価値っていうのは
すごく大きいんじゃないかなっていうのは思ってますね