私はMetro-Toledo Garvens GmbH "Gシリーズ"チェックウェイガーのアプリケーションをGARECOにインストールしようとしています。リモコンガレコxシリーズ
小切手とは?秤量器は生産ラインの最後の部分であり、製品仕様の通常のパラメータ内の重量を有する場合、製品重量を測定する。デバイスには内部メモリがあり、製品ごとの製品仕様をシステムにロードし、デバイス画面から製品を簡単に変更することができます。
ガーコとは何ですか? GARVENSチェックウェイザーの遠隔操作には、Garvens Remote Controlの略語である「GARECO」という名前が付けられました。
リモートコントロール命令は、シリアルインターフェースを介して外部PCから計量端末に送信することができ、すべてのリモートコントロールアクションはPCによって実行されます。小切手は認識された指示に反応し、対応する動作を解除する。命令はASCII文字列で構成され、それぞれの文字列はCRおよびLFで終わります。
私たちのアプリの目標は何ですか?生産ラインが製品を変更するとき、私たちは好きなように製品を変更します。あなたは私たちが何を使っている
を好きなら
さらに詳細には、次のリンクで見つけることができますか? (イーサネットケーブルを介して直接接続されている)TCP/IP
テスト•.NET 4.5•
、Windowsの10•
、
:
上記の指示通り、デバイス必要がありますPCからの指示を受け入れる。 私たちはイーサネット経由でデバイスとの接続を確立できましたが、指示を送信するとデバイスからの応答はありません。 以下、使用したコードを見ることができます。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
TcpClient client = new TcpClient();
private void button2_Click(object sender, EventArgs e)
{
client.Connect("192.168.0.1", 23);
}
string _infoFB = "FB_INFO(CR)(LF)";
byte[] p;
private void button1_Click(object sender, EventArgs e)
{
client.Close();
}
private void button3_Click(object sender, EventArgs e)
{
p = Encoding.ASCII.GetBytes(_infoFB);
NetworkStream ntstream = client.GetStream();
if (ntstream.CanWrite)
{
ntstream.Write(p, 0, p.Length);
byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = 0;
do
{
numberOfBytesRead = ntstream.Read(myReadBuffer, 0, myReadBuffer.Length);
myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
}
while (ntstream.DataAvailable);
foreach (var item in myCompleteMessage.ToString())
{
listBox1.Items.Add(item);
}
}
if (ntstream.CanRead)
{
if (ntstream.DataAvailable)
{
byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = 0;
do
{
numberOfBytesRead = ntstream.Read(myReadBuffer, 0, myReadBuffer.Length);
myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
}
while (ntstream.DataAvailable);
foreach (var item in myCompleteMessage.ToString())
{
listBox1.Items.Add(item);
}
}
else
{
MessageBox.Show("Sorry. \n You cannot read from this NetworkStream.");
}
}
}
string recivedPulse;
private void button4_Click(object sender, EventArgs e)
{
p = Encoding.ASCII.GetBytes(_infoFB);
recivedPulse = Encoding.ASCII.GetString(p, 0, p.Length);
listBox1.Items.Add(recivedPulse);
}
}
}