13.07.2015 Views

S7-300/400 Ohjelmointi FUB/FDB - Siemens

S7-300/400 Ohjelmointi FUB/FDB - Siemens

S7-300/400 Ohjelmointi FUB/FDB - Siemens

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

EsipuheKäsikirjantarkoitusTä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.KäyttäjätTämä käsikrija on tarkoitettu <strong>S7</strong>-ohjelmoijille, käyttöönottajille jahuoltohenkilökunnalle. Tämä edellyttää kyseisen alueen automaatiotekniikanyleistä tuntemusta.KäsikirjanvoimassaoloIEC 1131-3:nmukaiset normitTä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äskylistamuotoOhjelmaesimerkeissä käytetään SIMATIC -lyhennekielivalintaa.C79000-G7000-C402-01iii


EsipuheTaulukko A-1InformaatiosisältöNimiAapinen<strong>S7</strong>-<strong>300</strong> Yksinkertainenrakenne ja ohjelmointi<strong>Ohjelmointi</strong>käsikirjaOhjelmasuunnittelu<strong>S7</strong>-<strong>300</strong>/<strong>400</strong>ReferenssikäsikirjaJärjestelmä- ja standarditoiminnat<strong>S7</strong>-<strong>300</strong>/<strong>400</strong>KäyttäjäkäsikirjaSTEP 7KäyttäjäkäsikirjaS5-ohjelmienkonvertointiKäsikirjatAWL, KOP, FUP, SCL 1KäsikirjatGRAPH 1 ,HiGraph 1 ,CFC 11 <strong>S7</strong>-<strong>300</strong>/<strong>400</strong>:n optiopaketit järjestelmäohjelmistolleSisältöAapinen perehdyttää hyvin yksinkertaisesti <strong>S7</strong>-<strong>300</strong>/<strong>400</strong>:n ohjelmoinnin ja rakenteenmetodiikkaan.Se sopii erinomaisesti <strong>S7</strong>-automaatiojärjestelmän ensikäyttäjälle.<strong>Ohjelmointi</strong>käsikirja ”Ohjelmasuunnittelu <strong>S7</strong>-<strong>300</strong>/<strong>400</strong>” antaa perustavaa laatua olevaatietoa <strong>S7</strong>-CPU:n käyttäjäohjelman ja käyttöjärjestelmän rakenteesta. <strong>S7</strong>-<strong>300</strong>/<strong>400</strong>:n ensikäyttäjäntulisi käyttää sitä hankkiakseen yleiskuvan ohjelmointimetodiikasta ja rakentaakseenkäyttäjäohjelmansa suunnitelun sen varaan.<strong>S7</strong>-CPUt sisältävät käyttöjärjestelmään integroituja järjestelmätoimintoja ja organisaatioyksiköitä,joita voidaan käyttää ohjelmoinnissa. Käsikirja antaa yleiskuvan <strong>S7</strong>:ssäkäytettävistä järjestelmätoiminnoista, organisaatioyksiköistä ja ladattavista standarditoiminnoistasekä - hakutietona - yksityiskohtaisia liitäntäpistekuvauksia käyttäjäohjelmaansoveltamiseksi.”STEP 7” -käyttäjäkäsikirjassa selitetään STEP 7 -automaatio-ohjelmiston periaatteellistakäyttöä ja toimintoja. STEP 7:n ensikäyttäjälle sekä myös STEP 5:n tuntijalle antaakäsikirja yleiskuvan <strong>S7</strong>-<strong>300</strong>/<strong>400</strong>: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äsikirjaa ”S5-ohjelmien konvertointi” tarvitaan, mikäli halutaan konvertoidajo olemassa olevia S5-ohjelmia, jotta nämä saataisiin toimimaan <strong>S7</strong>-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 <strong>S7</strong>-toimintojen liitäntäpistekuvauksen.Kielipakettien AWL, KOP FUP ja SCL -käsikirjoissa on sekä käyttöohjeet että kielikuvaus.<strong>S7</strong>-<strong>300</strong>/<strong>400</strong>: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 yksityiskohtaisiinkysymyksiin koskien asianomaisten editorien/käännösohjelmien käyttöä.GRAPH, HiGraph, CFC -kielet tarjoavat lisäksi mahdollisuuksia askelohjausten, tilaohjaustentai graafisten yksikkökytkentöjen toteuttamiseen. Käsikirjoissa on sekä käyttöohjeettä kielikuvaus. Käytettäessä kieliä ensimmäistä kertaa suositellaan perehtymistäohjelman laadintamenetelmiin käsikirjan avulla. SW:llä työskenneltäessä voidaan käyttäälisäksi Online-apua (poikkeuksena HiGraph), joka vastaa kaikkiin yksityiskohtaisiinkysymyksiin koskien asianomaisten editorien/käännösohjelmien käyttöä.Oheiset käsikirjat ovat englannin- ja saksankielisiä.C79000-G7000-C402-01v


EsipuheHakuapukäsikirjaanTämä FUP -käsikirja edellyttää teoreettista tietoa <strong>S7</strong>-ohjelmista, jota saaohjelmointikäsikirjasta /234/ . Koska kielipaketit perustuvat STEP 7-perusohjelmistoon,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.Muu tukiKuvatun ohjelmiston käyttöä koskevissa kysymyksissä, joihin ei löydyvastausta paperidokumentoinnista eikä Online-avusta, tulee kääntyä<strong>Siemens</strong>in puoleen.Lisäksi on käytettävissä Hotline -puhelinpalvelu:Puh. (09) 5105 3888Helpottaaksemme SIMATIC <strong>S7</strong> -automaatiojärjestelmään tutustumista,pidämme kursseja tästä aiheesta.Puh. 09 -- 51051 / Simatic--kurssit.EritysiviittausTä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.viC79000-G7000-C402-01


<strong>Ohjelmointi</strong>esimerkkejä2.1 YleiskuvaKäytännönsovelluksetJokainen 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.Käytetyt operaatiotTä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


<strong>Ohjelmointi</strong>esimerkkejäAbsoluuttinenohjelmointiKuljetinhihnan 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-2Kuljetinhihnajärjestelmän absoluuttisen ohjelmoinnin elementitJärjestelmäkomponentitAbsoluuttinen nimikeKäynnistyskytkin E1.1Pysäytykytkin E1.2Käynnistyskytkin E1.3Pysäytyskytkin E1.4Anturi E1.5Moottori A4.0Virtapiiri 1: Moottori käynnistetään painamalla jompaakumpaa käynnistyskytkintä.E1.1E1.3>=1A4.0SVirtapiiri 2: Moottori pysäytetään painamalla jompaakumpaa pysäytyskytkintä tai kysymällä hihnanpäässä olevaa anturia.E1.2>=1E1.4E1.5A4.0RKuva 2-2Kuljetinhihnan ohjauksen toimintakaavio2-4 C79000-G7000-C402-01


<strong>Ohjelmointi</strong>esimerkkejä2.3 AikaoperaatiotTahtianturiJaksottain 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 <strong>S7</strong>-<strong>300</strong>: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.C79000-G7000-C402-012-7


<strong>Ohjelmointi</strong>esimerkkejäVirtapiiri 1: Kun ajan T1 signaalitila on ”0”, ladataan 250 ms:n aika--arvo T1:een ja käynnistetään T1pidennettynä impulssina.M0.2&T1SVS5T#250MSTWVirtapiiri 2: Timerin tila välitallennetaan apumerkkeriin.M0.2T1&=Virtapiiri 3: Mikäli ajan T1 signaalitila on yhtäsuuri kuin ”1”, hyppää silloin hyppymerkkiin M001.M001M0.2 &JMPVirtapiiri 4: Timerin T1 jokaisen ajan jälkeen lisätään merkkerisanaa 100 ”1”:llä.??.?ADD_IENMW100IN1OUTMW1001IN2ENOVirtapiiri 5: Lähtöjen A 12.0 ... A 13.7 eri tahtitaajuudet voidaan näyttää operaatiolla MOVE.M001??.?MOVEEN OUT AW12MW100INENOKuva 2-5Tahdin muodostamisen toimintakaavio2-8 C79000-G7000-C402-01


<strong>Ohjelmointi</strong>esimerkkejäAjan T1 signaalitilakysely antaa kuvassa 2-6 lukitustuloksen (LUK: katsokappale 6.3).10250 msKuva 2-6Kää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.10250 msKuva 2-7Ajan 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ä.Tietyn taajuudensaaminenTaulukossa 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-5Tahtiaikaesimerkin taajuudetMB101:n/MB100:n bititTaajuus hertseinäKestoM 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)C79000-G7000-C402-012-9


<strong>Ohjelmointi</strong>esimerkkejäTaulukko 2-5Tahtiaikaesimerkin taajuudetMB101:n/MB100:n bititTaajuus hertseinäKestoM 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-6Merkkeritavun MB101 bittien signaalitilatMerkkeritavun MB101 bittien signaalitilat Aika -Sykliarvo7 6 5 4 3 2 1 0 ms:na0 0 0 0 0 0 0 0 0 2501 0 0 0 0 0 0 0 1 2502 0 0 0 0 0 0 1 0 2503 0 0 0 0 0 0 1 1 2504 0 0 0 0 0 1 0 0 2505 0 0 0 0 0 1 0 1 2506 0 0 0 0 0 1 1 0 2507 0 0 0 0 0 1 1 1 2508 0 0 0 0 1 0 0 0 2509 0 0 0 0 1 0 0 1 25010 0 0 0 0 1 0 1 0 25011 0 0 0 0 1 0 1 1 25012 0 0 0 0 1 1 0 0 250TM 101.1100250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 sZeitTaajuus = 1 T = 11s = 1HzKuva 2-8MB101:n (M 101.1) bitin 1 signaalitila2-10 C79000-G7000-C402-01


<strong>Ohjelmointi</strong>esimerkkejä2.4 Laskenta- ja vertailuoperaatiotVaraston laskuritja vertailijatKuva 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.NäyttökonsoliVarastoaluetyhjäVarastoalueei tyhjäVarastoalue50%:sti täynnäVarastoalue90%:sti täynnäVarastoaluetäynnä(A 12.0) (A 12.1) (A 15.2) (A 15.3) (A 15.4)tulevat paketitE 12.0 Väliaikainen E 12.1varastoalue100:lle paketillelähtevätpaketitKuljetinhihna 1Valokenno 1 Valokenno 2Kuljetinhihna 2Kuva 2-9Varastoalueen laskurit ja vertailijatC79000-G7000-C402-012-11


<strong>Ohjelmointi</strong>esimerkkejä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ä”.Z1LASKURIE12.0ZVE12.1ZRE12.2SDUALMW210C#10ZWDEZMW200A12.1E12.3RQ=Virtapiiri 2: A12.0 näyttää ”varastoalue ei ole tyhjä”.A 12.1&A12.0=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.50MW200IN1IN2CMP= IIN1IN2A15.3=Virtapiiri 5: Laskenta--arvon ollessa suurempi tai yhtäsuuri kuin 100, kytkeytyy ilmoituksen ”varastoaluetäynnä” näyttölamppu päälle.CMP>= IMW200 IN1A15.4100 IN2=Kuva 2-10Toimintakaavio näyttölamppujen aktivoimiseksi näyttökonsolissa2-12 C79000-G7000-C402-01


<strong>Ohjelmointi</strong>esimerkkejä2.5 Aritmeettiset operaatiot kokonaisluvuillaYhtälönlaskeminenSeuraavassa ohjelmaesimerkissä selitetään, miten kokonaislukujen kolmellaaritmeettisella operaatiolla ja operaatioilla L ja T toteutetaan seuraava yhtälö:MW4 =(EW0 + DBW3) × 15MW0Virtapiiri 1: Tiedostoyksikön DB1 avausDB1AUKIVirtapiiri 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_IENEW0IN1OUTMW100MUL_IDBW3IN2ENOENMW100IN1OUTMW102DIV_I15IN2ENOENMW102IN1OUTMW4MW0IN2ENOKuva 2-11Toimintakaavio aritmeettiset operaatiot kokonaisluvuillaC79000-G7000-C402-012-13


<strong>Ohjelmointi</strong>esimerkkejä2.6 SanalukitusoperaatiotUunin lämmitysKuvassa 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-7Lämmitysjärjestelmäkomponentit ja niiden vastaavat absoluuttisetosoitteetJärjestelmäkomponentitFUP-ohjelman absoluuttinen osoiteKäynnistyskytkin E0.7Digit. esivalintakytkin ykkösille E 1.0 ... E 1.3Digit. esivalintakytkin kymmenille E 1.4 ... E 1.7Digit. esivalintakytkin sadoille E 0.0 ... E 0.3Lämmitystapahtuman aloitus A4.0Digitaalinen esivalintakytkin BCD-lukujen asettamiseksiUuni4 4 4LämpöA4.07....XXXX 0001...0 7......01001 0001BititEW0EB0Käynnistyskytkin E 0.7EB1TavutKuva 2-12 Tulojen ja lähtöjen käyttö aikarajoitetussa lämmityksessä2-14 C79000-G7000-C402-01


<strong>Ohjelmointi</strong>esimerkkejäVirtapiiri 1: Aloita lämmitys ajan juostessa. Operaatio hyppy takaisin päättää käsittelyn tähän ajanjuostessa.T1&A4.0=Virtapiiri 2:Operaatio hyppy takaisin päättää käsittelyn tähän ajan juostessa.T1&RETVirtapiiri 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.??.?WAND_WENEW0W#16#FFFIN1IN2OUTENOMW1WOR_WENMW1IN1OUTMW2W#16#2000IN2ENOVirtapiiri 4: Käynnistä aika T1 pidennettynä impulssina, kun kytkintä painetaan. Merkkerisana MW2ladataan esiasetuksena (ym. lukitusoperaation johtamana).E0.7&T1SVMW2TWKuva 2-13 Uunin lämmityksen toimintakaavioC79000-G7000-C402-012-15


<strong>Ohjelmointi</strong>esimerkkejä2-16 C79000-G7000-C402-01


Aakkosellinen operaatiolista1YleiskuvakappaleestaKappale Sisältö SivuA.1 Englanninkielinen selityslista A-1A.2 Kansainvälinen (englanninkielinen) selityslista vastaavinsaksankielisin selityksinA-6C79000-G7000-C402-011-1


Aakkosellinen operaatiolista1.1 Englanninkielinen selityslistaTaulukossa 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-1FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikallaSelitysKansainvälinenmnemoniikkaAdd Double Integer ADD_DI 11-3Add Integer ADD_I 11-2Add Real ADD_R 12-3Address Negative Edge Detection NEG 8-31Address Positive Edge Detection POS 8-30AND & 8-3Assign = 8-9Assign a Value MOVE 14-2BCD to Double Integer BCD_DI 14-6BCD to Integer BCD_I 14-3Call FB from Box CALL_FB 20-4Call FC from Box CALL_FC 20-4Call FC SFC (without parameters) CALL 20-2Call System FB from Box CALL_SFB 20-4Call System FC from Box CALL_SFC 20-4Ceiling CEIL 14-16Compare Double Integer (>, =D 13-3Compare Integer (>, =I 13-2Compare Real (>, =R 13-4Divide Double Integer DIV_DI 11-9Divide Integer DIV_I 11-8Divide Real DIV_R 12-6Double Integer to BCD DI_BCD 14-7Double Integer to Real DI_R 14-8Down Counter (laskentaoperaatio) S_CD 10-7Down Counter (bittilukitusoperaatio) CD 8-17Exception Bit BR Memory BR 19-3Exception Bit Overflow OV 19-7Exception Bit Overflow Stored OS 19-8Exception Bit Unordered UO 19-6Exclusive OR XOR 8-6Extended Pulse S5 Timer (aikaoperaatio) S_PEXT 9-7Sivu1-2 C79000-G7000-C402-01


Aakkosellinen operaatiolistaTaulukko 1-1FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoaSelitysKansainvälinenmnemoniikkaExtended Pulse Timer (bittilukitusoperaatio) SE 8-20Floor FLOOR 14-17Form the Absolute Value of a Floatingpoint Number ABS 12-8Form the Arc Cosine of a Floatingpoint Number ACOS 12-13Form the Arc Sine of a Floatingpoint Number ASIN 12-13Form the Arc Tangent of a Floatingpoint Number ATAN 12-13Form the Cosine of a Floatingpoint Number COS 12-13Form the Exponential Value of a Floatingpoint Number EXP 12-12Form the Natural Logarithm of a Floatingpoint Number LN 12-11Form the Sine of a Floatingpoint Number SIN 12-13Form the Square of a Floatingpoint Number SQR 12-9Form the Square Root of a Floatingpoint Number SQRT 12-10Form the Tangent of a Floatingpoint Number TAN 12-13Insert Binary Input - - - | 8-7Integer to BCD I_BCD 14-4Integer to Double Integer I_DI 14-5Jump JMP 18-3Jump-If-Not JMPN 18-5Master Control Relay Activate MCRA 20-10Master Control Relay Deactivate MCRD 20-10Master Control Relay Off MCR> 20-13Master Control Relay On MCR< 20-13Midline Output # 8-10Multiply Double Integer MUL_DI 11-7Multiply Integer MUL_I 11-6Multiply Real MUL_R 12-5Negate Binary Input - - - o | 8-8Negate Real Number NEG_R 14-13Negative RLO Edge Detection N 8-29Off-Delay S5 Timer (aikaoperaatio) S_OFFDT 9-13Off-Delay Timer (bittilukitusoperaatio) SF 8-26On-Delay S5 Timer (aikaoperaatio) S_ODT 9-9On-Delay Timer (bittilukitusoperaatio) SD 8-22ONEs Complement Double Integer INV_DI 14-10ONEs Complement Integer INV_I 14-9Open Data Block: DB or DI OPN 17-2OR >=1 8-4SivuC79000-G7000-C402-011-3


Aakkosellinen operaatiolistaTaulukko 1-1FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoaSelitysKansainvälinenmnemoniikkaPositive RLO Edge Detection P 8-28Pulse S5 Timer (aikaoperaatio) S_PULSE 9-5Pulse Timer (bittilukitusoperaatio) SP 8-18Reset Output R 8-13Reset_Set Flip Flop RS 8-33Result Bit Equal 0 ==0 1-6Result Bit Greater Equal 0 >=0 19-4Result Bit Greater Than 0 >0 19-4Result Bit Less Equal 0


Aakkosellinen operaatiolistaTaulukko 1-1FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoaSelitysKansainvä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-5SivuC79000-G7000-C402-011-5


Aakkosellinen operaatiolista1.2 Kansainvälinen IEC (englanninkielinen) selityslista vastaavin(Simatic) saksankielisin selityksinTaulukossa A-1 on aakkosellinen FBD/FUP-operaatiolista kansainvälisine(IEC) (englanninkielisine) selityksineen ja saksankielisine SIMATIC-vastaavuuksineenja sivu, jolla kyseinen operaatio selitetään.Taulukko 1-2FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinenKuvaus SIMATIC-mnemoniikka suomeksi SivuAdd Double Integer Kokonaislukujen yhteenlasku (32 bittiä) 11-3Add Integer Kokonaislukujen yhteenlasku (16 bittiä) 11-2Add Real Liukulukujen yhteenlasku 12-3Address Negative Edge Detection Signaalireunan 1 0 kysely (pulssin teko) 8-31Address Positive Edge Detection Signaalireunan 0 1 kysely (pulssin teko) 8-30AND JA-lukitus 8-3Assign Osoitus 8-9Assign a Value Arvon siirto 14-2BCD to Double Integer BCD-luvun muunto kokonaisluvuksi (32 bittiä) 14-6BCD to Integer BCD-luvun muunto kokonaisluvuksi (16 bittiä) 14-3Call FB from Box FB:n kutsu 20-4Call FC from Box FC :n kutsu 20-4Call FC SFC (without parameters) FC/SFC:n kutsu ilman parametrejä 20-2Call System FB from Box Järjestelmä FB:n kutsu 20-4Call System FC from Box Järjestelmä FC-kehyksen kutsu 20-4CeilingSeuraavaksi suuremman kokonaisluvun14-16muodostus liukuluvustaCompare Double Integer (>, , ,


Aakkosellinen operaatiolistaTaulukko 1-2FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoaKuvausSIMATIC-mnemoniikka suomeksiExtended Pulse S5 Timer (aikaoperaatio) Ajan käynnistys pidennettynä impulssina (SV) 9-7Extended Pulse Timer (bittilukitusoperaatio) Ajan käynnistys pidennettynä impulssina (SV) 8-20Form the Absolute Value of a Floatingpoint No. Liukuluvun absoluuttiarvon muodostus 12-8Form the Arc Cosine of a Floatingpoint Number Liukuluvun arkuskosinin muodostus 12-13Form the Arc Sine of a Floatingpoint Number Liukuluvun arkussinin muodostus 12-13Form the Arc Tangent of a Floatingpoint No. Liukuluvun arkustangentin muodostus 12-13Form the Cosine of a Floatingpoint Number Liukuluvun kosinin muodostus 12-13Form the Exponential Value of a Floatingpoint Liukuluvun eksponenttiarvon muodostus 12-12NumberForm the Natural Logarithm of a Floatingpoint Liukuluvun luonnollisen logaritsmin muodostus 12-11NumberForm the Sine of a Floatingpoint Number Liukuluvun sinin muodostus 12-13Form the Square of a Floatingpoint Number Liukuluvun neliön muodostus 12-9Form the Square Root of a Floatingpoint No. Liukuluvun neliöjuuren muodostus 12-10Form the Tangent of a Floatingpoint Number Liukuluvun tangentin muodostus 12-13FloorSeuraavaksi pinenmmän kokonaisluvun14-17muodostus liukuluvustaInsert Binary Input Binääritulon väliinkirjoitus 8-7Integer to BCD Kokonaisluvun (16 bittiä) muunto BCD-luvuksi 14-4Integer to Double IntegerKokonaisluvun (16 bittiä) muunto14-5kokonaisluvuksi (32 bittiä)Jump Hyppy, kun 1 18-3Jump-If-Not Hyppy, kun 0 18-5Master Control Relay Activate Master Control Relayn alku 20-10Master Control Relay Deactivate Master Control Relayn loppu 20-10Master Control Relay Off Master Control Relay pois päältä 20-13Master Control Relay On Master Control Relay päälle 20-13Midline Output Konnektori 8-10Multiply Double Integer Kokonaislukujen kertolasku (32 bittiä) 11-7Multiply Integer Kokonaislukujen kertolasku (16 bittiä) 11-6Multiply Real Liukulukujen kertolasku 12-5Negate Binary Input Binääritulon kääntö 8-8Negate Real Number Liukuluvun etumerkin vaihto 14-13Negative RLO Edge Detection Reunan 1 0 kysely (pulssin teko) 8-29OR TAI-lukitus 8-4Off-Delay S5 Timer (aikaoperaatio) Ajan käynnistys päästöhidastuksena (SA) 9-13Off-Delay Timer (bittilukitusoperaatio) Ajan käynnistys päästöhidastuksena (SA) 8-26On-Delay S5 Timer (aikaoperaatio) Ajan käynnistys vetohidastuksena (SE) 9-9On-Delay Timer (bittilukitusoperaatio) Ajan käynnistys vetohidastuksena (SE) 8-22SivuC79000-G7000-C402-011-7


Aakkosellinen operaatiolistaTaulukko 1-2FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoaKuvausONEs Complement Double IntegerONEs Complement IntegerSIMATIC-mnemoniikka suomeksiKokonaisluvun (32 bittiä) 1n komplementinmuodostusKokonaisluvun (16 bittiä) 1n komplementinmuodostusOpen Data Block: DB or DI Tiedostoyksikön avaus 17-2Positive RLO Edge Detection Reunan 0 1 kysely (pulssin teko) 8-28Pulse S5 Timer (aikaoperaatio) Ajan käynnistys impulssina (SI) 9-5Pulse Timer (bittilukitusoperaatio) Ajan käynnistys impulssina (SI) 8-18Reset Output Lähdön nollaus 8-13Reset_Set Flip Flop Flipflopin nollaus/asetus 8-33Result Bit Equal 0 Tulosbitti yhtäsuuri kuin 0 19-4Result Bit Greater Equal 0 Tulosbitti suurempi tai yhtäsuuri kuin 0 19-4Result Bit Greater Than 0 Tulosbitti suurempi kuin 0 19-4Result Bit Less Equal 0 Tulosbitti pienempi tai yhtäsuuri kuin 0 19-4Result Bit Less Than 0 Tulosbitti pienempi kuin 0 19-4Result Bit Not Equal 0 Tulosbitti erisuuri kuin 0 19-4Retentive On-Delay S5 Timer (aikaoperaatio)Retentive On-Delay Timer(bittilukitusoperaatio)Ajan käynnistys tallentavana vetohidastuksena(SS)Ajan käynnistys tallentavana vetohidastuksena(SS)Return Hyppy takaisin 20-8Sivu14-10Return Fraction Double Integer Jakojäännös (32 bittiä) 11-10Rotate Left Double Word 32 bitin pyöritys vasemmalle 16-11Rotate Right Double Word 32 bitin pyöritys oikealle 16-12Round to Double Integer Luvun pyöristys 14-14Save RLO to BR Memory Lukitustuloksen lataus BIE-rekisteriin 8-11Set Output Lähdön asetus 8-12Set Counter Value Laskurin aloitusarvon asetus 8-14Set_Reset Flip Flop Flipflopin asetus/nollaus 8-32Shift Left Double Word 32 bitin siirto vasemmalle 16-4ShiftLeftWord 16 bitin siirto vasemmalle 16-3Shift Right Double Integer Kokonaisluvun (32 bittiä) siirto oikealle 16-9Shift Right Double Word 32 bitin siirto oikealle 16-6Shift Right Integer Kokonaisluvun (16 bittiä) siirto oikealle 16-8Shift Right Word 16 bitin siirto oikealle 16-5Subtract Double Integer Kokonaislukujen vähennyslasku (32 bittiä) 11-5Subtract Integer Kokonaislukujen vähennyslasku (16 bittiä) 11-4Subtract Real Liukulukujen vähennyslasku 12-4Truncate Double Integer Part Kokonaislukujen muodostus 14-1514-99-118-241-8 C79000-G7000-C402-01


Aakkosellinen operaatiolistaTaulukko 1-2FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoaKuvausTWOs Complement Double IntegerTWOs Complement IntegerSIMATIC-mnemoniikka suomeksiKokonaisluvun (32 bittiä) 2n komplementinmuodostusKokonaisluvun (16 bittiä) 2n komplementinmuodostusUp Counter (laskentaoperaatio) Eteenpäinlaskenta 10-5Up Counter (bittilukitusoperaatio) Eteenpäinlaskenta 8-16Up-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-5Sivu14-1214-11Taulukko 1-3Tämän käsikirjan SIMATIC-mnemoniikalla ja kansainvälisellä (IEC) mnemoniikalla esitetytFBD/FUP-operaatiotSIMATIC-kuvaus SIMATIC-mnemoniikka IEC-mnemoniikka SivuTiedostoyksikön avaus AUF OPN 17-2Taaksepäinlaskenta (laskentaoperaatio) Z_RUECK S_CD 10-7Taaksepäinlaskenta (bittilukitusoperaatio) ZR CD 8-17BIE-rekisterin bitti BIE BR 19-3Eteenpäinlaskenta (laskentaoperaatio) Z_VORW S_CU 10-5Eteenpäinlaskenta (bittilukitusoperaatio) ZV CU 8-16Eteenpäin-/taaksepäinlaskenta ZAEHLER S_CUD 10-3Laskurin lähtöarvon asetus SZ SC 8-14Ajan käynnistys päästöhidastuksena (SA) S_AVERZ S_OFFDT 9-13(aikaoperaatio)Ajan käynnistys päästöhidastuksena (SA) SA SF 8-26(bittilukitusoperaatio)Ajan käynnistys vetohidastuksena (SE) S_EVERZ S_ODT 9-9(aikaoperaatio)Ajan käynnistys vetohidastuksena (SE) SE SD 8-22(bittilukitusoperaatio)Ajan käynnistys impulssina (SI) (aikaoperaatio) S_IMPULS S_PULSE 9-5Ajan käynnistys impulssina (SI)SI SP 8-18(bittilukitusoperaatio)Ajan käynnistys tallentavana vetohidastuksena(SS) (aikaoperaatio)S_SEVERZ S_ODTS 9-11C79000-G7000-C402-011-9


Aakkosellinen operaatiolistaTaulukko 1-3Tämän käsikirjan SIMATIC-mnemoniikalla ja kansainvälisellä (IEC) mnemoniikalla esitetytFBD/FUP-operaatiot, jatkoaSIMATIC-kuvausAjan käynnistys tallentavana vetohidastuksena(SS) (bittilukitusoperaatio)Ajan käynnistys pidennettynä impulssina (SV)(aikaoperaatio)Ajan käynnistys pidennettynä impulssina (SV)(bittilukitusoperaatio)SIMATIC-mnemoniikka IEC-mnemoniikka SivuSS SS 8-24S_VIMP S_PEXT 9-7SV SE 15-51-10 C79000-G7000-C402-01


Aakkosellinen operaatiolistaC79000-G7000-C402-011-11


LiitteetAakkosellinen operaatiolista<strong>Ohjelmointi</strong>esimerkkejäLukujen esitysABC


20-18 C79000-G7000-C402-01


Ohjelmanohjausoperaatiot20YleiskuvakappaleestaKappale Sisältö Sivu20.1 FC/SFC:n kutsu ilman parametrejä 20-220.2 FB:n, FC:n, SFB:n, SFC:n ja multi -instanssien kutsu 20-420.3 Hyppy takaisin 20-820.4 Master Control Relayn toiminnat 20-920.5 Master Control Relayn alku/loppu 20-1020.6 Master Control Relay päälle/pois päältä 20-13C79000-G7000-C402-0120-1


Ohjelmanohjausoperaatiot20.1 FC/SFC:n kutsu ilman parametrejäKuvausOperaatiolla 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.SSSSSe tallentaa kummatkin tiedostoyksikkörekisterit (tiedostoyksikkö jaoheistiedostoyksikkö).Se korvaa edellisen paikallisdata-alueen aktuellilla paikallisdata-alueella.Se siirtää MA-bitin (aktiivinen MCR-bitti) yksikköpinoon (B-pino).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ä-kehysFUP -kehys Parametri Tied.tyyppi Muistialue KuvausCALLNumero 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ä.20-2 C79000-G7000-C402-01


OhjelmanohjausoperaatiotDB10OPNMCRAFC10CALLE0.0A4.0=MCRDE0.1FC11CALLMikäli FC 10:n ehdoton kutsu suoritetaan, toimii CALL --operaatio seuraavasti:SSSSe tallentaa aktuellin FB:n takaisinhyppyosoitteen.Se tallentaa DB 10:n valitsimen ja FB:n oheisyksikön.Se siirtää operaation MCRA ”1”:ksi asettaman MA--bitin yksikköpinoon (B--pino) ja asettaasen 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 kuvausEhdoton kutsu BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 -- 0Ehdollinen kutsuBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 1 0Kuva 20-1FC/SFC :n kutsu ilman parametrejäC79000-G7000-C402-0120-3


Ohjelmanohjausoperaatiot20.2 FB:n, FC:n, SFB:n, SFC:n ja multi -instanssien kutsuKuvausToimintayksikö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ötS FC yksikötS SFB yksikötS SFC yksikötS Multi -instanssitS KirjastotMikä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 olemassa<strong>S7</strong>-ohjelmassa, kirjastossa tai CPU:ssa.Jos operaatio (FB:n, FC:n, SFB:n, SFC:n ja multi-instanssien kutsu) suoritetaan,toimii se seuraavasti:S Se tallentaa kutsuvan yksikön takaisinhyppyosoitteen.SSSSSe tallentaa kummatkin tiedostoyksikkörekisterit (tiedostoyksikkö jainstanssi -tiedostoyksikkö).Se korvaa edellisen paikallisdata-alueen aktuellilla paikallisdata-alueella.Se siirtää MA-bitin (aktiivinen MCR-bitti) yksikköpinoon (B-pino).Se asettaa kutsutulle FC:lle tai SFC:lle uuden paikallisdata-alueen.HuomautusDB- 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ä.20-4 C79000-G7000-C402-01


OhjelmanohjausoperaatiotVapautuslähtö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:SSLUK:n ollessa ”1” tallennetaan se BIE-bittiin sitä tilannetta varten, ettäFB tai FC käsitellään virheettömästi.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ä.!VaroitusBIE-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 BIEbitin.Kyseisen virheen välttämiseksi tallennetaan LUK FB:n tai FC:n loppuunkuten edellä on kuvattu.Kutsun vaikutustilasanan bitteihinKuvassa 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 xKuva 20-2Yksikkökutsun vaikutus tilasanan bitteihinC79000-G7000-C402-0120-5


OhjelmanohjausoperaatiotParametritKutsutun yksikön parametrit esitetään FUP-kehyksessä. Yksikkölajistariippuen on parametrejä osoitettaessa meneteltävä eri tavoin.SSSToimintaa (FC) varten on kaikki muodolliset parametrit varustettavatodellisilla parametreillä.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ä.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausDB--Nr.DB:n numero. Tämä infoDB -no BLOCK_DB -annetaan vain, jos halutaanYksikkönokutsuaFB:eitä.ENIN OUT EN BOOL E, A, M, D, L, T, Z VapautustuloIN/OUT ENO ENO BOOL E, A, M, D, L Vapautuslähtö20-6 C79000-G7000-C402-01


OhjelmanohjausoperaatiotDB13FB10EN ENOKutsuu FB10:täoheis--DB 13:llaTodellinen parametri,jonka arvot kopioidaanennen FB 10:n käsittelyäoheis--DB:hen DB 13.E1.0E1.1MW20Start RunStopPituusM2.1Tämän parametrin arvokopioidaan FB 10:n käsittelynjälkeen DB 13:sta M 2.1:een.FB:n muodollinen parametriKuva 20-3FB kutsu kehyksenäC79000-G7000-C402-0120-7


Ohjelmanohjausoperaatiot20.3 Hyppy takaisinKuvausYksiköistä voidaan poistua operaatiolla hyppy takaisin. Yksiköstä voidaanpoistua ehdollisesti.Taulukko 20-3 Hyppy takaisin -kehysFUP -kehys Parametri Tied.tyyppi Muistialue KuvausRET Ei ole - - -E0.0RETYksiköstä poistutaan, jos E 0.0 = 1.Tilasanan bittien kuvausEhdollinen takaisinhyppy (takaisinhyppy, jos LUK = 1)BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 1 0Kuva 20-4Hyppy takaisin20-8 C79000-G7000-C402-01


Ohjelmanohjausoperaatiot20.4 Master Control Relayn toiminnatMaster ControlRelayn määrittelyMaster 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 vaikuttavatFUP -kehys Kuvaus Tämän käsikirjan kappale#Konnektori 8.9=SRSRRSMOVEOsoitus 8.8Operandin asetus 8.11Operandin nollaus 8.12Flipflopin asetus/nollaus 8.25Flipflopin nollaus/asetus 8.26Arvon siirto 14.1Taulukko 20-5 MCR:stä riippuvat operaatiot ja niiden reaktiot MCR:n signaalitilaanTaulukko 20-5 MCR:stä riippuvat operaatiot ja niiden reaktiot MCR:n signaalitilaanMCR:nsignaalitilaOsoitus, konnektori=#Operandin asetus tai nollausSRSR RSArvon siirtoMOVE0 Kirjoittaa ”0”Ei kirjoitaKirjoittaa ”0”(Vastaa relettä, joka jännitteenkatketessa menee lepotilaan.)(Vastaa relettä, joka jännitteenkatketessa pysyy aktuellissatilassaan.)(Vastaa komponenttia, jokajännitteen katketessa antaaarvon ”0”.)1 Normaali käsittely Normaali käsittely Normaali käsittelyC79000-G7000-C402-0120-9


Ohjelmanohjausoperaatiot20.5 Master Control Relayn alku/loppuMCRn alkuOperaatiolla 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, riippuvatkaikki MCR-toiminnat MCR-pinon sisällöstä (katso kuva B-4).Taulukko 20-6 Master Control Relayn alku -kehysFUP -kehys Parametri Tied.tyyppi Muistialue KuvausMCRA Ei ole - - Aktivoi MCR -toiminnanMCRn loppuOperaatiolla 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 -kehysFUP -kehys Parametri Tied.tyyppi Muistialue KuvausMCRD Ei ole - - Deaktivoi MCR -toiminnanMCR-pino ja sen riippuvuutta ohjaava bitti (MA-bitti), viittaavat kulloisellekintasolle ja ne on varmistettava ja haettava joka kerran, kun sekvenssitasollatapahtuu muunto. Ne esiasetetaan jokaisen sekvenssitason alussa (MCRsyöttöbitit1 ... 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 lopussa.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.20-10 C79000-G7000-C402-01


OhjelmanohjausoperaatiotOB1FBxFCyMCRAMCRDMCRACall FCyMCRACall FBxMCRDMCRABEABEAMCR--bitistä riippumattomat operaatiotMCR--bitistä riippuvat operaatiotBEABEA on AWL--operaatio.Lähempää tietoa löytyy referenssikäsikirjasta /232/Kuva 20-5MCR -alueen aktivointi ja deaktivointiMCRA: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ä.C79000-G7000-C402-0120-11


OhjelmanohjausoperaatiotMCRAE0.0MCRMCRDMCRA --operaatio aktivoi MCR --toiminnan seuraavaan MCRD:hen asti. 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 riippumattaTilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --Kuva 20-6Master Control Relayn alku/loppuToimintojen (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.!VaroitusHenkilö- ja esinevahinkoriskit:MCR -operaatiota ei saa koskaan käyttää HÄTÄ-SEIS- tai turvaohjauksena.MCR ei ole kiinteästi johdotetun Master Control Relayn korvike.20-12 C79000-G7000-C402-01


Ohjelmanohjausoperaatiot20.6 Master Control Relay päälle/pois päältäMCR päälleOperaatiolla Master Control Relay päälle (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ä-kehysFUP -kehys Parametri Tied.tyyppi Muistialue KuvausMCR> Ei ole - - Sulkee viimeksi avatun MCR -alueenMCR:ää 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 lukitustuloksenMCR-pinoon. Operaatio MCR> poistaa pinon viimeisen merkinnänja 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ää).C79000-G7000-C402-0120-13


OhjelmanohjausoperaatiotLUK siirretty bitti# "MSP !LUKLUKLUK12345678# "Siirretty bitti 1MCRAMA" "1 0MCRDMSP = MCR--pino--osoitinMA = MCR--riippuvuutta ohjaava bittiKuva 20-7Master Control Relay -pinoMCR< ja MCR> -operaatioita saa käyttää ohjelmassa aina vain pareittain.Operaatio MCR< ottaa vastaan LUK:n signaalitilan ja kopioi sen MCR-bittiin.Operaatio MCR> asettaa MCR-bitin ehdottomasti ”1”:ksi. Jokainen muuMCRA:n ja MCRD:n välinen operaatio toimii tämän ominaisuuden perusteellaMCR-bitistä riippumatta (MCRA ja MCRD katso seuraava sivu).Operaatioiden(MCR)lomitteluOperaatiot 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 lomittelutasonMCR-bitti. Silloin operaatio MCR< lukitsee aktuellin LUK:n aktuellillaMCR-bitillä JA-totuustaulukon mukaisesti.Mikäli MCR> -operaatio päättää lomittelutason, hakee se MCR-bitin korkeammaltatasolta.20-14 C79000-G7000-C402-01


OhjelmanohjausoperaatiotMCRAE0.0 MCRMCRDJos 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.SE 0.0 = 0: Lähtö A 4.1 on ”0”, E 0.4:n signaalitilasta riippumattalä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 kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 -- 0Kuva 20-8Master Control Relay päälle/pois päältäC79000-G7000-C402-0120-15


Ohjelmanohjausoperaatiot20-16 C79000-G7000-C402-01


Tilabittioperaatiot19YleiskuvakappaleestaKappale Sisältö Sivu19.1 Yleiskuva 19-219.2 BIE-rekisterin häiriöbitti 19-319.3 Tulosbitit 19-419.4 Väärien operaatioiden häiriöbitti 19-619.5 Ylivuodon häiriöbitti 19-719.6 Tallennetun ylivuodon häiriöbitti 19-8C79000-G7000-C402-0119-1


Tilabittioperaatiot19.1 YleiskuvaKuvausTilabittioperaatiot ovat bittilukitusoperaatioita (katso kappale 8), jotka toimivattilasanan 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 mukaisesti(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.TilasanaTilasana 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.2 15 ... ...2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0BIEA1 A0 OV OS OR STA VKE /ERKuva 19-1Tilasanan rakenneParametriSeuraavissa kappaleissa kuvatuilla FUP-elementeillä ei ole mitäänsyötettäviä parametrejä.19-2 C79000-G7000-C402-01


Tilabittioperaatiot19.2 BIE-rekisterin bittiKuvausOperaatiolla 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).FUP-kehysKuva 19-2 esittää BIE-rekisterin bittiä SIMATIC-mnemoniikalla jakansainvälisellä mnemoniikalla.SIMATIC-elementtiBIEkansainvälinen elementtiBRKuva 19-2BIE-rekisterin bitti -kehysE0.0 >=1Lähtö A 4.0 asetetaan, mikäli E 0.0 = 1 TAIE 0.2 = 0 ja, tämän LUK:n lisäksi, BIE-bitinE0.2&signaalitila = 1.A4.0BIESKuva 19-3BIE-rekisterin bittiC79000-G7000-C402-0119-3


Tilabittioperaatiot19.3 TulosbititKuvausOperaatioilla 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 taulukko6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).Taulukko 19-1 Tulosbitin kehyksetFUP -elementti>0=0KuvausOperaatio 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.Operaatio 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.Operaatio 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.


Tilabittioperaatiot1)E0.0EW0EW22)SUB_IENIN1 OUTIN2 ENOMW10>0&A4.0SSUB_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 signaalitilasilloin = 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”.E0.0EW0EW2SUB_IENIN1 OUTIN2 ENOMW100&A4.0S2) 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 aktivoitu),on EN:n ja ENO:n signaalitila silloin ”0”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 19-4 Tulosbitin ollessa suurempi kuin 0 ja käänteisen tulosbitin ollessa suurempi kuin 0C79000-G7000-C402-0119-5


Tilabittioperaatiot19.4 Väärän operaation virhebittiKuvausOperaatiolla 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 TAItotuustaulukonmukaisesti (katso kappale 6.2 ja taulukko 6-8).FUP -kehysUOKuva 19-5 Väärän operaation virhebitti -kehysVirtapiiri 1:E0.0ED0ED4Virtapiiri 2:DIV_RENIN1IN2OUTENOUO A4.0SMD10A4.1SDIV_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”.Kuva 19-6Väärän operaation virhebitti19-6 C79000-G7000-C402-01


Tilabittioperaatiot19.5 Ylivuodon virhebittiKuvausOperaatiolla 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 taulukko6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).FUP -kehysUOKuva 19-7 Väärän operaation virhebitti -kehysVirtapiiri 1:E0.0EW0EW2ENIN1IN2SUB_IOUTENOMW10SUB_I --kehys aktivoidaan, jos E 0.0 = 1. Mikäli aritmeettisenoperaation 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 virtapiirin2 LUK on ”1” (ts., jos LUK on ennen lähtöä A 4.0 =1).Virtapiiri 2: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.E0.1E0.2&>=1E0.3M3.3Virtapiiri 3:OVA4.0SKuva 19-8Ylivuodon virhebittiC79000-G7000-C402-0119-7


