- ベストアンサー
機械制御に適したOSと言語
12年ほど前に、趣味と実益を兼ねて、重量選別機を作りました。 制御は、PC9801でOSはMS-DOSで、コンパイルはターボアセンブラを使っています。 一部壊れ、部品もなくなりつつあるので、今回改良をしようと思います(機械的部分も含め)。 そこで、OSはウィンドウズ系、言語はDelphiの組み合わせを考えていました。 しかし、制御用ボード会社の方から、ウィンドウズ系では、リアルタイムに正確なことが できません、とアドバイスいただきました。 RTLinuxやDOSがお勧めとのことでした。 当方、RTLinux、PC-ATのDOSに関しては全く知識がありません。 また、Linuxもインストールがようやくできる程度の知識しかありません。(これから勉強しようと思いますが) どちらにしても、一からの勉強になると思いますので、 完成できるかどうか不安です。 そこで、将来性も考えた上で、機械制御に適当だという組み合わせを教えて下さい。 また、それらの参考書、サイトを紹介いただければ幸いです。 (RTLinuxの公式サイトは名前が変っていますが、将来、先細りということでしょうか?) 機械の条件 時間的には1ないし10msec単位 入力はアナログ入力1ないし2点 デジタル入力2ないし12点 デジタル出力6ないし16点 よろしくお願いします。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
先ず市販されているRTOSは高価ですよ。 QNX・VxWorks・OS-9000あたりでしょうけど、そろえると100万円近くしました(最近は知りません) WindwosRTもベンダーから出てますけど、解説が英語でとっつきにくいですね。 NO1さんのシーケンサに賛成ですが間に合うかなあ、案外FX遅いので10ms以下特に1msは不可能だと思います。 各メーカーの最高速版のシーケンサを使用しても1msオーダーは辛いでしょうね。 弊社で重量計測しているのは、PC-DOS上でアセンブラで組んだものです。 シーケンサでは間に合わなかったのでPCでやってます。 そろそろPC-DOS2000の供給が切れるかも知れない事を考えると若干恐いのですが。
その他の回答 (8)
- aton
- ベストアンサー率47% (160/334)
RTOSのことは詳しくないのですが,I-TRONなどはどうなのでしょうか? TOPPERSというフリー版が存在するようなのですが..。 http://www.toppers.jp/ TOPPERSプロジェクト/INDEX それから,参考URL二番目のページには,リアルタイム制御に使えるかどうかは わかりませんが,FreeDOSというDOSのフリー版も紹介されていました。 http://www.sanritz.co.jp/realtime/rtoslink.htm Link of Operating Systems
お礼
TRON には興味を持っております。 ただ、まったくの素人なので、どのように勉強して 行けばよいのかもわかりませんし、近くにTRONに関し て知識のある方が皆無です。 それで、踏み込めないでいます。 フリーDOSについては、少し検討してみようと思います。 ありがとうございました。
- terra5
- ベストアンサー率34% (574/1662)
DOSならそれほど大きな違いはないでしょうから、DOSでの作成をおすすめします。 RTOSは使ったことがないと、覚えることがかなりあって大変だろうと思います。 (VxWorks,pSos+,OS-9は経験有) RTLinuxはlinux知っていれば少し楽でしょうけど。 ただ、将来性というとどうでしょうね。 DOSそのものと、DOSが動くハードウェアがこの先どうなるか。 RTOS使えば、それが動いているハードウェアなら比較的楽に移植できそうに思えますが。 これもRTOSが生き残っていればになりますが。 WindowsやLinux等はそのままではリアルタイム性がないので問題外ですね。 確かWindowsは動作精度的には10msもなかったと思いますし、いつ長時間(10msと比べて)待たされるかわからなかったと思いますし。 あと素人でもボードコンピュータ使う人はいますね。 秋月電子通商なんかH8,Z80等いろいろありますし。 http://akizukidenshi.com/
- 参考URL:
- http://akizukidenshi.com/
お礼
>覚えることがかなりあって大変だろうと思います。 そのようですね。 そこで、今躊躇しております。 やはり、DOSが手っ取り早いでしょうか。 秋月のサイトは時折眺めております。 いろんな物があって見るだけでも楽しいですね。 アドバイスありがとうございました。
- Pesuko
- ベストアンサー率30% (2017/6702)
アセンブラが理解できるならそれほど難しいものではないです。 ただし、教えてくれる上級者は必要です。 PLC独自の癖があって、PCプログラマーはたまに、はまります。 計算・関数・データメモリは持ってます。 良い所は見かけ上のOSが無いので電源ON即実行可能。 電源OFFに制約が無いことです(もちろんデータの書き込み時にOFFはいけませんが) またRT-OSのように作成者が悩むことなくリアルタイム性が保障されるのです。 プログラム作って開発環境からスキャンタイムの計測すれば数秒で表示されます。 辛い所 ユーザーインターフェースが無いので、制御盤のスイッチや必要な場合タッチパネルを追加しないといけない。 出力メディアが少ないので、他にデータを移行するのが少し面倒。 でも最近はタッチパネルが安くなり、タッチパネル側にCFカードスロット等が実装され、PLCがCFカードを利用できるようになりました。 またイーサネットも徐々に普及しつつあります。
お礼
たびたびの回答、恐れ入ります、ありがとうございます。 実は、この機械は最初クイックベイシックで制御しようと製作しました。 (当時、N88BASICとDBaseコンパイラしか、使ったことが ありませんでした。) ところが、秒単位の制御しかできないことがわかり急きょ他を検討したのですが、結局アセンブラということになり、 特急の付け焼刃でアセンブラを学習して、完成しました。プログラムタイマーを作るのに、INT21Hを利用 したために、10msec単位の制御となりました。 できればもう少し、小さくできたらと思っています。 (10msecでも一応仕事にはなっています) 田舎なもので近くにシーケンサに詳しい方が少なく、 二つ隣の市に、数人、達者な方がいると聞きましたが、 教えてくれるかどうかは、わかりません。 いっそ、その方に、制御部分をお任せする方が安上がりで 早いでしょうかね。 日が暮れて道なお遠いといったところです。 今後ともよろしくおねがいします。
- Pesuko
- ベストアンサー率30% (2017/6702)
このような案件が年に数回来るのでその度に実証してるのですが、松下電工最速のFP2SHを利用して0.5ms~2ms程度にスキャンタイムに変化がある為に1msを保障できない事と、そのスキャンが必要な場合の膨大なデータの取り扱いがPLC実装のメモリをすぐオーバーしてしまうのです。 10msでデータが少ないのなら十分に機能しますよ。 下のランクのFPシグマでも5msでスキャンしてましたから。 FPシグマならアナログ入力もあります。 開発環境もFP-WINだけですし。 1セット5万円程度かな RTLinuxは使ったことがありません。
お礼
再度、回答ありがとうございます。 シーケンサは、今まで興味がなかったので、あまり知識が ありません。素人でも、簡単に習得できるでしょうか。 計算したり、結果を表示したり、累積などもだしたいのですが、 可能でしょうか。
- matyrcry
- ベストアンサー率47% (101/213)
ルネサステクノロジ(旧日立、三菱) のH8かM16Cを使ったマイコンボードで 処理させてはどうですか? 1msならタイマ割り込みで十分可能です。 一応RTOSも積めます。 (うちはmispoのnortiでやってます) オークス電子が夏休み工作キットが出してたので そのあたりから情報収集するといいかも。
お礼
今回は、ボードコンピュータは使用しない方針です。 機会があったら次回、H8などにチャレンジしようと思います。 ありがとうございました。
- mitoneko
- ベストアンサー率58% (469/798)
#3さんの回答を読んでいて・・・質問の条件を読み違えていたことに気がつきました・・・10msec単位しかみてなかったですm(__)m 1~10msec単位のオーダーだと・・・ちょっと苦しいですね。 でも、このクラスの応答速度要求されると、汎用PCと汎用OSの世界でも苦しいような気がします。 結局、ボードコンピュータとアセンブラの世界かしら?こうなると・・・という気がしてきました。(MS-DOSにアセンブラなら、まぁ、これに近い世界かもしれません。)
お礼
ボードコンピュータは、なるべく避けたいです。 あまり素人向きでないように思います。 可能な限り、たくさんん世の中に出ている汎用品をくっつけて、 作ろうと思います。 ありがとうございました。
普通にDOS or RT LinuxとC/C++/ASM/System C/VHDL or Verilogでいいんじゃないですか。 OSでWindows系を薦めなかったそうですが、RT処理に適したWindowsもあるでしょうが、VxWorksなども含めてRT-OSなんて個人で使うのに買うのもなんですし、RT Linuxか、OSなしの選択しかないでしょう。 PC98ですむくらいなら、オンボードのCPUかFPGA内のCPUにRT OS乗っけて余力でデータ処理させればOKで、デバッガ用にRS232CかUSBのI/Fでも付けておくといったところでしょうか。
お礼
RTLinuxが選択肢中、お金もかからず、最良ということ でしょうか。アドバイス、ありがとうございました。
- mitoneko
- ベストアンサー率58% (469/798)
システムの規模がよくわかりませんが、私が業務でこのシステム組むなら、機械制御部分には、パソコン使わないです。素直にシーケンサを利用するでしょう。機械条件の規模からすると、三菱でしたらFXシリーズか、A1Sあたりでしょうか・・・。 機器制御に関しては、それ専用のシステムですので、リアルタイム性、安定性に関しては問題はほぼ無いですし、プログラムも、とっても組みやすいです。 ただ、欠点は、機器制御に特化しているので、データ処理に関しては、貧弱ということでしょう。(データベースから品名リストを検索し、その品名に合わせて選別重量を自動で設定し・・・となるときついです。) そこで、データ処理がある程度必要な場合は、シーケンサとパソコンをリンクさせ(シーケンサに、イーサネットで接続できるモジュールや、RS-232Cで接続できるモジュールなど多々あります。)、データの処理に関しては、パソコンでやらせ、その情報をシーケンサに送るということもよくやります。 適材適所という意味では、パソコンのみでやるより、このほうが組みやすいかと。
お礼
やはりこの程度だと、シーケンサになるのでしょうか。 この分野も素人ですので、一から始めることになります。 どうせ一からなら、パソコンでと思ったのですが・・・。 シーケンサも検討することにいたします。 ありがとうございました。
お礼
シーケンサは案外遅いのでしょうか、不安ですね。 >供給が切れるかも これまた不安材料ですね。 市販のRTOSはご指摘のように凄く高いようなので範囲外といたします。 RTLinuxの学習は難しいのでしょうか。 経験からのご指摘、とても参考になります、ありがとうございました。