いつもお世話になっております。
現在Pc対Plcの通信にシリアルケーブルを使用したプログラムを作成しております。
以前このカテゴリでUSBを使用した通信制御の方法を拝見したのですが、Pc側はUSBのTYPE-Aで、Plc(相手側)がD-Sub9ピン仕様のシリアルケーブルを使用しても、通信は可能かご存知の方はいらっしゃいますでしょうか?また、そのときのデバイスへの処理などは、Commコントロールを使用するのか、それともロジックで行うのか、またこの手法の短所などご存知でしたら教えてください。
開発環境:WindowsXPProfessional
:VisualBasic6.0
実行環境:WindowsXPHome
No.4ベストアンサー
- 回答日時:
三菱の通信実績もあります。
でも三菱のPLCって通信遅いんですよね。
FX・FX3でしかやってませんが、CPUがメインと通信が兼用なので
プログラム負荷に影響されて通信がメチャメチャ遅くなるので
三菱PLCは嫌いです。
で、三菱だけじゃないですが
PLC側の問題として通信バッファーがいっぱいになると
通信が止まる現象があります。
ですから、弊社では特殊なプロトコルを作って回避してます。
(うちのSEが経験上見つけた方法です)
で本題に戻ると
参照されているUSBを汎用的なシリアルデバイスとしてハンドリングする
ドライバーのようですが、使える可能性がありますが
仕事には使いたくないところです。
フリーのドライバーを使うと責任の範疇があいまいになるので。
USBなんか使わなくても「PCIシリアル増設」使うほうが安心ですよ。
最近弊社でもUSBはやめて、PCI増設に変えてます。
http://www.iodata.jp/prod/mobile/serial/2004/rsa …
http://www3.contec.co.jp/B2B/ConIWCatProductPage …
距離が遠い場合はイーサ経由の仮想COMが可能な物使ったり。
http://www3.contec.co.jp/B2B/ConIWCatProductPage …
通信関係ではここがなかなかいいもの出してます
http://www.moxa-jp.com/
Pesukoさん、いつもご回答ありがとうございます。
仰るとおり、業務上の不具合対応を考えるとフリーのドライバはアフターメンテで痛い目に遭いそうですね・・・
やはり当面はシリアルイメージでの通信を継続するしかないようですね・・・
Contecのサイトはよく閲覧していて、Comボードも実は実装経験があります。イーサ経由の仮想Comは面白そうで、予算に余裕があれば試してみたいですね。
MOXAのサイトもご紹介くださってありがとうございました。
いろいろアドバイス頂き、本当に感謝致します。
No.3
- 回答日時:
>実は以前組んだプログラムで、オープンしているにも関わらずCommコントロールからデータの授受が全くできなくなる現象を経験してから
弊社でもVisualBasic6.0+XPでIOデータのUSB-RSA**を使ってPLCと
Commコントロール通信をするシステムを5台ぐらい作りましたが
数年たった現在でも問題発生は聞いてません。
>データの授受が全くできなくなる現象
別の要因ではないですか?
PLC側の問題がたまにあります。
プログラムの作り方でフリーズしたようになります。
Pesukoさん、またのご回答ありがとうございます。
PLC開発実績があるんですか~。私も普段PLCのロジック転送でUSB-RSAを使用してますが、PCとの通信実績がなかったので、機会があればやってみたいと思います。通常はPC-PLC間通信はオンボードのCOMポートを使用していたので、その差分もあるかもしれません。
ちなみにですが、
使用PLC:三菱電機製Q00CPU
プロトコル:MELSECコミュニケーションプロトコル
です。
無手順の方がいいのでしょうか・・・
No.2
- 回答日時:
>デバイスドライバを使用せずに、純粋なUSBデバイスとしてシリアル通信を行えたらいいなと思っているのですが
ということはデバイスドライバーを自作するということと同じですよね。
シリアルのハンドラ部分を作らずに自作のネイティブなハンドラを作るということで
できないことは無いでしょうけど、ドライバー作るだけのスキルが無いと無理なことと、VBではかなり難しいように思います。
Pesukoさん、再度ご回答ありがとうございます。
正確に言うと、他の方が作成された汎用USBドライバなるものを使用してAPIを介してコーディングするようなのです。確かVisualBasicカテゴリで過去スレに回答された方だったと思うのですが、その方の提示された参考サイトを補足でお伝えします。もしお時間がありましたら、ご覧いただけますでしょうか?
恐らく既製品のUSBシリアルケーブルは、PnPでデバイスドライバは自動的にインストールされてしまうと思われますが、インストール済みドライバを無効にした状態で、汎用USBドライバをインストールして動作させられるか、などの実績がないかなぁと思っております。若干質問の主旨から外れていないか心配ですが、解決できれば幸いです。
No.1
- 回答日時:
>Pc側はUSBのTYPE-Aで、Plc(相手側)がD-Sub9ピン仕様のシリアルケーブル
USBシリアル変換ケーブルのことだと思いますが、
この場合ドライバーがUSBではなく仮想シリアルポートとして
割り当てますから、プログラムからは通常のシリアルとして操作します。
留意点はCOMポートアサインが何かの拍子(異常終了等)で変わることがあり
そのときにはドライバーのCOMナンバーを手動で変更しないといけないことがあります。
この回答への補足
余談になりますが、
実は以前組んだプログラムで、オープンしているにも関わらずCommコントロールからデータの授受が全くできなくなる現象を経験してから、USB通信に非常に興味を持っております。但し相手方のインタフェースはD-Subしかないので、このような変換ケーブルを使用することを予想しております。
メーカー配布のデバイスドライバを使用せずに、純粋なUSBデバイスとしてシリアル通信を行えたら、Commコントロールを使用せずに冒頭のトラブルも起きないと考えています。
Pesukoさん、ご回答ありがとうございます。
仰られるとおり、変換ケーブルになります。別の業務でI-O DATA製の変換を使用したことがあるのですが、この時は仮想ComポートとしてPnP認識してて、VisualBasic的にはComポートの制御になりました。
ちょっと質問内容に言葉が足りなかったのですが、メーカー配布のデバイスドライバを使用せずに、純粋なUSBデバイスとしてシリアル通信を行えたらいいなと思っているのですが、可能かどうかご存知でしょうか・・・?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) 品質の良いUSB Type-Cのハブ(型番、もしくはメーカー)を教えてください。 5 2023/07/23 13:44
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- ルーター・ネットワーク機器 通信量や通信量による影響を計算し想定できますか 3 2023/01/13 09:07
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- マウス・キーボード 【マルチペアリングのキーボード&マウスのセット】 1 2022/10/30 00:20
- ドライブ・ストレージ RS232C 通信でエラー(受信が正確でない)がでます。どなたか教えてくださいませ。 11 2022/09/03 11:53
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- その他(パソコン・周辺機器) USB変換アダプターについて、よくわかりません。 ロールアップピアノを購入する際、USBケーブルが付 4 2022/03/26 11:29
- その他(スマートフォン・携帯電話・VR) iPhone SE を使ています、ボイスメモのPC保存方法を教えてください 2 2022/11/12 09:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Lotus Notesのカレンダーに外部...
-
IPアドレスの競合について
-
VBでUSB制御プログラム作成する...
-
Designer.vbは直接コードをいじ...
-
vba 時間の引き算 例えば 15:00...
-
Windows上のプログラム。「予め...
-
アウトルックが起動しているか...
-
IT初心者です 仕事で、vb.netで...
-
「読み込み違反」が起きたとき...
-
Visual Studio 「AnyCpu」について
-
Windows PowerShellでC言語を実...
-
FORTRANの課題
-
VBSから別のVBS起動するとき変...
-
C++初心者です。 debug asserti...
-
う~ん…。
-
MSDOS(バッチファイル)でプロセ...
-
vbaでPDFファイルが印刷されない
-
ManagementClassが見つからない。
-
Visual Studio 有料と無料比較
-
VB2010で作成したdllからtlbが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでUSB制御プログラム作成する...
-
DataGridViewのサンプルコード...
-
MSCommによるCOMポートの制御
-
ミキサーの情報の取得方法を教えて
-
vb.netでCreateEventの引数
-
Visual Basicでの平方関数について
-
IPアドレスの競合について
-
USBシリアルケーブル仕様の通信...
-
COMポート通信で断線
-
vbscriptでの書き方
-
Android Studio で実行 できま...
-
NECのDINA通信をVBで実現
-
Lotus Notesのカレンダーに外部...
-
VBSでサウンドデバイスの変更方...
-
PIC18F2520を用いたLCD制御につ...
-
VB4.EXE 2つで 1つのプリン...
-
ポケベルを呼び出すプログラム...
-
vba 時間の引き算 例えば 15:00...
-
アウトルックが起動しているか...
-
Visual Studio 「AnyCpu」について
おすすめ情報