Tilabittioperaatiot19.6 Tallennetun ylivuodon virhebittiKuvausOperaatiolla 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 taulukko6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).FUP -kehysOSKuva 19-9 Tallennetun ylivuodon virhebitti -kehys19-8 C79000-G7000-C402-01


TilabittioperaatiotVirtapiiri 1:E0.0EW0MUL_IENIN1 OUTMD8MUL_I --kehys aktivoidaan, jos E 0.0 = 1 ja ADD_I --kehysaktivoidaan, jos E 0.1 = 1. Jommankumman tuloksista ollessakokonaisluvulle sallitun alueen ulkopuolella, asetetaanOS-bitti.EW2IN2ENOOS:n signaalitilakysely antaa tulokseksi ”1” ja lähtö A 4.0asetetaan.Virtapiiri 2:ADD_IVirtapiiri 1: Jos tulon E 0.0 signaalitila = 0 (ei aktivoitu), onEN:n ja ENO:n signaalitila silloin ”0”. EN:n signaalitilan ollessa= 1 (aktivoitu) ja aritmeettisen operaation tuloksen ollessaalueen ulkopuolella, on ENO:n signaalitila silloin = 0.E0.1EW0EW2ENIN1IN2OUTENOMW12Virtapiiri 2: Jos tulon E 0.1 signaalitila = 0 (ei aktivoitu), onEN:n ja ENO:n signaalitila silloin ”0”. EN:n signaalitilan ollessa= 1 (aktivoitu) ja aritmeettisen operaation tuloksen ollessaalueen ulkopuolella, on ENO:n signaalitila silloin = 0.Virtapiiri 3:OS A4.0SKuva 19-10 Tallennetun ylivuodon virhebittiC79000-G7000-C402-0119-9


Tilabittioperaatiot19-10 C79000-G7000-C402-01


Hyppyoperaatiot18YleiskuvakappaleestaKappale Sisältö Sivu18.1 Yleiskuva 18-218.2 Ehdoton hyppy yksikössä 18-318.3 Hyppy, kun 1 (ehdollinen) 18-418.4 Hyppy, kun 0 (ehdollinen) 18-518.5 Hyppymerkki 18-6C79000-G7000-C402-0118-1


Hyppyoperaatiot18.1 YleiskuvaHyppymerkkioperandinaHyppymerkki 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).HyppymerkkikohteenaKohdehyppymerkin 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).Virtapiiri 1SEG3JMPVirtapiiri 2E0.1A4.0=...Virtapiiri XSEG3E0.4A4.1RKuva 18-1Hyppymerkki operandina ja kohteena18-2 C79000-G7000-C402-01


Hyppyoperaatiot18.2 Ehdoton hyppy yksikössäKuvausOperaatio 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 parametriFUP -kehys Parametri Tied.tyyp. Muistialue KuvausJMPHyppymerkinnimi- - Operandi ilmoittaa merkin, johonehdoton hyppy tapahtuu.Virtapiiri 1CAS1??.? JMP...Virtapiiri XHyppy suoritetaan aina. Mitään hyppyoperaation jahyppymerkin välisistä operaatioista ei suoriteta.CAS1E0.4A4.1RTilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --Operaatio ei muuta tilasanan bittejä.Kuva 18-2Ehdoton hyppy: Hyppy merkkiinC79000-G7000-C402-0118-3


Hyppyoperaatiot18.3 Hyppy, kun 1 (ehdollinen)KuvausOperaatio 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 parametriFUP -kehys Parametri Tied.tyyp. Muistialue KuvausJMPHyppymerkinnimi- - Operandi ilmoittaa merkin, johonhypätään kun LUK = 1.Virtapiiri 1CAS1E0.0 JMPVirtapiiri 2Mikäli E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.Operaatiota, joka nollaa lähdön A 4.0, ei suoriteta, vaikkakinE0.3=1.E0.3A4.0RVirtapiiri 3CAS1E0.4A4.1RTilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 1 0Kuva 18-3 Ehdollinen hyppy: Hyppy, kun 118-4 C79000-G7000-C402-01


Hyppyoperaatiot18.4 Hyppy, kun 0 (ehdollinen)KuvausOperaatio 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 parametriFUP -kehys Parameter Tied.tyyp. Muistialue KuvausJMPNHyppymerkinnimi- - Operandi ilmoittaa merkin, johonhypätään kun LUK = 0.Virtapiiri 1E0.0Virtapiiri 2E0.3CAS1JMPNA4.0RMikäli E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.Operaatiota, joka nollaa lähdön A 4.0, ei suoriteta, vaikkakinE0.3=1.Mitään hyppyoperaation ja hyppymerkin välisistäoperaatioista ei suoriteta.Virtapiiri 3CAS1E0.4A4.1RTilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 1 0Kuva 18-4 Hyppy, kun 0C79000-G7000-C402-0118-5


Hyppyoperaatiot18.5 HyppymerkkiKuvausHyppymerkki on hyppyoperaation kohteen tunnus. Jokaista ehdollista hyppyä(JMP tai JMPN) varten on oltava olemassa myös hyppymerkki (LABEL).MuotoLABELKuvaus4 merkkiä: ensimmäinen merkki: kirjainloput merkit: kirjaimia tai numeroitaVirtapiiri 1E0.0CAS1JMPJos E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.Virtapiiri 2A4.0E0.3 RHypyn vuoksi ei lähdössä A 4.0 suoriteta operaatiota ”lähdönnollaus”, vaikkakin E 0.3 = 1.Virtapiiri 3CAS1E0.4A4.1RKuva 18-5Hyppymerkki18-6 C79000-G7000-C402-01


Tiedostoyksikköoperaatiot17YleiskuvakappaleestaKappale Sisältö Sivu17.1 Tiedostoyksikön avaus 17-2C79000-G7000-C402-0117-1


Tiedostoyksikköoperaatiot17.1 Tiedostoyksikön avausKuvausOperaatiolla 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 -mnemoniikallaFUP -kehys Parametri Tied.tyyppi Muistialue Kuvaus taiAU<strong>FDB</strong>:n tai DI:nnumeroBLOCK_DB DB, DI DB:n tai DI:n numero;alue riippuu CPU:sta.Taulukko 17-2 Tiedostoyksikön avaus-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tied.tyyppi Muistialue Kuvaus taiOPNDB:n tai DI:nnumeroBLOCK_DB DB, DI DB:n tai DI:n numero;alue riippuu CPU:sta.Virtapiiri 1Virtapiiri 2DBX 0.0DB10AUFA4.0=DB10 on aktuelli avattu tiedostoyksikkö. SiksiDBX 0.0:n kysely viittaa DB10:ssä olevaantiedostotavun 0 bittiin 0. Tämän bitin signaalitilaosoitetaan lähdölle A 4.0.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --Operaatio ei muuta tilasanan bittejä.Kuva 17-1Tiedostoyksikön avaus17-2 C79000-G7000-C402-01


Siirto - ja pyöritysoperaatiot16YleiskuvakappaleestaKappale Sisältö Sivu16.1 Siirto -operaatiot 16-216.2 Pyöritysoperaatiot 16-10C79000-G7000-C402-0116-1


Siirto - ja pyöritysoperaatiot16.1 Siirto -operaatiotKuvausSiirto-operaatioilla voidaan tulon IN sisältö siirtää biteittäin vasemmalle taioikealle (katso kappale 6.3). Siirto n bittiä vasemmalle kertoo tulon INsisällön 2 n :llä; siirto n bittiä oikealle jakaa tulon IN sisällön 2 n :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 kappale6.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 vasemmalleS 16 bitin siirto oikealle, 32 bititn siirto oikealleS Kokonaisluvun (16 bittiä) siirto oikealle, kokonaisluvun (32 bittiä) siirtooikealle.16 bitin siirtovasemmalleOperaatio 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”.16-2 C79000-G7000-C402-01


Siirto - ja pyöritysoperaatiotParametri:15... ...8 7... ...0IN0 0 0 01 1 1 10 1 0 1 0 1 0 1N6 paikkaaOUT 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0Nämä viisi bittiähäviävät.Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).Vapautuneetbittipaikat täytetäännollilla.Kuva 16-1Tulon IN bittien siirto kuusi bittipaikkaa vasemmalleTaulukko 16-1 16 bitin siirto vasemmalle -kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausSHL_WENINOUTNENOEN BOOL E, A, M, L, D, T, Z VapautustuloIN WORD E, A, M, L, D Arvo, joka siirretäänN WORD E, A, M, L, D Bittipaikkojen määrä, joillasiirretäänOUT WORD E, A, M, L, D Siirto -operaation tulosENO BOOL E, A, M, L, D VapautuslähtöOperaatio aktivoidaan, jos E 0.0 = 1.E0.0MW0MW2SHL_WENIN OUTN ENOMW4A4.0SMerkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran vasemmalle.Tulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitin signaalitilaon ”1”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1Kuva 16-216 bitin siirto vasemmalleC79000-G7000-C402-0116-3


Siirto - ja pyöritysoperaatiot32 bitin siirtovasemmalleOperaatio 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausSHL_DW EN BOOL E, A, M, L, D, T, Z VapautustuloIN DWORD E, A, M, L, D Arvo, joka siirretäänIN OUT N WORD E, A, M, L, D Bittipaikkojen määrä, joilla siirretäänN ENO OUT DWORD E, A, M, L, D Siirto -operaation tulosENO BOOL E, A, M, L, D VapautuslähtöENOperaatio aktivoidaan, jos E 0.0 = 1.E0.0SHL_DWENMerkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien lukumääränverran vasemmalle.MD0MW4INNOUTENOMD10A4.0STulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirretynbitin signaalitila on ”1”.Operaatio suoritetaan (EN = 1):Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1Kuva 16-332 bitin siirto vasemmalle16-4 C79000-G7000-C402-01


Siirto - ja pyöritysoperaatiot16 bitin siirtooikealleOperaatio 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ä siirretään.N:n ollessa suurempi kuin 16, näyttää käsky lähdössä OUT 0 ja asettaatilasanan bitit A0 ja OV ”0”:ksi. Vasemmalta vapautuvat bittipaikat täytetäännollilla. Siirto-operaation tulosta voi kysyä lähdöstä OUT.Taulukko 16-3 16 bitin siirto oikealle -kehys ja parametriSuoritettu 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”.FUP -kehys Parametri Tied.tyyppi Muistialue KuvausSHR_WENIN OUTEN BOOL E, A, M, L, D, T, Z VapautustuloIN WORD E, A, M, L, D Arvo, joka siirretäänN WORD E, A, M, L, D Bittipaikkojen määrä, joillasiirretäänN ENO OUT WORD E, A, M, L, D Siirto -operaation tulosENO BOOL E, A, M, L, D VapautustuloOperaatio aktivoidaan, jos E 0.0 = 1.E0.0MW0MW2SHR_WENIN OUTN ENOMW4A4.0SMerkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran oikealle.Tulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitinsignaalitila on ”1”.Operaatio suoritetaan (EN = 1):Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1Kuva 16-416 bitin siirto oikealleC79000-G7000-C402-0116-5


Siirto - ja pyöritysoperaatiot32 bitin siirtooikealleOperaatio 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 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”.Parametri:IN31... ...16 15... ...01111 1111 0101 0101 1010 1010 1111 1111N3 paikkaaOUT0001 1111 1110 1010 1011 0101 0101 1111111Vapautuneetbittipaikat täytetäännollilla.Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).Molemmatbitit häviävät.Kuva 16-5Tulon IN bittien siirto kolme bittipaikkaa oikealleTaulukko 16-4 32 bitin siirto oikealle -kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausEN BOOL E, A, M, L, D, T, Z VapautustuloSHR_DWIN DWORD E, A, M, L, D Arvo, joka siirretäänENN WORD E, A, M, L, D Bittipaikkojen määrä, joillaIN OUTsiirretäänN ENO OUT DWORD E, A, M, L, D Siirto -operaation tulosENO BOOL E, A, M, L, D Vapautuslähtö16-6 C79000-G7000-C402-01


Siirto - ja pyöritysoperaatiotOperaatio aktivoidaan, jos E 0.0 = 1.E0.0SHR_DWENMerkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien lukumääränverran oikealle.MD0MW4INNOUTENOMD10A4.0STulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirretynbitin signaalitila on ”1”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1Kuva 16-632 bitin siirto oikealleKokonaisluvun(16 bittiä) siirtooikealleOperaatio 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”.C79000-G7000-C402-0116-7


Siirto - ja pyöritysoperaatiotParametri:15... ...8 7... ...0IN1 0 1 01 1 1 10 0 0 0 1 0 1 0NEtumerkkibitti4 paikkaaOUT1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 01 0 1 0Vapautuneet bittipaikattäytetään etumerkkibitinsignaalitilalla.Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).Nämä kolmebittiä häviävät.Kuva 16-7Tulon IN bittien siirto viidellä bittipaikalla oikealle etumerkilläTaulukko 16-5 Kokonaisluvun (16 bittiä) siirto oikealle ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausEN BOOL E, A, M, L, D, T, Z VapautustuloSHR_IIN INT E, A, M, L, D Arvo, joka siirretäänENN WORD E, A, M, L, D Bittipaikkojen määrä, joillaIN OUTsiirretäänN ENO OUT INT E, A, M, L, D Siirto -operaation tulosENO BOOL E, A, M, L, D VapautuslähtöOperaatio aktivoidaan, jos E 0.0 = 1.E0.0ENSHR_IMerkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran oikealle.MW0MW2INNOUTENOMW4A4.0STulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitin signaalitilaon ”1”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1Kuva 16-8Kokonaisluvun (16 bittiä) siirto oikealle16-8 C79000-G7000-C402-01


Siirto - ja pyöritysoperaatiotKokonaisluvun(32 bittiä) siirtooikealleOperaatio 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausSHR_DIENIN OUTN ENOEN BOOL E, A, M, L, D, T, Z VapautustuloIN DINT E, A, M, L, D Arvo, joka siirretäänN WORD E, A, M, L, D Bittipaikkojen määrä, joillasiirretäänOUT DINT E, A, M, L, D Siirto -operaation tulosENO BOOL E, A, M, L, D VapautustuloOperaatio aktivoidaan, jos E 0.0 = 1.E0.0SHR_DIENMerkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien lukumääränverran oikealle.MD0MW4INNOUTENOMD10A4.0STulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirretynbitin signaalitila on ”1”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1Kuva 16-9Kokonaisluvun (32 bittiä) siirto oikealleC79000-G7000-C402-0116-9


Siirto - ja pyöritysoperaatiot16.2 Pyöritysoperaatiot (rotaatio)KuvausPyö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öritettä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 vasemmalleS 32 bitin pyöritys oikealle32 bitin pyöritysvasemmalleOperaatio 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ä. Oikealtavapautuvat 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ä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi pyöritetyn bitin signaalitilaon ”0”.Parametri:INN31... ...16 15... ...01111 0000 1010 1010 0000 1111 0000 11113 paikkaaOUT1111000 0101 0101 0000 0111 1000 0111 1111Kolmen siirretyn bitin signaalitilaväliinkirjoitetaan vapautuneisiinpaikkoihin.Viimeksi siirretyn bitin signaalitilatallennetaan bittiin A1 (signaalitilaon sama kuin ENO:n).Kuva 16-10 Tulon IN bittien pyöritys kolme bittipaikkaa vasemmalle16-10 C79000-G7000-C402-01


Siirto - ja pyöritysoperaatiotTaulukko 16-7 32 bitin pyöritys vasemmalle-kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausROL_DWENIN OUTN ENOEN BOOL E, A, M, L, D, T, Z VapautustuloIN DWORD E, A, M, L, D Arvo, jota pyöritetäänN WORD E, A, M, L, D Bittipaikkojen määrä, joillapyöritetäänOUT DWORD E, A, M, L, D Pyöritysoperaation tulosENO BOOL E, A, M, L, D VapautuslähtöE0.0ROL_DWENOperaatio aktivoidaan, jos E 0.0 = 1.Merkkerikaksoissanaa MD0 pyöritetäänMW4:ssä annettujen bittien lukumääränverran vasemmalle.MD0MW4INNOUTENOMD10A4.0STulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi pyöritetynbitin signaalitila on ”1”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1Kuva 16-11 32 bitin pyöritys vasemmalle32 bitin pyöritysoikealleOperaatio 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öritettyjenbittien 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ä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi pyöritetyn bitin signaalitilaon ”0”.C79000-G7000-C402-0116-11


Siirto - ja pyöritysoperaatiotParametri:INN31... ...16 15... ...01010 1010 0000 1111 0000 1111 0101 01013 paikkaaOUT1011 0101 0100 0001 1110 0001 1110 1010101Viimeksi siirretyn bitin signaalitilatallennetaan bittiin A1 (signaalitilaon sama kuin ENO:lla).Kolmen siirretyn bitinsignaalitila väliinkirjoitetaanvapautuneisiinkohtiin.Kuva 16-12 Tulon IN bittien pyöritys kolme bittipaikkaa oikealleTaulukko 16-8 32 bitin pyöritys oikealle-kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausROR_DWENIN OUTNENOEN BOOL E, A, M, L, D, T, Z VapautustuloIN DWORD E, A, M, L, D Arvo, jota pyöritetäänN WORD E, A, M, L, D Bittipaikkojen määrä, joillapyöritetäänOUT DWORD E, A, M, L, D Pyöritysoperaation tulosENO BOOL E, A, M, L, D VapautuslähtöOperaatio aktivoidaan, jos E 0.0 = 1.E0.0ROR_DWENMerkkerikaksoissanaa MD0 pyöritetäänMW4:ssä annettujen bittien lukumääränverran oikealle.MD0MW4INNOUTENOMD10A4.0STulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi pyöritetynbitin signaalitila on ”1”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1Kuva 16-13 32 bitin pyöritys oikealle16-12 C79000-G7000-C402-01


Sanalukitusoperaatiot15YleiskuvakappaleestaKappale Sisältö Sivu15.1 Yleiskuva 15-215.2 16 bitin JA -lukitus 15-315.3 32 bitin JA -lukitus 15-415.4 16 bitin TAI -lukitus 15-515.5 32 bitin TAI -lukitus 15-615.6 16 bitin EHDOTON TAI-lukitus 15-715.7 32 bitin EHDOTON TAI-lukitus 15-8C79000-G7000-C402-0115-1


Sanalukitusoperaatiot15.1 YleiskuvaMitä sanalukitus -operaatiot ovat?Sanalukitusoperaatioilla lukitaan sana- ja kaksoissanapareja keskenään biteittäinboolen logiikan mukaisesti. Sanalukituksia varten on käytettävissäseuraavat operaatiot:SSSSSS16 bitin JA-lukitus: Tällä operaatiolla lukitaan kaksi sanaa keskenäänbiteittäin JA-totuustaulukon mukaisesti.32 bitin JA-lukitus: Tällä operaatiolla lukitaan kaksi kaksoissanaa keskenäänbiteittäin JA-totuustaulukon mukaisesti.16 bitin TAI-lukitus: Tällä operaatiolla lukitaan kaksi sanaa keskenäänbiteittäin TAI-totuustaulukon mukaisesti.32 bitin TAI-lukitus: Tällä operaatiolla lukitaan kaksi kaksoissanaa keskenäänbiteittäin TAI-totuustaulukon mukaisesti.16 bitin EHDOTON TAI-lukitus: Tällä operaatiolla lukitaan kaksi sanaakeskenään biteittäin EHDOTON TAI-totuustaulukon mukaisesti.32 bitin EHDOTON TAI-lukitus: Tällä operaatiolla lukitaan kaksi kaksoissanaakeskenään biteittäin EHDOTON TAI-totuustaulukon mukaisesti.15-2 C79000-G7000-C402-01


