0

機器とのtcpip接続を行う際に直面している問題について、どのような人も助けてくれますか?次の方法を使用してtcpipアドレスと接続すると、いつでも問題なく動作します。

1.テストおよび測定ツール(matlabのTMTOOL)2.Zocターミナル3.teraterm。

しかし、次のスクリプトを実装しようとすると、実行されますが、制御しようとしているパンおよびチルトユニットにコマンドを送信しないように見える方法がわかりません。

私は2つのスクリプトを試しています:

A。

obj1=tcpip('169.254.32.28',4000);
fopen(obj1);
cmd=5000;
fprintf(obj1,'pp%d',cmd)
fclose(obj1);
delete(obj1);

コマンドpp5000を送信しようとしています

B。

%commands
lat=51.57668;
lon=-1.26765;
alti=500;
% Find a tcpip object.
obj1 = instrfind('Type', 'tcpip', 'RemoteHost', '169.254.32.28', 'RemotePort', 4000, 'Tag', '');

% Create the tcpip object if it does not exist
% otherwise use the object that was found.
if isempty(obj1)
    obj1 = tcpip('169.254.32.28', 4000);
else
    fclose(obj1);
    obj1 = obj1(1)
end

% Connect to instrument object, obj1.
fopen(obj1);
i=1;
tic
for i=1:10
% Communicating with instrument object, obj1.
fprintf(obj1, 'gg%f,%f,%f',lat,lon,alti);

i=i+1;
toc
end
fclose(obj1);
delete(obj1);

望ましい結果:

gg51.57668、-1.26765,500

2番目のスクリプトは、TMTOOLimmatlabから生成された自動スクリプトのほんの少し変更されたバージョンです。

基本的に、0.5秒ごとに目的のオブジェクトにいくつかのコマンドを出力したいと思います。

誰かが望ましい結果を達成するために行うことができるいくつかの代替または改善を提案できますか?

私はこれらのスクリプトを実行することができませんでした、そして私が持っているmatlabのどんな小さな知識でもそれは正しいはずだと思います。私は新しいユーザーです、そしてあなたが助けてくれれば幸いです。

ありがとう

サリル

4

1 に答える 1

0

いつでも Java クラス (ソケット) を使用してデータをやり取りすることができます。

ファイル 1:

import java.net.ServerSocket
import java.io.*

server_socket = ServerSocket(4000);
client_socket = server_socket.accept;
out = PrintWriter(client_socket.getOutputStream, true);
in = BufferedReader(InputStreamReader(client_socket.getInputStream));
str = in.readLine(); % Read in data
out.println(data); % send data

ファイル 2:

import java.io.*;
import java.net.*;
server_socket = Socket('localhost', 4000);
in = BufferedReader(InputStreamReader(server_socket.getInputStream));
out = PrintWriter(server_socket.getOutputStream,true);

上記と同じ方法で入力を取得および送信します。完了したら、すべてを閉じることを忘れないでください。

out.close();
in.close();
client_socket.close();
server_socket.close();
于 2012-08-09T19:09:06.093 に答える