FAIRINO のTCP通信方法

ロボットプログラムでのTCP通信設定方法

動作プログラムの中で他機器やPCと通信を行うときは、Lua言語による直接入力に切り替え以下のように入力することでTCP通信が可能

直接入力への切り替え

”Toggle Mode”アイコンをクリックすることでLua直接入力モードに切り替えられる。

ウィンドウによる入力
直接記述

コードサンプル

local ip="192.168.58.5"
local port=50001

local reply=SocketOpen(ip,port,"socket_0")

if reply==0 then
    return print("Connection is failed!")
end

SocketSendString("VisionStart","socket_0",1)

local n,d1,d2,d3,d4=SocketReadAsciiFloat(4,"socket_0",0)
print("data_number="..n)

ソケットオープン関数
SoketOpen(ip,port,socket_name)
新規にソケットをオープンする

引数
ip IPアドレスを入力 “192.168.58.5”
port ポート名 50001
socket_name ソケット名(なんでも良い) “socket_0”

戻り値
成功で1、失敗で0を返す

メッセージ(文字列)送信関数
SoketSendString(msg,socket_name,val)
接続したサーバーに文字列データを送信する

引数
msg 送信する文字列 “VisionStart”
socket_name オープン時に作成したソケット名 “socket_0”
val 不明(判明したら追記します)

戻り値
なし

メッセージ受信関数
SocketReadString(socket_name,val)
サーバーから受信した文字列を取得する

引数
socket_name オープン時に作成したソケット名 “socket_0”
val 不明(判明したら追記します)

戻り値
str 受信した文字列データ

メッセージ受信関数
SocketReadAsciiFloat(num,socket_name,val)
サーバーから受信した文字列を、指定した数の数値配列データに変換し取得する

引数
num 数値データの配列数
socket_name オープン時に作成したソケット名 “socket_0”
val 不明(判明したら追記します)

戻り値
n 受信したデータの配列数
d1,d2,d3,d4… 受信した数値データ