• 締切済み

JAVAで制御プログラムをつくれますか?

いつもWindowsでVCで制御プログラムを開発しています。 JAVAで開発すると機種依存がなく開発できると聞いていますが、本当でしょうか? 基本的なことですが、だれかおしえてください。

みんなの回答

  • nieve
  • ベストアンサー率51% (14/27)
回答No.2

私は、制御系(制御するのもによる)のプログラムをJAVAで作成することは不可能では無いと思います。 また、「JAVAで開発すると機種依存がなく開発できる」というのは、正しくもあり間違いでもあります。 (J2SEをターゲットに作成したAPは、J2MEでは動かない… 結局、Platformに依存します。JVMの実装やVersionにも依存します) しかし、RS232Cの制御はJava Communications APIで出来るようです。 http://java.sun.com/products/javacomm/downloads/index.html Java Communications APIは、“platform-independent”らしいです。 さらに、“-- 2.0.3 for Solaris/SPARC, and 2.0 for Windows and Solaris x86 -- are available” らしいです。 もちろんデバイス名は、UNIXなら“/dev/term/xx”、Windowsなら“COM1”等となるのでこの辺りは設定にするなど必要です。 また、“support for RS232 serial ports and IEEE 1284 parallel ports. ”とのことですがそれだけでは制御系のプログラムは作れません。 たとえば、モータの制御を考えてもリアルタイム性は必要でWindowsで動くSunのJRE等では、リアルタイム処理は出来ないと思った方が良いと思います。 しかし、調べてみると、JAVAで制御系(Embedded)のプログラムを作成するための取り組みは色々あります。 情報家電のための分散ソフトウェアプラットフォームの構築(JCGプロジェクト) http://www.ertl.jp/ITRON/JCG/html-manual/section1.html JTRON仕様には、1997年末に仕様が公開され、 JTRON 1.0仕様のものは既に商品化されています。 リアルタイムJavaパネルコンピュータ http://www.aidonic.co.jp/japanese/j.htm スレッドスイッチング1マイクロ秒以下の超高速スレッドを提供し、J2MEランタイム環境をサポートしているようです。 結局、何をプログラムにさせるのかで言語やプラットフォームは適材適所で選べばよいと思います。

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

開発している制御プログラムがどういうものかわからないので答えにくいですが、 おそらくできない、と思います。 Javaでは機種依存がないというのは、 機種の違いを吸収する仮想マシンがそれぞれの機種に対して作られているからです。 Java仮想マシン(JVM)には、 グラフィックスや通信など、かなり広範なAPIが用意されています。 しかし、ハードウェアを操作するものはありません。 そういうのがあったとしたら、機種依存になってしまうからです。 Javaでハードウェアを操作したい場合、 その部分だけC言語などで作ります。(そういう仕組があります) その制御プログラムが、 TCP/IPだけを使うものならば可能かもしれませんが、 シリアルポートやパラレルポートを使うものだった場合、Javaではできません。 (肝心の部分はCで書くことになって意味がありません)

関連するQ&A