Das Protokoll ist ja "reverse engineered".
Ich denke das weiß noch niemand von uns so ganz genau.
Du hast ja:
switch ( $this->CPU ) {
case ("S7200"):
//S7200: Chr(193) & Chr(2) & Chr(16) & Chr(0) 'Eigener Tsap
$bSend1[11] = 193;
$bSend1[12] = 2;
$bSend1[13] = 16;
$bSend1[14] = 0;
//S7200: Chr(194) & Chr(2) & Chr(16) & Chr(0) 'Fremder Tsap
$bSend1[15] = 194;
$bSend1[16] = 2;
$bSend1[17] = 16;
$bSend1[18] = 0;
break;
case ("S7300"):
//S7300: Chr(193) & Chr(2) & Chr(1) & Chr(0) 'Eigener Tsap
$bSend1[11] = 193;
$bSend1[12] = 2;
$bSend1[13] = 1;
$bSend1[14] = 0;
//S7300: Chr(194) & Chr(2) & Chr(3) & Chr(2) 'Fremder Tsap
$bSend1[15] = 194;
$bSend1[16] = 2;
$bSend1[17] = 3;
$bSend1[18] = $this->Rack * 2 * 16 + $this->Slot;
break;
case ("S7400"):
//S7400: Chr(193) & Chr(2) & Chr(1) & Chr(0) 'Eigener Tsap
$bSend1[11] = 193;
$bSend1[12] = 2;
$bSend1[13] = 1;
$bSend1[14] = 0;
//S7400: Chr(194) & Chr(2) & Chr(3) & Chr(3) 'Fremder Tsap
$bSend1[15] = 194;
$bSend1[16] = 2;
$bSend1[17] = 3;
$bSend1[18] = $this->Rack * 2 * 16 + $this->Slot;
break;
default:
Wir haben da
static const unsigned char s7_200_connect_block[] =
{3,0,0,22,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,2,'M','W',0xC2,2,'M','W',0xC0,1,9};
static const unsigned char s7_300_connect_block[] =
{3,0,0,22,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,2,1 ,0 ,0xC2,2,1 ,2 ,0xC0,1,9};
static const unsigned char s7_400_connect_block[] =
{3,0,0,22,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,2,1 ,0 ,0xC2,2,1 ,3 ,0xC0,1,9};
static const unsigned char other_connect_block[] =
{3,0,0,22,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,2,1 ,0 ,0xC2,2,0 ,1 ,0xC0,1,9};
unsigned char connect_block[22];
und von außen kann der Benutzer connect_block[17/18] beeinflussen:
if(rack_number != -1) connect_block[17] = rack_number;
if(slot_number != -1) connect_block[18] = slot_number;
Wenn da -1 steht, nimmt er also die default Werte.
Siehe den doConnect()
http://pvbrowser.org/pvbrowser/sf/m...mensTCP.html#14d6ae4a736f17e41fd79a14d3f65abc
aus
http://pvbrowser.org/pvbrowser/sf/manual/rllib/html/classrlSiemensTCP.html
Es wäre schön, wenn wir das allgemeingültig rauskriegen würden.
Also auch für S7_1200.