Sanalukitusoperaatiot15.2 16 bitin JA -lukitusKuvausOperaatio 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:SSJos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausWAND_WENIN1 OUTIN2ENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 WORD E, A, M, D, L tai Lukituksen ensimmäinen arvovakioIN2 WORD E, A, M, D, L tai Lukituksen toinen arvovakioOUT WORD E, A, M, D, L LukitustulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MW02# 0000000000001111WAND_WENIN1 OUTIN2 ENOMW2A4.0=Operaatio aktivoidaan, jos E 0.0 = 1.Vain biteillä 0 ... 3 on merkitystä, kaikkimuut MW0:n bitit on eliminoitu.IN1 =0101010101010101IN2 =0000000000001111OUT =0000000000000101A 4.0 on ”1”, jos lukitus suoritetaan.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1Kuva 15-116 bitin JA -lukitusC79000-G7000-C402-0115-3


Sanalukitusoperaatiot15.3 32 bitin JA -lukitusKuvausOperaatio 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:SSJos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausWAND_DWENIN1 OUTIN2ENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 DWORD E, A, M, D, L tai Lukituksen ensimmäinen arvovakioIN2 DWORD E, A, M, D, L tai Lukituksen toinen arvovakioOUT DWORD E, A, M, D, L LukitustulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0DW#16#FFFWAND_DWENIN1 OUTIN2 ENOMD4A4.0=Operaatio aktivoidaan, jos E 0.0 = 1. Vain biteillä0 ... 11 on merkitystä, kaikki muut MD4:n bitit on eliminoitu.IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =00000000000000000000010101010101A 4.0 on ”1”, jos lukitus suoritetaan.Operaatio suoritetaan (EN = 1):Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1Kuva 15-232 bitin JA -lukitus15-4 C79000-G7000-C402-01


Sanalukitusoperaatiot15.4 16 bitin TAI -lukitusKuvausOperaatio 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:SSJos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausWOR_WENIN1 OUTIN2 ENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 WORD E, A, M, D, L tai Lukituksen ensimmäinen arvovakioIN2 WORD E, A, M, D, L tai Lukituksen toinen arvovakioOUT WORD E, A, M, D, L LukitustulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MW02#0000000000001111WOR_WENIN1 OUTIN2 ENOMW2A4.0=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 otetaanmuuttumattomina MW2:een.IN1 =0101010101010101IN2 =0000000000001111OUT =0101010101011111A 4.0 on ”1”, jos lukitus suoritetaan.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1Kuva 15-316 bitin TAI -lukitusC79000-G7000-C402-0115-5


Sanalukitusoperaatiot15.5 32 bitin TAI -lukitusKuvausOperaatio 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:SSJos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausWOR_DWENIN1 OUTIN2ENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 DWORD E, A, M, D, L tai Lukituksen ensimmäinen arvovakioIN2 DWORD E, A, M, D, L tai Lukituksen toinen arvovakioOUT DWORD E, A, M, D, L LukitustulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0DW#16#FFFWOR_DWENIN1 OUTIN2 ENOMD4A4.0=Operaatio aktivoidaan, jos E 0.0 = 1. MD0:n ja vakioidenbitit lukitaan TAI:lla, jolloin bitit 0 ... 11 asetetaan”1”:ksi, kaikki muut MD0:n bitit otetaan muuttumattominaMD4:een.IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =01010101010101010101111111111111A 4.0 on ”1”, jos lukitus suoritetaan.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1Kuva 15-432 bitin TAI -lukitus15-6 C79000-G7000-C402-01


Sanalukitusoperaatiot15.6 16 bitin EHDOTON TAI -lukitusKuvausOperaatio 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:SSJos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausWXOR_WENIN1 OUTIN2 ENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 WORD E, A, M, D, L tai Lukituksen ensimmäinen arvovakioIN2 WORD E, A, M, D, L tai Lukituksen toinen arvovakioOUT WORD E, A, M, D, L LukitustulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MW0WXOR_WENIN1 OUTMW2A4.0Operaatio aktivoidaan, jos tulo E 0.0 = 1.IN1 =0101010101010101IN2 =0000000000001111OUT =01010101010110102#0000000000001111IN2ENO=A 4.0 on ”1”, jos lukitus suoritetaan.Operaatio suoritetaan (EN = 1):Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1Kuva 15-516 bitin EHDOTON TAI-lukitusC79000-G7000-C402-0115-7


Sanalukitusoperaatiot15.7 32 bitin EHDOTON TAI -lukitusKuvausOperaatio 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:SSJos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausWXOR_DWENIN1 OUTIN2ENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 DWORD E, A, M, D, L tai Lukituksen ensimmäinen arvovakioIN2 DWORD E, A, M, D, L tai Lukituksen toinen arvovakioOUT DWORD E, A, M, D, L LukitustulosENO BOOL E, A, M, D, L VapautuslähtöOperaatio aktivoidaan, jos tulo E 0.0 = 1.E0.0MD0DW#16#FFFWXOR_DWENIN1 OUTIN2 ENOMD4A4.0=IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =01010101010101010101101010101010A 4.0 on ”1”, jos lukitus suoritetaan.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1Kuva 15-632 bitin EHDOTON TAI-lukitus15-8 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14YleiskuvakappaleestaKappale Sisältö Sivu14.1 Arvon siirto 14-214.2 BCD -luvun muunto kokonaisluvuksi (16 bittiä) 14-314.3 Kokonaisluvun (16 bittiä) muunto BCD -luvuksi 14-414.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi(32 bittiä)14-514.5 BCD -luvun muunto kokonaisluvuksi (32 bittiä) 14-614.6 Kokonaisluvun (32 bittiä) muunto BCD -luvuksi 14-714.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi 14-814.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus 14-914.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus 14-1014.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus 14-1114.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus 14-1214.12 Liukuluvun etumerkin vaihto 14-1314.13 Luvun pyöristys 14-1414.14 Kokonaisluvun muodostus 14-1514.15 Seuraavaksi suuremman kokonaisluvun muodostusliukuluvusta14.16 Seuraavaksi pienemmän kokonaisluvun muodostusliukuluvusta14-1614-17C79000-G7000-C402-0114-1


Siirto - ja muunnosoperaatiot14.1 Arvon siirtoKuvausArvon 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausEN BOOL E, A, M, D, L, T, Z VapautustuloENMOVEOUTINKaikki 8:n, 16:n tai32:n bitin pituisettiedostotyypitE, A, M, D, L taivakioLähdearvoINENOOUTKaikki 8:n, 16:n tai32:n bitin pituisettiedostotyypitE, A, M, D, L KohdeosoiteENO BOOL E, A, M, D, L VapautuslähtöE0.0MW10MOVEEN OUTIN ENODBW12A4.0=Operaatio suoritetaan, jos E 0.0 = 1. MW10:nsisältö kopioidaan avatun DB:n datasanaan12.Jos operaatio suoritetaan A 4.0 = 1.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1Kuva 14-1Arvon siirtoMuuttujien varausInfoa 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/.14-2 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14.2 BCD -luvun muunto kokonaisluvuksi (16 bittiä)KuvausOperaatio 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:SSCPU menee STOP-tilaan. Diagnoosimuistiin merkitääntapahtumanumeron 2521 ”BCD-muuntovirhe”.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausBCD_IEN OUTINENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN WORD E, A, M, D, L BCD -lukutai vakioOUT INT E, A, M, D, L BCD -luvun kokonaislukuarvo(16 bittiä)ENO BOOL E, A, M, D, L VapautuslähtöE0.0MW10BCD_IEN OUTIN ENOMW12A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerisananMW10 sisältö luetaan kolminumeroisenaBCD--lukuna ja muunnetaankokonaisluvuksi (16 bittiä). Tulos tallennetaanMW12:een. Jos muunto suoritetaan,A4.0=1(ENO=EN).Operaatio suoritetaan (EN = 1):Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1Kuva 14-2BCD -luvun muunto kokonaisluvuksi (16 bittiä)C79000-G7000-C402-0114-3


Siirto - ja muunnosoperaatiot14.3 Kokonaisluvun (16 bittiä) muunto BCD -luvuksiKuvausOperaatio 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausI_BCDEN OUTEN BOOL E, A, M, D, L, T, Z VapautustuloIN INT E, A, M, D, L Kokonaisluku (16 bittiä)tai vakioIN ENO OUT WORD E, A, M, D, L Kokonaisluvun (16 bittiä)BCD -arvoENO BOOL E, A, M, D, L VapautuslähtöE0.0MW10I_BCDEN OUTIN ENOMW12A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerisananMW10 sisältö luetaan kokonaislukuna(16 bittiä) ja muunnetaan kolminumeroiseksiBCD--luvuksi. Tulos tallennetaanMW12:een. Mikäli esiintyy ylivuoto,A 4.0 = 0. Jos tulon EN signaalitila= 0 (ts., muuntoa ei suoriteta), on lähdönA 4.0 signaalitila silloin myös ”0”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1Kuva 14-3Kokonaisluvun (16 bittiä) muunto BCD -luvuksi14-4 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä)KuvausOperaatio 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausENINI_DIOUTENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN INT E, A, M, D, L Arvo, joka muunnetaantai vakioOUT DINT E, A, M, D, L TulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MW10I_DIEN OUTIN ENOMD12A4.0=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).Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1Kuva 14-4Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä)C79000-G7000-C402-0114-5


Siirto - ja muunnosoperaatiot14.5 BCD -luvun muunto kokonaisluvuksi (32 bittiä)KuvausOperaatio 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:SSCPU menee STOP-tilaan. Diagnoosimuistiin merkitääntapahtumanumeron 2521 ”BCD-muuntovirhe”.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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausBCD_DIDIEN OUTEN BOOL E, A, M, D, L, T, Z VapautustuloIN DWORD E, A, M, D, L BCD -lukutai vakioIN ENO OUT DINT E, A, M, D, L BCD -luvun kokonaislukuarvo(32 bittiä)ENO BOOL E, A, M, D, L VapautuslähtöE0.0MD8BCD_DIEN OUTIN ENOMD12A4.0=Muunto suoritetaan, jos E 0.0 = 1MerkkerikaksoissananMD8 sisältö luetaan seitsennumeroisenaBCD--lukuna ja muunnetaankokonaisluvuksi (32 bittiä). Tulos tallennetaanMD12:een. Mikäli muunto suoritetaan,A4.0=1(ENO=EN).Operaatio suoritetaan (EN = 1):tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1Kuva 14-5BCD -luvun muunto kokonaisluvuksi (32 bittiä)14-6 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14.6 Kokonaisluvun (32 bittiä) muunto BCD -luvuksiKuvausOperaatio 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausDI_BCDEN OUTEN BOOL E, A, M, D, L, T, Z VapautustuloIN DINT E, A, M, D, L Kokonaisluku (32 bittiä)tai vakioIN ENO OUT DWORD E, A, M, D, L Kokonaisluvun (32 bittiä)BCD -arvoENO BOOL E, A, M, D, L VapautuslähtöE0.0MD8DI_BCDEN OUTIN ENOMD12A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerikaksoissananMD8 sisältö luetaan kokonaislukuna(32 bittiä) ja muunnetaan seitsennumeroiseksiBCD--luvuksi. Tulos tallennetaanMD12: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 signaalitilasilloin myös ”0”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1Kuva 14-6Kokonaisluvun (32 bittiä) muunto BCD -luvuksiC79000-G7000-C402-0114-7


Siirto - ja muunnosoperaatiot14.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksiKuvausOperaatio 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausDI_REN OUTINENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN DINT E, A, M, D, L Arvo, joka muunnetaantai vakioOUT REAL E, A, M, D, L TulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD8DI_REN OUTIN ENOMD12A4.0=Muunto suoritetaan, jos E 0.0 = 1. merkkerikaksoissananMD8 sisältö luetaan kokonaislukuna(32 bittiä) ja muunnetaanliukuluvuksi. Tämän operaation tulostallennetaan MD12:een. Mikäli operaatiotaei suoriteta, A 4.0 = 0 (ENO = EN).Operaatio suoritetaan (EN = 1):Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1Kuva 14-7Kokonaisluvun (32 bittiä) muunto liukuluvuksi14-8 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostusKuvausOperaatio 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 FFFF H . 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausENINV_IIOUTEN BOOL E, A, M, D, L, T, Z VapautustuloIN INT E, A, M, D, L Tuloarvotai vakioIN ENO OUT INT E, A, M, D, L Kokonaisluvun (16 bittiä) 1nkomplementtiENO BOOL E, A, M, D, L VapautuslähtöE0.0MW8INV_IEN OUTIN ENOMW10A4.0=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 jaA4.0=0(ENO = EN).Operaatio suoritetaan (EN = 1):Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1Kuva 14-8Kokonaisluvun (16 bittiä) 1n komplementin muodostusC79000-G7000-C402-0114-9


Siirto - ja muunnosoperaatiot14.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostusKuvausOperaatio kokonaisluvun (32 bittiä) 1n komplementin muodostus lukeetuloparametrin IN sisällön ja suorittaa boolen sanalukitusoperaationEHDOTON TAI lukituksen (katso kappale 15.6) heksadesimaalikaaviollaFFFF FFFF H . 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 parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausINV_DIEN OUTINENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN DINT E, A, M, D, L tai TuloarvovakioOUT DINT E, A, M, D, L Kokonaisluvun (32 bittiä)1n komplementtiENO BOOL E, A, M, D, L VapautuslähtöINV_DIMuunto suoritetaan, jos E 0.0 = 1. MerkkerikaksoissananMD8 jokaisesta bitistä tulee kääntei -nen:E0.0ENOUTMD12A4.0MD8 = F0FF FFF0 MD12 = 0F00 000FMD8INENO=Muuntoa ei suoriteta, jos E0.0 = 0 ja A 4.0 = 0(ENO = EN).Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1Kuva 14-9Kokonaisluvun (32 bittiä) 1n komplementin muodostus14-10 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostusKuvausOperaatio 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-10Kokonaisluvun (16 bittiä) 2n komplementin muodostus-kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausNEG_IEN BOOL E, A, M, D, L, T, Z VapautustuloEN OUTIN INT E, A, M, D, L tai TuloarvovakioIN ENO OUT INT E, A, M, D, L Kokonaisluvun (16 bittiä)2n komplementtiENO BOOL E, A, M, D, L VapautuslähtöE0.0MW8NEG_IEN OUTIN ENOMW10A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerisananMW8 arvo ilmoitetaan käänteiselläetumerkillä MW10:ssä parametrille OUT.Esimerkki:MW8 = +10 MW10 = -- 10JosEN=1jaesiintyyylivuoto,ENO=0jaA 4.0:n signaalitila on ”0”. Mikäli muuntoa eisuoriteta, A 4.0 = 0 (ENO = EN).Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 14-10 Kokonaisluvun (16 bittiä) 2n komplementin muodostusC79000-G7000-C402-0114-11


Siirto - ja muunnosoperaatiot14.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostusKuvausOperaatio 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-11Kokonaisluvun (32 bittiä) 2n komplementin muodostus-kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausNEG_DIEN BOOL E, A, M, D, L, T, Z VapautustuloEN OUTIN DINT E, A, M, D, L tai TuloarvovakioIN ENO OUT DINT E, A, M, D, L Kokonaisluvun (32 bittiä)2n komplementtiENO BOOL E, A, M, D, L VapautuslähtöNEG_DIMuunto suoritetaan, jos E 0.0 = 1. MerkkerikaksoissananMD8 arvo ilmoitetaan käänteisellä etumerkilläMW12:ssa parametrille OUT. Esimerkki:E0.0MD8ENINOUTENOMD12A4.0=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).Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 14-11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus14-12 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14.12 Liukuluvun etumerkin vaihtoKuvausOperaatio 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-12Liukuluvun etumerkin vaihto -kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausNEG_REN OUTINENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN REAL E, A, M, D, L tai TuloarvovakioOUT REAL E, A, M, D, L Tulos on käänteinen tuloarvo.ENO BOOL E, A, M, D, L VapautuslähtöE0.0MD8NEG_REN OUTIN ENOMD12A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerikaksoissananMD8 arvo ilmoitetaan käänteiselläetumerkillä MD12:ssa parametrille OUT. Esimerkki:MD8=+6,234x10 -- 3 MD12 = -- 6,234 x 10 -- 3Mikäli muuntoa ei suoriteta, A 4.0 = 0(ENO = EN).Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- -- -- 0 x x 1Kuva 14-12 Liukuluvun etumerkin vaihtoC79000-G7000-C402-0114-13


Siirto - ja muunnosoperaatiot14.13 Luvun pyöristysKuvausOperaatio 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-13Luvun pyöristys-kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausROUNDEN OUTEN BOOL E, A, M, D, L, T, Z VapautustuloIN REAL E, A, M, D, L tai Arvo, joka pyöristetäänvakioIN ENO OUT DINT E, A, M, D, L IN:n pyöristys lähimpäänkokonaislukuunENO BOOL E, A, M, D, L VapautuslähtöE0.0MD8ROUNDEN OUTIN ENOMD12A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerikaksoissananMD8 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”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1Kuva 14-13 Luvun pyöristys14-14 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14.14 Kokonaisluvun muodostusKuvausOperaatio 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-14Kokonaisluvun muodostus-kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausTRUNCEN OUTIN ENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN REAL E, A, M, D, L tai Arvo, joka pyöristetäänvakioOUT DINT E, A, M, D, L IN:n kokonaislukuosaENO BOOL E, A, M, D, L VapautuslähtöE0.0MD8TRUNCEN OUTIN ENOMD12A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerikaksoissananMD8 sisältö luetaan liukulukunaja muunnetaan periaatteella ”round tozero” kokonaisluvuksi (32 bittiä). Tulos onliukuluvun kokonaislukuosa, joka tallennetaanMD12: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 signaalitilasilloin myös ”0”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1Kuva 14-14 Kokonaisluvun muodostusC79000-G7000-C402-0114-15


Siirto - ja muunnosoperaatiot14.15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvustaKuvausOperaatio 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-15Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta-kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausEN BOOL E, A, M, D, L, T, Z VapautustuloCEILIN REAL E, A, M, D, L tai Arvo, joka muunnetaanEN OUTvakioIN ENO OUT DINT E, A, M, D, L TulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD8CEILEN OUTIN ENOMD12A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerikaksoissananMD8 sisältö luetaan liukulukuna jamuunnetaan kokonaisluvuksi (32 bittiä) periaatteella”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 signaalitilasilloin myös ”0”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1Kuva 14-15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta14-16 C79000-G7000-C402-01


Siirto - ja muunnosoperaatiot14.16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvustaKuvausOperaatio 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-16Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta-kehys ja parametriFUP -kehys Parametri Tied.tyyppi Muistialue KuvausEN BOOL E, A, M, D, L, T, Z VapautustuloFLOORIN REAL E, A, M, D, L tai Arvo, joka muunnetaanEN OUTvakioIN ENO OUT DINT E, A, M, D, L TulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD8FLOOREN OUTIN ENOMD12A4.0=Muunto suoritetaan, jos E 0.0 = 1. MerkkerikaksoissananMD8 sisältö luetaan liukulukuna jamuunnetaan kokonaisluvuksi (32 bittiä) periaatteella”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):Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1Kuva 14-16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvustaC79000-G7000-C402-0114-17


Siirto - ja muunnosoperaatiot14-18 C79000-G7000-C402-01


Vertailuoperaatiot13YleiskuvakappaleestaKappale Sisältö Sivu13.1 Kokonaislukujen vertailu (16 bittiä) 13-213.2 Kokonaislukujen vertailu (32 bittiä) 13-313.3 Liukulukujen vertailu 13-4C79000-G7000-C402-0113-1


Vertailuoperaatiot13.1 Kokonaislukujen vertailu (16 bittiä)KuvausOperaatio 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”. Vertailutuloksellaei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.Taulukko 13-1 Kokonaislukujen vertailulajit (16 bittiä)VertailulajiMerkkiIN1 on yhtäsuuri kuin IN2. ==IN1 on erisuuri kuin IN2. IN1 on suurempi kuin IN2. >IN1onpienempikuinIN2. =IN1 on pienempi tai yhtäsuuri kuin IN2.


Vertailuoperaatiot13.2 Kokonaislukujen vertailu (32 bittiä)KuvausOperaatio 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”. Vertailutuloksellaei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.Taulukko 13-3 Kokonaislukujen vertailulajit (32 bittiä)VertailulajiMerkkiIN1 on yhtäsuuri kuin IN2. ==IN1 on erisuuri kuin IN2. IN1 on suurempi kuin IN2. >IN1onpienempikuinIN2. =IN1 on pienempi tai yhtäsuuri kuin IN2.


Vertailuoperaatiot13.3 Liukulukujen vertailuKuvausOperaatio 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”. Vertailutuloksellaei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.Taulukko 13-5 Liukulukujen vertailulajitVertailulajiMerkkiIN1 on yhtäsuuri kuin IN2. ==IN1 on erisuuri kuin IN2. IN1 on suurempi kuin IN2. >IN1onpienempikuinIN2. =IN1 on pienempi tai yhtäsuuri kuin IN2.


Liukulukuaritmetiikka12YleiskuvakappaleestaKappale Sisältö Sivu12.1 Yleiskuva 12-212.2 Liukulukujen yhteenlasku 12-312.3 Liukulukujen vähennyslasku 12-412.4 Liukulukujen kertolasku 12-512.5 Liukulukujen jakolasku 12-612.6 Tilasanan bittien tulkinta liukulukuoperaatioissa 12-712.7 Liukuluvun absoluuttiarvon muodostus 12-812.8 Liukuluvun neliön (SQR) muodostus 12-912.9 Liukuluvun neliöjuuren (SQRT) muodostus 12-1012.10 Liukuluvun luonnollisen logaritmin muodostus 12-1112.11 Liukuluvun eksponenttiarvon muodostus 12-1212.12 Kulmien trigonometristen funktioiden laskenta liukulukuina 12-13C79000-G7000-C402-0112-1


Liukulukuaritmetiikka12.1 YleiskuvaLiukulukuaritmetiikassa voidaan seuraavassa esitetyt aritmeettiset operaatiotsuorittaa kahdella liukukuvulla (32 bittiä, IEEE-FP):SSSSyhteenlaskuvähennyslaskukertolaskujakolaskuLiukuluvut (32 bittiä, IEEE-FP) kuuluvat REAL-tiedostotyyppiin.Liitteessä 3 on tietoa liukulukujen muodosta.Liukulukuaritmetiikassa voidaan seuraavat toiminnat suorittaa yhdelläliukuvulla (32 bittiä, IEEE-FP):SSSSSliukuluvun absoluuttiarvon muodostus (ABS)liukuluvun neliön (SQR) tai neliöjuuren (SQRT) muodostusliukuluvun luonnollisen logaritmin (LN) muodostusliukuluvun eksponenttiarvon (EXP) muodostus kantaluvullae (= 2,71828...)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) muodostus12-2 C79000-G7000-C402-01


