Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
14<br />
Tips og tricks<br />
Datablok-kontrol i S7-1200<br />
AF ALMEDIN DAUTOVIC<br />
I STEP7 V11 er det nu muligt at kopiere værdierne<br />
fra en datablok (DB) i PLC’ens load memory til en DB<br />
i PLC’ens work memory via READ_DBL- og WRIT_DBLfunktionsblokke<br />
og vice versa.<br />
Brug af disse blokke vil især være interessant, hvis der i<br />
applikationen arbejdes med store datablokke i forbindelse<br />
med fx recepthåndtering.<br />
I så fald kan man nøjes med en DB i PLC’ens work memory,<br />
og afhængigt af den recept, som skal bruges i det<br />
pågældende tilfælde, kan man ved hjælp af READ_DBL læse<br />
startværdierne for recepten fra en DB i load memory.<br />
Ønsker man at opdatere værdierne for en recept i en DB i<br />
load memory, klares dette ved hjælp af WRIT_DBL-blokken.<br />
Når man bruger WRIT_DBL-blokken, skriver man til fl ash<br />
memory, hvilket er vist i fi gur 1.<br />
Figur 1.<br />
READ_DBL og WRITE_DBL kaldes frem i STEP7-programmet.<br />
For begge blokke gælder det, at der overføres værdier fra en<br />
’Source Block’ (SRCBLK) til en ’Destination Block’ (DSTBLK).<br />
Disse datablokke genereres, inden READ_DBL og WRITE_DBL<br />
kaldes i programmet.<br />
SRCBLK og DSTBLK skal være af samme type. Hvis SRCBLK er<br />
oprettet som værende af typen ’Optimized’, skal DSTBLK være<br />
af samme type. Det samme gør sig gældende for DB’er af<br />
typen ’Standard’.<br />
Overførsel af data startes ved at ’trigge’ REQ-inputtet på<br />
den pågældende blok. Ved at overvåge BUSY- og RET_VALudgange<br />
kan man sikre sig, at data er blevet overført, og at<br />
der ikke har været fejl undervejs.<br />
For READ_DBL og WRITE_DBL gælder det, at afviklingen af<br />
blokken er acyklisk og spænder over fl ere blokkald.<br />
For at sikre at data er konsistente, må værdierne i DSTBLK<br />
ikke modifi ceres under afviklingen af READ_DBL. Ligeledes<br />
må værdierne i SRCBLK ikke modifi ceres under afviklingen af<br />
WRITE_DBL.