ロボットプログラムでの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… 受信した数値データ