Liukulukuaritmetiikka12.2 Liukulukujen yhteenlaskuKuvausVapautustulon (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 parametriFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiEN BOOL E, A, M, D, L, T, Z VapautustuloADD_RIN1 REAL E, A, M, D, L Ensimmäinen yhteenlaskettavaENtai vakioIN1OUTIN2 REAL E, A, M, D, L Toinen yhteenlaskettavaIN2 ENOtai vakioOUT REAL E, A, M, D, L Yhteenlaskun tulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0MD4ADD_RENIN1 OUTIN2 ENOMD10A4.0=Kehys ADD_R aktivoidaan, jos E 0.0 = 1.Yhteenlaskun MD0 + MD4 tulos tallennetaanmerkkerikaksoissanaan 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.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-1Liukulukujen yhteenlaskuC79000-G7000-C402-0112-3


Liukulukuaritmetiikka12.3 Liukulukujen vähennyslaskuKuvausVapautustulon (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 parametriFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiEN BOOL E, A, M, D, L, T, Z VapautustuloSUB_RIN1 REAL E, A, M, D, L VähennettäväENtai vakioIN1OUTIN2 REAL E, A, M, D, L VähentäjäIN2 ENOtai vakioOUT REAL E, A, M, D, L Vähennyksen tulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0MD4SUB_RENIN1 OUTIN2 ENOMD10A4.0=Kehys SUB_R aktivoidaan, jos E 0.0 = 1.Vähennyslaskun MD0 -- MD4 tulos tallennetaanmerkkerisanaan MD10. Mikäli jokin tuloistatai tulos ei ole liukuluku ja jos tulonE 0.0 signaalitila = 0, osoitetaan lähdölleA 4.0 signaali ”0” eikä operaatiota suoriteta.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-2Liukulukujen vähennyslasku12-4 C79000-G7000-C402-01


Liukulukuaritmetiikka12.4 Liukulukujen kertolaskuKuvausVapautustulon (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 parametriFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiEN BOOL E, A, M, D, L, T, Z VapautustuloMUL_RIN1 REAL E, A, M, D, L KerrottavaENtai vakioIN1OUTIN2 REAL E, A, M, D, L KertojaIN2 ENOtai vakioOUT REAL E, A, M, D, L Kertolaskun tulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0MD4MUL_RENIN1 OUTIN2 ENOMD10A4.0=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.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-3Liukulukujen kertolaskuC79000-G7000-C402-0112-5


Liukulukuaritmetiikka12.5 Liukulukujen jakolaskuKuvausVapautustulon (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 parametriFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiEN BOOL E, A, M, D, L, T, Z VapautustuloDIV_RIN1 REAL E, A, M, D, LENtai vakioJaettavaIN1 OUT IN2 REAL E, A, M, D, L JakajaIN2 ENOtai vakioOUT REAL E, A, M, D, L Jakolaskun tulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0MD4DIV_RENIN1 OUTIN2 ENOMD10A4.0=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.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-4Liukulukujen jakolasku12-6 C79000-G7000-C402-01


Liukulukuaritmetiikka12.6 Tilasanan bittien tulkinta liukulukuoperaatioissaKuvausLiukulukuoperaatiot vaikuttavat tilasanan seuraaviin bitteihin:SSSA1 ja A0OVOSViiva (-) taulukossa tarkoittaa, että operaation tulos ei vaikuta kyseiseenbittiin.Taulukko 12-5 Tilasanan bittien signaalitila liukulukuoperaatioiden tuloksille;tulos on voimassa olevalla alueellaVoimassa oleva alueTilasanan bititliukuluoperaation (32 bittiä) tulokselle A1 A0 OV OS+0, -0 (nolla) 0 0 0 --3,402823E+38 < tulos < -1,175494E -38(negatiivinen luku)+1,175494E -38 < tulos < 3,402823E+38(positiivinen luku)0 1 0 -1 0 0 -Taulukko 12-6 Tilasanan bittien signaalitila liukulukuoperaatioiden tuloksille;tulos ei ole voimassa olevalla alueellaEi voimassa oleva alueTilasanan bititliukuluoperaation (32 bittiä) tulokselle A1 A0 OV OS-1,175494E -38 < tulos < - 1,401298E -45(negatiivinen luku) alitus+1,401298E -45 < tulos < +1,175494E -38(positiivinen luku) alitusTulos < -3,402823E+38(negatiivinen luku) ylivuotoTulos > 3,402823E+38(positiivinen luku) ylivuotoTulos < -3,402823E+38tai tulos > +3,402823E+38ei liukuluku0 0 1 10 0 1 10 1 1 11 0 1 11 1 1 1C79000-G7000-C402-0112-7


Liukulukuaritmetiikka12.7 Liukuluvun absoluuttiarvon muodostusKuvausLiukuluvun absoluuttiarvo voidaan muodostaa operaatiolla liukuluvunabsoluuttiarvon muodostus.Taulukko 12-7 ABS -kehys ja parametriFUP -kehys Parametri Tiedosto -tyyppiENINABSOUTENOMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloIN REAL E, A, M, D, L Tuloarvo: Liukulukutai vakioOUT REAL E, A, M, D, L Lähtöarvo: LiukuluvunabsoluuttiarvoENO BOOL E, A, M, D, L VapautuslähtöABSMikäli E 0.0 = 1, ohjataan MD8:nabsoluuttiarvo an MD12:lle.E0.0MD8ENINOUTENOMD12A4.0=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).Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus X -- -- -- -- 0 X X 1Kuva 12-5Liukuluvun absoluuttiarvon muodostus12-8 C79000-G7000-C402-01


Liukulukuaritmetiikka12.8 Liukuluvun neliön (SQR) muodostusKuvausOperaatiolla liukuluvun neliön muodostus voidaan liukuluku korottaa neliöön.Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV-bitillä jaOS-bitillä arvo ”1” ja ENO:lla arvo ”0”.ParametriTaulukko 12-8 esittää SQR-kehystä ja kuvaa parametrejä.Taulukko 12-8 SQR -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloSQREN OUTINENOIN REAL E, A, M, D, Ltai vakioLukuOUT REAL E, A, M, D, L Luvun neliöENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0SQREN OUTIN ENOMD10A4.0=Kehys SQR aktivoidaan, mikäli E 0.0 = 1.SQR:n (MD0) tulos tallennetaan merkkerikaksoissanaanMD10. Jos MD0 < 0 tai jokin tuloistatai tulos ei ole liukuluku ja tulon E 0.0signaalitila = 0, osoitetaan lähdölle A 4.0 signaali”0”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-6Liukuluvun neliön muodostusC79000-G7000-C402-0112-9


Liukulukuaritmetiikka12.9 Liukuluvun neliöjuuren (SQRT) muodostusKuvausOperaatiolla 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”.ParametriTaulukko 12-9 esittää SQRT-kehystä ja kuvaa parametrejä.Taulukko 12-9 SQRT -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloSQRTEN OUTIN ENOIN REAL E, A, M, D, L taivakioLukuOUT REAL E, A, M, D, L LuvunneliöjuuriENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0SQRTEN OUTIN ENOMD10A4.0=Kehys SQRT aktivoidaan, mikäli E 0.0 = 1.SQRT:n (MD0) tulos tallennetaan merkkerikaksoissanaanMD10. Jos MD0 < 0 tai jokintuloista tai tulos ei ole liukuluku ja tulon E 0.0signaalitila = 0, osoitetaan lähdölle A 4.0 signaali”0”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-7Liukuluvun neliöjuuren muodostus12-10 C79000-G7000-C402-01


Liukulukuaritmetiikka12.10 Liukuluvun luonnollisen logaritmin muodostusKuvausOperaatiolla liukuluvun luonnollisen logaritmin muodostus voidaan muodostaaliukuluvun 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-10LN -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiLNENOUTINENOMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloIN REAL E, A, M, D, L taivakioLukuOUT REAL E, A, M, D, L LuvunluonnollinenlogaritmiENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0LNEN OUTIN ENOMD10A4.0=Kehys LN aktivoidaan, mikäli E 0.0 = 1. LN:n(MD0) tulos tallennetaan merkkerikaksoissanaanMD10. 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”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-8Liukuluvun luonnollisen logaritmin muodostusC79000-G7000-C402-0112-11


Liukulukuaritmetiikka12.11 Liukuluvun eksponenttiarvon muodostusKuvausOperaatiolla liukuluvun eksponenttiarvon muodostus voidaan muodostaa liukuluvuneksponenttiarvo 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-11EXP -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloEXPEN OUTIN ENOIN REAL E, A, M, D, L taivakioLukuOUT REAL E, A, M, D, L LuvuneksponenttiENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0EXPEN OUTIN ENOMD10A4.0=Kehys EXP aktivoidaan, mikäli E 0.0 = 1.EXP:n (MD0) tulos tallennetaan merkkerikaksoissanaanMD10. Jos jokin tuloista tai tulosei ole liukuluku ja tulon E 0.0 signaalitila = 0,osoitetaan lähdölle A 4.0 signaali ”0”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-9Liukuluvun eksponenttiarvon muodostus12-12 C79000-G7000-C402-01


Liukulukuaritmetiikka12.12 Kulmien trigonometristen funktioiden laskenta liukulukuinaKuvausSeuraavilla operaatioilla voidaan laskea kulmien trigonometrisiä funktioita,jotka on esitetty liukulukuina (32 bittiä, IEEE-FP):OperaatioSINASINMerkitysLiukuluvun sinin muodostus kulmasta, joka annetaan kaarimitassa.Kulman muodostaman kaaren suhde koko ympyrän (360 astetta)kaareen (2 . π . R).Liukuluvun arkussinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:—π /2≤ arkussini ≤ + π / 2, jolloin, π = 3.14...COSACOSLiukuluvun kosinin muodostus kulmasta, joka annetaan kaarimitassa.Liukuluvun arkuskosinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:0 ≤ arkuskosini≤ + π, jolloin π = 3.14...TANATANLiukuluvun tangentin muodostus kulmasta, joka annetaan kaarimitassa.Liukuluvun arkuskosinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:—π /2≤ arkustangentti ≤ + π / 2, jolloin π = 3.14...ParametriTaulukot 12-12 ... 12-17 esittävät kehyksiä SIN, ASIN, COS, ACOS, TAN jaATAN ja kuvaavat parametrejä.Taulukko 12-12SIN -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloSINEN OUTIN REAL E, A, M, D, L taivakioLukuIN ENO OUT REAL E, A, M, D, L Luvun siniENO BOOL E, A, M, D, L VapautuslähtöC79000-G7000-C402-0112-13


LiukulukuaritmetiikkaTaulukko 12-13ASIN -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausASINEN OUTINENOEN BOOL E, A, M, D, L, T, Z VapautustuloIN REAL E, A, M, D, L tai LukuvakioOUT REAL E, A, M, D, L Luvun arkussiniENO BOOL E, A, M, D, L VapautuslähtöTaulukko 12-14COS -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausCOSEN OUTEN BOOL E, A, M, D, L, T, Z VapautustuloIN REAL E, A, M, D, L tai LukuvakioINENOOUT REAL E, A, M, D, L Luvun kosiniENO BOOL E, A, M, D, L VapautuslähtöTaulukko 12-15ACOS -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloACOSENOUTINENOIN REAL E, A, M, D, L taivakioLukuOUT REAL E, A, M, D, L Luvun arkussiniENO BOOL E, A, M, D, L VapautuslähtöTaulukko 12-16TAN -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloTANEN OUTIN REAL E, A, M, D, L taivakioLukuINENOOUT REAL E, A, M, D, L Luvun tangenttiENO BOOL E, A, M, D, L Vapautuslähtö12-14 C79000-G7000-C402-01


LiukulukuaritmetiikkaTaulukko 12-17ATAN -kehys ja parametriFUP -kehys Parametri Tied. -tyyppiMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloATANEN OUTIN ENOIN REAL E, A, M, D, L oderKonstanteLukuOUT REAL E, A, M, D, L LuvunarkustangenttiENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0SINEN OUTIN ENOMD10A4.0=Kehys SIN aktivoidaan, mikäli E 0.0 = 1. SIN:n(MD0) tulos tallennetaan merkkerikaksoissanaanMD10. Jos jokin tuloista tai tulos ei oleliukuluku ja tulon E 0.0 signaalitila = 0, osoitetaanlähdölle A 4.0 signaali ”0”.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 12-10 Liukuluvun sinin muodostusC79000-G7000-C402-0112-15


Liukulukuaritmetiikka12-16 C79000-G7000-C402-01


Peruslaskentaoperaatiot11YleiskuvakappaleestaKappale Sisältö Sivu11.1 Kokonaislukujen yhteenlasku (16 bittiä) 11-211.2 Kokonaislukujen yhteenlasku (32 bittiä) 11-311.3 Kokonaislukujen vähennyslasku (16 bittiä) 11-411.4 Kokonaislukujen vähennyslasku (32 bittiä) 11-511.5 Kokonaislukujen kertolasku (16 bittiä) 11-611.6 Kokonaislukujen kertolasku (32 bittiä) 11-711.7 Kokonaislukujen jakolasku (16 bittiä) 11-811.8 Kokonaislukujen jakolasku (32 bittiä) 11-911.9 Jakojäännös (32 bittiä) 11-1011.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissa 11-11C79000-G7000-C402-0111-1


Peruslaskentaoperaatiot11.1 Kokonaislukujen yhteenlasku (16 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiENIN1IN2ADD_IOUTENOMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 INT E, A, M, D, L Ensimmäinen yhteenlaskettavatai vakioIN2 INT E, A, M, D, L Toinen yhteenlaskettavatai vakioOUT INT E, A, M, D, L Yhteenlaskun tulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MW0MW2ADD_IENIN1 OUTIN2 ENOMW10A4.0=Kehys ADD_I aktivoidaan, jos E 0.0 = 1.Yhteenlaskun MW0 + MW2 tulos tallennetaanmerkkerisanaan 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.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-1Kokonaislukujen yhteenlasku (16 bittiä)11-2 C79000-G7000-C402-01


Peruslaskentaoperaatiot11.2 Kokonaislukujen yhteenlasku (32 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiENIN1IN2ADD_DIOUTENOMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 DINT E, A, M, D, L Ensimmäinen yhteenlaskettavatai vakioIN2 DINT E, A, M, D, L Toinen yhteenlaskettavatai vakioOUT DINT E, A, M, D, L Yhteenlaskun tulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0MD4ADD_DIENIN1 OUTIN2 ENOMD10A4.0=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.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-2Kokonaislukujen yhteenlasku (32 bittiä)C79000-G7000-C402-0111-3


Peruslaskentaoperaatiot11.3 Kokonaislukujen vähennyslasku (16 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiENIN1IN2SUB_IOUTENOMuistialueEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 INT E, A, M, D, L Vähennettävätai vakioIN2 INT E, A, M, D, L Vähentäjätai vakioOUT INT E, A, M, D, L Vähennyksen tulosENO BOOL E, A, M, D, L VapautuslähtöKuvausE0.0MW0MW2SUB_IENIN1 OUTIN2 ENOMW10A4.0=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.Tilasanan bittien merkitysOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-3Kokonaislukujen vähennyuslasku (16 bittiä)11-4 C79000-G7000-C402-01


Peruslaskentaoperaatiot11.4 Kokonaislukujen vähennyslasku (32 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiENIN1IN2SUB_DIOUTENOMuistialueKuvausEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 DINT E, A, M, D, L Vähennettävätai vakioIN2 DINT E, A, M, D, L Vähentäjätai vakioOUT DINT E, A, M, D, L Vähennyksen tulosENO BOOL E, A, M, D, L VapautuslähtöE0.0MD0MD4SUB_DIENIN1 OUTIN2 ENOMD10A4.0=Kehys SUB_I aktivoidaan, jos E 0.0 = 1.Vähennyslaskun MD0 -- MD4 tulos tallennetaanmerkkerisanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(32 bittiä) tai tulon E 0.0 signaalitila = 0, osoitetaanlähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-4Kokonaislukujen vähennyslasku (32 bittiä)C79000-G7000-C402-0111-5


Peruslaskentaoperaatiot11.5 Kokonaislukujen kertolasku (16 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiENIN1IN2MUL_IOUTENOMuistialueEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 INT E, A, M, D, L Kerrottavatai vakioIN2 INT E, A, M, D, L Kertojatai vakioOUT DINT E, A, M, D, L Kertolaskun tulosENO BOOL E, A, M, D, L VapautuslähtöKuvausE0.0MW0MW2MUL_IENIN1 OUTIN2 ENOMD10A4.0=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, osoitetaanlähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-5Kokonaislukujen kertolasku (16 bittiä)11-6 C79000-G7000-C402-01


Peruslaskentaoperaatiot11.6 Kokonaislukujen kertolasku (32 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiENIN1IN2MUL_DIOUTENOMuistialueEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 DINT E, A, M, D, L Kerrottavatai vakioIN2 DINT E, A, M, D, L Kertojatai vakioOUT DINT E, A, M, D, L Kertolaskun tulosENO BOOL E, A, M, D, L VapautuslähtöKuvausE0.0MD0MD4MUL_DIENIN1 OUTIN2 ENOMD10A4.0=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, osoitetaanlähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-6Kokonaislukujen kertolasku (32 bittiä)C79000-G7000-C402-0111-7


Peruslaskentaoperaatiot11.7 Kokonaislukujen jakolasku (16 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiMuistialueEN BOOL E, A, M, D, L, T, Z VapautustuloDIV_IENIN1 OUTIN2ENOIN1 INT E, A, M, D, Ltai vakioJaettavaIN2 INT E, A, M, D, L Jakajatai vakioOUT INT E, A, M, D, L Jakolaskun tulosENO BOOL E, A, M, D, L VapautuslähtöKuvausE0.0MW0MW2DIV_IENIN1 OUTIN2 ENOMW10A4.0=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 signaalitila= 0, osoitetaan lähdölle A 4.0 signaali”0” eikä operaatiota suoriteta.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-7Kokonaislukujen jakolasku (16 bittiä)11-8 C79000-G7000-C402-01


Peruslaskentaoperaatiot11.8 Kokonaislukujen jakolasku (32 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiDIV_DIENIN1 OUTIN2 ENOMuistialueEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 DINT E, A, M, D, L Jaettavatai vakioIN2 DINT E, A, M, D, L Jakajatai vakioOUT DINT E, A, M, D, L Jakolaskun tulosENO BOOL E, A, M, D, L VapautuslähtöKuvausE0.0MD0MD4DIV_DIENIN1 OUTIN2 ENOMD10A4.0=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 signaalitila= 0, osoitetaan lähdölle A 4.0 signaali”0” eikä operaatiota suoriteta.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-8Kokonaislukujen jakolasku (32 bittiä)C79000-G7000-C402-0111-9


Peruslaskentaoperaatiot11.9 Jakojäännöksen tallennus (32 bittiä)KuvausVapautustulon (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 parametriFUP-kehys Parametri Tiedosto -tyyppiENIN1IN2MOD_DIOUTENOMuistialueEN BOOL E, A, M, D, L, T, Z VapautustuloIN1 DINT E, A, M, D, L Jaettavatai vakioIN2 DINT E, A, M, D, L Jakajatai vakioOUT DINT E, A, M, D, L JakojäännösENO BOOL E, A, M, D, L VapautuslähtöKuvausE0.0MD0MD4MOD_DIENIN1 OUTIN2 ENOMD10A4.0=Kehys MOD_DI aktivoidaan, jos E 0.0 = 1.Jakolaskun MD0 jaettuna MD4:llä jako--jäännös tallennetaan merkkerikaksoissanaanMD10. Mikäli tulos on kokonaisluvuillesallitun alueen ulkopuolella (32 bittiä) tai tulonE 0.0 signaalitila = 0, osoitetaan lähdölleA 4.0 signaali ”0” eikä operaatiota suoriteta.Tilasanan bittien kuvausOperaatio suoritetaan (EN = 1):BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1Kuva 11-9Jakojäännöksen tallennus (32 bittiä)11-10 C79000-G7000-C402-01


11.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissaPeruslaskentaoperaatiot vaikuttavat seuraaviin tilasanan bitteihin:SSSA1 ja A0OVOSTaulukossa oleva viiva (-) tarkoittaa, että operaation tulos ei vaikutakyseiseen bittiin.Taulukko 11-10Tilasanan bittien signaalitila: Laskentatulos voimassa olevan alueensisälläTuloksen voimassa oleva alueTilasanan bititKokonaisluvuilla (16 ja 32 bittiä) A1 A0 OV OS0 (nolla) 0 0 0 -16 bittiä: -32 768 ≤ tulos < 0 (negatiivinen luku)32 bittiä: -2 147 483 648 ≤ tulos < 0 (negatiivinen luku)16 bittiä: 32 767 ≥ tulos >0 (positive Zahl)32 bittiä: 2 147 483 647 ≥ tulos >0 (positive Zahl)0 1 0 -1 0 0 -Taulukko 11-11Tilasanan bittien signaalitila: Laskentatulos voimassa olevan alueenulkopuolellaTuloksen ei voimassa oleva alueTilasanan bititKokonaisluvuilla (16 ja 32 bittiä) A1 A0 OV OS16 bittiä: tulos > 32 767 (positiivinen luku)32 bittiä: tulos > 2 147 483 647 (positiivinen luku)16 bittiä: tulos < -32 768 (negatiivinen luku)32 bittiä: tulo1 0 1 1C79000-G7000-C402-0111-11


Laskentaoperaatiot10YleiskuvakappaleestaKappale Sisältö Sivu10.1 Muistin laskuriosoite ja laskurin komponentit 10-210.2 Eteenpäin-/taaksepäinlaskenta 10-310.3 Eteenpäinlaskenta 10-510.4 Taaksepäinlaskenta 10-7C79000-G7000-C402-0110-1


Laskentaoperaatiot10.1 Muistin laskuriosoite ja laskurin komponentitMuistialueLaskureille 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 -arvoLaskenta -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.LaskurinbittikonfiguraatioLaskuri asetetaan tiettyyn arvoon laataamalla joku 0:n ja 999:n välinen luku,esim. 127, laskenta -arvona seuraavassa muodossa:C# 127C# 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.1514 13 12 11 10 9 8 7 6 5 4 3 2 1 00 0 0 1 0 0 1 0 0 1 1 1merkityksetön1 2 7Laskenta--arvo BCD-muodossa (0 ... 999)15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 000 0 1 1 1 1 11 1merkityksetönDuaali laskenta--arvoKuva 10-1 Laskuripiirin sisältö laskurin asettamisen jälkeen laskenta -arvolla 12710-2 C79000-G7000-C402-01


Laskentaoperaatiot10.2 Eteenpäin-/taaksepäinlaskentaKuvausKun 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-mnemoniikallaFUP-kehys Parametri Tiedosto -tyyppiMuistialueKuvausZ-noLASKURIZVZRS DUALZW DEZR QNo COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.ZV BOOL E, A, M, D, L Tulo ZV: EteenpäinlaskentaZR BOOL E, A, M, D, L Tulo ZR: TaaksepäinlaskentaS BOOL E, A, M, D, L, T, Z Laskurin esiasetustuloZW WORD E, A, M, D, Ltai vakioLaskenta -lähtöarvo alueella 0 - 999tailaskenta-lähtöarvon anto C#BCD-muodossaR BOOL E, A, M, D, L, T, Z NollaustuloDUAL WORD E, A, M, D, L Aktuelli laskenta -arvo,duaalikoodattuDEZ WORD E, A, M, D, L Aktuelli laskenta -arvo,BCD-muodossa koodattuQ BOOL E, A, M, D, L Laskurin tilaC79000-G7000-C402-0110-3


LaskentaoperaatiotTaulukko 10-2 Eteenpäin-/taaksepäinlaskenta-kehys ja parametri kansainvälisellä mnemoniikallaFUP-kehys Parametri Tiedosto -tyyppiC no.S_CUDCUCDS CVPV CV_BCDR QMuistialueKuvausNo. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.CU BOOL E, A, M, D, L Tulo CU: EteenpäinlaskentaCD BOOL E, A, M, D, L Tulo CD: TaaksepäinlaskentaS BOOL E, A, M, D, L, T, Z Laskurin esiasetustuloPV WORD E, A, M, D, L Laskenta -lähtöarvo alueella 0 - 999taivakiolaskenta-lähtöarvon anto C#BCD-muodossaR BOOL E, A, M, D, L T, Z NollaustuloCV WORD E, A, M, D, L Aktuelli laskenta -arvo,duaalikoodattuCV_BCD WORD E, A, M, D, L Aktuelli laskenta -arvo,BCD-muodossa koodattuQ BOOL E, A, M, D, L Laskurin tilataiZ10E0.0E0.1E0.2C#55E0.3LASKURIZVZRS DUALZW DEZR QA4.0=Mikäli tulon E 0.2 signaalitila vaihtuu”0”:sta ”1”:ksi, asetetaan laskuri Z10 arvolla55. Jos tulon E 0.0 signaalitila vaihtuu”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”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 10-2Eteenpäin-/taaksepäinlaskenta10-4 C79000-G7000-C402-01


Laskentaoperaatiot10.3 EteenpäinlaskentaKuvausKun 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-mnemoniikallaFUP-kehys Parametri Tiedosto -tyyppiMuistialueKuvausZ-noNo COUNTER Z Laskurin tunnus; alue riippuuZ_VORWCPU:sta.ZV ZV BOOL E, A, M, D, L Tulo ZV: EteenpäinlaskentaSZWRDUALDEZQS BOOL E, A, M, D, L, T, Z Laskurin esiasetustuloZW WORD E, A, M, D, L Laskenta -lähtöarvo alueella 0 - 999taitaivakiolaskenta-lähtöarvon anto C#BCD-muodossaR BOOL E, A, M, D, L, T, Z NollaustuloDUAL WORD E, A, M, D, L Aktuelli laskenta -arvo,duaalikoodattuDEZ WORD E, A, M, D, L Aktuelli laskenta -arvo,BCD-muodossa koodattuQ BOOL E, A, M, D, L Laskurin tilaC79000-G7000-C402-0110-5


LaskentaoperaatiotTaulukko 10-4 Eteenpäinlaskenta-kehys ja parametri kansainvälisellä mnemoniikallaFUP-kehys Parametri Tiedosto -tyyppiMuistialueKuvausC no.S_CUCUS CVPV CV_BCDR QNo. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.CU BOOL E, A, M, D, L Tulo CU: EteenpäinlaskentaS BOOL E, A, M, D, L, T, Z Laskurin esiasetustuloPV WORD E, A, M, D, L Laskenta -lähtöarvo alueella 0 - 999taitaivakiolaskenta-lähtöarvon anto C#BCD-muodossaR BOOL E, A, M, D, L, T, Z NollaustuloCV WORD E, A, M, D, L Aktuelli laskenta -arvo,duaalikoodattuCV_BCD WORD E, A, M, D, L Aktuelli laskenta -arvo,BCD-muodossa koodattuQ BOOL E, A, M, D, L Laskurin tilaZ10Z_VORWE0.0E0.2C#901E0.3ZVSZWRDUALDEZQA4.0=Mikäli tulon E 0.2 signaalitila vaihtuu”0”:sta ”1”:ksi, asetetaan laskuri Z10 arvolla901. 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 erisuurikuin ”0”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 10-3Eteenpäinlaskenta10-6 C79000-G7000-C402-01


Laskentaoperaatiot10.4 TaaksepäinlaskentaKuvausKun 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-mnemoniikallaFUP-kehys Parametri Tiedosto - MuistialueKuvaustyyppiZ-noNo COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.Z_RUECKZR BOOL E, A, M, D, L Tulo ZR: TaaksepäinlaskentaZR S BOOL E, A, M, D, L, T, Z Laskurin esiasetustuloSZWRDUALDEZQZW WORD E, A, M, D, LtaivakioR BOOL E, A, M, D, L, T, Z NollaustuloLaskenta -lähtöarvo alueella 0 - 999tailaskenta-lähtöarvon anto C#BCD-muodossaDUAL WORD E, A, M, D, L Aktuelli laskenta -arvo,duaalikoodattuDEZ WORD E, A, M, D, L Aktuelli laskenta -arvo,BCD-muodossa koodattuQ BOOL E, A, M, D, L Laskurin tilaC79000-G7000-C402-0110-7


LaskentaoperaatiotTaulukko 10-6 Taaksepäinlaskenta-kehys ja parametri kansainvälisellä mnemoniikallaFUP-kehys Parametri Tiedosto -tyyppiMuistialueKuvausC no.S_CDNo. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.CD BOOL E, A, M, D, L Tulo CD: TaaksepäinlaskentaCD S BOOL E, A, M, D, L, T, Z Laskurin esiasetustuloSCVPV WORD E, A, M, D, LLaskenta -lähtöarvo alueella 0 - 999PVRCV_BCDQtaivakiotailaskenta-lähtöarvon anto C#BCD-muodossaR BOOL E, A, M, D, L, T, Z NollaustuloCV WORD E, A, M, D, L Aktuelli laskenta -arvo,duaalikoodattuCV_BCD WORD E, A, M, D, L Aktuelli laskenta -arvo,BCD-muodossa koodattuQ BOOL E, A, M, D, L Laskurin tilaZ10Z_RUECKE0.0E0.2C#901ZRSZWDUALDEZJos 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.E0.3RQA4.0=Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 10-4Taaksepäinlaskenta10-8 C79000-G7000-C402-01


Aikaoperaatiot9YleiskuvakappaleestaKappale Sisältö Sivu9.1 Ajan muistialueet ja komponentit 9-29.2 Oikean ajan valinta 9-49.3 Ajan käynnistys impulssina 9-59.4 Ajan käynnistys pidennettynä impulssina 9-79.5 Ajan käynnistys vetohidastuksena 9-99.6 Ajan käynnistys tallentavana vetohidastuksena 9-119.7 Ajan käynnistys päästöhidastuksena 9-13C79000-G7000-C402-019-1


Aikaoperaatiot9.1 Ajan (aikapiirin) muistialueet ja komponentitMuistialueAjoille 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 AikaoperaatiotS 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-arvoAika-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.AikakertoimentunnusAikakerroin 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-1Aikakertoimen tunnus ja binäärikoodiAikakertoimen tunnus Aikakertoimen tunnuksen binäärikoodi10 ms 00100 ms 011s 1010 s 119-2 C79000-G7000-C402-01


AikaoperaatiotKoska 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-2Aikakertoimen tunnuksen tarkkuus ja alueetTarkkuusAikakertoimen tunnus0,01 sekunti 10MS ... 9S_990MS0,1 sekunti 100MS ... 1M_39S_900MS1 sekunti 1S ... 16M_39S10 sekuntia 10S ... 2HR_46M_30SAikapiirinbittikonfiguraatioMikä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.15... ...8 7... ...0x x 1 0 0 0 0 1 0 0 1 0 0 1 1 11 2 7Aikakertoimen Aika--arvo BCD--muodossa (0 ... 999)tunnus 1 sekuntiMerkityksetön: Näitä bittejä ei huomioida aikaa käynnistettäessäKuva 9-1Aikapiirin sisältö aika-arvolla 127 aikakertoimen tunnuksen ollessa1 sekuntiAikakertoimen jaajan lukuJokaisessa 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.C79000-G7000-C402-019-3


Aikaoperaatiot9.2 Oikean aikatyypin valinta aikapiireilleSeuraava kuva antaa yleiskuvan viidestä eri aikatyypistä, joita tässäkappaleessa on kuvattu. Yleiskuvan tulisi helpottaa tarkoitusta vastaavan ajanvalitsemisessa.TulosignaaliE0.0Lähtösignaali(aika impulssina)A4.0S_IMPULStMaksimiaika, 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(aika pidennettynäimpulssina)A4.0S_VIMPtLähtösignaali pysyy ohjelmoidun ajan ”1”:nä, riippumatta siitä,kuinka kauan tulosignaali pysyy ”1”:nä.Lähtösignaali(aika veto -hidastuksena)A4.0S_EVERZtLähtösignaali on vain ”1”, kun ohjelmoitu aika on kulunutumpeen tulosignaalin ollessa yhä ”1”.Lähtösignaali(aika muistavanavetohidastuksena)A4.0S_SEVERZtLähtösignaali vaihtuu vain ”0”:sta ”1”:ksi, kun ohjelmoitu aikaon kulunut umpeen, riippumatta siitä, kuinka kauantulosignaali pysyy ”1”:nä.Lähtösignaali(aika päästö -hidastuksena)A4.0S_AVERZLähtösignaali on ”1”, mikäli tulosignaali on ”1” tai aika juoksee.Aika käynnistetään, mikäli tulosignaali vaihtuu ”1”:stä ”0”:ksi.tKuva 9-2Oikean aikatyypin valinta9-4 C79000-G7000-C402-01


Aikaoperaatiot9.3 Ajan (aikapiirin) käynnistys impulssinaKuvausTaulukko 9-3Operaatio 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 signaalitilalla”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.Ajan käynnistys impulssina-kehys ja parametri SIMATIC -mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiNo TIMER T Ajan tunnus; alue riippuu CPU:sta.T--no S BOOL E,A,M,D,L,T, Z KäynnistystuloS_IMPULS TW S5TIME E, A, M, D, L Esiasetettu aika -arvo (alue 0 - 9999)tai vakioSDUALR BOOL E,A,M,D,L,T, Z NollaustuloTWDEZDUAL 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 tilaTaulukko 9-4Ajan käynnistys impulssina-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiNo TIMER T Ajan tunnus; alue riippuu CPU:sta.Tno S BOOL E,A,M,D,L,T, Z KäynnistystuloS_PULSE TV S5TIME E, A, M, D, L Esiasetettu aika -arvo (alue 0 - 9999)tai vakioSBIR BOOL E,A,M,D,L,T, Z NollaustuloTVBCDBI 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 tilaC79000-G7000-C402-019-5


AikaoperaatiotEsimerkkiKuva 9-3 esittää operaatiota ajan käynnistys impulssina. Se kuvaa tilasananbittejä ja selventää operaation ominaisuuksia.E0.0S5T# 2sT5S_IMPULSS DUALTW DEZMikä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 kulunut,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.E0.1RQA4.0=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 30sekuntiaTilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Impulssidiagrammi- - t - -- - t - - - - t - -Tulon S LUKTulon R LUKAika kulkeeLähdön Q LUKLähdön Q käännetty LUKt = ohjelmoitu aikaKuva 9-3Ajan käynnistys impulssina9-6 C79000-G7000-C402-01


Aikaoperaatiot9.4 Ajan (aikapiirin) käynnistys pidennettynä impulssinaKuvausTaulukko 9-5Operaatio 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.Ajan käynnistys pidennettynä impulssina-kehys ja parametri SIMATIC -mnemoniikallaFUP -kehysTnoS_VIMPSDUALTWDEZRQParametriTiedosto -tyyppiMuistialueKuvausNo TIMER T Ajan tunnus; alue riippuu CPU:sta.S BOOL E,A,M,D,L,T, Z KäynnistystuloTW S5TIMEE, A, M, D, Ltai vakioEsiasetettu aika -arvo (alue 0 - 9999)R BOOL E,A,M,D,L,T, Z NollaustuloDUAL WORD E, A, M, D, L Jäännösaika-arvo (kokonaislukumuoto)DEZ WORD E, A, M, D, L Jäännösaika-arvo (BCD -muoto)Q BOOL E, A, M, D, L Ajan tilaTaulukko 9-6Ajan käynnistys pidennettynä impulssina-kehys ja parametri kansainvälisellä mnemoniikallaFUP -Box Parametri Tiedosto - MuistialueKuvaustyyppiNo TIMER T Ajan tunnus; alue riippuu CPU:sta.T no.S BOOL E,A,M,D,L,T, Z KäynnistystuloS_PEXTTV S5TIME E, A, M, D, L Esiasetettu aika -arvo (alue 0 - 9999)S BItai vakioTVR BOOL E,A,M,D,L,T, Z NollaustuloBCDBI WORD E, A, M, D, L Jäännösaika-arvo (kokonaislukumuoto)RQBCD WORD E, A, M, D, L Jäännösaika-arvo (BCD -muoto)Q BOOL E, A, M, D, L Ajan tilaC79000-G7000-C402-019-7


AikaoperaatiotEsimerkkiKuva 9-4 esittää operaatiota ajan käynnistys pidennettynä impulssina. Sekuvaa tilasanan bittejä ja selventää operaation ominaisuuksia.E0.0S5T# 2sE0.1T5S_VIMPS DUALTW DEZR QA4.0=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 annetulla2: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 uudelleen.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 kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Impulssidiagrammi- - t - - - - t - -- - t - - - - t - -Tulon S LUKTulon R LUKAika kulkeeLähdön Q LUKLähdön Q käännetty LUKt = ohjelmoitu aikaKuva 9-4Ajan käynnistys pidennettynä impulssina9-8 C79000-G7000-C402-01


Aikaoperaatiot9.5 Ajan (aikapiirin) käynnistys vetohidastuksenaKuvausTaulukko 9-7Operaatio 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.Ajan käynnistys vetohidastuksena-kehys ja parametri SIMATIC -mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiNo TIMER T Ajan tunnus; alue riippuu CPU:sta.T--noS BOOL E,A,M,D,L,T, Z KäynnistystuloS_EVERZTW S5TIME E, A, M, D, L Esiasetettu aika -arvo (alue 0 - 9999)S DUALtai vakioTWDEZR BOOL E,A,M,D,L,T, Z NollaustuloRQDUAL WORD E, A, M, D, L Jäännösaika-arvo (kokonaislukumuoto)DEZ WORD E, A, M, D, L Jäännösaika-arvo (BCD -muoto)Q BOOL E, A, M, D, L Ajan tilaTaulukko 9-8Ajan käynnistys vetohidastuksena-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiNo TIMER T Ajan tunnus; alue riippuu CPU:sta.T no.S BOOL E,A,M,D,L,T, Z KäynnistystuloS_ODTTV S5TIME E, A, M, D, L Esiasetettu aika -arvo (alue 0 - 9999)S BItai vakioTVBCDR BOOL E,A,M,D,L,T, Z NollaustuloBI 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 tilaC79000-G7000-C402-019-9


AikaoperaatiotEsimerkkiKuva 9-5 esittää operaatiota ajan käynnistys vetohidastuksena. Se kuvaatilasanan bittejä ja selventää operaation ominaisuuksia.E0.0S5T# 2sE0.1T5S_EVERZS DUALTW DEZR QA4.0=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 umpeentulon 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äytetäänaika ja A 4.0 on ”0”. Jos tulon E 0.0 signaalitilavaihtuu ”0”:sta ”1”:ksi ajan juostessa,käynnistetään aika uudelleen.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1ImpulssidiagrammiTulon S LUK- - t - - - - t - - - - t - -Tulon R LUKAika kuluuLähdön Q LUKLähdön Q käännetty LUKt = ohjelmoitu aikaKuva 9-5Ajan käynnistys vetohidastuksena9-10 C79000-G7000-C402-01


Aikaoperaatiot9.6 Ajan (aikapiirin) käynnistys tallentavana vetohidastuksenaKuvausTaulukko 9-9Operaatio 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.Ajan käynnistys tallentavana vetohidastuksena-kehys ja parametri SIMATIC -mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiNo TIMER T Ajan tunnus; alue riippuu CPU:sta.T-- noS BOOL E,A,M,D,L,T, Z KäynnistystuloS_SEVERZSEVERZTW S5TIME E, A, M, D, L Esiasetettu aika -arvo (alue 0 - 9999)S DUALtai vakioTWDEZ R BOOL E,A,M,D,L,T, Z NollaustuloRQDUAL WORD E, A, M, D, L Jäännösaika-arvo (kokonaislukumuoto)DEZ WORD E, A, M, D, L Jäännösaika-arvo (BCD -muoto)Q BOOL E, A, M, D, L Ajan tilaTaulukko 9-10 Ajan käynnistys tallentavana vetohidastuksena-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppino. TIMER T Ajan tunnus; alue riippuu CPU:sta..T no.S BOOL E,A,M,D,L,T, Z KäynnistystuloS_ODTSTV S5TIME E, A, M, D, L Esiasetettu aika -arvo (alue 0 - 9999)S BItai vakioTV BCD R BOOL E,A,M,D,L,T, Z NollaustuloRQBI WORD E, A, M, D, L Jäännösaika-arvo (kokonaislukumuoto)BCD WORD E, A, M, D, L Jäännösaika-arvo (BCD -muoto)Q BOOL E, A, M, D, L Ajan tilaC79000-G7000-C402-019-11


AikaoperaatiotEsimerkkiKuva 9-6 esittää operaatiota ajan käynnistys tallentavana vetohidastuksena.Se kuvaa tilasanan bittejä ja selventää operaation ominaisuuksia.E0.0S5T# 2sE0.1T5S_SEVERZS DUALTW DEZR QA4.0=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 tulonE 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 kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Impulssidiagrammi- - t - - - - t - -- - t - - - t -Tulon S LUKTulon R LUKAika kulkeeLähdön Q LUKLähdön Q käännetty LUKt = ohjelmoitu aikaKuva 9-6Ajan käynnistys tallentavana vetohidastuksena9-12 C79000-G7000-C402-01


Aikaoperaatiot9.7 Ajan (aikapiirin) käynnistys päästöhidastuksenaKuvausOperaatio 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 -mnemoniikallaFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvausT-- noS_AVERZS DUALTWDEZRQNo TIMER T Ajan tunnus; alue riippuu CPU:sta.S BOOL E,A,M,D,L,T, Z KäynnistystuloTW S5TIME E, A, M, D, L Esiasetettu aika-arvo (alue 0 - 9999)tai vakioR BOOL E,A,M,D,L,T, Z NollaustuloDUAL WORD E, A, M, D, L Jäännösaika-arvo (kokonaislukumuoto)DEZ WORD E, A, M, D, L Jäännösaika-arvo (BCD -muoto)Q BOOL E, A, M, D, L Ajan tilaTaulukko 9-12 Ajan käynnistys päästöhidastuksena-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvausT noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.S BOOL E,A,M,D,L,T,Z KäynnistystuloS_OFFDTTV S5TIME E, A, M, D, L Esiasetettu aika-arvo (alue 0 - 9999)S BItai vakioTVBCDR BOOL E,A,M,D,L,T,Z NollaustuloRQBI WORD E, A, M, D, L Jäännösaika-arvo (kokonaislukumuoto)BCD WORD E, A, M, D, L Jäännösaika-arvo (BCD -muoto)Q BOOL E, A, M, D, L Ajan tilaC79000-G7000-C402-019-13


AikaoperaatiotEsimerkkiKuva 9-7 esittää operaatiota ajan käynnistys päästöhidastuksena. Se kuvaatilasanan bittejä ja selventää operaation ominaisuuksia.E0.0S5T# 2sT5S_AVERZS DUALTW DEZMikä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.E0.1RQA4.0=Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Impulssidiagrammi- - t - - - - t - - - - t - -- - t - -Tulon S LUKTulon R LUKAika kulkeeLähdön Q LUKLähdön Q käännetty LUKt = ohjelmoitu aikaKuva 9-7Ajan käynnistys päästöhidastuksena9-14 C79000-G7000-C402-01


Bittilukitusoperaatiot8YleiskuvakappaleestaKappale Sisältö Sivu8.1 Yleiskuva 8-28.2 JA -lukitus 8-38.3 TAI -lukitus 8-48.4 JA -ennen -TAI-lukitusta ja TAI-ennen -JA -lukitusta 8-58.5 EHDOTON -TAI-lukitus 8-68.6 Binääritulon väliinkirjoitus 8-78.7 Binääritulon kääntö 8-88.8 Osoitus 8-98.9 Konnektori 8-108.10 Lukitustuloksen lataus BIE -rekisteriin 8-118.11 Lähdön asetus 8-128.12 Lähdön nollaus 8-138.13 Laskurin aloitusarvon asetus 8-148.14 Operaatio: Eteenpäinlaskenta 8-168.15 Operaatio: Taaksepäinlaskenta 8-178.16 Operaatio: Ajan käynnistys impulssina 8-188.17 Operaatio: Ajan käynnistys pidennettynä impulssina 8-208.18 Operaatio: Ajan käynnistys vetohidastuksena 8-228.19 Operaatio: Ajan käynnistys tallentavana vetohidastuksena 8-248.20 Operaatio: Ajan käynnistys päästöhidastuksena 8-268.21 Reunan 0 -> 1 kysely 8-288.22 Reunan 1 -> 0 kysely 8-298.23 Signaalireunan 0 -> 1 kysely 8-308.24 Signaalireunan 1 -> 0 kysely 8-318.25 Flipflopin asetus/nollaus 8-328.26 Flipflopin nollaus/asetus 8-33C79000-G7000-C402-018-1


Bittilukitusoperaatiot8.1 YleiskuvaSelitysBittilukitusoperaatiot 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äynnistämätlukitusoperaatiot suorittavat joukon toimintoja.ToiminnatSeuraaville 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 signaalitilakyselyntulos lukitaan JA-totuustaulukon mukaisesti (katso taulukko6-7). TAI-lukituksissa tämä tapahtuu TAI-totuustaulukon mukaisesti(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”:S- lähdön asetus ja nollaus- Flipflopin asetus/nollaus ja Flipflopin nollaus/asetusMuutamat 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” muodostaminenS 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.8-2 C79000-G7000-C402-01


Bittilukitusoperaatiot8.2 JA -lukitusKuvausOperaatiolla 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, lukitseesignaalitilakyselynsä tuloksen LUK-bittiin tallennetulla arvolla. Tämälukitus suoritetaan JA-totuustaulukon mukaisesti.Taulukko 8-1JA -kehys ja parametritFUP -kehys Parametri Tiedosto -tyyppi BOOL&TIMERCOUNTERMuistialueKuvausE, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.E0.0&A4.0E0.1 =Lähtö A 4.0 on asetettu, jos tulonE 0.0 JA E 0.1 signaalitila on ”1”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 8-1JA -lukitusC79000-G7000-C402-018-3


Bittilukitusoperaatiot8.3 TAI -lukitusKuvausOperaatiolla 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-2TAI-kehys ja parametritFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvaus >=1BOOLTIMERCOUNTERE, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.E0.0>=1A4.0E0.1 =Lähtö A 4.0 on asetettu, jos tulon E 0.0 TAI tulon E 0.1signaalitila on ”1”Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 8-2TAI-lukitus8-4 C79000-G7000-C402-01


Bittilukitusoperaatiot8.4 JA -ennen -TAI -lukitusta ja TAI -ennen -JA -lukitustaKuvausOperaatiolla 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.E0.0E0.1&>=1Lähdön A 3.1 signaalitila on ”1”, josvähintään yksi JA--lukitus on toteutunut.E0.2E0.3&A3.1=Lähdön A 3.1 signaalitila on ”0”, josmikään JA--lukitus ei ole toteutunut.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 8-3JA -ennen -TAI-lukitusKuvausOperaatiolla TAI-ennen-JA voidaan signaalitilakyselyn tulosta kysyäJA-totuustaulukon mukaisesti.TAI-ennen-JA-lukituksen signaalitila on ”1”, jos kaikki TAI-lukitukset ovattoteutuneet.E1.0E1.1>=1&Lähdön A 3.1 signaalitila on ”1”, josmolemmat TAI--lukitukset ovat toteutuneet.E1.2E1.3>=1A3.1=Lähdön A 3.1 signaalitila on ”0”, josvähintään yksi TAI--lukitus ei ole toteutunut.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 8-4TAI-ennen -JA -lukitustaC79000-G7000-C402-018-5


Bittilukitusoperaatiot8.5 EHDOTON -TAI -lukitusKuvausOperaatiolla 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-3EHDOTON -TAI-kehys ja parametriFUP -kehys Parametri Tiedosto -tyyppiXORBOOLTIMERCOUNTERMuistialueKuvausE, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.XORE0.0A3.1E0.2 =Lähdön A 3.1 signaalitila on ”1”, vain jos XOR--piirin tulonE 0.0 TAI tulon E 0.2 signaalitila on ”1”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 8-5EHDOTON -TAI-lukitus8-6 C79000-G7000-C402-01


Bittilukitusoperaatiot8.6 Binääritulon väliinkirjoitusKuvausOperaatio binääritulo väliinkirjoittaa JA-, TAI- tai EHDOTON-TAI-kehykseen tulomerkinnän jälkeen toisen binääritulon.Taulukko 8-4Binääritulon ja parametrin elementtiFUP -elementti Parametri Tiedosto -tyyppiBOOLTIMERCOUNTERMuistialueKuvausE, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.E1.0 &E1.1E1.2A4.0=Lähtö A 4 on ”1”, jos tulojen E1.0 JAE 1.1 JA E 1.2 signaalitila on ”1”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- 1 x --Kuva 8-6Binääritulon väliinkirjoitusC79000-G7000-C402-018-7


Bittilukitusoperaatiot8.7 Binääritulon kääntöKuvausOperaatio binääritulon kääntö kääntää LUK:n.Lukitustulosta käännettäessä on huomioitava tietyt säännöt:SSSMikäli lukitustulos käännetään JA- tai TAI-kehyksen ensimmäisessälähdössä, ei tule sulkuja.Mikäli lukitustulosta ei käännetä TAI-kehyksen ensimmäisessä lähdössä,otetaan koko binäärilukitus mukaan TAI-lukitukseen ennen lähtöä.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-5Binäärituloelementin kääntöFUP -elementti Parametri Tiedosto -tyyppiMuistialueKuvausEi ole - - -E1.0 &E1.1&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”E1.2 &E1.3>=1TAI tulon E 1.4 EI signaalitila on ”1”.E1.4A4.0=Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- 1 x --Kuva 8-7Binääritulon kääntö8-8 C79000-G7000-C402-01


Bittilukitusoperaatiot8.8 OsoitusKuvausLukitustulos saadaan operaatiolla osoitus. Lukituksen lopussa oleva kehysantaa signaalin ”1” tai ”0” seuraavien kriteerien mukaisesti:SSLähdön signaali on ”1”, mikäli lukituksen ehdot ovat täyttyneet ennenlähtökehystä.Lähdön signaali on ”0”, mikäli lukituksen ehdot eivät ole täyttyneet ennenlähtökehystä.FUP-lukitus osoittaa operaation puhuttelemalle lähdölle signaalitilan (samanasian aikaansaamiseksi voitaisiin operandille osoittaa myös LUK-bitin signaalitila).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-6Osoitus-kehys ja parametriFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvaus= BOOL E, A, M, D, L Operandi ilmoittaa, mille bitillelukitusketjun signaalitila osoitetaan.E0.0E0.1&E0.2>=1A4.0=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.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 x -- 0Kuva 8-8OsoitusC79000-G7000-C402-018-9


Bittilukitusoperaatiot8.9 Konnektori (väliohjaus)KuvausOperaatio 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-7Konnektori-kehys ja parametriFUP -kehys Parametri Tiedosto -tyyppi#MuistialueKuvaus BOOL E, A, M, D, L Operandi ilmoittaa, mille bitilleLUK osoitetaan.E1.0 &M0.0E1.1 #&E1.2 &E1.3M1.1#>=1E1.4M2.2DB5.DBX3.2 A4.0# #=Konnektorit tallentavat seuraavat lukitustulokset:M 0.0 tallentaa tulojenkäännetyn LUK:nE1.0 &E1.1M 1.1 tulojenkäännetyn LUK:nE1.2 &E1.3DB5.DBX3.2 koko bittilukituksen käännetynM 2.2 tulon E1.4 LUK:n E1.4 #LUK:n DB 5:n 3. tavun bittiin 2.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 x -- 0Kuva 8-9Konnektori8-10 C79000-G7000-C402-01


Bittilukitusoperaatiot8.10 Lukitustuloksen lataus BIE -rekisteriinKuvausOperaatio 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-8Lukitustulo -kehyksen lataus BIE -rekisteriin ja parametriFUP -kehys Parametri Tiedosto -tyyppiMuistialueSAVEEi ole - - -KuvausE1.2 &E1.3SAVELukitustulos (LUK) tallennetaan BIE--bittiin.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- -- -- -- -- -- --Kuva 8-10Lukitustuloksen lataus BIE -rekisteriinC79000-G7000-C402-018-11


Bittilukitusoperaatiot8.11 Lähdön asetusKuvausOperaatio 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-9Lähdön asetus-kehys ja parametriFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppi BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava.SLähdön A 4.0 signaalitila asetetaan ”1”:ksi vain, jos:E0.0 &E0.1E0.2>=1A4.0SS 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.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 x -- 0Kuva 8-11Lähdön asetus8-12 C79000-G7000-C402-01


Bittilukitusoperaatiot8.12 Lähdön nollausKuvausOperaatio 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 parametriFUP -kehys Parametri Tiedosto -tyyppi BOOLRTIMERCOUNTERMuistialueKuvausE, A, M, T, Z, D, L Operandi ilmoittaa, mikä bitti onnollattava.Lähdön A 4.0 signaalitila nollataan ”0” vain, jos:E0.0 &E0.1E0.2>=1A4.0RS 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.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 x -- 0Kuva 8-12Lähdön nollausC79000-G7000-C402-018-13


Bittilukitusoperaatiot8.13 Laskurin aloitusarvon asetusKuvausOperaatiolla 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 -mnemoniikallaFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvausZWLaskurinnumeroCOUNTER Z Operandi1 ilmoittaa laskurinnumeron, jolle on esiasetettava arvo.SZ ZW WORD E, A, M, D, LtaivakioEsiasetusarvo (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ä mnemoniikallaFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvausSCCVLaskurinnumeroCOUNTER Z Operandi1 ilmoittaa laskurinnumeron, jolle on esiasetettava arvo.CV WORD E, A, M, D, LtaivakioEsiasetusarvo (operandi2) voi ollavälillä 0 ... 999. Vakiota annettaessaon sen arvon edessä oltava C#, jokailmoittaa BCD -muodon,esim. C#100.8-14 C79000-G7000-C402-01


BittilukitusoperaatiotE0.0C#100 ZWZ5 Laskuri Z5 esiasetetaan arvolla 100, jos tulon E 0.0SZsignaalitila 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.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 -- -- 0Kuva 8-13Laskurin aloitusarvon asetusC79000-G7000-C402-018-15


Bittilukitusoperaatiot8.14 Operaatio: eteenpäinlaskentaKuvausTaulukko 8-13 Eteenpäinlaskenta-kehys ja parametri, SIMATIC - ja kansainvälisellä mnemoniikallaFUP -kehykset Parametri Tiedosto -tyyppiZVOperaatio 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 oikeanpuoleiseenpäähän. Voidaan kuitenkin käyttää useampia eteenpäinlaskentakehyksiä.LaskurinumeroMuistialueKuvausCOUNTER Z Operandi ilmoittaa laskurinnumeron, jonka arvoa korotetaan.CUE0.0Z10ZVJos 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.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 -- -- 0Kuva 8-14Eteenpäinlaskenta8-16 C79000-G7000-C402-01


Bittilukitusoperaatiot8.15 Operaatio: taaksepäinlaskentaKuvausOperaatio 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.Taulukko 8-14 Taaksepäinlaskenta-kehys ja parametri, SIMATIC - ja kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto -lajiMuistialueKuvausZROperaatio laskurin aloitusarvon asetus asetaa laskurin arvon (katsokappale 8.13).Taaksepäinlaskenta-kehys voidaan sijoittaa vain lukitusketjun oikeanpuoleiseenpäähän. Voidaan kuitenkin käyttää useampia taaksepäinlaskentakehyksiä.LaskurinumeroCOUNTER Z Operandi ilmoittaa laskurinnumeron, jonka arvoa lasketaan.CDE0.0Z10ZRJos lähdön E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:nnouseva reuna), lasketaan laskurin Z10 arvoa ”1”:llä (olkoonkin,että laskurin Z10 arvo on yhtäsuuri kuin ”0”).Mikäli nousevaa reunaa ei ole, ei laskurin Z10 arvoa muuteta.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 -- -- 0Kuva 8-15TaaksepäinlaskentaC79000-G7000-C402-018-17


Bittilukitusoperaatiot8.16 Operaatio: ajan (aikapiirin) käynnistys impulssinaKuvausOperaatio 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 oikeanpuoleiseenpäähän. Voidaan tosin käyttää useampia ajan käynnistysimpulssina-kehyksiä.Taulukko 8-15 Ajan käynnistys impulssina-kehys ja parametri SIMATIC -mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvauslajiSIAjan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TWTW S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)Taulukko 8-16 Ajan käynnistys impulssina-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvauslajiSPAjan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TVTV S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)8-18 C79000-G7000-C402-01


BittilukitusoperaatiotVirtapiiri 1:E0.0S5T#2sVirtapiiri 2:T5TWT5SIA4.0=Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nousevareuna), käynnistetään aika T5. niin kauan kuin signaalitila = 1, juokseeaika annetulla 2:n sekunnin arvolla. Jos tulon E 0.0 signaalitilavaihtuu ”1”:stä ”0”:ksi ennenkuin ko. aika kuluu umpeen, pysäytetäänaika.Niin kauan kuin aika juoksee, on lähdön A 4.0 signaalitila = 1.Aika -arvoesimerkkejä:S5T#2s = 2 sekuntiaS5T#12m_18s = 12 minuuttia ja 18 sekuntiaTilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 -- -- 0Kuva 8-16Ajan käynnistys impulssinaC79000-G7000-C402-018-19


Bittilukitusoperaatiot8.17 Operaatio: ajan (aikapiirin) käynnistys pidennettynä impulssinaKuvausOperaatio 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 lukitusketjunoikeanpuoleiseen 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 -mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvauslajiSVAjan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TWTW S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)Taulukko 8-18 Ajan käynnistys pidennettynä impulssina-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvauslajiSEAjan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TVTV S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)8-20 C79000-G7000-C402-01


BittilukitusoperaatiotVirtapiiri 1:E0.0S5T#2sVirtapiiri 2:T5TWT5SVA4.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 umpeen,aika jälkikäynnistetään.Niin kauan kuin aika juoksee on lähdön A 4.0 signaalitila = 1.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 -- -- 0Kuva 8-17Ajan käynnistys pidennettynä impulssinaC79000-G7000-C402-018-21


Bittilukitusoperaatiot8.18 Operaatio: ajan (aikapiirin) käynnistys vetohidastuksenaKuvausOperaatio 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 -mnemoniikallaFUP -kehys Parametri Tiedosto -tyyppiSEAjannumeroMuistialueKuvausTIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TWTW S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)Taulukko 8-20 Ajan käynnistys vetohidastuksena-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto -tyyppiSDTVAjannumeroMuistialueKuvausTIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TV S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)8-22 C79000-G7000-C402-01


BittilukitusoperaatiotVirtapiiri 1:E0.0S5T#2sTWT5SEJos 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.Virtapiiri 2:T5A4.0=Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 -- -- 0Kuva 8-18Ajan käynnistys vetohidastuksenaC79000-G7000-C402-018-23


Bittilukitusoperaatiot8.19 Operaatio: ajan (aikapiirin) käynnistys tallentavanavetohidastuksenaKuvausOperaatio 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 -mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiSSAjan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TWTW S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)Taulukko 8-22 Ajan käynnistys tallentavana vetohidastuksena-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiSSAjan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TVTV S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)8-24 C79000-G7000-C402-01


BittilukitusoperaatiotVirtapiiri 1:E0.0S5T#2sTWT5SSJos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nousevareuna), 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.Virtapiiri 2:T5A4.0=Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 -- -- 0Kuva 8-19Ajan käynnistys tallentavana vetohidastuksenaC79000-G7000-C402-018-25


Bittilukitusoperaatiot8.20 Operaatio: ajan (aikapiirin) käynnistys päästöhidastuksenaKuvausOperaatio 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 -mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiSAAjan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TWTW S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)Taulukko 8-24 Ajan käynnistys päästöhidastuksena-kehys ja parametri kansainvälisellä mnemoniikallaFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiSFAjan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.TVTV S5TIME E, A, M, D, Ltai vakioAika -arvo (muoto S5TIME)8-26 C79000-G7000-C402-01


BittilukitusoperaatiotVirtapiiri 1:E0.0S5T#2sVirtapiiri 2:T5TWT5SAA4.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.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 -- -- 0Kuva 8-20Ajan käynnistys päästöhidastuksenaC79000-G7000-C402-018-27


Bittilukitusoperaatiot8.21 Reunan 0 -> 1 kysely (pulssin muodostus nousevasta reunasta)KuvausOperaatio 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 parametriFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvaus BOOL E, A, M, D, L Operandi ilmoittaa, mikäPreunamerkkeri tallentaa edellisenLUK:n.E1.0M0.0&E1.1P&Reunamerkkeri M 3.3 tallentaaedellisen LUK:n signaalitilan.E1.2 &E1.3M1.1N>=1E1.4&M2.2PM3.3NA4.0=Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 x x 1Kuva 8-21Reunan 0 1 kysely8-28 C79000-G7000-C402-01


Bittilukitusoperaatiot8.22 Reunan 1 -> 0 kysely (pulssin muodostus laskevasta reunasta)KuvausOperaatio 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 parametriFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvaus BOOL E, A, M, D, L Operandi ilmoittaa, mikäNreunamerkkeri tallentaa edellisenLUK:n.E1.0M0.0&E1.1P&Reunamerkkeri M 3.3 tallentaaedellisen LUK:n signaalitilan.E1.2 &E1.3M1.1N>=1E1.4&M2.2PM3.3NA4.0=Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 x x 1Kuva 8-22Reunan 1 0 kyselyC79000-G7000-C402-018-29


Bittilukitusoperaatiot8.23 Signaalireunan 0 -> 1 kysely (pulssin muodostusnousevasta reunasta)KuvausOperaatio signaalireunan 0 1 kysely vertaa 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 parametriFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvaus BOOL E, A, M, D, L Positiivisen reunanvaihdon kysyväPOSsignaaliM_BIT BOOL A, M, D Operandi M_BIT ilmoittaa, mihinreunamerkkeriin POS:n edellinenM_BIT Qsignaalitila 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öM0.0E0.3POSM_BIT QE0.4&A4.0=Lähtö A 4.0 on ”1”, jos:tulossa E 0.3 on nouseva reunaJA tulon E 0.4 signaalitila on ”1”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- -- -- 0 1 x 1Kuva 8-23Signaalireunan 0 1 kysely8-30 C79000-G7000-C402-01


Bittilukitusoperaatiot8.24 Signaalireunan 1 -> 0 kysely (pulssin muodostuslaskevasta reunasta)KuvausOperaatio signaalireunan 1 0 kysely vertaa 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 parametriFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvaus BOOL E, A, M, D, L NegatiivisenNEGreunanvaihdon kysyväsignaaliM_BIT BOOL A, M, D Operandi M_BITM_BIT Qilmoittaa, 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öM0.0E0.3NEGM_BIT QE0.4&A4.0=Lähtö A 4.0 on ”1”, jostulossa E 0.3 on laskeva reunaJA tulon E 0.4 signaalitila on ”1”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- -- -- 0 1 x 1Kuva 8-24Signaalireunan 1 0 kyselyC79000-G7000-C402-018-31


Bittilukitusoperaatiot8.25 Flipflopin asetus nollausOperaatio 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 parametriFUP -kehys Parametri Tiedosto -tyyppiMuistialueKuvausSRSRQ BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava tai nollattava.S BOOL E, A, M, D, L, T, Z Operaation asetus vapautus.R BOOL E, A, M, D, L, T, Z Operaation nollaus vapautus.Q BOOL E, A, M, D, L signaalitilaE0.0E0.1&SM0.0SRJos 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”.E0.0E0.1&RQA4.0=Mitään muutosta ei tapahdu molempiensignaalitilojen ollessa ”0”. Mikäli kummatkinsignaalitilat ovat ”1”, dominoi nollaus--operaatio järjestyksen perusteella.M 0.0 nollataan ja A 4.0 on ”0”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 8-25Flipflopin asetus nollaus8-32 C79000-G7000-C402-01


Bittilukitusoperaatiot8.26 Flipflopin nollaus asetusKuvausOperaatio 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 parametriFUP -kehys Parametri Tiedosto - MuistialueKuvaustyyppiRS BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava tai nollattava.RS BOOL E, A, M, D, L, T, Z Operaation nollaus vapautusS Q R BOOL E, A, M, D, L, T, Z Operaation asetus vapautusQ BOOL E, A, M, D, L signaalitilaE0.0E0.1&M0.0RSRJos 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”.E0.0E0.1&SQA4.0=Mitään muutosta ei tapahdu molempien signaalitilojenollessa ”0”. Mikäli kummatkin signaalitilatovat ”1”, dominoi asetus--operaatiojärjestyksen perusteella. M 0.0 asetetaan jaA 4.0 on ”1”.Tilasanan bittien kuvausBIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1Kuva 8-26Flipflopin nollaus asetusC79000-G7000-C402-018-33


Bittilukitusoperaatiot8-34 C79000-G7000-C402-01


Parametrointi7YleiskuvakappaleestaKappale Sisältö Sivu7.1 Yleiskuva 7-27.2 Osoitelajit 7-4C79000-G7000-C402-017-1


Parametrointi7.1 YleiskuvaMitä parametrointion?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.SSSvakio, ajan tai laskurin arvo tai ASCII-merkkijonoautomaatiojärjestelmän tilasanan bittitiedostoyksikkö ja tiedostoyksikköalueen sisäinen osoite.Suora arvon antoja suoraosoiteantoKä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


ParametrointiTaulukko 7-1Tyyppi jakuvausBOOL(bitti)BYTE(tavu)WORD(sana)DWORD(kaksoissana)INT(kokonaisluku)DINT(Kok.luku,32 bittiä)REAL(Liukuluku)S5TIME(SIMATICaika)TIME(IEC-aika)DATE(IECpäiväys)TIME_OF_DAY(kellonaika)CHAR(merkki)Operandin vakiomuodot elementaarisilla datatyypeilläKokobit -teinäMuodollisetoptiotAlue ja lukukuesitys(alimmasta korkeimpaan arvoon)Esimerkki1 Bool-teksti TRUE/FALSE TRUE8 Heksadesimaaliluku16 DuaalilukuHeksadesimaalilukuBCDDesimaalilukuilman etumerkkiä32 DuaalilukuHeksadesim.lukuDesimaalilukuilman etumerkkiä16 Desimaalilukuetumerkillä32 Desimaalilukuetumerkillä32 IEEELiukuluku16 S5-aika 10 ms:nvälein(oletus-arvo)32 IEC-aika 1 ms:nvälein,kokonaislukuetumerkillä16 IEC-päiväys 1päivän välein32 Kellonaika 1 ms:nväleinB#16#0 ... B#16#FF2#0 ...2#1111_1111_1111_1111W#16#0 ... W#16#FFFFC#0 ... C#999B#(0,0) ... B#(255,255)2#0 ...2#1111_1111_1111_1111_1111_1111_1111_1111DW#16#0 ... DW#16#FFFF_FFFFB#(0,0,0,0) ...B#(255,255,255,255)-32768 ... 32767 1L# -2147483648 ... L#2147483647 L#1Ylempi raja: 3.402823e+38Alempi raja: 1.175 495e-38(katso myös taulukko 3-5)S5T#0H_0M_0S_10MS ...S5T#2H_46M_30S_0MS jaS5T#0H_0M_0S_0MST#-24D_20H_31M_23S_648MS ...T#24D_20H_31M_23S_647MSD#1990-1-1 ...D#2168-12-31TOD#0:0:0.0 ...TOD #23:59:59.9998 ASCII-merkki ’A’,’B’ jne. ’E’B#16#10byte#16#102#0001_0000_0000_0000W#16#1000word16#1000C#998B#(10,20)byte#(10,20)2#0100_1100_0100_0101_0101_0100_0101_1010DW#16#4C45_545Adword#16#4C45_545AB#(1, 14, 100, 120)byte#(1,14,100,120)1,234567e+13S5T#0H_1M_0S_0MSS5Time#0H_1H_1M_0S_0MST#0D_1H_1M_0S_0MSTIME#0D_1H_1M_0S_0MSD#1994-3-15DATE#1994 -3 -15TOD#1:10:3.3TIME_OF_DAY#1:10:3.3C79000-G7000-C402-017-3


Parametrointi7.2 OsoitelajitMahdollisetoperanditFUP-operaation operandina voidaan käyttää jotain seuraavista elementeistä:SSSSSSSSSSSSbittiä, jonka signaalitilaa on kysyttäväbittiä, jolle lukitusketjun signaalitila osoitetaanbittiä, jolle lukitustulos (LUK) osoitetaanbittiä, joka on asetettava tai nollattavalukua, joka ilmoittaa laskurin, josta on lisättävä tai vähennettävälukua, joka ilmoittaa, mitä aikaa on käytettäväreunamerkkeriä (pulssi), joka tallentaa edellisen LUK:nreunamerkkeriä (pulssi), joka tallentaa toisen operandin edellisensignaalitilantavua, sanaa tai kaksoissanaa, jossa on arvo, jolla FUP-elementin taiFUP-kehyksen on toimittavatiedostoyksikön (DB tai DI) numeroa, joka on avattava tai laadittavatoiminnan (FC), systeemitoiminnan (SFC), toimintayksikön (FB) taisysteemitoimintayksikön (SFB) numeroa, jota on kutsuttavahyppymerkkiä, johon on hypättävä.Operandi -tunnuksetMuuttujat operandeina muodostuvat operanditunnuksesta ja operanditunnuksessaannetun muistialueen sisäisestä osoitteesta. Operanditunnuksella voiolla kaksi tyyppiä:S operanditunnus, joka ilmoittaa seuraavat kaksi dataobjektia:S- muistialueen, jossa operaatio löytää arvon (dataobjekti), jolla se suorittaalukituksen (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).operanditunnus, joka ilmoittaa muistialueen, ei kuitenkaan tämän alueendataobjektin kokoa (esim. alueen T (ajat), Z (laskurit) tai DB tai DI (tiedostoyksikkö)tunnuksen ja ajan, laskurin tai tiedostoyksikön numeron,katso taulukko 6-5).7-4 C79000-G7000-C402-01


ParametrointiOsoitinMuuttujan 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.0Työskentelykäytettäessäoperandina sanaatai kaksoissanaaMikä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 MD10OperanditunnusTavuosoiteKuva 7-2Esimerkki muistiosoitteesta, johon viitataan tavuosoitteen muodossaKuva 7-3 esittää dataobjekteja seuraavilla suureilla:S Kaksoissana: merkkerikaksoissana MD10S Sana: merkkerisanat MW10, MW11 ja MW12S Tavu: merkkeritavut MB10, MB11, MB12 ja MB13Mikäli käytetään absoluuttisia operandeja, jotka ovat leveydeltään sanoja taikaksoissanoja, on varmistettava, että vältetään limittäisiä tavuosoituksia.MW10MW12MB10 MB11 MB12 MB13MW11MD10Kuva 7-3Viittaus muistiosoitteeseen tavuosoitteen muodossaC79000-G7000-C402-017-5


Parametrointi7-6 C79000-G7000-C402-01


FUP:n rakenne ja elementit6YleiskuvakappaleestaKappale Sisältö Sivu6.1 Elementit ja kehykset 6-26.2 Boolen logiikka ja totuustaulukot 6-66.3 CPU-rekisterin merkitys käskyissä 6-9C79000-G7000-C402-016-1


FUP:n rakenne ja elementit6.1 Elementit ja kehyksetFUP-käskytFUP-käskyt muodostuvat elementeistä ja kehyksistä, jotka liitetäänvirtapiireihin graafisesti. Elementit ja kehykset järjestetään seuraaviinryhmiin:OperaatioelementtinäSTEP 7 esittää osan FUP-operaatioista yksilöllisinä elementteinä, jotka eivättarvitse operandia eivätkä parametriä (katso taulukko 6-1).Taulukko 6-1FUP-operaatio elementtinä ilman operandia ja parametriäElementti Kuvaus Tämän käsikirjankappaleBinääritulon kääntö 8.7Operaatiokehyksenä, jossaoperandiSTEP 7 esittää osan FUP-operaatioista kehyksinä, joille on annettavaoperandi (katso taulukko 6-2). Lähempää tietoa parametroinnista löytyykappaleesta 7.Taulukko 6-2FUP-operaatio kehyksenä, jossa operandiElementti Kuvaus Tämän käsikirjankappale=Osoitus 8.8Operaatiokehyksenä, jossaoperandi ja arvoSTEP 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-3FUP-operaatio kehyksenä, jossa operandi ja arvoElementti Kuvaus Tämän käsikirjankappale>SS Ajan käynnistystallentavanavetohidastuksena8.19 TW6-2 C79000-G7000-C402-01


FUP:n rakenne ja elementitOperaatiokehyksenä, jossaparametritSTEP 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-4FUP-operaatio kehyksenä, jossa tulot ja lähdötKehys Kuvaus Tämän käsikirjankappaleDIV_RENIN1 OUTIN2 ENOLiukuluvun jako 12.5Vapautustulon javapautuslähdönparametritJos 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”).SSJos EN aktivoidaan (ts. signaalitila on ”1”) ja vastaava kehys suorittaatoimintansa virheettömästi, aktivoidaan silloin myös ENO (ts. signaalitilaon myös ”1”).Jos EN aktivoidaan (ts. signaalitila on ”1”) ja jos toiminnan käsittelynaikana esiintyy virhe, ei ENOa silloin aktivoida (ts. signaalitila on ”0”).Muistialueet jatoiminnatUseimmat FUP:n operandit viittaavat muistilueisiin. Seuraavassa taulukossaesitetään muistialueiden lajit ja niiden toiminnat.C79000-G7000-C402-016-3


FUP:n rakenne ja elementitTaulukko 6-5Muistialueet ja niiden toiminnatAlueen käsittelyAlueen nimi Muistialueen toiminta seuraavien suureidenyksiköillä:TulojenprosessikuvaLähtöjenprosessikuvaMerkkeritPeriferiaalue:ulk. tulotPeriferiatulotavuPeriferiatulosanaPeriferiatulokaksoissanaPeriferiaalue:ulk. lähdötAjatLaskuritTiedosto -yksikköPaikallisdataSyklin alussa käyttöjärjestelmä lukee tulot prosessista jamerkitsee tämän alueen arvot. Ohjelma käyttää kyseisiä arvojasyklisessä käsittelyssään.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.Tällä alueella on käytettävissä muistitilaa ohjelman laskemillevälituloksille.Tämä alue mahdollistaa tulo- ja lähtöyksiköiden suorankäsittelyn ohjelmassa (periferiatulot- ja lähdöt).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.Laskurit ovat FUP:n toimintaelementtejä. Tällä alueella onkäytettävissä muistitilaa laskureille. Niitä käsitellään tässälaskentaoperaatioilla.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.Vaikka käskyllä k ”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/ .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).TuloTulotavuTulosanaTulokaksoissanaLähtöLähtötavuLähtösanaLähtökaksoissanaMerkkeriMerkkeritavuMerkkerisanaMerkkerikaksoissanaPeriferialähtötavuPeriferialähtösanaPeriferialähtökaksoissanaAika (T)Laskuri (Z)Tiedostoyksikkö, avattukäskyllä ”AUF DB”:DatabittiDatatavuDatasanaDatakaksoissanaTiedostoyksikkö, avattukäskyllä ”AUF DI”:DatabittiDatatavuDatasanaDatakaksoissanaHetkell.paikallisdatabittiHetkellinenpaikallisdatatavuHetkell. paik.datasanaHetkellinenpaik.data-kaksoissanaLyh.EEBEWEDAABAWADMMBMWMDPEBPEWPEDPABPAWPADTZDBXDBBDBWDBDDIXDIBDIWDIDLLBLWLD6-4 C79000-G7000-C402-01


FUP:n rakenne ja elementitTaulukkoon 6-6 on listattu eri muistialueiden maksimi osoitealueet. CPU:nosoitealueet löytyvät vastaavasta käsikirjasta /70/ tai /101/.Taulukko 6-6Muistialueet ja niiden osoitealueetAlueen nimiTulojenprosessikuvaLähtöjenprosessikuvaMerkkeritPeriferia -alue:Ulkoiset tulotPeriferia -alue:Ulkoiset lähdötAlueen käsittelyseuraavien suureiden yksiköillä:TuloTulotavuTulosanaTulokaksoissanaLähtöLähtötavuLähtösanaLähtökaksoissanaMerkkeriMerkkeritavuMerkkerisanaMerkkerikaksoissanaPeriferitulotavuPeriferiatulosanaPeriferiatulo-kaksoissanaPeriferialähtötavuPeriferialähtösanaPeriferialähtö-kaksoissanaEEBEWEDAABAWADMMBMWMDLyh.PEBPEWPEDPABPAWPADMaks. osoitealue0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 5320.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 5320.0 ... 255.70 ... 2550 ... 2540 ... 2520 ... 65 5350 ... 65 5340 ... 65 5320 ... 65 5350 ... 65 5340 ... 65 532Ajat Aika T 0 ... 255Laskurit Laskuri Z 0 ... 255Tiedostoyksikkö Tiedostoyksikkö, avattu käskyllä DB [AUF]Databitti tiedostoyksikössäDatatavuDatasanaDatakaksoissanaDBXDBBDBWDBD0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532Tiedostoyksikkö, avattu käskyllä DI [AUF]Databitti oheis-DB:ssäDatatavuDatasanaDatakaksoissanaDIXDIBDIWDID0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532Paikallisdata 1)PaikallisdatabittiPaikallisdatatavuPaikallisdatasanaPaikalalisdata-kaksoissanaLLBLWLD0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 5321) FUP-operaatioissa voidaan muistialueella L käyttää operandia vain silloin, kun seselitetään muuttujien selitystaulukossa selitystyypillä VAR_TEMP.C79000-G7000-C402-016-5


