シーケンサによる232C通信の方法

このQ&Aのポイント
  • 三菱シーケンサ(A1S)を使用してバーコードリーダとの232C通信の設定方法を知りたいです。
  • バーコードで読み取ったデータをシーケンサのFROM命令で読むことはできましたが、読み込み指令のトリガをシーケンサ側から行う方法が分かりません。
  • キーエンスのSR-500シリーズを使用した無手順の232C通信方法について教えてください。
回答を見る
  • ベストアンサー

シーケンサによる232C通信の方法

三菱シーケンサ(A1S)にてバーコードリーダと232C通信をしたいのですがよく分かりません。計算機リンクを取り付け接続した後通信の設定を合わせました。バーコードで読み取ったデータはシーケンスのFROM命令で読むことができました。但しこれは手でバーコードリーダのスイッチを押した状態でです。この読み込み指令のトリガをシーケンス側から行いたいのですがよく分かりません。メーカーに聞いてもコマンドを送信するだけですと簡単に言うのですがコマンドの送信方法が分からないのです。単純にTO命令で書き込めばいいのでしょうか?書き込みフォームもよく分かりません。マニュアルをみたのですがパソコンと232C通信する方法ならかかれていました。TOで書き込む場合はASCII変換をするのでしょうか?それとももっと違う方法なのでしょうか?バーコードリーダはとりあえずキーエンスのSR-500シリーズです。通信は無手順でよいのでしょうか?232C通信は使ったことがないので詳しいかたいたら教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • lumiheart
  • ベストアンサー率47% (1097/2287)
回答No.2

>ページを確認したのですがまだまだ知識不足で専門用語がよく分かりませんでした 通信用語の基礎知識 http://www.wdic.org/w/WDIC/RS-232C RS232C 新プロトコルハンドブック http://www.yfcbookshelf.com/computernetwork's%20books7.htm 高価ですが USB-RS232C変換器使用実績 http://www.system-brain.com/bbs/kaigi2/kaigi/thread_26275.html http://www.system-brain.com/bbs/kaigi2/kaigi/thread_24587.html 機種により使えたり使えなかったり VISTA問題 http://www.system-brain.com/bbs/kaigi2/kaigi/thread_32423.html http://www.system-brain.com/bbs/kaigi2/kaigi/thread_24114.html 実際に使えたと言う報告はまだ少ない VISTAを使用したなら使えたにしろ使えなかったにしろ報告いただければ幸いです Win98からXPに移行する時FA業界では2年以上要しました 旧型PLC対応の為DOS版ソフトを使用しなければならないと言う事情もありましたが

takedono
質問者

お礼

ありがとうございます。色々やってみて何とか動くレベルになりました。大変なのはシーケンサに取り込んだデータ処理なのですね。この辺は数をこなすしかなさそうです。パソコンはXPにする予定です。変換ケーブルはArvelを購入しました。いろいろとありがとうございます。

その他の回答 (1)

  • lumiheart
  • ベストアンサー率47% (1097/2287)
回答No.1

http://okwave.jp/qa3624918.html この続きでしょうか? QJ71C24の場合ですが http://www.system-brain.com/bbs/kaigi2/kaigi/thread_14952.html 似たようなものです 但し、A1SにはG.OUTPUT命令は有りませんので其処だけTO命令に替えればOK 更にQ2ASですがA1SJ71QC24 http://mori.nc-net.or.jp/EokpControl?&tid=138200&event=QE0004 http://mori.nc-net.or.jp/EokpControl?&tid=138322&event=QE0004 http://wwwf2.mitsubishielectric.co.jp/melfansweb/plca/index.html 計算機リンク/マルチドロップリンクユニットユーザーズマニュアル(計算機リンク機能・プリンタ機能編) SH(名)-3495-L(1/2) (約4,450KB) SH(名)-3495-L(2/2) (約2,033KB) A1SJ71UC24 SH3495l_2.pdf 195 / 212 付6 計算機リンクのプログラム例 このページのプログラムを何も考えず丸写しして実行 その送信電文をラインモニタで受信してみましょうね http://miechan.jp/?gclid=CJjS44iB-5ACFQSGbgod13Q22g 本当は専用のが良いのですがパソコンでも代用可能 http://www.vector.co.jp/soft/winnt/hardware/se337098.html http://www.vector.co.jp/soft/winnt/hardware/se411276.html

