+ All Categories
Transcript

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 1

DATASNAKE MPI

Technische Dokumentation

Stand 09.2000

Softwareversion 2.03 (L1 Protokoll) 2.03R (3964R Protokoll)

Schildknecht IndustrieelektronikEinsteinstraße 1074372 Sersheim

Tel.: 07042-84 10 61Fax.:07042-84 00 51

Die Firma Schildknecht Industrieelektronik behält sich das Recht vor, Änderungen an ihren Produktenvorzunehmen, die der technischen Weiterentwicklung dienen. Diese Änderungen werden nichtnotwendigerweise in jedem Einzelfall dokumentiert.

Dieses Handbuch und die darin enthaltenen Informationen wurden mit der gebotenen Sorgfaltzusammengestellt. Die Firma Schildknecht übernimmt jedoch keine Gewähr für Druck- oder andere Fehleroder daraus entstehende Schäden.

Die in diesem Buch genannten Marken und Produktnamen sind Warenzeichen oder eingetrageneWarenzeichen der jeweiligen Titelhalter.

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 2

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 3

1.Einleitung:

Die DATASNAKE MPI stellt eine kostengünstige Verbindung zwischen einem beliebigenFremdsystem mit RS232 Schnittstelle und dem SIEMENS MPI Bus dar. Die Ankopplung andas Fremdsystem erfolgt, abhängig von der Version, entweder über ein L1-Master Protokollmit einer Baudrate von 38400 Baud und dem Format 8/E/1 bzw. das 3964R- Protokoll mit38400 Baud und dem Format 8/E/1.Die DATASNAKE ist MPI- Master und unterstützt die Funktionen „Variable schreiben“und „Variable lesen“, sowie die Funktionen „Operandenbereiche schreiben / lesen“ .

2. Ablauf:

Nach dem Powerup muß die DATASNAKE vom Fremdsystem durch ein„MPI_BRIDGE_INIT“- Telegramm für den Busbetrieb konfiguriert werden. Hierbei werdenu.a. die Adressen für den Busteilnehmer, mit dem kommuniziert werden soll (Partneradresse)(z.B. SIEMENS S7- SPS ), sowie die Busadresse der DATASNAKE (Stationsadresse)vergeben.

Nach fehlerfreier Konfiguration versucht die DATASNAKE selbständig eine Verbindung zuder Partnerstation am Bus aufzubauen, deren MPI- Adresse mit der konfiguriertenPartneradresse übereinstimmt. Über ein von der DATASNAKE zur Verfügung gestelltesSTATUS- Byte wird dem Fremdsystem mitgeteilt, wann die DATASNAKE für denAustausch von Datentelegrammen mit der Partnerstation bereit ist.

Um zyklisch Daten von der Partnerstation zu lesen, pollt das Fremdsystem die DATASNAKEständig mit einem „READ_VAR“- bzw. „OP_READ“- Telegramm. Die DATASNAKEantwortet dann entweder mit einem Statustelegramm, das die Bearbeitung der„READ_VAR“– bzw. OP_READ- Anforderung anzeigt (BUSY) , oder mit einemDatentelegramm als Antwort auf eine vorhergehende Lese- bzw. Schreibanforderung.Bei einer Schreibanforderung setzt das Fremdsystem ein „WRITE_VAR“- bzw.„OP_WRITE“- Telegramm an die DATASNAKE ab. Nach einigen Pollzyklen (abhängig vonder Abfragefrequenz des Fremdsystems) erfolgt ein Quittierungstelegramm.

Soll während des Betriebs eine neue Verbindung zu einer anderen Partnerstationaufgenommen werden, so ist zuvor die bestehende Verbindung mit einem„MPI_BRIDGE_DISCONNECT“- Telegramm abzubauen.Über ein „MPI_BRIDGE_INIT“- Telegramm kann nun die neue Verbindung eingerichtetwerden.Durch ein „MPI_BRIDGE_RESET“- Telegramm kann die DATASNAKE in ihrenEinschaltzustand versetzt werden. Sämtliche evtl. noch ausstehende Datenanforderungenwerden gelöscht. Die DATASNAKE zieht sich vom Bus zurück.Der Handshake zwischen DATASNAKE und Fremdsystem wird über das Statusbyte„STATUS“ abgewickelt. Das STATUS- Byte kann jederzeit über eine STATUS_ABFRAGEabgefragt werden. Stehen auf der DATASNAKE noch Daten auf eine vorhergehendeAnforderung an, werden diese auf eine STATUS_ABFRAGE hin zum Fremdsystemgesendet.

DA

TA

SN

AK

E M

PI

Dok

umen

tati

onF

irm

a S

chil

dkne

cht

Sei

te: 4

3. P

roto

koll

abla

uf

sch

emat

isch

:

3.1

Ver

bind

ungs

aufb

au:

Fre

mds

yste

m:

MP

I_B

RID

GE

_IN

ITS

TA

TU

S_A

BF

RA

GE

......

......

......

....

ST

AT

US

_AB

