Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens simatic s5 Handbuch Seite 278

Vorschau ausblenden Andere Handbücher für simatic s5:
Inhaltsverzeichnis

Werbung

Programmbeispiele
Mefine MAXBUF 4048
/*
Maximallaenge Baustein
=
4 kByte
*/
#define
READ
0
/*
Baustein von CPü lesen
*/
#define
W T E
1
/*
Baustein in CPU schreiben
*/
char puf£er[MAXBUF];/* Speicher M dynamischen RAEl
*/
s
truc
t
awauf
/*
Parameterblock als Struktur
*/
{
/*
Schnittstelle her CP551-Anwenderauf-*/
/*
ruf
*/
char Srp;
/*
Read oder Write Daten
*/
char ssnr;
/*
Kachelnummer ( 0 oder 1 )
*/
char cpunr;
/*
gevuenschte CPU
*/
char ag-[2];
/*
Datentyp von CPü (Namen wie Hant.
*/
/*
baust.)
*/
char agnr
;
/*
Bausteinrnmnner in CPU
*/
int aganf
;
/*
Anfangsadresse
*/
int aglae
;
/*
iaenge des Bereichs
*/
char 9uffer;
/*
Addresse des Puffers
*/
1
/*
Die Struktur wird nun fuer bestimmte Zwecke initialisiere/
struct awauf lese-mb2
.=
{W,
0, 1, 'M', 'B', 0, 2, 1, puffer);
struct awauf set-nb2
=
{WRITE,O, 1, 'M', 'B', 0, 2, 1, puffer};
struct awauf schrhrdbll= {WRITE,O, 1, 'D', 'B',11, 0,256, puffer};
Diese Strukturen bilden den Parameterblock, dessen Adresse dem
Assemblerprogramm übergeben wird. Der Aufruf sieht folgendermaßen
aus
:
/*
h s e Merkerbyte 2 von der CPU 1 und bring es in puffer[O]
*/
status
=
INT33 (&lese-mb2);
/*
Schreibe puffer[O] nach Merkerbyte 2 der CPU 1
*/
status
=
WT33 (&et-nb2)
;
/*
Durch logische Verknuepfungen koennen durch diese beiden
*/
/*
Aufrufe auch einzelne Bits des
MB
2 gesetzt werden
*/
/*
Schreibe puffer[O] bis puffer[511] nach DBll von DWO bis DW255
*/
status
=
INT33 (&chr-dbll)
;

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis