Upload
vuongmien
View
235
Download
1
Embed Size (px)
Citation preview
Esipuhe, sisällysluettelo
Osa 1: TyöskentelyFUP-editorilla
Osa 2: Kielikuvaus
Liitteet
C79000-G7000-C508-02
FUP/FBD S7-300/400Yksiköiden ohjelmointitoimintakaaviomuodossa
Käsikirja
SIMATIC S7
Tässä käsikirjassa on ohjeita, joita on noudatettava henkilökohtaisen turvallisuuden ja esine-vahinkojen välttämiseksi. Ohjeet on merkitty kolmiolla seuraavasti vaarallisuusasteen mukai-sesti:
!Vaara
tarkoittaa, että aiheutuu kuolema, vaikea ruumiinvamma tai huomattava esinevahinko, jolleitarpeellisia varotoimenpiteitä suoriteta.
!Varoitus
tarkoittaa, että kuolema, vaikea ruumiinvamma tai huomattavia esinevahinkoja saattaa ai-heutua, jollei tarpeellisia varotoimenpiteitä suoriteta.
!Varo
tarkoittaa, että lievä ruumiinvamma tai esinevahinko saattaa aiheutua, jollei tarpeellisia varo-toimenpiteitä suoriteta.
Huomautus
on tärkeä tieto tuotteesta, tuotteen käsittelystä tai käsikirjan siitä osasta, johon tulee kiinnittääerityistä huomiota.
Huomioitava seuraavaa:
!Varoitus
Laitetta saa käyttää vain katalogissa ja teknisessä selostuksessa mainituissa yksittäistapauk-sissa ja vain Siemens suosittelemien tai hyväksymien vieraslaitteiden ja -komponenttienyhteydessä.
SIMATICR ja SINECR ovat SIEMENS AG:n tavaramerkkejä.
Muut tällaiset merkinnät voivat olla tavaramerkkejä, joiden käyttö kolmannen osapuolentarkoituksiin saattaa loukata haltijan oikeuksia.
Olemme tarkastaneet tämän tuotteen sisällön yhtäpitävyyden ku-vattuun laite- ja ohjelmistopuoleen nähden. Poikkeukset eivät kui-tenkaan ole poissuljettuja, niin että emme takaa täydellistä yhden-mukaisuutta. Tämän tuotteen tiedot tarkistetaan säännöllisesti jatarpeelliset korjaukset tehdään seuraaviin painoksiin. Kiitämmeetu-käteen parannusehdotuksista.
VastuuvapausCopyright E Siemens AG 1996 All rights reserved
Tämän aineiston edelleenjakelu sekä monistus, sen sisällönhyödyntäminen ja siitä tiedottaminen ei ole sallittua, mikäli siitä ei oleselvästi sovittu. Rikkomukset johtavat vahingonkorvauksiin. Kaikkioikeudet pidätetään, erityisesti jos tuotteella on patentti taiGM-merkintä.
Siemens AGBereich AutomatisierungstechnikGeschäftsgebiet Industrie-AutomatisierungPostfach 4848, D-90327 Nürnberg
E Siemens AG 1996Pidätämme oikeudet teknisiin muutoksiin.
Siemens Aktiengesellschaft C79000-G7000-C508
Tämä suomenkielinen versio on käännös vastaavastaalkuperäiskielisestä käsikirjasta. Tämän tuotteen julkaisun jälkeenon voinut tulla uusia komponentteja, tai niiden ominaisuudet ovatvoineet muuttua. Tässä tapauksessa on syytä lisäksi tukeutuaviimeisimpään saksan/englanninkieliseen laitekäsikirjaan.
Turvallisuus--määräykset
Määräystenmukainen käyttö
Tavaramerkit
iiiC79000-G7000-C402-01
Esipuhe
Tämä käsikirja tukee käyttäjäohjelmien laadintaa FUP/FBD -ohjelmointikielellä. Siksi tässä selitetään ohjelman laadinnan periaatteellisetmenettelytavat. Käsittelyvaiheiden yksityiskohdat löytyvät Online-avusta.
Sen ohella käsikirja sisältää FUP-ohjelmointikielen kielielementtienreferenssiosan, jossa kuvataan yksittäisten kielielementtien syntaksia jatoimintatapaa. FUP = FBD = toimintakaaviomuoto. Käsikirjasta käytetääntästä lyhennystä FUP.
Tämä käsikrija on tarkoitettu S7-ohjelmoijille, käyttöönottajille jahuoltohenkilökunnalle. Tämä edellyttää kyseisen alueen automaatiotekniikanyleistä tuntemusta.
Tämä käsikirja pätee STEP 7 -ohjelmiston versiolle 3.0.
FUP vastaa normissa DIN EN-61131-3 ( int. IEC 1131-3) määriteltyä kieltä”toimintakaavio”. STEP 7:n NORM.TAB-tiedoston normitaulukossa on tarkkakuvaus normien täyttymisestä.
(Saksa) (Englanti)
FUP = FBD = ToimintakaaviomuotoKOP = LAD = RelekaaviomuotoAWL = STL = Käskylistamuoto
Ohjelmaesimerkeissä käytetään SIMATIC -lyhennekielivalintaa.
Käsikirjantarkoitus
Käyttäjät
Käsikirjanvoimassaolo
IEC 1131-3:nmukaiset normit
iv C79000-G7000-C402-01
S7-automaatiojärjestelmän tueksi ja konfiguroimiseksi on olemassa laajakäyttäjädokumentointi, joka on tarkoitettu valikoivaan käyttöön. Seuraavienselvitysten tulisi helpottaa käyttäjädokumentoinnin käyttöä.
FUPAWL SCL
CFC / S7
Refere--renssi--käsikirja
Ohjel--mointi--käsikirja
Käyttäjä--käsikirja
GRAPHS7
HiGraph
/234/
/231/
/232/ /250/
/254//252/
Järjestelmäohjelmisto S7-300/400Ohjelmasuunnittelu
Perusohjelmisto S7 ja M7STEP 7
Aapi--nen
/30/
Automaatiojärjestelmä S7-300Yksinkertainen rakenne jaohjelmointi
JärjestelmäohjelmistoS7-300/400Järjestelmä- jastandarditoiminnat
Käyttäjä--käsikirja
/230/
Perusohjelmisto S7-300/400S5-ohjelmien konvertointi
Kielipaketit
Online-apu
Annettu järjestys on ehdotusS7:n ensikäyttäjälle.
Dokumentointi johtaa metodiikkaan.
Hakuteokset ja siksi vain valikoidusti käytettävissä.Dokumentointia täydennetään Online-avulla.
Symboli Merkitys
M7-300/400 -käsi-kirjatLaitteisto
Käsikirja
KOP
/233/ /236/
/251/
/xxx/: kirjallisuusluettelon kirjanumero
/235/
Kuva A-1 Informaatiodokumentointi
Sijoitus S7 300/400informaatiodoku--
mentoinnissa
Esipuhe
vC79000-G7000-C402-01
Taulukko A-1 Informaatiosisältö
Nimi Sisältö
AapinenS7-300 Yksinkertainenrakenne ja ohjelmointi
Aapinen perehdyttää hyvin yksinkertaisesti S7-300/400:n ohjelmoinnin ja rakenteenmetodiikkaan.Se sopii erinomaisesti S7-automaatiojärjestelmän ensikäyttäjälle.
OhjelmointikäsikirjaOhjelmasuunnitteluS7-300/400
Ohjelmointikäsikirja ”Ohjelmasuunnittelu S7-300/400” antaa perustavaa laatua olevaatietoa S7-CPU:n käyttäjäohjelman ja käyttöjärjestelmän rakenteesta. S7-300/400:n ensi-käyttäjän tulisi käyttää sitä hankkiakseen yleiskuvan ohjelmointimetodiikasta ja raken-taakseen käyttäjäohjelmansa suunnitelun sen varaan.
ReferenssikäsikirjaJärjestelmä- ja standar-ditoiminnat S7-300/400
S7-CPUt sisältävät käyttöjärjestelmään integroituja järjestelmätoimintoja ja organisaa-tioyksiköitä, joita voidaan käyttää ohjelmoinnissa. Käsikirja antaa yleiskuvan S7:ssäkäytettävistä järjestelmätoiminnoista, organisaatioyksiköistä ja ladattavista standarditoi-minnoista sekä -- hakutietona -- yksityiskohtaisia liitäntäpistekuvauksia käyttäjäohjel-maan soveltamiseksi.
KäyttäjäkäsikirjaSTEP 7
”STEP 7” -käyttäjäkäsikirjassa selitetään STEP 7 -automaatio-ohjelmiston periaatteellis-ta käyttöä ja toimintoja. STEP 7:n ensikäyttäjälle sekä myös STEP 5:n tuntijalle antaakäsikirja yleiskuvan S7-300/400:n menettelytavoista konfiguroitaessa, ohjelmoitaessa jakäyttöönotettaessa. SW:llä työskenneltäessä voidaan päästä valikoiden Online-apuun,josta saa tukea SW-käytön yksityiskohtaisissa kysymyksissä.
KäyttäjäkäsikirjaS5-ohjelmienkonvertointi
Käyttäjäkäsikirjaa ”S5-ohjelmien konvertointi” tarvitaan, mikäli halutaan konvertoidajo olemassa olevia S5-ohjelmia, jotta nämä saataisiin toimimaan S7-CPU:ssa. Käsikirjaantaa yleiskuvan menettelytavoista ja konvertterin käytöstä; konvertteritoimintojenyksityiskohtainen käyttö selviää Online-avusta. Online-avusta saa myös käytettävienkonvertoitujen S7-toimintojen liitäntäpistekuvauksen.
KäsikirjatAWL, KOP, FUP, SCL1
Kielipakettien AWL, KOP FUP ja SCL -käsikirjoissa on sekä käyttöohjeet että kieliku-vaus. S7-300/400:n ohjelmointiin tarvitaan vain yhtä näistä kielistä, mutta tarvittaessavoidaan projektissa yhdistää kieliä. Käytettäessä kieliä ensimmäistä kertaa suositellaanperehtymistä ohjelman laadintamenetelmiin käsikirjan avulla.
SW:llä työskenneltäessä voidaan käyttää Online-apua, joka vastaa kaikkiin yksityiskoh-taisiin kysymyksiin koskien asianomaisten editorien/käännösohjelmien käyttöä.
KäsikirjatGRAPH1 , HiGraph1,CFC1
GRAPH, HiGraph, CFC -kielet tarjoavat lisäksi mahdollisuuksia askelohjausten, tilaoh-jausten tai graafisten yksikkökytkentöjen toteuttamiseen. Käsikirjoissa on sekä käyt-töohje että kielikuvaus. Käytettäessä kieliä ensimmäistä kertaa suositellaan perehtymistäohjelman laadintamenetelmiin käsikirjan avulla. SW:llä työskenneltäessä voidaan käyt-tää lisäksi Online-apua (poikkeuksena HiGraph), joka vastaa kaikkiin yksityiskohtaisiinkysymyksiin koskien asianomaisten editorien/käännösohjelmien käyttöä.
1 S7-300/400:n optiopaketit järjestelmäohjelmistolle
Oheiset käsikirjat ovat englannin-- ja saksankielisiä.
Esipuhe
vi C79000-G7000-C402-01
Tämä FUP -käsikirja edellyttää teoreettista tietoa S7-ohjelmista, jota saaohjelmointikäsikirjasta /234/ . Koska kielipaketit perustuvat STEP 7-perus-ohjelmistoon, tulisi käyttäjällä olla jo tietoa perusohjelmiston käsittelystä,jota löytyy käyttäjäkäsikirjasta /231/.
Käsikirja on jaoteltu seuraavien aihepiirien mukaisesti.
S Osassa 1 selitetään editorin käyttöä.
S Osassa 2 referenssiosa kaikista FUP-operaatioista ja se on ajalteltuhakuteokseksi.
Kuvatun ohjelmiston käyttöä koskevissa kysymyksissä, joihin ei löydyvastausta paperidokumentoinnista eikä Online-avusta, tulee kääntyäSiemensin puoleen.
Lisäksi on käytettävissä Hotline -puhelinpalvelu:
Puh. (09) 5105 3888
Helpottaaksemme SIMATIC S7 -automaatiojärjestelmään tutustumista,pidämme kursseja tästä aiheesta.
Puh. 09 -- 51051 / Simatic--kurssit.
Tämän käsikirjan käyttäjäosassa ei ole mitään yksityiskohtaisia ohjeitayksittäisine vaiheineen, vaan se selventää periaatteellisia menettelytapoja.Tarkempaa tietoa ohjelmistodialogeista ja niiden käsittelystä löytyy ainaOnline-avusta.
Hakuapukäsikirjaan
Muu tuki
Eritysiviittaus
Esipuhe
2-1C79000-G7000-C402-01
Ohjelmointiesimerkkejä
Kappale Sisältö Sivu
2.1 Yleiskuva 2-2
2.2 Bittilukitusoperaatiot 2-3
2.3 Aikaoperaatiot 2-7
2.4 Laskenta- ja vertailuoperaatiot 2-11
2.5 Aritmeettiset operaatiot kokonaisluvuilla 2-13
2.6 Sanalukitusoperaatiot 2-14
Yleiskuvakappaleesta
2
2-2 C79000-G7000-C402-01
2.1 Yleiskuva
Jokainen tässä käsikirjassa kuvattu FBD/FUP-operaatio suorittaa määrätyntoiminnan. Näitä operaatioita yhdistelemällä voidaan ohjelmassa suorittaamitä erilaisimpia automatisointitehtäviä. Tässä kappaleessa on muutamiaesimerkkejä FUP-operaatioiden käytännön sovelluksista:
S Kuljetinhihnan ohjaus bittilukitusoperaatioilla.
S Kuljetinhihnan kulkusuunnan toteaminen bittilukitusoperaatioilla.
S Tahti-impulssin generointi aikaoperaatioilla.
S Varastoalueen valvonta laskenta- ja vertailuoperaatioilla.
S Laskenta kokonaislukujen aritmeettisilla operaatioilla.
S Ajan asetus uunin lämmitystä varten.
Tämän kappaleen esimerkeissä käytetään seuraavia operaatioita:
S 16 bitin JA- lukitus (WAND_W)
S 16 bitin TAI- lukitus (WOR_W)
S Taaksepäinlaskenta (Z_RUECK)
S Eteenpäinlaskenta ( Z_VORW )
S Lähdön nollaus (R)
S Lähdön asetus (S)
S Reunan 0� 1 kysely (P) (pulssin muodostus)
S Kokonaislukujen yhteenlasku (16 bittiä) (ADD_I)
S Kokonaislukujen jakolasku (16 bittiä) (DIV_I)
S Kokonaislukujen kertolasku (16 bittiä) (MUL_I)
S Kokonaislukujen vertailu (16 bittiä) (CMP_I>=)
S Kokonaislukujen vertailu (16 bittiä) (CMP_I<=)
S JA-lukitus
S Osoitus (=)
S TAI-lukitus
S Hyppy, kun 0 (JMPN)
S Hyppy takaisin (RET)
S Arvon siirto (MOVE)
S Ajan käynnistys pidennettynä impulssina (SV)
Käytännönsovellukset
Käytetyt operaatiot
Ohjelmointiesimerkkejä
2-3C79000-G7000-C402-01
2.2 Bittilukitusoperaatiot
Kuva 2-1 esittää sähköisesti käynnistettävää kuljetinhihnaa. Hihnanalkupäässä on kaksi painiketta, S1 START’ia ja S2 STOP’ia varten. Hihnanloppupäässä on myös kaksi kytkintä, S3 START’ia ja S4 STOP’ia varten.Hihna voidaan käynnistää tai pysäyttää molemmista päistä. Lisäksi S5--anturipysäyttää hihnan, kun jokin esine on tullut hihnan päähän.
Kuljetinhihnan ohjaamiseksi voidaan kirjoittaa ohjelma kuvan 2-1 perusteellaesittämällä kuljetinhihnajärjestelmän eri komponentit symbolien avulla.Mikäli päädytään tähän menetelmään, on laadittava signaalilista jamääriteltävä valitut symbolit suhteessa asetettuihin arvoihin (katso taulukko2-1). Symbolit määritellään symbolitaulukossa (katso käyttäjäkäsikirja/231/).
Taulukko 2-1 Kuljetinhihnajärjestelmän symbolisen ohjelmoinnin elementit
JärjestelmäkomponentitAbsoluuttinen
nimikeSymboli Symbolitaulukko
Käynnistyskytkin E 1.1 S1 E 1.1 S1
Pysäytyskytkin E 1.2 S2 E 1.2 S2
Käynnistyskytkin E 1.3 S3 E 1.3 S3
Pysäytyskytkin E 1.4 S4 E 1.4 S4
Anturi E 1.5 S5 E 1.5 S5
Moottori A 4.0 MOOT_ON A 4.0 MOOT_ON
MOOT_ON
S1S2
` Start` Stop
S3S4
` Start` Stop
Anturi S5
Kuva 2-1 Kuljetinhihnajärjestelmä
Kuljetinhihnanohjaus
Symbolinenohjelmointi
Ohjelmointiesimerkkejä
2-4 C79000-G7000-C402-01
Kuljetinhihnan ohjaamiseksi voidaan kirjoittaa ohjelma kuvan 2-1 perusteellaesittämällä kuljetinhihnajärjestelmän eri komponentit absoluuttisten arvojenavulla (katso taulukko 2-2). Kuvassa 2-2 on FUP-ohjelma liukuhihnanohjaamiseksi.
Taulukko 2-2 Kuljetinhihnajärjestelmän absoluuttisen ohjelmoinnin elementit
Järjestelmäkomponentit Absoluuttinen nimike
Käynnistyskytkin E 1.1
Pysäytykytkin E 1.2
Käynnistyskytkin E 1.3
Pysäytyskytkin E 1.4
Anturi E 1.5
Moottori A 4.0
A 4.0E 1.1
E 1.3
Virtapiiri 1: Moottori käynnistetään painamalla jompaakumpaa käynnistyskytkintä.
Virtapiiri 2: Moottori pysäytetään painamalla jompaakumpaa pysäytyskytkintä tai kysymällä hihnanpäässä olevaa anturia.
A 4.0
E 1.2
E 1.4
E 1.5
>=1
S
>=1
R
Kuva 2-2 Kuljetinhihnan ohjauksen toimintakaavio
Absoluuttinenohjelmointi
Ohjelmointiesimerkkejä
2-5C79000-G7000-C402-01
Kuvassa 2-3 on kuljetinhihna, joka on varustettu kahdella valokennolla (LS 1und LS 2). Valokennojen tulee havaita, mihin suuntaan hihnalla oleva pakettiliikkuu.
Kuvassa 2-3 esitetyn kuljetinhihnajärjestelmän suuntailmoituksenaktivoimiseksi voidaan kirjoittaa ohjelma esittämällä kuljetusjärjestelmän erikomponentit -- mukaanlukien suunnan havaitsemiseen tarkoitetut valokennot-- symbolien avulla. Mikäli päädytään tähän menetelmään, on laadittavasymbolilista määrittämällä valitut symbolit suhteessa absoluuttisiin arvoihin(katso taulukko 2-3). Symbolit määritellään symbolitaulukossa (katsokäyttäjäkäsikirja /231/).
Taulukko 2-3 Symbolisen ohjelmoinnin suunnanhavainnointielementit
JärjestelmäkomponentitAbsoluutt.nimike
Symboli Symbolitaulukko
Valokenno 1 E 0.0 VK1 E 0.0 VK1
Valokenno 2 E 0.1 VK2 E 0.1 VK2
Ilmoitus liikkeestä oikealle A 4.0 OIKEA A 4.0 OIKEA
Ilmoitus liikkeestä vasemmalle A 4.1 VASEN A 4.1 VASEN
Tahtimerkkeri 1 M 0.0 TM1 M 0.0 TM1
Tahtimerkkeri 2 M 0.1 TM2 M 0.1 TM2
Kuvassa 2-3 esitetyn kuljetinhihnajärjestelmän suuntailmoituksenohjaamiseksi voidaan kirjoittaa ohjelma esittämällä suunnan havaitsemiseentarkoitetut valokennot absoluuttisilla arvoilla (katso taulukko 2-4). Kuva 2-4esittää kuljetinhihnajärjestelmän suuntailmoituksen ohjaamiseksi tarkoitettuaFUP-ohjelmaa.
VK1VK2 A 4.1A 4.0
Kuva 2-3 Valokennoilla varustettu kuljetinhihnajärjestelmä suunnan havainnointiavarten
Kuljetinhihnansuunnanhavaitseminen
Symbolinenohjelmointi
Absoluuttinenohjelmointi
Ohjelmointiesimerkkejä
2-6 C79000-G7000-C402-01
Taulukko 2-4 Abaoluuttisen ohjelmoinnin suunnanhavaintoelementit
Järjestelmäkomponentit Absoluuttinen nimike
Valokenno 1 E 0.0
Valokenno 2 E 0.1
Ilmoitus liikkeestä oikealle A 4.0
Ilmoitus liikkeestä vasemmalle A 4.1
Tahtimerkkeri 1 M 0.0
Tahtimerkkeri 2 M 0.1
A 4.1E 0.0
Virtapiiri 1: Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (positiivinen reuna) tulon E 0.1 signaalitilanollessa samanaikaisesti ”0”, liikkuu hihnalla oleva paketti silloin vasemmalle.
E 0.1
M 0.0
Virtapiiri 2: Mikäli tulon E 0.1 signaalitila vaihtuu ”0”:sta ”1”:ksi (positiivinen reuna) tulon E 0.0 signaalitilanollessa samanaikaisesti ”0”, liikkuu hihnalla oleva paketti silloin oikealle.
E 0.1
Virtapiiri 3: Mikäli toinen valokennosignaali on poikki, on paketti valokennojen välissä. Suunnanilmaisinkytketään pois päältä.
E 0.0
E 0.1
A 4.1
P &
S
A 4.0
E 0.0
M 0.1
P &
S
&A 4.0
R
R
Kuva 2-4 Toimintakaavio kuljetinhihnan suunnan havaitsemiseksi
Ohjelmointiesimerkkejä
2-7C79000-G7000-C402-01
2.3 Aikaoperaatiot
Jaksottain toistuvan signaalin tuottamiseksi voidaan käyttää tahtianturia taivilkkurelettä. Tahtiantureita käytetään usein hälytysjärjestelmissä, jotkaohjaavat näyttövalojen vilkkumista.
Mikäli käytetään S7-300:aa, voidaan tahtianturitoiminta toteuttaa käyttämälläaikaohjattua käsittelyä erityisissä organisaatioyksiköissä. SeuraavassaFUP-ohjelmassa oleva esimerkki selvittää aikatoimintojen käyttöä tahdingeneroimiseksi.
Seuraavassa esimerkissä on selitetty, miten vapaasti toimiva tahtianturitoteutetaan ajan avulla (pulssin kestosuhde 1:1). Taajuus on jaettu arvoihin,jotka on esitetty taulukossa 2-5.
Tahtianturi
Ohjelmointiesimerkkejä
2-8 C79000-G7000-C402-01
MW100
T 1
S5T#250MS
M0.2
Virtapiiri 1: Kun ajan T1 signaalitila on ”0”, ladataan 250 ms:n aika--arvo T1:een ja käynnistetään T1pidennettynä impulssina.
Virtapiiri 4: Timerin T1 jokaisen ajan jälkeen lisätään merkkerisanaa 100 ”1”:llä.
ADD_I
IN1
ENO
EN
IN2
OUTMW100
1
MW100
Virtapiiri 5: Lähtöjen A 12.0 ... A 13.7 eri tahtitaajuudet voidaan näyttää operaatiolla MOVE.
MOVE
IN ENO
EN OUT AW12
M001
Virtapiiri 2: Timerin tila välitallennetaan apumerkkeriin.
M0.2
TW
SV
=T 1
??.?
??.?
&
M001
Virtapiiri 3: Mikäli ajan T1 signaalitila on yhtäsuuri kuin ”1”, hyppää silloin hyppymerkkiin M001.
JMP
&
M0.2 &
Kuva 2-5 Tahdin muodostamisen toimintakaavio
Ohjelmointiesimerkkejä
2-9C79000-G7000-C402-01
Ajan T1 signaalitilakysely antaa kuvassa 2-6 lukitustuloksen (LUK: katsokappale 6.3).
0
1
250 ms
Kuva 2-6 Käännetyn tuloparametrin UN T1 LUK tahtiaikaesimerkissä
Aika käynnistetään uudelleen heti ajan kuluttua. Siksi käskyn UN M0.2suorittama signaalitilakysely näyttää vain lyhyesti signaalitilan ”1”.
Kuvassa 2-7 on esitetty käännetty (nollattu) LUK-bitti.
0
1
250 ms
Kuva 2-7 Ajan T1 käännetty LUK-bitti tahtiaikaesimerkissä
LUK-bitti on ”0” joka 250 ms. Hyppyä ei huomioida ja merkkerisananMW100 sisältöä lisätään ”1”:llä.
Taulukossa 2-5 on merkkeritavujen MB101 ja MB 100 yksittäisillä biteilläsaatavat taajuudet. Kuvan 2-5 FUP-kaavion virtapiiristä 5 nähdään, mitenlähtöjen A 12.0 ... A 13.7 eri tahtitaajuudet voidaan näyttää operaatiollaMOVE.
Taulukko 2-5 Tahtiaikaesimerkin taajuudet
MB101:n/MB100:n bitit
Taajuus hertseinä Kesto
M 101.0 2.0 0.5 s (250 ms päällä/250 ms pois)
M 101.1 1.0 1 s (0.5 s päällä/0.5 s pois)
M 101.2 0.5 2 s (1 s päällä/1 s pois)
M 101.3 0.25 4 s (2 s päällä/2 s pois)
M 101.4 0.125 8 s (4 s päällä/4 s pois)
M 101.5 0.0625 16 s (8 s päällä/8 s pois)
M 101.6 0.03125 32 s (16 s päällä/16 s pois)
M 101.7 0.015625 64 s (32 s päällä/32 s pois)
M 100.0 0.0078125 128 s (64 s päällä/64 s pois)
M 100.1 0.0039062 256 s (128 s päällä/128 s pois)
M 100.2 0.0019531 512 s (256 s päällä/256 s pois)
M 100.3 0.0009765 1024 s (512 s päällä/512 s pois)
Tietyn taajuudensaaminen
Ohjelmointiesimerkkejä
2-10 C79000-G7000-C402-01
Taulukko 2-5 Tahtiaikaesimerkin taajuudet
MB101:n/MB100:n bitit
KestoTaajuus hertseinä
M 100.4 0.0004882 2048 s (1024 s päällä/1024 s pois)
M 100.5 0.0002441 4096 s (2048 s päällä/2048 s pois)
M 100.6 0.000122 8192 s (4096 s päällä/4096 s pois)
M 100.7 0.000061 16384 s (8192 s päällä/8192 s pois)
Taulukossa 2-6 on merkkeritavun MB101 bittien signaalitilat. Kuva 2-8esittää merkkeribitin M 101.1 signaalitilaa.
Taulukko 2-6 Merkkeritavun MB101 bittien signaalitilat
SykliMerkkeritavun MB101 bittien signaalitilat Aika--
arvoSykli7 6 5 4 3 2 1 0
arvoms:na
0 0 0 0 0 0 0 0 0 250
1 0 0 0 0 0 0 0 1 250
2 0 0 0 0 0 0 1 0 250
3 0 0 0 0 0 0 1 1 250
4 0 0 0 0 0 1 0 0 250
5 0 0 0 0 0 1 0 1 250
6 0 0 0 0 0 1 1 0 250
7 0 0 0 0 0 1 1 1 250
8 0 0 0 0 1 0 0 0 250
9 0 0 0 0 1 0 0 1 250
10 0 0 0 0 1 0 1 0 250
11 0 0 0 0 1 0 1 1 250
12 0 0 0 0 1 1 0 0 250
M 101.1
250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s
T
Zeit01
Taajuus= 1T= 1
1 s= 1Hz
0
Kuva 2-8 MB101:n (M 101.1) bitin 1 signaalitila
Ohjelmointiesimerkkejä
2-11C79000-G7000-C402-01
2.4 Laskenta- ja vertailuoperaatiot
Kuva 2-9 esittää järjestelmää, jossa on kaksi kuljetinhihnaa ja niiden välissäväliaikainen varastoalue. Kuljetinhihna 1 kuljettaa paketit varastoalueelle.Kuljetinhihnan 1 päässä oleva varastoalueen viereinen valokenno ilmoittaa,kuinka monta pakettia varastoalueelle tulee. Kuljetinhihna 2 kuljettaa paketitkyseiseltä väliaikaiselta varastoalueelta lastausrampille, mistä ne lastataanrekkaan kuljetettavaksi asiakkaalle. Kuljetinhihnan 2 päässä olevavarastoalueen viereinen valokenno ilmoittaa, kuinka monta pakettiavarastoalueelta on tulossa lastausrampille.
Näyttökonsoli, jossa on viisi lamppua ilmoittaa, kuinka täynnä väliaikainenvarastoalue on. Kuva 2-10 esittää FUP-ohjelmaa, joka aktivoi näyttökonsolinnäyttölamput.
Varastoaluetyhjä
Näyttökonsoli
Varastoaluetäynnä
Varastoalue90%:sti täynnä
Varastoalue50%:sti täynnä
Varastoalueei tyhjä
tulevat paketit lähtevätpaketit
E 12.0 E 12.1
Kuljetinhihna 2Kuljetinhihna 1
Valokenno 1 Valokenno 2
Väliaikainenvarastoalue100:lle paketille
(A 12.0) (A 12.1) (A 15.2) (A 15.3) (A 15.4)
Kuva 2-9 Varastoalueen laskurit ja vertailijat
Varaston laskuritja vertailijat
Ohjelmointiesimerkkejä
2-12 C79000-G7000-C402-01
MW200
Virtapiiri 2: A12.0 näyttää ”varastoalue ei ole tyhjä”.
Virtapiiri 3: Jos 50 on pienempi tai yhtäsuuri kuin laskenta--arvo (tai jos aktuelli laskurilukema onsuurempi tai yhtäsuuri kuin 50), kytketyy ilmoituksen ”varastoalue 50 %:sti täynnä” näyttölamppupäälle.
CMP
IN150 A15.2
IN2
Virtapiiri 4: Jos laskenta--arvo on suurempi tai yhtäsuuri kuin 90, kytkeytyy ilmoituksen ”varastoalue90 %:sti täynnä” näyttölamppu päälle.
CMP
IN1
>= I
90
MW200 A15.3
IN2
<= I
Virtapiiri 5: Laskenta--arvon ollessa suurempi tai yhtäsuuri kuin 100, kytkeytyy ilmoituksen ”varastoaluetäynnä” näyttölamppu päälle.
CMP
IN1
>= I
100
MW200 A15.4
IN2
A 12.1
A12.0
=
=
=
=
Virtapiiri1: Laskuri Z1 laskee eteenpäin tulon ZV signaalireunan muuttuessa ”0”:sta ”1”:ksi jataaksepäin tulon ZR signaalireunan muuttuessa ”0”:sta ”1”:ksi . Tulon S signaalireunan muuttuessa”0”:sta ”1”:ksi asetetaan laskenta--arvo ZW:n arvoon. Tulon R signaalireunan muuttuessa ”0”:sta”1”:ksi asetetaan laskenta--arvo ”0”:ksi. Z1:n aktuelli laskenta--arvo on aina tallennettuna MW200:ssa.A12.1 näyttää “varastoalue ei ole tyhjä”.
LASKURI
ZR
Q
ZV
S
ZW
DUAL
R
DEZ
Z1
MW210
MW200
=
A12.1
E12.0
E12.1
E12.2
C#10
E12.3
&
Kuva 2-10 Toimintakaavio näyttölamppujen aktivoimiseksi näyttökonsolissa
Ohjelmointiesimerkkejä
2-13C79000-G7000-C402-01
2.5 Aritmeettiset operaatiot kokonaisluvuilla
Seuraavassa ohjelmaesimerkissä selitetään, miten kokonaislukujen kolmellaaritmeettisella operaatiolla ja operaatioilla L ja T toteutetaan seuraava yhtälö:
MW4=(EW0+DBW3)× 15
MW0
DB1
Virtapiiri 1: Tiedostoyksikön DB1 avaus
Virtapiiri 2: Laske yhteen tulosana EW0 ja globaalidatasana DBW3 (tiedostolohkon on oltavamääritelty ja avattu). Lataa summa merkkerisanaan MW100. Kerro MW100 15:llä. Tulos tallennetaanmerkkerikaksoissanaan MW102. Jaa MW102 MW0:lla. Tulos tallennetaan MW4:ään. Niin kauan kuinkaikki tulokset ovat kyseisen operaation sallitulla alueella, siirtää ENO signaalitilan ”1” seuraavaankehykseen.
ADD_I
IN1
ENO
EN
IN2
OUT
DBW3
EW0 MW100MUL_I
IN1
ENO
EN
IN2
OUTMW100
15
MW102DIV_I
IN1
ENO
EN
IN2
OUTMW102
MW0
MW4
AUKI
??.?
Kuva 2-11 Toimintakaavio aritmeettiset operaatiot kokonaisluvuilla
Yhtälönlaskeminen
Ohjelmointiesimerkkejä
2-14 C79000-G7000-C402-01
2.6 Sanalukitusoperaatiot
Kuvassa 2-12 esitetyn uunin käyttäjä käynnistää uunin lämmityksenpainamalla käynnistyskytkintä. Lämmitysajan keston hän voi päättää kuvassanäkyvillä digitaalisilla esivalintakytmimillä. Arvo, jonka hän asettaa,ilmoittaa sekunnit binäärikoodatussa desimaalimuodossa (BCD). Taulukossa2-7 on lämmitysjärjestelmän komponentit sekä vastaavat absoluuttisetosoitteet, joita on käytetty kuvan 2-12 liitteenä olevassa ohjelmaesimerkissä.
Taulukko 2-7 Lämmitysjärjestelmäkomponentit ja niiden vastaavat absoluuttisetosoitteet
Järjestelmäkomponentit FUP-ohjelman absoluuttinen osoite
Käynnistyskytkin E 0.7
Digit. esivalintakytkin ykkösille E 1.0 ... E 1.3
Digit. esivalintakytkin kymmenille E 1.4 ... E 1.7
Digit. esivalintakytkin sadoille E 0.0 ... E 0.3
Lämmitystapahtuman aloitus A 4.0
Uuni
1 0 0 1 0 0 0 1X X X X 0 0 0 1
LämpöA 4.0
Digitaalinen esivalintakytkin BCD-lukujen asettamiseksi
EW0
4 4 4
Käynnistyskytkin E 0.7
7....
EB1EB0 Tavut
Bitit7......0 ...0
Kuva 2-12 Tulojen ja lähtöjen käyttö aikarajoitetussa lämmityksessä
Uunin lämmitys
Ohjelmointiesimerkkejä
2-15C79000-G7000-C402-01
T 1
A 4.0
Virtapiiri 1: Aloita lämmitys ajan juostessa. Operaatio hyppy takaisin päättää käsittelyn tähän ajanjuostessa.
Virtapiiri 3: Maskaa tulobitit E 0.4 ... E 0.7 (ts. aseta ne takaisin ”0”:ksi). Näitä esivalintakytkitulojenbittejä ei käytetä. Esivalintakytkitulojen 16 bittiä lukitaan W#16#0FFF:llä 16 bitin JA--lukitusoperaationjälkeen. Tulos ladataan merkkerisanaan MW1. Aika--arvon asettamiseksi sekunneittain, lukitaanesivalinta W#16#2000:lla 16 bitin TAI--lukitusoperaation jälkeen. Bitti 13 asetetaan ”1”:ksi, bitti 12takaisin ”0”:ksi.
Virtapiiri 4: Käynnistä aika T1 pidennettynä impulssina, kun kytkintä painetaan. Merkkerisana MW2ladataan esiasetuksena (ym. lukitusoperaation johtamana).
WAND_W
IN1
ENO
EN
IN2
OUT
W#16#FFF
EW0 MW1
WOR_W
IN1
ENO
EN
IN2
OUTMW1
W#16#2000
MW2
E 0.7
MW2
Virtapiiri 2: Operaatio hyppy takaisin päättää käsittelyn tähän ajan juostessa.
=
T 1 RET
T 1
TW
SV
??.?
&
&
&
Kuva 2-13 Uunin lämmityksen toimintakaavio
Ohjelmointiesimerkkejä
2-16 C79000-G7000-C402-01
Ohjelmointiesimerkkejä
1-1C79000-G7000-C402-01
Aakkosellinen operaatiolista
Kappale Sisältö Sivu
A.1 Englanninkielinen selityslista A--1
A.2 Kansainvälinen (englanninkielinen) selityslista vastaavinsaksankielisin selityksin
A--6
Yleiskuvakappaleesta
1
1-2 C79000-G7000-C402-01
1.1 Englanninkielinen selityslista
Taulukossa A-1 on aakkosellinen FBD/FUP-operaatiolista kansainvälisine(IEC) (englanninkielisine) selityksineen, siihen kuuluvine mnemoniikkoineenja sivu, jolla kyseinen operaatio selitetään (SIMATIC--muotoisena).
Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla
Selitys Kansainvälinenmnemoniikka
Sivu
Add Double Integer ADD_DI 11-3
Add Integer ADD_I 11-2
Add Real ADD_R 12-3
Address Negative Edge Detection NEG 8-31
Address Positive Edge Detection POS 8-30
AND & 8-3
Assign = 8-9
Assign a Value MOVE 14-2
BCD to Double Integer BCD_DI 14-6
BCD to Integer BCD_I 14-3
Call FB from Box CALL_FB 20-4
Call FC from Box CALL_FC 20-4
Call FC SFC (without parameters) CALL 20-2
Call System FB from Box CALL_SFB 20-4
Call System FC from Box CALL_SFC 20-4
Ceiling CEIL 14-16
Compare Double Integer (>, <, ==, <>, <=, >=) CMP >=D 13-3
Compare Integer (>, <, ==, <>, <=, >=) CMP >=I 13-2
Compare Real (>, <, ==, <>, <=, >=) CMP >=R 13-4
Divide Double Integer DIV_DI 11-9
Divide Integer DIV_I 11-8
Divide Real DIV_R 12-6
Double Integer to BCD DI_BCD 14-7
Double Integer to Real DI_R 14-8
Down Counter (laskentaoperaatio) S_CD 10-7
Down Counter (bittilukitusoperaatio) CD 8-17
Exception Bit BR Memory BR 19-3
Exception Bit Overflow OV 19-7
Exception Bit Overflow Stored OS 19-8
Exception Bit Unordered UO 19-6
Exclusive OR XOR 8-6
Extended Pulse S5 Timer (aikaoperaatio) S_PEXT 9-7
Aakkosellinen operaatiolista
1-3C79000-G7000-C402-01
Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoa
Selitys SivuKansainvälinenmnemoniikka
Extended Pulse Timer (bittilukitusoperaatio) SE 8-20
Floor FLOOR 14-17
Form the Absolute Value of a Floatingpoint Number ABS 12-8
Form the Arc Cosine of a Floatingpoint Number ACOS 12-13
Form the Arc Sine of a Floatingpoint Number ASIN 12-13
Form the Arc Tangent of a Floatingpoint Number ATAN 12-13
Form the Cosine of a Floatingpoint Number COS 12-13
Form the Exponential Value of a Floatingpoint Number EXP 12-12
Form the Natural Logarithm of a Floatingpoint Number LN 12-11
Form the Sine of a Floatingpoint Number SIN 12-13
Form the Square of a Floatingpoint Number SQR 12-9
Form the Square Root of a Floatingpoint Number SQRT 12-10
Form the Tangent of a Floatingpoint Number TAN 12-13
Insert Binary Input ------| 8-7
Integer to BCD I_BCD 14-4
Integer to Double Integer I_DI 14-5
Jump JMP 18-3
Jump-If-Not JMPN 18-5
Master Control Relay Activate MCRA 20-10
Master Control Relay Deactivate MCRD 20-10
Master Control Relay Off MCR> 20-13
Master Control Relay On MCR< 20-13
Midline Output # 8-10
Multiply Double Integer MUL_DI 11-7
Multiply Integer MUL_I 11-6
Multiply Real MUL_R 12-5
Negate Binary Input ------o| 8-8
Negate Real Number NEG_R 14-13
Negative RLO Edge Detection N 8-29
Off-Delay S5 Timer (aikaoperaatio) S_OFFDT 9-13
Off-Delay Timer (bittilukitusoperaatio) SF 8-26
On-Delay S5 Timer (aikaoperaatio) S_ODT 9-9
On-Delay Timer (bittilukitusoperaatio) SD 8-22
ONEs Complement Double Integer INV_DI 14-10
ONEs Complement Integer INV_I 14-9
Open Data Block: DB or DI OPN 17-2
OR >=1 8-4
Aakkosellinen operaatiolista
1-4 C79000-G7000-C402-01
Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoa
Selitys SivuKansainvälinenmnemoniikka
Positive RLO Edge Detection P 8-28
Pulse S5 Timer (aikaoperaatio) S_PULSE 9-5
Pulse Timer (bittilukitusoperaatio) SP 8-18
Reset Output R 8-13
Reset_Set Flip Flop RS 8-33
Result Bit Equal 0 ==0 1-6
Result Bit Greater Equal 0 >=0 19-4
Result Bit Greater Than 0 >0 19-4
Result Bit Less Equal 0 <=0 19-4
Result Bit Less Than 0 <0 19-4
Result Bit Not Equal 0 <>0 19-4
Retentive On-Delay S5 Timer (aikaoperaatio) S_ODTS 9-11
Retentive On-Delay Timer (bittilukitusoperaatio) SS 8-24
Return RET 20-8
Return Fraction Double Integer MOD_DI 11-10
Rotate Left Double Word ROL_DW 16-11
Rotate Right Double Word ROR_DW 16-12
Round to Double Integer ROUND 14-14
Save RLO to BR Memory SAVE 8-11
Set Output S 8-12
Set Counter Value SC 8-14
Set_Reset Flip Flop SR 8-32
Shift Left Double Word SHL_DW 16-4
Shift Left Word SHL_W 16-3
Shift Right Double Integer SHR_DI 16-9
Shift Right Double Word SHR_DW 16-6
Shift Right Integer SHR_I 16-8
Shift Right Word SHR_W 16-5
Subtract Double Integer SUB_DI 11-5
Subtract Integer SUB_I 11-4
Subtract Real SUB_R 12-4
Truncate Double Integer Part TRUNC 14-15
TWOs Complement Double Integer NEG_DI 14-12
TWOs Complement Integer NEG_I 14-11
Up Counter (laskentaoperaatio) S_CU 10-5
Up Counter (bittilukitusoperaatio) CU 8-16
Up-Down Counter S_CUD 10-3
Aakkosellinen operaatiolista
1-5C79000-G7000-C402-01
Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen,mnemoniikalla, jatkoa
Selitys SivuKansainvälinenmnemoniikka
(Word) And Double Word WAND_DW 15-4
(Word) And Word WAND_W 15-3
(Word) Exclusive Or Double Word WXOR_DW 15-8
(Word) Exclusive Or Word WXOR_W 15-7
(Word) Or Double Word WOR_DW 15-6
(Word) Or Word WOR_W 15-5
Aakkosellinen operaatiolista
1-6 C79000-G7000-C402-01
1.2 Kansainvälinen IEC (englanninkielinen) selityslista vastaavin(Simatic) saksankielisin selityksin
Taulukossa A-1 on aakkosellinen FBD/FUP-operaatiolista kansainvälisine(IEC) (englanninkielisine) selityksineen ja saksankielisine SIMATIC--vas-taavuuksineen ja sivu, jolla kyseinen operaatio selitetään.
Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen
Kuvaus SIMATIC-mnemoniikka suomeksi Sivu
Add Double Integer Kokonaislukujen yhteenlasku (32 bittiä) 11-3
Add Integer Kokonaislukujen yhteenlasku (16 bittiä) 11-2
Add Real Liukulukujen yhteenlasku 12-3
Address Negative Edge Detection Signaalireunan 1� 0 kysely (pulssin teko) 8-31
Address Positive Edge Detection Signaalireunan 0� 1 kysely (pulssin teko) 8-30
AND JA-lukitus 8-3
Assign Osoitus 8-9
Assign a Value Arvon siirto 14-2
BCD to Double Integer BCD-luvun muunto kokonaisluvuksi (32 bittiä) 14-6
BCD to Integer BCD-luvun muunto kokonaisluvuksi (16 bittiä) 14-3
Call FB from Box FB:n kutsu 20-4
Call FC from Box FC :n kutsu 20-4
Call FC SFC (without parameters) FC/SFC:n kutsu ilman parametrejä 20-2
Call System FB from Box Järjestelmä FB:n kutsu 20-4
Call System FC from Box Järjestelmä FC-kehyksen kutsu 20-4
Ceiling Seuraavaksi suuremman kokonaisluvunmuodostus liukuluvusta
14-16
Compare Double Integer (>, <, ==, <>, <=, >=) Kokonaislukujen vertailu (32 bittiä) 13-3
Compare Integer (>, <, ==, <>, <=, >=) Kokonaislukujen vertailu (16 bittiä) 13-2
Compare Real (>, <, ==, <>, <=, >=) Liukulukujen vertailu 13-4
Divide Double Integer Kokonaislukujen jakolasku (32 bittiä) 11-9
Divide Integer Kokonaislukujen jakolasku (16 bittiä) 11-8
Divide Real Liukulukujen jakolasku 12-6
Double Integer to BCD Kokonaisluvun (32 bittiä) muunto BCD-luvuksi 14-7
Double Integer to Real Kokonaisluvun (32 bittiä) muunto liukuluvuksi 14-8
Down Counter (laskentaoperaatio) Taaksepäinlaskenta 10-7
Down Counter (bittilukitusoperaatio) Taaksepäinlaskenta 8-17
Exception Bit BR Memory BIE-rekisterin bitti 19-3
Exception Bit Overflow Ylivuodon virhebitti 19-7
Exception Bit Overflow Stored Tallennetun ylivuodon virhebitti 19-8
Exception Bit Unordered Väärän operaation virhebitti 19-6
Exclusive OR EHDOTON-TAI-lukitus 8-6
Aakkosellinen operaatiolista
1-7C79000-G7000-C402-01
Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoa
Kuvaus SivuSIMATIC-mnemoniikka suomeksi
Extended Pulse S5 Timer (aikaoperaatio) Ajan käynnistys pidennettynä impulssina (SV) 9-7
Extended Pulse Timer (bittilukitusoperaatio) Ajan käynnistys pidennettynä impulssina (SV) 8-20
Form the Absolute Value of a Floatingpoint No. Liukuluvun absoluuttiarvon muodostus 12-8
Form the Arc Cosine of a Floatingpoint Number Liukuluvun arkuskosinin muodostus 12-13
Form the Arc Sine of a Floatingpoint Number Liukuluvun arkussinin muodostus 12-13
Form the Arc Tangent of a Floatingpoint No. Liukuluvun arkustangentin muodostus 12-13
Form the Cosine of a Floatingpoint Number Liukuluvun kosinin muodostus 12-13
Form the Exponential Value of a FloatingpointNumber
Liukuluvun eksponenttiarvon muodostus 12-12
Form the Natural Logarithm of a FloatingpointNumber
Liukuluvun luonnollisen logaritsmin muodostus 12-11
Form the Sine of a Floatingpoint Number Liukuluvun sinin muodostus 12-13
Form the Square of a Floatingpoint Number Liukuluvun neliön muodostus 12-9
Form the Square Root of a Floatingpoint No. Liukuluvun neliöjuuren muodostus 12-10
Form the Tangent of a Floatingpoint Number Liukuluvun tangentin muodostus 12-13
Floor Seuraavaksi pinenmmän kokonaisluvunmuodostus liukuluvusta
14-17
Insert Binary Input Binääritulon väliinkirjoitus 8-7
Integer to BCD Kokonaisluvun (16 bittiä) muunto BCD-luvuksi 14-4
Integer to Double Integer Kokonaisluvun (16 bittiä) muuntokokonaisluvuksi (32 bittiä)
14-5
Jump Hyppy, kun 1 18-3
Jump-If-Not Hyppy, kun 0 18-5
Master Control Relay Activate Master Control Relayn alku 20-10
Master Control Relay Deactivate Master Control Relayn loppu 20-10
Master Control Relay Off Master Control Relay pois päältä 20-13
Master Control Relay On Master Control Relay päälle 20-13
Midline Output Konnektori 8-10
Multiply Double Integer Kokonaislukujen kertolasku (32 bittiä) 11-7
Multiply Integer Kokonaislukujen kertolasku (16 bittiä) 11-6
Multiply Real Liukulukujen kertolasku 12-5
Negate Binary Input Binääritulon kääntö 8-8
Negate Real Number Liukuluvun etumerkin vaihto 14-13
Negative RLO Edge Detection Reunan 1� 0 kysely (pulssin teko) 8-29
OR TAI-lukitus 8-4
Off-Delay S5 Timer (aikaoperaatio) Ajan käynnistys päästöhidastuksena (SA) 9-13
Off-Delay Timer (bittilukitusoperaatio) Ajan käynnistys päästöhidastuksena (SA) 8-26
On-Delay S5 Timer (aikaoperaatio) Ajan käynnistys vetohidastuksena (SE) 9-9
On-Delay Timer (bittilukitusoperaatio) Ajan käynnistys vetohidastuksena (SE) 8-22
Aakkosellinen operaatiolista
1-8 C79000-G7000-C402-01
Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoa
Kuvaus SivuSIMATIC-mnemoniikka suomeksi
ONEs Complement Double Integer Kokonaisluvun (32 bittiä) 1n komplementinmuodostus
14-10
ONEs Complement Integer Kokonaisluvun (16 bittiä) 1n komplementinmuodostus
14-9
Open Data Block: DB or DI Tiedostoyksikön avaus 17-2
Positive RLO Edge Detection Reunan 0� 1 kysely (pulssin teko) 8-28
Pulse S5 Timer (aikaoperaatio) Ajan käynnistys impulssina (SI) 9-5
Pulse Timer (bittilukitusoperaatio) Ajan käynnistys impulssina (SI) 8-18
Reset Output Lähdön nollaus 8-13
Reset_Set Flip Flop Flipflopin nollaus/asetus 8-33
Result Bit Equal 0 Tulosbitti yhtäsuuri kuin 0 19-4
Result Bit Greater Equal 0 Tulosbitti suurempi tai yhtäsuuri kuin 0 19-4
Result Bit Greater Than 0 Tulosbitti suurempi kuin 0 19-4
Result Bit Less Equal 0 Tulosbitti pienempi tai yhtäsuuri kuin 0 19-4
Result Bit Less Than 0 Tulosbitti pienempi kuin 0 19-4
Result Bit Not Equal 0 Tulosbitti erisuuri kuin 0 19-4
Retentive On-Delay S5 Timer (aikaoperaatio) Ajan käynnistys tallentavana vetohidastuksena(SS)
9-11
Retentive On-Delay Timer(bittilukitusoperaatio)
Ajan käynnistys tallentavana vetohidastuksena(SS)
8-24
Return Hyppy takaisin 20-8
Return Fraction Double Integer Jakojäännös (32 bittiä) 11-10
Rotate Left Double Word 32 bitin pyöritys vasemmalle 16-11
Rotate Right Double Word 32 bitin pyöritys oikealle 16-12
Round to Double Integer Luvun pyöristys 14-14
Save RLO to BR Memory Lukitustuloksen lataus BIE-rekisteriin 8-11
Set Output Lähdön asetus 8-12
Set Counter Value Laskurin aloitusarvon asetus 8-14
Set_Reset Flip Flop Flipflopin asetus/nollaus 8-32
Shift Left Double Word 32 bitin siirto vasemmalle 16-4
Shift Left Word 16 bitin siirto vasemmalle 16-3
Shift Right Double Integer Kokonaisluvun (32 bittiä) siirto oikealle 16-9
Shift Right Double Word 32 bitin siirto oikealle 16-6
Shift Right Integer Kokonaisluvun (16 bittiä) siirto oikealle 16-8
Shift Right Word 16 bitin siirto oikealle 16-5
Subtract Double Integer Kokonaislukujen vähennyslasku (32 bittiä) 11-5
Subtract Integer Kokonaislukujen vähennyslasku (16 bittiä) 11-4
Subtract Real Liukulukujen vähennyslasku 12-4
Truncate Double Integer Part Kokonaislukujen muodostus 14-15
Aakkosellinen operaatiolista
1-9C79000-G7000-C402-01
Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja(SIMATIC) saksankielisine vastaavuuksinen, jatkoa
Kuvaus SivuSIMATIC-mnemoniikka suomeksi
TWOs Complement Double Integer Kokonaisluvun (32 bittiä) 2n komplementinmuodostus
14-12
TWOs Complement Integer Kokonaisluvun (16 bittiä) 2n komplementinmuodostus
14-11
Up Counter (laskentaoperaatio) Eteenpäinlaskenta 10-5
Up Counter (bittilukitusoperaatio) Eteenpäinlaskenta 8-16
Up-Down Counter Eteenpäin-/taaksepäinlaskenta 10-3
(Word) And Double Word 32 bitin JA--lukitus 15-4
(Word) And Word 16 bitin JA--lukitus 15-3
(Word) Exclusive Or Double Word 32 bitin EHDOTON TAI--lukitus 15-8
(Word) Exclusive Or Word 16 bitin EHDOTON TAI--lukitus 15-7
(Word) Or Double Word 32 bitin TAI--lukitus 15-6
(Word) Or Word 16 bitin TAI--lukitus 15-5
Taulukko 1-3 Tämän käsikirjan SIMATIC-mnemoniikalla ja kansainvälisellä (IEC) mnemoniikalla esitetytFBD/FUP-operaatiot
SIMATIC-kuvaus SIMATIC-mnemoniikka IEC-mnemoniikka Sivu
Tiedostoyksikön avaus AUF OPN 17-2
Taaksepäinlaskenta (laskentaoperaatio) Z_RUECK S_CD 10-7
Taaksepäinlaskenta (bittilukitusoperaatio) ZR CD 8-17
BIE-rekisterin bitti BIE BR 19-3
Eteenpäinlaskenta (laskentaoperaatio) Z_VORW S_CU 10-5
Eteenpäinlaskenta (bittilukitusoperaatio) ZV CU 8-16
Eteenpäin-/taaksepäinlaskenta ZAEHLER S_CUD 10-3
Laskurin lähtöarvon asetus SZ SC 8-14
Ajan käynnistys päästöhidastuksena (SA)(aikaoperaatio)
S_AVERZ S_OFFDT 9-13
Ajan käynnistys päästöhidastuksena (SA)(bittilukitusoperaatio)
SA SF 8-26
Ajan käynnistys vetohidastuksena (SE)(aikaoperaatio)
S_EVERZ S_ODT 9-9
Ajan käynnistys vetohidastuksena (SE)(bittilukitusoperaatio)
SE SD 8-22
Ajan käynnistys impulssina (SI) (aikaoperaatio) S_IMPULS S_PULSE 9-5
Ajan käynnistys impulssina (SI)(bittilukitusoperaatio)
SI SP 8-18
Ajan käynnistys tallentavana vetohidastuksena(SS) (aikaoperaatio)
S_SEVERZ S_ODTS 9-11
Aakkosellinen operaatiolista
1-10 C79000-G7000-C402-01
Taulukko 1-3 Tämän käsikirjan SIMATIC-mnemoniikalla ja kansainvälisellä (IEC) mnemoniikalla esitetytFBD/FUP-operaatiot, jatkoa
SIMATIC-kuvaus SivuIEC-mnemoniikkaSIMATIC-mnemoniikka
Ajan käynnistys tallentavana vetohidastuksena(SS) (bittilukitusoperaatio)
SS SS 8-24
Ajan käynnistys pidennettynä impulssina (SV)(aikaoperaatio)
S_VIMP S_PEXT 9-7
Ajan käynnistys pidennettynä impulssina (SV)(bittilukitusoperaatio)
SV SE 15-5
Aakkosellinen operaatiolista
1-11C79000-G7000-C402-01
Aakkosellinen operaatiolista
Aakkosellinen operaatiolista A
Ohjelmointiesimerkkejä B
Lukujen esitys C
Liitteet
20-18 C79000-G7000-C402-01
20-1C79000-G7000-C402-01
Ohjelmanohjausoperaatiot
Kappale Sisältö Sivu
20.1 FC/SFC:n kutsu ilman parametrejä 20-2
20.2 FB:n, FC:n, SFB:n, SFC:n ja multi--instanssien kutsu 20-4
20.3 Hyppy takaisin 20-8
20.4 Master Control Relayn toiminnat 20-9
20.5 Master Control Relayn alku/loppu 20-10
20.6 Master Control Relay päälle/pois päältä 20-13
Yleiskuvakappaleesta
20
20-2 C79000-G7000-C402-01
20.1 FC/SFC:n kutsu ilman parametrejä
Operaatiolla FC/SFC:n kutsu ilman parametrejä voidaan kutsua toiminta(FC) tai systeemitoiminta (SFC), jolla ei ole parametrejä. Edeltävästälukituksesta riippuen on kyseessä ehdoton tai ehdollinen kutsu (katsoesimerkki).
Ehdollisessa kutsussa ei toiminnan (FC) käskyosassa voi antaa operandinamitään BLOCK_FC tiedostotyyppistä parametriä. Toimintayksikölle (FB)voidaan kuitenkin antaa operandina BLOCK_FC tyyppinen parametri.
Ehdollinen kutsu suoritetaan vasta silloin, kun LUK on ”1”. Mikäli ehdollistakutsua ei suoriteta, on LUK kutsuoperaation jälkeen ”0”. Mikäli operaatiosuoritetaan, toimii se seuraavasti:
S Se tallentaa kutsuvan yksikön takaisinhyppyosoitteen.
S Se tallentaa kummatkin tiedostoyksikkörekisterit (tiedostoyksikkö jaoheistiedostoyksikkö).
S Se korvaa edellisen paikallisdata--alueen aktuellilla paikallisdata--alueella.
S Se siirtää MA--bitin (aktiivinen MCR--bitti) yksikköpinoon (B--pino).
S Se asettaa kutsutulle FC:lle tai SFC:lle uuden paikallisdata--alueen.
Kutsutussa yksikössä jatketaan sen jälkeen ohjelman käsittelyä.
Parametrien siirtoa koskevaa informaatiota löytyy ohjelmointikäsikirjasta/234/.
Taulukko 20-1 FC/SFC:n kutsu ilman parametrejä--kehys
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
CALL
<Numero>Numero BLOCK_FC --
FC:n tai SFC:n numero (esim. FC 10 tai SFC 59).CPU:sta riippuu, mitkä SFCt ovat käytettävissä.
Ehdollinen kutsu operandina BLOCK_FCtiedosotyypin parametri on mahdollinen vainFB:ssä, ei FC:ssä.
Kuvaus
Ohjelmanohjausoperaatiot
20-3C79000-G7000-C402-01
Mikäli FC 10:n ehdoton kutsu suoritetaan, toimii CALL --operaatio seuraavasti:
S Se tallentaa aktuellin FB:n takaisinhyppyosoitteen.S Se tallentaa DB 10:n valitsimen ja FB:n oheisyksikön.S Se siirtää operaation MCRA ”1”:ksi asettaman MA--bitin yksikköpinoon (B--pino) ja asettaa
sen kutsuttua FC10:tä varten takaisin ”0”:ksi.
Ohjelman käsittely jatkuu FC 10:ssä. Mikäli FC 10:ssä halutaan käyttää MCR--toimintaa, on seaktivoitava siellä uudelleen. Jos FC 10 on päätetty, palaa ohjelmankäsittely takaisin kutsuvaanFB:hen. MA--bitti asetetaan uudelleen. Käyttäjämääritteisen FB:n DB 10 ja oheis--DB ovatjälleen aktuelleja DB:eitä, riippumatta siitä, mitä FC 10:n DB:eitä on käytetty.
FC 10:stä tapahtuneen takaisinhypyn jälkeen osoitetaan tulon E 0.0 signaalitila lähdölle A 4.0.FC 11:ta kutsuttaessa on kysessä ehdollinen kutsu, joka suoritetaan vain, jos tulo E 0.1 = 1.Mikäli kutsu suoritetaan, on toiminta sama kuin kutsussa FC 10.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 -- 0
E 0.0
A 4.0
DB10
MCRA
CALL
CALL
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 1 0
Ehdoton kutsu
Ehdollinen kutsu
OPN
FC10
MCRD
=
E 0.1
FC11
Kuva 20-1 FC/SFC :n kutsu ilman parametrejä
Ohjelmanohjausoperaatiot
20-4 C79000-G7000-C402-01
20.2 FB:n, FC:n, SFB:n, SFC:n ja multi--instanssien kutsu
Toimintayksiköitä (FBt), toimintoja (FCt), järjestelmätoimintayksiköitä(SFBt), järjestelmätoimintoja (SFCt) ja multi--instansseja voidaan kutsuavalitsemalla valintakehyksestä ”ohjelmaelementit”. Ne löytyvät seuraavillanimillä operaatioryhmälistan lopusta:
S FB yksiköt
S FC yksiköt
S SFB yksiköt
S SFC yksiköt
S Multi--instanssit
S Kirjastot
Mikäli valitaan jokin näistä yksiköistä, ilmestyy kuvaruudulle kehys, jossa ontoiminnan tai toimintayksikön numero tai symbolinimi ja vastaavatparametrit.
Yksikön, jota halutaan kutsua, tulee olla jo käännetty ja sen on oltava olemassaS7--ohjelmassa, kirjastossa tai CPU:ssa.
Jos operaatio (FB:n, FC:n, SFB:n, SFC:n ja multi--instanssien kutsu) suorite-taan, toimii se seuraavasti:
S Se tallentaa kutsuvan yksikön takaisinhyppyosoitteen.
S Se tallentaa kummatkin tiedostoyksikkörekisterit (tiedostoyksikkö jainstanssi--tiedostoyksikkö).
S Se korvaa edellisen paikallisdata--alueen aktuellilla paikallisdata--alueella.
S Se siirtää MA--bitin (aktiivinen MCR--bitti) yksikköpinoon (B--pino).
S Se asettaa kutsutulle FC:lle tai SFC:lle uuden paikallisdata--alueen.
Huomautus
DB-- ja DI--rekisterejä tallennettaessa saattaa käydä niin, että ne eivät näytäavattuja tiedostoyksiköitä. Parametrejä annettaessa DB--rekisteri ylikirjoite--taan joskus käännettäessä kopiointimenetelmien vuoksi, erityisestitoimintayksiköiden kohdalla. Lähempää tietoa aiheesta löytyyohjelmointikäsikirjasta /234/.
Ohjelman käsittelyä jatketaan tämän jälkeen kutsutussa yksikössä.
Kuvaus
Ohjelmanohjausoperaatiot
20-5C79000-G7000-C402-01
FUP--kehyksen vapautuslähtö (ENO) vastaa tilasanan BIE--bittiä (katsokappale 6.3). Kun kirjoitetaan toimintayksikkö tai toiminta, jota halutaankutsua FUP:sta, on aivan sama kirjoitetaanko AWL:n, KOP:n tai FUP:n FBtai FC, on BIE--bitti huomioitava. LUK tallennetaan BIE--bittiin SAVE--operaatiolla seuraavien kriteerien mukaisesti:
S LUK:n ollessa ”1” tallennetaan se BIE--bittiin sitä tilannetta varten, ettäFB tai FC käsitellään virheettömästi.
S LUK:n ollessa ”0” tallennetaan se BIE--bittiin sitä tilannetta varten, ettäFB:tä tai FC:tä käsiteltäessä ilmenee virhe.
Nämä operaatiot ohjelmoidaan FB:n tai FC:n loppuun, niin että ne käsitelläänviimeisinä yksikössä.
!Varoitus
BIE--bitti voidaan asettaa ”0”:ksi epähuomiossa.
Kun FB:eitä tai FC:eitä kirjoitetaan FUP:iin eikä BIE--bitti toimi kuten ylläon selitetty, saattaa FB tai FC ylikirjoittaa silloin toisen FB:n tai FC:n BIE--bitin.
Kyseisen virheen välttämiseksi tallennetaan LUK FB:n tai FC:n loppuunkuten edellä on kuvattu.
Kuvassa 20-2 esitetään yksikön ehdollisen tai ehdottoman kutsun vaikutustilasanan bitteihin (katso kappale 6.3).
Ehdollinen:Ehdoton:
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- -- 0 0 1 x xkirjoitus -- -- -- -- 0 0 x x x
Kuva 20-2 Yksikkökutsun vaikutus tilasanan bitteihin
Vapautuslähtö
Kutsun vaikutustilasanan bitteihin
Ohjelmanohjausoperaatiot
20-6 C79000-G7000-C402-01
Kutsutun yksikön parametrit esitetään FUP--kehyksessä. Yksikkölajistariippuen on parametrejä osoitettaessa meneteltävä eri tavoin.
S Toimintaa (FC) varten on kaikki muodolliset parametrit varustettavatodellisilla parametreillä.
S Toimintayksiköissä (FB) on todellisen parametrin anto valinnainen.FB--kutsu on kuitenkin varustettava oheistiedostoyksiköllä (oheis--DB).Mikäli muodollista parametriä ei varustettu todellisella parametrillä,toimii FB arvoilla, jotka ovat sen oheis--DB:ssä.
S Multi--instansseja kutsutaan niiden muuttujanimillä. Kutsuttu kehys on jovarustettu kaikilla parametreillä (multi--instanssien selitys; katso kappale3.5).
Strukturoiduille IN/OUT--parametreille sekä Pointer-- ja Array --tyyppisilleparametreille on annettava (ainakin ensimmäisessä kutsussa) todellinenparametri.
Jokaisen todellisen parametrin, joka annetaan toimintayksikköä kutsuttaessa,on oltava samaa tiedostotyyppiä kuin sen muodollinen parametri.
Infoa siitä, miten toiminta ohjelmoidaan miten sen parametreillä toimitaanlöytyy ohjelmointikäsikirjasta /234/.
Taulukossa 20-2 on FB:iden, FC:iden, SFB:iden, SFC:iden kutsua vartenkehys ja siinä kuvataan parametrejä, jotka ovat kaikkien näiden yksiköidenkehykselle yhteisiä. Yksikön numero näytetään automaattisesti (FB:n, FC:n,SFB:n tai SFC:n numero, esim. FC 10).
Taulukko 20-2 FB:n, FC:n, SFB:n, SFC:n kutsujen kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
YksikkönoEN
DB--Nr.DB--no BLOCK_DB --
DB:n numero. Tämä infoannetaan vain, jos halutaankutsuaFB:eitä.
EN
IN OUT EN BOOL E, A, M, D, L, T, Z Vapautustulo
ENOIN/OUT ENO BOOL E, A, M, D, L Vapautuslähtö
Parametrit
Ohjelmanohjausoperaatiot
20-7C79000-G7000-C402-01
DB13
EN
StartStopPituus
Run
ENO
Kutsuu FB10:täoheis--DB 13:lla
E 1.0E 1.1MW20
M2.1
FB10
Todellinen parametri,jonka arvot kopioidaanennen FB 10:n käsittelyäoheis--DB:hen DB 13. FB:n muodollinen parametri
Tämän parametrin arvokopioidaan FB 10:n käsittelynjälkeen DB 13:sta M 2.1:een.
Kuva 20-3 FB kutsu kehyksenä
Ohjelmanohjausoperaatiot
20-8 C79000-G7000-C402-01
20.3 Hyppy takaisin
Yksiköistä voidaan poistua operaatiolla hyppy takaisin. Yksiköstä voidaanpoistua ehdollisesti.
Taulukko 20-3 Hyppy takaisin--kehys
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
RET Ei ole -- -- --
Yksiköstä poistutaan, jos E 0.0 = 1.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- 0 0 1 1 0
Ehdollinen takaisinhyppy (takaisinhyppy, jos LUK = 1)
RETE 0.0
Kuva 20-4 Hyppy takaisin
Kuvaus
Ohjelmanohjausoperaatiot
20-9C79000-G7000-C402-01
20.4 Master Control Relayn toiminnat
Master Control Relayta (MCR) (MCR, katso kappale 20.5) signaalivuonaktivointiin ja deaktivointiin. Deaktivoitu virtapiiri vastaa operaatio--järjestystä, joka kirjoittaa nolla--arvon lasketun arvon sijaan tai operaatio--järjestystä, joka ei muuta olemassa olevaa muistiarvoa. Operaatiot, jotkasuoritetaan jollakin taulukossa 20-4 esitetyistä operaatioista, ovat MCR:stäriippuvaisia.
Operaatiot osoitus ja konnektori kirjoittavat muistiin ”0”, jos MCR on ”0”.Operaatiot operandin asetus ja operandin nollaus eivät muuta olemassaolevaa arvoa (katso taulukko 20-5).
Taulukko 20-4 Operaatiot, joihin MCR--alueet vaikuttavat
FUP--kehys Kuvaus Tämän käsikirjan kappale
# Konnektori 8.9
= Osoitus 8.8
S Operandin asetus 8.11
R Operandin nollaus 8.12
SR Flipflopin asetus/nollaus 8.25
RSFlipflopin nollaus/asetus 8.26
MOVEArvon siirto 14.1
Taulukko 20-5 MCR:stä riippuvat operaatiot ja niiden reaktiot MCR:n signaalitilaan
Taulukko 20-5 MCR:stä riippuvat operaatiot ja niiden reaktiot MCR:n signaalitilaan
MCR:nsignaalitila
Osoitus, konnektori
=
#
Operandin asetus tai nollaus
S
SR
R
RS
Arvon siirto
MOVE
0 Kirjoittaa ”0”
(Vastaa relettä, joka jännitteenkatketessa menee lepotilaan.)
Ei kirjoita
(Vastaa relettä, joka jännitteenkatketessa pysyy aktuellissatilassaan.)
Kirjoittaa ”0”
(Vastaa komponenttia, jokajännitteen katketessa antaaarvon ”0”.)
1 Normaali käsittely Normaali käsittely Normaali käsittely
Master ControlRelayn määrittely
Ohjelmanohjausoperaatiot
20-10 C79000-G7000-C402-01
20.5 Master Control Relayn alku/loppu
Operaatiolla Master Control Relayn alku kytketään seuraavien käskyjenMCR--riippuvuus päälle. Tämän käskyn jälkeen voidaan MCR--alueetohjelmoida (katso kappale 20.6) operaatioilla Master Control Relay päälle jaMaster Control Relay pois päältä. Jos ohjelma aktivoi MCR--alueen, riippu-vat kaikki MCR--toiminnat MCR--pinon sisällöstä (katso kuva B--4).
Taulukko 20-6 Master Control Relayn alku--kehys
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
MCRA Ei ole -- -- Aktivoi MCR--toiminnan
Operaatiolla Master Control Relayn loppu kytketään seuraavien käskyjenMCR--riippuvuus päälle. Tämän käskyn jälkeen ei MCR--alueita voida enääohjelmoida. Jos ohjelma deaktivoi MCR--alueen, on MCR -- MCR--pinonmerkinnöistä riippumatta -- aina jännitteellinen.
Taulukko 20-7 Master Control Relayn loppu --kehys
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
MCRD Ei ole -- -- Deaktivoi MCR--toiminnan
MCR--pino ja sen riippuvuutta ohjaava bitti (MA--bitti), viittaavat kulloiselle-kin tasolle ja ne on varmistettava ja haettava joka kerran, kun sekvenssitasol-la tapahtuu muunto. Ne esiasetetaan jokaisen sekvenssitason alussa (MCR--syöttöbitit 1 ... 8 asetetaan ”1”:ksi, MCR--pino--osoitin = 0 ja MA--bitti = 0).
MCR--pino osoitetaan eteenpäin yksikkö yksiköltä ja MA--bitti varmistetaanjokaisessa yksikkökutsussa ja asetetaan ”0”:ksi. Se toistetaan yksikön lopus-sa.
MCR voidaan toteuttaa siten, että se optimoi koodigeneroivien CPU:idenkäyntiajan. Syy tähän on se, että MCR--riippuvuutta ei johdeta eteenpäinyksikköön, vaan se on aktivoitava selvästi MCRA--operaatiolla.Koodigeneroiva CPU tunnistaa kyseisen operaation ja generoi MCR--pinontulkitsemiseksi tarvittavan lisäkoodin, kunnes se tunnistaa MCRD--operaationtai kun yksikön loppu on saavutettu. MCRA/MCRD--alueen ulkopuolistenoperaatioiden käyntiaika ei lisäänny.
MCRA-- ja MCRD --operaatioita saa käyttää ohjelmassa vain pareittain.
MCRn alku
MCRn loppu
Ohjelmanohjausoperaatiot
20-11C79000-G7000-C402-01
OB1
MCRA
MCRD
MCRA
MCRA
MCRA
MCRD
BEA
BEA
MCR--bitistä riippuvat operaatiot
MCR--bitistä riippumattomat operaatiot
Call FBx
FBx FCy
Call FCy
BEA BEA on AWL--operaatio.Lähempää tietoa löytyy referenssikäsikirjasta /232/
Kuva 20-5 MCR--alueen aktivointi ja deaktivointi
MCRA:n ja MCRD:n välille ohjelmoidut operaatiot ovat riippuvaisiaMCR--bitin signaalitilasta. MCRA--MCRD--sekvenssin ulkopuolelleohjelmoidut operaatiot eivät ole riippuvaisia MCR--bitin signaalitilasta. JosMCRD--operaatio puuttuu, ovat MCRA:n ja BEA:n välille ohjelmoidutoperaatiot silloin riippuvaisia MCR--bitistä.
Ohjelmanohjausoperaatiot
20-12 C79000-G7000-C402-01
MCRA --operaatio aktivoi MCR --toiminnan seuraavaan MCRD:hen asti. MCR<:n ja MCR>:nvälisten operaatioiden käsittely riippuu MA--bitistä (tässä E 0.0):
S Jos E 0.0 = 1:-- asetetaan A 4.0 ”1”:ksi, mikäli E 0.3 = 1-- ei A 4.0:aa muuteta, jos E 0.3 = 0-- osoitetaan tulon E 0.4 signaalitila lähdölle A 4.1.
S Jos E 0.0 = 0:-- ei A 4.0:ää muuteta tulon E 0.3 signaalitilasta riippumatta-- on A 4.1:llä arvo ”0” tulon E 0.4 signaalitilasta riippumatta
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --
E 0.3
A 4.0
MCR<
=
MCRA
MCRD
S
E 0.4
A 4.1
MCR>
E 0.0
Kuva 20-6 Master Control Relayn alku/loppu
Toimintojen (FC) ja toimintayksiköiden (FB) riippuvuus MCR:stä onohjelmoitava yksiköihin itse. Mikäli tätä toimintaa tai toimintayksikköäkutsutaan MCRA--MCRD--sekvenssistä käsin, eivät kaikki tämän sekvenssinsisäiset käskyt ole silloin automaattisesti riippuvaisia MCR--bitistä. Tätävarten käytetään kutsutun yksikön MCRA --operaatiota.
!Varoitus
Henkilö-- ja esinevahinkoriskit:
MCR --operaatiota ei saa koskaan käyttää HÄTÄ--SEIS-- tai turvaohjauksena.
MCR ei ole kiinteästi johdotetun Master Control Relayn korvike.
Ohjelmanohjausoperaatiot
20-13C79000-G7000-C402-01
20.6 Master Control Relay päälle/pois päältä
Operaatiolla Master Control Relay päälle (MCR<) tallennetaan LUKMCR--pinoon ja avataan MCR--alue. MCR--aluetta avattaessa MCR--pinoontallentuva LUK vaikuttaa taulukossa 20-4 esitettyihin operaatioihin tämänalueen sisällä. MCR--pino toimii kuten LIFO--välimuisti (LIFO = last in, firstout), jossa voi olla enintään 8 merkintää. Kun pino on täynnä, aiheuttaaoperaatio Master Control Relay päälle MCR--pinovirheen (MCRF).
Taulukko 20-8 Master Control Relay päälle--kehys
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
MCR< Ei ole -- -- Avaa MCR--alueen
Operaatiolla Master Control Relay pois päältä (MCR>) suljetaan viimeksiavattu MCR--alue. Sulkeminen tapahtuu nollaamalla LUK--merkintäMCR--pinossa, johon LUK siirrettiin operaatiolla Master Control Relaypäälle. MCR--pino toimii kuten LIFO--välimuisti (LIFO = last in, first out).Kyseisen pinon toisessa päässä vapautuva merkintä asetetaan ”1”:ksi. Pinonollessa jo tyhjä, aiheuttaa operaatio Master Control Relay poi päältäMCR--pinovirheen (MCRF).
Taulukko 20-9 Master Control Relay pois päältä--kehys
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
MCR> Ei ole -- -- Sulkee viimeksi avatun MCR--alueen
MCR:ää ohjaa pino, joka on yhden bitin levyinen ja kahdeksan merkintääsyvä (katso kuva 20-7). MCR:ää aktivoidaan niin kauan, kunnes pinon kaikkikahdeksan merkintää ovat yhtäsuuret kuin ”1”. Operaatio MCR< kopioi luki-tustuloksen MCR--pinoon. Operaatio MCR> poistaa pinon viimeisen mer-kinnän ja asettaa vapautuneen pino--osoitteen ”1”:ksi. Virheen ilmetessä --esim. jos enemmän kuin kahdeksan MCR> --operaatiota seuraa toisiaan taijos yritetään suorittaa MCR> --operaatio tyhjässä MCR--pinossa --, kyseinenvirhe laukaisee silloin virheilmoituksen MCRF. MCR--pinon valvonta seuraapino--osoitinta (MSP: 0 = tyhjä, 1 = yksi merkintä, 2 = kaksi merkintää, ...,8 = kahdeksan merkintää).
MCR päälle
MCR pois päältä
Ohjelmanohjausoperaatiot
20-14 C79000-G7000-C402-01
LUK
LUK
LUKMSP!
MA
MCRA MCRD1 0
" "
1
2
3
4
5
6
7
8
LUK siirretty bitti# "
# "
MSP = MCR--pino--osoitin
MA = MCR--riippuvuutta ohjaava bitti
Siirretty bitti 1
Kuva 20-7 Master Control Relay--pino
MCR< ja MCR> --operaatioita saa käyttää ohjelmassa aina vain pareittain.
Operaatio MCR< ottaa vastaan LUK:n signaalitilan ja kopioi sen MCR--bit-tiin.
Operaatio MCR> asettaa MCR--bitin ehdottomasti ”1”:ksi. Jokainen muuMCRA:n ja MCRD:n välinen operaatio toimii tämän ominaisuuden perus-teella MCR--bitistä riippumatta (MCRA ja MCRD katso seuraava sivu).
Operaatiot MCR< ja MCR> voidaan lomitella. Maksimi lomittelusyvyys onkahdeksan, ts., enintään kahdeksan MCR< operaatiota voidaan kirjoittaaperäkkäin ennen operaation MCR> väliinkirjoitusta. MCR< ja MCR>--operaatioita on ohjelmoitava sama määrä.
Mikäli MCR< --operaatiot on lomiteltu, muodostetaan syvemmän lomitteluta-son MCR--bitti. Silloin operaatio MCR< lukitsee aktuellin LUK:n aktuellillaMCR--bitillä JA--totuustaulukon mukaisesti.
Mikäli MCR> --operaatio päättää lomittelutason, hakee se MCR--bitin kor-keammalta tasolta.
Operaatioiden(MCR<) ja (MCR>)lomittelu
Ohjelmanohjausoperaatiot
20-15C79000-G7000-C402-01
Jos operaatio MCRA aktivoi MCR --toiminnan, voidaan muodostaa enintään kahdeksan lomiteltuaMCR--aluetta. Esimerkissä on kaksi MCR--aluetta. Ensimmäinen MCR> --operaatio toimii yhdessätoisen MCR< --operaation kanssa. Kaikki toisen MCR--sulkuryhmän väliset (MCR< MCR>) operaatiotkuuluvat toiseen MCR--alueeseen. Operaatiot suoritetaan seuraavasti:S E 0.0 = 1: E 0.4:n signaalitila osoitetaan lähdölle A 4.1.S E 0.0 = 0: Lähtö A 4.1 on ”0”, E 0.4:n signaalitilasta riippumatta
lähtö A 4.0 ei muutu E 0.3:n signaalitilasta riippumatta.S E 0.0 ja E 0.1 = 1: Lähtö A 4.0 asetetaan ”1”:ksi, jos E 0.3 = 1, ja A 4.1 = E 0.4.S E 0.1 = 0: Lähtö A 4.0 ei muutu, E 0.3:n ja E 0.0:n signaalitilasta riippumatta.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 -- 0
E 0.3
A 4.0
MCR>
=
MCRA
MCRD
S
E 0.4
A 4.1
MCR>
E 0.0 MCR<
E 0.1 MCR<
Kuva 20-8 Master Control Relay päälle/pois päältä
Ohjelmanohjausoperaatiot
20-16 C79000-G7000-C402-01
Ohjelmanohjausoperaatiot
19-1C79000-G7000-C402-01
Tilabittioperaatiot
Kappale Sisältö Sivu
19.1 Yleiskuva 19-2
19.2 BIE-rekisterin häiriöbitti 19-3
19.3 Tulosbitit 19-4
19.4 Väärien operaatioiden häiriöbitti 19-6
19.5 Ylivuodon häiriöbitti 19-7
19.6 Tallennetun ylivuodon häiriöbitti 19-8
Yleiskuvakappaleesta
19
19-2 C79000-G7000-C402-01
19.1 Yleiskuva
Tilabittioperaatiot ovat bittilukitusoperaatioita (katso kappale 8), jotka toimi-vat tilasanan biteillä (katso kappale 6.3). Nämä operaatiot reagoivat yhteenseuraavista ehdoista, jotka yksi tai useampi bitti näyttää:
S Binääritulosbitti asetetaan (ts. sen signaalitila on ”1”).
S Aritmeettisen operaation tuloksen ja 0:n suhde on:
-- suurempi kuin 0 (> 0)
-- pienempi kuin 0 (< 0)
-- suurempi tai yhtäsuuri kuin 0 (> = 0)
-- pienempi tai yhtäsuuri kuin 0 (< = 0)
-- yhtäsuuri kuin 0 (= = 0)
-- erisuuri kuin 0 (< > 0)
S Aritmeettisen operaation tulos on väärä.
S Aritmeettisessa operaatiossa esiintyi ylivuoto.
JA-operaatiossa tilabittioperaatiot lukitsevat signaalitilakyselynsä tuloksenedellisellä lukitustuloksella JA--totuustaulukon mukaisesti (katso kappale 6.2ja taulukko 6-7). TAI-operaatiossa tämä tapahtuu TAI--totuustaulukon mukai-sesti (katso kappale 6.2 ja taulukko 6-8).
Tässä kappaleessa on BIE-rekisterin häiriöbitti elementti, joka kysyyBIE--bitin signaalitilaa, esitetty SIMATIC-muodossa ja kansainvälisessämuodossa.
Tilasana on CPU:n muistin rekisteri. Se siältää bittejä, joita voi puhutellabitti- ja sanalukitusoperaatioiden operandeissa. Kuva 19-1 esittää tilasananrakennetta. Lisäinfoa tilasanan yksittäisistä biteistä löytyy kappaleesta 6.3.
28215... ...29 2427 26 25 2023 22 21
BIE OSA1 A0 OV /EROR STA VKE
Kuva 19-1 Tilasanan rakenne
Seuraavissa kappaleissa kuvatuilla FUP-elementeillä ei ole mitäänsyötettäviä parametrejä.
Kuvaus
Tilasana
Parametri
Tilabittioperaatiot
19-3C79000-G7000-C402-01
19.2 BIE-rekisterin bitti
Operaatiolla BIE-rekisterin bitti voidaan kysyä BIE-bitin signaalitilaa(binääritulos) (katso kappale 6.3). JA-operaatiossa lukitaan kyselytulosedellisellä LUK:lla JA-totuustaulukon mukaisesti (katso kappale 6.2 jataulukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukonmukaisesti(katso kappale 6.2 ja taulukko 6-8).
Kuva 19-2 esittää BIE-rekisterin bittiä SIMATIC-mnemoniikalla jakansainvälisellä mnemoniikalla.
kansainvälinen elementtiSIMATIC-elementti
BIE BR
Kuva 19-2 BIE-rekisterin bitti--kehys
E 0.0 Lähtö A 4.0 asetetaan, mikäli E 0.0 = 1 TAIE 0.2 = 0 ja, tämän LUK:n lisäksi, BIE-bitinsignaalitila = 1.E 0.2
BIE
A 4.0
S
>=1
&
Kuva 19-3 BIE-rekisterin bitti
Kuvaus
FUP-kehys
Tilabittioperaatiot
19-4 C79000-G7000-C402-01
19.3 Tulosbitit
Operaatioilla tulosbitit voidaan kysyä, mikä on aritmeettisen operaationtuloksen ja 0:n suhde, ts., onko tulos > 0, < 0, > = 0, < = 0, = = 0 vai < > 0(katso taulukko 19-1). Tätä varten luetaan tilasanan näyttöbitit (A1 ja A0,katso kappale 6.3). Mikäli operandissa annettu vertailuehto on täytetty, antaasignaalitilakysely tulokseksi ”1”.
Tilabittioperaatiot lukitsevat JA-operaatiossa signaalitilakyselynsä tuloksenedellisellä LUK:lla JA-totuustaulukon mukaisesti (katso kappale 6.2 ja tau-lukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).
Taulukko 19-1 Tulosbitin kehykset
FUP--elementti Kuvaus
> 0Operaatio tulosbitin ollessa suurempi kuin 0 määrää, onko aritmeettisen operaation tulossuurempi kuin 0. Se kysyy lukitusta tilasanan näyttöbiteistä A1 ja A0 , määritelläkseentuloksen suhteen 0:aan.
< 0Operaatio tulosbitin ollessa pienempi kuin 0 määrää, onko aritmeettisen operaation tulospienempi kuin 0. Se kysyy lukitusta tilasanan näyttöbiteistä A1 ja A0 , määritelläkseentuloksen suhteen 0:aan.
> = 0Operaatio tulosbitin ollessa suurempi tai yhtäsuuri kuin 0 määrää, onko aritmeettisenoperaation tulos suurempi vai yhtäsuuri kuin 0. Se kysyy lukitusta tilasanannäyttöbiteistä A1 ja A0 , määritelläkseen tuloksen suhteen 0:aan.
< = 0Operaatio tulosbitin ollessa pienempi tai yhtäsuuri kuin 0 määrää, onko aritmeettisenoperaation tulos pienempi vai yhtäsuuri kuin 0. Se kysyy lukitusta tilasanannäyttöbiteistä A1 ja A0 , määritelläkseen tuloksen suhteen 0:aan.
== 0Operaatio tulosbitin ollessa yhtäsuuri kuin 0 määrää, onko aritmeettisen operaation tulosyhtäsuuri kuin 0. Se kysyy lukitusta tilasanan näyttöbiteistä A1 ja A0 , määritelläkseentuloksen suhteen 0:aan.
< > 0Operaatio tulosbitin ollessa erisuuri kuin 0 määrää, onko aritmeettisen operaation tuloserisuuri kuin 0. Se kysyy lukitusta tilasanan näyttöbiteistä A1 ja A0 , määritelläkseentuloksen suhteen 0:aan.
Kuvaus
Tilabittioperaatiot
19-5C79000-G7000-C402-01
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
SUB_I --kehys aktivoidaan, jos E 0.0 = 1. MikäliEW0:n arvo on suurempi kuin EW2:n arvo, onaritmeettisen operaation EW0 -- EW2 tulossuurempi kuin 0.
Jos EN:n signaalitila = 1 ja toiminnan SUB_Ikäsittelyn aikana esiintyy virhe, on ENO:n sig-naalitila silloin = 0.
1) Lähtö A 4.0 asetetaan, jos toiminta suoritettiinvirheettömästi ja tulos on suurempi kuin 0. Jostulon E 0.0 signaalitila = 0 (ei aktivoitu), on EN:nja ENO:n signaalitila silloin ”0”.
2) Lähtö A 4.0 asetetaan, jos toiminta suoritettiinvirheettömästi ja tulos on pienempi tai yhtäsuurikuin 0. Jos tulon E 0.0 signaalitila = 0 (ei aktivoi-tu), on EN:n ja ENO:n signaalitila silloin ”0”.
1)
2)
SUB_I
IN2
OUT
EW2
MW10IN1EW0
EN
ENO
E 0.0
SUB_I
IN2
OUT
EW2
MW10IN1EW0
EN
ENO
E 0.0
A 4.0S
&
�0
A 4.0S
&
>0
Kuva 19-4 Tulosbitin ollessa suurempi kuin 0 ja käänteisen tulosbitin ollessa suurempi kuin 0
Tilabittioperaatiot
19-6 C79000-G7000-C402-01
19.4 Väärän operaation virhebitti
Operaatiolla väärän operaation virhebitti voidaan kysyä, onko liukuluvuillasuoritetun aritmeettisen operaation tulos väärä (ts., eikö jokin aritmeettisenoperaation arvoista ole voimassa oleva liukuluku). Tätä varten luetaantilasanan näyttöbitit (A1 ja A0, katso kappale 6.3). Aritmeettisen operaationtuloksen ollessa väärä (UO), antaa signaalitilakysely tulokseksi ”1”. MikäliA1:n ja A0:n lukitus ei ilmoita ”väärä”, on signaalitilakyselyn tulos ”0”.
Tilabittioperaatiot lukitsevat JA-operaatiossa signaalitilakyselynsä tuloksenedellisellä LUK:lla (LUK, katso kappale 6.3) JA-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti (katso kappale 6.2 ja taulukko 6-8).
UO
Kuva 19-5 Väärän operaation virhebitti--kehys
DIV_R --kehys aktivoidaan, jos E 0.0 = 1.Mikäli ED0:n tai ED4:n arvo ei ole voimassaoleva liukuluku, niin aritmeettinen operaatioon väärä/ei ole voimassa.Jos EN:n signaalitila = 1 (aktivoitu) jatoiminnan DIV_R käsittelyn aikana ilmeneevirhe, on ENO:n signaalitila silloin = 0.
Lähtö A 4.0 asetetaan, jos operaatio DIV_Rsuoritetaan, jonkin aritmeettisen operaationarvoista ollessa ei voimassa oleva liukuluku.Mikäli tulon E 0.0 signaalitila = 0 (eiaktivoitu), on EN:n ja ENO:n signaalitilasilloin ”0”.
DIV_R
IN2
OUT
ED4
MD10IN1ED0
EN
ENO
E 0.0
A 4.1S
UO A 4.0
S
Virtapiiri 1:
Virtapiiri 2:
Kuva 19-6 Väärän operaation virhebitti
Kuvaus
FUP--kehys
Tilabittioperaatiot
19-7C79000-G7000-C402-01
19.5 Ylivuodon virhebitti
Operaatiolla ylivuodon virhebitti voidaan tunnistaa, onko viimeksikäsitellyssä aritmeettisessa operaatiossa ilmennyt ylivuoto (OV). Tuloksenollessa aritmeettisen operaation jälkeen sallitun negatiivisen tai sallitunpositiivisen alueen ulkopuolella, asetetaan tilasanan OV-bitti (katso kappale6.3). Operaatio kysyy kyseisen bitin signaalitilaa. Virheettömästi läpimenneet aritmeettiset operaatiot nollaavat tämän bitin.
Tilabittioperaatiot lukitsevat JA-operaatiossa signaalitilakyselynsä tuloksenedellisellä LUK:lla JA-totuustaulukon mukaisesti (katso kappale 6.2 ja tau-lukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).
UO
Kuva 19-7 Väärän operaation virhebitti--kehys
SUB_I --kehys aktivoidaan, jos E 0.0 = 1. Mikäli aritmeetti-sen operaation EW0 - EW2 tulos on liukuluvulle sallitunalueen ulkopuolella, asetetaan OV-bitti.
OV:n signaalitilakysely antaa tulokseksi ”1”. Lähtö A 4.0asetetaan, jos OV:ssä tehdyn kyselyn tulos on ”1” ja virta-piirin 2 LUK on ”1” (ts., jos LUK on ennen lähtöä A 4.0 =1).
Jos tulon E 0.0 signaalitila = 0 (ei aktivoitu), on EN:n jaENO:n signaalitila silloin ”0”. EN:n signaalitilan ollessa = 1(aktivoitu) ja aritmeettisen operaation tuloksen ollessaalueen ulkopuolella, on ENO:n signaalitila silloin = 0.
Virtapiiri 1:
Virtapiiri 2:
SUB_I
IN2
OUT
EW2
MW10IN1EW0
EN
ENO
E 0.0
E 0.1
E 0.2
E 0.3
&
>=1
A 4.0
SOV
M 3.3
Virtapiiri 3:
Kuva 19-8 Ylivuodon virhebitti
Kuvaus
FUP--kehys
Tilabittioperaatiot
19-8 C79000-G7000-C402-01
19.6 Tallennetun ylivuodon virhebitti
Operaatiolla tallennetun ylivuodon virhebitti voidaan tunnistaa, onkoaritmeettisessa operaatiossa esiintynyt tallentava ylivuoto (tallentavaylivuoto, OS). Tuloksen ollessa aritmeettisen operaation jälkeen sallitunnegatiivisen tai positiivisen alueen ulkopuolella, asetetaan tilasanan OS-bitti(katso kappale 6.3). Operaatio kysyy bitin signaalitilaa. Toisin kuin OV-bitti(ylivuoto) pysyy OS-bitti asetettuna virheettömästi läpimenneessäaritmeettisessa operaatiossa (katso kappale 19.5).
Tilabittioperaatiot lukitsevat JA-operaatiossa signaalitilakyselynsä tuloksenedellisellä LUK:lla JA-totuustaulukon mukaisesti (katso kappale 6.2 ja tau-lukko 6-7). TAI-operaatiossa tämä tapahtuu TAI-totuustaulukon mukaisesti(katso kappale 6.2 ja taulukko 6-8).
OS
Kuva 19-9 Tallennetun ylivuodon virhebitti--kehys
Kuvaus
FUP--kehys
Tilabittioperaatiot
19-9C79000-G7000-C402-01
MUL_I --kehys aktivoidaan, jos E 0.0 = 1 ja ADD_I --kehysaktivoidaan, jos E 0.1 = 1. Jommankumman tuloksista olles-sa kokonaisluvulle sallitun alueen ulkopuolella, asetetaanOS-bitti.
OS:n signaalitilakysely antaa tulokseksi ”1” ja lähtö A 4.0asetetaan.
Virtapiiri 1: Jos tulon E 0.0 signaalitila = 0 (ei aktivoitu), onEN:n ja ENO:n signaalitila silloin ”0”. EN:n signaalitilan olles-sa = 1 (aktivoitu) ja aritmeettisen operaation tuloksen ollessaalueen ulkopuolella, on ENO:n signaalitila silloin = 0.
Virtapiiri 2: Jos tulon E 0.1 signaalitila = 0 (ei aktivoitu), onEN:n ja ENO:n signaalitila silloin ”0”. EN:n signaalitilan olles-sa = 1 (aktivoitu) ja aritmeettisen operaation tuloksen ollessaalueen ulkopuolella, on ENO:n signaalitila silloin = 0.
Virtapiiri 1:
Virtapiiri 2:
Virtapiiri 3:
MUL_I
IN2
OUT
EW2
MD8IN1EW0
EN
ENO
E 0.0
ADD_I
IN2
OUT
EW2
MW12IN1EW0
EN
ENO
E 0.1
OS A 4.0
S
Kuva 19-10 Tallennetun ylivuodon virhebitti
Tilabittioperaatiot
19-10 C79000-G7000-C402-01
Tilabittioperaatiot
18-1C79000-G7000-C402-01
Hyppyoperaatiot
Kappale Sisältö Sivu
18.1 Yleiskuva 18-2
18.2 Ehdoton hyppy yksikössä 18-3
18.3 Hyppy, kun 1 (ehdollinen) 18-4
18.4 Hyppy, kun 0 (ehdollinen) 18-5
18.5 Hyppymerkki 18-6
Yleiskuvakappaleesta
18
18-2 C79000-G7000-C402-01
18.1 Yleiskuva
Hyppymerkki on hyppyoperaation operandi. Se muodostuu enintään 4merkistä. Ensimmäisen merkin on oltava kirjain, muut merkit voivat ollakirjaimia tai lukuja (esim. SEG3). Hyppymerkki ilmoittaa kohteen, johonohjelman on hypättävä.
Hyppymerkki annetaan JMP --kehyksen kautta (katso kuva 18-1).
Kohdehyppymerkin on oltava virtapiirin alussa. Kohdehyppymerkki annetaanvalitsemalla FUP--valintakehyksestä LABEL. Näyttöön tulee tyhjä kehys,johon syötetään hyppymerkin nimi (katso kuva 18-1).
SEG3
JMP
Virtapiiri 1
Virtapiiri X
Virtapiiri 2
.
.
.
E 0.1
A 4.0
=
SEG3
E 0.4
A 4.1
R
Kuva 18-1 Hyppymerkki operandina ja kohteena
Hyppymerkkioperandina
Hyppymerkkikohteena
Hyppyoperaatiot
18-3C79000-G7000-C402-01
18.2 Ehdoton hyppy yksikössä
Operaatio ehdoton hyppy yksikössä vastaa operaatiota ”menehyppymerkkiin”. Mitään hyppyoperaation ja hyppymerkin välisistäoperaatioista ei suoriteta.
Tätä operaatiota voidaan käyttää kaikissa koodiyksiköissä, esim.organisaatioyksiköissä (OBt), toimintayksiköissä (FBt) ja toiminnoissa (FCt).
Ehdoton hyppy kehyksessä ei saa olla esilukituksia.
Taulukko 18-1 Ehdoton hyppy yksikössä--kehys ja parametri
FUP--kehys Parametri Tied.tyyp. Muistialue Kuvaus
<Operandi>
JMP
Hyppymerkinnimi
-- -- Operandi ilmoittaa merkin, johonehdoton hyppy tapahtuu.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --
CAS1
JMP
Virtapiiri 1
Virtapiiri X
Hyppy suoritetaan aina. Mitään hyppyoperaation jahyppymerkin välisistä operaatioista ei suoriteta.
CAS1
E 0.4A 4.1R
??.?
.
.
.
Operaatio ei muuta tilasanan bittejä.
Kuva 18-2 Ehdoton hyppy: Hyppy merkkiin
Kuvaus
Hyppyoperaatiot
18-4 C79000-G7000-C402-01
18.3 Hyppy, kun 1 (ehdollinen)
Operaatio hyppy, kun 1 vastaa operaatiota ”mene hyppymerkkiin”, josLUK = ”1”. Tätä operaatiota varten käytetään FUP--elementtiä ”ehdotonhyppy”, kuitenkin edeltävällä lukituksella. Ehdollinen hyppy suoritetaan vainsilloin, kun tämän lukituksen LUK = 1. Mitään hyppyoperaation jahyppymerkin välisistä operaatioista ei suoriteta.
Tätä operaatiota voidaan käyttää kaikissa koodiyksiköissä, esim.organisaatioyksiköissä (OBt), toimintayksiköissä (FBt) ja toiminnoissa (FCt).
Taulukko 18-2 Hyppy, kun 1 (ehdollinen)--kehys ja parametri
FUP--kehys Parametri Tied.tyyp. Muistialue Kuvaus
<Operandi>
JMP
Hyppymer--kin nimi
-- -- Operandi ilmoittaa merkin, johonhypätään kun LUK = 1.
Virtapiiri 1
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 1 0
Mikäli E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.Operaatiota, joka nollaa lähdön A 4.0, ei suoriteta, vaikka-kin E 0.3 = 1.
CAS1
Virtapiiri 2
JMP
E 0.3
E 0.0
A 4.0R
Virtapiiri 3
CAS1
E 0.4A 4.1R
Kuva 18-3 Ehdollinen hyppy: Hyppy, kun 1
Kuvaus
Hyppyoperaatiot
18-5C79000-G7000-C402-01
18.4 Hyppy, kun 0 (ehdollinen)
Operaatio hyppy, kun 0 vastaa operaatiota ”mene hyppymerkkiin”, jokasuoritetaan, jos LUK = ”0”.
Tätä operaatiota voidaan käyttää kaikissa koodiyksiköissä, esim.organisaatioyksiköissä (OBt), toimintayksiköissä (FBt) ja toiminnoissa (FCt).
Taulukko 18-3 Hyppy, kun 0--kehys ja parametri
FUP--kehys Parameter Tied.tyyp. Muistialue Kuvaus
<Operandi>
JMPN
Hyppymerkinnimi
-- -- Operandi ilmoittaa merkin, johonhypätään kun LUK = 0.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- 0 1 1 0
Mikäli E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.Operaatiota, joka nollaa lähdön A 4.0, ei suoriteta, vaikka-kin E 0.3 = 1.
Mitään hyppyoperaation ja hyppymerkin välisistäoperaatioista ei suoriteta.
Virtapiiri 1
CAS1
Virtapiiri 3
Virtapiiri 2
JMPN
E 0.3
E 0.4
A 4.1
R
E 0.0
A 4.0R
CAS1
Kuva 18-4 Hyppy, kun 0
Kuvaus
Hyppyoperaatiot
18-6 C79000-G7000-C402-01
18.5 Hyppymerkki
Hyppymerkki on hyppyoperaation kohteen tunnus. Jokaista ehdollista hyppyä(JMP tai JMPN) varten on oltava olemassa myös hyppymerkki (LABEL).
Muoto Kuvaus
LABEL
4 merkkiä: ensimmäinen merkki: kirjainloput merkit: kirjaimia tai numeroita
Jos E 0.0 = 1, suoritetaan hyppy hyppymerkkiin CAS1.
Hypyn vuoksi ei lähdössä A 4.0 suoriteta operaatiota ”lähdönnollaus”, vaikkakin E 0.3 = 1.
Virtapiiri 1
CAS1
Virtapiiri 3
CAS1
Virtapiiri 2
JMP
E 0.3
E 0.4
A 4.1
R
E 0.0
A 4.0
R
Kuva 18-5 Hyppymerkki
Kuvaus
Hyppyoperaatiot
17-1C79000-G7000-C402-01
Tiedostoyksikköoperaatiot
Kappale Sisältö Sivu
17.1 Tiedostoyksikön avaus 17-2
Yleiskuvakappaleesta
17
17-2 C79000-G7000-C402-01
17.1 Tiedostoyksikön avaus
Operaatiolla tiedostoyksikön avaus avataan tiedostoyksikköglobaalitiedostoyksikkönä (DB) tai oheistiedostoyksikkönä (DI).Tiedostoyksikön numero siirretään DB-- tai DI--rekisteriin. Sitä seuraavatDB-- ja DI--käskyt käsittelevät vastaavia yksiköitä rekisterien sisällöistäriippuen.
Taulukko 17-1 Tiedostoyksikön avaus--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
<DB--numero> tai<DI--numero>
AUF
DB:n tai DI:nnumero
BLOCK_DB DB, DI DB:n tai DI:n numero;alue riippuu CPU:sta.
Taulukko 17-2 Tiedostoyksikön avaus--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
OPN
<DB--numero> tai<DI--numero>
DB:n tai DI:nnumero
BLOCK_DB DB, DI DB:n tai DI:n numero;alue riippuu CPU:sta.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- -- -- -- --
DB10 on aktuelli avattu tiedostoyksikkö. SiksiDBX 0.0:n kysely viittaa DB10:ssä olevaantiedostotavun 0 bittiin 0. Tämän bitin signaaliti-la osoitetaan lähdölle A 4.0.
DB10
DBX 0.0
A 4.0
Operaatio ei muuta tilasanan bittejä.
Virtapiiri 1
Virtapiiri 2
AUF
=
Kuva 17-1 Tiedostoyksikön avaus
Kuvaus
Tiedostoyksikköoperaatiot
16-1C79000-G7000-C402-01
Siirto-- ja pyöritysoperaatiot
Kappale Sisältö Sivu
16.1 Siirto--operaatiot 16-2
16.2 Pyöritysoperaatiot 16-10
Yleiskuvakappaleesta
16
16-2 C79000-G7000-C402-01
16.1 Siirto--operaatiot
Siirto--operaatioilla voidaan tulon IN sisältö siirtää biteittäin vasemmalle taioikealle (katso kappale 6.3). Siirto n bittiä vasemmalle kertoo tulon INsisällön 2n:llä; siirto n bittiä oikealle jakaa tulon IN sisällön 2n:llä. Jos siisesimerkiksi desimaaliarvon 3 binääristä ekvivalenttia siirretään 3 bittiävasemmalle, on tuloksena desimaaliarvon 24 binäärinen ekvivalentti. Mikälidesimaaliarvon 16 binääristä ekvivalenttia siirretään 2 bittiä oikealle, ontuloksena desimaaliarvon 4 binäärinen ekvivalentti.
Tuloparametrille annettava luku ilmoittaa kuinka monella bitillä sisältöä onsiirrettävä. Kohdat, jotka siirto--operaation seurauksena vapautuvat, täytetäänjoko nollilla tai etumerkkibitin signaalitilalla (”0” kun positiivinen, ”1” kunnegatiivinen). Viimeksi siirretty bitti ladataan tilasanan bittiin A1 (katso kap-pale 6.3). Tilasanan bitit A0 ja OV asetetaan takaisin ”0”:ksi. Tilasanan bittiA1 voidaan tulkita hyppyoperaatioilla.
Käytettävissä ovat seuraavat siirto--operaatiot:
S 16 bitin siirto vasemmalle, 32 bitin siirto vasemmalle
S 16 bitin siirto oikealle, 32 bititn siirto oikealle
S Kokonaisluvun (16 bittiä) siirto oikealle, kokonaisluvun (32 bittiä) siirtooikealle.
Operaatio 16 bitin siirto vasemmalle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 15 biteittäin vasemmalle.
Tulo N ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin16, näyttää käsky lähdössä OUT 0 ja asettaa tilasanan bitit A0 ja OV ”0”:ksi.Oikealta vapautuvat bittipaikat täytetään nollilla. Siirto--operaation tulostavoi kysyä lähdöstä OUT.
Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttää ENOviimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.
Kuvaus
16 bitin siirtovasemmalle
Siirto-- ja pyöritysoperaatiot
16-3C79000-G7000-C402-01
15... ...8 7... ...0
0 1 0 1
0 1 0 1 0 1 0 10 0 0 0
0 1 0 01 1 0 1
IN
N
OUT 0 0 0 0
1 1 1 1
0 0 0 0 1 1
6 paikkaa
Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).
Nämä viisi bittiähäviävät. Vapautuneet
bittipaikat täytetäännollilla.
Parametri:
Kuva 16-1 Tulon IN bittien siirto kuusi bittipaikkaa vasemmalle
Taulukko 16-1 16 bitin siirto vasemmalle--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, L, D, T, Z Vapautustulo
SHL_W
ENIN WORD E, A, M, L, D Arvo, joka siirretään
IN
EN
OUT
N WORD E, A, M, L, D Bittipaikkojen määrä, joillasiirretään
N
OU
ENOOUT WORD E, A, M, L, D Siirto--operaation tulosN ENOENO BOOL E, A, M, L, D Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1
Operaatio aktivoidaan, jos E 0.0 = 1.
Merkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran va-semmalle.
Tulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitin sig-naalitila on ”1”.
A 4.0
SHL_W
N
OUT
EN
ENOMW2
IN
Operaatio suoritetaan (EN = 1):
MW4MW0
E 0.0
S
Kuva 16-2 16 bitin siirto vasemmalle
Siirto-- ja pyöritysoperaatiot
16-4 C79000-G7000-C402-01
Operaatio 32 bitin siirto vasemmalle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 31 biteittäin vasemmalle.Tulo N ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin32, näyttää käsky lähdössä OUT 0 ja asettaa tilasanan bitit A0 ja OV ”0”:ksi.Oikealta vapautuvat bittipaikat täytetään nollilla. Siirto--operaation tulostavoi kysyä lähdöstä OUT.
Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.
Taulukko 16-2 32 bitin siirto vasemmalle--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
SHL_DW EN BOOL E, A, M, L, D, T, Z Vapautustulo_
IN DWORD E, A, M, L, D Arvo, joka siirretään
IN OUT N WORD E, A, M, L, D Bittipaikkojen määrä, joilla siirretään
N ENO OUT DWORD E, A, M, L, D Siirto--operaation tulos
ENENO BOOL E, A, M, L, D Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1
Operaatio aktivoidaan, jos E 0.0 = 1.
Merkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien luku-määrän verran vasemmalle.
Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirre-tyn bitin signaalitila on ”1”.
SHL_DW
N
OUT
EN
ENOMW4
IN
Operaatio suoritetaan (EN = 1):
MD10MD0A 4.0
E 0.0
S
Kuva 16-3 32 bitin siirto vasemmalle
32 bitin siirtovasemmalle
Siirto-- ja pyöritysoperaatiot
16-5C79000-G7000-C402-01
Operaatio 16 bitin siirto oikealle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 15 biteittäin oikealle.Bitteihin 16 ... 31 ei vaikuteta. Tulo N ilmoittaa, kuinka monella bitillä siir-retään. N:n ollessa suurempi kuin 16, näyttää käsky lähdössä OUT 0 ja aset-taa tilasanan bitit A0 ja OV ”0”:ksi. Vasemmalta vapautuvat bittipaikat täy-tetään nollilla. Siirto--operaation tulosta voi kysyä lähdöstä OUT.
Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.
Taulukko 16-3 16 bitin siirto oikealle--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
SHR WEN BOOL E, A, M, L, D, T, Z Vapautustulo
SHR_W
ENIN WORD E, A, M, L, D Arvo, joka siirretään
IN
EN
OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla
siirretään
N ENO OUT WORD E, A, M, L, D Siirto--operaation tulos
ENO BOOL E, A, M, L, D Vapautustulo
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1
Operaatio aktivoidaan, jos E 0.0 = 1.
Merkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran oi-kealle.
Tulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitinsignaalitila on ”1”.
SHR_W
N
OUT
EN
ENOMW2
IN
Operaatio suoritetaan (EN = 1):
MW4MW0A 4.0
E 0.0
S
Kuva 16-4 16 bitin siirto oikealle
16 bitin siirtooikealle
Siirto-- ja pyöritysoperaatiot
16-6 C79000-G7000-C402-01
Operaatio 32 bitin siirto oikealle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 31 biteittäin oikealle. TuloN ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin 32,näyttää käsky lähdössä OUT 0 ja asettaa tilasanan bitit A0 ja OV ”0”:ksi.Vasemmalta vapautuvat bittipaikat täytetään nollilla. Siirto--operaation tulos-ta voi kysyä lähdöstä OUT.
Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.
1 1 1
31... ...16 15... ...0
1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1
0 1 0 10 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1
3 paikkaa
Vapautuneetbittipaikat täytetäännollilla.
Molemmatbitit häviävät.
IN
N
OUT
Parametri:
Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).
Kuva 16-5 Tulon IN bittien siirto kolme bittipaikkaa oikealle
Taulukko 16-4 32 bitin siirto oikealle--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
SHR DWEN BOOL E, A, M, L, D, T, Z Vapautustulo
SHR_DW
ENIN DWORD E, A, M, L, D Arvo, joka siirretään
IN
EN
OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla
siirretään
N ENO OUT DWORD E, A, M, L, D Siirto--operaation tulos
ENO BOOL E, A, M, L, D Vapautuslähtö
32 bitin siirtooikealle
Siirto-- ja pyöritysoperaatiot
16-7C79000-G7000-C402-01
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1
Operaatio aktivoidaan, jos E 0.0 = 1.
Merkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien lukumääränverran oikealle.
Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirretynbitin signaalitila on ”1”.
SHR_DW
N
OUT
MW4
IN
Operaatio suoritetaan (EN = 1):
MD10MD0
EN
ENOA 4.0
E 0.0
S
Kuva 16-6 32 bitin siirto oikealle
Operaatio kokonaisluvun (16 bittiä) siirto oikealle aktivoidaan vapautustulon(EN) signaalitilalla ”1” ja se siirtää tulon IN bittejä 0 ... 15 biteittäin oikealle.Tulo N ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin16, toimii käsky ikäänkuin N = 16. Vasemmanpuoleiset bittipaikat varataanbitin 15 signaalitilalla (kokonaisluvun etumerkki), ts. nollalla, mikäli luku onpositiivinen ja 1:llä luvun ollessa negatiivinen. Siirto--operaation tulosta voikysyä lähdöstä OUT.
Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.
Kokonaisluvun(16 bittiä) siirtooikealle
Siirto-- ja pyöritysoperaatiot
16-8 C79000-G7000-C402-01
15... ...8 7... ...0
1 0 1 0
0 0 0 0 1 0 1 01 0 1 0
1 1 1 11 1 1 1 0 0 0 0
1 1 1 1
4 paikkaa
Vapautuneet bittipaikattäytetään etumerkkibitinsignaalitilalla.
1 0 1 0
Nämä kolmebittiä häviävät.
Etumerkkibitti
IN
N
OUT
Parametri:
Viimeksi siirretyn bitin signaalitilatallennetaan tilasanan bittiin A1(signaalitila on sama kuin ENO:lla).
Kuva 16-7 Tulon IN bittien siirto viidellä bittipaikalla oikealle etumerkillä
Taulukko 16-5 Kokonaisluvun (16 bittiä) siirto oikealle ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
SHR IEN BOOL E, A, M, L, D, T, Z Vapautustulo
SHR_I
ENIN INT E, A, M, L, D Arvo, joka siirretään
IN
EN
OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla
siirretään
N ENO OUT INT E, A, M, L, D Siirto--operaation tulos
ENO BOOL E, A, M, L, D Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1
Operaatio aktivoidaan, jos E 0.0 = 1.
Merkkerisanaa MW0 siirretään MW2:ssaannettujen bittien lukumäärän verran oi-kealle.
Tulos tallennetaan MW4:ään. Lähtö A 4.0asetetaan, mikäli viimeksi siirretyn bitin sig-naalitila on ”1”.
SHR_I
N
OUT
MW2
IN
Operaatio suoritetaan (EN = 1):
MW4MW0
EN
ENO
A 4.0
E 0.0
S
Kuva 16-8 Kokonaisluvun (16 bittiä) siirto oikealle
Siirto-- ja pyöritysoperaatiot
16-9C79000-G7000-C402-01
Operaatio kokonaisluvun (32 bittiä) siirto oikealle aktivoidaan vapautustulon(EN) signaalitilalla ”1” ja se siirtää tulon IN koko sisällön biteittäin oikealle.Tulo N ilmoittaa, kuinka monella bitillä siirretään. N:n ollessa suurempi kuin32, toimii käsky ikäänkuin N = 32. Vasemmanpuoleiset bittipaikat varataanbitin 31 signaalitilalla (kokonaisluvun etumerkki), ts. nollalla, mikäli luku onpositiivinen ja 1:llä luvun ollessa negatiivinen. Siirto--operaation tulosta voikysyä lähdöstä OUT.
Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi siirretyn bitin signaalitilan (vastaa tilasanan A1:tä ja LUK:ta).Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä operaatioita(kaskadikytkentä) ei käsitellä, mikäli viimeksi siirretyn bitin signaalitila on”0”.
Taulukko 16-6 Kokonaisluvun (32 bittiä) siirto oikealle--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, L, D, T, Z Vapautustulo
SHR_DI
ENIN DINT E, A, M, L, D Arvo, joka siirretään
IN
EN
OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla
siirretään
N ENO OUT DINT E, A, M, L, D Siirto--operaation tulosN ENOENO BOOL E, A, M, L, D Vapautustulo
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1
Operaatio aktivoidaan, jos E 0.0 = 1.
Merkkerikaksoissanaa MD0 siirretäänMW4:ssä annettujen bittien luku-määrän verran oikealle.
Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi siirre-tyn bitin signaalitila on ”1”.
SHR_DI
N
OUT
MW4
IN
Operaatio suoritetaan (EN = 1):
MD10MD0
EN
ENO
A 4.0
E 0.0
S
Kuva 16-9 Kokonaisluvun (32 bittiä) siirto oikealle
Kokonaisluvun(32 bittiä) siirtooikealle
Siirto-- ja pyöritysoperaatiot
16-10 C79000-G7000-C402-01
16.2 Pyöritysoperaatiot (rotaatio)
Pyöritysoperaatioilla voidaan tulon IN koko sisältöä pyörittää biteittäinoikealle ja vasemmalle. Vapautuneet paikat täytetään tulosta IN siirrettyjenbittien signaalitiloilla.
Tuloparametrille N annettu luku ilmoittaa, kuinka monella bitillä on pyöri-tettävä.
Valitun operaation mukaan tapahtuu pyöritys bitillä A1 (katso kappale 6.3).Tilasanan bitti A0 asetetaan takaisin ”0”:ksi.
Käytettävissä ovat seuraavat pyöritysoperaatiot:
S 32 bitin pyöritys vasemmalle
S 32 bitin pyöritys oikealle
Operaatio 32 bitin pyöritys vasemmalle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se pyörittää tulon IN koko sisällön biteittäinvasemmalle. Tulo N ilmoittaa, kuinka monella bitillä pyöritetään. N:n ollessasuurempi kuin 32, pyöritetään kaksoissanaa (((N--1) moduuli 32) +1):llä. Oi-kealta vapautuvat bittipaikat täytetään pyöritettyjen bittien signaalitiloilla.Pyöritysoperaation tulosta voi kysyä lähdöstä OUT.
Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi pyöritetyn bitin signaalitilan (vastaa tilasanan A1:tä jaLUK:ta). Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä ope--raatioita (kaskadikytkentä) ei käsitellä, mikäli viimeksi pyöritetyn bitin sig-naalitila on ”0”.
1 1 1
31... ...16 15... ...0
1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 1 1 11 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1
3 paikkaa
Kolmen siirretyn bitin signaalitilaväliinkirjoitetaan vapautuneisiinpaikkoihin.
Viimeksi siirretyn bitin signaalitilatallennetaan bittiin A1 (signaalitilaon sama kuin ENO:n).
IN
N
OUT
Parametri:
Kuva 16-10 Tulon IN bittien pyöritys kolme bittipaikkaa vasemmalle
Kuvaus
32 bitin pyöritysvasemmalle
Siirto-- ja pyöritysoperaatiot
16-11C79000-G7000-C402-01
Taulukko 16-7 32 bitin pyöritys vasemmalle--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, L, D, T, Z VapautustuloROL_DW
ENIN DWORD E, A, M, L, D Arvo, jota pyöritetään
IN
EN
OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla
pyöritetään
N ENO OUT DWORD E, A, M, L, D Pyöritysoperaation tulosN ENOENO BOOL E, A, M, L, D Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1
Operaatio aktivoidaan, jos E 0.0 = 1.
Merkkerikaksoissanaa MD0 pyöritetäänMW4:ssä annettujen bittien lukumääränverran vasemmalle.
Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi pyöritetynbitin signaalitila on ”1”.
ROL_DW
N
OUT
EN
ENOMW4
IN
Operaatio suoritetaan (EN = 1):
MD10MD0A 4.0
E 0.0
S
Kuva 16-11 32 bitin pyöritys vasemmalle
Operaatio 32 bitin pyöritys oikealle aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se pyörittää tulon IN koko sisällön biteittäin oikealle.Tulo N ilmoittaa, kuinka monella bitillä pyöritetään. N:n arvo voi olla 0:n ja31:n välillä. N:n ollessa suurempi kuin 32, pyöritetään kaksoissanaa (((N--1)moduuli 32) +1):llä. Vasemmalta vapautuvat bittipaikat täytetään pyöritetty-jen bittien signaalitiloilla. Pyöritysoperaation tulosta voi kysyä lähdöstäOUT.
Suoritettu operaatio asettaa N:n ollessa erisuuri kuin nolla tilasanan A0-- jaOV--bitin aina takaisin ”0”:ksi. Jos operaatio suoritetaan (EN = 1), näyttääENO viimeksi pyöritetyn bitin signaalitilan (vastaa tilasanan A1:tä jaLUK:ta). Tämän kehyksen jälkeen tulevia muita ENO:n kautta liitettyjä ope--raatioita (kaskadikytkentä) ei käsitellä, mikäli viimeksi pyöritetyn bitin sig-naalitila on ”0”.
32 bitin pyöritysoikealle
Siirto-- ja pyöritysoperaatiot
16-12 C79000-G7000-C402-01
1 0 1
31... ...16 15... ...0
1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1
1 1 1 01 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0
3 paikkaa
IN
N
OUT
Parametri:
Viimeksi siirretyn bitin signaalitilatallennetaan bittiin A1 (signaalitilaon sama kuin ENO:lla).
Kolmen siirretyn bitinsignaalitila väliinkirjoite-taan vapautuneisiinkohtiin.
Kuva 16-12 Tulon IN bittien pyöritys kolme bittipaikkaa oikealle
Taulukko 16-8 32 bitin pyöritys oikealle--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, L, D, T, Z VapautustuloROR_DW
ENIN DWORD E, A, M, L, D Arvo, jota pyöritetään
IN
EN
OUTN WORD E, A, M, L, D Bittipaikkojen määrä, joilla
pyöritetään
N ENO OUT DWORD E, A, M, L, D Pyöritysoperaation tulosN ENOENO BOOL E, A, M, L, D Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x -- x x x 1
Operaatio aktivoidaan, jos E 0.0 = 1.
Merkkerikaksoissanaa MD0 pyöritetäänMW4:ssä annettujen bittien lukumääränverran oikealle.
Tulos tallennetaan MD10:een. LähtöA 4.0 asetetaan, mikäli viimeksi pyöritetynbitin signaalitila on ”1”.
ROR_DW
N
OUT
MW4
IN
Operaatio suoritetaan (EN = 1):
MD10MD0
ENO
EN
A 4.0
E 0.0
S
Kuva 16-13 32 bitin pyöritys oikealle
Siirto-- ja pyöritysoperaatiot
15-1C79000-G7000-C402-01
Sanalukitusoperaatiot
Kappale Sisältö Sivu
15.1 Yleiskuva 15-2
15.2 16 bitin JA--lukitus 15-3
15.3 32 bitin JA--lukitus 15-4
15.4 16 bitin TAI--lukitus 15-5
15.5 32 bitin TAI--lukitus 15-6
15.6 16 bitin EHDOTON TAI--lukitus 15-7
15.7 32 bitin EHDOTON TAI--lukitus 15-8
Yleiskuvakappaleesta
15
15-2 C79000-G7000-C402-01
15.1 Yleiskuva
Sanalukitusoperaatioilla lukitaan sana-- ja kaksoissanapareja keskenään bi-teittäin boolen logiikan mukaisesti. Sanalukituksia varten on käytettävissäseuraavat operaatiot:
S 16 bitin JA--lukitus: Tällä operaatiolla lukitaan kaksi sanaa keskenäänbiteittäin JA--totuustaulukon mukaisesti.
S 32 bitin JA--lukitus: Tällä operaatiolla lukitaan kaksi kaksoissanaa kes-kenään biteittäin JA--totuustaulukon mukaisesti.
S 16 bitin TAI--lukitus: Tällä operaatiolla lukitaan kaksi sanaa keskenäänbiteittäin TAI--totuustaulukon mukaisesti.
S 32 bitin TAI--lukitus: Tällä operaatiolla lukitaan kaksi kaksoissanaa kes-kenään biteittäin TAI--totuustaulukon mukaisesti.
S 16 bitin EHDOTON TAI--lukitus: Tällä operaatiolla lukitaan kaksi sanaakeskenään biteittäin EHDOTON TAI--totuustaulukon mukaisesti.
S 32 bitin EHDOTON TAI--lukitus: Tällä operaatiolla lukitaan kaksi kak-soissanaa keskenään biteittäin EHDOTON TAI--totuustaulukon mukaises-ti.
Mitä sanalukitus--operaatiot ovat?
Sanalukitusoperaatiot
15-3C79000-G7000-C402-01
15.2 16 bitin JA--lukitus
Operaatio 16 bitin JA--lukitus aktivoidaan vapautustulon (EN) signaalitilalla”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvot biteittäinJA--totuustaulukon mukaisesti. Arvot tulkitaan pelkkänä bittimallina. Tulostavoi kysyä lähdöstä OUT. ENO:n signaalitila on sama kuin EN:n.
Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:
S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.
S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.
Taulukko 15-1 16 bitin JA--lukitus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloWAND_W
ENIN1 WORD E, A, M, D, L tai
vakioLukituksen ensimmäinen arvo
IN1
IN2
OUT
ENO
IN2 WORD E, A, M, D, L taivakio
Lukituksen toinen arvo
IN2 ENOOUT WORD E, A, M, D, L Lukitustulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1
Operaatio aktivoidaan, jos E 0.0 = 1.Vain biteillä 0 ... 3 on merkitystä, kaikkimuut MW0:n bitit on eliminoitu.IN1 =0101010101010101IN2 =0000000000001111OUT =0000000000000101
A 4.0 on ”1”, jos lukitus suoritetaan.
WAND_W
IN2
OUT
EN
ENO2# 0000000000001111
MW2IN1MW0
Operaatio suoritetaan (EN = 1):
A 4.0
E 0.0
=
Kuva 15-1 16 bitin JA--lukitus
Kuvaus
Sanalukitusoperaatiot
15-4 C79000-G7000-C402-01
15.3 32 bitin JA--lukitus
Operaatio 32 bitin JA--lukitus aktivoidaan vapautustulon (EN) signaalitilalla”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvot biteittäinJA--totuustaulukon mukaisesti. Arvot tulkitaan pelkkänä bittimallina. Tulostavoi kysyä lähdöstä OUT. ENO:n signaalitila on sama kuin EN:n.
Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:
S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.
S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.
Taulukko 15-2 32 bitin JA--lukitus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloWAND_DW
ENIN1 DWORD E, A, M, D, L tai
vakioLukituksen ensimmäinen arvo
IN1
IN2
OUT
ENO
IN2 DWORD E, A, M, D, L taivakio
Lukituksen toinen arvo
IN2 ENOOUT DWORD E, A, M, D, L Lukitustulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1
Operaatio aktivoidaan, jos E 0.0 = 1. Vain biteillä0 ... 11 on merkitystä, kaikki muut MD4:n bitit on elimi-noitu.IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =00000000000000000000010101010101
A 4.0 on ”1”, jos lukitus suoritetaan.
WAND_DW
IN2
OUT
EN
ENODW#16#FFF
MD4IN1MD0
Operaatio suoritetaan (EN = 1):
A 4.0
E 0.0
=
Kuva 15-2 32 bitin JA--lukitus
Kuvaus
Sanalukitusoperaatiot
15-5C79000-G7000-C402-01
15.4 16 bitin TAI--lukitus
Operaatio 16 bitin TAI--lukitus aktivoidaan vapautustulon (EN) signaalitilalla”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvot biteittäinTAI--totuustaulukon mukaisesti. Arvot tulkitaan pelkkänä bittimallina.Tulosta voi kysyä lähdöstä OUT. ENO:n signaalitila on sama kuin EN:n.
Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:
S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.
S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.
Taulukko 15-3 16 bitin TAI--lukitus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloWOR_W
ENIN1 WORD E, A, M, D, L tai
vakioLukituksen ensimmäinen arvo
IN1
IN2
OUT
ENO
IN2 WORD E, A, M, D, L taivakio
Lukituksen toinen arvo
IN2 ENOOUT WORD E, A, M, D, L Lukitustulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1
Jos E 0.0 = 1, operaatio aktivoidaan. MW0:n javakioiden bitit lukitaan TAI:lla, jolloin bitit 0 ... 3asetetaan ”1”:ksi, kaikki muut MW0:n bitit ote-taan muuttumattomina MW2:een.
IN1 =0101010101010101IN2 =0000000000001111OUT =0101010101011111
A 4.0 on ”1”, jos lukitus suoritetaan.
WOR_W
IN2
OUT
EN
ENO2#0000000000001111
MW2IN1MW0
Operaatio suoritetaan (EN = 1):
A 4.0
E 0.0
=
Kuva 15-3 16 bitin TAI--lukitus
Kuvaus
Sanalukitusoperaatiot
15-6 C79000-G7000-C402-01
15.5 32 bitin TAI--lukitus
Operaatio 32 bitin TAI--lukitus aktivoidaan vapautustulon (EN) signaalitilalla”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvot biteittäinTAI--totuustaulukon mukaisesti. Arvot tulkitaan pelkkänä bittimallina.Tulosta voi kysyä lähdöstä OUT. ENO:n signaalitila on sama kuin EN:n.
Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:
S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.
S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.
Taulukko 15-4 32 bitin TAI--lukitus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloWOR_DW
ENIN1 DWORD E, A, M, D, L tai
vakioLukituksen ensimmäinen arvo
IN1
IN2
OUT
ENO
IN2 DWORD E, A, M, D, L taivakio
Lukituksen toinen arvo
IN2 ENOOUT DWORD E, A, M, D, L Lukitustulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1
Operaatio aktivoidaan, jos E 0.0 = 1. MD0:n ja vakioi-den bitit lukitaan TAI:lla, jolloin bitit 0 ... 11 asetetaan”1”:ksi, kaikki muut MD0:n bitit otetaan muuttumatto-mina MD4:een.IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =01010101010101010101111111111111
A 4.0 on ”1”, jos lukitus suoritetaan.
WOR_DW
IN2
OUT
EN
ENODW#16#FFF
MD4IN1MD0
Operaatio suoritetaan (EN = 1):
A 4.0
E 0.0
=
Kuva 15-4 32 bitin TAI--lukitus
Kuvaus
Sanalukitusoperaatiot
15-7C79000-G7000-C402-01
15.6 16 bitin EHDOTON TAI--lukitus
Operaatio 16 bitin EHDOTON TAI--lukitus aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvotbiteittäin EHDOTON TAI--totuustaulukon mukaisesti. Arvot tulkitaanpelkkänä bittimallina. Tulosta voi kysyä lähdöstä OUT. ENO:n signaalitila onsama kuin EN:n.
Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:
S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.
S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.
Taulukko 15-5 16 bitin EHDOTON TAI--lukitus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloWXOR_W
ENIN1 WORD E, A, M, D, L tai
vakioLukituksen ensimmäinen arvo
IN1
IN2
OUT
ENO
IN2 WORD E, A, M, D, L taivakio
Lukituksen toinen arvo
IN2 ENOOUT WORD E, A, M, D, L Lukitustulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1
WXOR_W
IN2
OUT
EN
ENO2#0000000000001111
MW2IN1MW0
Operaatio suoritetaan (EN = 1):
Operaatio aktivoidaan, jos tulo E 0.0 = 1.
IN1 =0101010101010101IN2 =0000000000001111OUT =0101010101011010
A 4.0 on ”1”, jos lukitus suoritetaan.
A 4.0
E 0.0
=
Kuva 15-5 16 bitin EHDOTON TAI--lukitus
Kuvaus
Sanalukitusoperaatiot
15-8 C79000-G7000-C402-01
15.7 32 bitin EHDOTON TAI--lukitus
Operaatio 32 bitin EHDOTON TAI--lukitus aktivoidaan vapautustulon (EN)signaalitilalla ”1” ja se lukitsee tulojen IN1 ja IN2 molemmat digitaaliarvotbiteittäin EHDOTON TAI--totuustaulukon mukaisesti. Arvot tulkitaanpelkkänä bittimallina. Tulosta voi kysyä lähdöstä OUT. ENO:n signaalitila onsama kuin EN:n.
Tuloksen suhde ”0”:aan lähdössä OUT vaikuttaa tilasanan bittiin A1seuraavasti:
S Jos lähdön OUT tulos on erisuuri kuin ”0”, asetetaan tilasanan bitti A1”1”:ksi.
S Jos lähdön OUT tulos on yhtäsuuri kuin ”0”, asetetaan tilasanan bitti A1”0”:ksi.
Taulukko 15-6 32 bitin EHDOTON TAI--lukitus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloWXOR_DW
ENIN1 DWORD E, A, M, D, L tai
vakioLukituksen ensimmäinen arvo
IN1
IN2
OUT
ENO
IN2 DWORD E, A, M, D, L taivakio
Lukituksen toinen arvo
IN2 ENOOUT DWORD E, A, M, D, L Lukitustulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 x 0 0 -- x 1 1 1
Operaatio aktivoidaan, jos tulo E 0.0 = 1.
IN1 =01010101010101010101010101010101IN2 =00000000000000000000111111111111OUT =01010101010101010101101010101010
A 4.0 on ”1”, jos lukitus suoritetaan.
WXOR_DW
IN2
OUT
EN
ENODW#16#FFF
MD4IN1MD0
Operaatio suoritetaan (EN = 1):
A 4.0
E 0.0
=
Kuva 15-6 32 bitin EHDOTON TAI--lukitus
Kuvaus
Sanalukitusoperaatiot
14-1C79000-G7000-C402-01
Siirto-- ja muunnosoperaatiot
Kappale Sisältö Sivu
14.1 Arvon siirto 14-2
14.2 BCD--luvun muunto kokonaisluvuksi (16 bittiä) 14-3
14.3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi 14-4
14.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi(32 bittiä)
14-5
14.5 BCD--luvun muunto kokonaisluvuksi (32 bittiä) 14-6
14.6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi 14-7
14.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi 14-8
14.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus 14-9
14.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus 14-10
14.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus 14-11
14.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus 14-12
14.12 Liukuluvun etumerkin vaihto 14-13
14.13 Luvun pyöristys 14-14
14.14 Kokonaisluvun muodostus 14-15
14.15 Seuraavaksi suuremman kokonaisluvun muodostusliukuluvusta
14-16
14.16 Seuraavaksi pienemmän kokonaisluvun muodostusliukuluvusta
14-17
Yleiskuvakappaleesta
14
14-2 C79000-G7000-C402-01
14.1 Arvon siirto
Arvon siirto--operaatiolla voidaan varata muuttujia, joilla on erikoisarvoja.
Tulossa IN annettu arvo kopioidaan lähdössä OUT annettuun operandiin.ENO:n signaalitila on sama kuin EN:n.
Arvon siirto--operaatio pystyy kopioimaan MOVE--kehyksellä kaikki 8:n,16:n tai 32:n bitin pituiset tiedostotyypit. Käyttäjämääritteiset tiedostotyypitkuten kentät ja rakenteet on kopioitava systeemitoiminnalla SFC 20”BLKMOV” (katso referenssikäsikirja /235/).
Master Control Relay (MCR) vaikuttaa operaatioon arvon siirto. Lähempäätietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.
Taulukko 14-1 Arvon siirto--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
MOVE
EN OUT
IN Kaikki 8:n, 16:n tai32:n bitin pituisettiedostotyypit
E, A, M, D, L taivakio
Lähdearvo
IN ENO OUT Kaikki 8:n, 16:n tai32:n bitin pituisettiedostotyypit
E, A, M, D, L Kohdeosoite
ENO BOOL E, A, M, D, L Vapautuslähtö
Operaatio suoritetaan, jos E 0.0 = 1. MW10:nsisältö kopioidaan avatun DB:n datasanaan12.
Jos operaatio suoritetaan A 4.0 = 1.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1
Operaatio suoritetaan (EN = 1):
MW10
DBW12A 4.0
E 0.0
=IN
OUTEN
ENO
MOVE
Kuva 14-1 Arvon siirto
Infoa integroiduista systeemitoiminnoista, joita käytetään siirto--operaatioinaja joiden avulla muuttujia, joilla on erikoisarvoja, voidaan varata edeltäkäsintai joiden avulla voidaan kopioida muuttujien eri lajeja, löytyyreferenssikäsikirjasta /235/.
Kuvaus
Muuttujien varaus
Siirto-- ja muunnosoperaatiot
14-3C79000-G7000-C402-01
14.2 BCD--luvun muunto kokonaisluvuksi (16 bittiä)
Operaatio BCD--luvun muunto kokonaisluvuksi (16 bittiä) lukeetuloparametrin IN sisällön kolminumeroisena binäärikoodattunadesimaalilukuna (BCD, + 999) ja muuntaa tämän luvun kokonaislukuarvoksi(16 bittiä). Lähtöparametri OUT ilmoittaa tuloksen.
ENO:n signaalitila on aina sama kuin EN:n.
Jos BCD--luvun jokin kohta/paikka on ei voimassa olevalla alueella 10:n ja15:n välillä, esiintyy muuntoa yritettäessä BCD--virhe:
S CPU menee STOP--tilaan. Diagnoosimuistiin merkitääntapahtumanumeron 2521 ”BCD--muuntovirhe”.
S Mikäli OB121 on ohjelmoitu, niin sitä kutsutaan.
Lähempää tietoa OB121:n ohjelmoinnista löytyy referenssikäsikirjasta/235/.
Taulukko 14-2 BCD--luvun muunto kokonaisluvuksi--kehys (16 bittiä) ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
BCD IEN BOOL E, A, M, D, L, T, Z Vapautustulo
BCD_I
EN
IN
OUT
ENO
IN WORD E, A, M, D, Ltai vakio
BCD--luku
IN ENO OUT INT E, A, M, D, L BCD--luvun kokonaislukuarvo(16 bittiä)
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1
Muunto suoritetaan, jos E 0.0 = 1. Merk-kerisanan MW10 sisältö luetaan kolmi-numeroisena BCD--lukuna ja muunnetaankokonaisluvuksi (16 bittiä). Tulos tallenne-taan MW12:een. Jos muunto suoritetaan,A 4.0 = 1 (ENO = EN).
Operaatio suoritetaan (EN = 1):
MW10
MW12A 4.0
E 0.0
=IN
OUTEN
ENO
BCD_I
Kuva 14-2 BCD--luvun muunto kokonaisluvuksi (16 bittiä)
Kuvaus
Siirto-- ja muunnosoperaatiot
14-4 C79000-G7000-C402-01
14.3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi
Operaatio kokonaisluvun (16 bittiä) muunto BCD--luvuksi lukeetuloparametrin IN sisällön kokonaislukuarvona (16 bittiä) ja muuntaa senkolminumeroiseksi binäärikoodatuksi desimaaliluvuksi (BCD, + 999).Lähtöparametri OUT ilmoittaa tuloksen. Jos ilmenee ylivuoto, ENO = 0.
Taulukko 14-3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
I BCDEN BOOL E, A, M, D, L, T, Z Vapautustulo
I_BCD
EN OUTIN INT E, A, M, D, L
tai vakioKokonaisluku (16 bittiä)
IN ENO OUT WORD E, A, M, D, L Kokonaisluvun (16 bittiä)BCD--arvo
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1
Muunto suoritetaan, jos E 0.0 = 1. Merk-kerisanan MW10 sisältö luetaan koko-naislukuna (16 bittiä) ja muunnetaan kol-minumeroiseksi BCD--luvuksi. Tulos tall-ennetaan MW12:een. Mikäli esiintyy yli-vuoto, A 4.0 = 0. Jos tulon EN signaalitila= 0 (ts., muuntoa ei suoriteta), on lähdönA 4.0 signaalitila silloin myös ”0”.
Operaatio suoritetaan (EN = 1):
MW10
MW12A 4.0
E 0.0
=IN
OUTEN
ENO
I_BCD
Kuva 14-3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi
Kuvaus
Siirto-- ja muunnosoperaatiot
14-5C79000-G7000-C402-01
14.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä)
Operaatio kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä) lukeetuloparametrin IN sisällön kokonaislukuna (16 bittiä) ja muuntaa tämänkokonaisluvuksi (32 bittiä). Lähtöparametri OUT ilmoittaa tuloksen. ENO:nsignaalitila on aina sama kuin EN:n.
Taulukko 14-4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä) --kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
I DIEN BOOL E, A, M, D, L, T, Z Vapautustulo
I_DI
EN
IN
OUT
ENO
IN INT E, A, M, D, Ltai vakio
Arvo, joka muunnetaan
IN ENO OUT DINT E, A, M, D, L Tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1
Muunto suoritetaan, jos E 0.0 = 1.Merkkerisanan MW10 sisältö luetaankokonaislukuna (16 bittiä) ja muunnetaankokonaisluvuksi (32 bittiä). Tulostallennetaan MD12:een. Mikäli operaatiosuoritetaan, A 4.0 = 1 (ENO = EN).
Operaatio suoritetaan (EN = 1):
MW10
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
I_DI
Kuva 14-4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä)
Kuvaus
Siirto-- ja muunnosoperaatiot
14-6 C79000-G7000-C402-01
14.5 BCD--luvun muunto kokonaisluvuksi (32 bittiä)
Operaatio BCD--luvun muunto kokonaisluvuksi (32 bittiä) lukeetuloparametrin IN sisällön seitsennumeroisena binäärikoodattunadesimaalilukuna (BDC, + 9 999 999) ja muuntaa tämän luvunkokonaislukuarvoksi (32 bittiä). Lähtöparametri OUT ilmoittaa tuloksen.
ENO:n signaalitila on aina sama kuin EN:n.
Jos BCD--luvun jokin kohta/paikka on ei voimassa olevalla alueella 10:n ja15:n välillä, esiintyy muuntoa yritettäessä BCD--virhe:
S CPU menee STOP--tilaan. Diagnoosimuistiin merkitääntapahtumanumeron 2521 ”BCD--muuntovirhe”.
S Mikäli OB121 on ohjelmoitu, niin sitä kutsutaan.
Lähempää tietoa OB121:n ohjelmoinnista löytyy referenssikäsikirjasta/235/.
Taulukko 14-5 BCD--luvun muunto kokonaisluvuksi--kehys (32 bittiä) ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
BCD DIEN BOOL E, A, M, D, L, T, Z Vapautustulo
BCD_DI
EN OUTIN DWORD E, A, M, D, L
tai vakioBCD--luku
IN ENO OUT DINT E, A, M, D, L BCD--luvun kokonaislukuarvo(32 bittiä)
ENO BOOL E, A, M, D, L Vapautuslähtö
tilasanan bittien kuvaus
Muunto suoritetaan, jos E 0.0 = 1Merkkeri-kaksoissanan MD8 sisältö luetaan seitsen-numeroisena BCD--lukuna ja muunnetaankokonaisluvuksi (32 bittiä). Tulos tallenne-taan MD12:een. Mikäli muunto suoritetaan,A 4.0 = 1 (ENO = EN).
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
BCD_DI
Kuva 14-5 BCD--luvun muunto kokonaisluvuksi (32 bittiä)
Kuvaus
Siirto-- ja muunnosoperaatiot
14-7C79000-G7000-C402-01
14.6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi
Operaatio kokonaisluvun (32 bittiä) muunto BCD--luvuksi lukeetuloparametrin IN sisällön kokonaislukuarvona (32 bittiä) ja muuntaa tämänarvon seitsennumeroiseksi binäärikoodatuksi kokonaisluvuksi (BCD, + 9 999999). Lähtöparametri OUT ilmoittaa tuloksen. Jos ilmenee ylivuoto, ENO =0.
Taulukko 14-6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
DI BCDEN BOOL E, A, M, D, L, T, Z Vapautustulo
DI_BCD
EN OUTIN DINT E, A, M, D, L
tai vakioKokonaisluku (32 bittiä)
IN ENO OUT DWORD E, A, M, D, L Kokonaisluvun (32 bittiä)BCD--arvo
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1
Muunto suoritetaan, jos E 0.0 = 1. Merkkeri-kaksoissanan MD8 sisältö luetaan kokonais-lukuna (32 bittiä) ja muunnetaan seitsen-numeroiseksi BCD--luvuksi. Tulos tallenne-taan MD12:een. Jos esiintyy ylivuoto, A 4.0= 0. Mikäli tulon EN signaalitila = 0 (ts.,muuntoa ei suoriteta), on lähdön A 4.0 sig-naalitila silloin myös ”0”.
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
DI_BCD
Kuva 14-6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi
Kuvaus
Siirto-- ja muunnosoperaatiot
14-8 C79000-G7000-C402-01
14.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi
Operaatio kokonaisluvun (32 bittiä) muunto liukuluvuksi lukee tuloparametrinIN kokonaislukuna (32 bittiä) ja muuntaa tämän liukuluvuksi. LähtöparametriOUT ilmoittaa tuloksen. ENO:n signaalitila on aina sama kuin EN:n.
Taulukko 14-7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
DI REN BOOL E, A, M, D, L, T, Z Vapautustulo
DI_R
EN
IN
OUT
ENO
IN DINT E, A, M, D, Ltai vakio
Arvo, joka muunnetaan
IN ENO OUT REAL E, A, M, D, L Tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
Muunto suoritetaan, jos E 0.0 = 1. merk-kerikaksoissanan MD8 sisältö luetaan ko-konaislukuna (32 bittiä) ja muunnetaanliukuluvuksi. Tämän operaation tulostallennetaan MD12:een. Mikäli operaatiotaei suoriteta, A 4.0 = 0 (ENO = EN).
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
DI_R
Kuva 14-7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi
Kuvaus
Siirto-- ja muunnosoperaatiot
14-9C79000-G7000-C402-01
14.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus
Operaatio kokonaisluvun (16 bittiä) 1n komplementin muodostus lukeetuloparametrin IN sisällön ja suorittaa boolen 16 bitin EHDOTON TAIsanalukitusoperaation lukituksen (katso kappale 15.6) heksadesimaali--kaaviolla FFFFH. Täten jokaisen bitin arvosta tulee käänteinen.Lähtöparametri OUT ilmoittaa tuloksen. ENO:n signaalitila on aina samakuin EN:n.
Taulukko 14-8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
INV IEN BOOL E, A, M, D, L, T, Z Vapautustulo
INV_I
EN OUTIN INT E, A, M, D, L
tai vakioTuloarvo
IN ENO OUT INT E, A, M, D, L Kokonaisluvun (16 bittiä) 1nkomplementti
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
Muunto suoritetaan, jos E 0.0 = 1.Jokaisesta MW8:n bitistä tulee käänteinen:MW8 = 01000001 10000001 �
MW10 = 10111110 01111110Muuntoa ei suoriteta, jos E 0.0 = 0 jaA 4.0 = 0(ENO = EN).
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1
Operaatio suoritetaan (EN = 1):
MW8
MW10A 4.0
E 0.0
=IN
OUTEN
ENO
INV_I
Kuva 14-8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus
Kuvaus
Siirto-- ja muunnosoperaatiot
14-10 C79000-G7000-C402-01
14.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus
Operaatio kokonaisluvun (32 bittiä) 1n komplementin muodostus lukeetuloparametrin IN sisällön ja suorittaa boolen sanalukitusoperaationEHDOTON TAI lukituksen (katso kappale 15.6) heksadesimaalikaaviollaFFFF FFFFH. Täten jokaisen bitin arvosta tulee käänteinen. LähtöparametriOUT ilmoittaa tuloksen. ENO:n signaalitila on aina sama kuin EN:n.
Taulukko 14-9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
INV DIEN BOOL E, A, M, D, L, T, Z Vapautustulo
INV_DI
EN
IN
OUT
ENO
IN DINT E, A, M, D, L taivakio
Tuloarvo
IN ENO OUT DINT E, A, M, D, L Kokonaisluvun (32 bittiä)1n komplementti
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
Muunto suoritetaan, jos E 0.0 = 1. Merkkerikak-soissanan MD8 jokaisesta bitistä tulee kääntei--nen:
MD8 = F0FF FFF0 � MD12 = 0F00 000F
Muuntoa ei suoriteta, jos E0.0 = 0 ja A 4.0 = 0(ENO = EN).
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus 1 -- -- -- -- 0 1 1 1
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
INV_DI
Kuva 14-9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus
Kuvaus
Siirto-- ja muunnosoperaatiot
14-11C79000-G7000-C402-01
14.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus
Operaatio kokonaisluvun (16 bittiä) 2n komplementin muodostus lukeetuloparametrin IN sisällön ja kääntää etumerkin ympäri (esim. positiivisestaarvosta negatiiviseksi arvoksi). Lähtöparametri OUT ilmoittaa tuloksen.EN:n ja ENO:n signaalitila on aina sama, poikkeus: mikäli EN:n signaalitilaon ”1” ja esiintyy ylivuoto, on ENO:n signaalitila ”0”.
Taulukko 14-10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
NEG IEN BOOL E, A, M, D, L, T, Z Vapautustulo
NEG_I
EN OUTIN INT E, A, M, D, L tai
vakioTuloarvo
IN ENO OUT INT E, A, M, D, L Kokonaisluvun (16 bittiä)2n komplementti
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
Muunto suoritetaan, jos E 0.0 = 1. Merkkeri-sanan MW8 arvo ilmoitetaan käänteiselläetumerkillä MW10:ssä parametrille OUT.
Esimerkki:MW8 = +10 � MW10 = -- 10
Jos EN = 1 ja esiintyy ylivuoto, ENO = 0 jaA 4.0:n signaalitila on ”0”. Mikäli muuntoa eisuoriteta, A 4.0 = 0 (ENO = EN).
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Operaatio suoritetaan (EN = 1):
MW8
MW10A 4.0
E 0.0
=IN
OUTEN
ENO
NEG_I
Kuva 14-10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus
Kuvaus
Siirto-- ja muunnosoperaatiot
14-12 C79000-G7000-C402-01
14.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus
Operaatio kokonaisluvun (32 bittiä) 2n komplementin muodostus lukeetuloparametrin IN sisällön ja kääntää etumerkin ympäri (esim. positiivisestaarvosta negatiiviseksi arvoksi). Lähtöparametri OUT ilmoittaa tuloksen.EN:n ja ENO:n signaalitila on aina sama, poikkeus: mikäli EN:n signaalitilaon ”1” ja esiintyy ylivuoto, on ENO:n signaalitila ”0”.
Taulukko 14-11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
NEG DIEN BOOL E, A, M, D, L, T, Z Vapautustulo
NEG_DI
EN OUTIN DINT E, A, M, D, L tai
vakioTuloarvo
IN ENO OUT DINT E, A, M, D, L Kokonaisluvun (32 bittiä)2n komplementti
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
Muunto suoritetaan, jos E 0.0 = 1. Merkkerikaksois-sanan MD8 arvo ilmoitetaan käänteisellä etumerkilläMW12:ssa parametrille OUT. Esimerkki:
MD8 = + 60.000 � MD12 = -- 60.000.
Jos EN = 1 ja esiintyy ylivuoto, ENO = 0 ja A 4.0:nsignaalitila ”0”. mikäli muuntoa ei suoriteta, A 4.0 = 0(ENO = EN).
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Operaatio suoritetaan (EN = 1):
MD8
MD12E 0.0
=IN
OUTEN
ENO
NEG_DI
A 4.0
Kuva 14-11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus
Kuvaus
Siirto-- ja muunnosoperaatiot
14-13C79000-G7000-C402-01
14.12 Liukuluvun etumerkin vaihto
Operaatio liukuluvun etumerkin vaihto lukee tuloparametrin IN sisällön jakääntää etumerkkibitin ympäri, ts. operaatio muuttaa luvun etumerkin (esim.positiivisesta 0:sta negatiiviseksi 1:ksi). Eksponentin ja mantissan bititpysyvät muuttumattomina. Lähtöparametri OUT ilmoittaa tuloksen. EN:n jaENO:n signaalitila on aina sama, poikkeus: mikäli EN:n signaalitila on ”1” jaesiintyy ylivuoto, on ENO:n signaalitila ”0”.
Taulukko 14-12 Liukuluvun etumerkin vaihto--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
NEG REN BOOL E, A, M, D, L, T, Z Vapautustulo
NEG_R
EN
IN
OUT
ENO
IN REAL E, A, M, D, L taivakio
Tuloarvo
IN ENO OUT REAL E, A, M, D, L Tulos on käänteinen tuloarvo.
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
Muunto suoritetaan, jos E 0.0 = 1. Merkkerikak-soissanan MD8 arvo ilmoitetaan käänteiselläetumerkillä MD12:ssa parametrille OUT. Esimerk-ki:
MD8 = + 6,234 x 10--3 � MD12 = -- 6,234 x 10--3
Mikäli muuntoa ei suoriteta, A 4.0 = 0(ENO = EN).
Operaatio suoritetaan (EN = 1):
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- -- -- 0 x x 1
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
NEG_R
Kuva 14-12 Liukuluvun etumerkin vaihto
Kuvaus
Siirto-- ja muunnosoperaatiot
14-14 C79000-G7000-C402-01
14.13 Luvun pyöristys
Operaatio luvun pyöristys lukee tuloparametrin IN sisällön liukulukuna jamuuntaa sen kokonaisluvuksi (32 bittiä). Tulos on lähin lähtöparametrinOUT ilmoittama kokonaisluku. Mikäli murto--osa = x,5, niin parillinen lukupyöristetään alaspäin (esimerkki: 2,5 --> 2, 1,5 --> 2). Mikäli esiintyyylivuoto, ENO = 0. Mikälit tulo ei ole liukuluku, on OV--bitin ja OS--bitinarvo ”1” ja ENO:n arvo ”0”.
Taulukko 14-13 Luvun pyöristys--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
ROUNDEN BOOL E, A, M, D, L, T, Z Vapautustulo
ROUND
EN OUTIN REAL E, A, M, D, L tai
vakioArvo, joka pyöristetään
IN ENO OUT DINT E, A, M, D, L IN:n pyöristys lähimpäänkokonaislukuun
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1
Muunto suoritetaan, jos E 0.0 = 1. Merkkeri-kaksoissanan MD8 sisältö luetaan liukulukunaja muunnetaan periaatteella ”round to nearest”kokonaisluvuksi (32 bittiä). Tämän operaationtulos tallennetaan MD12:een. Mikäli esiintyyylivuoto, A 4.0 = 0. Jos tulon EN signaalitila =0 (ts., muuntoa ei suoriteta), on lähdön A 4.0signaalitila silloin myös ”0”.
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
ROUND
Kuva 14-13 Luvun pyöristys
Kuvaus
Siirto-- ja muunnosoperaatiot
14-15C79000-G7000-C402-01
14.14 Kokonaisluvun muodostus
Operaatio kokonaisluvun muodostus lukee tuloparametrin IN sisällönliukulukuna ja muuntaa tämän kokonaisluvuksi (32 bittiä) (esimerkki: 1,5:stätulee 1). Tulos on lähtöparametrissa OUT ilmoitettava liukuluvunkokonaisosa. Mikäli esiintyy ylivuoto, ENO = 0. Mikäli tulo ei ole liukuluku,on OV--bitin ja OS--bitin arvo ”1” ja ENO:n arvo ”0”.
Taulukko 14-14 Kokonaisluvun muodostus--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
TRUNCEN BOOL E, A, M, D, L, T, Z Vapautustulo
TRUNC
EN
IN
OUT
ENO
IN REAL E, A, M, D, L taivakio
Arvo, joka pyöristetään
IN ENO OUT DINT E, A, M, D, L IN:n kokonaislukuosa
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1
Muunto suoritetaan, jos E 0.0 = 1. Merkkeri-kaksoissanan MD8 sisältö luetaan liukulu-kuna ja muunnetaan periaatteella ”round tozero” kokonaisluvuksi (32 bittiä). Tulos onliukuluvun kokonaislukuosa, joka tallenne-taan MD12:een. Mikäli esiintyy ylivuoto,A 4.0 = 0. Jos tulon EN signaalitila = 0 (ts.,muuntoa ei suoriteta), on lähdön A 4.0 sig-naalitila silloin myös ”0”.
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
TRUNC
Kuva 14-14 Kokonaisluvun muodostus
Kuvaus
Siirto-- ja muunnosoperaatiot
14-16 C79000-G7000-C402-01
14.15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta
Operaatio seuraavaksi suuremman kokonaisluvun muodostus liukuluvustalukee tuloparametrin IN sisällön liukulukuna ja muuntaa tämän kokonais--luvuksi (32 bittiä) (esimerkki: +1,2 --> +2; --1,5 --> --1). Tulos on pieninkokonaisluku, joka on annettua liukulukua suurempi/yhtäsuuri.Lähtöparametri OUT ilmoittaa tuloksen. Mikäli esiintyy ylivuoto, ENO = 0.Mikäli tulo ei ole liukuluku, on OV--bitin ja OS--bitin arvo ”1” ja ENO:n arvo”0”.
Taulukko 14-15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
CEILEN BOOL E, A, M, D, L, T, Z Vapautustulo
CEIL
EN OUTIN REAL E, A, M, D, L tai
vakioArvo, joka muunnetaan
IN ENO OUT DINT E, A, M, D, L Tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1
Muunto suoritetaan, jos E 0.0 = 1. Merkkerikak-soissanan MD8 sisältö luetaan liukulukuna jamuunnetaan kokonaisluvuksi (32 bittiä) periaat-teella ”round to + infinity”. Tämän operaationtulos tallennetaan MD12:een. Mikäli esiintyyylivuoto, A 4.0 = 0. Jos tulon EN signaalitila = 0(ts., muuntoa ei suoriteta), on lähdön A 4.0 sig-naalitila silloin myös ”0”.
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
CEIL
Kuva 14-15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta
Kuvaus
Siirto-- ja muunnosoperaatiot
14-17C79000-G7000-C402-01
14.16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta
Operaatio seuraavaksi pienemmän kokonaisluvun muodostus liukuluvustalukee tuloparametrin IN sisällön liukulukuna ja muuntaa tämän kokonais--luvuksi (32 bittiä) (esimerkki: +1,5 --> +1; --1,5 --> --2). Tulos on suurinkokonaisluku, joka on annettua liukulukua pienempi/yhtäsuuri.Lähtöparametri OUT ilmoittaa tuloksen. Mikäli esiintyy ylivuoto, ENO = 0.Mikäli tulo ei ole liukuluku, on OV--bitin ja OS--bitin arvo ”1” ja ENO:n arvo”0”.
Taulukko 14-16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta--kehys ja parametri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
FLOOREN BOOL E, A, M, D, L, T, Z Vapautustulo
FLOOR
EN OUTIN REAL E, A, M, D, L tai
vakioArvo, joka muunnetaan
IN ENO OUT DINT E, A, M, D, L Tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x -- -- x x 0 x x 1
Muunto suoritetaan, jos E 0.0 = 1. Merkkerikak-soissanan MD8 sisältö luetaan liukulukuna jamuunnetaan kokonaisluvuksi (32 bittiä) periaat-teella ”round to -- infinity”. Tämän operaation tulostallennetaan MD12:een. Mikäli esiintyy ylivuoto, A4.0 = 0. Jos tulon EN signaalitila = 0 (ts., muuntoaei suoriteta), on lähdön A 4.0 signaalitila silloinmyös ”0”.
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
FLOOR
Kuva 14-16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta
Kuvaus
Siirto-- ja muunnosoperaatiot
14-18 C79000-G7000-C402-01
Siirto-- ja muunnosoperaatiot
13-1C79000-G7000-C402-01
Vertailuoperaatiot
Kappale Sisältö Sivu
13.1 Kokonaislukujen vertailu (16 bittiä) 13-2
13.2 Kokonaislukujen vertailu (32 bittiä) 13-3
13.3 Liukulukujen vertailu 13-4
Yleiskuvakappaleesta
13
13-2 C79000-G7000-C402-01
13.1 Kokonaislukujen vertailu (16 bittiä)
Operaatio kokonaislukujen vertailu (16 bittiä) suorittaa 16 bitinkokonaisluvun vertailuoperaation. Tuloja IN1 ja IN2 verrataandialogikentässä valitun vertailulajin mukaan. Vertailulajit on lueteltuseuraavassa taulukossa.
Mikäli vertailun tulos on ”tosi”, on operaation LUK ”1”, muuten ”0”. Vertai-lutuloksella ei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.
Taulukko 13-1 Kokonaislukujen vertailulajit (16 bittiä)
Vertailulaji Merkki
IN1 on yhtäsuuri kuin IN2. ==
IN1 on erisuuri kuin IN2. <>
IN1 on suurempi kuin IN2. >
IN1 on pienempi kuin IN2. <
IN1 on suurempi tai yhtäsuuri kuin IN2. >=
IN1 on pienempi tai yhtäsuuri kuin IN2. <=
Taulukko 13-2 Kokonaislukujen vertailu--kehys (16 bittiä) ja parametri; Esimerkki: yhtäsuuri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
CMPI
IN1 INTE, A, M, D, Ltai vakio
Ensimmäinen vertailuarvo
IN1
== IIN2 INT
E, A, M, D, Ltai vakio
Toinen vertailuarvo
IN2 Kehyksenlähtö
BOOL E, A, M, D, L Vertailun tulos
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x 0 -- 0 1 x 1
A 4.0 asetetaan, jos:
MW0 = MW2 JA tulon E 0.0 signaalitila on”1”
Vertailu on tosi:
MW2
MW0A 4.0E 0.0
S
CMP== I
IN2
IN1
&
Kuva 13-1 Kokonaislukujen vertailu (16 bittiä)
Kuvaus
Vertailuoperaatiot
13-3C79000-G7000-C402-01
13.2 Kokonaislukujen vertailu (32 bittiä)
Operaatio kokonaislukujen vertailu (32 bittiä) suorittaa 32 bitinkokonaisluvun vertailuoperaation. Tuloja IN1 ja IN2 verrataandialogikentässä valitun vertailulajin mukaan. Vertailulajit on lueteltuseuraavassa taulukossa.
Mikäli vertailun tulos on ”tosi”, on operaation LUK ”1”, muuten ”0”. Vertai-lutuloksella ei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.
Taulukko 13-3 Kokonaislukujen vertailulajit (32 bittiä)
Vertailulaji Merkki
IN1 on yhtäsuuri kuin IN2. ==
IN1 on erisuuri kuin IN2. <>
IN1 on suurempi kuin IN2. >
IN1 on pienempi kuin IN2. <
IN1 on suurempi tai yhtäsuuri kuin IN2. >=
IN1 on pienempi tai yhtäsuuri kuin IN2. <=
Taulukko 13-4 Kokonaislukujen vertailu--kehys (32 bittiä) ja parametri; Esimerkki: erisuuri
FUP--kehys Parametri Tied.tyyppi Muistialue Kuvaus
CMP<> D
IN1 DINTE, A, M, D, Ltai vakio
Ensimmäinen vertailuarvo
<> D
IN1IN2 DINT
E, A, M, D, Ltai vakio
Toinen vertailuarvo
IN2 Kehyksenlähtö
BOOL E, A, M, D, L Vertailun tulos
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- x x 0 -- 0 x x 1
A 4.0 asetetaan, jos:
S MD0 on erisuuri kuin MD4
S JA tulon E 0.0 signaalitilaon ”1”
Vertailu on tosi:
MD4
MD0 A 4.0
S
CMP<> D
IN2
IN1 E 0.0
&
Kuva 13-2 Kokonaislukujen vertailu (32 bittiä)
Kuvaus
Vertailuoperaatiot
13-4 C79000-G7000-C402-01
13.3 Liukulukujen vertailu
Operaatio liukulukujen vertailu suorittaa vertailuoperaation reaaliluvuilla.Tuloja IN1 ja IN2 verrataan dialogikentässä valitun vertailulajin mukaan.Vertailulajit on lueteltu seuraavassa taulukossa.
Mikäli vertailun tulos on ”tosi”, on operaation LUK ”1”, muuten ”0”. Vertai-lutuloksella ei ole negaatiota, koska tämä voidaan saavuttaa kulloinkinkäänteisellä vertailuoperaatiolla.
Taulukko 13-5 Liukulukujen vertailulajit
Vertailulaji Merkki
IN1 on yhtäsuuri kuin IN2. ==
IN1 on erisuuri kuin IN2. <>
IN1 on suurempi kuin IN2. >
IN1 on pienempi kuin IN2. <
IN1 on suurempi tai yhtäsuuri kuin IN2. >=
IN1 on pienempi tai yhtäsuuri kuin IN2. <=
Taulukko 13-6 Liukulukujen vertailu--kehys ja parametri; Esimerkki: pienempi kuin
FUP--kehys Parametri Tied.tyyp. Muistialue Kuvaus
CMP< R
IN1 REALE, A, M, D, Ltai vakio
Ensimmäinen vertailuarvo
< RIN2 REAL
E, A, M, D, LToinen vertailuarvo
IN1IN2 REAL
E, A, M, D, Ltai vakio
Toinen vertailuarvo
IN2 Kehyksenlähtö
BOOL E, A, M, D, L Vertailun tulos
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- x x x x 0 x x 1
A 4.0 asetetaan, jos:
S MD0 < MD4
S JA tulon E 0.0 signaalitila on ”1”.
Vertailu on tosi:
MD4
MD0 A 4.0
S
CMP< R
IN2
IN1 E 0.0
&
Kuva 13-3 Liukulukujen vertailu
Kuvaus
Vertailuoperaatiot
12-1C79000-G7000-C402-01
Liukulukuaritmetiikka
Kappale Sisältö Sivu
12.1 Yleiskuva 12-2
12.2 Liukulukujen yhteenlasku 12-3
12.3 Liukulukujen vähennyslasku 12-4
12.4 Liukulukujen kertolasku 12-5
12.5 Liukulukujen jakolasku 12-6
12.6 Tilasanan bittien tulkinta liukulukuoperaatioissa 12-7
12.7 Liukuluvun absoluuttiarvon muodostus 12-8
12.8 Liukuluvun neliön (SQR) muodostus 12-9
12.9 Liukuluvun neliöjuuren (SQRT) muodostus 12-10
12.10 Liukuluvun luonnollisen logaritmin muodostus 12-11
12.11 Liukuluvun eksponenttiarvon muodostus 12-12
12.12 Kulmien trigonometristen funktioiden laskenta liukulukuina 12-13
Yleiskuvakappaleesta
12
12-2 C79000-G7000-C402-01
12.1 Yleiskuva
Liukulukuaritmetiikassa voidaan seuraavassa esitetyt aritmeettiset operaatiotsuorittaa kahdella liukukuvulla (32 bittiä, IEEE--FP):
S yhteenlasku
S vähennyslasku
S kertolasku
S jakolasku
Liukuluvut (32 bittiä, IEEE--FP) kuuluvat REAL--tiedostotyyppiin.Liitteessä 3 on tietoa liukulukujen muodosta.
Liukulukuaritmetiikassa voidaan seuraavat toiminnat suorittaa yhdelläliukuvulla (32 bittiä, IEEE--FP):
S liukuluvun absoluuttiarvon muodostus (ABS)
S liukuluvun neliön (SQR) tai neliöjuuren (SQRT) muodostus
S liukuluvun luonnollisen logaritmin (LN) muodostus
S liukuluvun eksponenttiarvon (EXP) muodostus kantaluvullae (= 2,71828...)
S liukulukuna (32 bittiä, IEEE--FP) esitetyn kulman seuraavientrigonometristen funktioiden muodostus:
-- liukuluvun sinin (SIN) ja arkussinin (ASIN) muodostus
-- liukuluvun kosinin (COS) ja arkuskosinin (ACOS) muodostus
-- liukuluvun tangentin (TAN) ja arkustangentin (ATAN) muodostus
Liukulukuaritmetiikka
12-3C79000-G7000-C402-01
12.2 Liukulukujen yhteenlasku
Vapautustulon (EN) signaalitila ”1” aktivoi operaation liukulukujenyhteenlasku. Tämä operaatio laskee yhteen tulot IN1 ja IN2. Tulosta voikysyä lähdöstä OUT. Mikäli jokin tuloista tai tulos ei ole liukuluku, onOV--bitillä ja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.
Tietoa tilasanan näyttöjen tulkinnasta löytyy kappaleesta 12.6.
Taulukko 12-1 Liukulukujen yhteenlasku--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
ADD REN BOOL E, A, M, D, L, T, Z Vapautustulo
ADD_R
IN1
EN
OUT
IN1 REAL E, A, M, D, Ltai vakio
Ensimmäinen yhteenlaskettava
IN1
IN2
OUT
ENOIN2 REAL E, A, M, D, L
tai vakioToinen yhteenlaskettava
OUT REAL E, A, M, D, L Yhteenlaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys ADD_R aktivoidaan, jos E 0.0 = 1.Yhteenlaskun MD0 + MD4 tulos tallenne-taan merkkerikaksoissanaan MD10. Mikälijokin tuloista tai tulos ei ole liukuluku ja jostulon E 0.0 signaalitila = 0, osoitetaanlähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
ADD_R
Kuva 12-1 Liukulukujen yhteenlasku
Kuvaus
Liukulukuaritmetiikka
12-4 C79000-G7000-C402-01
12.3 Liukulukujen vähennyslasku
Vapautustulon (EN) signaalitila ”1” aktivoi operaation liukulukujenvähennyslasku. Tämä operaatio vähentää tulosta IN1 tulon IN2. Tulosta voikysyä lähdöstä OUT. Mikäli jokin tuloista tai tulos ei ole liukuluku, onOV--bitillä ja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.
Tietoa tilasanan näyttöjen tulkinnasta löytyy kappaleesta 12.6.
Taulukko 12-2 Liukulukujen vähennyslasku--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
SUB REN BOOL E, A, M, D, L, T, Z Vapautustulo
SUB_R
IN1
EN
OUT
IN1 REAL E, A, M, D, Ltai vakio
Vähennettävä
IN1
IN2
OUT
ENOIN2 REAL E, A, M, D, L
tai vakioVähentäjä
OUT REAL E, A, M, D, L Vähennyksen tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys SUB_R aktivoidaan, jos E 0.0 = 1.Vähennyslaskun MD0 -- MD4 tulos tallenne-taan merkkerisanaan MD10. Mikäli jokin tu-loista tai tulos ei ole liukuluku ja jos tulonE 0.0 signaalitila = 0, osoitetaan lähdölleA 4.0 signaali ”0” eikä operaatiota suoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
SUB_R
Kuva 12-2 Liukulukujen vähennyslasku
Kuvaus
Liukulukuaritmetiikka
12-5C79000-G7000-C402-01
12.4 Liukulukujen kertolasku
Vapautustulon (EN) signaalitila ”1” aktivoi operaation liukulukujenkertolasku. Tämä operaatio kertoo tulon IN1 tulolla IN2. Tulosta voi kysyälähdöstä OUT. Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV--bitilläja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.
Tietoa tilasanan näyttöjen tulkinnasta löytyy kappaleesta 12.6.
Taulukko 12-3 Liukulukujen kertolasku--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
MUL REN BOOL E, A, M, D, L, T, Z Vapautustulo
MUL_R
IN1
EN
OUT
IN1 REAL E, A, M, D, Ltai vakio
Kerrottava
IN1
IN2
OUT
ENOIN2 REAL E, A, M, D, L
tai vakioKertoja
OUT REAL E, A, M, D, L Kertolaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys MUL_R aktivoidaan, jos E 0.0 = 1.Kertolaskun MD0 x MD4 tulos tallennetaanmerkkerikaksoissanaan MD10. Mikäli jokintuloista tai tulos ei ole liukuluku ja jos tulonE 0.0 signaalitila = 0, osoitetaan lähdölleA 4.0 signaali ”0” eikä operaatiota suoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0
A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
MUL_R
Kuva 12-3 Liukulukujen kertolasku
Kuvaus
Liukulukuaritmetiikka
12-6 C79000-G7000-C402-01
12.5 Liukulukujen jakolasku
Vapautustulon (EN) signaalitila ”1” aktivoi operaation liukulukujenjakolasku. Tämä operaatio jakaa tulon IN1 tulolla IN2. Tulosta voi kysyälähdöstä OUT. Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV--bitilläja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.
Tietoa tilasanan näyttöjen tulkinnasta löytyy kappaleesta 12.6.
Taulukko 12-4 Liukulukujen jakolasku--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
DIV REN BOOL E, A, M, D, L, T, Z Vapautustulo
DIV_R
ENIN1 REAL E, A, M, D, L
tai vakioJaettava
IN1
IN2
OUT
ENOIN2 REAL E, A, M, D, L
tai vakioJakaja
OUT REAL E, A, M, D, L Jakolaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys DIV_R aktivoidaan, jos E 0.0 = 1.Jakolaskun MD0 jaettuna MD4:llä tulostallennetaan merkkerikaksoissanaan MD10.Mikäli jokin tuloista tai tulos ei ole liukulukuja jos tulon E 0.0 signaalitila = 0, osoitetaanlähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
DIV_R
Kuva 12-4 Liukulukujen jakolasku
Kuvaus
Liukulukuaritmetiikka
12-7C79000-G7000-C402-01
12.6 Tilasanan bittien tulkinta liukulukuoperaatioissa
Liukulukuoperaatiot vaikuttavat tilasanan seuraaviin bitteihin:
S A1 ja A0
S OV
S OS
Viiva (--) taulukossa tarkoittaa, että operaation tulos ei vaikuta kyseiseenbittiin.
Taulukko 12-5 Tilasanan bittien signaalitila liukulukuoperaatioiden tuloksille;tulos on voimassa olevalla alueella
Voimassa oleva alue Tilasanan bitit
liukuluoperaation (32 bittiä) tulokselle A1 A0 OV OS
+0, --0 (nolla) 0 0 0 --
--3,402823E+38 < tulos < --1,175494E--38(negatiivinen luku)
0 1 0 --
+1,175494E--38 < tulos < 3,402823E+38(positiivinen luku)
1 0 0 --
Taulukko 12-6 Tilasanan bittien signaalitila liukulukuoperaatioiden tuloksille;tulos ei ole voimassa olevalla alueella
Ei voimassa oleva alue Tilasanan bitit
liukuluoperaation (32 bittiä) tulokselle A1 A0 OV OS
--1,175494E--38 < tulos < -- 1,401298E--45(negatiivinen luku) alitus
0 0 1 1
+1,401298E--45 < tulos < +1,175494E--38(positiivinen luku) alitus
0 0 1 1
Tulos < --3,402823E+38(negatiivinen luku) ylivuoto
0 1 1 1
Tulos > 3,402823E+38(positiivinen luku) ylivuoto
1 0 1 1
Tulos < --3,402823E+38tai tulos > +3,402823E+38ei liukuluku
1 1 1 1
Kuvaus
Liukulukuaritmetiikka
12-8 C79000-G7000-C402-01
12.7 Liukuluvun absoluuttiarvon muodostus
Liukuluvun absoluuttiarvo voidaan muodostaa operaatiolla liukuluvunabsoluuttiarvon muodostus.
Taulukko 12-7 ABS--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
ABSEN BOOL E, A, M, D, L, T, Z Vapautustulo
ABS
EN OUTIN REAL E, A, M, D, L
tai vakioTuloarvo: Liukuluku
IN ENO OUT REAL E, A, M, D, L Lähtöarvo: Liukuluvunabsoluuttiarvo
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus X -- -- -- -- 0 X X 1
Mikäli E 0.0 = 1, ohjataan MD8:nabsoluuttiarvo an MD12:lle.
MD8 = --6,234 x 10--3 antaa tulokseksiMD12 = 6,234 x 10--3.
Lähtö A 4.0 on ”0”, jos muunnosta eisuoriteta (ENO = EN = 0).
Operaatio suoritetaan (EN = 1):
MD8
MD12A 4.0
E 0.0
=IN
OUTEN
ENO
ABS
Kuva 12-5 Liukuluvun absoluuttiarvon muodostus
Kuvaus
Liukulukuaritmetiikka
12-9C79000-G7000-C402-01
12.8 Liukuluvun neliön (SQR) muodostus
Operaatiolla liukuluvun neliön muodostus voidaan liukuluku korottaa ne-liöön. Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV--bitillä jaOS--bitillä arvo ”1” ja ENO:lla arvo ”0”.
Taulukko 12-8 esittää SQR--kehystä ja kuvaa parametrejä.
Taulukko 12-8 SQR--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
SQR
EN OUT
IN REAL E, A, M, D, Ltai vakio
Luku
EN
IN
OUT
ENOOUT REAL E, A, M, D, L Luvun neliö
IN ENOENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Operaatio suoritetaan (EN = 1):
Kehys SQR aktivoidaan, mikäli E 0.0 = 1.SQR:n (MD0) tulos tallennetaan merkkerikak-soissanaan MD10. Jos MD0 < 0 tai jokin tu-loista tai tulos ei ole liukuluku ja tulon E 0.0signaalitila = 0, osoitetaan lähdölle A 4.0 sig-naali ”0”.MD0
MD10A 4.0
E 0.0
=IN
OUTEN
ENO
SQR
Kuva 12-6 Liukuluvun neliön muodostus
Kuvaus
Parametri
Liukulukuaritmetiikka
12-10 C79000-G7000-C402-01
12.9 Liukuluvun neliöjuuren (SQRT) muodostus
Operaatiolla liukuluvun neliöjuuren muodostus voidaan liukuluvusta laskeaneliöjuuri. Tämän operaation tulos on positiivinen, mikäli operandi on suu--rempi kuin “0”. Mikäli jokin tuloista tai tulos ei ole liukuluku, on OV--bitilläja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.
Taulukko 12-9 esittää SQRT--kehystä ja kuvaa parametrejä.
Taulukko 12-9 SQRT--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
SQRT
EN OUTIN REAL E, A, M, D, L tai
vakioLuku
IN ENOOUT REAL E, A, M, D, L Luvun
neliöjuuri
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Operaatio suoritetaan (EN = 1):
Kehys SQRT aktivoidaan, mikäli E 0.0 = 1.SQRT:n (MD0) tulos tallennetaan merkkeri-kaksoissanaan MD10. Jos MD0 < 0 tai jokintuloista tai tulos ei ole liukuluku ja tulon E 0.0signaalitila = 0, osoitetaan lähdölle A 4.0 sig-naali ”0”.MD0
MD10A 4.0
E 0.0
=IN
OUTEN
ENO
SQRT
Kuva 12-7 Liukuluvun neliöjuuren muodostus
Kuvaus
Parametri
Liukulukuaritmetiikka
12-11C79000-G7000-C402-01
12.10 Liukuluvun luonnollisen logaritmin muodostus
Operaatiolla liukuluvun luonnollisen logaritmin muodostus voidaan muodos-taa liukuluvun luonnollinen logaritmi. Mikäli jokin tuloista tai tulos ei oleliukuluku, on OV--bitillä ja OS--bitillä arvo ”1” ja ENO:lla arvo ”0”.
Taulukko 12-10 LN--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
LN
EN OUT
IN REAL E, A, M, D, L taivakio
Luku
EN
IN
OUT
ENO
OUT REAL E, A, M, D, L Luvunluonnollinenlogaritmi
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Operaatio suoritetaan (EN = 1):
Kehys LN aktivoidaan, mikäli E 0.0 = 1. LN:n(MD0) tulos tallennetaan merkkerikaksoissa-naan MD10. Jos MD0 < 0 tai jokin tuloista taitulos ei ole liukuluku ja tulon E 0.0 signaalitila= 0, osoitetaan lähdölle A 4.0 signaali ”0”.
MD0
MD10A 4.0
E 0.0
=IN
OUTEN
ENO
LN
Kuva 12-8 Liukuluvun luonnollisen logaritmin muodostus
Kuvaus
Liukulukuaritmetiikka
12-12 C79000-G7000-C402-01
12.11 Liukuluvun eksponenttiarvon muodostus
Operaatiolla liukuluvun eksponenttiarvon muodostus voidaan muodostaa liu-kuluvun eksponenttiarvo luvulle e (= 2,71828...). Mikäli jokin tuloista taitulos ei ole liukuluku, on OV--bitillä ja OS--bitillä arvo ”1” ja ENO:lla arvo”0”.
Taulukko 12-11 EXP--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
EXP
EN OUT
IN REAL E, A, M, D, L taivakio
Luku
EN
IN
OUT
ENOOUT REAL E, A, M, D, L Luvun
eksponentti
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Operaatio suoritetaan (EN = 1):
Kehys EXP aktivoidaan, mikäli E 0.0 = 1.EXP:n (MD0) tulos tallennetaan merkkerikak-soissanaan MD10. Jos jokin tuloista tai tulosei ole liukuluku ja tulon E 0.0 signaalitila = 0,osoitetaan lähdölle A 4.0 signaali ”0”.
MD0
MD10A 4.0
E 0.0
=IN
OUTEN
ENO
EXP
Kuva 12-9 Liukuluvun eksponenttiarvon muodostus
Kuvaus
Liukulukuaritmetiikka
12-13C79000-G7000-C402-01
12.12 Kulmien trigonometristen funktioiden laskenta liukulukuina
Seuraavilla operaatioilla voidaan laskea kulmien trigonometrisiä funktioita,jotka on esitetty liukulukuina (32 bittiä, IEEE--FP):
Operaatio Merkitys
SIN Liukuluvun sinin muodostus kulmasta, joka annetaan kaarimitassa.Kulman muodostaman kaaren suhde koko ympyrän (360 astetta)kaareen (2.π.R).
ASIN Liukuluvun arkussinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:
—π / 2≤ arkussini≤ + π / 2, jolloin, π = 3.14...
COS Liukuluvun kosinin muodostus kulmasta, joka annetaan kaarimitassa.
ACOS Liukuluvun arkuskosinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:
0≤ arkuskosini≤ + π, jolloin π = 3.14...
TAN Liukuluvun tangentin muodostus kulmasta, joka annetaan kaarimitas-sa.
ATAN Liukuluvun arkuskosinin muodostus. Tulos on kulma, joka annetaankaarimitassa. Arvo on seuraavalla alueella:
—π / 2≤ arkustangentti≤ + π / 2, jolloin π = 3.14...
Taulukot 12-12 ... 12-17 esittävät kehyksiä SIN, ASIN, COS, ACOS, TAN jaATAN ja kuvaavat parametrejä.
Taulukko 12-12 SIN--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
SIN
EN OUTIN REAL E, A, M, D, L tai
vakioLuku
IN ENO OUT REAL E, A, M, D, L Luvun sini
ENO BOOL E, A, M, D, L Vapautuslähtö
Kuvaus
Parametri
Liukulukuaritmetiikka
12-14 C79000-G7000-C402-01
Taulukko 12-13 ASIN--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
ASIN
EN OUTIN REAL E, A, M, D, L tai
vakioLuku
IN ENOOUT REAL E, A, M, D, L Luvun arkussini
IN ENOENO BOOL E, A, M, D, L Vapautuslähtö
Taulukko 12-14 COS--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
COS
EN OUTIN REAL E, A, M, D, L tai
vakioLuku
IN ENOOUT REAL E, A, M, D, L Luvun kosini
IN ENOENO BOOL E, A, M, D, L Vapautuslähtö
Taulukko 12-15 ACOS--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
ACOS
EN OUT
IN REAL E, A, M, D, L taivakio
Luku
EN
IN
OUT
ENOOUT REAL E, A, M, D, L Luvun arkussini
IN ENOENO BOOL E, A, M, D, L Vapautuslähtö
Taulukko 12-16 TAN--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
TAN
EN OUT
IN REAL E, A, M, D, L taivakio
Luku
IN ENO OUT REAL E, A, M, D, L Luvun tangentti
ENO BOOL E, A, M, D, L Vapautuslähtö
Liukulukuaritmetiikka
12-15C79000-G7000-C402-01
Taulukko 12-17 ATAN--kehys ja parametri
FUP--kehys Parametri Tied.--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z Vapautustulo
ATAN
EN OUT
IN REAL E, A, M, D, L oderKonstante
Luku
EN
IN
OUT
ENOOUT REAL E, A, M, D, L Luvun
arkustangentti
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Operaatio suoritetaan (EN = 1):
Kehys SIN aktivoidaan, mikäli E 0.0 = 1. SIN:n(MD0) tulos tallennetaan merkkerikaksoissa-naan MD10. Jos jokin tuloista tai tulos ei oleliukuluku ja tulon E 0.0 signaalitila = 0, osoite-taan lähdölle A 4.0 signaali ”0”.
MD0
MD10A 4.0
E 0.0
=IN
OUTEN
ENO
SIN
Kuva 12-10 Liukuluvun sinin muodostus
Liukulukuaritmetiikka
12-16 C79000-G7000-C402-01
Liukulukuaritmetiikka
11-1C79000-G7000-C402-01
Peruslaskentaoperaatiot
Kappale Sisältö Sivu
11.1 Kokonaislukujen yhteenlasku (16 bittiä) 11-2
11.2 Kokonaislukujen yhteenlasku (32 bittiä) 11-3
11.3 Kokonaislukujen vähennyslasku (16 bittiä) 11-4
11.4 Kokonaislukujen vähennyslasku (32 bittiä) 11-5
11.5 Kokonaislukujen kertolasku (16 bittiä) 11-6
11.6 Kokonaislukujen kertolasku (32 bittiä) 11-7
11.7 Kokonaislukujen jakolasku (16 bittiä) 11-8
11.8 Kokonaislukujen jakolasku (32 bittiä) 11-9
11.9 Jakojäännös (32 bittiä) 11-10
11.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissa 11-11
Yleiskuvakappaleesta
11
11-2 C79000-G7000-C402-01
11.1 Kokonaislukujen yhteenlasku (16 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenyhteenlasku (16 bittiä). Tämä operaatio laskee yhteen tulot IN1 ja IN2.Tulosta voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitunalueen ulkopuolella (16 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.
Taulukko 11-1 Kokonaislukujen yhteenlasku (16 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloADD_I
ENIN1 INT E, A, M, D, L
tai vakioEnsimmäinen yhteenlaskettava
IN1
IN2
OUT
ENO
IN2 INT E, A, M, D, Ltai vakio
Toinen yhteenlaskettava
IN2 ENOOUT INT E, A, M, D, L Yhteenlaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys ADD_I aktivoidaan, jos E 0.0 = 1.Yhteenlaskun MW0 + MW2 tulos tallenne-taan merkkerisanaan MW10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(16 bittiä) tai tulon E 0.0 signaalitila = 0,osoitetaan lähdölle A 4.0 signaali ”0” eikäoperaatiota suoriteta.
ADD_I
IN2
OUT
MW2
MW10IN1MW0
Operaatio suoritetaan (EN = 1):
EN
ENOA 4.0
E 0.0
=
Kuva 11-1 Kokonaislukujen yhteenlasku (16 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-3C79000-G7000-C402-01
11.2 Kokonaislukujen yhteenlasku (32 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenyhteenlasku (32 bittiä). Tämä operaatio laskee yhteen tulot IN1 ja IN2.Tulosta voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitunalueen ulkopuolella (32 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.
Taulukko 11-2 Kokonaislukujen yhteenlasku (32 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloADD_DI
ENIN1 DINT E, A, M, D, L
tai vakioEnsimmäinen yhteenlaskettava
IN1
IN2
OUT
ENO
IN2 DINT E, A, M, D, Ltai vakio
Toinen yhteenlaskettava
IN2 ENOOUT DINT E, A, M, D, L Yhteenlaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys ADD_DI aktivoidaan, jos E 0.0 = 1.Yhteenlaskun MD0 + MD4 tulos tallennetaanmerkkerikaksoissanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(32 bittiä) tai jos tulon E 0.0 signaalitila = 0,osoitetaan lähdölle A 4.0 signaali ”0” eikäoperaatiota suoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
ADD_DI
Kuva 11-2 Kokonaislukujen yhteenlasku (32 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-4 C79000-G7000-C402-01
11.3 Kokonaislukujen vähennyslasku (16 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenvähennyslasku (16 bittiä). Tämä operaatio vähentää tulosta IN1 tulon IN2.Tulosta voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitunalueen ulkopuolella (16 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.
Taulukko 11-3 Kokonaislukujen vähennyslasku (16 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloSUB_I
ENIN1 INT E, A, M, D, L
tai vakioVähennettävä
IN1
IN2
OUT
ENO
IN2 INT E, A, M, D, Ltai vakio
Vähentäjä
IN2 ENOOUT INT E, A, M, D, L Vähennyksen tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien merkitys
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys SUB_I aktivoidaan, jos E 0.0 = 1.Vähennyslaskun MW0 -- MW2 tulostallennetaan merkkerisanaan MW10. Mikälitulos on kokonaisluvuille sallitun alueenulkopuolella (16 bittiä) tai tulonE 0.0 signaalitila = 0, osoitetaan lähdölle A 4.0signaali ”0” eikä operaatiota suoriteta.
Operaatio suoritetaan (EN = 1):
SUB_I
IN2
OUT
MW2
MW10IN1MW0
EN
ENOA 4.0
E 0.0
=
Kuva 11-3 Kokonaislukujen vähennyuslasku (16 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-5C79000-G7000-C402-01
11.4 Kokonaislukujen vähennyslasku (32 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenvähennyslasku (32 bittiä). Tämä operaatio vähentää tulosta IN1 tulon IN2.Tulosta voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitunalueen ulkopuolella (32 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.
Taulukko 11-4 Kokonaislukujen vähennyslasku (32 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloSUB_DI
ENIN1 DINT E, A, M, D, L
tai vakioVähennettävä
IN1
IN2
OUT
ENO
IN2 DINT E, A, M, D, Ltai vakio
Vähentäjä
IN2 ENOOUT DINT E, A, M, D, L Vähennyksen tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys SUB_I aktivoidaan, jos E 0.0 = 1.Vähennyslaskun MD0 -- MD4 tulos tallenne-taan merkkerisanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(32 bittiä) tai tulon E 0.0 signaalitila = 0, osoite-taan lähdölle A 4.0 signaali ”0” eikä operaatio-ta suoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
SUB_DI
Kuva 11-4 Kokonaislukujen vähennyslasku (32 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-6 C79000-G7000-C402-01
11.5 Kokonaislukujen kertolasku (16 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenkertolasku (16 bittiä). Tämä operaatio kertoo tulon IN1 tulolla IN2. Tulostavoi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitun alueenulkopuolella (16 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” ja ENO:lla arvo”0”.
Taulukko 11-5 Kokonaislukujen kertolasku (16 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloMUL_I
ENIN1 INT E, A, M, D, L
tai vakioKerrottava
IN1
IN2
OUT
ENO
IN2 INT E, A, M, D, Ltai vakio
Kertoja
IN2 ENOOUT DINT E, A, M, D, L Kertolaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys MUL_I aktivoidaan, jos E 0.0 = 1.Kertolaskun MW0 x MW2 tulos tallennetaanmerkkerikaksoissanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(16 bittiä) tai tulon E 0.0 signaalitila = 0, osoite-taan lähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.
Operaatio suoritetaan (EN = 1):
MUL_I
IN2
OUT
MW2
MD10IN1MW0
EN
ENOA 4.0
E 0.0
=
Kuva 11-5 Kokonaislukujen kertolasku (16 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-7C79000-G7000-C402-01
11.6 Kokonaislukujen kertolasku (32 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenkertolasku (32 bittiä). Tämä operaatio kertoo tulon IN1 tulolla IN2. Tulostavoi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuille sallitun alueenulkopuolella (32 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” ja ENO:lla arvo”0”.
Taulukko 11-6 Kokonaislukujen kertolasku (32 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloMUL_DI
ENIN1 DINT E, A, M, D, L
tai vakioKerrottava
IN1
IN2
OUT
ENO
IN2 DINT E, A, M, D, Ltai vakio
Kertoja
IN2 ENOOUT DINT E, A, M, D, L Kertolaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys MUL_I aktivoidaan, jos E 0.0 = 1.Kertolaskun MD0 x MD4 tulos tallennetaanmerkkerikaksoissanaan MD10. Mikäli tulos onkokonaisluvuille sallitun alueen ulkopuolella(32 bittiä) tai tulon E 0.0 signaalitila = 0, osoite-taan lähdölle A 4.0 signaali ”0” eikä operaatiotasuoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
MUL_DI
Kuva 11-6 Kokonaislukujen kertolasku (32 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-8 C79000-G7000-C402-01
11.7 Kokonaislukujen jakolasku (16 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenjakolasku (16 bittiä). Tämä operaatio jakaa tulon IN1 tulolla IN2. Tämänjakolaskun osamäärää (kokonaislukuosaa) voi kysyä lähdöstä OUT.Jakojäännöstä ei voida kysyä. Osamäärän ollessa kokonaisluvuille sallitunalueen ulkopuolella (16 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.
Taulukko 11-7 Kokonaislukujen jakolasku (16 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloDIV_I
ENIN1 INT E, A, M, D, L
tai vakioJaettava
IN1
IN2
OUT
ENO
IN2 INT E, A, M, D, Ltai vakio
Jakaja
IN2 ENOOUT INT E, A, M, D, L Jakolaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys DIV_I aktivoidaan, jos E 0.0 = 1.Jakolaskun MW0 jaettuna MW2:lla osamäärätallennetaan merkkerisanaan MW10. Mikäliosamäärä on kokonaisluvuille sallitun alueenulkopuolella (16 bittiä) tai jos tulon E 0.0 sig-naalitila = 0, osoitetaan lähdölle A 4.0 signaali”0” eikä operaatiota suoriteta.
Operaatio suoritetaan (EN = 1):
DIV_I
IN2
OUT
MW2
MW10IN1MW0
EN
ENOA 4.0
E 0.0
=
Kuva 11-7 Kokonaislukujen jakolasku (16 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-9C79000-G7000-C402-01
11.8 Kokonaislukujen jakolasku (32 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation kokonaislukujenjakolasku (32 bittiä). Tämä operaatio jakaa tulon IN1 tulolla IN2. Tämänjakolaskun osamäärää (kokonaislukuosaa) voi kysyä lähdöstä OUT.Operaatio kokonaislukujen jakolasku (32 bittiä) tallentaa osamääränyksinkertaisena 32 bitin arvona DINT--muodossa eikä siitä jää jakojäännöstä.Osamäärän ollessa kokonaisluvuille sallitun alueen ulkopuolella (32 bittiä),on OV-bitillä ja OS-bitillä arvo ”1” ja ENO:lla arvo ”0”.
Taulukko 11-8 Kokonaislukujen jakolasku (32 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloDIV_DI
ENIN1 DINT E, A, M, D, L
tai vakioJaettava
IN1
IN2
OUT
ENO
IN2 DINT E, A, M, D, Ltai vakio
Jakaja
IN2 ENOOUT DINT E, A, M, D, L Jakolaskun tulos
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys DIV_DI aktivoidaan, jos E 0.0 = 1.Jakolaskun MD0 jaettuna MD4:llä osamäärätallennetaan merkkerisanaan MD10. Mikäliosamäärä on kokonaisluvuille sallitun alueenulkopuolella (32 bittiä) tai jos tulon E 0.0 sig-naalitila = 0, osoitetaan lähdölle A 4.0 signaali”0” eikä operaatiota suoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
DIV_DI
Kuva 11-8 Kokonaislukujen jakolasku (32 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-10 C79000-G7000-C402-01
11.9 Jakojäännöksen tallennus (32 bittiä)
Vapautustulon (EN) signaalitila ”1” aktivoi operaation jakojäännöksentallennus (32 bittiä). Tämä operaatio jakaa tulon IN1 tulolla IN2.Jakojäännöstä voi kysyä lähdöstä OUT. Tuloksen ollessa kokonaisluvuillesallitun alueen ulkopuolella (32 bittiä), on OV-bitillä ja OS-bitillä arvo ”1” jaENO:lla arvo ”0”.
Taulukko 11-9 Jakojäännöksen tallennus (32 bittiä) --kehys ja parametri
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
EN BOOL E, A, M, D, L, T, Z VapautustuloMOD_DI
ENIN1 DINT E, A, M, D, L
tai vakioJaettava
IN1
IN2
OUT
ENO
IN2 DINT E, A, M, D, Ltai vakio
Jakaja
IN2 ENOOUT DINT E, A, M, D, L Jakojäännös
ENO BOOL E, A, M, D, L Vapautuslähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus x x x x x 0 x x 1
Kehys MOD_DI aktivoidaan, jos E 0.0 = 1.Jakolaskun MD0 jaettuna MD4:llä jako--jäännös tallennetaan merkkerikaksoissa-naan MD10. Mikäli tulos on kokonaisluvuillesallitun alueen ulkopuolella (32 bittiä) tai tu-lon E 0.0 signaalitila = 0, osoitetaan lähdölleA 4.0 signaali ”0” eikä operaatiota suoriteta.
Operaatio suoritetaan (EN = 1):
MD4
MD10MD0A 4.0
E 0.0
=IN2
OUTIN1
EN
ENO
MOD_DI
Kuva 11-9 Jakojäännöksen tallennus (32 bittiä)
Kuvaus
Peruslaskentaoperaatiot
11-11C79000-G7000-C402-01
11.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissa
Peruslaskentaoperaatiot vaikuttavat seuraaviin tilasanan bitteihin:
S A1 ja A0
S OV
S OS
Taulukossa oleva viiva (-) tarkoittaa, että operaation tulos ei vaikutakyseiseen bittiin.
Taulukko 11-10 Tilasanan bittien signaalitila: Laskentatulos voimassa olevan alueensisällä
Tuloksen voimassa oleva alue Tilasanan bitit
Kokonaisluvuilla (16 ja 32 bittiä) A1 A0 OV OS
0 (nolla) 0 0 0 -
16 bittiä: -32 768≤ tulos< 0 (negatiivinen luku)32 bittiä: -2 147 483 648≤ tulos< 0 (negatiivinen luku)
0 1 0 -
16 bittiä: 32 767≥ tulos>0 (positive Zahl)32 bittiä: 2 147 483 647≥ tulos>0 (positive Zahl) 1 0 0 -
Taulukko 11-11 Tilasanan bittien signaalitila: Laskentatulos voimassa olevan alueenulkopuolella
Tuloksen ei voimassa oleva alue Tilasanan bitit
Kokonaisluvuilla (16 ja 32 bittiä) A1 A0 OV OS
16 bittiä: tulos> 32 767 (positiivinen luku)32 bittiä: tulos> 2 147 483 647 (positiivinen luku)
1 0 1 1
16 bittiä: tulos< -32 768 (negatiivinen luku)32 bittiä: tulo
10-1C79000-G7000-C402-01
Laskentaoperaatiot
Kappale Sisältö Sivu
10.1 Muistin laskuriosoite ja laskurin komponentit 10-2
10.2 Eteenpäin-/taaksepäinlaskenta 10-3
10.3 Eteenpäinlaskenta 10-5
10.4 Taaksepäinlaskenta 10-7
Yleiskuvakappaleesta
10
10-2 C79000-G7000-C402-01
10.1 Muistin laskuriosoite ja laskurin komponentit
Laskureille on CPU:ssa varattu oma muistialue. Tämä muistialue varaa 16bitin sanan jokaiselle laskurille. FUP:lla ohjelmointi tukee 256 laskuria.
Laskentaoperaatiot ovat ainoat toiminnat, joilla voi käsitellä laskurillevarattua muistialuetta.
Laskenta--arvo on laskurisanan biteissä 0 ... 9 binäärikoodattuna. Laskuriaasetettaessa siirretään määrtätty arvo akusta laskuriin. Laskenta--arvon alueon välillä 0 ja 999. Laskenta--arvoa voidaan muuttaa tämän alueen sisälläkäyttämällä operaatioita eteenpäin-/taaksepäinlaskenta, eteenpäinlaskenta jataaksepäinlaskenta.
Laskuri asetetaan tiettyyn arvoon laataamalla joku 0:n ja 999:n välinen luku,esim. 127, laskenta--arvona seuraavassa muodossa:
C# 127
C# tarkoittaa BCD-muotoa (BCD-muoto: jokaisessa 4 bitin ryhmässä ondesimaaliarvon binäärikoodi).
Laskurin biteissä 0 ... 11 on laskenta--arvo BCD-muodossa. Kuva 10-1 esittäälaskurin sisältöä sen jälkeen kun laskenta--arvo 127 on ladattu, ja laskuripiirinsisältöä laskurin asettamisen jälkeen.
merkityksetön
Laskenta--arvo BCD-muodossa (0 ... 999)
15
1 2 7
14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 111 10000000
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 110 111100
Duaali laskenta--arvomerkityksetön
Kuva 10-1 Laskuripiirin sisältö laskurin asettamisen jälkeen laskenta--arvolla 127
Muistialue
Laskenta--arvo
Laskurinbittikonfiguraatio
Laskentaoperaatiot
10-3C79000-G7000-C402-01
10.2 Eteenpäin-/taaksepäinlaskenta
Kun tulossa S vaihtuu signaali ”0”:sta ”1”:ksi, niin operaatiossaeteenpäin-/taaksepäinlaskenta lähtöarvo ZW otetaan laskuriin. Laskurinarvoa korotetaan ”1”:llä, jos tulossa ZV on nouseva reuna, mikälilaskenta--arvo on pienempi kuin 999. Laskurin arvoa lasketaan ”1”:llä, jostulossa ZR on nouseva reuna, mikäli laskenta--arvo on suurempi kuin ”0”. Joskummassakin laskuritulossa on nouseva reuna, molemmat operaatiotkäsitellään ja laskenta--arvo pysyy muuttumattomana. Laskuri nollataan, jostulossa R on nouseva reuna. Laskurin nollaus asettaa laskenta--arvon ”0”:ksi.
”1”:n jälkeen lähdössä Q tehty signaalitilakysely antaa tulokseksi ”1”, joslaskenta--arvo on suurempi kuin ”0”. Kysely antaa tulokseksi ”0”, joslaskenta--arvo on yhtäsuuri kuin ”0”.
Taulukko 10-1 Eteenpäin-/taaksepäinlaskenta--kehys ja parametri SIMATIC-mnemoniikalla
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
Z no
No COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.
Z-noLASKURI
ZV BOOL E, A, M, D, L Tulo ZV: EteenpäinlaskentaLASKURI
ZVZR BOOL E, A, M, D, L Tulo ZR: Taaksepäinlaskenta
ZV
ZR S BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo
DEZ
Q
ZR
DUALS
ZW
R
ZW WORD E, A, M, D, Ltai vakio
Laskenta--lähtöarvo alueella 0 -- 999tai
laskenta--lähtöarvon anto C#<arvo>BCD-muodossa
R BOOL E, A, M, D, L, T, Z Nollaustulo
DUAL WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu
DEZ WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu
Q BOOL E, A, M, D, L Laskurin tila
Kuvaus
Laskentaoperaatiot
10-4 C79000-G7000-C402-01
Taulukko 10-2 Eteenpäin-/taaksepäinlaskenta--kehys ja parametri kansainvälisellä mnemoniikalla
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
No. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.
C no.S CUD
CU BOOL E, A, M, D, L Tulo CU: EteenpäinlaskentaS_CUD
CD BOOL E, A, M, D, L Tulo CD: Taaksepäinlaskenta
CU
CDS BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo
CV
Q
CD
CV_BCDSPVR
PV WORD E, A, M, D, L
tai
vakio
Laskenta--lähtöarvo alueella 0 -- 999
tai
laskenta--lähtöarvon anto C#<arvo>BCD-muodossa
R BOOL E, A, M, D, L T, Z Nollaustulo
CV WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu
CV_BCD WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu
Q BOOL E, A, M, D, L Laskurin tila
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
Mikäli tulon E 0.2 signaalitila vaihtuu”0”:sta ”1”:ksi, asetetaan laskuri Z10 ar-volla 55. Jos tulon E 0.0 signaalitila vaih-tuu ”0”:sta ”1”:ksi, korotetaan laskurinZ10 arvoa ”1”:llä, mikäli Z10:n arvo ei oleyhtäsuuri kuin 999. Jos E 0.1 vaihtuu”0”:sta ”1”:ksi, niin lasketaan Z10:n arvoa”1”:llä, mikäli Z10:n arvo ei ole yhtäsuurikuin ”0”. Mikäli E 0.3 vaihtuu ”0”:sta”1”:ksi, asetetaan Z10:n laskenta--arvo0:ksi. A 4.0 on ”1”, jos Z10 on erisuurikuin ”0”.
Z10
LASKURI
DUAL
Q
ZV
ZR
DEZ
S
ZW
R
E 0.0
E 0.1
E 0.2
C#55
E 0.3A 4.0=
Kuva 10-2 Eteenpäin-/taaksepäinlaskenta
Laskentaoperaatiot
10-5C79000-G7000-C402-01
10.3 Eteenpäinlaskenta
Kun tulossa S vaihtuu signaali ”0”:sta ”1”:ksi, niin operaatiossaeteenpäinlaskenta lähtöarvo ZW otetaan laskuriin. Laskurin arvoa korotetaan”1”:llä, jos tulossa ZV on nouseva reuna, mikäli laskenta--arvo on pienempikuin 999. Laskuri nollataan, jos tulossa R on nouseva reuna. Laskurin nollausasettaa laskenta--arvon ”0”:ksi.
”1”:n jälkeen lähdössä Q tehty signaalitilakysely antaa tulokseksi ”1”, joslaskenta--arvo on suurempi kuin ”0”. Kysely antaa tulokseksi ”0”, joslaskenta--arvo on yhtäsuuri kuin ”0”.
Taulukko 10-3 Eteenpäinlaskenta--kehys ja parametri SIMATIC-mnemoniikalla
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
Z-noZ_VORW
No COUNTER Z Laskurin tunnus; alue riippuuCPU:sta._ O
ZV ZV BOOL E, A, M, D, L Tulo ZV: Eteenpäinlaskenta
DUALSS BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo
DEZ
Q
DUALS
R
ZWZW WORD E, A, M, D, L
tai
vakio
Laskenta--lähtöarvo alueella 0 -- 999
tai
laskenta--lähtöarvon anto C#<arvo>BCD-muodossa
R BOOL E, A, M, D, L, T, Z Nollaustulo
DUAL WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu
DEZ WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu
Q BOOL E, A, M, D, L Laskurin tila
Kuvaus
Laskentaoperaatiot
10-6 C79000-G7000-C402-01
Taulukko 10-4 Eteenpäinlaskenta--kehys ja parametri kansainvälisellä mnemoniikalla
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
C no.S CU
No. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.
S_CU
CUCU BOOL E, A, M, D, L Tulo CU: Eteenpäinlaskenta
CUS BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo
CV
Q
CV_BCD
S
R
PV
PV WORD E, A, M, D, L
tai
vakio
Laskenta--lähtöarvo alueella 0 -- 999
tai
laskenta--lähtöarvon anto C#<arvo>BCD-muodossa
R BOOL E, A, M, D, L, T, Z Nollaustulo
CV WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu
CV_BCD WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu
Q BOOL E, A, M, D, L Laskurin tila
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
Mikäli tulon E 0.2 signaalitila vaihtuu”0”:sta ”1”:ksi, asetetaan laskuri Z10 ar-volla 901. Jos tulon E 0.0 signaalitilavaihtuu ”0”:sta ”1”:ksi, korotetaan laskurinZ10 arvoa ”1”:llä, mikäli Z10:n arvo ei oleyhtäsuurikuin 999. Jos E 0.3 vaihtuu”0”:sta ”1”:ksi, asetetaan Z10:n laskenta--arvo 0:ksi. A 4.0 on ”1”, jos Z10 on eri-suuri kuin ”0”.
Z10
Z_VORW
DUAL
Q
ZV
DEZ
S
ZW
R
E 0.0
E 0.2
C#901
E 0.3A 4.0=
Kuva 10-3 Eteenpäinlaskenta
Laskentaoperaatiot
10-7C79000-G7000-C402-01
10.4 Taaksepäinlaskenta
Kun tulossa S vaihtuu signaali ”0”:sta ”1”:ksi, niin operaatiossataaksepäinlaskenta lähtöarvo ZW otetaan laskuriin. Laskurin arvoa lasketaan”1”:llä, jos tulossa ZR on nouseva reuna, mikäli laskenta--arvo on suurempikuin ”0”. Laskuri nollataan, jos tulossa R on nouseva reuna. Laskurin nollausasettaa laskenta--arvon ”0”:ksi.
”1”:n jälkeen lähdössä Q tehty signaalitilakysely antaa tulokseksi ”1”, joslaskenta--arvo on suurempi kuin ”0”. Kysely antaa tulokseksi ”0”, joslaskenta--arvo on yhtäsuuri kuin ”0”.
Taulukko 10-5 Taaksepäinlaskenta--kehys ja parametri SIMATIC-mnemoniikalla
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
Z-noZ RUECK
No COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.
Z_RUECKZR BOOL E, A, M, D, L Tulo ZR: Taaksepäinlaskenta
ZR S BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo
DEZ
Q
DUALS
ZW
R
ZW WORD E, A, M, D, L
tai
vakio
Laskenta--lähtöarvo alueella 0 -- 999
tai
laskenta--lähtöarvon anto C#<arvo>BCD-muodossa
R BOOL E, A, M, D, L, T, Z Nollaustulo
DUAL WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu
DEZ WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu
Q BOOL E, A, M, D, L Laskurin tila
Kuvaus
Laskentaoperaatiot
10-8 C79000-G7000-C402-01
Taulukko 10-6 Taaksepäinlaskenta--kehys ja parametri kansainvälisellä mnemoniikalla
FUP-kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
C no.S CD
No. COUNTER Z Laskurin tunnus; alue riippuuCPU:sta.
S_CDCD BOOL E, A, M, D, L Tulo CD: Taaksepäinlaskenta
CD S BOOL E, A, M, D, L, T, Z Laskurin esiasetustulo
CV
Q
CV_BCD
S
PV
R
PV WORD E, A, M, D, L
tai
vakio
Laskenta--lähtöarvo alueella 0 -- 999
tai
laskenta--lähtöarvon anto C#<arvo>BCD-muodossa
R BOOL E, A, M, D, L, T, Z Nollaustulo
CV WORD E, A, M, D, L Aktuelli laskenta--arvo,duaalikoodattu
CV_BCD WORD E, A, M, D, L Aktuelli laskenta--arvo,BCD-muodossa koodattu
Q BOOL E, A, M, D, L Laskurin tila
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
Jos tulon E 0.2 signaalitila vaihtuu ”0”:sta ”1”:ksi,asetetaan laskuri Z10 arvolla 89. Mikäli tulonE 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi, lasketaanlaskurin Z10 arvoa ”1”:llä, jos Z10:n arvo ei oleyhtäsuuri kuin ”0”. Jos E 0.3 vaihtuu ”0”:sta”1”:ksi, asetetaan Z10:n laskenta--arvo 0:ksi.
Z10
DUAL
Q
ZR
DEZ
S
ZW
R
E 0.0
E 0.2
C#901
E 0.3A 4.0
=
Z_RUECK
Kuva 10-4 Taaksepäinlaskenta
Laskentaoperaatiot
9-1C79000-G7000-C402-01
Aikaoperaatiot
Kappale Sisältö Sivu
9.1 Ajan muistialueet ja komponentit 9-2
9.2 Oikean ajan valinta 9-4
9.3 Ajan käynnistys impulssina 9-5
9.4 Ajan käynnistys pidennettynä impulssina 9-7
9.5 Ajan käynnistys vetohidastuksena 9-9
9.6 Ajan käynnistys tallentavana vetohidastuksena 9-11
9.7 Ajan käynnistys päästöhidastuksena 9-13
Yleiskuvakappaleesta
9
9-2 C79000-G7000-C402-01
9.1 Ajan (aikapiirin) muistialueet ja komponentit
Ajoille on CPU:ssa varattu oma muistialue. Tämä muistialue varaa 16--bitinsanan jokaiselle aikaoperandille. FUP:lla ohjelmointi tukee 256 aikaa.Teknisistä arvoista löytyy tieto siitä, kuinka monta aikasanaa CPU:ssa onkäytettävissä.
Seuraavat toiminnat käsittelevät aikojen muistialuetta:
S Aikaoperaatiot
S Aikasanojen päivitys aikaimpulssianturilla. Tämä CPU:n RUN--tilan toimintapienentää määrättyä arvoa kulloinkin yhdellä yksiköllä intervallissa, jonkaaikakertoimen tunnus määritteli, ennenkuin aika--arvo on ”0”.
Aika--arvo on binäärikoodattuna aikasanan biteissä 0 ... 9. Aika--arvo ilmoittaayksiköiden määrän. Ajan päivitys pienentää aika--arvoa kulloinkin yhdelläyksiköllä intervallissa, jonka aikakertoimen tunnus määritteli. Aika--arvoapienennetään niin kauan, kunnes se on ”0”.
Esimääritelty aika--arvo voidaan ladata seuraavalla syntaksilla.
S S5T#aH_bbM_ccS_dddMS
-- a = tunnit, bb = minuutit, cc = sekunnit ja ddd = millisekunnit
-- Aikakertoimen tunnus valitaan automaattisesti ja arvo pyöristetääntällä tunnuksella lähimpään alempaan lukuun.
Enintään 9 990 sekunnin tai 2H_46M_30S:n suuruinen aika--arvo voidaanantaa.
Aikakerroin on binäärikoodattuna aikasanan biteissä 12 ja 13. Aikakerroinmäärittelee intervallin, jossa aika--arvoa pienennetään yhdellä yksiköllä(katso taulukko 9-1 ja kuva 9-1). Pienin aikakertoimen tunnus on 10 ms;suurin 10 s.
Taulukko 9-1 Aikakertoimen tunnus ja binäärikoodi
Aikakertoimen tunnus Aikakertoimen tunnuksen binäärikoodi
10 ms 00
100 ms 01
1 s 10
10 s 11
Muistialue
Aika--arvo
Aikakertoimentunnus
Aikaoperaatiot
9-3C79000-G7000-C402-01
Koska aika--arvot tallennetaan vain yhteen aikaintervalliin, katkaistaan arvot,jotka eivät ole aikaintervallin tarkkoja kokonaiskerrannaisia. Arvot, joidentarkkuus on liian suuri halutulla alueella, pyöristetään niin, että saavutetaanhaluttu alue, ei kuitenkaan haluttua tarkkuutta. Seuraavassa taulukossa onmahdolliset tarkkuudet ja kyseiset alueet.
Taulukko 9-2 Aikakertoimen tunnuksen tarkkuus ja alueet
Tarkkuus Aikakertoimen tunnus
0,01 sekunti 10MS ... 9S_990MS
0,1 sekunti 100MS ... 1M_39S_900MS
1 sekunti 1S ... 16M_39S
10 sekuntia 10S ... 2HR_46M_30S
Mikäli aika käynnistetään, käytetään aikapiirin sisältöä aika--arvona.Aika--arvoon aikapiirin biteissä 0 ... 11 binäärikoodatussa desimaalimuodossa(BCD--muoto: jokaisessa neljän bitin ryhmässä on binäärikoodi desimaaliarvoavarten). Biteissä 12 ja 13 on binäärikoodin aikapiiri (katso taulukko 9-2).Kuvassa 9-1 on aikapiirin sisältö, sen jälkeen kun aika--arvo 127 on ladattuaikaertoimen tunnuksella 1 sekunti.
Aikakertoimentunnus 1 sekunti
Merkityksetön: Näitä bittejä ei huomioida aikaa käynnistettäessä
Aika--arvo BCD--muodossa (0 ... 999)
15... ...8 7... ...0
1 2 7
x x 1 0 0 0 0 1 0 0 1 0 0 1 1 1
Kuva 9-1 Aikapiirin sisältö aika--arvolla 127 aikakertoimen tunnuksen ollessa1 sekunti
Jokaisessa aikakehyksessä on kaksi lähtöä, DUAL ja DEZ, joille voidaanantaa sanaosoite. Lähdössä DUAL on aika--arvo binäärikoodattu,aikakerrointa ei näytetä. Lähdössä DEZ ovat aikakerroin ja aikasanaBCB--koodattuja.
Aikapiirinbittikonfiguraatio
Aikakertoimen jaajan luku
Aikaoperaatiot
9-4 C79000-G7000-C402-01
9.2 Oikean aikatyypin valinta aikapiireille
Seuraava kuva antaa yleiskuvan viidestä eri aikatyypistä, joita tässäkappaleessa on kuvattu. Yleiskuvan tulisi helpottaa tarkoitusta vastaavan ajanvalitsemisessa.
Lähtösignaali on ”1”, mikäli tulosignaali on ”1” tai aika juoksee.Aika käynnistetään, mikäli tulosignaali vaihtuu ”1”:stä ”0”:ksi.
E 0.0
A 4.0
S_VIMP
S_EVERZ
S_SEVERZ
S_AVERZ
Tulosignaali
Lähtösignaali(aika impulssina) t
S_IMPULS
t
t
t
t
Maksimiaika, jona lähtösignaali pysyy ”1”:nä, on sama kuinohjelmoitu aika--arvo t. Lähtösignaali pysyy lyhyemmän ajan”1”:nä, mikäli tulosignaali vaihtuu ”0”:ksi.
Lähtösignaali pysyy ohjelmoidun ajan ”1”:nä, riippumatta siitä,kuinka kauan tulosignaali pysyy ”1”:nä.
Lähtösignaali on vain ”1”, kun ohjelmoitu aika on kulunutumpeen tulosignaalin ollessa yhä ”1”.
Lähtösignaali vaihtuu vain ”0”:sta ”1”:ksi, kun ohjelmoitu aikaon kulunut umpeen, riippumatta siitä, kuinka kauantulosignaali pysyy ”1”:nä.
A 4.0Lähtösignaali(aika pidennettynäimpulssina)
Lähtösignaali(aika veto--hidastuksena)
Lähtösignaali(aika muistavanavetohidastuksena)
Lähtösignaali(aika päästö--hidastuksena)
A 4.0
A 4.0
A 4.0
Kuva 9-2 Oikean aikatyypin valinta
Aikaoperaatiot
9-5C79000-G7000-C402-01
9.3 Ajan (aikapiirin) käynnistys impulssina
Operaatio ajan käynnistys impulssina käynnistää annetun ajan, joskäynnistystulossa (S) on nouseva reuna (ts., jos signaalitila vaihtuu ”0”:sta”1”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista. Aikakulkee niin kauan eteenpäin arvolla, joka on annettu tulossa TW, kunnesohjelmoitu aika on kulunut umpeen ja tulo S = 1. Niin kauan kuin aikajuoksee, antaa ”1”:n jälkeen lähdössä Q tehty signaalitilakysely tulokseksi”1”. Mikäli tulo S vaihtuu ”1”:stä ”0”:ksi, ennenkuin aika--arvo on kulunutumpeen, pysäytetään aika. Tässä tapauksessa antaa ”1”:n jälkeen lähdössä Qtehty signaalitilakysely tulokseksi ”0”.
Aika nollataan, mikäli nollaustulo (R) vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.Tällä vaihdolla nollataan myös aika--arvo ja aikakerroin. Tulon R signaaliti-lalla ”1” ei ole mitään vaikutusta ajan juostessa.
Lähdöiltä DUAL ja DEZ voidaan kysyä aktuellia aika--arvoa. DUAL --lähdönaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.
Taulukko 9-3 Ajan käynnistys impulssina--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
No TIMER T Ajan tunnus; alue riippuu CPU:sta.
T--no S BOOL E,A,M,D,L,T, Z Käynnistystulo
S_IMPULS
S DUAL
TW S5TIME E, A, M, D, Ltai vakio
Esiasetettu aika--arvo (alue 0 -- 9999)
DEZ
S
TW
DUALR BOOL E,A,M,D,L,T, Z Nollaustulo
DEZTW DUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R Q DEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Taulukko 9-4 Ajan käynnistys impulssina--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
No TIMER T Ajan tunnus; alue riippuu CPU:sta.
T no S BOOL E,A,M,D,L,T, Z Käynnistystulo
S_PULSE
S BI
TV S5TIME E, A, M, D, Ltai vakio
Esiasetettu aika--arvo (alue 0 -- 9999)
BCD
S
TV
BIR BOOL E,A,M,D,L,T, Z Nollaustulo
BCDTV BI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R Q BCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Kuvaus
Aikaoperaatiot
9-6 C79000-G7000-C402-01
Kuva 9-3 esittää operaatiota ajan käynnistys impulssina. Se kuvaa tilasananbittejä ja selventää operaation ominaisuuksia.
Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi(LUK:n nouseva reuna), käynnistetään aika T5. Sejuoksee annetulla 2:n sekunnin arvolla niin kauankun E 0.0 = 1. Mikäli tulon E 0.0 signaalitila vaihtuu”1”:stä ”0”:ksi ennenkuin tämä kaksi sekuntia on kulu-nut, aika pysäytetään. Mikäli tulon E 0.1 signaalitilavaihtuu ”0”:sta ”1”:ksi ajan kuluessa, se nollataan.Lähtö A 4.0 on ”1”, niin kauan kuin aika juoksee.
Esimerkkejä muista esiasetetuista ajoista:Yksiköt: h (tunnit), m (minuutit),s (sekunnit), ms (millisekunnit)
S5T#4s ----> 4 sekuntiaS5T#1h_15m ----> 1 tunti 15 minuuttiaS5T#2h_46m_30s---->2 tuntia, 46 minuuttia ja 30sekuntia
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
Impulssidiagrammi
Tulon S LUK
Tulon R LUK
Aika kulkee
Lähdön Q LUK
Lähdön Q käännetty LUK
---- t ----
t = ohjelmoitu aika
T5
R Q
TW
DUAL
DEZS5T# 2s
E 0.1A 4.0
SE 0.0
=
S_IMPULS
---- t ---- ---- t ----
Kuva 9-3 Ajan käynnistys impulssina
Esimerkki
Aikaoperaatiot
9-7C79000-G7000-C402-01
9.4 Ajan (aikapiirin) käynnistys pidennettynä impulssina
Operaatio ajan käynnistys pidennettynä impulssina käynnistää annetun ajan,jos käynnistystulossa (S) on nouseva reuna (ts., jos signaalitila vaihtuu”0”:sta ”1”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista.Aika kulkee myös silloin eteenpäin arvolla, joka on annettu tulossa TW, kuntulon S signaalitila vaihtuu ”0”:ksi vielä ennen aika--arvon kulumistaumpeen. Niin kauan kuin aika juoksee, antaa ”1”:n jälkeen lähdössä Q tehtysignaalitilakysely tulokseksi ”1”. Aika käynnistetään annetulla aika--arvollauudelleen, jos tulon S signaalitila vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.
Aika nollataan, mikäli nollaustulo (R) vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.Tällä vaihdolla nollataan myös aika--arvo ja aikakerroin.
Aktuellia aika--arvoa voi kysyä lähdöiltä DUAL ja DEZ. Lähdön DUALaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.
Taulukko 9-5 Ajan käynnistys pidennettynä impulssina--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys ParametriTiedosto--tyyppi
Muistialue Kuvaus
T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.
T no
S VIMPS BOOL E,A,M,D,L,T, Z Käynnistystulo
S_VIMP
S DUALTW S5TIME
E, A, M, D, Ltai vakio
Esiasetettu aika--arvo (alue 0 -- 9999)
DEZTW
DUALR BOOL E,A,M,D,L,T, Z NollaustuloDEZTW
R QDUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R QDEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Taulukko 9-6 Ajan käynnistys pidennettynä impulssina--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--Box Parametri Tiedosto--tyyppi
Muistialue Kuvaus
T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.
T no.
S PEXTS BOOL E,A,M,D,L,T, Z Käynnistystulo
S_PEXT
S BI
TV S5TIME E, A, M, D, Ltai vakio
Esiasetettu aika--arvo (alue 0 -- 9999)
BCDTV
BIR BOOL E,A,M,D,L,T, Z Nollaustulo
BCDTV
R QBI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R QBCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Kuvaus
Aikaoperaatiot
9-8 C79000-G7000-C402-01
Kuva 9-4 esittää operaatiota ajan käynnistys pidennettynä impulssina. Sekuvaa tilasanan bittejä ja selventää operaation ominaisuuksia.
Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi(LUK:n nouseva reuna), käynnistetään aika T5. Aikajuoksee tulon S laskevasta reunasta riippumatta an-netulla 2:n sekunnin arvolla edelleen. Mikäli tulon E0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi ennenkuin tämäkaksi sekuntia on kulunut, käynnistetään aika uudel-leen. Jos tulon E 0.1 signaalitila vaihtuu ”0”:sta ”1”:ksiajan kuluessa, käynnistetään aika uudelleen. LähtöA 4.0 on ”1”, niin kauan kuin aika juoksee.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
Impulssidiagrammi
Tulon S LUK
Tulon R LUK
Aika kulkee
---- t ---- ---- t ----
t = ohjelmoitu aika
T5
S_VIMP
R Q
TW
DUAL
DEZS5T# 2s
E 0.1A 4.0
SE 0.0
=
---- t ---- ---- t ----
Lähdön Q LUK
Lähdön Q käännetty LUK
Kuva 9-4 Ajan käynnistys pidennettynä impulssina
Esimerkki
Aikaoperaatiot
9-9C79000-G7000-C402-01
9.5 Ajan (aikapiirin) käynnistys vetohidastuksena
Operaatio ajan käynnistys vetohidastuksena käynnistää annetun ajan, joskäynnistystulossa (S) on nouseva reuna (ts., jos signaalitila vaihtuu ”0”:sta”1”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista. Aikakulkee niin kauan eteenpäin arvolla, joka on annettu tulossa TW, kunnestulon S signaalitila = 1. ”1”:n jälkeen lähdössä Q tehty signaalitilakyselytulokseksi ”1”, ajan kuluttua umpeen, tulon S ollessa yhä ”1” ja nollaustulon(R) pysyessä ”0”:na. Mikäli lähdön S signaalitila vaihtuu ”1”:stä ”0”:ksi ajankuluessa, aika pysäytetään. Tässä tapauksessa antaa ”1”:n jälkeen tehtysignaalitilakysely aina tulokseksi ”0”.
Aika nollataan, jos nollaustulo (R) vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.Tällä vaihdolla nollataan myös aika--arvo ja aikakerroin. Aika nollataanmyös silloin, kun R = 1 ja aika ei kulje.
Aktuellia aika--arvoa voi kysyä lähdöiltä DUAL ja DEZ. Lähdön DUALaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.
Taulukko 9-7 Ajan käynnistys vetohidastuksena--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.
T--no
S EVERZS BOOL E,A,M,D,L,T, Z Käynnistystulo
S_EVERZ
S DUALTW S5TIME E, A, M, D, L
tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)
DEZTW R BOOL E,A,M,D,L,T, Z NollaustuloDEZTW
R QDUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R QDEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Taulukko 9-8 Ajan käynnistys vetohidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.
T no.
S ODTS BOOL E,A,M,D,L,T, Z Käynnistystulo
S_ODT
S BITV S5TIME E, A, M, D, L
tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)
BCDTVR BOOL E,A,M,D,L,T, Z Nollaustulo
BCDTV
R QBI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R QBCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Kuvaus
Aikaoperaatiot
9-10 C79000-G7000-C402-01
Kuva 9-5 esittää operaatiota ajan käynnistys vetohidastuksena. Se kuvaatilasanan bittejä ja selventää operaation ominaisuuksia.
Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi(LUK:n nouseva reuna), käynnistetään aika T5.Mikäli annettu 2:n sekunnin aika on kulunut um-peen tulon E0.0 signaalitilan ollessa yhä ”1”, onlähdön A 4.0 signaalitila silloin = 1. Mikäli tulonE 0.0 signaalitila vaihtuu ”1”:stä ”0”:ksi, pysäy-tetään aika ja A 4.0 on ”0”. Jos tulon E 0.0 sig-naalitila vaihtuu ”0”:sta ”1”:ksi ajan juostessa,käynnistetään aika uudelleen.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
Impulssidiagrammi
Tulon S LUK
Tulon R LUK
Aika kuluu
---- t ---- ---- t ----
t = ohjelmoitu aika
T5
R Q
TW
DUAL
DEZS5T# 2s
E 0.1A 4.0
SE 0.0
=
S_EVERZ
---- t ----
Lähdön Q LUK
Lähdön Q käännetty LUK
Kuva 9-5 Ajan käynnistys vetohidastuksena
Esimerkki
Aikaoperaatiot
9-11C79000-G7000-C402-01
9.6 Ajan (aikapiirin) käynnistys tallentavana vetohidastuksena
Operaatio ajan käynnistys tallentavana vetohidastuksena käynnistää annetunajan, jos käynnistystulossa (S) on nouseva reuna (ts., jos signaalitila vaihtuu”0”:sta ”1”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista.Aika kulkee myös silloin eteenpäin arvolla, joka on annettu tulossa TW, kuntulon S signaalitila vaihtuu ”0”:ksi vielä ennen ajan kulumista umpeen. ”1”:njälkeen lähdössä Q tehty signaalitilakysely antaa ajan kuluttua umpeen tulonS signaalitilasta riippumatta tulokseksi ”1”, mikäli nollaustulo (R) pysyy”0”:na. Aika käynnistetään annetulla arvolla uudelleen, jos tulon Ssignaalitila vaihtuu ”0”:sta ”1”:ksi ajan kuluessa.
Mikäli nollaustulon (R) signaalitila vaihtuu ”0”:sta ”1”:ksi, nollataan tulon Saika LUK:sta riippumatta.
Aktuellia aika--arvoa voi kysyä lähdöiltä DUAL ja DEZ. Lähdön DUALaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.
Taulukko 9-9 Ajan käynnistys tallentavana vetohidastuksena--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
T--noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.
T--no
S SEVERZS BOOL E,A,M,D,L,T, Z Käynnistystulo
S_SEVERZ
S DUALTW S5TIME E, A, M, D, L
tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)
DEZTW R BOOL E,A,M,D,L,T, Z NollaustuloDEZTW
R QDUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R QDEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Taulukko 9-10 Ajan käynnistys tallentavana vetohidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
T nono. TIMER T Ajan tunnus; alue riippuu CPU:sta..
T no.
S ODTSS BOOL E,A,M,D,L,T, Z Käynnistystulo
S_ODTS
S BITV S5TIME E, A, M, D, L
tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)
BCDTV R BOOL E,A,M,D,L,T, Z NollaustuloBCD
R QBI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R QBCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Kuvaus
Aikaoperaatiot
9-12 C79000-G7000-C402-01
Kuva 9-6 esittää operaatiota ajan käynnistys tallentavana vetohidastuksena.Se kuvaa tilasanan bittejä ja selventää operaation ominaisuuksia.
Mikäli tulon E 0.0 signaalitila vaihtuu ”0”:sta”1”:ksi (LUK:n nouseva reuna), käynnistetäänaika T5. Aika juoksee eteenpäin riippumatta tu-lon E 0.0 signaalitilan vaihtumisesta”1”:stä”0”:ksi. Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta”1”:ksi ennen annetun arvon kulumista umpeen,käynnistetään aika uudelleen. Mikäli tulon E 0.0signaalitila vaihtuu ”0”:sta ”1”:ksi ajan kuluessa,käynnistetään aika uudelleen. Lähtö A 4.0 on ”1”ajan kuluttua umpeen ja tulon E 0.1 pysyessä”0”:na.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
Impulssidiagrammi
Tulon S LUK
Tulon R LUK
Aika kulkee
---- t ---- ---- t ----
t = ohjelmoitu aika
T5
R Q
TW
DUAL
DEZS5T# 2s
E 0.1A 4.0
SE 0.0
=
S_SEVERZ
---- t ---- -- t --
Lähdön Q LUK
Lähdön Q käännetty LUK
Kuva 9-6 Ajan käynnistys tallentavana vetohidastuksena
Esimerkki
Aikaoperaatiot
9-13C79000-G7000-C402-01
9.7 Ajan (aikapiirin) käynnistys päästöhidastuksena
Operaatio ajan käynnistys päästöhidastuksena käynnistää annetun ajan, joskäynnistystulossa (S) on laskeva reuna (ts., jos signaalitila vaihtuu ”1”:stä”0”:ksi). Ajan vapauttamiseksi tarvitaan aina signaalin vaihtumista. ”1”:njälkeen lähdössä Q tehty signaalitilakysely antaa tulokseksi ”1”, jos tulonS signaalitila = 1 tai aika kulkee. Aika nollataan, jos tulon S signaalitila vaihtuu”0”:sta ”1”:ksi ajan juostessa. Aika käynnistetään uudelleen vasta sitten, kuntulon S signaalitila vaihtuu ”1”:stä ”0”:ksi.
Mikäli nollaustulon (R) signaalitila vaihtuu ”0”:sta ”1”:ksi ajan juostessa,aika nollataan.
Aktuellia aika--arvoa voi kysyä lähdöiltä DUAL ja DEZ. Lähdön DUALaika--arvo on binäärikoodattu, lähdön DEZ BCD--koodattu.
Taulukko 9-11 Ajan käynnistys päästöhidastuksena--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.
T--no
S AVERZS BOOL E,A,M,D,L,T, Z Käynnistystulo
S_AVERZ
S DUALTW S5TIME E, A, M, D, L
tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)
DEZTW R BOOL E,A,M,D,L,T, Z NollaustuloDEZTW
R QDUAL WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R QDEZ WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Taulukko 9-12 Ajan käynnistys päästöhidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
T noNo TIMER T Ajan tunnus; alue riippuu CPU:sta.
T no
S OFFDTS BOOL E,A,M,D,L,T, Z Käynnistystulo
S_OFFDT
S BITV S5TIME E, A, M, D, L
tai vakioEsiasetettu aika--arvo (alue 0 -- 9999)
BCDTV R BOOL E,A,M,D,L,T, Z NollaustuloBCDTV
R QBI WORD E, A, M, D, L Jäännösaika--arvo (kokonaislukumuoto)
R QBCD WORD E, A, M, D, L Jäännösaika--arvo (BCD--muoto)
Q BOOL E, A, M, D, L Ajan tila
Kuvaus
Aikaoperaatiot
9-14 C79000-G7000-C402-01
Kuva 9-7 esittää operaatiota ajan käynnistys päästöhidastuksena. Se kuvaatilasanan bittejä ja selventää operaation ominaisuuksia.
Mikäli tulon E 0.0 signaalitila vaihtuu ”1”:stä ”0”:ksi,käynnistetään aika. Lähtö A 4.0 on ”1”, jos E 0.0 = 1tai aika juoksee. Jos tulon E 0.1 signaalitila vaihtuu”0”:sta ”1”:ksi ajan kuluessa umpeen, aika nollataan.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ERkirjoitus -- -- -- -- -- x x x 1
Impulssidiagrammi
Tulon S LUK
Tulon R LUK
Aika kulkee
t = ohjelmoitu aika
---- t ---- ---- t ----
T5
R Q
TW
DUAL
DEZS5T# 2s
E 0.1A 4.0
SE 0.0
=
S_AVERZ
---- t -------- t ----
Lähdön Q LUK
Lähdön Q käännetty LUK
Kuva 9-7 Ajan käynnistys päästöhidastuksena
Esimerkki
Aikaoperaatiot
8-1C79000-G7000-C402-01
Bittilukitusoperaatiot
Kappale Sisältö Sivu
8.1 Yleiskuva 8-2
8.2 JA--lukitus 8-3
8.3 TAI--lukitus 8-4
8.4 JA--ennen--TAI--lukitusta ja TAI--ennen--JA--lukitusta 8-5
8.5 EHDOTON--TAI--lukitus 8-6
8.6 Binääritulon väliinkirjoitus 8-7
8.7 Binääritulon kääntö 8-8
8.8 Osoitus 8-9
8.9 Konnektori 8-10
8.10 Lukitustuloksen lataus BIE--rekisteriin 8-11
8.11 Lähdön asetus 8-12
8.12 Lähdön nollaus 8-13
8.13 Laskurin aloitusarvon asetus 8-14
8.14 Operaatio: Eteenpäinlaskenta 8-16
8.15 Operaatio: Taaksepäinlaskenta 8-17
8.16 Operaatio: Ajan käynnistys impulssina 8-18
8.17 Operaatio: Ajan käynnistys pidennettynä impulssina 8-20
8.18 Operaatio: Ajan käynnistys vetohidastuksena 8-22
8.19 Operaatio: Ajan käynnistys tallentavana vetohidastuksena 8-24
8.20 Operaatio: Ajan käynnistys päästöhidastuksena 8-26
8.21 Reunan 0 --> 1 kysely 8-28
8.22 Reunan 1 --> 0 kysely 8-29
8.23 Signaalireunan 0 --> 1 kysely 8-30
8.24 Signaalireunan 1 --> 0 kysely 8-31
8.25 Flipflopin asetus/nollaus 8-32
8.26 Flipflopin nollaus/asetus 8-33
Yleiskuvakappaleesta
8
8-2 C79000-G7000-C402-01
8.1 Yleiskuva
Bittilukitusoperaatiot toimivat kahdella luvulla: ”1”:llä ja ”0”:lla. Nämäkaksi lukua muodostavat lukujärjestelmän perustan (duaalijärjestelmä) janiitä kutsutaan ”binäärinumeroiksi” tai lyhyesti ”biteiksi”. JA--, TAI--,EHDOTON--TAI--käskyjen ja lähtöjen yhteydessä ”1” on ”looginen KYLLÄ”ja ”0” ”looginen EI”.
Bittilukitusoperaatiot tulkitsevat signaalitiloja ”1” ja ”0” ja lukitsevat neboolen logiikan mukaisesti. Lukitukset antavat tulokseksi ”1” tai ”0”, ns.lukitustuloksen (LUK, katso kappale 6.2). Bittilukitusoperaatioiden käyn-nistämät lukitusoperaatiot suorittavat joukon toimintoja.
Seuraaville toiminnoille on käytettävissä bittilukitusoperaatiot:
S JA, TAI ja EHDOTON--TAI: Ne kysyvät signaalitilaa ja antavat tuloksen,joka joko kopioidaan LUK--bittiin tai lukitaan sillä. JA--lukituksissa sig-naalitilakyselyn tulos lukitaan JA--totuustaulukon mukaisesti (katso tau-lukko 6-7). TAI--lukituksissa tämä tapahtuu TAI--totuustaulukon mukai-sesti (katso taulukko 6-8), EHDOTON--TAI--lukituksissa EHDOTON--TAI--totuustaulukon mukaisesti (katso taulukko 6-9).
S Osoitus ja konnektori: LUK osoitetaan tai tallennetaan väliaikaisesti.
S Seuraavat operaatiot reagoivat LUK:hon ”1”:
-- lähdön asetus ja nollaus
-- Flipflopin asetus/nollaus ja Flipflopin nollaus/asetus
S Muutamat operaatiot reagoivat nousevaan tai laskevaan reunanvaihtoon,niin että voidaan suorittaa jokin seuraavista toiminnoista:
-- laskurin arvon nostaminen tai laskeminen
-- ajan käynnistys
-- lähdön ”1” muodostaminen
S Muut operaatiot vaikuttavat LUK:hon suoraan:
-- kääntämällä LUK:n
-- varmistamalla LUK:n tilasanan binääritulosbitissä
Tässä kappaleessa esitetään laskenta-- ja aikaoperaatiot SIMATIC-- jaIEC--mnemoniikalla.
Selitys
Toiminnat
Bittilukitusoperaatiot
8-3C79000-G7000-C402-01
8.2 JA--lukitus
Operaatiolla JA voidaan kysyä kahden tai useamman operandin signaalitilaaJA--kehyksen lähdöissä.
Mikäli kaikkien operandien signaalitila on ”1”, on ehto täyttynyt ja operaatioantaa tulokseksi ”1”. Jos yhden operandin signaalitila on ”0”, ei ehto oletäyttynyt ja operaatio antaa tulokseksi ”0”.
Mikäli JA--operaatio on lukitusketjun ensimmäinen operaatio, tallentaa sesignaalitilakyselynsä tuloksen LUK--bittiin.
Jokainen JA--operaatio, joka ei ole lukitusketjun ensimmäinen operaatio, lu-kitsee signaalitilakyselynsä tuloksen LUK--bittiin tallennetulla arvolla. Tämälukitus suoritetaan JA--totuustaulukon mukaisesti.
Taulukko 8-1 JA--kehys ja parametrit
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi> &<Operandi>
<Operandi> BOOLTIMERCOUNTER
E, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.
E 0.0
Tilasanan bittien kuvaus
Lähtö A 4.0 on asetettu, jos tulonE 0.0 JA E 0.1 signaalitila on ”1”.
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- x x x 1
&
E 0.1 =
A 4.0
Kuva 8-1 JA--lukitus
Kuvaus
Bittilukitusoperaatiot
8-4 C79000-G7000-C402-01
8.3 TAI--lukitus
Operaatiolla TAI voidaan kysyä kahden tai useamman operandin signaalitilaaTAI--kehyksen lähdöissä.
Jos yhden operandin signaalitila on ”1”, on ehto täyttynyt ja operaatio antaatulokseksi ”1”. Mikäli kaikkien operandien signaalitila on ”0”, ei ehto oletäyttynyt ja operaatio antaa tulokseksi ”0”.
Mikäli TAI--operaatio on lukitusketjun ensimmäinen operaatio, tallentaa sesignaalitilakyselynsä tuloksen LUK--bittiin.
Jokainen TAI--operaatio, joka ei ole lukitusketjun ensimmäinen operaatio,lukitsee signaalitilakyselynsä tuloksen LUK--bittiin tallennetulla arvolla.Tämä lukitus suoritetaan TAI--totuustaulukon mukaisesti.
Taulukko 8-2 TAI--kehys ja parametrit
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi> >=1<Operandi>
<Operandi> BOOLTIMERCOUNTER
E, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.
Tilasanan bittien kuvaus
Lähtö A 4.0 on asetettu, jos tulon E 0.0 TAI tulon E 0.1signaalitila on ”1”
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- x x x 1
E 0.0 >=1
E 0.1 =
A 4.0
Kuva 8-2 TAI--lukitus
Kuvaus
Bittilukitusoperaatiot
8-5C79000-G7000-C402-01
8.4 JA--ennen--TAI--lukitusta ja TAI--ennen--JA--lukitusta
Operaatiolla JA--ennen--TAI voidaan signaalitilakyselyn tulosta kysyäTAI--totuustaulukon mukaisesti.
JA--ennen--TAI--lukituksen signaalitila on ”1”, jos vähintään yksi JA--lukituson toteutunut.
E 0.0Lähdön A 3.1 signaalitila on ”1”, josvähintään yksi JA--lukitus on toteutunut.
&
E 0.1
E 0.2 &
E 0.3
>=1
A 3.1Lähdön A 3.1 signaalitila on ”0”, josmikään JA--lukitus ei ole toteutunut.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- x x x 1
=
Kuva 8-3 JA--ennen--TAI--lukitus
Operaatiolla TAI--ennen--JA voidaan signaalitilakyselyn tulosta kysyäJA--totuustaulukon mukaisesti.
TAI--ennen--JA--lukituksen signaalitila on ”1”, jos kaikki TAI--lukitukset ovattoteutuneet.
E 1.0Lähdön A 3.1 signaalitila on ”1”, josmolemmat TAI--lukitukset ovat toteutuneet.E 1.1
E 1.2
E 1.3
>=1A 3.1
Lähdön A 3.1 signaalitila on ”0”, josvähintään yksi TAI--lukitus ei ole toteutunut.
>=1
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- x x x 1
=
&
Kuva 8-4 TAI--ennen--JA--lukitusta
Kuvaus
Kuvaus
Bittilukitusoperaatiot
8-6 C79000-G7000-C402-01
8.5 EHDOTON--TAI--lukitus
Operaatiolla EHDOTON--TAI voidaan signaalitilakyselyn tulosta kysyäEHDOTON--TAI--totuustaulukon mukaisesti.
EHDOTON--TAI--lukituksen signaalitila on ”1”, mikäli jommankummanannetun operandin signaalitila on ”1”.
Taulukko 8-3 EHDOTON--TAI--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
XOR<Operandi><Operandi>
<Operandi> BOOLTIMERCOUNTER
E, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.
Tilasanan bittien kuvaus
Lähdön A 3.1 signaalitila on ”1”, vain jos XOR--piirin tulonE 0.0 TAI tulon E 0.2 signaalitila on ”1”.
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- x x x 1
E 0.0XOR
E 0.2 =A 3.1
Kuva 8-5 EHDOTON--TAI--lukitus
Kuvaus
Bittilukitusoperaatiot
8-7C79000-G7000-C402-01
8.6 Binääritulon väliinkirjoitus
Operaatio binääritulo väliinkirjoittaa JA--, TAI-- tai EHDOTON--TAI--kehykseen tulomerkinnän jälkeen toisen binääritulon.
Taulukko 8-4 Binääritulon ja parametrin elementti
FUP--elementti Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi><Operandi> BOOL
TIMERCOUNTER
E, A, M, T, Z, D, L Operandi ilmoittaa bitin, jonkasignaalitilaa kysytään.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- -- 1 x --
Lähtö A 4 on ”1”, jos tulojen E1.0 JAE 1.1 JA E 1.2 signaalitila on ”1”.
E 1.0 &E 1.1
=
A 4.0
E 1.2
Kuva 8-6 Binääritulon väliinkirjoitus
Kuvaus
Bittilukitusoperaatiot
8-8 C79000-G7000-C402-01
8.7 Binääritulon kääntö
Operaatio binääritulon kääntö kääntää LUK:n.
Lukitustulosta käännettäessä on huomioitava tietyt säännöt:
S Mikäli lukitustulos käännetään JA-- tai TAI--kehyksen ensimmäisessälähdössä, ei tule sulkuja.
S Mikäli lukitustulosta ei käännetä TAI--kehyksen ensimmäisessä lähdössä,otetaan koko binäärilukitus mukaan TAI--lukitukseen ennen lähtöä.
S Mikäli lukitustulosta ei käännetä JA--kehyksen ensimmäisessä lähdössä,otetaan koko binäärilukitus mukaan JA--lukitukseen ennen lähtöä.
Taulukko 8-5 Binäärituloelementin kääntö
FUP--elementti Parametri Tiedosto--tyyppi
Muistialue Kuvaus
Ei ole -- -- --
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- -- 1 x --
Lähtö A 4.0 on ”1”, jos:
tulojen E 1.0 JA E 1.1 EI signaalitila on ”1”
JA tulojen E 1.2 JA E 1.3 EI signaalitila on ”1”
TAI tulon E 1.4 EI signaalitila on ”1”.E 1.2 &E 1.3
E 1.4
>=1
E 1.0 &E 1.1
&
=
A 4.0
Kuva 8-7 Binääritulon kääntö
Kuvaus
Bittilukitusoperaatiot
8-9C79000-G7000-C402-01
8.8 Osoitus
Lukitustulos saadaan operaatiolla osoitus. Lukituksen lopussa oleva kehysantaa signaalin ”1” tai ”0” seuraavien kriteerien mukaisesti:
S Lähdön signaali on ”1”, mikäli lukituksen ehdot ovat täyttyneet ennenlähtökehystä.
S Lähdön signaali on ”0”, mikäli lukituksen ehdot eivät ole täyttyneet en-nen lähtökehystä.
FUP--lukitus osoittaa operaation puhuttelemalle lähdölle signaalitilan (samanasian aikaansaamiseksi voitaisiin operandille osoittaa myös LUK--bitin sig-naalitila). Mikäli FUP--lukitusten ehdot ovat toteutuneet, on lähtökehyksensignaalitila ”1”. Muussa tapauksessa on signaalitila ”0”. Master ControlRelay (MCR) vaikuttaa operaatioon osoitus.
Lähempää tietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.
Osoitus--kehys voidaan sijoittaa vain lukitusketjun oikeanpuoleiseen päähän.Tosin voidaan käyttää useampia osoitus--kehyksiä.
Käänteinen osoitus muodostetaan operaatiolla lähdön kääntö.
Taulukko 8-6 Osoitus--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
=
<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mille bitillelukitusketjun signaalitila osoitetaan.
Tilasanan bittien kuvaus
Lähdön A 4.0 signaalitila on ”1”, jos tulojen E 0.0 JAE 0.1 signaalitila on ”1”, TAI E 0.2 = 0.
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 x -- 0
A 4.0
E 0.0 &
E 0.1
E 0.2
>=1
=
Kuva 8-8 Osoitus
Kuvaus
Bittilukitusoperaatiot
8-10 C79000-G7000-C402-01
8.9 Konnektori (väliohjaus)
Operaatio konnektori on välikytketty osoituselementti (välitalletus), jokatallentaa LUK:n. Tarkemmin sanottuna tämä osoituselementti tallentaaviimeisen avatun haaran bittilukituksen ennen osoituselementtiä.
Master Control Relay (MCR) vaikuttaa operaatioon konnektori. Lähempäätietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.
Käännetty konnektori muodostetaan kääntämällä konnektoritulo.
Taulukko 8-7 Konnektori--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
#
<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mille bitilleLUK osoitetaan.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 x -- 0
Konnektorit tallentavat seuraavat lukitustulokset:
M 0.0 tallentaa tulojen M 1.1 tulojen
käännetyn LUK:n käännetyn LUK:n
DB5.DBX3.2 koko bittilukituksen käännetynM 2.2 tulon E1.4 LUK:n LUK:n DB 5:n 3. tavun bittiin 2.
E 1.2 &E 1.3
E 1.4
>=1
E 1.0 &E 1.1 &
=
M 0.0
DB5.DBX3.2 A 4.0
E 1.0 &E 1.1
E 1.2 &E 1.3
E 1.4
#
M 1.1#
M 2.2# #
#
Kuva 8-9 Konnektori
Kuvaus
Bittilukitusoperaatiot
8-11C79000-G7000-C402-01
8.10 Lukitustuloksen lataus BIE--rekisteriin
Operaatio lukitustuloksen lataus BIE--rekisteriin tallentaa LUK:n tilasananBIE--bittiin. Ensikyselytulosta /ER ei tällöin nollata.
Tästä syystä JA--lukituksessa lukitaan seuraavassa virtapiirissä mukaanBIE--bitin tila.
Operaation ”lukitustuloksen lataus BIE--rekisteriin” käyttö ja BIE--bitinkysely samassa yksikössä ei ole suositeltavaa ja globaali operandi suorittaasen paremmin (esim. merkkeri).
Operaatiolla ”lukitustuloksen lataus BIE--rekisteriin” voidaan lukita jonkinvirtapiirin LUK alempaan yksikköön. Ensikyselybitti nollataan kutsuvanyksikön operaatiolla CALL.
Taulukko 8-8 Lukitustulo--kehyksen lataus BIE--rekisteriin ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
SAVE Ei ole -- -- --
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus x -- -- -- -- -- -- -- --
Lukitustulos (LUK) tallennetaan BIE--bittiin.SAVE
E 1.2 &E 1.3
Kuva 8-10 Lukitustuloksen lataus BIE--rekisteriin
Kuvaus
Bittilukitusoperaatiot
8-12 C79000-G7000-C402-01
8.11 Lähdön asetus
Operaatio lähdön asetus suoritetaan vain, jos LUK = 1. Jos LUK = 1, asettaaoperaatio annetun operandin ”1”:ksi. Jos LUK = 0, ei operaatio vaikutaannettuun operandiin. Operandi pysyy muuttumattomana.
Master Control Relay (MCR) vaikuttaa operaatioon lähdön asetus. Lähempäätietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.
Taulukko 8-9 Lähdön asetus--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
S
<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 x -- 0
A 4.0
Lähdön A 4.0 signaalitila asetetaan ”1”:ksi vain, jos:
S tulojen E 0.0 JA E 0.1signaalitila on ”1”
S TAI tulon E 0.2 signaalitila = 0.
Jos haaran LUK = 0, ei lähdön A 4.0 signaalitilaamuuteta.
E 0.0 &E 0.1
S
>=1
E 0.2
Kuva 8-11 Lähdön asetus
Kuvaus
Bittilukitusoperaatiot
8-13C79000-G7000-C402-01
8.12 Lähdön nollaus
Operaatio lähdön nollaus suoritetaan vain silloin, jos LUK = 1. Jos LUK = 1,nollaa ”0” operaatio annetun operandin. Jos LUK = 0, ei operaatio vaikutaannettuun operandiin. Operandi pysyy muuttumattomana.
Master Control Relay (MCR) vaikuttaa operaatioon lähdön nollaus.Lähempää tietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.
Taulukko 8-10 Lähdön nollaus--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
R
<Operandi> BOOLTIMERCOUNTER
E, A, M, T, Z, D, L Operandi ilmoittaa, mikä bitti onnollattava.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 x -- 0
Lähdön A 4.0 signaalitila nollataan ”0” vain, jos:
S tulojen E 0.0 JA E 0.1 signaalitila on ”1”
S TAI lähdön E 0.2 signaalitila = 0.
Jos haaran LUK = 0, ei lähdön A 4.0 signaalitila muutu.
A 4.0
E 0.0 &E 0.1
R
>=1
E 0.2
Kuva 8-12 Lähdön nollaus
Kuvaus
Bittilukitusoperaatiot
8-14 C79000-G7000-C402-01
8.13 Laskurin aloitusarvon asetus
Operaatiolla laskurin aloitusarvon asetus osoitetaan määritellylle laskurilleesiasetus. Tämä operaatio suoritetaan vain, jos LUK:lla on nouseva reuna(LUK:n vaihtuminen ”0”:sta ”1”:ksi).
Laskurin aloitusarvon asetus--kehys voidaan sijoittaa vain lukitusketjunoikeanpuoleiseen päähän. Voidaan tosin käyttää useampia laskurinaloitusarvon asetus--kehyksiä.
Taulukko 8-11 Laskurin aloitusarvon asetus--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi1>Laskurinnumero
COUNTER Z Operandi1 ilmoittaa laskurinnumeron, jolle on esiasetettava arvo.
<Operandi2> ZW
SZ ZW WORD E, A, M, D, Ltaivakio
Esiasetusarvo (operandi2) voi ollavälillä 0 ... 999. Vakiota annettaessaon sen arvon edessä oltava C#, jokailmoittaa BCD--muodon,esim. C#100.
Taulukko 8-12 Laskurin aloitusarvon asetus--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi1>
SC
Laskurinnumero
COUNTER Z Operandi1 ilmoittaa laskurinnumeron, jolle on esiasetettava arvo.
CV
SC
<Operandi2>
CV WORD E, A, M, D, Ltaivakio
Esiasetusarvo (operandi2) voi ollavälillä 0 ... 999. Vakiota annettaessaon sen arvon edessä oltava C#, jokailmoittaa BCD--muodon,esim. C#100.
Kuvaus
Bittilukitusoperaatiot
8-15C79000-G7000-C402-01
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 -- -- 0
E 0.0
Z5 Laskuri Z5 esiasetetaan arvolla 100, jos tulon E 0.0signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nouseva reuna).C# ilmoittaa, että arvo annetaan BCD--muodossa.
Mikäli nousevaa reunaa ei ole, ei laskurin Z5 arvoamuuteta.C#100 ZW
SZ
Kuva 8-13 Laskurin aloitusarvon asetus
Bittilukitusoperaatiot
8-16 C79000-G7000-C402-01
8.14 Operaatio: eteenpäinlaskenta
Operaatio eteenpäinlaskenta nostaa laskurin arvoa ”1”:llä, jos LUK:lla onnouseva reuna (vaihto ”0”:sta ”1”:ksi) ja laskurin arvo on pienempi kuin 999.Mikäli LUK:ssa ei ole nousevaa reunaa tai jos laskurilla jo on arvo 999, eisitä nosteta.
Operaatio laskurin aloitusarvon asetus asetaa laskurin arvon (katsokappale 8.13).
Eteenpäinlaskenta--kehys voidaan sijoittaa vain lukitusketjun oikeanpuolei-seen päähän. Voidaan kuitenkin käyttää useampia eteenpäinlaskenta--kehyksiä.
Taulukko 8-13 Eteenpäinlaskenta--kehys ja parametri, SIMATIC-- ja kansainvälisellä mnemoniikalla
FUP--kehykset Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
ZV
<Operandi>
CU
Laskuri--numero
COUNTER Z Operandi ilmoittaa laskurinnumeron, jonka arvoa korotetaan.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 -- -- 0
E 0.0
Z10 Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:nnouseva reuna), korotetaan laskurin Z10 arvoa ”1”:llä(olkoonkin, että laskurin Z10 arvo on yhtäsuuri kuin 999).
Mikäli nousevaa reunaa ei ole, ei laskurin Z10 arvoamuuteta.
ZV
Kuva 8-14 Eteenpäinlaskenta
Kuvaus
Bittilukitusoperaatiot
8-17C79000-G7000-C402-01
8.15 Operaatio: taaksepäinlaskenta
Operaatio taaksepäinlaskenta laskee annetun laskurin arvoa ”1”:llä, josLUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi) ja laskurin arvo onsuurempi kuin ”0”. Mikäli LUK:ssa ei ole nousevaa reunaa tai jos laskurillaon jo arvo ”0”, ei sitä lasketa.
Operaatio laskurin aloitusarvon asetus asetaa laskurin arvon (katsokappale 8.13).
Taaksepäinlaskenta--kehys voidaan sijoittaa vain lukitusketjun oikeanpuolei-seen päähän. Voidaan kuitenkin käyttää useampia taaksepäinlaskenta--kehyksiä.
Taulukko 8-14 Taaksepäinlaskenta--kehys ja parametri, SIMATIC-- ja kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--laji
Muistialue Kuvaus
<Operandi>
ZR
<Operandi>
CD
Laskuri--numero
COUNTER Z Operandi ilmoittaa laskurinnumeron, jonka arvoa lasketaan.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 -- -- 0
E 0.0
Z10Jos lähdön E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:nnouseva reuna), lasketaan laskurin Z10 arvoa ”1”:llä (olkoon-kin, että laskurin Z10 arvo on yhtäsuuri kuin ”0”).
Mikäli nousevaa reunaa ei ole, ei laskurin Z10 arvoa muute-ta.
ZR
Kuva 8-15 Taaksepäinlaskenta
Kuvaus
Bittilukitusoperaatiot
8-18 C79000-G7000-C402-01
8.16 Operaatio: ajan (aikapiirin) käynnistys impulssina
Operaatio ajan käynnistys impulssina käynnistää ajan annetulla arvolla, josLUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi). Niin kauan kuin LUK onpositiivinen, kulkee aika eteenpäin annetulla arvolla. ”1”:n jälkeen tehtysignaalitilakysely antaa tulokseksi ”1”, niin kauan kuin aika juoksee. MikäliLUK vaihtuu ”1”:stä ”0”:ksi, ennenkuin aika kuluu umpeen, pysäytetäänaika. Tässä tapauksessa antaa ”1”:n jälkeen tehty signaalitilakyselytulokseksi ”0”.
Aikayksiköitä ovat t (päivät), h (tunnit), m (minuutit), s (sekunnit) ja ms(millisekunnit).
Lähempää tietoa ajan muistialueesta ja komponenteista löytyykappaleesta 9.1.
Ajan käynnistys impulssina--kehys voidaan sijoittaa vain lukitusketjun oi-keanpuoleiseen päähän. Voidaan tosin käyttää useampia ajan käynnistysimpulssina--kehyksiä.
Taulukko 8-15 Ajan käynnistys impulssina--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--laji
Muistialue Kuvaus
<Operandi>
SI
Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TW<Aika--arvo>TW S5TIME E, A, M, D, L
tai vakioAika--arvo (muoto S5TIME)
Taulukko 8-16 Ajan käynnistys impulssina--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--laji
Muistialue Kuvaus
<Operandi>
SP
Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TV<Aika--arvo>TV S5TIME E, A, M, D, L
tai vakioAika--arvo (muoto S5TIME)
Kuvaus
Bittilukitusoperaatiot
8-19C79000-G7000-C402-01
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 -- -- 0
T5Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nousevareuna), käynnistetään aika T5. niin kauan kuin signaalitila = 1, juok-see aika annetulla 2:n sekunnin arvolla. Jos tulon E 0.0 signaalitilavaihtuu ”1”:stä ”0”:ksi ennenkuin ko. aika kuluu umpeen, pysäy-tetään aika.Niin kauan kuin aika juoksee, on lähdön A 4.0 signaalitila = 1.
Aika--arvoesimerkkejä:
S5T#2s = 2 sekuntia
S5T#12m_18s = 12 minuuttia ja 18 sekuntia
E 0.0
TW
SI
S5T#2s
A 4.0=T5
Virtapiiri 1:
Virtapiiri 2:
Kuva 8-16 Ajan käynnistys impulssina
Bittilukitusoperaatiot
8-20 C79000-G7000-C402-01
8.17 Operaatio: ajan (aikapiirin) käynnistys pidennettynä impulssina
Operaatio ajan käynnistys pidennettynä impulssina käynnistää ajan annetullaarvolla, jos LUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi). Aika kulkeevielä sittenkin annetulla arvolla eteenpäin, kun LUK vaihtuu ”0”:ksi ennenko. ajan kulumista umpeen. ”1”:n jälkeen tehty signaalitilakysely antaatulokseksi ”1”, niin kauan kuin aika juoksee. Aika käynnistetään annetullaaika--arvolla uudelleen (jälkikäynnistys), jos LUK vaihtuu ”0”:sta ”1”:ksivielä ajan kuluessa.
Lähempää tietoa ajan muistialueesta ja komponenteista löytyykappaleesta 9.1.
Ajan käynnistys pidennettynä impulssina--kehys voidaan sijoittaa vain luki-tusketjun oikeanpuoleiseen päähän. Voidaan tosin käyttää useampia ajankäynnistys pidennettynä impulssina--kehyksiä.
Taulukko 8-17 Ajan käynnistys pidennettynä impulssina--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--laji
Muistialue Kuvaus
<Operandi>
SV
Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TW<Aika--arvo>
TW S5TIME E, A, M, D, Ltai vakio
Aika--arvo (muoto S5TIME)
Taulukko 8-18 Ajan käynnistys pidennettynä impulssina--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--laji
Muistialue Kuvaus
<Operandi>
SE
Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TV<Aika--arvo>
TV S5TIME E, A, M, D, Ltai vakio
Aika--arvo (muoto S5TIME)
Kuvaus
Bittilukitusoperaatiot
8-21C79000-G7000-C402-01
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 -- -- 0
Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nousevareuna), käynnistetään aika T5. Aika juoksee eteenpäin,ilman ettäLUK:n laskeva reuna vaikuttaa siihen. Mikäli tulon E 0.0 signaalitilavaihtuu ”0”:sta ”1”:ksi, ennenkuin annettu aika--arvo on kulunut um-peen, aika jälkikäynnistetään.
Niin kauan kuin aika juoksee on lähdön A 4.0 signaalitila = 1.
S5T#2s
E 0.0
TW
SV
T5
A 4.0=T5
Virtapiiri 1:
Virtapiiri 2:
Kuva 8-17 Ajan käynnistys pidennettynä impulssina
Bittilukitusoperaatiot
8-22 C79000-G7000-C402-01
8.18 Operaatio: ajan (aikapiirin) käynnistys vetohidastuksena
Operaatio ajan käynnistys vetohidastuksena käynnistää annetun ajan, josLUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi). ”1”:n jälkeen tehtysignaalitilakysely antaa tulokseksi ”1”, jos annettu aika on kulunut umpeenvirheettömästi ja lukitustulos on yhä ”1”. Mikäli LUK vaihtuu ”1”:stä ”0”:ksiajan kuluessa, aika pysäytetään. Tässä tapauksessa ”1”:n jälkeen tehtysignaalitilakysely antaa aina tulokseksi ”0”.
Lähempää tietoa ajan muistiosoitteesta ja komponenteista löytyykappaleesta 9.1.
Ajan käynnistys vetohidastuksena--kehys voidaan sijoittaa vain lukitusketjunoikeanpuoleiseen päähän. Voidaan tosin käyttää useampia ajan käynnistysvetohidastuksena--kehyksiä.
Taulukko 8-19 Ajan käynnistys vetohidastuksena--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>SE
Ajannumero
TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TW<Aika--arvo>TW S5TIME E, A, M, D, L
tai vakioAika--arvo (muoto S5TIME)
Taulukko 8-20 Ajan käynnistys vetohidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>SD
Ajannumero
TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TV<Aika--arvo>TV S5TIME E, A, M, D, L
tai vakioAika--arvo (muoto S5TIME)
Kuvaus
Bittilukitusoperaatiot
8-23C79000-G7000-C402-01
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 -- -- 0
Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi(LUK:n nouseva reuna), käynnistetään aikaT5. Mikäliaika on kulunut umpeen signaalitilan ollessa yhä ”1”,on lähtö A 4.0 = 1. Jos signaalitila vaihtuu ”1”:stä”0”:ksi, aika pysäytetään.S5T#2s
E 0.0
TW
SET5
A 4.0=T5
Virtapiiri 1:
Virtapiiri 2:
Kuva 8-18 Ajan käynnistys vetohidastuksena
Bittilukitusoperaatiot
8-24 C79000-G7000-C402-01
8.19 Operaatio: ajan (aikapiirin) käynnistys tallentavanavetohidastuksena
Operaatio ajan käynnistys tallentavana vetohidastuksena käynnistää annetunajan, jos LUK:lla on nouseva reuna (vaihto ”0”:sta ”1”:ksi). Aika kulkeevielä sittenkin annetulla arvolla eteenpäin, kun LUK vaihtuu ”0”:ksi ennenko. ajan kulumista umpeen. ”1”:n jälkeen tehty signaalitilakysely antaalukitustuloksesta riippumatta tulokseksi ”1”, kun aika on kulunut umpeen.Mikäli LUK vaihtuu ”0”:sta ”1”:ksi ajan kuluessa, käynnistetään se annetullaarvolla uudelleen (jälkikäynnistys).
Lähempää tietoa ajan muistiosoitteesta ja komponenteista löytyykappaleesta 9.1.
Ajan käynnistys tallentavana vetohidastuksena--kehys voidaan sijoittaa vainlukitusketjun oikeanpuoleiseen päähän. Voidaan tosin käyttää useampia ajankäynnistys tallentavana vetohidastuksena--kehyksiä.
Taulukko 8-21 Ajan käynnistys tallentavana vetohidastuksena--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
SS
Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TW<Aika--arvo>
TW S5TIME E, A, M, D, Ltai vakio
Aika--arvo (muoto S5TIME)
Taulukko 8-22 Ajan käynnistys tallentavana vetohidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
SS
Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TV<Aika--arvo>
TV S5TIME E, A, M, D, Ltai vakio
Aika--arvo (muoto S5TIME)
Kuvaus
Bittilukitusoperaatiot
8-25C79000-G7000-C402-01
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 -- -- 0
Jos tulon E 0.0 signaalitila vaihtuu ”0”:sta ”1”:ksi (LUK:n nou-seva reuna), käynnistetään aika T5. Aika juoksee riippumattasiitä, vaihtuuko tulon E 0.0 signaalitila ”1”:stä ”0”:ksi. Mikälisignaalitila vaihtuu ”0”:sta ”1”:ksi ennen aika--arvon umpeenkulumista , aika jälkikäynnistetään.Lähtö A 4.0 = 1, kun aika on kulunut umpeen.S5T#2s
E 0.0
TW
SST5
A 4.0=T5
Virtapiiri 1:
Virtapiiri 2:
Kuva 8-19 Ajan käynnistys tallentavana vetohidastuksena
Bittilukitusoperaatiot
8-26 C79000-G7000-C402-01
8.20 Operaatio: ajan (aikapiirin) käynnistys päästöhidastuksena
Operaatio ajan käynnistys päästöhidastuksena käynnistää annetun ajan, josLUK:lla on laskeva reuna (vaihto ”1”:stä ”0”:ksi). ”1”:n jälkeen tehtysignaalitilakysely antaa tulokseksi ”1”, jos LUK = 1 tai jos aika juoksee.Aika nollataan, jos LUK vaihtuu ”0”:sta ”1”:ksi ajan kuluessa. Aikakäynnistetään vasta sitten uudelleen, jos LUK vaihtuu ”1”:stä ”0”:ksi.
Lähempää tietoa ajan muistiosoitteesta ja komponenteista löytyykappaleesta 9.1.
Ajan käynnistys päästöhidastuksena--kehys voidaan sijoittaa vain lukitus--ketjun oikeanpuoleiseen päähän. Voidaan tosin käyttää useampia ajankäynnistys päästöhidastuksena--kehyksiä.
Taulukko 8-23 Ajan käynnistys päästöhidastuksena--kehys ja parametri SIMATIC--mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
SA
Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TW<Aika--arvo>
TW S5TIME E, A, M, D, Ltai vakio
Aika--arvo (muoto S5TIME)
Taulukko 8-24 Ajan käynnistys päästöhidastuksena--kehys ja parametri kansainvälisellä mnemoniikalla
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
SF
Ajan numero TIMER T Operandi ilmoittaa ajannumeron, joka onkäynnistettävä.
TV<Aika--arvo>
TV S5TIME E, A, M, D, Ltai vakio
Aika--arvo (muoto S5TIME)
Kuvaus
Bittilukitusoperaatiot
8-27C79000-G7000-C402-01
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 -- -- 0
Aika käynnistetään, kun tulon E 0.0 signaalitila vaihtuu”1”:stä ”0”:ksi.
Mikäli signaalitila vaihtuu ”0”:sta ”1”:ksi, aika nollataan.
Lähdön A 4.0 signaalitila on ”1”, jos lähdön E 0.0 signaalitila= 1 tai aika juoksee.
S5T#2s
E 0.0
TW
SAT5
A 4.0=T5
Virtapiiri 1:
Virtapiiri 2:
Kuva 8-20 Ajan käynnistys päästöhidastuksena
Bittilukitusoperaatiot
8-28 C79000-G7000-C402-01
8.21 Reunan 0 --> 1 kysely (pulssin muodostus nousevasta reunasta)
Operaatio reunan 0� 1 kysely tunnistaa annetun operandin vaihtumisen”0”:sta ”1”:ksi (nouseva reuna) ja näyttää sen operaation jälkeenlukitustuloksella LUK = 1. LUK:n aktuellia signaalitilaa verrataan operandinsignaalitilaan, reunamerkkeriin. Mikäli operandin signaalitila on ”0” ja LUKon ennen operaatiota ”1”, niin LUK on operaation jälkeen ”1” (impulssi),kaikissa muissa tapauksissa ”0”. Lukitustulos ennen operaatiota tallennetaanoperandiin.
Taulukko 8-25 Reunan 0� 1 kysely--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
P
<Operandi> <Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikäreunamerkkeri tallentaa edellisenLUK:n.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 x x 1
Reunamerkkeri M 3.3 tallentaaedellisen LUK:n signaalitilan.
E 1.2 &E 1.3
E 1.4&
>=1
E 1.0 &E 1.1 &
=
A 4.0
P
M 0.0
N
M 1.1
P
M 2.2
N
M 3.3
Kuva 8-21 Reunan 0� 1 kysely
Kuvaus
Bittilukitusoperaatiot
8-29C79000-G7000-C402-01
8.22 Reunan 1 --> 0 kysely (pulssin muodostus laskevasta reunasta)
Operaatio reunan 1� 0 kysely tunnistaa annetun operandin vaihtumisen”1”:stä ”0”:ksi (laskeva reuna) ja näyttää sen operaation jälkeenlukitustuloksella LUK = 1. LUK:n aktuellia signaalitilaa verrataan operandinsignaalitilaan, reunamerkkeriin. Mikäli operandin signaalitila on ”1” ja LUKon ennen operaatiota ”0”, niin LUK on operaation jälkeen ”1” (impulssi),kaikissa muissa tapauksissa ”0”. Lukitustulos ennen operaatiota tallennetaanoperandiin.
Taulukko 8-26 Reunan 1� 0 kysely--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
N
<Operandi> <Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikäreunamerkkeri tallentaa edellisenLUK:n.
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- 0 x x 1
Reunamerkkeri M 3.3 tallentaaedellisen LUK:n signaalitilan.
E 1.2 &E 1.3
E 1.4&
>=1
E 1.0 &E 1.1 &
=
A 4.0
P
M 0.0
N
M 1.1
P
M 2.2
N
M 3.3
Kuva 8-22 Reunan 1� 0 kysely
Kuvaus
Bittilukitusoperaatiot
8-30 C79000-G7000-C402-01
8.23 Signaalireunan 0 --> 1 kysely (pulssin muodostusnousevasta reunasta)
Operaatio signaalireunan 0� 1 kysely vertaa <operandin1> signaalitilaaedellisen kyselyn signaalitilaan, joka on tallennettu parametriin M_BIT.Mikäli signaalitila on vaihtunut ”0”:sta ”1”:ksi, on lähtö Q = 1, kaikissamuissa tapauksissa ”0”.
Taulukko 8-27 Signaalireunan 0� 1 kysely--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
POS
<Operandi1> <Operandi1> BOOL E, A, M, D, L Positiivisen reunanvaihdon kysyväsignaaliOS
M_BIT Q
M_BIT BOOL A, M, D Operandi M_BIT ilmoittaa, mihinreunamerkkeriin POS:n edellinensignaalitila on tallennettu.M_bittinä käytetään tulojenprosessikuvan E muistialuetta vainsilloin, kun mikään tulokortti eivielä ole varannut tätä operandia.
Q BOOL E, A, M, D, L Ainutkertaisen signaalin vaihdonlähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus x -- -- -- -- 0 1 x 1
Lähtö A 4.0 on ”1”, jos:
tulossa E 0.3 on nouseva reunaJA tulon E 0.4 signaalitila on ”1”.
E 0.3
POS
M_BIT QM 0.0
=
A 4.0
E 0.4
&
Kuva 8-23 Signaalireunan 0� 1 kysely
Kuvaus
Bittilukitusoperaatiot
8-31C79000-G7000-C402-01
8.24 Signaalireunan 1 --> 0 kysely (pulssin muodostuslaskevasta reunasta)
Operaatio signaalireunan 1� 0 kysely vertaa <operandin1> signaalitilaaedellisen kyselyn signaalitilaa, joka on tallennettu parametriin M_BIT.Mikäli signaalitila on vaihtunut ”1”:stä ”0”:ksi, on lähtö Q = 1, kaikissamuissa tapauksissa ”0”.
Taulukko 8-28 Signaalireunan 1� 0 kysely--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
NEG
<Operandi1> <Operandi1> BOOL E, A, M, D, L Negatiivisenreunanvaihdon kysyväsignaali
M_BIT Q
M_BIT BOOL A, M, D Operandi M_BITilmoittaa, mihinreunamerkkeriin NEG:nedellinen signaalitila ontallennettu. M_bittinäkäytetään tulojenprosessikuvan Emuistialuetta vain silloin,kun mikään tulokortti eivielä ole varannut tätäoperandia.
Q BOOL E, A, M, D, L Ainutkertaisen signaalinvaihdon lähtö
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus x -- -- -- -- 0 1 x 1
Lähtö A 4.0 on ”1”, jos
tulossa E 0.3 on laskeva reunaJA tulon E 0.4 signaalitila on ”1”.
E 0.3
NEG
M_BIT QM 0.0
=A 4.0
E 0.4
&
Kuva 8-24 Signaalireunan 1� 0 kysely
Kuvaus
Bittilukitusoperaatiot
8-32 C79000-G7000-C402-01
8.25 Flipflopin asetus nollaus
Operaatio Flipflopin asetus nollaus suorittaa operaatiot kuten asetus (S) tainollaus (R) vain silloin, kun LUK = 1. Jos LUK on ”0” ei se vaikuta näihinoperaatioihin; operaatiossa annettu operandi ei muutu.
Flipflopin asetus nollaus asetetaan, jos tulon S signaalitila = 1 ja tulonR = 0. Mikäli lähtö S = 0 ja tulo R = 1, nollataan Flipflop. Jos kummankintulon LUK on ”1”, niin Flipflop nollataan.
Master Control Relay (MCR) vaikuttaa Flipflopin asetukseen nollaukseen.Lähempää tietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.
Taulukko 8-29 Flipflopin asetus nollaus--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
<Operandi>
SR
<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava tai nollattava.
S
SRS BOOL E, A, M, D, L, T, Z Operaation asetus vapautus.
R Q
SR BOOL E, A, M, D, L, T, Z Operaation nollaus vapautus.
R QQ BOOL E, A, M, D, L <Operandin> signaalitila
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- x x x 1
Jos E 0.0 = 1 ja E 0.1 = 0, asetetaanmerkkeri M 0.0 ja A 4.0 on ”1”.Jos E 0.0 = 0 ja E 0.1 = 1, nollataanmerkkeri M 0.0 ja A 4.0 on ”0”.
Mitään muutosta ei tapahdu molempiensignaalitilojen ollessa ”0”. Mikäli kummat-kin signaalitilat ovat ”1”, dominoi nollaus--operaatio järjestyksen perusteella.M 0.0 nollataan ja A 4.0 on ”0”.
M 0.0
R Q
S
E 0.0&
E 0.1
E 0.0E 0.1
&
=
A 4.0
SR
Kuva 8-25 Flipflopin asetus nollaus
Bittilukitusoperaatiot
8-33C79000-G7000-C402-01
8.26 Flipflopin nollaus asetus
Operaatio Flipflopin nollaus asetus suorittaa operaatiot kuten asetus (S) tainollaus (R) vain silloin, kun LUK = 1. Jos LUK on ”0” ei se vaikuta näihinoperaatioihin; operaatiossa annettu operandi ei muutu.
Flipflopin nollaus asetus nollataan, jos tulon R signaalitila = 1 ja tulonS = 0. Mikäli lähtö R = 0 ja tulo S = 1, asetetaan Flipflop. Jos kummankintulon LUK on ”1”, niin Flipflop asetetaan.
Master Control Relay (MCR) vaikuttaa Flipflopin nollaukseen asetukseen.Lähempää tietoa MCR:n toimintatavasta löytyy kappaleesta 20.5.
Taulukko 8-30 Flipflopin nollaus asetus--kehys ja parametri
FUP--kehys Parametri Tiedosto--tyyppi
Muistialue Kuvaus
R
<Operandi>
RS
<Operandi> BOOL E, A, M, D, L Operandi ilmoittaa, mikä bitti onasetettava tai nollattava.
RS BOOL E, A, M, D, L, T, Z Operaation nollaus vapautus
QS R BOOL E, A, M, D, L, T, Z Operaation asetus vapautus
Q BOOL E, A, M, D, L <Operandin> signaalitila
Tilasanan bittien kuvaus
BIE A1 A0 OV OS OR STA VKE /ER
kirjoitus -- -- -- -- -- x x x 1
Jos E 0.0 = 1 ja E 0.1= 0, nollataanmerkkeri M 0.0 ja lähtö A 4.0 on ”0”. JosE 0.0 = 0 ja E 0.1 = 1, asetetaanmerkkeri M 0.0 ja lähtö A 4.0 on ”1”.
Mitään muutosta ei tapahdu molempien sig-naalitilojen ollessa ”0”. Mikäli kummatkin sig-naalitilat ovat ”1”, dominoi asetus--operaatiojärjestyksen perusteella. M 0.0 asetetaan jaA 4.0 on ”1”.
M 0.0
S Q
RE 0.0
&
E 0.1
E 0.0E 0.1
&
=
A 4.0
RS
Kuva 8-26 Flipflopin nollaus asetus
Kuvaus
Bittilukitusoperaatiot
8-34 C79000-G7000-C402-01
Bittilukitusoperaatiot
7-1C79000-G7000-C402-01
Parametrointi
Kappale Sisältö Sivu
7.1 Yleiskuva 7-2
7.2 Osoitelajit 7-4
Yleiskuvakappaleesta
7
7-2 C79000-G7000-C402-01
7.1 Yleiskuva
Monet FUP-operaatiot työskentelevät yhdellä tai useammalla operandilla.Tämä operandi ilmoittaa vakion tai operandiosoitteen, jossa operaatio löytäämuuttujan, jonka avulla se suorittaa loogisen lukituksen. Tämäoperandiosoite voi olla operandin bitti, tavu, sana tai kaksoissana.
Mahdollisia operandeja ovat esim.
S vakio, ajan tai laskurin arvo tai ASCII-merkkijono
S automaatiojärjestelmän tilasanan bitti
S tiedostoyksikkö ja tiedostoyksikköalueen sisäinen osoite.
Käytettävissä ovat seuraavat osoitteenantolajit:
S suora arvon anto (vakion anto operandina)
S suora osoiteanto (muuttujan anto operandina).
Kuvassa 7-1 on esimerkki suorasta arvon ja osoiteannosta.
Kehyksen toiminta on kahden tuloparametrin vertailu (tässä tapauksessakahden kokonaisluvun (16 bittiä)), jotta voidaan todeta, onko ensimmäinentulo pienempi vai yhtä suuri kuin toinen tulo. Tuloparametrinä IN1 annetaanvakio 50. Merkkerisana MW200, tallennusosoite, annetaan tuloparametrinäIN2.
Koska tässä esimerkissä vakio 50 on oloarvo, jolla IN1:n on käsiteltäväkehystä, on 50 kehyksen välitön operandi. Koska MW200 viittaamuistiosoitteeseen, jossa on toinen arvo, jolla IN2:n on käsiteltävä kehystä,on MW200 suora operandi. MW200 on osoite eikä oloarvo sinänsä.
CMP
IN1
<= I
50
MW200 IN2
Kuva 7-1 Suora arvon anto ja suora osoiteanto
Mitä parametrointion?
Suora arvon antoja suoraosoiteanto
Parametrointi
7-3C79000-G7000-C402-01
Taulukko 7-1 Operandin vakiomuodot elementaarisilla datatyypeillä
Tyyppi jakuvaus
Kokobit--teinä
Muodollisetoptiot
Alue ja lukukuesitys(alimmasta korkeimpaan arvoon)
Esimerkki
BOOL(bitti)
1 Bool-teksti TRUE/FALSE TRUE
BYTE(tavu)
8 Heksadesimaali-luku
B#16#0 ... B#16#FF B#16#10byte#16#10
WORD(sana)
16 Duaaliluku
Heksadesimaali-luku
BCDDesimaalilukuilman etumerkkiä
2#0 ...2#1111_1111_1111_1111W#16#0 ... W#16#FFFF
C#0 ... C#999B#(0,0) ... B#(255,255)
2#0001_0000_0000_0000
W#16#1000word16#1000C#998B#(10,20)byte#(10,20)
DWORD(kaksois-sana)
32 Duaaliluku
Heksadesim.lukuDesimaalilukuilman etumerkkiä
2#0 ...2#1111_1111_1111_1111_1111_1111_1111_1111DW#16#0 ... DW#16#FFFF_FFFF
B#(0,0,0,0) ...B#(255,255,255,255)
2#0100_1100_0100_0101_0101_0100_0101_1010
DW#16#4C45_545Adword#16#4C45_545AB#(1, 14, 100, 120)byte#(1,14,100,120)
INT(kokonais--luku)
16 Desimaalilukuetumerkillä
-32768 ... 32767 1
DINT(Kok.luku,32 bittiä)
32 Desimaalilukuetumerkillä
L#--2147483648 ... L#2147483647 L#1
REAL(Liukuluku)
32 IEEELiukuluku
Ylempi raja: �3.402823e+38Alempi raja: �1.175 495e-38(katso myös taulukko 3-5)
1,234567e+13
S5TIME(SIMATIC-aika)
16 S5-aika 10 ms:nvälein(oletus-arvo)
S5T#0H_0M_0S_10MS ...S5T#2H_46M_30S_0MS jaS5T#0H_0M_0S_0MS
S5T#0H_1M_0S_0MSS5Time#0H_1H_1M_0S_0MS
TIME(IEC-aika)
32 IEC-aika 1 ms:nvälein,kokonaislukuetumerkillä
T#-24D_20H_31M_23S_648MS ...T#24D_20H_31M_23S_647MS
T#0D_1H_1M_0S_0MSTIME#0D_1H_1M_0S_0MS
DATE(IEC-päiväys)
16 IEC-päiväys 1päivän välein
D#1990-1-1 ...D#2168-12-31
D#1994-3-15DATE#1994--3--15
TIME_OF_DAY(kellonaika)
32 Kellonaika 1 ms:nvälein
TOD#0:0:0.0 ...TOD #23:59:59.999
TOD#1:10:3.3TIME_OF_DAY#1:10:3.3
CHAR(merkki)
8 ASCII-merkki ’A’,’B’ jne. ’E’
Parametrointi
7-4 C79000-G7000-C402-01
7.2 Osoitelajit
FUP-operaation operandina voidaan käyttää jotain seuraavista elementeistä:
S bittiä, jonka signaalitilaa on kysyttävä
S bittiä, jolle lukitusketjun signaalitila osoitetaan
S bittiä, jolle lukitustulos (LUK) osoitetaan
S bittiä, joka on asetettava tai nollattava
S lukua, joka ilmoittaa laskurin, josta on lisättävä tai vähennettävä
S lukua, joka ilmoittaa, mitä aikaa on käytettävä
S reunamerkkeriä (pulssi), joka tallentaa edellisen LUK:n
S reunamerkkeriä (pulssi), joka tallentaa toisen operandin edellisensignaalitilan
S tavua, sanaa tai kaksoissanaa, jossa on arvo, jolla FUP-elementin taiFUP-kehyksen on toimittava
S tiedostoyksikön (DB tai DI) numeroa, joka on avattava tai laadittava
S toiminnan (FC), systeemitoiminnan (SFC), toimintayksikön (FB) taisysteemitoimintayksikön (SFB) numeroa, jota on kutsuttava
S hyppymerkkiä, johon on hypättävä.
Muuttujat operandeina muodostuvat operanditunnuksesta ja operanditunnuk-sessa annetun muistialueen sisäisestä osoitteesta. Operanditunnuksella voiolla kaksi tyyppiä:
S operanditunnus, joka ilmoittaa seuraavat kaksi dataobjektia:
-- muistialueen, jossa operaatio löytää arvon (dataobjekti), jolla se suo-rittaa lukituksen (esim. ”E” tulojen prosessikuvalle, katso taulukko6-5).
-- arvon suuruuden (dataobjekti), jolla operaation on suoritettava lukitus(esim. B ”Byte/tavu”, W ”Wort/sana” ja D ”Doppelwort/kaksoissana”,katso taulukko 6-5).
S operanditunnus, joka ilmoittaa muistialueen, ei kuitenkaan tämän alueendataobjektin kokoa (esim. alueen T (ajat), Z (laskurit) tai DB tai DI (tie-dostoyksikkö) tunnuksen ja ajan, laskurin tai tiedostoyksikön numeron,katso taulukko 6-5).
Mahdollisetoperandit
Operandi--tunnukset
Parametrointi
7-5C79000-G7000-C402-01
Muuttujan osoite voidaan tunnistaa osoittimella. Osoittimessa on arvonsijasta operandi. Jos parametrilajille osoitin osoitetaan todellinen parametri,annetaan muistiosoite. Osoitin voidaan syöttää STEP 7:llä joko osoitin--muodossa tai yksinkertaisesti operandina (esim. M 50.0). Seuraavassaesimerkissä on esitetty osoitinmuoto, jolla käsitellään dataa M 50.0:stälähtien.
P#M50.0
Mikäli työskennellään operaatiolla, jonka operanditunnus ilmoittaaautomaatiojärjestelmän muistialueen, ja dataobjektilla, joka on kooltaan sanatai kaksoissana, on huomioitava, että muistiosoitteeseen viitataan ainatavuosoitteena. Tämä tavuosoite on pienin tavunumero tai sanan taikaksoissanan korkeampiarvoisen tavun numero. Kuvassa 7-2 esitetyn käskynoperandi viittaa esim. muistialueen M neljään peräkkäiseen tavuun, alkaentavusta 10 (MB10) ja päättyen tavuun 13 (MB13).
Operaatio: L MD10
Operanditunnus Tavuosoite
Kuva 7-2 Esimerkki muistiosoitteesta, johon viitataan tavuosoitteen muodossa
Kuva 7-3 esittää dataobjekteja seuraavilla suureilla:
S Kaksoissana: merkkerikaksoissana MD10
S Sana: merkkerisanat MW10, MW11 ja MW12
S Tavu: merkkeritavut MB10, MB11, MB12 ja MB13
Mikäli käytetään absoluuttisia operandeja, jotka ovat leveydeltään sanoja taikaksoissanoja, on varmistettava, että vältetään limittäisiä tavuosoituksia.
MB10 MB11 MB12 MB13
MW11
MD10
MW10 MW12
Kuva 7-3 Viittaus muistiosoitteeseen tavuosoitteen muodossa
Osoitin
Työskentelykäytettäessäoperandina sanaatai kaksoissanaa
Parametrointi
7-6 C79000-G7000-C402-01
Parametrointi
6-1C79000-G7000-C402-01
FUP:n rakenne ja elementit
Kappale Sisältö Sivu
6.1 Elementit ja kehykset 6-2
6.2 Boolen logiikka ja totuustaulukot 6-6
6.3 CPU-rekisterin merkitys käskyissä 6-9
Yleiskuvakappaleesta
6
6-2 C79000-G7000-C402-01
6.1 Elementit ja kehykset
FUP-käskyt muodostuvat elementeistä ja kehyksistä, jotka liitetäänvirtapiireihin graafisesti. Elementit ja kehykset järjestetään seuraaviinryhmiin:
STEP 7 esittää osan FUP-operaatioista yksilöllisinä elementteinä, jotka eivättarvitse operandia eivätkä parametriä (katso taulukko 6-1).
Taulukko 6-1 FUP-operaatio elementtinä ilman operandia ja parametriä
Elementti Kuvaus Tämän käsikirjankappale
Binääritulon kääntö 8.7
STEP 7 esittää osan FUP-operaatioista kehyksinä, joille on annettavaoperandi (katso taulukko 6-2). Lähempää tietoa parametroinnista löytyykappaleesta 7.
Taulukko 6-2 FUP-operaatio kehyksenä, jossa operandi
Elementti Kuvaus Tämän käsikirjankappale
<Operandi>
=Osoitus 8.8
STEP 7 esittää osan FUP-operaatioista kehyksinä, joille on annettavaoperandi ja arvo (esim. aika- tai laskenta-arvo, katso taulukko 6-3).
Lähempää tietoa parametroinnista löytyy kappaleesta 7.
Taulukko 6-3 FUP-operaatio kehyksenä, jossa operandi ja arvo
Elementti Kuvaus Tämän käsikirjankappale
<Operandi>>
TW
SS
<Aika--arvo>
Ajan käynnistystallentavana
vetohidastuksena8.19
FUP-käskyt
Operaatioelementtinä
Operaatiokehyksenä, jossaoperandi
Operaatiokehyksenä, jossaoperandi ja arvo
FUP:n rakenne ja elementit
6-3C79000-G7000-C402-01
STEP 7 esittää osan FUP-operaatioista kehyksinä, joissa on tulot ja lähdöt(katso taulukko 6-4). Tulot ovat kehyksen vasemmalla, lähdöt oikeallapuolella. On annettava tuloparametrit ja muutamia lähtöparametrejä .Useimmat lähdöt ovat jo käytettävissä STEP 7-ohjelmistossa. Parametrienkohdalla on käytettävä yksittäisten tiedostotyyppien erityismerkintätapaa.
Vapautustulon (EN) ja vapautuslähdön (ENO) parametrien kuvaus on alla.Lisätietoa tulo- ja lähtöparametreistä löytyy tämän käsikirjan yksittäisistäoperaatiokuvauksista.
Taulukko 6-4 FUP-operaatio kehyksenä, jossa tulot ja lähdöt
Kehys Kuvaus Tämän käsikirjankappale
DIV_R
IN1
EN
IN2
OUT
ENO
Liukuluvun jako 12.5
Jos FUP-kehyksen vapautustulo (EN) aktivoidaan, suorittaa kehys siten tietyntoiminnan. Mikäli kehys käsittelee toimintaa virheettömästi, aktivoidaanvapautuslähtö (ENO). FUP-kehyksen parametrit EN ja ENO ovat BOOLtiedostotyyppiä ja voivat sijaita muistialueilla E, A, M, D tai L (katsotaulukot 6-5 ja 6-6).
EN ja ENO toimivat seuraavien periaatteiden mukaisesti:
S Jos EN:ää ei aktivoida (ts. signaalitila on ”0”), ei kehys suoritatoimintaansa, ja ENO:a ei aktivoida (ts. signaalitila on myös ”0”).
S Jos EN aktivoidaan (ts. signaalitila on ”1”) ja vastaava kehys suorittaatoimintansa virheettömästi, aktivoidaan silloin myös ENO (ts. signaalitilaon myös ”1”).
S Jos EN aktivoidaan (ts. signaalitila on ”1”) ja jos toiminnan käsittelynaikana esiintyy virhe, ei ENOa silloin aktivoida (ts. signaalitila on ”0”).
Useimmat FUP:n operandit viittaavat muistilueisiin. Seuraavassa taulukossaesitetään muistialueiden lajit ja niiden toiminnat.
Operaatiokehyksenä, jossaparametrit
Vapautustulon javapautuslähdönparametrit
Muistialueet jatoiminnat
FUP:n rakenne ja elementit
6-4 C79000-G7000-C402-01
Taulukko 6-5 Muistialueet ja niiden toiminnat
Alueen käsittely
Alueen nimi Muistialueen toiminta seuraavien suureidenyksiköillä:
Lyh.
Tulojenprosessikuva
Syklin alussa käyttöjärjestelmä lukee tulot prosessista jamerkitsee tämän alueen arvot. Ohjelma käyttää kyseisiä arvojasyklisessä käsittelyssään.
TuloTulotavuTulosanaTulokaksoissana
EEBEWED
Lähtöjenprosessikuva
Syklin aikana ohjelma määrittää lähtöjen tilat ja tallentaa netälle alueelle. Syklin lopussa käyttöjärjestelmä lukee kyseisenalueen tilat ja lähettää ne prosessilähdöille.
LähtöLähtötavuLähtösanaLähtökaksoissana
AABAWAD
Merkkerit Tällä alueella on käytettävissä muistitilaa ohjelman laskemillevälituloksille.
MerkkeriMerkkeritavuMerkkerisanaMerkkerikaksoissana
MMBMWMD
Periferia-alue:ulk. tulot
Tämä alue mahdollistaa tulo- ja lähtöyksiköiden suorankäsittelyn ohjelmassa (periferiatulot- ja lähdöt).
PeriferiatulotavuPeriferiatulosanaPeriferiatulo-kaksoissana
PEBPEWPED
Periferia-alue:ulk. lähdöt
PeriferialähtötavuPeriferialähtösanaPeriferialähtö-kaksoissana
PABPAWPAD
Ajat Ajat ovat FUP:n toimintaelementtejä. Tällä alueella onkäytettävissä muistitilaa aikapiireille. Tällä alueellaaikaimpulssianturi käsittelee aikapiirejä, päivittääkseen neaika-arvoa pienentämällä. Aikapiirejä käsitellään tässäaikaoperaatioilla.
Aika (T) T
Laskurit Laskurit ovat FUP:n toimintaelementtejä. Tällä alueella onkäytettävissä muistitilaa laskureille. Niitä käsitellään tässälaskentaoperaatioilla.
Laskuri (Z) Z
Tiedosto--yksikkö
Tällä alueella on tietoja, joita voidaan käsitellä jokaisestayksiköstä käsin. Mikäli kaksi erilaista tiedostoyksikköä avataansamanaikaisesti, voidaan toinen avata käskyllä ”AUF DB” jatoinen käskyllä ”AUF DI”. Operandien merkintätapa, esim.L DBWi ja L DIWi määrää kumpaa tiedostoyksikköäkäsitellään.V ikk kä k llä ”AUF DI” id kä i llä j k i h l
Tiedostoyksikkö, avattukäskyllä ”AUF DB”:DatabittiDatatavuDatasanaDatakaksoissana
DBXDBBDBWDBD
Vaikka käskyllä ”AUF DI” voidaan käsitellä jokaista haluttuatiedostoyksikköä, käytetään tätä käskyä kuitenkin pääasiassaoheis-tiedostoyksiköiden avaamiseen, jotka on varattutoimintayksiköille (FBt) ja järjestelmätoimintayksiköille (SFBt)Lisäinfoa FB:eistä ja SFB:eistsä löytyy ohjelmointikäsikirjasta/234/ ja käyttäjäkäsikirjasta /231/ .
Tiedostoyksikkö, avattukäskyllä ”AUF DI”:DatabittiDatatavuDatasanaDatakaksoissana
DIXDIBDIWDID
Paikallisdata Tällä alueella on hetkellisiä tietoja koodiyksiköstä (OB, FB taiFC). Näitä tietoja kutsutaan myös dynaamiseksipaikallisdataksi. Ne toimivat välimuistina. Jos koodiyksikkösuljetaan, nämä tiedot häviävät. Tiedot ovatpaikallisdata-pinossa (L-pino).
Hetkell.paikallisdatabittiHetkellinenpaikallisdatatavuHetkell. paik.datasanaHetkellinenpaik.data-kaksoissana
LLB
LWLD
FUP:n rakenne ja elementit
6-5C79000-G7000-C402-01
Taulukkoon 6-6 on listattu eri muistialueiden maksimi osoitealueet. CPU:nosoitealueet löytyvät vastaavasta käsikirjasta /70/ tai /101/.
Taulukko 6-6 Muistialueet ja niiden osoitealueet
Alueen nimiAlueen käsittely
M k it lAlueen nimiseuraavien suureiden yksiköillä: Lyh. Maks. osoitealue
Tulojenprosessikuva
TuloTulotavuTulosanaTulokaksoissana
EEBEWED
0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532
Lähtöjenprosessikuva
LähtöLähtötavuLähtösanaLähtökaksoissana
AABAWAD
0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532
Merkkerit MerkkeriMerkkeritavuMerkkerisanaMerkkerikaksoissana
MMBMWMD
0.0 ... 255.70 ... 2550 ... 2540 ... 252
Periferia--alue:Ulkoiset tulot
PeriferitulotavuPeriferiatulosanaPeriferiatulo-kaksoissana
PEBPEWPED
0 ... 65 5350 ... 65 5340 ... 65 532
Periferia--alue:Ulkoiset lähdöt
PeriferialähtötavuPeriferialähtösanaPeriferialähtö-kaksoissana
PABPAWPAD
0 ... 65 5350 ... 65 5340 ... 65 532
Ajat Aika T 0 ... 255
Laskurit Laskuri Z 0 ... 255
Tiedostoyksikkö Tiedostoyksikkö, avattu käskyllä DB [AUF]
Databitti tiedostoyksikössäDatatavuDatasanaDatakaksoissana
DBXDBBDBWDBD
0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532
Tiedostoyksikkö, avattu käskyllä DI [AUF]
Databitti oheis-DB:ssäDatatavuDatasanaDatakaksoissana
DIXDIBDIWDID
0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532
Paikallisdata 1) PaikallisdatabittiPaikallisdatatavuPaikallisdatasanaPaikalalisdata-kaksoissana
LLBLWLD
0.0 ... 65 535.70 ... 65 5350 ... 65 5340 ... 65 532
1) FUP-operaatioissa voidaan muistialueella L käyttää operandia vain silloin, kun seselitetään muuttujien selitystaulukossa selitystyypillä VAR_TEMP.
FUP:n rakenne ja elementit
6-6 C79000-G7000-C402-01
6.2 Boolen logiikka ja totuustaulukot
FUP -ohjelmointikieli perustuu Boolen algebran kaksiarvoiseen logiikkaan,jossa muuttujat voivat ottaa arvot ”tosi” (1) tai ”epätosi” (0).
Jokainen lukitusoperaatio kysyy muuttujan signaalitilaa ”1”:n jälkeen (tosi,toteutunut) tai ”0” (epätosi, ei toteutunut), ja antaa sen perusteella tuloksen.Operaatio sitten joko tallentaa tämän tuloksen tai se suorittaa sillä boolenlukitusoperaation. Lukitustulosta kutsutaan LUK:ksi.
Logiikan esittämiseksi käytetään boolen algebrasta tuttuja loogisia kehyksiä.
Totuustaulukoihin on listattu kaikki osallisten loogisten muuttujienyhdistelymahdollisuuksien loogisten lukitusten tulokset.
Boolen logiikan sääntöjä havainnollistetaan seuraavassa JA-, TAI- jaEHDOTON-TAI lukituksen avulla.
JA-lukituksessa kysytään kahden tai useamman annetun operandinsignaalitilaa. Operandien signaalitilan ollessa ”1”, on ehto täyttynyt jaoperaatio antaa tuloksen ”1”. Operandien signaalitilan ollessa ”0”, ei ehto oletäyttynyt ja operaatio antaa tuloksen ”0”.
Kuva 6-1 esittää FUP -ohjelmointikielen JA-lukitusta.
E 1.0&
E 1.1 =
A 4.0Ehto on täyttynyt, kun tulojenE 1.0 JA E 1.1 signaalitila on ”1”.
Kuva 6-1 JA-lukitus FUP:ssa
JA-lukituksen mahdolliset tulokset voidaan esittää ”totuustaulukossa”.Tällöin ”1” tarkoittaa ”toteutunut” ja ”0” ”ei toteutunut”. Mahdollisetlukitukset ja niiden tulokset on koottu taulukkoon 6-7.
Taulukko 6-7 JA-totuustaulukko
Mikäli operandin E 1.0signaalitilakyselyn tulos
on
ja operandin E 1.1signaalitilakyselyn tulos
on lukitustulos
1 1 1
0 1 0
1 0 0
0 0 0
Boolen logiikka
JA-lukitus
FUP:n rakenne ja elementit
6-7C79000-G7000-C402-01
TAI-lukituksessa kysytään kahden tai useamman annetun operandinsignaalitilaa. Mikäli jonkin operandin signaalitila on ”1”, on ehto täyttynyt jaoperaatio antaa tuloksen ”1”. Kaikkien operandien signaalitilan ollessa ”0”,ei ehto ole täyttynyt ja operaatio antaa tuloksen ”0”.
Kuva 6-2 esittää FUP -ohjelmointikielen TAI-lukitusta.
E 1.0
E 1.1 =
A 4.0Ehto on täyttynyt, kun tulojenE 1.0 TAI E 1.1 signaalitila on ”1”.
>=1
Kuva 6-2 TAI-lukitus FUP:ssa
TAI-lukituksen mahdolliset tulokset voidaan esittää ”totuustaulukossa”.Tällöin ”1” tarkoittaa ”toteutunut” ja ”0” ”ei toteutunut”. Mahdollisetlukitukset ja niiden tulokset on koottu taulukkoon 6-8.
Taulukko 6-8 TAI-totuustaulukko
Mikäli operandin E 1.0signaalitilakyselyn
tulos on
ja operandin E 1.1signaalitilakyselyn
tulos
on lukitustulos
1 0 1
0 1 1
1 1 1
0 0 0
EHDOTON-TAI-lukituksessa kysytään kahden tai useamman annetunoperandin signaalitilaa. Mikäli jonkin operandin signaalitila on ”1”, on ehtotäyttynyt ja operaatio antaa tuloksen ”1”. Kaikkien operandien signaalitilanollessa ”0” tai ”1”, ei ehto ole täyttynyt ja operaatio antaa tuloksen ”0”.
Kuva 6-3 esittää FUP -ohjelmointikielen EHDOTON-TAI-lukitusta.
E 1.0
E 1.1 =
A 4.0Ehto on täyttynyt, kun tulon E1.0EHDOTON tulon E 1.1TAIsignaalitila on ”1”.
XOR
Kuva 6-3 EHDOTON-TAI-lukitus FUP:ssa
TAI-lukitus
EHDOTON-TAI-lukitus
FUP:n rakenne ja elementit
6-8 C79000-G7000-C402-01
EHDOTON-TAI-lukituksen mahdolliset tulokset voidaan esittää”totuustaulukossa”. Tällöin ”1” tarkoittaa ”toteutunut” ja ”0” ”ei toteutunut”.Mahdolliset lukitukset ja niiden tulokset on koottu taulukkoon 6-9.
Taulukko 6-9 EHDOTON-TAI-totuustaulukko
Mikäli operandin E 1.0signaalitilakyselyn
tulos on
ja operandin E 1.1signaalitilakyselyn
tulos
on lukitustulos
1 0 1
0 1 1
1 1 0
0 0 0
FUP:n rakenne ja elementit
6-9C79000-G7000-C402-01
6.3 CPU-rekisterin merkitys käskyissä
Rekisterit auttavat CPU:ta lukitusoperaatioiden, aritmeettisten operaatioiden,siirto- tai muunnosoperaatioiden suorittamisessa. Näitä rekisterejä kuvataanseuraavassa.
Akut (AKKU) muodostavat yleisrekisterin käsiteltäessä tavuja, sanoja ja kak-soissanoja. Ne ovat 32 bitin levyisiä.
0781516232431
AKKU (1 tai2)Alempiarvoinensana
Korkeampiarvoinensana
Alempiarvoinentavu
Korkeampiarvoinentavu
Korkeampiarvoinentavu
Alempiarvoinentavu
Kuva 6-4 Akun alueet
Tilasanassa on bittejä, joita voidaan käsitellä bittilukitusoperaatioiden ope-randeissa. Kuva 2-2 esittää tilasanan rakennetta. Seuraavissa kappaleissa seli-tetään bittien 0 ... 8 merkitystä.
28215... ...29 2427 26 25 2023 22 21
BIE OSA1 A0 OV /EROR STA VKE
Kuva 6-5 Tilasanan rakenne
Arvo Merkitys
0 asettaa siganaalititilan 0:ksi
1 asettaa signaalitilan 1:ksi
x muuttaa tilan
-- tila pysyy muuttumattomana
Selitys
Akut
Tilasana
Tilasanan bittienmuunto
FUP:n rakenne ja elementit
6-10 C79000-G7000-C402-01
Tilasanan bittiä 0 nimitetään ensikyselybitiksi (/ER-bitti: katso kuva 6-5)./ER-bitin signaalitila on FUP-virtapiirin alussa aina ”0”, olkoonkin, ettäedellinen virtapiiri päättyi SAVE -kehykseen.
Jokainen lukitusoperaatio kysyy /ER-bitin ja puhutellun koskettimen sig--naalitilaa. ER-bitin signaalitila ohjaa lukitusketjun kulkua. Jos /ER-bitti on”0” (FUP-virtapiirin alussa), tallentaa operaatio silloin tuloksen tilasananLUK-bittiin ja asettaa /ER-bitin 1:ksi. Tätä tapahtumaa nimitetään ensikyse-lyksi. Tulosta ”1” tai ”0”, joka tallennettiin ensikyselyn jälkeen LUK-bittiinnimitetään ensikyselytulokseksi.
Mikäli /ER-bitin signaalitila on ”1”, lukitsee operaatio signaalitilakyselyntuloksen puhuttelemassaan koskettimessa ensikyselyssä muodostetullaLUK:lla arvolla, ja tallentaa tuloksen LUK-bittiin.
FUP-lukitusoperaatioketju päättyy aina lähtöoperaatioon (esim. lähdön ase-tus, lähdön nollaus, osoitus) tai hyppyoperaatioon, joka viittaa lukitustulok-seen. Nämä operaatiot asettavat /ER-bitin takaisin ”0”:ksi.
Tilasanan bittiä 1 nimitetään LUK-bitiksi (LUK on ”lukitustulos”, katso kuva6-5). Tämä bitti tallentaa lukitus- tai vertailuoperaatioketjun tuloksen.LUK-bitin signaalitila antaa tietoa signaalivirtauksesta.
FUP-virtapiirin ensimmäinen operaatio kysyy operandin signaalitilaa ja antaatuloksen ”1” tai ”0”. Operaatio tallentaa tämän signaalitilan tuloksenLUK-bittiin. Lukitusoperaatioketjun toinen operaatio kysyy myös operandinsignaalitilaa ja antaa tuloksen. Operaatio lukitsee nyt tämän tuloksen Boolenlogiikan sääntöjen mukaisesti arvolla, joka on tallennettu tilasananLUK-bittiin (katso yllä ”Ensikysely”). Kyseisen lukitusoperaation tulos tal-lennetaan tilasanan LUK-bittiin ja se korvaa LUK-bitin edellisen arvon. Ket-jun jokainen seuraava operaatio suorittaa lukituksen kahdella arvolla:operandin signaalikyselyn tuloksella ja aktuellilla LUK:lla.
Ensikyselyssä voidaan boolen lukitusoperaatiolla osoittaa esim. LUK:lleboolen merkkerin tila tai laukaista hyppyoperaatio.
LUK = lukitustulos = VKE (saksa) = RLO (englanti)
Ensikysely
Lukitustulos
Huomio
FUP:n rakenne ja elementit
6-11C79000-G7000-C402-01
Tilasanan bitti 2 on nimeltään tilabitti (STA-bitti, katso kuva 6-5). Tilabittitallentaa puhutellun bitin arvon. Lukitusoperaation, joka voi lukea muistia,tila on aina sama kuin bitin arvo, joka kysyy tätä operaatiota (bitti, jolla luki-tus suoritetaan). Lukitusoperaation, joka voi kirjoittaa muistiin (lähdönasetus; lähdön nollaus tai osoitus) tila on sama kuin bitin arvo, johon operaa-tio kirjoittaa. Mikäli kirjoittamista ei tapahdu on arvo sama kuin puhutellunbitin arvo. Tilabitilla ei ole merkitystä lukitusoperaatioille, jotka eivät käsit-tele muistia. Nämä operaatiot asettavat tilabitin ”1”:ksi (STA = 1). Operaatioteivät kysy tilabittiä. Se tulkitaan vain ohjelmatestin (ohjelman tila) aikana.
Tilasanan bitti 3 on nimeltään OR-bitti (katso kuva 6-5). OR-bittiä tarvitaan,jos suoritetaan JA-ennen TAI-lukitus. Operaatiot JA-tulo ja JA-EI-tulo voivatsisältyä JA-lukitukseen. OR-bitti näyttää operaatioille, että yhdellä ennensuoritetulla JA-lukituksella on arvo ”1”, jolla TAI-lukituksen tulos otetaanennakolta. Jokainen muu bitinkäsittelyoperaatio nollaa OR-bitin.
Tilasanan bitti 5 on nimeltään OV-bitti (ylivuoto, katso kuva 6-5). OV-bitti(ylivuoto) näyttää virtheet. Aritmeettiset operaatiot tai vertailuoperaatiotasettavat sen liukuluvuilla virheen esiinnyttyä (ylivuoto, luvaton operaatioluvaton liukuluku). Bitti asetetaan (vikatapaus) tai nollataan aritmetiikka- taivertailuoperaatioiden tuloksen mukaisesti.
Tilasanan bitti 4 on nimeltään OS-bitti (ylivuoto, tallentava, katso kuva 6-5).OS-bitti (ylivuoto, tallentava) asetetaan yhdessä OV-bitin kanssa, jos esiintyyvirhe. Koska OS-bitti pysyy aritmeettisten operaatioiden virheettömässäläpikulussa muuttumattomana (päinvastoin kuin OV-bitti), osoittaa se, onkojossain aikaisemmin suoritetussa operaatiossa esiintynyt virhe. Seuraavatoperaatiot nollaavat OS-bitin: SPS (hyppy, jos OS = 1, AWL-ohjelmointi),yksikkökutsut ja yksikön loppu.
Tilasanan bitit 7 ja 6 ovat nimeltään näyttöbitti 1 ja näyttöbitti 0 (A1 ja A0,katso kuva 6-5). Bitit A1 ja A0 (näyttöbitit) informoivat seuraavista tuloksis-ta tai biteistä:
S aritmeettisen operaation tulos
S vertailuoperaation tulos
S digitaalisen operaation tulos
S biteistä, jotka siirrettiin operandista siirto- tai pyöritysoperaatioilla.
Taulukoissa 6-10 ... 6-15 on bittien A1 ja A0 merkitys, ohjelman suoritettuamäärätyt operaatiot.
Tilabitti
OR-bitti
OV-bitti
OS-bitti
A1 ja A0
FUP:n rakenne ja elementit
6-12 C79000-G7000-C402-01
Taulukko 6-10 A1 ja A0 aritmeettisten operaatioiden jälkeen, ilman ylivuotoa
A1 A0 Selitys
0 0 Tulos = 0
0 1 Tulos < 0
1 0 Tulos > 0
Taulukko 6-11 A1 ja A0 artimeettisten operaatioiden jälkeen(kokonaislukuaritmetiikka), ylivuodolla
A1 A0 Selitys
0 0 Negatiivinen alue, ylivuoto, yhteenlasku kokonaislukuina(16 bittiä) ja kokonaislukujen yhteenlasku (32 bittiä)
0 1
Negatiivinen alue, ylivuoto, kertominen kokonaislukuina(16 bittiä) ja kokonaislukujen kertominen (32 bittiä)Positiivinen alue, ylivuoto, yhteenlasku kokonaislukuina(16 bittiä), ja kokonaislukujen vähennyslasku (16 bittiä)kokonaislukujen yhteenlasku (32 bittiä), kokonaislukujenvähennyslasku (32 bittiä), 2:n komplementin muodostaminen16-bitin kokonaisluvuksi, 2:n komplementin muodostaminen32-bitin kokonaisluvuksi
1 0
Positiivinen alue, ylivuoto, kertominen kokonaislukuina(16 bittiä), kokonaislukujen kertominen (32 bittiä),kokonaislukujen jakaminen (16 bittiä), kokonaislukujenjakaminen (32 bittiä),Negatiivinen alue, ylivuoto, yhteenlasku kokonaislukuina(16 bittiä), kokonaislukujen vähennyslasku (16 bittiä),kokonaislukujen yhteenlasku (32 bittiä), kokonaislukujenvähennyslasku (32 bittiä)
1 1 Jako 0:lla kokonaislukujen jako (16 bittiä), kokonaislukujen jako(32 bittiä) ja jakojäännös (32 bittiä)
Taulukko 6-12 A1 ja A0 aritmeettisten operaatioiden jälkeen (liukulukuaritmetiikka),ylivuodolla
A1 A0 Selitys
0 0 Portaittainen alitus
0 1 Negatiivinen alue ylivuoto
1 0 Positiivinen alue ylivuoto
1 1 Ei voimassa olevaa liukulukua
FUP:n rakenne ja elementit
6-13C79000-G7000-C402-01
Taulukko 6-13 A1 ja A0 vertailuoperaatioiden jälkeen
A1 A0 Selitys
0 0 IN2 = IN1
0 1 IN2 < IN1
1 0 IN2 > IN1
1 1 IN1 tai IN2 ei ole voimassa oleva liukuluku
Taulukko 6-14 A1 ja A0 siirto- ja pyöritysoperaatioiden jälkeen
A1 A0 Selitys
0 0 Viimeksi siirretty bitti = 0
1 0 Viimeksi siirretty bitti = 1
Taulukko 6-15 A1 ja A0 digitaalisten lukitusoperaatioiden jälkeen
A1 A0 Selitys
0 0 Tulos = 0
1 0 Tulos <> 0
Tilasanan bitti 8 on nimeltään BIE-bitti (binääritulos, katso kuva 6-5).BIE-bitti on bitti- ja sanakäsittelyn yhdistyselin. Se mahdollistaa tehokkaallatavalla sanaoperaation tuloksen binäärisen tulkinnan ja sen liittämisen binää-rilukitusketjuun. BIE esittää tältä kannalta katsottuna järjestelmän sisäistämerkkeriä, johon LUK pelastetaan ennen LUK-muuttavaa sanaoperaatiota,jotta se on operaation jälkeen jälleen käytettävissä katkenneen bittiketjunjatkamista varten.
BIE-bitti mahdollistaa esim. toimintayksikön (FB) tai toiminnan (FC)ohjelmoinnin AWL:ssä ja FB:n tai FC:n kutsun FUP:ssa.
Mikäli kirjoitetaan toimintayksikkö tai toiminta, jota halutaan kutsua FUP:stakäsin, on aivan sama kirjoitetaanko FB tai FC AWL:ssä vai FUP:ssa,BIE-bitti on otettava huomioon. BIE-bitti vastaa FUP-kehyksenvapautuslähtöä (ENO). LUK tallennetaan BIE-bittiin operaatiolla SAVE(AWL:ssä) tai FUP-kehyksellä SAVE seuraavien kriteerien mukaisesti:
S LUK ”1” tallennetaan BIE-bittiin, kun FB tai FC käsitelläänvirheettömästi.
S LUK ”0” tallennetaan BIE-bittiin, kun FB:n tai FC:n käsittelyssä ilmeneevirhe.
Nämä operaatiot ohjelmoidaan FB:n tai FC:n loppuun, niin että niitäkäsitellään yksikön viimeisinä operaatioina.
BIE-bitti
FUP:n rakenne ja elementit
6-14 C79000-G7000-C402-01
!Varoitus
BIE-bitti voidaan asettaa vahingossa takaisin ”0”:ksi.
Mikäli FBt tai FCt kirjoitetaan FUP:ssa eikä BIE-bittiä käsitellä kuten edelläon kuvattu, voi FB tai FC silloin ylikirjoittaa toisen FB:n tai FC:n BIE-bitin.
Tämän virheen välttämiseksi LUK tallennetaan FB:n tai FC:n lopussa kutenyllä on kerrottu.
FUP-kehyksen vapautustulon (EN) ja vapautuslähdön (ENO) parametrittoimivat seuraavien periaatteiden mukaisesti:
S Mikäli EN:ää ei aktivoida (ts. signaalitila on ”0”), ei kehys silloin suoritatoimintaa eikä ENOa aktivoida (ts. signaalitila on myös ”0”).
S Mikäli EN aktivoidaan (ts. signaalitila on ”1”) ja jos vastaava kehyssuorittaa toiminnan virheettömästi, aktivoidaan myös ENO silloin (ts.signaalitila on myös ”1”).
S Mikäli EN:ää ei aktivoida (ts. signaalitila on ”1”) ja mikäli toiminankäsittelyn aikana esiintyy virhe, ei ENOa silloin aktivoida (ts. signaalitilaon ”0”).
Mikäli ohjelmassa kutsutaan järjestelmätoimintayksikköä (SFB) taijärjestelmätoimintaa (SFC), osoittaa SFB tai SFC BIE-bitin signaalitilanavulla, onko CPU suorittanut toiminnan virheettömästi vai virheellisenä:
S Mikäli käsittelyn aikana ilmeni virhe, on BIE-bitti ”0”.
S Mikäli toiminta käsiteltiin virheettömästi, on BIE-bitti ”1”.
EN/ENO:n merkitys
FUP:n rakenne ja elementit
FUP:n rakenne ja elementit 6
Osoitteenanto 7
Bittilukitusoperaatiot 8
Aikaoperaatiot 9
Laskentaoperaatiot 10
Peruslaskentaoperaatiot 11
Liukulukuaritmetiikka 12
Vertailuoperaatiot 13
Siirto- jamuunnosoperaatiot 14
Sanalukitusoperaatiot 15
Siirto- ja pyöritysoperaatiot 16
Tiedostoyksikköoperaatiot 17
Hyppyoperaatiot 18
Tilabittioperaatiot 19
Ohjelmanohjausoperaatiot 20
Osa 2: Kielikuvaus
5-12 C79000-G7000-C402-01
5-1C79000-G7000-C402-01
Yksikön ominaisuuksien ja ohjelmatestinkäsittely
Kun tiedostoyksiköt ja koodiyksiköt on laadittu ja ohjelmoitu, tarkastellaan jakäsitellään yksikön ominaisuuksia. Nämä mahdollistavat myöhemmin yksi-kön tarkan tunnistamisen ja antavat tietoa sen synnystä. Tästä voi olla suurtaapua virheiden korjauksessa.
FUP-editorissa on mahdollista testata yhtä yksittäistä yksikköä, jota keskus-yksikön käyttäjäohjelma käsittelee. Tällöin voidaan virtapiirien sisäistäsignaalivuota seurata optisesti. Tämä testausmahdollisuus -- ohjelmatilaksinimitetty -- on tukena käyttöön-otossa, tarkastettaessa tärkeitä ohjelmakulkuja sekä virheiden korjauksessa.
Kappale Sisältö Sivu
5.1 Yksikön ominaisuuksien käsittely 5-2
5.2 FUP-ohjelman testaus -- yleiskuva 5-5
5.3 Ohjelmatilan näytön laadinta 5-6
5.4 Triggeri/liipaisuehtojen asetus 5-7
5.5 Testiympäristön valinta ja ohjelmatilan käynnistys/pysäytys 5-8
Mitä tämä kappalesisältää?
Yleiskuvakappaleesta
5
5-2 C79000-G7000-C402-01
5.1 Yksikön ominaisuuksien käsittely
Yksikön ominaisuuksiin on tallennettu lisätietoa yksiköstä. Tässä voidaanantaa valinnaisesti yksikön nimi, ryhmä, versio ja käsittelijä. Lisäksi näyte-tään muuta informaatiota ja tilastollisia tietoja, jotka järjestelmä antaa ja joitaei voi käsitellä (katso kuva 5-1), ja yksikölle voidaan osoittaasysteemiattribuutteja.
Yksikkötiedot antavat tärkeää tietoa yksikkölajista, muistitarpeesta ja viimei-sen muutoksen ajankohdasta. Nämä tiedot auttavat myös virheen etsinnässä,jos esim. muistitila ei riitä tai ilmenee aikamääriteristiriitoja.
Yksikön ominaisuuksia voidaan katsella ja käsitellä dialoginäytössä.
S Yksikkö merkitään SIMATIC managerissa ja valitaan valikkokäskyObject Object Properties.
S Kun yksikkö on auki FUP-editorissa valitaan valikkokäskyFile Properties.
Internal ID: FB6 Representation Language: FBD
Type: Function Block
Symbol: Symbol from traffic light
Symbol Comment: Traffic light on Main Street
Project Path: Traffic\Traffic light\User program\FB6
Name (Header): TrafficFB Version (Header): 01.00
Family: Traffic Block Version: 3.000
Author: Smith Multiple Instance Capability
Last Modified:
Code: 25.10.96 15:23:41.190Interface: 25.10.96 15:23:41.190
Properties
CancelOK Help
General -- Part 2 System AttributesGeneral -- Part 1
Kuva 5-1 Yksiköiden ominaisuus-dialogi FUP-editorissa
Rekisteriyksiköihin ”Yleistä - osa 1”, ”Yleistä - osa 2” ja”Systeemiattribuutit” voidaan syöttää mm. seuraavaa:
Yleiskuva
Menettely
Yksikön ominaisuuksien ja ohjelmatestin käsittely
5-3C79000-G7000-C402-01
Yksikön nimen ja ryhmän anto mahdollistaa laadittujen yksiköiden luokitte-lun. Niinpä esim. ryhmään ”säätäjät” voidaan järjestää kaikki yksiköt, joillasäätäjä ohjelmoidaan.
Kutsuttaessa yksikköä myöhemmin toisen FUP-yksikön käskyosassa ilmeneenäiden tietojen hyöty: Valintadialogissa ”FUP-elementin väliinkirjoitus”näytetään ko. yksikköä valittaessa yksikön ryhmä ja nimi, niin että yksiköntarkoitus on helpommin tunnistettavissa.
Attribuutista voidaan päätellä, millä STEP 7 versiolla yksikkö on laadittu.Version 1 yksiköt tulee konvertoida, jotta ne voidaan liittää johonkin version3 ohjelmaan. Tähän päästään SIMATIC managerissa valikkokäskylläFile Open Version 1 Project....
Version 1 yksiköitä ei voida käyttää multi-instanssien yhteydessä. Niistä täy-tyy generoida lähdetiedosto, joka sitten käännetään version 3 yksiköihin.
Lisätietoa löytyy käyttäjäkäsikirjasta /231/.
Rekisteriyksikön ”Yleistä - osa 2” yksikköattribuuteista voidaan löytääseuraavia merkintöjä:
S Yksikköattribuutti ”DB kirjoitussuojattu AS:ssä”/“The data block iswrite-protected in the programmable controller” tarkoittaa, ettäyksikkö on kirjoitussuojattu. Tällä on merkitystä tiedostoyksiköissä,joiden arvot ovat aina vakioita ja joita ei saa muuttaa. DB:n on oltavaAWL-lähteenä.
S Yksikköattribuutti ”KNOW--HOW Protection” viittaa suojattuun yksik-köön ja sillä on seuraavat vaikutukset:
-- Yksikön käskyosa ei ole nähtävissä.
-- Muuttujien selitystaulukko ei näytä mitään hetkellisiä tai staattisiamuuttujia.
-- Yksiköstä ei voida generoida AWL-lähdetiedostoa.
-- Yksikön ominaisuuksia ei voida käsitellä.
S Mikäli attribuutti ”Standard Block” on asetettu, on tällöin kyseessä Sie-mensin suojattu standardiyksikkö. Tämä näytetään vastaavalla merkinnäl-lä vasemmalla alhaalla.
S Attribuutti ”Ulinked” voi esiintyä vain tiedostoyksiköissä. Se tarkoittaa,että tiedostoyksikköä ei ladata latausmuistista CPU:n työmuistiin. Yksikö-stä ei voi generoida tekstitiedostoa. Tiedostoyksiköiden käsittely lataus-muistissa tapahtuu SFC:eiden avulla, jotka kopioivat vain DB:eiden sisäl-lön työmuistiin. Täten voidaan hyödyntää paremmin työmuistia, jossamuuten on vain kulkuajalle merkityksellisiä tietoja.
Yksikön nimi jaryhmä
Yksikköversio
Yksikköattribuutit
Yksikön ominaisuuksien ja ohjelmatestin käsittely
5-4 C79000-G7000-C402-01
Huomautus
Yksikköön voidaan syöttää AWL:ssä vain lähdetiedostona ohjelmoitaessayksikkösuojan, kirjoitussuojan ja ei-liitännän attribuutteja. Mikäli yksikkö onlaadittu FUP:ssa, siirrytään valikkokäskyllä View " STL/AWLAWL-ohjelmointikieleen. Konvertoidaan yksikkö lähdetiedostoksi, johonattribuutit voidaan merkitä. Kun lähdetiedosto on käännetty takaisinyksiköksi on se vastaavasti suojattu.
Lisää tietoa löytyy AWL -käsikirjasta /232/.
Prosessitekniikan suunnittelua ja prosessidiagnoosia varten voidaanrekisterikortissa ”Systeemiattribuutit” osoittaa yksiköille seuraavatsysteemiattribuutit:
Taulukko 5-1 Systeemiattribuutit prosessitekniseen suunnitteluun
Attribuutti Arvo Tämä attribuutti annetaan, jos Sallittu yksikkötyyppi
S7_m_c true, false yksikköä tulee valvoa ohjaus- ja valvontalaitteeltakäsin.
FB, SFB
S7_tasklist taskname1,taskname2,etc.
yksikköä tulee kutsua paitsi syklisissä organissatio-yksiköissä myös muissa OB:issä (esim. virhe- taikäynnistys-OBt).
FB, SFB, FC, SFC
S7_block-view
big, small yksikkö tulee esittää suuressa tai pienessä muodossa. FB, SFB, FC, SFC
Taulukko 5-2 Systeemiattribuutit prosessidiagnoosiin
Attribuutti Arvo Tämä attribuutti annetaan, jos Sallittu yksikkötyyppi
S7_pdiag true, false yksikön tulee antaa prosessidiagnoosillemerkityksellistä tietoa.
FB, FC, OB, DB
S7_pdiag_unit
true, false yksikön tulee antaa prosessidiagnoosillemerkityksellistä tietoa ja jos yksikköä valvotaan.
UDT
S7_pdiag_motion
true, false yksikön tulee antaa prosessidiagnoosillemerkityksellistä tietoa ja jos liikettä valvotaan.
UDT
Yksiköidensysteemiattribuutit
Yksikön ominaisuuksien ja ohjelmatestin käsittely
5-5C79000-G7000-C402-01
5.2 FUP-ohjelman testaus - yleiskuva
FUP-ohjelma voidaan testata seuraamalla signaalivuota optisesti yksikönvirtapiirien sisällä. Ohjelmatilan näyttö päivitetään syklisesti.
Ohjelmatilan näyttämiseksi tulee seuraavien ehtojen täyttyä:
S yksikön tulee olla virheettömästi tallennettu ja ladattu sen jälkeenCPU:hun.
S CPU on käytössä, käyttäjäohjelma meneillään.
S Yksikkö on avattu online.
Kuva 5-2 esittää ohjelmatilan valvonnan periaatteellista menettelytapaa:
Yksikön avaus online
Testinäytön asetusten määrittely
Triggeriehtojen määrittely (valinnainen)
Testausympäristön valinta
Testauksen käynnistys/pysäytys
Kuva 5-2 Koodiyksiköiden testausmenettely FUP:ssa
Testaus--mahdollisuus
Edellytykset
Periaatteellinenmenettelytapa
Yksikön ominaisuuksien ja ohjelmatestin käsittely
5-6 C79000-G7000-C402-01
5.3 Ohjelmatilan näytön asetus
Ennen yksikön ohjelmatilan käynnistämistä FUP:ssa määritellään, mitensignaalivitauksen halutaan näkyvän. Valikkokäskyllä Options Customizeavataan sitä varten ”KOP\FUP” / ”LAD\FBD”-rekisteri .
LAD/STL/FBD
LAD/FBDSTLEditor
CancelOK Help
Create Block Source Files
Thin
Medi-um
Thick
Select
For: Status fulfilled
18 (10-24)
Layout
A4 Portrait
Element Representation
LAD: 2D
FBD: 3DWidth of Address Field
Line/Color
Line Thickness Color
Kuva 5-3 Ohjelmatilan näytön asetus FUP/FBD:ssä
Tässä rekisterissä valitaan nyt väri ja viivan paksuus kumpaakin mahdollistatapausta varten:
S ”Tila ei toteutettu”: Ehdot eivät ole täyttyneet. Virta ei kulje(katkoviivat).
S ”Tila toteutettu”: Ehdot ovat täyttyneet, virta kulkee (yhtenäiset viivat).
Menettelytapa
Yksikön ominaisuuksien ja ohjelmatestin käsittely
5-7C79000-G7000-C402-01
5.4 Triggeriehtojen asetus
Triggeriehdolla voidaan asettaa testattavan yksikön kutsuympäristö. Testaussuoritetaan vain silloin, kun asetettu triggeriehto on täyttynyt.
Triggeriehdot voidaan asettaa valikkokäskyllä Debug CallEnvironment....
Block Call Environment
Cancel
Trigger Condition
OK Help
No Condition
Call Path 1st Block:
2nd Block:
3rd Block:
Block Status: FB6Open Data Blocks
Shared DB No.: DB6
Instance DB No.:
Kuva 5-4 Triggeriehdon määritys
Kolmella mahdollisella asetuksella on seuraava merkitys:
S Ei triggeriehtoa: Testattavan yksikön kutsuympäristöllä ei ole merkitystä.Mikäli samaa yksikköä kuitenkin kutsutaan ohjelman eri kohdissa, ei voi-da erottaa, mille kutsulle tila näytetään.
S Kutsupolku: Tässä voidaan ilmoittaa kutsupolku, jonka kautta testattavaayksikköä on kutsuttava tilatoiminnan suorittamiseksi. Tässä voidaan antaakolme viimeistä kutsutasoa ennen testiyksikköön pääsyä.
S Avoimet tiedostoyksiköt: Tässä määritellään kutsuympäristö antamallayksi tai kaksi tiedostoyksikköä. Jos testattavaa yksikköä kutsutaankulloinkin annetuilla tiedostoyksiköillä, seuraa tilatoiminta.
Tausta
Menettelytapa
Triggeriehtojenmerkitys
Yksikön ominaisuuksien ja ohjelmatestin käsittely
5-8 C79000-G7000-C402-01
5.5 Testausympäristön valinta ja ohjelman tilan käynnistys/pysäytys
On kaksi Online-tilannetta, joissa ohjelmaa voidaan testata:
S Testausympäristössä ”Process” testataan ohjelma online prosessin ehdoil-la. Tällöin ohjelmoitujen silmukoiden, jotka kulkevat syklin aikana läpiuseamman kerran, käskyjen tila katkeaa takakisinhyppykohdassa eikä sitänäytetä sinä aikana, kun silmukka näkyy tilanäytössä. Tämä muoto salliipienemmän sykliajan kuormituksen.
S Testausympäristössä ”Laboratory” testataan ohjelma samoin online labo-ratorioehdoilla. Käskyjen tila ohjelmoiduissa silmukoissa, jotka kulkevatsyklin aikana läpi useamman kerran, välitetään kuitenkin jokaisessa läpi-kulussa. Tässä muodossa saattaa esiintyä huomattavaa sykliajan kuormi-tusta, koska sykliajan pidennys riippuu läpikulkujen ja valvottujen käsky-jen määrästä.
Testausympäristö valitaan valikkokäskyllä Debug Test EnvironmentLaboratory/Procass.
Ohjelman tila käynnistetään ja pysäytetään valikkokäskyllä DebugMonitor. Ohjelman tila näytetään vain juuri editorissa näkyvälle alueelle.
Testausympäristönvalinta
Ohjelman tilankäynnistys japysäytys
Yksikön ominaisuuksien ja ohjelmatestin käsittely
5-9C79000-G7000-C402-01
FB6-<Offline>
Address Decl. Symbol Type Initial Value comment
dur_g_p
del_r_p
starter
S5TIME
S5TIME
BOOL
S5T#0MS
S5T#0MS
FALSE
in
in
in
0.0
2.0
4.0
Network 1
Network 2 : Green for road traffic
#starter
#condition
#condition
#g car
#t_dur_r_car
Network 3 : Start duration of amber for traffic
#condition
FB6 : Traffic Light
#t_dur_y_car SD
S5T#2SS5T#2S
#condition
#t_next_red_car
&
&
>=1
=
=&
&
S5T#0MS
Kuva 5-5 Ohjelman tila FUP:ssa (esimerkki)
Testimuodon aktivointi pidentää sykliaikaa. Ylitettäessä asetettu sykliaikamenee CPU STOP--tilaan, olkoonkin, että on ohjelmoitu OB 80.
Asetettu ja aktuelli sykliaika voidaan näyttää ja tarkastaa valikolla PLCModule Information. Maks. sykliaikaa voidaan muuttaa tarvittaessa testitar-koituksia varten CPU:n ominaisuuksien laitteistoparametroinnissa.
Sykliajan tarkastus
Yksikön ominaisuuksien ja ohjelmatestin käsittely
5-10 C79000-G7000-C402-01
Yksikön ominaisuuksien ja ohjelmatestin käsittely
4-1C79000-G7000-C402-01
Tiedostoyksiköiden ja käyttäjämäärittei-sten tiedostotyyppien anto
Tiedostoyksiköt ovat tärkeä käyttäjäohjelman osa, koska niissä pidetään käyt-täjäohjelman tiedot. Tässä kappaleessa kerrotaan, miten niitä laaditaan.
Käyttäjämäärittteiset tiedostoyypit (UDT) ovat toisaalta mukavuutta, jota eivälttämättä tarvita ohjelmoinnissa. Mikäli kuitenkin laaditaan usein ohjelmiasamankaltaisia tehtäviä varten, on niistä pian hyötyä. ”Omien” tiedostoyyp-pien avulla säästetään reilusti aikaa.
Kappale Sisältö Sivu
4.1 Tiedostoyksiköiden laadinta - yleiskuva 4-2
4.2 Laadintamenetelmän valinta 4-4
4.3 Selitystaulukon käsittely 4-5
4.4 Aktuellien data--arvojen käsittely 4-6
4.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT) 4-8
Mitä tämä kappalesisältää?
Yleiskuvakappaleesta
4
4-2 C79000-G7000-C402-01
4.1 Tiedostoyksiköiden laadinta -- yleiskuva
Tiedostoyksiköt (DBt) ovat tietojen hallintaa varten. Siksi niillä ei myöskäänole käskyosaa. Ohjelmoitaessa tulee siis vastaavasti huomioida seuraavatkohdat:
S Selitystaulukko: Selitystaulukossa määritellään tiedostoyksiköntiedostorakenne.
S Yksikön ominaisuudet: Yksikön ominaisuuksissa on lisäinformaatiotakuten aikaleimasin, laadintakieli tai polun anto, jotka järjestelmä kirjaa.Sen ohella voi itse antaa nimiä, ryhmän, version ja käsittelijän jayksiköille systeemiattribuutteja (katso kappale 5).
Käyttäjäohjelmassa voi periaatteessa olla seuraavat tiedostoyksikkölajit:
S Globaali-tiedostoyksiköt, joita kaikki tiedostoyksiköt voivat käsitellä jajotka tallentavat tietoa jatkuvasti.
Mikäli tarvitaan useampia samalla rakenteella varustettuja globaali-tiedostoyksiköitä, voidaan näitä muodostaa yksinkertaisella tavalla käyt-täjämääritteisen tiedostotyypin avulla (UDT). Tällöin ovat kyseessä tie-dostoyksiköt vastaavalla UDT:llä.
S Oheis-tiedostoyksiköt. Oheis-DBt on kulloinkin varattu toimintayksiköil-le ja rakennettu FB:ssä selitetyn muuttujan mukaisesti. Oheis-DB:n laati-misen edellytyksenä on sen tähden olemassa oleva FB. Siksi tässä on kysetiedostoyksiköistä vastaavalla toimintayksiköllä.
Laadittavan DB:n lajista riippuen voidaan käyttää eri menetelmiä.
Globaali-tiedostoyksiköt voidaan laatia seuraavasti:
S Yksittäisen DB:n rakenteen määrittely: DB:tä varten tulee määritellämuuttujat ja tiedostotyypit halutussa järjestyksessä. Kyseinen rakennepätee siten vain tälle yksikölle.
S DB:n rakenteen määrittely käyttäjämääritteisen tiedostotyypin avulla.Tässä tapauksessa käyttäjämääritteisen tiedostotyypin tiedostorakennemäärää DB:n rakenteen. Käyttäjämääritteinen tiedostotyyppi voidaanvarata monille DB:eille.
Mikäli laaditaan oheis-DB, silloin
S DB:lle varataan pysyvä FB. Tässä tapauksessa FB:n selitysosa määrääDB:n rakenteen. Yhdelle FB:lle voidaan varata useampia oheis-DB:eitä.
Tiedostoyksiköt
DB:n lajit
Tiedosto--yksiköidenlaadinta--menetelmät
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
4-3C79000-G7000-C402-01
Huomautus
Mikäli FB:n muutujien selitystä muutetaan jälkikäteen, tulee asianomaisetoheis-DBt laatia uudelleen, koska ne eivät sovi yhteen. Sama pätee DB:eille,jotka on laadittu UDT:tä vastaten.
Laaditaan tiedostoyksikkö (DB) SIMATIC managerissa tai editorissa
Yksikön ominaisuuksienkäsittely.
Yksiköntallennus.
FUP-editori
Selitystaulukonkäsittely.
DB:n selitys... yksittäisen
UDT:hen... vastaavuus
FB:hen... vastaavuus
Oheis-DBGlobaali-DB
Valitaan laadintamenetelmä ...
Kuva 4-1 Tiedostoyksiköiden ohjelmointimenettely
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
4-4 C79000-G7000-C402-01
4.2 Laadintamenetelmän valinta
Laadintamenetelmä tulee ilmoittaa tiedostoyksikköä SIMATIC managerissatai FUP-editorissa laadittaessa. Sitä varten on olemassa vastaava dialogi.
New Data Block
Cancel
Create
Reference:
OK Help
Data Block
Data Block Referencing a User-Defined Data Type
Data Block Referencing a Function Block
Block: DB7
Programming Tool: DB Editor
FB6FB88FB101
Kuva 4-2 Menetelmän valinta ja FB:n tai UDT:n järjestys
Mikäli tiedostoyksikkö halutaan laatia UDT:llä tai FB:n oheis-DB:nä, on tä-mä valittava listakentässä, jossa on ohjelman kaikki UDTt tai FBt. VastaavanUDT:n/FB:n olemassaolo on siten ehdoton edellytys.
Muun menettelyn ratkaisee se, laaditaanko yksikkö järjestämällä vaiyksittäisselityksellä.
S Koska järjestetty UDT tai FB määrää jo yksiselitteisesti tiedostoyksikönrakenteen, päättyy tiedostoyksikön laadinta näissä tapauksissa tähän. Seli-tystaulukko näytetään tarkistusta varten. Sitä ei kuitenkaan voi käsitellä.
S Yksittäistä globaali-tiedostoyksikköä laadittaessa on sitävastoin jatkettavaselitystaulukon käsittelyä, jossa ilmoitetaan muuttujan nimi ja tiedosto-tyyppi sekä valinnaisesti aloitusarvo ja kommentti (katso kappale 4.3).
Menettelytapa
Muu menettely
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
4-5C79000-G7000-C402-01
4.3 Selitystaulukon käsittely
Laadittaessa globaali-tiedostoyksiköitä yksitellen tai laadittaessa UDT:tä ontehtävä ilmoituksia DB:n tai UDT:n elementeille (muuttujille) ja niidendatatyypille. Sitä varten on selitysnäytössä selitystaulukko, johon siirrytääntarpeen vaatiessa valikkokäskyllä View Declaration View.
Tiedostoyksiköissä, jotka on laadittu määrittelemällä UDT tai FB, jää tämätyö pois, koska määritelty UDT tai FB vastaanottaa selityksen.
Tiedostoyksikön selitysnäytössä on osoite, selitystyyppi (vain oheis-DB:ssä),nimi (symboli), tyyppi, aloitusarvo ja kommentti. Kuvassa 4-3 on esimerkki:
DB15 - <Offline>
Address Symbol Data Type Initial Value Comment
speed
runtime
motor_on
STRUCT
INT
DINT
BOOL
100
L#0
0.0
+0.0
+2.0
+6.0
+10.0
history REAL
motor_off BOOL+10.1
END_STRUCT
FALSE
=12.0
0.000000e+000
FALSE
Maximum RPM
Kuva 4-3 Tiedostoyksikön selitys
Palstoilla on sama merkitys kuin koodiyksiköiden selitystaulukossa(katso kappale 3.3).
Selitystä uudelleen annettaessa annetaan halutun selitystyypin jälkeenperäkkäinnimi, tyyppi, aloitusarvo (valinnainen) ja kommenntti (valinnai-nen). Tällöin kursoria liikutetaan TAB-näppäimellä tai RETURN-näppäimelläviereiseen kenttään. Rivin lopussa muuttujille osoitetaan osoite.
Taulukkokentän jokaista käsittelyä seuraa syntaksitesti, joka näyttää mahdol-liset virheet punaisina. Näitä virheitä ei tarvitse heti korjata, vaan muuta kä-sittelyä voidaan jatkaa ja suorittaa korjaukset myöhemmin.
Huomautus
Selitysnäytön käsittely vastaa koodiyksiköiden muuttujien selitystaulukonkäsittelyä (vrt. kappale 3.4). Käsittelytoiminnat ovat samat ja myös kenttiä jarakenteita annettaessa menetellään vastaavasti.
Selitysnäytöntarkoitus
Selitysnäytöntaulukon rakenne
Menettely
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
4-6 C79000-G7000-C402-01
4.4 Aktuellien data--arvojen käsittely
Tiedostoyksikköä (valinnaista) laadittaessa määrätty aloitusarvo vastaanote-taan tiedostoyksikköä ensimmäisen kerran tallennettaessa muuttujan aktuelli-na arvona. Käyttäjäohjelma toimii sen mukaan kyseistä arvoa ensi kertaakäsiteltäessä, olkoonkin, että käyttäjäohjelmassa on selvästi määritelty muut-tujan toinen aktuelli arvo.
Muuttujien aktuelleja arvoja muutetaan käyttäjäohjelman käsittelyn aikanakoodiyksiköillä, jotka käsittelyn aikana kirjoittavat päälle. Muuttujien aktuel-leja arvoja on mahdollista näyttää ja muuttaa.
Tiedostoyksiköiden aktuellien data--arvojen käsittelyä ja näyttöä varten tarvi-taan datanäyttö. Avataan tiedostoyksikkö ja siirrytään datanäyttöönvalikkokäskyllä View Data View.
Datanäyttö eroaa tiedostoyksikön selitysnäytöstä vain lisäpalstalla ”todelli-nen arvo”. Datanäytössä listataan muuttujissa, joilla on yhdistetty datatyyppi,elementit yksitellen, täydellisellä symbolisella nimellä, jotta jokaisen ele-mentin todellinen arvo voidaan näyttää ja käsitellä (katso kuva 4-4).
DB17 - <Offline>
Address Symbol Type Initial Value Comment
motor.speed
motor.runtime
motor.history
motor.motor_off
INT
DINT
REAL
BOOL
100
L#0
0.000000e+000
0.0
2.0
6.0
10.0
10.1
motor.motor_on BOOL
field[1] INT12.0
field[2] INT
0
14.0
FALSE
FALSE
Maximum RPM
field[3] INT16.0
0
0
Actual Value
89
L#0
0.000000e+000
7
TRUE
FALSE
4
8
Kuva 4-4 Tiedostoyksikön datanäyttö
Tällöin on kyseessä arvo, joka muuttujalla oli DB:tä avattaessa, tai arvo, jokaviimeksi on muutettu ja tallennettu.
Huomautus
Online avatuissa tiedostoyksiköissä ei todellista arvoa päivitetä syklisesti.
Aloitusarvo --todellinen arvo
Tiedosto--yksiköidendatanäyttö
Näytetty todellinenarvo (Actual)
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
4-7C79000-G7000-C402-01
Palstassa ”todellinen arvo” voidaan todelliset arvot muuttaa ylikirjoittamalla.Annettujen data--arvojen tulee olla datatyypin kanssa yhteensopivia.
Valikkokäskyn Edit Initialize Data Block voidaan koko tiedostoyksikköalustaa. Tällöin muuttujien todelliset arvot ylikirjoitetaan aloitusarvoilla,jotka on määritelty selitysnäytössä tai määritellyssä FB:ssä tai UDT:ssä.
Jotta muutetuista todellisista arvoista tulisi aktiivisia, on ne tallennettava:
S Todellisten, muutettujen data--arvojen offline tallennusta varten valitaanvalikkokäsky File Save tai klikataan symbolia ”tallennus”. Vaikka yk-sikkö on avattu online, tallennetaan vain offline olemassa oleva yksikköuudelleen.
S Muutettujen data--arvojen lataamiseksi CPU:hun valitaan valikkokäskyPLC Download tai klikataan toimintorivin vastaavaa symbolia.
Todellisten arvojenmuunto jauudelleenalustus
Todellisten arvojentallennus
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
4-8 C79000-G7000-C402-01
4.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT)
Käyttäjämääritteiset tiedostotyypit ovat laadittuja tiedostorakenteita(STRUCTs), jotka tallennetaan yksikkönä. Niitä voidaan sen tähden käyttääabsoluuttisilla tai symbolisilla yksikkönimillä koko käyttäjäohjelmassa
S kuten perus tai yhdistettyjä tiedostotyyppejä tiedostotyyppinä koodiyksi-köiden (FC, FB, OB) tai tiedostoyksiköiden (DB) selityksessä tai
S tiedostoyksiköiden laadintamallina, joilla sama tiedostorakenne.
Kuva 4-5 esittää periaatteellista menettelytapaa:
Laaditaan yksikkö UDT:tä vartenSIMATIC managerissa tai editorissa
Käsitellään yksikönominaisuuksia.
Tallennetaanyksikkö.
Käsitellään selitystaulukkoa.
FUP-editori
Kuva 4-5 UDT:iden laadinta
SIMATIC managerissa tai inkrementtieditorissa tapahtuvan UDT:n luomisentai avaamisen jälkeen näyttöön tulee selitystaulukko, jossa datatyypin raken-ne tulee ilmoittaa.
Käyttö
Menettelytapa
Selitystaulukonkäsittely
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
4-9C79000-G7000-C402-01
UDT56 - <Offline>
Address Symbol Data Type Initial Value Comment
speed
runtime
motor_on
STRUCT
INT
DINT
BOOL
100
L#0
0.0
+0.0
+2.0
+6.0
+10.0
history REAL
motor_off BOOL+10.1
END_STRUCT
FALSE
=12.0
0.000000e+000
FALSE
Maximum RPM
Kuva 4-6 UDT:n selitys
UDT:n selitysnäytön ensimmäinen ja viimeinen rivi on annettu etukäteen janiillä ovat avainsanat STRUCT tai END_STRUCT käyttäjämääritteisen tie-dostotyypin alkua ja loppua varten. Näitä rivejä ei voida editoida.
Muuttujien syöttöä varten annetaan ensin kaksi tyhjää riviä, joille syötetäänainakin kahden elementin muuttujanimi ja datatyyppi. Aloitusarvon ja kom-mentin anto on valinnainen. Uusia tyhjiä rivejä saadaan valikkokäskylläInsert Declaration Row Before Selection / After Selection.
Huomautus
Käsittely vastaa rakenteiden käsittelyä koodi- tai tiedostoyksiköidenselitysosassa.
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
4-10 C79000-G7000-C402-01
Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto
3-1C79000-G7000-C402-01
Koodiyksiköiden laadinta
Käyttäjäohjelma ei selviä ilman koodiyksiköitä. Monissa ongelmissa voidaantosin turvautua keskusyksikön integroituihin yksiköihin tai tarjottuihin stan-darditoimintayksiköihin. Vähimmäismäärä koodiyksiköitä on joka tapaukses-sa kuitenkin laadittava itse. Tässä kappaleessa kerrotaan, miten FUP-editorissa tällöin menetellään.
Kappale Sisältö Sivu
3.1 Koodiyksiköiden laadinta -- yleiskuva 3-2
3.2 Koodiyksiköt editorissa 3-3
3.3 Muuttujien selitystaulukon rakenne 3-6
3.4 Muuttujien selitystaulukoiden käsittely -- yleiskuva 3-8
3.5 Multi-instanssien selitys 3-10
3.6 Systeemiattribuuttien anto parametreille 3-11
3.7 Käskyosan käsittely -- yleiskuva 3-13
3.8 FUP-elementtien syötön perussäännöt 3-15
3.9 FUP-elementtien anto 3-17
3.10 Osoitteiden ja parametrien anto 3-20
3.11 Symbolinen osoitteenanto 3-21
3.12 Muunto ylikirjoitusmuodossa 3-23
3.13 Otsikoiden ja kommenttien anto 3-24
Mitä tämä kappalesisältää?
Yleiskuvakappaleesta
3
3-2 C79000-G7000-C402-01
3.1 Koodiyksiköiden laadinta -- yleiskuva
Koodiyksiköt (OBt, FBt, FCt) muodostuvat muuttujien selitysosasta, käskyo-sasta ja niillä on lisäominaisuuksia. Ohjelmoitaessa tulee käsitellä seuraaviakolmea osaa:
S Muuttujien selitystaulukko. Muuttujien selitystaulukossa määritelläänyksikön parametrit, parametrien systeemiattribuutit ja paikallisetmuuttujat.
S Käskyosa: Käskyosassa ohjelmoidaan yksikkökoodi, jota automaatiojär-jestelmän tulee käsitellä. Se muodostuu yhdestä tai useammastatoimintakaavio-elementit sisältävästä virtapiiristä.
S Yksikön ominaisuudet: Yksikön ominaisuuksissa on lisätietoa kuten ai-kamäärite tai polkutieto, jotka järjestelmä kirjoittaa. Sen ohella voi itseantaa nimiä, ryhmän, version ja tekijän sekä systeemiattributtejayksiköille (katso kapp. 5).
Periaatteessa on sama, missä järjestyksessä koodiyksikön osia käsitellään.Yksikköä voi myös korjata ja täydentää.
Mikäli halutaan takaisin symbolitaulukon symboleihin, tulee ensin tarkistaa,että nämä ovat täydellisiä ja tarpeen vaatiessa mahdollisesti täydentää niitä.
SIMATIC managerissa luodaankoodiyksikkö (FB, FC tai OB)
Käsitellään yksikön ominaisuuksia.
Tallennetaan yksikkö.
Käsitellään yksikön muttujienselitystaulukkoa.
FUP-editori
Käsitellään käskyosaa.
Valitaan editorin asetukset.
Kuva 3-1 Menettelytapa koodiyksiköitä FUP:ssa ohjelmoitaessa
Koodiyksiköt
Koodiyksikönkäsittely
Koodiyksiköiden laadinta
3-3C79000-G7000-C402-01
3.2 Koodiyksiköt editorissa
Ennen ohjelmoinnin aloittamista FUP-editorissa, tulisi tutustua asetus--mahdollisuuksiin mahdollisimman mukavan ja tottumuksia vastaavantyöskentelyn takaamiseksi.
Rekisteridialogi avataan valikkokäskyn Options Customize kautta.”Editori” -rekisterissä voidaan esiasetukset asettaa yksiköiden ohjelmointiavarten seuraavasti:
S kirjoitus (laji ja koko) tekstinä ja taulukkoina
S valittu kieli FBD = FUP, LAD = KOP, STL = AWL (FUP, KOP tai AWL).Kielivalinnasta riippuen avataan KOP:ssa, FUP:ssa tai AWL:ssä uusimuodostettu yksikkö. Siitä huolimatta -- rajoitukset huomioiden --voidaan yksikköä katsella myöhemmin myös muulla kyseeseen tulevallakielellä.
S halutaanko uudessa yksikössä saada näyttöön lähinnä symboliikka jakommentit.
Kielen, kommentin ja symboliikan asetuksia voidaan aina muuttaa käsittelynaikana View ... -valikon käskyillä.
Rekisterissä ”KOP/FUP” / (”LAD/FBD”), johon myös päästään OptionsCustomize kautta, voidaan tehdä seuraavat perusasetukset:
S FUP/FBD-Layout: Määrää virtapiirien esityskoon. Valitun koon mukaanvoidaan virtapiiriin sijoittaa vierekkäin enemmän tai vähemmänFUP-elementtejä. Tällä päätöksellä on myös vaikutuksia yksiköntulostukseen.
S Operandikentän leveys: Se määrää operandien kuten esim. osoitteidentekstikentän leveyden. Operandileveyden ylittyessä seuraa rivinvaihto.Symbolisessa osoitteenannossa on suurempi operandikenttämielekkäämpi, absoluuttisessa riittää pieni kenttä.
S Elementtien esitys: Voidaan valita, näytetäänkö FUP-elementit kaksi- vaikolmiulotteisina.
S Linja/väri: valittu elementti, koskettimet, tila täytetty, tilaa ei täytetty.
Yleiskuva
Editorin asetukset
FUP:n asetukset
Koodiyksiköiden laadinta
3-4 C79000-G7000-C402-01
Kun koodiyksikkö on avattu ilmestyy ikkuna, jonka
S yläosassa on yksikön muuttujien selitystaulukko ja
S alaosassa on käskyosa, jossa varsinasta yksikkökoodia käsitellään.
FB6-<Offline> -- LAD\STL\FBDFile Edit Insert PLC Debug View Options Window Help
TRAFFIC\...\FB6-<Offline>
Network 1 : Red for road traffic
#starter
#condition
#condition#t_next_red_car
#t_dur_r_car
Address Decl. Symbol Type Initial Value Comment
dur_g_p
del_r_p
starter
t_dur_g_ped
S5TIME
S5TIME
BOOL
TIMER
S5T#0MS
S5T#0MS
FALSE
in
in
in
in
in
0.0
2.0
4.0
6.0
8.0
t_dur_y_car TIMER
Duration green_pedestrian
Delay red_pedestrian
Start switch
Timer duration green_pedestrian
Timer duration yellow_car
&
>=1
=
& =>1
Kuva 3-2 FUP:n muuttujien selitystaulukko ja käskyosa
Yksikön ominaisuuksia käsitellään oman dialogin kautta (katso kappale 5).
Editorissa voi olla avattuna useampia yksiköitä joita voidaan käsitellä vuoro-tellen toiveiden mukaan.
Muuttujien selitystaulukko ja koodiyksiköiden käskyosa ovat tiiviisti sidok-sissa keskenään, koska käskyosassa käytetään muuttujien selitystaulukon ni-miä. Muuttujien selityksessä tapahtuvat muutokset vaikuttavat sentähden ko-ko käskyosaan ja aina koko yksikköön.
FUP-editorinpääikkuna
YhteisvaikutusMuuttujienselitys -- käskyosa
Koodiyksiköiden laadinta
3-5C79000-G7000-C402-01
Taulukko 3-1 Muuttujien selityksen ja käskyosan yhteisvaikutus
Muuttujien selitystoiminta Reaktio käskyosassa
virheetön uudelleensyöttö Jos on mitätön koodi, tulee tätä ennen määrittämättömästä muuttujasta nyt voim. oleva.
virheetön nimenmuutos ilman tyyppi-muutosta
Symboli esitetään heti kaikkialla uudellanimellä.
virheetön nimi muutetaan mitättö-mäksi
Koodia ei muuteta.
mitätön nimi muutetaan virheettömäk-si
Mikäli on olemassa mitätön koodi, tulee tämävoimaan.
Tyyppimuutos Mikäli on olemassa mitätön koodi, tulee tämävoimaan, ja mikäli on olemassa voimassaoleva koodi, tulee tästä mitätön.
Muuttujan nollaus (symboli), jota käy-tetään koodissa.
Voimassa olevasta koodista tulee mitätön.
Kommenttimuutokset Ei ole
Uuden muuttujan virheellinen syöttö Ei ole
Ei käytetyn muuttujan nollaus Ei ole
Aloitusarvon muutos Ei ole
Koodiyksiköiden laadinta
3-6 C79000-G7000-C402-01
3.3 Muuttujien selitystaulukon rakenne
Muuttujien selitystaulukossa määritellään paikalliset muuttujat mukaanlukienyksikön muodolliset parametrit ja parametrien systeemiattribuutit. Sillä onmm. seuraavat vaikutukset:
S Selityksen avulla varataan vastaavasti muistitilaa paikallisdatapinossa taiinstanssi-(oheis)tiedostoyksikössä.
S Määrittelemällä tulo-, lähtö- ja läpikulkuparametrit määritellään ohjel-massa myös ”liitäntäpiste” yksikön kutsua varten.
S Mikäli muuttujat selitetään toimintayksikössä, määräävät nämä muuttujatmyös jokaisen FB:lle varatun oheis-DB:n tiedostorakenteen.
S Määräämällä systeemiattribuutit varataan parametreilleerikoisominaisuuksia hälytys- ja liityntäsuunnittelua, ohjaus- javalvontatoimintoja ja prosessiteknistä suunnittelua varten.
Kun uudelleenasetettu koodiyksikkö on avattu, tulee näyttöön esiasetettumuuttujien selitystaulukko. Kyseisessä taulukossa on vain valitulle yksikkö-lajille sallitut selitystyypit (in, out, in_out, stat, temp) ja nekin määrätyssäjärjestyksessä.
OB:tä uudelleen asetettaessa näytössä on standardi-muutujienselitys, jonkaarvoja voidaan muuttaa.
Muuttujien selitystaulukossa on merkintöjä muuttujien osoitteista, selitystyy-pistä, nimestä, tiedostotyypistä, aloitusarvosta ja kommentista. Jokainen tau-lukkorivi on muuttujien selitystä varten. Kentän tai rakenteen tiedostotyypinmuuttujat tarvitsevat useampia rivejä.
FB40 - <Offline>
Address Decl. Symbol Data Type Initial Value Comment
in
start
Motor
in_outp1
BOOL
BOOL
BOOL
INT
FALSE
FALSE
FALSE
in
in
out
out
in_out
0.0
0.1
2.0
2.1
4.0
Message BOOL
in_outp2 INTin_out6.0 0
FALSE
0
Light on
Switch
Motor
Motor
Kuva 3-3 Esimerkki muuttujien selitystaulukosta
Yleiskuva
Muuttujienselitystaulukonrakenne
Koodiyksiköiden laadinta
3-7C79000-G7000-C402-01
Muuttujien selitystaulukon palstoilla on seuraava merkitys:
Taulukko 3-2 Muuttujien selitystaulukko
Palsta Merkitys Huomautukset Käsittely
Osoite Osoite muodossa BYTE.BIT. Tiedostotyypeillä, jotka tarvitsevat enemmänkuin yhden tavun, näyttää osoite järjestyk-sen hyppäämällä seuraavaan tavuosoittee-seen. Merkkien selitys:* : tavun kenttäelementin koko.+ : aloitusosoite, suht. rakenteen alkuun= : rakenteen koko muistitarve
Järj.merkintä:Järjestelmä antaa janäyttää osoitteenkun selityksensyöttö on loppu.
Selitys Selitystyyppi,Muuttujien ”käyttötarkoitus”
Yksikkölajista riippuen mahdollisia ovat:Tuloparametri ”in”Lähtöparametri ”out”Läpimenoparametri ”in_out”Staattiset muuttujat ”stat”Hetkelliset muuttujat ”temp”
Järjestelmän antoyksikkölajinmukaan
Nimi Muuttujien symbolinen nimi Nimen tulee alkaa kirjaimella. Varattujaavainsanoja ei sallita.
vaaditaan
Tyyppi Muuttujan tiedostotyyppi(BOOL, INT, WORD, ARRAYjne.)
Perustiedostotyypit voidaan valita hiiren oi-kean korvan valikolla.
vaaditaan
Aloitusarvo Aloitusarvo, kun ohjelmiston eitule hyväksyä oletusarvoa.
Tulee olla tiedostotyypin kanssa yhteensopi-va. Aloitusarvo vastaanotetaan DB:tä ensim-mäisen kerran tallennettaessa muuttujan ak-tuellina arvona, jos aktuellia arvoa ei selvästivahvisteta.
valinnainen
Kommentti Dokumentoinnin kommentti valinnainen
Mikäli yhdelle muuttujalle on osoitettu systeemiattribuutteja (katso kapp.3.6), ilmestyy palstalle ”Nimi” symboli (”Viiri”, katso kuva 3-3).Kaksoisklikkaus ”viirin” kohdalla avaa ”Systeemiattribuutti” --dialogikentän.
Taulukon palstojen leveyttä voidaan muunnella. Sitä varten asetetaan hiirennuoli kahden palstan väliin ja liikutetaan sitä vaakasuoraan hiiren vasemmankorvan ollessa alaspainettu. Vaihtoehtoisesti voidaan palstan leveyttä muuttaavalikkokäskyllä View Column Width. Taulukon on tällöin oltava valittu.Mikäli halutaan luopua kokonaan kommenttien tai aloitusarvojen optionaali-sesta syötöstä, voidaan nämä palstat minimoida tällä tavalla, jotta voitaisiinkeskittyä kokonaan muihin palstoihin.
Palstojen merkitys
”Viirin” merkitys
Palstan leveydenvaihtelu
Koodiyksiköiden laadinta
3-8 C79000-G7000-C402-01
3.4 Muuttujien selitystaulukon käsittely -- yleiskuva
Annettaessa uutta selitystä syötetään halutun selitystyypin jälkeen peräkkäinmuuttujan nimi, tiedostotyyppi, aloitusarvo (valinnainen) ja kommentti (va-linnainen). Kursori viedään tällöin TAB-painikkeella viereiseen kenttään. Ri-vin päätyttyä osoitetaan muuttujalle osoite.
Joka kerran kun taulukkokenttää käsitellään, seuraa syntaksitesti, joka näyt-tää mahdolliset virheet punaisena. Kyseisiä kenttiä ei tule heti korjata, vaanmuu käsittely voi jatkua ja korjaukset voidaan tehdä myöhemmin.
Taulukon käsittelyyn on käytettävissä Edit/käsittely -valikosta tutut toimin-nat. Jotta käsittely olisi yksinkertaista, voidaan hiiren oikean korvan alta ha-kea tyyppivalikko.
Tiedostotyyppiä syötettäessäkin on apuna hiiren oikean korvan alainenvalikko. ”Tiedostotyyppi” -valikossa ovat kaikki perustiedostotyypit.
Yksittäiset rivit merkitään klikkaamalla asianomaista, kirjoitussuojattua osoi-tekenttää. Saman selitystyypin lisärivit merkitään pitämällä SHIFT-näppäintäalhaalla. Merkityt rivit tallennetaan mustana.
”Decl.” -palsta on kirjoitussuojattu. Selitystyypin määrää selityksen positiotaulukon sisällä. Täten varmistetaan, että muuttujat voidaan syöttää vain seli-tystyyppien oikeassa järjestyksessä. Mikäli jonkin selityksen tyyppiä halutaanmuuttaa, leikataan selitys ensin pois ja liitetään sen jälkeen takaisin uudellaselitystyypillä varustettuna.
Mikäli rakenne halutaan syöttää muuttujana, syötetään nimipalstaan nimi jatiedostotyyppipalstaan avainsana STRUCT. Rakennetta (END_STRUCT)varten väliinkirjoitetaan TAB-näppäintä tai RETURN-näppäintä painamalla yksityhjä rivi ja päätösrivi. Tyhjällä rivillä ilmoitetaan rakenteen elementtivahvistamalla sen nimi, tyyppi ja valinnaisesti aloitusarvot. Muut elementit(rivit) väliinkirjoitetaan valikkokäskyllä tai RETURN-näppäintä painamalla.
Mikäli rakenne halutaan merkitä, klikataan hiirellä ensimmäisen tai viimei-sen rivin osoitekentässä (jossa siis avainsana STRUCT tai END_STRUCTon). Yksittäiset selitykset rakenteen sisällä merkitään klikkaamalla rivin vas-taavassa osoitekentässä.
Mikäli rakenteita syötetään toisten rakenteiden sisällä, näkyy hierarkia muut-tujien nimien vastaavana sisennyksenä.
Menettelytavat
Käsittelytoiminnat
Selitystyypinmuuttaminen
Rakenteidensyöttö
Koodiyksiköiden laadinta
3-9C79000-G7000-C402-01
Mikäli tiedostotyyppinä halutaan syöttää kenttä, syötetään ”Nimi” -palstallanimi ja tiedostotyyppi palstalla avainsana ARRAY ilmoittamalla kentänkoko, siis esim. array[1..20,3..24] kaksiulotteiselle kentälle. TAB-näppäintäpainamalla (mahd. useamman kerran) lisätään yksi rivi, johon kentän tie-dostotyyppi syötetään.
Mikäli kenttä halutaan merkitä, klikataan kyseisen rivin osoitekentässä.
Yksittäisten kenttäelementtien aloitusarvot voidaan määritellä joko yksitellentain toistokertoimella (katso kuva 3-4):
S Yksittäissyöttö: Yksittäisille elementeille annetaan oma aloitusarvo. Ar-vot listataan pilkulla erotettuina.
S Toistokerroin: Useammalle elementille annetaan sama aloitusarvo. Arvonanto tapahtuu kaarisuluissa, elementtien lukumäärää varten on esiasetettutoistokerroin.
Kuvassa 3-4 on esimerkki muuttujien selitystaulukosta:
FB50 - <Offline>
Address Decl. Symbol Data Type Initial Value Comment
structur1
var1
var2
STRUCT
BOOL
INT
FALSE
0
in
in
in
in
in
0.0
+0.0
+2.0
+4.0
=6.0
var3 WORD
array1 ARRAY[1..20,1..40]in6.0
BOOL
TRUE
in*2.0
W#16#0
END_STRUCT
Kuva 3-4 Muuttujien selitystaulukon rakenteet ja kentät
Huomautus
Mikäli yksiköiden, joiden kutsu on ohjelmoitu jo aiemmin, muuttujien seli-tystä muutetaan jälkikäteen voi siitä seurata aikamerkintäristiriita. Siksikaikki kutsuttavat yksiköt ohjelmoidaan mikäli mahdollista ensisijaisesti jasen jälkeen yksiköt, joista näitä kutsutaan. Toimintayksiköissä tulee silloinmahdollisesti laatia vastaavat oheis-DBt uudelleen.
Mikäli UDT:tä, joka muuttujien selityksessä on annettu tiedostotyyppinä,muutetaan jälkikäteen, tulee yksikön muuttujien selitys tarkistaa ja tallentaayksikkö uudelleen.
Kenttien syöttö
Esimerkki
Koodiyksiköiden laadinta
3-10 C79000-G7000-C402-01
3.5 Multi--instanssien selitys
Multi-instanssi muodostuu toimintayksikön (FB) tiedostotyypistä staattistamuuttujaa selittämällä. Käskyosassa instanssia kutsutaan FUP-elementtinä.
Lisää tietoa multi-instanssien roolista löytyy ohjelmointikäsikirjasta /234/Multi-instanssien kutsun syntaksia selitetään tämän käsikrjan osassa 2.
Multi-instanssien selitystä koskevat seuraavat säännöt:
S Multi-instanssien selitys on mahdollista vain toimintayksiköissä.
S Toimintayksikölle, jossa multi-instanssia selitetään, on varattavaoheis-DB.
S Multi-instanssi voidaan selittää vain staattisena muuttujana(selitystyyppi ”stat”).
Multi-instanssin selittämiseksi syötetään nimi-palstaan muuttujan nimiselitystyypin ”stat” jälkeen. Tiedostotyypiksi ilmoitetaan toimintayksikkö.Toimintayksikkö voidaan antaa ehdottomana tai symbolisella nimellään. Va-linnaisesti voidaan merkitä kommentti.
FB50 - <Offline>
Address Decl. Symbol Data Type Initial Value Comment
structur1
var1
var2
STRUCT
BOOL
INT
FALSE
0
in
in
in
in
in
0.0
+0.0
+2.0
+4.0
=6.0
var3 WORD
array1 ARRAY[1..20,1..40]in6.0
BOOL
TRUE
in*2.0
W#16#0
END_STRUCT
Kuva 3-5 Multi--instanssit (esimerkki)
Multi--instanssit
Säännöt
Multi--instansiensyöttö
Koodiyksiköiden laadinta
3-11C79000-G7000-C402-01
3.6 Systeemiattribuuttien anto parametreille
Systeemiattribuutteja voidaan osoittaa yksiköille ja parametreille. Neohjaavat hälytys- ja liityntäsuunnittelua, ohjaus- ja valvontatoimintoja japrosessitekniikan suunnittelua.
Muuttujien selitystaulukossa voidaan STEP 7-peruspaketille antaa seuraavatsysteemiattribuutit parametrejä varten:
Annettaessa parametrejä systeemiattribuuteille valitaan parametrin nimimuuttujien selitystaulukosta ja valitaan valikkokäsky Edit Object Proper-ties. ”Ominaisuudet” -dialogikentän rekisterissä ”Systeemiattribuutit”syötetään haluttu attribuutti ja kulloinenkin arvo.
Taulukossa 3-3 esitetään, mitä systeemiattribuutteja muuttujienselitystaulukon parametreille voidaan syöttää:
Taulukko 3-3 Parametrien systeemiattribuutit
Attribuutti Arvo Tämä attribuutti annetaan, jos Sallittuselitystyyppi
S7_server connection,alarm_archiv
parametrillä on merkitystä liityntä- taihälytyssuunnittelussa. Ko. parametri sisältääliityntä- tai hälytysnumeron.
IN
S7_a_type alarm, alarm_8,alarm_8p, alarm_s,notify, ar_send
määritellään hälytysyksikön hälytysyksikkötyyppi,jota kutsutaan käskyosassa (edellytys: attribuuttiS7_server:=alarm_archiv on myös annettu).
IN, vain yksiköillä,jotka ovat tyyppiäFB, SFB
S7_co pbkl, pbk, ptpl, obkl,fdl, iso, pbks, obkv
määritellään suunniteltavan liitynnän liitäntätyyppi,(edellytys: attribuutti S7_server:=connection onmyös annettu).
IN
S7_m_c true, false parametriä tulee ohjata ja valvoa ohjaus- javalvontalaitteesta käsin.
IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB
S7_shortcut 16 mitä tahansamerkkiä, esim. ohjearvo=, asetussuure =
parametrille tulee osoittaa tekstiä analogiarvojentulkintaa varten.
IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB
S7_unit Yksikkö,esim. litra
parametrille tulee osoittaa yksiköitä analogiarvojentulkintaa varten.
IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB
S7_string_0 16 mitä tahansamerkkiä, esim. AUF
parametrille tulee osoittaa tekstiä binääriarvojentulkintaa varten.
IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäB, SFB, FC, SFC
S7_string_1 16 mitä tahansamerkkiä, esim. ZU
parametrille tulee osoittaa tekstiä binääriarvojentulkintaa varten.
IN/OUT/ IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC
Systeemiattribuutit
Systeemiattri--buuttien syöttöparametrejä varten
Koodiyksiköiden laadinta
3-12 C79000-G7000-C402-01
Taulukko 3-3 Parametrien systeemiattribuutit
Attribuutti Sallittuselitystyyppi
Tämä attribuutti annetaan, josArvo
S7_visible true, false parametriä ei tule näyttää CFC:ssä. IN/OUT/IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC
S7_link true, false parametrin ei tule olla kytkettävissä CFC:ssä. IN/OUT/IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC
S7_dynamic true, false parametrin tulee testattaessa olla dynamisoitavissaCFC:ssä.
IN/OUT/IN_OUT,vain yksiköillä,jotka ovat tyyppiäFB, SFB, FC, SFC
S7_param true, false parametrin ei tule olla parametroitavissa CFC:ssä. IN/IN_OUT, vainyksiköillä, jotkaovat tyyppiä FB,SFB, FC, SFC
Koodiyksiköiden laadinta
3-13C79000-G7000-C402-01
3.7 Käskyosan käsittely -- yleiskuva
Käskyosassa kuvataan koodiyksikön ohjelmankulkua. Virtapiireissä annetaansitä varten FUP-käskyjä. Koodiyksikön käskyosa muodostuu useimmissatapauksissa monesta virtapiiristä. Editori suorittaa heti FUP-elementin syötönjälkeen syntaksitestin ja näyttää virheet punaisena. Elementtien väärätsijoitukset torjutaan virheilmoituksilla.
Käskyosassa voidaan virtapiirien sisällä käsitellä yksikön otsikkoa, yksikkö-kommentteja, virtapiirin otsikkoa, virtapiirikommentteja ja käskyrivejä.
FB6 - <Offline>
FB6 : Ampelschaltung
Steuerung einer Ampelanlage für einen Fußübergang an der Hauptstraße.
Netzwerk 1 : Vormerkung Rot für den Straßenverkehr
Die Vormerkung Rot durch den Straßenverkehr wird durch den Starteingang aktiviert,wenn die Zeit zwischen zwei Rotphasen für den Straßenverkehr läuft.
Netzwerk 2 : Grün für den Straßenverkehr
Grüne Ampel für die Straße brennt, wenn keine Vormerkung für Rot.
Yksikönotsikko
Yksikkö-kommentti
Virtapiiri--otsikko
Virtapiiri-kommentti
FUP-elementit #starter
#condition
#condition#t_next_red_car
#t_dur_r_car
&
>=1
=
Kuva 3-6 Käskyosan rakenne
Käskyosan osia voidaan periaatteessa käsitellä halutussa järjestyksessä.Yksikköä ensimmäistä kertaa ohjelmoitaessa suositellaan seuraavaa:
Käskyosa
Käskyosaneditoitavat osat
Uusien yksiköidensyöttö
Koodiyksiköiden laadinta
3-14 C79000-G7000-C402-01
Virtapiirien käsittely
Virtapiirikommentin anto (valinnainen)
Virtapiiriotsikon anto (valinnainen)
FUP-elementtien anto
Yksikkökommentin anto (valinnainen)
Yksikön otsikon anto (valinnainen)
Kuva 3-7 Käskyosan käsittely
Muutoksia voidaan väliinkirjoitusmuodon lisäksi tehdä myös ylikirjoitusmuo-dossa. Muodosta toiseen vaihdetaan INSERT-näppäimellä.
Koodiyksiköiden laadinta
3-15C79000-G7000-C402-01
3.8 FUP-elementtien syötön perussäännöt
FUP-virtapiiri voi muodostua useammasta elementistä. Kaikkien elementtienon oltava liitetty keskenään (IEC 1131-3).
FUP:ssa ohjelmoitaessa on huomioitava muutamia sääntöjä. Virheilmoituksethuomauttavat mahdollisista virheistä.
Kyhyksiin, joissa on binäärilukituksia (&, >=1, XOR) voidaan liittäästandardikehyksiä (Flipflopit, laskurit, ajat, laskentaoperaatiot jne.).Vertailukehykset ovat poikkeus tästä säännöstä.
Virtapiiriin ei saa ohjelmoida mitään toisistaan erotettuja lukituksia, joissa onerilliset lähdöt. Lukitusketjun T-haaran avulla voidaan kuitenkin järjestääuseampia osoituksia. Kuvassa 3-8 on tästä esimerkki.
#starter
#condition
#condition#t_next_red_car
#t_dur_r_car
&
>=1
=
#cond_02
#car
>=1
=
T-haara
Kuva 3-8 Virtapiiri kahdella osoituksella
Seuraavat kehykset voidaan sijoittaa vain lukitusketjun oikeaan reunaan,jossa ne muodostavat ketjun lopun:
S laskurin aloitusarvon asetus
S eteenpäinlaskenta, taaksepäinlaskenta
S ajan käynnistys impulssina, ajan käynnistys pidennettynä impulssina
S ajan käynnistys vetohidastuksena/päästöhidastuksena.
Yleistä
Kehysten sijoitus
Koodiyksiköiden laadinta
3-16 C79000-G7000-C402-01
Kehysten joukossa on sellaisia, jotka vaativat boolen lukituksen, ja sellaisia,joilla ei saa olla boolen lukitusta.
S Kehykset, joissa on vaadittu boolen lukitus:
Lähtö, lähdön asetus, lähdön nollaus[R]
Konnektori[#], positiivinen reuna[P],negatiivinen reuna[N]
kaikki laskuri- ja Timer/ajastinkehykset
Hyppy, kun 0[JMPN]
Master Control Relaisin päällekytkentä[MCR<]
Lukitustuloksen lataus BIE-rekisteriin[SAVE]
Hyppy takaisin[RET]
S Kehykset, joissa boolen lukitus ei ole sallittu:
Master Control Relaisin alku [MCRA]
Master Control Relaisin loppu [MCRD]
Datalohkon avaus [AUF]
Master Control Relaisin poiskytkentä [MCR>]
Kaikilla muilla kehyksillä voi olla valinnaisesti boolen lukitus tai sitten ei.
Seurauksena voi olla kehysten vapautustulon ”EN” tai vapautuslähdön”ENO” kytkentä, mutta sitä ei myöskään vaadita.
Poistamalla kehys poistetaan päähaaraa lukuunottamatta myös kaikki haarat,jotka on liitetty kehykseen boolen tuloilla.
Samantyyppisten elementtien yksinkertaista vaihtoa varten on käytettävissäylikirjoitusmuoto (katso kappale 3.12).
Vapautustulo/Vapautuslähtö
Poisto ja muunto
Koodiyksiköiden laadinta
3-17C79000-G7000-C402-01
3.9 FUP-elementtien anto
Virtapiirin merkitsemiseksi, johon voidaan syöttää FUP-elementtejä,klikataan virtapiirimerkintää (esim. ”Virtapiiri 1”). Näin merkitty virtapiirivoidaan esim. leikata, lisätä uudelleen tai kopioida.
Uuden virtapiirin laatimiseksi valitaan valikkokäsky Insert Network taiklikataan toimintalistan vastaavaa symbolia. Uusi virtapiiri väliinkirjoitetaanmerkityn virtapiirin alapuolelle.
Mikäli elementtejä syötetään enemmän kuin kuvaruudulla voidaan näyttää,siirretään kuvaruudulla olevaa virtapiiriä vasemmalle. Paremman yleiskuvanluomiseksi voidaan esitystä mukauttaa valikkokäskyillä View Zoom In/Zoom Out/Zoom Factor.
Virtapiiriin pääsee kilkkaamalla hiirellä asianomaista FUP-elementtiä.Hiirellä voidaan merkitä periaatteessa kolme aluetta virtapiirin sisällä:
S FUP-elementit, siis esim. JA-kehys tai standardi-kehys, esim. laskuri,
S kehyksen tulot ja lähdöt,
S tyhjät elementit (liitäntälinjat).
#starter
#condition
#condition#t_next_red_car
#t_dur_r_car
&
>=1
=
Kuva 3-9 Mahdolliset merkinnät FUP-virtapiirissä
Merkintöjen väristä voidaan päättää itse. Sitä varten avataan ”KOP/FUP” /(”LAD/FBD”) -rekisteri valikkokäskyllä Options Customize.
Lukitusketju voidaan katkaista merkityn tulon kohdalla DEL-näppäintäpainamalla, väliinkirjoittaa katkaisukohdassa tarvittaessa uudetFUP-elementit ja yhdistää lukitusketju uudelleen valikkokäskyllä InsertFBD-Element Connection. Sitä varten on yhden binääritulon ja yhdenbinäärilähdön oltava kulloinkin merkitty. Elementit järjestetään tarvittaessagraafisesti uudelleen.
Virtapiirienkäsittely
Virtapiirienmerkinnät
Lukitusketjunkatkaiseminen jauudellleenyhdistäminen
Koodiyksiköiden laadinta
3-18 C79000-G7000-C402-01
FUP-väliinkirjoittamiseksi on käytettävissä seuraavat mahdollisuudet:
S JA-kehys, TAI-kehys tai lähtökehys väliinkirjoitetaan toimintanäppäimilläF2, F3 tai F4.
S FUP-elementin symboli valitaan toimintoriviltä.
S Valitaan elementti valikosta Insert FBD-Element.
S Valitaan elementit valintadialogista ohjelmaelementit/ProgramElements (katso kuva 3-10). Sitä varten valitaan valikkokäsky InsertProgram Elements, ”ohjelmaelementtien” symboli toimintorivillä taitoimintapainike F11.
LAD\STL\FBD...\FB6--<Offline>
Press F1 for help. Insert
FB6-<Offline>
Network 1 : Red request for traffic
#starter
#condition
#condition
#t_next_red_car
#t_dur_r_car
&
>=1
Network 2 : Start permanent yellow for cars
Program Eleme...
ObjectBlock TemplateData TypeDeclaration RowNetworkProgram ElementsFBD Element
File Edit Insert PLC Debug View Options Help
& =>1
CompareConvert
S_CDS_CUS_CUD
Data Block Fct.Floating-Point
Bit Logic
Counters
Integer Math
<
Window
Kuva 3-10 FUP-elementin väliinkirjoitus valintadialogilla
FUP-elementit väliinkirjoitetaan aina merkityn elementin taakse.
FUP-elementtiensyöttömahdolli--suudet
Koodiyksiköiden laadinta
3-19C79000-G7000-C402-01
Huomautus
Mikäli valintadialogista valitaan ”Ohjelmaelementit” ryhmä ”FB yksiköt”tai ”FC yksiköt”, esitetään sen alla sitten kaikki vastaavat yksiköt, jotkaesiintyvät S7-ohjelmassa. Mikäli valitaan ryhmä ”SFC yksiköt” tai ”SFByksiköt”, esitetään kaikki CPU:ssa käytettävissä olevat systeemi-toimintayksiköt tai -toiminnat.
Mikäli valintadialogista valitaan ”Ohjelmaelementit” ryhmä ”Kirjastot”(Library), esitetään STEP 7-standardikirjastot ja itse perustetut kirjastot.
Tällä tavalla voidaan virtapiiriin liittää kokonaisia yksiköitä ja ohjelmoidamuiden yksiköiden kutsu hyvin nopeasti.
Muuttujien selitystaulukossa määriteltyjä multi-instansseja voidaan myöskutsua FUP-elementtinä. Sitä varten valitaan valikkokäsky InsertProgram Elements. Listakentässä on ryhmä ”multi-instansseja”, jossa
kaikki selitetyt multi-instanssit on esitetty.
Multi--instanssienkutsu
Koodiyksiköiden laadinta
3-20 C79000-G7000-C402-01
3.10 Osoitteiden ja parametrien editointi
FUP-elementtiä väliinkirjoitettaessa yksikköeditori valitsee merkkijonon ??.?osoitteiden tai parametrien paikanvaraajaksi. Kaikki osoitteet ja parametrittulee määritellä, jotta käskyosa olisi latauskelpoinen. Poikkeuksenmuodostavat FBt ja SFBt sekä Timerin/ajastimen tai laskurin kehykset, joitaei tarvitse parametroida täydellisesti. Osoitteet ja parametrit voidaan antaaabsoluuttisena tai symbolisena.
Osoitteen tai parametrin editoimiseksi avataan vastaava tekstikenttäklikkaamalla hiirellä paikavaraajaa ??.?. Kun syöttö on päättynyt,tarkastetaan sen syntaksin oikeellisuus. Vikatapauksessa esitetään osoite taiparametri punaisena ja tilarivillä annetaan virheilmoitus. Syntaksin ollessaoikein avataan seuraava tekstikenttä, jota ei vielä ole käsitelty.
1. 2. 3.
??.?
m1.6 M1.6&??.? &??.?
&??.?
Kuva 3-11 FUP-elementtien osoitteiden syöttö
Heti kun FUP:n työkalut ovat tutumpia suositellaan ensin kaikkienelementtien syöttämistä virtapiiriin ja osoittamaan sen jälkeen jokaiselleelementeille osoite tai parametri.
Koska virheet on esitetty punaisena, on ne helppo tunnistaa. Jotta juurinäkyvän alueen ulkopuolella olevat virheet löytyisivät helpommin, oneditorissa sitä varten kaksi etsintätoimintaa Edit Go To Previous Error/ Next Error, jotka voidaan aktivoida myös toimintorivin symboleilla.
Virheen etsintä ulottuu yli virtapiirin. Se tarkoittaa, että etsitään kokokäskyosasta, ei vain virtapiiristä tai juuri näkyvissä olevalta alueelta. Jostilarivi kytketään valikkokäskyllä View Status Bar, näkyy siellä viittauk-sia virheisiin.
Virheiden korjaukset ja muutokset voidaan tehdä myös ylikirjoitusmuodossa(katso kappale 3.12).
Käyttö
Menettelytapa
Virheiden etsintäja korjaus
Koodiyksiköiden laadinta
3-21C79000-G7000-C402-01
3.11 Symbolinen osoitteenanto
FUP -ohjelmointikielessä voidaan osoitteita, parametrejä ja yksikkönimiäantaa absoluuttisena tai symbolisena. Valikkokäskyllä View SymbolicRepresentation vaihdetaan absoluuttisen ja symbolisen esityksen välillä.
Mikäli halutaan käyttää globaaleja symboleja, on nämä merkittävä symboli-taulukkoon. Sitä varten
S avataan symbolitaulukko valikkokäskyllä Options Symbol Table.
S avataan valikkokäskyllä Options Edit Symbols dialogikenttä, jossayksittäinen symboli voidaan määritellä uudelleen tai muuttaa.
Lisätietoa symbolien käsittelystä löytyy STEP 7-käyttäjäkäsikirjasta /231/.
Useimmissa tapauksissa ei tarvitse merkitä, onko kyseessä yksikön sisäinenvai globaali symboli. Mikäli sekaannukset kuitenkin ovat mahdollisia, koskaesim. symbolitaulukossa ja muuttujien selityksessä on käytetty samoja sym-boleja, voidaan symbolit erotella seuraavalla tavalla:
S Symbolitaulukon symbolit esitetään lainausmerkeissä ”..”.
S Yksikön muuttujien selitystaulukon symbolit esitetään eteen liitetyllämerkillä ”#”.
Tunnusta ”..” tai ”#” ei tarvitse syöttää. Jos symbolinen osoite on muuttujienselitystaulukossa tai symbolitaulukossa, täydentyy tunnus syntaksitestinjälkeen.
Jotta symbolisella osoitteenannolla ohjelmointi olisi helpompaa, voidaanolemassa oleville symboleille näyttää asianomainen absoluuttinen osoitesymbolikommentilla. Tämä tehdään valikkokäskyllä View SymbolInformation. Sen avulla näytetään jokaisen virtapiirin jälkeen tuleva vas-taava informaatiokenttä. Näyttöä ei voida käsitellä; muutokset tulee tehdäsymbolitaulukossa tai muuttujien selitystaulukossa.
Symbolisenosoitteenannonkäyttö
Symbolien valinta
Esitys
Helpoksi tehtysymboli--info
Koodiyksiköiden laadinta
3-22 C79000-G7000-C402-01
FB53-<Offline>
”lampon””sensor1”
”button2”
Symbol Information:
I0.0 sensor1 Temperature exceededI1.2 button2 Acknowledge buttonQ4.0 lampon Alarm signal
Network 1 : Output alarm
An alarm is output when the temperature limit is exceeded and themessage is not acknowledged
=
&
Kuva 3-12 FUP:n symboli-info
Yksikköä tulostettaessa toistetaan aktuelli kuvaruutuesitys käskykommenttei-neen tai symbolikommentteineen.
Huomautus
Ladattaessa ohjelmaa CPU:hun ei symbolitaulukkoa siirretä mukana. Joshalutaan käsitellä käyttäjäohjelmaa, jonka alkuperäinen ohjelma ei ole käy-tettävissä laadintajärjestelmässä, ei käytössä myöskään ole alkuperäistäsymboliikkaa.
Koodiyksiköiden laadinta
3-23C79000-G7000-C402-01
3.12 Muunto ylikirjoitusmuodossa
Yksikköeditorissa voidaan osoitteita ja parametrejä muuttaa helpostiylikirjoitusmuodossa. Väliinkirjoitus- ja ylikirjoitusmuodon välillävaihdetaan INSERT-näppäimellä. Parametrien ja osoitteiden tekstikentissävoidaan syötöt näin ylikirjoittaa.
Ylikirjoitusmuoto mahdollistaa samantyyppisten FUP-elementtienyksinkertaisen vaihdon. Tällöin kaikki boolen liitännät ja parametroinnitpysyvät ennallaan.
Etu on siinä, että osoitteita ja parametrejä ei tarvitse syöttää uudelleen.Ylikirjoitettava FUP-elementti voidaan ylikirjoittaa vain samantyyppiselläFUP-elementillä. Näin voidaan vaihtaa esim. JA, TAI, R/S-FlipflopS/R-Flipflopiin tai erilaiset aikaelimet keskenään.
Olemassa olevan FUP-elementin ylikirjoittamiseksi se merkitään javaihdetaan INSERT-näppäimellä ylikirjoitusmuotoon. Elementti ylikirjoitetaanheti kun samantyyppinen FUP-elementti väliinkirjoitetaan.
A 1.0
E 0.0
E 1.1
S_EVERZ
S
R
TWS5T#10s
DUAL
DEZ
MW 2
MW 4
T1
ylikirjoitus
Q
&
E 1.2
&
>=1
=
E 0.1
E 0.2
A 1.0
E 0.0
E 1.1 S
R
TWS5T#10s
DUAL
DEZ
MW 2
MW 4
T1
Q
&
E 1.2
&
>=1
=
E 0.1
E 0.2
S_IMPULS
Kuva 3-13 Kehysten ylikirjoitus
Huomautus
Kommentit ja otsikot voidaan korjata väliinkirjoitusmuodossa.
Osoitteiden japarametrienylikirjoitus
FUP-elementinylikirjoitus
Koodiyksiköiden laadinta
3-24 C79000-G7000-C402-01
3.13 Otsikoiden ja kommenttien anto
Koodiyksikön käskyosassa voidaan syöttää yksikön otsikko ja virtapiirin ot-sikko sekä yksikkökommentit tai virtapiirikommentit. Syötöt ovat valinnaisiaeikä niillä ole merkitystä ohjelmankululle.
Yksikön tai virtapiirin otsikon syöttöä varten viedään kursori yksikkönimentai virtapiirinimen oikealla puolella olevien kolmen kysymysmerkin kohdalle(esim. virtapiiri 1 : ???). Silloin avautuu tekstikenttä, johon otsikko syöte-tään. Siinä voi olla enintään 64 merkkiä.
Virtapiiri 2: ???
Virtapiiri 2:
Klikkaus hiirellä
Tässä on virtapiirin otsikko
1.
2.
Kuva 3-14 Otsikoiden syöttö
Harmaiden kommenttikenttien syöttö voidaan ottaa käyttöön tai pois käytöstävalikkokäskyllä View Comment. Kaksoisklikkaamalla sellaisessa kentäs-sä avautuu tekstikenttä, johon selitykset voidaan nyt syöttää. Yksikkö- ja vir-tapiirikommentteja varten on yksikköä kohti käytettävissä 64 KByteä.
???
Virtapiiri-- tai yksikkökommentti
1.
2.Klikkaus hiirellä
Kuva 3-15 Kommenttien syöttö
Huomautus
Ladattaessa yksikköä CPU:hun ei kommentteja siirretä mukana. Jos halutaanladata yksikkö CPU:sta, jossa alkuperäinen yksikkö ei ole käytettävissä laa-dintajärjestelmässä, ei alkuperäisiä kommentteja voi nähdä eikä käsitellä.
Yleiskuva
Yksikön otsikoidenja virtapiirinotsikoiden syöttö
Kommenttiensyöttö
Koodiyksiköiden laadinta
2-1C79000-G7000-C402-01
Johdanto
Tässä kappaleessa selitetään lyhyesti yksiköistä muodostuvan käyttäjäohjel-man rakenne.
FUP-editori asettaa SIMATIC managerissa pohjan kaikille STEP 7-sovelluk-sille. Tässä selviää, miten SIMATIC managerista päästään FUP-editoriin jamihin laaditut yksiköt on järjestetty projektirakenteessa.
Kappale Sisältö Sivu
2.1 Käyttäjäohjelmien rakenne 2-2
2.2 Käyttäjäohjelmien laadinta -- yleiskuva 2-4
2.3 Huomioon otettavat säännöt 2-7
Mitä tämä kappalesisältää?
Yleiskuvakappaleesta
2
2-2 C79000-G7000-C402-01
2.1 Käyttäjäohjelmien rakenne
Käyttäjäohjelma koostuu koodiyksiköistä ja tiedostoyksiköistä. Koodiyksi-köihin kuuluvat kaikki yksiköt, joissa on käskyosa, siis organisaatioyksiköt,toimintayksiköt ja toiminnat.
Organisaatioyksiköt (OBt) esittävät käyttöjärjestelmän ja käyttäjäohjelmanvälistä liitäntäpistettä. Eri organisaatioyksiköillä on tällöin ihan määrättyjätehtäviä. S7-CPU:n FUP-käyttäjäohjelma kootaan organisaatioyksiköistä(OBt), joita automaatioratkaisussa tarvitaan. Yksinkertaisimmassatapauksessa siihen kuuluvat
S käynnistyksen (OB 100, OB 101)
S syklisen pääohjelman (OB1) ja
S virheenkäsittelyn (OB 80 ... OB 87, OB 121, OB 122), mikäli CPU:n eitule vikatapauksessa mennä STOP -tilaan.
organisaatioyksiköt.
Sen lisäksi on vielä muita organisaatioyksiköitä, joiden avulla voidaan käsi-tellä CPU:n tai prosessin keskeytyksiä.
Mitä tehtäviä kullakin organaisaatioyksiköllä on ja minkä aloitusinfon CPU-käyttöjärjestelmä antaa, selviää referenssikäsikirjasta /235/.
Jokainen organisaatioyksikkö voidaan ohjelmoida rakenteellisena ohjelmana,laatimalla toiminnat (FC) ja toimintayksiköt (FB) ja kutsumalla niitä käskyo-sassa. Yksikköä kutsuttaessa tulee selvitetyt parametrit varustaa vastaavastitiedoilla.
S Toimintayksikkö (FB) on koodiyksikkö ”muistilla”. Muistina toimii täl-löin FB:lle varattu oheis-tiedostoyksikkö, johon todelliset parametrit jatoimintayksikön staattiset tiedot tallennetaan.
S Toiminta (FC) on koodiyksikkö ”ilman muistia”. Lähtöparametrit sisältä-vät FC:n käsittelyn jälkeen lasketut toiminta-arvot. Todellisten parametri-en muu käyttö ja tallennus FC:n kutsun jälkeen on käyttäjän oma asia.
Käyttöjärjestelmä asettaa valmiiksi seuraavat tiedot:
S Periferiatulot ja -lähdöt
S Tulojen ja lähtöjen prosessikuva
S Merkkerit
S Ajat
S Laskurit
Koodiyksiköt jatiedostoyksiköt
Organisaatio--
yksiköt
Toiminnat/toimintayksiköt
Tiedot
Johdanto
2-3C79000-G7000-C402-01
Lisäksi voidaan määritellä omia tietoja:
S Globaalidata, joka pätee koko käyttäjäohjelmalle, määritellääntiedostoyksiköissä.
S Staattiset muuttujat pätevät aina siinä FB:ssä, jossa ne on määritelty. Jokakerran FB:tä kutsuttaessa annetaan oheis-DB, joka sisältää kaikkien para-metrien ohella staattiset tiedot. Mikäli multi-instanssit on määritelty, onniiden instanssitiedot, staattiset tiedot mukaanlukien upotettuoheis-DB:hen.
S Väliaikaiset eli hetkelliset (temp)-tiedot määritellään koodiyksiköitä laa-dittaessa. Ne varaavat muistipaikan pinossa vain koodiyksikön käsittelynajan.
Käyttäjäohjelman tiedot tallennetaan tiedostoyksiköihin. Tiedostoyksiköitäon kahta lajia, globaali-tiedostoyksiköt ja oheis-tiedostoyksiköt.
S Globaali-tiedostoyksiköihin pääsee käyttäjäohjelman joka kohdasta.
S Oheis-tiedostoyksiköt (instanssi) on varattu toimintayksikölle ja ne sisäl-tävät FB:n tietojen ohella myös mahdollisesti määriteltyjenmulti-instanssien tiedot. Siksi instanssi-tiedostoyksiköitä tulee käsitellävain kyseisten toimintayksiköiden yhteydessä.
Johdanto ohjelmointimetodiikkaan löytyy käsikirjasta /234/.
Tiedostoyksiköt
Muuta tietoa
Johdanto
2-4 C79000-G7000-C402-01
2.2 Käyttäjäohjelmien laadinta -- yleiskuva
Käyttäjäohjelma, jonka tulee toimia S7-CPU:ssa, muodostuu pääasiassa yksi-köistä. Lisäksi se sisältää muuta informaatiota kuten esim. järjestelmän kon-figurointitiedot tai järjestelmän verkotustiedot. Käyttötapauksesta riippuentulee käyttäjäohjelmassa olla seuraavat yksiköt:
S Organisaatioyksiköt (OBt)
S Toimintayksiköt (FBt)
S Toiminnat (FCt)
S Tiedostoyksiköt (DBt).
Lisäksi voidaan yksinkertaistamista varten asettaa määriteltyjä tiedostotyyp-pejä (UDTt), joita voidaan käyttää omana tiedostotyyppinä tai DB:idenlaadintamallina.
Muutamat usein käytetyistä yksiköistä kuten järjestelmätoimintayksiköt(SFBt) ja järjestelmätoiminnat (SFCt) on integroitu CPU:hun. Muut yksiköt(esim. IEC-toimintoja tai säätäjäyksiköitä varten) ovat ladattavissa pakettina(standarditoimintayksiköt). Kyseiset ohjelmoimattomat yksiköt voidaan liit-tää yksinkertaisella tavalla käyttäjäohjelmaan.
Huomautus
Mitkä SFBt ja SFCt CPU:hun on integroitu, voidaan näyttää onlinevalikkokäskyn Accessible Nodes " Blocks kautta.
Yksiköiden ohjelmoimiseksi on STEP 7:n perusohjelmiston ohella käytettä-vissä vastaava editori. Koodiyksiköiden ohjelmoimiseksi (OBt, FBt, FCt)voidaan asettaa ohjelmointikieli FUP. FUP-editori työskentelee differentiaali-sesti, se tarkoittaa, jokaisen syötön jälkeen suoritetaan siihen viittaava syn-taksikoe. Syntaksivirheet näytetään, kielletyt FUP-elementtien tai osoitteidenoperaatiot torjutaan heti.
FUP-editori käynnistetään SIMATIC -managerista. Edellytyksenä on, ettäsiellä on S7-ohjelmalla varustettu projekti. S7-ohjelma voidaan laatialaitteistosta riippuen tai siitä riippumatta. Sitä varten liitetään S7-ohjelmasuoraan projektiin tai käsitellään ohjelmoitavalle yksikölle varattuaS7-ohjelmaa. Ohjelmassa itsessään voi olla mm. käyttäjäohjelma-alueita,lähteitä tai suunnitelmia.
FUP-editorilla käsitellään yksinomaan yksiöitä, jotka tallennetaankäyttäjäohjelman alueelle.
Käyttäjäohjelma
Inkrementti-FUP-editori
Aloitus SIMATIC--
järjestelmän--
hallinnasta
Johdanto
2-5C79000-G7000-C402-01
File
Press F1 for help.
Options Help
SIMATIC Manager -- TRAFFIC
NUM
TRAFFIC - <Offline> (Project)
TRAFFIC
S7 Program (1)
SIMATIC 300 Station1
Source Files
Blocks
OB1 FB6
DB5 DB6
ViewInsertEdit PLC Window
ON OFF
Kuva 2-1 FUP-editorin käynnistys SIMATIC managerista
Mikäli halutaan laatia yksikkö ensimmäisen kerran, tulee ensin luoda tyhjäyksikkö SIMATIC managerissa, jonka kautta editori avataan. Kun FUP-editori on avattu, voidaan siellä luoda uusia yksiköitä.
S SIMATIC managerissa merkitään käyttäjäohjelma ja lisätään halutun yk-sikkölajin yksikkö valikkokäskyllä Insert S7-Block ... . Uusi yk-sikkö ilmestyy oikealla olevaan projekti-ikkunaan.
S Editorissa uusi yksikkö voidaan luoda yksinkertaisesti valikkokäskylläFile New. Seurantadialogissa annetaan myös yksikkölaji jayksikkönumero.
Yksikköä luotaessa määritellään, millä ohjelmointikielellä yksikkö halutaanlaatia. Tämän tiedon mukaisesti käynnistetään vastaava editori yksikköäavattaessa. FUP:ssa tapahtuvaa ohjelmointia varten valitaan ”FUP” -ohjelmointikieli
S SIMATIC managerin dialogikentässä ”ominaisuudet” (properties).
S FUP-editorissa valikkokäskyllä Option Customize dialogikentässä”KOP/AWL/FUP”, rekisterissä ”editori”.
Yksikkö avataan SIMATIC managerissa kaksoisklikkaamalla yksikköä.Vaihtoehtoisesti voidaan tämä tehdä myös valikkokäskyllä Edit OpenObject tai menemällä toimintorivin vastaavaan symboliin.
Yksikön luonti
Ohjelmointikielenvalitseminen
Yksikönavaaminen
Johdanto
2-6 C79000-G7000-C402-01
Tallennettaessa yksikköä editoriin on huomioitava seuraavaa:
S File Save tallentaa yksikön ohjelmassa aina PG:n tai PC:n kovalevylle.
S PLC Download lataa avatun yksikön CPU:hun.
Kun käyttäjäohjelman yksiköt on laadittu, ladataan tämä SIMATICmanagerissa täydellisenä S7-CPU:hun. Lisää käyttäjäohjelmien lataustakoskevaa tietoa löytyy käyttäjäkäsikirjasta STEP 7 /231/.
Huomautus
Aina ei riitä, että kaikki luodut yksiköt ladataan yksitellen CPU:hun, koskajärjestelmäkonfigurointitietoja tarvitaan mahdollisesti. Ohjelma ladataansiksi aina kokonaisena SIMATIC managerin kautta.
FUP-editorissa voidaan suorittaa suoraan seuraavat toiminnat, joista on apuaohjelmaa laadittaessa ja käyttöönotettaessa:
Taulukko 2-1 FUP-editorin tukitoiminnat
Toiminnat Valikkokäsky
Käyttäjäohjelman referenssitietojen kutsu Options " Reference Data
Symbolitaulukon tai yksittäistensymbolien käsittely
Options " Symbol Table taiOptions " Edit Symbols
Muuttujien seuranta / ohjaus PLC " Monitor/Modify Variables
Käyttötilan näyttö/vaihto sekä CPU:nperusnollaus
PLC " Operating Mode taiPLC " Clear/Reset
CPU:n yksikön tilan näyttö PLC " Module Information
CPU:n päiväyksen ja kellonajan muutos PLC " Set Time and Date
Nämä toiminnat on kuvattu perusteellisesti käyttäjäkäsikirjassa STEP 7 /231/.
Yksikön tallennus
Tukitoimintojenkutsu
Johdanto
2-7C79000-G7000-C402-01
2.3 Huomioon otettavat säännöt
Käyttäjäohjelman koodiyksiköitä ja tiedostoyksiköitä laadittaessa on yksiköi-den laadintajärjestys ratkaiseva. Periaatteessa pätee: Yksiköiden, joita kut-sutaan toisesta yksiköstä käsin, tulee kutsua ohjelmoitaessa olla jo ole-massa -- siis aiemmin ohjelmoituja. Ei olemassa olevan(ohjelmoimattoman)yksikön syöttö FUP-elementtinä (kehys) ei ole mahdollinen. Kutsuttaessayksikköä CALL:lla esitetään ei olemassa olevan (ohjelmoimattoman)yksikön syöttö tallennettaessa virheenä, koska kutsuttua yksikköä ei löydyohjelmasta.
CPU:n ollessa käyttötilassa RUN, voidaan CPU:hun tallennettua käyttäjäoh-jelmaa käsitellä STEP 7:llä online.
!Varoitus
Meneillään olevan ohjelman Online-käsittely voi johtaa laitteen virhe--toimintoihin tai ennennäkemättömiin häiriöihin ja siten loukkaantumisiinja/tai esinevahinkoihin.
Jos CPU on kytketty online ja on käyttötilassa RUN, voidaan CPU:huntallennettua käyttäjäohjelmaa käsiteltäessä aiheuttaa erehdyksessä tilanteita,joissa laitteistot yhtäkkiä kytketään päälle ja pois päältä ja aiheutetaan näinesine- tai henkilövahinkoja.
Prosessin kulku tulisi siksi aina suunnitella voimassa olevia turvallisuusmää-räyksiä noudattaen. Meneillään olevaa ohjelmaa ei tulisi koskaan yrittäämuuttaa Online-tilassa, ilman että sitä ennen on varmistuttu riittävistäturvatoimista.
Huomautus
Online- ja Offline-kytkennästä löytyy tietoa STEP 7 -käyttäjäkäsikirjasta/231/.
Yksikönlaadintajärjestys
Käsittely ohjelmankulun aikana
Johdanto
2-8 C79000-G7000-C402-01
Johdanto
1-1C79000-G7000-C402-01
Yleiskuva tuotteesta
FUP tarkoittaa toimintakaaviota. Se on graafinen ohjelmointikieli ja siinäkäytetään logiikan esittämiseen Boolen algebrasta tuttuja loogisia kehyksiä.Sen lisäksi voidaan kompleksifunktiot (esim. matemaattiset funktiot) esittääsuoraan loogisten kehysten yhteydessä.
Tässä käsikirjassa käytetään toimintakaaviosta sen saksankielestä tulevaaFUP -lyhennettä. Englanninkielisessä valikossa sen lyhenne on FBD.
KOP = LAD = relekaavioAWL = STL = käskylista
FUP -ohjelmointikielessä on käytettävissä kaikki elementit, jotka tarvitaantäydellisen käyttäjäohjelman laadintaan. FUP:lla on mahtava käskykanta.Siihen kuuluvat eri perusoperaatiot sekä laaja operandivalikoimaparametrointeineen. Toimintojen ja toimintayksiköiden konsepti mahdollistaaFUP-ohjelman havainnollisen rakentamisen.
FUP-ohjelmistopaketti on STEP 7 -perusohjelmiston integroitu osa.STEP 7-ohjelmiston asennuksen jälkeen ovat käytettävissä kaikki FUP:neditori-, käännösohjelma- ja testitoiminnat.
FUP:n avulla voidaan käyttäjäohjelma laatia inkrementtieditorilla. Tässä onratkaistu yksikön paikallinen tiedostorakenne mukavasti taulukkoeditoreilla.
Koska FUP:n ohella myös AWL - ja KOP -ohjelmointikielet on integroituperusohjelmistoon, voidaan kielten välillä vaihdella ja valita siten sopivaesitys yksikköohjelmointia varten.
Yleisesti pätee, että KOP:ssa tai FUP:ssa kirjoitetut ohjelmat voidaan esittääongelmitta AWL:ssä. Muunnettaessa KOP-ohjelmia FUP-ohjelmiksi japäinvastoin tulee AWL:n näyttöön ohjelmaelementtejä, jotka eivät oleesitettävissä kohdekielellä.
Mitä FUP/FBDtarkoittaa?
FUPohjelmointikieli
Ohjelmointipaketti
1
1-2 C79000-G7000-C402-01
Yleiskuva tuotteesta 1
Johdanto 2
Koodiyksiköiden laadinta 3Tiedostoyksiköiden jakäyttäjämääritteistentiedostotyyppien muodostus 4
Yksikön ominaisuuksien jaohjelmatestin käsittely 5
Osa 1: TyöskentelyFUP-editorilla
2-2 C79000-G7000-C402-01
viiC79000-G7000-C402-01
Sisällysluettelo
Esipuhe iii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Osa 1: Työskentely FUP--editorilla
1 Yleiskuva tuotteesta 1-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Johdanto 2-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Käyttäjäohjelmien rakenne 2-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Käyttäjäohjelmien laadinta -- yleiskuva 2-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Huomioon otettavat säännöt 2-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Koodiyksiköiden laadinta 3-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Koodiyksiköiden laadinta -- yleiskuva 3-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Koodiyksiköt editorissa 3-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Muuttujien selitystaulukon rakenne 3-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Muuttujien selitystaulukon käsittely -- yleiskuva 3-8. . . . . . . . . . . . . . . . . . . . . .
3.5 Multi-instanssien selitys 3-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Systeemiattribuuttien anto parametreille 3-11. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Käskyosan käsittely -- yleiskuva 3-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 FUP-elementtien syötön perussäännöt 3-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9 FUP-elementtien anto 3-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Osoitteiden ja parametrien editointi 3-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11 Symbolinen osoitteen anto 3-21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12 Muunto ylikirjoitusmuodossa 3-23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13 Otsikoiden ja kommenttien anto 3-24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien muodostus 4-1. .
4.1 Tiedostoyksiköiden laadinta -- yleiskuva 4-2. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Laadintamenetelmän valinta 4-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Selitystaulukon käsittely 4-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Aktuellien data-arvojen käsittely 4-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Käyttäjämääritteisten tiedostotyyppien laadinta (UDT) 4-8. . . . . . . . . . . . . . . .
viii C79000-G7000-C402-01
5 Yksikön ominaisuuksien ja ohjelmatestin käsittely 5-1. . . . . . . . . . . . . . . . . . . . . . . .
5.1 Yksikön ominaisuuksien käsittely 5-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 FUP-ohjelman testaus - yleiskuva 5-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Ohjelman tilan näytön asetus 5-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Triggeriehtojen asetus 5-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Testausympäristön valinta ja ohjelman tilan käynnistys/pysäytys 5-8. . . . . . .
Osa 2: Kielikuvaus
6 FUP:n rakenne ja elementit 6-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Elementit ja kehykset 6-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Boolen logiikka ja totuustaulukot 6-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 CPU-rekisterin merkitys käskyissä 6-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 Osoitteen anto 7-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1 Yleiskuva 7-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Osoitelajit 7-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 Bittilukitusoperaatiot 8-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1 Yleiskuva 8-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 JA--lukitus 8-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3 TAI--lukitus 8-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4 JA--ennen--TAI--lukitus ja TAI--ennen--JA--lukitus 8-5. . . . . . . . . . . . . . . . . . . . .
8.5 EHDOTON--TAI--lukitus 8-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6 Binääritulon väliinkirjoitus 8-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.7 Binääritulon kääntö 8-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.8 Osoitus 8-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.9 Konnektori 8-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.10 Lukitustuloksen lataus BIE--rekisteriin 8-11. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.11 Lähdön asetus 8-12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.12 Lähdön nollaus 8-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.13 Laskurin aloitusarvon asetus 8-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.14 Operaatio: Eteenpäinlaskenta 8-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.15 Operaatio: Taaksepäinlaskenta 8-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.16 Operaatio: Ajan käynnistys impulssina 8-18. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.17 Operaatio: Ajan käynnistys pidennettynä impulssina 8-20. . . . . . . . . . . . . . . . .
8.18 Operaatio: Ajan käynnistys vetohidastuksena 8-22. . . . . . . . . . . . . . . . . . . . . . .
8.19 Operaatio: Ajan käynnistys tallentavana vetohidastuksena 8-24. . . . . . . . . . . .
8.20 Operaatio: Ajan käynnistys päästöhidastuksena 8-26. . . . . . . . . . . . . . . . . . . . .
Sisällysluettelo
ixC79000-G7000-C402-01
8.21 Reunan 0 --> 1 kysely 8-28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.22 Reunan 1 --> 0 kysely 8-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.23 Signaalireunan 0 --> 1 kysely 8-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.24 Signaalireunan 1 --> 0 kysely 8-31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.25 Flipflopin asetus/nollaus 8-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.26 Flipflopin nollaus/asetus 8-33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 Aikaoperaatiot 9-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1 Ajan muistialueet ja komponentit 9-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2 Oikean ajan valinta 9-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3 Ajan käynnistys impulssina 9-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4 Ajan käynnistys pidennettynä impulssina 9-7. . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5 Ajan käynnistys vetohidastuksena 9-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6 Ajan käynnistys tallentavana vetohidastuksena 9-11. . . . . . . . . . . . . . . . . . . . . .
9.7 Ajan käynnistys päästöhidastuksena 9-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 Laskentaoperaatiot 10-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.1 Muistin laskuriosite ja laskurin komponentit 10-2. . . . . . . . . . . . . . . . . . . . . . . . .
10.2 Eteenpäin-/taaksepäinlaskenta 10-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.3 Eteenpäinlaskenta 10-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.4 Taaksepäinlaskenta 10-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11 Peruslaskentaoperaatiot 11-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.1 Kokonaislukujen yhteenlasku (16 bittiä) 11-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2 Kokonaislukujen yhteenlasku (32 bittiä) 11-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3 Kokonaislukujen vähennyslasku (16 bittiä) 11-4. . . . . . . . . . . . . . . . . . . . . . . . . .
11.4 Kokonaislukujen vähennyslasku (32 bittiä) 11-5. . . . . . . . . . . . . . . . . . . . . . . . . .
11.5 Kokonaislukujen kertolasku (16 bittiä) 11-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.6 Kokonaislukujen kertolasku (32 bittiä) 11-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.7 Kokonaislukujen jakolasku (16 bittiä) 11-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.8 Kokonaislukujen jakolasku (32 bittiä) 11-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.9 Jakojäännös (32 bittiä) 11-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.10 Tilasanan bittien tulkinta peruslaskentaoperaatioissa 11-11. . . . . . . . . . . . . . . . .
12 Liukulukuaritmetiikka 12-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.1 Yleiskuva 12-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2 Liukulukujen yhteenlasku 12-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3 Liukulukujen vähennyslasku 12-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.4 Liukulukujen kertolasku 12-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.5 Liukulukujen jakolasku 12-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sisällysluettelo
x C79000-G7000-C402-01
12.6 Tilasanan bittien tulkinta liukulukuoperaatioissa 12-7. . . . . . . . . . . . . . . . . . . . . .
12.7 Liukuluvun absoluuttiarvon muodostus 12-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.8 Liukuluvun neliön (SQR) muodostus 12-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.9 Liukuluvun neliöjuuren (SQRT) muodostus 12-10. . . . . . . . . . . . . . . . . . . . . . . . . .
12.10 Liukuluvun luonnollisen logaritmin muodostus 12-11. . . . . . . . . . . . . . . . . . . . . . .
12.11 Liukuluvun eksponenttiarvon muodostus 12-12. . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.12 Kulmien trigonometristen funktioiden laskentaliukulukuina 12-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13 Vertailuoperaatiot 13-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.1 Kokonaislukujen vertailu (16 bittiä) 13-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2 Kokonaislukujen vertailu (32 bittiä) 13-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.3 Liukulukujen vertailu 13-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14 Siirto-- ja muunnosoperaatiot 14-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.1 Arvon siirto 14-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2 BCD--luvun muunto kokonaisluvuksi (16 bittiä) 14-3. . . . . . . . . . . . . . . . . . . . . .
14.3 Kokonaisluvun (16 bittiä) muunto BCD--luvuksi 14-4. . . . . . . . . . . . . . . . . . . . . .
14.4 Kokonaisluvun (16 bittiä) muunto kokonaisluvuksi (32 bittiä) 14-5. . . . . . . . . . .
14.5 BCD--luvun muunto kokonaisluvuksi (32 bittiä) 14-6. . . . . . . . . . . . . . . . . . . . . .
14.6 Kokonaisluvun (32 bittiä) muunto BCD--luvuksi 14-7. . . . . . . . . . . . . . . . . . . . . .
14.7 Kokonaisluvun (32 bittiä) muunto liukuluvuksi 14-8. . . . . . . . . . . . . . . . . . . . . . .
14.8 Kokonaisluvun (16 bittiä) 1n komplementin muodostus 14-9. . . . . . . . . . . . . . .
14.9 Kokonaisluvun (32 bittiä) 1n komplementin muodostus 14-10. . . . . . . . . . . . . . .
14.10 Kokonaisluvun (16 bittiä) 2n komplementin muodostus 14-11. . . . . . . . . . . . . . .
14.11 Kokonaisluvun (32 bittiä) 2n komplementin muodostus 14-12. . . . . . . . . . . . . . .
14.12 Liukuluvun etumerkin vaihto 14-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.13 Luvun pyöristys 14-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.14 Kokonaisluvun muodostus 14-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.15 Seuraavaksi suuremman kokonaisluvun muodostus liukuluvusta 14-16. . . . . . .
14.16 Seuraavaksi pienemmän kokonaisluvun muodostus liukuluvusta 14-17. . . . . . .
15 Sanalukitusoperaatiot 15-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.1 Yleiskuva 15-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2 16 bitin JA--lukitus 15-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3 32 bitin JA--lukitus 15-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.4 16 bitin TAI--lukitus 15-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.5 32 bitin TAI--lukitus 15-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.6 16 bitin EHDOTON--TAI--lukitus 15-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sisällysluettelo
xiC79000-G7000-C402-01
15.7 32 bitin EHDOTON--TAI--lukitus 15-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16 Siirto-- ja pyöritysoperaatiot 16-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.1 Siirto--operaatiot 16-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.2 Pyöritysoperaatiot 16-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17 Tiedostoyksikköoperaatiot 17-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.1 Tiedostoyksikön avaus 17-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18 Hyppyoperaatiot 18-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.1 Yleiskuva 18-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.2 Ehdoton hyppy yksikössä 18-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.3 Hyppy, kun 1 (ehdollinen) 18-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.4 Hyppy, kun 0 (ehdollinen) 18-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.5 Hyppymerkki 18-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19 Tilabittioperaatiot 19-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.1 Yleiskuva 19-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.2 BIE-rekisterin bitti 19-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.3 Tulosbitit 19-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.4 Väärien operaatioiden virhebitti 19-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.5 Ylivuodon virhebitti 19-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.6 Tallennetun ylivuodon virhebitti 19-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20 Ohjelmanohjausoperaatiot 20-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.1 FC/SFC:n kutsu ilman parametrejä 20-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.2 FB:n, FC:n, SFB:n, SFC:n ja multi--instanssien kutsu 20-4. . . . . . . . . . . . . . . . .
20.3 Hyppy takaisin 20-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.4 Master Control Relayn toiminnat 20-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.5 Master Control Relayn alku/loppu 20-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.6 Master Control Relay päälle/pois päältä 20-13. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liitteet
A Aakkosellinen operaatiolista A-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.1 Englanninkielinen selityslista A-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 IEC--mnemoniikka ja SIMATIC--mnemoniikka A-6. . . . . . . . . . . . . . . . . . . . . . .
Sisällysluettelo
xii C79000-G7000-C402-01
B Ohjelmointiesimerkkejä B-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1 Yleiskuva B-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 Bittilukitusoperaatiot B-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.3 Aikaoperaatiot B-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4 Laskenta- ja vertailuoperaatiot B-11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.5 Aritmeettiset operaatiot kokonaisluvuilla B-13. . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.6 Sanalukitusoperaatiot B-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C Lukujen esitys C-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.1 Lukujen esitys C-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sisällysluettelo
3-1C79000-G7000-C402-01
Lukujen esitys
Kappale Sisältö Sivu
3.1 Lukujen esitys 3-2
Yleiskuvakappaleesta
3
3-2 C79000-G7000-C402-01
3.1 Lukujen esitys
FBD/FUP-operaatiot toimivat määrätynsuuruisilla dataobjekteilla (katsotaulukko 3-2). Bittilukitusoperaatiot käyttävät esimerkiksi bittejä(binäärilukuja). Siirto-operaatiot toimivat tavuilla, sanoilla, kaksoissanoilla.
Aritmeettiset operaatiot toimivat myös tavuilla, sanoilla ja kaksoissanoilla.Näissä tavu-, sana- tai kaksoissanaoperandeissa voidaan koodata erimuodoissa olevia lukuja, kuten esim. kokonaislukuja ja liukulukuja.
Symbolista osoiteantoa käytettäessä määritellään symbolit ja annetaan näillesymboleille tiedostotyyppi (katso taulukko 3-2). Eri tiedostotyypeillä on erimuoto-optiot ja lukuesitykset. Seuraavissa kappaleissa on tietoa muodoista jalukuesityksistä.
Tämä käsikirjan kappale kuvaa vain muutamaa luvuille ja vakioillemahdollista esitystapaa.
Taulukko 3-1 Luku-- ja vakiomuodot, joihin ei perehdytä tässä kappaleessa
Muoto Koko bitteinä Lukuesitys
Heksadesimaali 8, 16 ja 32 B#16#, W#16#, ja DW#16#
Binääri 8, 16 ja 32 2#
IEC-päiväys 16 D#
IEC-aika 32 T#
Kellonaika 32 TOD#
Merkki 8 ’A’
Bittiä kutsutaan binääriluvuksi ”0” tai ”1”. Tavu muodostuu 8:sta bitistä, sana16:sta bitistä ja kaksoissana 32 bitistä.
Jokaisessa FUP-kehyksen tulo- ja lähtöparametrissa voi olla jokin seuraavistatyypeistä:
S elementaariset tyypit (katso taulukko 3-2)
S rakenteelliset tyypit (Array, Struct, String, Date_and_Time)
S Timer, Counter ja yksikkötyyppi
S Pointer ja Array
Lähempää tietoa tiedostorakenteesta ja kentistä, jotka voidaan määritellä itse,tai muista rakenteellisista tiedostotyypeistä kuten STRING jaDATE_AND_TIME löytyy ohjelmointikäsikirjasta /120/ ja käyttäjäkäsikir-jasta /231/.
Yleisinfoa
Bitit, tavut, sanatja kaksoissanat
Tiedostotyypit
Lukujen esitys
3-3C79000-G7000-C402-01
Taulukko 3-2 Perustiedostotyyppien vakiomuodot
Tyyppi jaselitys
Kokobit:ssä
Muoto--optiot Alue ja lukujen esitys (alimm.korkeimpaan arvoon)
Esimerkki
BOOL(Bitti)
1 Bool-teksti TRUE/FALSE TRUE
BYTE(Tavu)
8 Heksadesimaali--luku
B#16#0 ... B#16#FF B#16#10byte#16#10
WORD(Sana)
16 Duaaliluku
Heksadesimaali--luku
BCDDesimaalilukuilman etumerkkiä
2#0 ...2#1111_1111_1111_1111W#16#0 ... W#16#FFFF
C#0 ... C#999B#(0,0) ... B#(255,255)
2#0001_0000_0000_0000
W#16#1000word16#1000C#998B#(10,20)byte#(10,20)
DWORD(Kaksois-sana)
32 Duaaliluku
Heksadesim.lukuDesimaalilukuilman etumerkkiä
2#0 ...2#1111_1111_1111_1111_1111_1111_1111_1111DW#16#0000_0000 ...DW#d16#FFFF_FFFFB#(0,0,0,0) ...B#(255,255,255,255)
2#1000_0001_0001_1000_1011_1011_0111_1111
DW#16#00A2_1234dword#16#00A2_1234B#(1, 14, 100, 120)byte#(1,14,100,120)
INT(Kok.luku)
16 Desimaalilukuetumerkillä
-32768 ... 32767 1
DINT(Kok.luku,32 bittiä)
32 Desimaalilukuetumerkillä
L#-2147483648 ... L#2147483647 L#1
REAL(Liukuluku)
32 IEEELiukuluku
Ylempi raja: �3 402823e+38Alempi raja: �1 175 495e-38)
1,234567e+13
S5TIME(SIMATIC-aika)
16 S5-aika10 ms:n välein(oletusarvo)
S5T#0H_0M_0S_10MS ...S5T#2H_46M_30S_0MS jaS5T#0H_0M_0S_0MS
S5T#0H_1M_0S_0MSS5Time#0H_1H_1M_0S_0MS
TIME(IEC-aika)
32 IEC-aika1 ms:n välein,kokonaislukuetumerkillä
T#-24D_20H_31M_23S_648MS ...T#24D_20H_31M_23S_647MS
T#0D_1H_1M_0S_0MSTIME#0D_1H_1M_0S_0MS
DATE(IEC-päiväys)
16 IEC-päiväys1 päivän välein
D#1990-1-1 ...D#2168-12-31
D#1994-3-15DATE#1994-3-15
TIME_OF_DAY(kellonaika)
32 Kellonaika1 ms:n välein
TOD#0:0:0.0 ...TOD #23:59:59.999
TOD#1:10:3.3TIME_OF_DAY#1:10:3.3
CHAR(merkki)
8 ASCII-merkit ’A’,’B’ jne. ’E’
Kokonaisluvulla on etumerkki, joka ilmoittaa onko kyseessä positiivinen vainegatiivinen luku. Paikka, jonka kokonaisluku (16 bittiä) varaa muistista, onyhden sanan kokoinen. Taulukko 3-3 esittää kokonaisluvun (16 bittiä) aluetta.Kuva 3-1 esittää kokonaislukua +44 duaalilukuna.
Kokonaisluvut(16 bittiä)
Lukujen esitys
3-4 C79000-G7000-C402-01
Taulukko 3-3 Kokonaislukualue (16 bittiä)
Muoto Alue
Kokonaisluku (16 bittiä) -32 768 ... +32 767
1 1 0 0037 48111215Bitti
Etumerkki Desimaaliarvot: 32 + 8 + 4 = 44
0 0 1 00 0 0 00 0 0 0
Kuva 3-1 Kokonaisluku (16 bittiä) duaalilukuna: +44
Kokonaisluvulla on etumerkki, joka ilmoittaa onko kyseessä positiivinen vainegatiivinen luku. Paikka, jonka kokonaisluku (32 bittiä) varaa muistista, onkahden sanan kokoinen. Taulukko 3-4 esittää kokonaisluvun (32 bittiä)aluetta. Kuva 3-2 esittää kokonaislukua -500 000 duaalilukuna.Duaalijärjestelmässä kokonaisluvun negatiivinen muoto esitetään positiivisenkokonaisluvun kahden komplementtina. Kokonaisluvun kahdenkomplementti saadaan kääntämällä kaikkien bittien signaalitilat ja lisäämälläsitten tulokseen +1.
Taulukko 3-4 Kokonaislukualue (32 bittiä)
Muoto Alue
Kokonaisluku (32 bittiä) -2 147 483 648 ... +2 147 483 647
0 0 0 0037 481112
Bitti
Etumerkki
1516192023242728311 1 1 01 1 1 00 1 0 11 0 0 01 1 1 11 1 1 11 1 1 1
Kuva 3-2 Kokonaisluku (32 bittiä) duaalilukuna: -500 000
Liukuluku on positiivinen tai negatiivinen luku, jossa on desimaaliarvo kutenesim. 0,339 tai -11,1. Liukuluku voidaan myös esittää eksponentti 10:nkokonaislukupotenssilla, jolla liukuluku kerrotaan. Näin saadaan haluttuesitysarvo. Esim. luku 1234 000 voidaan esittää luvulla 1.234E6 tai 1.234e6(ts. 1.234 * 106). Liukulukujen alueet ovat taulukossa 3-5.
Liukuluku vie muistista tilaa kaksoissanan verran (32 bittiä, katso kuva 3-3).Korkea--arvoisin bitti ilmoittaa luvun etumerkin (bitti 31, ”0” tarkoittaaplussaa, ”1” miinusta). Muut bitit esittävät eksponenttia tai mantissaa.
Kokonaisluvut(32 bittiä)
Liukuluvut
Lukujen esitys
3-5C79000-G7000-C402-01
Taulukko 3-5 Liukulukualueet
Muoto Alue1)
Liukuluvut-3.402 823E+38 ... -1.175 495E-38
ja 0 ja+1.175 495E-38 ... +3.402 823E+38
1) Mikäli liukulukuoperaation tulos on alueilla -1.175 495E-38 ...-1401 298E-45 tai +1401 298E-45 ... +1.175 495E-45, on tapahtunut alitus(katso taulukko 12-6). Tällöin on kyseessä denormalisoitujen lukujen alue.
FBD/FUP:n liukuluvut vastaavat yksinkertaisen leveyden perusmuotoa, kutennormissa ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating-Point Arithmetic on selitetty. Tässä muodossa voidaan esittää vain ne arvot,jotka on määritelty kolmella seuraavalla kokonaislukuparametrillä:
S p = merkittävien bittien määrä (tarkkuus)
S Emaks = maks. eksponentti
S Emin = min. eksponentti
Taulukossa 3-6 on muotoparametrit.
Taulukko 3-6 Liukulukujen muotoparametrit
Parametrin kuvaus Parametrin arvo
p 24
Emaks +127
Emin --126
Eksponentti Bias +127
Eksponentin leveys bitteinä 8
Muodon leveys bitteinä 32
Muoto sisältää seuraavat peruselementit:
S Luvut muodossa (--1)s 2E (b0 . b1 b2...bp--1), jolloin pätee:
-- s = 0 tai 1
-- E = käsittäen minkä tahansa Emin ja Emaks välisen kokonaisluvun (16bittiä)
-- bi = 0 tai 1
S kaksi ääretöntä lukua, +∞ ja --∞
S vähintään yksi signalisoiva NaN (NaN on ”not a floating-point number =”ei liukuluku”)
S vähintään yksi ei signalisoiva NaN
Liukulukujenmuoto
Lukujen esitys
3-6 C79000-G7000-C402-01
Leveydeltään yksinkertaiset perusmuodossa olevat liukuluvut muodostuvatseuraavista kentistä (katso kuva 3-3):
S yhden bitin pituisesta etumerkistä V
S eksponentista, jossa Bias: e = E + Bias
S Mantissasta: f = . b1 b2...bp--1
Eksponentin E alue ilman Biasia muodostuu mistä tahansa kokonaisluvusta (16bittiä) välillä Emin. ja Emaks. (ts. --127 ... + 127) sekä kummastakin muustavaratusta arvosta Emin. --10:n ja denormalisoitujen lukujen alueesta koodaustavarten ja Emaks. +1∞ :n ja NaNs:n koodausta varten.
Kuvassa 3-3 on liukuluvun (32 bittiä) kolme kenttää (V, e ja f). Kuvassaliukuluvulla (32 bittiä) on arvo v, joka voidaan johtaa seuraavalla tavallakentistä, joista se muodostuu:
S Jos e = 255 ja jos f≠0, silloin v on yhtäsuuri kuin NaN, etumerkistä Vhuolimatta.
S Jos e = 255 ja jos f = 0, silloin v = (--1)s∞.
S Jos 0 < e < 255, silloin v = (--1)s 2e--127 (1 . f).
(Tällöin on kyseessä denormalisoitu luku.)
S Jos e = 0 ja f≠0, silloin v = (--1)s 2e--126 (0 . f).
(Tällöin on kyseessä denormalisoitu luku.)
S Jos e = 0 ja f = 0, silloin v = (--1)s 0 (nolla).
037 481112Bitti
Mantissa--etumerkkiV (1 bitti)
151619202324272831
Eksponentti: e(8 bittiä)
Mantissa: f(23 bittiä)
V e f
Kuva 3-3 Liukulukujen muoto
Liukuluvunkomponenttikentät
Lukujen esitys
3-7C79000-G7000-C402-01
Kuvassa 3-4 on seuraavien desimaaliarvojen liukulukumuoto:
S 10,0
S π (3,141593)
S neliöjuuri 2:sta (p2 = 1,414214)
Liukuluvun heksadesimaaliarvo annetaan bittinumeroiden yläpuolella.
0
037 481112Bitit
Mantissa--etumerkki:V (2 bittiä)
151619202324272831
Eksponentti: e(8 bittiä)
e = 27 + 21 = 1301.f £ 2e--bias = 1,25 £ 23 = 10,0[1,25 £ 2(130--127) = 1,25 £ 23 = 10,0]
Mantissa: f(23 bittiä)
f = 2--2 = 0,25
0 1 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Heksadesi-maaliarvo 4 1 2 0 0 0 0 0
1
037 481112Bitit
Mantissa--etumerkki:V (1 bittiä)
151619202324272831
Eksponentti: e(8 bittiä)
Mantissa: f(23 bittiä)
0 1 0 0 0 0 00 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0
4 0 4 9 0 F D C
0
037 481112Bitit 151619202324272831
Eksponentti: e(8 bittiä)
Mantissa: f(23 bittiä)
0 0 1 1 1 1 11 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1
3 F B 5 0 4 F 7
Desimaaliarvo 10,0
Desimaaliarvo 3,141593
Desimaaliarvo 1,414214
Mantissa--etumerkki:V (1 bittiä)
Heksadesi-maaliarvo
Heksadesi-maaliarvo
Kuva 3-4 Esimerkki liukulukujen muodosta
Esimerkkejäliukuluku--muodosta
Lukujen esitys
3-8 C79000-G7000-C402-01
Binäärikoodatussa esityksessä (BCD) on desimaaliluku binäärilukuryhmillä(biteillä) esitettynä. 4:n bitin ryhmä esittää desimaaliluvun numeroa taietumerkkiä. 4:n bitin ryhmät muodostavat sanan (16 bittiä) tai kaksoissanan(32 bittiä). Neljä korkea-arvoisinta bittiä ilmoittavat luvun etumerkin(”1111” tarkoittaa miinus ”0000” plus). BCD-koodatuilla operandeillavarustetut käskyt tulkitsevat vain korkea-arvoisimman bitin (15 sana-, 31kaksoissanamuodossa). Taulukossa 3-7 on kummankin lajisten BCD-lukujenmuoto ja alue. Kuvissa 3-5 ja 3-6 on esimerkkejä sana- tai kaksoissana-muodossa olevasta binäärikoodatusta desimaaliluvusta.
Taulukko 3-7 Binäärikoodatut desimaaliluvut, joissa 16 ja 32 bittiä
Muoto Alue
Sana (16 bittiä, 3-numeroinen BCD-lukuetumerkillä)
-999 ... +999
Kaksoissana (32 bittiä, 7-numeroinenBCD-luku etumerkillä)
-9 999 999 ... +9 999 999
+310(Desimaalimuoto)
0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0037 48111215Bitti
Etumerkki Sadat(102)
Kymmenet(101)
Ykköset(100)
Kuva 3-5 Binäärikoodatut desimaaliluvut sanamuodossa
-9 999 999 (Desimaalimuoto)
1 0 0 1 1 0 0 1 1 0 0 1037 481112
Bitti
Etumerkki Sadat(102)
Kymme--net(101)
Ykköset(100)
Tuhannet(103)
Kymmenet--tuhannet(104)
Sadat--tuhannet(105)
Miljoonat(106)
1 1 1 11516192023242728311 0 0 11 0 0 11 0 0 11 0 0 1
Kuva 3-6 Binäärikoodatut desimaaliluvut kaksoissanamuodossa
Binäärikoodattuesitys
Lukujen esitys
3-9C79000-G7000-C402-01
Jos aika annetaan tiedostotyypillä S5TIME, tallentuvat annot BCD-muodossa(katso kuva 3-7 ja taulukko 3-8).
Mikäli toimitaan S5TIME:lla, annetaan alueella 0 ... 999 oleva aika-arvo janimetään aikakerroin (katso taulukko 3-8). Aikakerroin ilmoittaa intervallin,jossa aika pienentää aika-arvoa yhdellä yksiköllä, kunnes se saavuttaa ”0”:n.
Merkityksetön: Näitä bittejä ei huomioida aikaa käynnistettäessä.
Aika-arvo BCD-muodossa (0 ... 999)
15... ...8 7... ...0
1 2 7
x x 1 0 0 0 0 1 0 0 1 0 0 1 1 1
Aikakerroin
1 s
Kuva 3-7 Aikaoperadin sisältö: Aika--arvo127, aikakerroin 1s
Taulukko 3-8 S5TIME:n aikakerroin
Aikakerroin Aikakertoimen binäärikoodi
10 ms 00
100 ms 01
1 s 10
10 s 11
Esimääritelty aika-arvo voidaan ladata seuraavalla syntaksilla.
S W#16#wxyz
-- w = aikakerroin (ts. aikaintervalli tai tarkkuus)
-- xyz = aika-arvo BCD-muodossa
S S5T#aH_bbM_ccS_dddMS
-- a = tunnit, bb = minuutit, cc = sekunnit ja ddd = millisekunnit.
-- Aikakerroin valitaan automaattisesti ja arvo pyöristetään kyseiselläaikakertoimella seuraavaan alempaan lukuun.
Voidaan antaa enintään 9 990 sekunnin tai 2H_46M_30S:n aika-arvo.
Kun päiväys ja kellonaika annetaan tiedostotyypillä DATE_AND_TIME,tallentuvat annot BCD-muodossa (katso taulukko 3-9). TiedostotyyppiDATE_AND_TIME käsittää seuraavan alueen:
DT#1990-1-1-0:0:0.0 ... DT#2089-12-31-23:59:59.999
Ajan muoto
Päiväyksen jakellonajan muoto
Lukujen esitys
3-10 C79000-G7000-C402-01
Seuraavissa esimerkeissä on syntaksi, jonka avulla annetaan päiväys jakellonaika torstaille, 25. joulukuuta 1993, kello 8:01 ja 1,23 sekuntia:
S DATE_AND_TIME#1993-12-25-8:01:1.23
S DT#1993-12-25-8:01:1.23
Seuraavat IEC-standarditoiminnat (International ElectrotechnicalCommission) ovat käytettävissä tiedostotyyppiä DATE_AND_TIMEkäytettäessä. Tarkempaa tietoa tästä on ohjelmointikäsikirjassa /234/).
S Päiväyksen ja kellonajan muunto muotoon DATE_AND_TIME (DT)
FC3: D_TOD_DT
S Päiväyksen purku muodosta DATE_AND_TIME
FC6: DT_DATE
S Viikonpäivän purku muodosta DATE_AND_TIME
FC7: DT_DAY
S Kellonajan purku muodosta DATE_AND_TIME
FC8: DT_TOD
Taulukossa 3-9 on lueteltu tavujen sisältö, jotka sisältävät päivämäärä- jakellonaikatiedot. Esimerkissä on torstain, 25. joulukuuta 1993, kellonajan8:01 ja 1,23 sekuntia päiväys ja kellonaika.
Taulukko 3-9 Päiväyksen ja kellonajan tavujen sisältö
Tavu Sisältö Esimerkki
0 Vuosi B#16#93
1 Kuukausi B#16#12
2 Päivä B#16#25
3 Tunti B#16#08
4 Minuutti B#16#01
5 Sekunti B#16#01
6 MSEC:n kummatkin korkea--arvoiset luvut B#16#23
7(4MSB)
MSEC:n alempiarvoiset luvut B#16#0
7(4LSB)
Viikonpäivä1 = sunnuntai2 = maanantai...7 = lauantai
B#16#5
Lukujen esitys