SYSWIN-OHJELMOINTI PERUSKOULUTUS



Samankaltaiset tiedostot
KAAVAT. Sisällysluettelo

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

CEM DT-3353 Pihtimittari

Kappale 20: Kantaluvut

Käyttö-ja huolto-ohje Ajastin aikaa FIN

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet

Työ 1: Logiikka ja robotti

Ohjeita Siemens Step7, Omron CX Programmer käyttöön

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Excel-harjoitus 1. Tietojen syöttö työkirjaan. Taulukon muotoilu

1 Funktiot, suurin (max), pienin (min) ja keskiarvo

Uuden työtilan luonti

TUTA Q2 Tallentava valvontakamera Asennusohje

Sähköposti ja uutisryhmät

KESKUSTANUORTEN NETTISIVUT- OHJEITA PIIRIYLLÄPITÄJÄLLE 1. KIRJAUTUMINEN

Excel Perusteet Päivi Vartiainen 1

Uutiskirjesovelluksen käyttöohje

Taulukkolaskentaa selkokielellä EXCEL

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

KIITOS RICA OPTIMOINTIOHJELMAN VALITSEMISESTA

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/

Office Video, pikaopas

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU

ASENNUS- JA KÄYTTÖOHJE

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

ClassPad fx-cp400 OS2-päivitys. + Manager-ohjelmisto ja Physium-sovellus

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Tekstinkäsittely ja opinnäytetyö I sisällysluettelo ja sivunumerointi. Word 2007

HRTM58. Windows 10 Resurssienhallinta

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

Ksenos Prime Käyttäjän opas

Ohjelmoijan binaarialgebra ja heksaluvut

Lumon tuotekirjaston asennusohje. Asennus- ja rekisteröintiohje

Office ohjelmiston asennusohje

SATAKUNNAN AMMATTIKORKEAKOULU. Hakala Toni Varpelaide Heidi TEKSTINKÄSITTELYN OHJEET CASE: OPINNÄYTETYÖN RAPORTOINTI WORDILLA

GSM OHJAIN FF KÄYTTÖOHJE PLC MAX S03

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

Ohjelmoinnin perusteet Y Python

VSP webmail palvelun ka yttö öhje

DumpDbox-ohjelmiston asennus- ja käyttöohjeet Sisällys

Käyttöohje EMT757 / 3567 Ohjelmoitava digitaalinen kellokytkin

LibreOffice Writer perusteita

Ajokorttimoduuli Moduuli 2. - Laitteenkäyttö ja tiedonhallinta. Harjoitus 1

KODU. Lumijoen peruskoulu

Esimerkki b) Esimerkki c) loma-ja satunnaisohjelma esivalinta käsikytkimellä rele pois päältä rele päällä. viikonpäivät. kellonaika tai kytkentäaika

Näppäimistö CT Käyttäjäopas. Global Safety & Security Solutions Oy info@globalsafety.fi. CT1000v.5

TiiMi Talotekniikka. LATTIALÄMMITYS- TERMOSTAATTI TiiMi 7250TL. v. 1.0

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2

Taulukkolaskennan perusteet Taulukkolaskentaohjelmat

ClassPad fx-cp400 päivitys. + Manager for ClassPad II Subscription päivitys

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

NOOX xperio herätyskello valvontakamera

Ohjeistus yhdistysten internetpäivittäjille

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

KÄYTTÖOHJE SATEL I-LINK PC POINT-TO-MULTIPOINT OHJELMISTO

Valitse aineisto otsikoineen maalaamalla se hiirella ja kopioimalla (Esim. ctrl-c). Vaihtoehtoisesti, Lataa CSV-tiedosto

JAKELUPISTE KÄYTTÖOHJE 2/6

ASENNUS JA KÄYTTÖOHJE

6. Analogisen signaalin liittäminen mikroprosessoriin Näytteenotto analogisesta signaalista DA-muuntimet 4

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Etälukija PR Käyttäjäopas. Global Safety & Security Solutions Oy info@globalsafety.fi. PR1000v.2

FOTONETTI BOOK CREATOR

Pikaohjeita OneNote OPS:in käyttäjille

LoCCaM. LoCCaM Cam laitteiston ohjaaminen. Dimag Ky dimag.fi

Juha Haataja

PIKAKÄYTTÖOHJE V S&A Matintupa

Google-dokumentit. Opetusteknologiakeskus Mediamylly

Työvälineohjelmistot KSAO Liiketalous 1

Muistitikun liittäminen tietokoneeseen

Tekstinkäsittelyn jatko KSAO Liiketalous 1. Osanvaihto näkyy näytöllä vaakasuorana kaksoispisteviivarivinä ja keskellä riviä lukee osanvaihdon tyyppi

Käyttöliittymän muokkaus

FTP -AINEISTOSIIRRON OHJE PC / MAC Ympäristö

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

TIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ

Päivitysohje Opus Dental

Office 365 OneDrive Opiskelijan ohje 2017

OpenOffice.org Impress 3.1.0

Ohjelmistopäivitysohje

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

Word 2010 Pikaopas Hannu Matikainen Päivitetty:

TAULUKON TEKEMINEN. Sisällysluettelo

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

SAC RDS Futurline MAX Tupla-robotin ohjeet näytteenottoon ja päivämaidon lähetykseen

MEM-O-MATIC järjestelmä

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Kuva 1. Jokaisen tavallisen kuvan tasotyökalussa näkyy vain yksi taso, tässä nimellä tausta.

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

Opas Logitech Harmony 525 asennusohjelmistoon

Tekstinkäsittelyn jatko KSAO Liiketalous 1

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

Tulosta yrityksesi tuloslaskelma ja tase myöhempää tarkastusta varten. Ota varmuuskopio tilanteesta ennen tilimuunnosta.

Kuvien siirto-ohjelman käyttöohje Huom! Tämä ohjelmisto on käytössä vain yrityksillä, joilla ei ole käytössä Java Runtime 1.4 -sovellusta.

Transkriptio:

NRO: 022-FIN-9 SYSWIN-OHJELMOINTI PERUSKOULUTUS

ESIPUHE Tämä opiskeluvihko on tarkoitettu käytettäväksi SYSWIN-logiikkaohjelmoinnin peruskoulutuksissa. Vihkon laajuus vastaa suunnilleen kolmen päivän peruskurssin sisältöä. Ohjelmoinnin jatkokurssille on oma vihkosensa. Opiskelussa käytetään lisäksi apuna SYSWIN 3.2 KÄYTTÄJÄN OPASTA, johon tässäkin materiaalissa usein viitataan, sekä CQM1 -logiikan esitettä. Koulutuslaitteistona ovat C-sarjan CQM1-logiikat ja SYSWIN 3.2 -ohjelmointiohjelmistolla varustetut tietokoneet. Ohjelmoinnin jatkokursseilla käytetään koulutuslogiikoina myös C200H_ - logiikoita. Vihkossa käsitellään ensin CQM1-logiikoiden rakennetta ja toimintaa. Tämän jälkeen perehdytään näiden ohjelmointiin SYSWIN-ohjelmistolla peruskäskyjä käyttäen ja harjoituksia tehden. Perehdymme myös ohjelman monitorointiin, parametrien muuttamiseen sekä dokumentointiin. Materiaalia voi myös käyttää itsenäiseen opiskeluun ohjelmoitavien logiikkalaitteiden parissa. Antoisia ja opettavaisia hetkiä OMRONin tuotteiden parissa! 2

SISÄLLYSLUETTELO ESIPUHE...2 SISÄLLYSLUETTELO...3 1 YLEISTÄ OHJELMOITAVISTA LOGIIKOISTA...5 1.1 Rakenne...5 1.2 Toiminta...6 1.3 Ohjelmointi...7 1.4 Toimintaympäristö...7 2 SYSMAC CQM1 -OHJELMOITAVA LOGIIKKA...8 2.1 CQM1-keskusyksiköiden ominaisuuksia...8 2.2 Muistialueet...8 2.2.1 Muistialueiden yksiköt...9 2.3 CQM1-muistialueet...10 2.3.1 IR-alue...11 2.3.2 SR-alue...12 2.3.3 TR-alue...13 2.3.4 HR-alue...13 2.3.5 AR-alue...14 2.3.6 LR-alue...18 2.3.7 TC-alue...18 2.3.8 DM-alue...18 2.3.9 R- ja S-rekisterit...23 2.4 CQM1:n toimintakaavio...24 2.4.1 I/O-päivitykset...25 2.4.2 I/O-vasteaika...25 2.5 Logiikan tilat...26 2.6 Digitaaliset tulot ja lähdöt...26 3 SYSWIN-OHJELMOINTI...27 3.1 Ohjelmarakenne...27 3.2 Projektin aloitus...28 3.3 Virtapiiri...28 3.4 I/O-pisteluettelo...29 3.5 Työpöytä...30 4. PERUSKÄSKYT...30 4.1 AND- ja OR-piirien luominen Syswin:llä...30 4.2 Lopetuskäsky END(01)...31 4.3 Ohjelman lataus logiikkaan...32 4.4 Monitorointi ja pakko-ohjaukset...33 4.5 Virtapiirien ja objektien muokkaaminen...35 5. BITIN KÄSITTELYKÄSKYT...37 5.1 Pitopiiri KEEP(11), SET JA RSET...37 5.2 Reunantunnistus DIFU(13) JA DIFD(14)...38 5.3 Siirtorekisteri...38 5.3.1 KEEP-ketju ja siirtorekisterin runko SFT(10)-käskyllä...39 5.3.2 Kellotuksen apu...40 5.3.3 Etenemisehto...40 3

