ただ僕の意見としてですけど、まず設計の仕方がちょっと違うんだろうなっていうのは思ってます。
ラダーとSTですね。
多分状態遷移の書き方とか設備状態の考え方っていうのはちょっと異なる気がしますね。
ラダーとST書いたときっていうのは。
ラダーでいうと、状態遷移の書いたら結構大雑把な感じがしますね。
結構自律分散的にやっていく書き方をすることは非常に多いような気がするんですけど、
STの場合は結構状態管理っていうのをトップに持ってきて、
集中管理的に書いていくっていう方が多いんじゃないかな。
従順的に管理が入る。
ちょっとここピンの2件、あんまりイメージ動かないんですけど。
なんていうのかな。
ラダーってどっちかというとカッコ動作をすごく意識した書き方をするような気がする。
あとはこのコイルをどこの直接直結しているか。
どのシリンダ直結するかを。
そうですね。
中心で考えているということですね。
そうですね。まずそのあるユニット単位のまとまりを記述して、
それをどの順番でやっていくかみたいなそういう書き方をすると思うんですけど、
どっちかっていうとSTの場合は先に状態から設計して、
例えば状態遷移でこういう順番でフローが走りますっていうと、
まずそれを設計して、その後にその状態のところに書く命令を書いていくみたいな。
今の下から書いていくか上から書いていくか全然違うような設計をしている気が僕はするんですよね。
確かに今まで見たペコフさんとかコディスさん、コディスのサンプルフログラムも
例えばK7でやっちゃうと、だいたいみんなK7の中で挟んじゃうんですよ、動作全部。
でもラーダーは多分そんなことしない、直接しないんですよね。
ですよね。
だから一番最初にSTのプログラムをゴリゴリ書く人のプログラムを見たときに、
全然思想がわからなかったんですよね。
同じ動作する命令を何回も何回も使い回しをせずにベタ書きで書いたりするんですよ。
何回も若き若きするんですね。
若き若きって。
フォース、チュー、フォース、チュー、フォース、チュー、フォース、チュー、何回も繰り返すんですよね、同じの変数を。
そう、これどうやって不具合があったときに、どこが何をしたかどうやって判別するんだろうってずっと思ってたんです。
そう。
で、これからで終わってしまう。
タンボって言うんですね。最初全部リセットする。
そう。
その後に真ん中で管理するみたいなイメージですね、彼ら。
難しいと思ったのはやっぱあって。
で、それもよくよくそこから5年ぐらい、そのSTを我々やる人たちとか含めて付き合っていったときに、
なるほどなという出発点が違うのかということになんとなく気づき始めた。
って自分の中では思ってますね。
自分に言ってるかけがわからないです。最初に全部状態をまとめてから、管理してから進めるんですよね、だいたい。
そうですね。僕はだから装置考えるときってもう状態のこと全く考えないですからね。一番最初とりあえずまず全部確保処理から全部書いていきますからね。
で、それ全部書き終わった後に初めて状態どうするかっていう話をその上にくっつけていきます。
でも見たとき、STだと全部状態、動作、ワンセットになっちゃったんですよ、みんな。ワンセットになってる。
そうですね。なので僕はね、命令は分離できるなっていう意見を持ってるんで。
なんかその状態のところにここに絡むものが複数書かれているっていうのは違和感、めっちゃ違和感がある。
そう言われると確かにそうだね。
それから彼のフォースチューも何回繰り返すを使うのも理由の一つかもしれないですね。繰り返し買い回してるとかもそうだかもしれないですね。
そうですね。いわゆる状態遷移がきちんと正しく設計できているんであれば、その下が間違ってたとしても終えるでしょっていう。
そうですね。
そういうことなんだと思う。
STの書き取りとかタイマーも使い回してるからね、彼らも。こういうの全部使い回してる。一個でいいでしょうとか聞かないし。
なんでなんでなんでなんでなんで状態ごとにタイマーつけなきゃいけないのとかそういうのもめんどくさくないんですかって言われて、え、あ、そうですねとかしか言えなかったんだよ。
だからやっぱりね、ラダウェって言ったらインスタンスの概念とか全然理解できないんですよ。
もう何これ、やっぱ何これと思ってましたね一番最初は。
そういうことか。だから僕が。
多分考え方のスタートポイントが違うんですよね。ポルム設計の考え方のスタートポイントが違うんですよね。
そうですね。その複製をする意味っていうのはあんまりなかったんですね。
そしたら配列のインスタンスが直されてなんで。
多分ラダウェっていう人にいまだにインスタンスってものにピンときてない人たぶんいっぱいいるんじゃないかなって思いますよ僕。
多分ファンクションブロック使ってるんですけど、でもこのインスタンスを普通に使ってるんですけど、
でもこのインスタンスってどういう意味持ってるかを、まあ僕は考えなくてもいいですけどね、そのまま使えるし、多分ね。
そうですね。まあまあなんか慣れたら不運って感じですけど。
でもたまに見たのは、普通ファンクションブロックで同じインスタンス使ったらなんでうまくいかないんだろう、これうまくいかないんだろうとちょっと何回これポルムを
私にお客さん送ってもらって、私のFPがなんでうまくいかないんですかって言って、
それは同じのFPを、違うFPを同じインスタンス使うから必ずうまくいかないでしょうって言って、
え、なんでですかというところで、まあそういうことかとちょっとたまもってたんですね。
インスタンスそこまで、このインスタンスは何のために制限されてるのかとかですね。
そうだと思うなあ。
なんかだから、何て言うんですかね、その違いは設備以外のプログラムを書いたときに何か始めて、ああなるほどなっていうのは思ったかもしれませんね。
なるほど。
一時、ゲーム作ってたことがあって、ゲーム作ってたときに、ああなるほどな、こういうやり方はまあ確かにそれがいいかもしれないっていうのは何か思ったなあっていう。
だから今、例えば今ラーダー描いたら、もうラーダーの描き方でずっと水槽で切り替えて、STだったらもうSTで水槽で切り替えてやってるんですか今の考え方というか。
どうでしょうね。
そういう意味で言うと、僕はSTっぽいSTを描けないですね。
描く技術を持っていないっていう方が正しいかもしれません。
なるほど。
やっぱり、そもそも一番最初の装置設計のスケジュールがあるじゃないですか、こういう順番で作っていきましょうみたいな。
それがもう完全にラーダー寄りの考え方をしてしまうので、まずSTでやる場合ももうそこから基本的に入っちゃいますね。
なるほど。
でもそれも私たちは高さがある。
高さがある。
高さがある。高さ前も言ったんですよね。
そもそもPICのプログラム、正しい設計論を持っていない、今でも持ってはいない、ではいないというか、
正しい設計論がまだできていないと前も言ったんですよね。
公開されたものがないっていう意味で言いましたね。
ないですよね。公開されていないので、たぶん個人的にはもうすごい自由な描き方になっていて、
それも原因の一つじゃないかなと思ったりは。
ガイドラインみたいな、ガイドラインの言い方とは変ですけど、何言えばいいんだろう。
プログラム原稿って動けば、それ以外はないんですけど、動けばもう正義じゃないですか、ある意味では。
ちゃんと動けば。
高田さんからそういう考え方、こういう思想でプログラムを設計しましょうというのがないんですよね、今。
フレームワークはない時点でないでしょうね。それがあったらもうフレームワークはできていると思うので、とても便利だね。
そう、これもないので、もう自由自体でやっているので、だからそういう、なんていうかな、いろいろ流派というか、
みなさんも自分の描き方できているかもしれないですね。
そうですね。
はい、なるほど。
まあ、としみじじゃないですか、ファイシャリー作りすぎよ。
フォースでなら絶対、注射なら絶対フォースで戻してねというしか言えないでしょう。
いやまあ、結局は品質の高いプログラムをどうやって描きますかって話に収束すると思うんですよね。
はい、そうですね。
じゃあ、STで描いている人たちは品質の高いプログラムを描けていないのかというと、全然そんなことはないわけですよ、ヨーロッパも含めてね。
きちんとST下で描いている人たちはちゃんと書いているし、ラダー下で描いている人はちゃんとラダーを下で描いているし。
だから品質がいいプログラムソフトは何ですかね。
それはちゃんと動くことでしょう。
ちゃんと動くのわかるんですけど、でもそれ、動くプログラムもぐちゃぐちゃのプログラムと、
ぐちゃぐちゃじゃないっていうか、ぐちゃぐちゃの言い方たち、どういう言葉で言っていいのかな。
で、動くは正義だと前提だとして、その中で品質が良くないのは何ですかね。
いや、まず仕様通り動くか動かないかということが最重要じゃないですか。
そうですよね、これ動けばもう品質が良いプログラムと言えばいいですよね。
動くという意味ではね。品質が良いというのは、全てにおいて品質が良いという一まとめにしているというのは、いくつかに分類はされると思いますよ。
僕の意味から見るかもしれないですね。
僕からの意味の品質が良いのかもしれないですね。
まずは納品物という意味では、その仕様通りの動作をきちんと実行できることということですよね。
そうですね。
これがまず納品品質なわけじゃないですか、機能品質ですね。
それに対してメンテナンスの品質とか、プログラムをかける時間はどうなのかという構成品質みたいなものも当然あるじゃないですか。
それはどれを重視化するかというのは当然案件によりますよね。
そうですね。
なるほど。
グラインダーでは納品品質だとメンテナンスの品質もそうですし、拡張性とか。
いろいろな面に関してトータルでどれくらいの質を決め、判断する、評価するという意味ですね。
言えるんですかね。評価する。
ケースによりますよ、どれをどう評価するかというのは。
そうですね。
そうだと思います。
なるほど。わかりました。
動けばいいと言っているわけではないです。
でも僕は最適な条件ですね。動きてバグないのは最適な条件ですね。
そうですね。それがやっぱり一番大事なことですよね。
それを実現するためにはさっきのメンテナンス性であったりだとか、過読性であったりとか、こういうものが必要になってきますよねっていうのも当然あるでしょうし。
わかりました。
結局、動くんだったら見なくていいですからね。中身、プログラム。
そうですね。正しく動いていないからみんな中身見ちゃうんですよね。
そうですね。正しく動くことが保証できているようになったら別にプログラムの中身見る必要なんて何にもないんで。
正しく動いていないから中身見ちゃうから。
そっか。品質いいプログラムだったら中身見なくていいので、ちゃんと動いていたら中身見なくていいので、ですよね。
じゃないですか。
わかりました。了解しました。
ちょっとまた最初の話がかなりずれたような気がしますけど。
いつもずれますから話が。
まあね、ラダーとST、どっちもめんどくさいんですよ。
どっちもめんどくさいです。
どっちもめんどくさいですね。
ラダーはラダーで書き方みたいなのはシンプルですけど、とにかく量が多いのと、キーボードの制約が多い。
ひたすらに矢印を連打して、コイルの変数やコメントを打ってみたいな。
これをキーボードだけでやれる人っていうのはすごく高度なスキルを持っている人で、どうしてもラダーは書く速度が出ないんですよね。
ホットキー覚えてないもん。
Aセッティングは何のキーボードか覚えてないですよ、今でも。
そうですね。
STに関しては全部文字で書くので、キーボードで書いたら速度は出るんですけど、構造的に書くっていう、ガイドする機能があんまりないので。
構造的にガイドする機能?
構造的に書くこと。
こういう書き方をすれば大丈夫ですよみたいな。
そういう構造的に書く、ガイドする機能っていうのが、ラダーに比べては少し薄いので、ちょっと品質悪くなりがちだとは思います。
人寄りますね、これまた人寄りますね。
で、ラダーだとだいたいこういう書き方が見やすいとか。でも標準回路決めやすいですよね。
そうですね。
標準プルーも決めやすいんですよ、STより。
そうですね。STは結構書き方変わっちゃいますからね。ラダーだったら例えばインターロック信号みたいなところがすごい量になったとしても、別に書き方変えないじゃないですか。ひたすら同じところにひたすらものが増えていく感じになりますけど。
全部文信号で、プルー信号で並べるだけですね。
そうですね。でもSTはそうなったら多分書き方変えると思うんですよね。
例えば、十半生で挟んだりとか。
それが増えすぎたらまた見にくいからちょっとやり方変えてみたいな。
多分あんまスケーラブルじゃないんですよね、そこが。
これ結構難しいところだなって思いますね。
なるほどね。
ネストがすごく深くなったら本当に見にくくなるとか、ラダーは割とスケーラブルな気がしますね、そういう意味で言うと。
なるほど、なるほど。
だるいんですけど、2倍に増えたら2倍だるいなみたいな。
でもSTはもう何倍だるいか分からないですね。
そうですね、5倍に増えたら10倍だるい気がしますね。
それでまた変な発想で変な書き方をし始めて、それでまたラダーは素直ですよ。
素直ですね、ひたすら多いだけですね。
そう、素直。
多いなって思うけど。
高谷さんおかしな脳筋のことを思い出したよ。
脳筋?
ラダーの脳筋のことを思い出した。
でも難しいカードもできるんですけど、ST比べるとやっぱりシンプルはいいなと思ってます、ラダーは。
結局STは経験値が足りないっていうのは非常にほぼほぼのところを占めてるような気はせんではないですけどね。
でもST書かなくても困ることもあんまりないじゃないですか、多分ね。
いやどうなんでしょうね。
だって今のラダーに問題ないかって言ったら問題ありまくりじゃないですか。
ありますね、あれもあるよ。
そのラダーに問題がなかったらみんなラダーはクソだみたいなあんなXのポストが出ないですからね。
そうですね。
だからやっぱりラダーにはそれなりに不安があってっていうのは間違いないと思いますよ。
なるほどね。
STもSTだからSTはシフトしてみたい人も多いんですよね、STより。
要はラダーじゃない何かに変える必要があるんじゃないかと思ってる人たちたくさんいて、その候補の一つにSTは上がっていてっていう段階だとは思いますね。
なるほどね。
でSTがじゃあ、いやもうこれからSTですよ、ST価値覚ですわとまではまだ言ってないと思います。
まずまだ探せる方ですね、ラダーじゃない何かを探せるという。
探してるってのは間違いないんじゃないですか、多分ラダーに見切りつけてる人いっぱいいると思いますよ。
なるほど、これからもう増えないかな言語、もう増えないですよね、PFCは。
いやわかんないですよそれは。
もう思いつかないね、ほかにどんな言語が増えるんだろうって思いつかないね。
いやでも直近で言うとNode-REDみたいなの出てきたじゃないですか。
こっちか。
ICに取り込まれるかっていうのは別ですけど、新しい言語形態が出ないかどうかって言うと出るんじゃないですか。
そうだね、あ、そうか、Node-REDでもいいですね、でも立派な言語ですからね、ロード式も。
そっか。
そう。
出てるかもしれないですね。
例えば安全PFCとかだと、PILSみたいな、ちょっとよくわからない、いろんなものを貼り付けていくような。
ごめんね、そうですけど、ごめんね。
いや、よくわからないってのは否定趣味じゃなくて、表現できない、言葉にできなかっただけです。
そう、まとめてそうですよ。
あれも新しい形態じゃないですか。だから言語フォーマットは増えるんじゃないですか、これから。
増えないですね。
提案はあると思いますよ。
今後新しいIC言語が増えるかどうかちょっとまた楽しみにしてます。
ICは増えないと思うけど。
だって次の議論だって10年後じゃないですか。
じゃないな。
次2035年ですよ、議論があるの。
ほい。
改定が、5thね。
もう2035年はまだPFCやってるかもわからないしな。
そこまで入らないってことですかね。
まあ、ですね。
そうか、そうか。
でも配置はあったんですよ、ILとかも配置したんですよね。
確かに配置しましたっけ、ILは。
いや、非推奨だと思うんですよ、まだ。
まだやめてないですけど、もう使わないでねということですね。
非推奨にあってると思います。
まあ、って感じですね、IL。
使いたくない。もういいです、あれは。
もうCMASYもだんだん使ったからもういいです。
そうですね、はい。
というところでですね、コイルとST、NADAとSTについて少しお話をしたというところで、
これから頑張っていければいいと思いますね。
はい、皆さんありがとうございました。