FUP:n rakenne ja elementit6.2 Boolen logiikka ja totuustaulukotBoolen logiikkaFUP -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-lukitusJA-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.&E1.0A4.0E1.1 =Ehto on täyttynyt, kun tulojenE 1.0 JA E 1.1 signaalitila on ”1”.Kuva 6-1JA-lukitus FUP:ssaJA-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-7JA-totuustaulukkoMikäli operandin E 1.0signaalitilakyselyn tulosonja operandin E 1.1signaalitilakyselyn tuloson lukitustulos1 1 10 1 01 0 00 0 06-6 C79000-G7000-C402-01


FUP:n rakenne ja elementitTAI-lukitusTAI-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.>=1E1.0A4.0E1.1 =Ehto on täyttynyt, kun tulojenE 1.0 TAI E 1.1 signaalitila on ”1”.Kuva 6-2TAI-lukitus FUP:ssaTAI-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-8TAI-totuustaulukkoMikäli operandin E 1.0signaalitilakyselyntulos onja operandin E 1.1signaalitilakyselyntuloson lukitustulos1 0 10 1 11 1 10 0 0EHDOTON-TAIlukitusEHDOTON-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.XORE1.0A4.0E1.1 =Ehto on täyttynyt, kun tulon E1.0EHDOTON tulon E 1.1TAIsignaalitila on ”1”.Kuva 6-3EHDOTON-TAI-lukitus FUP:ssaC79000-G7000-C402-016-7