5.3.4 Etenemisen ohjaukset...40 5.3.5 Lähtöjen ohjaukset...40 6. AJASTIMET...40 6.1 TIM...41 6.2 Pika-ajastin TIMH(15)...41 6.3 Muita ajastimia...42 7 LASKURIT...42 7.1 Laskuri CNT...42 7.2 Ylös/alaslaskuri CNTR(12)...42 7.3 Tehtävä...43 7.4 Pikalaskurit...43 8. DATAN KÄSITTELYKÄSKYT...43 8.1 Datan osoittaminen...43 8.2 Sanan kopiointikäsky MOV(21), @MOV(21)...43 8.3 Sanan kopiointikäsky MVN(22), @MVN(22)...45 8.4 Digitin kopiointikäsky MOVD(83), @MOVD(83)...45 8.5 Blokin kirjoitus BSET(71), @ BSET(71)...47 8.7 Sanavertailu CMP(20)...47 8.8 Blokin kopiointi XFER(70), @XFER(70)...48 9. DATAN MUUNNOSKÄSKYT...49 9.1 BCD-Binäärimuunnos BIN(23), @BIN(23)...49 9.2 Binääri-BCD-muunnos BCD(24), @ BCD(24)...49 10 BCD-LASKENTAKÄSKYT...50 10.1 Muistibitin asetus STC(40), @STC(40)...50 10.2 Muistibitin nollaus CLC(41), @CLC(41)...50 10.3 Desimaalinen yhteenlasku ADD(30), @ADD(30)...50 10.4 Desimaalinen vähennyslasku SUB(31), @SUB(31)...51 10.5 Desimaalinen kertolasku MUL(32), @ MUL(32)...52 10.6 Desimaalinen jakolasku DIV(33), @DIV(33)...52 10.7 Desimaalinen lisäyskäsky INC(38), @INC(38)...52 10.8 Desimaalinen vähennyskäsky DEC(39), @DEC(39)...53 11 LOOGISET KÄSKYT...53 11.1 Komplementti COM(29), @COM(29)...53 11.2 Looginen JA ANDW(34), @ANDW(34)...54 11.3 Looginen TAI ORW(35), @ORW(35)...54 11.4 Ehdoton TAI XORW(36), @XORW(36)...55 12 PROJEKTIN TARKISTUKSET, PARAMETROINTI JA YLLÄPITO...55 12.1 Ohjelman tarkistukset...55 12.2 Laajennettu käskykanta...56 12.3 Logiikan parametrointi...57 12.4 Ohjelman ylöslataus ja tarkistus...59 12.5 Ristiviittauslista...60 12.6 Osoitteiden korvaaminen...60 12.7 Logiikan tilan tarkistus ja virhehistoria...61 HARJOITUKSIA...62 4

1 YLEISTÄ OHJELMOITAVISTA LOGIIKOISTA Ohjelmoitavat logiikat (PLC tai PC) ovat yhdellä tai useammalla mikroprosessorilla varustettuja elektronisia laitteita, jotka ohjaavat prosessin laitteita logiikoiden tulojen ja lähtöjen tai väylien kautta niiden muistissa olevien ohjelmien ja parametrien perusteella. Erilaisten tulo-, lähtö- ja väyläyksiköiden kautta logiikat voidaan liittää erityyppisiin ja -suuruisiin prosessisignaaleihin. Signaalit ovat pääsääntöisesti binäärisiä kaksitilaohjauksia, mutta myös analogisia standardiviestejä käytetään jonkin verran. Viime vuosina erilaiset kenttäväyläratkaisut ovat lisänneet sarjaliikenteen käyttöä eri laitteiden viestinnän sekä hajautetun I/O:n parissa. 1.1 Rakenne Logiikan sisäisiä toimintoja ohjaavat mikroprosessori sekä käyttöjärjestelmä. Ne huolehtivat myös viestiliikenteestä logiikan ja oheis- sekä ohjelmointilaitteiden välillä. Suurissa logiikoissa käytetään useampia prosessoreita, joiden kesken tehtävät on jaettu. Näin saadaan laajojenkin ohjausten toiminta nopeaksi. Käyttöjärjestelmä on logiikassa valmiina tallennettuna ROM-muistiin. Sovellusohjelma määrää logiikan tehtävät prosessissa ja se talletetaan ohjelmamuistiin, joka yleensä on paristovarmennettua RAM-muistia. Sovellusohjelman pituutta rajoittaa mm. käytössä olevan ohjelmamuistin koko. Lisäksi logiikoissa on erilaisia muistialueita mm. tuloja ja lähtöjä, ohjelmassa käytettäviä apumuisteja, mittaustietojen tallennusta tai vaikkapa tiedonsiirtoa eri laitteita varten. Binääristen tuloyksiköiden tehtävänä on sovittaa ulkoinen signaali logiikan sisäiseen signaalitasoon, joka usein on 5VDC. Lähtöyksiköt ohjaavat lähtöä vastaavan sisäisen muistipaikan tilan (0 tai 1) perusteella lähdössä olevaa kosketinta tai puolijohdekytkintä. Yleensä tulo- ja lähtöyksiköt sisältävät optoerottimen turvallisuuden parantamiseksi ja häiriövaikutusten pienentämiseksi. Analogiset yksiköt sisältävät datamuuntimet analogisen signaalin muuntamiseksi digitaaliseksi tai päinvastoin. Tyypillinen datamuuntimen bittimäärä on 12, jolloin tietty standardiviesti, esim. 0...10 V, voidaan jakaa logiikassa n. 4000 tasoon. 5

Teholähde Tulot Muistit Lähdöt CPU ja käyttöjärjestelmä Kuva 1.1 Ohjelmoitavan logiikan lohkokaavio 1.2 Toiminta Nykyiset ohjelmoitavat logiikat toimivat syklisellä ohjelmankäsittelyperiaatteella, jossa ohjelmankierto eli sykli koostuu tietyistä rutiineista. Tyypillisesti yhden syklin aikana tehdään seuraavat kuvassa 1.2 esitetyt rutiinit. Eli tutkitaan CPU:n ja oheislaitteiden tilaa, suoritetaan sovellusohjelma rivi riviltä sekä päivitetään tulot ja lähdöt. Syklistä voidaan poiketa mm. keskeytystapahtumilla. Myös tulojen luku ja lähtöjen kirjoitus kesken sovellusohjelman suorituksen on mahdollista. I/O-päivitys Itsediagnostiikka Sovellusohjelman suoritus Kuva 1.2 Ohjelmakierto koostuu CPU:n ja oheislaitteiden tilan tarkastuksesta, sovellusohjelman suorittamisesta sekä tulo- ja lähtötietojen päivityksistä. 6

1.3 Ohjelmointi Ohjelmointi tehdään normaalisti tietokoneeseen asennettavalla ohjelmointiohjelmistolla, jotka nykyisin ovat yleensä Windowspohjaisia. Ohjelmointiin on luotu standardi, IEC 1131-3, mutta aniharvat ohjelmistot sitä täydellisesti noudattavat. Tyypillisiä ohjelmointimuotoja ovat tikapuukaavio, logiikkakaavio tai käskylista. Sekvenssiohjelmointiin on saatavilla juuri siihen tarkoitukseen tarkoitettuja ohjelmistoja. Ohjelma voidaan kirjoittaa ilman logiikkaa. Ohjelma luodaan ja talletetaan. Testausta varten tarvitaan ohjelmoitava logiikka, joka kytketään ohjelmointiohjelmiston sisältävään tietokoneeseen esimerkiksi sarjaportin kautta. Muodostetaan yhteys logiikan ja tietokoneen välille, ja ladataan sovellusohjelma logiikkaan ja suoritetaan testaus. Ohjelmointiohjelmistoissa on erityyppisiä monitorointimahdollisuuksia logiikan muistien tilojen seuraamiseksi tai ohjaamiseksi. Sovellusohjelmia voidaan luoda tai seurata myös valmistajakohtaisilla pöytä- tai käsiohjelmointilaitteilla. 1.4 Toimintaympäristö Ohjelmoitava logiikka voi aivan yksinään toimia prosessin ohjauslaitteena ohjelmoinnin ja anturien sekä toimilaitteiden liittämisen jälkeen. Suuremmissa järjestelmissä liitetään useita logiikoita toisiinsa sarjaväylän tai -väylien kautta, jolloin ne voivat vaihtaa tietoja keskenään. Sarjaväylät ovat valmistajakohtaisia tai ns. avoimia tehdas- tai kenttäväyliä, joihin voidaan liittää usean valmistajan laitteita. Jos prosessin tai laitteiden tiloja halutaan seurata tai ohjata keskitetysti, niin tällöin väylään (tai suoraan logiikkaan) liitetään käyttöpääte (-päätteitä) tai valvomo-ohjelmistolla varustettu tietokone (-tietokoneita). Käyttöpäätteissä on joko kosketusnäyttö tai painikkeet ohjausten suorittamiseksi. 7

