288
Esipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden ohjelmointi toimintakaaviomuodossa Käsikirja SIMATIC S7

S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

Embed Size (px)

Citation preview

Page 1: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

Esipuhe, sisällysluettelo

Osa 1: TyöskentelyFUP-editorilla

Osa 2: Kielikuvaus

Liitteet

C79000-G7000-C508-02

FUP/FBD S7-300/400Yksiköiden ohjelmointitoimintakaaviomuodossa

Käsikirja

SIMATIC S7

Page 2: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

Tässä käsikirjassa on ohjeita, joita on noudatettava henkilökohtaisen turvallisuuden ja esine-vahinkojen välttämiseksi. Ohjeet on merkitty kolmiolla seuraavasti vaarallisuusasteen mukai-sesti:

!Vaara

tarkoittaa, että aiheutuu kuolema, vaikea ruumiinvamma tai huomattava esinevahinko, jolleitarpeellisia varotoimenpiteitä suoriteta.

!Varoitus

tarkoittaa, että kuolema, vaikea ruumiinvamma tai huomattavia esinevahinkoja saattaa ai-heutua, jollei tarpeellisia varotoimenpiteitä suoriteta.

!Varo

tarkoittaa, että lievä ruumiinvamma tai esinevahinko saattaa aiheutua, jollei tarpeellisia varo-toimenpiteitä suoriteta.

Huomautus

on tärkeä tieto tuotteesta, tuotteen käsittelystä tai käsikirjan siitä osasta, johon tulee kiinnittääerityistä huomiota.

Huomioitava seuraavaa:

!Varoitus

Laitetta saa käyttää vain katalogissa ja teknisessä selostuksessa mainituissa yksittäistapauk-sissa ja vain Siemens suosittelemien tai hyväksymien vieraslaitteiden ja -komponenttienyhteydessä.

SIMATICR ja SINECR ovat SIEMENS AG:n tavaramerkkejä.

Muut tällaiset merkinnät voivat olla tavaramerkkejä, joiden käyttö kolmannen osapuolentarkoituksiin saattaa loukata haltijan oikeuksia.

Olemme tarkastaneet tämän tuotteen sisällön yhtäpitävyyden ku-vattuun laite- ja ohjelmistopuoleen nähden. Poikkeukset eivät kui-tenkaan ole poissuljettuja, niin että emme takaa täydellistä yhden-mukaisuutta. Tämän tuotteen tiedot tarkistetaan säännöllisesti jatarpeelliset korjaukset tehdään seuraaviin painoksiin. Kiitämmeetu-käteen parannusehdotuksista.

VastuuvapausCopyright E Siemens AG 1996 All rights reserved

Tämän aineiston edelleenjakelu sekä monistus, sen sisällönhyödyntäminen ja siitä tiedottaminen ei ole sallittua, mikäli siitä ei oleselvästi sovittu. Rikkomukset johtavat vahingonkorvauksiin. Kaikkioikeudet pidätetään, erityisesti jos tuotteella on patentti taiGM-merkintä.

Siemens AGBereich AutomatisierungstechnikGeschäftsgebiet Industrie-AutomatisierungPostfach 4848, D-90327 Nürnberg

E Siemens AG 1996Pidätämme oikeudet teknisiin muutoksiin.

Siemens Aktiengesellschaft C79000-G7000-C508

Tämä suomenkielinen versio on käännös vastaavastaalkuperäiskielisestä käsikirjasta. Tämän tuotteen julkaisun jälkeenon voinut tulla uusia komponentteja, tai niiden ominaisuudet ovatvoineet muuttua. Tässä tapauksessa on syytä lisäksi tukeutuaviimeisimpään saksan/englanninkieliseen laitekäsikirjaan.

Turvallisuus--määräykset

Määräystenmukainen käyttö

Tavaramerkit

Page 3: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

iiiC79000-G7000-C402-01

Esipuhe

Tämä käsikirja tukee käyttäjäohjelmien laadintaa FUP/FBD -ohjelmointikielellä. Siksi tässä selitetään ohjelman laadinnan periaatteellisetmenettelytavat. Käsittelyvaiheiden yksityiskohdat löytyvät Online-avusta.

Sen ohella käsikirja sisältää FUP-ohjelmointikielen kielielementtienreferenssiosan, jossa kuvataan yksittäisten kielielementtien syntaksia jatoimintatapaa. FUP = FBD = toimintakaaviomuoto. Käsikirjasta käytetääntästä lyhennystä FUP.

Tämä käsikrija on tarkoitettu S7-ohjelmoijille, käyttöönottajille jahuoltohenkilökunnalle. Tämä edellyttää kyseisen alueen automaatiotekniikanyleistä tuntemusta.

Tämä käsikirja pätee STEP 7 -ohjelmiston versiolle 3.0.

FUP vastaa normissa DIN EN-61131-3 ( int. IEC 1131-3) määriteltyä kieltä”toimintakaavio”. STEP 7:n NORM.TAB-tiedoston normitaulukossa on tarkkakuvaus normien täyttymisestä.

(Saksa) (Englanti)

FUP = FBD = ToimintakaaviomuotoKOP = LAD = RelekaaviomuotoAWL = STL = Käskylistamuoto

Ohjelmaesimerkeissä käytetään SIMATIC -lyhennekielivalintaa.

Käsikirjantarkoitus

Käyttäjät

Käsikirjanvoimassaolo

IEC 1131-3:nmukaiset normit

Page 4: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

iv C79000-G7000-C402-01

S7-automaatiojärjestelmän tueksi ja konfiguroimiseksi on olemassa laajakäyttäjädokumentointi, joka on tarkoitettu valikoivaan käyttöön. Seuraavienselvitysten tulisi helpottaa käyttäjädokumentoinnin käyttöä.

FUPAWL SCL

CFC / S7

Refere--renssi--käsikirja

Ohjel--mointi--käsikirja

Käyttäjä--käsikirja

GRAPHS7

HiGraph

/234/

/231/

/232/ /250/

/254//252/

Järjestelmäohjelmisto S7-300/400Ohjelmasuunnittelu

Perusohjelmisto S7 ja M7STEP 7

Aapi--nen

/30/

Automaatiojärjestelmä S7-300Yksinkertainen rakenne jaohjelmointi

JärjestelmäohjelmistoS7-300/400Järjestelmä- jastandarditoiminnat

Käyttäjä--käsikirja

/230/

Perusohjelmisto S7-300/400S5-ohjelmien konvertointi

Kielipaketit

Online-apu

Annettu järjestys on ehdotusS7:n ensikäyttäjälle.

Dokumentointi johtaa metodiikkaan.

Hakuteokset ja siksi vain valikoidusti käytettävissä.Dokumentointia täydennetään Online-avulla.

Symboli Merkitys

M7-300/400 -käsi-kirjatLaitteisto

Käsikirja

KOP

/233/ /236/

/251/

/xxx/: kirjallisuusluettelon kirjanumero

/235/

Kuva A-1 Informaatiodokumentointi

Sijoitus S7 300/400informaatiodoku--

mentoinnissa

Esipuhe

Page 5: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

vC79000-G7000-C402-01

Taulukko A-1 Informaatiosisältö

Nimi Sisältö

AapinenS7-300 Yksinkertainenrakenne ja ohjelmointi

Aapinen perehdyttää hyvin yksinkertaisesti S7-300/400:n ohjelmoinnin ja rakenteenmetodiikkaan.Se sopii erinomaisesti S7-automaatiojärjestelmän ensikäyttäjälle.

OhjelmointikäsikirjaOhjelmasuunnitteluS7-300/400

Ohjelmointikäsikirja ”Ohjelmasuunnittelu S7-300/400” antaa perustavaa laatua olevaatietoa S7-CPU:n käyttäjäohjelman ja käyttöjärjestelmän rakenteesta. S7-300/400:n ensi-käyttäjän tulisi käyttää sitä hankkiakseen yleiskuvan ohjelmointimetodiikasta ja raken-taakseen käyttäjäohjelmansa suunnitelun sen varaan.

ReferenssikäsikirjaJärjestelmä- ja standar-ditoiminnat S7-300/400

S7-CPUt sisältävät käyttöjärjestelmään integroituja järjestelmätoimintoja ja organisaa-tioyksiköitä, joita voidaan käyttää ohjelmoinnissa. Käsikirja antaa yleiskuvan S7:ssäkäytettävistä järjestelmätoiminnoista, organisaatioyksiköistä ja ladattavista standarditoi-minnoista sekä -- hakutietona -- yksityiskohtaisia liitäntäpistekuvauksia käyttäjäohjel-maan soveltamiseksi.

KäyttäjäkäsikirjaSTEP 7

”STEP 7” -käyttäjäkäsikirjassa selitetään STEP 7 -automaatio-ohjelmiston periaatteellis-ta käyttöä ja toimintoja. STEP 7:n ensikäyttäjälle sekä myös STEP 5:n tuntijalle antaakäsikirja yleiskuvan S7-300/400:n menettelytavoista konfiguroitaessa, ohjelmoitaessa jakäyttöönotettaessa. SW:llä työskenneltäessä voidaan päästä valikoiden Online-apuun,josta saa tukea SW-käytön yksityiskohtaisissa kysymyksissä.

KäyttäjäkäsikirjaS5-ohjelmienkonvertointi

Käyttäjäkäsikirjaa ”S5-ohjelmien konvertointi” tarvitaan, mikäli halutaan konvertoidajo olemassa olevia S5-ohjelmia, jotta nämä saataisiin toimimaan S7-CPU:ssa. Käsikirjaantaa yleiskuvan menettelytavoista ja konvertterin käytöstä; konvertteritoimintojenyksityiskohtainen käyttö selviää Online-avusta. Online-avusta saa myös käytettävienkonvertoitujen S7-toimintojen liitäntäpistekuvauksen.

KäsikirjatAWL, KOP, FUP, SCL1

Kielipakettien AWL, KOP FUP ja SCL -käsikirjoissa on sekä käyttöohjeet että kieliku-vaus. S7-300/400:n ohjelmointiin tarvitaan vain yhtä näistä kielistä, mutta tarvittaessavoidaan projektissa yhdistää kieliä. Käytettäessä kieliä ensimmäistä kertaa suositellaanperehtymistä ohjelman laadintamenetelmiin käsikirjan avulla.

SW:llä työskenneltäessä voidaan käyttää Online-apua, joka vastaa kaikkiin yksityiskoh-taisiin kysymyksiin koskien asianomaisten editorien/käännösohjelmien käyttöä.

KäsikirjatGRAPH1 , HiGraph1,CFC1

GRAPH, HiGraph, CFC -kielet tarjoavat lisäksi mahdollisuuksia askelohjausten, tilaoh-jausten tai graafisten yksikkökytkentöjen toteuttamiseen. Käsikirjoissa on sekä käyt-töohje että kielikuvaus. Käytettäessä kieliä ensimmäistä kertaa suositellaan perehtymistäohjelman laadintamenetelmiin käsikirjan avulla. SW:llä työskenneltäessä voidaan käyt-tää lisäksi Online-apua (poikkeuksena HiGraph), joka vastaa kaikkiin yksityiskohtaisiinkysymyksiin koskien asianomaisten editorien/käännösohjelmien käyttöä.

1 S7-300/400:n optiopaketit järjestelmäohjelmistolle

Oheiset käsikirjat ovat englannin-- ja saksankielisiä.

Esipuhe

Page 6: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

vi C79000-G7000-C402-01

Tämä FUP -käsikirja edellyttää teoreettista tietoa S7-ohjelmista, jota saaohjelmointikäsikirjasta /234/ . Koska kielipaketit perustuvat STEP 7-perus-ohjelmistoon, tulisi käyttäjällä olla jo tietoa perusohjelmiston käsittelystä,jota löytyy käyttäjäkäsikirjasta /231/.

Käsikirja on jaoteltu seuraavien aihepiirien mukaisesti.

S Osassa 1 selitetään editorin käyttöä.

S Osassa 2 referenssiosa kaikista FUP-operaatioista ja se on ajalteltuhakuteokseksi.

Kuvatun ohjelmiston käyttöä koskevissa kysymyksissä, joihin ei löydyvastausta paperidokumentoinnista eikä Online-avusta, tulee kääntyäSiemensin puoleen.

Lisäksi on käytettävissä Hotline -puhelinpalvelu:

Puh. (09) 5105 3888

Helpottaaksemme SIMATIC S7 -automaatiojärjestelmään tutustumista,pidämme kursseja tästä aiheesta.

Puh. 09 -- 51051 / Simatic--kurssit.

Tämän käsikirjan käyttäjäosassa ei ole mitään yksityiskohtaisia ohjeitayksittäisine vaiheineen, vaan se selventää periaatteellisia menettelytapoja.Tarkempaa tietoa ohjelmistodialogeista ja niiden käsittelystä löytyy ainaOnline-avusta.

Hakuapukäsikirjaan

Muu tuki

Eritysiviittaus

Esipuhe

Page 7: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-1C79000-G7000-C402-01

Ohjelmointiesimerkkejä

Kappale Sisältö Sivu

2.1 Yleiskuva 2-2

2.2 Bittilukitusoperaatiot 2-3

2.3 Aikaoperaatiot 2-7

2.4 Laskenta- ja vertailuoperaatiot 2-11

2.5 Aritmeettiset operaatiot kokonaisluvuilla 2-13

2.6 Sanalukitusoperaatiot 2-14

Yleiskuvakappaleesta

2

Page 8: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-2 C79000-G7000-C402-01

2.1 Yleiskuva

Jokainen tässä käsikirjassa kuvattu FBD/FUP-operaatio suorittaa määrätyntoiminnan. Näitä operaatioita yhdistelemällä voidaan ohjelmassa suorittaamitä erilaisimpia automatisointitehtäviä. Tässä kappaleessa on muutamiaesimerkkejä FUP-operaatioiden käytännön sovelluksista:

S Kuljetinhihnan ohjaus bittilukitusoperaatioilla.

S Kuljetinhihnan kulkusuunnan toteaminen bittilukitusoperaatioilla.

S Tahti-impulssin generointi aikaoperaatioilla.

S Varastoalueen valvonta laskenta- ja vertailuoperaatioilla.

S Laskenta kokonaislukujen aritmeettisilla operaatioilla.

S Ajan asetus uunin lämmitystä varten.

Tämän kappaleen esimerkeissä käytetään seuraavia operaatioita:

S 16 bitin JA- lukitus (WAND_W)

S 16 bitin TAI- lukitus (WOR_W)

S Taaksepäinlaskenta (Z_RUECK)

S Eteenpäinlaskenta ( Z_VORW )

S Lähdön nollaus (R)

S Lähdön asetus (S)

S Reunan 0� 1 kysely (P) (pulssin muodostus)

S Kokonaislukujen yhteenlasku (16 bittiä) (ADD_I)

S Kokonaislukujen jakolasku (16 bittiä) (DIV_I)

S Kokonaislukujen kertolasku (16 bittiä) (MUL_I)

S Kokonaislukujen vertailu (16 bittiä) (CMP_I>=)

S Kokonaislukujen vertailu (16 bittiä) (CMP_I<=)

S JA-lukitus

S Osoitus (=)

S TAI-lukitus

S Hyppy, kun 0 (JMPN)

S Hyppy takaisin (RET)

S Arvon siirto (MOVE)

S Ajan käynnistys pidennettynä impulssina (SV)

Käytännönsovellukset

Käytetyt operaatiot

Ohjelmointiesimerkkejä

Page 9: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-3C79000-G7000-C402-01

2.2 Bittilukitusoperaatiot

Kuva 2-1 esittää sähköisesti käynnistettävää kuljetinhihnaa. Hihnanalkupäässä on kaksi painiketta, S1 START’ia ja S2 STOP’ia varten. Hihnanloppupäässä on myös kaksi kytkintä, S3 START’ia ja S4 STOP’ia varten.Hihna voidaan käynnistää tai pysäyttää molemmista päistä. Lisäksi S5--anturipysäyttää hihnan, kun jokin esine on tullut hihnan päähän.

Kuljetinhihnan ohjaamiseksi voidaan kirjoittaa ohjelma kuvan 2-1 perusteellaesittämällä kuljetinhihnajärjestelmän eri komponentit symbolien avulla.Mikäli päädytään tähän menetelmään, on laadittava signaalilista jamääriteltävä valitut symbolit suhteessa asetettuihin arvoihin (katso taulukko2-1). Symbolit määritellään symbolitaulukossa (katso käyttäjäkäsikirja/231/).

Taulukko 2-1 Kuljetinhihnajärjestelmän symbolisen ohjelmoinnin elementit

JärjestelmäkomponentitAbsoluuttinen

nimikeSymboli Symbolitaulukko

Käynnistyskytkin E 1.1 S1 E 1.1 S1

Pysäytyskytkin E 1.2 S2 E 1.2 S2

Käynnistyskytkin E 1.3 S3 E 1.3 S3

Pysäytyskytkin E 1.4 S4 E 1.4 S4

Anturi E 1.5 S5 E 1.5 S5

Moottori A 4.0 MOOT_ON A 4.0 MOOT_ON

MOOT_ON

S1S2

` Start` Stop

S3S4

` Start` Stop

Anturi S5

Kuva 2-1 Kuljetinhihnajärjestelmä

Kuljetinhihnanohjaus

Symbolinenohjelmointi

Ohjelmointiesimerkkejä

Page 10: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-4 C79000-G7000-C402-01

Kuljetinhihnan ohjaamiseksi voidaan kirjoittaa ohjelma kuvan 2-1 perusteellaesittämällä kuljetinhihnajärjestelmän eri komponentit absoluuttisten arvojenavulla (katso taulukko 2-2). Kuvassa 2-2 on FUP-ohjelma liukuhihnanohjaamiseksi.

Taulukko 2-2 Kuljetinhihnajärjestelmän absoluuttisen ohjelmoinnin elementit

Järjestelmäkomponentit Absoluuttinen nimike

Käynnistyskytkin E 1.1

Pysäytykytkin E 1.2

Käynnistyskytkin E 1.3

Pysäytyskytkin E 1.4

Anturi E 1.5

Moottori A 4.0

A 4.0E 1.1

E 1.3

Virtapiiri 1: Moottori käynnistetään painamalla jompaakumpaa käynnistyskytkintä.

Virtapiiri 2: Moottori pysäytetään painamalla jompaakumpaa pysäytyskytkintä tai kysymällä hihnanpäässä olevaa anturia.

A 4.0

E 1.2

E 1.4

E 1.5

>=1

S

>=1

R

Kuva 2-2 Kuljetinhihnan ohjauksen toimintakaavio

Absoluuttinenohjelmointi

Ohjelmointiesimerkkejä

Page 11: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-5C79000-G7000-C402-01

Kuvassa 2-3 on kuljetinhihna, joka on varustettu kahdella valokennolla (LS 1und LS 2). Valokennojen tulee havaita, mihin suuntaan hihnalla oleva pakettiliikkuu.

Kuvassa 2-3 esitetyn kuljetinhihnajärjestelmän suuntailmoituksenaktivoimiseksi voidaan kirjoittaa ohjelma esittämällä kuljetusjärjestelmän erikomponentit -- mukaanlukien suunnan havaitsemiseen tarkoitetut valokennot-- symbolien avulla. Mikäli päädytään tähän menetelmään, on laadittavasymbolilista määrittämällä valitut symbolit suhteessa absoluuttisiin arvoihin(katso taulukko 2-3). Symbolit määritellään symbolitaulukossa (katsokäyttäjäkäsikirja /231/).

Taulukko 2-3 Symbolisen ohjelmoinnin suunnanhavainnointielementit

JärjestelmäkomponentitAbsoluutt.nimike

Symboli Symbolitaulukko

Valokenno 1 E 0.0 VK1 E 0.0 VK1

Valokenno 2 E 0.1 VK2 E 0.1 VK2

Ilmoitus liikkeestä oikealle A 4.0 OIKEA A 4.0 OIKEA

Ilmoitus liikkeestä vasemmalle A 4.1 VASEN A 4.1 VASEN

Tahtimerkkeri 1 M 0.0 TM1 M 0.0 TM1

Tahtimerkkeri 2 M 0.1 TM2 M 0.1 TM2

Kuvassa 2-3 esitetyn kuljetinhihnajärjestelmän suuntailmoituksenohjaamiseksi voidaan kirjoittaa ohjelma esittämällä suunnan havaitsemiseentarkoitetut valokennot absoluuttisilla arvoilla (katso taulukko 2-4). Kuva 2-4esittää kuljetinhihnajärjestelmän suuntailmoituksen ohjaamiseksi tarkoitettuaFUP-ohjelmaa.

VK1VK2 A 4.1A 4.0

Kuva 2-3 Valokennoilla varustettu kuljetinhihnajärjestelmä suunnan havainnointiavarten

Kuljetinhihnansuunnanhavaitseminen

Symbolinenohjelmointi

Absoluuttinenohjelmointi

Ohjelmointiesimerkkejä

Page 12: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-6 C79000-G7000-C402-01

Taulukko 2-4 Abaoluuttisen ohjelmoinnin suunnanhavaintoelementit

Järjestelmäkomponentit Absoluuttinen nimike

Valokenno 1 E 0.0

Valokenno 2 E 0.1

Ilmoitus liikkeestä oikealle A 4.0

Ilmoitus liikkeestä vasemmalle A 4.1

Tahtimerkkeri 1 M 0.0

Tahtimerkkeri 2 M 0.1

A 4.1E 0.0

Virtapiiri 1: Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (positiivinen reuna) tulon E 0.1 signaalitilanollessa samanaikaisesti ”0”, liikkuu hihnalla oleva paketti silloin vasemmalle.

E 0.1

M 0.0

Virtapiiri 2: Mikäli tulon E 0.1 signaalitila vaihtuu ”0”:sta ”1”:ksi (positiivinen reuna) tulon E 0.0 signaalitilanollessa samanaikaisesti ”0”, liikkuu hihnalla oleva paketti silloin oikealle.

E 0.1

Virtapiiri 3: Mikäli toinen valokennosignaali on poikki, on paketti valokennojen välissä. Suunnanilmaisinkytketään pois päältä.

E 0.0

E 0.1

A 4.1

P &

S

A 4.0

E 0.0

M 0.1

P &

S

&A 4.0

R

R

Kuva 2-4 Toimintakaavio kuljetinhihnan suunnan havaitsemiseksi

Ohjelmointiesimerkkejä

Page 13: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-7C79000-G7000-C402-01

2.3 Aikaoperaatiot

Jaksottain toistuvan signaalin tuottamiseksi voidaan käyttää tahtianturia taivilkkurelettä. Tahtiantureita käytetään usein hälytysjärjestelmissä, jotkaohjaavat näyttövalojen vilkkumista.

Mikäli käytetään S7-300:aa, voidaan tahtianturitoiminta toteuttaa käyttämälläaikaohjattua käsittelyä erityisissä organisaatioyksiköissä. SeuraavassaFUP-ohjelmassa oleva esimerkki selvittää aikatoimintojen käyttöä tahdingeneroimiseksi.

Seuraavassa esimerkissä on selitetty, miten vapaasti toimiva tahtianturitoteutetaan ajan avulla (pulssin kestosuhde 1:1). Taajuus on jaettu arvoihin,jotka on esitetty taulukossa 2-5.

Tahtianturi

Ohjelmointiesimerkkejä

Page 14: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-8 C79000-G7000-C402-01

MW100

T 1

S5T#250MS

M0.2

Virtapiiri 1: Kun ajan T1 signaalitila on ”0”, ladataan 250 ms:n aika--arvo T1:een ja käynnistetään T1pidennettynä impulssina.

Virtapiiri 4: Timerin T1 jokaisen ajan jälkeen lisätään merkkerisanaa 100 ”1”:llä.

ADD_I

IN1

ENO

EN

IN2

OUTMW100

1

MW100

Virtapiiri 5: Lähtöjen A 12.0 ... A 13.7 eri tahtitaajuudet voidaan näyttää operaatiolla MOVE.

MOVE

IN ENO

EN OUT AW12

M001

Virtapiiri 2: Timerin tila välitallennetaan apumerkkeriin.

M0.2

TW

SV

=T 1

??.?

??.?

&

M001

Virtapiiri 3: Mikäli ajan T1 signaalitila on yhtäsuuri kuin ”1”, hyppää silloin hyppymerkkiin M001.

JMP

&

M0.2 &

Kuva 2-5 Tahdin muodostamisen toimintakaavio

Ohjelmointiesimerkkejä

Page 15: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-9C79000-G7000-C402-01

Ajan T1 signaalitilakysely antaa kuvassa 2-6 lukitustuloksen (LUK: katsokappale 6.3).

0

1

250 ms

Kuva 2-6 Käännetyn tuloparametrin UN T1 LUK tahtiaikaesimerkissä

Aika käynnistetään uudelleen heti ajan kuluttua. Siksi käskyn UN M0.2suorittama signaalitilakysely näyttää vain lyhyesti signaalitilan ”1”.

Kuvassa 2-7 on esitetty käännetty (nollattu) LUK-bitti.

0

1

250 ms

Kuva 2-7 Ajan T1 käännetty LUK-bitti tahtiaikaesimerkissä

LUK-bitti on ”0” joka 250 ms. Hyppyä ei huomioida ja merkkerisananMW100 sisältöä lisätään ”1”:llä.

Taulukossa 2-5 on merkkeritavujen MB101 ja MB 100 yksittäisillä biteilläsaatavat taajuudet. Kuvan 2-5 FUP-kaavion virtapiiristä 5 nähdään, mitenlähtöjen A 12.0 ... A 13.7 eri tahtitaajuudet voidaan näyttää operaatiollaMOVE.

Taulukko 2-5 Tahtiaikaesimerkin taajuudet

MB101:n/MB100:n bitit

Taajuus hertseinä Kesto

M 101.0 2.0 0.5 s (250 ms päällä/250 ms pois)

M 101.1 1.0 1 s (0.5 s päällä/0.5 s pois)

M 101.2 0.5 2 s (1 s päällä/1 s pois)

M 101.3 0.25 4 s (2 s päällä/2 s pois)

M 101.4 0.125 8 s (4 s päällä/4 s pois)

M 101.5 0.0625 16 s (8 s päällä/8 s pois)

M 101.6 0.03125 32 s (16 s päällä/16 s pois)

M 101.7 0.015625 64 s (32 s päällä/32 s pois)

M 100.0 0.0078125 128 s (64 s päällä/64 s pois)

M 100.1 0.0039062 256 s (128 s päällä/128 s pois)

M 100.2 0.0019531 512 s (256 s päällä/256 s pois)

M 100.3 0.0009765 1024 s (512 s päällä/512 s pois)

Tietyn taajuudensaaminen

Ohjelmointiesimerkkejä

Page 16: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-10 C79000-G7000-C402-01

Taulukko 2-5 Tahtiaikaesimerkin taajuudet

MB101:n/MB100:n bitit

KestoTaajuus hertseinä

M 100.4 0.0004882 2048 s (1024 s päällä/1024 s pois)

M 100.5 0.0002441 4096 s (2048 s päällä/2048 s pois)

M 100.6 0.000122 8192 s (4096 s päällä/4096 s pois)

M 100.7 0.000061 16384 s (8192 s päällä/8192 s pois)

Taulukossa 2-6 on merkkeritavun MB101 bittien signaalitilat. Kuva 2-8esittää merkkeribitin M 101.1 signaalitilaa.

Taulukko 2-6 Merkkeritavun MB101 bittien signaalitilat

SykliMerkkeritavun MB101 bittien signaalitilat Aika--

arvoSykli7 6 5 4 3 2 1 0

arvoms:na

0 0 0 0 0 0 0 0 0 250

1 0 0 0 0 0 0 0 1 250

2 0 0 0 0 0 0 1 0 250

3 0 0 0 0 0 0 1 1 250

4 0 0 0 0 0 1 0 0 250

5 0 0 0 0 0 1 0 1 250

6 0 0 0 0 0 1 1 0 250

7 0 0 0 0 0 1 1 1 250

8 0 0 0 0 1 0 0 0 250

9 0 0 0 0 1 0 0 1 250

10 0 0 0 0 1 0 1 0 250

11 0 0 0 0 1 0 1 1 250

12 0 0 0 0 1 1 0 0 250

M 101.1

250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s

T

Zeit01

Taajuus= 1T= 1

1 s= 1Hz

0

Kuva 2-8 MB101:n (M 101.1) bitin 1 signaalitila

Ohjelmointiesimerkkejä

Page 17: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-11C79000-G7000-C402-01

2.4 Laskenta- ja vertailuoperaatiot

Kuva 2-9 esittää järjestelmää, jossa on kaksi kuljetinhihnaa ja niiden välissäväliaikainen varastoalue. Kuljetinhihna 1 kuljettaa paketit varastoalueelle.Kuljetinhihnan 1 päässä oleva varastoalueen viereinen valokenno ilmoittaa,kuinka monta pakettia varastoalueelle tulee. Kuljetinhihna 2 kuljettaa paketitkyseiseltä väliaikaiselta varastoalueelta lastausrampille, mistä ne lastataanrekkaan kuljetettavaksi asiakkaalle. Kuljetinhihnan 2 päässä olevavarastoalueen viereinen valokenno ilmoittaa, kuinka monta pakettiavarastoalueelta on tulossa lastausrampille.

Näyttökonsoli, jossa on viisi lamppua ilmoittaa, kuinka täynnä väliaikainenvarastoalue on. Kuva 2-10 esittää FUP-ohjelmaa, joka aktivoi näyttökonsolinnäyttölamput.

Varastoaluetyhjä

Näyttökonsoli

Varastoaluetäynnä

Varastoalue90%:sti täynnä

Varastoalue50%:sti täynnä

Varastoalueei tyhjä

tulevat paketit lähtevätpaketit

E 12.0 E 12.1

Kuljetinhihna 2Kuljetinhihna 1

Valokenno 1 Valokenno 2

Väliaikainenvarastoalue100:lle paketille

(A 12.0) (A 12.1) (A 15.2) (A 15.3) (A 15.4)

Kuva 2-9 Varastoalueen laskurit ja vertailijat

Varaston laskuritja vertailijat

Ohjelmointiesimerkkejä

Page 18: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-12 C79000-G7000-C402-01

MW200

Virtapiiri 2: A12.0 näyttää ”varastoalue ei ole tyhjä”.

Virtapiiri 3: Jos 50 on pienempi tai yhtäsuuri kuin laskenta--arvo (tai jos aktuelli laskurilukema onsuurempi tai yhtäsuuri kuin 50), kytketyy ilmoituksen ”varastoalue 50 %:sti täynnä” näyttölamppupäälle.

CMP

IN150 A15.2

IN2

Virtapiiri 4: Jos laskenta--arvo on suurempi tai yhtäsuuri kuin 90, kytkeytyy ilmoituksen ”varastoalue90 %:sti täynnä” näyttölamppu päälle.

CMP

IN1

>= I

90

MW200 A15.3

IN2

<= I

Virtapiiri 5: Laskenta--arvon ollessa suurempi tai yhtäsuuri kuin 100, kytkeytyy ilmoituksen ”varastoaluetäynnä” näyttölamppu päälle.

CMP

IN1

>= I

100

MW200 A15.4

IN2

A 12.1

A12.0

=

=

=

=

Virtapiiri1: Laskuri Z1 laskee eteenpäin tulon ZV signaalireunan muuttuessa ”0”:sta ”1”:ksi jataaksepäin tulon ZR signaalireunan muuttuessa ”0”:sta ”1”:ksi . Tulon S signaalireunan muuttuessa”0”:sta ”1”:ksi asetetaan laskenta--arvo ZW:n arvoon. Tulon R signaalireunan muuttuessa ”0”:sta”1”:ksi asetetaan laskenta--arvo ”0”:ksi. Z1:n aktuelli laskenta--arvo on aina tallennettuna MW200:ssa.A12.1 näyttää “varastoalue ei ole tyhjä”.

LASKURI

ZR

Q

ZV

S

ZW

DUAL

R

DEZ

Z1

MW210

MW200

=

A12.1

E12.0

E12.1

E12.2

C#10

E12.3

&

Kuva 2-10 Toimintakaavio näyttölamppujen aktivoimiseksi näyttökonsolissa

Ohjelmointiesimerkkejä

Page 19: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-13C79000-G7000-C402-01

2.5 Aritmeettiset operaatiot kokonaisluvuilla

Seuraavassa ohjelmaesimerkissä selitetään, miten kokonaislukujen kolmellaaritmeettisella operaatiolla ja operaatioilla L ja T toteutetaan seuraava yhtälö:

MW4=(EW0+DBW3)× 15

MW0

DB1

Virtapiiri 1: Tiedostoyksikön DB1 avaus

Virtapiiri 2: Laske yhteen tulosana EW0 ja globaalidatasana DBW3 (tiedostolohkon on oltavamääritelty ja avattu). Lataa summa merkkerisanaan MW100. Kerro MW100 15:llä. Tulos tallennetaanmerkkerikaksoissanaan MW102. Jaa MW102 MW0:lla. Tulos tallennetaan MW4:ään. Niin kauan kuinkaikki tulokset ovat kyseisen operaation sallitulla alueella, siirtää ENO signaalitilan ”1” seuraavaankehykseen.

ADD_I

IN1

ENO

EN

IN2

OUT

DBW3

EW0 MW100MUL_I

IN1

ENO

EN

IN2

OUTMW100

15

MW102DIV_I

IN1

ENO

EN

IN2

OUTMW102

MW0

MW4

AUKI

??.?

Kuva 2-11 Toimintakaavio aritmeettiset operaatiot kokonaisluvuilla

Yhtälönlaskeminen

Ohjelmointiesimerkkejä

Page 20: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-14 C79000-G7000-C402-01

2.6 Sanalukitusoperaatiot

Kuvassa 2-12 esitetyn uunin käyttäjä käynnistää uunin lämmityksenpainamalla käynnistyskytkintä. Lämmitysajan keston hän voi päättää kuvassanäkyvillä digitaalisilla esivalintakytmimillä. Arvo, jonka hän asettaa,ilmoittaa sekunnit binäärikoodatussa desimaalimuodossa (BCD). Taulukossa2-7 on lämmitysjärjestelmän komponentit sekä vastaavat absoluuttisetosoitteet, joita on käytetty kuvan 2-12 liitteenä olevassa ohjelmaesimerkissä.

Taulukko 2-7 Lämmitysjärjestelmäkomponentit ja niiden vastaavat absoluuttisetosoitteet

Järjestelmäkomponentit FUP-ohjelman absoluuttinen osoite

Käynnistyskytkin E 0.7

Digit. esivalintakytkin ykkösille E 1.0 ... E 1.3

Digit. esivalintakytkin kymmenille E 1.4 ... E 1.7

Digit. esivalintakytkin sadoille E 0.0 ... E 0.3

Lämmitystapahtuman aloitus A 4.0

Uuni

1 0 0 1 0 0 0 1X X X X 0 0 0 1

LämpöA 4.0

Digitaalinen esivalintakytkin BCD-lukujen asettamiseksi

EW0

4 4 4

Käynnistyskytkin E 0.7

7....

EB1EB0 Tavut

Bitit7......0 ...0

Kuva 2-12 Tulojen ja lähtöjen käyttö aikarajoitetussa lämmityksessä

Uunin lämmitys

Ohjelmointiesimerkkejä

Page 21: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-15C79000-G7000-C402-01

T 1

A 4.0

Virtapiiri 1: Aloita lämmitys ajan juostessa. Operaatio hyppy takaisin päättää käsittelyn tähän ajanjuostessa.

Virtapiiri 3: Maskaa tulobitit E 0.4 ... E 0.7 (ts. aseta ne takaisin ”0”:ksi). Näitä esivalintakytkitulojenbittejä ei käytetä. Esivalintakytkitulojen 16 bittiä lukitaan W#16#0FFF:llä 16 bitin JA--lukitusoperaationjälkeen. Tulos ladataan merkkerisanaan MW1. Aika--arvon asettamiseksi sekunneittain, lukitaanesivalinta W#16#2000:lla 16 bitin TAI--lukitusoperaation jälkeen. Bitti 13 asetetaan ”1”:ksi, bitti 12takaisin ”0”:ksi.

Virtapiiri 4: Käynnistä aika T1 pidennettynä impulssina, kun kytkintä painetaan. Merkkerisana MW2ladataan esiasetuksena (ym. lukitusoperaation johtamana).

WAND_W

IN1

ENO

EN

IN2

OUT

W#16#FFF

EW0 MW1

WOR_W

IN1

ENO

EN

IN2

OUTMW1

W#16#2000

MW2

E 0.7

MW2

Virtapiiri 2: Operaatio hyppy takaisin päättää käsittelyn tähän ajan juostessa.

=

T 1 RET

T 1

TW

SV

??.?

&

&

&

Kuva 2-13 Uunin lämmityksen toimintakaavio

Ohjelmointiesimerkkejä

Page 22: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-16 C79000-G7000-C402-01

Ohjelmointiesimerkkejä

Page 23: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-1C79000-G7000-C402-01

Aakkosellinen operaatiolista

Kappale Sisältö Sivu

A.1 Englanninkielinen selityslista A--1

A.2 Kansainvälinen (englanninkielinen) selityslista vastaavinsaksankielisin selityksin

A--6

Yleiskuvakappaleesta

1

Page 24: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-2 C79000-G7000-C402-01

1.1 Englanninkielinen selityslista

Taulukossa A-1 on aakkosellinen FBD/FUP-operaatiolista kansainvälisine(IEC) (englanninkielisine) selityksineen, siihen kuuluvine mnemoniikkoineenja sivu, jolla kyseinen operaatio selitetään (SIMATIC--muotoisena).

Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla

Selitys Kansainvälinenmnemoniikka

Sivu

Add Double Integer ADD_DI 11-3

Add Integer ADD_I 11-2

Add Real ADD_R 12-3

Address Negative Edge Detection NEG 8-31

Address Positive Edge Detection POS 8-30

AND & 8-3

Assign = 8-9

Assign a Value MOVE 14-2

BCD to Double Integer BCD_DI 14-6

BCD to Integer BCD_I 14-3

Call FB from Box CALL_FB 20-4

Call FC from Box CALL_FC 20-4

Call FC SFC (without parameters) CALL 20-2

Call System FB from Box CALL_SFB 20-4

Call System FC from Box CALL_SFC 20-4

Ceiling CEIL 14-16

Compare Double Integer (>, <, ==, <>, <=, >=) CMP >=D 13-3

Compare Integer (>, <, ==, <>, <=, >=) CMP >=I 13-2

Compare Real (>, <, ==, <>, <=, >=) CMP >=R 13-4

Divide Double Integer DIV_DI 11-9

Divide Integer DIV_I 11-8

Divide Real DIV_R 12-6

Double Integer to BCD DI_BCD 14-7

Double Integer to Real DI_R 14-8

Down Counter (laskentaoperaatio) S_CD 10-7

Down Counter (bittilukitusoperaatio) CD 8-17

Exception Bit BR Memory BR 19-3

Exception Bit Overflow OV 19-7

Exception Bit Overflow Stored OS 19-8

Exception Bit Unordered UO 19-6

Exclusive OR XOR 8-6

Extended Pulse S5 Timer (aikaoperaatio) S_PEXT 9-7

Aakkosellinen operaatiolista

Page 25: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-3C79000-G7000-C402-01

Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoa

Selitys SivuKansainvälinenmnemoniikka

Extended Pulse Timer (bittilukitusoperaatio) SE 8-20

Floor FLOOR 14-17

Form the Absolute Value of a Floatingpoint Number ABS 12-8

Form the Arc Cosine of a Floatingpoint Number ACOS 12-13

Form the Arc Sine of a Floatingpoint Number ASIN 12-13

Form the Arc Tangent of a Floatingpoint Number ATAN 12-13

Form the Cosine of a Floatingpoint Number COS 12-13

Form the Exponential Value of a Floatingpoint Number EXP 12-12

Form the Natural Logarithm of a Floatingpoint Number LN 12-11

Form the Sine of a Floatingpoint Number SIN 12-13

Form the Square of a Floatingpoint Number SQR 12-9

Form the Square Root of a Floatingpoint Number SQRT 12-10

Form the Tangent of a Floatingpoint Number TAN 12-13

Insert Binary Input ------| 8-7

Integer to BCD I_BCD 14-4

Integer to Double Integer I_DI 14-5

Jump JMP 18-3

Jump-If-Not JMPN 18-5

Master Control Relay Activate MCRA 20-10

Master Control Relay Deactivate MCRD 20-10

Master Control Relay Off MCR> 20-13

Master Control Relay On MCR< 20-13

Midline Output # 8-10

Multiply Double Integer MUL_DI 11-7

Multiply Integer MUL_I 11-6

Multiply Real MUL_R 12-5

Negate Binary Input ------o| 8-8

Negate Real Number NEG_R 14-13

Negative RLO Edge Detection N 8-29

Off-Delay S5 Timer (aikaoperaatio) S_OFFDT 9-13

Off-Delay Timer (bittilukitusoperaatio) SF 8-26

On-Delay S5 Timer (aikaoperaatio) S_ODT 9-9

On-Delay Timer (bittilukitusoperaatio) SD 8-22

ONEs Complement Double Integer INV_DI 14-10

ONEs Complement Integer INV_I 14-9

Open Data Block: DB or DI OPN 17-2

OR >=1 8-4

Aakkosellinen operaatiolista

Page 26: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-4 C79000-G7000-C402-01

Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoa

Selitys SivuKansainvälinenmnemoniikka

Positive RLO Edge Detection P 8-28

Pulse S5 Timer (aikaoperaatio) S_PULSE 9-5

Pulse Timer (bittilukitusoperaatio) SP 8-18

Reset Output R 8-13

Reset_Set Flip Flop RS 8-33

Result Bit Equal 0 ==0 1-6

Result Bit Greater Equal 0 >=0 19-4

Result Bit Greater Than 0 >0 19-4

Result Bit Less Equal 0 <=0 19-4

Result Bit Less Than 0 <0 19-4

Result Bit Not Equal 0 <>0 19-4

Retentive On-Delay S5 Timer (aikaoperaatio) S_ODTS 9-11

Retentive On-Delay Timer (bittilukitusoperaatio) SS 8-24

Return RET 20-8

Return Fraction Double Integer MOD_DI 11-10

Rotate Left Double Word ROL_DW 16-11

Rotate Right Double Word ROR_DW 16-12

Round to Double Integer ROUND 14-14

Save RLO to BR Memory SAVE 8-11

Set Output S 8-12

Set Counter Value SC 8-14

Set_Reset Flip Flop SR 8-32

Shift Left Double Word SHL_DW 16-4

Shift Left Word SHL_W 16-3

Shift Right Double Integer SHR_DI 16-9

Shift Right Double Word SHR_DW 16-6

Shift Right Integer SHR_I 16-8

Shift Right Word SHR_W 16-5

Subtract Double Integer SUB_DI 11-5

Subtract Integer SUB_I 11-4

Subtract Real SUB_R 12-4

Truncate Double Integer Part TRUNC 14-15

TWOs Complement Double Integer NEG_DI 14-12

TWOs Complement Integer NEG_I 14-11

Up Counter (laskentaoperaatio) S_CU 10-5

Up Counter (bittilukitusoperaatio) CU 8-16

Up-Down Counter S_CUD 10-3

Aakkosellinen operaatiolista

Page 27: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-5C79000-G7000-C402-01

Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoa

Selitys SivuKansainvälinenmnemoniikka

(Word) And Double Word WAND_DW 15-4

(Word) And Word WAND_W 15-3

(Word) Exclusive Or Double Word WXOR_DW 15-8

(Word) Exclusive Or Word WXOR_W 15-7

(Word) Or Double Word WOR_DW 15-6

(Word) Or Word WOR_W 15-5

Aakkosellinen operaatiolista

Page 28: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-6 C79000-G7000-C402-01

1.2 Kansainvälinen IEC (englanninkielinen) selityslista vastaavin(Simatic) saksankielisin selityksin

Taulukossa A-1 on aakkosellinen FBD/FUP-operaatiolista kansainvälisine(IEC) (englanninkielisine) selityksineen ja saksankielisine SIMATIC--vas-taavuuksineen ja sivu, jolla kyseinen operaatio selitetään.

Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen

Kuvaus SIMATIC-mnemoniikka suomeksi Sivu

Add Double Integer Kokonaislukujen yhteenlasku (32 bittiä) 11-3

Add Integer Kokonaislukujen yhteenlasku (16 bittiä) 11-2

Add Real Liukulukujen yhteenlasku 12-3

Address Negative Edge Detection Signaalireunan 1� 0 kysely (pulssin teko) 8-31

Address Positive Edge Detection Signaalireunan 0� 1 kysely (pulssin teko) 8-30

AND JA-lukitus 8-3

Assign Osoitus 8-9

Assign a Value Arvon siirto 14-2

BCD to Double Integer BCD-luvun muunto kokonaisluvuksi (32 bittiä) 14-6

BCD to Integer BCD-luvun muunto kokonaisluvuksi (16 bittiä) 14-3

Call FB from Box FB:n kutsu 20-4

Call FC from Box FC :n kutsu 20-4

Call FC SFC (without parameters) FC/SFC:n kutsu ilman parametrejä 20-2

Call System FB from Box Järjestelmä FB:n kutsu 20-4

Call System FC from Box Järjestelmä FC-kehyksen kutsu 20-4

Ceiling Seuraavaksi suuremman kokonaisluvunmuodostus liukuluvusta

14-16

Compare Double Integer (>, <, ==, <>, <=, >=) Kokonaislukujen vertailu (32 bittiä) 13-3

Compare Integer (>, <, ==, <>, <=, >=) Kokonaislukujen vertailu (16 bittiä) 13-2

Compare Real (>, <, ==, <>, <=, >=) Liukulukujen vertailu 13-4

Divide Double Integer Kokonaislukujen jakolasku (32 bittiä) 11-9

Divide Integer Kokonaislukujen jakolasku (16 bittiä) 11-8

Divide Real Liukulukujen jakolasku 12-6

Double Integer to BCD Kokonaisluvun (32 bittiä) muunto BCD-luvuksi 14-7

Double Integer to Real Kokonaisluvun (32 bittiä) muunto liukuluvuksi 14-8

Down Counter (laskentaoperaatio) Taaksepäinlaskenta 10-7

Down Counter (bittilukitusoperaatio) Taaksepäinlaskenta 8-17

Exception Bit BR Memory BIE-rekisterin bitti 19-3

Exception Bit Overflow Ylivuodon virhebitti 19-7

Exception Bit Overflow Stored Tallennetun ylivuodon virhebitti 19-8

Exception Bit Unordered Väärän operaation virhebitti 19-6

Exclusive OR EHDOTON-TAI-lukitus 8-6

Aakkosellinen operaatiolista

Page 29: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-7C79000-G7000-C402-01

Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoa

Kuvaus SivuSIMATIC-mnemoniikka suomeksi

Extended Pulse S5 Timer (aikaoperaatio) Ajan käynnistys pidennettynä impulssina (SV) 9-7

Extended Pulse Timer (bittilukitusoperaatio) Ajan käynnistys pidennettynä impulssina (SV) 8-20

Form the Absolute Value of a Floatingpoint No. Liukuluvun absoluuttiarvon muodostus 12-8

Form the Arc Cosine of a Floatingpoint Number Liukuluvun arkuskosinin muodostus 12-13

Form the Arc Sine of a Floatingpoint Number Liukuluvun arkussinin muodostus 12-13

Form the Arc Tangent of a Floatingpoint No. Liukuluvun arkustangentin muodostus 12-13

Form the Cosine of a Floatingpoint Number Liukuluvun kosinin muodostus 12-13

Form the Exponential Value of a FloatingpointNumber

Liukuluvun eksponenttiarvon muodostus 12-12

Form the Natural Logarithm of a FloatingpointNumber

Liukuluvun luonnollisen logaritsmin muodostus 12-11

Form the Sine of a Floatingpoint Number Liukuluvun sinin muodostus 12-13

Form the Square of a Floatingpoint Number Liukuluvun neliön muodostus 12-9

Form the Square Root of a Floatingpoint No. Liukuluvun neliöjuuren muodostus 12-10

Form the Tangent of a Floatingpoint Number Liukuluvun tangentin muodostus 12-13

Floor Seuraavaksi pinenmmän kokonaisluvunmuodostus liukuluvusta

14-17

Insert Binary Input Binääritulon väliinkirjoitus 8-7

Integer to BCD Kokonaisluvun (16 bittiä) muunto BCD-luvuksi 14-4

Integer to Double Integer Kokonaisluvun (16 bittiä) muuntokokonaisluvuksi (32 bittiä)

14-5

Jump Hyppy, kun 1 18-3

Jump-If-Not Hyppy, kun 0 18-5

Master Control Relay Activate Master Control Relayn alku 20-10

Master Control Relay Deactivate Master Control Relayn loppu 20-10

Master Control Relay Off Master Control Relay pois päältä 20-13

Master Control Relay On Master Control Relay päälle 20-13

Midline Output Konnektori 8-10

Multiply Double Integer Kokonaislukujen kertolasku (32 bittiä) 11-7

Multiply Integer Kokonaislukujen kertolasku (16 bittiä) 11-6

Multiply Real Liukulukujen kertolasku 12-5

Negate Binary Input Binääritulon kääntö 8-8

Negate Real Number Liukuluvun etumerkin vaihto 14-13

Negative RLO Edge Detection Reunan 1� 0 kysely (pulssin teko) 8-29

OR TAI-lukitus 8-4

Off-Delay S5 Timer (aikaoperaatio) Ajan käynnistys päästöhidastuksena (SA) 9-13

Off-Delay Timer (bittilukitusoperaatio) Ajan käynnistys päästöhidastuksena (SA) 8-26

On-Delay S5 Timer (aikaoperaatio) Ajan käynnistys vetohidastuksena (SE) 9-9

On-Delay Timer (bittilukitusoperaatio) Ajan käynnistys vetohidastuksena (SE) 8-22

Aakkosellinen operaatiolista

Page 30: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-8 C79000-G7000-C402-01

Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoa

Kuvaus SivuSIMATIC-mnemoniikka suomeksi

ONEs Complement Double Integer Kokonaisluvun (32 bittiä) 1n komplementinmuodostus

14-10

ONEs Complement Integer Kokonaisluvun (16 bittiä) 1n komplementinmuodostus

14-9

Open Data Block: DB or DI Tiedostoyksikön avaus 17-2

Positive RLO Edge Detection Reunan 0� 1 kysely (pulssin teko) 8-28

Pulse S5 Timer (aikaoperaatio) Ajan käynnistys impulssina (SI) 9-5

Pulse Timer (bittilukitusoperaatio) Ajan käynnistys impulssina (SI) 8-18

Reset Output Lähdön nollaus 8-13

Reset_Set Flip Flop Flipflopin nollaus/asetus 8-33

Result Bit Equal 0 Tulosbitti yhtäsuuri kuin 0 19-4

Result Bit Greater Equal 0 Tulosbitti suurempi tai yhtäsuuri kuin 0 19-4

Result Bit Greater Than 0 Tulosbitti suurempi kuin 0 19-4

Result Bit Less Equal 0 Tulosbitti pienempi tai yhtäsuuri kuin 0 19-4

Result Bit Less Than 0 Tulosbitti pienempi kuin 0 19-4

Result Bit Not Equal 0 Tulosbitti erisuuri kuin 0 19-4

Retentive On-Delay S5 Timer (aikaoperaatio) Ajan käynnistys tallentavana vetohidastuksena(SS)

9-11

Retentive On-Delay Timer(bittilukitusoperaatio)

Ajan käynnistys tallentavana vetohidastuksena(SS)

8-24

Return Hyppy takaisin 20-8

Return Fraction Double Integer Jakojäännös (32 bittiä) 11-10

Rotate Left Double Word 32 bitin pyöritys vasemmalle 16-11

Rotate Right Double Word 32 bitin pyöritys oikealle 16-12

Round to Double Integer Luvun pyöristys 14-14

Save RLO to BR Memory Lukitustuloksen lataus BIE-rekisteriin 8-11

Set Output Lähdön asetus 8-12

Set Counter Value Laskurin aloitusarvon asetus 8-14

Set_Reset Flip Flop Flipflopin asetus/nollaus 8-32

Shift Left Double Word 32 bitin siirto vasemmalle 16-4

Shift Left Word 16 bitin siirto vasemmalle 16-3

Shift Right Double Integer Kokonaisluvun (32 bittiä) siirto oikealle 16-9

Shift Right Double Word 32 bitin siirto oikealle 16-6

Shift Right Integer Kokonaisluvun (16 bittiä) siirto oikealle 16-8

Shift Right Word 16 bitin siirto oikealle 16-5

Subtract Double Integer Kokonaislukujen vähennyslasku (32 bittiä) 11-5

Subtract Integer Kokonaislukujen vähennyslasku (16 bittiä) 11-4

Subtract Real Liukulukujen vähennyslasku 12-4

Truncate Double Integer Part Kokonaislukujen muodostus 14-15

Aakkosellinen operaatiolista

Page 31: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-9C79000-G7000-C402-01

Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoa

Kuvaus SivuSIMATIC-mnemoniikka suomeksi

TWOs Complement Double Integer Kokonaisluvun (32 bittiä) 2n komplementinmuodostus

14-12

TWOs Complement Integer Kokonaisluvun (16 bittiä) 2n komplementinmuodostus

14-11

Up Counter (laskentaoperaatio) Eteenpäinlaskenta 10-5

Up Counter (bittilukitusoperaatio) Eteenpäinlaskenta 8-16

Up-Down Counter Eteenpäin-/taaksepäinlaskenta 10-3

(Word) And Double Word 32 bitin JA--lukitus 15-4

(Word) And Word 16 bitin JA--lukitus 15-3

(Word) Exclusive Or Double Word 32 bitin EHDOTON TAI--lukitus 15-8

(Word) Exclusive Or Word 16 bitin EHDOTON TAI--lukitus 15-7

(Word) Or Double Word 32 bitin TAI--lukitus 15-6

(Word) Or Word 16 bitin TAI--lukitus 15-5

Taulukko 1-3 Tämän käsikirjan SIMATIC-mnemoniikalla ja kansainvälisellä (IEC) mnemoniikalla esitetytFBD/FUP-operaatiot

SIMATIC-kuvaus SIMATIC-mnemoniikka IEC-mnemoniikka Sivu

Tiedostoyksikön avaus AUF OPN 17-2

Taaksepäinlaskenta (laskentaoperaatio) Z_RUECK S_CD 10-7

Taaksepäinlaskenta (bittilukitusoperaatio) ZR CD 8-17

BIE-rekisterin bitti BIE BR 19-3

Eteenpäinlaskenta (laskentaoperaatio) Z_VORW S_CU 10-5

Eteenpäinlaskenta (bittilukitusoperaatio) ZV CU 8-16

Eteenpäin-/taaksepäinlaskenta ZAEHLER S_CUD 10-3

Laskurin lähtöarvon asetus SZ SC 8-14

Ajan käynnistys päästöhidastuksena (SA)(aikaoperaatio)

S_AVERZ S_OFFDT 9-13

Ajan käynnistys päästöhidastuksena (SA)(bittilukitusoperaatio)

SA SF 8-26

Ajan käynnistys vetohidastuksena (SE)(aikaoperaatio)

S_EVERZ S_ODT 9-9

Ajan käynnistys vetohidastuksena (SE)(bittilukitusoperaatio)

SE SD 8-22

Ajan käynnistys impulssina (SI) (aikaoperaatio) S_IMPULS S_PULSE 9-5

Ajan käynnistys impulssina (SI)(bittilukitusoperaatio)

SI SP 8-18

Ajan käynnistys tallentavana vetohidastuksena(SS) (aikaoperaatio)

S_SEVERZ S_ODTS 9-11

Aakkosellinen operaatiolista

Page 32: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-10 C79000-G7000-C402-01

Taulukko 1-3 Tämän käsikirjan SIMATIC-mnemoniikalla ja kansainvälisellä (IEC) mnemoniikalla esitetytFBD/FUP-operaatiot, jatkoa

SIMATIC-kuvaus SivuIEC-mnemoniikkaSIMATIC-mnemoniikka

Ajan käynnistys tallentavana vetohidastuksena(SS) (bittilukitusoperaatio)

SS SS 8-24

Ajan käynnistys pidennettynä impulssina (SV)(aikaoperaatio)

S_VIMP S_PEXT 9-7

Ajan käynnistys pidennettynä impulssina (SV)(bittilukitusoperaatio)

SV SE 15-5

Aakkosellinen operaatiolista

Page 33: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-11C79000-G7000-C402-01

Aakkosellinen operaatiolista

Page 34: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

Aakkosellinen operaatiolista A

Ohjelmointiesimerkkejä B

Lukujen esitys C

Liitteet

Page 35: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-18 C79000-G7000-C402-01

Page 36: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-1C79000-G7000-C402-01

Ohjelmanohjausoperaatiot

Kappale Sisältö Sivu

20.1 FC/SFC:n kutsu ilman parametrejä 20-2

20.2 FB:n, FC:n, SFB:n, SFC:n ja multi--instanssien kutsu 20-4

20.3 Hyppy takaisin 20-8

20.4 Master Control Relayn toiminnat 20-9

20.5 Master Control Relayn alku/loppu 20-10

20.6 Master Control Relay päälle/pois päältä 20-13

Yleiskuvakappaleesta

20

Page 37: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-2 C79000-G7000-C402-01

20.1 FC/SFC:n kutsu ilman parametrejä

Operaatiolla FC/SFC:n kutsu ilman parametrejä voidaan kutsua toiminta(FC) tai systeemitoiminta (SFC), jolla ei ole parametrejä. Edeltävästälukituksesta riippuen on kyseessä ehdoton tai ehdollinen kutsu (katsoesimerkki).

Ehdollisessa kutsussa ei toiminnan (FC) käskyosassa voi antaa operandinamitään BLOCK_FC tiedostotyyppistä parametriä. Toimintayksikölle (FB)voidaan kuitenkin antaa operandina BLOCK_FC tyyppinen parametri.

Ehdollinen kutsu suoritetaan vasta silloin, kun LUK on ”1”. Mikäli ehdollistakutsua ei suoriteta, on LUK kutsuoperaation jälkeen ”0”. Mikäli operaatiosuoritetaan, toimii se seuraavasti:

S Se tallentaa kutsuvan yksikön takaisinhyppyosoitteen.

S Se tallentaa kummatkin tiedostoyksikkörekisterit (tiedostoyksikkö jaoheistiedostoyksikkö).

S Se korvaa edellisen paikallisdata--alueen aktuellilla paikallisdata--alueella.

S Se siirtää MA--bitin (aktiivinen MCR--bitti) yksikköpinoon (B--pino).

S Se asettaa kutsutulle FC:lle tai SFC:lle uuden paikallisdata--alueen.

Kutsutussa yksikössä jatketaan sen jälkeen ohjelman käsittelyä.

Parametrien siirtoa koskevaa informaatiota löytyy ohjelmointikäsikirjasta/234/.

Taulukko 20-1 FC/SFC:n kutsu ilman parametrejä--kehys

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

CALL

<Numero>Numero BLOCK_FC --

FC:n tai SFC:n numero (esim. FC 10 tai SFC 59).CPU:sta riippuu, mitkä SFCt ovat käytettävissä.

Ehdollinen kutsu operandina BLOCK_FCtiedosotyypin parametri on mahdollinen vainFB:ssä, ei FC:ssä.

Kuvaus

Ohjelmanohjausoperaatiot

Page 38: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-3C79000-G7000-C402-01

Mikäli FC 10:n ehdoton kutsu suoritetaan, toimii CALL --operaatio seuraavasti:

S Se tallentaa aktuellin FB:n takaisinhyppyosoitteen.S Se tallentaa DB 10:n valitsimen ja FB:n oheisyksikön.S Se siirtää operaation MCRA ”1”:ksi asettaman MA--bitin yksikköpinoon (B--pino) ja asettaa

sen kutsuttua FC10:tä varten takaisin ”0”:ksi.

Ohjelman käsittely jatkuu FC 10:ssä. Mikäli FC 10:ssä halutaan käyttää MCR--toimintaa, on seaktivoitava siellä uudelleen. Jos FC 10 on päätetty, palaa ohjelmankäsittely takaisin kutsuvaanFB:hen. MA--bitti asetetaan uudelleen. Käyttäjämääritteisen FB:n DB 10 ja oheis--DB ovatjälleen aktuelleja DB:eitä, riippumatta siitä, mitä FC 10:n DB:eitä on käytetty.

FC 10:stä tapahtuneen takaisinhypyn jälkeen osoitetaan tulon E 0.0 signaalitila lähdölle A 4.0.FC 11:ta kutsuttaessa on kysessä ehdollinen kutsu, joka suoritetaan vain, jos tulo E 0.1 = 1.Mikäli kutsu suoritetaan, on toiminta sama kuin kutsussa FC 10.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 -- 0

E 0.0

A 4.0

DB10

MCRA

CALL

CALL

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 1 0

Ehdoton kutsu

Ehdollinen kutsu

OPN

FC10

MCRD

=

E 0.1

FC11

Kuva 20-1 FC/SFC :n kutsu ilman parametrejä

Ohjelmanohjausoperaatiot

Page 39: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-4 C79000-G7000-C402-01

20.2 FB:n, FC:n, SFB:n, SFC:n ja multi--instanssien kutsu

Toimintayksiköitä (FBt), toimintoja (FCt), järjestelmätoimintayksiköitä(SFBt), järjestelmätoimintoja (SFCt) ja multi--instansseja voidaan kutsuavalitsemalla valintakehyksestä ”ohjelmaelementit”. Ne löytyvät seuraavillanimillä operaatioryhmälistan lopusta:

S FB yksiköt

S FC yksiköt

S SFB yksiköt

S SFC yksiköt

S Multi--instanssit

S Kirjastot

Mikäli valitaan jokin näistä yksiköistä, ilmestyy kuvaruudulle kehys, jossa ontoiminnan tai toimintayksikön numero tai symbolinimi ja vastaavatparametrit.

Yksikön, jota halutaan kutsua, tulee olla jo käännetty ja sen on oltava olemassaS7--ohjelmassa, kirjastossa tai CPU:ssa.

Jos operaatio (FB:n, FC:n, SFB:n, SFC:n ja multi--instanssien kutsu) suorite-taan, toimii se seuraavasti:

S Se tallentaa kutsuvan yksikön takaisinhyppyosoitteen.

S Se tallentaa kummatkin tiedostoyksikkörekisterit (tiedostoyksikkö jainstanssi--tiedostoyksikkö).

S Se korvaa edellisen paikallisdata--alueen aktuellilla paikallisdata--alueella.

S Se siirtää MA--bitin (aktiivinen MCR--bitti) yksikköpinoon (B--pino).

S Se asettaa kutsutulle FC:lle tai SFC:lle uuden paikallisdata--alueen.

Huomautus

DB-- ja DI--rekisterejä tallennettaessa saattaa käydä niin, että ne eivät näytäavattuja tiedostoyksiköitä. Parametrejä annettaessa DB--rekisteri ylikirjoite--taan joskus käännettäessä kopiointimenetelmien vuoksi, erityisestitoimintayksiköiden kohdalla. Lähempää tietoa aiheesta löytyyohjelmointikäsikirjasta /234/.

Ohjelman käsittelyä jatketaan tämän jälkeen kutsutussa yksikössä.

Kuvaus

Ohjelmanohjausoperaatiot

Page 40: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-5C79000-G7000-C402-01

FUP--kehyksen vapautuslähtö (ENO) vastaa tilasanan BIE--bittiä (katsokappale 6.3). Kun kirjoitetaan toimintayksikkö tai toiminta, jota halutaankutsua FUP:sta, on aivan sama kirjoitetaanko AWL:n, KOP:n tai FUP:n FBtai FC, on BIE--bitti huomioitava. LUK tallennetaan BIE--bittiin SAVE--operaatiolla seuraavien kriteerien mukaisesti:

S LUK:n ollessa ”1” tallennetaan se BIE--bittiin sitä tilannetta varten, ettäFB tai FC käsitellään virheettömästi.

S LUK:n ollessa ”0” tallennetaan se BIE--bittiin sitä tilannetta varten, ettäFB:tä tai FC:tä käsiteltäessä ilmenee virhe.

Nämä operaatiot ohjelmoidaan FB:n tai FC:n loppuun, niin että ne käsitelläänviimeisinä yksikössä.

!Varoitus

BIE--bitti voidaan asettaa ”0”:ksi epähuomiossa.

Kun FB:eitä tai FC:eitä kirjoitetaan FUP:iin eikä BIE--bitti toimi kuten ylläon selitetty, saattaa FB tai FC ylikirjoittaa silloin toisen FB:n tai FC:n BIE--bitin.

Kyseisen virheen välttämiseksi tallennetaan LUK FB:n tai FC:n loppuunkuten edellä on kuvattu.

Kuvassa 20-2 esitetään yksikön ehdollisen tai ehdottoman kutsun vaikutustilasanan bitteihin (katso kappale 6.3).

Ehdollinen:Ehdoton:

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- -- 0 0 1 x xkirjoitus -- -- -- -- 0 0 x x x

Kuva 20-2 Yksikkökutsun vaikutus tilasanan bitteihin

Vapautuslähtö

Kutsun vaikutustilasanan bitteihin

Ohjelmanohjausoperaatiot

Page 41: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-6 C79000-G7000-C402-01

Kutsutun yksikön parametrit esitetään FUP--kehyksessä. Yksikkölajistariippuen on parametrejä osoitettaessa meneteltävä eri tavoin.

S Toimintaa (FC) varten on kaikki muodolliset parametrit varustettavatodellisilla parametreillä.

S Toimintayksiköissä (FB) on todellisen parametrin anto valinnainen.FB--kutsu on kuitenkin varustettava oheistiedostoyksiköllä (oheis--DB).Mikäli muodollista parametriä ei varustettu todellisella parametrillä,toimii FB arvoilla, jotka ovat sen oheis--DB:ssä.

S Multi--instansseja kutsutaan niiden muuttujanimillä. Kutsuttu kehys on jovarustettu kaikilla parametreillä (multi--instanssien selitys; katso kappale3.5).

Strukturoiduille IN/OUT--parametreille sekä Pointer-- ja Array --tyyppisilleparametreille on annettava (ainakin ensimmäisessä kutsussa) todellinenparametri.

Jokaisen todellisen parametrin, joka annetaan toimintayksikköä kutsuttaessa,on oltava samaa tiedostotyyppiä kuin sen muodollinen parametri.

Infoa siitä, miten toiminta ohjelmoidaan miten sen parametreillä toimitaanlöytyy ohjelmointikäsikirjasta /234/.

Taulukossa 20-2 on FB:iden, FC:iden, SFB:iden, SFC:iden kutsua vartenkehys ja siinä kuvataan parametrejä, jotka ovat kaikkien näiden yksiköidenkehykselle yhteisiä. Yksikön numero näytetään automaattisesti (FB:n, FC:n,SFB:n tai SFC:n numero, esim. FC 10).

Taulukko 20-2 FB:n, FC:n, SFB:n, SFC:n kutsujen kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

YksikkönoEN

DB--Nr.DB--no BLOCK_DB --

DB:n numero. Tämä infoannetaan vain, jos halutaankutsuaFB:eitä.

EN

IN OUT EN BOOL E, A, M, D, L, T, Z Vapautustulo

ENOIN/OUT ENO BOOL E, A, M, D, L Vapautuslähtö

Parametrit

Ohjelmanohjausoperaatiot

Page 42: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-7C79000-G7000-C402-01

DB13

EN

StartStopPituus

Run

ENO

Kutsuu FB10:täoheis--DB 13:lla

E 1.0E 1.1MW20

M2.1

FB10

Todellinen parametri,jonka arvot kopioidaanennen FB 10:n käsittelyäoheis--DB:hen DB 13. FB:n muodollinen parametri

Tämän parametrin arvokopioidaan FB 10:n käsittelynjälkeen DB 13:sta M 2.1:een.

Kuva 20-3 FB kutsu kehyksenä

Ohjelmanohjausoperaatiot

Page 43: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-8 C79000-G7000-C402-01

20.3 Hyppy takaisin

Yksiköistä voidaan poistua operaatiolla hyppy takaisin. Yksiköstä voidaanpoistua ehdollisesti.

Taulukko 20-3 Hyppy takaisin--kehys

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

RET Ei ole -- -- --

Yksiköstä poistutaan, jos E 0.0 = 1.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 1 0

Ehdollinen takaisinhyppy (takaisinhyppy, jos LUK = 1)

RETE 0.0

Kuva 20-4 Hyppy takaisin

Kuvaus

Ohjelmanohjausoperaatiot

Page 44: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-9C79000-G7000-C402-01

20.4 Master Control Relayn toiminnat

Master Control Relayta (MCR) (MCR, katso kappale 20.5) signaalivuonaktivointiin ja deaktivointiin. Deaktivoitu virtapiiri vastaa operaatio--järjestystä, joka kirjoittaa nolla--arvon lasketun arvon sijaan tai operaatio--järjestystä, joka ei muuta olemassa olevaa muistiarvoa. Operaatiot, jotkasuoritetaan jollakin taulukossa 20-4 esitetyistä operaatioista, ovat MCR:stäriippuvaisia.

Operaatiot osoitus ja konnektori kirjoittavat muistiin ”0”, jos MCR on ”0”.Operaatiot operandin asetus ja operandin nollaus eivät muuta olemassaolevaa arvoa (katso taulukko 20-5).

Taulukko 20-4 Operaatiot, joihin MCR--alueet vaikuttavat

FUP--kehys Kuvaus Tämän käsikirjan kappale

# Konnektori 8.9

= Osoitus 8.8

S Operandin asetus 8.11

R Operandin nollaus 8.12

SR Flipflopin asetus/nollaus 8.25

RSFlipflopin nollaus/asetus 8.26

MOVEArvon siirto 14.1

Taulukko 20-5 MCR:stä riippuvat operaatiot ja niiden reaktiot MCR:n signaalitilaan

Taulukko 20-5 MCR:stä riippuvat operaatiot ja niiden reaktiot MCR:n signaalitilaan

MCR:nsignaalitila

Osoitus, konnektori

=

#

Operandin asetus tai nollaus

S

SR

R

RS

Arvon siirto

MOVE

0 Kirjoittaa ”0”

(Vastaa relettä, joka jännitteenkatketessa menee lepotilaan.)

Ei kirjoita

(Vastaa relettä, joka jännitteenkatketessa pysyy aktuellissatilassaan.)

Kirjoittaa ”0”

(Vastaa komponenttia, jokajännitteen katketessa antaaarvon ”0”.)

1 Normaali käsittely Normaali käsittely Normaali käsittely

Master ControlRelayn määrittely

Ohjelmanohjausoperaatiot

Page 45: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-10 C79000-G7000-C402-01

20.5 Master Control Relayn alku/loppu

Operaatiolla Master Control Relayn alku kytketään seuraavien käskyjenMCR--riippuvuus päälle. Tämän käskyn jälkeen voidaan MCR--alueetohjelmoida (katso kappale 20.6) operaatioilla Master Control Relay päälle jaMaster Control Relay pois päältä. Jos ohjelma aktivoi MCR--alueen, riippu-vat kaikki MCR--toiminnat MCR--pinon sisällöstä (katso kuva B--4).

Taulukko 20-6 Master Control Relayn alku--kehys

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

MCRA Ei ole -- -- Aktivoi MCR--toiminnan

Operaatiolla Master Control Relayn loppu kytketään seuraavien käskyjenMCR--riippuvuus päälle. Tämän käskyn jälkeen ei MCR--alueita voida enääohjelmoida. Jos ohjelma deaktivoi MCR--alueen, on MCR -- MCR--pinonmerkinnöistä riippumatta -- aina jännitteellinen.

Taulukko 20-7 Master Control Relayn loppu --kehys

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

MCRD Ei ole -- -- Deaktivoi MCR--toiminnan

MCR--pino ja sen riippuvuutta ohjaava bitti (MA--bitti), viittaavat kulloiselle-kin tasolle ja ne on varmistettava ja haettava joka kerran, kun sekvenssitasol-la tapahtuu muunto. Ne esiasetetaan jokaisen sekvenssitason alussa (MCR--syöttöbitit 1 ... 8 asetetaan ”1”:ksi, MCR--pino--osoitin = 0 ja MA--bitti = 0).

MCR--pino osoitetaan eteenpäin yksikkö yksiköltä ja MA--bitti varmistetaanjokaisessa yksikkökutsussa ja asetetaan ”0”:ksi. Se toistetaan yksikön lopus-sa.

MCR voidaan toteuttaa siten, että se optimoi koodigeneroivien CPU:idenkäyntiajan. Syy tähän on se, että MCR--riippuvuutta ei johdeta eteenpäinyksikköön, vaan se on aktivoitava selvästi MCRA--operaatiolla.Koodigeneroiva CPU tunnistaa kyseisen operaation ja generoi MCR--pinontulkitsemiseksi tarvittavan lisäkoodin, kunnes se tunnistaa MCRD--operaationtai kun yksikön loppu on saavutettu. MCRA/MCRD--alueen ulkopuolistenoperaatioiden käyntiaika ei lisäänny.

MCRA-- ja MCRD --operaatioita saa käyttää ohjelmassa vain pareittain.

MCRn alku

MCRn loppu

Ohjelmanohjausoperaatiot

Page 46: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-11C79000-G7000-C402-01

OB1

MCRA

MCRD

MCRA

MCRA

MCRA

MCRD

BEA

BEA

MCR--bitistä riippuvat operaatiot

MCR--bitistä riippumattomat operaatiot

Call FBx

FBx FCy

Call FCy

BEA BEA on AWL--operaatio.Lähempää tietoa löytyy referenssikäsikirjasta /232/

Kuva 20-5 MCR--alueen aktivointi ja deaktivointi

MCRA:n ja MCRD:n välille ohjelmoidut operaatiot ovat riippuvaisiaMCR--bitin signaalitilasta. MCRA--MCRD--sekvenssin ulkopuolelleohjelmoidut operaatiot eivät ole riippuvaisia MCR--bitin signaalitilasta. JosMCRD--operaatio puuttuu, ovat MCRA:n ja BEA:n välille ohjelmoidutoperaatiot silloin riippuvaisia MCR--bitistä.

Ohjelmanohjausoperaatiot

Page 47: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-12 C79000-G7000-C402-01

MCRA --operaatio aktivoi MCR --toiminnan seuraavaan MCRD:hen asti. MCR<:n ja MCR>:nvälisten operaatioiden käsittely riippuu MA--bitistä (tässä E 0.0):

S Jos E 0.0 = 1:-- asetetaan A 4.0 ”1”:ksi, mikäli E 0.3 = 1-- ei A 4.0:aa muuteta, jos E 0.3 = 0-- osoitetaan tulon E 0.4 signaalitila lähdölle A 4.1.

S Jos E 0.0 = 0:-- ei A 4.0:ää muuteta tulon E 0.3 signaalitilasta riippumatta-- on A 4.1:llä arvo ”0” tulon E 0.4 signaalitilasta riippumatta

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --

E 0.3

A 4.0

MCR<

=

MCRA

MCRD

S

E 0.4

A 4.1

MCR>

E 0.0

Kuva 20-6 Master Control Relayn alku/loppu

Toimintojen (FC) ja toimintayksiköiden (FB) riippuvuus MCR:stä onohjelmoitava yksiköihin itse. Mikäli tätä toimintaa tai toimintayksikköäkutsutaan MCRA--MCRD--sekvenssistä käsin, eivät kaikki tämän sekvenssinsisäiset käskyt ole silloin automaattisesti riippuvaisia MCR--bitistä. Tätävarten käytetään kutsutun yksikön MCRA --operaatiota.

!Varoitus

Henkilö-- ja esinevahinkoriskit:

MCR --operaatiota ei saa koskaan käyttää HÄTÄ--SEIS-- tai turvaohjauksena.

MCR ei ole kiinteästi johdotetun Master Control Relayn korvike.

Ohjelmanohjausoperaatiot

Page 48: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-13C79000-G7000-C402-01

20.6 Master Control Relay päälle/pois päältä

Operaatiolla Master Control Relay päälle (MCR<) tallennetaan LUKMCR--pinoon ja avataan MCR--alue. MCR--aluetta avattaessa MCR--pinoontallentuva LUK vaikuttaa taulukossa 20-4 esitettyihin operaatioihin tämänalueen sisällä. MCR--pino toimii kuten LIFO--välimuisti (LIFO = last in, firstout), jossa voi olla enintään 8 merkintää. Kun pino on täynnä, aiheuttaaoperaatio Master Control Relay päälle MCR--pinovirheen (MCRF).

Taulukko 20-8 Master Control Relay päälle--kehys

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

MCR< Ei ole -- -- Avaa MCR--alueen

Operaatiolla Master Control Relay pois päältä (MCR>) suljetaan viimeksiavattu MCR--alue. Sulkeminen tapahtuu nollaamalla LUK--merkintäMCR--pinossa, johon LUK siirrettiin operaatiolla Master Control Relaypäälle. MCR--pino toimii kuten LIFO--välimuisti (LIFO = last in, first out).Kyseisen pinon toisessa päässä vapautuva merkintä asetetaan ”1”:ksi. Pinonollessa jo tyhjä, aiheuttaa operaatio Master Control Relay poi päältäMCR--pinovirheen (MCRF).

Taulukko 20-9 Master Control Relay pois päältä--kehys

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

MCR> Ei ole -- -- Sulkee viimeksi avatun MCR--alueen

MCR:ää ohjaa pino, joka on yhden bitin levyinen ja kahdeksan merkintääsyvä (katso kuva 20-7). MCR:ää aktivoidaan niin kauan, kunnes pinon kaikkikahdeksan merkintää ovat yhtäsuuret kuin ”1”. Operaatio MCR< kopioi luki-tustuloksen MCR--pinoon. Operaatio MCR> poistaa pinon viimeisen mer-kinnän ja asettaa vapautuneen pino--osoitteen ”1”:ksi. Virheen ilmetessä --esim. jos enemmän kuin kahdeksan MCR> --operaatiota seuraa toisiaan taijos yritetään suorittaa MCR> --operaatio tyhjässä MCR--pinossa --, kyseinenvirhe laukaisee silloin virheilmoituksen MCRF. MCR--pinon valvonta seuraapino--osoitinta (MSP: 0 = tyhjä, 1 = yksi merkintä, 2 = kaksi merkintää, ...,8 = kahdeksan merkintää).

MCR päälle

MCR pois päältä

Ohjelmanohjausoperaatiot

Page 49: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-14 C79000-G7000-C402-01

LUK

LUK

LUKMSP!

MA

MCRA MCRD1 0

" "

1

2

3

4

5

6

7

8

LUK siirretty bitti# "

# "

MSP = MCR--pino--osoitin

MA = MCR--riippuvuutta ohjaava bitti

Siirretty bitti 1

Kuva 20-7 Master Control Relay--pino

MCR< ja MCR> --operaatioita saa käyttää ohjelmassa aina vain pareittain.

Operaatio MCR< ottaa vastaan LUK:n signaalitilan ja kopioi sen MCR--bit-tiin.

Operaatio MCR> asettaa MCR--bitin ehdottomasti ”1”:ksi. Jokainen muuMCRA:n ja MCRD:n välinen operaatio toimii tämän ominaisuuden perus-teella MCR--bitistä riippumatta (MCRA ja MCRD katso seuraava sivu).

Operaatiot MCR< ja MCR> voidaan lomitella. Maksimi lomittelusyvyys onkahdeksan, ts., enintään kahdeksan MCR< operaatiota voidaan kirjoittaaperäkkäin ennen operaation MCR> väliinkirjoitusta. MCR< ja MCR>--operaatioita on ohjelmoitava sama määrä.

Mikäli MCR< --operaatiot on lomiteltu, muodostetaan syvemmän lomitteluta-son MCR--bitti. Silloin operaatio MCR< lukitsee aktuellin LUK:n aktuellillaMCR--bitillä JA--totuustaulukon mukaisesti.

Mikäli MCR> --operaatio päättää lomittelutason, hakee se MCR--bitin kor-keammalta tasolta.

Operaatioiden(MCR<) ja (MCR>)lomittelu

Ohjelmanohjausoperaatiot

Page 50: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-15C79000-G7000-C402-01

Jos operaatio MCRA aktivoi MCR --toiminnan, voidaan muodostaa enintään kahdeksan lomiteltuaMCR--aluetta. Esimerkissä on kaksi MCR--aluetta. Ensimmäinen MCR> --operaatio toimii yhdessätoisen MCR< --operaation kanssa. Kaikki toisen MCR--sulkuryhmän väliset (MCR< MCR>) operaatiotkuuluvat toiseen MCR--alueeseen. Operaatiot suoritetaan seuraavasti:S E 0.0 = 1: E 0.4:n signaalitila osoitetaan lähdölle A 4.1.S E 0.0 = 0: Lähtö A 4.1 on ”0”, E 0.4:n signaalitilasta riippumatta

lähtö A 4.0 ei muutu E 0.3:n signaalitilasta riippumatta.S E 0.0 ja E 0.1 = 1: Lähtö A 4.0 asetetaan ”1”:ksi, jos E 0.3 = 1, ja A 4.1 = E 0.4.S E 0.1 = 0: Lähtö A 4.0 ei muutu, E 0.3:n ja E 0.0:n signaalitilasta riippumatta.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 -- 0

E 0.3

A 4.0

MCR>

=

MCRA

MCRD

S

E 0.4

A 4.1

MCR>

E 0.0 MCR<

E 0.1 MCR<

Kuva 20-8 Master Control Relay päälle/pois päältä

Ohjelmanohjausoperaatiot

Page 51: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

20-16 C79000-G7000-C402-01

Ohjelmanohjausoperaatiot

Page 52: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-1C79000-G7000-C402-01

Tilabittioperaatiot

Kappale Sisältö Sivu

19.1 Yleiskuva 19-2

19.2 BIE-rekisterin häiriöbitti 19-3

19.3 Tulosbitit 19-4

19.4 Väärien operaatioiden häiriöbitti 19-6

19.5 Ylivuodon häiriöbitti 19-7

19.6 Tallennetun ylivuodon häiriöbitti 19-8

Yleiskuvakappaleesta

19

Page 53: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-2 C79000-G7000-C402-01

19.1 Yleiskuva

Tilabittioperaatiot ovat bittilukitusoperaatioita (katso kappale 8), jotka toimi-vat tilasanan biteillä (katso kappale 6.3). Nämä operaatiot reagoivat yhteenseuraavista ehdoista, jotka yksi tai useampi bitti näyttää:

S Binääritulosbitti asetetaan (ts. sen signaalitila on ”1”).

S Aritmeettisen operaation tuloksen ja 0:n suhde on:

-- suurempi kuin 0 (> 0)

-- pienempi kuin 0 (< 0)

-- suurempi tai yhtäsuuri kuin 0 (> = 0)

-- pienempi tai yhtäsuuri kuin 0 (< = 0)

-- yhtäsuuri kuin 0 (= = 0)

-- erisuuri kuin 0 (< > 0)

S Aritmeettisen operaation tulos on väärä.

S Aritmeettisessa operaatiossa esiintyi ylivuoto.

JA-operaatiossa tilabittioperaatiot lukitsevat signaalitilakyselynsä tuloksenedellisellä lukitustuloksella JA--totuustaulukon mukaisesti (katso kappale 6.2ja taulukko 6-7). TAI-operaatiossa tämä tapahtuu TAI--totuustaulukon mukai-sesti (katso kappale 6.2 ja taulukko 6-8).

Tässä kappaleessa on BIE-rekisterin häiriöbitti elementti, joka kysyyBIE--bitin signaalitilaa, esitetty SIMATIC-muodossa ja kansainvälisessämuodossa.

Tilasana on CPU:n muistin rekisteri. Se siältää bittejä, joita voi puhutellabitti- ja sanalukitusoperaatioiden operandeissa. Kuva 19-1 esittää tilasananrakennetta. Lisäinfoa tilasanan yksittäisistä biteistä löytyy kappaleesta 6.3.

28215... ...29 2427 26 25 2023 22 21

BIE OSA1 A0 OV /EROR STA VKE

Kuva 19-1 Tilasanan rakenne

Seuraavissa kappaleissa kuvatuilla FUP-elementeillä ei ole mitäänsyötettäviä parametrejä.

Kuvaus

Tilasana

Parametri

Tilabittioperaatiot

Page 54: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-3C79000-G7000-C402-01

19.2 BIE-rekisterin bitti

Operaatiolla BIE-rekisterin bitti voidaan kysyä BIE-bitin signaalitilaa(binääritulos) (katso kappale 6.3). JA-operaatiossa lukitaan kyselytulosedellisellä LUK:lla JA-totuustaulukon mukaisesti (katso kappale 6.2 jataulukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukonmukaisesti(katso kappale 6.2 ja taulukko 6-8).

Kuva 19-2 esittää BIE-rekisterin bittiä SIMATIC-mnemoniikalla jakansainvälisellä mnemoniikalla.

kansainvälinen elementtiSIMATIC-elementti

BIE BR

Kuva 19-2 BIE-rekisterin bitti--kehys

E 0.0 Lähtö A 4.0 asetetaan, mikäli E 0.0 = 1 TAIE 0.2 = 0 ja, tämän LUK:n lisäksi, BIE-bitinsignaalitila = 1.E 0.2

BIE

A 4.0

S

>=1

&

Kuva 19-3 BIE-rekisterin bitti

Kuvaus

FUP-kehys

Tilabittioperaatiot

Page 55: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-4 C79000-G7000-C402-01

19.3 Tulosbitit

Operaatioilla tulosbitit voidaan kysyä, mikä on aritmeettisen operaationtuloksen ja 0:n suhde, ts., onko tulos > 0, < 0, > = 0, < = 0, = = 0 vai < > 0(katso taulukko 19-1). Tätä varten luetaan tilasanan näyttöbitit (A1 ja A0,katso kappale 6.3). Mikäli operandissa annettu vertailuehto on täytetty, antaasignaalitilakysely tulokseksi ”1”.

Tilabittioperaatiot lukitsevat JA-operaatiossa signaalitilakyselynsä tuloksenedellisellä LUK:lla JA-totuustaulukon mukaisesti (katso kappale 6.2 ja tau-lukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).

Taulukko 19-1 Tulosbitin kehykset

FUP--elementti Kuvaus

> 0Operaatio tulosbitin ollessa suurempi kuin 0 määrää, onko aritmeettisen operaation tulossuurempi kuin 0. Se kysyy lukitusta tilasanan näyttöbiteistä A1 ja A0 , määritelläkseentuloksen suhteen 0:aan.

< 0Operaatio tulosbitin ollessa pienempi kuin 0 määrää, onko aritmeettisen operaation tulospienempi kuin 0. Se kysyy lukitusta tilasanan näyttöbiteistä A1 ja A0 , määritelläkseentuloksen suhteen 0:aan.

> = 0Operaatio tulosbitin ollessa suurempi tai yhtäsuuri kuin 0 määrää, onko aritmeettisenoperaation tulos suurempi vai yhtäsuuri kuin 0. Se kysyy lukitusta tilasanannäyttöbiteistä A1 ja A0 , määritelläkseen tuloksen suhteen 0:aan.

< = 0Operaatio tulosbitin ollessa pienempi tai yhtäsuuri kuin 0 määrää, onko aritmeettisenoperaation tulos pienempi vai yhtäsuuri kuin 0. Se kysyy lukitusta tilasanannäyttöbiteistä A1 ja A0 , määritelläkseen tuloksen suhteen 0:aan.

== 0Operaatio tulosbitin ollessa yhtäsuuri kuin 0 määrää, onko aritmeettisen operaation tulosyhtäsuuri kuin 0. Se kysyy lukitusta tilasanan näyttöbiteistä A1 ja A0 , määritelläkseentuloksen suhteen 0:aan.

< > 0Operaatio tulosbitin ollessa erisuuri kuin 0 määrää, onko aritmeettisen operaation tuloserisuuri kuin 0. Se kysyy lukitusta tilasanan näyttöbiteistä A1 ja A0 , määritelläkseentuloksen suhteen 0:aan.

Kuvaus

Tilabittioperaatiot

Page 56: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-5C79000-G7000-C402-01

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

SUB_I --kehys aktivoidaan, jos E 0.0 = 1. MikäliEW0:n arvo on suurempi kuin EW2:n arvo, onaritmeettisen operaation EW0 -- EW2 tulossuurempi kuin 0.

Jos EN:n signaalitila = 1 ja toiminnan SUB_Ikäsittelyn aikana esiintyy virhe, on ENO:n sig-naalitila silloin = 0.

1) Lähtö A 4.0 asetetaan, jos toiminta suoritettiinvirheettömästi ja tulos on suurempi kuin 0. Jostulon E 0.0 signaalitila = 0 (ei aktivoitu), on EN:nja ENO:n signaalitila silloin ”0”.

2) Lähtö A 4.0 asetetaan, jos toiminta suoritettiinvirheettömästi ja tulos on pienempi tai yhtäsuurikuin 0. Jos tulon E 0.0 signaalitila = 0 (ei aktivoi-tu), on EN:n ja ENO:n signaalitila silloin ”0”.

1)

2)

SUB_I

IN2

OUT

EW2

MW10IN1EW0

EN

ENO

E 0.0

SUB_I

IN2

OUT

EW2

MW10IN1EW0

EN

ENO

E 0.0

A 4.0S

&

�0

A 4.0S

&

>0

Kuva 19-4 Tulosbitin ollessa suurempi kuin 0 ja käänteisen tulosbitin ollessa suurempi kuin 0

Tilabittioperaatiot

Page 57: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-6 C79000-G7000-C402-01

19.4 Väärän operaation virhebitti

Operaatiolla väärän operaation virhebitti voidaan kysyä, onko liukuluvuillasuoritetun aritmeettisen operaation tulos väärä (ts., eikö jokin aritmeettisenoperaation arvoista ole voimassa oleva liukuluku). Tätä varten luetaantilasanan näyttöbitit (A1 ja A0, katso kappale 6.3). Aritmeettisen operaationtuloksen ollessa väärä (UO), antaa signaalitilakysely tulokseksi ”1”. MikäliA1:n ja A0:n lukitus ei ilmoita ”väärä”, on signaalitilakyselyn tulos ”0”.

Tilabittioperaatiot lukitsevat JA-operaatiossa signaalitilakyselynsä tuloksenedellisellä LUK:lla (LUK, katso kappale 6.3) JA-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti (katso kappale 6.2 ja taulukko 6-8).

UO

Kuva 19-5 Väärän operaation virhebitti--kehys

DIV_R --kehys aktivoidaan, jos E 0.0 = 1.Mikäli ED0:n tai ED4:n arvo ei ole voimassaoleva liukuluku, niin aritmeettinen operaatioon väärä/ei ole voimassa.Jos EN:n signaalitila = 1 (aktivoitu) jatoiminnan DIV_R käsittelyn aikana ilmeneevirhe, on ENO:n signaalitila silloin = 0.

Lähtö A 4.0 asetetaan, jos operaatio DIV_Rsuoritetaan, jonkin aritmeettisen operaationarvoista ollessa ei voimassa oleva liukuluku.Mikäli tulon E 0.0 signaalitila = 0 (eiaktivoitu), on EN:n ja ENO:n signaalitilasilloin ”0”.

DIV_R

IN2

OUT

ED4

MD10IN1ED0

EN

ENO

E 0.0

A 4.1S

UO A 4.0

S

Virtapiiri 1:

Virtapiiri 2:

Kuva 19-6 Väärän operaation virhebitti

Kuvaus

FUP--kehys

Tilabittioperaatiot

Page 58: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-7C79000-G7000-C402-01

19.5 Ylivuodon virhebitti

Operaatiolla ylivuodon virhebitti voidaan tunnistaa, onko viimeksikäsitellyssä aritmeettisessa operaatiossa ilmennyt ylivuoto (OV). Tuloksenollessa aritmeettisen operaation jälkeen sallitun negatiivisen tai sallitunpositiivisen alueen ulkopuolella, asetetaan tilasanan OV-bitti (katso kappale6.3). Operaatio kysyy kyseisen bitin signaalitilaa. Virheettömästi läpimenneet aritmeettiset operaatiot nollaavat tämän bitin.

Tilabittioperaatiot lukitsevat JA-operaatiossa signaalitilakyselynsä tuloksenedellisellä LUK:lla JA-totuustaulukon mukaisesti (katso kappale 6.2 ja tau-lukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).

UO

Kuva 19-7 Väärän operaation virhebitti--kehys

SUB_I --kehys aktivoidaan, jos E 0.0 = 1. Mikäli aritmeetti-sen operaation EW0 - EW2 tulos on liukuluvulle sallitunalueen ulkopuolella, asetetaan OV-bitti.

OV:n signaalitilakysely antaa tulokseksi ”1”. Lähtö A 4.0asetetaan, jos OV:ssä tehdyn kyselyn tulos on ”1” ja virta-piirin 2 LUK on ”1” (ts., jos LUK on ennen lähtöä A 4.0 =1).

Jos tulon E 0.0 signaalitila = 0 (ei aktivoitu), on EN:n jaENO:n signaalitila silloin ”0”. EN:n signaalitilan ollessa = 1(aktivoitu) ja aritmeettisen operaation tuloksen ollessaalueen ulkopuolella, on ENO:n signaalitila silloin = 0.

Virtapiiri 1:

Virtapiiri 2:

SUB_I

IN2

OUT

EW2

MW10IN1EW0

EN

ENO

E 0.0

E 0.1

E 0.2

E 0.3

&

>=1

A 4.0

SOV

M 3.3

Virtapiiri 3:

Kuva 19-8 Ylivuodon virhebitti

Kuvaus

FUP--kehys

Tilabittioperaatiot

Page 59: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-8 C79000-G7000-C402-01

19.6 Tallennetun ylivuodon virhebitti

Operaatiolla tallennetun ylivuodon virhebitti voidaan tunnistaa, onkoaritmeettisessa operaatiossa esiintynyt tallentava ylivuoto (tallentavaylivuoto, OS). Tuloksen ollessa aritmeettisen operaation jälkeen sallitunnegatiivisen tai positiivisen alueen ulkopuolella, asetetaan tilasanan OS-bitti(katso kappale 6.3). Operaatio kysyy bitin signaalitilaa. Toisin kuin OV-bitti(ylivuoto) pysyy OS-bitti asetettuna virheettömästi läpimenneessäaritmeettisessa operaatiossa (katso kappale 19.5).

Tilabittioperaatiot lukitsevat JA-operaatiossa signaalitilakyselynsä tuloksenedellisellä LUK:lla JA-totuustaulukon mukaisesti (katso kappale 6.2 ja tau-lukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).

OS

Kuva 19-9 Tallennetun ylivuodon virhebitti--kehys

Kuvaus

FUP--kehys

Tilabittioperaatiot

Page 60: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-9C79000-G7000-C402-01

MUL_I --kehys aktivoidaan, jos E 0.0 = 1 ja ADD_I --kehysaktivoidaan, jos E 0.1 = 1. Jommankumman tuloksista olles-sa kokonaisluvulle sallitun alueen ulkopuolella, asetetaanOS-bitti.

OS:n signaalitilakysely antaa tulokseksi ”1” ja lähtö A 4.0asetetaan.

Virtapiiri 1: Jos tulon E 0.0 signaalitila = 0 (ei aktivoitu), onEN:n ja ENO:n signaalitila silloin ”0”. EN:n signaalitilan olles-sa = 1 (aktivoitu) ja aritmeettisen operaation tuloksen ollessaalueen ulkopuolella, on ENO:n signaalitila silloin = 0.

Virtapiiri 2: Jos tulon E 0.1 signaalitila = 0 (ei aktivoitu), onEN:n ja ENO:n signaalitila silloin ”0”. EN:n signaalitilan olles-sa = 1 (aktivoitu) ja aritmeettisen operaation tuloksen ollessaalueen ulkopuolella, on ENO:n signaalitila silloin = 0.

Virtapiiri 1:

Virtapiiri 2:

Virtapiiri 3:

MUL_I

IN2

OUT

EW2

MD8IN1EW0

EN

ENO

E 0.0

ADD_I

IN2

OUT

EW2

MW12IN1EW0

EN

ENO

E 0.1

OS A 4.0

S

Kuva 19-10 Tallennetun ylivuodon virhebitti

Tilabittioperaatiot

Page 61: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

19-10 C79000-G7000-C402-01

Tilabittioperaatiot

Page 62: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

18-1C79000-G7000-C402-01

Hyppyoperaatiot

Kappale Sisältö Sivu

18.1 Yleiskuva 18-2

18.2 Ehdoton hyppy yksikössä 18-3

18.3 Hyppy, kun 1 (ehdollinen) 18-4

18.4 Hyppy, kun 0 (ehdollinen) 18-5

18.5 Hyppymerkki 18-6

Yleiskuvakappaleesta

18

Page 63: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

18-2 C79000-G7000-C402-01

18.1 Yleiskuva

Hyppymerkki on hyppyoperaation operandi. Se muodostuu enintään 4merkistä. Ensimmäisen merkin on oltava kirjain, muut merkit voivat ollakirjaimia tai lukuja (esim. SEG3). Hyppymerkki ilmoittaa kohteen, johonohjelman on hypättävä.

Hyppymerkki annetaan JMP --kehyksen kautta (katso kuva 18-1).

Kohdehyppymerkin on oltava virtapiirin alussa. Kohdehyppymerkki annetaanvalitsemalla FUP--valintakehyksestä LABEL. Näyttöön tulee tyhjä kehys,johon syötetään hyppymerkin nimi (katso kuva 18-1).

SEG3

JMP

Virtapiiri 1

Virtapiiri X

Virtapiiri 2

.

.

.

E 0.1

A 4.0

=

SEG3

E 0.4

A 4.1

R

Kuva 18-1 Hyppymerkki operandina ja kohteena

Hyppymerkkioperandina

Hyppymerkkikohteena

Hyppyoperaatiot

Page 64: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

18-3C79000-G7000-C402-01

18.2 Ehdoton hyppy yksikössä

Operaatio ehdoton hyppy yksikössä vastaa operaatiota ”menehyppymerkkiin”. Mitään hyppyoperaation ja hyppymerkin välisistäoperaatioista ei suoriteta.

Tätä operaatiota voidaan käyttää kaikissa koodiyksiköissä, esim.organisaatioyksiköissä (OBt), toimintayksiköissä (FBt) ja toiminnoissa (FCt).

Ehdoton hyppy kehyksessä ei saa olla esilukituksia.

Taulukko 18-1 Ehdoton hyppy yksikössä--kehys ja parametri

FUP--kehys Parametri Tied.tyyp. Muistialue Kuvaus

<Operandi>

JMP

Hyppymerkinnimi

-- -- Operandi ilmoittaa merkin, johonehdoton hyppy tapahtuu.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --

CAS1

JMP

Virtapiiri 1

Virtapiiri X

Hyppy suoritetaan aina. Mitään hyppyoperaation jahyppymerkin välisistä operaatioista ei suoriteta.

CAS1

E 0.4A 4.1R

??.?

.

.

.

Operaatio ei muuta tilasanan bittejä.

Kuva 18-2 Ehdoton hyppy: Hyppy merkkiin

Kuvaus

Hyppyoperaatiot

Page 65: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

18-4 C79000-G7000-C402-01

18.3 Hyppy, kun 1 (ehdollinen)

Operaatio hyppy, kun 1 vastaa operaatiota ”mene hyppymerkkiin”, josLUK = ”1”. Tätä operaatiota varten käytetään FUP--elementtiä ”ehdotonhyppy”, kuitenkin edeltävällä lukituksella. Ehdollinen hyppy suoritetaan vainsilloin, kun tämän lukituksen LUK = 1. Mitään hyppyoperaation jahyppymerkin välisistä operaatioista ei suoriteta.

Tätä operaatiota voidaan käyttää kaikissa koodiyksiköissä, esim.organisaatioyksiköissä (OBt), toimintayksiköissä (FBt) ja toiminnoissa (FCt).

Taulukko 18-2 Hyppy, kun 1 (ehdollinen)--kehys ja parametri

FUP--kehys Parametri Tied.tyyp. Muistialue Kuvaus

<Operandi>

JMP

Hyppymer--kin nimi

-- -- Operandi ilmoittaa merkin, johonhypätään kun LUK = 1.

Virtapiiri 1

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 1 0

Mikäli E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.Operaatiota, joka nollaa lähdön A 4.0, ei suoriteta, vaikka-kin E 0.3 = 1.

CAS1

Virtapiiri 2

JMP

E 0.3

E 0.0

A 4.0R

Virtapiiri 3

CAS1

E 0.4A 4.1R

Kuva 18-3 Ehdollinen hyppy: Hyppy, kun 1

Kuvaus

Hyppyoperaatiot

Page 66: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

18-5C79000-G7000-C402-01

18.4 Hyppy, kun 0 (ehdollinen)

Operaatio hyppy, kun 0 vastaa operaatiota ”mene hyppymerkkiin”, jokasuoritetaan, jos LUK = ”0”.

Tätä operaatiota voidaan käyttää kaikissa koodiyksiköissä, esim.organisaatioyksiköissä (OBt), toimintayksiköissä (FBt) ja toiminnoissa (FCt).

Taulukko 18-3 Hyppy, kun 0--kehys ja parametri

FUP--kehys Parameter Tied.tyyp. Muistialue Kuvaus

<Operandi>

JMPN

Hyppymerkinnimi

-- -- Operandi ilmoittaa merkin, johonhypätään kun LUK = 0.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 1 0

Mikäli E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.Operaatiota, joka nollaa lähdön A 4.0, ei suoriteta, vaikka-kin E 0.3 = 1.

Mitään hyppyoperaation ja hyppymerkin välisistäoperaatioista ei suoriteta.

Virtapiiri 1

CAS1

Virtapiiri 3

Virtapiiri 2

JMPN

E 0.3

E 0.4

A 4.1

R

E 0.0

A 4.0R

CAS1

Kuva 18-4 Hyppy, kun 0

Kuvaus

Hyppyoperaatiot

Page 67: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

18-6 C79000-G7000-C402-01

18.5 Hyppymerkki

Hyppymerkki on hyppyoperaation kohteen tunnus. Jokaista ehdollista hyppyä(JMP tai JMPN) varten on oltava olemassa myös hyppymerkki (LABEL).

Muoto Kuvaus

LABEL

4 merkkiä: ensimmäinen merkki: kirjainloput merkit: kirjaimia tai numeroita

Jos E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.

Hypyn vuoksi ei lähdössä A 4.0 suoriteta operaatiota ”lähdönnollaus”, vaikkakin E 0.3 = 1.

Virtapiiri 1

CAS1

Virtapiiri 3

CAS1

Virtapiiri 2

JMP

E 0.3

E 0.4

A 4.1

R

E 0.0

A 4.0

R

Kuva 18-5 Hyppymerkki

Kuvaus

Hyppyoperaatiot

Page 68: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

17-1C79000-G7000-C402-01

Tiedostoyksikköoperaatiot

Kappale Sisältö Sivu

17.1 Tiedostoyksikön avaus 17-2

Yleiskuvakappaleesta

17

Page 69: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

17-2 C79000-G7000-C402-01

17.1 Tiedostoyksikön avaus

Operaatiolla tiedostoyksikön avaus avataan tiedostoyksikköglobaalitiedostoyksikkönä (DB) tai oheistiedostoyksikkönä (DI).Tiedostoyksikön numero siirretään DB-- tai DI--rekisteriin. Sitä seuraavatDB-- ja DI--käskyt käsittelevät vastaavia yksiköitä rekisterien sisällöistäriippuen.

Taulukko 17-1 Tiedostoyksikön avaus--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

<DB--numero> tai<DI--numero>

AUF

DB:n tai DI:nnumero

BLOCK_DB DB, DI DB:n tai DI:n numero;alue riippuu CPU:sta.

Taulukko 17-2 Tiedostoyksikön avaus--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

OPN

<DB--numero> tai<DI--numero>

DB:n tai DI:nnumero

BLOCK_DB DB, DI DB:n tai DI:n numero;alue riippuu CPU:sta.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --

DB10 on aktuelli avattu tiedostoyksikkö. SiksiDBX 0.0:n kysely viittaa DB10:ssä olevaantiedostotavun 0 bittiin 0. Tämän bitin signaaliti-la osoitetaan lähdölle A 4.0.

DB10

DBX 0.0

A 4.0

Operaatio ei muuta tilasanan bittejä.

Virtapiiri 1

Virtapiiri 2

AUF

=

Kuva 17-1 Tiedostoyksikön avaus

Kuvaus

Tiedostoyksikköoperaatiot

Page 70: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-1C79000-G7000-C402-01

Siirto-- ja pyöritysoperaatiot

Kappale Sisältö Sivu

16.1 Siirto--operaatiot 16-2

16.2 Pyöritysoperaatiot 16-10

Yleiskuvakappaleesta

16

Page 71: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-2 C79000-G7000-C402-01

16.1 Siirto--operaatiot

Siirto--operaatioilla voidaan tulon IN sisältö siirtää biteittäin vasemmalle taioikealle (katso kappale 6.3). Siirto n bittiä vasemmalle kertoo tulon INsisällön 2n:llä; siirto n bittiä oikealle jakaa tulon IN sisällön 2n:llä. Jos siisesimerkiksi desimaaliarvon 3 binääristä ekvivalenttia siirretään 3 bittiävasemmalle, on tuloksena desimaaliarvon 24 binäärinen ekvivalentti. Mikälidesimaaliarvon 16 binääristä ekvivalenttia siirretään 2 bittiä oikealle, ontuloksena desimaaliarvon 4 binäärinen ekvivalentti.

Tuloparametrille annettava luku ilmoittaa kuinka monella bitillä sisältöä onsiirrettävä. Kohdat, jotka siirto--operaation seurauksena vapautuvat, täytetäänjoko nollilla tai etumerkkibitin signaalitilalla (”0” kun positiivinen, ”1” kunnegatiivinen). Viimeksi siirretty bitti ladataan tilasanan bittiin A1 (katso kap-pale 6.3). Tilasanan bitit A0 ja OV asetetaan takaisin ”0”:ksi. Tilasanan bittiA1 voidaan tulkita hyppyoperaatioilla.

Käytettävissä ovat seuraavat siirto--operaatiot:

S 16 bitin siirto vasemmalle, 32 bitin siirto vasemmalle

S 16 bitin siirto oikealle, 32 bititn siirto oikealle

S Kokonaisluvun (16 bittiä) siirto oikealle, kokonaisluvun (32 bittiä) siirtooikealle.

Operaatio 16 bitin siirto vasemmalle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 15 biteittäin vasemmalle.

Tulo N ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin16, näyttää käsky lähdössä OUT 0 ja asettaa tilasanan bitit A0 ja OV ”0”:ksi.Oikealta vapautuvat bittipaikat täytetään nollilla. Siirto--operaation tulostavoi kysyä lähdöstä OUT.

Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttää ENOviimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.

Kuvaus

16 bitin siirtovasemmalle

Siirto-- ja pyöritysoperaatiot

Page 72: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-3C79000-G7000-C402-01

15... ...8 7... ...0

0 1 0 1

0 1 0 1 0 1 0 10 0 0 0

0 1 0 01 1 0 1

IN

N

OUT 0 0 0 0

1 1 1 1

0 0 0 0 1 1

6 paikkaa

Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).

Nämä viisi bittiähäviävät. Vapautuneet

bittipaikat täytetäännollilla.

Parametri:

Kuva 16-1 Tulon IN bittien siirto kuusi bittipaikkaa vasemmalle

Taulukko 16-1 16 bitin siirto vasemmalle--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, L, D, T, Z Vapautustulo

SHL_W

ENIN WORD E, A, M, L, D Arvo, joka siirretään

IN

EN

OUT

N WORD E, A, M, L, D Bittipaikkojen määrä, joillasiirretään

N

OU

ENOOUT WORD E, A, M, L, D Siirto--operaation tulosN ENOENO BOOL E, A, M, L, D Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1

Operaatio aktivoidaan, jos E 0.0 = 1.

Merkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran va-semmalle.

Tulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitin sig-naalitila on ”1”.

A 4.0

SHL_W

N

OUT

EN

ENOMW2

IN

Operaatio suoritetaan (EN = 1):

MW4MW0

E 0.0

S

Kuva 16-2 16 bitin siirto vasemmalle

Siirto-- ja pyöritysoperaatiot

Page 73: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-4 C79000-G7000-C402-01

Operaatio 32 bitin siirto vasemmalle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 31 biteittäin vasemmalle.Tulo N ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin32, näyttää käsky lähdössä OUT 0 ja asettaa tilasanan bitit A0 ja OV ”0”:ksi.Oikealta vapautuvat bittipaikat täytetään nollilla. Siirto--operaation tulostavoi kysyä lähdöstä OUT.

Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.

Taulukko 16-2 32 bitin siirto vasemmalle--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

SHL_DW EN BOOL E, A, M, L, D, T, Z Vapautustulo_

IN DWORD E, A, M, L, D Arvo, joka siirretään

IN OUT N WORD E, A, M, L, D Bittipaikkojen määrä, joilla siirretään

N ENO OUT DWORD E, A, M, L, D Siirto--operaation tulos

ENENO BOOL E, A, M, L, D Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1

Operaatio aktivoidaan, jos E 0.0 = 1.

Merkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien luku-määrän verran vasemmalle.

Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirre-tyn bitin signaalitila on ”1”.

SHL_DW

N

OUT

EN

ENOMW4

IN

Operaatio suoritetaan (EN = 1):

MD10MD0A 4.0

E 0.0

S

Kuva 16-3 32 bitin siirto vasemmalle

32 bitin siirtovasemmalle

Siirto-- ja pyöritysoperaatiot

Page 74: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-5C79000-G7000-C402-01

Operaatio 16 bitin siirto oikealle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 15 biteittäin oikealle.Bitteihin 16 ... 31 ei vaikuteta. Tulo N ilmoittaa, kuinka monella bitillä siir-retään. N:n ollessa suurempi kuin 16, näyttää käsky lähdössä OUT 0 ja aset-taa tilasanan bitit A0 ja OV ”0”:ksi. Vasemmalta vapautuvat bittipaikat täy-tetään nollilla. Siirto--operaation tulosta voi kysyä lähdöstä OUT.

Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.

Taulukko 16-3 16 bitin siirto oikealle--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

SHR WEN BOOL E, A, M, L, D, T, Z Vapautustulo

SHR_W

ENIN WORD E, A, M, L, D Arvo, joka siirretään

IN

EN

OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla

siirretään

N ENO OUT WORD E, A, M, L, D Siirto--operaation tulos

ENO BOOL E, A, M, L, D Vapautustulo

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1

Operaatio aktivoidaan, jos E 0.0 = 1.

Merkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran oi-kealle.

Tulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitinsignaalitila on ”1”.

SHR_W

N

OUT

EN

ENOMW2

IN

Operaatio suoritetaan (EN = 1):

MW4MW0A 4.0

E 0.0

S

Kuva 16-4 16 bitin siirto oikealle

16 bitin siirtooikealle

Siirto-- ja pyöritysoperaatiot

Page 75: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-6 C79000-G7000-C402-01

Operaatio 32 bitin siirto oikealle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 31 biteittäin oikealle. TuloN ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin 32,näyttää käsky lähdössä OUT 0 ja asettaa tilasanan bitit A0 ja OV ”0”:ksi.Vasemmalta vapautuvat bittipaikat täytetään nollilla. Siirto--operaation tulos-ta voi kysyä lähdöstä OUT.

Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.

1 1 1

31... ...16 15... ...0

1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1

0 1 0 10 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1

3 paikkaa

Vapautuneetbittipaikat täytetäännollilla.

Molemmatbitit häviävät.

IN

N

OUT

Parametri:

Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).

Kuva 16-5 Tulon IN bittien siirto kolme bittipaikkaa oikealle

Taulukko 16-4 32 bitin siirto oikealle--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

SHR DWEN BOOL E, A, M, L, D, T, Z Vapautustulo

SHR_DW

ENIN DWORD E, A, M, L, D Arvo, joka siirretään

IN

EN

OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla

siirretään

N ENO OUT DWORD E, A, M, L, D Siirto--operaation tulos

ENO BOOL E, A, M, L, D Vapautuslähtö

32 bitin siirtooikealle

Siirto-- ja pyöritysoperaatiot

Page 76: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-7C79000-G7000-C402-01

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1

Operaatio aktivoidaan, jos E 0.0 = 1.

Merkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien lukumääränverran oikealle.

Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirretynbitin signaalitila on ”1”.

SHR_DW

N

OUT

MW4

IN

Operaatio suoritetaan (EN = 1):

MD10MD0

EN

ENOA 4.0

E 0.0

S

Kuva 16-6 32 bitin siirto oikealle

Operaatio kokonaisluvun (16 bittiä) siirto oikealle aktivoidaan vapautustulon(EN) signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 15 biteittäin oikealle.Tulo N ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin16, toimii käsky ikäänkuin N = 16. Vasemmanpuoleiset bittipaikat varataanbitin 15 signaalitilalla (kokonaisluvun etumerkki), ts. nollalla, mikäli luku onpositiivinen ja 1:llä luvun ollessa negatiivinen. Siirto--operaation tulosta voikysyä lähdöstä OUT.

Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.

Kokonaisluvun(16 bittiä) siirtooikealle

Siirto-- ja pyöritysoperaatiot

Page 77: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-8 C79000-G7000-C402-01

15... ...8 7... ...0

1 0 1 0

0 0 0 0 1 0 1 01 0 1 0

1 1 1 11 1 1 1 0 0 0 0

1 1 1 1

4 paikkaa

Vapautuneet bittipaikattäytetään etumerkkibitinsignaalitilalla.

1 0 1 0

Nämä kolmebittiä häviävät.

Etumerkkibitti

IN

N

OUT

Parametri:

Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).

Kuva 16-7 Tulon IN bittien siirto viidellä bittipaikalla oikealle etumerkillä

Taulukko 16-5 Kokonaisluvun (16 bittiä) siirto oikealle ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

SHR IEN BOOL E, A, M, L, D, T, Z Vapautustulo

SHR_I

ENIN INT E, A, M, L, D Arvo, joka siirretään

IN

EN

OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla

siirretään

N ENO OUT INT E, A, M, L, D Siirto--operaation tulos

ENO BOOL E, A, M, L, D Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1

Operaatio aktivoidaan, jos E 0.0 = 1.

Merkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran oi-kealle.

Tulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitin sig-naalitila on ”1”.

SHR_I

N

OUT

MW2

IN

Operaatio suoritetaan (EN = 1):

MW4MW0

EN

ENO

A 4.0

E 0.0

S

Kuva 16-8 Kokonaisluvun (16 bittiä) siirto oikealle

Siirto-- ja pyöritysoperaatiot

Page 78: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-9C79000-G7000-C402-01

Operaatio kokonaisluvun (32 bittiä) siirto oikealle aktivoidaan vapautustulon(EN) signaalitilalla ”1” ja se siirtää tulon IN koko sisällön biteittäin oikealle.Tulo N ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin32, toimii käsky ikäänkuin N = 32. Vasemmanpuoleiset bittipaikat varataanbitin 31 signaalitilalla (kokonaisluvun etumerkki), ts. nollalla, mikäli luku onpositiivinen ja 1:llä luvun ollessa negatiivinen. Siirto--operaation tulosta voikysyä lähdöstä OUT.

Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.

Taulukko 16-6 Kokonaisluvun (32 bittiä) siirto oikealle--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, L, D, T, Z Vapautustulo

SHR_DI

ENIN DINT E, A, M, L, D Arvo, joka siirretään

IN

EN

OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla

siirretään

N ENO OUT DINT E, A, M, L, D Siirto--operaation tulosN ENOENO BOOL E, A, M, L, D Vapautustulo

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1

Operaatio aktivoidaan, jos E 0.0 = 1.

Merkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien luku-määrän verran oikealle.

Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirre-tyn bitin signaalitila on ”1”.

SHR_DI

N

OUT

MW4

IN

Operaatio suoritetaan (EN = 1):

MD10MD0

EN

ENO

A 4.0

E 0.0

S

Kuva 16-9 Kokonaisluvun (32 bittiä) siirto oikealle

Kokonaisluvun(32 bittiä) siirtooikealle

Siirto-- ja pyöritysoperaatiot

Page 79: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-10 C79000-G7000-C402-01

16.2 Pyöritysoperaatiot (rotaatio)

Pyöritysoperaatioilla voidaan tulon IN koko sisältöä pyörittää biteittäinoikealle ja vasemmalle. Vapautuneet paikat täytetään tulosta IN siirrettyjenbittien signaalitiloilla.

Tuloparametrille N annettu luku ilmoittaa, kuinka monella bitillä on pyöri-tettävä.

Valitun operaation mukaan tapahtuu pyöritys bitillä A1 (katso kappale 6.3).Tilasanan bitti A0 asetetaan takaisin ”0”:ksi.

Käytettävissä ovat seuraavat pyöritysoperaatiot:

S 32 bitin pyöritys vasemmalle

S 32 bitin pyöritys oikealle

Operaatio 32 bitin pyöritys vasemmalle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se pyörittää tulon IN koko sisällön biteittäinvasemmalle. Tulo N ilmoittaa, kuinka monella bitillä pyöritetään. N:n ollessasuurempi kuin 32, pyöritetään kaksoissanaa (((N--1) moduuli 32) +1):llä. Oi-kealta vapautuvat bittipaikat täytetään pyöritettyjen bittien signaalitiloilla.Pyöritysoperaation tulosta voi kysyä lähdöstä OUT.

Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi pyöritetyn bitin signaalitilan (vastaa tilasanan A1:tä jaLUK:ta). Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä ope--raatioita (kaskadikytkentä) ei käsitellä, mikäli viimeksi pyöritetyn bitin sig-naalitila on ”0”.

1 1 1

31... ...16 15... ...0

1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 1 1 11 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1

3 paikkaa

Kolmen siirretyn bitin signaalitilaväliinkirjoitetaan vapautuneisiinpaikkoihin.

Viimeksi siirretyn bitin signaalitilatallennetaan bittiin A1 (signaalitilaon sama kuin ENO:n).

IN

N

OUT

Parametri:

Kuva 16-10 Tulon IN bittien pyöritys kolme bittipaikkaa vasemmalle

Kuvaus

32 bitin pyöritysvasemmalle

Siirto-- ja pyöritysoperaatiot

Page 80: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-11C79000-G7000-C402-01

Taulukko 16-7 32 bitin pyöritys vasemmalle--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, L, D, T, Z VapautustuloROL_DW

ENIN DWORD E, A, M, L, D Arvo, jota pyöritetään

IN

EN

OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla

pyöritetään

N ENO OUT DWORD E, A, M, L, D Pyöritysoperaation tulosN ENOENO BOOL E, A, M, L, D Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1

Operaatio aktivoidaan, jos E 0.0 = 1.

Merkkerikaksoissanaa MD0 pyöritetäänMW4:ssä annettujen bittien lukumääränverran vasemmalle.

Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi pyöritetynbitin signaalitila on ”1”.

ROL_DW

N

OUT

EN

ENOMW4

IN

Operaatio suoritetaan (EN = 1):

MD10MD0A 4.0

E 0.0

S

Kuva 16-11 32 bitin pyöritys vasemmalle

Operaatio 32 bitin pyöritys oikealle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se pyörittää tulon IN koko sisällön biteittäin oikealle.Tulo N ilmoittaa, kuinka monella bitillä pyöritetään. N:n arvo voi olla 0:n ja31:n välillä. N:n ollessa suurempi kuin 32, pyöritetään kaksoissanaa (((N--1)moduuli 32) +1):llä. Vasemmalta vapautuvat bittipaikat täytetään pyöritetty-jen bittien signaalitiloilla. Pyöritysoperaation tulosta voi kysyä lähdöstäOUT.

Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi pyöritetyn bitin signaalitilan (vastaa tilasanan A1:tä jaLUK:ta). Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä ope--raatioita (kaskadikytkentä) ei käsitellä, mikäli viimeksi pyöritetyn bitin sig-naalitila on ”0”.

32 bitin pyöritysoikealle

Siirto-- ja pyöritysoperaatiot

Page 81: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

16-12 C79000-G7000-C402-01

1 0 1

31... ...16 15... ...0

1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1

1 1 1 01 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0

3 paikkaa

IN

N

OUT

Parametri:

Viimeksi siirretyn bitin signaalitilatallennetaan bittiin A1 (signaalitilaon sama kuin ENO:lla).

Kolmen siirretyn bitinsignaalitila väliinkirjoite-taan vapautuneisiinkohtiin.

Kuva 16-12 Tulon IN bittien pyöritys kolme bittipaikkaa oikealle

Taulukko 16-8 32 bitin pyöritys oikealle--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, L, D, T, Z VapautustuloROR_DW

ENIN DWORD E, A, M, L, D Arvo, jota pyöritetään

IN

EN

OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla

pyöritetään

N ENO OUT DWORD E, A, M, L, D Pyöritysoperaation tulosN ENOENO BOOL E, A, M, L, D Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1

Operaatio aktivoidaan, jos E 0.0 = 1.

Merkkerikaksoissanaa MD0 pyöritetäänMW4:ssä annettujen bittien lukumääränverran oikealle.

Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi pyöritetynbitin signaalitila on ”1”.

ROR_DW

N

OUT

MW4

IN

Operaatio suoritetaan (EN = 1):

MD10MD0

ENO

EN

A 4.0

E 0.0

S

Kuva 16-13 32 bitin pyöritys oikealle

Siirto-- ja pyöritysoperaatiot

Page 82: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

15-1C79000-G7000-C402-01

Sanalukitusoperaatiot

Kappale Sisältö Sivu

15.1 Yleiskuva 15-2

15.2 16 bitin JA--lukitus 15-3

15.3 32 bitin JA--lukitus 15-4

15.4 16 bitin TAI--lukitus 15-5

15.5 32 bitin TAI--lukitus 15-6

15.6 16 bitin EHDOTON TAI--lukitus 15-7

15.7 32 bitin EHDOTON TAI--lukitus 15-8

Yleiskuvakappaleesta

15

Page 83: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

15-2 C79000-G7000-C402-01

15.1 Yleiskuva

Sanalukitusoperaatioilla lukitaan sana-- ja kaksoissanapareja keskenään bi-teittäin boolen logiikan mukaisesti. Sanalukituksia varten on käytettävissäseuraavat operaatiot:

S 16 bitin JA--lukitus: Tällä operaatiolla lukitaan kaksi sanaa keskenäänbiteittäin JA--totuustaulukon mukaisesti.

S 32 bitin JA--lukitus: Tällä operaatiolla lukitaan kaksi kaksoissanaa kes-kenään biteittäin JA--totuustaulukon mukaisesti.

S 16 bitin TAI--lukitus: Tällä operaatiolla lukitaan kaksi sanaa keskenäänbiteittäin TAI--totuustaulukon mukaisesti.

S 32 bitin TAI--lukitus: Tällä operaatiolla lukitaan kaksi kaksoissanaa kes-kenään biteittäin TAI--totuustaulukon mukaisesti.

S 16 bitin EHDOTON TAI--lukitus: Tällä operaatiolla lukitaan kaksi sanaakeskenään biteittäin EHDOTON TAI--totuustaulukon mukaisesti.

S 32 bitin EHDOTON TAI--lukitus: Tällä operaatiolla lukitaan kaksi kak-soissanaa keskenään biteittäin EHDOTON TAI--totuustaulukon mukaises-ti.

Mitä sanalukitus--operaatiot ovat?

Sanalukitusoperaatiot

Page 84: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

15-3C79000-G7000-C402-01

15.2 16 bitin JA--lukitus

Operaatio 16 bitin JA--lukitus aktivoidaan vapautustulon (EN) signaalitilalla”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvot biteittäinJA--totuustaulukon mukaisesti. Arvot tulkitaan pelkkänä bittimallina. Tulostavoi kysyä lähdöstä OUT. ENO:n signaalitila on sama kuin EN:n.

Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:

S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.

S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.

Taulukko 15-1 16 bitin JA--lukitus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloWAND_W

ENIN1 WORD E, A, M, D, L tai

vakioLukituksen ensimmäinen arvo

IN1

IN2

OUT

ENO

IN2 WORD E, A, M, D, L taivakio

Lukituksen toinen arvo

IN2 ENOOUT WORD E, A, M, D, L Lukitustulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1

Operaatio aktivoidaan, jos E 0.0 = 1.Vain biteillä 0 ... 3 on merkitystä, kaikkimuut MW0:n bitit on eliminoitu.IN1 =0101010101010101IN2 =0000000000001111OUT =0000000000000101

A 4.0 on ”1”, jos lukitus suoritetaan.

WAND_W

IN2

OUT

EN

ENO2# 0000000000001111

MW2IN1MW0

Operaatio suoritetaan (EN = 1):

A 4.0

E 0.0

=

Kuva 15-1 16 bitin JA--lukitus

Kuvaus

Sanalukitusoperaatiot

Page 85: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

15-4 C79000-G7000-C402-01

15.3 32 bitin JA--lukitus

Operaatio 32 bitin JA--lukitus aktivoidaan vapautustulon (EN) signaalitilalla”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvot biteittäinJA--totuustaulukon mukaisesti. Arvot tulkitaan pelkkänä bittimallina. Tulostavoi kysyä lähdöstä OUT. ENO:n signaalitila on sama kuin EN:n.

Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:

S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.

S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.

Taulukko 15-2 32 bitin JA--lukitus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloWAND_DW

ENIN1 DWORD E, A, M, D, L tai

vakioLukituksen ensimmäinen arvo

IN1

IN2

OUT

ENO

IN2 DWORD E, A, M, D, L taivakio

Lukituksen toinen arvo

IN2 ENOOUT DWORD E, A, M, D, L Lukitustulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1

Operaatio aktivoidaan, jos E 0.0 = 1. Vain biteillä0 ... 11 on merkitystä, kaikki muut MD4:n bitit on elimi-noitu.IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =00000000000000000000010101010101

A 4.0 on ”1”, jos lukitus suoritetaan.

WAND_DW

IN2

OUT

EN

ENODW#16#FFF

MD4IN1MD0

Operaatio suoritetaan (EN = 1):

A 4.0

E 0.0

=

Kuva 15-2 32 bitin JA--lukitus

Kuvaus

Sanalukitusoperaatiot

Page 86: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

15-5C79000-G7000-C402-01

15.4 16 bitin TAI--lukitus

Operaatio 16 bitin TAI--lukitus aktivoidaan vapautustulon (EN) signaalitilalla”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvot biteittäinTAI--totuustaulukon mukaisesti. Arvot tulkitaan pelkkänä bittimallina.Tulosta voi kysyä lähdöstä OUT. ENO:n signaalitila on sama kuin EN:n.

Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:

S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.

S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.

Taulukko 15-3 16 bitin TAI--lukitus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloWOR_W

ENIN1 WORD E, A, M, D, L tai

vakioLukituksen ensimmäinen arvo

IN1

IN2

OUT

ENO

IN2 WORD E, A, M, D, L taivakio

Lukituksen toinen arvo

IN2 ENOOUT WORD E, A, M, D, L Lukitustulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1

Jos E 0.0 = 1, operaatio aktivoidaan. MW0:n javakioiden bitit lukitaan TAI:lla, jolloin bitit 0 ... 3asetetaan ”1”:ksi, kaikki muut MW0:n bitit ote-taan muuttumattomina MW2:een.

IN1 =0101010101010101IN2 =0000000000001111OUT =0101010101011111

A 4.0 on ”1”, jos lukitus suoritetaan.

WOR_W

IN2

OUT

EN

ENO2#0000000000001111

MW2IN1MW0

Operaatio suoritetaan (EN = 1):

A 4.0

E 0.0

=

Kuva 15-3 16 bitin TAI--lukitus

Kuvaus

Sanalukitusoperaatiot

Page 87: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

15-6 C79000-G7000-C402-01

15.5 32 bitin TAI--lukitus

Operaatio 32 bitin TAI--lukitus aktivoidaan vapautustulon (EN) signaalitilalla”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvot biteittäinTAI--totuustaulukon mukaisesti. Arvot tulkitaan pelkkänä bittimallina.Tulosta voi kysyä lähdöstä OUT. ENO:n signaalitila on sama kuin EN:n.

Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:

S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.

S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.

Taulukko 15-4 32 bitin TAI--lukitus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloWOR_DW

ENIN1 DWORD E, A, M, D, L tai

vakioLukituksen ensimmäinen arvo

IN1

IN2

OUT

ENO

IN2 DWORD E, A, M, D, L taivakio

Lukituksen toinen arvo

IN2 ENOOUT DWORD E, A, M, D, L Lukitustulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1

Operaatio aktivoidaan, jos E 0.0 = 1. MD0:n ja vakioi-den bitit lukitaan TAI:lla, jolloin bitit 0 ... 11 asetetaan”1”:ksi, kaikki muut MD0:n bitit otetaan muuttumatto-mina MD4:een.IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =01010101010101010101111111111111

A 4.0 on ”1”, jos lukitus suoritetaan.

WOR_DW

IN2

OUT

EN

ENODW#16#FFF

MD4IN1MD0

Operaatio suoritetaan (EN = 1):

A 4.0

E 0.0

=

Kuva 15-4 32 bitin TAI--lukitus

Kuvaus

Sanalukitusoperaatiot

Page 88: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

15-7C79000-G7000-C402-01

15.6 16 bitin EHDOTON TAI--lukitus

Operaatio 16 bitin EHDOTON TAI--lukitus aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvotbiteittäin EHDOTON TAI--totuustaulukon mukaisesti. Arvot tulkitaanpelkkänä bittimallina. Tulosta voi kysyä lähdöstä OUT. ENO:n signaalitila onsama kuin EN:n.

Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:

S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.

S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.

Taulukko 15-5 16 bitin EHDOTON TAI--lukitus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloWXOR_W

ENIN1 WORD E, A, M, D, L tai

vakioLukituksen ensimmäinen arvo

IN1

IN2

OUT

ENO

IN2 WORD E, A, M, D, L taivakio

Lukituksen toinen arvo

IN2 ENOOUT WORD E, A, M, D, L Lukitustulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1

WXOR_W

IN2

OUT

EN

ENO2#0000000000001111

MW2IN1MW0

Operaatio suoritetaan (EN = 1):

Operaatio aktivoidaan, jos tulo E 0.0 = 1.

IN1 =0101010101010101IN2 =0000000000001111OUT =0101010101011010

A 4.0 on ”1”, jos lukitus suoritetaan.

A 4.0

E 0.0

=

Kuva 15-5 16 bitin EHDOTON TAI--lukitus

Kuvaus

Sanalukitusoperaatiot

Page 89: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

15-8 C79000-G7000-C402-01

15.7 32 bitin EHDOTON TAI--lukitus

Operaatio 32 bitin EHDOTON TAI--lukitus aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvotbiteittäin EHDOTON TAI--totuustaulukon mukaisesti. Arvot tulkitaanpelkkänä bittimallina. Tulosta voi kysyä lähdöstä OUT. ENO:n signaalitila onsama kuin EN:n.

Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:

S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.

S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.

Taulukko 15-6 32 bitin EHDOTON TAI--lukitus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloWXOR_DW

ENIN1 DWORD E, A, M, D, L tai

vakioLukituksen ensimmäinen arvo

IN1

IN2

OUT

ENO

IN2 DWORD E, A, M, D, L taivakio

Lukituksen toinen arvo

IN2 ENOOUT DWORD E, A, M, D, L Lukitustulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1

Operaatio aktivoidaan, jos tulo E 0.0 = 1.

IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =01010101010101010101101010101010

A 4.0 on ”1”, jos lukitus suoritetaan.

WXOR_DW

IN2

OUT

EN

ENODW#16#FFF

MD4IN1MD0

Operaatio suoritetaan (EN = 1):

A 4.0

E 0.0

=

Kuva 15-6 32 bitin EHDOTON TAI--lukitus

Kuvaus

Sanalukitusoperaatiot

Page 90: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-1C79000-G7000-C402-01

Siirto-- ja muunnosoperaatiot

Kappale Sisältö Sivu

14.1 Arvon siirto 14-2

14.2 BCD--luvun muunto kokonaisluvuksi (16 bittiä) 14-3

14.3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi 14-4

14.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi(32 bittiä)

14-5

14.5 BCD--luvun muunto kokonaisluvuksi (32 bittiä) 14-6

14.6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi 14-7

14.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi 14-8

14.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus 14-9

14.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus 14-10

14.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus 14-11

14.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus 14-12

14.12 Liukuluvun etumerkin vaihto 14-13

14.13 Luvun pyöristys 14-14

14.14 Kokonaisluvun muodostus 14-15

14.15 Seuraavaksi suuremman kokonaisluvun muodostusliukuluvusta

14-16

14.16 Seuraavaksi pienemmän kokonaisluvun muodostusliukuluvusta

14-17

Yleiskuvakappaleesta

14

Page 91: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-2 C79000-G7000-C402-01

14.1 Arvon siirto

Arvon siirto--operaatiolla voidaan varata muuttujia, joilla on erikoisarvoja.

Tulossa IN annettu arvo kopioidaan lähdössä OUT annettuun operandiin.ENO:n signaalitila on sama kuin EN:n.

Arvon siirto--operaatio pystyy kopioimaan MOVE--kehyksellä kaikki 8:n,16:n tai 32:n bitin pituiset tiedostotyypit. Käyttäjämääritteiset tiedostotyypitkuten kentät ja rakenteet on kopioitava systeemitoiminnalla SFC 20”BLKMOV” (katso referenssikäsikirja /235/).

Master Control Relay (MCR) vaikuttaa operaatioon arvon siirto. Lähempäätietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.

Taulukko 14-1 Arvon siirto--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

MOVE

EN OUT

IN Kaikki 8:n, 16:n tai32:n bitin pituisettiedostotyypit

E, A, M, D, L taivakio

Lähdearvo

IN ENO OUT Kaikki 8:n, 16:n tai32:n bitin pituisettiedostotyypit

E, A, M, D, L Kohdeosoite

ENO BOOL E, A, M, D, L Vapautuslähtö

Operaatio suoritetaan, jos E 0.0 = 1. MW10:nsisältö kopioidaan avatun DB:n datasanaan12.

Jos operaatio suoritetaan A 4.0 = 1.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1

Operaatio suoritetaan (EN = 1):

MW10

DBW12A 4.0

E 0.0

=IN

OUTEN

ENO

MOVE

Kuva 14-1 Arvon siirto

Infoa integroiduista systeemitoiminnoista, joita käytetään siirto--operaatioinaja joiden avulla muuttujia, joilla on erikoisarvoja, voidaan varata edeltäkäsintai joiden avulla voidaan kopioida muuttujien eri lajeja, löytyyreferenssikäsikirjasta /235/.

Kuvaus

Muuttujien varaus

Siirto-- ja muunnosoperaatiot

Page 92: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-3C79000-G7000-C402-01

14.2 BCD--luvun muunto kokonaisluvuksi (16 bittiä)

Operaatio BCD--luvun muunto kokonaisluvuksi (16 bittiä) lukeetuloparametrin IN sisällön kolminumeroisena binäärikoodattunadesimaalilukuna (BCD, + 999) ja muuntaa tämän luvun kokonaislukuarvoksi(16 bittiä). Lähtöparametri OUT ilmoittaa tuloksen.

ENO:n signaalitila on aina sama kuin EN:n.

Jos BCD--luvun jokin kohta/paikka on ei voimassa olevalla alueella 10:n ja15:n välillä, esiintyy muuntoa yritettäessä BCD--virhe:

S CPU menee STOP--tilaan. Diagnoosimuistiin merkitääntapahtumanumeron 2521 ”BCD--muuntovirhe”.

S Mikäli OB121 on ohjelmoitu, niin sitä kutsutaan.

Lähempää tietoa OB121:n ohjelmoinnista löytyy referenssikäsikirjasta/235/.

Taulukko 14-2 BCD--luvun muunto kokonaisluvuksi--kehys (16 bittiä) ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

BCD IEN BOOL E, A, M, D, L, T, Z Vapautustulo

BCD_I

EN

IN

OUT

ENO

IN WORD E, A, M, D, Ltai vakio

BCD--luku

IN ENO OUT INT E, A, M, D, L BCD--luvun kokonaislukuarvo(16 bittiä)

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1

Muunto suoritetaan, jos E 0.0 = 1. Merk-kerisanan MW10 sisältö luetaan kolmi-numeroisena BCD--lukuna ja muunnetaankokonaisluvuksi (16 bittiä). Tulos tallenne-taan MW12:een. Jos muunto suoritetaan,A 4.0 = 1 (ENO = EN).

Operaatio suoritetaan (EN = 1):

MW10

MW12A 4.0

E 0.0

=IN

OUTEN

ENO

BCD_I

Kuva 14-2 BCD--luvun muunto kokonaisluvuksi (16 bittiä)

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 93: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-4 C79000-G7000-C402-01

14.3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi

Operaatio kokonaisluvun (16 bittiä) muunto BCD--luvuksi lukeetuloparametrin IN sisällön kokonaislukuarvona (16 bittiä) ja muuntaa senkolminumeroiseksi binäärikoodatuksi desimaaliluvuksi (BCD, + 999).Lähtöparametri OUT ilmoittaa tuloksen. Jos ilmenee ylivuoto, ENO = 0.

Taulukko 14-3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

I BCDEN BOOL E, A, M, D, L, T, Z Vapautustulo

I_BCD

EN OUTIN INT E, A, M, D, L

tai vakioKokonaisluku (16 bittiä)

IN ENO OUT WORD E, A, M, D, L Kokonaisluvun (16 bittiä)BCD--arvo

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1

Muunto suoritetaan, jos E 0.0 = 1. Merk-kerisanan MW10 sisältö luetaan koko-naislukuna (16 bittiä) ja muunnetaan kol-minumeroiseksi BCD--luvuksi. Tulos tall-ennetaan MW12:een. Mikäli esiintyy yli-vuoto, A 4.0 = 0. Jos tulon EN signaalitila= 0 (ts., muuntoa ei suoriteta), on lähdönA 4.0 signaalitila silloin myös ”0”.

Operaatio suoritetaan (EN = 1):

MW10

MW12A 4.0

E 0.0

=IN

OUTEN

ENO

I_BCD

Kuva 14-3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 94: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-5C79000-G7000-C402-01

14.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä)

Operaatio kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä) lukeetuloparametrin IN sisällön kokonaislukuna (16 bittiä) ja muuntaa tämänkokonaisluvuksi (32 bittiä). Lähtöparametri OUT ilmoittaa tuloksen. ENO:nsignaalitila on aina sama kuin EN:n.

Taulukko 14-4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä) --kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

I DIEN BOOL E, A, M, D, L, T, Z Vapautustulo

I_DI

EN

IN

OUT

ENO

IN INT E, A, M, D, Ltai vakio

Arvo, joka muunnetaan

IN ENO OUT DINT E, A, M, D, L Tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1

Muunto suoritetaan, jos E 0.0 = 1.Merkkerisanan MW10 sisältö luetaankokonaislukuna (16 bittiä) ja muunnetaankokonaisluvuksi (32 bittiä). Tulostallennetaan MD12:een. Mikäli operaatiosuoritetaan, A 4.0 = 1 (ENO = EN).

Operaatio suoritetaan (EN = 1):

MW10

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

I_DI

Kuva 14-4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä)

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 95: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-6 C79000-G7000-C402-01

14.5 BCD--luvun muunto kokonaisluvuksi (32 bittiä)

Operaatio BCD--luvun muunto kokonaisluvuksi (32 bittiä) lukeetuloparametrin IN sisällön seitsennumeroisena binäärikoodattunadesimaalilukuna (BDC, + 9 999 999) ja muuntaa tämän luvunkokonaislukuarvoksi (32 bittiä). Lähtöparametri OUT ilmoittaa tuloksen.

ENO:n signaalitila on aina sama kuin EN:n.

Jos BCD--luvun jokin kohta/paikka on ei voimassa olevalla alueella 10:n ja15:n välillä, esiintyy muuntoa yritettäessä BCD--virhe:

S CPU menee STOP--tilaan. Diagnoosimuistiin merkitääntapahtumanumeron 2521 ”BCD--muuntovirhe”.

S Mikäli OB121 on ohjelmoitu, niin sitä kutsutaan.

Lähempää tietoa OB121:n ohjelmoinnista löytyy referenssikäsikirjasta/235/.

Taulukko 14-5 BCD--luvun muunto kokonaisluvuksi--kehys (32 bittiä) ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

BCD DIEN BOOL E, A, M, D, L, T, Z Vapautustulo

BCD_DI

EN OUTIN DWORD E, A, M, D, L

tai vakioBCD--luku

IN ENO OUT DINT E, A, M, D, L BCD--luvun kokonaislukuarvo(32 bittiä)

ENO BOOL E, A, M, D, L Vapautuslähtö

tilasanan bittien kuvaus

Muunto suoritetaan, jos E 0.0 = 1Merkkeri-kaksoissanan MD8 sisältö luetaan seitsen-numeroisena BCD--lukuna ja muunnetaankokonaisluvuksi (32 bittiä). Tulos tallenne-taan MD12:een. Mikäli muunto suoritetaan,A 4.0 = 1 (ENO = EN).

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

BCD_DI

Kuva 14-5 BCD--luvun muunto kokonaisluvuksi (32 bittiä)

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 96: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-7C79000-G7000-C402-01

14.6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi

Operaatio kokonaisluvun (32 bittiä) muunto BCD--luvuksi lukeetuloparametrin IN sisällön kokonaislukuarvona (32 bittiä) ja muuntaa tämänarvon seitsennumeroiseksi binäärikoodatuksi kokonaisluvuksi (BCD, + 9 999999). Lähtöparametri OUT ilmoittaa tuloksen. Jos ilmenee ylivuoto, ENO =0.

Taulukko 14-6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

DI BCDEN BOOL E, A, M, D, L, T, Z Vapautustulo

DI_BCD

EN OUTIN DINT E, A, M, D, L

tai vakioKokonaisluku (32 bittiä)

IN ENO OUT DWORD E, A, M, D, L Kokonaisluvun (32 bittiä)BCD--arvo

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1

Muunto suoritetaan, jos E 0.0 = 1. Merkkeri-kaksoissanan MD8 sisältö luetaan kokonais-lukuna (32 bittiä) ja muunnetaan seitsen-numeroiseksi BCD--luvuksi. Tulos tallenne-taan MD12:een. Jos esiintyy ylivuoto, A 4.0= 0. Mikäli tulon EN signaalitila = 0 (ts.,muuntoa ei suoriteta), on lähdön A 4.0 sig-naalitila silloin myös ”0”.

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

DI_BCD

Kuva 14-6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 97: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-8 C79000-G7000-C402-01

14.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi

Operaatio kokonaisluvun (32 bittiä) muunto liukuluvuksi lukee tuloparametrinIN kokonaislukuna (32 bittiä) ja muuntaa tämän liukuluvuksi. LähtöparametriOUT ilmoittaa tuloksen. ENO:n signaalitila on aina sama kuin EN:n.

Taulukko 14-7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

DI REN BOOL E, A, M, D, L, T, Z Vapautustulo

DI_R

EN

IN

OUT

ENO

IN DINT E, A, M, D, Ltai vakio

Arvo, joka muunnetaan

IN ENO OUT REAL E, A, M, D, L Tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

Muunto suoritetaan, jos E 0.0 = 1. merk-kerikaksoissanan MD8 sisältö luetaan ko-konaislukuna (32 bittiä) ja muunnetaanliukuluvuksi. Tämän operaation tulostallennetaan MD12:een. Mikäli operaatiotaei suoriteta, A 4.0 = 0 (ENO = EN).

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

DI_R

Kuva 14-7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 98: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-9C79000-G7000-C402-01

14.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus

Operaatio kokonaisluvun (16 bittiä) 1n komplementin muodostus lukeetuloparametrin IN sisällön ja suorittaa boolen 16 bitin EHDOTON TAIsanalukitusoperaation lukituksen (katso kappale 15.6) heksadesimaali--kaaviolla FFFFH. Täten jokaisen bitin arvosta tulee käänteinen.Lähtöparametri OUT ilmoittaa tuloksen. ENO:n signaalitila on aina samakuin EN:n.

Taulukko 14-8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

INV IEN BOOL E, A, M, D, L, T, Z Vapautustulo

INV_I

EN OUTIN INT E, A, M, D, L

tai vakioTuloarvo

IN ENO OUT INT E, A, M, D, L Kokonaisluvun (16 bittiä) 1nkomplementti

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

Muunto suoritetaan, jos E 0.0 = 1.Jokaisesta MW8:n bitistä tulee käänteinen:MW8 = 01000001 10000001 �

MW10 = 10111110 01111110Muuntoa ei suoriteta, jos E 0.0 = 0 jaA 4.0 = 0(ENO = EN).

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1

Operaatio suoritetaan (EN = 1):

MW8

MW10A 4.0

E 0.0

=IN

OUTEN

ENO

INV_I

Kuva 14-8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 99: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-10 C79000-G7000-C402-01

14.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus

Operaatio kokonaisluvun (32 bittiä) 1n komplementin muodostus lukeetuloparametrin IN sisällön ja suorittaa boolen sanalukitusoperaationEHDOTON TAI lukituksen (katso kappale 15.6) heksadesimaalikaaviollaFFFF FFFFH. Täten jokaisen bitin arvosta tulee käänteinen. LähtöparametriOUT ilmoittaa tuloksen. ENO:n signaalitila on aina sama kuin EN:n.

Taulukko 14-9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

INV DIEN BOOL E, A, M, D, L, T, Z Vapautustulo

INV_DI

EN

IN

OUT

ENO

IN DINT E, A, M, D, L taivakio

Tuloarvo

IN ENO OUT DINT E, A, M, D, L Kokonaisluvun (32 bittiä)1n komplementti

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

Muunto suoritetaan, jos E 0.0 = 1. Merkkerikak-soissanan MD8 jokaisesta bitistä tulee kääntei--nen:

MD8 = F0FF FFF0 � MD12 = 0F00 000F

Muuntoa ei suoriteta, jos E0.0 = 0 ja A 4.0 = 0(ENO = EN).

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

INV_DI

Kuva 14-9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 100: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-11C79000-G7000-C402-01

14.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus

Operaatio kokonaisluvun (16 bittiä) 2n komplementin muodostus lukeetuloparametrin IN sisällön ja kääntää etumerkin ympäri (esim. positiivisestaarvosta negatiiviseksi arvoksi). Lähtöparametri OUT ilmoittaa tuloksen.EN:n ja ENO:n signaalitila on aina sama, poikkeus: mikäli EN:n signaalitilaon ”1” ja esiintyy ylivuoto, on ENO:n signaalitila ”0”.

Taulukko 14-10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

NEG IEN BOOL E, A, M, D, L, T, Z Vapautustulo

NEG_I

EN OUTIN INT E, A, M, D, L tai

vakioTuloarvo

IN ENO OUT INT E, A, M, D, L Kokonaisluvun (16 bittiä)2n komplementti

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

Muunto suoritetaan, jos E 0.0 = 1. Merkkeri-sanan MW8 arvo ilmoitetaan käänteiselläetumerkillä MW10:ssä parametrille OUT.

Esimerkki:MW8 = +10 � MW10 = -- 10

Jos EN = 1 ja esiintyy ylivuoto, ENO = 0 jaA 4.0:n signaalitila on ”0”. Mikäli muuntoa eisuoriteta, A 4.0 = 0 (ENO = EN).

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Operaatio suoritetaan (EN = 1):

MW8

MW10A 4.0

E 0.0

=IN

OUTEN

ENO

NEG_I

Kuva 14-10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 101: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-12 C79000-G7000-C402-01

14.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus

Operaatio kokonaisluvun (32 bittiä) 2n komplementin muodostus lukeetuloparametrin IN sisällön ja kääntää etumerkin ympäri (esim. positiivisestaarvosta negatiiviseksi arvoksi). Lähtöparametri OUT ilmoittaa tuloksen.EN:n ja ENO:n signaalitila on aina sama, poikkeus: mikäli EN:n signaalitilaon ”1” ja esiintyy ylivuoto, on ENO:n signaalitila ”0”.

Taulukko 14-11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

NEG DIEN BOOL E, A, M, D, L, T, Z Vapautustulo

NEG_DI

EN OUTIN DINT E, A, M, D, L tai

vakioTuloarvo

IN ENO OUT DINT E, A, M, D, L Kokonaisluvun (32 bittiä)2n komplementti

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

Muunto suoritetaan, jos E 0.0 = 1. Merkkerikaksois-sanan MD8 arvo ilmoitetaan käänteisellä etumerkilläMW12:ssa parametrille OUT. Esimerkki:

MD8 = + 60.000 � MD12 = -- 60.000.

Jos EN = 1 ja esiintyy ylivuoto, ENO = 0 ja A 4.0:nsignaalitila ”0”. mikäli muuntoa ei suoriteta, A 4.0 = 0(ENO = EN).

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Operaatio suoritetaan (EN = 1):

MD8

MD12E 0.0

=IN

OUTEN

ENO

NEG_DI

A 4.0

Kuva 14-11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 102: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-13C79000-G7000-C402-01

14.12 Liukuluvun etumerkin vaihto

Operaatio liukuluvun etumerkin vaihto lukee tuloparametrin IN sisällön jakääntää etumerkkibitin ympäri, ts. operaatio muuttaa luvun etumerkin (esim.positiivisesta 0:sta negatiiviseksi 1:ksi). Eksponentin ja mantissan bititpysyvät muuttumattomina. Lähtöparametri OUT ilmoittaa tuloksen. EN:n jaENO:n signaalitila on aina sama, poikkeus: mikäli EN:n signaalitila on ”1” jaesiintyy ylivuoto, on ENO:n signaalitila ”0”.

Taulukko 14-12 Liukuluvun etumerkin vaihto--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

NEG REN BOOL E, A, M, D, L, T, Z Vapautustulo

NEG_R

EN

IN

OUT

ENO

IN REAL E, A, M, D, L taivakio

Tuloarvo

IN ENO OUT REAL E, A, M, D, L Tulos on käänteinen tuloarvo.

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

Muunto suoritetaan, jos E 0.0 = 1. Merkkerikak-soissanan MD8 arvo ilmoitetaan käänteiselläetumerkillä MD12:ssa parametrille OUT. Esimerk-ki:

MD8 = + 6,234 x 10--3 � MD12 = -- 6,234 x 10--3

Mikäli muuntoa ei suoriteta, A 4.0 = 0(ENO = EN).

Operaatio suoritetaan (EN = 1):

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- -- -- 0 x x 1

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

NEG_R

Kuva 14-12 Liukuluvun etumerkin vaihto

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 103: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-14 C79000-G7000-C402-01

14.13 Luvun pyöristys

Operaatio luvun pyöristys lukee tuloparametrin IN sisällön liukulukuna jamuuntaa sen kokonaisluvuksi (32 bittiä). Tulos on lähin lähtöparametrinOUT ilmoittama kokonaisluku. Mikäli murto--osa = x,5, niin parillinen lukupyöristetään alaspäin (esimerkki: 2,5 --> 2, 1,5 --> 2). Mikäli esiintyyylivuoto, ENO = 0. Mikälit tulo ei ole liukuluku, on OV--bitin ja OS--bitinarvo ”1” ja ENO:n arvo ”0”.

Taulukko 14-13 Luvun pyöristys--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

ROUNDEN BOOL E, A, M, D, L, T, Z Vapautustulo

ROUND

EN OUTIN REAL E, A, M, D, L tai

vakioArvo, joka pyöristetään

IN ENO OUT DINT E, A, M, D, L IN:n pyöristys lähimpäänkokonaislukuun

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1

Muunto suoritetaan, jos E 0.0 = 1. Merkkeri-kaksoissanan MD8 sisältö luetaan liukulukunaja muunnetaan periaatteella ”round to nearest”kokonaisluvuksi (32 bittiä). Tämän operaationtulos tallennetaan MD12:een. Mikäli esiintyyylivuoto, A 4.0 = 0. Jos tulon EN signaalitila =0 (ts., muuntoa ei suoriteta), on lähdön A 4.0signaalitila silloin myös ”0”.

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

ROUND

Kuva 14-13 Luvun pyöristys

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 104: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-15C79000-G7000-C402-01

14.14 Kokonaisluvun muodostus

Operaatio kokonaisluvun muodostus lukee tuloparametrin IN sisällönliukulukuna ja muuntaa tämän kokonaisluvuksi (32 bittiä) (esimerkki: 1,5:stätulee 1). Tulos on lähtöparametrissa OUT ilmoitettava liukuluvunkokonaisosa. Mikäli esiintyy ylivuoto, ENO = 0. Mikäli tulo ei ole liukuluku,on OV--bitin ja OS--bitin arvo ”1” ja ENO:n arvo ”0”.

Taulukko 14-14 Kokonaisluvun muodostus--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

TRUNCEN BOOL E, A, M, D, L, T, Z Vapautustulo

TRUNC

EN

IN

OUT

ENO

IN REAL E, A, M, D, L taivakio

Arvo, joka pyöristetään

IN ENO OUT DINT E, A, M, D, L IN:n kokonaislukuosa

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1

Muunto suoritetaan, jos E 0.0 = 1. Merkkeri-kaksoissanan MD8 sisältö luetaan liukulu-kuna ja muunnetaan periaatteella ”round tozero” kokonaisluvuksi (32 bittiä). Tulos onliukuluvun kokonaislukuosa, joka tallenne-taan MD12:een. Mikäli esiintyy ylivuoto,A 4.0 = 0. Jos tulon EN signaalitila = 0 (ts.,muuntoa ei suoriteta), on lähdön A 4.0 sig-naalitila silloin myös ”0”.

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

TRUNC

Kuva 14-14 Kokonaisluvun muodostus

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 105: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-16 C79000-G7000-C402-01

14.15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta

Operaatio seuraavaksi suuremman kokonaisluvun muodostus liukuluvustalukee tuloparametrin IN sisällön liukulukuna ja muuntaa tämän kokonais--luvuksi (32 bittiä) (esimerkki: +1,2 --> +2; --1,5 --> --1). Tulos on pieninkokonaisluku, joka on annettua liukulukua suurempi/yhtäsuuri.Lähtöparametri OUT ilmoittaa tuloksen. Mikäli esiintyy ylivuoto, ENO = 0.Mikäli tulo ei ole liukuluku, on OV--bitin ja OS--bitin arvo ”1” ja ENO:n arvo”0”.

Taulukko 14-15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

CEILEN BOOL E, A, M, D, L, T, Z Vapautustulo

CEIL

EN OUTIN REAL E, A, M, D, L tai

vakioArvo, joka muunnetaan

IN ENO OUT DINT E, A, M, D, L Tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1

Muunto suoritetaan, jos E 0.0 = 1. Merkkerikak-soissanan MD8 sisältö luetaan liukulukuna jamuunnetaan kokonaisluvuksi (32 bittiä) periaat-teella ”round to + infinity”. Tämän operaationtulos tallennetaan MD12:een. Mikäli esiintyyylivuoto, A 4.0 = 0. Jos tulon EN signaalitila = 0(ts., muuntoa ei suoriteta), on lähdön A 4.0 sig-naalitila silloin myös ”0”.

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

CEIL

Kuva 14-15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 106: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-17C79000-G7000-C402-01

14.16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta

Operaatio seuraavaksi pienemmän kokonaisluvun muodostus liukuluvustalukee tuloparametrin IN sisällön liukulukuna ja muuntaa tämän kokonais--luvuksi (32 bittiä) (esimerkki: +1,5 --> +1; --1,5 --> --2). Tulos on suurinkokonaisluku, joka on annettua liukulukua pienempi/yhtäsuuri.Lähtöparametri OUT ilmoittaa tuloksen. Mikäli esiintyy ylivuoto, ENO = 0.Mikäli tulo ei ole liukuluku, on OV--bitin ja OS--bitin arvo ”1” ja ENO:n arvo”0”.

Taulukko 14-16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta--kehys ja parametri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

FLOOREN BOOL E, A, M, D, L, T, Z Vapautustulo

FLOOR

EN OUTIN REAL E, A, M, D, L tai

vakioArvo, joka muunnetaan

IN ENO OUT DINT E, A, M, D, L Tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1

Muunto suoritetaan, jos E 0.0 = 1. Merkkerikak-soissanan MD8 sisältö luetaan liukulukuna jamuunnetaan kokonaisluvuksi (32 bittiä) periaat-teella ”round to -- infinity”. Tämän operaation tulostallennetaan MD12:een. Mikäli esiintyy ylivuoto, A4.0 = 0. Jos tulon EN signaalitila = 0 (ts., muuntoaei suoriteta), on lähdön A 4.0 signaalitila silloinmyös ”0”.

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

FLOOR

Kuva 14-16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta

Kuvaus

Siirto-- ja muunnosoperaatiot

Page 107: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

14-18 C79000-G7000-C402-01

Siirto-- ja muunnosoperaatiot

Page 108: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

13-1C79000-G7000-C402-01

Vertailuoperaatiot

Kappale Sisältö Sivu

13.1 Kokonaislukujen vertailu (16 bittiä) 13-2

13.2 Kokonaislukujen vertailu (32 bittiä) 13-3

13.3 Liukulukujen vertailu 13-4

Yleiskuvakappaleesta

13

Page 109: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

13-2 C79000-G7000-C402-01

13.1 Kokonaislukujen vertailu (16 bittiä)

Operaatio kokonaislukujen vertailu (16 bittiä) suorittaa 16 bitinkokonaisluvun vertailuoperaation. Tuloja IN1 ja IN2 verrataandialogikentässä valitun vertailulajin mukaan. Vertailulajit on lueteltuseuraavassa taulukossa.

Mikäli vertailun tulos on ”tosi”, on operaation LUK ”1”, muuten ”0”. Vertai-lutuloksella ei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.

Taulukko 13-1 Kokonaislukujen vertailulajit (16 bittiä)

Vertailulaji Merkki

IN1 on yhtäsuuri kuin IN2. ==

IN1 on erisuuri kuin IN2. <>

IN1 on suurempi kuin IN2. >

IN1 on pienempi kuin IN2. <

IN1 on suurempi tai yhtäsuuri kuin IN2. >=

IN1 on pienempi tai yhtäsuuri kuin IN2. <=

Taulukko 13-2 Kokonaislukujen vertailu--kehys (16 bittiä) ja parametri; Esimerkki: yhtäsuuri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

CMPI

IN1 INTE, A, M, D, Ltai vakio

Ensimmäinen vertailuarvo

IN1

== IIN2 INT

E, A, M, D, Ltai vakio

Toinen vertailuarvo

IN2 Kehyksenlähtö

BOOL E, A, M, D, L Vertailun tulos

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x 0 -- 0 1 x 1

A 4.0 asetetaan, jos:

MW0 = MW2 JA tulon E 0.0 signaalitila on”1”

Vertailu on tosi:

MW2

MW0A 4.0E 0.0

S

CMP== I

IN2

IN1

&

Kuva 13-1 Kokonaislukujen vertailu (16 bittiä)

Kuvaus

Vertailuoperaatiot

Page 110: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

13-3C79000-G7000-C402-01

13.2 Kokonaislukujen vertailu (32 bittiä)

Operaatio kokonaislukujen vertailu (32 bittiä) suorittaa 32 bitinkokonaisluvun vertailuoperaation. Tuloja IN1 ja IN2 verrataandialogikentässä valitun vertailulajin mukaan. Vertailulajit on lueteltuseuraavassa taulukossa.

Mikäli vertailun tulos on ”tosi”, on operaation LUK ”1”, muuten ”0”. Vertai-lutuloksella ei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.

Taulukko 13-3 Kokonaislukujen vertailulajit (32 bittiä)

Vertailulaji Merkki

IN1 on yhtäsuuri kuin IN2. ==

IN1 on erisuuri kuin IN2. <>

IN1 on suurempi kuin IN2. >

IN1 on pienempi kuin IN2. <

IN1 on suurempi tai yhtäsuuri kuin IN2. >=

IN1 on pienempi tai yhtäsuuri kuin IN2. <=

Taulukko 13-4 Kokonaislukujen vertailu--kehys (32 bittiä) ja parametri; Esimerkki: erisuuri

FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus

CMP<> D

IN1 DINTE, A, M, D, Ltai vakio

Ensimmäinen vertailuarvo

<> D

IN1IN2 DINT

E, A, M, D, Ltai vakio

Toinen vertailuarvo

IN2 Kehyksenlähtö

BOOL E, A, M, D, L Vertailun tulos

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- x x 0 -- 0 x x 1

A 4.0 asetetaan, jos:

S MD0 on erisuuri kuin MD4

S JA tulon E 0.0 signaalitilaon ”1”

Vertailu on tosi:

MD4

MD0 A 4.0

S

CMP<> D

IN2

IN1 E 0.0

&

Kuva 13-2 Kokonaislukujen vertailu (32 bittiä)

Kuvaus

Vertailuoperaatiot

Page 111: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

13-4 C79000-G7000-C402-01

13.3 Liukulukujen vertailu

Operaatio liukulukujen vertailu suorittaa vertailuoperaation reaaliluvuilla.Tuloja IN1 ja IN2 verrataan dialogikentässä valitun vertailulajin mukaan.Vertailulajit on lueteltu seuraavassa taulukossa.

Mikäli vertailun tulos on ”tosi”, on operaation LUK ”1”, muuten ”0”. Vertai-lutuloksella ei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.

Taulukko 13-5 Liukulukujen vertailulajit

Vertailulaji Merkki

IN1 on yhtäsuuri kuin IN2. ==

IN1 on erisuuri kuin IN2. <>

IN1 on suurempi kuin IN2. >

IN1 on pienempi kuin IN2. <

IN1 on suurempi tai yhtäsuuri kuin IN2. >=

IN1 on pienempi tai yhtäsuuri kuin IN2. <=

Taulukko 13-6 Liukulukujen vertailu--kehys ja parametri; Esimerkki: pienempi kuin

FUP--kehys Parametri Tied.tyyp. Muistialue Kuvaus

CMP< R

IN1 REALE, A, M, D, Ltai vakio

Ensimmäinen vertailuarvo

< RIN2 REAL

E, A, M, D, LToinen vertailuarvo

IN1IN2 REAL

E, A, M, D, Ltai vakio

Toinen vertailuarvo

IN2 Kehyksenlähtö

BOOL E, A, M, D, L Vertailun tulos

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- x x x x 0 x x 1

A 4.0 asetetaan, jos:

S MD0 < MD4

S JA tulon E 0.0 signaalitila on ”1”.

Vertailu on tosi:

MD4

MD0 A 4.0

S

CMP< R

IN2

IN1 E 0.0

&

Kuva 13-3 Liukulukujen vertailu

Kuvaus

Vertailuoperaatiot

Page 112: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-1C79000-G7000-C402-01

Liukulukuaritmetiikka

Kappale Sisältö Sivu

12.1 Yleiskuva 12-2

12.2 Liukulukujen yhteenlasku 12-3

12.3 Liukulukujen vähennyslasku 12-4

12.4 Liukulukujen kertolasku 12-5

12.5 Liukulukujen jakolasku 12-6

12.6 Tilasanan bittien tulkinta liukulukuoperaatioissa 12-7

12.7 Liukuluvun absoluuttiarvon muodostus 12-8

12.8 Liukuluvun neliön (SQR) muodostus 12-9

12.9 Liukuluvun neliöjuuren (SQRT) muodostus 12-10

12.10 Liukuluvun luonnollisen logaritmin muodostus 12-11

12.11 Liukuluvun eksponenttiarvon muodostus 12-12

12.12 Kulmien trigonometristen funktioiden laskenta liukulukuina 12-13

Yleiskuvakappaleesta

12

Page 113: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-2 C79000-G7000-C402-01

12.1 Yleiskuva

Liukulukuaritmetiikassa voidaan seuraavassa esitetyt aritmeettiset operaatiotsuorittaa kahdella liukukuvulla (32 bittiä, IEEE--FP):

S yhteenlasku

S vähennyslasku

S kertolasku

S jakolasku

Liukuluvut (32 bittiä, IEEE--FP) kuuluvat REAL--tiedostotyyppiin.Liitteessä 3 on tietoa liukulukujen muodosta.

Liukulukuaritmetiikassa voidaan seuraavat toiminnat suorittaa yhdelläliukuvulla (32 bittiä, IEEE--FP):

S liukuluvun absoluuttiarvon muodostus (ABS)

S liukuluvun neliön (SQR) tai neliöjuuren (SQRT) muodostus

S liukuluvun luonnollisen logaritmin (LN) muodostus

S liukuluvun eksponenttiarvon (EXP) muodostus kantaluvullae (= 2,71828...)

S liukulukuna (32 bittiä, IEEE--FP) esitetyn kulman seuraavientrigonometristen funktioiden muodostus:

-- liukuluvun sinin (SIN) ja arkussinin (ASIN) muodostus

-- liukuluvun kosinin (COS) ja arkuskosinin (ACOS) muodostus

-- liukuluvun tangentin (TAN) ja arkustangentin (ATAN) muodostus

Liukulukuaritmetiikka

Page 114: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-3C79000-G7000-C402-01

12.2 Liukulukujen yhteenlasku

Vapautustulon (EN) signaalitila ”1” aktivoi operaation liukulukujenyhteenlasku. Tämä operaatio laskee yhteen tulot IN1 ja IN2. Tulosta voikysyä lähdöstä OUT. Mikäli jokin tuloista tai tulos ei ole liukuluku, onOV--bitillä ja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.

Tietoa tilasanan näyttöjen tulkinnasta löytyy kappaleesta 12.6.

Taulukko 12-1 Liukulukujen yhteenlasku--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

ADD REN BOOL E, A, M, D, L, T, Z Vapautustulo

ADD_R

IN1

EN

OUT

IN1 REAL E, A, M, D, Ltai vakio

Ensimmäinen yhteenlaskettava

IN1

IN2

OUT

ENOIN2 REAL E, A, M, D, L

tai vakioToinen yhteenlaskettava

OUT REAL E, A, M, D, L Yhteenlaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys ADD_R aktivoidaan, jos E 0.0 = 1.Yhteenlaskun MD0 + MD4 tulos tallenne-taan merkkerikaksoissanaan MD10. Mikälijokin tuloista tai tulos ei ole liukuluku ja jostulon E 0.0 signaalitila = 0, osoitetaanlähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

ADD_R

Kuva 12-1 Liukulukujen yhteenlasku

Kuvaus

Liukulukuaritmetiikka

Page 115: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-4 C79000-G7000-C402-01

12.3 Liukulukujen vähennyslasku

Vapautustulon (EN) signaalitila ”1” aktivoi operaation liukulukujenvähennyslasku. Tämä operaatio vähentää tulosta IN1 tulon IN2. Tulosta voikysyä lähdöstä OUT. Mikäli jokin tuloista tai tulos ei ole liukuluku, onOV--bitillä ja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.

Tietoa tilasanan näyttöjen tulkinnasta löytyy kappaleesta 12.6.

Taulukko 12-2 Liukulukujen vähennyslasku--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

SUB REN BOOL E, A, M, D, L, T, Z Vapautustulo

SUB_R

IN1

EN

OUT

IN1 REAL E, A, M, D, Ltai vakio

Vähennettävä

IN1

IN2

OUT

ENOIN2 REAL E, A, M, D, L

tai vakioVähentäjä

OUT REAL E, A, M, D, L Vähennyksen tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys SUB_R aktivoidaan, jos E 0.0 = 1.Vähennyslaskun MD0 -- MD4 tulos tallenne-taan merkkerisanaan MD10. Mikäli jokin tu-loista tai tulos ei ole liukuluku ja jos tulonE 0.0 signaalitila = 0, osoitetaan lähdölleA 4.0 signaali ”0” eikä operaatiota suoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

SUB_R

Kuva 12-2 Liukulukujen vähennyslasku

Kuvaus

Liukulukuaritmetiikka

Page 116: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-5C79000-G7000-C402-01

12.4 Liukulukujen kertolasku

Vapautustulon (EN) signaalitila ”1” aktivoi operaation liukulukujenkertolasku. Tämä operaatio kertoo tulon IN1 tulolla IN2. Tulosta voi kysyälähdöstä OUT. Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV--bitilläja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.

Tietoa tilasanan näyttöjen tulkinnasta löytyy kappaleesta 12.6.

Taulukko 12-3 Liukulukujen kertolasku--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

MUL REN BOOL E, A, M, D, L, T, Z Vapautustulo

MUL_R

IN1

EN

OUT

IN1 REAL E, A, M, D, Ltai vakio

Kerrottava

IN1

IN2

OUT

ENOIN2 REAL E, A, M, D, L

tai vakioKertoja

OUT REAL E, A, M, D, L Kertolaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys MUL_R aktivoidaan, jos E 0.0 = 1.Kertolaskun MD0 x MD4 tulos tallennetaanmerkkerikaksoissanaan MD10. Mikäli jokintuloista tai tulos ei ole liukuluku ja jos tulonE 0.0 signaalitila = 0, osoitetaan lähdölleA 4.0 signaali ”0” eikä operaatiota suoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0

A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

MUL_R

Kuva 12-3 Liukulukujen kertolasku

Kuvaus

Liukulukuaritmetiikka

Page 117: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-6 C79000-G7000-C402-01

12.5 Liukulukujen jakolasku

Vapautustulon (EN) signaalitila ”1” aktivoi operaation liukulukujenjakolasku. Tämä operaatio jakaa tulon IN1 tulolla IN2. Tulosta voi kysyälähdöstä OUT. Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV--bitilläja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.

Tietoa tilasanan näyttöjen tulkinnasta löytyy kappaleesta 12.6.

Taulukko 12-4 Liukulukujen jakolasku--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

DIV REN BOOL E, A, M, D, L, T, Z Vapautustulo

DIV_R

ENIN1 REAL E, A, M, D, L

tai vakioJaettava

IN1

IN2

OUT

ENOIN2 REAL E, A, M, D, L

tai vakioJakaja

OUT REAL E, A, M, D, L Jakolaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys DIV_R aktivoidaan, jos E 0.0 = 1.Jakolaskun MD0 jaettuna MD4:llä tulostallennetaan merkkerikaksoissanaan MD10.Mikäli jokin tuloista tai tulos ei ole liukulukuja jos tulon E 0.0 signaalitila = 0, osoitetaanlähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

DIV_R

Kuva 12-4 Liukulukujen jakolasku

Kuvaus

Liukulukuaritmetiikka

Page 118: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-7C79000-G7000-C402-01

12.6 Tilasanan bittien tulkinta liukulukuoperaatioissa

Liukulukuoperaatiot vaikuttavat tilasanan seuraaviin bitteihin:

S A1 ja A0

S OV

S OS

Viiva (--) taulukossa tarkoittaa, että operaation tulos ei vaikuta kyseiseenbittiin.

Taulukko 12-5 Tilasanan bittien signaalitila liukulukuoperaatioiden tuloksille;tulos on voimassa olevalla alueella

Voimassa oleva alue Tilasanan bitit

liukuluoperaation (32 bittiä) tulokselle A1 A0 OV OS

+0, --0 (nolla) 0 0 0 --

--3,402823E+38 < tulos < --1,175494E--38(negatiivinen luku)

0 1 0 --

+1,175494E--38 < tulos < 3,402823E+38(positiivinen luku)

1 0 0 --

Taulukko 12-6 Tilasanan bittien signaalitila liukulukuoperaatioiden tuloksille;tulos ei ole voimassa olevalla alueella

Ei voimassa oleva alue Tilasanan bitit

liukuluoperaation (32 bittiä) tulokselle A1 A0 OV OS

--1,175494E--38 < tulos < -- 1,401298E--45(negatiivinen luku) alitus

0 0 1 1

+1,401298E--45 < tulos < +1,175494E--38(positiivinen luku) alitus

0 0 1 1

Tulos < --3,402823E+38(negatiivinen luku) ylivuoto

0 1 1 1

Tulos > 3,402823E+38(positiivinen luku) ylivuoto

1 0 1 1

Tulos < --3,402823E+38tai tulos > +3,402823E+38ei liukuluku

1 1 1 1

Kuvaus

Liukulukuaritmetiikka

Page 119: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-8 C79000-G7000-C402-01

12.7 Liukuluvun absoluuttiarvon muodostus

Liukuluvun absoluuttiarvo voidaan muodostaa operaatiolla liukuluvunabsoluuttiarvon muodostus.

Taulukko 12-7 ABS--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

ABSEN BOOL E, A, M, D, L, T, Z Vapautustulo

ABS

EN OUTIN REAL E, A, M, D, L

tai vakioTuloarvo: Liukuluku

IN ENO OUT REAL E, A, M, D, L Lähtöarvo: Liukuluvunabsoluuttiarvo

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus X -- -- -- -- 0 X X 1

Mikäli E 0.0 = 1, ohjataan MD8:nabsoluuttiarvo an MD12:lle.

MD8 = --6,234 x 10--3 antaa tulokseksiMD12 = 6,234 x 10--3.

Lähtö A 4.0 on ”0”, jos muunnosta eisuoriteta (ENO = EN = 0).

Operaatio suoritetaan (EN = 1):

MD8

MD12A 4.0

E 0.0

=IN

OUTEN

ENO

ABS

Kuva 12-5 Liukuluvun absoluuttiarvon muodostus

Kuvaus

Liukulukuaritmetiikka

Page 120: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-9C79000-G7000-C402-01

12.8 Liukuluvun neliön (SQR) muodostus

Operaatiolla liukuluvun neliön muodostus voidaan liukuluku korottaa ne-liöön. Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV--bitillä jaOS--bitillä arvo ”1” ja ENO:lla arvo ”0”.

Taulukko 12-8 esittää SQR--kehystä ja kuvaa parametrejä.

Taulukko 12-8 SQR--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

SQR

EN OUT

IN REAL E, A, M, D, Ltai vakio

Luku

EN

IN

OUT

ENOOUT REAL E, A, M, D, L Luvun neliö

IN ENOENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Operaatio suoritetaan (EN = 1):

Kehys SQR aktivoidaan, mikäli E 0.0 = 1.SQR:n (MD0) tulos tallennetaan merkkerikak-soissanaan MD10. Jos MD0 < 0 tai jokin tu-loista tai tulos ei ole liukuluku ja tulon E 0.0signaalitila = 0, osoitetaan lähdölle A 4.0 sig-naali ”0”.MD0

MD10A 4.0

E 0.0

=IN

OUTEN

ENO

SQR

Kuva 12-6 Liukuluvun neliön muodostus

Kuvaus

Parametri

Liukulukuaritmetiikka

Page 121: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-10 C79000-G7000-C402-01

12.9 Liukuluvun neliöjuuren (SQRT) muodostus

Operaatiolla liukuluvun neliöjuuren muodostus voidaan liukuluvusta laskeaneliöjuuri. Tämän operaation tulos on positiivinen, mikäli operandi on suu--rempi kuin “0”. Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV--bitilläja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.

Taulukko 12-9 esittää SQRT--kehystä ja kuvaa parametrejä.

Taulukko 12-9 SQRT--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

SQRT

EN OUTIN REAL E, A, M, D, L tai

vakioLuku

IN ENOOUT REAL E, A, M, D, L Luvun

neliöjuuri

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Operaatio suoritetaan (EN = 1):

Kehys SQRT aktivoidaan, mikäli E 0.0 = 1.SQRT:n (MD0) tulos tallennetaan merkkeri-kaksoissanaan MD10. Jos MD0 < 0 tai jokintuloista tai tulos ei ole liukuluku ja tulon E 0.0signaalitila = 0, osoitetaan lähdölle A 4.0 sig-naali ”0”.MD0

MD10A 4.0

E 0.0

=IN

OUTEN

ENO

SQRT

Kuva 12-7 Liukuluvun neliöjuuren muodostus

Kuvaus

Parametri

Liukulukuaritmetiikka

Page 122: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-11C79000-G7000-C402-01

12.10 Liukuluvun luonnollisen logaritmin muodostus

Operaatiolla liukuluvun luonnollisen logaritmin muodostus voidaan muodos-taa liukuluvun luonnollinen logaritmi. Mikäli jokin tuloista tai tulos ei oleliukuluku, on OV--bitillä ja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.

Taulukko 12-10 LN--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

LN

EN OUT

IN REAL E, A, M, D, L taivakio

Luku

EN

IN

OUT

ENO

OUT REAL E, A, M, D, L Luvunluonnollinenlogaritmi

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Operaatio suoritetaan (EN = 1):

Kehys LN aktivoidaan, mikäli E 0.0 = 1. LN:n(MD0) tulos tallennetaan merkkerikaksoissa-naan MD10. Jos MD0 < 0 tai jokin tuloista taitulos ei ole liukuluku ja tulon E 0.0 signaalitila= 0, osoitetaan lähdölle A 4.0 signaali ”0”.

MD0

MD10A 4.0

E 0.0

=IN

OUTEN

ENO

LN

Kuva 12-8 Liukuluvun luonnollisen logaritmin muodostus

Kuvaus

Liukulukuaritmetiikka

Page 123: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-12 C79000-G7000-C402-01

12.11 Liukuluvun eksponenttiarvon muodostus

Operaatiolla liukuluvun eksponenttiarvon muodostus voidaan muodostaa liu-kuluvun eksponenttiarvo luvulle e (= 2,71828...). Mikäli jokin tuloista taitulos ei ole liukuluku, on OV--bitillä ja OS--bitillä arvo ”1” ja ENO:lla arvo”0”.

Taulukko 12-11 EXP--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

EXP

EN OUT

IN REAL E, A, M, D, L taivakio

Luku

EN

IN

OUT

ENOOUT REAL E, A, M, D, L Luvun

eksponentti

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Operaatio suoritetaan (EN = 1):

Kehys EXP aktivoidaan, mikäli E 0.0 = 1.EXP:n (MD0) tulos tallennetaan merkkerikak-soissanaan MD10. Jos jokin tuloista tai tulosei ole liukuluku ja tulon E 0.0 signaalitila = 0,osoitetaan lähdölle A 4.0 signaali ”0”.

MD0

MD10A 4.0

E 0.0

=IN

OUTEN

ENO

EXP

Kuva 12-9 Liukuluvun eksponenttiarvon muodostus

Kuvaus

Liukulukuaritmetiikka

Page 124: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-13C79000-G7000-C402-01

12.12 Kulmien trigonometristen funktioiden laskenta liukulukuina

Seuraavilla operaatioilla voidaan laskea kulmien trigonometrisiä funktioita,jotka on esitetty liukulukuina (32 bittiä, IEEE--FP):

Operaatio Merkitys

SIN Liukuluvun sinin muodostus kulmasta, joka annetaan kaarimitassa.Kulman muodostaman kaaren suhde koko ympyrän (360 astetta)kaareen (2.π.R).

ASIN Liukuluvun arkussinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:

—π / 2≤ arkussini≤ + π / 2, jolloin, π = 3.14...

COS Liukuluvun kosinin muodostus kulmasta, joka annetaan kaarimitassa.

ACOS Liukuluvun arkuskosinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:

0≤ arkuskosini≤ + π, jolloin π = 3.14...

TAN Liukuluvun tangentin muodostus kulmasta, joka annetaan kaarimitas-sa.

ATAN Liukuluvun arkuskosinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:

—π / 2≤ arkustangentti≤ + π / 2, jolloin π = 3.14...

Taulukot 12-12 ... 12-17 esittävät kehyksiä SIN, ASIN, COS, ACOS, TAN jaATAN ja kuvaavat parametrejä.

Taulukko 12-12 SIN--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

SIN

EN OUTIN REAL E, A, M, D, L tai

vakioLuku

IN ENO OUT REAL E, A, M, D, L Luvun sini

ENO BOOL E, A, M, D, L Vapautuslähtö

Kuvaus

Parametri

Liukulukuaritmetiikka

Page 125: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-14 C79000-G7000-C402-01

Taulukko 12-13 ASIN--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

ASIN

EN OUTIN REAL E, A, M, D, L tai

vakioLuku

IN ENOOUT REAL E, A, M, D, L Luvun arkussini

IN ENOENO BOOL E, A, M, D, L Vapautuslähtö

Taulukko 12-14 COS--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

COS

EN OUTIN REAL E, A, M, D, L tai

vakioLuku

IN ENOOUT REAL E, A, M, D, L Luvun kosini

IN ENOENO BOOL E, A, M, D, L Vapautuslähtö

Taulukko 12-15 ACOS--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

ACOS

EN OUT

IN REAL E, A, M, D, L taivakio

Luku

EN

IN

OUT

ENOOUT REAL E, A, M, D, L Luvun arkussini

IN ENOENO BOOL E, A, M, D, L Vapautuslähtö

Taulukko 12-16 TAN--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

TAN

EN OUT

IN REAL E, A, M, D, L taivakio

Luku

IN ENO OUT REAL E, A, M, D, L Luvun tangentti

ENO BOOL E, A, M, D, L Vapautuslähtö

Liukulukuaritmetiikka

Page 126: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-15C79000-G7000-C402-01

Taulukko 12-17 ATAN--kehys ja parametri

FUP--kehys Parametri Tied.--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z Vapautustulo

ATAN

EN OUT

IN REAL E, A, M, D, L oderKonstante

Luku

EN

IN

OUT

ENOOUT REAL E, A, M, D, L Luvun

arkustangentti

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Operaatio suoritetaan (EN = 1):

Kehys SIN aktivoidaan, mikäli E 0.0 = 1. SIN:n(MD0) tulos tallennetaan merkkerikaksoissa-naan MD10. Jos jokin tuloista tai tulos ei oleliukuluku ja tulon E 0.0 signaalitila = 0, osoite-taan lähdölle A 4.0 signaali ”0”.

MD0

MD10A 4.0

E 0.0

=IN

OUTEN

ENO

SIN

Kuva 12-10 Liukuluvun sinin muodostus

Liukulukuaritmetiikka

Page 127: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

12-16 C79000-G7000-C402-01

Liukulukuaritmetiikka

Page 128: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-1C79000-G7000-C402-01

Peruslaskentaoperaatiot

Kappale Sisältö Sivu

11.1 Kokonaislukujen yhteenlasku (16 bittiä) 11-2

11.2 Kokonaislukujen yhteenlasku (32 bittiä) 11-3

11.3 Kokonaislukujen vähennyslasku (16 bittiä) 11-4

11.4 Kokonaislukujen vähennyslasku (32 bittiä) 11-5

11.5 Kokonaislukujen kertolasku (16 bittiä) 11-6

11.6 Kokonaislukujen kertolasku (32 bittiä) 11-7

11.7 Kokonaislukujen jakolasku (16 bittiä) 11-8

11.8 Kokonaislukujen jakolasku (32 bittiä) 11-9

11.9 Jakojäännös (32 bittiä) 11-10

11.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissa 11-11

Yleiskuvakappaleesta

11

Page 129: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-2 C79000-G7000-C402-01

11.1 Kokonaislukujen yhteenlasku (16 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenyhteenlasku (16 bittiä). Tämä operaatio laskee yhteen tulot IN1 ja IN2.Tulosta voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitunalueen ulkopuolella (16 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.

Taulukko 11-1 Kokonaislukujen yhteenlasku (16 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloADD_I

ENIN1 INT E, A, M, D, L

tai vakioEnsimmäinen yhteenlaskettava

IN1

IN2

OUT

ENO

IN2 INT E, A, M, D, Ltai vakio

Toinen yhteenlaskettava

IN2 ENOOUT INT E, A, M, D, L Yhteenlaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys ADD_I aktivoidaan, jos E 0.0 = 1.Yhteenlaskun MW0 + MW2 tulos tallenne-taan merkkerisanaan MW10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(16 bittiä) tai tulon E 0.0 signaalitila = 0,osoitetaan lähdölle A 4.0 signaali ”0” eikäoperaatiota suoriteta.

ADD_I

IN2

OUT

MW2

MW10IN1MW0

Operaatio suoritetaan (EN = 1):

EN

ENOA 4.0

E 0.0

=

Kuva 11-1 Kokonaislukujen yhteenlasku (16 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 130: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-3C79000-G7000-C402-01

11.2 Kokonaislukujen yhteenlasku (32 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenyhteenlasku (32 bittiä). Tämä operaatio laskee yhteen tulot IN1 ja IN2.Tulosta voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitunalueen ulkopuolella (32 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.

Taulukko 11-2 Kokonaislukujen yhteenlasku (32 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloADD_DI

ENIN1 DINT E, A, M, D, L

tai vakioEnsimmäinen yhteenlaskettava

IN1

IN2

OUT

ENO

IN2 DINT E, A, M, D, Ltai vakio

Toinen yhteenlaskettava

IN2 ENOOUT DINT E, A, M, D, L Yhteenlaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys ADD_DI aktivoidaan, jos E 0.0 = 1.Yhteenlaskun MD0 + MD4 tulos tallennetaanmerkkerikaksoissanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(32 bittiä) tai jos tulon E 0.0 signaalitila = 0,osoitetaan lähdölle A 4.0 signaali ”0” eikäoperaatiota suoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

ADD_DI

Kuva 11-2 Kokonaislukujen yhteenlasku (32 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 131: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-4 C79000-G7000-C402-01

11.3 Kokonaislukujen vähennyslasku (16 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenvähennyslasku (16 bittiä). Tämä operaatio vähentää tulosta IN1 tulon IN2.Tulosta voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitunalueen ulkopuolella (16 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.

Taulukko 11-3 Kokonaislukujen vähennyslasku (16 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloSUB_I

ENIN1 INT E, A, M, D, L

tai vakioVähennettävä

IN1

IN2

OUT

ENO

IN2 INT E, A, M, D, Ltai vakio

Vähentäjä

IN2 ENOOUT INT E, A, M, D, L Vähennyksen tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien merkitys

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys SUB_I aktivoidaan, jos E 0.0 = 1.Vähennyslaskun MW0 -- MW2 tulostallennetaan merkkerisanaan MW10. Mikälitulos on kokonaisluvuille sallitun alueenulkopuolella (16 bittiä) tai tulonE 0.0 signaalitila = 0, osoitetaan lähdölle A 4.0signaali ”0” eikä operaatiota suoriteta.

Operaatio suoritetaan (EN = 1):

SUB_I

IN2

OUT

MW2

MW10IN1MW0

EN

ENOA 4.0

E 0.0

=

Kuva 11-3 Kokonaislukujen vähennyuslasku (16 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 132: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-5C79000-G7000-C402-01

11.4 Kokonaislukujen vähennyslasku (32 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenvähennyslasku (32 bittiä). Tämä operaatio vähentää tulosta IN1 tulon IN2.Tulosta voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitunalueen ulkopuolella (32 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.

Taulukko 11-4 Kokonaislukujen vähennyslasku (32 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloSUB_DI

ENIN1 DINT E, A, M, D, L

tai vakioVähennettävä

IN1

IN2

OUT

ENO

IN2 DINT E, A, M, D, Ltai vakio

Vähentäjä

IN2 ENOOUT DINT E, A, M, D, L Vähennyksen tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys SUB_I aktivoidaan, jos E 0.0 = 1.Vähennyslaskun MD0 -- MD4 tulos tallenne-taan merkkerisanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(32 bittiä) tai tulon E 0.0 signaalitila = 0, osoite-taan lähdölle A 4.0 signaali ”0” eikä operaatio-ta suoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

SUB_DI

Kuva 11-4 Kokonaislukujen vähennyslasku (32 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 133: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-6 C79000-G7000-C402-01

11.5 Kokonaislukujen kertolasku (16 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenkertolasku (16 bittiä). Tämä operaatio kertoo tulon IN1 tulolla IN2. Tulostavoi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitun alueenulkopuolella (16 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” ja ENO:lla arvo”0”.

Taulukko 11-5 Kokonaislukujen kertolasku (16 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloMUL_I

ENIN1 INT E, A, M, D, L

tai vakioKerrottava

IN1

IN2

OUT

ENO

IN2 INT E, A, M, D, Ltai vakio

Kertoja

IN2 ENOOUT DINT E, A, M, D, L Kertolaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys MUL_I aktivoidaan, jos E 0.0 = 1.Kertolaskun MW0 x MW2 tulos tallennetaanmerkkerikaksoissanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(16 bittiä) tai tulon E 0.0 signaalitila = 0, osoite-taan lähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.

Operaatio suoritetaan (EN = 1):

MUL_I

IN2

OUT

MW2

MD10IN1MW0

EN

ENOA 4.0

E 0.0

=

Kuva 11-5 Kokonaislukujen kertolasku (16 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 134: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-7C79000-G7000-C402-01

11.6 Kokonaislukujen kertolasku (32 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenkertolasku (32 bittiä). Tämä operaatio kertoo tulon IN1 tulolla IN2. Tulostavoi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitun alueenulkopuolella (32 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” ja ENO:lla arvo”0”.

Taulukko 11-6 Kokonaislukujen kertolasku (32 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloMUL_DI

ENIN1 DINT E, A, M, D, L

tai vakioKerrottava

IN1

IN2

OUT

ENO

IN2 DINT E, A, M, D, Ltai vakio

Kertoja

IN2 ENOOUT DINT E, A, M, D, L Kertolaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys MUL_I aktivoidaan, jos E 0.0 = 1.Kertolaskun MD0 x MD4 tulos tallennetaanmerkkerikaksoissanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(32 bittiä) tai tulon E 0.0 signaalitila = 0, osoite-taan lähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

MUL_DI

Kuva 11-6 Kokonaislukujen kertolasku (32 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 135: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-8 C79000-G7000-C402-01

11.7 Kokonaislukujen jakolasku (16 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenjakolasku (16 bittiä). Tämä operaatio jakaa tulon IN1 tulolla IN2. Tämänjakolaskun osamäärää (kokonaislukuosaa) voi kysyä lähdöstä OUT.Jakojäännöstä ei voida kysyä. Osamäärän ollessa kokonaisluvuille sallitunalueen ulkopuolella (16 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.

Taulukko 11-7 Kokonaislukujen jakolasku (16 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloDIV_I

ENIN1 INT E, A, M, D, L

tai vakioJaettava

IN1

IN2

OUT

ENO

IN2 INT E, A, M, D, Ltai vakio

Jakaja

IN2 ENOOUT INT E, A, M, D, L Jakolaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys DIV_I aktivoidaan, jos E 0.0 = 1.Jakolaskun MW0 jaettuna MW2:lla osamäärätallennetaan merkkerisanaan MW10. Mikäliosamäärä on kokonaisluvuille sallitun alueenulkopuolella (16 bittiä) tai jos tulon E 0.0 sig-naalitila = 0, osoitetaan lähdölle A 4.0 signaali”0” eikä operaatiota suoriteta.

Operaatio suoritetaan (EN = 1):

DIV_I

IN2

OUT

MW2

MW10IN1MW0

EN

ENOA 4.0

E 0.0

=

Kuva 11-7 Kokonaislukujen jakolasku (16 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 136: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-9C79000-G7000-C402-01

11.8 Kokonaislukujen jakolasku (32 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenjakolasku (32 bittiä). Tämä operaatio jakaa tulon IN1 tulolla IN2. Tämänjakolaskun osamäärää (kokonaislukuosaa) voi kysyä lähdöstä OUT.Operaatio kokonaislukujen jakolasku (32 bittiä) tallentaa osamääränyksinkertaisena 32 bitin arvona DINT--muodossa eikä siitä jää jakojäännöstä.Osamäärän ollessa kokonaisluvuille sallitun alueen ulkopuolella (32 bittiä),on OV-bitillä ja OS-bitillä arvo ”1” ja ENO:lla arvo ”0”.

Taulukko 11-8 Kokonaislukujen jakolasku (32 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloDIV_DI

ENIN1 DINT E, A, M, D, L

tai vakioJaettava

IN1

IN2

OUT

ENO

IN2 DINT E, A, M, D, Ltai vakio

Jakaja

IN2 ENOOUT DINT E, A, M, D, L Jakolaskun tulos

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys DIV_DI aktivoidaan, jos E 0.0 = 1.Jakolaskun MD0 jaettuna MD4:llä osamäärätallennetaan merkkerisanaan MD10. Mikäliosamäärä on kokonaisluvuille sallitun alueenulkopuolella (32 bittiä) tai jos tulon E 0.0 sig-naalitila = 0, osoitetaan lähdölle A 4.0 signaali”0” eikä operaatiota suoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

DIV_DI

Kuva 11-8 Kokonaislukujen jakolasku (32 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 137: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-10 C79000-G7000-C402-01

11.9 Jakojäännöksen tallennus (32 bittiä)

Vapautustulon (EN) signaalitila ”1” aktivoi operaation jakojäännöksentallennus (32 bittiä). Tämä operaatio jakaa tulon IN1 tulolla IN2.Jakojäännöstä voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuillesallitun alueen ulkopuolella (32 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.

Taulukko 11-9 Jakojäännöksen tallennus (32 bittiä) --kehys ja parametri

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

EN BOOL E, A, M, D, L, T, Z VapautustuloMOD_DI

ENIN1 DINT E, A, M, D, L

tai vakioJaettava

IN1

IN2

OUT

ENO

IN2 DINT E, A, M, D, Ltai vakio

Jakaja

IN2 ENOOUT DINT E, A, M, D, L Jakojäännös

ENO BOOL E, A, M, D, L Vapautuslähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1

Kehys MOD_DI aktivoidaan, jos E 0.0 = 1.Jakolaskun MD0 jaettuna MD4:llä jako--jäännös tallennetaan merkkerikaksoissa-naan MD10. Mikäli tulos on kokonaisluvuillesallitun alueen ulkopuolella (32 bittiä) tai tu-lon E 0.0 signaalitila = 0, osoitetaan lähdölleA 4.0 signaali ”0” eikä operaatiota suoriteta.

Operaatio suoritetaan (EN = 1):

MD4

MD10MD0A 4.0

E 0.0

=IN2

OUTIN1

EN

ENO

MOD_DI

Kuva 11-9 Jakojäännöksen tallennus (32 bittiä)

Kuvaus

Peruslaskentaoperaatiot

Page 138: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

11-11C79000-G7000-C402-01

11.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissa

Peruslaskentaoperaatiot vaikuttavat seuraaviin tilasanan bitteihin:

S A1 ja A0

S OV

S OS

Taulukossa oleva viiva (-) tarkoittaa, että operaation tulos ei vaikutakyseiseen bittiin.

Taulukko 11-10 Tilasanan bittien signaalitila: Laskentatulos voimassa olevan alueensisällä

Tuloksen voimassa oleva alue Tilasanan bitit

Kokonaisluvuilla (16 ja 32 bittiä) A1 A0 OV OS

0 (nolla) 0 0 0 -

16 bittiä: -32 768≤ tulos< 0 (negatiivinen luku)32 bittiä: -2 147 483 648≤ tulos< 0 (negatiivinen luku)

0 1 0 -

16 bittiä: 32 767≥ tulos>0 (positive Zahl)32 bittiä: 2 147 483 647≥ tulos>0 (positive Zahl) 1 0 0 -

Taulukko 11-11 Tilasanan bittien signaalitila: Laskentatulos voimassa olevan alueenulkopuolella

Tuloksen ei voimassa oleva alue Tilasanan bitit

Kokonaisluvuilla (16 ja 32 bittiä) A1 A0 OV OS

16 bittiä: tulos> 32 767 (positiivinen luku)32 bittiä: tulos> 2 147 483 647 (positiivinen luku)

1 0 1 1

16 bittiä: tulos< -32 768 (negatiivinen luku)32 bittiä: tulo

Page 139: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

10-1C79000-G7000-C402-01

Laskentaoperaatiot

Kappale Sisältö Sivu

10.1 Muistin laskuriosoite ja laskurin komponentit 10-2

10.2 Eteenpäin-/taaksepäinlaskenta 10-3

10.3 Eteenpäinlaskenta 10-5

10.4 Taaksepäinlaskenta 10-7

Yleiskuvakappaleesta

10

Page 140: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

10-2 C79000-G7000-C402-01

10.1 Muistin laskuriosoite ja laskurin komponentit

Laskureille on CPU:ssa varattu oma muistialue. Tämä muistialue varaa 16bitin sanan jokaiselle laskurille. FUP:lla ohjelmointi tukee 256 laskuria.

Laskentaoperaatiot ovat ainoat toiminnat, joilla voi käsitellä laskurillevarattua muistialuetta.

Laskenta--arvo on laskurisanan biteissä 0 ... 9 binäärikoodattuna. Laskuriaasetettaessa siirretään määrtätty arvo akusta laskuriin. Laskenta--arvon alueon välillä 0 ja 999. Laskenta--arvoa voidaan muuttaa tämän alueen sisälläkäyttämällä operaatioita eteenpäin-/taaksepäinlaskenta, eteenpäinlaskenta jataaksepäinlaskenta.

Laskuri asetetaan tiettyyn arvoon laataamalla joku 0:n ja 999:n välinen luku,esim. 127, laskenta--arvona seuraavassa muodossa:

C# 127

C# tarkoittaa BCD-muotoa (BCD-muoto: jokaisessa 4 bitin ryhmässä ondesimaaliarvon binäärikoodi).

Laskurin biteissä 0 ... 11 on laskenta--arvo BCD-muodossa. Kuva 10-1 esittäälaskurin sisältöä sen jälkeen kun laskenta--arvo 127 on ladattu, ja laskuripiirinsisältöä laskurin asettamisen jälkeen.

merkityksetön

Laskenta--arvo BCD-muodossa (0 ... 999)

15

1 2 7

14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1 111 10000000

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1 110 111100

Duaali laskenta--arvomerkityksetön

Kuva 10-1 Laskuripiirin sisältö laskurin asettamisen jälkeen laskenta--arvolla 127

Muistialue

Laskenta--arvo

Laskurinbittikonfiguraatio

Laskentaoperaatiot

Page 141: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

10-3C79000-G7000-C402-01

10.2 Eteenpäin-/taaksepäinlaskenta

Kun tulossa S vaihtuu signaali ”0”:sta ”1”:ksi, niin operaatiossaeteenpäin-/taaksepäinlaskenta lähtöarvo ZW otetaan laskuriin. Laskurinarvoa korotetaan ”1”:llä, jos tulossa ZV on nouseva reuna, mikälilaskenta--arvo on pienempi kuin 999. Laskurin arvoa lasketaan ”1”:llä, jostulossa ZR on nouseva reuna, mikäli laskenta--arvo on suurempi kuin ”0”. Joskummassakin laskuritulossa on nouseva reuna, molemmat operaatiotkäsitellään ja laskenta--arvo pysyy muuttumattomana. Laskuri nollataan, jostulossa R on nouseva reuna. Laskurin nollaus asettaa laskenta--arvon ”0”:ksi.

”1”:n jälkeen lähdössä Q tehty signaalitilakysely antaa tulokseksi ”1”, joslaskenta--arvo on suurempi kuin ”0”. Kysely antaa tulokseksi ”0”, joslaskenta--arvo on yhtäsuuri kuin ”0”.

Taulukko 10-1 Eteenpäin-/taaksepäinlaskenta--kehys ja parametri SIMATIC-mnemoniikalla

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

Z no

No COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.

Z-noLASKURI

ZV BOOL E, A, M, D, L Tulo ZV: EteenpäinlaskentaLASKURI

ZVZR BOOL E, A, M, D, L Tulo ZR: Taaksepäinlaskenta

ZV

ZR S BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo

DEZ

Q

ZR

DUALS

ZW

R

ZW WORD E, A, M, D, Ltai vakio

Laskenta--lähtöarvo alueella 0 -- 999tai

laskenta--lähtöarvon anto C#<arvo>BCD-muodossa

R BOOL E, A, M, D, L, T, Z Nollaustulo

DUAL WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu

DEZ WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu

Q BOOL E, A, M, D, L Laskurin tila

Kuvaus

Laskentaoperaatiot

Page 142: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

10-4 C79000-G7000-C402-01

Taulukko 10-2 Eteenpäin-/taaksepäinlaskenta--kehys ja parametri kansainvälisellä mnemoniikalla

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

No. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.

C no.S CUD

CU BOOL E, A, M, D, L Tulo CU: EteenpäinlaskentaS_CUD

CD BOOL E, A, M, D, L Tulo CD: Taaksepäinlaskenta

CU

CDS BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo

CV

Q

CD

CV_BCDSPVR

PV WORD E, A, M, D, L

tai

vakio

Laskenta--lähtöarvo alueella 0 -- 999

tai

laskenta--lähtöarvon anto C#<arvo>BCD-muodossa

R BOOL E, A, M, D, L T, Z Nollaustulo

CV WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu

CV_BCD WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu

Q BOOL E, A, M, D, L Laskurin tila

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

Mikäli tulon E 0.2 signaalitila vaihtuu”0”:sta ”1”:ksi, asetetaan laskuri Z10 ar-volla 55. Jos tulon E 0.0 signaalitila vaih-tuu ”0”:sta ”1”:ksi, korotetaan laskurinZ10 arvoa ”1”:llä, mikäli Z10:n arvo ei oleyhtäsuuri kuin 999. Jos E 0.1 vaihtuu”0”:sta ”1”:ksi, niin lasketaan Z10:n arvoa”1”:llä, mikäli Z10:n arvo ei ole yhtäsuurikuin ”0”. Mikäli E 0.3 vaihtuu ”0”:sta”1”:ksi, asetetaan Z10:n laskenta--arvo0:ksi. A 4.0 on ”1”, jos Z10 on erisuurikuin ”0”.

Z10

LASKURI

DUAL

Q

ZV

ZR

DEZ

S

ZW

R

E 0.0

E 0.1

E 0.2

C#55

E 0.3A 4.0=

Kuva 10-2 Eteenpäin-/taaksepäinlaskenta

Laskentaoperaatiot

Page 143: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

10-5C79000-G7000-C402-01

10.3 Eteenpäinlaskenta

Kun tulossa S vaihtuu signaali ”0”:sta ”1”:ksi, niin operaatiossaeteenpäinlaskenta lähtöarvo ZW otetaan laskuriin. Laskurin arvoa korotetaan”1”:llä, jos tulossa ZV on nouseva reuna, mikäli laskenta--arvo on pienempikuin 999. Laskuri nollataan, jos tulossa R on nouseva reuna. Laskurin nollausasettaa laskenta--arvon ”0”:ksi.

”1”:n jälkeen lähdössä Q tehty signaalitilakysely antaa tulokseksi ”1”, joslaskenta--arvo on suurempi kuin ”0”. Kysely antaa tulokseksi ”0”, joslaskenta--arvo on yhtäsuuri kuin ”0”.

Taulukko 10-3 Eteenpäinlaskenta--kehys ja parametri SIMATIC-mnemoniikalla

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

Z-noZ_VORW

No COUNTER Z Laskurin tunnus; alue riippuuCPU:sta._ O

ZV ZV BOOL E, A, M, D, L Tulo ZV: Eteenpäinlaskenta

DUALSS BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo

DEZ

Q

DUALS

R

ZWZW WORD E, A, M, D, L

tai

vakio

Laskenta--lähtöarvo alueella 0 -- 999

tai

laskenta--lähtöarvon anto C#<arvo>BCD-muodossa

R BOOL E, A, M, D, L, T, Z Nollaustulo

DUAL WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu

DEZ WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu

Q BOOL E, A, M, D, L Laskurin tila

Kuvaus

Laskentaoperaatiot

Page 144: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

10-6 C79000-G7000-C402-01

Taulukko 10-4 Eteenpäinlaskenta--kehys ja parametri kansainvälisellä mnemoniikalla

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

C no.S CU

No. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.

S_CU

CUCU BOOL E, A, M, D, L Tulo CU: Eteenpäinlaskenta

CUS BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo

CV

Q

CV_BCD

S

R

PV

PV WORD E, A, M, D, L

tai

vakio

Laskenta--lähtöarvo alueella 0 -- 999

tai

laskenta--lähtöarvon anto C#<arvo>BCD-muodossa

R BOOL E, A, M, D, L, T, Z Nollaustulo

CV WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu

CV_BCD WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu

Q BOOL E, A, M, D, L Laskurin tila

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

Mikäli tulon E 0.2 signaalitila vaihtuu”0”:sta ”1”:ksi, asetetaan laskuri Z10 ar-volla 901. Jos tulon E 0.0 signaalitilavaihtuu ”0”:sta ”1”:ksi, korotetaan laskurinZ10 arvoa ”1”:llä, mikäli Z10:n arvo ei oleyhtäsuurikuin 999. Jos E 0.3 vaihtuu”0”:sta ”1”:ksi, asetetaan Z10:n laskenta--arvo 0:ksi. A 4.0 on ”1”, jos Z10 on eri-suuri kuin ”0”.

Z10

Z_VORW

DUAL

Q

ZV

DEZ

S

ZW

R

E 0.0

E 0.2

C#901

E 0.3A 4.0=

Kuva 10-3 Eteenpäinlaskenta

Laskentaoperaatiot

Page 145: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

10-7C79000-G7000-C402-01

10.4 Taaksepäinlaskenta

Kun tulossa S vaihtuu signaali ”0”:sta ”1”:ksi, niin operaatiossataaksepäinlaskenta lähtöarvo ZW otetaan laskuriin. Laskurin arvoa lasketaan”1”:llä, jos tulossa ZR on nouseva reuna, mikäli laskenta--arvo on suurempikuin ”0”. Laskuri nollataan, jos tulossa R on nouseva reuna. Laskurin nollausasettaa laskenta--arvon ”0”:ksi.

”1”:n jälkeen lähdössä Q tehty signaalitilakysely antaa tulokseksi ”1”, joslaskenta--arvo on suurempi kuin ”0”. Kysely antaa tulokseksi ”0”, joslaskenta--arvo on yhtäsuuri kuin ”0”.

Taulukko 10-5 Taaksepäinlaskenta--kehys ja parametri SIMATIC-mnemoniikalla

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

Z-noZ RUECK

No COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.

Z_RUECKZR BOOL E, A, M, D, L Tulo ZR: Taaksepäinlaskenta

ZR S BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo

DEZ

Q

DUALS

ZW

R

ZW WORD E, A, M, D, L

tai

vakio

Laskenta--lähtöarvo alueella 0 -- 999

tai

laskenta--lähtöarvon anto C#<arvo>BCD-muodossa

R BOOL E, A, M, D, L, T, Z Nollaustulo

DUAL WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu

DEZ WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu

Q BOOL E, A, M, D, L Laskurin tila

Kuvaus

Laskentaoperaatiot

Page 146: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

10-8 C79000-G7000-C402-01

Taulukko 10-6 Taaksepäinlaskenta--kehys ja parametri kansainvälisellä mnemoniikalla

FUP-kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

C no.S CD

No. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.

S_CDCD BOOL E, A, M, D, L Tulo CD: Taaksepäinlaskenta

CD S BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo

CV

Q

CV_BCD

S

PV

R

PV WORD E, A, M, D, L

tai

vakio

Laskenta--lähtöarvo alueella 0 -- 999

tai

laskenta--lähtöarvon anto C#<arvo>BCD-muodossa

R BOOL E, A, M, D, L, T, Z Nollaustulo

CV WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu

CV_BCD WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu

Q BOOL E, A, M, D, L Laskurin tila

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

Jos tulon E 0.2 signaalitila vaihtuu ”0”:sta ”1”:ksi,asetetaan laskuri Z10 arvolla 89. Mikäli tulonE 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi, lasketaanlaskurin Z10 arvoa ”1”:llä, jos Z10:n arvo ei oleyhtäsuuri kuin ”0”. Jos E 0.3 vaihtuu ”0”:sta”1”:ksi, asetetaan Z10:n laskenta--arvo 0:ksi.

Z10

DUAL

Q

ZR

DEZ

S

ZW

R

E 0.0

E 0.2

C#901

E 0.3A 4.0

=

Z_RUECK

Kuva 10-4 Taaksepäinlaskenta

Laskentaoperaatiot

Page 147: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-1C79000-G7000-C402-01

Aikaoperaatiot

Kappale Sisältö Sivu

9.1 Ajan muistialueet ja komponentit 9-2

9.2 Oikean ajan valinta 9-4

9.3 Ajan käynnistys impulssina 9-5

9.4 Ajan käynnistys pidennettynä impulssina 9-7

9.5 Ajan käynnistys vetohidastuksena 9-9

9.6 Ajan käynnistys tallentavana vetohidastuksena 9-11

9.7 Ajan käynnistys päästöhidastuksena 9-13

Yleiskuvakappaleesta

9

Page 148: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-2 C79000-G7000-C402-01

9.1 Ajan (aikapiirin) muistialueet ja komponentit

Ajoille on CPU:ssa varattu oma muistialue. Tämä muistialue varaa 16--bitinsanan jokaiselle aikaoperandille. FUP:lla ohjelmointi tukee 256 aikaa.Teknisistä arvoista löytyy tieto siitä, kuinka monta aikasanaa CPU:ssa onkäytettävissä.

Seuraavat toiminnat käsittelevät aikojen muistialuetta:

S Aikaoperaatiot

S Aikasanojen päivitys aikaimpulssianturilla. Tämä CPU:n RUN--tilan toimintapienentää määrättyä arvoa kulloinkin yhdellä yksiköllä intervallissa, jonkaaikakertoimen tunnus määritteli, ennenkuin aika--arvo on ”0”.

Aika--arvo on binäärikoodattuna aikasanan biteissä 0 ... 9. Aika--arvo ilmoittaayksiköiden määrän. Ajan päivitys pienentää aika--arvoa kulloinkin yhdelläyksiköllä intervallissa, jonka aikakertoimen tunnus määritteli. Aika--arvoapienennetään niin kauan, kunnes se on ”0”.

Esimääritelty aika--arvo voidaan ladata seuraavalla syntaksilla.

S S5T#aH_bbM_ccS_dddMS

-- a = tunnit, bb = minuutit, cc = sekunnit ja ddd = millisekunnit

-- Aikakertoimen tunnus valitaan automaattisesti ja arvo pyöristetääntällä tunnuksella lähimpään alempaan lukuun.

Enintään 9 990 sekunnin tai 2H_46M_30S:n suuruinen aika--arvo voidaanantaa.

Aikakerroin on binäärikoodattuna aikasanan biteissä 12 ja 13. Aikakerroinmäärittelee intervallin, jossa aika--arvoa pienennetään yhdellä yksiköllä(katso taulukko 9-1 ja kuva 9-1). Pienin aikakertoimen tunnus on 10 ms;suurin 10 s.

Taulukko 9-1 Aikakertoimen tunnus ja binäärikoodi

Aikakertoimen tunnus Aikakertoimen tunnuksen binäärikoodi

10 ms 00

100 ms 01

1 s 10

10 s 11

Muistialue

Aika--arvo

Aikakertoimentunnus

Aikaoperaatiot

Page 149: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-3C79000-G7000-C402-01

Koska aika--arvot tallennetaan vain yhteen aikaintervalliin, katkaistaan arvot,jotka eivät ole aikaintervallin tarkkoja kokonaiskerrannaisia. Arvot, joidentarkkuus on liian suuri halutulla alueella, pyöristetään niin, että saavutetaanhaluttu alue, ei kuitenkaan haluttua tarkkuutta. Seuraavassa taulukossa onmahdolliset tarkkuudet ja kyseiset alueet.

Taulukko 9-2 Aikakertoimen tunnuksen tarkkuus ja alueet

Tarkkuus Aikakertoimen tunnus

0,01 sekunti 10MS ... 9S_990MS

0,1 sekunti 100MS ... 1M_39S_900MS

1 sekunti 1S ... 16M_39S

10 sekuntia 10S ... 2HR_46M_30S

Mikäli aika käynnistetään, käytetään aikapiirin sisältöä aika--arvona.Aika--arvoon aikapiirin biteissä 0 ... 11 binäärikoodatussa desimaalimuodossa(BCD--muoto: jokaisessa neljän bitin ryhmässä on binäärikoodi desimaaliarvoavarten). Biteissä 12 ja 13 on binäärikoodin aikapiiri (katso taulukko 9-2).Kuvassa 9-1 on aikapiirin sisältö, sen jälkeen kun aika--arvo 127 on ladattuaikaertoimen tunnuksella 1 sekunti.

Aikakertoimentunnus 1 sekunti

Merkityksetön: Näitä bittejä ei huomioida aikaa käynnistettäessä

Aika--arvo BCD--muodossa (0 ... 999)

15... ...8 7... ...0

1 2 7

x x 1 0 0 0 0 1 0 0 1 0 0 1 1 1

Kuva 9-1 Aikapiirin sisältö aika--arvolla 127 aikakertoimen tunnuksen ollessa1 sekunti

Jokaisessa aikakehyksessä on kaksi lähtöä, DUAL ja DEZ, joille voidaanantaa sanaosoite. Lähdössä DUAL on aika--arvo binäärikoodattu,aikakerrointa ei näytetä. Lähdössä DEZ ovat aikakerroin ja aikasanaBCB--koodattuja.

Aikapiirinbittikonfiguraatio

Aikakertoimen jaajan luku

Aikaoperaatiot

Page 150: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-4 C79000-G7000-C402-01

9.2 Oikean aikatyypin valinta aikapiireille

Seuraava kuva antaa yleiskuvan viidestä eri aikatyypistä, joita tässäkappaleessa on kuvattu. Yleiskuvan tulisi helpottaa tarkoitusta vastaavan ajanvalitsemisessa.

Lähtösignaali on ”1”, mikäli tulosignaali on ”1” tai aika juoksee.Aika käynnistetään, mikäli tulosignaali vaihtuu ”1”:stä ”0”:ksi.

E 0.0

A 4.0

S_VIMP

S_EVERZ

S_SEVERZ

S_AVERZ

Tulosignaali

Lähtösignaali(aika impulssina) t

S_IMPULS

t

t

t

t

Maksimiaika, jona lähtösignaali pysyy ”1”:nä, on sama kuinohjelmoitu aika--arvo t. Lähtösignaali pysyy lyhyemmän ajan”1”:nä, mikäli tulosignaali vaihtuu ”0”:ksi.

Lähtösignaali pysyy ohjelmoidun ajan ”1”:nä, riippumatta siitä,kuinka kauan tulosignaali pysyy ”1”:nä.

Lähtösignaali on vain ”1”, kun ohjelmoitu aika on kulunutumpeen tulosignaalin ollessa yhä ”1”.

Lähtösignaali vaihtuu vain ”0”:sta ”1”:ksi, kun ohjelmoitu aikaon kulunut umpeen, riippumatta siitä, kuinka kauantulosignaali pysyy ”1”:nä.

A 4.0Lähtösignaali(aika pidennettynäimpulssina)

Lähtösignaali(aika veto--hidastuksena)

Lähtösignaali(aika muistavanavetohidastuksena)

Lähtösignaali(aika päästö--hidastuksena)

A 4.0

A 4.0

A 4.0

Kuva 9-2 Oikean aikatyypin valinta

Aikaoperaatiot

Page 151: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-5C79000-G7000-C402-01

9.3 Ajan (aikapiirin) käynnistys impulssina

Operaatio ajan käynnistys impulssina käynnistää annetun ajan, joskäynnistystulossa (S) on nouseva reuna (ts., jos signaalitila vaihtuu ”0”:sta”1”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista. Aikakulkee niin kauan eteenpäin arvolla, joka on annettu tulossa TW, kunnesohjelmoitu aika on kulunut umpeen ja tulo S = 1. Niin kauan kuin aikajuoksee, antaa ”1”:n jälkeen lähdössä Q tehty signaalitilakysely tulokseksi”1”. Mikäli tulo S vaihtuu ”1”:stä ”0”:ksi, ennenkuin aika--arvo on kulunutumpeen, pysäytetään aika. Tässä tapauksessa antaa ”1”:n jälkeen lähdössä Qtehty signaalitilakysely tulokseksi ”0”.

Aika nollataan, mikäli nollaustulo (R) vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.Tällä vaihdolla nollataan myös aika--arvo ja aikakerroin. Tulon R signaaliti-lalla ”1” ei ole mitään vaikutusta ajan juostessa.

Lähdöiltä DUAL ja DEZ voidaan kysyä aktuellia aika--arvoa. DUAL --lähdönaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.

Taulukko 9-3 Ajan käynnistys impulssina--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

No TIMER T Ajan tunnus; alue riippuu CPU:sta.

T--no S BOOL E,A,M,D,L,T, Z Käynnistystulo

S_IMPULS

S DUAL

TW S5TIME E, A, M, D, Ltai vakio

Esiasetettu aika--arvo (alue 0 -- 9999)

DEZ

S

TW

DUALR BOOL E,A,M,D,L,T, Z Nollaustulo

DEZTW DUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R Q DEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Taulukko 9-4 Ajan käynnistys impulssina--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

No TIMER T Ajan tunnus; alue riippuu CPU:sta.

T no S BOOL E,A,M,D,L,T, Z Käynnistystulo

S_PULSE

S BI

TV S5TIME E, A, M, D, Ltai vakio

Esiasetettu aika--arvo (alue 0 -- 9999)

BCD

S

TV

BIR BOOL E,A,M,D,L,T, Z Nollaustulo

BCDTV BI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R Q BCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Kuvaus

Aikaoperaatiot

Page 152: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-6 C79000-G7000-C402-01

Kuva 9-3 esittää operaatiota ajan käynnistys impulssina. Se kuvaa tilasananbittejä ja selventää operaation ominaisuuksia.

Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi(LUK:n nouseva reuna), käynnistetään aika T5. Sejuoksee annetulla 2:n sekunnin arvolla niin kauankun E 0.0 = 1. Mikäli tulon E 0.0 signaalitila vaihtuu”1”:stä ”0”:ksi ennenkuin tämä kaksi sekuntia on kulu-nut, aika pysäytetään. Mikäli tulon E 0.1 signaalitilavaihtuu ”0”:sta ”1”:ksi ajan kuluessa, se nollataan.Lähtö A 4.0 on ”1”, niin kauan kuin aika juoksee.

Esimerkkejä muista esiasetetuista ajoista:Yksiköt: h (tunnit), m (minuutit),s (sekunnit), ms (millisekunnit)

S5T#4s ----> 4 sekuntiaS5T#1h_15m ----> 1 tunti 15 minuuttiaS5T#2h_46m_30s---->2 tuntia, 46 minuuttia ja 30sekuntia

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

Impulssidiagrammi

Tulon S LUK

Tulon R LUK

Aika kulkee

Lähdön Q LUK

Lähdön Q käännetty LUK

---- t ----

t = ohjelmoitu aika

T5

R Q

TW

DUAL

DEZS5T# 2s

E 0.1A 4.0

SE 0.0

=

S_IMPULS

---- t ---- ---- t ----

Kuva 9-3 Ajan käynnistys impulssina

Esimerkki

Aikaoperaatiot

Page 153: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-7C79000-G7000-C402-01

9.4 Ajan (aikapiirin) käynnistys pidennettynä impulssina

Operaatio ajan käynnistys pidennettynä impulssina käynnistää annetun ajan,jos käynnistystulossa (S) on nouseva reuna (ts., jos signaalitila vaihtuu”0”:sta ”1”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista.Aika kulkee myös silloin eteenpäin arvolla, joka on annettu tulossa TW, kuntulon S signaalitila vaihtuu ”0”:ksi vielä ennen aika--arvon kulumistaumpeen. Niin kauan kuin aika juoksee, antaa ”1”:n jälkeen lähdössä Q tehtysignaalitilakysely tulokseksi ”1”. Aika käynnistetään annetulla aika--arvollauudelleen, jos tulon S signaalitila vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.

Aika nollataan, mikäli nollaustulo (R) vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.Tällä vaihdolla nollataan myös aika--arvo ja aikakerroin.

Aktuellia aika--arvoa voi kysyä lähdöiltä DUAL ja DEZ. Lähdön DUALaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.

Taulukko 9-5 Ajan käynnistys pidennettynä impulssina--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys ParametriTiedosto--tyyppi

Muistialue Kuvaus

T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.

T no

S VIMPS BOOL E,A,M,D,L,T, Z Käynnistystulo

S_VIMP

S DUALTW S5TIME

E, A, M, D, Ltai vakio

Esiasetettu aika--arvo (alue 0 -- 9999)

DEZTW

DUALR BOOL E,A,M,D,L,T, Z NollaustuloDEZTW

R QDUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R QDEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Taulukko 9-6 Ajan käynnistys pidennettynä impulssina--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--Box Parametri Tiedosto--tyyppi

Muistialue Kuvaus

T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.

T no.

S PEXTS BOOL E,A,M,D,L,T, Z Käynnistystulo

S_PEXT

S BI

TV S5TIME E, A, M, D, Ltai vakio

Esiasetettu aika--arvo (alue 0 -- 9999)

BCDTV

BIR BOOL E,A,M,D,L,T, Z Nollaustulo

BCDTV

R QBI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R QBCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Kuvaus

Aikaoperaatiot

Page 154: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-8 C79000-G7000-C402-01

Kuva 9-4 esittää operaatiota ajan käynnistys pidennettynä impulssina. Sekuvaa tilasanan bittejä ja selventää operaation ominaisuuksia.

Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi(LUK:n nouseva reuna), käynnistetään aika T5. Aikajuoksee tulon S laskevasta reunasta riippumatta an-netulla 2:n sekunnin arvolla edelleen. Mikäli tulon E0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi ennenkuin tämäkaksi sekuntia on kulunut, käynnistetään aika uudel-leen. Jos tulon E 0.1 signaalitila vaihtuu ”0”:sta ”1”:ksiajan kuluessa, käynnistetään aika uudelleen. LähtöA 4.0 on ”1”, niin kauan kuin aika juoksee.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

Impulssidiagrammi

Tulon S LUK

Tulon R LUK

Aika kulkee

---- t ---- ---- t ----

t = ohjelmoitu aika

T5

S_VIMP

R Q

TW

DUAL

DEZS5T# 2s

E 0.1A 4.0

SE 0.0

=

---- t ---- ---- t ----

Lähdön Q LUK

Lähdön Q käännetty LUK

Kuva 9-4 Ajan käynnistys pidennettynä impulssina

Esimerkki

Aikaoperaatiot

Page 155: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-9C79000-G7000-C402-01

9.5 Ajan (aikapiirin) käynnistys vetohidastuksena

Operaatio ajan käynnistys vetohidastuksena käynnistää annetun ajan, joskäynnistystulossa (S) on nouseva reuna (ts., jos signaalitila vaihtuu ”0”:sta”1”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista. Aikakulkee niin kauan eteenpäin arvolla, joka on annettu tulossa TW, kunnestulon S signaalitila = 1. ”1”:n jälkeen lähdössä Q tehty signaalitilakyselytulokseksi ”1”, ajan kuluttua umpeen, tulon S ollessa yhä ”1” ja nollaustulon(R) pysyessä ”0”:na. Mikäli lähdön S signaalitila vaihtuu ”1”:stä ”0”:ksi ajankuluessa, aika pysäytetään. Tässä tapauksessa antaa ”1”:n jälkeen tehtysignaalitilakysely aina tulokseksi ”0”.

Aika nollataan, jos nollaustulo (R) vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.Tällä vaihdolla nollataan myös aika--arvo ja aikakerroin. Aika nollataanmyös silloin, kun R = 1 ja aika ei kulje.

Aktuellia aika--arvoa voi kysyä lähdöiltä DUAL ja DEZ. Lähdön DUALaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.

Taulukko 9-7 Ajan käynnistys vetohidastuksena--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.

T--no

S EVERZS BOOL E,A,M,D,L,T, Z Käynnistystulo

S_EVERZ

S DUALTW S5TIME E, A, M, D, L

tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)

DEZTW R BOOL E,A,M,D,L,T, Z NollaustuloDEZTW

R QDUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R QDEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Taulukko 9-8 Ajan käynnistys vetohidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.

T no.

S ODTS BOOL E,A,M,D,L,T, Z Käynnistystulo

S_ODT

S BITV S5TIME E, A, M, D, L

tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)

BCDTVR BOOL E,A,M,D,L,T, Z Nollaustulo

BCDTV

R QBI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R QBCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Kuvaus

Aikaoperaatiot

Page 156: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-10 C79000-G7000-C402-01

Kuva 9-5 esittää operaatiota ajan käynnistys vetohidastuksena. Se kuvaatilasanan bittejä ja selventää operaation ominaisuuksia.

Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi(LUK:n nouseva reuna), käynnistetään aika T5.Mikäli annettu 2:n sekunnin aika on kulunut um-peen tulon E0.0 signaalitilan ollessa yhä ”1”, onlähdön A 4.0 signaalitila silloin = 1. Mikäli tulonE 0.0 signaalitila vaihtuu ”1”:stä ”0”:ksi, pysäy-tetään aika ja A 4.0 on ”0”. Jos tulon E 0.0 sig-naalitila vaihtuu ”0”:sta ”1”:ksi ajan juostessa,käynnistetään aika uudelleen.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

Impulssidiagrammi

Tulon S LUK

Tulon R LUK

Aika kuluu

---- t ---- ---- t ----

t = ohjelmoitu aika

T5

R Q

TW

DUAL

DEZS5T# 2s

E 0.1A 4.0

SE 0.0

=

S_EVERZ

---- t ----

Lähdön Q LUK

Lähdön Q käännetty LUK

Kuva 9-5 Ajan käynnistys vetohidastuksena

Esimerkki

Aikaoperaatiot

Page 157: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-11C79000-G7000-C402-01

9.6 Ajan (aikapiirin) käynnistys tallentavana vetohidastuksena

Operaatio ajan käynnistys tallentavana vetohidastuksena käynnistää annetunajan, jos käynnistystulossa (S) on nouseva reuna (ts., jos signaalitila vaihtuu”0”:sta ”1”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista.Aika kulkee myös silloin eteenpäin arvolla, joka on annettu tulossa TW, kuntulon S signaalitila vaihtuu ”0”:ksi vielä ennen ajan kulumista umpeen. ”1”:njälkeen lähdössä Q tehty signaalitilakysely antaa ajan kuluttua umpeen tulonS signaalitilasta riippumatta tulokseksi ”1”, mikäli nollaustulo (R) pysyy”0”:na. Aika käynnistetään annetulla arvolla uudelleen, jos tulon Ssignaalitila vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.

Mikäli nollaustulon (R) signaalitila vaihtuu ”0”:sta ”1”:ksi, nollataan tulon Saika LUK:sta riippumatta.

Aktuellia aika--arvoa voi kysyä lähdöiltä DUAL ja DEZ. Lähdön DUALaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.

Taulukko 9-9 Ajan käynnistys tallentavana vetohidastuksena--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

T--noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.

T--no

S SEVERZS BOOL E,A,M,D,L,T, Z Käynnistystulo

S_SEVERZ

S DUALTW S5TIME E, A, M, D, L

tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)

DEZTW R BOOL E,A,M,D,L,T, Z NollaustuloDEZTW

R QDUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R QDEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Taulukko 9-10 Ajan käynnistys tallentavana vetohidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

T nono. TIMER T Ajan tunnus; alue riippuu CPU:sta..

T no.

S ODTSS BOOL E,A,M,D,L,T, Z Käynnistystulo

S_ODTS

S BITV S5TIME E, A, M, D, L

tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)

BCDTV R BOOL E,A,M,D,L,T, Z NollaustuloBCD

R QBI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R QBCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Kuvaus

Aikaoperaatiot

Page 158: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-12 C79000-G7000-C402-01

Kuva 9-6 esittää operaatiota ajan käynnistys tallentavana vetohidastuksena.Se kuvaa tilasanan bittejä ja selventää operaation ominaisuuksia.

Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta”1”:ksi (LUK:n nouseva reuna), käynnistetäänaika T5. Aika juoksee eteenpäin riippumatta tu-lon E 0.0 signaalitilan vaihtumisesta”1”:stä”0”:ksi. Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta”1”:ksi ennen annetun arvon kulumista umpeen,käynnistetään aika uudelleen. Mikäli tulon E 0.0signaalitila vaihtuu ”0”:sta ”1”:ksi ajan kuluessa,käynnistetään aika uudelleen. Lähtö A 4.0 on ”1”ajan kuluttua umpeen ja tulon E 0.1 pysyessä”0”:na.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

Impulssidiagrammi

Tulon S LUK

Tulon R LUK

Aika kulkee

---- t ---- ---- t ----

t = ohjelmoitu aika

T5

R Q

TW

DUAL

DEZS5T# 2s

E 0.1A 4.0

SE 0.0

=

S_SEVERZ

---- t ---- -- t --

Lähdön Q LUK

Lähdön Q käännetty LUK

Kuva 9-6 Ajan käynnistys tallentavana vetohidastuksena

Esimerkki

Aikaoperaatiot

Page 159: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-13C79000-G7000-C402-01

9.7 Ajan (aikapiirin) käynnistys päästöhidastuksena

Operaatio ajan käynnistys päästöhidastuksena käynnistää annetun ajan, joskäynnistystulossa (S) on laskeva reuna (ts., jos signaalitila vaihtuu ”1”:stä”0”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista. ”1”:njälkeen lähdössä Q tehty signaalitilakysely antaa tulokseksi ”1”, jos tulonS signaalitila = 1 tai aika kulkee. Aika nollataan, jos tulon S signaalitila vaihtuu”0”:sta ”1”:ksi ajan juostessa. Aika käynnistetään uudelleen vasta sitten, kuntulon S signaalitila vaihtuu ”1”:stä ”0”:ksi.

Mikäli nollaustulon (R) signaalitila vaihtuu ”0”:sta ”1”:ksi ajan juostessa,aika nollataan.

Aktuellia aika--arvoa voi kysyä lähdöiltä DUAL ja DEZ. Lähdön DUALaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.

Taulukko 9-11 Ajan käynnistys päästöhidastuksena--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.

T--no

S AVERZS BOOL E,A,M,D,L,T, Z Käynnistystulo

S_AVERZ

S DUALTW S5TIME E, A, M, D, L

tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)

DEZTW R BOOL E,A,M,D,L,T, Z NollaustuloDEZTW

R QDUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R QDEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Taulukko 9-12 Ajan käynnistys päästöhidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.

T no

S OFFDTS BOOL E,A,M,D,L,T, Z Käynnistystulo

S_OFFDT

S BITV S5TIME E, A, M, D, L

tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)

BCDTV R BOOL E,A,M,D,L,T, Z NollaustuloBCDTV

R QBI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)

R QBCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)

Q BOOL E, A, M, D, L Ajan tila

Kuvaus

Aikaoperaatiot

Page 160: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

9-14 C79000-G7000-C402-01

Kuva 9-7 esittää operaatiota ajan käynnistys päästöhidastuksena. Se kuvaatilasanan bittejä ja selventää operaation ominaisuuksia.

Mikäli tulon E 0.0 signaalitila vaihtuu ”1”:stä ”0”:ksi,käynnistetään aika. Lähtö A 4.0 on ”1”, jos E 0.0 = 1tai aika juoksee. Jos tulon E 0.1 signaalitila vaihtuu”0”:sta ”1”:ksi ajan kuluessa umpeen, aika nollataan.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1

Impulssidiagrammi

Tulon S LUK

Tulon R LUK

Aika kulkee

t = ohjelmoitu aika

---- t ---- ---- t ----

T5

R Q

TW

DUAL

DEZS5T# 2s

E 0.1A 4.0

SE 0.0

=

S_AVERZ

---- t -------- t ----

Lähdön Q LUK

Lähdön Q käännetty LUK

Kuva 9-7 Ajan käynnistys päästöhidastuksena

Esimerkki

Aikaoperaatiot

Page 161: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-1C79000-G7000-C402-01

Bittilukitusoperaatiot

Kappale Sisältö Sivu

8.1 Yleiskuva 8-2

8.2 JA--lukitus 8-3

8.3 TAI--lukitus 8-4

8.4 JA--ennen--TAI--lukitusta ja TAI--ennen--JA--lukitusta 8-5

8.5 EHDOTON--TAI--lukitus 8-6

8.6 Binääritulon väliinkirjoitus 8-7

8.7 Binääritulon kääntö 8-8

8.8 Osoitus 8-9

8.9 Konnektori 8-10

8.10 Lukitustuloksen lataus BIE--rekisteriin 8-11

8.11 Lähdön asetus 8-12

8.12 Lähdön nollaus 8-13

8.13 Laskurin aloitusarvon asetus 8-14

8.14 Operaatio: Eteenpäinlaskenta 8-16

8.15 Operaatio: Taaksepäinlaskenta 8-17

8.16 Operaatio: Ajan käynnistys impulssina 8-18

8.17 Operaatio: Ajan käynnistys pidennettynä impulssina 8-20

8.18 Operaatio: Ajan käynnistys vetohidastuksena 8-22

8.19 Operaatio: Ajan käynnistys tallentavana vetohidastuksena 8-24

8.20 Operaatio: Ajan käynnistys päästöhidastuksena 8-26

8.21 Reunan 0 --> 1 kysely 8-28

8.22 Reunan 1 --> 0 kysely 8-29

8.23 Signaalireunan 0 --> 1 kysely 8-30

8.24 Signaalireunan 1 --> 0 kysely 8-31

8.25 Flipflopin asetus/nollaus 8-32

8.26 Flipflopin nollaus/asetus 8-33

Yleiskuvakappaleesta

8

Page 162: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-2 C79000-G7000-C402-01

8.1 Yleiskuva

Bittilukitusoperaatiot toimivat kahdella luvulla: ”1”:llä ja ”0”:lla. Nämäkaksi lukua muodostavat lukujärjestelmän perustan (duaalijärjestelmä) janiitä kutsutaan ”binäärinumeroiksi” tai lyhyesti ”biteiksi”. JA--, TAI--,EHDOTON--TAI--käskyjen ja lähtöjen yhteydessä ”1” on ”looginen KYLLÄ”ja ”0” ”looginen EI”.

Bittilukitusoperaatiot tulkitsevat signaalitiloja ”1” ja ”0” ja lukitsevat neboolen logiikan mukaisesti. Lukitukset antavat tulokseksi ”1” tai ”0”, ns.lukitustuloksen (LUK, katso kappale 6.2). Bittilukitusoperaatioiden käyn-nistämät lukitusoperaatiot suorittavat joukon toimintoja.

Seuraaville toiminnoille on käytettävissä bittilukitusoperaatiot:

S JA, TAI ja EHDOTON--TAI: Ne kysyvät signaalitilaa ja antavat tuloksen,joka joko kopioidaan LUK--bittiin tai lukitaan sillä. JA--lukituksissa sig-naalitilakyselyn tulos lukitaan JA--totuustaulukon mukaisesti (katso tau-lukko 6-7). TAI--lukituksissa tämä tapahtuu TAI--totuustaulukon mukai-sesti (katso taulukko 6-8), EHDOTON--TAI--lukituksissa EHDOTON--TAI--totuustaulukon mukaisesti (katso taulukko 6-9).

S Osoitus ja konnektori: LUK osoitetaan tai tallennetaan väliaikaisesti.

S Seuraavat operaatiot reagoivat LUK:hon ”1”:

-- lähdön asetus ja nollaus

-- Flipflopin asetus/nollaus ja Flipflopin nollaus/asetus

S Muutamat operaatiot reagoivat nousevaan tai laskevaan reunanvaihtoon,niin että voidaan suorittaa jokin seuraavista toiminnoista:

-- laskurin arvon nostaminen tai laskeminen

-- ajan käynnistys

-- lähdön ”1” muodostaminen

S Muut operaatiot vaikuttavat LUK:hon suoraan:

-- kääntämällä LUK:n

-- varmistamalla LUK:n tilasanan binääritulosbitissä

Tässä kappaleessa esitetään laskenta-- ja aikaoperaatiot SIMATIC-- jaIEC--mnemoniikalla.

Selitys

Toiminnat

Bittilukitusoperaatiot

Page 163: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-3C79000-G7000-C402-01

8.2 JA--lukitus

Operaatiolla JA voidaan kysyä kahden tai useamman operandin signaalitilaaJA--kehyksen lähdöissä.

Mikäli kaikkien operandien signaalitila on ”1”, on ehto täyttynyt ja operaatioantaa tulokseksi ”1”. Jos yhden operandin signaalitila on ”0”, ei ehto oletäyttynyt ja operaatio antaa tulokseksi ”0”.

Mikäli JA--operaatio on lukitusketjun ensimmäinen operaatio, tallentaa sesignaalitilakyselynsä tuloksen LUK--bittiin.

Jokainen JA--operaatio, joka ei ole lukitusketjun ensimmäinen operaatio, lu-kitsee signaalitilakyselynsä tuloksen LUK--bittiin tallennetulla arvolla. Tämälukitus suoritetaan JA--totuustaulukon mukaisesti.

Taulukko 8-1 JA--kehys ja parametrit

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi> &<Operandi>

<Operandi> BOOLTIMERCOUNTER

E, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.

E 0.0

Tilasanan bittien kuvaus

Lähtö A 4.0 on asetettu, jos tulonE 0.0 JA E 0.1 signaalitila on ”1”.

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- x x x 1

&

E 0.1 =

A 4.0

Kuva 8-1 JA--lukitus

Kuvaus

Bittilukitusoperaatiot

Page 164: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-4 C79000-G7000-C402-01

8.3 TAI--lukitus

Operaatiolla TAI voidaan kysyä kahden tai useamman operandin signaalitilaaTAI--kehyksen lähdöissä.

Jos yhden operandin signaalitila on ”1”, on ehto täyttynyt ja operaatio antaatulokseksi ”1”. Mikäli kaikkien operandien signaalitila on ”0”, ei ehto oletäyttynyt ja operaatio antaa tulokseksi ”0”.

Mikäli TAI--operaatio on lukitusketjun ensimmäinen operaatio, tallentaa sesignaalitilakyselynsä tuloksen LUK--bittiin.

Jokainen TAI--operaatio, joka ei ole lukitusketjun ensimmäinen operaatio,lukitsee signaalitilakyselynsä tuloksen LUK--bittiin tallennetulla arvolla.Tämä lukitus suoritetaan TAI--totuustaulukon mukaisesti.

Taulukko 8-2 TAI--kehys ja parametrit

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi> >=1<Operandi>

<Operandi> BOOLTIMERCOUNTER

E, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.

Tilasanan bittien kuvaus

Lähtö A 4.0 on asetettu, jos tulon E 0.0 TAI tulon E 0.1signaalitila on ”1”

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- x x x 1

E 0.0 >=1

E 0.1 =

A 4.0

Kuva 8-2 TAI--lukitus

Kuvaus

Bittilukitusoperaatiot

Page 165: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-5C79000-G7000-C402-01

8.4 JA--ennen--TAI--lukitusta ja TAI--ennen--JA--lukitusta

Operaatiolla JA--ennen--TAI voidaan signaalitilakyselyn tulosta kysyäTAI--totuustaulukon mukaisesti.

JA--ennen--TAI--lukituksen signaalitila on ”1”, jos vähintään yksi JA--lukituson toteutunut.

E 0.0Lähdön A 3.1 signaalitila on ”1”, josvähintään yksi JA--lukitus on toteutunut.

&

E 0.1

E 0.2 &

E 0.3

>=1

A 3.1Lähdön A 3.1 signaalitila on ”0”, josmikään JA--lukitus ei ole toteutunut.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- x x x 1

=

Kuva 8-3 JA--ennen--TAI--lukitus

Operaatiolla TAI--ennen--JA voidaan signaalitilakyselyn tulosta kysyäJA--totuustaulukon mukaisesti.

TAI--ennen--JA--lukituksen signaalitila on ”1”, jos kaikki TAI--lukitukset ovattoteutuneet.

E 1.0Lähdön A 3.1 signaalitila on ”1”, josmolemmat TAI--lukitukset ovat toteutuneet.E 1.1

E 1.2

E 1.3

>=1A 3.1

Lähdön A 3.1 signaalitila on ”0”, josvähintään yksi TAI--lukitus ei ole toteutunut.

>=1

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- x x x 1

=

&

Kuva 8-4 TAI--ennen--JA--lukitusta

Kuvaus

Kuvaus

Bittilukitusoperaatiot

Page 166: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-6 C79000-G7000-C402-01

8.5 EHDOTON--TAI--lukitus

Operaatiolla EHDOTON--TAI voidaan signaalitilakyselyn tulosta kysyäEHDOTON--TAI--totuustaulukon mukaisesti.

EHDOTON--TAI--lukituksen signaalitila on ”1”, mikäli jommankummanannetun operandin signaalitila on ”1”.

Taulukko 8-3 EHDOTON--TAI--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

XOR<Operandi><Operandi>

<Operandi> BOOLTIMERCOUNTER

E, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.

Tilasanan bittien kuvaus

Lähdön A 3.1 signaalitila on ”1”, vain jos XOR--piirin tulonE 0.0 TAI tulon E 0.2 signaalitila on ”1”.

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- x x x 1

E 0.0XOR

E 0.2 =A 3.1

Kuva 8-5 EHDOTON--TAI--lukitus

Kuvaus

Bittilukitusoperaatiot

Page 167: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-7C79000-G7000-C402-01

8.6 Binääritulon väliinkirjoitus

Operaatio binääritulo väliinkirjoittaa JA--, TAI-- tai EHDOTON--TAI--kehykseen tulomerkinnän jälkeen toisen binääritulon.

Taulukko 8-4 Binääritulon ja parametrin elementti

FUP--elementti Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi><Operandi> BOOL

TIMERCOUNTER

E, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- -- 1 x --

Lähtö A 4 on ”1”, jos tulojen E1.0 JAE 1.1 JA E 1.2 signaalitila on ”1”.

E 1.0 &E 1.1

=

A 4.0

E 1.2

Kuva 8-6 Binääritulon väliinkirjoitus

Kuvaus

Bittilukitusoperaatiot

Page 168: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-8 C79000-G7000-C402-01

8.7 Binääritulon kääntö

Operaatio binääritulon kääntö kääntää LUK:n.

Lukitustulosta käännettäessä on huomioitava tietyt säännöt:

S Mikäli lukitustulos käännetään JA-- tai TAI--kehyksen ensimmäisessälähdössä, ei tule sulkuja.

S Mikäli lukitustulosta ei käännetä TAI--kehyksen ensimmäisessä lähdössä,otetaan koko binäärilukitus mukaan TAI--lukitukseen ennen lähtöä.

S Mikäli lukitustulosta ei käännetä JA--kehyksen ensimmäisessä lähdössä,otetaan koko binäärilukitus mukaan JA--lukitukseen ennen lähtöä.

Taulukko 8-5 Binäärituloelementin kääntö

FUP--elementti Parametri Tiedosto--tyyppi

Muistialue Kuvaus

Ei ole -- -- --

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- -- 1 x --

Lähtö A 4.0 on ”1”, jos:

tulojen E 1.0 JA E 1.1 EI signaalitila on ”1”

JA tulojen E 1.2 JA E 1.3 EI signaalitila on ”1”

TAI tulon E 1.4 EI signaalitila on ”1”.E 1.2 &E 1.3

E 1.4

>=1

E 1.0 &E 1.1

&

=

A 4.0

Kuva 8-7 Binääritulon kääntö

Kuvaus

Bittilukitusoperaatiot

Page 169: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-9C79000-G7000-C402-01

8.8 Osoitus

Lukitustulos saadaan operaatiolla osoitus. Lukituksen lopussa oleva kehysantaa signaalin ”1” tai ”0” seuraavien kriteerien mukaisesti:

S Lähdön signaali on ”1”, mikäli lukituksen ehdot ovat täyttyneet ennenlähtökehystä.

S Lähdön signaali on ”0”, mikäli lukituksen ehdot eivät ole täyttyneet en-nen lähtökehystä.

FUP--lukitus osoittaa operaation puhuttelemalle lähdölle signaalitilan (samanasian aikaansaamiseksi voitaisiin operandille osoittaa myös LUK--bitin sig-naalitila). Mikäli FUP--lukitusten ehdot ovat toteutuneet, on lähtökehyksensignaalitila ”1”. Muussa tapauksessa on signaalitila ”0”. Master ControlRelay (MCR) vaikuttaa operaatioon osoitus.

Lähempää tietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.

Osoitus--kehys voidaan sijoittaa vain lukitusketjun oikeanpuoleiseen päähän.Tosin voidaan käyttää useampia osoitus--kehyksiä.

Käänteinen osoitus muodostetaan operaatiolla lähdön kääntö.

Taulukko 8-6 Osoitus--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

=

<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mille bitillelukitusketjun signaalitila osoitetaan.

Tilasanan bittien kuvaus

Lähdön A 4.0 signaalitila on ”1”, jos tulojen E 0.0 JAE 0.1 signaalitila on ”1”, TAI E 0.2 = 0.

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 x -- 0

A 4.0

E 0.0 &

E 0.1

E 0.2

>=1

=

Kuva 8-8 Osoitus

Kuvaus

Bittilukitusoperaatiot

Page 170: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-10 C79000-G7000-C402-01

8.9 Konnektori (väliohjaus)

Operaatio konnektori on välikytketty osoituselementti (välitalletus), jokatallentaa LUK:n. Tarkemmin sanottuna tämä osoituselementti tallentaaviimeisen avatun haaran bittilukituksen ennen osoituselementtiä.

Master Control Relay (MCR) vaikuttaa operaatioon konnektori. Lähempäätietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.

Käännetty konnektori muodostetaan kääntämällä konnektoritulo.

Taulukko 8-7 Konnektori--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

#

<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mille bitilleLUK osoitetaan.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 x -- 0

Konnektorit tallentavat seuraavat lukitustulokset:

M 0.0 tallentaa tulojen M 1.1 tulojen

käännetyn LUK:n käännetyn LUK:n

DB5.DBX3.2 koko bittilukituksen käännetynM 2.2 tulon E1.4 LUK:n LUK:n DB 5:n 3. tavun bittiin 2.

E 1.2 &E 1.3

E 1.4

>=1

E 1.0 &E 1.1 &

=

M 0.0

DB5.DBX3.2 A 4.0

E 1.0 &E 1.1

E 1.2 &E 1.3

E 1.4

#

M 1.1#

M 2.2# #

#

Kuva 8-9 Konnektori

Kuvaus

Bittilukitusoperaatiot

Page 171: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-11C79000-G7000-C402-01

8.10 Lukitustuloksen lataus BIE--rekisteriin

Operaatio lukitustuloksen lataus BIE--rekisteriin tallentaa LUK:n tilasananBIE--bittiin. Ensikyselytulosta /ER ei tällöin nollata.

Tästä syystä JA--lukituksessa lukitaan seuraavassa virtapiirissä mukaanBIE--bitin tila.

Operaation ”lukitustuloksen lataus BIE--rekisteriin” käyttö ja BIE--bitinkysely samassa yksikössä ei ole suositeltavaa ja globaali operandi suorittaasen paremmin (esim. merkkeri).

Operaatiolla ”lukitustuloksen lataus BIE--rekisteriin” voidaan lukita jonkinvirtapiirin LUK alempaan yksikköön. Ensikyselybitti nollataan kutsuvanyksikön operaatiolla CALL.

Taulukko 8-8 Lukitustulo--kehyksen lataus BIE--rekisteriin ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

SAVE Ei ole -- -- --

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus x -- -- -- -- -- -- -- --

Lukitustulos (LUK) tallennetaan BIE--bittiin.SAVE

E 1.2 &E 1.3

Kuva 8-10 Lukitustuloksen lataus BIE--rekisteriin

Kuvaus

Bittilukitusoperaatiot

Page 172: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-12 C79000-G7000-C402-01

8.11 Lähdön asetus

Operaatio lähdön asetus suoritetaan vain, jos LUK = 1. Jos LUK = 1, asettaaoperaatio annetun operandin ”1”:ksi. Jos LUK = 0, ei operaatio vaikutaannettuun operandiin. Operandi pysyy muuttumattomana.

Master Control Relay (MCR) vaikuttaa operaatioon lähdön asetus. Lähempäätietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.

Taulukko 8-9 Lähdön asetus--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

S

<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 x -- 0

A 4.0

Lähdön A 4.0 signaalitila asetetaan ”1”:ksi vain, jos:

S tulojen E 0.0 JA E 0.1signaalitila on ”1”

S TAI tulon E 0.2 signaalitila = 0.

Jos haaran LUK = 0, ei lähdön A 4.0 signaalitilaamuuteta.

E 0.0 &E 0.1

S

>=1

E 0.2

Kuva 8-11 Lähdön asetus

Kuvaus

Bittilukitusoperaatiot

Page 173: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-13C79000-G7000-C402-01

8.12 Lähdön nollaus

Operaatio lähdön nollaus suoritetaan vain silloin, jos LUK = 1. Jos LUK = 1,nollaa ”0” operaatio annetun operandin. Jos LUK = 0, ei operaatio vaikutaannettuun operandiin. Operandi pysyy muuttumattomana.

Master Control Relay (MCR) vaikuttaa operaatioon lähdön nollaus.Lähempää tietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.

Taulukko 8-10 Lähdön nollaus--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

R

<Operandi> BOOLTIMERCOUNTER

E, A, M, T, Z, D, L Operandi ilmoittaa, mikä bitti onnollattava.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 x -- 0

Lähdön A 4.0 signaalitila nollataan ”0” vain, jos:

S tulojen E 0.0 JA E 0.1 signaalitila on ”1”

S TAI lähdön E 0.2 signaalitila = 0.

Jos haaran LUK = 0, ei lähdön A 4.0 signaalitila muutu.

A 4.0

E 0.0 &E 0.1

R

>=1

E 0.2

Kuva 8-12 Lähdön nollaus

Kuvaus

Bittilukitusoperaatiot

Page 174: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-14 C79000-G7000-C402-01

8.13 Laskurin aloitusarvon asetus

Operaatiolla laskurin aloitusarvon asetus osoitetaan määritellylle laskurilleesiasetus. Tämä operaatio suoritetaan vain, jos LUK:lla on nouseva reuna(LUK:n vaihtuminen ”0”:sta ”1”:ksi).

Laskurin aloitusarvon asetus--kehys voidaan sijoittaa vain lukitusketjunoikeanpuoleiseen päähän. Voidaan tosin käyttää useampia laskurinaloitusarvon asetus--kehyksiä.

Taulukko 8-11 Laskurin aloitusarvon asetus--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi1>Laskurinnumero

COUNTER Z Operandi1 ilmoittaa laskurinnumeron, jolle on esiasetettava arvo.

<Operandi2> ZW

SZ ZW WORD E, A, M, D, Ltaivakio

Esiasetusarvo (operandi2) voi ollavälillä 0 ... 999. Vakiota annettaessaon sen arvon edessä oltava C#, jokailmoittaa BCD--muodon,esim. C#100.

Taulukko 8-12 Laskurin aloitusarvon asetus--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi1>

SC

Laskurinnumero

COUNTER Z Operandi1 ilmoittaa laskurinnumeron, jolle on esiasetettava arvo.

CV

SC

<Operandi2>

CV WORD E, A, M, D, Ltaivakio

Esiasetusarvo (operandi2) voi ollavälillä 0 ... 999. Vakiota annettaessaon sen arvon edessä oltava C#, jokailmoittaa BCD--muodon,esim. C#100.

Kuvaus

Bittilukitusoperaatiot

Page 175: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-15C79000-G7000-C402-01

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 -- -- 0

E 0.0

Z5 Laskuri Z5 esiasetetaan arvolla 100, jos tulon E 0.0signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nouseva reuna).C# ilmoittaa, että arvo annetaan BCD--muodossa.

Mikäli nousevaa reunaa ei ole, ei laskurin Z5 arvoamuuteta.C#100 ZW

SZ

Kuva 8-13 Laskurin aloitusarvon asetus

Bittilukitusoperaatiot

Page 176: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-16 C79000-G7000-C402-01

8.14 Operaatio: eteenpäinlaskenta

Operaatio eteenpäinlaskenta nostaa laskurin arvoa ”1”:llä, jos LUK:lla onnouseva reuna (vaihto ”0”:sta ”1”:ksi) ja laskurin arvo on pienempi kuin 999.Mikäli LUK:ssa ei ole nousevaa reunaa tai jos laskurilla jo on arvo 999, eisitä nosteta.

Operaatio laskurin aloitusarvon asetus asetaa laskurin arvon (katsokappale 8.13).

Eteenpäinlaskenta--kehys voidaan sijoittaa vain lukitusketjun oikeanpuolei-seen päähän. Voidaan kuitenkin käyttää useampia eteenpäinlaskenta--kehyksiä.

Taulukko 8-13 Eteenpäinlaskenta--kehys ja parametri, SIMATIC-- ja kansainvälisellä mnemoniikalla

FUP--kehykset Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

ZV

<Operandi>

CU

Laskuri--numero

COUNTER Z Operandi ilmoittaa laskurinnumeron, jonka arvoa korotetaan.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 -- -- 0

E 0.0

Z10 Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:nnouseva reuna), korotetaan laskurin Z10 arvoa ”1”:llä(olkoonkin, että laskurin Z10 arvo on yhtäsuuri kuin 999).

Mikäli nousevaa reunaa ei ole, ei laskurin Z10 arvoamuuteta.

ZV

Kuva 8-14 Eteenpäinlaskenta

Kuvaus

Bittilukitusoperaatiot

Page 177: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-17C79000-G7000-C402-01

8.15 Operaatio: taaksepäinlaskenta

Operaatio taaksepäinlaskenta laskee annetun laskurin arvoa ”1”:llä, josLUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi) ja laskurin arvo onsuurempi kuin ”0”. Mikäli LUK:ssa ei ole nousevaa reunaa tai jos laskurillaon jo arvo ”0”, ei sitä lasketa.

Operaatio laskurin aloitusarvon asetus asetaa laskurin arvon (katsokappale 8.13).

Taaksepäinlaskenta--kehys voidaan sijoittaa vain lukitusketjun oikeanpuolei-seen päähän. Voidaan kuitenkin käyttää useampia taaksepäinlaskenta--kehyksiä.

Taulukko 8-14 Taaksepäinlaskenta--kehys ja parametri, SIMATIC-- ja kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--laji

Muistialue Kuvaus

<Operandi>

ZR

<Operandi>

CD

Laskuri--numero

COUNTER Z Operandi ilmoittaa laskurinnumeron, jonka arvoa lasketaan.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 -- -- 0

E 0.0

Z10Jos lähdön E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:nnouseva reuna), lasketaan laskurin Z10 arvoa ”1”:llä (olkoon-kin, että laskurin Z10 arvo on yhtäsuuri kuin ”0”).

Mikäli nousevaa reunaa ei ole, ei laskurin Z10 arvoa muute-ta.

ZR

Kuva 8-15 Taaksepäinlaskenta

Kuvaus

Bittilukitusoperaatiot

Page 178: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-18 C79000-G7000-C402-01

8.16 Operaatio: ajan (aikapiirin) käynnistys impulssina

Operaatio ajan käynnistys impulssina käynnistää ajan annetulla arvolla, josLUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi). Niin kauan kuin LUK onpositiivinen, kulkee aika eteenpäin annetulla arvolla. ”1”:n jälkeen tehtysignaalitilakysely antaa tulokseksi ”1”, niin kauan kuin aika juoksee. MikäliLUK vaihtuu ”1”:stä ”0”:ksi, ennenkuin aika kuluu umpeen, pysäytetäänaika. Tässä tapauksessa antaa ”1”:n jälkeen tehty signaalitilakyselytulokseksi ”0”.

Aikayksiköitä ovat t (päivät), h (tunnit), m (minuutit), s (sekunnit) ja ms(millisekunnit).

Lähempää tietoa ajan muistialueesta ja komponenteista löytyykappaleesta 9.1.

Ajan käynnistys impulssina--kehys voidaan sijoittaa vain lukitusketjun oi-keanpuoleiseen päähän. Voidaan tosin käyttää useampia ajan käynnistysimpulssina--kehyksiä.

Taulukko 8-15 Ajan käynnistys impulssina--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--laji

Muistialue Kuvaus

<Operandi>

SI

Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TW<Aika--arvo>TW S5TIME E, A, M, D, L

tai vakioAika--arvo (muoto S5TIME)

Taulukko 8-16 Ajan käynnistys impulssina--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--laji

Muistialue Kuvaus

<Operandi>

SP

Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TV<Aika--arvo>TV S5TIME E, A, M, D, L

tai vakioAika--arvo (muoto S5TIME)

Kuvaus

Bittilukitusoperaatiot

Page 179: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-19C79000-G7000-C402-01

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 -- -- 0

T5Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nousevareuna), käynnistetään aika T5. niin kauan kuin signaalitila = 1, juok-see aika annetulla 2:n sekunnin arvolla. Jos tulon E 0.0 signaalitilavaihtuu ”1”:stä ”0”:ksi ennenkuin ko. aika kuluu umpeen, pysäy-tetään aika.Niin kauan kuin aika juoksee, on lähdön A 4.0 signaalitila = 1.

Aika--arvoesimerkkejä:

S5T#2s = 2 sekuntia

S5T#12m_18s = 12 minuuttia ja 18 sekuntia

E 0.0

TW

SI

S5T#2s

A 4.0=T5

Virtapiiri 1:

Virtapiiri 2:

Kuva 8-16 Ajan käynnistys impulssina

Bittilukitusoperaatiot

Page 180: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-20 C79000-G7000-C402-01

8.17 Operaatio: ajan (aikapiirin) käynnistys pidennettynä impulssina

Operaatio ajan käynnistys pidennettynä impulssina käynnistää ajan annetullaarvolla, jos LUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi). Aika kulkeevielä sittenkin annetulla arvolla eteenpäin, kun LUK vaihtuu ”0”:ksi ennenko. ajan kulumista umpeen. ”1”:n jälkeen tehty signaalitilakysely antaatulokseksi ”1”, niin kauan kuin aika juoksee. Aika käynnistetään annetullaaika--arvolla uudelleen (jälkikäynnistys), jos LUK vaihtuu ”0”:sta ”1”:ksivielä ajan kuluessa.

Lähempää tietoa ajan muistialueesta ja komponenteista löytyykappaleesta 9.1.

Ajan käynnistys pidennettynä impulssina--kehys voidaan sijoittaa vain luki-tusketjun oikeanpuoleiseen päähän. Voidaan tosin käyttää useampia ajankäynnistys pidennettynä impulssina--kehyksiä.

Taulukko 8-17 Ajan käynnistys pidennettynä impulssina--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--laji

Muistialue Kuvaus

<Operandi>

SV

Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TW<Aika--arvo>

TW S5TIME E, A, M, D, Ltai vakio

Aika--arvo (muoto S5TIME)

Taulukko 8-18 Ajan käynnistys pidennettynä impulssina--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--laji

Muistialue Kuvaus

<Operandi>

SE

Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TV<Aika--arvo>

TV S5TIME E, A, M, D, Ltai vakio

Aika--arvo (muoto S5TIME)

Kuvaus

Bittilukitusoperaatiot

Page 181: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-21C79000-G7000-C402-01

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 -- -- 0

Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nousevareuna), käynnistetään aika T5. Aika juoksee eteenpäin,ilman ettäLUK:n laskeva reuna vaikuttaa siihen. Mikäli tulon E 0.0 signaalitilavaihtuu ”0”:sta ”1”:ksi, ennenkuin annettu aika--arvo on kulunut um-peen, aika jälkikäynnistetään.

Niin kauan kuin aika juoksee on lähdön A 4.0 signaalitila = 1.

S5T#2s

E 0.0

TW

SV

T5

A 4.0=T5

Virtapiiri 1:

Virtapiiri 2:

Kuva 8-17 Ajan käynnistys pidennettynä impulssina

Bittilukitusoperaatiot

Page 182: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-22 C79000-G7000-C402-01

8.18 Operaatio: ajan (aikapiirin) käynnistys vetohidastuksena

Operaatio ajan käynnistys vetohidastuksena käynnistää annetun ajan, josLUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi). ”1”:n jälkeen tehtysignaalitilakysely antaa tulokseksi ”1”, jos annettu aika on kulunut umpeenvirheettömästi ja lukitustulos on yhä ”1”. Mikäli LUK vaihtuu ”1”:stä ”0”:ksiajan kuluessa, aika pysäytetään. Tässä tapauksessa ”1”:n jälkeen tehtysignaalitilakysely antaa aina tulokseksi ”0”.

Lähempää tietoa ajan muistiosoitteesta ja komponenteista löytyykappaleesta 9.1.

Ajan käynnistys vetohidastuksena--kehys voidaan sijoittaa vain lukitusketjunoikeanpuoleiseen päähän. Voidaan tosin käyttää useampia ajan käynnistysvetohidastuksena--kehyksiä.

Taulukko 8-19 Ajan käynnistys vetohidastuksena--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>SE

Ajannumero

TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TW<Aika--arvo>TW S5TIME E, A, M, D, L

tai vakioAika--arvo (muoto S5TIME)

Taulukko 8-20 Ajan käynnistys vetohidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>SD

Ajannumero

TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TV<Aika--arvo>TV S5TIME E, A, M, D, L

tai vakioAika--arvo (muoto S5TIME)

Kuvaus

Bittilukitusoperaatiot

Page 183: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-23C79000-G7000-C402-01

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 -- -- 0

Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi(LUK:n nouseva reuna), käynnistetään aikaT5. Mikäliaika on kulunut umpeen signaalitilan ollessa yhä ”1”,on lähtö A 4.0 = 1. Jos signaalitila vaihtuu ”1”:stä”0”:ksi, aika pysäytetään.S5T#2s

E 0.0

TW

SET5

A 4.0=T5

Virtapiiri 1:

Virtapiiri 2:

Kuva 8-18 Ajan käynnistys vetohidastuksena

Bittilukitusoperaatiot

Page 184: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-24 C79000-G7000-C402-01

8.19 Operaatio: ajan (aikapiirin) käynnistys tallentavanavetohidastuksena

Operaatio ajan käynnistys tallentavana vetohidastuksena käynnistää annetunajan, jos LUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi). Aika kulkeevielä sittenkin annetulla arvolla eteenpäin, kun LUK vaihtuu ”0”:ksi ennenko. ajan kulumista umpeen. ”1”:n jälkeen tehty signaalitilakysely antaalukitustuloksesta riippumatta tulokseksi ”1”, kun aika on kulunut umpeen.Mikäli LUK vaihtuu ”0”:sta ”1”:ksi ajan kuluessa, käynnistetään se annetullaarvolla uudelleen (jälkikäynnistys).

Lähempää tietoa ajan muistiosoitteesta ja komponenteista löytyykappaleesta 9.1.

Ajan käynnistys tallentavana vetohidastuksena--kehys voidaan sijoittaa vainlukitusketjun oikeanpuoleiseen päähän. Voidaan tosin käyttää useampia ajankäynnistys tallentavana vetohidastuksena--kehyksiä.

Taulukko 8-21 Ajan käynnistys tallentavana vetohidastuksena--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

SS

Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TW<Aika--arvo>

TW S5TIME E, A, M, D, Ltai vakio

Aika--arvo (muoto S5TIME)

Taulukko 8-22 Ajan käynnistys tallentavana vetohidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

SS

Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TV<Aika--arvo>

TV S5TIME E, A, M, D, Ltai vakio

Aika--arvo (muoto S5TIME)

Kuvaus

Bittilukitusoperaatiot

Page 185: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-25C79000-G7000-C402-01

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 -- -- 0

Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nou-seva reuna), käynnistetään aika T5. Aika juoksee riippumattasiitä, vaihtuuko tulon E 0.0 signaalitila ”1”:stä ”0”:ksi. Mikälisignaalitila vaihtuu ”0”:sta ”1”:ksi ennen aika--arvon umpeenkulumista , aika jälkikäynnistetään.Lähtö A 4.0 = 1, kun aika on kulunut umpeen.S5T#2s

E 0.0

TW

SST5

A 4.0=T5

Virtapiiri 1:

Virtapiiri 2:

Kuva 8-19 Ajan käynnistys tallentavana vetohidastuksena

Bittilukitusoperaatiot

Page 186: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-26 C79000-G7000-C402-01

8.20 Operaatio: ajan (aikapiirin) käynnistys päästöhidastuksena

Operaatio ajan käynnistys päästöhidastuksena käynnistää annetun ajan, josLUK:lla on laskeva reuna (vaihto ”1”:stä ”0”:ksi). ”1”:n jälkeen tehtysignaalitilakysely antaa tulokseksi ”1”, jos LUK = 1 tai jos aika juoksee.Aika nollataan, jos LUK vaihtuu ”0”:sta ”1”:ksi ajan kuluessa. Aikakäynnistetään vasta sitten uudelleen, jos LUK vaihtuu ”1”:stä ”0”:ksi.

Lähempää tietoa ajan muistiosoitteesta ja komponenteista löytyykappaleesta 9.1.

Ajan käynnistys päästöhidastuksena--kehys voidaan sijoittaa vain lukitus--ketjun oikeanpuoleiseen päähän. Voidaan tosin käyttää useampia ajankäynnistys päästöhidastuksena--kehyksiä.

Taulukko 8-23 Ajan käynnistys päästöhidastuksena--kehys ja parametri SIMATIC--mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

SA

Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TW<Aika--arvo>

TW S5TIME E, A, M, D, Ltai vakio

Aika--arvo (muoto S5TIME)

Taulukko 8-24 Ajan käynnistys päästöhidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

SF

Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.

TV<Aika--arvo>

TV S5TIME E, A, M, D, Ltai vakio

Aika--arvo (muoto S5TIME)

Kuvaus

Bittilukitusoperaatiot

Page 187: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-27C79000-G7000-C402-01

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 -- -- 0

Aika käynnistetään, kun tulon E 0.0 signaalitila vaihtuu”1”:stä ”0”:ksi.

Mikäli signaalitila vaihtuu ”0”:sta ”1”:ksi, aika nollataan.

Lähdön A 4.0 signaalitila on ”1”, jos lähdön E 0.0 signaalitila= 1 tai aika juoksee.

S5T#2s

E 0.0

TW

SAT5

A 4.0=T5

Virtapiiri 1:

Virtapiiri 2:

Kuva 8-20 Ajan käynnistys päästöhidastuksena

Bittilukitusoperaatiot

Page 188: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-28 C79000-G7000-C402-01

8.21 Reunan 0 --> 1 kysely (pulssin muodostus nousevasta reunasta)

Operaatio reunan 0� 1 kysely tunnistaa annetun operandin vaihtumisen”0”:sta ”1”:ksi (nouseva reuna) ja näyttää sen operaation jälkeenlukitustuloksella LUK = 1. LUK:n aktuellia signaalitilaa verrataan operandinsignaalitilaan, reunamerkkeriin. Mikäli operandin signaalitila on ”0” ja LUKon ennen operaatiota ”1”, niin LUK on operaation jälkeen ”1” (impulssi),kaikissa muissa tapauksissa ”0”. Lukitustulos ennen operaatiota tallennetaanoperandiin.

Taulukko 8-25 Reunan 0� 1 kysely--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

P

<Operandi> <Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikäreunamerkkeri tallentaa edellisenLUK:n.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 x x 1

Reunamerkkeri M 3.3 tallentaaedellisen LUK:n signaalitilan.

E 1.2 &E 1.3

E 1.4&

>=1

E 1.0 &E 1.1 &

=

A 4.0

P

M 0.0

N

M 1.1

P

M 2.2

N

M 3.3

Kuva 8-21 Reunan 0� 1 kysely

Kuvaus

Bittilukitusoperaatiot

Page 189: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-29C79000-G7000-C402-01

8.22 Reunan 1 --> 0 kysely (pulssin muodostus laskevasta reunasta)

Operaatio reunan 1� 0 kysely tunnistaa annetun operandin vaihtumisen”1”:stä ”0”:ksi (laskeva reuna) ja näyttää sen operaation jälkeenlukitustuloksella LUK = 1. LUK:n aktuellia signaalitilaa verrataan operandinsignaalitilaan, reunamerkkeriin. Mikäli operandin signaalitila on ”1” ja LUKon ennen operaatiota ”0”, niin LUK on operaation jälkeen ”1” (impulssi),kaikissa muissa tapauksissa ”0”. Lukitustulos ennen operaatiota tallennetaanoperandiin.

Taulukko 8-26 Reunan 1� 0 kysely--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

N

<Operandi> <Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikäreunamerkkeri tallentaa edellisenLUK:n.

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- 0 x x 1

Reunamerkkeri M 3.3 tallentaaedellisen LUK:n signaalitilan.

E 1.2 &E 1.3

E 1.4&

>=1

E 1.0 &E 1.1 &

=

A 4.0

P

M 0.0

N

M 1.1

P

M 2.2

N

M 3.3

Kuva 8-22 Reunan 1� 0 kysely

Kuvaus

Bittilukitusoperaatiot

Page 190: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-30 C79000-G7000-C402-01

8.23 Signaalireunan 0 --> 1 kysely (pulssin muodostusnousevasta reunasta)

Operaatio signaalireunan 0� 1 kysely vertaa <operandin1> signaalitilaaedellisen kyselyn signaalitilaan, joka on tallennettu parametriin M_BIT.Mikäli signaalitila on vaihtunut ”0”:sta ”1”:ksi, on lähtö Q = 1, kaikissamuissa tapauksissa ”0”.

Taulukko 8-27 Signaalireunan 0� 1 kysely--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

POS

<Operandi1> <Operandi1> BOOL E, A, M, D, L Positiivisen reunanvaihdon kysyväsignaaliOS

M_BIT Q

M_BIT BOOL A, M, D Operandi M_BIT ilmoittaa, mihinreunamerkkeriin POS:n edellinensignaalitila on tallennettu.M_bittinä käytetään tulojenprosessikuvan E muistialuetta vainsilloin, kun mikään tulokortti eivielä ole varannut tätä operandia.

Q BOOL E, A, M, D, L Ainutkertaisen signaalin vaihdonlähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus x -- -- -- -- 0 1 x 1

Lähtö A 4.0 on ”1”, jos:

tulossa E 0.3 on nouseva reunaJA tulon E 0.4 signaalitila on ”1”.

E 0.3

POS

M_BIT QM 0.0

=

A 4.0

E 0.4

&

Kuva 8-23 Signaalireunan 0� 1 kysely

Kuvaus

Bittilukitusoperaatiot

Page 191: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-31C79000-G7000-C402-01

8.24 Signaalireunan 1 --> 0 kysely (pulssin muodostuslaskevasta reunasta)

Operaatio signaalireunan 1� 0 kysely vertaa <operandin1> signaalitilaaedellisen kyselyn signaalitilaa, joka on tallennettu parametriin M_BIT.Mikäli signaalitila on vaihtunut ”1”:stä ”0”:ksi, on lähtö Q = 1, kaikissamuissa tapauksissa ”0”.

Taulukko 8-28 Signaalireunan 1� 0 kysely--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

NEG

<Operandi1> <Operandi1> BOOL E, A, M, D, L Negatiivisenreunanvaihdon kysyväsignaali

M_BIT Q

M_BIT BOOL A, M, D Operandi M_BITilmoittaa, mihinreunamerkkeriin NEG:nedellinen signaalitila ontallennettu. M_bittinäkäytetään tulojenprosessikuvan Emuistialuetta vain silloin,kun mikään tulokortti eivielä ole varannut tätäoperandia.

Q BOOL E, A, M, D, L Ainutkertaisen signaalinvaihdon lähtö

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus x -- -- -- -- 0 1 x 1

Lähtö A 4.0 on ”1”, jos

tulossa E 0.3 on laskeva reunaJA tulon E 0.4 signaalitila on ”1”.

E 0.3

NEG

M_BIT QM 0.0

=A 4.0

E 0.4

&

Kuva 8-24 Signaalireunan 1� 0 kysely

Kuvaus

Bittilukitusoperaatiot

Page 192: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-32 C79000-G7000-C402-01

8.25 Flipflopin asetus nollaus

Operaatio Flipflopin asetus nollaus suorittaa operaatiot kuten asetus (S) tainollaus (R) vain silloin, kun LUK = 1. Jos LUK on ”0” ei se vaikuta näihinoperaatioihin; operaatiossa annettu operandi ei muutu.

Flipflopin asetus nollaus asetetaan, jos tulon S signaalitila = 1 ja tulonR = 0. Mikäli lähtö S = 0 ja tulo R = 1, nollataan Flipflop. Jos kummankintulon LUK on ”1”, niin Flipflop nollataan.

Master Control Relay (MCR) vaikuttaa Flipflopin asetukseen nollaukseen.Lähempää tietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.

Taulukko 8-29 Flipflopin asetus nollaus--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

<Operandi>

SR

<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava tai nollattava.

S

SRS BOOL E, A, M, D, L, T, Z Operaation asetus vapautus.

R Q

SR BOOL E, A, M, D, L, T, Z Operaation nollaus vapautus.

R QQ BOOL E, A, M, D, L <Operandin> signaalitila

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- x x x 1

Jos E 0.0 = 1 ja E 0.1 = 0, asetetaanmerkkeri M 0.0 ja A 4.0 on ”1”.Jos E 0.0 = 0 ja E 0.1 = 1, nollataanmerkkeri M 0.0 ja A 4.0 on ”0”.

Mitään muutosta ei tapahdu molempiensignaalitilojen ollessa ”0”. Mikäli kummat-kin signaalitilat ovat ”1”, dominoi nollaus--operaatio järjestyksen perusteella.M 0.0 nollataan ja A 4.0 on ”0”.

M 0.0

R Q

S

E 0.0&

E 0.1

E 0.0E 0.1

&

=

A 4.0

SR

Kuva 8-25 Flipflopin asetus nollaus

Bittilukitusoperaatiot

Page 193: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-33C79000-G7000-C402-01

8.26 Flipflopin nollaus asetus

Operaatio Flipflopin nollaus asetus suorittaa operaatiot kuten asetus (S) tainollaus (R) vain silloin, kun LUK = 1. Jos LUK on ”0” ei se vaikuta näihinoperaatioihin; operaatiossa annettu operandi ei muutu.

Flipflopin nollaus asetus nollataan, jos tulon R signaalitila = 1 ja tulonS = 0. Mikäli lähtö R = 0 ja tulo S = 1, asetetaan Flipflop. Jos kummankintulon LUK on ”1”, niin Flipflop asetetaan.

Master Control Relay (MCR) vaikuttaa Flipflopin nollaukseen asetukseen.Lähempää tietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.

Taulukko 8-30 Flipflopin nollaus asetus--kehys ja parametri

FUP--kehys Parametri Tiedosto--tyyppi

Muistialue Kuvaus

R

<Operandi>

RS

<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava tai nollattava.

RS BOOL E, A, M, D, L, T, Z Operaation nollaus vapautus

QS R BOOL E, A, M, D, L, T, Z Operaation asetus vapautus

Q BOOL E, A, M, D, L <Operandin> signaalitila

Tilasanan bittien kuvaus

BIE A1 A0 OV OS OR STA VKE /ER

kirjoitus -- -- -- -- -- x x x 1

Jos E 0.0 = 1 ja E 0.1= 0, nollataanmerkkeri M 0.0 ja lähtö A 4.0 on ”0”. JosE 0.0 = 0 ja E 0.1 = 1, asetetaanmerkkeri M 0.0 ja lähtö A 4.0 on ”1”.

Mitään muutosta ei tapahdu molempien sig-naalitilojen ollessa ”0”. Mikäli kummatkin sig-naalitilat ovat ”1”, dominoi asetus--operaatiojärjestyksen perusteella. M 0.0 asetetaan jaA 4.0 on ”1”.

M 0.0

S Q

RE 0.0

&

E 0.1

E 0.0E 0.1

&

=

A 4.0

RS

Kuva 8-26 Flipflopin nollaus asetus

Kuvaus

Bittilukitusoperaatiot

Page 194: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

8-34 C79000-G7000-C402-01

Bittilukitusoperaatiot

Page 195: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

7-1C79000-G7000-C402-01

Parametrointi

Kappale Sisältö Sivu

7.1 Yleiskuva 7-2

7.2 Osoitelajit 7-4

Yleiskuvakappaleesta

7

Page 196: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

7-2 C79000-G7000-C402-01

7.1 Yleiskuva

Monet FUP-operaatiot työskentelevät yhdellä tai useammalla operandilla.Tämä operandi ilmoittaa vakion tai operandiosoitteen, jossa operaatio löytäämuuttujan, jonka avulla se suorittaa loogisen lukituksen. Tämäoperandiosoite voi olla operandin bitti, tavu, sana tai kaksoissana.

Mahdollisia operandeja ovat esim.

S vakio, ajan tai laskurin arvo tai ASCII-merkkijono

S automaatiojärjestelmän tilasanan bitti

S tiedostoyksikkö ja tiedostoyksikköalueen sisäinen osoite.

Käytettävissä ovat seuraavat osoitteenantolajit:

S suora arvon anto (vakion anto operandina)

S suora osoiteanto (muuttujan anto operandina).

Kuvassa 7-1 on esimerkki suorasta arvon ja osoiteannosta.

Kehyksen toiminta on kahden tuloparametrin vertailu (tässä tapauksessakahden kokonaisluvun (16 bittiä)), jotta voidaan todeta, onko ensimmäinentulo pienempi vai yhtä suuri kuin toinen tulo. Tuloparametrinä IN1 annetaanvakio 50. Merkkerisana MW200, tallennusosoite, annetaan tuloparametrinäIN2.

Koska tässä esimerkissä vakio 50 on oloarvo, jolla IN1:n on käsiteltäväkehystä, on 50 kehyksen välitön operandi. Koska MW200 viittaamuistiosoitteeseen, jossa on toinen arvo, jolla IN2:n on käsiteltävä kehystä,on MW200 suora operandi. MW200 on osoite eikä oloarvo sinänsä.

CMP

IN1

<= I

50

MW200 IN2

Kuva 7-1 Suora arvon anto ja suora osoiteanto

Mitä parametrointion?

Suora arvon antoja suoraosoiteanto

Parametrointi

Page 197: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

7-3C79000-G7000-C402-01

Taulukko 7-1 Operandin vakiomuodot elementaarisilla datatyypeillä

Tyyppi jakuvaus

Kokobit--teinä

Muodollisetoptiot

Alue ja lukukuesitys(alimmasta korkeimpaan arvoon)

Esimerkki

BOOL(bitti)

1 Bool-teksti TRUE/FALSE TRUE

BYTE(tavu)

8 Heksadesimaali-luku

B#16#0 ... B#16#FF B#16#10byte#16#10

WORD(sana)

16 Duaaliluku

Heksadesimaali-luku

BCDDesimaalilukuilman etumerkkiä

2#0 ...2#1111_1111_1111_1111W#16#0 ... W#16#FFFF

C#0 ... C#999B#(0,0) ... B#(255,255)

2#0001_0000_0000_0000

W#16#1000word16#1000C#998B#(10,20)byte#(10,20)

DWORD(kaksois-sana)

32 Duaaliluku

Heksadesim.lukuDesimaalilukuilman etumerkkiä

2#0 ...2#1111_1111_1111_1111_1111_1111_1111_1111DW#16#0 ... DW#16#FFFF_FFFF

B#(0,0,0,0) ...B#(255,255,255,255)

2#0100_1100_0100_0101_0101_0100_0101_1010

DW#16#4C45_545Adword#16#4C45_545AB#(1, 14, 100, 120)byte#(1,14,100,120)

INT(kokonais--luku)

16 Desimaalilukuetumerkillä

-32768 ... 32767 1

DINT(Kok.luku,32 bittiä)

32 Desimaalilukuetumerkillä

L#--2147483648 ... L#2147483647 L#1

REAL(Liukuluku)

32 IEEELiukuluku

Ylempi raja: �3.402823e+38Alempi raja: �1.175 495e-38(katso myös taulukko 3-5)

1,234567e+13

S5TIME(SIMATIC-aika)

16 S5-aika 10 ms:nvälein(oletus-arvo)

S5T#0H_0M_0S_10MS ...S5T#2H_46M_30S_0MS jaS5T#0H_0M_0S_0MS

S5T#0H_1M_0S_0MSS5Time#0H_1H_1M_0S_0MS

TIME(IEC-aika)

32 IEC-aika 1 ms:nvälein,kokonaislukuetumerkillä

T#-24D_20H_31M_23S_648MS ...T#24D_20H_31M_23S_647MS

T#0D_1H_1M_0S_0MSTIME#0D_1H_1M_0S_0MS

DATE(IEC-päiväys)

16 IEC-päiväys 1päivän välein

D#1990-1-1 ...D#2168-12-31

D#1994-3-15DATE#1994--3--15

TIME_OF_DAY(kellonaika)

32 Kellonaika 1 ms:nvälein

TOD#0:0:0.0 ...TOD #23:59:59.999

TOD#1:10:3.3TIME_OF_DAY#1:10:3.3

CHAR(merkki)

8 ASCII-merkki ’A’,’B’ jne. ’E’

Parametrointi

Page 198: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

7-4 C79000-G7000-C402-01

7.2 Osoitelajit

FUP-operaation operandina voidaan käyttää jotain seuraavista elementeistä:

S bittiä, jonka signaalitilaa on kysyttävä

S bittiä, jolle lukitusketjun signaalitila osoitetaan

S bittiä, jolle lukitustulos (LUK) osoitetaan

S bittiä, joka on asetettava tai nollattava

S lukua, joka ilmoittaa laskurin, josta on lisättävä tai vähennettävä

S lukua, joka ilmoittaa, mitä aikaa on käytettävä

S reunamerkkeriä (pulssi), joka tallentaa edellisen LUK:n

S reunamerkkeriä (pulssi), joka tallentaa toisen operandin edellisensignaalitilan

S tavua, sanaa tai kaksoissanaa, jossa on arvo, jolla FUP-elementin taiFUP-kehyksen on toimittava

S tiedostoyksikön (DB tai DI) numeroa, joka on avattava tai laadittava

S toiminnan (FC), systeemitoiminnan (SFC), toimintayksikön (FB) taisysteemitoimintayksikön (SFB) numeroa, jota on kutsuttava

S hyppymerkkiä, johon on hypättävä.

Muuttujat operandeina muodostuvat operanditunnuksesta ja operanditunnuk-sessa annetun muistialueen sisäisestä osoitteesta. Operanditunnuksella voiolla kaksi tyyppiä:

S operanditunnus, joka ilmoittaa seuraavat kaksi dataobjektia:

-- muistialueen, jossa operaatio löytää arvon (dataobjekti), jolla se suo-rittaa lukituksen (esim. ”E” tulojen prosessikuvalle, katso taulukko6-5).

-- arvon suuruuden (dataobjekti), jolla operaation on suoritettava lukitus(esim. B ”Byte/tavu”, W ”Wort/sana” ja D ”Doppelwort/kaksoissana”,katso taulukko 6-5).

S operanditunnus, joka ilmoittaa muistialueen, ei kuitenkaan tämän alueendataobjektin kokoa (esim. alueen T (ajat), Z (laskurit) tai DB tai DI (tie-dostoyksikkö) tunnuksen ja ajan, laskurin tai tiedostoyksikön numeron,katso taulukko 6-5).

Mahdollisetoperandit

Operandi--tunnukset

Parametrointi

Page 199: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

7-5C79000-G7000-C402-01

Muuttujan osoite voidaan tunnistaa osoittimella. Osoittimessa on arvonsijasta operandi. Jos parametrilajille osoitin osoitetaan todellinen parametri,annetaan muistiosoite. Osoitin voidaan syöttää STEP 7:llä joko osoitin--muodossa tai yksinkertaisesti operandina (esim. M 50.0). Seuraavassaesimerkissä on esitetty osoitinmuoto, jolla käsitellään dataa M 50.0:stälähtien.

P#M50.0

Mikäli työskennellään operaatiolla, jonka operanditunnus ilmoittaaautomaatiojärjestelmän muistialueen, ja dataobjektilla, joka on kooltaan sanatai kaksoissana, on huomioitava, että muistiosoitteeseen viitataan ainatavuosoitteena. Tämä tavuosoite on pienin tavunumero tai sanan taikaksoissanan korkeampiarvoisen tavun numero. Kuvassa 7-2 esitetyn käskynoperandi viittaa esim. muistialueen M neljään peräkkäiseen tavuun, alkaentavusta 10 (MB10) ja päättyen tavuun 13 (MB13).

Operaatio: L MD10

Operanditunnus Tavuosoite

Kuva 7-2 Esimerkki muistiosoitteesta, johon viitataan tavuosoitteen muodossa

Kuva 7-3 esittää dataobjekteja seuraavilla suureilla:

S Kaksoissana: merkkerikaksoissana MD10

S Sana: merkkerisanat MW10, MW11 ja MW12

S Tavu: merkkeritavut MB10, MB11, MB12 ja MB13

Mikäli käytetään absoluuttisia operandeja, jotka ovat leveydeltään sanoja taikaksoissanoja, on varmistettava, että vältetään limittäisiä tavuosoituksia.

MB10 MB11 MB12 MB13

MW11

MD10

MW10 MW12

Kuva 7-3 Viittaus muistiosoitteeseen tavuosoitteen muodossa

Osoitin

Työskentelykäytettäessäoperandina sanaatai kaksoissanaa

Parametrointi

Page 200: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

7-6 C79000-G7000-C402-01

Parametrointi

Page 201: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-1C79000-G7000-C402-01

FUP:n rakenne ja elementit

Kappale Sisältö Sivu

6.1 Elementit ja kehykset 6-2

6.2 Boolen logiikka ja totuustaulukot 6-6

6.3 CPU-rekisterin merkitys käskyissä 6-9

Yleiskuvakappaleesta

6

Page 202: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-2 C79000-G7000-C402-01

6.1 Elementit ja kehykset

FUP-käskyt muodostuvat elementeistä ja kehyksistä, jotka liitetäänvirtapiireihin graafisesti. Elementit ja kehykset järjestetään seuraaviinryhmiin:

STEP 7 esittää osan FUP-operaatioista yksilöllisinä elementteinä, jotka eivättarvitse operandia eivätkä parametriä (katso taulukko 6-1).

Taulukko 6-1 FUP-operaatio elementtinä ilman operandia ja parametriä

Elementti Kuvaus Tämän käsikirjankappale

Binääritulon kääntö 8.7

STEP 7 esittää osan FUP-operaatioista kehyksinä, joille on annettavaoperandi (katso taulukko 6-2). Lähempää tietoa parametroinnista löytyykappaleesta 7.

Taulukko 6-2 FUP-operaatio kehyksenä, jossa operandi

Elementti Kuvaus Tämän käsikirjankappale

<Operandi>

=Osoitus 8.8

STEP 7 esittää osan FUP-operaatioista kehyksinä, joille on annettavaoperandi ja arvo (esim. aika- tai laskenta-arvo, katso taulukko 6-3).

Lähempää tietoa parametroinnista löytyy kappaleesta 7.

Taulukko 6-3 FUP-operaatio kehyksenä, jossa operandi ja arvo

Elementti Kuvaus Tämän käsikirjankappale

<Operandi>>

TW

SS

<Aika--arvo>

Ajan käynnistystallentavana

vetohidastuksena8.19

FUP-käskyt

Operaatioelementtinä

Operaatiokehyksenä, jossaoperandi

Operaatiokehyksenä, jossaoperandi ja arvo

FUP:n rakenne ja elementit

Page 203: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-3C79000-G7000-C402-01

STEP 7 esittää osan FUP-operaatioista kehyksinä, joissa on tulot ja lähdöt(katso taulukko 6-4). Tulot ovat kehyksen vasemmalla, lähdöt oikeallapuolella. On annettava tuloparametrit ja muutamia lähtöparametrejä .Useimmat lähdöt ovat jo käytettävissä STEP 7-ohjelmistossa. Parametrienkohdalla on käytettävä yksittäisten tiedostotyyppien erityismerkintätapaa.

Vapautustulon (EN) ja vapautuslähdön (ENO) parametrien kuvaus on alla.Lisätietoa tulo- ja lähtöparametreistä löytyy tämän käsikirjan yksittäisistäoperaatiokuvauksista.

Taulukko 6-4 FUP-operaatio kehyksenä, jossa tulot ja lähdöt

Kehys Kuvaus Tämän käsikirjankappale

DIV_R

IN1

EN

IN2

OUT

ENO

Liukuluvun jako 12.5

Jos FUP-kehyksen vapautustulo (EN) aktivoidaan, suorittaa kehys siten tietyntoiminnan. Mikäli kehys käsittelee toimintaa virheettömästi, aktivoidaanvapautuslähtö (ENO). FUP-kehyksen parametrit EN ja ENO ovat BOOLtiedostotyyppiä ja voivat sijaita muistialueilla E, A, M, D tai L (katsotaulukot 6-5 ja 6-6).

EN ja ENO toimivat seuraavien periaatteiden mukaisesti:

S Jos EN:ää ei aktivoida (ts. signaalitila on ”0”), ei kehys suoritatoimintaansa, ja ENO:a ei aktivoida (ts. signaalitila on myös ”0”).

S Jos EN aktivoidaan (ts. signaalitila on ”1”) ja vastaava kehys suorittaatoimintansa virheettömästi, aktivoidaan silloin myös ENO (ts. signaalitilaon myös ”1”).

S Jos EN aktivoidaan (ts. signaalitila on ”1”) ja jos toiminnan käsittelynaikana esiintyy virhe, ei ENOa silloin aktivoida (ts. signaalitila on ”0”).

Useimmat FUP:n operandit viittaavat muistilueisiin. Seuraavassa taulukossaesitetään muistialueiden lajit ja niiden toiminnat.

Operaatiokehyksenä, jossaparametrit

Vapautustulon javapautuslähdönparametrit

Muistialueet jatoiminnat

FUP:n rakenne ja elementit

Page 204: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-4 C79000-G7000-C402-01

Taulukko 6-5 Muistialueet ja niiden toiminnat

Alueen käsittely

Alueen nimi Muistialueen toiminta seuraavien suureidenyksiköillä:

Lyh.

Tulojenprosessikuva

Syklin alussa käyttöjärjestelmä lukee tulot prosessista jamerkitsee tämän alueen arvot. Ohjelma käyttää kyseisiä arvojasyklisessä käsittelyssään.

TuloTulotavuTulosanaTulokaksoissana

EEBEWED

Lähtöjenprosessikuva

Syklin aikana ohjelma määrittää lähtöjen tilat ja tallentaa netälle alueelle. Syklin lopussa käyttöjärjestelmä lukee kyseisenalueen tilat ja lähettää ne prosessilähdöille.

LähtöLähtötavuLähtösanaLähtökaksoissana

AABAWAD

Merkkerit Tällä alueella on käytettävissä muistitilaa ohjelman laskemillevälituloksille.

MerkkeriMerkkeritavuMerkkerisanaMerkkerikaksoissana

MMBMWMD

Periferia-alue:ulk. tulot

Tämä alue mahdollistaa tulo- ja lähtöyksiköiden suorankäsittelyn ohjelmassa (periferiatulot- ja lähdöt).

PeriferiatulotavuPeriferiatulosanaPeriferiatulo-kaksoissana

PEBPEWPED

Periferia-alue:ulk. lähdöt

PeriferialähtötavuPeriferialähtösanaPeriferialähtö-kaksoissana

PABPAWPAD

Ajat Ajat ovat FUP:n toimintaelementtejä. Tällä alueella onkäytettävissä muistitilaa aikapiireille. Tällä alueellaaikaimpulssianturi käsittelee aikapiirejä, päivittääkseen neaika-arvoa pienentämällä. Aikapiirejä käsitellään tässäaikaoperaatioilla.

Aika (T) T

Laskurit Laskurit ovat FUP:n toimintaelementtejä. Tällä alueella onkäytettävissä muistitilaa laskureille. Niitä käsitellään tässälaskentaoperaatioilla.

Laskuri (Z) Z

Tiedosto--yksikkö

Tällä alueella on tietoja, joita voidaan käsitellä jokaisestayksiköstä käsin. Mikäli kaksi erilaista tiedostoyksikköä avataansamanaikaisesti, voidaan toinen avata käskyllä ”AUF DB” jatoinen käskyllä ”AUF DI”. Operandien merkintätapa, esim.L DBWi ja L DIWi määrää kumpaa tiedostoyksikköäkäsitellään.V ikk kä k llä ”AUF DI” id kä i llä j k i h l

Tiedostoyksikkö, avattukäskyllä ”AUF DB”:DatabittiDatatavuDatasanaDatakaksoissana

DBXDBBDBWDBD

Vaikka käskyllä ”AUF DI” voidaan käsitellä jokaista haluttuatiedostoyksikköä, käytetään tätä käskyä kuitenkin pääasiassaoheis-tiedostoyksiköiden avaamiseen, jotka on varattutoimintayksiköille (FBt) ja järjestelmätoimintayksiköille (SFBt)Lisäinfoa FB:eistä ja SFB:eistsä löytyy ohjelmointikäsikirjasta/234/ ja käyttäjäkäsikirjasta /231/ .

Tiedostoyksikkö, avattukäskyllä ”AUF DI”:DatabittiDatatavuDatasanaDatakaksoissana

DIXDIBDIWDID

Paikallisdata Tällä alueella on hetkellisiä tietoja koodiyksiköstä (OB, FB taiFC). Näitä tietoja kutsutaan myös dynaamiseksipaikallisdataksi. Ne toimivat välimuistina. Jos koodiyksikkösuljetaan, nämä tiedot häviävät. Tiedot ovatpaikallisdata-pinossa (L-pino).

Hetkell.paikallisdatabittiHetkellinenpaikallisdatatavuHetkell. paik.datasanaHetkellinenpaik.data-kaksoissana

LLB

LWLD

FUP:n rakenne ja elementit

Page 205: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-5C79000-G7000-C402-01

Taulukkoon 6-6 on listattu eri muistialueiden maksimi osoitealueet. CPU:nosoitealueet löytyvät vastaavasta käsikirjasta /70/ tai /101/.

Taulukko 6-6 Muistialueet ja niiden osoitealueet

Alueen nimiAlueen käsittely

M k it lAlueen nimiseuraavien suureiden yksiköillä: Lyh. Maks. osoitealue

Tulojenprosessikuva

TuloTulotavuTulosanaTulokaksoissana

EEBEWED

0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532

Lähtöjenprosessikuva

LähtöLähtötavuLähtösanaLähtökaksoissana

AABAWAD

0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532

Merkkerit MerkkeriMerkkeritavuMerkkerisanaMerkkerikaksoissana

MMBMWMD

0.0 ... 255.70 ... 2550 ... 2540 ... 252

Periferia--alue:Ulkoiset tulot

PeriferitulotavuPeriferiatulosanaPeriferiatulo-kaksoissana

PEBPEWPED

0 ... 65 5350 ... 65 5340 ... 65 532

Periferia--alue:Ulkoiset lähdöt

PeriferialähtötavuPeriferialähtösanaPeriferialähtö-kaksoissana

PABPAWPAD

0 ... 65 5350 ... 65 5340 ... 65 532

Ajat Aika T 0 ... 255

Laskurit Laskuri Z 0 ... 255

Tiedostoyksikkö Tiedostoyksikkö, avattu käskyllä DB [AUF]

Databitti tiedostoyksikössäDatatavuDatasanaDatakaksoissana

DBXDBBDBWDBD

0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532

Tiedostoyksikkö, avattu käskyllä DI [AUF]

Databitti oheis-DB:ssäDatatavuDatasanaDatakaksoissana

DIXDIBDIWDID

0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532

Paikallisdata 1) PaikallisdatabittiPaikallisdatatavuPaikallisdatasanaPaikalalisdata-kaksoissana

LLBLWLD

0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532

1) FUP-operaatioissa voidaan muistialueella L käyttää operandia vain silloin, kun seselitetään muuttujien selitystaulukossa selitystyypillä VAR_TEMP.

FUP:n rakenne ja elementit

Page 206: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-6 C79000-G7000-C402-01

6.2 Boolen logiikka ja totuustaulukot

FUP -ohjelmointikieli perustuu Boolen algebran kaksiarvoiseen logiikkaan,jossa muuttujat voivat ottaa arvot ”tosi” (1) tai ”epätosi” (0).

Jokainen lukitusoperaatio kysyy muuttujan signaalitilaa ”1”:n jälkeen (tosi,toteutunut) tai ”0” (epätosi, ei toteutunut), ja antaa sen perusteella tuloksen.Operaatio sitten joko tallentaa tämän tuloksen tai se suorittaa sillä boolenlukitusoperaation. Lukitustulosta kutsutaan LUK:ksi.

Logiikan esittämiseksi käytetään boolen algebrasta tuttuja loogisia kehyksiä.

Totuustaulukoihin on listattu kaikki osallisten loogisten muuttujienyhdistelymahdollisuuksien loogisten lukitusten tulokset.

Boolen logiikan sääntöjä havainnollistetaan seuraavassa JA-, TAI- jaEHDOTON-TAI lukituksen avulla.

JA-lukituksessa kysytään kahden tai useamman annetun operandinsignaalitilaa. Operandien signaalitilan ollessa ”1”, on ehto täyttynyt jaoperaatio antaa tuloksen ”1”. Operandien signaalitilan ollessa ”0”, ei ehto oletäyttynyt ja operaatio antaa tuloksen ”0”.

Kuva 6-1 esittää FUP -ohjelmointikielen JA-lukitusta.

E 1.0&

E 1.1 =

A 4.0Ehto on täyttynyt, kun tulojenE 1.0 JA E 1.1 signaalitila on ”1”.

Kuva 6-1 JA-lukitus FUP:ssa

JA-lukituksen mahdolliset tulokset voidaan esittää ”totuustaulukossa”.Tällöin ”1” tarkoittaa ”toteutunut” ja ”0” ”ei toteutunut”. Mahdollisetlukitukset ja niiden tulokset on koottu taulukkoon 6-7.

Taulukko 6-7 JA-totuustaulukko

Mikäli operandin E 1.0signaalitilakyselyn tulos

on

ja operandin E 1.1signaalitilakyselyn tulos

on lukitustulos

1 1 1

0 1 0

1 0 0

0 0 0

Boolen logiikka

JA-lukitus

FUP:n rakenne ja elementit

Page 207: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-7C79000-G7000-C402-01

TAI-lukituksessa kysytään kahden tai useamman annetun operandinsignaalitilaa. Mikäli jonkin operandin signaalitila on ”1”, on ehto täyttynyt jaoperaatio antaa tuloksen ”1”. Kaikkien operandien signaalitilan ollessa ”0”,ei ehto ole täyttynyt ja operaatio antaa tuloksen ”0”.

Kuva 6-2 esittää FUP -ohjelmointikielen TAI-lukitusta.

E 1.0

E 1.1 =

A 4.0Ehto on täyttynyt, kun tulojenE 1.0 TAI E 1.1 signaalitila on ”1”.

>=1

Kuva 6-2 TAI-lukitus FUP:ssa

TAI-lukituksen mahdolliset tulokset voidaan esittää ”totuustaulukossa”.Tällöin ”1” tarkoittaa ”toteutunut” ja ”0” ”ei toteutunut”. Mahdollisetlukitukset ja niiden tulokset on koottu taulukkoon 6-8.

Taulukko 6-8 TAI-totuustaulukko

Mikäli operandin E 1.0signaalitilakyselyn

tulos on

ja operandin E 1.1signaalitilakyselyn

tulos

on lukitustulos

1 0 1

0 1 1

1 1 1

0 0 0

EHDOTON-TAI-lukituksessa kysytään kahden tai useamman annetunoperandin signaalitilaa. Mikäli jonkin operandin signaalitila on ”1”, on ehtotäyttynyt ja operaatio antaa tuloksen ”1”. Kaikkien operandien signaalitilanollessa ”0” tai ”1”, ei ehto ole täyttynyt ja operaatio antaa tuloksen ”0”.

Kuva 6-3 esittää FUP -ohjelmointikielen EHDOTON-TAI-lukitusta.

E 1.0

E 1.1 =

A 4.0Ehto on täyttynyt, kun tulon E1.0EHDOTON tulon E 1.1TAIsignaalitila on ”1”.

XOR

Kuva 6-3 EHDOTON-TAI-lukitus FUP:ssa

TAI-lukitus

EHDOTON-TAI-lukitus

FUP:n rakenne ja elementit

Page 208: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-8 C79000-G7000-C402-01

EHDOTON-TAI-lukituksen mahdolliset tulokset voidaan esittää”totuustaulukossa”. Tällöin ”1” tarkoittaa ”toteutunut” ja ”0” ”ei toteutunut”.Mahdolliset lukitukset ja niiden tulokset on koottu taulukkoon 6-9.

Taulukko 6-9 EHDOTON-TAI-totuustaulukko

Mikäli operandin E 1.0signaalitilakyselyn

tulos on

ja operandin E 1.1signaalitilakyselyn

tulos

on lukitustulos

1 0 1

0 1 1

1 1 0

0 0 0

FUP:n rakenne ja elementit

Page 209: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-9C79000-G7000-C402-01

6.3 CPU-rekisterin merkitys käskyissä

Rekisterit auttavat CPU:ta lukitusoperaatioiden, aritmeettisten operaatioiden,siirto- tai muunnosoperaatioiden suorittamisessa. Näitä rekisterejä kuvataanseuraavassa.

Akut (AKKU) muodostavat yleisrekisterin käsiteltäessä tavuja, sanoja ja kak-soissanoja. Ne ovat 32 bitin levyisiä.

0781516232431

AKKU (1 tai2)Alempiarvoinensana

Korkeampiarvoinensana

Alempiarvoinentavu

Korkeampiarvoinentavu

Korkeampiarvoinentavu

Alempiarvoinentavu

Kuva 6-4 Akun alueet

Tilasanassa on bittejä, joita voidaan käsitellä bittilukitusoperaatioiden ope-randeissa. Kuva 2-2 esittää tilasanan rakennetta. Seuraavissa kappaleissa seli-tetään bittien 0 ... 8 merkitystä.

28215... ...29 2427 26 25 2023 22 21

BIE OSA1 A0 OV /EROR STA VKE

Kuva 6-5 Tilasanan rakenne

Arvo Merkitys

0 asettaa siganaalititilan 0:ksi

1 asettaa signaalitilan 1:ksi

x muuttaa tilan

-- tila pysyy muuttumattomana

Selitys

Akut

Tilasana

Tilasanan bittienmuunto

FUP:n rakenne ja elementit

Page 210: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-10 C79000-G7000-C402-01

Tilasanan bittiä 0 nimitetään ensikyselybitiksi (/ER-bitti: katso kuva 6-5)./ER-bitin signaalitila on FUP-virtapiirin alussa aina ”0”, olkoonkin, ettäedellinen virtapiiri päättyi SAVE -kehykseen.

Jokainen lukitusoperaatio kysyy /ER-bitin ja puhutellun koskettimen sig--naalitilaa. ER-bitin signaalitila ohjaa lukitusketjun kulkua. Jos /ER-bitti on”0” (FUP-virtapiirin alussa), tallentaa operaatio silloin tuloksen tilasananLUK-bittiin ja asettaa /ER-bitin 1:ksi. Tätä tapahtumaa nimitetään ensikyse-lyksi. Tulosta ”1” tai ”0”, joka tallennettiin ensikyselyn jälkeen LUK-bittiinnimitetään ensikyselytulokseksi.

Mikäli /ER-bitin signaalitila on ”1”, lukitsee operaatio signaalitilakyselyntuloksen puhuttelemassaan koskettimessa ensikyselyssä muodostetullaLUK:lla arvolla, ja tallentaa tuloksen LUK-bittiin.

FUP-lukitusoperaatioketju päättyy aina lähtöoperaatioon (esim. lähdön ase-tus, lähdön nollaus, osoitus) tai hyppyoperaatioon, joka viittaa lukitustulok-seen. Nämä operaatiot asettavat /ER-bitin takaisin ”0”:ksi.

Tilasanan bittiä 1 nimitetään LUK-bitiksi (LUK on ”lukitustulos”, katso kuva6-5). Tämä bitti tallentaa lukitus- tai vertailuoperaatioketjun tuloksen.LUK-bitin signaalitila antaa tietoa signaalivirtauksesta.

FUP-virtapiirin ensimmäinen operaatio kysyy operandin signaalitilaa ja antaatuloksen ”1” tai ”0”. Operaatio tallentaa tämän signaalitilan tuloksenLUK-bittiin. Lukitusoperaatioketjun toinen operaatio kysyy myös operandinsignaalitilaa ja antaa tuloksen. Operaatio lukitsee nyt tämän tuloksen Boolenlogiikan sääntöjen mukaisesti arvolla, joka on tallennettu tilasananLUK-bittiin (katso yllä ”Ensikysely”). Kyseisen lukitusoperaation tulos tal-lennetaan tilasanan LUK-bittiin ja se korvaa LUK-bitin edellisen arvon. Ket-jun jokainen seuraava operaatio suorittaa lukituksen kahdella arvolla:operandin signaalikyselyn tuloksella ja aktuellilla LUK:lla.

Ensikyselyssä voidaan boolen lukitusoperaatiolla osoittaa esim. LUK:lleboolen merkkerin tila tai laukaista hyppyoperaatio.

LUK = lukitustulos = VKE (saksa) = RLO (englanti)

Ensikysely

Lukitustulos

Huomio

FUP:n rakenne ja elementit

Page 211: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-11C79000-G7000-C402-01

Tilasanan bitti 2 on nimeltään tilabitti (STA-bitti, katso kuva 6-5). Tilabittitallentaa puhutellun bitin arvon. Lukitusoperaation, joka voi lukea muistia,tila on aina sama kuin bitin arvo, joka kysyy tätä operaatiota (bitti, jolla luki-tus suoritetaan). Lukitusoperaation, joka voi kirjoittaa muistiin (lähdönasetus; lähdön nollaus tai osoitus) tila on sama kuin bitin arvo, johon operaa-tio kirjoittaa. Mikäli kirjoittamista ei tapahdu on arvo sama kuin puhutellunbitin arvo. Tilabitilla ei ole merkitystä lukitusoperaatioille, jotka eivät käsit-tele muistia. Nämä operaatiot asettavat tilabitin ”1”:ksi (STA = 1). Operaatioteivät kysy tilabittiä. Se tulkitaan vain ohjelmatestin (ohjelman tila) aikana.

Tilasanan bitti 3 on nimeltään OR-bitti (katso kuva 6-5). OR-bittiä tarvitaan,jos suoritetaan JA-ennen TAI-lukitus. Operaatiot JA-tulo ja JA-EI-tulo voivatsisältyä JA-lukitukseen. OR-bitti näyttää operaatioille, että yhdellä ennensuoritetulla JA-lukituksella on arvo ”1”, jolla TAI-lukituksen tulos otetaanennakolta. Jokainen muu bitinkäsittelyoperaatio nollaa OR-bitin.

Tilasanan bitti 5 on nimeltään OV-bitti (ylivuoto, katso kuva 6-5). OV-bitti(ylivuoto) näyttää virtheet. Aritmeettiset operaatiot tai vertailuoperaatiotasettavat sen liukuluvuilla virheen esiinnyttyä (ylivuoto, luvaton operaatioluvaton liukuluku). Bitti asetetaan (vikatapaus) tai nollataan aritmetiikka- taivertailuoperaatioiden tuloksen mukaisesti.

Tilasanan bitti 4 on nimeltään OS-bitti (ylivuoto, tallentava, katso kuva 6-5).OS-bitti (ylivuoto, tallentava) asetetaan yhdessä OV-bitin kanssa, jos esiintyyvirhe. Koska OS-bitti pysyy aritmeettisten operaatioiden virheettömässäläpikulussa muuttumattomana (päinvastoin kuin OV-bitti), osoittaa se, onkojossain aikaisemmin suoritetussa operaatiossa esiintynyt virhe. Seuraavatoperaatiot nollaavat OS-bitin: SPS (hyppy, jos OS = 1, AWL-ohjelmointi),yksikkökutsut ja yksikön loppu.

Tilasanan bitit 7 ja 6 ovat nimeltään näyttöbitti 1 ja näyttöbitti 0 (A1 ja A0,katso kuva 6-5). Bitit A1 ja A0 (näyttöbitit) informoivat seuraavista tuloksis-ta tai biteistä:

S aritmeettisen operaation tulos

S vertailuoperaation tulos

S digitaalisen operaation tulos

S biteistä, jotka siirrettiin operandista siirto- tai pyöritysoperaatioilla.

Taulukoissa 6-10 ... 6-15 on bittien A1 ja A0 merkitys, ohjelman suoritettuamäärätyt operaatiot.

Tilabitti

OR-bitti

OV-bitti

OS-bitti

A1 ja A0

FUP:n rakenne ja elementit

Page 212: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-12 C79000-G7000-C402-01

Taulukko 6-10 A1 ja A0 aritmeettisten operaatioiden jälkeen, ilman ylivuotoa

A1 A0 Selitys

0 0 Tulos = 0

0 1 Tulos < 0

1 0 Tulos > 0

Taulukko 6-11 A1 ja A0 artimeettisten operaatioiden jälkeen(kokonaislukuaritmetiikka), ylivuodolla

A1 A0 Selitys

0 0 Negatiivinen alue, ylivuoto, yhteenlasku kokonaislukuina(16 bittiä) ja kokonaislukujen yhteenlasku (32 bittiä)

0 1

Negatiivinen alue, ylivuoto, kertominen kokonaislukuina(16 bittiä) ja kokonaislukujen kertominen (32 bittiä)Positiivinen alue, ylivuoto, yhteenlasku kokonaislukuina(16 bittiä), ja kokonaislukujen vähennyslasku (16 bittiä)kokonaislukujen yhteenlasku (32 bittiä), kokonaislukujenvähennyslasku (32 bittiä), 2:n komplementin muodostaminen16-bitin kokonaisluvuksi, 2:n komplementin muodostaminen32-bitin kokonaisluvuksi

1 0

Positiivinen alue, ylivuoto, kertominen kokonaislukuina(16 bittiä), kokonaislukujen kertominen (32 bittiä),kokonaislukujen jakaminen (16 bittiä), kokonaislukujenjakaminen (32 bittiä),Negatiivinen alue, ylivuoto, yhteenlasku kokonaislukuina(16 bittiä), kokonaislukujen vähennyslasku (16 bittiä),kokonaislukujen yhteenlasku (32 bittiä), kokonaislukujenvähennyslasku (32 bittiä)

1 1 Jako 0:lla kokonaislukujen jako (16 bittiä), kokonaislukujen jako(32 bittiä) ja jakojäännös (32 bittiä)

Taulukko 6-12 A1 ja A0 aritmeettisten operaatioiden jälkeen (liukulukuaritmetiikka),ylivuodolla

A1 A0 Selitys

0 0 Portaittainen alitus

0 1 Negatiivinen alue ylivuoto

1 0 Positiivinen alue ylivuoto

1 1 Ei voimassa olevaa liukulukua

FUP:n rakenne ja elementit

Page 213: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-13C79000-G7000-C402-01

Taulukko 6-13 A1 ja A0 vertailuoperaatioiden jälkeen

A1 A0 Selitys

0 0 IN2 = IN1

0 1 IN2 < IN1

1 0 IN2 > IN1

1 1 IN1 tai IN2 ei ole voimassa oleva liukuluku

Taulukko 6-14 A1 ja A0 siirto- ja pyöritysoperaatioiden jälkeen

A1 A0 Selitys

0 0 Viimeksi siirretty bitti = 0

1 0 Viimeksi siirretty bitti = 1

Taulukko 6-15 A1 ja A0 digitaalisten lukitusoperaatioiden jälkeen

A1 A0 Selitys

0 0 Tulos = 0

1 0 Tulos <> 0

Tilasanan bitti 8 on nimeltään BIE-bitti (binääritulos, katso kuva 6-5).BIE-bitti on bitti- ja sanakäsittelyn yhdistyselin. Se mahdollistaa tehokkaallatavalla sanaoperaation tuloksen binäärisen tulkinnan ja sen liittämisen binää-rilukitusketjuun. BIE esittää tältä kannalta katsottuna järjestelmän sisäistämerkkeriä, johon LUK pelastetaan ennen LUK-muuttavaa sanaoperaatiota,jotta se on operaation jälkeen jälleen käytettävissä katkenneen bittiketjunjatkamista varten.

BIE-bitti mahdollistaa esim. toimintayksikön (FB) tai toiminnan (FC)ohjelmoinnin AWL:ssä ja FB:n tai FC:n kutsun FUP:ssa.

Mikäli kirjoitetaan toimintayksikkö tai toiminta, jota halutaan kutsua FUP:stakäsin, on aivan sama kirjoitetaanko FB tai FC AWL:ssä vai FUP:ssa,BIE-bitti on otettava huomioon. BIE-bitti vastaa FUP-kehyksenvapautuslähtöä (ENO). LUK tallennetaan BIE-bittiin operaatiolla SAVE(AWL:ssä) tai FUP-kehyksellä SAVE seuraavien kriteerien mukaisesti:

S LUK ”1” tallennetaan BIE-bittiin, kun FB tai FC käsitelläänvirheettömästi.

S LUK ”0” tallennetaan BIE-bittiin, kun FB:n tai FC:n käsittelyssä ilmeneevirhe.

Nämä operaatiot ohjelmoidaan FB:n tai FC:n loppuun, niin että niitäkäsitellään yksikön viimeisinä operaatioina.

BIE-bitti

FUP:n rakenne ja elementit

Page 214: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

6-14 C79000-G7000-C402-01

!Varoitus

BIE-bitti voidaan asettaa vahingossa takaisin ”0”:ksi.

Mikäli FBt tai FCt kirjoitetaan FUP:ssa eikä BIE-bittiä käsitellä kuten edelläon kuvattu, voi FB tai FC silloin ylikirjoittaa toisen FB:n tai FC:n BIE-bitin.

Tämän virheen välttämiseksi LUK tallennetaan FB:n tai FC:n lopussa kutenyllä on kerrottu.

FUP-kehyksen vapautustulon (EN) ja vapautuslähdön (ENO) parametrittoimivat seuraavien periaatteiden mukaisesti:

S Mikäli EN:ää ei aktivoida (ts. signaalitila on ”0”), ei kehys silloin suoritatoimintaa eikä ENOa aktivoida (ts. signaalitila on myös ”0”).

S Mikäli EN aktivoidaan (ts. signaalitila on ”1”) ja jos vastaava kehyssuorittaa toiminnan virheettömästi, aktivoidaan myös ENO silloin (ts.signaalitila on myös ”1”).

S Mikäli EN:ää ei aktivoida (ts. signaalitila on ”1”) ja mikäli toiminankäsittelyn aikana esiintyy virhe, ei ENOa silloin aktivoida (ts. signaalitilaon ”0”).

Mikäli ohjelmassa kutsutaan järjestelmätoimintayksikköä (SFB) taijärjestelmätoimintaa (SFC), osoittaa SFB tai SFC BIE-bitin signaalitilanavulla, onko CPU suorittanut toiminnan virheettömästi vai virheellisenä:

S Mikäli käsittelyn aikana ilmeni virhe, on BIE-bitti ”0”.

S Mikäli toiminta käsiteltiin virheettömästi, on BIE-bitti ”1”.

EN/ENO:n merkitys

FUP:n rakenne ja elementit

Page 215: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

FUP:n rakenne ja elementit 6

Osoitteenanto 7

Bittilukitusoperaatiot 8

Aikaoperaatiot 9

Laskentaoperaatiot 10

Peruslaskentaoperaatiot 11

Liukulukuaritmetiikka 12

Vertailuoperaatiot 13

Siirto- jamuunnosoperaatiot 14

Sanalukitusoperaatiot 15

Siirto- ja pyöritysoperaatiot 16

Tiedostoyksikköoperaatiot 17

Hyppyoperaatiot 18

Tilabittioperaatiot 19

Ohjelmanohjausoperaatiot 20

Osa 2: Kielikuvaus

Page 216: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-12 C79000-G7000-C402-01

Page 217: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-1C79000-G7000-C402-01

Yksikön ominaisuuksien ja ohjelmatestinkäsittely

Kun tiedostoyksiköt ja koodiyksiköt on laadittu ja ohjelmoitu, tarkastellaan jakäsitellään yksikön ominaisuuksia. Nämä mahdollistavat myöhemmin yksi-kön tarkan tunnistamisen ja antavat tietoa sen synnystä. Tästä voi olla suurtaapua virheiden korjauksessa.

FUP-editorissa on mahdollista testata yhtä yksittäistä yksikköä, jota keskus-yksikön käyttäjäohjelma käsittelee. Tällöin voidaan virtapiirien sisäistäsignaalivuota seurata optisesti. Tämä testausmahdollisuus -- ohjelmatilaksinimitetty -- on tukena käyttöön-otossa, tarkastettaessa tärkeitä ohjelmakulkuja sekä virheiden korjauksessa.

Kappale Sisältö Sivu

5.1 Yksikön ominaisuuksien käsittely 5-2

5.2 FUP-ohjelman testaus -- yleiskuva 5-5

5.3 Ohjelmatilan näytön laadinta 5-6

5.4 Triggeri/liipaisuehtojen asetus 5-7

5.5 Testiympäristön valinta ja ohjelmatilan käynnistys/pysäytys 5-8

Mitä tämä kappalesisältää?

Yleiskuvakappaleesta

5

Page 218: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-2 C79000-G7000-C402-01

5.1 Yksikön ominaisuuksien käsittely

Yksikön ominaisuuksiin on tallennettu lisätietoa yksiköstä. Tässä voidaanantaa valinnaisesti yksikön nimi, ryhmä, versio ja käsittelijä. Lisäksi näyte-tään muuta informaatiota ja tilastollisia tietoja, jotka järjestelmä antaa ja joitaei voi käsitellä (katso kuva 5-1), ja yksikölle voidaan osoittaasysteemiattribuutteja.

Yksikkötiedot antavat tärkeää tietoa yksikkölajista, muistitarpeesta ja viimei-sen muutoksen ajankohdasta. Nämä tiedot auttavat myös virheen etsinnässä,jos esim. muistitila ei riitä tai ilmenee aikamääriteristiriitoja.

Yksikön ominaisuuksia voidaan katsella ja käsitellä dialoginäytössä.

S Yksikkö merkitään SIMATIC managerissa ja valitaan valikkokäskyObject Object Properties.

S Kun yksikkö on auki FUP-editorissa valitaan valikkokäskyFile Properties.

Internal ID: FB6 Representation Language: FBD

Type: Function Block

Symbol: Symbol from traffic light

Symbol Comment: Traffic light on Main Street

Project Path: Traffic\Traffic light\User program\FB6

Name (Header): TrafficFB Version (Header): 01.00

Family: Traffic Block Version: 3.000

Author: Smith Multiple Instance Capability

Last Modified:

Code: 25.10.96 15:23:41.190Interface: 25.10.96 15:23:41.190

Properties

CancelOK Help

General -- Part 2 System AttributesGeneral -- Part 1

Kuva 5-1 Yksiköiden ominaisuus-dialogi FUP-editorissa

Rekisteriyksiköihin ”Yleistä - osa 1”, ”Yleistä - osa 2” ja”Systeemiattribuutit” voidaan syöttää mm. seuraavaa:

Yleiskuva

Menettely

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 219: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-3C79000-G7000-C402-01

Yksikön nimen ja ryhmän anto mahdollistaa laadittujen yksiköiden luokitte-lun. Niinpä esim. ryhmään ”säätäjät” voidaan järjestää kaikki yksiköt, joillasäätäjä ohjelmoidaan.

Kutsuttaessa yksikköä myöhemmin toisen FUP-yksikön käskyosassa ilmeneenäiden tietojen hyöty: Valintadialogissa ”FUP-elementin väliinkirjoitus”näytetään ko. yksikköä valittaessa yksikön ryhmä ja nimi, niin että yksiköntarkoitus on helpommin tunnistettavissa.

Attribuutista voidaan päätellä, millä STEP 7 versiolla yksikkö on laadittu.Version 1 yksiköt tulee konvertoida, jotta ne voidaan liittää johonkin version3 ohjelmaan. Tähän päästään SIMATIC managerissa valikkokäskylläFile Open Version 1 Project....

Version 1 yksiköitä ei voida käyttää multi-instanssien yhteydessä. Niistä täy-tyy generoida lähdetiedosto, joka sitten käännetään version 3 yksiköihin.

Lisätietoa löytyy käyttäjäkäsikirjasta /231/.

Rekisteriyksikön ”Yleistä - osa 2” yksikköattribuuteista voidaan löytääseuraavia merkintöjä:

S Yksikköattribuutti ”DB kirjoitussuojattu AS:ssä”/“The data block iswrite-protected in the programmable controller” tarkoittaa, ettäyksikkö on kirjoitussuojattu. Tällä on merkitystä tiedostoyksiköissä,joiden arvot ovat aina vakioita ja joita ei saa muuttaa. DB:n on oltavaAWL-lähteenä.

S Yksikköattribuutti ”KNOW--HOW Protection” viittaa suojattuun yksik-köön ja sillä on seuraavat vaikutukset:

-- Yksikön käskyosa ei ole nähtävissä.

-- Muuttujien selitystaulukko ei näytä mitään hetkellisiä tai staattisiamuuttujia.

-- Yksiköstä ei voida generoida AWL-lähdetiedostoa.

-- Yksikön ominaisuuksia ei voida käsitellä.

S Mikäli attribuutti ”Standard Block” on asetettu, on tällöin kyseessä Sie-mensin suojattu standardiyksikkö. Tämä näytetään vastaavalla merkinnäl-lä vasemmalla alhaalla.

S Attribuutti ”Ulinked” voi esiintyä vain tiedostoyksiköissä. Se tarkoittaa,että tiedostoyksikköä ei ladata latausmuistista CPU:n työmuistiin. Yksikö-stä ei voi generoida tekstitiedostoa. Tiedostoyksiköiden käsittely lataus-muistissa tapahtuu SFC:eiden avulla, jotka kopioivat vain DB:eiden sisäl-lön työmuistiin. Täten voidaan hyödyntää paremmin työmuistia, jossamuuten on vain kulkuajalle merkityksellisiä tietoja.

Yksikön nimi jaryhmä

Yksikköversio

Yksikköattribuutit

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 220: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-4 C79000-G7000-C402-01

Huomautus

Yksikköön voidaan syöttää AWL:ssä vain lähdetiedostona ohjelmoitaessayksikkösuojan, kirjoitussuojan ja ei-liitännän attribuutteja. Mikäli yksikkö onlaadittu FUP:ssa, siirrytään valikkokäskyllä View " STL/AWLAWL-ohjelmointikieleen. Konvertoidaan yksikkö lähdetiedostoksi, johonattribuutit voidaan merkitä. Kun lähdetiedosto on käännetty takaisinyksiköksi on se vastaavasti suojattu.

Lisää tietoa löytyy AWL -käsikirjasta /232/.

Prosessitekniikan suunnittelua ja prosessidiagnoosia varten voidaanrekisterikortissa ”Systeemiattribuutit” osoittaa yksiköille seuraavatsysteemiattribuutit:

Taulukko 5-1 Systeemiattribuutit prosessitekniseen suunnitteluun

Attribuutti Arvo Tämä attribuutti annetaan, jos Sallittu yksikkötyyppi

S7_m_c true, false yksikköä tulee valvoa ohjaus- ja valvontalaitteeltakäsin.

FB, SFB

S7_tasklist taskname1,taskname2,etc.

yksikköä tulee kutsua paitsi syklisissä organissatio-yksiköissä myös muissa OB:issä (esim. virhe- taikäynnistys-OBt).

FB, SFB, FC, SFC

S7_block-view

big, small yksikkö tulee esittää suuressa tai pienessä muodossa. FB, SFB, FC, SFC

Taulukko 5-2 Systeemiattribuutit prosessidiagnoosiin

Attribuutti Arvo Tämä attribuutti annetaan, jos Sallittu yksikkötyyppi

S7_pdiag true, false yksikön tulee antaa prosessidiagnoosillemerkityksellistä tietoa.

FB, FC, OB, DB

S7_pdiag_unit

true, false yksikön tulee antaa prosessidiagnoosillemerkityksellistä tietoa ja jos yksikköä valvotaan.

UDT

S7_pdiag_motion

true, false yksikön tulee antaa prosessidiagnoosillemerkityksellistä tietoa ja jos liikettä valvotaan.

UDT

Yksiköidensysteemiattribuutit

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 221: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-5C79000-G7000-C402-01

5.2 FUP-ohjelman testaus - yleiskuva

FUP-ohjelma voidaan testata seuraamalla signaalivuota optisesti yksikönvirtapiirien sisällä. Ohjelmatilan näyttö päivitetään syklisesti.

Ohjelmatilan näyttämiseksi tulee seuraavien ehtojen täyttyä:

S yksikön tulee olla virheettömästi tallennettu ja ladattu sen jälkeenCPU:hun.

S CPU on käytössä, käyttäjäohjelma meneillään.

S Yksikkö on avattu online.

Kuva 5-2 esittää ohjelmatilan valvonnan periaatteellista menettelytapaa:

Yksikön avaus online

Testinäytön asetusten määrittely

Triggeriehtojen määrittely (valinnainen)

Testausympäristön valinta

Testauksen käynnistys/pysäytys

Kuva 5-2 Koodiyksiköiden testausmenettely FUP:ssa

Testaus--mahdollisuus

Edellytykset

Periaatteellinenmenettelytapa

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 222: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-6 C79000-G7000-C402-01

5.3 Ohjelmatilan näytön asetus

Ennen yksikön ohjelmatilan käynnistämistä FUP:ssa määritellään, mitensignaalivitauksen halutaan näkyvän. Valikkokäskyllä Options Customizeavataan sitä varten ”KOP\FUP” / ”LAD\FBD”-rekisteri .

LAD/STL/FBD

LAD/FBDSTLEditor

CancelOK Help

Create Block Source Files

Thin

Medi-um

Thick

Select

For: Status fulfilled

18 (10-24)

Layout

A4 Portrait

Element Representation

LAD: 2D

FBD: 3DWidth of Address Field

Line/Color

Line Thickness Color

Kuva 5-3 Ohjelmatilan näytön asetus FUP/FBD:ssä

Tässä rekisterissä valitaan nyt väri ja viivan paksuus kumpaakin mahdollistatapausta varten:

S ”Tila ei toteutettu”: Ehdot eivät ole täyttyneet. Virta ei kulje(katkoviivat).

S ”Tila toteutettu”: Ehdot ovat täyttyneet, virta kulkee (yhtenäiset viivat).

Menettelytapa

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 223: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-7C79000-G7000-C402-01

5.4 Triggeriehtojen asetus

Triggeriehdolla voidaan asettaa testattavan yksikön kutsuympäristö. Testaussuoritetaan vain silloin, kun asetettu triggeriehto on täyttynyt.

Triggeriehdot voidaan asettaa valikkokäskyllä Debug CallEnvironment....

Block Call Environment

Cancel

Trigger Condition

OK Help

No Condition

Call Path 1st Block:

2nd Block:

3rd Block:

Block Status: FB6Open Data Blocks

Shared DB No.: DB6

Instance DB No.:

Kuva 5-4 Triggeriehdon määritys

Kolmella mahdollisella asetuksella on seuraava merkitys:

S Ei triggeriehtoa: Testattavan yksikön kutsuympäristöllä ei ole merkitystä.Mikäli samaa yksikköä kuitenkin kutsutaan ohjelman eri kohdissa, ei voi-da erottaa, mille kutsulle tila näytetään.

S Kutsupolku: Tässä voidaan ilmoittaa kutsupolku, jonka kautta testattavaayksikköä on kutsuttava tilatoiminnan suorittamiseksi. Tässä voidaan antaakolme viimeistä kutsutasoa ennen testiyksikköön pääsyä.

S Avoimet tiedostoyksiköt: Tässä määritellään kutsuympäristö antamallayksi tai kaksi tiedostoyksikköä. Jos testattavaa yksikköä kutsutaankulloinkin annetuilla tiedostoyksiköillä, seuraa tilatoiminta.

Tausta

Menettelytapa

Triggeriehtojenmerkitys

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 224: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-8 C79000-G7000-C402-01

5.5 Testausympäristön valinta ja ohjelman tilan käynnistys/pysäytys

On kaksi Online-tilannetta, joissa ohjelmaa voidaan testata:

S Testausympäristössä ”Process” testataan ohjelma online prosessin ehdoil-la. Tällöin ohjelmoitujen silmukoiden, jotka kulkevat syklin aikana läpiuseamman kerran, käskyjen tila katkeaa takakisinhyppykohdassa eikä sitänäytetä sinä aikana, kun silmukka näkyy tilanäytössä. Tämä muoto salliipienemmän sykliajan kuormituksen.

S Testausympäristössä ”Laboratory” testataan ohjelma samoin online labo-ratorioehdoilla. Käskyjen tila ohjelmoiduissa silmukoissa, jotka kulkevatsyklin aikana läpi useamman kerran, välitetään kuitenkin jokaisessa läpi-kulussa. Tässä muodossa saattaa esiintyä huomattavaa sykliajan kuormi-tusta, koska sykliajan pidennys riippuu läpikulkujen ja valvottujen käsky-jen määrästä.

Testausympäristö valitaan valikkokäskyllä Debug Test EnvironmentLaboratory/Procass.

Ohjelman tila käynnistetään ja pysäytetään valikkokäskyllä DebugMonitor. Ohjelman tila näytetään vain juuri editorissa näkyvälle alueelle.

Testausympäristönvalinta

Ohjelman tilankäynnistys japysäytys

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 225: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-9C79000-G7000-C402-01

FB6-<Offline>

Address Decl. Symbol Type Initial Value comment

dur_g_p

del_r_p

starter

S5TIME

S5TIME

BOOL

S5T#0MS

S5T#0MS

FALSE

in

in

in

0.0

2.0

4.0

Network 1

Network 2 : Green for road traffic

#starter

#condition

#condition

#g car

#t_dur_r_car

Network 3 : Start duration of amber for traffic

#condition

FB6 : Traffic Light

#t_dur_y_car SD

S5T#2SS5T#2S

#condition

#t_next_red_car

&

&

>=1

=

=&

&

S5T#0MS

Kuva 5-5 Ohjelman tila FUP:ssa (esimerkki)

Testimuodon aktivointi pidentää sykliaikaa. Ylitettäessä asetettu sykliaikamenee CPU STOP--tilaan, olkoonkin, että on ohjelmoitu OB 80.

Asetettu ja aktuelli sykliaika voidaan näyttää ja tarkastaa valikolla PLCModule Information. Maks. sykliaikaa voidaan muuttaa tarvittaessa testitar-koituksia varten CPU:n ominaisuuksien laitteistoparametroinnissa.

Sykliajan tarkastus

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 226: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

5-10 C79000-G7000-C402-01

Yksikön ominaisuuksien ja ohjelmatestin käsittely

Page 227: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-1C79000-G7000-C402-01

Tiedostoyksiköiden ja käyttäjämäärittei-sten tiedostotyyppien anto

Tiedostoyksiköt ovat tärkeä käyttäjäohjelman osa, koska niissä pidetään käyt-täjäohjelman tiedot. Tässä kappaleessa kerrotaan, miten niitä laaditaan.

Käyttäjämäärittteiset tiedostoyypit (UDT) ovat toisaalta mukavuutta, jota eivälttämättä tarvita ohjelmoinnissa. Mikäli kuitenkin laaditaan usein ohjelmiasamankaltaisia tehtäviä varten, on niistä pian hyötyä. ”Omien” tiedostoyyp-pien avulla säästetään reilusti aikaa.

Kappale Sisältö Sivu

4.1 Tiedostoyksiköiden laadinta - yleiskuva 4-2

4.2 Laadintamenetelmän valinta 4-4

4.3 Selitystaulukon käsittely 4-5

4.4 Aktuellien data--arvojen käsittely 4-6

4.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT) 4-8

Mitä tämä kappalesisältää?

Yleiskuvakappaleesta

4

Page 228: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-2 C79000-G7000-C402-01

4.1 Tiedostoyksiköiden laadinta -- yleiskuva

Tiedostoyksiköt (DBt) ovat tietojen hallintaa varten. Siksi niillä ei myöskäänole käskyosaa. Ohjelmoitaessa tulee siis vastaavasti huomioida seuraavatkohdat:

S Selitystaulukko: Selitystaulukossa määritellään tiedostoyksiköntiedostorakenne.

S Yksikön ominaisuudet: Yksikön ominaisuuksissa on lisäinformaatiotakuten aikaleimasin, laadintakieli tai polun anto, jotka järjestelmä kirjaa.Sen ohella voi itse antaa nimiä, ryhmän, version ja käsittelijän jayksiköille systeemiattribuutteja (katso kappale 5).

Käyttäjäohjelmassa voi periaatteessa olla seuraavat tiedostoyksikkölajit:

S Globaali-tiedostoyksiköt, joita kaikki tiedostoyksiköt voivat käsitellä jajotka tallentavat tietoa jatkuvasti.

Mikäli tarvitaan useampia samalla rakenteella varustettuja globaali-tiedostoyksiköitä, voidaan näitä muodostaa yksinkertaisella tavalla käyt-täjämääritteisen tiedostotyypin avulla (UDT). Tällöin ovat kyseessä tie-dostoyksiköt vastaavalla UDT:llä.

S Oheis-tiedostoyksiköt. Oheis-DBt on kulloinkin varattu toimintayksiköil-le ja rakennettu FB:ssä selitetyn muuttujan mukaisesti. Oheis-DB:n laati-misen edellytyksenä on sen tähden olemassa oleva FB. Siksi tässä on kysetiedostoyksiköistä vastaavalla toimintayksiköllä.

Laadittavan DB:n lajista riippuen voidaan käyttää eri menetelmiä.

Globaali-tiedostoyksiköt voidaan laatia seuraavasti:

S Yksittäisen DB:n rakenteen määrittely: DB:tä varten tulee määritellämuuttujat ja tiedostotyypit halutussa järjestyksessä. Kyseinen rakennepätee siten vain tälle yksikölle.

S DB:n rakenteen määrittely käyttäjämääritteisen tiedostotyypin avulla.Tässä tapauksessa käyttäjämääritteisen tiedostotyypin tiedostorakennemäärää DB:n rakenteen. Käyttäjämääritteinen tiedostotyyppi voidaanvarata monille DB:eille.

Mikäli laaditaan oheis-DB, silloin

S DB:lle varataan pysyvä FB. Tässä tapauksessa FB:n selitysosa määrääDB:n rakenteen. Yhdelle FB:lle voidaan varata useampia oheis-DB:eitä.

Tiedostoyksiköt

DB:n lajit

Tiedosto--yksiköidenlaadinta--menetelmät

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 229: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-3C79000-G7000-C402-01

Huomautus

Mikäli FB:n muutujien selitystä muutetaan jälkikäteen, tulee asianomaisetoheis-DBt laatia uudelleen, koska ne eivät sovi yhteen. Sama pätee DB:eille,jotka on laadittu UDT:tä vastaten.

Laaditaan tiedostoyksikkö (DB) SIMATIC managerissa tai editorissa

Yksikön ominaisuuksienkäsittely.

Yksiköntallennus.

FUP-editori

Selitystaulukonkäsittely.

DB:n selitys... yksittäisen

UDT:hen... vastaavuus

FB:hen... vastaavuus

Oheis-DBGlobaali-DB

Valitaan laadintamenetelmä ...

Kuva 4-1 Tiedostoyksiköiden ohjelmointimenettely

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 230: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-4 C79000-G7000-C402-01

4.2 Laadintamenetelmän valinta

Laadintamenetelmä tulee ilmoittaa tiedostoyksikköä SIMATIC managerissatai FUP-editorissa laadittaessa. Sitä varten on olemassa vastaava dialogi.

New Data Block

Cancel

Create

Reference:

OK Help

Data Block

Data Block Referencing a User-Defined Data Type

Data Block Referencing a Function Block

Block: DB7

Programming Tool: DB Editor

FB6FB88FB101

Kuva 4-2 Menetelmän valinta ja FB:n tai UDT:n järjestys

Mikäli tiedostoyksikkö halutaan laatia UDT:llä tai FB:n oheis-DB:nä, on tä-mä valittava listakentässä, jossa on ohjelman kaikki UDTt tai FBt. VastaavanUDT:n/FB:n olemassaolo on siten ehdoton edellytys.

Muun menettelyn ratkaisee se, laaditaanko yksikkö järjestämällä vaiyksittäisselityksellä.

S Koska järjestetty UDT tai FB määrää jo yksiselitteisesti tiedostoyksikönrakenteen, päättyy tiedostoyksikön laadinta näissä tapauksissa tähän. Seli-tystaulukko näytetään tarkistusta varten. Sitä ei kuitenkaan voi käsitellä.

S Yksittäistä globaali-tiedostoyksikköä laadittaessa on sitävastoin jatkettavaselitystaulukon käsittelyä, jossa ilmoitetaan muuttujan nimi ja tiedosto-tyyppi sekä valinnaisesti aloitusarvo ja kommentti (katso kappale 4.3).

Menettelytapa

Muu menettely

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 231: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-5C79000-G7000-C402-01

4.3 Selitystaulukon käsittely

Laadittaessa globaali-tiedostoyksiköitä yksitellen tai laadittaessa UDT:tä ontehtävä ilmoituksia DB:n tai UDT:n elementeille (muuttujille) ja niidendatatyypille. Sitä varten on selitysnäytössä selitystaulukko, johon siirrytääntarpeen vaatiessa valikkokäskyllä View Declaration View.

Tiedostoyksiköissä, jotka on laadittu määrittelemällä UDT tai FB, jää tämätyö pois, koska määritelty UDT tai FB vastaanottaa selityksen.

Tiedostoyksikön selitysnäytössä on osoite, selitystyyppi (vain oheis-DB:ssä),nimi (symboli), tyyppi, aloitusarvo ja kommentti. Kuvassa 4-3 on esimerkki:

DB15 - <Offline>

Address Symbol Data Type Initial Value Comment

speed

runtime

motor_on

STRUCT

INT

DINT

BOOL

100

L#0

0.0

+0.0

+2.0

+6.0

+10.0

history REAL

motor_off BOOL+10.1

END_STRUCT

FALSE

=12.0

0.000000e+000

FALSE

Maximum RPM

Kuva 4-3 Tiedostoyksikön selitys

Palstoilla on sama merkitys kuin koodiyksiköiden selitystaulukossa(katso kappale 3.3).

Selitystä uudelleen annettaessa annetaan halutun selitystyypin jälkeenperäkkäinnimi, tyyppi, aloitusarvo (valinnainen) ja kommenntti (valinnai-nen). Tällöin kursoria liikutetaan TAB-näppäimellä tai RETURN-näppäimelläviereiseen kenttään. Rivin lopussa muuttujille osoitetaan osoite.

Taulukkokentän jokaista käsittelyä seuraa syntaksitesti, joka näyttää mahdol-liset virheet punaisina. Näitä virheitä ei tarvitse heti korjata, vaan muuta kä-sittelyä voidaan jatkaa ja suorittaa korjaukset myöhemmin.

Huomautus

Selitysnäytön käsittely vastaa koodiyksiköiden muuttujien selitystaulukonkäsittelyä (vrt. kappale 3.4). Käsittelytoiminnat ovat samat ja myös kenttiä jarakenteita annettaessa menetellään vastaavasti.

Selitysnäytöntarkoitus

Selitysnäytöntaulukon rakenne

Menettely

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 232: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-6 C79000-G7000-C402-01

4.4 Aktuellien data--arvojen käsittely

Tiedostoyksikköä (valinnaista) laadittaessa määrätty aloitusarvo vastaanote-taan tiedostoyksikköä ensimmäisen kerran tallennettaessa muuttujan aktuelli-na arvona. Käyttäjäohjelma toimii sen mukaan kyseistä arvoa ensi kertaakäsiteltäessä, olkoonkin, että käyttäjäohjelmassa on selvästi määritelty muut-tujan toinen aktuelli arvo.

Muuttujien aktuelleja arvoja muutetaan käyttäjäohjelman käsittelyn aikanakoodiyksiköillä, jotka käsittelyn aikana kirjoittavat päälle. Muuttujien aktuel-leja arvoja on mahdollista näyttää ja muuttaa.

Tiedostoyksiköiden aktuellien data--arvojen käsittelyä ja näyttöä varten tarvi-taan datanäyttö. Avataan tiedostoyksikkö ja siirrytään datanäyttöönvalikkokäskyllä View Data View.

Datanäyttö eroaa tiedostoyksikön selitysnäytöstä vain lisäpalstalla ”todelli-nen arvo”. Datanäytössä listataan muuttujissa, joilla on yhdistetty datatyyppi,elementit yksitellen, täydellisellä symbolisella nimellä, jotta jokaisen ele-mentin todellinen arvo voidaan näyttää ja käsitellä (katso kuva 4-4).

DB17 - <Offline>

Address Symbol Type Initial Value Comment

motor.speed

motor.runtime

motor.history

motor.motor_off

INT

DINT

REAL

BOOL

100

L#0

0.000000e+000

0.0

2.0

6.0

10.0

10.1

motor.motor_on BOOL

field[1] INT12.0

field[2] INT

0

14.0

FALSE

FALSE

Maximum RPM

field[3] INT16.0

0

0

Actual Value

89

L#0

0.000000e+000

7

TRUE

FALSE

4

8

Kuva 4-4 Tiedostoyksikön datanäyttö

Tällöin on kyseessä arvo, joka muuttujalla oli DB:tä avattaessa, tai arvo, jokaviimeksi on muutettu ja tallennettu.

Huomautus

Online avatuissa tiedostoyksiköissä ei todellista arvoa päivitetä syklisesti.

Aloitusarvo --todellinen arvo

Tiedosto--yksiköidendatanäyttö

Näytetty todellinenarvo (Actual)

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 233: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-7C79000-G7000-C402-01

Palstassa ”todellinen arvo” voidaan todelliset arvot muuttaa ylikirjoittamalla.Annettujen data--arvojen tulee olla datatyypin kanssa yhteensopivia.

Valikkokäskyn Edit Initialize Data Block voidaan koko tiedostoyksikköalustaa. Tällöin muuttujien todelliset arvot ylikirjoitetaan aloitusarvoilla,jotka on määritelty selitysnäytössä tai määritellyssä FB:ssä tai UDT:ssä.

Jotta muutetuista todellisista arvoista tulisi aktiivisia, on ne tallennettava:

S Todellisten, muutettujen data--arvojen offline tallennusta varten valitaanvalikkokäsky File Save tai klikataan symbolia ”tallennus”. Vaikka yk-sikkö on avattu online, tallennetaan vain offline olemassa oleva yksikköuudelleen.

S Muutettujen data--arvojen lataamiseksi CPU:hun valitaan valikkokäskyPLC Download tai klikataan toimintorivin vastaavaa symbolia.

Todellisten arvojenmuunto jauudelleenalustus

Todellisten arvojentallennus

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 234: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-8 C79000-G7000-C402-01

4.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT)

Käyttäjämääritteiset tiedostotyypit ovat laadittuja tiedostorakenteita(STRUCTs), jotka tallennetaan yksikkönä. Niitä voidaan sen tähden käyttääabsoluuttisilla tai symbolisilla yksikkönimillä koko käyttäjäohjelmassa

S kuten perus tai yhdistettyjä tiedostotyyppejä tiedostotyyppinä koodiyksi-köiden (FC, FB, OB) tai tiedostoyksiköiden (DB) selityksessä tai

S tiedostoyksiköiden laadintamallina, joilla sama tiedostorakenne.

Kuva 4-5 esittää periaatteellista menettelytapaa:

Laaditaan yksikkö UDT:tä vartenSIMATIC managerissa tai editorissa

Käsitellään yksikönominaisuuksia.

Tallennetaanyksikkö.

Käsitellään selitystaulukkoa.

FUP-editori

Kuva 4-5 UDT:iden laadinta

SIMATIC managerissa tai inkrementtieditorissa tapahtuvan UDT:n luomisentai avaamisen jälkeen näyttöön tulee selitystaulukko, jossa datatyypin raken-ne tulee ilmoittaa.

Käyttö

Menettelytapa

Selitystaulukonkäsittely

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 235: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-9C79000-G7000-C402-01

UDT56 - <Offline>

Address Symbol Data Type Initial Value Comment

speed

runtime

motor_on

STRUCT

INT

DINT

BOOL

100

L#0

0.0

+0.0

+2.0

+6.0

+10.0

history REAL

motor_off BOOL+10.1

END_STRUCT

FALSE

=12.0

0.000000e+000

FALSE

Maximum RPM

Kuva 4-6 UDT:n selitys

UDT:n selitysnäytön ensimmäinen ja viimeinen rivi on annettu etukäteen janiillä ovat avainsanat STRUCT tai END_STRUCT käyttäjämääritteisen tie-dostotyypin alkua ja loppua varten. Näitä rivejä ei voida editoida.

Muuttujien syöttöä varten annetaan ensin kaksi tyhjää riviä, joille syötetäänainakin kahden elementin muuttujanimi ja datatyyppi. Aloitusarvon ja kom-mentin anto on valinnainen. Uusia tyhjiä rivejä saadaan valikkokäskylläInsert Declaration Row Before Selection / After Selection.

Huomautus

Käsittely vastaa rakenteiden käsittelyä koodi- tai tiedostoyksiköidenselitysosassa.

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 236: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

4-10 C79000-G7000-C402-01

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto

Page 237: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-1C79000-G7000-C402-01

Koodiyksiköiden laadinta

Käyttäjäohjelma ei selviä ilman koodiyksiköitä. Monissa ongelmissa voidaantosin turvautua keskusyksikön integroituihin yksiköihin tai tarjottuihin stan-darditoimintayksiköihin. Vähimmäismäärä koodiyksiköitä on joka tapaukses-sa kuitenkin laadittava itse. Tässä kappaleessa kerrotaan, miten FUP-editorissa tällöin menetellään.

Kappale Sisältö Sivu

3.1 Koodiyksiköiden laadinta -- yleiskuva 3-2

3.2 Koodiyksiköt editorissa 3-3

3.3 Muuttujien selitystaulukon rakenne 3-6

3.4 Muuttujien selitystaulukoiden käsittely -- yleiskuva 3-8

3.5 Multi-instanssien selitys 3-10

3.6 Systeemiattribuuttien anto parametreille 3-11

3.7 Käskyosan käsittely -- yleiskuva 3-13

3.8 FUP-elementtien syötön perussäännöt 3-15

3.9 FUP-elementtien anto 3-17

3.10 Osoitteiden ja parametrien anto 3-20

3.11 Symbolinen osoitteenanto 3-21

3.12 Muunto ylikirjoitusmuodossa 3-23

3.13 Otsikoiden ja kommenttien anto 3-24

Mitä tämä kappalesisältää?

Yleiskuvakappaleesta

3

Page 238: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-2 C79000-G7000-C402-01

3.1 Koodiyksiköiden laadinta -- yleiskuva

Koodiyksiköt (OBt, FBt, FCt) muodostuvat muuttujien selitysosasta, käskyo-sasta ja niillä on lisäominaisuuksia. Ohjelmoitaessa tulee käsitellä seuraaviakolmea osaa:

S Muuttujien selitystaulukko. Muuttujien selitystaulukossa määritelläänyksikön parametrit, parametrien systeemiattribuutit ja paikallisetmuuttujat.

S Käskyosa: Käskyosassa ohjelmoidaan yksikkökoodi, jota automaatiojär-jestelmän tulee käsitellä. Se muodostuu yhdestä tai useammastatoimintakaavio-elementit sisältävästä virtapiiristä.

S Yksikön ominaisuudet: Yksikön ominaisuuksissa on lisätietoa kuten ai-kamäärite tai polkutieto, jotka järjestelmä kirjoittaa. Sen ohella voi itseantaa nimiä, ryhmän, version ja tekijän sekä systeemiattributtejayksiköille (katso kapp. 5).

Periaatteessa on sama, missä järjestyksessä koodiyksikön osia käsitellään.Yksikköä voi myös korjata ja täydentää.

Mikäli halutaan takaisin symbolitaulukon symboleihin, tulee ensin tarkistaa,että nämä ovat täydellisiä ja tarpeen vaatiessa mahdollisesti täydentää niitä.

SIMATIC managerissa luodaankoodiyksikkö (FB, FC tai OB)

Käsitellään yksikön ominaisuuksia.

Tallennetaan yksikkö.

Käsitellään yksikön muttujienselitystaulukkoa.

FUP-editori

Käsitellään käskyosaa.

Valitaan editorin asetukset.

Kuva 3-1 Menettelytapa koodiyksiköitä FUP:ssa ohjelmoitaessa

Koodiyksiköt

Koodiyksikönkäsittely

Koodiyksiköiden laadinta

Page 239: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-3C79000-G7000-C402-01

3.2 Koodiyksiköt editorissa

Ennen ohjelmoinnin aloittamista FUP-editorissa, tulisi tutustua asetus--mahdollisuuksiin mahdollisimman mukavan ja tottumuksia vastaavantyöskentelyn takaamiseksi.

Rekisteridialogi avataan valikkokäskyn Options Customize kautta.”Editori” -rekisterissä voidaan esiasetukset asettaa yksiköiden ohjelmointiavarten seuraavasti:

S kirjoitus (laji ja koko) tekstinä ja taulukkoina

S valittu kieli FBD = FUP, LAD = KOP, STL = AWL (FUP, KOP tai AWL).Kielivalinnasta riippuen avataan KOP:ssa, FUP:ssa tai AWL:ssä uusimuodostettu yksikkö. Siitä huolimatta -- rajoitukset huomioiden --voidaan yksikköä katsella myöhemmin myös muulla kyseeseen tulevallakielellä.

S halutaanko uudessa yksikössä saada näyttöön lähinnä symboliikka jakommentit.

Kielen, kommentin ja symboliikan asetuksia voidaan aina muuttaa käsittelynaikana View ... -valikon käskyillä.

Rekisterissä ”KOP/FUP” / (”LAD/FBD”), johon myös päästään OptionsCustomize kautta, voidaan tehdä seuraavat perusasetukset:

S FUP/FBD-Layout: Määrää virtapiirien esityskoon. Valitun koon mukaanvoidaan virtapiiriin sijoittaa vierekkäin enemmän tai vähemmänFUP-elementtejä. Tällä päätöksellä on myös vaikutuksia yksiköntulostukseen.

S Operandikentän leveys: Se määrää operandien kuten esim. osoitteidentekstikentän leveyden. Operandileveyden ylittyessä seuraa rivinvaihto.Symbolisessa osoitteenannossa on suurempi operandikenttämielekkäämpi, absoluuttisessa riittää pieni kenttä.

S Elementtien esitys: Voidaan valita, näytetäänkö FUP-elementit kaksi- vaikolmiulotteisina.

S Linja/väri: valittu elementti, koskettimet, tila täytetty, tilaa ei täytetty.

Yleiskuva

Editorin asetukset

FUP:n asetukset

Koodiyksiköiden laadinta

Page 240: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-4 C79000-G7000-C402-01

Kun koodiyksikkö on avattu ilmestyy ikkuna, jonka

S yläosassa on yksikön muuttujien selitystaulukko ja

S alaosassa on käskyosa, jossa varsinasta yksikkökoodia käsitellään.

FB6-<Offline> -- LAD\STL\FBDFile Edit Insert PLC Debug View Options Window Help

TRAFFIC\...\FB6-<Offline>

Network 1 : Red for road traffic

#starter

#condition

#condition#t_next_red_car

#t_dur_r_car

Address Decl. Symbol Type Initial Value Comment

dur_g_p

del_r_p

starter

t_dur_g_ped

S5TIME

S5TIME

BOOL

TIMER

S5T#0MS

S5T#0MS

FALSE

in

in

in

in

in

0.0

2.0

4.0

6.0

8.0

t_dur_y_car TIMER

Duration green_pedestrian

Delay red_pedestrian

Start switch

Timer duration green_pedestrian

Timer duration yellow_car

&

>=1

=

& =>1

Kuva 3-2 FUP:n muuttujien selitystaulukko ja käskyosa

Yksikön ominaisuuksia käsitellään oman dialogin kautta (katso kappale 5).

Editorissa voi olla avattuna useampia yksiköitä joita voidaan käsitellä vuoro-tellen toiveiden mukaan.

Muuttujien selitystaulukko ja koodiyksiköiden käskyosa ovat tiiviisti sidok-sissa keskenään, koska käskyosassa käytetään muuttujien selitystaulukon ni-miä. Muuttujien selityksessä tapahtuvat muutokset vaikuttavat sentähden ko-ko käskyosaan ja aina koko yksikköön.

FUP-editorinpääikkuna

YhteisvaikutusMuuttujienselitys -- käskyosa

Koodiyksiköiden laadinta

Page 241: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-5C79000-G7000-C402-01

Taulukko 3-1 Muuttujien selityksen ja käskyosan yhteisvaikutus

Muuttujien selitystoiminta Reaktio käskyosassa

virheetön uudelleensyöttö Jos on mitätön koodi, tulee tätä ennen määrittämättömästä muuttujasta nyt voim. oleva.

virheetön nimenmuutos ilman tyyppi-muutosta

Symboli esitetään heti kaikkialla uudellanimellä.

virheetön nimi muutetaan mitättö-mäksi

Koodia ei muuteta.

mitätön nimi muutetaan virheettömäk-si

Mikäli on olemassa mitätön koodi, tulee tämävoimaan.

Tyyppimuutos Mikäli on olemassa mitätön koodi, tulee tämävoimaan, ja mikäli on olemassa voimassaoleva koodi, tulee tästä mitätön.

Muuttujan nollaus (symboli), jota käy-tetään koodissa.

Voimassa olevasta koodista tulee mitätön.

Kommenttimuutokset Ei ole

Uuden muuttujan virheellinen syöttö Ei ole

Ei käytetyn muuttujan nollaus Ei ole

Aloitusarvon muutos Ei ole

Koodiyksiköiden laadinta

Page 242: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-6 C79000-G7000-C402-01

3.3 Muuttujien selitystaulukon rakenne

Muuttujien selitystaulukossa määritellään paikalliset muuttujat mukaanlukienyksikön muodolliset parametrit ja parametrien systeemiattribuutit. Sillä onmm. seuraavat vaikutukset:

S Selityksen avulla varataan vastaavasti muistitilaa paikallisdatapinossa taiinstanssi-(oheis)tiedostoyksikössä.

S Määrittelemällä tulo-, lähtö- ja läpikulkuparametrit määritellään ohjel-massa myös ”liitäntäpiste” yksikön kutsua varten.

S Mikäli muuttujat selitetään toimintayksikössä, määräävät nämä muuttujatmyös jokaisen FB:lle varatun oheis-DB:n tiedostorakenteen.

S Määräämällä systeemiattribuutit varataan parametreilleerikoisominaisuuksia hälytys- ja liityntäsuunnittelua, ohjaus- javalvontatoimintoja ja prosessiteknistä suunnittelua varten.

Kun uudelleenasetettu koodiyksikkö on avattu, tulee näyttöön esiasetettumuuttujien selitystaulukko. Kyseisessä taulukossa on vain valitulle yksikkö-lajille sallitut selitystyypit (in, out, in_out, stat, temp) ja nekin määrätyssäjärjestyksessä.

OB:tä uudelleen asetettaessa näytössä on standardi-muutujienselitys, jonkaarvoja voidaan muuttaa.

Muuttujien selitystaulukossa on merkintöjä muuttujien osoitteista, selitystyy-pistä, nimestä, tiedostotyypistä, aloitusarvosta ja kommentista. Jokainen tau-lukkorivi on muuttujien selitystä varten. Kentän tai rakenteen tiedostotyypinmuuttujat tarvitsevat useampia rivejä.

FB40 - <Offline>

Address Decl. Symbol Data Type Initial Value Comment

in

start

Motor

in_outp1

BOOL

BOOL

BOOL

INT

FALSE

FALSE

FALSE

in

in

out

out

in_out

0.0

0.1

2.0

2.1

4.0

Message BOOL

in_outp2 INTin_out6.0 0

FALSE

0

Light on

Switch

Motor

Motor

Kuva 3-3 Esimerkki muuttujien selitystaulukosta

Yleiskuva

Muuttujienselitystaulukonrakenne

Koodiyksiköiden laadinta

Page 243: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-7C79000-G7000-C402-01

Muuttujien selitystaulukon palstoilla on seuraava merkitys:

Taulukko 3-2 Muuttujien selitystaulukko

Palsta Merkitys Huomautukset Käsittely

Osoite Osoite muodossa BYTE.BIT. Tiedostotyypeillä, jotka tarvitsevat enemmänkuin yhden tavun, näyttää osoite järjestyk-sen hyppäämällä seuraavaan tavuosoittee-seen. Merkkien selitys:* : tavun kenttäelementin koko.+ : aloitusosoite, suht. rakenteen alkuun= : rakenteen koko muistitarve

Järj.merkintä:Järjestelmä antaa janäyttää osoitteenkun selityksensyöttö on loppu.

Selitys Selitystyyppi,Muuttujien ”käyttötarkoitus”

Yksikkölajista riippuen mahdollisia ovat:Tuloparametri ”in”Lähtöparametri ”out”Läpimenoparametri ”in_out”Staattiset muuttujat ”stat”Hetkelliset muuttujat ”temp”

Järjestelmän antoyksikkölajinmukaan

Nimi Muuttujien symbolinen nimi Nimen tulee alkaa kirjaimella. Varattujaavainsanoja ei sallita.

vaaditaan

Tyyppi Muuttujan tiedostotyyppi(BOOL, INT, WORD, ARRAYjne.)

Perustiedostotyypit voidaan valita hiiren oi-kean korvan valikolla.

vaaditaan

Aloitusarvo Aloitusarvo, kun ohjelmiston eitule hyväksyä oletusarvoa.

Tulee olla tiedostotyypin kanssa yhteensopi-va. Aloitusarvo vastaanotetaan DB:tä ensim-mäisen kerran tallennettaessa muuttujan ak-tuellina arvona, jos aktuellia arvoa ei selvästivahvisteta.

valinnainen

Kommentti Dokumentoinnin kommentti valinnainen

Mikäli yhdelle muuttujalle on osoitettu systeemiattribuutteja (katso kapp.3.6), ilmestyy palstalle ”Nimi” symboli (”Viiri”, katso kuva 3-3).Kaksoisklikkaus ”viirin” kohdalla avaa ”Systeemiattribuutti” --dialogikentän.

Taulukon palstojen leveyttä voidaan muunnella. Sitä varten asetetaan hiirennuoli kahden palstan väliin ja liikutetaan sitä vaakasuoraan hiiren vasemmankorvan ollessa alaspainettu. Vaihtoehtoisesti voidaan palstan leveyttä muuttaavalikkokäskyllä View Column Width. Taulukon on tällöin oltava valittu.Mikäli halutaan luopua kokonaan kommenttien tai aloitusarvojen optionaali-sesta syötöstä, voidaan nämä palstat minimoida tällä tavalla, jotta voitaisiinkeskittyä kokonaan muihin palstoihin.

Palstojen merkitys

”Viirin” merkitys

Palstan leveydenvaihtelu

Koodiyksiköiden laadinta

Page 244: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-8 C79000-G7000-C402-01

3.4 Muuttujien selitystaulukon käsittely -- yleiskuva

Annettaessa uutta selitystä syötetään halutun selitystyypin jälkeen peräkkäinmuuttujan nimi, tiedostotyyppi, aloitusarvo (valinnainen) ja kommentti (va-linnainen). Kursori viedään tällöin TAB-painikkeella viereiseen kenttään. Ri-vin päätyttyä osoitetaan muuttujalle osoite.

Joka kerran kun taulukkokenttää käsitellään, seuraa syntaksitesti, joka näyt-tää mahdolliset virheet punaisena. Kyseisiä kenttiä ei tule heti korjata, vaanmuu käsittely voi jatkua ja korjaukset voidaan tehdä myöhemmin.

Taulukon käsittelyyn on käytettävissä Edit/käsittely -valikosta tutut toimin-nat. Jotta käsittely olisi yksinkertaista, voidaan hiiren oikean korvan alta ha-kea tyyppivalikko.

Tiedostotyyppiä syötettäessäkin on apuna hiiren oikean korvan alainenvalikko. ”Tiedostotyyppi” -valikossa ovat kaikki perustiedostotyypit.

Yksittäiset rivit merkitään klikkaamalla asianomaista, kirjoitussuojattua osoi-tekenttää. Saman selitystyypin lisärivit merkitään pitämällä SHIFT-näppäintäalhaalla. Merkityt rivit tallennetaan mustana.

”Decl.” -palsta on kirjoitussuojattu. Selitystyypin määrää selityksen positiotaulukon sisällä. Täten varmistetaan, että muuttujat voidaan syöttää vain seli-tystyyppien oikeassa järjestyksessä. Mikäli jonkin selityksen tyyppiä halutaanmuuttaa, leikataan selitys ensin pois ja liitetään sen jälkeen takaisin uudellaselitystyypillä varustettuna.

Mikäli rakenne halutaan syöttää muuttujana, syötetään nimipalstaan nimi jatiedostotyyppipalstaan avainsana STRUCT. Rakennetta (END_STRUCT)varten väliinkirjoitetaan TAB-näppäintä tai RETURN-näppäintä painamalla yksityhjä rivi ja päätösrivi. Tyhjällä rivillä ilmoitetaan rakenteen elementtivahvistamalla sen nimi, tyyppi ja valinnaisesti aloitusarvot. Muut elementit(rivit) väliinkirjoitetaan valikkokäskyllä tai RETURN-näppäintä painamalla.

Mikäli rakenne halutaan merkitä, klikataan hiirellä ensimmäisen tai viimei-sen rivin osoitekentässä (jossa siis avainsana STRUCT tai END_STRUCTon). Yksittäiset selitykset rakenteen sisällä merkitään klikkaamalla rivin vas-taavassa osoitekentässä.

Mikäli rakenteita syötetään toisten rakenteiden sisällä, näkyy hierarkia muut-tujien nimien vastaavana sisennyksenä.

Menettelytavat

Käsittelytoiminnat

Selitystyypinmuuttaminen

Rakenteidensyöttö

Koodiyksiköiden laadinta

Page 245: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-9C79000-G7000-C402-01

Mikäli tiedostotyyppinä halutaan syöttää kenttä, syötetään ”Nimi” -palstallanimi ja tiedostotyyppi palstalla avainsana ARRAY ilmoittamalla kentänkoko, siis esim. array[1..20,3..24] kaksiulotteiselle kentälle. TAB-näppäintäpainamalla (mahd. useamman kerran) lisätään yksi rivi, johon kentän tie-dostotyyppi syötetään.

Mikäli kenttä halutaan merkitä, klikataan kyseisen rivin osoitekentässä.

Yksittäisten kenttäelementtien aloitusarvot voidaan määritellä joko yksitellentain toistokertoimella (katso kuva 3-4):

S Yksittäissyöttö: Yksittäisille elementeille annetaan oma aloitusarvo. Ar-vot listataan pilkulla erotettuina.

S Toistokerroin: Useammalle elementille annetaan sama aloitusarvo. Arvonanto tapahtuu kaarisuluissa, elementtien lukumäärää varten on esiasetettutoistokerroin.

Kuvassa 3-4 on esimerkki muuttujien selitystaulukosta:

FB50 - <Offline>

Address Decl. Symbol Data Type Initial Value Comment

structur1

var1

var2

STRUCT

BOOL

INT

FALSE

0

in

in

in

in

in

0.0

+0.0

+2.0

+4.0

=6.0

var3 WORD

array1 ARRAY[1..20,1..40]in6.0

BOOL

TRUE

in*2.0

W#16#0

END_STRUCT

Kuva 3-4 Muuttujien selitystaulukon rakenteet ja kentät

Huomautus

Mikäli yksiköiden, joiden kutsu on ohjelmoitu jo aiemmin, muuttujien seli-tystä muutetaan jälkikäteen voi siitä seurata aikamerkintäristiriita. Siksikaikki kutsuttavat yksiköt ohjelmoidaan mikäli mahdollista ensisijaisesti jasen jälkeen yksiköt, joista näitä kutsutaan. Toimintayksiköissä tulee silloinmahdollisesti laatia vastaavat oheis-DBt uudelleen.

Mikäli UDT:tä, joka muuttujien selityksessä on annettu tiedostotyyppinä,muutetaan jälkikäteen, tulee yksikön muuttujien selitys tarkistaa ja tallentaayksikkö uudelleen.

Kenttien syöttö

Esimerkki

Koodiyksiköiden laadinta

Page 246: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-10 C79000-G7000-C402-01

3.5 Multi--instanssien selitys

Multi-instanssi muodostuu toimintayksikön (FB) tiedostotyypistä staattistamuuttujaa selittämällä. Käskyosassa instanssia kutsutaan FUP-elementtinä.

Lisää tietoa multi-instanssien roolista löytyy ohjelmointikäsikirjasta /234/Multi-instanssien kutsun syntaksia selitetään tämän käsikrjan osassa 2.

Multi-instanssien selitystä koskevat seuraavat säännöt:

S Multi-instanssien selitys on mahdollista vain toimintayksiköissä.

S Toimintayksikölle, jossa multi-instanssia selitetään, on varattavaoheis-DB.

S Multi-instanssi voidaan selittää vain staattisena muuttujana(selitystyyppi ”stat”).

Multi-instanssin selittämiseksi syötetään nimi-palstaan muuttujan nimiselitystyypin ”stat” jälkeen. Tiedostotyypiksi ilmoitetaan toimintayksikkö.Toimintayksikkö voidaan antaa ehdottomana tai symbolisella nimellään. Va-linnaisesti voidaan merkitä kommentti.

FB50 - <Offline>

Address Decl. Symbol Data Type Initial Value Comment

structur1

var1

var2

STRUCT

BOOL

INT

FALSE

0

in

in

in

in

in

0.0

+0.0

+2.0

+4.0

=6.0

var3 WORD

array1 ARRAY[1..20,1..40]in6.0

BOOL

TRUE

in*2.0

W#16#0

END_STRUCT

Kuva 3-5 Multi--instanssit (esimerkki)

Multi--instanssit

Säännöt

Multi--instansiensyöttö

Koodiyksiköiden laadinta

Page 247: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-11C79000-G7000-C402-01

3.6 Systeemiattribuuttien anto parametreille

Systeemiattribuutteja voidaan osoittaa yksiköille ja parametreille. Neohjaavat hälytys- ja liityntäsuunnittelua, ohjaus- ja valvontatoimintoja japrosessitekniikan suunnittelua.

Muuttujien selitystaulukossa voidaan STEP 7-peruspaketille antaa seuraavatsysteemiattribuutit parametrejä varten:

Annettaessa parametrejä systeemiattribuuteille valitaan parametrin nimimuuttujien selitystaulukosta ja valitaan valikkokäsky Edit Object Proper-ties. ”Ominaisuudet” -dialogikentän rekisterissä ”Systeemiattribuutit”syötetään haluttu attribuutti ja kulloinenkin arvo.

Taulukossa 3-3 esitetään, mitä systeemiattribuutteja muuttujienselitystaulukon parametreille voidaan syöttää:

Taulukko 3-3 Parametrien systeemiattribuutit

Attribuutti Arvo Tämä attribuutti annetaan, jos Sallittuselitystyyppi

S7_server connection,alarm_archiv

parametrillä on merkitystä liityntä- taihälytyssuunnittelussa. Ko. parametri sisältääliityntä- tai hälytysnumeron.

IN

S7_a_type alarm, alarm_8,alarm_8p, alarm_s,notify, ar_send

määritellään hälytysyksikön hälytysyksikkötyyppi,jota kutsutaan käskyosassa (edellytys: attribuuttiS7_server:=alarm_archiv on myös annettu).

IN, vain yksiköillä,jotka ovat tyyppiäFB, SFB

S7_co pbkl, pbk, ptpl, obkl,fdl, iso, pbks, obkv

määritellään suunniteltavan liitynnän liitäntätyyppi,(edellytys: attribuutti S7_server:=connection onmyös annettu).

IN

S7_m_c true, false parametriä tulee ohjata ja valvoa ohjaus- javalvontalaitteesta käsin.

IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB

S7_shortcut 16 mitä tahansamerkkiä, esim. ohjearvo=, asetussuure =

parametrille tulee osoittaa tekstiä analogiarvojentulkintaa varten.

IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB

S7_unit Yksikkö,esim. litra

parametrille tulee osoittaa yksiköitä analogiarvojentulkintaa varten.

IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB

S7_string_0 16 mitä tahansamerkkiä, esim. AUF

parametrille tulee osoittaa tekstiä binääriarvojentulkintaa varten.

IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäB, SFB, FC, SFC

S7_string_1 16 mitä tahansamerkkiä, esim. ZU

parametrille tulee osoittaa tekstiä binääriarvojentulkintaa varten.

IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC

Systeemiattribuutit

Systeemiattri--buuttien syöttöparametrejä varten

Koodiyksiköiden laadinta

Page 248: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-12 C79000-G7000-C402-01

Taulukko 3-3 Parametrien systeemiattribuutit

Attribuutti Sallittuselitystyyppi

Tämä attribuutti annetaan, josArvo

S7_visible true, false parametriä ei tule näyttää CFC:ssä. IN/OUT/IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC

S7_link true, false parametrin ei tule olla kytkettävissä CFC:ssä. IN/OUT/IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC

S7_dynamic true, false parametrin tulee testattaessa olla dynamisoitavissaCFC:ssä.

IN/OUT/IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC

S7_param true, false parametrin ei tule olla parametroitavissa CFC:ssä. IN/IN_OUT, vainyksiköillä, jotkaovat tyyppiä FB,SFB, FC, SFC

Koodiyksiköiden laadinta

Page 249: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-13C79000-G7000-C402-01

3.7 Käskyosan käsittely -- yleiskuva

Käskyosassa kuvataan koodiyksikön ohjelmankulkua. Virtapiireissä annetaansitä varten FUP-käskyjä. Koodiyksikön käskyosa muodostuu useimmissatapauksissa monesta virtapiiristä. Editori suorittaa heti FUP-elementin syötönjälkeen syntaksitestin ja näyttää virheet punaisena. Elementtien väärätsijoitukset torjutaan virheilmoituksilla.

Käskyosassa voidaan virtapiirien sisällä käsitellä yksikön otsikkoa, yksikkö-kommentteja, virtapiirin otsikkoa, virtapiirikommentteja ja käskyrivejä.

FB6 - <Offline>

FB6 : Ampelschaltung

Steuerung einer Ampelanlage für einen Fußübergang an der Hauptstraße.

Netzwerk 1 : Vormerkung Rot für den Straßenverkehr

Die Vormerkung Rot durch den Straßenverkehr wird durch den Starteingang aktiviert,wenn die Zeit zwischen zwei Rotphasen für den Straßenverkehr läuft.

Netzwerk 2 : Grün für den Straßenverkehr

Grüne Ampel für die Straße brennt, wenn keine Vormerkung für Rot.

Yksikönotsikko

Yksikkö-kommentti

Virtapiiri--otsikko

Virtapiiri-kommentti

FUP-elementit #starter

#condition

#condition#t_next_red_car

#t_dur_r_car

&

>=1

=

Kuva 3-6 Käskyosan rakenne

Käskyosan osia voidaan periaatteessa käsitellä halutussa järjestyksessä.Yksikköä ensimmäistä kertaa ohjelmoitaessa suositellaan seuraavaa:

Käskyosa

Käskyosaneditoitavat osat

Uusien yksiköidensyöttö

Koodiyksiköiden laadinta

Page 250: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-14 C79000-G7000-C402-01

Virtapiirien käsittely

Virtapiirikommentin anto (valinnainen)

Virtapiiriotsikon anto (valinnainen)

FUP-elementtien anto

Yksikkökommentin anto (valinnainen)

Yksikön otsikon anto (valinnainen)

Kuva 3-7 Käskyosan käsittely

Muutoksia voidaan väliinkirjoitusmuodon lisäksi tehdä myös ylikirjoitusmuo-dossa. Muodosta toiseen vaihdetaan INSERT-näppäimellä.

Koodiyksiköiden laadinta

Page 251: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-15C79000-G7000-C402-01

3.8 FUP-elementtien syötön perussäännöt

FUP-virtapiiri voi muodostua useammasta elementistä. Kaikkien elementtienon oltava liitetty keskenään (IEC 1131-3).

FUP:ssa ohjelmoitaessa on huomioitava muutamia sääntöjä. Virheilmoituksethuomauttavat mahdollisista virheistä.

Kyhyksiin, joissa on binäärilukituksia (&, >=1, XOR) voidaan liittäästandardikehyksiä (Flipflopit, laskurit, ajat, laskentaoperaatiot jne.).Vertailukehykset ovat poikkeus tästä säännöstä.

Virtapiiriin ei saa ohjelmoida mitään toisistaan erotettuja lukituksia, joissa onerilliset lähdöt. Lukitusketjun T-haaran avulla voidaan kuitenkin järjestääuseampia osoituksia. Kuvassa 3-8 on tästä esimerkki.

#starter

#condition

#condition#t_next_red_car

#t_dur_r_car

&

>=1

=

#cond_02

#car

>=1

=

T-haara

Kuva 3-8 Virtapiiri kahdella osoituksella

Seuraavat kehykset voidaan sijoittaa vain lukitusketjun oikeaan reunaan,jossa ne muodostavat ketjun lopun:

S laskurin aloitusarvon asetus

S eteenpäinlaskenta, taaksepäinlaskenta

S ajan käynnistys impulssina, ajan käynnistys pidennettynä impulssina

S ajan käynnistys vetohidastuksena/päästöhidastuksena.

Yleistä

Kehysten sijoitus

Koodiyksiköiden laadinta

Page 252: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-16 C79000-G7000-C402-01

Kehysten joukossa on sellaisia, jotka vaativat boolen lukituksen, ja sellaisia,joilla ei saa olla boolen lukitusta.

S Kehykset, joissa on vaadittu boolen lukitus:

Lähtö, lähdön asetus, lähdön nollaus[R]

Konnektori[#], positiivinen reuna[P],negatiivinen reuna[N]

kaikki laskuri- ja Timer/ajastinkehykset

Hyppy, kun 0[JMPN]

Master Control Relaisin päällekytkentä[MCR<]

Lukitustuloksen lataus BIE-rekisteriin[SAVE]

Hyppy takaisin[RET]

S Kehykset, joissa boolen lukitus ei ole sallittu:

Master Control Relaisin alku [MCRA]

Master Control Relaisin loppu [MCRD]

Datalohkon avaus [AUF]

Master Control Relaisin poiskytkentä [MCR>]

Kaikilla muilla kehyksillä voi olla valinnaisesti boolen lukitus tai sitten ei.

Seurauksena voi olla kehysten vapautustulon ”EN” tai vapautuslähdön”ENO” kytkentä, mutta sitä ei myöskään vaadita.

Poistamalla kehys poistetaan päähaaraa lukuunottamatta myös kaikki haarat,jotka on liitetty kehykseen boolen tuloilla.

Samantyyppisten elementtien yksinkertaista vaihtoa varten on käytettävissäylikirjoitusmuoto (katso kappale 3.12).

Vapautustulo/Vapautuslähtö

Poisto ja muunto

Koodiyksiköiden laadinta

Page 253: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-17C79000-G7000-C402-01

3.9 FUP-elementtien anto

Virtapiirin merkitsemiseksi, johon voidaan syöttää FUP-elementtejä,klikataan virtapiirimerkintää (esim. ”Virtapiiri 1”). Näin merkitty virtapiirivoidaan esim. leikata, lisätä uudelleen tai kopioida.

Uuden virtapiirin laatimiseksi valitaan valikkokäsky Insert Network taiklikataan toimintalistan vastaavaa symbolia. Uusi virtapiiri väliinkirjoitetaanmerkityn virtapiirin alapuolelle.

Mikäli elementtejä syötetään enemmän kuin kuvaruudulla voidaan näyttää,siirretään kuvaruudulla olevaa virtapiiriä vasemmalle. Paremman yleiskuvanluomiseksi voidaan esitystä mukauttaa valikkokäskyillä View Zoom In/Zoom Out/Zoom Factor.

Virtapiiriin pääsee kilkkaamalla hiirellä asianomaista FUP-elementtiä.Hiirellä voidaan merkitä periaatteessa kolme aluetta virtapiirin sisällä:

S FUP-elementit, siis esim. JA-kehys tai standardi-kehys, esim. laskuri,

S kehyksen tulot ja lähdöt,

S tyhjät elementit (liitäntälinjat).

#starter

#condition

#condition#t_next_red_car

#t_dur_r_car

&

>=1

=

Kuva 3-9 Mahdolliset merkinnät FUP-virtapiirissä

Merkintöjen väristä voidaan päättää itse. Sitä varten avataan ”KOP/FUP” /(”LAD/FBD”) -rekisteri valikkokäskyllä Options Customize.

Lukitusketju voidaan katkaista merkityn tulon kohdalla DEL-näppäintäpainamalla, väliinkirjoittaa katkaisukohdassa tarvittaessa uudetFUP-elementit ja yhdistää lukitusketju uudelleen valikkokäskyllä InsertFBD-Element Connection. Sitä varten on yhden binääritulon ja yhdenbinäärilähdön oltava kulloinkin merkitty. Elementit järjestetään tarvittaessagraafisesti uudelleen.

Virtapiirienkäsittely

Virtapiirienmerkinnät

Lukitusketjunkatkaiseminen jauudellleenyhdistäminen

Koodiyksiköiden laadinta

Page 254: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-18 C79000-G7000-C402-01

FUP-väliinkirjoittamiseksi on käytettävissä seuraavat mahdollisuudet:

S JA-kehys, TAI-kehys tai lähtökehys väliinkirjoitetaan toimintanäppäimilläF2, F3 tai F4.

S FUP-elementin symboli valitaan toimintoriviltä.

S Valitaan elementti valikosta Insert FBD-Element.

S Valitaan elementit valintadialogista ohjelmaelementit/ProgramElements (katso kuva 3-10). Sitä varten valitaan valikkokäsky InsertProgram Elements, ”ohjelmaelementtien” symboli toimintorivillä taitoimintapainike F11.

LAD\STL\FBD...\FB6--<Offline>

Press F1 for help. Insert

FB6-<Offline>

Network 1 : Red request for traffic

#starter

#condition

#condition

#t_next_red_car

#t_dur_r_car

&

>=1

Network 2 : Start permanent yellow for cars

Program Eleme...

ObjectBlock TemplateData TypeDeclaration RowNetworkProgram ElementsFBD Element

File Edit Insert PLC Debug View Options Help

& =>1

CompareConvert

S_CDS_CUS_CUD

Data Block Fct.Floating-Point

Bit Logic

Counters

Integer Math

<

Window

Kuva 3-10 FUP-elementin väliinkirjoitus valintadialogilla

FUP-elementit väliinkirjoitetaan aina merkityn elementin taakse.

FUP-elementtiensyöttömahdolli--suudet

Koodiyksiköiden laadinta

Page 255: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-19C79000-G7000-C402-01

Huomautus

Mikäli valintadialogista valitaan ”Ohjelmaelementit” ryhmä ”FB yksiköt”tai ”FC yksiköt”, esitetään sen alla sitten kaikki vastaavat yksiköt, jotkaesiintyvät S7-ohjelmassa. Mikäli valitaan ryhmä ”SFC yksiköt” tai ”SFByksiköt”, esitetään kaikki CPU:ssa käytettävissä olevat systeemi-toimintayksiköt tai -toiminnat.

Mikäli valintadialogista valitaan ”Ohjelmaelementit” ryhmä ”Kirjastot”(Library), esitetään STEP 7-standardikirjastot ja itse perustetut kirjastot.

Tällä tavalla voidaan virtapiiriin liittää kokonaisia yksiköitä ja ohjelmoidamuiden yksiköiden kutsu hyvin nopeasti.

Muuttujien selitystaulukossa määriteltyjä multi-instansseja voidaan myöskutsua FUP-elementtinä. Sitä varten valitaan valikkokäsky InsertProgram Elements. Listakentässä on ryhmä ”multi-instansseja”, jossa

kaikki selitetyt multi-instanssit on esitetty.

Multi--instanssienkutsu

Koodiyksiköiden laadinta

Page 256: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-20 C79000-G7000-C402-01

3.10 Osoitteiden ja parametrien editointi

FUP-elementtiä väliinkirjoitettaessa yksikköeditori valitsee merkkijonon ??.?osoitteiden tai parametrien paikanvaraajaksi. Kaikki osoitteet ja parametrittulee määritellä, jotta käskyosa olisi latauskelpoinen. Poikkeuksenmuodostavat FBt ja SFBt sekä Timerin/ajastimen tai laskurin kehykset, joitaei tarvitse parametroida täydellisesti. Osoitteet ja parametrit voidaan antaaabsoluuttisena tai symbolisena.

Osoitteen tai parametrin editoimiseksi avataan vastaava tekstikenttäklikkaamalla hiirellä paikavaraajaa ??.?. Kun syöttö on päättynyt,tarkastetaan sen syntaksin oikeellisuus. Vikatapauksessa esitetään osoite taiparametri punaisena ja tilarivillä annetaan virheilmoitus. Syntaksin ollessaoikein avataan seuraava tekstikenttä, jota ei vielä ole käsitelty.

1. 2. 3.

??.?

m1.6 M1.6&??.? &??.?

&??.?

Kuva 3-11 FUP-elementtien osoitteiden syöttö

Heti kun FUP:n työkalut ovat tutumpia suositellaan ensin kaikkienelementtien syöttämistä virtapiiriin ja osoittamaan sen jälkeen jokaiselleelementeille osoite tai parametri.

Koska virheet on esitetty punaisena, on ne helppo tunnistaa. Jotta juurinäkyvän alueen ulkopuolella olevat virheet löytyisivät helpommin, oneditorissa sitä varten kaksi etsintätoimintaa Edit Go To Previous Error/ Next Error, jotka voidaan aktivoida myös toimintorivin symboleilla.

Virheen etsintä ulottuu yli virtapiirin. Se tarkoittaa, että etsitään kokokäskyosasta, ei vain virtapiiristä tai juuri näkyvissä olevalta alueelta. Jostilarivi kytketään valikkokäskyllä View Status Bar, näkyy siellä viittauk-sia virheisiin.

Virheiden korjaukset ja muutokset voidaan tehdä myös ylikirjoitusmuodossa(katso kappale 3.12).

Käyttö

Menettelytapa

Virheiden etsintäja korjaus

Koodiyksiköiden laadinta

Page 257: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-21C79000-G7000-C402-01

3.11 Symbolinen osoitteenanto

FUP -ohjelmointikielessä voidaan osoitteita, parametrejä ja yksikkönimiäantaa absoluuttisena tai symbolisena. Valikkokäskyllä View SymbolicRepresentation vaihdetaan absoluuttisen ja symbolisen esityksen välillä.

Mikäli halutaan käyttää globaaleja symboleja, on nämä merkittävä symboli-taulukkoon. Sitä varten

S avataan symbolitaulukko valikkokäskyllä Options Symbol Table.

S avataan valikkokäskyllä Options Edit Symbols dialogikenttä, jossayksittäinen symboli voidaan määritellä uudelleen tai muuttaa.

Lisätietoa symbolien käsittelystä löytyy STEP 7-käyttäjäkäsikirjasta /231/.

Useimmissa tapauksissa ei tarvitse merkitä, onko kyseessä yksikön sisäinenvai globaali symboli. Mikäli sekaannukset kuitenkin ovat mahdollisia, koskaesim. symbolitaulukossa ja muuttujien selityksessä on käytetty samoja sym-boleja, voidaan symbolit erotella seuraavalla tavalla:

S Symbolitaulukon symbolit esitetään lainausmerkeissä ”..”.

S Yksikön muuttujien selitystaulukon symbolit esitetään eteen liitetyllämerkillä ”#”.

Tunnusta ”..” tai ”#” ei tarvitse syöttää. Jos symbolinen osoite on muuttujienselitystaulukossa tai symbolitaulukossa, täydentyy tunnus syntaksitestinjälkeen.

Jotta symbolisella osoitteenannolla ohjelmointi olisi helpompaa, voidaanolemassa oleville symboleille näyttää asianomainen absoluuttinen osoitesymbolikommentilla. Tämä tehdään valikkokäskyllä View SymbolInformation. Sen avulla näytetään jokaisen virtapiirin jälkeen tuleva vas-taava informaatiokenttä. Näyttöä ei voida käsitellä; muutokset tulee tehdäsymbolitaulukossa tai muuttujien selitystaulukossa.

Symbolisenosoitteenannonkäyttö

Symbolien valinta

Esitys

Helpoksi tehtysymboli--info

Koodiyksiköiden laadinta

Page 258: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-22 C79000-G7000-C402-01

FB53-<Offline>

”lampon””sensor1”

”button2”

Symbol Information:

I0.0 sensor1 Temperature exceededI1.2 button2 Acknowledge buttonQ4.0 lampon Alarm signal

Network 1 : Output alarm

An alarm is output when the temperature limit is exceeded and themessage is not acknowledged

=

&

Kuva 3-12 FUP:n symboli-info

Yksikköä tulostettaessa toistetaan aktuelli kuvaruutuesitys käskykommenttei-neen tai symbolikommentteineen.

Huomautus

Ladattaessa ohjelmaa CPU:hun ei symbolitaulukkoa siirretä mukana. Joshalutaan käsitellä käyttäjäohjelmaa, jonka alkuperäinen ohjelma ei ole käy-tettävissä laadintajärjestelmässä, ei käytössä myöskään ole alkuperäistäsymboliikkaa.

Koodiyksiköiden laadinta

Page 259: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-23C79000-G7000-C402-01

3.12 Muunto ylikirjoitusmuodossa

Yksikköeditorissa voidaan osoitteita ja parametrejä muuttaa helpostiylikirjoitusmuodossa. Väliinkirjoitus- ja ylikirjoitusmuodon välillävaihdetaan INSERT-näppäimellä. Parametrien ja osoitteiden tekstikentissävoidaan syötöt näin ylikirjoittaa.

Ylikirjoitusmuoto mahdollistaa samantyyppisten FUP-elementtienyksinkertaisen vaihdon. Tällöin kaikki boolen liitännät ja parametroinnitpysyvät ennallaan.

Etu on siinä, että osoitteita ja parametrejä ei tarvitse syöttää uudelleen.Ylikirjoitettava FUP-elementti voidaan ylikirjoittaa vain samantyyppiselläFUP-elementillä. Näin voidaan vaihtaa esim. JA, TAI, R/S-FlipflopS/R-Flipflopiin tai erilaiset aikaelimet keskenään.

Olemassa olevan FUP-elementin ylikirjoittamiseksi se merkitään javaihdetaan INSERT-näppäimellä ylikirjoitusmuotoon. Elementti ylikirjoitetaanheti kun samantyyppinen FUP-elementti väliinkirjoitetaan.

A 1.0

E 0.0

E 1.1

S_EVERZ

S

R

TWS5T#10s

DUAL

DEZ

MW 2

MW 4

T1

ylikirjoitus

Q

&

E 1.2

&

>=1

=

E 0.1

E 0.2

A 1.0

E 0.0

E 1.1 S

R

TWS5T#10s

DUAL

DEZ

MW 2

MW 4

T1

Q

&

E 1.2

&

>=1

=

E 0.1

E 0.2

S_IMPULS

Kuva 3-13 Kehysten ylikirjoitus

Huomautus

Kommentit ja otsikot voidaan korjata väliinkirjoitusmuodossa.

Osoitteiden japarametrienylikirjoitus

FUP-elementinylikirjoitus

Koodiyksiköiden laadinta

Page 260: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-24 C79000-G7000-C402-01

3.13 Otsikoiden ja kommenttien anto

Koodiyksikön käskyosassa voidaan syöttää yksikön otsikko ja virtapiirin ot-sikko sekä yksikkökommentit tai virtapiirikommentit. Syötöt ovat valinnaisiaeikä niillä ole merkitystä ohjelmankululle.

Yksikön tai virtapiirin otsikon syöttöä varten viedään kursori yksikkönimentai virtapiirinimen oikealla puolella olevien kolmen kysymysmerkin kohdalle(esim. virtapiiri 1 : ???). Silloin avautuu tekstikenttä, johon otsikko syöte-tään. Siinä voi olla enintään 64 merkkiä.

Virtapiiri 2: ???

Virtapiiri 2:

Klikkaus hiirellä

Tässä on virtapiirin otsikko

1.

2.

Kuva 3-14 Otsikoiden syöttö

Harmaiden kommenttikenttien syöttö voidaan ottaa käyttöön tai pois käytöstävalikkokäskyllä View Comment. Kaksoisklikkaamalla sellaisessa kentäs-sä avautuu tekstikenttä, johon selitykset voidaan nyt syöttää. Yksikkö- ja vir-tapiirikommentteja varten on yksikköä kohti käytettävissä 64 KByteä.

???

Virtapiiri-- tai yksikkökommentti

1.

2.Klikkaus hiirellä

Kuva 3-15 Kommenttien syöttö

Huomautus

Ladattaessa yksikköä CPU:hun ei kommentteja siirretä mukana. Jos halutaanladata yksikkö CPU:sta, jossa alkuperäinen yksikkö ei ole käytettävissä laa-dintajärjestelmässä, ei alkuperäisiä kommentteja voi nähdä eikä käsitellä.

Yleiskuva

Yksikön otsikoidenja virtapiirinotsikoiden syöttö

Kommenttiensyöttö

Koodiyksiköiden laadinta

Page 261: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-1C79000-G7000-C402-01

Johdanto

Tässä kappaleessa selitetään lyhyesti yksiköistä muodostuvan käyttäjäohjel-man rakenne.

FUP-editori asettaa SIMATIC managerissa pohjan kaikille STEP 7-sovelluk-sille. Tässä selviää, miten SIMATIC managerista päästään FUP-editoriin jamihin laaditut yksiköt on järjestetty projektirakenteessa.

Kappale Sisältö Sivu

2.1 Käyttäjäohjelmien rakenne 2-2

2.2 Käyttäjäohjelmien laadinta -- yleiskuva 2-4

2.3 Huomioon otettavat säännöt 2-7

Mitä tämä kappalesisältää?

Yleiskuvakappaleesta

2

Page 262: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-2 C79000-G7000-C402-01

2.1 Käyttäjäohjelmien rakenne

Käyttäjäohjelma koostuu koodiyksiköistä ja tiedostoyksiköistä. Koodiyksi-köihin kuuluvat kaikki yksiköt, joissa on käskyosa, siis organisaatioyksiköt,toimintayksiköt ja toiminnat.

Organisaatioyksiköt (OBt) esittävät käyttöjärjestelmän ja käyttäjäohjelmanvälistä liitäntäpistettä. Eri organisaatioyksiköillä on tällöin ihan määrättyjätehtäviä. S7-CPU:n FUP-käyttäjäohjelma kootaan organisaatioyksiköistä(OBt), joita automaatioratkaisussa tarvitaan. Yksinkertaisimmassatapauksessa siihen kuuluvat

S käynnistyksen (OB 100, OB 101)

S syklisen pääohjelman (OB1) ja

S virheenkäsittelyn (OB 80 ... OB 87, OB 121, OB 122), mikäli CPU:n eitule vikatapauksessa mennä STOP -tilaan.

organisaatioyksiköt.

Sen lisäksi on vielä muita organisaatioyksiköitä, joiden avulla voidaan käsi-tellä CPU:n tai prosessin keskeytyksiä.

Mitä tehtäviä kullakin organaisaatioyksiköllä on ja minkä aloitusinfon CPU-käyttöjärjestelmä antaa, selviää referenssikäsikirjasta /235/.

Jokainen organisaatioyksikkö voidaan ohjelmoida rakenteellisena ohjelmana,laatimalla toiminnat (FC) ja toimintayksiköt (FB) ja kutsumalla niitä käskyo-sassa. Yksikköä kutsuttaessa tulee selvitetyt parametrit varustaa vastaavastitiedoilla.

S Toimintayksikkö (FB) on koodiyksikkö ”muistilla”. Muistina toimii täl-löin FB:lle varattu oheis-tiedostoyksikkö, johon todelliset parametrit jatoimintayksikön staattiset tiedot tallennetaan.

S Toiminta (FC) on koodiyksikkö ”ilman muistia”. Lähtöparametrit sisältä-vät FC:n käsittelyn jälkeen lasketut toiminta-arvot. Todellisten parametri-en muu käyttö ja tallennus FC:n kutsun jälkeen on käyttäjän oma asia.

Käyttöjärjestelmä asettaa valmiiksi seuraavat tiedot:

S Periferiatulot ja -lähdöt

S Tulojen ja lähtöjen prosessikuva

S Merkkerit

S Ajat

S Laskurit

Koodiyksiköt jatiedostoyksiköt

Organisaatio--

yksiköt

Toiminnat/toimintayksiköt

Tiedot

Johdanto

Page 263: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-3C79000-G7000-C402-01

Lisäksi voidaan määritellä omia tietoja:

S Globaalidata, joka pätee koko käyttäjäohjelmalle, määritellääntiedostoyksiköissä.

S Staattiset muuttujat pätevät aina siinä FB:ssä, jossa ne on määritelty. Jokakerran FB:tä kutsuttaessa annetaan oheis-DB, joka sisältää kaikkien para-metrien ohella staattiset tiedot. Mikäli multi-instanssit on määritelty, onniiden instanssitiedot, staattiset tiedot mukaanlukien upotettuoheis-DB:hen.

S Väliaikaiset eli hetkelliset (temp)-tiedot määritellään koodiyksiköitä laa-dittaessa. Ne varaavat muistipaikan pinossa vain koodiyksikön käsittelynajan.

Käyttäjäohjelman tiedot tallennetaan tiedostoyksiköihin. Tiedostoyksiköitäon kahta lajia, globaali-tiedostoyksiköt ja oheis-tiedostoyksiköt.

S Globaali-tiedostoyksiköihin pääsee käyttäjäohjelman joka kohdasta.

S Oheis-tiedostoyksiköt (instanssi) on varattu toimintayksikölle ja ne sisäl-tävät FB:n tietojen ohella myös mahdollisesti määriteltyjenmulti-instanssien tiedot. Siksi instanssi-tiedostoyksiköitä tulee käsitellävain kyseisten toimintayksiköiden yhteydessä.

Johdanto ohjelmointimetodiikkaan löytyy käsikirjasta /234/.

Tiedostoyksiköt

Muuta tietoa

Johdanto

Page 264: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-4 C79000-G7000-C402-01

2.2 Käyttäjäohjelmien laadinta -- yleiskuva

Käyttäjäohjelma, jonka tulee toimia S7-CPU:ssa, muodostuu pääasiassa yksi-köistä. Lisäksi se sisältää muuta informaatiota kuten esim. järjestelmän kon-figurointitiedot tai järjestelmän verkotustiedot. Käyttötapauksesta riippuentulee käyttäjäohjelmassa olla seuraavat yksiköt:

S Organisaatioyksiköt (OBt)

S Toimintayksiköt (FBt)

S Toiminnat (FCt)

S Tiedostoyksiköt (DBt).

Lisäksi voidaan yksinkertaistamista varten asettaa määriteltyjä tiedostotyyp-pejä (UDTt), joita voidaan käyttää omana tiedostotyyppinä tai DB:idenlaadintamallina.

Muutamat usein käytetyistä yksiköistä kuten järjestelmätoimintayksiköt(SFBt) ja järjestelmätoiminnat (SFCt) on integroitu CPU:hun. Muut yksiköt(esim. IEC-toimintoja tai säätäjäyksiköitä varten) ovat ladattavissa pakettina(standarditoimintayksiköt). Kyseiset ohjelmoimattomat yksiköt voidaan liit-tää yksinkertaisella tavalla käyttäjäohjelmaan.

Huomautus

Mitkä SFBt ja SFCt CPU:hun on integroitu, voidaan näyttää onlinevalikkokäskyn Accessible Nodes " Blocks kautta.

Yksiköiden ohjelmoimiseksi on STEP 7:n perusohjelmiston ohella käytettä-vissä vastaava editori. Koodiyksiköiden ohjelmoimiseksi (OBt, FBt, FCt)voidaan asettaa ohjelmointikieli FUP. FUP-editori työskentelee differentiaali-sesti, se tarkoittaa, jokaisen syötön jälkeen suoritetaan siihen viittaava syn-taksikoe. Syntaksivirheet näytetään, kielletyt FUP-elementtien tai osoitteidenoperaatiot torjutaan heti.

FUP-editori käynnistetään SIMATIC -managerista. Edellytyksenä on, ettäsiellä on S7-ohjelmalla varustettu projekti. S7-ohjelma voidaan laatialaitteistosta riippuen tai siitä riippumatta. Sitä varten liitetään S7-ohjelmasuoraan projektiin tai käsitellään ohjelmoitavalle yksikölle varattuaS7-ohjelmaa. Ohjelmassa itsessään voi olla mm. käyttäjäohjelma-alueita,lähteitä tai suunnitelmia.

FUP-editorilla käsitellään yksinomaan yksiöitä, jotka tallennetaankäyttäjäohjelman alueelle.

Käyttäjäohjelma

Inkrementti-FUP-editori

Aloitus SIMATIC--

järjestelmän--

hallinnasta

Johdanto

Page 265: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-5C79000-G7000-C402-01

File

Press F1 for help.

Options Help

SIMATIC Manager -- TRAFFIC

NUM

TRAFFIC - <Offline> (Project)

TRAFFIC

S7 Program (1)

SIMATIC 300 Station1

Source Files

Blocks

OB1 FB6

DB5 DB6

ViewInsertEdit PLC Window

ON OFF

Kuva 2-1 FUP-editorin käynnistys SIMATIC managerista

Mikäli halutaan laatia yksikkö ensimmäisen kerran, tulee ensin luoda tyhjäyksikkö SIMATIC managerissa, jonka kautta editori avataan. Kun FUP-editori on avattu, voidaan siellä luoda uusia yksiköitä.

S SIMATIC managerissa merkitään käyttäjäohjelma ja lisätään halutun yk-sikkölajin yksikkö valikkokäskyllä Insert S7-Block ... . Uusi yk-sikkö ilmestyy oikealla olevaan projekti-ikkunaan.

S Editorissa uusi yksikkö voidaan luoda yksinkertaisesti valikkokäskylläFile New. Seurantadialogissa annetaan myös yksikkölaji jayksikkönumero.

Yksikköä luotaessa määritellään, millä ohjelmointikielellä yksikkö halutaanlaatia. Tämän tiedon mukaisesti käynnistetään vastaava editori yksikköäavattaessa. FUP:ssa tapahtuvaa ohjelmointia varten valitaan ”FUP” -ohjelmointikieli

S SIMATIC managerin dialogikentässä ”ominaisuudet” (properties).

S FUP-editorissa valikkokäskyllä Option Customize dialogikentässä”KOP/AWL/FUP”, rekisterissä ”editori”.

Yksikkö avataan SIMATIC managerissa kaksoisklikkaamalla yksikköä.Vaihtoehtoisesti voidaan tämä tehdä myös valikkokäskyllä Edit OpenObject tai menemällä toimintorivin vastaavaan symboliin.

Yksikön luonti

Ohjelmointikielenvalitseminen

Yksikönavaaminen

Johdanto

Page 266: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-6 C79000-G7000-C402-01

Tallennettaessa yksikköä editoriin on huomioitava seuraavaa:

S File Save tallentaa yksikön ohjelmassa aina PG:n tai PC:n kovalevylle.

S PLC Download lataa avatun yksikön CPU:hun.

Kun käyttäjäohjelman yksiköt on laadittu, ladataan tämä SIMATICmanagerissa täydellisenä S7-CPU:hun. Lisää käyttäjäohjelmien lataustakoskevaa tietoa löytyy käyttäjäkäsikirjasta STEP 7 /231/.

Huomautus

Aina ei riitä, että kaikki luodut yksiköt ladataan yksitellen CPU:hun, koskajärjestelmäkonfigurointitietoja tarvitaan mahdollisesti. Ohjelma ladataansiksi aina kokonaisena SIMATIC managerin kautta.

FUP-editorissa voidaan suorittaa suoraan seuraavat toiminnat, joista on apuaohjelmaa laadittaessa ja käyttöönotettaessa:

Taulukko 2-1 FUP-editorin tukitoiminnat

Toiminnat Valikkokäsky

Käyttäjäohjelman referenssitietojen kutsu Options " Reference Data

Symbolitaulukon tai yksittäistensymbolien käsittely

Options " Symbol Table taiOptions " Edit Symbols

Muuttujien seuranta / ohjaus PLC " Monitor/Modify Variables

Käyttötilan näyttö/vaihto sekä CPU:nperusnollaus

PLC " Operating Mode taiPLC " Clear/Reset

CPU:n yksikön tilan näyttö PLC " Module Information

CPU:n päiväyksen ja kellonajan muutos PLC " Set Time and Date

Nämä toiminnat on kuvattu perusteellisesti käyttäjäkäsikirjassa STEP 7 /231/.

Yksikön tallennus

Tukitoimintojenkutsu

Johdanto

Page 267: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-7C79000-G7000-C402-01

2.3 Huomioon otettavat säännöt

Käyttäjäohjelman koodiyksiköitä ja tiedostoyksiköitä laadittaessa on yksiköi-den laadintajärjestys ratkaiseva. Periaatteessa pätee: Yksiköiden, joita kut-sutaan toisesta yksiköstä käsin, tulee kutsua ohjelmoitaessa olla jo ole-massa -- siis aiemmin ohjelmoituja. Ei olemassa olevan(ohjelmoimattoman)yksikön syöttö FUP-elementtinä (kehys) ei ole mahdollinen. Kutsuttaessayksikköä CALL:lla esitetään ei olemassa olevan (ohjelmoimattoman)yksikön syöttö tallennettaessa virheenä, koska kutsuttua yksikköä ei löydyohjelmasta.

CPU:n ollessa käyttötilassa RUN, voidaan CPU:hun tallennettua käyttäjäoh-jelmaa käsitellä STEP 7:llä online.

!Varoitus

Meneillään olevan ohjelman Online-käsittely voi johtaa laitteen virhe--toimintoihin tai ennennäkemättömiin häiriöihin ja siten loukkaantumisiinja/tai esinevahinkoihin.

Jos CPU on kytketty online ja on käyttötilassa RUN, voidaan CPU:huntallennettua käyttäjäohjelmaa käsiteltäessä aiheuttaa erehdyksessä tilanteita,joissa laitteistot yhtäkkiä kytketään päälle ja pois päältä ja aiheutetaan näinesine- tai henkilövahinkoja.

Prosessin kulku tulisi siksi aina suunnitella voimassa olevia turvallisuusmää-räyksiä noudattaen. Meneillään olevaa ohjelmaa ei tulisi koskaan yrittäämuuttaa Online-tilassa, ilman että sitä ennen on varmistuttu riittävistäturvatoimista.

Huomautus

Online- ja Offline-kytkennästä löytyy tietoa STEP 7 -käyttäjäkäsikirjasta/231/.

Yksikönlaadintajärjestys

Käsittely ohjelmankulun aikana

Johdanto

Page 268: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-8 C79000-G7000-C402-01

Johdanto

Page 269: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-1C79000-G7000-C402-01

Yleiskuva tuotteesta

FUP tarkoittaa toimintakaaviota. Se on graafinen ohjelmointikieli ja siinäkäytetään logiikan esittämiseen Boolen algebrasta tuttuja loogisia kehyksiä.Sen lisäksi voidaan kompleksifunktiot (esim. matemaattiset funktiot) esittääsuoraan loogisten kehysten yhteydessä.

Tässä käsikirjassa käytetään toimintakaaviosta sen saksankielestä tulevaaFUP -lyhennettä. Englanninkielisessä valikossa sen lyhenne on FBD.

KOP = LAD = relekaavioAWL = STL = käskylista

FUP -ohjelmointikielessä on käytettävissä kaikki elementit, jotka tarvitaantäydellisen käyttäjäohjelman laadintaan. FUP:lla on mahtava käskykanta.Siihen kuuluvat eri perusoperaatiot sekä laaja operandivalikoimaparametrointeineen. Toimintojen ja toimintayksiköiden konsepti mahdollistaaFUP-ohjelman havainnollisen rakentamisen.

FUP-ohjelmistopaketti on STEP 7 -perusohjelmiston integroitu osa.STEP 7-ohjelmiston asennuksen jälkeen ovat käytettävissä kaikki FUP:neditori-, käännösohjelma- ja testitoiminnat.

FUP:n avulla voidaan käyttäjäohjelma laatia inkrementtieditorilla. Tässä onratkaistu yksikön paikallinen tiedostorakenne mukavasti taulukkoeditoreilla.

Koska FUP:n ohella myös AWL - ja KOP -ohjelmointikielet on integroituperusohjelmistoon, voidaan kielten välillä vaihdella ja valita siten sopivaesitys yksikköohjelmointia varten.

Yleisesti pätee, että KOP:ssa tai FUP:ssa kirjoitetut ohjelmat voidaan esittääongelmitta AWL:ssä. Muunnettaessa KOP-ohjelmia FUP-ohjelmiksi japäinvastoin tulee AWL:n näyttöön ohjelmaelementtejä, jotka eivät oleesitettävissä kohdekielellä.

Mitä FUP/FBDtarkoittaa?

FUPohjelmointikieli

Ohjelmointipaketti

1

Page 270: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

1-2 C79000-G7000-C402-01

Page 271: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

Yleiskuva tuotteesta 1

Johdanto 2

Koodiyksiköiden laadinta 3Tiedostoyksiköiden jakäyttäjämääritteistentiedostotyyppien muodostus 4

Yksikön ominaisuuksien jaohjelmatestin käsittely 5

Osa 1: TyöskentelyFUP-editorilla

Page 272: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

2-2 C79000-G7000-C402-01

Page 273: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

viiC79000-G7000-C402-01

Sisällysluettelo

Esipuhe iii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Osa 1: Työskentely FUP--editorilla

1 Yleiskuva tuotteesta 1-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Johdanto 2-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1 Käyttäjäohjelmien rakenne 2-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Käyttäjäohjelmien laadinta -- yleiskuva 2-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3 Huomioon otettavat säännöt 2-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Koodiyksiköiden laadinta 3-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1 Koodiyksiköiden laadinta -- yleiskuva 3-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2 Koodiyksiköt editorissa 3-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3 Muuttujien selitystaulukon rakenne 3-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4 Muuttujien selitystaulukon käsittely -- yleiskuva 3-8. . . . . . . . . . . . . . . . . . . . . .

3.5 Multi-instanssien selitys 3-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.6 Systeemiattribuuttien anto parametreille 3-11. . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.7 Käskyosan käsittely -- yleiskuva 3-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.8 FUP-elementtien syötön perussäännöt 3-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.9 FUP-elementtien anto 3-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.10 Osoitteiden ja parametrien editointi 3-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.11 Symbolinen osoitteen anto 3-21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.12 Muunto ylikirjoitusmuodossa 3-23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.13 Otsikoiden ja kommenttien anto 3-24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien muodostus 4-1. .

4.1 Tiedostoyksiköiden laadinta -- yleiskuva 4-2. . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2 Laadintamenetelmän valinta 4-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.3 Selitystaulukon käsittely 4-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.4 Aktuellien data-arvojen käsittely 4-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT) 4-8. . . . . . . . . . . . . . . .

Page 274: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

viii C79000-G7000-C402-01

5 Yksikön ominaisuuksien ja ohjelmatestin käsittely 5-1. . . . . . . . . . . . . . . . . . . . . . . .

5.1 Yksikön ominaisuuksien käsittely 5-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.2 FUP-ohjelman testaus - yleiskuva 5-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.3 Ohjelman tilan näytön asetus 5-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.4 Triggeriehtojen asetus 5-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.5 Testausympäristön valinta ja ohjelman tilan käynnistys/pysäytys 5-8. . . . . . .

Osa 2: Kielikuvaus

6 FUP:n rakenne ja elementit 6-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.1 Elementit ja kehykset 6-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.2 Boolen logiikka ja totuustaulukot 6-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.3 CPU-rekisterin merkitys käskyissä 6-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Osoitteen anto 7-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.1 Yleiskuva 7-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.2 Osoitelajit 7-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 Bittilukitusoperaatiot 8-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.1 Yleiskuva 8-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.2 JA--lukitus 8-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.3 TAI--lukitus 8-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.4 JA--ennen--TAI--lukitus ja TAI--ennen--JA--lukitus 8-5. . . . . . . . . . . . . . . . . . . . .

8.5 EHDOTON--TAI--lukitus 8-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.6 Binääritulon väliinkirjoitus 8-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.7 Binääritulon kääntö 8-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.8 Osoitus 8-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.9 Konnektori 8-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.10 Lukitustuloksen lataus BIE--rekisteriin 8-11. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.11 Lähdön asetus 8-12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.12 Lähdön nollaus 8-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.13 Laskurin aloitusarvon asetus 8-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.14 Operaatio: Eteenpäinlaskenta 8-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.15 Operaatio: Taaksepäinlaskenta 8-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.16 Operaatio: Ajan käynnistys impulssina 8-18. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.17 Operaatio: Ajan käynnistys pidennettynä impulssina 8-20. . . . . . . . . . . . . . . . .

8.18 Operaatio: Ajan käynnistys vetohidastuksena 8-22. . . . . . . . . . . . . . . . . . . . . . .

8.19 Operaatio: Ajan käynnistys tallentavana vetohidastuksena 8-24. . . . . . . . . . . .

8.20 Operaatio: Ajan käynnistys päästöhidastuksena 8-26. . . . . . . . . . . . . . . . . . . . .

Sisällysluettelo

Page 275: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

ixC79000-G7000-C402-01

8.21 Reunan 0 --> 1 kysely 8-28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.22 Reunan 1 --> 0 kysely 8-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.23 Signaalireunan 0 --> 1 kysely 8-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.24 Signaalireunan 1 --> 0 kysely 8-31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.25 Flipflopin asetus/nollaus 8-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.26 Flipflopin nollaus/asetus 8-33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 Aikaoperaatiot 9-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9.1 Ajan muistialueet ja komponentit 9-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9.2 Oikean ajan valinta 9-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9.3 Ajan käynnistys impulssina 9-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9.4 Ajan käynnistys pidennettynä impulssina 9-7. . . . . . . . . . . . . . . . . . . . . . . . . . .

9.5 Ajan käynnistys vetohidastuksena 9-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9.6 Ajan käynnistys tallentavana vetohidastuksena 9-11. . . . . . . . . . . . . . . . . . . . . .

9.7 Ajan käynnistys päästöhidastuksena 9-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 Laskentaoperaatiot 10-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.1 Muistin laskuriosite ja laskurin komponentit 10-2. . . . . . . . . . . . . . . . . . . . . . . . .

10.2 Eteenpäin-/taaksepäinlaskenta 10-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.3 Eteenpäinlaskenta 10-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.4 Taaksepäinlaskenta 10-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 Peruslaskentaoperaatiot 11-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.1 Kokonaislukujen yhteenlasku (16 bittiä) 11-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.2 Kokonaislukujen yhteenlasku (32 bittiä) 11-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.3 Kokonaislukujen vähennyslasku (16 bittiä) 11-4. . . . . . . . . . . . . . . . . . . . . . . . . .

11.4 Kokonaislukujen vähennyslasku (32 bittiä) 11-5. . . . . . . . . . . . . . . . . . . . . . . . . .

11.5 Kokonaislukujen kertolasku (16 bittiä) 11-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.6 Kokonaislukujen kertolasku (32 bittiä) 11-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.7 Kokonaislukujen jakolasku (16 bittiä) 11-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.8 Kokonaislukujen jakolasku (32 bittiä) 11-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.9 Jakojäännös (32 bittiä) 11-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissa 11-11. . . . . . . . . . . . . . . . .

12 Liukulukuaritmetiikka 12-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.1 Yleiskuva 12-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.2 Liukulukujen yhteenlasku 12-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.3 Liukulukujen vähennyslasku 12-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.4 Liukulukujen kertolasku 12-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.5 Liukulukujen jakolasku 12-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Sisällysluettelo

Page 276: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

x C79000-G7000-C402-01

12.6 Tilasanan bittien tulkinta liukulukuoperaatioissa 12-7. . . . . . . . . . . . . . . . . . . . . .

12.7 Liukuluvun absoluuttiarvon muodostus 12-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.8 Liukuluvun neliön (SQR) muodostus 12-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.9 Liukuluvun neliöjuuren (SQRT) muodostus 12-10. . . . . . . . . . . . . . . . . . . . . . . . . .

12.10 Liukuluvun luonnollisen logaritmin muodostus 12-11. . . . . . . . . . . . . . . . . . . . . . .

12.11 Liukuluvun eksponenttiarvon muodostus 12-12. . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.12 Kulmien trigonometristen funktioiden laskentaliukulukuina 12-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 Vertailuoperaatiot 13-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13.1 Kokonaislukujen vertailu (16 bittiä) 13-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13.2 Kokonaislukujen vertailu (32 bittiä) 13-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13.3 Liukulukujen vertailu 13-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14 Siirto-- ja muunnosoperaatiot 14-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14.1 Arvon siirto 14-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14.2 BCD--luvun muunto kokonaisluvuksi (16 bittiä) 14-3. . . . . . . . . . . . . . . . . . . . . .

14.3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi 14-4. . . . . . . . . . . . . . . . . . . . . .

14.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä) 14-5. . . . . . . . . . .

14.5 BCD--luvun muunto kokonaisluvuksi (32 bittiä) 14-6. . . . . . . . . . . . . . . . . . . . . .

14.6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi 14-7. . . . . . . . . . . . . . . . . . . . . .

14.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi 14-8. . . . . . . . . . . . . . . . . . . . . . .

14.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus 14-9. . . . . . . . . . . . . . .

14.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus 14-10. . . . . . . . . . . . . . .

14.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus 14-11. . . . . . . . . . . . . . .

14.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus 14-12. . . . . . . . . . . . . . .

14.12 Liukuluvun etumerkin vaihto 14-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14.13 Luvun pyöristys 14-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14.14 Kokonaisluvun muodostus 14-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14.15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta 14-16. . . . . . .

14.16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta 14-17. . . . . . .

15 Sanalukitusoperaatiot 15-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.1 Yleiskuva 15-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.2 16 bitin JA--lukitus 15-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.3 32 bitin JA--lukitus 15-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.4 16 bitin TAI--lukitus 15-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.5 32 bitin TAI--lukitus 15-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.6 16 bitin EHDOTON--TAI--lukitus 15-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Sisällysluettelo

Page 277: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

xiC79000-G7000-C402-01

15.7 32 bitin EHDOTON--TAI--lukitus 15-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16 Siirto-- ja pyöritysoperaatiot 16-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.1 Siirto--operaatiot 16-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.2 Pyöritysoperaatiot 16-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17 Tiedostoyksikköoperaatiot 17-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.1 Tiedostoyksikön avaus 17-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18 Hyppyoperaatiot 18-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18.1 Yleiskuva 18-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18.2 Ehdoton hyppy yksikössä 18-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18.3 Hyppy, kun 1 (ehdollinen) 18-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18.4 Hyppy, kun 0 (ehdollinen) 18-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18.5 Hyppymerkki 18-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19 Tilabittioperaatiot 19-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19.1 Yleiskuva 19-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19.2 BIE-rekisterin bitti 19-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19.3 Tulosbitit 19-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19.4 Väärien operaatioiden virhebitti 19-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19.5 Ylivuodon virhebitti 19-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19.6 Tallennetun ylivuodon virhebitti 19-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20 Ohjelmanohjausoperaatiot 20-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20.1 FC/SFC:n kutsu ilman parametrejä 20-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20.2 FB:n, FC:n, SFB:n, SFC:n ja multi--instanssien kutsu 20-4. . . . . . . . . . . . . . . . .

20.3 Hyppy takaisin 20-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20.4 Master Control Relayn toiminnat 20-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20.5 Master Control Relayn alku/loppu 20-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20.6 Master Control Relay päälle/pois päältä 20-13. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Liitteet

A Aakkosellinen operaatiolista A-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A.1 Englanninkielinen selityslista A-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A.2 IEC--mnemoniikka ja SIMATIC--mnemoniikka A-6. . . . . . . . . . . . . . . . . . . . . . .

Sisällysluettelo

Page 278: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

xii C79000-G7000-C402-01

B Ohjelmointiesimerkkejä B-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.1 Yleiskuva B-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.2 Bittilukitusoperaatiot B-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.3 Aikaoperaatiot B-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.4 Laskenta- ja vertailuoperaatiot B-11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.5 Aritmeettiset operaatiot kokonaisluvuilla B-13. . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.6 Sanalukitusoperaatiot B-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C Lukujen esitys C-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C.1 Lukujen esitys C-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Sisällysluettelo

Page 279: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-1C79000-G7000-C402-01

Lukujen esitys

Kappale Sisältö Sivu

3.1 Lukujen esitys 3-2

Yleiskuvakappaleesta

3

Page 280: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-2 C79000-G7000-C402-01

3.1 Lukujen esitys

FBD/FUP-operaatiot toimivat määrätynsuuruisilla dataobjekteilla (katsotaulukko 3-2). Bittilukitusoperaatiot käyttävät esimerkiksi bittejä(binäärilukuja). Siirto-operaatiot toimivat tavuilla, sanoilla, kaksoissanoilla.

Aritmeettiset operaatiot toimivat myös tavuilla, sanoilla ja kaksoissanoilla.Näissä tavu-, sana- tai kaksoissanaoperandeissa voidaan koodata erimuodoissa olevia lukuja, kuten esim. kokonaislukuja ja liukulukuja.

Symbolista osoiteantoa käytettäessä määritellään symbolit ja annetaan näillesymboleille tiedostotyyppi (katso taulukko 3-2). Eri tiedostotyypeillä on erimuoto-optiot ja lukuesitykset. Seuraavissa kappaleissa on tietoa muodoista jalukuesityksistä.

Tämä käsikirjan kappale kuvaa vain muutamaa luvuille ja vakioillemahdollista esitystapaa.

Taulukko 3-1 Luku-- ja vakiomuodot, joihin ei perehdytä tässä kappaleessa

Muoto Koko bitteinä Lukuesitys

Heksadesimaali 8, 16 ja 32 B#16#, W#16#, ja DW#16#

Binääri 8, 16 ja 32 2#

IEC-päiväys 16 D#

IEC-aika 32 T#

Kellonaika 32 TOD#

Merkki 8 ’A’

Bittiä kutsutaan binääriluvuksi ”0” tai ”1”. Tavu muodostuu 8:sta bitistä, sana16:sta bitistä ja kaksoissana 32 bitistä.

Jokaisessa FUP-kehyksen tulo- ja lähtöparametrissa voi olla jokin seuraavistatyypeistä:

S elementaariset tyypit (katso taulukko 3-2)

S rakenteelliset tyypit (Array, Struct, String, Date_and_Time)

S Timer, Counter ja yksikkötyyppi

S Pointer ja Array

Lähempää tietoa tiedostorakenteesta ja kentistä, jotka voidaan määritellä itse,tai muista rakenteellisista tiedostotyypeistä kuten STRING jaDATE_AND_TIME löytyy ohjelmointikäsikirjasta /120/ ja käyttäjäkäsikir-jasta /231/.

Yleisinfoa

Bitit, tavut, sanatja kaksoissanat

Tiedostotyypit

Lukujen esitys

Page 281: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-3C79000-G7000-C402-01

Taulukko 3-2 Perustiedostotyyppien vakiomuodot

Tyyppi jaselitys

Kokobit:ssä

Muoto--optiot Alue ja lukujen esitys (alimm.korkeimpaan arvoon)

Esimerkki

BOOL(Bitti)

1 Bool-teksti TRUE/FALSE TRUE

BYTE(Tavu)

8 Heksadesimaali--luku

B#16#0 ... B#16#FF B#16#10byte#16#10

WORD(Sana)

16 Duaaliluku

Heksadesimaali--luku

BCDDesimaalilukuilman etumerkkiä

2#0 ...2#1111_1111_1111_1111W#16#0 ... W#16#FFFF

C#0 ... C#999B#(0,0) ... B#(255,255)

2#0001_0000_0000_0000

W#16#1000word16#1000C#998B#(10,20)byte#(10,20)

DWORD(Kaksois-sana)

32 Duaaliluku

Heksadesim.lukuDesimaalilukuilman etumerkkiä

2#0 ...2#1111_1111_1111_1111_1111_1111_1111_1111DW#16#0000_0000 ...DW#d16#FFFF_FFFFB#(0,0,0,0) ...B#(255,255,255,255)

2#1000_0001_0001_1000_1011_1011_0111_1111

DW#16#00A2_1234dword#16#00A2_1234B#(1, 14, 100, 120)byte#(1,14,100,120)

INT(Kok.luku)

16 Desimaalilukuetumerkillä

-32768 ... 32767 1

DINT(Kok.luku,32 bittiä)

32 Desimaalilukuetumerkillä

L#-2147483648 ... L#2147483647 L#1

REAL(Liukuluku)

32 IEEELiukuluku

Ylempi raja: �3 402823e+38Alempi raja: �1 175 495e-38)

1,234567e+13

S5TIME(SIMATIC-aika)

16 S5-aika10 ms:n välein(oletusarvo)

S5T#0H_0M_0S_10MS ...S5T#2H_46M_30S_0MS jaS5T#0H_0M_0S_0MS

S5T#0H_1M_0S_0MSS5Time#0H_1H_1M_0S_0MS

TIME(IEC-aika)

32 IEC-aika1 ms:n välein,kokonaislukuetumerkillä

T#-24D_20H_31M_23S_648MS ...T#24D_20H_31M_23S_647MS

T#0D_1H_1M_0S_0MSTIME#0D_1H_1M_0S_0MS

DATE(IEC-päiväys)

16 IEC-päiväys1 päivän välein

D#1990-1-1 ...D#2168-12-31

D#1994-3-15DATE#1994-3-15

TIME_OF_DAY(kellonaika)

32 Kellonaika1 ms:n välein

TOD#0:0:0.0 ...TOD #23:59:59.999

TOD#1:10:3.3TIME_OF_DAY#1:10:3.3

CHAR(merkki)

8 ASCII-merkit ’A’,’B’ jne. ’E’

Kokonaisluvulla on etumerkki, joka ilmoittaa onko kyseessä positiivinen vainegatiivinen luku. Paikka, jonka kokonaisluku (16 bittiä) varaa muistista, onyhden sanan kokoinen. Taulukko 3-3 esittää kokonaisluvun (16 bittiä) aluetta.Kuva 3-1 esittää kokonaislukua +44 duaalilukuna.

Kokonaisluvut(16 bittiä)

Lukujen esitys

Page 282: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-4 C79000-G7000-C402-01

Taulukko 3-3 Kokonaislukualue (16 bittiä)

Muoto Alue

Kokonaisluku (16 bittiä) -32 768 ... +32 767

1 1 0 0037 48111215Bitti

Etumerkki Desimaaliarvot: 32 + 8 + 4 = 44

0 0 1 00 0 0 00 0 0 0

Kuva 3-1 Kokonaisluku (16 bittiä) duaalilukuna: +44

Kokonaisluvulla on etumerkki, joka ilmoittaa onko kyseessä positiivinen vainegatiivinen luku. Paikka, jonka kokonaisluku (32 bittiä) varaa muistista, onkahden sanan kokoinen. Taulukko 3-4 esittää kokonaisluvun (32 bittiä)aluetta. Kuva 3-2 esittää kokonaislukua -500 000 duaalilukuna.Duaalijärjestelmässä kokonaisluvun negatiivinen muoto esitetään positiivisenkokonaisluvun kahden komplementtina. Kokonaisluvun kahdenkomplementti saadaan kääntämällä kaikkien bittien signaalitilat ja lisäämälläsitten tulokseen +1.

Taulukko 3-4 Kokonaislukualue (32 bittiä)

Muoto Alue

Kokonaisluku (32 bittiä) -2 147 483 648 ... +2 147 483 647

0 0 0 0037 481112

Bitti

Etumerkki

1516192023242728311 1 1 01 1 1 00 1 0 11 0 0 01 1 1 11 1 1 11 1 1 1

Kuva 3-2 Kokonaisluku (32 bittiä) duaalilukuna: -500 000

Liukuluku on positiivinen tai negatiivinen luku, jossa on desimaaliarvo kutenesim. 0,339 tai -11,1. Liukuluku voidaan myös esittää eksponentti 10:nkokonaislukupotenssilla, jolla liukuluku kerrotaan. Näin saadaan haluttuesitysarvo. Esim. luku 1234 000 voidaan esittää luvulla 1.234E6 tai 1.234e6(ts. 1.234 * 106). Liukulukujen alueet ovat taulukossa 3-5.

Liukuluku vie muistista tilaa kaksoissanan verran (32 bittiä, katso kuva 3-3).Korkea--arvoisin bitti ilmoittaa luvun etumerkin (bitti 31, ”0” tarkoittaaplussaa, ”1” miinusta). Muut bitit esittävät eksponenttia tai mantissaa.

Kokonaisluvut(32 bittiä)

Liukuluvut

Lukujen esitys

Page 283: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-5C79000-G7000-C402-01

Taulukko 3-5 Liukulukualueet

Muoto Alue1)

Liukuluvut-3.402 823E+38 ... -1.175 495E-38

ja 0 ja+1.175 495E-38 ... +3.402 823E+38

1) Mikäli liukulukuoperaation tulos on alueilla -1.175 495E-38 ...-1401 298E-45 tai +1401 298E-45 ... +1.175 495E-45, on tapahtunut alitus(katso taulukko 12-6). Tällöin on kyseessä denormalisoitujen lukujen alue.

FBD/FUP:n liukuluvut vastaavat yksinkertaisen leveyden perusmuotoa, kutennormissa ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating-Point Arithmetic on selitetty. Tässä muodossa voidaan esittää vain ne arvot,jotka on määritelty kolmella seuraavalla kokonaislukuparametrillä:

S p = merkittävien bittien määrä (tarkkuus)

S Emaks = maks. eksponentti

S Emin = min. eksponentti

Taulukossa 3-6 on muotoparametrit.

Taulukko 3-6 Liukulukujen muotoparametrit

Parametrin kuvaus Parametrin arvo

p 24

Emaks +127

Emin --126

Eksponentti Bias +127

Eksponentin leveys bitteinä 8

Muodon leveys bitteinä 32

Muoto sisältää seuraavat peruselementit:

S Luvut muodossa (--1)s 2E (b0 . b1 b2...bp--1), jolloin pätee:

-- s = 0 tai 1

-- E = käsittäen minkä tahansa Emin ja Emaks välisen kokonaisluvun (16bittiä)

-- bi = 0 tai 1

S kaksi ääretöntä lukua, +∞ ja --∞

S vähintään yksi signalisoiva NaN (NaN on ”not a floating-point number =”ei liukuluku”)

S vähintään yksi ei signalisoiva NaN

Liukulukujenmuoto

Lukujen esitys

Page 284: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-6 C79000-G7000-C402-01

Leveydeltään yksinkertaiset perusmuodossa olevat liukuluvut muodostuvatseuraavista kentistä (katso kuva 3-3):

S yhden bitin pituisesta etumerkistä V

S eksponentista, jossa Bias: e = E + Bias

S Mantissasta: f = . b1 b2...bp--1

Eksponentin E alue ilman Biasia muodostuu mistä tahansa kokonaisluvusta (16bittiä) välillä Emin. ja Emaks. (ts. --127 ... + 127) sekä kummastakin muustavaratusta arvosta Emin. --10:n ja denormalisoitujen lukujen alueesta koodaustavarten ja Emaks. +1∞ :n ja NaNs:n koodausta varten.

Kuvassa 3-3 on liukuluvun (32 bittiä) kolme kenttää (V, e ja f). Kuvassaliukuluvulla (32 bittiä) on arvo v, joka voidaan johtaa seuraavalla tavallakentistä, joista se muodostuu:

S Jos e = 255 ja jos f≠0, silloin v on yhtäsuuri kuin NaN, etumerkistä Vhuolimatta.

S Jos e = 255 ja jos f = 0, silloin v = (--1)s∞.

S Jos 0 < e < 255, silloin v = (--1)s 2e--127 (1 . f).

(Tällöin on kyseessä denormalisoitu luku.)

S Jos e = 0 ja f≠0, silloin v = (--1)s 2e--126 (0 . f).

(Tällöin on kyseessä denormalisoitu luku.)

S Jos e = 0 ja f = 0, silloin v = (--1)s 0 (nolla).

037 481112Bitti

Mantissa--etumerkkiV (1 bitti)

151619202324272831

Eksponentti: e(8 bittiä)

Mantissa: f(23 bittiä)

V e f

Kuva 3-3 Liukulukujen muoto

Liukuluvunkomponenttikentät

Lukujen esitys

Page 285: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-7C79000-G7000-C402-01

Kuvassa 3-4 on seuraavien desimaaliarvojen liukulukumuoto:

S 10,0

S π (3,141593)

S neliöjuuri 2:sta (p2 = 1,414214)

Liukuluvun heksadesimaaliarvo annetaan bittinumeroiden yläpuolella.

0

037 481112Bitit

Mantissa--etumerkki:V (2 bittiä)

151619202324272831

Eksponentti: e(8 bittiä)

e = 27 + 21 = 1301.f £ 2e--bias = 1,25 £ 23 = 10,0[1,25 £ 2(130--127) = 1,25 £ 23 = 10,0]

Mantissa: f(23 bittiä)

f = 2--2 = 0,25

0 1 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Heksadesi-maaliarvo 4 1 2 0 0 0 0 0

1

037 481112Bitit

Mantissa--etumerkki:V (1 bittiä)

151619202324272831

Eksponentti: e(8 bittiä)

Mantissa: f(23 bittiä)

0 1 0 0 0 0 00 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0

4 0 4 9 0 F D C

0

037 481112Bitit 151619202324272831

Eksponentti: e(8 bittiä)

Mantissa: f(23 bittiä)

0 0 1 1 1 1 11 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1

3 F B 5 0 4 F 7

Desimaaliarvo 10,0

Desimaaliarvo 3,141593

Desimaaliarvo 1,414214

Mantissa--etumerkki:V (1 bittiä)

Heksadesi-maaliarvo

Heksadesi-maaliarvo

Kuva 3-4 Esimerkki liukulukujen muodosta

Esimerkkejäliukuluku--muodosta

Lukujen esitys

Page 286: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-8 C79000-G7000-C402-01

Binäärikoodatussa esityksessä (BCD) on desimaaliluku binäärilukuryhmillä(biteillä) esitettynä. 4:n bitin ryhmä esittää desimaaliluvun numeroa taietumerkkiä. 4:n bitin ryhmät muodostavat sanan (16 bittiä) tai kaksoissanan(32 bittiä). Neljä korkea-arvoisinta bittiä ilmoittavat luvun etumerkin(”1111” tarkoittaa miinus ”0000” plus). BCD-koodatuilla operandeillavarustetut käskyt tulkitsevat vain korkea-arvoisimman bitin (15 sana-, 31kaksoissanamuodossa). Taulukossa 3-7 on kummankin lajisten BCD-lukujenmuoto ja alue. Kuvissa 3-5 ja 3-6 on esimerkkejä sana- tai kaksoissana-muodossa olevasta binäärikoodatusta desimaaliluvusta.

Taulukko 3-7 Binäärikoodatut desimaaliluvut, joissa 16 ja 32 bittiä

Muoto Alue

Sana (16 bittiä, 3-numeroinen BCD-lukuetumerkillä)

-999 ... +999

Kaksoissana (32 bittiä, 7-numeroinenBCD-luku etumerkillä)

-9 999 999 ... +9 999 999

+310(Desimaalimuoto)

0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0037 48111215Bitti

Etumerkki Sadat(102)

Kymmenet(101)

Ykköset(100)

Kuva 3-5 Binäärikoodatut desimaaliluvut sanamuodossa

-9 999 999 (Desimaalimuoto)

1 0 0 1 1 0 0 1 1 0 0 1037 481112

Bitti

Etumerkki Sadat(102)

Kymme--net(101)

Ykköset(100)

Tuhannet(103)

Kymmenet--tuhannet(104)

Sadat--tuhannet(105)

Miljoonat(106)

1 1 1 11516192023242728311 0 0 11 0 0 11 0 0 11 0 0 1

Kuva 3-6 Binäärikoodatut desimaaliluvut kaksoissanamuodossa

Binäärikoodattuesitys

Lukujen esitys

Page 287: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-9C79000-G7000-C402-01

Jos aika annetaan tiedostotyypillä S5TIME, tallentuvat annot BCD-muodossa(katso kuva 3-7 ja taulukko 3-8).

Mikäli toimitaan S5TIME:lla, annetaan alueella 0 ... 999 oleva aika-arvo janimetään aikakerroin (katso taulukko 3-8). Aikakerroin ilmoittaa intervallin,jossa aika pienentää aika-arvoa yhdellä yksiköllä, kunnes se saavuttaa ”0”:n.

Merkityksetön: Näitä bittejä ei huomioida aikaa käynnistettäessä.

Aika-arvo BCD-muodossa (0 ... 999)

15... ...8 7... ...0

1 2 7

x x 1 0 0 0 0 1 0 0 1 0 0 1 1 1

Aikakerroin

1 s

Kuva 3-7 Aikaoperadin sisältö: Aika--arvo127, aikakerroin 1s

Taulukko 3-8 S5TIME:n aikakerroin

Aikakerroin Aikakertoimen binäärikoodi

10 ms 00

100 ms 01

1 s 10

10 s 11

Esimääritelty aika-arvo voidaan ladata seuraavalla syntaksilla.

S W#16#wxyz

-- w = aikakerroin (ts. aikaintervalli tai tarkkuus)

-- xyz = aika-arvo BCD-muodossa

S S5T#aH_bbM_ccS_dddMS

-- a = tunnit, bb = minuutit, cc = sekunnit ja ddd = millisekunnit.

-- Aikakerroin valitaan automaattisesti ja arvo pyöristetään kyseiselläaikakertoimella seuraavaan alempaan lukuun.

Voidaan antaa enintään 9 990 sekunnin tai 2H_46M_30S:n aika-arvo.

Kun päiväys ja kellonaika annetaan tiedostotyypillä DATE_AND_TIME,tallentuvat annot BCD-muodossa (katso taulukko 3-9). TiedostotyyppiDATE_AND_TIME käsittää seuraavan alueen:

DT#1990-1-1-0:0:0.0 ... DT#2089-12-31-23:59:59.999

Ajan muoto

Päiväyksen jakellonajan muoto

Lukujen esitys

Page 288: S7-300/400 Ohjelmointi FUB/FDB - · PDF fileEsipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla Osa 2: Kielikuvaus Liitteet C79000-G7000-C508-02 FUP/FBD S7-300/400 Yksiköiden

3-10 C79000-G7000-C402-01

Seuraavissa esimerkeissä on syntaksi, jonka avulla annetaan päiväys jakellonaika torstaille, 25. joulukuuta 1993, kello 8:01 ja 1,23 sekuntia:

S DATE_AND_TIME#1993-12-25-8:01:1.23

S DT#1993-12-25-8:01:1.23

Seuraavat IEC-standarditoiminnat (International ElectrotechnicalCommission) ovat käytettävissä tiedostotyyppiä DATE_AND_TIMEkäytettäessä. Tarkempaa tietoa tästä on ohjelmointikäsikirjassa /234/).

S Päiväyksen ja kellonajan muunto muotoon DATE_AND_TIME (DT)

FC3: D_TOD_DT

S Päiväyksen purku muodosta DATE_AND_TIME

FC6: DT_DATE

S Viikonpäivän purku muodosta DATE_AND_TIME

FC7: DT_DAY

S Kellonajan purku muodosta DATE_AND_TIME

FC8: DT_TOD

Taulukossa 3-9 on lueteltu tavujen sisältö, jotka sisältävät päivämäärä- jakellonaikatiedot. Esimerkissä on torstain, 25. joulukuuta 1993, kellonajan8:01 ja 1,23 sekuntia päiväys ja kellonaika.

Taulukko 3-9 Päiväyksen ja kellonajan tavujen sisältö

Tavu Sisältö Esimerkki

0 Vuosi B#16#93

1 Kuukausi B#16#12

2 Päivä B#16#25

3 Tunti B#16#08

4 Minuutti B#16#01

5 Sekunti B#16#01

6 MSEC:n kummatkin korkea--arvoiset luvut B#16#23

7(4MSB)

MSEC:n alempiarvoiset luvut B#16#0

7(4LSB)

Viikonpäivä1 = sunnuntai2 = maanantai...7 = lauantai

B#16#5

Lukujen esitys