• ベストアンサー

PLCとPCの通信

PLC経験者ですが、VBはまったくの初心者です。 "VB上のボタンが押されたらPLCのデータメモリに10を格納する" というプログラムを作るには、どうすればよいのでしょうか? PLCはキーエンスKV5000でイーサネットで通信しようと考えています。 VBの参考書にPLCのことは一言も書いてないので、 何か専用の関数、命令語があるのでしょうか? よろしくお願いします。

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

  • ベストアンサー
回答No.1

>VBの参考書にPLCのことは一言も書いてないので、 >何か専用の関数、命令語があるのでしょうか? PLCメーカーが、開発言語用にコンポーネント(API)の提供を行っていない限り、専用の関数というものはありません。 プログラムとして「相手が何か」というのは一切関係ないのです。 「相手と通信するためのI/Fとプロトコル」に合わせるということが重要で、実装が必要な部分になります。 まず、質問者さんが行わなければいけないのは、 >"VB上のボタンが押されたらPLCのデータメモリに10を格納する" から ・GUIの作成 >イーサネットで通信しようと考えています。 から、 ・PLCのプロトコルの確認 ・VBでのイーサネット通信の実装 を行う必要があります。

donbei666
質問者

お礼

ご回答ありがとうございます。 まず、コンポーネントについて、PLCメーカーに聞いてみます。 ありがとうございました。

その他の回答 (2)

  • kiki_s
  • ベストアンサー率59% (147/248)
回答No.3

VBなどのアプリケーションからPLCに対してデータのやり取りをする場合、 直接やり取りする事は可能ですが、命令、取得のやり取りが複雑で現実的ではありません。 また、VBなどの開発環境はパソコン上でのスタンドアローン動作を主に作られていますので、 一般的でないPLCとの通信などは考慮されていません。 この様な場合には、各メーカから提供されているFA通信ソフトウェアと呼ばれるミドルウェアを使用するのが普通です。 キーエンスの場合は、「DATA BUILDER」というソフトウェアですが、 このソフトは基本的にエクセルのアドインです。 ただし、同価格でVBやCなどから利用できるOCXもあります。 キーエンス「DATA BUILDER Excel」 http://www.keyence.co.jp/seigyo/plc/data_builder/ 組み込み開発用のOCXは営業担当に問い合わせるといいでしょう。 各メーカのFA通信ソフトウェアについてはそれなりに保証がありますが、 PLCメーカごとにミドルウェアを購入する必要があります。 逆にPLCメーカの制限がほとんど無いFA通信ソフトウェアもあります。 ロボティクスウェア http://www.roboticsware.co.jp/index.htm メーカに無いコマンドなどもある(らしい)ので場合によっては便利かも? ちなみに、私はキーエンスのPLCを使った事はありませんが、 この手のソフトウェアは、通信パラメータなど考えなくてもデータの書き込み、読み出しが簡単に出来ます。 開発費用などを考えるとFA通信ソフトウェアを購入した方が安価になる場合がほとんどです。

donbei666
質問者

お礼

ご回答ありがとうございます。 DATA BUILDERなどはデータ収集に便利ですね。 VB上のボタンとPLCをつなぐ場合は FA通信ソフトウェアを使うのが推奨とのことですので、 まずFA通信ソフトウェアについて調査してみます。 ありがとうございました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

VisualBasic.NETではじめる計測制御入門 熊谷英樹著 日刊工業新聞社という本に、WindowsAPIによるPLCとのシリアル通信制御という項があり、「データメモリを読み書きするプログラム」というサンプルコード(三菱電機製PLC)が載っています。数年前、マイコンボードと通信しようと購入したのですが、途中で別言語に浮気して、ほとんど手を付けてありませんが、記事が印象に残っていたので、引っ張り出してみました。検索してみると、現在も販売されています。ご参考まで。

donbei666
質問者

お礼

ご回答ありがとうございます。 まさに探しているプログラムがのってそうですね。 ご紹介いただいた本早速探してみます。 ありがとうございました。