2 SYSMAC CQM1 -OHJELMOITAVA LOGIIKKA CQM1-logiikka on kooltaan pieni, mutta nopea ja laajan käskykannan omaava ohjelmoitava logiikka. CQM1 on rakenteeltaan modulaarinen ja sen tulojen ja lähtöjen määrä voi yhteensä olla maksimissaan 256 (CPU4_-EV1). Valittavissa on kaikkiaan seitsemän eri CPU-vaihtoehtoa. Kaikissa CPU-malleissa on vakiona 16 digitaalituloa. Lisäksi voit valita 8, 16 tai 32-pisteisiä tuloyksiköitä tasa- tai vaihtojännitteelle. Lähtöyksiköitä on saatavissa samoin pistemäärin transistori-, triac- tai kosketinlähdöillä. Myös erilaisia erikoisyksiköitä on saatavissa, mm. CompoBus/S- masteryksikkö, Compobus/D- slaveyksikkö sekä analogiliitäntäyksiköitä. Logiikka tarvitsee toimiakseen myös oman teholähteensä. 2.1 CQM1-keskusyksiköiden ominaisuuksia Seuraavassa taulukossa on vertailtu eri keskusyksiköiden keskeisiä ominaisuuksia. CPU11-E CPU21-E CPU41-EV1 CPU42-EV1 CPU43-EV1 CPU44-EV1 CPU45-EV1 I/O-bitit 128 max. (7 yksikköä) 256 max. (11 yksikköä) Ohjaustapa Ohjelmamuistiin talletettu ohjelma I/O-päivitys Syklinen, suora IORF-käskyllä valittu päivitys, keskeytystulot Ohjelmointi Rele- tai logiikkakaavio Syswin:llä tai käskylista käsiohjelmointilaitteella Käskyn pituus 1 rivi /käsky, 1 käsky varaa sovellusohjelmasta 1...4 sanaa Käskyt 117 137, joista 14 perus- ja 123 erikoiskäskyä Suoritusaika Peruskäskyt, esim. LD 0,5µs, TIM 1,5µs. Erikoiskäskyt, esim. MOV 24µs Ohjelmamuisti 3200 sanaa (3,2 kw) 7200 sanaa (7,2 kw) Datamuisti 1 kw 6 kw Keskeytystulot CPU:n tulot 000.00...000.03 voivat toimia joko normaaleina tai keskeytystuloina Pikalaskurit 1 3 1 Pulssilähdöt 1 3 1 Varmennetut muistit HR, AR ja DM-muistialueet, laskurit sekä muistikortilla oleva reaaliaikakello säilyttävät sisältönsä sähkökatkon aikana paristovarmennuksen ansiosta. Pariston vaihtoväli on 5 vuotta (T = 25 o C) Sarjaliitynnät Periphera l-portti RS232C- sekä peripheral-portti. Ohjelmointi voidaan suorittaa myös peripheralportista CPM1-CIF0-muuntimen tai CQM1-CIF02-kaapelin avulla. Portit ovat ohjelmoitavissa Erikoisominaisuuksia Itsediagnostiikka 4 analogisäätöä CPU:ssa 2 kpl 50 khz pulssi-i/o:ta CPU:ssa ABS-anturi liitännät CPU:ssa CPU virheet, muistintarkistus, I/O-väylän tarkistus, paristojännite, Host Link -virhe Lisäinformaatiota sekä keskus- että lisäyksiköistä saa CQM1:n esitteestä. 4 AI ja 2 AO:ta valmiina CPU:ssa 2.2 Muistialueet OMRONin ohjelmoitavissa logiikoissa on erilaisia muistialueita eri tarkoituksiin. Kaikissa C-sarjan logiikoissa on samat muistialueet lukuunottamatta vain C200α-sarjasta löytyvää EM-aluetta, jonka avulla voidaan jatkaa DM- eli datamuistialuetta. Muistialueiden koko vaihtelee keskusyksiköiden mukaan. CV-sarjan laitteissa muistialueet on nimetty hieman toisin. 8

2.2.1 Muistialueiden yksiköt Kun lukuja käsitellään digitaalisissa laitteissa, on tieto esitetty binääri- tai heksadesimaalimuodossa. Myös desimaaliluvut voidaan esittää binäärisesti koodattuina BCD-muodossa. Pienin muistiyksikkö on bitti, bit (b). Se voi saada joko arvon 0 (epätosi) tai 1 (tosi). Kun näistä biteistä muodostetaan 8 bitin ryhmä, niin saadaan tavu, byte (B). Tavu voi saada 2 8 eli 256 eri arvoa. Kahdesta tavusta muodostuu 16-bittinen kokonaisuus, eli sana, word (W). Sana voi saada 2 16 eli 65 536 eri arvoa. Sanasta voidaan käyttää myös nimitystä kanava OMRONin logiikoiden yhteydessä. Sanat ja bitit muodostavat osoitteet OMRONin logiikoissa. Esimerkiksi CPU:ssa olevat 16 digitaalista tuloa muodostavat kokonaisuutena IR-alueen sanan 000. Toisaalta bittejä voidaan, kuten yleensä tehdäänkin, tarkastella yksittäin. Tällöin bitit saavat osoitteet 000.00, 000.01,...,000.15. Bittiosoite muodostuu siis muistialueen lisäksi piste-erottimen vasemmalla puolella olevasta sananumerosta ja oikealla puolella olevasta bittinumerosta. 000.15.14.13.12.11.10.09.08.07.06.05.04.03.02.01.00 MSB LSB Bittiä.15 kutsutaan eniten merkitseväksi bitiksi, MSB ja bittiä.00 vähiten merkitseväksi bitiksi, LSB. Bittejä voidaan ohjata tai monitoroida sanakokonaisuutena. Tällöin on hyvä tietää bittien painoarvot binääri- ja heksadesimaalilukujärjestelmissä. Binääriesitystavassa sanan bitit saavat desimaaliset painoarvot siten, että kantaluku 2 korotetaan aina bitin numeron osoittamaan potenssiin, eli LSB = 2 0 (1) ja MSB =2 15 (32 768). Heksadesimaalinen esitystapa on yleisempi ja selkeämpi tapa ilmaista bittimuotoista dataa. Heksamerkki koostuu aina neljästä bitistä ja voi saada 16 eri arvoa. Arvot ovat 0...9, A...F. Sanaan mahtuu neljä heksamerkkiä eli digittiä. Sanan maksimiarvo heksana on FFFF. Digitin bittien painoarvot vasemmalta oikealle ovat aina 2 3 (8), 2 2 (4), 2 1 (2) ja 2 0 (1). Tehtävä: Lähtösanan 100 bitit ovat seuraavat. Mikä on monitoroitaessa saatava heksaluku? 100.15 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0.00 9

Tehtävä: Monitoroitaessa tulosanaa 002 saadaan heksaluku F0CA. Miten sanan bitit ovat? F 0 C A 002.15.00 BCD-luku, eli binäärisesti koodattu desimaaliluku, esitetään myös neljällä bitillä. Koska desimaaliluvut ovat 0...9 ja neljällä bitillä voidaan kuitenkin ilmaista 16 eri arvoa, jää jäljelle kuusi kiellettyä bittiyhdistelmää, jotka vastaavat heksalukuja A...F. Eli BCD- ja heksajärjestelmien esitystavat ovat samat, tilojen määrät vain erilaiset. Sanan maksimiarvo BCD-muodossa on 9999. Logiikoissa tietyt käskyt, kuten TIM, CNT, INC, DEC, käyttävät BCD-lukuja. Jos halutaan monitoroida BCD-lukuja, on monitorointiin valittava heksamuoto, mikäli BCD-muoto ei ole mahdollinen. 2.3 CQM1-muistialueet OMRONin logiikoissa on eri tyyppisiä muistialueita eri käyttötarkoituksia varten. Seuraavaksi niistä lyhyt yhteenveto. Alue Laajuus Sanat Huomioitavaa IR-alue, paristovarmentamaton I/O ja apumuistialue Tulot CPU11, 21-E 128 b 000...007 I/O yhteensä 128 b Lähdöt CPU11, 21-E 100...107 Tulot CPU4_-EV1 256 b 000...015 I/O yhteensä 256 b Lähdöt CPU4_-EV1 100...115 Apumuistialue 2720 b 001...229 alueen sanat ja bitit, joita ei ole käytetty tuloina, lähtöinä tai makrokäskyn kanssa Makrokäskyn tulot 64 b 96...99 I/O yhteensä 64 b Makrokäskyn lähdöt 196...199 Pikalaskurin 0 oloarvo 2 W 230...231 Pikalaskurien 1 ja 2 oloa. 4 W 232...235 SR-alue, erikoisapumuistialue, järjestelmäohjaus- ja lippubittejä 192 b 244...255 Järjestelmäbittejä TR-alue, väliaikaisapumuistibitit 8 b Bitit TR0...TR7 Virtapiirin haarautumissa HR-alue, paristovarmennettu apumuistialue 1600 b HR00...HR99 Paristovarmennettu AR-alue, paristovarmennettu apumuistialue 448 b AR00...AR27 Järjestelmäbittejä LR-alue, linkkimuistialue 1024 b LR00...LR63 Tarkoitettu datan siirtoon kahden PLC:n välillä, myös apumuistina TC-alue, ajastimet ja paristovarmennetut laskurit 512 W TIM000/CNT000... TIM511/CNT511 Älä käytä ohjelmassa samannumeroisia ajastimia ja laskureita, koska näillä on sama muistialue 10