FR

AG

ES

TA

TU

S _

AB

FR

AG

E

DA

TA

SN

AK

E:

ST

AT

US

≠ 01

......

......

......

....

ST

AT

US

≠ 01

ST

AT

US

= 0

1„b

erei

t“

Nac

h er

folg

reic

hem

Ver

bind

ungs

aufb

au (

Sta

tus

= 0

1) ,i

st d

ie D

AT

AS

NA

KE

ber

eit,

Dat

en m

it d

er S

7 au

szus

taus

chen

.

3.2

Dat

enan

ford

erun

g (B

sp. O

P_R

EA

D, „

Pol

ling

“):

Fre

mds

yste

m:

OP

_RE

AD

ST

AT

US

_AB

FR

AG

E ..

......

......

......

.....

ST

AT

US

_AB

FR

AG

ED

AT

AS

NA

KE

:S

TA

TU

S =

01

(„an

geno

mm

en“)

.....

......

......

......

..S

TA

TU

S =

01

+D

aten

antw

ort

Abh

ängi

g vo

n de

r A

bfra

gefr

eque

nz d

es F

rem

dsys

tem

s un

d de

r A

ntw

ortz

eit d

er S

teue

rung

wer

den

unte

rsch

iedl

ich

viel

e P

ollz

ykle

n no

twen

dig.

3.3

Dat

enan

ford

erun

g (B

sp. O

P_R

EA

D, „

Req

uest

“):

Fre

mds

yste

m:

OP

_RE

AD

„n“

OP

_RE

AD

„n+

1“ ..

......

......

......

OP

_RE

AD

„n+

1“D

AT

AS

NA

KE

:S

TA

TU

S =

01

(„an

geno

mm

en“)

ST

AT

US

= 0

2(„

busy

+ n

icht

ang

enom

men

“) ..

......

......

......

ST

AT

US

= 0

1 +

Dat

enan

twor

t „n“

(Anf

. „n+

1“ a

ngen

omm

en)

Sta

tt e

iner

ST

AT

US

_AB

FR

AG

E k

ann

zum

Abf

rage

n de

r D

aten

antw

ort a

uch

bere

its

die

näch

ste

Dat

enan

ford

erun

g ge

send

et w

erde

n. W

ird

die

Anf

orde

rung

„n“

noc

h be

arbe

itet

, mel

det d

ie D

AT

AS

NA

KE

übe

r da

s S

TA

TU

S-

Byt

e so

lang

e „b

usy“

, bis

die

Dat

enan

twor

t „n“

auf

der

MP

I- S

eite

eing

etro

ffen

ist.

Bei

ein

em A

nfor

deru

ngsz

yklu

s >

ca.

50m

s (a

bhän

gig

von

der

Ant

wor

tzei

t der

Ste

ueru

ng b

zw. d

er B

usau

slas

tung

) w

ird

i.a. j

ede

Anf

orde

rung

ang

enom

men

.

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 5

4. Telegrammbeschreibung:

4.1 L1- Protokoll

Allgemeiner Telegrammaufbau:

(Alle Angaben sind in hex!)Fremdsystem DATASNAKE<BR>1 <41>

<01><40> <Länge L1>2 <BCC1>3

<00> <COMMAND> <Daten> .... <BCC2>4

<40>5 <Länge L1> <BCC1>6

<00> <STATUS> <Daten> ... <BCC2>7

<04> <QUIT>8 <BCC3>9

1 Das Zeichen <BR> ist eine <00> mit Stopbit = 0.

2 Länge L1 = COMMAND + Anzahl Daten bzw. STATUS + Anzahl Daten3 BCC1 Exclusivodersumme aus <41> <40> <Länge L1>4 BCC2 Exclusivodersumme aus <BCC1> <COMMAND> <DATEN>5 <40> L1- Protokoll- Rahmen ok. <41> L1- Protokoll- Rahmen nicht ok, Telegramm wird verworfen.6 BCC1 Exclusivodersumme aus <40> <Länge L1>7 BCC2 Exclusivodersumme aus <BCC1> <STATUS> <DATEN>8 <80> bei fehlerfreiem Empfang der Daten von der DATASNAKE (Auswertung wird derzeit nicht unterstützt) <C0> bei fehlerhaften Datenempfang9 BCC3 Exclusivodersumme aus <04> und QUIT

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 6

4.2 3964R- Protokoll :

Allgemeiner Telegrammaufbau:

(Alle Angaben sind in hex!)Fremdsystem DATASNAKE<02>1

<10>2

<COMMAND> <Daten> 3

<10> <03> <BCC>4

<10>5 <02>6

<10>7

<STATUS> <Daten>8

<10> <03> <BCC>9

<10>10