takedono
質問者

補足

おせわになります。takedonoです。前回に引き続き回答ありがとうございます。教えていただいたページを確認したのですがまだまだ知識不足で専門用語がよく分かりませんでした。一応マニュアルは一式持っていたのでサンプルプログラムを見ながら勉強します。ラダーは10年近く組んでいたのですが通信はやったことがないのでさっぱり分からないのです。もっと勉強が必要ですね。頑張ります。それともう少し聞いてみたいのですが、会社とは別に家用にノートパソコンを購入してさらに勉強しようと思うのですが、最近のパソコンは232Cのシリアルポートがないのですね。USBの変換でも三菱シーケンサFXやA、Qなどと問題なく接続できるのでしょうか?GOTとも接続したいです。又、最近はOSかVISTAに変わってきてますがXPが無難でしょうか?三菱のホームページからVISTAにインストールする方法のマニュアルとかを一式DLしたのですが、パソコン暦に関しても仕事で使わされていただけなので、興味を持って自分で購入して家で使い出して1年位なので実質初心者です。このあたりは昔の経験とかのなくどのようなモデルを購入すればいいのかよく分かりません。XPで232Cポートが標準で搭載されているモデルだと機種が限られてきますし。お勧めの仕様とか参考に教えていただけないでしょうか?よろしくお願いいたします。

