プロが教えるわが家の防犯対策術!

現状、仕事でFA(ファクトリーオートメーション)をしております。
FAの電気制御の設計から客先納品までのすべてを行っております。

ここ数年でFA装置の上位にPCを置いて、PCのGUIから操作しPLCへシリアル通信などで
操作指令を出す案件が非常に多いです。
今まではPC側のソフト設計とのデバイスの割り付け打ち合わせなどを行い
設計制作をしていただいております。

GUIからの操作が非常に複雑なものもありますが、簡単な物もかなりあります。
例としてはGUIからサーボの移動データ入力、レシピ選択、生産管理(ロギング)、AD値のグラフ表示
など・・
簡単な物だけでも自作できればと思い相談させていただきます。

1.上記の内容は制御系と言われる分野になるのでしょうか?

2.プログラミング言語で適している言語は何がいいのでしょうか?

プログラミング言語については疎いため、的を得ていない質問かもしれませんが
ご助言いただければと思います。
宜しくお願いします。

A 回答 (3件)

>>C#とC,C++は言語間で互換性があると言う認識でいいのでしょうか。


違う言語で開発されたソフトでデータの共有、処理の連携なども
可能なのでしょうか。

レジPOSの開発では、.NET Frameworkを使って行い、C#とC++との連携をしていました。
ですから、データ共有も可能ですし、C#からC++の呼び出しも可能です。
でも、連携については、プログラミングの難易度が上がります。

>>ネットで検索してみたところ、C#が入門としてはおすすめとの
記載もありましたのでC#で勉強をしてみたいと思っておりました。

入門としてC#は簡単な部分もあるのですけど、C#は、C、C++やJava、Rubyなどの言語のいいとこ取りをした欲張り言語です。汎用機言語でいえば、PL/Iみたいな言語ですね。
なので、C#をきちんと理解して、使いこなすには、初心者には、オブジェクト指向とかラムダ式とか、けっこうハードルが高い部分があります。

個人的には、プロとしてのプログラマなら、C言語とアセンブラは必須科目で、その後、C#を学ぶのが良い気がします。
でも、「使えるプログラムを即作りたい!」ってなると、「初めてのC]じゃあなく「初めてのC#]も有りかもしれません。

>>C#を勉強して、後にC,C++なども勉強する場合も出てくると思いますが
基本的な部分などで互換(構文?)はあるものでしょうか。

C#とC++では、言語の文法に差がありますので、互換性はあまりないと思います。
    • good
    • 0
この回答へのお礼

lv4u様。
大変ご丁寧な解説ありがとうございます。
最初に接する言語の選択に迷っておりました。

C言語から勉強をしてみようと思っております。
仕事柄、PICなども使う用途がありますのでC言語とアセンブラを
習得すると仕事の幅も広がる可能性もありますね。

ある程度C言語が理解できるようになってからGUIの
制作も手を出せればと思っております。

専門家の方からの助言を頂き、大変参考になりました。
ありがとございました。

お礼日時:2016/07/29 00:14

1、


Yes

2、
組み込み機器に付属のラダーシーケンスプログラムでもよいし、VB(VBA含む)でC(C派生言語含む)もよい。
I/Oとプロトコルが判明していてそれを制御できる言語であれば何でもよい。
最終的にはクライアントが望む形で提供できるものがベスト。

・・・
汎用のロガーソフトや制御ソフトなんかもあるので上手に選択しましょう。
    • good
    • 1
この回答へのお礼

有識者様の助言、大変助かります。
プログラミング言語の入門としてC#などが良いとネットで
よく見かけるのでCの派生と言う意味では問題ないでしょうか。
色々な制御機器の取説や、制御ソフトなどを調べて
検討していこうと思います。
ありがとうございました。

お礼日時:2016/07/28 15:10

>>.上記の内容は制御系と言われる分野になるのでしょうか?



そうです。

>>2.プログラミング言語で適している言語は何がいいのでしょうか?

かなり早い応徳スピードを要求される処理であれば、Cとか、C++でしょう。

ただし、CやC++でGUIを作るのはちょっと大変なので、それらはC#が良いでしょう。
スーパなどにあるPOSレジも、C#で開発されているものがあります。
また、ある制御系っぽい大規模システムのプロジェクトでは、スピードが要求される部分はC言語で、ユーザと対話する部分はC#で作られていました。

C#は、フレームワークの充実、LINQなど、言語の機能拡張などにより、記述が面倒だった処理が簡単に書けるようになったり、複数タスクを同時にコントロールするマルチスレッドの記述が容易にできるようになりました。
複数タスクを同時処理する制御系で使いやすくなったと思えます。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
応答スピードが高い処理が必要になることもあります。
例えばADデータのグラフ描画や、画像処理判定(高速製造ライン)
などの判定ではCやC++が理想の言語のようですね。

回答者様のお話でGUIはC#で制御はC,C++とのお話ですが
C#とC,C++は言語間で互換性があると言う認識でいいのでしょうか。
違う言語で開発されたソフトでデータの共有、処理の連携なども
可能なのでしょうか。

ネットで検索してみたところ、C#が入門としてはおすすめとの
記載もありましたのでC#で勉強をしてみたいと思っておりました。
C#を勉強して、後にC,C++なども勉強する場合も出てくると思いますが
基本的な部分などで互換(構文?)はあるものでしょうか。

質問ばかりで申し訳ありませんが、お時間が有る時に
ご回答いただければ幸いと思います。
宜しくお願いします。

お礼日時:2016/07/28 18:23

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