FUP:n rakenne ja elementitEHDOTON-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-9EHDOTON-TAI-totuustaulukkoMikäli operandin E 1.0signaalitilakyselyntulos onja operandin E 1.1signaalitilakyselyntulos1 0 10 1 11 1 00 0 0on lukitustulos6-8 C79000-G7000-C402-01


FUP:n rakenne ja elementit6.3 CPU-rekisterin merkitys käskyissäSelitysRekisterit auttavat CPU:ta lukitusoperaatioiden, aritmeettisten operaatioiden,siirto- tai muunnosoperaatioiden suorittamisessa. Näitä rekisterejä kuvataanseuraavassa.AkutAkut (AKKU) muodostavat yleisrekisterin käsiteltäessä tavuja, sanoja ja kaksoissanoja.Ne ovat 32 bitin levyisiä.3124231615870KorkeampiarvoinentavuAlempiarvoinentavuKorkeampiarvoinentavuAlempiarvoinentavuKorkeampiarvoinensanaAKKU (1 tai2)AlempiarvoinensanaKuva 6-4Akun alueetTilasanaTilasanassa on bittejä, joita voidaan käsitellä bittilukitusoperaatioiden operandeissa.Kuva 2-2 esittää tilasanan rakennetta. Seuraavissa kappaleissa selitetäänbittien 0 ... 8 merkitystä.2 15 ... ...2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0BIEA1 A0 OV OS OR STA VKE /ERKuva 6-5Tilasanan rakenneTilasanan bittienmuuntoArvoMerkitys0 asettaa siganaalititilan 0:ksi1 asettaa signaalitilan 1:ksix muuttaa tilan- tila pysyy muuttumattomanaC79000-G7000-C402-016-9


FUP:n rakenne ja elementitEnsikyselyTilasanan 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 ensikyselyksi.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 asetus,lähdön nollaus, osoitus) tai hyppyoperaatioon, joka viittaa lukitustulokseen.Nämä operaatiot asettavat /ER-bitin takaisin ”0”:ksi.LukitustulosTilasanan 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 tallennetaantilasanan LUK-bittiin ja se korvaa LUK-bitin edellisen arvon. Ketjunjokainen 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.HuomioLUK = lukitustulos = VKE (saksa) = RLO (englanti)6-10 C79000-G7000-C402-01


FUP:n rakenne ja elementitTilabittiTilasanan 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 lukitussuoritetaan). Lukitusoperaation, joka voi kirjoittaa muistiin (lähdönasetus; lähdön nollaus tai osoitus) tila on sama kuin bitin arvo, johon operaatiokirjoittaa. Mikäli kirjoittamista ei tapahdu on arvo sama kuin puhutellunbitin arvo. Tilabitilla ei ole merkitystä lukitusoperaatioille, jotka eivät käsittelemuistia. Nämä operaatiot asettavat tilabitin ”1”:ksi (STA = 1). Operaatioteivät kysy tilabittiä. Se tulkitaan vain ohjelmatestin (ohjelman tila) aikana.OR-bittiTilasanan 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.OV-bittiTilasanan 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.OS-bittiTilasanan 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.A1 ja A0Tilasanan 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 tuloksistatai biteistä:S aritmeettisen operaation tulosS vertailuoperaation tulosS digitaalisen operaation tulosS biteistä, jotka siirrettiin operandista siirto- tai pyöritysoperaatioilla.Taulukoissa 6-10 ... 6-15 on bittien A1 ja A0 merkitys, ohjelman suoritettuamäärätyt operaatiot.C79000-G7000-C402-016-11


FUP:n rakenne ja elementitTaulukko 6-10 A1 ja A0 aritmeettisten operaatioiden jälkeen, ilman ylivuotoaA1 A0 Selitys0 0 Tulos = 00 1 Tulos < 01 0 Tulos > 0Taulukko 6-11 A1 ja A0 artimeettisten operaatioiden jälkeen(kokonaislukuaritmetiikka), ylivuodollaA1 A0 Selitys0 0 Negatiivinen alue, ylivuoto, yhteenlasku kokonaislukuina(16 bittiä) ja kokonaislukujen yhteenlasku (32 bittiä)0 11 0Negatiivinen 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 kokonaisluvuksiPositiivinen 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),ylivuodollaA1 A0 Selitys0 0 Portaittainen alitus0 1 Negatiivinen alue ylivuoto1 0 Positiivinen alue ylivuoto1 1 Ei voimassa olevaa liukulukua6-12 C79000-G7000-C402-01


FUP:n rakenne ja elementitTaulukko 6-13 A1 ja A0 vertailuoperaatioiden jälkeenA1 A0 Selitys0 0 IN2 = IN10 1 IN2 < IN11 0 IN2 > IN11 1 IN1 tai IN2 ei ole voimassa oleva liukulukuTaulukko 6-14 A1 ja A0 siirto- ja pyöritysoperaatioiden jälkeenA1 A0 Selitys0 0 Viimeksi siirretty bitti = 01 0 Viimeksi siirretty bitti = 1Taulukko 6-15 A1 ja A0 digitaalisten lukitusoperaatioiden jälkeenA1 A0 Selitys0 0 Tulos = 01 0 Tulos 0BIE-bittiTilasanan 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:SSLUK ”1” tallennetaan BIE-bittiin, kun FB tai FC käsitelläänvirheettömästi.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.C79000-G7000-C402-016-13


FUP:n rakenne ja elementit!VaroitusBIE-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.EN/ENO:n merkitysFUP-kehyksen vapautustulon (EN) ja vapautuslähdön (ENO) parametrittoimivat seuraavien periaatteiden mukaisesti:SSSMikäli EN:ää ei aktivoida (ts. signaalitila on ”0”), ei kehys silloin suoritatoimintaa eikä ENOa aktivoida (ts. signaalitila on myös ”0”).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”).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”.6-14 C79000-G7000-C402-01


Osa 2: KielikuvausFUP:n rakenne ja elementit6Osoitteenanto7Bittilukitusoperaatiot8Aikaoperaatiot9Laskentaoperaatiot10Peruslaskentaoperaatiot11Liukulukuaritmetiikka12Vertailuoperaatiot13Siirto- jamuunnosoperaatiot14Sanalukitusoperaatiot15Siirto- ja pyöritysoperaatiot16Tiedostoyksikköoperaatiot17Hyppyoperaatiot18Tilabittioperaatiot19Ohjelmanohjausoperaatiot20


5-12 C79000-G7000-C402-01


Yksikön ominaisuuksien ja ohjelmatestinkäsittely5Mitä tämä kappalesisältää?Kun tiedostoyksiköt ja koodiyksiköt on laadittu ja ohjelmoitu, tarkastellaan jakäsitellään yksikön ominaisuuksia. Nämä mahdollistavat myöhemmin yksiköntarkan tunnistamisen ja antavat tietoa sen synnystä. Tästä voi olla suurtaapua virheiden korjauksessa.FUP-editorissa on mahdollista testata yhtä yksittäistä yksikköä, jota keskusyksikönkäyttäjäohjelma käsittelee. Tällöin voidaan virtapiirien sisäistäsignaalivuota seurata optisesti. Tämä testausmahdollisuus - ohjelmatilaksinimitetty - on tukena käyttöönotossa,tarkastettaessa tärkeitä ohjelmakulkuja sekä virheiden korjauksessa.YleiskuvakappaleestaKappale Sisältö Sivu5.1 Yksikön ominaisuuksien käsittely 5-25.2 FUP-ohjelman testaus - yleiskuva 5-55.3 Ohjelmatilan näytön laadinta 5-65.4 Triggeri/liipaisuehtojen asetus 5-75.5 Testiympäristön valinta ja ohjelmatilan käynnistys/pysäytys 5-8C79000-G7000-C402-015-1


Yksikön ominaisuuksien ja ohjelmatestin käsittely5.1 Yksikön ominaisuuksien käsittelyYleiskuvaYksikön ominaisuuksiin on tallennettu lisätietoa yksiköstä. Tässä voidaanantaa valinnaisesti yksikön nimi, ryhmä, versio ja käsittelijä. Lisäksi näytetäänmuuta 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 viimeisenmuutoksen ajankohdasta. Nämä tiedot auttavat myös virheen etsinnässä,jos esim. muistitila ei riitä tai ilmenee aikamääriteristiriitoja.MenettelyYksikön ominaisuuksia voidaan katsella ja käsitellä dialoginäytössä.SSYksikkö merkitään SIMATIC managerissa ja valitaan valikkokäskyObject Object Properties.Kun yksikkö on auki FUP-editorissa valitaan valikkokäskyFile Properties.PropertiesGeneral - Part 1General - Part 2System AttributesInternal ID: FB6 Representation Language: FBDType:Function BlockSymbol:Symbol from traffic lightSymbol Comment: Traffic light on Main StreetProject Path: Traffic\Traffic light\User program\FB6Name (Header): TrafficFB Version (Header): 01.00Family: Traffic Block Version: 3.000Author: Smith Multiple Instance CapabilityLast Modified:Code: 25.10.96 15:23:41.190Interface: 25.10.96 15:23:41.190OKCancelHelpKuva 5-1Yksiköiden ominaisuus-dialogi FUP-editorissaRekisteriyksiköihin ”Yleistä - osa 1”, ”Yleistä - osa 2” ja”Systeemiattribuutit” voidaan syöttää mm. seuraavaa:5-2 C79000-G7000-C402-01


Yksikön ominaisuuksien ja ohjelmatestin käsittelyYksikön nimi jaryhmäYksikön nimen ja ryhmän anto mahdollistaa laadittujen yksiköiden luokittelun.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.YksikköversioAttribuutista 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äytyygeneroida lähdetiedosto, joka sitten käännetään version 3 yksiköihin.Lisätietoa löytyy käyttäjäkäsikirjasta /231/.YksikköattribuutitRekisteriyksikön ”Yleistä - osa 2” yksikköattribuuteista voidaan löytääseuraavia merkintöjä:SSSSYksikkö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ä.Yksikköattribuutti ”KNOW-HOW Protection” viittaa suojattuun yksikköönja 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ä.Mikäli attribuutti ”Standard Block” on asetettu, on tällöin kyseessä <strong>Siemens</strong>insuojattu standardiyksikkö. Tämä näytetään vastaavalla merkinnällävasemmalla alhaalla.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 latausmuistissatapahtuu SFC:eiden avulla, jotka kopioivat vain DB:eiden sisällöntyömuistiin. Täten voidaan hyödyntää paremmin työmuistia, jossamuuten on vain kulkuajalle merkityksellisiä tietoja.C79000-G7000-C402-015-3


Yksikön ominaisuuksien ja ohjelmatestin käsittelyHuomautusYksikköö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/.YksiköidensysteemiattribuutitProsessitekniikan suunnittelua ja prosessidiagnoosia varten voidaanrekisterikortissa ”Systeemiattribuutit” osoittaa yksiköille seuraavatsysteemiattribuutit:Taulukko 5-1Systeemiattribuutit prosessitekniseen suunnitteluunAttribuutti Arvo Tämä attribuutti annetaan, jos Sallittu yksikkötyyppi<strong>S7</strong>_m_c true, false yksikköä tulee valvoa ohjaus- ja valvontalaitteeltakäsin.<strong>S7</strong>_tasklist<strong>S7</strong>_blockviewtaskname1,taskname2,etc.yksikköä tulee kutsua paitsi syklisissä organissatioyksiköissämyös muissa OB:issä (esim. virhe- taikäynnistys-OBt).FB, SFBFB, SFB, FC, SFCbig, small yksikkö tulee esittää suuressa tai pienessä muodossa. FB, SFB, FC, SFCTaulukko 5-2Systeemiattribuutit prosessidiagnoosiinAttribuutti Arvo Tämä attribuutti annetaan, jos Sallittu yksikkötyyppi<strong>S7</strong>_pdiag true, false yksikön tulee antaa prosessidiagnoosilleFB,FC,OB,DBmerkityksellistä tietoa.<strong>S7</strong>_pdiag_unittrue, false yksikön tulee antaa prosessidiagnoosillemerkityksellistä tietoa ja jos yksikköä valvotaan.UDT<strong>S7</strong>_pdiag_motiontrue, falseyksikön tulee antaa prosessidiagnoosillemerkityksellistä tietoa ja jos liikettä valvotaan.UDT5-4 C79000-G7000-C402-01


Yksikön ominaisuuksien ja ohjelmatestin käsittely5.2 FUP-ohjelman testaus - yleiskuvaTestaus -mahdollisuusFUP-ohjelma voidaan testata seuraamalla signaalivuota optisesti yksikönvirtapiirien sisällä. Ohjelmatilan näyttö päivitetään syklisesti.EdellytyksetOhjelmatilan näyttämiseksi tulee seuraavien ehtojen täyttyä:SSSyksikön tulee olla virheettömästi tallennettu ja ladattu sen jälkeenCPU:hun.CPU on käytössä, käyttäjäohjelma meneillään.Yksikkö on avattu online.PeriaatteellinenmenettelytapaKuva 5-2 esittää ohjelmatilan valvonnan periaatteellista menettelytapaa:Yksikön avaus onlineTestinäytön asetusten määrittelyTriggeriehtojen määrittely (valinnainen)Testausympäristön valintaTestauksen käynnistys/pysäytysKuva 5-2Koodiyksiköiden testausmenettely FUP:ssaC79000-G7000-C402-015-5


Yksikön ominaisuuksien ja ohjelmatestin käsittely5.3 Ohjelmatilan näytön asetusMenettelytapaEnnen 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/FBDEditorSTLLAD/FBDCreate BlockSource FilesLayoutA4 PortraitElement RepresentationLAD:2DWidth of Address Field18 (10-24)FBD:3DLine/ColorFor:Status fulfilledLine ThicknessColorThinMediumThickSelectOKCancelHelpKuva 5-3Ohjelmatilan näytön asetus FUP/FBD:ssäTässä rekisterissä valitaan nyt väri ja viivan paksuus kumpaakin mahdollistatapausta varten:SS”Tila ei toteutettu”: Ehdot eivät ole täyttyneet. Virta ei kulje(katkoviivat).”Tila toteutettu”: Ehdot ovat täyttyneet, virta kulkee (yhtenäiset viivat).5-6 C79000-G7000-C402-01


Yksikön ominaisuuksien ja ohjelmatestin käsittely5.4 Triggeriehtojen asetusTaustaTriggeriehdolla voidaan asettaa testattavan yksikön kutsuympäristö. Testaussuoritetaan vain silloin, kun asetettu triggeriehto on täyttynyt.MenettelytapaTriggeriehdot voidaan asettaa valikkokäskyllä DebugEnvironment....CallBlock Call EnvironmentTrigger ConditionNo ConditionCall Path1st Block:2nd Block:3rd Block:Block Status:Open Data BlocksShared DB No.:Instance DB No.:FB6DB6OKCancelHelpKuva 5-4Triggeriehdon määritysTriggeriehtojenmerkitysKolmella 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 voidaerottaa, 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.C79000-G7000-C402-015-7


Yksikön ominaisuuksien ja ohjelmatestin käsittely5.5 Testausympäristön valinta ja ohjelman tilan käynnistys/pysäytysTestausympäristönvalintaOn kaksi Online-tilannetta, joissa ohjelmaa voidaan testata:SSTestausympäristössä ”Process” testataan ohjelma online prosessin ehdoilla.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.Testausympäristössä ”Laboratory” testataan ohjelma samoin online laboratorioehdoilla.Käskyjen tila ohjelmoiduissa silmukoissa, jotka kulkevatsyklin aikana läpi useamman kerran, välitetään kuitenkin jokaisessa läpikulussa.Tässä muodossa saattaa esiintyä huomattavaa sykliajan kuormitusta,koska sykliajan pidennys riippuu läpikulkujen ja valvottujen käskyjenmäärästä.Testausympäristö valitaan valikkokäskyllä DebugLaboratory/Procass.Test EnvironmentOhjelman tilankäynnistys japysäytysOhjelman tila käynnistetään ja pysäytetään valikkokäskyllä DebugMonitor. Ohjelman tila näytetään vain juuri editorissa näkyvälle alueelle.5-8 C79000-G7000-C402-01


Yksikön ominaisuuksien ja ohjelmatestin käsittelyFB6-Address Decl. Symbol Type Initial Value comment0.02.04.0ininindur_g_pdel_r_pstarterS5TIMES5TIMEBOOLS5T#0MSS5T#0MSFALSEFB6 : Traffic LightNetwork 1#starter#t_next_red_car#t_dur_r_carNetwork 2 : Green for road traffic&#condition>=1&#condition=#condition&#g car=Network 3 : Start duration of amber for traffic#condition&S5T#2SS5T#2S#t_dur_y_car SDS5T#0MSKuva 5-5Ohjelman tila FUP:ssa (esimerkki)Sykliajan tarkastusTestimuodon 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 testitarkoituksiavarten CPU:n ominaisuuksien laitteistoparametroinnissa.C79000-G7000-C402-015-9


Yksikön ominaisuuksien ja ohjelmatestin käsittely5-10 C79000-G7000-C402-01


Tiedostoyksiköiden ja käyttäjämääritteistentiedostotyyppien anto4Mitä tämä kappalesisältää?Tiedostoyksiköt ovat tärkeä käyttäjäohjelman osa, koska niissä pidetään käyttäjäohjelmantiedot. 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” tiedostoyyppienavulla säästetään reilusti aikaa.YleiskuvakappaleestaKappale Sisältö Sivu4.1 Tiedostoyksiköiden laadinta - yleiskuva 4-24.2 Laadintamenetelmän valinta 4-44.3 Selitystaulukon käsittely 4-54.4 Aktuellien data -arvojen käsittely 4-64.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT) 4-8C79000-G7000-C402-014-1


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto4.1 Tiedostoyksiköiden laadinta - yleiskuvaTiedostoyksikötTiedostoyksiköt (DBt) ovat tietojen hallintaa varten. Siksi niillä ei myöskäänole käskyosaa. Ohjelmoitaessa tulee siis vastaavasti huomioida seuraavatkohdat:SSSelitystaulukko: Selitystaulukossa määritellään tiedostoyksiköntiedostorakenne.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).DB:n lajitKä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 globaalitiedostoyksiköitä,voidaan näitä muodostaa yksinkertaisella tavalla käyttäjämääritteisentiedostotyypin avulla (UDT). Tällöin ovat kyseessä tiedostoyksikötvastaavalla UDT:llä.S Oheis-tiedostoyksiköt. Oheis-DBt on kulloinkin varattu toimintayksiköilleja rakennettu FB:ssä selitetyn muuttujan mukaisesti. Oheis-DB:n laatimisenedellytyksenä on sen tähden olemassa oleva FB. Siksi tässä on kysetiedostoyksiköistä vastaavalla toimintayksiköllä.Tiedosto -yksiköidenlaadinta -menetelmätLaadittavan 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, silloinS 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ä.4-2 C79000-G7000-C402-01


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien antoHuomautusMikä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 editorissaFUP-editoriValitaan laadintamenetelmä ...... yksittäisenDB:n selitys... vastaavuusUDT:hen... vastaavuusFB:henSelitystaulukonkäsittely.Globaali-DBOheis-DBYksikön ominaisuuksienkäsittely.Yksiköntallennus.Kuva 4-1Tiedostoyksiköiden ohjelmointimenettelyC79000-G7000-C402-014-3


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto4.2 Laadintamenetelmän valintaMenettelytapaLaadintamenetelmä tulee ilmoittaa tiedostoyksikköä SIMATIC managerissatai FUP-editorissa laadittaessa. Sitä varten on olemassa vastaava dialogi.New Data BlockBlock:Programming Tool:CreateData BlockData Block Referencing a User-Defined Data TypeData Block Referencing a Function BlockReference:FB6FB88FB101DB7DB EditorOKCancelHelpKuva 4-2Menetelmän valinta ja FB:n tai UDT:n järjestysMikä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.Muu menettelyMuun menettelyn ratkaisee se, laaditaanko yksikkö järjestämällä vaiyksittäisselityksellä.SSKoska järjestetty UDT tai FB määrää jo yksiselitteisesti tiedostoyksikönrakenteen, päättyy tiedostoyksikön laadinta näissä tapauksissa tähän. Selitystaulukkonäytetään tarkistusta varten. Sitä ei kuitenkaan voi käsitellä.Yksittäistä globaali-tiedostoyksikköä laadittaessa on sitävastoin jatkettavaselitystaulukon käsittelyä, jossa ilmoitetaan muuttujan nimi ja tiedostotyyppisekä valinnaisesti aloitusarvo ja kommentti (katso kappale 4.3).4-4 C79000-G7000-C402-01


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto4.3 Selitystaulukon käsittelySelitysnäytöntarkoitusLaadittaessa 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.Selitysnäytöntaulukon rakenneTiedostoyksikön selitysnäytössä on osoite, selitystyyppi (vain oheis-DB:ssä),nimi (symboli), tyyppi, aloitusarvo ja kommentti. Kuvassa 4-3 on esimerkki:DB15 - Address Symbol Data Type Initial Value Comment0.0+0.0+2.0+6.0speedruntimehistorySTRUCTINTDINTREAL100L#00.000000e+000Maximum RPM+10.0 motor_on BOOLFALSE+10.1=12.0motor_offBOOLEND_STRUCTFALSEKuva 4-3Tiedostoyksikön selitysPalstoilla on sama merkitys kuin koodiyksiköiden selitystaulukossa(katso kappale 3.3).MenettelySelitystä uudelleen annettaessa annetaan halutun selitystyypin jälkeenperäkkäinnimi, tyyppi, aloitusarvo (valinnainen) ja kommenntti (valinnainen).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ää mahdollisetvirheet punaisina. Näitä virheitä ei tarvitse heti korjata, vaan muuta käsittelyävoidaan jatkaa ja suorittaa korjaukset myöhemmin.HuomautusSelitysnä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.C79000-G7000-C402-014-5


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto4.4 Aktuellien data -arvojen käsittelyAloitusarvo -todellinen arvoTiedostoyksikköä (valinnaista) laadittaessa määrätty aloitusarvo vastaanotetaantiedostoyksikköä ensimmäisen kerran tallennettaessa muuttujan aktuellinaarvona. Käyttäjäohjelma toimii sen mukaan kyseistä arvoa ensi kertaakäsiteltäessä, olkoonkin, että käyttäjäohjelmassa on selvästi määritelty muuttujantoinen aktuelli arvo.Muuttujien aktuelleja arvoja muutetaan käyttäjäohjelman käsittelyn aikanakoodiyksiköillä, jotka käsittelyn aikana kirjoittavat päälle. Muuttujien aktuellejaarvoja on mahdollista näyttää ja muuttaa.Tiedosto -yksiköidendatanäyttöTiedostoyksiköiden aktuellien data -arvojen käsittelyä ja näyttöä varten tarvitaandatanäyttö. Avataan tiedostoyksikkö ja siirrytään datanäyttöönvalikkokäskyllä View Data View.Datanäyttö eroaa tiedostoyksikön selitysnäytöstä vain lisäpalstalla ”todellinenarvo”. Datanäytössä listataan muuttujissa, joilla on yhdistetty datatyyppi,elementit yksitellen, täydellisellä symbolisella nimellä, jotta jokaisen elementintodellinen arvo voidaan näyttää ja käsitellä (katso kuva 4-4).DB17 - Address Symbol Type Initial Value Actual Value Comment0.02.06.010.0motor.speedmotor.runtimemotor.historymotor.motor_onINTDINTREALBOOL100L#00.000000e+000FALSE10.1 motor.motor_off BOOL FALSE12.0 field[1]INT 014.0 field[2]INT 016.0 field[3]INT 089Maximum RPML#00.000000e+000TRUEFALSE748Kuva 4-4Tiedostoyksikön datanäyttöNäytetty todellinenarvo (Actual)Tällöin on kyseessä arvo, joka muuttujalla oli DB:tä avattaessa, tai arvo, jokaviimeksi on muutettu ja tallennettu.HuomautusOnline avatuissa tiedostoyksiköissä ei todellista arvoa päivitetä syklisesti.4-6 C79000-G7000-C402-01


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien antoTodellisten arvojenmuunto jauudelleenalustusPalstassa ”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ä.Todellisten arvojentallennusJotta muutetuista todellisista arvoista tulisi aktiivisia, on ne tallennettava:SSTodellisten, muutettujen data -arvojen offline tallennusta varten valitaanvalikkokäsky File Save tai klikataan symbolia ”tallennus”. Vaikka yksikköon avattu online, tallennetaan vain offline olemassa oleva yksikköuudelleen.Muutettujen data -arvojen lataamiseksi CPU:hun valitaan valikkokäskyPLC Download tai klikataan toimintorivin vastaavaa symbolia.C79000-G7000-C402-014-7


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto4.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT)Käyttö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äohjelmassaSSkuten perus tai yhdistettyjä tiedostotyyppejä tiedostotyyppinä koodiyksiköiden(FC, FB, OB) tai tiedostoyksiköiden (DB) selityksessä taitiedostoyksiköiden laadintamallina, joilla sama tiedostorakenne.MenettelytapaKuva 4-5 esittää periaatteellista menettelytapaa:Laaditaan yksikkö UDT:tä vartenSIMATIC managerissa tai editorissaFUP-editoriKäsitellään selitystaulukkoa.Käsitellään yksikönominaisuuksia.Tallennetaanyksikkö.Kuva 4-5UDT:iden laadintaSelitystaulukonkäsittelySIMATIC managerissa tai inkrementtieditorissa tapahtuvan UDT:n luomisentai avaamisen jälkeen näyttöön tulee selitystaulukko, jossa datatyypin rakennetulee ilmoittaa.4-8 C79000-G7000-C402-01


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien antoUDT56 - Address Symbol Data Type Initial Value Comment0.0STRUCT+0.0+2.0speedruntimeINTDINT100L#0Maximum RPM+6.0+10.0historymotor_onREALBOOL0.000000e+000FALSE+10.1motor_offBOOLFALSE=12.0END_STRUCTKuva 4-6UDT:n selitysUDT: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 tiedostotyypinalkua 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 kommentinanto on valinnainen. Uusia tyhjiä rivejä saadaan valikkokäskylläInsert Declaration Row Before Selection / After Selection.HuomautusKäsittely vastaa rakenteiden käsittelyä koodi- tai tiedostoyksiköidenselitysosassa.C79000-G7000-C402-014-9


Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto4-10 C79000-G7000-C402-01