関連するQ&A

  • CC-LINKについて

    三菱とキーエンスの接続 三菱のPLCとキーエンスのPLCをCC-LINKで接続したいと 考えています。 できますか? イーサネットでPLC間の通信は可能とありまうが・・・ マスタ局 CPU:Q02HCPU CCLINKユニット:QJ61BT11N ローカル局 KV5000 KV-CL20

  • パソコンとPLCの接続

    パソコンとPLCをethernetでつないでシーケンサー内のデーターを 読み込みたいと思っています。(つながってはいるようです) パソコン側はVBでプログラムを組もうと思っているのですが 誰か、参考になるプログラムを教えて下さい 三菱のQシリーズです。 取り説を何冊か読んだらうまくいきました ありがとうございました

  • PLCの命令語の使い方について

    PLCのラダープログラムを勉強し始めたところの初心者です。 各種PLCには様々な命令語が用意されています。(基本命令、応用命令、演算命令など) これらの基本命令について、個々の動作については取扱説明書を読めば理解できますが、 実際にこれらの命令を使って装置のプログラムを書くときに、何をどう使うことが有効なのか? この辺りがよくわかりません。 たとえば、データシフト命令について、内部レジスタを右にシフトしたり左にシフトしたり。 そういうことができるのはわかりますが、じゃあそれを使ったら装置ではどんなことができるのでしょうか? データ転送命令などもよくわかりません。MOV命令でデータをレジスタに格納できることはわかりましたが、これが何の役に立つのやら… 全くの初歩的な質問で申し訳ないですが、取扱説明書を隅々まで読んでいますが、命令語の基本的な機能については紹介してくれていますが、実世界での使い方については全くと言っていいほど触れられていません。 どんな時に、こうした命令語が有効なのか?具体的な例を教えていただければ幸いです。 また、そうした具体例をまとめたようなサイトがあれば併せてご教授いただけませんでしょうか。 よろしくお願いします。

  • オムロンPLCのプログラムで困っています。

    PLC(CP1E)、PT(NB5Q)、温調器(E5CC)、CX-Pro.の構成です。RS232Cでプログラムレス通信をしています。E5CCの補助出力でPLC内部補助リレーを作動させるにはどのようなプログラムを書けばよいでしょうか。もう一点は、PLCプログラムでE5CCのRUN・STOPを制御できません。MOV命令でD16メモリに#256・#257を転送しますが機能しません。初心者で詳しいことがわかりません。ご指導をお願いします。

  • ラダープログラミングのマスターコントロールについて

    私は、PLC制御・ラダープログラミング初心者です。 現在キーエンスのKV-Studioにてラダープログラムの勉強中なのですが、 三菱シーケンサーに備わっている機能でマスターコントロールというものがありますよね? これと同じような機能を持ったものがキーエンスのPLCにも存在するのでしょうか? キーエンスのPLCはKV-3000を使用することを想定してプログラムを書いています。 やりたいことは、工程1開始→工程1完了→工程2開始→工程2完了→・・・と (ステップ制御?)いう動作を行う上で、各工程において運転準備のリレーがOFFしたら動作が停止するという動作です。 これを行う上で、マスターコントロールを使うと簡単との記載がされた資料があるのですが、その資料中で使用されているPLCは三菱製でキーエンスではありませんでした。 キーエンスのマニュアルを調べてみたのですが、見当たらなかったように思います。 もし、キーエンスにこのような機能が備わっていないのであれば、上記の目的の動作を果たすためには、どういった制御を行ってやればいいのでしょうか。 どなたか詳しい方ご教授ください。

  • 三菱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桁にランダムに変動します。詳しい方いたら教えてください。よろしくお願いします。

  • CP OFFについて

    今、仕事で、キーエンスのPLC(KV5000)と三菱のPLC(Q03UD)を使用しています。 キーエンスのPLCと三菱のPLCは、CC-Linkで接続しています。 電気的な接続状況ですが、キーエンスのPLCと三菱のPLCには、それぞれ、CPが一つずつ設置されています。各5Aです。 問題状況ですが、各PLCをUSBケーブルで接続し、キーエンスのPLCは、PC1にて、アプリケーション起動し、三菱のPLCは、PC2にて、アプリケーション起動しています。その状態で、PC2でプログラムを読込にしたところ、キーエンス側のCPがOFFになりました。 もし、同じような状態が発生している方がいましたら、解決方法を教えていただければと思います。

  • 2005年のE-CON(IAI製品)シリアル通信

    IAIの製品で2005年製 E-CON コントローラーから 通信を行っていました。 当初は三菱電機 QJ71C24N-R2にRS232Cとして通信しておりました。 PLCが故障してしまい キーエンスのPLCへ置き換え 通信は KV-XL202にてRS232Cにてそのまま 接続 通信仕様は以前三菱で設定していた内容で設定をして キーエンス のソフトウエアより PROTOCOL STUDIOにてとりあえず 通信テストを試みたのですが 受信できず。 通信設定また配線が? RD/SD/SGへクロスにてつなげていますが、 仕様を変更したり 配線を入れ替えたり ループバックをしたりと 何パターンか実施しているが こちらから 通信要求をしているが返事が無い状態。 メーカー様には 配線または 通信設定がと回答頂いたが 通信仕様の変更6パターン+配線入れ替え6パターン 36パターンで実施したが 受信えられず。 E-CONの当時のシリアル通信に詳しい方いらっしゃいますでしょうか?

  • PC上でタッチパネル感覚で使えるソフトをご存知で…

    PC上でタッチパネル感覚で使えるソフトをご存知ですか? VB、C++でプログラムやデザインを作るのは、中々テクニックが必要です。 PCをベースとしたシステムを開発する際に、PLCラダープログラムとタッチパネル ソフトの様に割付けをできれば非常にシステム開発が楽になると思います。 要するにPC上のマウス操作でボタンをクリックするとボタンに割付けされた 命令を実行したり 外部機器から取り込んだデータを表示したりする操作を簡単に作れるソフトが欲しいのです。 これが実現できればPCをPLCと同じ様に扱うことが出来、プログラム開発を 直感的にできるメリットがあります。 PC上でタッチパネルとPLCラダープログラムの様な感覚で使えるアプリケーションソフトを ご存知でしたら紹介ください。 宜しくお願いします。

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

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

専門家に質問してみよう