1 Zum Telegrammbeginn sendet das Fremdsystem das Startzeichen <02> (STX) und wartet für die Dauer dersog. Quittungsverzugszeit (QVZ ca. 2 Sek. ) auf eine Antwort von der DATASNAKE.2 Ist die Datasnake bereit, wird mit <10> (DLE) quittiert. Antwortet die DATASNAKE mit einem anderenZeichen, z.B. <15> NAK oder verstreicht die QVZ ohne Reaktion der DATASNAKE, ist derVerbindungsaufbau gescheitert. Das Fremdsystem versucht nun erneut durch das Aussenden von STX, eineVerbindung herzustellen. Nach insgesamt 6 vergeblichen Versuchen bricht das Fremdsystem ab.3 Nach positiver Quittierung geht das Fremdsystem in den Sendebetrieb über. Der zeitliche Abstand der Zeichendarf nicht mehr als 220ms betragen (Zeichenverzugszeit ZVZ) . Wir von der DATASNAKE eine Überschreitungder ZVZ erkannt, bricht sie ihren Empfangsvorgang ab und meldet das Zeichen NAK zurück.Hinweis: Hat das COMMAND- Byte bzw. ein Datum den Wert 10hex (DLE) , so muß dieses Zeichen jeweilsdoppelt gesendet werden ! (DLE- Verdopplung )4 BCC Exclusivodersumme aus <COMMAND> <DATEN> <10> <03>5 Wurde ein Telegramm korrekt empfangen meldet die DATASNAKE DLE. Antwortet die DATASNAKE miteinem anderen Zeichen, z.B. NAK bzw. verstreicht die QVZ ohne Reaktion, beginnt das Fremdsystem durch daserneute Aussenden von STX das Telegramm zu wiederholen. Nach insgesamt 6 vergeblichen Versuchen brichtdas Fremdsystem ab.6 Nach korrektem Empfang beginnt die DATASNAKE mit dem Senden eines Daten bzw. Statustelegramms undwartet für die Dauer der QVZ auf eine Quittung vom Fremdsystem.Hinweis: Es wird auf jede korrekte Anforderung vom Fremdsystem ein Antworttelegramm geschickt !7 Ist das Fremdsystem bereit, wird mit DLE quittiert. Meldet das Fremdsystem NAK oder ein anderes Zeichen,bzw. verstreicht die QVZ ohne Reaktion, versucht die DATASNAKE erneut durch das Senden von STX eineVerbindung herzustellen. Nach insgesamt 6 vergeblichen Versuchen bricht die DATASNAKE ab.Evtl. noch ausstehende Datenantworten werden verworfen.8 Nach positiver Quittierung geht die DATASNAKE in den Sendebetrieb über. Das Fremdsystem überwacht dieZVZ. Wird eine Überschreitung der ZVZ erkannt, bricht es seinen Empfangsvorgang ab und meldet das ZeichenNAK zurück.Hinweis: Hat das STATUS- Byte bzw. ein Datum den Wert 10hex (DLE) , so wird dieses Zeichen jeweils doppeltgesendet ! ( DLE- Verdopplung )9 BCC Exclusivodersumme aus <STATUS> <DATEN> <10> <03>.10 Wurde ein Telegramm korrekt empfangen, meldet das Fremdsystem DLE, bei fehlerhaftem Empfang wird mit<15> (NAK) quittiert. Antwortet das Fremdsystem mit einem anderen Zeichen, z.B. NAK bzw. verstreicht dieQVZ ohne Reaktion, beginnt die DATASNAKE durch das erneute Aussenden von STX das Telegramm zuwiederholen.Nach insgesamt 6 vergeblichen Versuchen bricht die DATASNAKE ab. Evtl. noch ausstehende Datenantwortenwerden verworfen.

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 7

Kommandos: (ohne Protokollrahmen)

a.) MPI_BRIDGE_INIT: (COMMAND = 01)

Fremdsystem (in HEX) DATASNAKE (in HEX) Kommentar<COMMAND = 01><SA><PA><HSA>1

<GAP_UP>2

<TIMEOUT>3

<Reserviert><Reserviert>

DATASNAKE MPI- Adr.MPI- Adr. Partner (S7)Höchste StationsadresseGAP Aktualisierungsfaktor,Data- Timeout<00><00>

<STATUS><Versionsstring>4>

b.) STATUS _ABFRAGE: (COMMAND = 03)

Fremdsystem (in HEX) DATASNAKE (in HEX) Kommentar<COMMAND = 03>

<STATUS>evtl. Daten

Stehen aktuelle Daten an ,werden diese auf eineSTATUS_ABFRAGE hinzum Fremdsystem gesendet.

1 <1F> hex2 typisch <03> hex3 Timeoutzeit zw. Anforderung und Antwort auf MPI- Seite, typisch <01>4 Versionsstand ASCII- Zeichen „2.03“ bzw. „2.03R“

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 8

c.) MPI_BRIDGE_DISCONNECT: (COMMAND = 02)

Fremdsystem (in HEX) DATASNAKE (in HEX) Kommentar<COMMAND = 02> Verbindungsabbau

<STATUS><Daten>1

d.) MPI_BRIDGE_RESET:(COMMAND = 88h)

Fremdsystem (in HEX) DATASNAKE (in HEX) Kommentar<COMMAND = 88h><11>