Koodiyksiköiden laadinta3Mitä tämä kappalesisältää?Käyttäjäohjelma ei selviä ilman koodiyksiköitä. Monissa ongelmissa voidaantosin turvautua keskusyksikön integroituihin yksiköihin tai tarjottuihin standarditoimintayksiköihin.Vähimmäismäärä koodiyksiköitä on joka tapauksessakuitenkin laadittava itse. Tässä kappaleessa kerrotaan, miten FUPeditorissatällöin menetellään.YleiskuvakappaleestaKappale Sisältö Sivu3.1 Koodiyksiköiden laadinta - yleiskuva 3-23.2 Koodiyksiköt editorissa 3-33.3 Muuttujien selitystaulukon rakenne 3-63.4 Muuttujien selitystaulukoiden käsittely - yleiskuva 3-83.5 Multi-instanssien selitys 3-103.6 Systeemiattribuuttien anto parametreille 3-113.7 Käskyosan käsittely - yleiskuva 3-133.8 FUP-elementtien syötön perussäännöt 3-153.9 FUP-elementtien anto 3-173.10 Osoitteiden ja parametrien anto 3-203.11 Symbolinen osoitteenanto 3-213.12 Muunto ylikirjoitusmuodossa 3-233.13 Otsikoiden ja kommenttien anto 3-24C79000-G7000-C402-013-1


Koodiyksiköiden laadinta3.1 Koodiyksiköiden laadinta - yleiskuvaKoodiyksikötKoodiyksiköt (OBt, FBt, FCt) muodostuvat muuttujien selitysosasta, käskyosastaja niillä on lisäominaisuuksia. Ohjelmoitaessa tulee käsitellä seuraaviakolmea osaa:SSSMuuttujien selitystaulukko. Muuttujien selitystaulukossa määritelläänyksikön parametrit, parametrien systeemiattribuutit ja paikallisetmuuttujat.Käskyosa: Käskyosassa ohjelmoidaan yksikkökoodi, jota automaatiojärjestelmäntulee käsitellä. Se muodostuu yhdestä tai useammastatoimintakaavio-elementit sisältävästä virtapiiristä.Yksikön ominaisuudet: Yksikön ominaisuuksissa on lisätietoa kuten aikamääritetai polkutieto, jotka järjestelmä kirjoittaa. Sen ohella voi itseantaa nimiä, ryhmän, version ja tekijän sekä systeemiattributtejayksiköille (katso kapp. 5).KoodiyksikönkäsittelyPeriaatteessa 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)FUP-editoriValitaan editorin asetukset.Käsitellään yksikön muttujienselitystaulukkoa.Käsitellään käskyosaa.Käsitellään yksikön ominaisuuksia.Tallennetaan yksikkö.Kuva 3-1Menettelytapa koodiyksiköitä FUP:ssa ohjelmoitaessa3-2 C79000-G7000-C402-01


Koodiyksiköiden laadinta3.2 Koodiyksiköt editorissaYleiskuvaEnnen ohjelmoinnin aloittamista FUP-editorissa, tulisi tutustua asetus -mahdollisuuksiin mahdollisimman mukavan ja tottumuksia vastaavantyöskentelyn takaamiseksi.Editorin asetuksetRekisteridialogi avataan valikkokäskyn Options Customize kautta.”Editori” -rekisterissä voidaan esiasetukset asettaa yksiköiden ohjelmointiavarten seuraavasti:S kirjoitus (laji ja koko) tekstinä ja taulukkoinaS 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ä.FUP:n asetuksetRekisterissä ”KOP/FUP” / (”LAD/FBD”), johon myös päästään OptionsCustomize kautta, voidaan tehdä seuraavat perusasetukset:SSSSFUP/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.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ä.Elementtien esitys: Voidaan valita, näytetäänkö FUP-elementit kaksi- vaikolmiulotteisina.Linja/väri: valittu elementti, koskettimet, tila täytetty, tilaa ei täytetty.C79000-G7000-C402-013-3


Koodiyksiköiden laadintaFUP-editorinpääikkunaKun koodiyksikkö on avattu ilmestyy ikkuna, jonkaS yläosassa on yksikön muuttujien selitystaulukko jaS alaosassa on käskyosa, jossa varsinasta yksikkökoodia käsitellään.FB6- - LAD\STL\FBDFile Edit Insert PLC Debug View Options Window Help& >1 =TRAFFIC\...\FB6-Address Decl. Symbol Type Initial Value Comment0.0 in dur_g_p S5TIME S5T#0MS Duration green_pedestrian2.0 in del_r_p S5TIME S5T#0MS Delay red_pedestrian4.0 in starter BOOL FALSEStart switch6.0int_dur_y_carTIMERTimer duration yellow_car8.0int_dur_g_pedTIMERTimer duration green_pedestrianNetwork 1 : Red for road traffic#starter>=1#condition&#t_next_red_car#t_dur_r_car#condition=Kuva 3-2FUP:n muuttujien selitystaulukko ja käskyosaYksikön ominaisuuksia käsitellään oman dialogin kautta (katso kappale 5).Editorissa voi olla avattuna useampia yksiköitä joita voidaan käsitellä vuorotellentoiveiden mukaan.YhteisvaikutusMuuttujienselitys - käskyosaMuuttujien selitystaulukko ja koodiyksiköiden käskyosa ovat tiiviisti sidoksissakeskenään, koska käskyosassa käytetään muuttujien selitystaulukon nimiä.Muuttujien selityksessä tapahtuvat muutokset vaikuttavat sentähden kokokäskyosaan ja aina koko yksikköön.3-4 C79000-G7000-C402-01


Koodiyksiköiden laadintaTaulukko 3-1Muuttujien selityksen ja käskyosan yhteisvaikutusMuuttujien selitystoimintavirheetön uudelleensyöttövirheetön nimenmuutos ilman tyyppimuutostavirheetön nimi muutetaan mitättömäksimitätön nimi muutetaan virheettömäksiTyyppimuutosMuuttujan nollaus (symboli), jota käytetäänkoodissa.KommenttimuutoksetUuden muuttujan virheellinen syöttöEi käytetyn muuttujan nollausAloitusarvon muutosReaktio käskyosassaJos on mitätön koodi, tulee tätä ennen määrittämättömästä muuttujasta nyt voim. oleva.Symboli esitetään heti kaikkialla uudellanimellä.Koodia ei muuteta.Mikäli on olemassa mitätön koodi, tulee tämävoimaan.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.Voimassa olevasta koodista tulee mitätön.Ei oleEi oleEi oleEi oleC79000-G7000-C402-013-5


Koodiyksiköiden laadinta3.3 Muuttujien selitystaulukon rakenneYleiskuvaMuuttujien selitystaulukossa määritellään paikalliset muuttujat mukaanlukienyksikön muodolliset parametrit ja parametrien systeemiattribuutit. Sillä onmm. seuraavat vaikutukset:SSSSSelityksen avulla varataan vastaavasti muistitilaa paikallisdatapinossa taiinstanssi-(oheis)tiedostoyksikössä.Määrittelemällä tulo-, lähtö- ja läpikulkuparametrit määritellään ohjelmassamyös ”liitäntäpiste” yksikön kutsua varten.Mikäli muuttujat selitetään toimintayksikössä, määräävät nämä muuttujatmyös jokaisen FB:lle varatun oheis-DB:n tiedostorakenteen.Määräämällä systeemiattribuutit varataan parametreilleerikoisominaisuuksia hälytys- ja liityntäsuunnittelua, ohjaus- javalvontatoimintoja ja prosessiteknistä suunnittelua varten.MuuttujienselitystaulukonrakenneKun uudelleenasetettu koodiyksikkö on avattu, tulee näyttöön esiasetettumuuttujien selitystaulukko. Kyseisessä taulukossa on vain valitulle yksikkölajillesallitut 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, selitystyypistä,nimestä, tiedostotyypistä, aloitusarvosta ja kommentista. Jokainen taulukkorivion muuttujien selitystä varten. Kentän tai rakenteen tiedostotyypinmuuttujat tarvitsevat useampia rivejä.FB40 - Address Decl. Symbol Data Type Initial Value Comment0.00.12.02.1ininoutoutinstartMotorMessageBOOLBOOLBOOLBOOLFALSEFALSEFALSEFALSELight onSwitchMotorMotor4.0 in_out in_outp1 INT06.0 in_out in_outp2 INT0Kuva 3-3Esimerkki muuttujien selitystaulukosta3-6 C79000-G7000-C402-01


Koodiyksiköiden laadintaPalstojen merkitysMuuttujien selitystaulukon palstoilla on seuraava merkitys:Taulukko 3-2Muuttujien selitystaulukkoPalsta Merkitys Huomautukset KäsittelyOsoite Osoite muodossa BYTE.BIT. Tiedostotyypeillä, jotka tarvitsevat enemmänkuin yhden tavun, näyttää osoite järjestyksenhyppäämällä seuraavaan tavuosoitteeseen.Merkkien selitys:* : tavun kenttäelementin koko.+ : aloitusosoite, suht. rakenteen alkuun= : rakenteen koko muistitarveSelitysSelitystyyppi,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”Nimi Muuttujien symbolinen nimi Nimen tulee alkaa kirjaimella. Varattujaavainsanoja ei sallita.TyyppiAloitusarvoMuuttujan tiedostotyyppi(BOOL, INT, WORD, ARRAYjne.)Aloitusarvo, kun ohjelmiston eitule hyväksyä oletusarvoa.Perustiedostotyypit voidaan valita hiiren oikeankorvan valikolla.Tulee olla tiedostotyypin kanssa yhteensopiva.Aloitusarvo vastaanotetaan DB:tä ensimmäisenkerran tallennettaessa muuttujan aktuellinaarvona, jos aktuellia arvoa ei selvästivahvisteta.Järj.merkintä:Järjestelmä antaa janäyttää osoitteenkun selityksensyöttö on loppu.Järjestelmän antoyksikkölajinmukaanvaaditaanvaaditaanvalinnainenKommentti Dokumentoinnin kommentti valinnainen”Viirin” merkitysMikä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.Palstan leveydenvaihteluTaulukon 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 optionaalisestasyötöstä, voidaan nämä palstat minimoida tällä tavalla, jotta voitaisiinkeskittyä kokonaan muihin palstoihin.C79000-G7000-C402-013-7


Koodiyksiköiden laadinta3.4 Muuttujien selitystaulukon käsittely - yleiskuvaMenettelytavatAnnettaessa uutta selitystä syötetään halutun selitystyypin jälkeen peräkkäinmuuttujan nimi, tiedostotyyppi, aloitusarvo (valinnainen) ja kommentti (valinnainen).Kursori viedään tällöin TAB-painikkeella viereiseen kenttään. Rivinpäätyttyä osoitetaan muuttujalle osoite.Joka kerran kun taulukkokenttää käsitellään, seuraa syntaksitesti, joka näyttäämahdolliset virheet punaisena. Kyseisiä kenttiä ei tule heti korjata, vaanmuu käsittely voi jatkua ja korjaukset voidaan tehdä myöhemmin.KäsittelytoiminnatTaulukon käsittelyyn on käytettävissä Edit/käsittely -valikosta tutut toiminnat.Jotta käsittely olisi yksinkertaista, voidaan hiiren oikean korvan alta hakeatyyppivalikko.Tiedostotyyppiä syötettäessäkin on apuna hiiren oikean korvan alainenvalikko. ”Tiedostotyyppi” -valikossa ovat kaikki perustiedostotyypit.Yksittäiset rivit merkitään klikkaamalla asianomaista, kirjoitussuojattua osoitekenttää.Saman selitystyypin lisärivit merkitään pitämällä SHIFT-näppäintäalhaalla. Merkityt rivit tallennetaan mustana.Selitystyypinmuuttaminen”Decl.” -palsta on kirjoitussuojattu. Selitystyypin määrää selityksen positiotaulukon sisällä. Täten varmistetaan, että muuttujat voidaan syöttää vain selitystyyppienoikeassa järjestyksessä. Mikäli jonkin selityksen tyyppiä halutaanmuuttaa, leikataan selitys ensin pois ja liitetään sen jälkeen takaisin uudellaselitystyypillä varustettuna.Rakenteidensyöttö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 viimeisenrivin osoitekentässä (jossa siis avainsana STRUCT tai END_STRUCTon). Yksittäiset selitykset rakenteen sisällä merkitään klikkaamalla rivin vastaavassaosoitekentässä.Mikäli rakenteita syötetään toisten rakenteiden sisällä, näkyy hierarkia muuttujiennimien vastaavana sisennyksenä.3-8 C79000-G7000-C402-01


Koodiyksiköiden laadintaKenttien syöttö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 tiedostotyyppisyö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):SSYksittäissyöttö: Yksittäisille elementeille annetaan oma aloitusarvo. Arvotlistataan pilkulla erotettuina.Toistokerroin: Useammalle elementille annetaan sama aloitusarvo. Arvonanto tapahtuu kaarisuluissa, elementtien lukumäärää varten on esiasetettutoistokerroin.EsimerkkiKuvassa 3-4 on esimerkki muuttujien selitystaulukosta:FB50 - Address Decl. Symbol Data Type Initial Value Comment0.0+0.0+2.0inininstructur1var1var2STRUCTBOOLINTFALSE0+4.0=6.0ininvar3WORDEND_STRUCTW#16#06.0inarray1ARRAY[1..20,1..40]TRUE*2.0inBOOLKuva 3-4Muuttujien selitystaulukon rakenteet ja kentätHuomautusMikäli yksiköiden, joiden kutsu on ohjelmoitu jo aiemmin, muuttujien selitystä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.C79000-G7000-C402-013-9


Koodiyksiköiden laadinta3.5 Multi--instanssien selitysMulti -instanssitMulti-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.SäännötMulti-instanssien selitystä koskevat seuraavat säännöt:SSSMulti-instanssien selitys on mahdollista vain toimintayksiköissä.Toimintayksikölle, jossa multi-instanssia selitetään, on varattavaoheis-DB.Multi-instanssi voidaan selittää vain staattisena muuttujana(selitystyyppi ”stat”).Multi - instansiensyöttö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. Valinnaisestivoidaan merkitä kommentti.FB50 - Address Decl. Symbol Data Type Initial Value Comment0.0+0.0+2.0inininstructur1var1var2STRUCTBOOLINTFALSE0+4.0=6.0ininvar3WORDEND_STRUCTW#16#06.0inarray1ARRAY[1..20,1..40]TRUE*2.0inBOOLKuva 3-5Multi-instanssit (esimerkki)3-10 C79000-G7000-C402-01


Koodiyksiköiden laadinta3.6 Systeemiattribuuttien anto parametreilleSysteemiattribuutitSysteemiattribuutteja 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:Systeemiattri -buuttien syöttöparametrejä vartenAnnettaessa parametrejä systeemiattribuuteille valitaan parametrin nimimuuttujien selitystaulukosta ja valitaan valikkokäsky Edit Object Properties.”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-3Parametrien systeemiattribuutitAttribuutti Arvo Tämä attribuutti annetaan, jos Sallittuselitystyyppi<strong>S7</strong>_server<strong>S7</strong>_a_type<strong>S7</strong>_coconnection,alarm_archivalarm, alarm_8,alarm_8p, alarm_s,notify, ar_sendpbkl, pbk, ptpl, obkl,fdl, iso, pbks, obkvparametrillä on merkitystä liityntä- taihälytyssuunnittelussa. Ko. parametri sisältääliityntä- tai hälytysnumeron.määritellään hälytysyksikön hälytysyksikkötyyppi,jota kutsutaan käskyosassa (edellytys: attribuutti<strong>S7</strong>_server:=alarm_archiv on myös annettu).määritellään suunniteltavan liitynnän liitäntätyyppi,(edellytys: attribuutti <strong>S7</strong>_server:=connection onmyös annettu).<strong>S7</strong>_m_c true, false parametriä tulee ohjata ja valvoa ohjaus- javalvontalaitteesta käsin.<strong>S7</strong>_shortcut<strong>S7</strong>_unit<strong>S7</strong>_string_0<strong>S7</strong>_string_116 mitä tahansamerkkiä, esim. ohjearvo=, asetussuure =Yksikkö,esim. litra16 mitä tahansamerkkiä, esim. AUF16 mitä tahansamerkkiä, esim. ZUparametrille tulee osoittaa tekstiä analogiarvojentulkintaa varten.parametrille tulee osoittaa yksiköitä analogiarvojentulkintaa varten.parametrille tulee osoittaa tekstiä binääriarvojentulkintaa varten.parametrille tulee osoittaa tekstiä binääriarvojentulkintaa varten.ININ, vain yksiköillä,jotka ovat tyyppiäFB, SFBININ/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFBIN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFBIN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFBIN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäB, SFB, FC, SFCIN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFCC79000-G7000-C402-013-11


Koodiyksiköiden laadintaTaulukko 3-3Parametrien systeemiattribuutitAttribuuttiArvoTämä attribuutti annetaan, josSallittuselitystyyppi<strong>S7</strong>_visible true, false parametriä ei tule näyttää CFC:ssä. IN/OUT/IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC<strong>S7</strong>_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<strong>S7</strong>_dynamic true, false parametrin tulee testattaessa olla dynamisoitavissaCFC:ssä.IN/OUT/IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC<strong>S7</strong>_param true, false parametrin ei tule olla parametroitavissa CFC:ssä. IN/IN_OUT, vainyksiköillä, jotkaovat tyyppiä FB,SFB, FC, SFC3-12 C79000-G7000-C402-01


Koodiyksiköiden laadinta3.7 Käskyosan käsittely - yleiskuvaKäskyosaKä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äskyosaneditoitavat osatKäskyosassa voidaan virtapiirien sisällä käsitellä yksikön otsikkoa, yksikkökommentteja,virtapiirin otsikkoa, virtapiirikommentteja ja käskyrivejä.FB6 - FB6 : AmpelschaltungSteuerung einer Ampelanlage für einen Fußübergang an der Hauptstraße.Netzwerk 1 : Vormerkung Rot für den StraßenverkehrYksikönotsikkoYksikkökommenttiVirtapiirikommenttiDie Vormerkung Rot durch den Straßenverkehr wird durch den Starteingang aktiviert,wenn die Zeit zwischen zwei Rotphasen für den Straßenverkehr läuft.FUP-elementit#starter>=1#condition&#t_next_red_car#t_dur_r_car#condition=Virtapiiri--otsikkoNetzwerk 2 : Grün für den StraßenverkehrGrüne Ampel für die Straße brennt, wenn keine Vormerkung für Rot.Kuva 3-6Käskyosan rakenneUusien yksiköidensyöttöKäskyosan osia voidaan periaatteessa käsitellä halutussa järjestyksessä.Yksikköä ensimmäistä kertaa ohjelmoitaessa suositellaan seuraavaa:C79000-G7000-C402-013-13


Koodiyksiköiden laadintaYksikön otsikon anto (valinnainen)Yksikkökommentin anto (valinnainen)Virtapiirien käsittelyVirtapiiriotsikon anto (valinnainen)Virtapiirikommentin anto (valinnainen)FUP-elementtien antoKuva 3-7Käskyosan käsittelyMuutoksia voidaan väliinkirjoitusmuodon lisäksi tehdä myös ylikirjoitusmuodossa.Muodosta toiseen vaihdetaan INSERT-näppäimellä.3-14 C79000-G7000-C402-01


Koodiyksiköiden laadinta3.8 FUP-elementtien syötön perussäännötYleistä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ä.Kehysten sijoitusKyhyksiin, 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>=1&T-haara#t_next_red_car#t_dur_r_car#condition=>=1#car#cond_02=Kuva 3-8Virtapiiri kahdella osoituksellaSeuraavat kehykset voidaan sijoittaa vain lukitusketjun oikeaan reunaan,jossa ne muodostavat ketjun lopun:S laskurin aloitusarvon asetusS eteenpäinlaskenta, taaksepäinlaskentaS ajan käynnistys impulssina, ajan käynnistys pidennettynä impulssinaS ajan käynnistys vetohidastuksena/päästöhidastuksena.C79000-G7000-C402-013-15


Koodiyksiköiden laadintaKehysten 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/ajastinkehyksetHyppy, kun 0 [JMPN]Master Control Relaisin päällekytkentä [MCR]Kaikilla muilla kehyksillä voi olla valinnaisesti boolen lukitus tai sitten ei.Vapautustulo/VapautuslähtöSeurauksena voi olla kehysten vapautustulon ”EN” tai vapautuslähdön”ENO” kytkentä, mutta sitä ei myöskään vaadita.Poisto ja muuntoPoistamalla 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).3-16 C79000-G7000-C402-01


Koodiyksiköiden laadinta3.9 FUP-elementtien antoVirtapiirienkäsittelyVirtapiirin 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.VirtapiirienmerkinnätVirtapiiriin 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>=1#condition&#t_next_red_car#t_dur_r_car#condition=Kuva 3-9Mahdolliset merkinnät FUP-virtapiirissäMerkintöjen väristä voidaan päättää itse. Sitä varten avataan ”KOP/FUP” /(”LAD/FBD”) -rekisteri valikkokäskyllä Options Customize.Lukitusketjunkatkaiseminen jauudellleenyhdistäminenLukitusketju 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.C79000-G7000-C402-013-17


Koodiyksiköiden laadintaFUP-elementtiensyöttömahdolli -suudetFUP-väliinkirjoittamiseksi on käytettävissä seuraavat mahdollisuudet:SSJA-kehys, TAI-kehys tai lähtökehys väliinkirjoitetaan toimintanäppäimilläF2, F3 tai F4.FUP-elementin symboli valitaan toimintoriviltä.S Valitaan elementti valikosta Insert FBD-Element.SValitaan elementit valintadialogista ohjelmaelementit/ProgramElements (katso kuva 3-10). Sitä varten valitaan valikkokäsky InsertProgram Elements, ”ohjelmaelementtien” symboli toimintorivillä taitoimintapainike F11.LAD\STL\FBD...\FB6 -File Edit Insert PLC Debug View Options Window HelpObjectBlock TemplateData TypeDeclaration RowFB6- NetworkProgram ElementsFBD ElementNetwork 1 : Red request for traffic& >1 =#starter>=1#condition#t_next_red_carBit LogicCompare#t_dur_r_car#conditionConvertCountersS_CDS_CUNetwork 2 : Start permanent yellow for carsS_CUDData Block Fct.Floating-PointInteger Math&Program Eleme...


Koodiyksiköiden laadintaHuomautusMikäli valintadialogista valitaan ”Ohjelmaelementit” ryhmä ”FB yksiköt”tai ”FC yksiköt”, esitetään sen alla sitten kaikki vastaavat yksiköt, jotkaesiintyvät <strong>S7</strong>-ohjelmassa. Mikäli valitaan ryhmä ”SFC yksiköt” tai ”SFByksiköt”, esitetään kaikki CPU:ssa käytettävissä olevat systeemitoimintayksiköttai -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.Multi - instanssienkutsuMuuttujien selitystaulukossa määriteltyjä multi-instansseja voidaan myöskutsua FUP-elementtinä. Sitä varten valitaan valikkokäsky InsertProgram Elements. Listakentässä on ryhmä ”multi-instansseja”, jossakaikki selitetyt multi-instanssit on esitetty.C79000-G7000-C402-013-19


Koodiyksiköiden laadinta3.10 Osoitteiden ja parametrien editointiKäyttö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.MenettelytapaOsoitteen 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-11FUP-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.Virheiden etsintäja korjausKoska 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ä viittauksiavirheisiin.Virheiden korjaukset ja muutokset voidaan tehdä myös ylikirjoitusmuodossa(katso kappale 3.12).3-20 C79000-G7000-C402-01


Koodiyksiköiden laadinta3.11 Symbolinen osoitteenantoSymbolisenosoitteenannonkäyttöFUP -ohjelmointikielessä voidaan osoitteita, parametrejä ja yksikkönimiäantaa absoluuttisena tai symbolisena. Valikkokäskyllä View SymbolicRepresentation vaihdetaan absoluuttisen ja symbolisen esityksen välillä.Symbolien valintaMikäli halutaan käyttää globaaleja symboleja, on nämä merkittävä symbolitaulukkoon.Sitä vartenS 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/.EsitysUseimmissa 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 symboleja,voidaan symbolit erotella seuraavalla tavalla:S Symbolitaulukon symbolit esitetään lainausmerkeissä ”..”.SYksikö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.Helpoksi tehtysymboli - infoJotta 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 vastaavainformaatiokenttä. Näyttöä ei voida käsitellä; muutokset tulee tehdäsymbolitaulukossa tai muuttujien selitystaulukossa.C79000-G7000-C402-013-21


Koodiyksiköiden laadintaFB53-Network 1 : Output alarmAn alarm is output when the temperature limit is exceeded and themessage is not acknowledged”sensor1””button2”&”lampon”=Symbol Information:I0.0 sensor1 Temperature exceededI1.2 button2 Acknowledge buttonQ4.0 lampon Alarm signalKuva 3-12FUP:n symboli-infoYksikköä tulostettaessa toistetaan aktuelli kuvaruutuesitys käskykommentteineentai symbolikommentteineen.HuomautusLadattaessa ohjelmaa CPU:hun ei symbolitaulukkoa siirretä mukana. Joshalutaan käsitellä käyttäjäohjelmaa, jonka alkuperäinen ohjelma ei ole käytettävissälaadintajärjestelmässä, ei käytössä myöskään ole alkuperäistäsymboliikkaa.3-22 C79000-G7000-C402-01


Koodiyksiköiden laadinta3.12 Muunto ylikirjoitusmuodossaOsoitteiden japarametrienylikirjoitusYksikkö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.FUP-elementinylikirjoitusYlikirjoitusmuoto 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.T1E 0.0&S_EVERZE 1.1SDUALMW 2E 0.1>=1S5T#10sTWDEZMW 4E 0.2E 1.2&RQA 1.0=ylikirjoitusT1E 0.0E 1.1&S_IMPULSS DUALMW 2E 0.1>=1S5T#10sTWDEZMW 4E 0.2E 1.2&RQA 1.0=Kuva 3-13Kehysten ylikirjoitusHuomautusKommentit ja otsikot voidaan korjata väliinkirjoitusmuodossa.C79000-G7000-C402-013-23


Koodiyksiköiden laadinta3.13 Otsikoiden ja kommenttien antoYleiskuvaKoodiyksikön käskyosassa voidaan syöttää yksikön otsikko ja virtapiirin otsikkosekä yksikkökommentit tai virtapiirikommentit. Syötöt ovat valinnaisiaeikä niillä ole merkitystä ohjelmankululle.Yksikön otsikoidenja virtapiirinotsikoiden syöttö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ötetään.Siinä voi olla enintään 64 merkkiä.1.Virtapiiri 2: ???Klikkaus hiirellä2.Virtapiiri 2: Tässä on virtapiirin otsikkoKuva 3-14Otsikoiden syöttöKommenttiensyöttöHarmaiden kommenttikenttien syöttö voidaan ottaa käyttöön tai pois käytöstävalikkokäskyllä View Comment. Kaksoisklikkaamalla sellaisessa kentässäavautuu tekstikenttä, johon selitykset voidaan nyt syöttää. Yksikkö- ja virtapiirikommenttejavarten on yksikköä kohti käytettävissä 64 KByteä.1.???2.Virtapiiri - tai yksikkökommenttiKlikkaus hiirelläKuva 3-15Kommenttien syöttöHuomautusLadattaessa yksikköä CPU:hun ei kommentteja siirretä mukana. Jos halutaanladata yksikkö CPU:sta, jossa alkuperäinen yksikkö ei ole käytettävissä laadintajärjestelmässä,ei alkuperäisiä kommentteja voi nähdä eikä käsitellä.3-24 C79000-G7000-C402-01


Johdanto2Mitä tämä kappalesisältää?Tässä kappaleessa selitetään lyhyesti yksiköistä muodostuvan käyttäjäohjelmanrakenne.FUP-editori asettaa SIMATIC managerissa pohjan kaikille STEP 7-sovelluksille.Tässä selviää, miten SIMATIC managerista päästään FUP-editoriin jamihin laaditut yksiköt on järjestetty projektirakenteessa.YleiskuvakappaleestaKappale Sisältö Sivu2.1 Käyttäjäohjelmien rakenne 2-22.2 Käyttäjäohjelmien laadinta - yleiskuva 2-42.3 Huomioon otettavat säännöt 2-7C79000-G7000-C402-012-1