DM-alue, paristovarmennettu datamuistialue Luku/Kirj CPU11, 21-E 1024 W DM0000...DM1023 Vain sanamuotoisen datan käsittelyyn Vain luku CPU11, 21-E 512 W DM6144...DM6655 Lukualueelle ei voi kirjoittaa logiikkaohjelmasta käsin. Sisältää PCsetup-alueen DM6600... DM6655 Luku/Kirj CPU4_-EV1 6144 W DM0000...DM6143 Vain sanamuotoisen datan käsittelyyn Vain luku CPU4_-EV1 512 W DM6144...DM6655 Lukualueelle ei voi kirjoittaa logiikkaohjelmasta käsin. Sisältää PCsetup-alueen DM6600... DM6655 2.3.1 IR-alue Muistialue, joka on varattu tulojen lukua, lähtöjen kirjoitusta, makrokäskyjä, pikalaskurien oloarvoja, pulssilähtöjen (CPU43-EV1), analogiasetusarvoja (CPU42-EV1). Vapaita sanoja ja bittejä voi käyttää apumuistina. Alueelle voidaan tehdä sana (es. 016) ja bittiosoituksia (es. 100.15). Tulo- ja lähtösanojen määräytyminen tapahtuu korttien bittimäärän ja sijainnin perusteella. CQM1- CPU11-E/CPU21-E -logiikoissa voi olla maksimissaan kahdeksan I/O-sanaa. Tällöin saavutetaan I/O-bittien lukumääräksi 8*16 bit, eli 128 bit. Koska CPU:ssa on tulosana 000 valmiina, jää vielä mahdollisuus käyttää enintään seitsemää 16 bitin laajuista lisäyksikköä. CQM1-CPU4_-EV1 -logiikoissa I/O-sanojen maksimilukumäärä on 16. Laajennusyksiköitä voi olla kuitenkin enintään 11. Jos aiotaan hyödyntää koko I/O-kapasiteetti, tulee tällöin käyttää 32-bittisiä digitaalisia I/O-kortteja tai analogiliityntöjä. Yksi analogitulo tai -lähtö varaa yhden sanan. Tehtävä: Seuraavassa on tehtävä sanaosoitteiden määräytymisestä tietyllä CQM1-CPU4_-EV1- konfiguraatiolla. Etsi CQM1-esitteestä korttien bittimäärät korttityyppien perusteella ja anna sanaosoitteet alle. Mikä on konfiguraation I/O-pisteiden lukumäärä? CPU ID212 ID212 OD212 OD213 ID213 IA221 OC222 IPS02 AD041 DA021 000 11

2.3.2 SR-alue Erikoismuistialue, josta löytyy erilaisia lippu- ja ohjausbittejä. 12

2.3.3 TR-alue TR-alue käsittää kahdeksan väliaikaisbittiä TR0...TR7, jotka saattavat tulla esiin, kun tarkastelet ohjelmaa käskylistamuodossa. TR-bitti muodostuu virtapiirin kohtaan, jossa on haarautuma. Näiden bittien tiloja ei voi monitoroida. Muistialuetta osoitettaessa on käytettävä TR-tunnusta. 2.3.4 HR-alue HR-alue on paristovarmennettu apumuistialue, jota voidaan käyttää sekä bitti- että sanaosoituksiin. Pitopiirit ja siirtorekisterit luodaan yleensä tälle alueelle. Muistialuetta osoitettaessa on käytettävä HR-tunnusta. 13

2.3.5 AR-alue Alue sisältää erilaisia lippu- ja ohjausbittejä sekä sanoja. Muistialuetta osoitettaessa on käytettävä AR-tunnusta. 14

15

16

17

2.3.6 LR-alue Linkkialue, jonka kautta logiikat voivat vaihtaa tietoa keskenään niin bitti- kuin sanaosoituksilla. Toki aluetta voidaan käyttää myös apumuistialueena. Muistialuetta osoitettaessa on käytettävä LRtunnusta. 2.3.7 TC-alue Ajastimet ja laskurit käyttävät samaa TC-aluetta. Näitä voi CQM1-logiikoissa olla yhteensä 512 kappaletta. Yksi ajastin (TIM) tai laskuri (CNT) varaa aina numeronsa (esim. TIM000) osoittaman sanan muistialueelta. Siispä sovellusohjelmassa ei saa olla samannumeroista ajastinta ja laskuria! Eräs tapa estää päällekkäisyys on jakaa alue puoliksi ajastimille ja laskureille. Laskurit säilyttävät oloarvonsa sähkökatkon yli, mutta ajastimet palautuvat asetusarvoonsa sähköjen kytkeytyessä. Ajastimien ja laskureiden arvot esitetään sanan mittaisena, eli neljällä digitillä, BCD-koodattuna. Jos arvo ei ole BCD-koodattu, niin virhelippu 255.03 asettuu merkiksi tästä. Lisäksi ajastimilla ja laskureilla on lippubitti, jonka avulla suoritetaan ohjauksia. 2.3.8 DM-alue Datamuistialue on paristovarmennettu vain sanamuotoisen datan käsittelyyn tarkoitettu alue. Luku/kirjoitusaluetta voidaan käyttää sovellusohjelmassa esim. asetusarvojen, matemaattisten toimintojen, pinojen, yms. käsittelyyn sekä datan siirtoon väylissä toimivien logiikoiden välillä. Lukualueelle DM6144...DM6655 ei voida kirjoittaa sovellusohjelmasta! PC Setup alue DM6600...DM6655 määrittelee mm. logiikan kommunikointi-, käynnistys- ja keskeytystoimintoja. Parametrejä voidaan muuttaa Syswinillä PLC Setup -toiminnolla tai kirjoittamalla arvot Data display -ikkunan kautta logiikkaan. Logiikan on oltava kirjoituksen aikana Stop-tilassa. 18

19

20

21

22

2.3.9 R- ja S-rekisterit R-rekisteri eli akku on yhden bitin rekisteri, johon useiden käskyjen lopputulokset tallentuvat. Kaikki käskyt toimivat akun ehdoilla. S-rekisteri eli pinorekisteri on yhden bitin levyinen ja seitsemän pituinen rekisteri, johon akun tila tallentuu LD-käskyn suorituksen aikana. Pinoon mahtuu siis seitsemän LD-käskyn suorituksen aikaisen akun tilat ja ne voidaan vielä palauttaa OR LD- ja AND LD-käskyillä pinosta akkuun käsittelyyn. 23

2.4 CQM1:n toimintakaavio Syöttöjännite kytkeytyy DIP-kytkimen pinnin 2 asento 1 Muistikasetin sisällön siirto CPU:lle 0 Alustus Nollataan IR-, SR- ja ARmuistialueet, järjestelmäajastimien asetukset, I/O-yksiköiden tarkistukset Laitteiston ja ohjelmamuistin tarkistus Ei OK? Tarkastus Aseta virheliput ja aktivoi merkkivalot On Ajastimien ja kellon päivitys Virhe vai hälytys Virhe ind. loistaa Hälytys ind. vilkkuu Sovellusohjelman suoritus Sovellusohjelma päättyi? Ei Sovellusohjelman suoritus Tarkista ohjelman kiertoaika Onko minimiaika kulunut? Ei Odota, jotta minimiaika on kulunut On Kiertoajan tarkistus Sykliaika Laske todellinen kiertoaika Päivitä tulot ja lähdöt I/O-päivitys RS232C-portin palvelu Sarjaportin palvelu Peripheral portin palvelu Oheislaiteportin palvelu 24

Yhtä CPU:n toimintakierrosta kutsutaan sykliksi. Tähän kulunut aika on sykliaika. Tämä aika näkyy myös Syswinin tilarivillä. Sykliaika koostuu pääpiirteittäin seuraavista osista: tarkastusjakso, jolloin asetetaan ohjelmankiertoa valvova vahtikoira-ajastin, tarkistetaan I/Oväylän tila, virkistetään kello, jne. sovellusohjelman suoritus sykliajan laskenta ja tarkistus, jos minimisykliaika on aseteltu sanassa DM6619, niin tällöin CPU odottaa, että minimiaika on kulunut, ennenkuin siirrytään eteenpäin I/O-päivitys, luetaan tulojen tilat niitä vastaaviin muistipaikkoihin ja kirjoitetaan lähtöihin sovellusohjelman määräämät tilat RS232C-portin palvelu, jonka kesto on normaalisti 5% sykliajasta. Tätä prosenttiosuutta voidaan muuttaa sanasta DM6616 Peripheral-portin palvelu, jonka kesto on normaalisti 5% sykliajasta. Tätä prosenttiosuutta voidaan muuttaa sanasta DM6617 Mikäli jostain syystä sykliaika nousee yli 10 ms:n niin tällöin pika-ajastimien ja nopeiden järjestelmäpulssien tarkkuus voi kärsiä. Jos sykliaika nousee yli vahtikoiran asetusajan, 100 ms, syntyy järjestelmähälytys. Mikäli sykliaika ylittää FALS 9F monitorointiajan, joka asetetaan sanasta DM6618, syntyy järjestelmävirhe ja ohjelman suoritus keskeytyy. 2.4.1 I/O-päivitykset Tulojen tilojen tarkastukset ja lähtöjen tilojen kirjoitukset eli I/O-päivitykset tehdään normaalisti syklisesti ohjelmakierron lopussa. Tulojen luku voidaan suorittaa lisäksi myös keskeytysperiaatteella (interrupt input refresh) käyttämällä tiettyjä tuloja keskeytystuloina, aikapohjaisia keskeytyksiä tai pikalaskuritoimintoja. Lähtöjen suora päivitys voidaan määritellä PC Setup-alueen sanassa DM6639. Sovellusohjelmassa voidaan määritellä haluttujen tulo- ja lähtösanojen virkistykset IORF(97) -käskyllä. Näiden virkistysten lisäksi tapahtuvat myös sykliset I/O-päivitykset. 2.4.2 I/O-vasteaika On aika, joka kuluu siitä, kun tulobitin tila luetaan muistipaikkaan ja sen ohjaama lähtö vaikuttuu. Tähän aikaan vaikuttavat tulojen asettumisaikavakio, joka oletuksena on 8 ms (DM6620...DM6625), tarkastusaika, ohjelman suoritusaika, transistorilähdön asettumisviive 0,1 ms sekä porttien palveluajat. Myös tietysti se, mihin kohtaan I/O-päivitystä tulon vaikuttuminen osuu. Minimissään I/O-vasteaika on tulojen asettumisaikavakion ja lähdön asettumisviipeen summa, kun käytetään suoraa lähtöjen päivitystä. Käskyjen suoritusajat vaihtelevat peruskäskyjen 0,5 µs:sta erikoiskäskyjen satoihin µs:eihin. 25

