![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
No.1です。
>ラダーをそのまま シーケンサへ転送すると シーケンサ内では
機械語には変換されないので、一旦 ニーモニックに変換していると
考えていいのでしょうか?
「ラダー」は、動作を表わすシンボルに近い形で記述したものですね。一種の「高級言語」に相当し、一般に「POL:Problem Oriented Language」(問題向き言語)と呼ばれます。
これをプログラム言語としての「アセンブリ言語」に変換します。ニーモニックはアセンブリ言語です。あくまで「人間に理解できるようにしたもの」であり、それで機械が動くわけではありません。
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%BB …
アセンブリ言語は、シーケンサ内の「アセンブラ」で機械語に翻訳されてから実行されます。
http://e-words.jp/w/%E3%82%A2%E3%82%BB%E3%83%B3% …
何度も教えていただきありがとうございます。
理解できました。
プログラムの世界は奥が深くおもしろそうですね。
プログラムでトランジスタを組み合わせたCPUが動き計算する・・・・
興味深いです。
ありがとうございました。
No.4
- 回答日時:
ニーモニックは便宜上に使っている表記であってマイコンなどで使用される機械語とは違います。
A接点X1がLD X1と読み替えているだけなので機械語としての意味は無いです。動作についてはパソコンやマイコンのようなプログラムストアード形式では無いようです。詳しくは以下のPLCはステートマシンの説明を読んでください。
https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD …
回答いただきありがとうございます。
紹介していただいたサイトを見ましたが、理解するには私の見識が追い付いていないようです。
機会を設けて勉強したいと思います。
ありがとうございました。
No.3
- 回答日時:
メーカーや機種によって違うと思いますが、PLC内ではインタープリタで動作していると思います。
PLCではターゲットプログラムは一般にラダー形式で入力します。各命令や処理は中間言語という特殊なコードに変換されます。
PLCにはライブラリーという実際の処理を行うソフト群があります。
PLCはまず中間言語になっている命令のひとつを読み出します。それがもしAND命令だったらライブラリーの中のAND処理の部分にジャンプ、終われば次の命令を読み出しOUT命令だったらライブラリーのOUT処理にジャンプ、といった動作を繰り返します。これがインタープリタのおおまかな動作です。
ラダー形式と中間言語は1:1に対応しているので互いに変換できます。PLCにあるプログラムを読み出すと元のラダー図になりますよね。対応が完璧にできているためです。
PLCではありませんが、PC-8001など初期のパソコンにはBASICが搭載してありました。BASICはインタープリタで動作していました。
インタープリタの詳細については以下をご覧ください。
https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3 …
PLCによってはコンパイルしている機種もあるでしょう。これはPLC内のCPUチップが理解できる機械語にしてしまう方式です。AND命令ならAND処理の機械語群(一般に数バイトから数十バイトある)、OUT命令ならOUT処理の機械語群をその順番につないだものと考えてください。この方式では理論上はPLCにはシステムのようなソフトはなくてかまいません(とは言っても読込やモニター機能が必要ですから相応のものは持っています)。実行速度はインタープリタより速くなりますが、いったん機械語になったプログラムをラダー形式に戻すのは難しいので特殊なPLCしか採用していないはずです。
なお、ご質問にある「ニーモニック」とは何でしょう?
http://fa-faq.mitsubishielectric.co.jp/faq/show/ …
にある「ブロックリスト」形式のことでしょうか?
もしそうであるならプログラマー(プログラムの編集機)での表示形式が違うだけで、ラダー図と同じものです。プログラマーでもPLC本体でも記憶形式は中間言語、つまり特殊なコードになっています。
回答ありがとうございます。
小生 プログラムに関する知識が弱いため なかなか理解が進まないというのが
正直なところです。。。
ただ、なんとなくわかったような気はします。
ありがとうございました
No.1
- 回答日時:
ニーモニックは、機械語に1対1に対応していますが、機械語そのものではありません。
シーケンサ内で更に別の機械語に変換されています。機械語として実行されるのは、「0と1」(onとoff)の2進法の世界です。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学院 三菱シーケンサのQシリーズのPLCを使ってるのですが写真のように押すと同時に時間を計測し、オフにする 1 2023/02/23 04:15
- 工学 旋盤、単能機等の電子部品、電気的耐久性と機械的耐久性について 3 2023/02/14 07:08
- その他(教育・科学・学問) ハンドアセンブルの第3オペランドについて 2 2022/05/16 20:09
- その他(テレビ・ラジオ) シーケンサのデータレジスタDとファイルレジスタRの違いを教えてください 1 2022/09/02 08:02
- 英語 英語パラフレーズの機械? 昔ネイティブの友達が、英語の文章の単語を類義語に言い換えてくれる機械を使っ 1 2022/12/10 19:24
- その他(プログラミング・Web制作) 機械語に詳しい方 2 2022/07/10 12:06
- 英語 会社で英語を使うことになっての英語の勉強方法 5 2022/07/03 11:49
- 電気・ガス・水道業 PLC プログラム 1 2023/02/03 22:29
- au(KDDI) ■AU「 スマホトクするプログラム」について 4 2023/08/09 08:54
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SJIS⇔UTF-8の文字コード...
-
VB.NETからJavaに変換するツー...
-
VB.NETをJavaに変換するツール...
-
C言語からC#への変換ツール
-
アセンブラ言語の数字を数値に...
-
緯度、経度の 10進法と 60進法...
-
なぜ通信には16進数文字列が使...
-
マンセル⇔XYZ,RGB変換式或いは...
-
AD変換ボードに入力された電圧...
-
vb.netの型変換について
-
画像ファイルから.icoフォーマ...
-
16進数を10進数文字列に変換する
-
3のつく数字と3の倍数のみを表...
-
10進数を2進数に変換するプログ...
-
エクセルVBAの自動変換機能?
-
C#で漢字→ローマ字を変換
-
StrConvの使い方について教えて...
-
C#でのpngからbmpへの変換について
-
C++からCへのソース変換について
-
自作ソフトキーボードによる文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
Excel-VBAのmsgBox()の不思議
-
3のつく数字と3の倍数のみを表...
-
bmp→jpgに、jpg→bmpに
-
分を時間に変換するプログラム
-
Mac 乗数の入力方法
-
家電製品の電力周波数を変える機械
-
10進数をBCDに変換する方法
-
VB6からVB2010への変換について
-
C/C++→JAVAに変換するツール
-
C#でのpngからbmpへの変換について
-
【EXCEL】カナ、ひらがなを英字...
-
数値英単語変換プログラム
-
エクセルVBAの自動変換機能?
-
なぜ通信には16進数文字列が使...
-
画像ファイル変換(Tiff→PDF)
-
UTF8→ShiftJISに変換したいです!
-
c++でmatからvectorへの変換の...
-
SJIS⇔UTF-8の文字コード...
-
VB.NETをJavaに変換するツール...
おすすめ情報
回答ありがとうございます。
ラダーをそのまま シーケンサへ転送すると シーケンサ内では
機械語には変換されないので、一旦 ニーモニックに変換していると
考えていいのでしょうか?
そして、シーケンサ内部にニーモニックを機械語に変換するプログラムの
ようなものがあり自動的に変換されているのですか?
申しわけありませんが あわせて教えていただけないでしょうか?