DATASNAKE Reset

<STATUS>

1 evtl. noch Datenantwort von vorhergehender Lese- bzw. Schreibanforderung

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 9

e.) READ_VAR Telegramm (COMMAND = 0) , Aufruf Datenworte lesen:

Fremdsystem (in HEX) DATASNAKE (in HEX)<COMMAND = 00><32> <07><00> <00><01> <00><00> <0C><Länge Hi,Lo>1

<00> <01> <12> <08> <12><41><02><00><00> <00><00> <00>

<FF> <09><Gesamtlänge Hi,Lo>2

<00> <14><Länge Data2 Hi,Lo>3

<00> <00> <00> <00><00><01><Pufferlänge Hi, Lo>4

<00> <01><00> <01> <00> <01> <00> <01><00> <01><00> <00>

<Anz. Variablenblocks Hi,Lo> 5

<72><Variablenanzahl>6

<Lese - DB Hi, Lo><DBW- Adresse Hi, Lo>7

Var-spec-block

evtl. weitere Var- spec- blocks

1 Länge = Gesamtlänge + 42 Gesamtlänge = Länge Data2 + 18 hex3 Länge Data2 = 6 * Anzahl Variablenblocks + 24 Pufferlänge = 4 * Anzahl Variablenblocks + Anzahl aller angeforderten Nettodaten in Byte + 25 Anzahl Variablenblocks = pro READ_VAR- Aufruf können mehrere, verschiedene Variablenblocks „gleichzeitig“ adressiert werden , pro Variablenblock ist ein Var- spec- block nötig.6 Anzahl der angeforderten Variablen pro Variablenblock (in Worte )7 Adresse des ersten zu lesenden Datenworts des Variablenblocks im Datenbaustein, z.B DBW 10 ! 00 0A hex

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 10

e1.) Antwort DATASNAKE :

Fremdsystem (in HEX) DATASNAKE (in HEX)Daten von letzter Leseanforderung!<STATUS><32> <07><00> <00><00> <00><00> <0C><Länge Hi, Lo>1

<00> <01> <12> <08> <12><01><02><??><00> <00><00> <00>

<FF> <09><Gesamtlänge Hi, Lo>2

<00> <04><Pufferlänge Hi,Lo>3

<01> <00> <00> <??>

<Anz. Variablenblocks Hi,Lo>4

<FF> <09>5

<Nettodatenlänge Hi, Lo>6

<DATEN> ...

Var-data-block

evtl. weitere Var- data- blocks

1 Länge = Gesamtlänge + 42 Gesamtlänge = Pufferlänge + 8 (in Byte)3 Pufferlänge = 4 * Anzahl Variablenblocks + Anzahl aller angeforderten Nettodaten in Byte + 24 Anzahl Variablenblocks = entspr. der Anfrage im READ_VAR- Aufruf5 keine Daten verfügbar: 0A 00 00 00, nächster Var- data- block bzw. BCC26 Nettodatenlänge im Variablenblock in Byte

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 11

f.) WRITE_VAR Telegramm: (COMMAND = 0), Aufruf Datenworte schreiben:

Fremdsystem (in HEX) DATASNAKE (in HEX)< COMMAND = 00><32> <07><00> <00><00> <01><00> <0C><Länge Hi, Lo>1

<00> <01> <12> <08> <12><41><08><00><00> <00><00> <00>

<FF> <09><Gesamtlänge Hi, Lo>2

<00> <14><Länge Data 2 Hi, Lo>3

<00> <00> <00> <00><00> <01><Pufferlänge Hi, Lo>4

<00> <01><00> <01> <00> <01> <00><01> <00> <01><00> <00>

<Anz. Variablenblöcke Hi,Lo>5

<72><Variablenanzahl>6

<Schreib – DB Hi,Lo><DBW- Adresse Hi, Lo>7

Var-spec-block

evtl. weitere Var- spec- blocks

<00> <09><Länge Nettodaten Hi, Lo>8

<DATEN>

Var-data-block

evtl. weitere Var- data- blocks

1 Länge = Gesamtlänge + 4 (in Byte)2 Gesamtlänge = Länge Data 2 + 18 hex (in Byte)3 Länge Data 2 = Anzahl Variablenblöcke * 10 + Anzahl aller Nettodaten (in Byte) + 24 Pufferlänge = Anzahl Variablenblöcke (auf gerade Anzahl ergänzt ) + 25 Anzahl Variablenblöcke = pro WRITE_VAR- Aufruf können mehrere, unterschiedliche Variablenblocks „gleichzeitig“ adressiert werden, pro Variablenblock ist ein Var- spec- block und ein Var- data- block nötig.

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 12

6 Anzahl der zu schreibenden Datenworte pro Variablenblock7 Adresse des ersten zu schreibenden Datenworts des Variablenblocks im Datenbaustein8 Anzahl der zu schreibenden Nettodaten pro Variablenblock in Byte

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 13

f1.) Antwort DATASNAKE :