2.5 Logiikan tilat OMRONin C-sarjan logiikoilla on kolme tilaa: RUN-tilassa suoritetaan sovellusohjelmaa sekä I/O-päivitykset MONITOR-tila on kuten RUN-tila, mutta nyt voidaan oheislaitteesta, kuten käsiohjelmointilaite tai Syswin, käsin suorittaa pakko-ohjauksia ja ajonaikaista ohjelmanmuokkausta eli Online Editointia STOP/PROGRAM-tila, jolloin ohjelmaa ja I/O-päivityksiä ei suoriteta. Ohjelmointitila. Syswin:n tilariviltä voi tarkastaa CPU:n tilan. RUN-merkkivalo loistaa RUN- ja MONITORtiloissa. Jos CPU menee kesken ohjelmansuorituksen virhetilaan, (ERR-merkkivalo loistaa) niin tällöin CPU:n tilaksi vaihtuu STOP-tila. Mikäli syklissä syntyy hälytys, ALM-merkkivalo vilkkuu, mutta CPU:n tila pysyy ennallaan. 2.6 Digitaaliset tulot ja lähdöt 24VDC- tuloihin voidaan kytkeä PNP- tai NPNtyyppisiä antureita. Tulobitin toisena liittimenä on COM-liitin, joka yleensä on yhteinen useammalle tulobitille. Näin yhden COM-liittimen piiriin voi kytkeä suoraan vain PNP- tai NPN-tyypin antureita. Voit käyttää PNP- ja NPN-tyyppisiä sekä relelähtöjä. Kuvassa on NPN-tyyppinen lähtöyksikkö OD212 ja PNP-tyyppinen OD214. Lähtöyksiköiden kuormitettavuus on aina syytä tarkastaa huolellisesti. Kuormitettavuus ilmoitetaan lähtöä kohden, joskus COM-liitäntää kohden ja joskus koko yksikköä kohden. Kuva 2.1 ja 2.2. CQM1-logiikan tulo- ja lähtörakenteita. 26

3 SYSWIN-OHJELMOINTI Syswin-ohjelmoinnissa sovellusohjelmaa luodaan yleensä tikapuukaavio- eli ladder editorilla. Ohjelmaa voidaan toki tehdä tai tarkastella myös logiikkakaavio- sekä käskylistamuodoissa. Syswin-projekti sisältää varsinaisen sovellusohjelman lisäksi myös I/O-pisteluettelon, blokki- ja virtapiirinimet sekä kommentit. Eri editorien tietoja voidaan tallentaa myös omiksi tiedostoiksi. Syswin on kopiosuojattu ohjelmisto. Jotta sitä voi käyttää hyötymielessä, on käyttöoikeus asennettava. Tähän on kaksi vaihtoehtoa. Voit valita ohjelmallisen avaimen (Token), joka siirretään avainlevykkeeltä kovalevylle Token Mover- tai CcMove -ohjelmalla. Vaihtoehtoisesti voidaan käyttää rinnakkaisporttiin asennettavaa suojauspalikkaa (Dongle), joka pitää aktivoida Dongle Installer -ohjelmalla. 3.1 Ohjelmarakenne OMRONin ohjelmoitavat logiikat sisältävät yhden ohjelmamuistialueen, johon sovellusohjelma tallennetaan. Ohjelmoitaessa voidaan kuitenkin projekti jakaa eri blokkeihin ohjelmarakenteen selkeyttämiseksi. Jokainen blokki koostuu virtapiireistä. Virtapiiri on ohjelman osa, jossa ei ole irrallisia objekteja. Virtapiiri alkaa lähes poikkeuksetta LD- tai LD NOT-käskyllä ja päättyy OUT-, OUT NOT- tai funktiokäskyyn. Syswinsovellus voidaan esittää seuraavasti blokkien ja virtapiirien avulla. PROJECT BLOCK MAIN1 BLOCK MAIN2 BLOCK MAIN3 NETWORK1 NETWORK1 NETWORK1 NETWORK2 NETWORK2 NETWORK2 NETWORK3 NETWORK3 NETWORK3 Kuva 3.1 Projektin rakenne. 27

Ohjelmaa suoritetaan blokkien Main numerojärjestyksessä. Ohjelman päättävä END-käsky sijoitetaan yleensä omaan blokkiinsa ja se on sovelluksen viimeinen blokki. Blokkien ja virtapiirien järjestystä voidaan muuttaa Block Manager -ikkunassa. Voit myös tuoda blokkeja tai virtapiirejä muista projekteista tämän toiminnon kautta. 3.2 Projektin aloitus Kun Syswin on aktivoitu, on ensimmäinen vaihe ohjelmoinnissa tehdä projektin asetukset. Asetuksien luonti on selostettu Syswin 3.2 käyttäjän oppaan sivulla 2. Editoriksi valitaan Ladder, mikäli halutaan tehdä sovellusta tikapuukaaviomuodossa. 3.3 Virtapiiri On kokonaisuus, jossa kaikki objektit, eli koskettimet, lähdöt ja funktiot, ovat toisissaan kiinni joko suoraan tai toisten objektien kautta. Syswin ei hyväksy virtapiiriä, joka on vajaa tai siinä on irrallisia objekteja. Kun virtapiiri on valmis, tarvitaan uusi virtapiiri. Se saadaan joko ylä- tai alapuolelle nykyistä virtapiiriä Insert Network -pikapainikkeella. Myös CTRL+PGUP tai CTRL+PGDN näppäinyhdistelmät toimivat. Virtapiirit erotetaan toisistaan ohjelmointieditorissa harmaalla ohuella viivalla. Virtapiiristä toiseen päästään hiirellä klikkaamalla tai PGUP ja PGDN näppäimillä. Myös Select Network -pikapainike on nopea tapa liikkua virtapiiristä toiseen. Virtapiirien ja blokkien järjestystä voit muuttaa Block Manager -pikapainikkeesta avautuvassa ikkunassa. Sieltä voit myös nimetä ja kommentoida virtapiirit. Virtapiirit sekä blokit tulisi aina nimetä ja kommentoida, jotta myöhemmin saadaan nopeasti käsitys siitä, mikä on virtapiirin tehtävä. Nimetylle virtapiirille tulee otsikkorivi, joka erottaa virtapiirit nyt selvemmin. Block/Network Manager -ikkunan kautta voidaan tuoda virtapiirejä tai blokkeja toisista Syswinprojekteista. Virtapiireistä voidaan blokin sisälle muodostaa ryhmiä, jos virtapiirille ei anneta nimeä. Kommentti voidaan antaa. Nyt virtapiirien erottimena on harmaa ohut viiva. Seuraava kuva antaa esimerkin blokkien ja virtapiirien nimeämisistä ja kommentoinneista. Kuvassa näkyy myös ryhmä. 28

Blokki Main1 on saanut nimen Nopeusvahti. Blokin toimintaa on myös kommentoitu. Network1 on nimeltään Pulssit ja piirin toimintaa ei ole nyt kommentoitu. Network2 eli Laskenta-aika on myös kommentoitu. Network3 ei saanut nimeä, joten nyt Network2 ja 3 muodostavat ryhmän. Näiden virtapiirien erottimena on vain harmaa ohut viiva. 3.4 I/O-pisteluettelo voidaan tehdä etukäteen ennen varsinaista ohjelmointia, ohjelmoinnin aikana tai jälkikäteen. Osoitteille, niin bitti- kuin sanamuotoiset, voidaan antaa symboli sekä kommentti. Symbolit ja kommentit voidaan antaa ohjelmaa luotaessa Syswin näytön alareunassa olevalta osoiteriviltä. Luettelon luominen kerralla kannattaa tehdä Address Symbol Editor -ikkunassa. Luettelo voidaan tuoda myös toisesta projektista tämän ikkunan Load-toiminnolla. Tarkemmin näistä löydät Syswin oppaan sivuilta 24 ja 25. Saat tietyille SR- ja AR-muistialueiden osoitteille valmiit symbolit uusiin projektiisi, jos Preferences/Options -ikkunassa on valittuna kohta Automatically Load Template for New Project. 29

