Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
using System;
using System.Net;
using System.Net.Sockets;
namespace SimpleFetchRead
{
class MainClass
{
public static void Main(string[] args)
{
int ende = 15;
for (int i = 1; i<=ende; i++)
{
Console.WriteLine("Schleifen-Durchlauf " + i + " von " + ende + "!");
FetchRead();
Console.WriteLine("--------- --------- --------- --------- --------- --------- --------- --------- ");
Console.WriteLine();
}
}
public static void FetchRead()
{
//*** S5 Header wird initialisiert
Console.WriteLine("S5 Header wird initialisiert");
char syskennA = 'S'; //*** Systemkennung
char syskennB = '5'; //*** Systemkennung
int sysheader = 16; //*** Headerlänge für Telegramm
int opcodekenn = 1; //*** Kennung für OpCode
int opcodelen = 3; //*** Länge des Opcode
int opcode = 5; //*** eigentlicher OpCode, 3 = Anforderungs-Telegramm, 4 = Antwort-Telegramm
int orgblck = 3; //*** Kennung des OrgBlock
int orgblcklen = 8; //*** Länge des OrgBlock
int orgblckkenn = 1; //*** Kennung des OrgBlock, nur DB
int dbnr = 110; //*** Nummer Datenbaustein
int dwadrhigh = 0; //*** Adresse erstes Datenwort (high)
int dwadrlow = 5; //*** Adresse erstes Datenwort (low)
int dwlenhigh = 0; //*** Datenwortlänge (high)
int dwlenlow = 1; //*** Datenwortlänge (low)
int lblockkenn = 255; //*** Leerblock Kennung
int lblocklen = 2; //*** Leerblock Länge
//*** Sendestring wird zusammengestellt
Console.WriteLine("Byte-Array für Anforderung wird zusammengestellt");
Byte[] ba = new byte[16];
ba[0] = Convert.ToByte(syskennA);
ba[1] = Convert.ToByte(syskennB);
ba[2] = Convert.ToByte(sysheader);
ba[3] = Convert.ToByte(opcodekenn);
ba[4] = Convert.ToByte(opcodelen);
ba[5] = Convert.ToByte(opcode);
ba[6] = Convert.ToByte(orgblck);
ba[7] = Convert.ToByte(orgblcklen);
ba[8] = Convert.ToByte(orgblckkenn);
ba[9] = Convert.ToByte(dbnr);
ba[10] = Convert.ToByte(dwadrhigh);
ba[11] = Convert.ToByte(dwadrlow);
ba[12] = Convert.ToByte(dwlenhigh);
ba[13] = Convert.ToByte(dwlenlow);
ba[14] = Convert.ToByte(lblockkenn);
ba[15] = Convert.ToByte(lblocklen);
//*** Anforderungstelegramm wird gesendet
Console.WriteLine("Anforderungstelegramm wird gesendet");
TcpClient client = new TcpClient();
client.Connect("159.151.99.28", 5015);
Console.WriteLine(client.LingerState.LingerTime.ToString());
NetworkStream stream = client.GetStream();
//Byte[] data = System.Text.Encoding.ASCII.GetBytes(sstr);
Byte[] data = ba;
stream.Write(data, 0, data.Length);
Console.WriteLine("Anforderungstelegramm wurde gesendet");
//*** Antwort-Telegramm wird ausgelesen
Console.WriteLine("Anwendung wartet auf Antwort-Telegramm");
int ByteLen = (dwlenhigh * 255) + dwlenlow + 16;
data = new Byte[ByteLen];
String responseData = String.Empty;
Int32 bytes = stream.Read(data, 0, ByteLen);
responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Antwort-Telegramm wurde empfangen");
Console.WriteLine("Antwort der S5: " + responseData.Substring(16));
Console.WriteLine("Verbindung wird abgebaut!");
stream.Flush();
stream.Close();
client.Close();
}
}
}
0000 08 00 06 01 00 03 aa 00 04 00 3e 04 00 18 fe fe ........ ..>.....
0010 03 00 13 60 09 1a 00 00 00 ca 00 01 8c 08 00 00 ...`.... ........
0020 00 ca 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ........ ........
0030 00 00 00 00 00 00 00 00 00 00 00 00 ........ ....
0000 08 00 06 01 00 03 aa 00 04 00 3e 04 00 1c fe fe ........ ..>.....
0010 03 00 07 f0 09 1a 80 00 00 ca 53 35 10 01 03 05 ........ ..S5....
0020 03 08 01 6e 00 05 00 01 ff 02 00 00 00 00 00 00 ...n.... ........
0030 00 00 00 00 00 00 00 00 00 00 00 00 ........ ....
0000 aa 00 04 00 3e 04 08 00 06 01 00 03 00 0e fe fe ....>... ........
0010 03 00 09 60 d1 04 00 00 00 cb 00 00 10 01 03 06 ...`.... ........
0020 0f 03 00 ff 07 05 00 01 ff 02 2f f2 53 20 01 0a ........ ../.S ..
0030 c6 01 03 c4 01 01 c3 02 c2 a7 00 00 ........ ....
0000 aa 00 04 00 3e 04 08 00 06 01 00 03 00 1e fe fe ....>... ........
0010 03 00 07 f0 d1 04 80 00 00 ca 53 35 10 01 03 06 ........ ..S5....
0020 0f 03 00 ff 07 05 00 01 ff 02 30 67 53 20 01 0a ........ ..0gS ..
0030 c6 01 03 c4 01 01 c3 02 c2 a7 00 00 ........ ....
0000 08 00 06 01 00 03 aa 00 04 00 3e 04 00 0e fe fe ........ ..>.....
0010 03 00 09 60 09 1a 00 00 00 cb 00 00 00 00 00 00 ...`.... ........
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
0030 00 00 00 00 00 00 00 00 00 00 00 00 ........ ....
0000 aa 00 04 00 3e 04 00 0d 56 d9 cb 64 08 00 45 00 ....>... V..d..E.
0010 00 38 2c f1 40 00 80 06 00 00 9f 97 63 1e 9f 97 .8,.@... ....c...
0020 63 1c 0f 2e 13 97 5d 42 1d 39 00 00 0e 44 50 18 c.....]B .9...DP.
0030 fa 74 05 94 00 00 53 35 10 01 03 05 03 08 01 6e .t....S5 .......n
0040 00 05 00 01 ff 02 ......
0000 00 0d 56 d9 cb 64 aa 00 04 00 3e 04 08 00 45 00 ..V..d.. ..>...E.
0010 00 3a a1 14 00 00 fe 06 16 40 9f 97 63 1c 9f 97 .:...... .@..c...
0020 63 1e 13 97 0f 2e 00 00 0e 44 5d 42 1d 49 50 18 c....... .D]B.IP.
0030 06 1c 4b f2 00 00 53 35 10 01 03 06 0f 03 00 ff ..K...S5 ........
0040 07 05 00 01 ff 02 30 67 ......0g