Fremdsystem (in HEX) DATASNAKE (in HEX)Quittierung von der letztenSchreibanforderung!<STATUS><32> <07><00> <00><00> <00><00> <0C><Länge Hi, Lo>1

<00> <01> <12> <08> <12><01><08><??><00> <00><00> <00>

<FF> <09><Gesamtlänge Hi, Lo>2

<00> <04><Länge Data 2 Hi, Lo>3

<01> <00> <00> <??>

<Anz. Variablenblöcke Hi, Lo>4

<xx> ...... <xx / 00> 5 Var- data- block

1 Länge = Gesamtlänge + 42 Gesamtlänge Hi, Lo = Länge Data 2 + 83 Länge Data 2 = Anzahl der Variablenblöcke ( auf gerade Anzahl ergänzt ) + 24 Anzahl Variablenblöcke = entspr. der Anfrage im WRITE_VAR- Aufruf5 xx = FF hex : Variable bzw. Variablenblock gesetzt xx = 0A hex : Variable nicht gesetzt (Für jeden Variablenblock ein Datum <xx> als Rückmeldung. Bei ungerader Anzahl d. Variablenblöcke wird 00 hex als Füllbyte angehängt.)

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 14

Beim „Variable schreiben“ in S7-3xx/4xx Steuerungen muß der Schlüsselschalter derSPS auf „RUN- P“ stehen! Die DATASNAKE ist sonst nicht in der Lage, einenvollständigen Datentelegrammzyklus mit der S7 abzuwickeln. Die DATASNAKEsignalisiert dies durch eine Neukonfigurationsanforderung mit gesetztem Fehlerbitim Status – Byte.

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 15

Data 1Block

g.) OP_READ Telegramm (COMMAND = 0) , Aufruf Datenworte lesen:

Fremdsystem (in HEX) DATASNAKE (in HEX)<COMMAND = 00><32> <01><00> <00><00> <01><Länge Data1 Hi, Lo>1

<00> <00>

<04><Anz. Data 1 Blocks><12><0A><10><04><Anz. Worte Hi,Lo><Lese - DB Hi, Lo><84><Adr. Hi> <Mid> <Adr. Lo> 2

evtl. weitere Data 1 Blocks

1 Länge Data 1 = Anzahl Data 1 Blocks * 12 + 22 Adresse des ersten zu lesenden Datenworts in Bit, Bsp: DBW10 ! 00 00 50 hex

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 16

g1.) Antwort DATASNAKE:

Fremdsystem (in HEX) DATASNAKE (in HEX)Quittierung von der letztenLeseanforderung !<STATUS><32> <03><00> <00><00> <01><00> <02><Länge Data 2 Hi, Lo>1

<Error Hi,Lo>

<04><Anzahl Data 2 Blocks>

<FF>2

<04><Anz. Daten in Bit Hi,Lo>3

<Daten + evtl. 1 Füllbyte>

evtl. weitere Data 2 Blocks

1 Länge Data 2 = Anzahl Data 2- Blocks * (4 + Anzahl Daten in Byte + evtl. 1 Füllbyte (wenn Anz. Daten

ungerade ist und es sich nicht um den letzten Data2 Block handelt.))2 kein Fehler: <FF> , Aufbau des Data 2- Blocks wie oben. Fehler : <z.B. 0A> (keine Daten) , Aufbau des Data 2 Blocks: <0A> <00> <00> <00> , keine Daten3 Anzahl Daten in Bit: entspricht der Anzahl Datenworte * 16

Data 2 Block

DATASNAKE MPI Dokumentation Firma Schildknecht

Data 1Block

h.) OP_WRITE Telegramm (COMMAND = 0), Aufruf Datenworte schreiben:

Fremdsystem (in HEX) DATASNAKE (in HEX)<COMMAND = 00><32> <01><00> <00><00> <01><Länge Data1 Hi, Lo>1

<Länge Data 2 Hi, Lo>2

<05><Anz. Data 1, Data 2 Blocks>3

<12><0A><10><04><Anz. Worte Hi,Lo><Schreib - DB Hi, Lo><84><Adr. Hi> <Mid> <Adr. Lo> 4

evtl. weitere Data 1 Blocks

<00> <04><Anz. Daten in Bit H<Daten> + evtl. Füllb

evtl. weitere Data 2 Blocks

<BCC2>

1 Länge Data 1 = Anzahl D2 Länge Data 2 = Anzahl D3 Zu jedem Data 1- Block4 Adresse des ersten zu les5 Anzahl Daten in Bit: ent6 Wenn Anzahl Datenbyte

Data 2- Block

Seite: 17

i,Lo>5

yte6

ata 1/ 2 Blocks * 12 + 2ata 1/ 2 Blocks * 4 + Summe Nettodaten in Byte + evtl. 1 Füllbyte pro Block

gehört 1 Data 2- Blockenden Datenworts in Bit, Bsp: DBW10 ! 00 00 50 hexspricht der Anzahl Datenworte * 16s ungerade und nicht der letzte Data 2- Block 1 Füllbyte

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 18