Preferences/Drawing -ikkunasta valitaan se, kuinka me haluamme objektin esittää; osoitteella, symbolilla vaiko molemmilla. Voimme valita myös näkyvän kommentin lähdöille tai funktioille. Ikkunasta voidaan määrittää virtapiirin kommenttien näkyminen, funktioiden kuvaelma sekä reunan tunnistus -merkin näkyminen koskettimissa. Monitorointi voidaan valita automaattisesti alkavaksi Online-editin jälkeen. Pakkoohjatut bitit voidaan erottaa kolmiomerkkien avulla. On mahdollista valita täysi monitorointi, jolloin aktiivisten koskettimien ja lähtöjen lisäksi nähdä myös viivat aktiivisina. 3.5 Työpöytä Ohjelmointieditorin näkymää voidaan muokata. Muokkaukset tapahtuvat Preferences -valikosta. Syswin 3.2 oppaan sivuilla 16...19 on tarkempaa tietoa. Pikapainikkeista sekä työkalupainikkeista avautuvat opastekuplat, kun viet hiiren nuolen painikkeen päälle. 4. PERUSKÄSKYT 4.1 AND- ja OR-piirien luominen Syswin:llä Peruskäskyihin luetaan LD, LD NOT, AND, AND NOT, OR, OR NOT, OUT ja OUT NOT -käskyt. Näillä toteutetaan bittiohjauksia. Tutustutaan AND- ja OR-piirien ohjelmointiin. Virtapiirin luonti aloitetaan vasemmasta reunasta, valitaan työkalu ja klikataan ensimmäinen objekti ensimmäiseen sarakkeeseen ja annetaan osoite. Bittiosoitteille ei tarvitse antaa piste-eroitinta ohjelmointieditorissa, muissa editoreissa kylläkin. Kuittaus tapahtuu OK-painikkeella tai ENTERnäppäimellä. Työkaluvalinta pysyy voimassa, kunnes valitaan uusi työkalu tai kuitataan virtapiiri. Kuittaus tapahtuu Test Network-painikkeella, lisäämällä uusi virtapiiri tai siirtymällä toiseen virtapiiriin. 30

OR-piirissä tarvitaan useampia rivejä virtapiiriin. Lisärivejä alapuolelle saadaan nuoli alas - näppäimellä (jos Preferences /Editing -valikossa ei valittuna kohta Roll Over Network Separators) tai pystyviiva-työkalulla. Pystyviiva piirtyy valitusta rasterikosta vasemmalta alas. kautta. Annetaan objekteille osoitteiden lisäksi myös symbolit ja kommentit ohjelmointieditorin osoiteriviltä samalla, kun kirjoitamme ohjelmaa. Symbolit näkyvät kuvassa. Samoin blokkien ja virtapiirien nimet ja kommentit. Ne voidaan kirjoittaa joko Block Managerin tai Edit Network Symbol -ikkunan 4.2 Lopetuskäsky END(01) Jotta ohjelmaa voitaisiin testata, tarvitsemme vielä ohjelman päätteeksi END-käskyn. Jos ohjelmasta puuttuu END-käsky, ei ohjelman alaslataus logiikkaan onnistu, vaan tulee huomautus: NO END INST. END-käsky tulee aina omaan virtapiiriinsä. Saakoon se vielä oman blokkinsakin. Uusi blokki saadaan seuraavasti Block Manager-pikapainikkeesta avautuvasta ikkunasta. Vasemmanpuoleisessa Block-ikkunassa näkyvät ohjelman blokit ja oikeanpuoleisessa Networkikkunassa näkyvät ko. blokin virtapiirit. Klikataan Blockikkunassa Main 1:n alapuolella olevalle tyhjälle riville ja painetaan Insert. Annetaan nimi ja kommentti (seuraava sivu) uudelle blokille avautuneeseen ikkunaan. Suljetaan ikkuna Close-painikkeella. Suljetaan vielä Block/Network Manager ja näin olemme saaneet ohjelmaeditoriin näkyviin blokin Main2. 31

Sen ensimmäiseen ja ainoaan virtapiiriin sijoitamme END-käskyn, joka on funktio END(01). Se saadaan valitsemalla FUN-työkalu ja klikkaamalla virtapiiriin. Syötetään ikkunaan funktionumero 01 tai kirjoitetaan END. OK. Reference-toiminnolla saat lyhyen tiivistelmän funktiosta. Sitä kannattaa käyttää, kun tarvitset uusia käskyjä. Ohjelmassa olevasta funktiosta saat referenssin, kun valitset ensin hiirellä funktion ja sitten painat näppäinyhdistelmän CTRL+F1. Voit myös valita funktion seuraavasti: Klikkaa ensin haluamaasi kohtaan virtapiirissä. Kirjoita näppäimistöltä haluamasi käsky. Kirjoittaessa huomaat funktioikkunan avautuneen, johon funktio nyt kirjoittuu. Aina ei pelkkä käskyn nimi riitä, vaan joudut lyömään vielä välilyönnin perään, ennenkuin funktio kirjoittuu isoilla kirjaimilla ja saa numeron. Jotta tämä suora funktion syöttäminen näppäimistöltä onnistuu, tulee Preferences/Editing -ikkunassa oleva kohta Direct Entry Of Function Names from ladder olla valittuna. Blokki Main2 näyttää nyt kokonaisuudessaan tältä. Se on saanut nimen Loppu. Blokin ainoata virtapiiriä ei ole nyt nimetty. Seuraavaksi talletetaan ohjelma normaaliin Windows tapaan (File/Save) haluttuun asemaan ja hakemistoon. Syswinprojektin nimen tarkentimeksi tulee.swp. 4.3 Ohjelman lataus logiikkaan Ohjelman siirto Syswinistä logiikkaan vaatii oikeanlaisen kaapelin laitteiden välille. Kaapelin kytkentä on esitetty Syswin 3.2 oppaan sivulla 66. Kaapelin lisäksi tulee logiikan ja Syswin:n kommunikointiasettelut olla samat. Syswin:n kommunikointiasettelut tehdään Project/Communication -ikkunassa. Kuvassa näkyvät logiikoiden oletuksena käyttämät baudinopeus 9600 bps ja protokolla 7E2. Näitä voi toki muuttaa, jos tarve vaatii. Test PLC -painike testaa yhteyttä. Jos asetukset on oikein ja kaapeli kytketty, niin yhteys syntyy ja Status-riville tulee teksti Connected. Yhteyden voi myös kytkeä tai katkaista Communication Connected -pikapainikkeesta. 32

Kun yhteys on saatu, saavat PLC Mode, Monitoring ja OnLine Edit - painikkeet värit ja Communication Connected -painikkeen tausta on vaalentunut. Vielä ennen alaslatausta tarkistetaan logiikan tila. Ohjelman alaslataus tehdään vain CPU:n ollessa STOP/PROGRAM-moodissa. Jos CPU on MONITOR-moodissa, niin yritettäessä alaslatausta Syswin kysyy meiltä, että vaihdetaanko CPU STOP/PROGRAMmoodiin, jolloin lataus onnistuu. Latauksen jälkeen valitaan taas haluttu moodi. CPU:n tila näkyy näytön alareunassa tilarivillä ja tilaa voidaan muuttaa PLC Mode -pikapainikkeen takaa. Tarkasta myös, että Project/Preferences -ikkunassa on kohta Use Block Marker Instructions valittuna. Näin blokkirakenne siirtyy myös logiikkaan. Mikäli ko. kohtaa ei ole valittu, niin ohjelma siirtyy logiikkaan yhdessä blokissa. Tämä havaitaan, kun tehdään ohjelman ylöslataus logiikasta Syswiniin. Ohjelman alaslataus logiikkaan tehdään OnLine/Download Program to PLC -ikkunasta. Jos ohjelmassa on käytetty laajennetun käskykannan käskyjä ja näitä käskyjä ei ole vielä ladattu logiikkaan, niin silloin valitaan kohta Expansion Functions. Logiikan DIP-kytkimien pinni 4 tulee olla tällöin 1- asennossa. CQM1-logiikan ollessa valittuna ei ole mahdollista ladata muutettuja muistialueita tai I/O-taulua. Sen sijaan logiikan asetukset eli PLC Setup voidaan ladata, jos olemme sitä muuttaneet. Yleensä emme sisällytä PLC Setup asetuksia alaslataukseen ilman niiden lähempää tarkastelua, joka voidaan tehdä PLC Setup -ikkunasta. Setupin kirjoittaminen voidaan tehdä myös Options kohdan valinta kannattaa pitää voimassa, koska nyt ennen uuden ohjelman siirtoa nollataan ohjelmamuisti vanhasta sovelluksesta. Ja eikun OK. Onnistuneesta alaslatauksesta tulee ilmoitus Download Successful. Tarkistetaan, että CPU on MONITOR (tai RUN) -moodissa ja testataan ohjelman toiminta. 4.4 Monitorointi ja pakko-ohjaukset Testaus voidaan suorittaa logiikan tuloihin kytkettyjen simulointikytkinten avulla sekä tarkastelemalla lähtöjen merkkivalojen toimintaa. Mutta myös Syswinin ohjelmointieditorissa on monitorointi ja pakko-ohjausmahdollisuus toiminnan tarkastelua varten. Monitorointi saadaan toimintaan Monitoring-pikapainikkeesta, jolloin nuolen väri muuttuu vihreäksi. Nyt 1-tilassa olevien bittien väri muuttuu mustaksi ja sanojen arvo näkyy mahdollisten 33

