現在、PCとPLC間の通信を無手順で作成しています。
三菱のMXコンポーネントを使用しない通信ソフトを作ろうとしているのですが
動作させたいコードの書き方がイマイチわかりません。
-----------------------処理内容--------------------------------
ベルトコンベアからものが流れてきたらシャッター用センサで検知した値(0)を取得し、
画像処理のプログラムを呼び出し、画像処理のプログラムから判断した
値(0か1)を受け取り、PLCにエアーの噴出命令(1)を返すといったものです
シャッター用センサの値が0になる←センサがいつ変化してもいいように見続ける必要がある?
↓
画像処理のプログラムを呼び出す
↓
画像処理のプログラムから1か0を受け取る
↓
PLCに1を送り、エアを噴出させる
-----------開発環境----------------------
OS:Windows7
開発ツール:Visualstudio2013
プログラミング言語:VBA
PLC:三菱 FX-3uシリーズ
VBA Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load '通信を開く処理 If (SerialPort1.IsOpen() = False) Then '通信設定部開始 SerialPort1.PortName = "COM9" '開くポート名 SerialPort1.BaudRate = 9600 '通信速度 SerialPort1.DataBits = 8 'データ長を設定する SerialPort1.Parity = System.IO.Ports.Parity.None 'パリティなし SerialPort1.StopBits = System.IO.Ports.StopBits.Two 'ストップビットを2ビット SerialPort1.Handshake = System.IO.Ports.Handshake.None 'ハンドシェイク無し End If '通信を閉じる処理 If (SerialPort1.IsOpen() = True) Then SerialPort1.Close() End If 'データを受信 If (SerialPort1.IsOpen() = True) Then Dim receivebuf As String 'シャッター用変数 receivebuf = Convert.ToChar(&H5) & "00FFBR0X001101" '問い合わせ+バイナリ読み込み SerialPort1.ReadExisting(receivebuf) '受信バッファからデータを読み込む 'データを送信 If (SerialPort1.IsOpen() = True) Then Dim sendbuf As String ' sendbuf = Convert.ToChar(&H5) & "00FFBW0Y001601" '問い合わせ+バイナリ書き込み SerialPort1.Write(sendbuf) End If End Sub End Class
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。