h1.) Antwort DATASNAKE:

Fremdsystem (in HEX) DATASNAKE (in HEX)Quittierung von der letztenLeseanforderung !<STATUS><32> <03><00> <00><00> <01><00> <02><Länge Data 2 Hi, Lo>1

<Error Hi,Lo>

<05><Anzahl Data 2 Blocks>

<FF>2

evtl. weitere Data 2 Blocks

1 Länge Data 2 = Anzahl Data 2 Blocks2 kein Fehler, d.h. Daten geschrieben: <FF> , Fehler: <0A>

Data 2 Block

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 19

Mit der Funktion OP_WRITE lassen sich Daten in die Steuerung schreiben,unabhängig von der Stellung des Schlüsselschalters an der S7 !

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 20

5.Beschreibung der Funktionsbytes:

COMMAND Byte

<00> ... Datenanforderung (Lesen /Schreiben)<01> ... MPI_BRIDGE_INIT<02> ... MPI_BRIDGE_DISCONNECT<03> ... STATUS_ABFRAGE<88> ... MPI_BRIDGE_RESET

STATUS Byte:

Bit Name BedeutungB0 CMD_ACCEPT Kommando angenommen.

(Statusabfragen werden immer angenommen )

B1 BUSY Kommando wird noch bearbeitet(Wird bei Setzen von B2 gelöscht)

B2 ERROR Allgemeiner Fehler(Wird derzeit nur in Verbindung mit B3 gesetzt)

B3 LINK_ERROR Verbindung abgebrochen, Neukonfigurationerforderlich

B4 CONFIG_ERROR Konfigurationsfehler(Überprüfung auf HSA < 20hex., HSA ≥ PA bzw.SA, PA ≠ SA, GAP_UP = 0)

B5 ReserviertB6 NO_PARTNER Partnerstation nicht vorhanden

(bleibt nach Erstinitialisierung noch anstehen, bisDATASNAKE Kommunikation zum Partneraufgenommen hat)

B7 BUS_FAIL keine weitere aktive Station am Bus(es ist keine aktive Station am Bus, mit der Datenausgetauscht werden könnten)

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 21

Data 1Block

6. Beispiele :

6.1 L1- Protokoll, OP_READ_TELEGRAMM:

Fremdsystem (in HEX) MPI Bridge (in HEX)<BR> <41>

<01><40> <Länge L1>1<BCC1><00> <00><32> <01><00> <00><00> <01><Länge Data1 Hi, Lo>2

<00> <00>

<04><Anz. Data 1 Blocks><12><0A><10><04><Anz. Worte Hi,Lo><Lese - DB Hi, Lo><84><Adr. Hi> <Mid> <Adr. Lo> 3

evtl. weitere Data 1 Blocks<BCC2>

Quittierung von der letzten Leseanforderung !<40> <Länge L1>4 <BCC1><00> <STATUS><32> <03><00> <00><00> <01><00> <02><Länge Data 2 Hi, Lo>5

<Error Hi,Lo>

<04><Anzahl Data 2 Blocks>

<FF>6

<04><Anz. Daten in Bit Hi,Lo>7

<Daten + evtl. 1 Füllbyte>

evtl. weitere Data 2 Blocks

<BCC2>

<40> <QUIT> <BCC3>

1 Länge L1 = Länge Data 1 + 0B hex.2 Länge Data 1 = Anzahl Data 1 Blocks * 12 + 23 Adresse des ersten zu lesenden Datenworts in Bit, Bsp: DBW10 ! 00 00 50 hex4 Länge L1= Länge Data 2+ 0F hex5 Länge Data 2 = Anzahl Data 2- Blocks * (4 + Anzahl Daten in Byte + evtl. 1 Füllbyte (wenn Anz. Daten

ungerade ist und es sich nicht um den letzten Data2 Block handelt.))6 kein Fehler: <FF> , Aufbau des Data 2- Blocks wie oben. Fehler : <z.B. 0A> (keine Daten) , Aufbau des Data 2 Blocks: <0A> <00> <00> <00> , keine Daten7 Anzahl Daten in Bit: entspricht der Anzahl Datenworte * 16

Data 2 Block

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 22

6.2 3964R- Protokoll, OP_READ_TELEGRAMM:

Fremdsystem (in HEX) MPI Bridge (in HEX)<02>

<10><00>1

<32> <01><00> <00><00> <01><Länge Data1 Hi, Lo>2

<00> <00>

<04><Anz. Data 1 Blocks><12><0A><10><04><Anz. Worte Hi,Lo><Lese - DB Hi, Lo><84><Adr. Hi> <Mid> <Adr. Lo> 3

evtl. weitere Data 1 Blocks<10> <03> <BCC>

<10> <02><10>

Quittierung von der letzten Leseanforderung !<STATUS> 4

<32> <03><00> <00><00> <01><00> <02><Länge Data 2 Hi, Lo>5

<Error Hi,Lo>

<04><Anzahl Data 2 Blocks>