funktioiden sisällä. Jos olet valinnut näytön alaosaan Data Set Bar -ruudukon, niin niihin syötetetyt osoitteet monitoroituvat myös. Ruudukon solu avautuu tuplaklikillä ja tällöin voit syöttää soluun halutun osoitteen ja valita biteille toiminnon tai sanoille lukujärjestelmän. Kuvassa on esimerkki monitoroinnista ohjelmointieditorissa ja DataSet Bar:ssa. Tilarivillä näkyy CPU:n tila olevan MONITOR ja sykliajan 1,9 ms. Mikäli käytössä ei ole kytkimiä, niin testausta voi tehdä pakko-ohjausten avulla. Pakko-ohjaukset eivät toimi, jos CPU on RUN-moodissa. Ohjelmointieditorissa pakko-ohjaukset tehdään seuraavasti: valitaan haluttu osoite klikillä, avataan hiiren oikealla painikkeella pikavalikko, josta valitaan haluttu toiminto. Force Set asettaa bitin päälle, kunnes se kumotaan Cancel- tai Reset- toiminnolla. Force Reset pakkonollaa bitin, kunnes ohjaus keskeytetään Cancel- tai Set- toiminnolla. Set ja Reset ovat vain yhden syklin mittaisia pakko-ohjauksia. Cancel All keskeyttää kaikki pakko-ohjaukset. Myös DataSet Bar:sta voidaan tehdä pakkoohjauksia. Pakko-ohjatut bitit erottaa ohjelmointieditorissa pakko-ohjausmerkeistä, eli 34

kolmioista objektin päissä, jos Display Forced State of Bit Addressess -toiminto on valittuna Preferences/Drawing -ikkunassa Data Force -pikapainikkeesta aukeaa ikkuna, josta voi myös tehdä kerralla vaikka 10 bitin pakkoohjaukset. Sieltä käsin voi myös tarkastaa pakkoohjatut bitit. Joskus nimittäin vahingossa päälle jääneet pakko-ohjaukset voivat aiheuttaa harmia jälkeenpäin. Lisää tietoa näistä löydät Syswin 3.2 oppaan sivuilta 47 ja 48. Poista pakko-ohjaukset testauksen jälkeen. Monitorointi katkaistaan samasta Monitoringpikapainikkeesta. Tarkastele ohjelmaa myös käskylistamuodossa. Statement List -pikapainike antaa aina valitun virtapiirin myös käskylistamuodossa. Kuten huomaat virtapiirit alkavat LD- tai LD NOT -käskyllä. 4.5 Virtapiirien ja objektien muokkaaminen Objekti valitaan hiirellä klikkaamalla ja useammat objektit maalaamalla. Objektin osoitetta voidaan muuttaa antamalla tuplaklikki hiirellä objektin päälle. Objekti voidaan tuhota DEL-näppäimellä. Sarakkeen lisääminen onnistuu valikosta Edit/Insert Column tai näppäinyhdistelmällä ALT+nuoli oikealle. Nykyisen rivin yläpuolelle saadaan uusi rivi valikosta Edit/Insert Row tai näppäinyhdistelmällä ALT+nuoli alas. 35

Tehtävä: Muuta virtapiirit seuraavanlaisiksi, tallenna, lataa, testaa ja tarkastele käskylistaa. LD-käsky siirtää uuden osoitteen tilan akkuun ja vanhan akun tilan pinorekisterin ylimpään bittiin, ja loput bitit putoavat yhden alaspäin. Pinon alimman bitin tila menetetään. AND LD- ja OR LD -käskyt tekevät AND- tai OR-operaation akun ja pinon ylimmän bitin kesken. Käskyjen suorituksen aikana pinon bitit nousevat yhden bitin verran ylöspäin. Käskyjen tulos tallentuu akkuun. OUT-käsky on oikeastaan akun kopiointikäsky, joten OUT-käskyjä voi olla useita peräkkäin. Esimerkiksi OR-piirin suoritus tapahtuu akussa (R) ja pinorekisterissä (pinon ylin bitti S0) näin: LD S0 R AND S1 R LD S2 R S0 AND S3 R OR LD R OUT K0 K0 OUT Y0 Y0 R S0 S1 S2 S3 S4 S5 S6 Näin tutustuimme LD, AND, OR ja OUT-käskyihin. Nämä sulkeutuvat koskettimet ja suora lähtö ovat aktiivisia, kun vastaava bitti on 1-tilassa. Näillä käskyillä on myös negaatiot, LD NOT, AND NOT, OR NOT ja OUT NOT-käskyt. Nämä avautuvat koskettimet ovat aktiivisia, kun vastaava bitti on 0-tilassa. Käänteinen lähtö on aktiivinen eli sen bitti on 1-tilassa, kun sitä ohjaava akku on 0-tilassa. Jos digitaalisessa tulossa on jännite, niin tuloa vastaava bitti oli 1-tilassa. Virtapiirejä voidaan muuttaa myös ajonaikaisesti logiikan ollessa Monitor-tilassa. Tätä tapahtumaa kutsutaan nimellä OnLine Edit. Katso Syswin 3.2 käyttäjän opas, sivu 45. 36

5. BITIN KÄSITTELYKÄSKYT 5.1 Pitopiiri KEEP(11), SET JA RSET Pitopiiri voidaan luoda peruskäskyjen avulla tai funktiokäskyjen avulla. Tähän tarkoitukseen sopivia funktioita ovat KEEP(11) tai SET ja RSET. Käskyille on ominaista se, että niille riittää syklin mittainen pulssi toteuttaaksen toiminnon. KEEP(11) käsittää sekä asettavan (S) että resetoivan (R) tulon. Ylempi tulo on S ja alempi R. Eli 000.00 asettaa 016.00:n 1-tilaan ja 000.02 resetoi 016.00:n. Jos molemmat tulot ovat yht aikaa aktiivisia, on myöhemmin ohjelmassa suoritettava rivi, eli LD 000.02 määräävämpi ja näin 016.00 menee 0-tilaan. SET-käskyllä ei ole funktionumeroa ja se saadaan valittua kirjoittamalla set. Kun SET-käskyä ohjaava bitti aktivoituu, niin SET-käskyn osoite menee 1-tilaan, jossa se pysyykin, kunnes tämä osoite resetoidaan RSET-käskyllä. Jos samaa osoitetta ohjaavat SET- ja RSET-käskyt ovat molemmat aktiivisia, niin osoitteen tilan määrää jälleen ohjelmassa myöhemmin suoritettava käsky. Käskyjen välissä voi olla useita virtapiirejä. Näidenkin käskyjen ohjaamiseen riittää pulssi. Aikakaaviolla voidaan toimintaa hahmoittaa näin: 000.00 000.02 016.00 / 016.01 37

5.2 Reunantunnistus DIFU(13) JA DIFD(14) Bitin nousevan reunan tunnistus suoritetaan DIFU(13) ja laskevan reunan tunnistus DIFD(14) käskyillä. Nämä antavat aktivoituessaan ohjelmankierron mittaisen 1-pulssin käskyn osoittamaan osoitteeseen. DIFU(13) eli Differentiate Up toimii silloin, kun sitä ohjaava akku aktivoituu, eli tapahtuu epätosi -> tosi muutos. DIFD(14) eli Differentiate Down toimii silloin, kun sitä ohjaava akku deaktivoituu, eli tapahtuu tosi -> epätosi muutos. Aikakaaviolla voidaan toimintaa hahmoittaa näin: 000.00 016.02 016.03 DIFU- ja DIFD-käskyjen ohjaamien bittien 1-tilassa oloaika riippuu sykliajasta ja se on millisekunneista kymmeniin. Nämä käskyt kannattaa sijoittaa ohjelman alkuun. Yleensä näillä käskyillä ohjataan pitopiirejä tai muita funktioita, jotka halutaan suorittaa kertaluonteisesti. 5.3 Siirtorekisteri Sekvenssiohjaukset eli askelohjaukset voidaan toteuttaa KEEP (tai SET/RSET) -ketjuilla tai siirtorekisterikäskyllä SFT(10). Käyttökohteita ovat tehtävät, joissa toiminnot tapahtuvat ajallisesti peräkkäin. Ohjelmarakenne on yleensä sellainen, että siitä voidaan erottaa seuraavat osat siirtorekisterin tai KEEP-ketjun runko (kellotuksen apu) etenemisehdot etenemisen ohjaukset lähtöjen ohjaukset 38

5.3.1 KEEP-ketju ja siirtorekisterin runko SFT(10)-käskyllä KEEP-ketju toteutetaan esimerkiksi seuraavalla tavalla. Askeleesta seuraavaan siirrytään, kun edellinen askel on voimassa ja ehto uudelle askeleelle tulee todeksi. Uusi askel nollaa edellisen askeleen asetettuaan. Sekvenssin keskeyttävät toiminnot kerätään yhteen OR-toiminnolla ja talletaan apumuistipaikkaan, jota käytetään askeleiden pysäyttämiseen. Siirtorekisteri tehdään yleensä paristovarmennetulle HRmuistialueelle. SFT(10)-käskyä varten tarvitsee ladata ensin siirtobitti siirtorekisterin aloitusbittiin. Tämä voidaan tehdä MOV(21)-käskyllä. Käskyyn tutustutaan myöhemmin. SFT-käskyllä on kolme tuloa: Ylin on Datatulo, joka siirtää joka kellotuksella tilaansa rekisterin ensimmäiseen bittiin. Nyt tuloon luetaan 0-tilaa osoitteesta 253.14. Keskimmäinen tulo on kellotustulo. Jokaisella tulon nousevalla reunalla rekisteri siirtyy yhden bitin eteenpäin. Rekisterin sisältö on muuten pelkkää 0-tilaa äsken ladattua siirtobittiä (1) lukuunottamatta. Siis siirrämme tätä 1-bittiä eteenpäin. Alin tulo nollaa rekisterin sisällön aktivoituessaan. Rekisteri ei myöskään siirry, jos tämä tulo on aktiivinen. 39

