- ベストアンサー
FAの設計の仕事について
現在、就職活動中の学生です。 私はFAの設計の仕事に興味があるのですが、設計において使うプログラム言語について質問があります。 産業用ロボットや工作機械などFA関係の開発や設計を行っている会社で、 A社は、ラダー言語 B社は、C/C++言語 を主に使うと言っていました。 産業用ロボットや工作機械などは、シーケンサで制御を行い、シーケンサはラダー言語が使われていると聞いたのですが、B社がC言語を使うというのはどういう訳からでしょうか? 説明会の話では、同じような業務内容と感じたのですが、この2社の設計は違う意味の設計なのでしょうか? また、FAの分野では、プログラムを組む部分というのは、シーケンサ以外にもあるのでしょうか? どなたか詳しい方がいらっしゃれば、回答よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
C言語を使う理由ですが、私の経験上、シミュレート工程が多く比較的に大規模なFA施設の会社で利用されているように思います。もちろんシュミレートなどは専用のラップトップマシンなどでも可能なのですが、高価ですし、一般的なWinPC上で行うほうが、安上がりです。 また、C言語を利用するような会社は、ラダー設計などの業務をを外注に頼る場合が多いような傾向があります。 ちなみに規模にもよりますが、日立系はCを、NEC・東芝系はラダー言語を使う場合が多いようです。 最後の質問でFA業務のシーケンサー以外の仕事について・・とありますが、シーケンサーのロジックを組む仕事以外に、そのシーケンサーを組むためのソフトを開発する所もあります。この場合は、ほぼC言語なので、ご質問されているCを扱う会社は、このシーケンサーソフトさえも開発するような会社なのかもしれませんね。
その他の回答 (4)
- nfushi
- ベストアンサー率31% (39/122)
ラダーはプログラムではありますが、プログラム言語かと言われると少し躊躇します。 ラダーはuakhさんが言っておられるように電気回路そのものです。 Cやjavaなどの高級言語とは一線を画します。 高級言語っぽい書き方でラダーを書く方法も昔はあったようですが、浸透していないところを見るとやはり性格が違いすぎるようです。 IEC61131などで統一を図っているようですがこれも困難しているようです。 ちなみにこの規格内でもST言語(ストラクチャード・テキスト)というものがあり、高級言語っぽい書き方ができるようです。 ラダーを少し知りたいのでしたらWeb上で勉強できるサイトがあるので紹介しておきます。
お礼
回答ありがとうございます。 参考になりました。
- gyrocompas
- ベストアンサー率23% (24/104)
参考までに 私が以前(80年代前半--古いねえ)に関係していたプロジェクトは 主に、工場(鉄鋼とか鋼管の製造)の生産ラインを制御するもので 産業用ロボット、シーケンサは下位制御装置と言っておりました 私の担当は、プロセスコントロールと言われるもので 当時はミニコンといわれた規模のコンピュータを使用します。 これは、生産ラインをゾーンという区画に分割して 製品を個別に追跡し(トラッキングとよばれていた)、 加工のための生産指令を下位制御装置に送信し 生産実績を収集するというものです。 このミニコンの言語はフォートランを改造したものでした。 また、下位制御装置のほうはアセンブラが多かったような気がします 下位制御装置の担当者は、現場では、いわゆる「ハンドアセンブル」 でパッチをあてておりました。 (今は恐らくノートパソコン等でクロスアセンブラーを使ってプログラムを 生成し、下位制御装置にロードするという方式でやってると思いますわ) ちなみに、当時はC言語は、こういう現場では使われてなかったですな (UNIXを知らない者も多かった) 今、思えば、フォートランよりCのほうが楽だわ。
お礼
回答、ありがとうございます。 A社もB社も、使用言語にアセンブラについては出てきませんでしたが、主ではないだけで、使っているのかもしれません。
- kent85
- ベストアンサー率52% (38/73)
同じような業務内容といっても得意・担当部分が異なるのでしょう。 規模がでかくなるにつれて、MMI監視/指令部分や 統合制御DBサーバみたいなところとかも出てきますよ。 ロボット制御だと特殊な簡易言語でIF文の嵐とか知人が言ってました。 シーケンサ(PLC/DCS)なら、ラダー、FBD、ST、SFC、その他の言語があります。ニーモニック(ASM)はもうあまり出てこないでしょうけど。 # No.1さんと似てますが昔DCSの中やその周辺で生息していました。 # メインの顧客は鉄鋼でした。
お礼
回答していただき、ありがとうございます。 A社に比べると、B社は規模が大きいようなので、MMI監視/指令部や統合制御DBサーバのようなものがあるのかもしれません。 制御系のプログラムは、やはりIF文を多く使うのですね。
- equinox2
- ベストアンサー率48% (321/660)
産業用ロボットやNCをラインとしてまとめて稼動させる場合には、シーケンサやその上位にコンピュータを使用しますが、産業用ロボットそのものの開発にはC/C++(や一部にアセンブラ)が一般的ではないでしょうか。 また、シーケンサもラダー以外の言語も使用できる機種があります。 #以前の本職は、産業用ロボットやNCなどをまとめたラインを制御するシーケンサの上位のPCの開発でした・・・ (使用言語はVB、Cなど)
お礼
回答ありがとうございました。 シーケンサは、ラダー以外の言語も使用できるんですね。 ただ、A社の場合、使用するプログラム言語がラダー言語のみと言っていました。 ロボットにおいては、 他社からアームを買い、動作させるプログラムとアームの先端部分の設計と開発を自分のところでやっているそうです。 規模が小さいから、C言語などは必要ないってことでしょうか……
お礼
回答していただき、ありがとうございます。 確かに、B社はシーケンサの設計・開発を行っています。 A社に比べて、大規模なものを業務としている印象を受けました。 私は、C言語を多少勉強しているのですが、JAVAやVBなど他の言語でも、C言語と似た部分は多いと感じました。 一般にも、一つ言語を覚えれば、他の言語もすぐ扱えるようになると言われているようです。 ただ、ラダー言語は、WEB上で調べてみると、C言語などとは随分違うようで、回路図のようでした。 例えば、シーケンサがラダー言語ではない他の言語で作られるようになったとき、ラダー言語のみを扱っている会社は対応できるのでしょうか?