<FF>6

<04><Anz. Daten in Bit Hi,Lo>7

<Daten + evtl. 1 Füllbyte>

evtl. weitere Data 2 Blocks

<10> <03> <BCC><10>

1 DLE- Verdopplung beachten !2 Länge Data 1 = Anzahl Data 1 Blocks * 12 + 23 Adresse des ersten zu lesenden Datenworts in Bit, Bsp: DBW10 ! 00 00 50 hex4 DLE- Verdopplung beachten !5 Länge Data 2 = Anzahl Data 2- Blocks * (4 + Anzahl Daten in Byte + evtl. 1 Füllbyte (wenn Anz. Daten

ungerade ist und es sich nicht um den letzten Data2 Block handelt.))6 kein Fehler: <FF> , Aufbau des Data 2- Blocks wie oben. Fehler : <z.B. 0A> (keine Daten) , Aufbau des Data 2 Blocks: <0A> <00> <00> <00> , keine Daten7 Anzahl Daten in Bit: entspricht der Anzahl Datenworte * 16

Data 2 Block

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 23

DATASNAKE Stückliste

V1.0 Stand: 4/99

l.Nr Position Anz. Bezeichnung Hersteller Preis in DM(pro 100St.)

1 IC 1 1 MPI-Controller Schildknecht 88,000 DM2 LP 1 Leiterplatte Diverse 8,000 DM3 zu IC 1 1 Sockel PLCC-44 3M 1,000 DM4 IC 2 1 DS1232 SO-8 Dallas 2,000 DM5 IC 3-5 3 HCPL0601 SO-8 HP 6,600 DM6 IC 6 1 75ALS176 SO-8 Texas Instruments 2,380 DM7 IC 7 1 74HC14 SO-14 Texas Instruments 0,360 DM8 DCDC1 1 5V 1W DC/DC Burr Brown 9,800 DM9 Q 1 1 12MHZ Quarz Seiko-Epson 1,000 DM

10 DIL 1 1 2fach DIL-Schalter C+K 1,170 DM11 BU 1 1 9p. DSUB Buchse Harting 1,000 DM12 C 3-6 4 100N G1208 diverse Hersteller 0,123 DM13 C 1+2 2 22p G1208 " 0,560 DM14 R 6 1 1K G1208 " 0,009 DM15 R 16+9 2 10K G1208 " 0,009 DM16 R 14+15 2 100K G1208 " 0,009 DM17 R 3+4,21 3 2K2 G1208 " 0,009 DM18 R1,2,11,17-19 6 330R G1208 " 0,009 DM19 R 5 1 4K7 G1208 " 0,009 DM20 R20 1 200R G1208 " 0,009 DM21 R 7 1 0R G1208 " 0,009 DM22 R 8 1 100R G1208 " 0,009 DM23 D 1 1 Z4,7V Mini-Melf " 0,130 DM

Summe: 122,204 DM

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 24

MPI_EVA Demonstrationssoftware

Version 1.1 (L1 Protokoll)

Version 1.2 (L1 Protokoll)

Version 1.2R (3964R Protokoll)

Schildknecht IndustrieelektronikEinsteinstr. 10

74372 SersheimE-Mail: [email protected]

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 25

Die PC- Software MPI_EVA.EXE ist ein DOS- Programm und dient der einfachenund schnellen Inbetriebnahme der Schildknecht DATASNAKE MPI zur Ankopplungvon Fremdsystemen an SIEMENS Simatic S7- Steuerungen über die MPI-Schnittstelle.

Die Ansteuerung der DATASNAKE vom PC aus erfolgt über die serielle Schnittstelle.Es werden die Funktionen „Variable schreiben“ und „Variable lesen“ (Version 1.1),sowie die Funktionen „Operandenbereiche schreiben /lesen“ (Version 1.2)unterstützt.Ein eingebauter Schnittstellenmonitor verdeutlicht das Ansteuerverhalten derDATASNAKE auf der seriellen Schnittstelle.

Systemvorraussetzungen: DOS ab 5.0, WIN 95 bzw. 98 im DOS- Modus,serielle Schnittstelle COM1 bzw. COM2.

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 26

Bedienung:

Nach dem Aufruf von MPI_EVA.EXE ist der Startbildschirm sichtbar.Mit der Tasten <P> gelangt man zur Parametereingabe. Mit <w> wird zumKommunikationsbildschirm gewechselt. <x> beendet das Programm.

Parametereingabe:Hier werden Einstellungen für die Kommunikation zwischen PC- und DATASNAKE,sowie zwischen S7- Steuerung und der DATASNAKE vorgenommen.Die Einstellungen für die MPI- Kommunikation müssen anschließend alsKonfigurationstelegramm zur DATASNAKE übertragen werden.

COM: Die Einstellung für die PC- Kommunikation beschränkt sich auf die Wahl derseriellen Schnittstelle (COM1, COM2). Die anderen Schnittstellenparameter sind fixeingestellt auf 38400 Bd, 8e1.