関連するQ&A

  • バーコードリーダーのデータをシーケンサーへ読み込む

    初めてご質問をさせて頂きます。アドバイス宜しくお願い致します。 質問内容 1)シーケンサーの設定について(RS232C) 2)具体的なシーケンスプログラム 機器構成 1)シーケンサー OMRON CPM2A 2)バーコードリーダー エフケイシステム Z-3010 http://www.fksystem.com 通信手段 RS232C 無手順モード 動作 同種のAとBのバーコードをバーコードリーダーからシーケンサーへ読み込み、読み込んだAとBのデータを比較し、OKの場合は ”青” NGの場合は ”赤”のランプを点灯させる。この様なシステムを検討しております。 OMRONのWebからシリアル通信用命令のマニュアル・無手順通信のマニュアルを読んでみましたが、自分にはハードルが高く理解出来ません。 特にビットデータの見方、具体的なシーケンサーへの書き込みが分かりません。簡単なラダー作成と見方は出来ます。 申し訳有りませんが、御教授の程お願い致します。

  • 三菱PLCでの232C通信

    三菱のPLC(A1S)にて計算機リンクを使い(A1SJ71C24R2)232C通信をしようと思うのですが、初めてなのでうまくいっているのか分かりません。モニタ上ではデータレジスタに値は書き込まれています。仕様としては東研のバーコードリーダでQRコードを読みその値をPLCに送信しようとしてます。QRの内容は半角の英数文字です。PLCのFROM命令でバッファメモリを読み込むと5桁くらいの数値が入ってきます。この数値は何なのでしょうか?読み込んだ値をGOTなどに表示したいのですが、GOTの画面にアスキー表示をつけ、数値の入っているデバイスを指定しても何も表示されません。この数値を一度ASCIIで変換する必要があるのでしょうか?232C自体やASCIIコード自体、今回使うのが初めてで、マニュアルを調べながらがんばっているのですがいまいちよく分かりません。又、このような外部機器に232Cで通信すて指令を出す場合コマンドをASCIIに変換しTO命令で計算機リンクのバッファメモリに書き込めばいいのでしょうか?例えばバーコードリーダーのトリガーをPLCからコントロールする場合等です。もうひとつは例えば「ABCD120A  ABC」というQRデータをPLCに取り込みこの中の120Aだけを別のデータレジスタに書き込めるのでしょうか?この「120A」は1~3桁にランダムに変動します。詳しい方いたら教えてください。よろしくお願いします。

  • シリアル通信

    キーエンスのバーコードリーダーと三菱QシリーズのシリアルコミュニケーションカードをRS-232Cで接続したいのですがどのような命令を書けばよいのでしょうか?

  • キーエンス製シーケンサとのシリアル通信

    いつも御世話になっております。 早速ですが、現在VB2010Exでキーエンス製シーケンサとシリアル通信のプログラムを作成しています。 接続方法は上位リンクモードで設定しています。 パソコン(VB2010)からの送受信は出来ています。 ただ現在困っているのが、シーケンサの接点の監視です。 ためしに、 PortOpen ↓ コマンド送信(SerialPort1.Write()にて) ↓ レスポンス受信(SerialPort1.DataReceivedにて) ↓ PortClose この工程をループさせてみました。 問題なく、接点の監視は出来たのですが、通信を常時行うプログラムが本当に良いのか疑問に思い質問させていただきました。 シーケンサの接点の監視を常時行うにはどのようなプログラムが一般的なのでしょうか? よろしく御願い致します。

  • バーコードのシーケンサーへの取り込み

    成形工場の材料管理のため材料タンクに付いているバーコード(英数字14桁)を読み取ってシーケンサーに取り込みたいと考えています。 バーコードの読み込みはワイヤレスのバーコードリーダーで読み込み、読み込んだデータは約2530m離れたシーケンサーに即送る必要があります。 バーコードリーダーとシーケンサー間にベースステーションを設け、シーケンサーとベースステーション間はケーブル接続でも構いません。 バーコードに関する知識が無いため、上記内容では情報不足かもしれませんが、適当な機器の組み合わせ例(メーカー、型番など)を教えてください。

  • C++でシリアル通信

    現在、私は「RFIDによる図書管理システム」という題材の下、卒業研究を行っています。 卒研室で購入したRFIDのリーダー/ライター(以下、リーダー)は、RS232C接続のものでした。USBタイプのものがあるのは、購入した後分かりました。 「RS232C接続のリーダーから、タグのデータを読み取り、それをブラウザに送信する」というアプリケーションをC++(MFC)で作成している途中です。さらに詳細を述べると、アプリケーションの「リード」ボタンをクリックすると、リーダーへリード命令(バイナリコード)を送信し、リーダーからのレスポンスをブラウザに送信するという処理を、一括して行う予定です。 何故、ブラウザに送信するかというと、例えば図書管理システムの「検索」メニューの処理の場合、「リーダから読み込んだデータをブラウザに送信し、あらかじめ作成しているデータベースと目的の書籍を照会し、書籍の詳細をブラウザに表示させる」という処理を実現させるためです。 いかんせん、MFC初心者なので、シリアル通信のことに関しての知識がほとんどありません。 Webで調べてみたのですが、力及ばず、RS232Cと通信ができる関数等が見つかりませんでした。 どなたか、アドバイス宜しく御願いします。 最後になりましたが、開発環境は WindowsXP、Visual C++ です。

  • RS232C通信(PC⇔PLC)

    PCとPLCでシリアル通信を行っています。PLCからPCへステータス受信要求し、PCから正常アンサーがあればPLCからPCへ処理開始指令コマンドが出力されるというプロトコルです。実際には、PC側ステータス正常の場合、PLCへの正常アンサーを出力するところまでは行くのですが、その直後にPLCから送信されているはずの処理開始指令コマンドを受信することができません。一連のコマンド送信・受信の間隔が狭すぎるのかと思い、PLC側で処理開始指令コマンド送信前に10msecのウェイトを設けるとPC側で受信することができました。(PLC側の送信が悪いのか、PC側の受信に問題があるのか不明ですが、、、) シリアル通信では、上記のような問題が発生しないように送受信の間隔等なんらかの規約が定められているのでしょうか??ウェイトを設けることなく通信を行いたいのですが、考えられる対処法を教えていただけませんでしょうか。よろしくお願い致します。 なお、通信機器の仕様は以下の通りです。 PLC:三菱シリアルコミニケーションユニット QJ71C24N-R2 PC:WinXpSP2、COMポート、VisualBASIC6.0のCommイベントによりデータ受信(10msecウェイトなしでは、処理開始指令コマンド送信時にCommイベントが発生しませんでした。) ※アスキー文字、PLC・PCともに送信終了コード(CR+LF)でバッファデータ読込み

  • シリアル通信(タブレット、シーケンサー)

    現在、WindowsXP + VB6 + MSComm <ー> FXn2-16MR(RS232Cユニット)を シリアル通信で制御しています。これをWindows8.1(タブレット) + VB2013で全面的に 書き換えを行っています。テスト用のパソコンとは何の問題間無く通信は通りますが、 対シーケンサーだと送信はしているようだが、受信が全くできない状態です。 制御パラメータは、SerialPort1.Handshake=None, DtrEnable=True, RtsEnable=True 送信時のプロトコルは、<ENQ> + データ(ASCコード) 受信時のプロトコルは、<STX> + データ(ASCコード)+ <ETX> VB6は、この設定で動作しています。 VB2013では、制御パラメータは同じし送受信では普通に SerialPort1.Write、SerialPort1.ReadLineを使っています。 宜しくお願いします。

  • RS-232C通信(その1)

    RS-232Cの通信が上手くいかず困っています。 ユニットはオムロンV600コントローラと三菱シリアルコミュニケーションユニットです。 コントローラ取説を参考にケーブルを製作しましたが自信がありません。 正誤について指摘ください。 <コントローラ取説記載> コントローラ側⇔上位機器 GR 1─シールド   FG SG 9──────SG SD 2──────RD RD 3──────SD RS 4─┐  ┌─RS CS 5─┘  └─CS <製作したケーブル> コントローラ側⇔通信ユニット(A1SJ71QC24N-R2) GR 1─シールド SG 9──────SG 5 SD 2──────RD 2 RD 3──────SD 3 RS 4─┐  ┌─RS 7 CS 5─┘  └─CS 8 ┌─DTR 4 └─DSR 6 接続なしCD 1 宜しくお願いいたします。 背景ですが、現在、設備にV600を設置しておりVBでのプログラムを使い通信しております。 今回、V600を増設する、PCを集約化するなどの理由により、PLCから通信することになったのです。 (過去もPLCから通信しようとしたのですが、出来なくてPCにしてしまいました) そこで困っているのは、A1SJ71で”オーバーラン・フレーミングエラー”が出てしまいます。 データの送り方、受け方が解らないのです。 やりたいのは、 ”アドレス”0010”にアスキーで”070119”を送信したい”です。 コマンドデータは、”WTA10010070119” WT:コマンド A:アスキー 1:ヘッドチャンネル 0100:アドレス 070119:データ 質問1:”CR”はどう付加(表記)すればいいのでしょうか。 プログラムは下記のとおりです。 転送指令 ├─┤├─┬──(MOV K2 D100) A1SJ71のCH2を指定しD100へ │    ├──(MOV K7 D101) データ長7ワード │    ├──($MOV "WTA10010070119" D104) 送信データをD104(CR必要ですがわからない) │    └──(SET M○○) データ転送セット │ 送信指令 ├─┤├────(G.OUTPUT UA D100 D104 M○□)UAは先頭アドレスがXA0から始まる 質問2:間違い教えてください。 以上、宜しくお願いいたします。 ごちゃごちゃして申し訳ありません。 もしかして、”無手順送信用ユーザー登録フレーム”のアドレス”B7H”・”157H”終了コード(CR/LF)の指定をすればいいのですか。 このバッファメモリの変更の仕方がわかりません‥。 バッファメモリの書き替えは、 ”TO”命令で出来そうです。 やってみて、問題がありましたら、(その2)にて質問させていただきます。 また、結果も記載します。

  • PCとNCの通信シークェンスについて教えてくださ…

    PCとNCの通信シークェンスについて教えてください。  ソフトウェア開発者です。  現在ファナックのコンソールにフロッピードライブがRS-232C接続されています。これをPCからの直結に置き換えたいということで、ソフトウェアを新しく作りました。さっそくつなぎ換えてみると、I/O ERROR 085などがコンソールに表示されるので、通信パラメータをいろいろ変えてみた結果、パリティなし、9600bps、ストップビット2であればエラーが発生しないので、このパラメータで良いと思っています。  ここで、NC側でREADを行った後、PC側から送信すると、送信はされるものの受信されず、READのままで止まっています。もともとはパンチャ/リーダがつながっていたものと判断し、説明書を見てみると「リーダをAUTOモードにしてREADを行えば読み出しできる」となっていました。ということは、何らかの開始情報がNC側から行われ、リーダはそれを受け取った時点で送信を始めれば良いように思います。試しに、PC側でXONコード(0x11)を受け取った時点で送信を開始する、というロジックにしたところ、リーダ代わりに接続した別のPCで通信ソフトを起動しておき、このコードをPCに送ったところ、無事に通信が開始され、PC-PC間ではこのロジックで良さそうです。工場稼働中のため、実際にNCと接続できる時間があまりありません。このロジックで良いのでしょうか? ご存じの方がいらっしゃいましたらよろしくお願い致します。