Johdanto2.1 Käyttäjäohjelmien rakenneKoodiyksiköt jatiedostoyksikötKäyttäjäohjelma koostuu koodiyksiköistä ja tiedostoyksiköistä. Koodiyksiköihinkuuluvat kaikki yksiköt, joissa on käskyosa, siis organisaatioyksiköt,toimintayksiköt ja toiminnat.Organisaatio -yksikötOrganisaatioyksikö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ä. <strong>S7</strong>-CPU:n FUP-käyttäjäohjelma kootaan organisaatioyksiköistä(OBt), joita automaatioratkaisussa tarvitaan. Yksinkertaisimmassatapauksessa siihen kuuluvatS käynnistyksen (OB 100, OB 101)S syklisen pääohjelman (OB1) jaSvirheenkä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äsitelläCPU:n tai prosessin keskeytyksiä.Mitä tehtäviä kullakin organaisaatioyksiköllä on ja minkä aloitusinfon CPUkäyttöjärjestelmäantaa, selviää referenssikäsikirjasta /235/.Toiminnat/toimintayksikötJokainen organisaatioyksikkö voidaan ohjelmoida rakenteellisena ohjelmana,laatimalla toiminnat (FC) ja toimintayksiköt (FB) ja kutsumalla niitä käskyosassa.Yksikköä kutsuttaessa tulee selvitetyt parametrit varustaa vastaavastitiedoilla.SSToimintayksikkö (FB) on koodiyksikkö ”muistilla”. Muistina toimii tällöinFB:lle varattu oheis-tiedostoyksikkö, johon todelliset parametrit jatoimintayksikön staattiset tiedot tallennetaan.Toiminta (FC) on koodiyksikkö ”ilman muistia”. Lähtöparametrit sisältävätFC:n käsittelyn jälkeen lasketut toiminta-arvot. Todellisten parametrienmuu käyttö ja tallennus FC:n kutsun jälkeen on käyttäjän oma asia.TiedotKäyttöjärjestelmä asettaa valmiiksi seuraavat tiedot:S Periferiatulot ja -lähdötS Tulojen ja lähtöjen prosessikuvaS MerkkeritS AjatS Laskurit2-2 C79000-G7000-C402-01


JohdantoLisäksi voidaan määritellä omia tietoja:SSSGlobaalidata, joka pätee koko käyttäjäohjelmalle, määritellääntiedostoyksiköissä.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 parametrienohella staattiset tiedot. Mikäli multi-instanssit on määritelty, onniiden instanssitiedot, staattiset tiedot mukaanlukien upotettuoheis-DB:hen.Väliaikaiset eli hetkelliset (temp)-tiedot määritellään koodiyksiköitä laadittaessa.Ne varaavat muistipaikan pinossa vain koodiyksikön käsittelynajan.TiedostoyksikötKä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.SOheis-tiedostoyksiköt (instanssi) on varattu toimintayksikölle ja ne sisältävätFB:n tietojen ohella myös mahdollisesti määriteltyjenmulti-instanssien tiedot. Siksi instanssi-tiedostoyksiköitä tulee käsitellävain kyseisten toimintayksiköiden yhteydessä.Muuta tietoaJohdanto ohjelmointimetodiikkaan löytyy käsikirjasta /234/.C79000-G7000-C402-012-3


Johdanto2.2 Käyttäjäohjelmien laadinta - yleiskuvaKäyttäjäohjelmaKäyttäjäohjelma, jonka tulee toimia <strong>S7</strong>-CPU:ssa, muodostuu pääasiassa yksiköistä.Lisäksi se sisältää muuta informaatiota kuten esim. järjestelmän konfigurointitiedottai 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ä tiedostotyyppejä(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 liittääyksinkertaisella tavalla käyttäjäohjelmaan.HuomautusMitkä SFBt ja SFCt CPU:hun on integroitu, voidaan näyttää onlinevalikkokäskyn Accessible Nodes " Blocks kautta.Inkrementti-FUP-editoriYksikö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 differentiaalisesti,se tarkoittaa, jokaisen syötön jälkeen suoritetaan siihen viittaava syntaksikoe.Syntaksivirheet näytetään, kielletyt FUP-elementtien tai osoitteidenoperaatiot torjutaan heti.Aloitus SIMATICjärjestelmän-hallinnastaFUP-editori käynnistetään SIMATIC -managerista. Edellytyksenä on, ettäsiellä on <strong>S7</strong>-ohjelmalla varustettu projekti. <strong>S7</strong>-ohjelma voidaan laatialaitteistosta riippuen tai siitä riippumatta. Sitä varten liitetään <strong>S7</strong>-ohjelmasuoraan projektiin tai käsitellään ohjelmoitavalle yksikölle varattua<strong>S7</strong>-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.2-4 C79000-G7000-C402-01


JohdantoSIMATIC Manager - TRAFFICFile Edit Insert PLC View Options WindowHelpONOFFTRAFFIC - (Project)TRAFFIC<strong>S7</strong> Program (1)Source FilesBlocksSIMATIC <strong>300</strong> Station1OB1DB5FB6DB6Press F1 for help.NUMKuva 2-1FUP-editorin käynnistys SIMATIC manageristaYksikön luontiMikä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ä.SSSIMATIC managerissa merkitään käyttäjäohjelma ja lisätään halutun yksikkölajinyksikkö valikkokäskyllä Insert <strong>S7</strong>-Block ... . Uusi yksikköilmestyy oikealla olevaan projekti-ikkunaan.Editorissa uusi yksikkö voidaan luoda yksinkertaisesti valikkokäskylläFile New. Seurantadialogissa annetaan myös yksikkölaji jayksikkönumero.<strong>Ohjelmointi</strong>kielenvalitseminenYksikköä 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” -ohjelmointikieliS SIMATIC managerin dialogikentässä ”ominaisuudet” (properties).S FUP-editorissa valikkokäskyllä Option Customize dialogikentässä”KOP/AWL/FUP”, rekisterissä ”editori”.YksikönavaaminenYksikkö avataan SIMATIC managerissa kaksoisklikkaamalla yksikköä.Vaihtoehtoisesti voidaan tämä tehdä myös valikkokäskyllä Edit OpenObject tai menemällä toimintorivin vastaavaan symboliin.C79000-G7000-C402-012-5


JohdantoYksikön tallennusTallennettaessa 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ä <strong>S7</strong>-CPU:hun. Lisää käyttäjäohjelmien lataustakoskevaa tietoa löytyy käyttäjäkäsikirjasta STEP 7 /231/.HuomautusAina ei riitä, että kaikki luodut yksiköt ladataan yksitellen CPU:hun, koskajärjestelmäkonfigurointitietoja tarvitaan mahdollisesti. Ohjelma ladataansiksi aina kokonaisena SIMATIC managerin kautta.TukitoimintojenkutsuFUP-editorissa voidaan suorittaa suoraan seuraavat toiminnat, joista on apuaohjelmaa laadittaessa ja käyttöönotettaessa:Taulukko 2-1FUP-editorin tukitoiminnatToiminnatKäyttäjäohjelman referenssitietojen kutsuSymbolitaulukon tai yksittäistensymbolien käsittelyMuuttujien seuranta / ohjausKäyttötilan näyttö/vaihto sekä CPU:nperusnollausCPU:n yksikön tilan näyttöCPU:n päiväyksen ja kellonajan muutosValikkokäskyOptions " Reference DataOptions " Symbol Table taiOptions " Edit SymbolsPLC " Monitor/Modify VariablesPLC " Operating Mode taiPLC " Clear/ResetPLC " Module InformationPLC " Set Time and DateNämä toiminnat on kuvattu perusteellisesti käyttäjäkäsikirjassa STEP 7 /231/.2-6 C79000-G7000-C402-01


Johdanto2.3 Huomioon otettavat säännötYksikönlaadintajärjestysKäyttäjäohjelman koodiyksiköitä ja tiedostoyksiköitä laadittaessa on yksiköidenlaadintajärjestys ratkaiseva. Periaatteessa pätee: Yksiköiden, joita kutsutaantoisesta yksiköstä käsin, tulee kutsua ohjelmoitaessa olla jo olemassa- 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.Käsittely ohjelmankulun aikanaCPU:n ollessa käyttötilassa RUN, voidaan CPU:hun tallennettua käyttäjäohjelmaakäsitellä STEP 7:llä online.!VaroitusMeneillään olevan ohjelman Online-käsittely voi johtaa laitteen virhetoimintoihintai 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.HuomautusOnline- ja Offline-kytkennästä löytyy tietoa STEP 7 -käyttäjäkäsikirjasta/231/.C79000-G7000-C402-012-7


Johdanto2-8 C79000-G7000-C402-01


Yleiskuva tuotteesta1Mitä FUP/FBDtarkoittaa?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äskylistaFUPohjelmointikieliFUP -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.<strong>Ohjelmointi</strong>pakettiFUP-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ä.C79000-G7000-C402-011-1


1-2 C79000-G7000-C402-01


Osa 1: TyöskentelyFUP-editorillaYleiskuva tuotteesta1Johdanto2Koodiyksiköiden laadinta3Tiedostoyksiköiden jakäyttäjämääritteistentiedostotyyppien muodostus4Yksikön ominaisuuksien jaohjelmatestin käsittely5


2-2 C79000-G7000-C402-01


SisällysluetteloEsipuhe ................................................................iiiOsa 1: Työskentely FUP -editorilla1 Yleiskuva tuotteesta .................................................... 1-12 Johdanto .............................................................. 2-12.1 Käyttäjäohjelmien rakenne ........................................ 2-22.2 Käyttäjäohjelmien laadinta -- yleiskuva ............................. 2-42.3 Huomioon otettavat säännöt ...................................... 2-73 Koodiyksiköiden laadinta ............................................... 3-13.1 Koodiyksiköiden laadinta -- yleiskuva ............................... 3-23.2 Koodiyksiköt editorissa ........................................... 3-33.3 Muuttujien selitystaulukon rakenne ................................. 3-63.4 Muuttujien selitystaulukon käsittely -- yleiskuva ...................... 3-83.5 Multi-instanssien selitys .......................................... 3-103.6 Systeemiattribuuttien anto parametreille ............................ 3-113.7 Käskyosan käsittely -- yleiskuva ................................... 3-133.8 FUP-elementtien syötön perussäännöt ............................. 3-153.9 FUP-elementtien anto ............................................ 3-173.10 Osoitteiden ja parametrien editointi ................................ 3-203.11 Symbolinen osoitteen anto ........................................ 3-213.12 Muunto ylikirjoitusmuodossa ...................................... 3-233.13 Otsikoiden ja kommenttien anto ................................... 3-244 Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien muodostus .. 4-14.1 Tiedostoyksiköiden laadinta -- yleiskuva ............................ 4-24.2 Laadintamenetelmän valinta ...................................... 4-44.3 Selitystaulukon käsittely .......................................... 4-54.4 Aktuellien data-arvojen käsittely ................................... 4-64.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT) ................ 4-8C79000-G7000-C402-01vii


Sisällysluettelo5 Yksikön ominaisuuksien ja ohjelmatestin käsittely ........................ 5-15.1 Yksikön ominaisuuksien käsittely .................................. 5-25.2 FUP-ohjelman testaus - yleiskuva ................................. 5-55.3 Ohjelman tilan näytön asetus ..................................... 5-65.4 Triggeriehtojen asetus ........................................... 5-75.5 Testausympäristön valinta ja ohjelman tilan käynnistys/pysäytys ....... 5-8Osa 2: Kielikuvaus6 FUP:n rakenne ja elementit .............................................. 6-16.1 Elementit ja kehykset ............................................ 6-26.2 Boolen logiikka ja totuustaulukot ................................... 6-66.3 CPU-rekisterin merkitys käskyissä ................................. 6-97 Osoitteen anto ......................................................... 7-17.1 Yleiskuva ...................................................... 7-27.2 Osoitelajit ...................................................... 7-48 Bittilukitusoperaatiot ................................................... 8-18.1 Yleiskuva ...................................................... 8-28.2 JA--lukitus ...................................................... 8-38.3 TAI--lukitus ..................................................... 8-48.4 JA--ennen--TAI--lukitus ja TAI--ennen--JA--lukitus ..................... 8-58.5 EHDOTON--TAI--lukitus .......................................... 8-68.6 Binääritulon väliinkirjoitus ......................................... 8-78.7 Binääritulon kääntö .............................................. 8-88.8 Osoitus ........................................................ 8-98.9 Konnektori ..................................................... 8-108.10 Lukitustuloksen lataus BIE--rekisteriin ............................. 8-118.11 Lähdön asetus .................................................. 8-128.12 Lähdön nollaus .................................................. 8-138.13 Laskurin aloitusarvon asetus ...................................... 8-148.14 Operaatio: Eteenpäinlaskenta ..................................... 8-168.15 Operaatio: Taaksepäinlaskenta .................................... 8-178.16 Operaatio: Ajan käynnistys impulssina ............................. 8-188.17 Operaatio: Ajan käynnistys pidennettynä impulssina ................. 8-208.18 Operaatio: Ajan käynnistys vetohidastuksena ....................... 8-228.19 Operaatio: Ajan käynnistys tallentavana vetohidastuksena ............ 8-248.20 Operaatio: Ajan käynnistys päästöhidastuksena ..................... 8-26viiiC79000-G7000-C402-01


Sisällysluettelo8.21 Reunan 0 --> 1 kysely ............................................ 8-288.22 Reunan 1 --> 0 kysely ........................................... 8-298.23 Signaalireunan 0 --> 1 kysely ...................................... 8-308.24 Signaalireunan 1 --> 0 kysely ...................................... 8-318.25 Flipflopin asetus/nollaus .......................................... 8-328.26 Flipflopin nollaus/asetus .......................................... 8-339 Aikaoperaatiot .......................................................... 9-19.1 Ajan muistialueet ja komponentit .................................. 9-29.2 Oikean ajan valinta .............................................. 9-49.3 Ajan käynnistys impulssina ....................................... 9-59.4 Ajan käynnistys pidennettynä impulssina ........................... 9-79.5 Ajan käynnistys vetohidastuksena ................................. 9-99.6 Ajan käynnistys tallentavana vetohidastuksena ...................... 9-119.7 Ajan käynnistys päästöhidastuksena ............................... 9-1310 Laskentaoperaatiot ..................................................... 10-110.1 Muistin laskuriosite ja laskurin komponentit ......................... 10-210.2 Eteenpäin-/taaksepäinlaskenta .................................... 10-310.3 Eteenpäinlaskenta ............................................... 10-510.4 Taaksepäinlaskenta .............................................. 10-711 Peruslaskentaoperaatiot ................................................ 11-111.1 Kokonaislukujen yhteenlasku (16 bittiä) ............................. 11-211.2 Kokonaislukujen yhteenlasku (32 bittiä) ............................. 11-311.3 Kokonaislukujen vähennyslasku (16 bittiä) .......................... 11-411.4 Kokonaislukujen vähennyslasku (32 bittiä) .......................... 11-511.5 Kokonaislukujen kertolasku (16 bittiä) .............................. 11-611.6 Kokonaislukujen kertolasku (32 bittiä) .............................. 11-711.7 Kokonaislukujen jakolasku (16 bittiä) ............................... 11-811.8 Kokonaislukujen jakolasku (32 bittiä) ............................... 11-911.9 Jakojäännös (32 bittiä) ........................................... 11-1011.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissa ................. 11-1112 Liukulukuaritmetiikka ................................................... 12-112.1 Yleiskuva ...................................................... 12-212.2 Liukulukujen yhteenlasku ......................................... 12-312.3 Liukulukujen vähennyslasku ...................................... 12-412.4 Liukulukujen kertolasku .......................................... 12-512.5 Liukulukujen jakolasku ........................................... 12-6C79000-G7000-C402-01ix


Sisällysluettelo12.6 Tilasanan bittien tulkinta liukulukuoperaatioissa ...................... 12-712.7 Liukuluvun absoluuttiarvon muodostus ............................. 12-812.8 Liukuluvun neliön (SQR) muodostus ............................... 12-912.9 Liukuluvun neliöjuuren (SQRT) muodostus .......................... 12-1012.10 Liukuluvun luonnollisen logaritmin muodostus ....................... 12-1112.11 Liukuluvun eksponenttiarvon muodostus ............................ 12-1212.12 Kulmien trigonometristen funktioiden laskentaliukulukuina ..................................................... 12-1313 Vertailuoperaatiot ...................................................... 13-113.1 Kokonaislukujen vertailu (16 bittiä) ................................. 13-213.2 Kokonaislukujen vertailu (32 bittiä) ................................. 13-313.3 Liukulukujen vertailu ............................................. 13-414 Siirto - ja muunnosoperaatiot ............................................ 14-114.1 Arvon siirto ..................................................... 14-214.2 BCD--luvun muunto kokonaisluvuksi (16 bittiä) ...................... 14-314.3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi ...................... 14-414.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä) ........... 14-514.5 BCD--luvun muunto kokonaisluvuksi (32 bittiä) ...................... 14-614.6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi ...................... 14-714.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi ....................... 14-814.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus ............... 14-914.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus ............... 14-1014.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus ............... 14-1114.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus ............... 14-1214.12 Liukuluvun etumerkin vaihto ...................................... 14-1314.13 Luvun pyöristys ................................................. 14-1414.14 Kokonaisluvun muodostus ........................................ 14-1514.15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta ....... 14-1614.16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta ....... 14-1715 Sanalukitusoperaatiot .................................................. 15-115.1 Yleiskuva ...................................................... 15-215.2 16 bitin JA--lukitus ............................................... 15-315.3 32 bitin JA--lukitus ............................................... 15-415.4 16 bitin TAI--lukitus .............................................. 15-515.5 32 bitin TAI--lukitus .............................................. 15-615.6 16 bitin EHDOTON--TAI--lukitus ................................... 15-7xC79000-G7000-C402-01


Sisällysluettelo15.7 32 bitin EHDOTON--TAI--lukitus ................................... 15-816 Siirto - ja pyöritysoperaatiot ............................................. 16-116.1 Siirto - operaatiot ................................................. 16-216.2 Pyöritysoperaatiot ............................................... 16-1017 Tiedostoyksikköoperaatiot .............................................. 17-117.1 Tiedostoyksikön avaus ........................................... 17-218 Hyppyoperaatiot ........................................................ 18-118.1 Yleiskuva ...................................................... 18-218.2 Ehdoton hyppy yksikössä ......................................... 18-318.3 Hyppy, kun 1 (ehdollinen) ......................................... 18-418.4 Hyppy, kun 0 (ehdollinen) ......................................... 18-518.5 Hyppymerkki ................................................... 18-619 Tilabittioperaatiot ....................................................... 19-119.1 Yleiskuva ...................................................... 19-219.2 BIE-rekisterin bitti ............................................... 19-319.3 Tulosbitit ....................................................... 19-419.4 Väärien operaatioiden virhebitti .................................... 19-619.5 Ylivuodon virhebitti .............................................. 19-719.6 Tallennetun ylivuodon virhebitti .................................... 19-820 Ohjelmanohjausoperaatiot .............................................. 20-120.1 FC/SFC:n kutsu ilman parametrejä ................................ 20-220.2 FB:n, FC:n, SFB:n, SFC:n ja multi -instanssien kutsu ................. 20-420.3 Hyppy takaisin .................................................. 20-820.4 Master Control Relayn toiminnat ................................... 20-920.5 Master Control Relayn alku/loppu .................................. 20-1020.6 Master Control Relay päälle/pois päältä ............................ 20-13LiitteetA Aakkosellinen operaatiolista ............................................ A-1A.1 Englanninkielinen selityslista ...................................... A-2A.2 IEC--mnemoniikka ja SIMATIC--mnemoniikka ....................... A-6C79000-G7000-C402-01xi


SisällysluetteloB <strong>Ohjelmointi</strong>esimerkkejä ................................................. B-1B.1 Yleiskuva ...................................................... B-2B.2 Bittilukitusoperaatiot ............................................. B-3B.3 Aikaoperaatiot .................................................. B-7B.4 Laskenta- ja vertailuoperaatiot .................................... B-11B.5 Aritmeettiset operaatiot kokonaisluvuilla ............................ B-13B.6 Sanalukitusoperaatiot ............................................ B-14C Lukujen esitys ......................................................... C-1C.1 Lukujen esitys .................................................. C-2xiiC79000-G7000-C402-01


Lukujen esitys3YleiskuvakappaleestaKappale Sisältö Sivu3.1 Lukujen esitys 3-2C79000-G7000-C402-013-1


Lukujen esitys3.1 Lukujen esitysYleisinfoaFBD/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-1Luku - ja vakiomuodot, joihin ei perehdytä tässä kappaleessaMuoto Koko bitteinä LukuesitysHeksadesimaali 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’Bitit, tavut, sanatja kaksoissanatBittiä kutsutaan binääriluvuksi ”0” tai ”1”. Tavu muodostuu 8:sta bitistä, sana16:sta bitistä ja kaksoissana 32 bitistä.TiedostotyypitJokaisessa 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ötyyppiS Pointer ja ArrayLä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äsikirjasta/231/.3-2 C79000-G7000-C402-01


Lukujen esitysTaulukko 3-2Tyyppi jaselitysBOOL(Bitti)BYTE(Tavu)WORD(Sana)DWORD(Kaksoissana)INT(Kok.luku)DINT(Kok.luku,32 bittiä)REAL(Liukuluku)S5TIME(SIMATICaika)TIME(IEC-aika)DATE(IECpäiväys)TIME_OF_DAY(kellonaika)CHAR(merkki)Perustiedostotyyppien vakiomuodotKokobit:ssäMuoto -optiotAlue ja lukujen esitys (alimm.korkeimpaan arvoon)Esimerkki1 Bool-teksti TRUE/FALSE TRUE8 Heksadesimaali -luku16 DuaalilukuHeksadesimaali -lukuBCDDesimaalilukuilman etumerkkiä32 DuaalilukuHeksadesim.lukuDesimaalilukuilman etumerkkiä16 Desimaalilukuetumerkillä32 Desimaalilukuetumerkillä32 IEEELiukuluku16 S5-aika10 ms:n välein(oletusarvo)32 IEC-aika1ms:nvälein,kokonaislukuetumerkillä16 IEC-päiväys1 päivän välein32 Kellonaika1ms:nväleinB#16#0 ... B#16#FF2#0 ...2#1111_1111_1111_1111W#16#0 ... W#16#FFFFC#0 ... C#999B#(0,0) ... B#(255,255)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)-32768 ... 32767 1L#-2147483648 ... L#2147483647 L#1Ylempi raja: 3 402823e+38Alempi raja: 1 175 495e-38)S5T#0H_0M_0S_10MS ...S5T#2H_46M_30S_0MS jaS5T#0H_0M_0S_0MST#-24D_20H_31M_23S_648MS ...T#24D_20H_31M_23S_647MSD#1990-1-1 ...D#2168-12-31TOD#0:0:0.0 ...TOD #23:59:59.9998 ASCII-merkit ’A’,’B’ jne. ’E’B#16#10byte#16#102#0001_0000_0000_0000W#16#1000word16#1000C#998B#(10,20)byte#(10,20)2#1000_0001_0001_1000_1011_1011_0111_1111DW#16#00A2_1234dword#16#00A2_1234B#(1, 14, 100, 120)byte#(1,14,100,120)1,234567e+13S5T#0H_1M_0S_0MSS5Time#0H_1H_1M_0S_0MST#0D_1H_1M_0S_0MSTIME#0D_1H_1M_0S_0MSD#1994-3-15DATE#1994-3-15TOD#1:10:3.3TIME_OF_DAY#1:10:3.3Kokonaisluvut(16 bittiä)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.C79000-G7000-C402-013-3


Lukujen esitysTaulukko 3-3Kokonaislukualue (16 bittiä)MuotoAlueKokonaisluku (16 bittiä) -32 768 ... +32 767Bitti150 0 0 012110 0 0 087 40 0 1 031 1 0 00Etumerkki Desimaaliarvot: 32 + 8 + 4 = 44Kuva 3-1 Kokonaisluku (16 bittiä) duaalilukuna: +44Kokonaisluvut(32 bittiä)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-4Kokonaislukualue (32 bittiä)MuotoAlueKokonaisluku (32 bittiä) -2 147 483 648 ... +2 147 483 647Bitti31 281 1 1 127 241 1 1 123 201 1 1 119 161 0 0 015 120 1 0 111 81 1 1 07 41 1 1 03 00 0 0 0EtumerkkiKuva 3-2 Kokonaisluku (32 bittiä) duaalilukuna: -500 000LiukuluvutLiukuluku 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 * 10 6 ). 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.3-4 C79000-G7000-C402-01


Lukujen esitysTaulukko 3-5LiukulukualueetMuoto Alue 1)Liukuluvut-3.402 823E+38 ... -1.175 495E-38ja 0ja+1.175 495E-38 ... +3.402 823E+381) 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.LiukulukujenmuotoFBD/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 E maks = maks. eksponenttiS E min = min. eksponenttiTaulukossa 3-6 on muotoparametrit.Taulukko 3-6Liukulukujen muotoparametritParametrin kuvausParametrin arvop 24Emaks +127Emin -126Eksponentti Bias +127Eksponentin leveys bitteinä 8Muodon leveys bitteinä 32Muoto sisältää seuraavat peruselementit:S Luvut muodossa (-1) s 2 E (b 0 . b 1 b 2 ...b p-1 ), jolloin pätee:- s = 0 t a i 1- E = käsittäen minkä tahansa E min ja E maks välisen kokonaisluvun (16bittiä)- b i =0tai1S 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 NaNC79000-G7000-C402-013-5


Lukujen esitysLiukuluvunkomponenttikentätLeveydeltään yksinkertaiset perusmuodossa olevat liukuluvut muodostuvatseuraavista kentistä (katso kuva 3-3):S yhden bitin pituisesta etumerkistä VS eksponentista, jossa Bias: e = E + BiasS Mantissasta: f = . b 1 b 2 ...b p-1Eksponentin E alue ilman Biasia muodostuu mistä tahansa kokonaisluvusta (16bittiä) välillä E min. ja E maks. (ts. -127 ... + 127) sekä kummastakin muustavaratusta arvosta E min .-10:n ja denormalisoitujen lukujen alueesta koodaustavarten ja E maks. +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 2 e-127 (1 . f).SS(Tällöin on kyseessä denormalisoitu luku.)Jos e = 0 ja f ≠0, silloin v = (-1) s 2 e-126 (0 . f).(Tällöin on kyseessä denormalisoitu luku.)Jos e = 0 ja f = 0, silloin v = (-1) s 0 (nolla).Bitti312827242320191615121187 430V e fMantissa--etumerkkiV (1 bitti)Kuva 3-3Eksponentti: e(8 bittiä)Liukulukujen muotoMantissa: f(23 bittiä)3-6 C79000-G7000-C402-01


Lukujen esitysEsimerkkejäliukuluku -muodostaKuvassa 3-4 on seuraavien desimaaliarvojen liukulukumuoto:S 10,0S π (3,141593)S neliöjuuri 2:sta (p2 = 1,414214)Liukuluvun heksadesimaaliarvo annetaan bittinumeroiden yläpuolella.Desimaaliarvo 10,0Heksadesimaaliarvo4 1 2 0 0 0 0 0Bitit312827242320 1916 1512 1187 4<strong>300</strong> 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Mantissa--etumerkki:V (2 bittiä)Eksponentti: e(8 bittiä)e=2 7 +2 1 = 1301.f £ 2 e -bias =1,25£ 2 3 = 10,0[1,25 £ 2 (130--127) =1,25£ 2 3 = 10,0]Mantissa: f(23 bittiä)f=2 -- 2 =0,25Desimaaliarvo 3,141593Bitit314 0 4 9 0 F D C28 2724 2320 1916 1512 118 7 4<strong>300</strong> 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0Mantissa--etumerkki:V (1 bittiä)Eksponentti: e(8 bittiä)Mantissa: f(23 bittiä)Desimaaliarvo 1,414214HeksadesimaaliarvoHeksadesimaaliarvo3 F B 5 0 4 F 7Bitit 31 28 27 24 23 20 19 16 1512 118 7 4<strong>300</strong> 0 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1Mantissa--etumerkki:V (1 bittiä)Eksponentti: e(8 bittiä)Mantissa: f(23 bittiä)Kuva 3-4Esimerkki liukulukujen muodostaC79000-G7000-C402-013-7


Lukujen esitysBinäärikoodattuesitysBinää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 kaksoissanamuodossaolevasta binäärikoodatusta desimaaliluvusta.Taulukko 3-7Binäärikoodatut desimaaliluvut, joissa 16 ja 32 bittiäMuotoSana (16 bittiä, 3-numeroinen BCD-lukuetumerkillä)Kaksoissana (32 bittiä, 7-numeroinenBCD-luku etumerkillä)Alue-999 ... +999-9 999 999 ... +9 999 999+310(Desimaalimuoto)BittiKuva 3-515 12 11 8 7 4 30 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0Etumerkki Sadat Kymmenet Ykköset(10 2 )(10 1 ) (10 0 )Binäärikoodatut desimaaliluvut sanamuodossa0-9 999 999 (Desimaalimuoto)Bitti31 281 1 1 1Etumerkki271 0 0 1Miljoonat(10 6 )24231 0 0 1Sadat--tuhannet(10 5 )2019161 0 0 1Kymmenet--tuhannet(10 4 )15 121 0 0 1Tuhannet(10 3 )11 8 7 4 3 01 0 0 1 1 0 0 1 1 0 0 1SadatYkköset(10 2 )(10 0 )Kymme--net(10 1 )Kuva 3-6Binäärikoodatut desimaaliluvut kaksoissanamuodossa3-8 C79000-G7000-C402-01


Lukujen esitysAjan muotoJos 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.15... ...8 7... ...0x x 1 0 0 0 0 1 0 0 1 0 0 1 1 11 2 7Aikakerroin1sAika-arvo BCD-muodossa (0 ... 999)Merkityksetön: Näitä bittejä ei huomioida aikaa käynnistettäessä.Kuva 3-7Aikaoperadin sisältö: Aika-arvo127, aikakerroin 1sTaulukko 3-8S5TIME:n aikakerroinAikakerroinAikakertoimen binäärikoodi10 ms 00100 ms 011s 1010 s 11Esimääritelty aika-arvo voidaan ladata seuraavalla syntaksilla.S W#16#wxyz- w = aikakerroin (ts. aikaintervalli tai tarkkuus)- xyz = aika-arvo BCD-muodossaSS5T#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.Päiväyksen jakellonajan muotoKun 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.999C79000-G7000-C402-013-9


Lukujen esitysSeuraavissa 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.23S DT#1993-12-25-8:01:1.23Seuraavat 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)SSSFC3: D_TOD_DTPäiväyksen purku muodosta DATE_AND_TIMEFC6: DT_DATEViikonpäivän purku muodosta DATE_AND_TIMEFC7: DT_DAYKellonajan purku muodosta DATE_AND_TIMEFC8: DT_TODTaulukossa 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-9Päiväyksen ja kellonajan tavujen sisältöTavu Sisältö Esimerkki0 Vuosi B#16#931 Kuukausi B#16#122 Päivä B#16#253 Tunti B#16#084 Minuutti B#16#015 Sekunti B#16#016 MSEC:n kummatkin korkea-arvoiset luvut B#16#237(4MSB)7(4LSB)MSEC:n alempiarvoiset luvutViikonpäivä1 = sunnuntai2 = maanantai...7 = lauantaiB#16#0B#16#53-10 C79000-G7000-C402-01

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!