5.3.2 Kellotuksen apu Apupiiri tarvitaan sen vuoksi, että siirtorekisterin kellotus tapahtuu tulon nousevalla reunalla. Aina tätä apupiiriä ei tarvita, mutta ei siitä haittaakaan ole. 5.3.3 Etenemisehto Piiri koostuu yleensä rakenteesta, missä kukin ryhmä alkaa siirtorekisterinaskelbitillä, jonka kanssa sarjassa on bitti, joka määrää siirtymisehdon seuraavaan askeleeseen. Näiden kanssa on sarjassa kellotuksen apubitti käänteisenä. 5.3.4 Etenemisen ohjaukset Voivat olla aikaperusteisia tai tulojen ja muistipaikkojen tiloihin perustuvia. Oleellista on kuitenkin se, että kyseisen askeleen bitti on piirissä ehtona. 5.3.5 Lähtöjen ohjaukset Eli askeleiden toimenpiteet kootaan ohjelman loppuun. 6. AJASTIMET OMRONin ohjelmoitavissa logiikoissa on ajastimia kahdella eri resoluutiolla, TIMH(15)10 ms ja TIM 100ms, ja ne molemmat ovat vetohidasteisia. Kun ajastinta ohjaava akun tila aktivoituu, alkaa ajan laskenta. Ajastimien aika annetaan BCD-koodattuna. Ajastimet laskevat aikaa alaspäin asetusarvosta nollaan. Kun ajastimen oloarvo on nolla, asettuu ajastimen lippubitti. Ajastimen suoritus on siis akkupohjainen. Ajastin laskee aikaa vain, jos sitä ohjaava akku on aktiivinen. Ajastimen asetettua ajastimen lippubitti pysyy 1-tilassa niin kauan, kun akku on aktiivinen. 40

6.1 TIM Normaali ajastin TIM voidaan ohjelmoida vetohidasteiseksi seuraavasti: Aina tosi bittiä 253.13 on käytetty virtapiirin ensimmäisenä käskynä, näin saadaan ajastimen toimintaa tarkasteltua havainnollisemmin. Ajastimen TIM000 asetusarvo on annettu suoraan ajastimeen vakiona #50. Vakion tunnus on #. Ajastimen hidastusaika on 50 * 0,1 s = 5,0 s. Kun tulo 000.00 aktivoituu, alkaa ajastimen oloarvo sanassa TC000 vähentyä 0,1 s:n portaissa. Kun aika on kulunut 5 s:n kuluttua loppuun, asettuu bitti TIM000 ja lähtö 100.04 menee 1- tilaan. Kun tulo 000.00 menee 0-tilaan, käy samoin biteille TIM000 ja l00.04. Ajastimen oloarvoksi palautuu asetusarvo #50. Jos tulo 000.00 ei pysy 1-tilassa hidastusaikaa, palautuu oloarvoksi asetusarvo #50, eikä bitti TIM000 ehdi tällöin asettua. Siispä jos ajastus käynnistetään pulssista, niin silloin tulee ajastimen ohjaukseen käyttää pitopiiriä. Ajastimen Value -riville voidaan myös antaa myös sanaosoite, josta ajastimen asetusarvo löytyy. Tämän tulee olla BCD-koodattu, muutoin virhebitti 255.03 asettuu. Muista, että ajastimet ja laskurit ovat samaa muistialuetta. Muistialueen laajuus on 512 sanaa, eli sanat TC000...TC511. Ohjelmassa ei saa olla samannumeroisia ajastimia ja laskureita. Jos tarvitaan ajastuksia, jotka ovat pidempiä kuin 999,9 s, niin tällöin käytetään laskureita ja järjestelmäpulsseja. Laskurit säilyttävät myös oloarvonsa sähkökatkon yli, ajastimet eivät. 6.2 Pika-ajastin TIMH(15) Toimivat samaan tapaan, kuin TIM-ajastimet ja ne käyttävät myös samaa TC-muistialuetta. Nyt vain resoluutio on 0,01 s. TIMH(15) löytyy funktioista. Jos ohjelman kiertoaika ylittää 10 ms, tällöin saattaa esiintyä epätarkkuutta pika-ajastimissa, joiden numero on suurempi kuin 15. Käyttämällä pika-ajastimia 0...15, ei sykliaika vaikuta tarkkuuteen. Tällöin ei tälle muistialueen osalle sijoiteta muita ajastimia tai laskureita. Vaikka pika-ajastinta kutsutaan nimellä TIMH XXX, niin pika-ajastimen lippubittiä kutsutaan kuitenkin TIM XXX. 41

6.3 Muita ajastimia CQM1-logiikoihin on saatavissa reaaliaikakello erillisellä muistikortilla. Reaaliaikakellon tiedot kirjoittuvat sanoihin AR18...AR21. Jaksoajastimella STIM(--) voidaan suorittaa aikakeskeytyspohjaisia aliohjelmakutsuja. Ajastimella on neljä eri toimintamoodia. Jaksoajastimen käyttöön liittyy tiettyjä rajoituksia pikalaskuri- ja pulssilähtötoimintojen kanssa. STIM(--) kuuluu laajennuskäskyihin, joten sillä ei ole kiinteää funktionumeroa. Laajennuskäskyjä voi tarkastella ja valita Syswin:n Project/Function Mapping - toiminnolla. 7 LASKURIT CNT on alaspäinlaskeva laskuri ja CNTR(12) ylös/alaslaskuri. 7.1 Laskuri CNT Laskurissa on kaksi tuloa, laskentatulo, joka jokaisella nousevalla reunalla vähentää laskurin oloarvoa yhdellä, sekä resetointitulo, joka palauttaa laskurin oloarvon asetusarvoksi ja resetoi laskurin lippubitin. Ylempi tulo on laskentatulo ja alempi on reset. Laskuri ei laske, jos resettulo on aktiivinen. Laskurin asetusarvo annetaan vakiona tai osoitteena. Myös osoitteesta löytyvän arvon tulee olla BCD-luku. Muutoin virhebitti asettuu. Kun laskurin oloarvo saa arvon nolla, asettuu lippubitti, nyt CNT 001. Lippubitti resetoituu vain laskurin resettulon aktivoitumisella. Laskuria voidaan käyttää ajastimena, kun laskentatuloon tuodaan järjestelmäpulsseja, esim. osoitteesta 254.00 löytyy minuutin kellopulssi. Tällöin saatava maksimiajastus 9999 minuuttia eli... 7.2 Ylös/alaslaskuri CNTR(12) On ympäripyörivä laskuri. Laskurilla kaksi laskentatuloa; ylöslaskeva II ja alaslaskeva DI sekä resettulo R. Laskuri asettuu ylöspäin laskettaessa asetusarvon saavuttamisen jälkeisellä pulssilla. Jos asetusarvo on #5, niin toiminta ylöspäin on... 3, 4, 5, 0 ( lippubitti aktivoituu), 1 (lippubitti 42

resetoituu). Alaspäin laskettaessa toiminta on seuraava...2, 1, 0, 5 ( lippubitti aktivoituu), 4 (lippubitti resetoituu). Nämäkin laskurit sijaitsevat samalla TC-muistialueella edellisten ajastimien ja laskurin kanssa, joten ole huolellinen numeroiden kanssa. Laskurin bittiä kutsutaan tunnuksella CNT YYY. 7.3 Tehtävä Tutustu em. ajastimiin ja laskureihin Syswin:n avulla. Tarkastele referenssien avulla, mitkä muistialueet ovat sallittuja asetusarvon antamista varten. 7.4 Pikalaskurit Kaikissa CPU-malleissa on pikalaskuri HSC0, joka pystyy laskemaan lisäys- eli inkrementtimoodissa aina 5,0 khz taajuuteen asti. Vaihe-eromoodissa maksimitaajuus on 2,5 khz. Laskurituloina toimivat 000.04...000.6. CPU43 sisältää lisäksi pikalaskurit HSC1 ja HSC2, joiden liitännät ovat erillisissä liittimissä keskusyksikössä. Nyt maksiminopeus inkrementtimoodissa on 50 khz. 8. DATAN KÄSITTELYKÄSKYT Tässä luvussa käsittelemme yleisimpiä käskyjä, joiden avulla voimme kopioida, siirtää ja vertailla yhden tai useamman sanan mittaista dataa. 8.1 Datan osoittaminen Yleensä käskyissä voidaan data-arvo antaa vakiona tai osoittaa sanaa, josta arvo löytyy. Näiden lisäksi osoitus voidaan tehdä epäsuorasti. Epäsuoraa osoitusta voidaan tehdä ainoastaan DMmuistialueella. Epäsuora osoitus ilmaistaan käyttämällä DM-osoitteen edessä asteriskiä, eli *DM XXXX. Kun epäsuora osoitus on määritelty, data haetaankin sanassa DM XXXX viitatusta DM-sanasta. Epäsuoran osoituksen indeksin (*DM) tulee olla BCD-luku. MOV(21)-käskyn yhteydessä on esimerkki epäsuorasta osoituksesta. 8.2 Sanan kopiointikäsky MOV(21), @MOV(21) MOV(21)-käsky kopioi koko lähdesanan sisällön tai vakion koko kohdesanaan. Tämänkin käskyn toiminta on akkupohjainen, eli jos käskyn suoritusehto on tosi, niin käsky suoritetaan joko jatkuvasuoritteisesti tai kertasuoritteisesti. 43