VB6.0を使用して、画像処理プログラムの開発を行っているのですが、処理結果を別機器(PLC)へ送信しなければならなくなりました。漠然とRS232Cでデータ通信を行おうと考えてたのですが、上司から「まずプロトコルを決めないと、232Cもクソもないやろ」と怒鳴られました。232Cの使用を前提として、プロトコルを決めたいと思うのですが、上司に説明する文書としてどのような書式を用いればよいのか見当がつきません。(トホホ明日中に説明しろと言われております)
VBと別機器の動作としては、別機器からスタート信号をもらい、PCで画像撮像・処理を行い、処理データ(小数点以下3位程度×2個)を別機器へ送信するといったものです。
上記動作そのものが「プロトコルを決める」ということではありませんよね?スタート信号や処理完了信号の文字を決定するところまでを含めて「プロトコルを決める」ということなのでしょうか?
アプリケーションとしては複雑なものではないのですが、いかんせん基本が分かっていないので、私の説明も理解していただき難いものがあるかと思います。上記動作のアプリケーションに似たプロトコルのサンプル文書があれば非常に助かるのですが。。。
よろしくお願い致します。
No.3ベストアンサー
- 回答日時:
とりあえず、これを読んでみてください。
上司の方もあなたも「プロトコル」を勘違いしています。
RS-232Cを使うと決めたのであれば、ハードウェアよりのレイヤ(1と2かな?)の「プロトコル」を決めたことになります。
あとは、ソフトウェアよりのレイヤの「プロトコル」を決めればよいのです。
上のURLを参照していただければわかりますが、パソコンのCOMポートは同期通信をサポートしていませんので、ASYNC(非同期通信)しかありえません。
ので、スタートビット・ストップビット・パリティビット等を決めれば環境が整います。
非同期通信ですから、勝手にデータが流れます。
さて、ここで問題があります。
非同期通信しかサポートしていませんから、どうにかして「ハンドシェイク」しなくてはいけません。
ここで上司の期待している「プロトコル」の出番です。
「データ送信開始」コマンドはどうする?
「データ送信終了」コマンドはどうする?
「相手機器と【ちゃんと受け取れた】かの確認」はどのようにする?
などなど、山盛りあります。通信相手の仕様に依存するので、
サンプル文書はないと思います。しいていうなら、相手機器の通信機能マニュアルになるとおもいます。
ご回答ありがとうございます。
やはり私は「プロトコル」という言葉の意味から正しく学ばなければならないようです。ご紹介いただいたURLも昨年末に一度、目を通しているのですが・・・。ただ、PC・マイコン・PLCのプログラミングや基板設計まで簡単にやってのける上司には何も勘違いはないと思います。(私が「簡単に」なんて言うこと自体、ウソ臭いですかね)
プロトコルとは、ご回答いただいた<<「データ送信開始」コマンドはどうする?・・・>>を定めたものそのものを指すのでしょうか?例えば、レベルは断然違うのですが、IPやTCP、HTTPと呼ばれるプロトコルはこれと同義で、EthernetがRS232Cに対応していると考えております。
また、プロトコルはハードよりとソフトよりのものがあるとおっしゃっています。まずRS232Cを選択したということが、「プロトコルを決める」ということの一部として理解してよろしいでしょうか?
もう少し詳しいことを申しますと、実はPLC側のハード設計が今日から始まっており、それに対してこちらから通信仕様をまとめ、一度打ち合わせを行いたいのです。そういった意味も含め、資料としての「サンプル文書」をいただければなぁと思う次第なのであります。
No.6
- 回答日時:
サードメーカーの出しているOCX系は遅いので
うちのSEは自作してます。
PLC側の指定したアドレスのデバイスDとかWに
データーを書き込む・または読み込むハンドラーのような物です。
三菱側の設定もモード1・2・3・4とあったはずで
うちの会社はモード4を使用してます。
通信電文のヘッダーに%Wとかコマンドを乗せて+アドレス+データ+BCC 見たいな感じ。
そうするとPLCから書き込み完了の電文が帰ってくる。
三菱の通信ユニットはRS-422が基本なのでPC側の直近に
422-232のコンバーターを入れる。
http://japan.moxa.com/product/TCC-100.htm
フェニックスコンタクトの↓なんかは、DINレール取り付けで
制御盤に取り付けやすい
http://eshop.phoenixcontact.com/phoenix/treeView …
No.5
- 回答日時:
三菱製PLCが基本って盤屋さん?多いですね。
うちはオムロンが基本です(^^;;
メーカの対応がいいから気に入っています。
>ところで「OCXなど」って何でしょうか?
OLEコントロールの一種です。
OLE 2.0に準拠したソフトウェア部品で、呼び出して利用する外部コマンドと同じ様なものです。
正しくは「OLEコントロール」といいますが、
拡張子がOCXになっていのるで、こう呼ばれるようになっただけです
正確には、「Object Linking and Embedding」といいますが、
今はOLEコントロールもActiveXコントロールと呼ばれています。
必要な情報を渡してやると、通信の部分は意識しなくても、
読み書きが可能になりますが、
直接データメモリなどに書き込みますので、
注意しないと駄目な場合もあります。
OLEコントロール(ActiveXコントロール)は、
フリーソフトにもあるみたいです。
ご回答ありがとうございます。
盤屋ではなく自動機・検査機のメーカです。要求仕様・スピードによってマイコンやPC、PLCを使い分けたりあるいは併用したりしています。
ActiveXコントロールですか。。。最近、PC&USBカメラからの画像取込でDirectX(DirectShow?)を使ったりしたんですが、双方ともにさっぱり分かりませんです。お互い関係あるのかな?やっぱ勉強必要です。
また機会があれば色々と教えてください。
No.4
- 回答日時:
横レス申し訳ありません。
プロトコルには、ハードとソフトがあると思ってもらえばよろしいかと。
Ethernetを使うかRS232Cを使うか、それともUSBを使うかなど、
どの様なインターフェースにするかがハードのプロトコルで、
例えばRS232Cを使う事にした時、
通信情報の内容をどの様にするかを決めるのがソフトのプロトコルです。
三菱製PLCとの事ですが、情報量にもよりますが、
コマンドから通信させるのは力業の部分も多々あります。
内容によっては、OCXなどを利用する方が、
簡単に済む事が多いですね。
三菱は最近触らなくなったので、
覚えていませんが、OCXがあったと思います。
確か、何かのソフトにバンドルされていて、
価格が結構高価だったような・・・
サードメーカなら
MELSEC OPCサーバ
http://www.faweb.net/opc/opcserver_melsec.html
なんてものもあります。
オムロン製であれば、CompoletとFinsGatewayで簡単にPLCへ読み書きが出来ます。
ご回答ありがとうございます。やたらと「プロトコル」にこだわってしまってすみません。
オムロンがよさげとのことですが、客先からの指定がない限り、うちでは三菱が基本みたいなんです。。。
ところで「OCXなど」って何でしょうか?
No.1
- 回答日時:
>と怒鳴られました
何で怒るのか良く解らないけど・・・
相手のPLCは決まってますか?
三菱かな?
三菱ならRS422になると思うけど、メディアコンバーター通しますか?
232CならFXに直接ですか?
三菱のプロトコルは理解してます?
DとかWに画像処理PCから指定アドレスに書き込みに行く事になると思うけど。
>上記動作そのものが「プロトコルを決める」ということではありませんよね
これらを私たちは動作フローと呼んでいます。
回答にならないけど、決まっていない事が多いように感じます
(ここに書いてないだけ?)
早速のご回答ありがとうございます。
三菱Qシリーズで、PLC側は別担当者です。シリアルコミュニケーションユニットを取り付けるようです。
メディアコンバータ・・・PCとシリアルミュニケーション直接のつもりでした。
三菱のプロトコルっ???という感じです。
CC-LINKで直接アドレスへ書き込みの経験があるのですが、今回はPCにCC-LINKボードを取り付けず、PCのCOMポートで対応したいと考えています。
引き続きご指導よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- ネットワーク プロトコルの階層化とインターフェースとの違い 2 2022/07/26 02:38
- 固定電話・IP電話・FAX 業務用ファックスについて 5 2022/09/28 19:08
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
- 電子マネー・電子決済 QUICPayの登録ができない。 4 2023/06/10 10:57
- CAD・DTP 「機能ブロック図」の描画用フリーソフトを教えてください 1 2022/09/23 16:12
- ガラケー・PHS SMSメールの受信遅延原因はガラケー自体の欠陥では 8 2022/08/06 11:46
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- その他(プログラミング・Web制作) このWEB用語、WEB文章、意味が分かりますか? 理解できない人が多いようなんですが・・・ 7 2022/10/22 09:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブフォルダに格納されている...
-
【ExcelVBA】値を変更しながら...
-
IF文、条件分岐の整理方法
-
[VB.net] ボタン(Flat)のEnable...
-
Outlookの「受信日時」「件名」...
-
VBAコードのインデント表示
-
vbaにてseleniumを使用したedge...
-
Excel 範囲指定スクショについ...
-
Excelのマクロについて教えてく...
-
Excel VBA 文字列のセルを反映...
-
Outlookにて既にウィドウ単体で...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】インデックスが有...
-
Excel関数またはVBAでの質問に...
-
VBA 別ブックからコピペしたい...
-
VBA 別ブックから条件に合うも...
-
Excel VBA ダブルクリックで入...
-
時間短縮のために、テキストフ...
-
エクセルのマクロについて教え...
-
VBA ユーザーフォーム ボタンク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのキー入力...
-
伝送速度の実測値と理論値の違...
-
XMODEMのchecksumの計算方法を...
-
WiFiのプログラミングについて
-
FTPではなくSCPかSFTPのよ...
-
トランスポート層とは
-
USBの通信の仕組みについて、詳...
-
イーサネットフレームに関する...
-
光受信、光リンク、パケット送...
-
MSN Messenger 起動中にEtherea...
-
リバースTCP非同期攻撃が検出さ...
-
USB-CDC通信する場合のパケット...
-
プロトコルの決め方(RS232C)
-
Identification と Authentifi...
-
VRRPとHSRPについて
-
Winsock のUDP転送時の送信先サ...
-
FletsADSLにおけるMTUの最適値1...
-
OSI参照モデルとはなんですか?
-
IPアドレスについて
-
1packetは何バイト?
おすすめ情報