MPI- Adresse DATASNAKE:Busadresse der DATASNAKE auf der MPI- Schnittstelle.

MPI- Adresse Partnerstation:MPI- Adresse der Steuerung, mit der kommuniziert werden soll.

Höchste Stationsadresse:Für die selbständige Erkennung andere MPI- Teilnehmer hier bitte die höchste amBus vertretene Teilnehmeradresse einstellen. Ist die höchste Teilnehmeradressenicht bekannt, den Maximalwert eintragen (maximal 31, Vorschlag: 31)

GAP- Aktualisierungsfaktor :Abfragefrequenz für die Erkennung neu hinzukommender MPI- Bus- Teilnehmer.(1 = hoch, 255 =niedrig) (Hinweis: Bis zur DATASNAKE-Version 1.84 hier einen Wert≤ 3 einstellen.

Data- Timeout: (Version 1.2,)ab DATASNAKE- Version 2.00 kann über Data- Timeout die Wartezeit auf eine nochausstehende Datenanforderung parametriert werden. Typisch: <01>

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 27

Kommunikationsbildschirm:

Dient der Eingabe von Sollwerten, die an die Steuerung übertragen werden sollen,sowie zur Darstellung von Istwerten aus der Steuerung.Über die Tasten „o,L,S,K,d,a“ werden Befehle an die DATASNAKE ausgelöst.Das Protokollfenster zeigt den Datenverkehr auf der seriellen Schnittstelle des PC.

Taste <e> :Eingabe von Datenbaustein, Anzahl der Datenworte, Adresse des ersten Datenwortsim Datenbaustein für Lesen und Schreiben. Beim Schreiben zusätzlich Eingabe derWerte, die in die S7 geschrieben werden sollen.

Taste <o> :Absenden eines Konfigurationstelegramms an die DATASNAKE. Erforderlich nachPower- up der DATASNAKE als erstes zu sendendes Telegramm. Nach erfolgreicherKonfiguration geht die DATASNAKE an den Bus und versucht eine Verbindung zurSteuerung auf-zubauen. Ist die Verbindung aufgebaut, liefert die DATASNAKE einStatusbyte <01> bzw. <02>. (siehe Protokollfenster).Danach können Lese- bzw. Schreibanforderungen an die DATASNAKE gesendetwerden.

Taste <L> : Absenden einer Leseanforderung.

Taste <S> : Absenden einer Schreibanforderung

Taste <K> (Vers. 1.2R Taste <a>):Absenden eines Kurztelegramms zur Statusabfrage bzw. zum Pollen von Antwortenauf Schreib- oder Leseanforderungen.

Taste <D> : (nur Version 1.2)Absenden eines Telegramms zum Verbindungsabbau. Die DATASNAKE bautdaraufhin die bestehende logische Verbindung zur Steuerung ab.

Taste <R> : (nur Version 1.2)Absenden eines Reset- Telegramms. Die DATASNAKE nimmt daraufhin ihrenEinschaltzustand ein.

Taste <z> : Zurück zum Startbildschirm

Hinweise:1.) Aus Darstellungsgründen wurde die Datenübertragung auf 12 zu lesende und zu

schreibende Variablen begrenzt.2.) Die Ansteuerung beschränkt sich auf einen zu übertragenden Variablenblock pro

Telegramm. Es können aber auch mehrere Variablenblocks in einem Telegrammangefordert bzw. geschrieben werden. (siehe Doku DATASNAKE MPI)

3.) Werden Daten aus der Steuerung empfangen, wird das Datenfenster fürLesedaten aktualisiert.

4.) Sollen Variable geschrieben werden, muß der Schlüsselschalter an der S7 in derStellung „RUN- P“ stehen.

5.) Eingestellte Datenbausteine und Variablenadressen müssen in der S7 vorhandensein.

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 28

Startbildschirm :

Parametereinstellung:

Kommunikationsbildschirm :

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 29

Pinning DATASNAKE MPI- Chip :

Signalname Gehäuse PLCC44 Gehäuse TQFP 44

OSC 1 21 15OSC 2 20 14TX_ENA 2 40reserviert 3 41RXD_TTL 4 42TXD_TTL 5 43LED (Kathode) 6 44TX_ENA Pol. -Umschaltung

Pin 7 Brücke nach Pin 6 Pin 1 Brücke nach Pin 44

RESET 10 4Pull-Up-Widerstand (10k) 35 29Vcc 44 38Gnd 1, 22, 23 16, 17, 39Strobe (WatchdogTriggerResetbaustein)

33 27

RXD 11 5TXD 13 7INT0 14 8

6 1 40

7

17

18 28

39

29

PLCC 44

44 34

1

11

12 22

33

23

TQFP

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 30

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 31

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 32

Sch

altu

ngsvo

rschla

g m

itin

vertie

rtem

TX

_E

NA

,(E

insch

alt- /R

ese

tverh

alte

nve

rbe

ssert )

DATASNAKE MPI Dokumentation Firma Schildknecht

Seite: 33


Top Related