• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PLCの命令語の使い方について)

PLCの命令語の使い方について

このQ&Aのポイント
  • PLCの命令語の使い方について初心者の方向けに解説します。
  • どのような命令語がどんな場面で使われるのか具体的な例をご紹介します。
  • さらに、命令語の使い方についてまとめたサイトの紹介も行います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

機械語命令って、人体に例えると「筋肉1つ1つに、脳から緊張、弛緩の命令を出す」のと似ています。 脳から「緊張しろ」とか「弛緩しろ」とか闇雲に命令しても、コップ1つ持ち上げる事はできません。想定外の筋肉が予想外の動きをするだけです。 「どこの筋肉を、どのタイミングで、どう緊張または弛緩させるか」が理解できていないと、コップを持ち上げる事は出来ません。 しかも、コップの中身をこぼさないようにする為には、手応え、視覚からの情報など、フィードバックが必要です。 フィードバック無しで闇雲にコップを持ち上げたら、持ち上がってもコップが傾いて中身がこぼれてしまいますし、コップが紙コップなら、中身が入ったまま握りつぶしてしまうかも知れません。 「視覚からの情報を処理する場合」は「網膜が受けた刺激」を、どこか、脳細胞の記憶野に移して「一時的に保存」しないといけません。 じゃないと「網膜が受けた刺激」は、何処にも留まらず、神経細胞の興奮が収まったら「忘れ去られて」しまいます。 視覚情報(網膜が受けた刺激)をどっかに保存するには、転送命令でデータをレジスタに入れるのと同様の「転送して保存」が必要。 コンピューターも同様で「転送して保存」が必要なので「転送命令」があります。 「筋肉を今の半分動かす」には「どれだけ動いたかを、感覚的に2で割って」と言う「演算」が必要。 「筋肉を今の2倍動かす」には「どれだけ動いたかを、感覚的に2倍して」と言う「演算」が必要。 内部レジスタを右にシフトすれば「2で割ったのと同じ」になります。 内部レジスタを左にシフトすれば「2倍したのと同じ」になります。 つまり「シフト命令で、2倍したり、半分にしたり」が可能になる訳です。 以上を踏まえて。 「2倍」を2回やれば「4倍」も出来ます。 元の「1倍」のデータをどっかに転送して取っておいて、4倍したのと足し算すると「5倍」も出来ます。 5倍したのを更に2倍すれば「10倍」になります。 「10倍」が可能になれば「10進数演算」が可能になります。 2つの入力ポートから「2」と「6」を受け取り、2を10倍して20にしてから、もう一方の6を足せば「26」を求められます。 すると「2つの入力ポートを、十進数2桁の入力ポートとして使う」って事が可能になります。 こうやって「ミクロ的な1つ1つの動作」を大量に組み合わせて「1つの大きな動作」をさせる訳です。 それが「機械語プログラミング」です。 なので「1つ1つのバラバラな動作を組み合わせて、全体として何をさせるか」が重要になります。 全体が見えていないと「何をどうしたらいいんだ」って話になっちゃいます。

stamp_dr
質問者

お礼

なるほど納得です! わかりやすい説明でありがとうございます。 一人前になるにはまだまだこれから勉強ですね。 プログラムを組む上で、「こういう動きをさせたい。それならこういう計算をしてそれをここに記憶して、さらにこれとこれを比較して…」という「ロジック」の構築が重要になると思うのですが、こうしたロジックの組み立てはどのようにしてみなさん行われているのでしょうか? 結局はこのロジックがプログラムの良しあし、ひいては装置の良しあしを決めることになると思うのですが、やはりこの辺はノウハウということになるんでしょうかね??? 重ねて質問してしまいましたが、良ければご回答ください。

その他の回答 (1)

  • lumiheart
  • ベストアンサー率47% (1141/2405)
回答No.2

以下の資料をダウンロードして読破しましょう プログラマブルコントローラビギナーズテキストダウンロード http://www.keyence.co.jp/req/h/cphhe55/show.jsp?done=/seigyo/index.jsp&motive=TOP 動画マニュアル http://www.keyence.co.jp/kv_standard/kv_studio/support/movie/ その他資料 http://www.keyence.co.jp/kv_standard/kv_studio/support/course/ タッチパネル http://www.keyence.co.jp/panel/touchpanel/vt3/ 画像処理 http://www.keyence.co.jp/gazo/ サーボモータ http://www.keyence.co.jp/seigyo/#3 アナログセンサ http://www.keyence.co.jp/atsuryoku/ キーエンスの商売敵、オムロンのFAラーニング(無料) http://www.fa.omron.co.jp/seminar/elearning/fa_elearning/?WT.mc_id=0102000001111143 オムロンの商売敵、三菱電機のFAラーニング(無料) https://www.mitsubishielectric.co.jp/fa/ssl/wap/eln/courseInfo.do?actId=crs&courseId=fa_0080

stamp_dr
質問者

お礼

回答ありがとうございます。 ただ、どれも大体見たものばかりですね・・・ これらの内容を見ても具体的な装置の例は少なく、ましてその中でシフト計算やレジスタを使って格納うんぬんといったものは見られないので、どう使うの?と困っている次第です。 より具体的なサンプルプログラムやお題があればいいのですが。

関連するQ&A