
No.1ベストアンサー
- 回答日時:
>VBの参考書にPLCのことは一言も書いてないので、
>何か専用の関数、命令語があるのでしょうか?
PLCメーカーが、開発言語用にコンポーネント(API)の提供を行っていない限り、専用の関数というものはありません。
プログラムとして「相手が何か」というのは一切関係ないのです。
「相手と通信するためのI/Fとプロトコル」に合わせるということが重要で、実装が必要な部分になります。
まず、質問者さんが行わなければいけないのは、
>"VB上のボタンが押されたらPLCのデータメモリに10を格納する"
から
・GUIの作成
>イーサネットで通信しようと考えています。
から、
・PLCのプロトコルの確認
・VBでのイーサネット通信の実装
を行う必要があります。
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通信ソフトウェアを購入した方が安価になる場合がほとんどです。
ご回答ありがとうございます。
DATA BUILDERなどはデータ収集に便利ですね。
VB上のボタンとPLCをつなぐ場合は
FA通信ソフトウェアを使うのが推奨とのことですので、
まずFA通信ソフトウェアについて調査してみます。
ありがとうございました。
No.2
- 回答日時:
VisualBasic.NETではじめる計測制御入門 熊谷英樹著 日刊工業新聞社という本に、WindowsAPIによるPLCとのシリアル通信制御という項があり、「データメモリを読み書きするプログラム」というサンプルコード(三菱電機製PLC)が載っています。
数年前、マイコンボードと通信しようと購入したのですが、途中で別言語に浮気して、ほとんど手を付けてありませんが、記事が印象に残っていたので、引っ張り出してみました。検索してみると、現在も販売されています。ご参考まで。ご回答ありがとうございます。
まさに探しているプログラムがのってそうですね。
ご紹介いただいた本早速探してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
シーケンサにパソコンからアクセスし,エクセルに読み出すソフト
その他(プログラミング・Web制作)
-
KEYENCEのPLCソフト「KV studio」(体験版でない)をインストールするにはPLCの製品
教育ソフト・学習ソフト
-
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
-
4
ExcelVBAでのwinsockの利用
その他(Microsoft Office)
-
5
USBシリアルケーブル仕様の通信について
Visual Basic(VBA)
-
6
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
7
VBコンソールアプリ(.NET Framework)でRS-232C通信したい。
その他(プログラミング・Web制作)
-
8
VBのソケット通信(winsock)のサイト
Visual Basic(VBA)
-
9
三相200Vを単相200Vで使用したい
環境・エネルギー資源
-
10
グローバル変数のよくない使い方とその改良例
C言語・C++・C#
-
11
エクセル VBA でのCOMポート認識
その他(プログラミング・Web制作)
-
12
CloseとDisposeの違い
Visual Basic(VBA)
-
13
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
14
USB I/Oのデジタル信号をvbaで制御したいと考えております。
Visual Basic(VBA)
-
15
値を返さないコード パス
Visual Basic(VBA)
-
16
三相200vから単相200v取り出しの弊害
工学
-
17
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
18
PLC間の信号のやりとりについて質問です。 PLC①の出力信号をPLC②の入力信号として送りたい場合
その他(プログラミング・Web制作)
-
19
フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語によってシリアル通信をお...
-
Macターミナルで実行中のプログ...
-
VB6.0 SHELLで起動...
-
スロットゲームのプログラミング
-
フレームワークとプロセスの違...
-
STATUSのZフラグについて
-
CImage::ReleaseDC()のエラーで...
-
あるプログラム実行中に別のプ...
-
「単体テスト」に関する深刻な...
-
このレジの並び方は間違ってま...
-
CreateCompatibleDCを初期化時...
-
プロセスの停止
-
Linuxでのスレッド間メッセージ...
-
ACCESS側からEXCELの書式を設定...
-
VBA kernel32 の意味
-
コンソールアプリケーションの...
-
php
-
エクセルVBAの自動変換機能?
-
プロセスが実行中かどうか調べ...
-
他の実行ファイルを実行するプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レジスタマップって何ですか?
-
PLCとPCの通信
-
組み込みマイコンでのソフトウ...
-
グラフィックLCD SG12...
-
大人の科学マガジンVol.24 GMC-...
-
USBハブの自作について
-
CPUから外部PHYレジスタのアク...
-
シリアル通信でのデータ取りこぼし
-
AVRでUART通信をしたい
-
機械語のレジスタペアについて
-
メモリースループットとは?
-
H8/3052 プログラムについて
-
SH7144でパルス幅を測定したい。
-
電子工作初心者ですが、今回pic...
-
システムコールを使わずに画面...
-
マイコンのCプログラミングで未...
-
micropythonコード 修正
-
マイコンSPI入門
-
H8/3048 マイコンボードについて
-
H8S2368マイコンのTCSR_1レジス...
おすすめ情報