1つだけ過去を変えられるとしたら?

PLCのラダープログラムを勉強し始めたところの初心者です。

各種PLCには様々な命令語が用意されています。(基本命令、応用命令、演算命令など)
これらの基本命令について、個々の動作については取扱説明書を読めば理解できますが、
実際にこれらの命令を使って装置のプログラムを書くときに、何をどう使うことが有効なのか?
この辺りがよくわかりません。

たとえば、データシフト命令について、内部レジスタを右にシフトしたり左にシフトしたり。
そういうことができるのはわかりますが、じゃあそれを使ったら装置ではどんなことができるのでしょうか?

データ転送命令などもよくわかりません。MOV命令でデータをレジスタに格納できることはわかりましたが、これが何の役に立つのやら…

全くの初歩的な質問で申し訳ないですが、取扱説明書を隅々まで読んでいますが、命令語の基本的な機能については紹介してくれていますが、実世界での使い方については全くと言っていいほど触れられていません。

どんな時に、こうした命令語が有効なのか?具体的な例を教えていただければ幸いです。

また、そうした具体例をまとめたようなサイトがあれば併せてご教授いただけませんでしょうか。
よろしくお願いします。

A 回答 (2件)

機械語命令って、人体に例えると「筋肉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つのバラバラな動作を組み合わせて、全体として何をさせるか」が重要になります。

全体が見えていないと「何をどうしたらいいんだ」って話になっちゃいます。
    • good
    • 0
この回答へのお礼

なるほど納得です!
わかりやすい説明でありがとうございます。
一人前になるにはまだまだこれから勉強ですね。

プログラムを組む上で、「こういう動きをさせたい。それならこういう計算をしてそれをここに記憶して、さらにこれとこれを比較して…」という「ロジック」の構築が重要になると思うのですが、こうしたロジックの組み立てはどのようにしてみなさん行われているのでしょうか?

結局はこのロジックがプログラムの良しあし、ひいては装置の良しあしを決めることになると思うのですが、やはりこの辺はノウハウということになるんでしょうかね???

重ねて質問してしまいましたが、良ければご回答ください。

お礼日時:2014/11/12 11:02

以下の資料をダウンロードして読破しましょう



プログラマブルコントローラビギナーズテキストダウンロード
http://www.keyence.co.jp/req/h/cphhe55/show.jsp? …
動画マニュアル
http://www.keyence.co.jp/kv_standard/kv_studio/s …
その他資料
http://www.keyence.co.jp/kv_standard/kv_studio/s …

タッチパネル
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_e …

オムロンの商売敵、三菱電機のFAラーニング(無料)
https://www.mitsubishielectric.co.jp/fa/ssl/wap/ …
    • good
    • 0
この回答へのお礼

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

より具体的なサンプルプログラムやお題があればいいのですが。

お礼日時:2014/11/12 11:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!