NRO: 041-FIN-9 JA LOGIIKKAOHJELMOINTI
ESIPUHE Tämä opiskeluvihko on tarkoitettu käytettäväksi CX-One ja logiikkaohjelmointi -koulutuksissa. Vihkon aihepiiri on hieman laajempi kuin kolmen päivän ohjelmointikoulutuksen sisältö. Opiskelussa voidaan käyttää lisäksi apuna CX-Programmer oppaita. Koulutuslaitteistona ovat tehokkaat CJ1M-CPU11ETN logiikat ja CX-One -ohjelmistolla varustetut tietokoneet. Vihkossa käsitellään ensin CJ1M-logiikoiden rakennetta ja toimintaa. Tämän jälkeen perehdytään näiden ohjelmointiin CX-Programmer-ohjelmistolla peruskäskyjä käyttäen ja harjoituksia tehden. Perehdymme myös logiikan ohjelman monitorointiin, parametrien muuttamiseen, dokumentointiin sekä ylläpitotoimiin. Materiaalia voi myös vallan mainiosti käyttää itsenäiseen opiskeluun ohjelmoitavien logiikkalaitteiden parissa. Tämän materiaalin omaksuttuaan on lukijalla eväät ainakin pienten logiikkaohjausten suunnitteluun ja käyttöönottoon sekä logiikkaprojektien ylläpitoon. Iloista ja innokasta mieltä logiikkaohjelmoinnin parissa! 2
SISÄLLYSLUETTELO ESIPUHE...2 SISÄLLYSLUETTELO...3 1 YLEISTÄ OHJELMOITAVISTA LOGIIKOISTA...7 1.1 Rakenne...7 1.2 Toiminta...8 1.3 Ohjelmointi...9 1.3.1 Relekaavio-ohjelmointi...9 1.3.2 Strukturoitu teksti -ohjelmointi...9 1.3.3 Sekvenssivuokaavio-ohjelmointi...10 1.3.4 Toimilohko-ohjelmointi...10 1.4 Toimintaympäristö...11 1.5 SYSMAC-logiikat...11 1.5.1 CPM1A...12 1.5.2 CPM2A...12 1.5.3 CPM2C...13 1.5.4 CQM1H...13 1.5.5 C200HX eli Alfa-sarja...14 1.5.6 CS1-sarja...15 1.5.7 CJ1-sarja...15 1.5.8 CP1-sarja...16 1.5.9 NSJ-sarja (Sysmac One)...17 1.5.10 CJ2-sarja...17 2 SYSMAC CJ1M-OHJELMOITAVA LOGIIKKA...18 2.1 CJ1W-teholähteet...19 2.2 CJ1M-keskusyksiköt...20 2.2.1 Indikaattorit...22 2.2.2 DIP-kytkimet...23 2.2.3 CF-muistikorttiasema...24 2.2.4 Sarjaportit...24 2.3 CJ1M-muistit...25 2.4 Muuttujamuistit...26 2.4.1 Muistien yksiköt...26 2.5.1 CIO-alue...29 2.5.2 D-alue (Data Memory)...29 2.5.3 CPM2-muistialueet...30 2.6 CJ1M toiminta ja sovellusohjelmamuisti...31 2.6.1 IO-päivitykset...32 2.6.2 IO-vasteaika...32 2.7 Logiikan tilat...32 2.8 Digitaaliset tulot ja lähdöt...32 2.8.1 Tuloyksikkö CJ1W-ID211...33 2.8.2 Lähtöyksikkö CJ1W-OD212...34 3 SYSMAC-LOGIIKOIDEN IO-OSOITTEET...35 3.1 CPM-logiikat...35 3.2 CQM1H-logiikat...35 3.3 C200HX-logiikat...35 3.4 CS1-logiikat...37 3.5 CJ1-logiikat...39 3
3.5 CP1H-logiikat... 40 3.6 CP1L-logiikat... 40 4 CX-ONE... 41 5 CX-PROGRAMMER... 43 5.1 Ohjelmarakenne... 45 5.2 Uuden projektin aloitus... 46 5.3 Projekti- ja logiikkanäkymä... 47 5.4 Symbolilista ja symbolointi... 49 5.4.1 Symbolin datatyypit:... 50 5.5 Työpöytä ja ikkunat... 52 5.6 Ohjelmointi... 53 5.6.1 Ohjelmien eli taskien lisääminen ja muokkaaminen... 53 5.6.2 Blokkien lisääminen ja muokkaaminen... 54 5.6.3 Virtapiirien lisääminen, tuhoaminen ja muokkaaminen... 55 5.7 Logiikkaprojektin kommentointi Properties-ikkunalla... 56 5.7.1 Projektin ominaisuudet... 56 5.7.2 Logiikan ominaisuudet... 56 5.7.3 Ohjelman ominaisuudet ja kommentointi... 57 5.7.4 Blokin ominaisuudet ja kommentointi... 57 5.7.5 Virtapiirin ominaisuudet ja kommentointi... 58 5.7.6 Käskyelementin ominaisuudet ja kommentointi... 58 5.8 Projektin tallennus... 59 5.9 Projektin avaus... 59 6 PERUSKÄSKYJEN OHJELMOINTI... 60 6.1 Ohjelmaelementti- eli käskytyökalut... 60 6.2 Käskyikkuna... 61 6.3 AND- ja OR-piirien luominen CX-Programmerilla... 61 6.4 Lopetuskäsky END(001)... 65 6.5 OnLine-yhteys ja logiikan toimintatilat... 66 6.6 Ohjelman siirto logiikkaan eli alaslataus... 67 6.7 Monitorointi ja pakko-ohjaukset... 69 6.8 Virtapiirien ja käskyelementtien muokkaaminen... 71 6.9 Ohjelman muokkaaminen online-tilassa eli Online Edit... 71 7 BITIN KÄSITTELYKÄSKYT... 72 7.1 Pitopiiri KEEP(011), SET JA RSET... 72 7.2 Reunantunnistus DIFU(013) JA DIFD(014)... 75 7.3 Reunatunnisteiset eli kertasuoritteiset koskettimet... 76 7.4 Useamman peräkkäisen bitin nollaus - RSTA(531)... 77 7.5 Sekvenssiohjaukset eli siirtorekisterit... 77 7.5.1 Siirtorekisterin runko KEEP(011) -käskyllä... 78 7.5.2 Siirtorekisterin runko SET/RSET- käskyillä... 79 7.5.3 Siirtorekisterin runko SFT(010)-käskyllä... 79 7.5.4 Etenemisehto SFT(10)-käskylle... 81 7.5.5 Lähtöjen ohjaukset... 81 8 AJASTIMET... 81 8 AJASTIMET... 82 8.1 Perusajastin TIM... 82 9 LASKURIT... 86 9.1 Laskuri CNT... 86 9.2 Ylös/alaslaskuri CNTR(012)... 87 9.3 Pikalaskurit... 87 4
10 DATAN KOPIOINTI-, SIIRTO- JA VERTAILUKÄSKYJÄ...88 10.1 Datan osoittaminen ja vakioarvojen tunnukset...88 10.2 Datakäskyjen ohjelmointi...88 10.3 Sanan kopiointikäsky MOV(021), @MOV(021)...89 10.4 Sanan kopiointikäsky MVN(022), @MVN(022)...91 10.5 Digitin kopiointikäsky MOVD(083), @MOVD(083)...91 10.6 Blokin kirjoitus BSET(071), @ BSET(071)...92 10.7 Blokin kopiointi XFER(070), @XFER(070)...92 10.8 Sanavertailu CMP(020)...93 10.9 Aluevertailu ZCP(088)...94 10.10 Lohkoaluevertailu BCMP(068)...94 10.11 Blokkivertailija MCMP( 019)...95 10.12 Läpiohjelmoitavat symboliset vertailijat...96 10.13 Sanasiirtorekisteri WSFT(016), @ WSFT(016)...97 11 DATAN MUUNNOSKÄSKYT...98 11.1 BCD-Binäärimuunnos BIN(023), @BIN(023)...98 11.2 Binääri-BCD-muunnos BCD(024), @BCD(024)...98 11.3 Binääri-liukulukumuunnos FLT(452), @FLT(452)...99 11.4 Liukuluku-binäärimuunnos FIX(450), @FIX(450)...99 12 ARITMETIIKKAKÄSKYT...100 12.1 Etumerkillisten kokonaislukujen yhteenlasku +(400), @+(400)...101 12.2 Etumerkillisten kokonaislukujen vähennyslasku -(410), @-(410)...102 12.3 Etumerkillisten kokonaislukujen kertolasku *(420), @*(420)...102 12.4 Etumerkillisten kokonaislukujen jakolasku /(430), @/(430)...103 12.5 Binäärinen lisäyskäsky ++(590), @++(590)...103 12.6 Binäärinen vähennyskäsky --(592), @--(592)...103 12.7 Muistibitin asetus STC(040), @STC(040)...104 12.8 Muistibitin nollaus CLC(041), @CLC(041)...104 12.9 BCD-kokonaisslukujen yhteenlasku +B(404), @+(404)...105 12.10 BCD-kokonaisslukujen vähennylasku -B(414), @+(414)...105 12.11 BCD-kokonaisslukujen kertolasku *B(424), @*B(424)...107 12.12 BCD-kokonaisslukujen jakolasku /B(434), @/B(434)...107 12.13 BCD- lisäyskäsky ++B(594), @++B(594)...108 12.14 BCD- vähennyskäsky --B(596), @--B(596)...108 12.15 Reaaliarvojen laskentaa...110 13 LOOGISET KÄSKYT...111 13.1 Komplementti COM(029), @COM(029)...111 13.2 Kahden komplementti NEG(160), @NEG(160)...111 13.3 Looginen JA ANDW(034), @ANDW(034)...111 13.4 Looginen TAI ORW(035), @ORW(035)...111 13.5 Ehdoton TAI XORW(036), @XORW(036)...111 14 TOIMILOHKO-OHJELMOINTI...112 14.1 Toimilohkon luominen...113 14.2 Toimilohkon määrittely...114 14.2.1 Muuttujan määrittely...115 14.2.2 Toimilohkon ohjelmointi relekaaviolla...116 14.3 Toimilohkon kutsu...117 14.4 Toimilohkojen muokkaaminen...118 14.5 Toimilohkojen lataukset...118 14.6 Toimilohkojen suojaus...118 14.7 Toimilohkojen monitorointi...118 5
15 PROJEKTIN TARKISTUKSET, PARAMETROINTI JA YLLÄPITO... 120 15.1 Ohjelman tarkistukset Compile- eli käännöstoiminnolla... 120 15.2 Logiikan IO-taulu, PLC IO Table... 121 15.3 Logiikan parametrointi PLC Settings... 122 15.4 Muuttujamuistieditori PLC Memory... 123 15.5 Ohjelmien vertailu Compare with PLC... 126 15.6 Ohjelman ylöslataus Transfer From PLC... 127 15.7 Logiikan eri osien tallentaminen tiedostoon... 127 15.7 Logiikan eri osien tallentaminen tiedostoon... 128 15.8 Logiikan osien lataaminen tiedostosta... 128 15.9 Ohjelmien vertailu tiedostoon... 129 15.10 Ristiviittauslista... 130 15.11 Muuttujien etsintä Find in PLC... 131 15.12 Osoiteviiteikkuna osoitteen jäljittämisessä Address Reference Tool... 132 15.13 Ohjelman rakenneikkuna Section/Rung Manager... 133 15.14 Logiikan tilan tarkistus ja virhehistoria Error Log... 134 16 HARJOITUKSIA... 134 6
1 YLEISTÄ OHJELMOITAVISTA LOGIIKOISTA Ohjelmoitavat logiikat (PLC) 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. Mikäli ohjauksia halutaan muuttaa, käy se helposti sovellusohjelmaa muuttamalla. 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ä ja pulssijonoja käytetään. Viime vuosina erilaiset kenttäväyläratkaisut ovat lisänneet sarjaliikenteen käyttöä eri laitteiden viestinnän sekä hajautetun I/O:n parissa. Ohjelmoitavan logiikan idea on siis toteuttaa ohjaukset sen sovellusohjelmaan sekä prosessitietoihin perustuen. Tätä varten tarvitaan tuloliitännät prosessitietojen lukemiseen, lähtöliitännät prosessin ohjauksiin sekä muisteja ohjelmaa ja muuttujia varten. Muistit jaotellaankin karkeasti ohjelmamuistiin ja muuttujamuisteihin. Sovellusohjelma käyttää muuttujamuistipaikkoja arvojen lukemista ja kirjoittamista varten. 1.1 Rakenne Ohjelmoitavan 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. Useissa erikoisyksiköissä, kuten liikkeen- tai prosessinohjausyksiköt, on omat suorittimensa. 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. Joissakin logiikoissa, kuten CJ1M, on myös Flash-ROMmuistia, josta ohjaus siirretään automaattisesti käynnistyksessä RAM-muistiin. Sovellusohjelman pituutta rajoittaa mm. käytössä olevan ohjelmamuistin koko. Lisäksi logiikoissa on erilaisia muuttujamuistialueita 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. Tämä tila luetaan sitten tulon bittiin. 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 4000 tasoon. Binääriset liittynnät varaavat logiikan muuttujamuistista yhden bitin (1 bit). Analogiset liitynnät varaavat taas yhden sanan (16 bit). Jotkut keskeytyspohjaiset toiminnat, kuten pikalaskurit, jotka on tarkoitettu esim. inkrementtiantureilla tehtävään paikan mittaukseen, varaavat oloarvolleen kaksi sanaa (32 bit). 7
Teholähde Tulot Keskusyksikkö Muistit Sovellusohjelma Muuttujamuistit Parametrit Käyttöjärjestelmä Lähdöt Väyläliitännät 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 esitetyt rutiinit. Eli tutkitaan CPU:n ja oheislaitteiden tilaa, suoritetaan sovellusohjelma rivi riviltä sekä päivitetään tulot ja lähdöt sekä sarjaliikenneportit ynnä muut väylät. Syklistä voidaan poiketa mm. keskeytystapahtumilla. Myös tulojen luku ja lähtöjen kirjoitus kesken sovellusohjelman suorituksen on mahdollista. I/O- ja sarjaporttien päivitykset Itsediagnostiikka Sovellusohjelman suoritus 8
1.3 Ohjelmointi Ohjelmointi tehdään normaalisti tietokoneeseen asennettavalla ohjelmointiohjelmistolla. Ohjelmointiin on luotu standardi, IEC 1131-3, mutta aniharvat ohjelmistot sitä täydellisesti noudattavat. Tyypillisiä ohjelmointimuotoja ovat tikapuu- eli relekaavio (LD), logiikkakaavio (FBD) tai käskylista (STL) sekä lausemuotoinen strukturoitu teksti (ST). Myös sekvenssiohjauksiin on sopiva sekvenssivuokaaviomuoto (SFC). Usein toistuviin samankaltaisiin ohjelmarakenteisiin sopii toimilohko-ohjelmointi (FB). CX-Programmer-ohjelmistolla ohjaukset tehdään tyypillisesti relekaaviomuodossa. Ohjelmia voi luoda nykyisin myös ST- sekä SFC-muodossa sekä hyödyntää toimilohkoja. Ohjelma voidaan kirjoittaa ilman logiikkaa. Ohjelma luodaan ja talletetaan. Testausta varten tarvitaan yleensä 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 eri tyyppisiä monitorointimahdollisuuksia logiikan muistien tilojen seuraamiseksi tai ohjaamiseksi. On myös mahdollista testata ohjelman toimintaa tietokoneessa pyörivässä simulointiohjelmistossa. CX- One-ohjelmistopaketti sisältää simulointiohjelmiston nimeltä CX-Simulator ja siinä voi testata CS1/CJ1/CP1-logiikoiden ohjelmia. 1.3.1 Relekaavio-ohjelmointi Yksinkertaisimmillaan relekaavio-ohjelma näyttää tältä, muistuttaen ohjauspiirikaavioita. Avautuvilla ja sulkeutuvilla koskettimilla muodostetaan tarvittavista bittimuuttujista ehtologiikka, jonka tila kopioidaan kelalla haluttuun bittiin. Käytännössä ohjelmissa esiintyy useita erilaisia bittejä tai sanoja käsitteleviä logiikkakäskyjä, joilla toteutetaan mutkikkaampia operaatioita. 1.3.2 Strukturoitu teksti -ohjelmointi On lausemuotoista IEC-ohjelmointikieltä. IEC-ohjelmoinnissa on se hyvä puoli, että samaa ohjelmakoodia voidaan soveltaa helposti toisten ohjelmoitavien logiikoiden valmistajien laitteisiin. Perusehtologiikan ohjelmointi on tällä tavalla hankalampaa verrattuna relekaavioon, mutta taas mutkikkaampien laskentaoperaatioiden tai ohjelmasilmukoiden tekeminen taas joustavampaa. 9
1.3.3 Sekvenssivuokaavio-ohjelmointi SFC-ohjelmointi soveltuu sekvenssien tekemiseen. Tällä muodolla siis toteutetaan sekvenssin runko. Ehto- ja toimenpideohjelmat ohjelmoidaan sitten jollain muulla ohjelmointimuodolla tai toteutetaan yksinkertaisesti ehdoilla. 1.3.4 Toimilohko-ohjelmointi Toimilohkot ovat ohjelmoijan itsensä tai laitevalmistajan tekemiä funktioita, jotka esitetään yhdellä käskyllä lohkoa kutsuvassa ohjelmassa. Kuvassa alla relekaaviomuotoinen kutsulaatikko, joka kutsuu toimilohkoa Tekstinkäsittely. Itse ohjelma yksinkertaistuu, koska mutkikkaatkin toiminnot voidaan esittää yhdellä käskyllä, joka käyttää tarvittavia tulo- ja lähtöparametreja funktion toiminnan suorittamiseksi. 10
1.4 Toimintaympäristö Ohjelmoitava logiikka voi aivan yksinään toimia prosessin ohjauslaitteena ohjelmoinnin ja antureiden, toimilaitteiden ym oheislaitteiden liittämisen jälkeen. Suuremmissa järjestelmissä liitetään useita logiikoita toisiinsa erilaisten väylien kautta, jolloin ne voivat vaihtaa tietoja keskenään. Logiikkavä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 tai valvomoohjelmistolla varustettu tietokone. Toki näitäkin voi olla useita. 1.5 SYSMAC-logiikat OMRONin ohjelmoitavat logiikat tunnetaan nimellä SYSMAC. SYSMAC-perhe koostuu eri logiikkasarjoista. Seuraavissa kappaleissa esitellään lyhyesti SYSMAC C/CJ1/CS1/CP1- logiikkasarjat pienimmästä tehokkaimpaan. Aluksi käsitellään jo viime vuosituhannella esitellyt C-sarjan logiikat CPM1A/2A/2C, CQM1 ja C200HX. Näiden jälkeen vuosituhannen taitteen jälkeen julkaistut CS1G/H-, CJ1M/G/H- ja uusimmat CP1L/H/E-logiikat. Uudemmat Cx1-logiikat ovat ohjelmoinniltaan, muisteiltaan keskenään lähes identtisiä. Vain IO-osoitteet muodostuvat CP1-sarjassa isommista poiketen. 11
1.5.1 CPM1A (n. 2000 sanaa) ja datamuistin laajuus 1kW. CPM1A -laitteet tulivat markkinoille 1990- luvun lopulla ja soveltuvat kevyisiin ohjauksiin. Keskusyksikössä on aina tietty määrä tuloja ja lähtöjä. Keskusyksiköiden kiinteät IO-pistemäärät ovat 10, 20, 30 ja 40. IO-pistemäärää voidaan laajentaa enintään kolmella laajennusyksiköllä. Laajennusyksikössä on enintään 20 IOpistettä. Tällöin laitteiston maksimi-iopistemääräksi saadaan 100 IO-pistettä. Erilaisia analogi- ja lämpötilan mittausyksiköitä on saatavissa. Laitteet voidaan liittää linkkiyksikön kautta DeviceNet-, Profibus-DP ja Compobus/Skenttäväyliin. Ohjelmamuistin koko on 2kW 1.5.2 CPM2A CPM2A -laitteet tulivat markkinoille 1990- luvun lopulla ja soveltuvat kevyisiin ohjauksiin. Keskusyksikössä on aina tietty määrä tuloja ja lähtöjä. Keskusyksiköiden kiinteät IO-pistemäärät ovat 20, 30, 40 ja 60. IO-pistemäärää voidaan laajentaa enintään kolmella CPM1A-laajennusyksiköllä. Laajennusyksikössä on enintään 20 IOpistettä. Tällöin laitteiston maksimi-iopistemääräksi saadaan 120 IO-pistettä. Erilaisia analogi- ja lämpötilan mittausyksiköitä on saatavissa. Laitteet voidaan liittää linkkiyksikön kautta DeviceNet-, Profibus-DP ja Compobus/Skenttäväyliin. Ohjelmamuistin koko on 4kW ja datamuistin laajuus 2kW. Laitteissa on kohtuulliset pulssi-io-ominaisuudet. Sillä voidaan toteuttaa kahden liikeakselin pulssiohjaus. 12
1.5.3 CPM2C CPM2C -laitteet soveltuvat koneohjauksiin ja älykkäiksi slavelaitteiksi väyläratkaisuihin. CPM2C on CPM2A-logiikan sisarlaite. Erona on pienempi fyysinen koko, paremmat väyläominaisuudet ja laajempi IO-kapasiteetti Compobus/Smasterin sisältävissä malleissa. Keskusyksikössä on aina tietty määrä tuloja ja lähtöjä. Keskusyksiköiden kiinteät IO-pistemäärät ovat 10, 20 tai 32. IO-pistemäärää voidaan laajentaa enintään viidellä laajennusyksiköllä (Compobus/S malleissa kolmella). Laajennusyksikössä on enintään 32 IO-pistettä. Tällöin laitteiston maksimi-io-pistemääräksi saadaan 192 IO-pistettä. Erilaisia analogi- ja lämpötilan mittausyksiköitä on saatavissa. Laitteet voidaan liittää linkkiyksikön avulla Compobus/S-kenttäväylään. CPM2C-S1x0-DRT- malleissa on DeviceNet-slaveliitäntä ja Compobus/S -master. Ohjelmamuistin koko on 4kW ja datamuistin laajuus 2kW. 1.5.4 CQM1H CQM1H -laitteet tulivat markkinoille 1999 korvaamaan CQM1-edeltäjiään ja ne soveltuvat monenlaisiin ohjauksiin. Valittavana on 4 eri CPU vaihtoehtoa. Perusmallit ovat CPU11 ja CPU21. Tehokkaammat CPU-mallit, joissa on 2 optiokorttipaikkaa erikois-io-liitäntöjä varten, ovat CPU51 ja CPU61. Keskusyksikössä on aina 16 digitaalista tuloa. IO-pistemäärää voidaan laajentaa enintään viidellätoista laajennusyksiköllä. Laajennusyksikössä on enintään 32 IO-pistettä. Laitteiston maksimi- IO-pistemäärä on 512 IO-pistettä. Erilaisia analogi- ja lämpötilan mittausyksiköitä on saatavissa. Laitteet voidaan liittää linkkiyksikön kautta DeviceNet-, Profibus-DP -kenttäväyliin. Masterliitynnät saadaan ASi- ja Compobus/Skenttäväyliin. Tehokkaammat CPU:t voidaan liittää osaksi Controller Link -järjestelmäväylää. Ohjelmamuistin koko on enintään 15,2kW ja datamuistin laajuus 6+6kW. 13
1.5.5 C200HX eli Alfa-sarja C200HX -laitteet soveltuvat laajoihinkin ohjauksiin.ensimmäinen C200-sarjan logiikka, C200H, julkaistiin yli 20 vuotta sitten Nykyinen mallisto sekin jo vuonna 1996.Valittavana on 13 eri CPU vaihtoehtoa. CPU:t jaotellaan C200HE, C200HG ja C200HX-laitteisiin. Tehokkaimpia ovat HX-logiikat. Järjestelmä on täysin modulaarinen ja se rakennetaan taustakehikon/-kehikoiden päälle. Kehikossa on enintään 10 korttipaikkaa. Laitteiston paikallis-io-pistemäärä on enintään 1280 IO-pistettä, jolloin se on laajennettu CPUkehikon lisäksi kolmelle laajennuskehikolle. Lähes kaikkia mahdollisia yksiköitä on saatavissa näihin laitteisiin. Ylemmän tason väyläliitynnöistä on valittavana Ethernet, Controller Link ja Sysmac Link. Kenttäväylistä löytyy DeviceNet, Profibus-DP, CAN, CAN-Open, Sysmac Bus, Compobus/S-liitynnät. Ohjelmamuistin koko on enintään 63,2kW ja datamuistin laajuus 6+ 16*6kW. Edellämainittujen logiikoiden muistirakenteet ovat laajuuksia lukuunottamatta samat. Ohjelmamuistit ovat yksiohjelmaisia ja ohjelmointi on samankaltaista. Käskykantojen laajuuksissa on tosin suuriakin eroja Uudemmat logiikkasarjat CS1, CJ1 ja CP1 eroavat näistä varsinkin rakenteisen ohjelmamuistinsa, muuttujamuistiensa ja helpomman ohjelmoitavuuden vuoksi. Vapaampi ohjelmoitavuus saavutetaan parempien relekaaviokäskyjen, SFC- ja ST-ohjelmamuotojen sekä toimilohkojen ansiosta. CS1/CJ1-logiikat ovat edenneet systeemiversioon 4.0 vuonna 2007. CP1L/H-logiikat edustavat systeemiversiota 3.0. Verrattuna niitä saman versioiseen CS1/CJ1-logiikkaan, on niiden ohjelmalliset ominaisuudet samat IO-osoitteita lukuunottamatta. CP1E-sarja on yksinkertaistettu versio CP1L-logiikoista. 14
1.5.6 CS1-sarja CS1-laitteet soveltuvat laajoihin ja nopeutta vaativiin ohjauksiin. CS1-sarja koostuu CS1G-H ja CS1H-H-logiikoista. Yhteensä näitä on tarjolla 9 eri CPU-vaihtoehtoa. Järjestelmä on täysin modulaarinen ja se rakennetaan taustakehikon/-kehikoiden päälle. Kehikossa on enintään 10 korttipaikkaa. Laitteiston paikallis-io-pistemäärä on enintään 5120 IO-pistettä, jolloin se on laajennettu CPU-kehikon lisäksi seitsämälle laajennuskehikolle. CS1-järjestelmässä voidaan käyttää C200H-sarjan IO-kortteja, powereita sekä myös osin C200H-laajennuskehikoita CS1-logiikoissa on mahdollista käyttää ylemmän tason väyläliitynnöistä Ethernet, Controller Link ja Sysmac Link-väyliä. Kenttäväylistä löytyy DeviceNet, Profibus-DP, CAN, CAN-Open, Sysmac Bus, Componet, Compobus/S-liitynnät. Myös Mechatrolink II liikkeenohjausväylämasterit on. Prosessinsäätöyksikkö on asennettavissa CPU:n sisään. Ohjelmamuistin koko on enintään 250 kstep ja datamuistin laajuus 32+ 13*32kW. Ohjelmamuistirakenne koostuu siis useista ohjelmista (taskeista). Ohjelmoitsija voi jakaa koko ohjauksen useisiin syklisiin ja keskeytystaskeihin. 1.5.7 CJ1-sarja CJ1-laitteet ovat sisältäpäin tarkasteltuna samanlaisia kuin CS1-laitteet. Erottavat tekijät ovat pienempi fyysinen koko ja rajoittuneempi IO-kapasiteetti. CJ1-sarja koostuu CJ1G-H ja CJ1H-H sekä pienimmistä CJ1M-CPU:sta. Yhteensä näitä on tarjolla 13 eri CPUvaihtoehtoa. Myös prosessinsäätö-cpu:t (CJ1G- P) ovat saatavissa sekä CJ1M-logiikoissa myös mallit, joissa on integroitu Ethernet-liityntä. Väyläliitännät ovat liki samat kuin CS1:ssäkin. Järjestelmä on täysin modulaarinen ja se rakennetaan ilman taustakehikoita kuten CQM1H-järjestelmäkin. Yhteen riviin voidaan asentaa 10 yksikköä. Laitteiston paikallisdigitaali-io-pistemäärä on enintään 2560 IO-pistettä, jolloin se on laajennettu CPU-rivin lisäksi neljään riviin. Ohjelmamuistin koko on enintään 250 kstep ja datamuistin laajuus 32+ 13*32kW. Ohjelmamuistirakenne ja ohjelmoitavuus ovat kuten CS1-laitteissa. 15
1.5.8 CP1-sarja CP1-laitteet ovat sisältäpäin tarkasteltuna samanlaisia kuin CS1/CJ1 (ver3.0)-laitteet. Erottavat tekijät ovat kompakti rakenne ja rajoittuneempi IO-kapasiteetti. CP1-sarja koostuu CP1H sekä pienimmistä CP1L-CPU:ista. Erikoista ohjelmointiliitännän osalta on näissä se, että vakiona on vain USB-liitäntä. RS-portit ovat lisävarusteita. CP1H on laajennettavissa suoraan enintään seitsemällä CP1W-laajennusyksiköllä ja/tai enintään kahdella CJ1-sarjan väylä- tai esim. analogiyksiköllä adapterin avulla. CPU:n digitaali-io-pistemäärä on 20/40 IO-pistettä, ja XA-malleissa on lisäksi sisäänrakennettuna 4 AD- ja 2 DA-liitäntää. Digtaali-IO on osin parametroitavissa keskeytyspohjaiseksi ja enimmillään tämän avulla saadaan neljän takaisinkytketyn pulssiohjatun paikoitusakselin sovellus. VAU Ohjelmamuistin koko on 20 kstep ja datamuistin laajuus 32kW. Ohjelmamuistirakenne ja ohjelmoitavuus ovat kuten CS1/CJ1 (ver 3.0)-laitteissa. CP1H-laitteisiin voidaan lisätä CPU:hun kaksi sarjaporttia. porttiin 1 pieneksi paikallisnäytöksi. Pikkuveli CP1L (CP1L-L ja CP1L-M CPU:t) on laajennettavissa enintään kolmella (CP1L-M) tai yhdellä (CP1L-L) CP1W-laajennusyksiköllä. CPU:n digitaali-io-pistemäärä on L-malleissa 10/14/20 ja M-malleissa 30/40 IO-pistettä. Ohjelmamuistin koko on L-malleissa 5 kstep ja datamuistin laajuus 10kW. M-malleissa ohjelmamuistin koko on 10 kstep ja datamuistin laajuus 32kW. Ohjelmamuistirakenne ja ohjelmoitavuus ovat kuten CP1H:ssakin. 10/14/20-pisteisiin CP1L-malleihin voidaan lisätä yksi sarjaportti ja 30/40-pisteisiin kaksi. Myös CP1W-DAM01-näyttöyksikkö voidaan asentaa Viimeksi kesällä 2009 ovat markkinoille ilmestyneet edulliset CP1E (CP1E-E ja CP1E-N) CPU:t. Jos em. CP1L/H logiikat on ajateltu CPM2*/CQM1H-seuraajiksi, niin tämä lienee sitten CPM1A seuraaja. CP1E logiikat tukevat vain relekaavio-ohjelmointia, joka on tosin yhtenäinen isoveljien kanssa. CPU:n digitaali-io-pistemäärä on E-malleissa 20/30/40 ja se on laajennettavissa 30/40- pisteisissä malleissa kolmella CP1W-yksiköllä Ohjelmamuistin koko taas on E-E-malleissa 2 kstep ja E-N-malleissa 8 kstep. Datamuistin laajuudet ovat vastaavasti 2kW / 8kW. CP1E-N-malleissa on vakiona RS232-sarjaportti ja 30/40-pisteisissä malleissa mahdollisuus lisätä vielä toinenkin. CP1E- E-mallit eivät tue sarjaporttia lainkaan. 16
1.5.9 NSJ-sarja (Sysmac One) NSJ-laitteissa on yhdistettty NS-käyttöpääte ja CJ1-logiikka, jossa on väyläliitäntä. Edestäpäin ei laitetta erota NS-käyttöpäätteistä. Syvyyttä on hieman enemmän ja taustapuolella näkyy logiikan sekä väyläliitännän näyttöjä ja liitäntöjä. Malleja on paljon, koska Käyttöpäätteenä onns5/ns8/ns10 tai NS12, jossa voi olla myös Ethernet-liitäntä Logiikkana voi olla CJ1G-CPU45H (ver. 3.0) tai CJ1M-CPU13 (ver. 3.0) Kenttäväylämasteri voi olla DRM21 (DeviceNet), PRM21 (Profibus-DP master) tai CORT21 ( protokollavapaa CAN-liitäntä) Käyttöpääte ja logiikka keskustelevat keskenään sisäistä väylää pitkin. Logiikkaosaan voidaan myös kytkeä paikallisesti lisää erikois-io- tai väyläyksiköitä.. Yhteydet CX-One-ohjelmistoista NSJ-laitteen osiin saadaan yhdestä pisteestä joko USB- sekä Ethernet-malleissa myös Ethernet-väylän kautta. USB-liitännän lisäksi näyttöosassa on kaksi RS232- porttia kuten kaikissa NS-näytöissä. Logiikkaosassa on yksi RS232-portti. 1.5.10 CJ2-sarja CJ1-sarjasta paranneltu CJ2-sarja julkaistiin 2008. CPU on CJ1H-H-malleihinkin verrattuna tehokkaampi ja ohjelmamuistit laajempia. Ohjelmointiin on CPU:ssa USB-liitäntä, ohjelmointiin ja muuhun kommunikointiin RS232C-sarjaportti sekä EIP-malleissa Ethernet/IP-liityntä. Ethernet/IP-liitäntä tukee Ethernet/IP- sekä FINS-kommunikointeja. Socket-kommunikoinnit sekä sähköpostitoiminnot puuttuvat. Toisaalta Ethernet/IP-kommunikointi sallii noodien väliset kommunikoinnit Datalinkkien avulla ilman logiikkaohjelmointia. Ohjelmoinnin suhteen on toisiin Sysmac-logiikoihin nähden enemmän vapauksia D-alueen käyttö bitteinä Monimuotoiset epäsuorat osoitukset taulukoilla Ethernet/IP-kommunikointia käytettäessä verkkosymbolit toisten CJ2-EIP-logiikoiden ja NS-näyttöjen kanssa. 17
2 SYSMAC CJ1M-OHJELMOITAVA LOGIIKKA CJ1M-logiikat ovat osa CJ1-logiikkaperhettä. CJ1M-keskusyksiköt käyttävät samoja IO- ja väyläyksiköitä sekä teholähteitä kuin CJ1G-H ja CJ1H-H -logiikatkin. Keskusyksiköt ovat myös ohjelmiltaan yhteensopivia. Itseasiassa CJ1M-CPU21/22/23-laitteissa on sisäänrakennetun pulssi- IO-liitännän vuoksi enemmän käskyjä, kuin muissa keskusyksiköissä. CJ1M eroaa käytännössä CJ1G-H ja CJ1H-H -logiikoista vain edullisemman hintansa sekä pienemmän ohjelmamuistinsa ja IO-kapasiteettinsa takia. CPU:t 11, 12 ja 13 on saatavissa myös integroidulla Ethernet-liitynnällä. CJ1- ja CS1-logiikat ovat jo kehittyneet versioon 4.0. Nyt käytettävissä on normaalin relekaavioohjelmoinnin (LD) lisäksi myös strukturoitu teksti (ST) tai sekvenssivuokaavio (SFC) ohjelmamuodot sekä toimilohkot (FB). Toimilohkot helpottavat ohjelmointia, jos sama ohjelmarakenne täytyy suorittaa useasti eri muuttujilla. Ne ovat tavallaan itseohjelmoitavia käskyjä / funktioita, kuten esim. skaalaus- tai moottorin ohjauspiirit. Strukturoitu teksti sopii aritmeettisten ym. Toimitusten käsittelyyn. Sekvenssikaavio taas nimensä mukaisesti sekvenssien eli askelohjausten luomiseen. Toimilohkoja voi ohjelmoida CX-Programmer versiolla 5.0 tai uudemmalla. ST- ja SFC ohjelmat edellyttävät CX-Programmer versiota 7.2. CJ1M-logiikka on siis kooltaan pieni, mutta nopea ja laajan käskykannan omaava ohjelmoitava logiikka. CJ1M on rakenteeltaan modulaarinen ja sen tulojen ja lähtöjen määrä voi yhteensä olla maksimissaan 640 bittiä. Valittavissasi on kuusi eri CPU-vaihtoehtoa (+ 3 Ethernet-mallia). CJ1M -järjestelmä kootaan seuraavista erillisistä osista. teholähde CJ1W-PA... tai CJ1W-PD... CPU CJ1M-CPU11/12/13/21/22/23/ETN11ETN/ETN12ETN/ETN13ETN digitaaliset tuloyksiköt CJ1W-ID... (8/16/32/64 bit) digitaaliset lähtöyksiköt CJ1W-OC.../OD... (8/16/32/64 bit) analogituloyksiköt CJ1W-AD... analogilähtöyksiköt CJ1W-DA... analogiyksikkö CJ1W-MAD42 lämpötilansäätöyksiköt CJ1W-TC... lämpötilanmittausyksiköt CJ1W-TS... pikalaskuriyksiköt CJ1W-CT021/-CTL41 SSI-liitäntäyksikkö CJ1W-CTS21 paikoitusyksiköt CJ1W-NC... kenttäväyläyksiköt DeviceNet master/slave CJ1W-DRM21 Component master CJ1W-CRM21 Compobus/S master CJ1W-SRM21 Profibus-DP master CJ1W-PRM21/ Profibus-DP slave CJ1W-PRT21 väyläyksiköt Ethernetyksikkö CJ1W-ETN21 / Ethernet/IP CJ1W-EIP21 Controller Link -yksikkö CJ1W-CLK21 sarjaliikenneyksiköt CJ1W-SCU21/41 CAN-yksikkö CJ1W-CORT21 Mechatrolink II -väylämasteryksiköt CJ1W-MCH72/-NCF71/NCx71 Liikeohjain Trajexia-PLC CJ1W-MCH72 IO-laajennusyksiköt CJ1W-IC101 ja CJ1W-II101 18
Yksiköt kiinnitetään toisiinsa yksiköiden ylä- ja alapuolella olevilla salvoilla. Erillistä taustakehikkoa ei tarvita. Poweri tulee vasemmalle, CPU sen oikelle puolen ja edelleen CPU:n oikealle puolen muut yksiköt. Yhteen riviin voidaan laittaa powerin ja CPU:n lisäksi enintään 10 yksikköä. CPU:t 13 ja 23 sallivat myös toisen yksikkörivin käytön. Nyt voidaan käyttää jopa 20:ta yksikköä. Yksikkörivit kytketään IO-kontrolliyksikön CJ1W-IC101, kaapelin CS1W-CNxx3 ja IOliitäntäyksikön CJ1W-II101 avulla toisiinsa. Kuvassa näkyy kahden yksikkörivin kokoonpano. IO-kontrolliyksikkö kytketään heti CPU:n perään ja laajennusrivin IO-liitäntäyksikkö heti powerin perään. Rivin päättää aina päätylevy, joka tulee CPU:n sekä IO-liitäntäyksikön mukana 2.1 CJ1W-teholähteet. 19
2.2 CJ1M-keskusyksiköt Seuraavassa taulukossa on eri CPU-vaihtoehdot. I/O-points = IO- eli paikallistulo- ja lähtöbittien maksimilukumäärä Expansion Racks = laajennusrivien määrä Program capacity = Sovellusohjelmamuistin koko steppeinä (1 käsky varaa 1-7 steppiä) Data Memory = Paristovarmennetun datamuistin koko tuhansina sanoina (kw) LD instr...= kosketinkäskyn suoritusaika ohjelmassa Pulse IO -keskusyksiköissä CPU21/22/23 oleva sisäänrakennettu pulssi-io-liitäntä, jonka tuloissa mm. 2 pikalaskuria, max. 4 keskeytytuloa, kotirajatulot ja lähdöissä mm. 2 pulssilähtöä. Vertailun vuoksi isoveljien CJ1G-H ja CJ1H-H vastaava taulukko. CJ1H-H-R CPU:t ovat Hmalleista vielä paranneltuja ja nopeampeja malleja. 20
CJ1M-CPU1x-ETN CPU:n pääosat. CPU on perus-cpu, mutta siihen on liitetty CJ1W-ETN21- yksikkö. Integroidusta Ethernet-yksiköstä on poistettu Socket- sekä sähköpostiominaisuudet verrattuna erilliseen yksikköön. ETN-osa varaa korttipaikan 0 (Slot 0), jossa näkyy IO taulueditorilla tarkasteltuna CJ1W-ETN21. Ethernet-liitännän oletus-ip-osoite on 192.168.250.node. Node on yksikön FINS-laiteosoite ja se annetaan ETN-osan Node-kiertokytkimillä heksamuodossa. Noodinumero voi olla 1 254 (dec). 21
2.2.1 Indikaattorit CPU ledit. RUN = ilmaisee CPU:n toimintatilan. Loistaa vihreänä, kun logiikka on Run tai Monitortilassa. Logiikan ollessa Program-tilassa tai virheessä, on Led pimeänä. ERR/ALM= ilmaisee CPU:n häiriötilan. Loistaa punaisena, kun logiikka on virhetilassa (Fatal Error). Tällöin ohjelmasykliä ei suoriteta. Led vilkkuu punaisena, kun logiikka on hälytystilassa (Non-Fatal Error). Logiikan ollessa häiriöttömässä tilassa on Led pimeä. INH = PRPHL = COMM = BKUP = ilmaisee lähtöjen nollausbitin A500.15 olevan 1. Kaikki lähtöbitit ovat myös arvossa 0. Tällöin Led loistaa oranssina. ilmaisee CPU:n kommunikoivan Peripheral-portin kautta. Vilkkuu oranssina kommunikoinnin tahtiin. ilmaisee CPU:n kommunikoivan RS-232C-portin kautta. Vilkkuu oranssina kommunikoinnin tahtiin. ilmaisee CPU:n varmuuskopioinnin tapahtuvan. MCPWR = ilmaisee vihreällä loistolla CPU:ssa olevan CF-muistikortin olevan jännitteellinen. BUSY = ilmaisee CPU:n kommunikoivan CF-muistikortin kanssa. Vilkkuu oranssina kommunikoinnin tahtiin. Älä katkaise muistikortin tai logiikan sähkön syöttöä tahi poista muistikorttia paikastaan tällöin. ETN21 ledit. RUN = 100M = ERC ERH SD/RD LNK FTP ilmaisee ETN-yksikö:n toimintatilan. Loistaa vihreänä normaalitilassa. Laitevirheessä on Led pimeänä. ilmaisee väylänopeuden. Loistaa 100Mbps väylässä. Normaalisti pimeänä. Loistaa punaisena laiteviassa, tai jos noodiosoite ei ole 1 254. Normaalisti pimeänä. Loistaa punaisena CPU puutteellisissa / virheellisissä asetteluissa. Tyypillisesti reititystaulun puutteellinen asettelu. Led vilkkuu, jos IPosoitteen asettelu virheellinen. Tyypillisesti siksi, että automaattista konversiota käytettäessä IP-osoitteen laiteosa ei vastaa noodiosoitetta. Kommunikoinnin merkkivalot Loistaa keltaisena, kun yksikkö kytketty väylään Loistaa keltaisena, kun FTP-serveriin on kytkeytynyt käyttäjä. 22
2.2.2 DIP-kytkimet Näitä kytkimiä voi kääntää sähköjen ollessa kytkettynä. Oletustila kaikille kytkimille on OFF. PIN 1 PIN 2 PIN 3 PIN 4 PIN 5 estää ohjelman ja parametrien kirjoittamisen asennossa ON mahdollistaa käynnistystiedostojen siirtämisen muistikortilta CPU:lle käynnistyksessä asennossa ON ohjaa käsiohjelmointilaitteen kieleksi englannin asennossa ON määrittää Peripheralportin asetukset: ON, tällöin portin asetukset määräytyvät PLC setup:n mukaisesti (oletus Sysmac Way 9600, 7,E,2) OFF, tällöin on käytössä Toolbus, Baud rate auto detect määrittää RS232C-portin asetukset: ON, tällöin on käytössä Toolbus, Baud rate auto detect OFF, tällöin portin asetukset määräytyvät PLC setup:n mukaisesti PIN 6 tila ohjaa muistipaikkaa A395.12 (asento ON = bitti 1 ) PIN 7 PIN 8 ON-asennossa Easy Backup, eli logiikan tarvittavien tietojen kopiointi muistikortille. Paina muistikorttiaseman virtakytkintä 3s, niin kopiointi käynnistyy. Jos käynnistyksessä PIN7 = ON, niin tiedot kopioituvat kortilta CPU:lle. ei käytössä, aseta asentoon OFF 23
2.2.3 CF-muistikorttiasema CF-muistikorttiasemaan voi asentaa normaalin Compact Flash -muistikortin. Kortille voidaan tallettaa tiedostoja monella tapaa. Kun CX-Programmerilla ladataan ohjelma logiikkaan, on mahdollista valita alaslataukseen myös symbolit sekä ohjelman ja ohjelmarakenteen kommentit. Tällöin valittaessa näiden kohteeksi kortti, muodostuu sinne omat tiedostot, SYMBOLS.SYM, COMMENTS.CMT ja PROGRAMS.IDX. Muistikortille saadaan myös tehtyä käynnistystiedostot (AUTOEXEC.* tai pelkkä REPLACE.OBJ)) tai sinne voidaan helposti kopioida easybackuptoiminolla koko logiikka ohjelmineen ja asetuksineen (BACKUP:*). Logiikkaohjelma voi luoda kortille kansioita ja tiedostoja. Ohjelmasta käsin voidaan tietysti myös lukea tiedostoja. Muistikorttia hallitaan CX-Programmerista avattavalla Memory Card -ohjelmistolla. Muistikortin voi adapterin avulla liittää myös PC-tietokoneen PCMCIA-korttipaikkaan. Kortti on logiikan käytettävissä, kun siihen on kytketty jännite. Tällöin MCPWR-Led loistaa. Jännitesyötön voi katkaista tai kytkeä muistikorttiaseman virtakytkimellä. Kun logiikka käsittelee korttia, loistaa BUSY-Led. Tällöin korttia ei saa poistaa. Kortti poistetaan jännitteettömänä korttiaseman alapuolella olevalla painikkeella. Itse logiikka saa olla jännitteinen korttia asennettaessa tai poistettaessa. Systeemiversion 3.0 ja 4.0 logiikoissa on myös sisäistä kommenttimuistia, johon voi ladata logiikan kommentit ja symbolit. 2.2.4 Sarjaportit Molemmat sarjaportit tukevat RS232-signaalitasoja. Peripheral-porttiin tarvitaan kaapeli CS1W-CNx26 tai normaali SYSMAC-ohjelmointikaapeli varustettuna adapterilla CS1W-CN118 tai huoltokaapeli CQM1-CIF02 varustettuna adapterilla CS1W-CN114. RS232C-porttiin sopii normaali SYSMAC-ohjelmointikaapeli. Peripheral-portin protokollat: Host Link ToolBus ohjelmointiin ja ylläpitoon NT-Link 1:N käyttöpäätteitä varten Serial Gateway RS232C eli Host Link-portin protokollat: Host Link ToolBus ohjelmointiin ja ylläpitoon NT-Link 1:N käyttöpäätteitä varten avoin RS232C-kommunikointi TXD ja RXD-käskyillä logiikkaohjelmasta PC Link Master /Slave CJ1M-logiikoiden keskinäistä linkkikommunikoinita varten Serial Gateway sarjaliikennetoimilohkoja varten Sarjaportit tukevat läpiohjelmointia, esim NS-käyttöpäätteiden sovellutukset voidaan ladata logiikan lävitse. 24
2.3 CJ1M-muistit CJ1M-logiikan muistit jakautuvat seuraaviin osiin: Sovellusohjelmamuisti (User Program). Ohjaus voidaan jaotella useisiin ohjelmiin eli taskeihin. Taskityypit ovat syklinen ja keskeytystaski. Muuttujamuistit (IO Memory) muuttujien tallennusta varten. Muisteja kutsutaan ohjelmista tai myös logiikan ulkopuolelta. Parametrimuistit (PC Setup and other parameters) sisältävät tietoja logiikan asetuksista. Flash-muisti säilyttää tietonsa ilman apusähköä. Sinne siirtyy automaattisesti niin logiikan ohjelmat kuin parametritkin. Logiikan käynnistyksessä nämä tiedot haetaan Flash-muistista RAM-muisteihin. Kommenttimuisti logiikan kommentteja ja symboleja varten Toimilohkot tallettuvat myös Flash muistiin FB Program memory -alueelle CF-muistikortti (Memory Card) voi sisältää tiedosta ym. muisteista sekä mahdollisesti muita tarpeellisia tiedostoja. 25
2.4 Muuttujamuistit SYSMAC -logiikoissa on erilaisia muuttujamuistialueita eri tarkoituksiin. Muistia käsitellään lähinnä bitti- tai sanayksiköissä. 2.4.1 Muistien yksiköt Kun lukuja käsitellään digitaalisissa laitteissa, on kokonaislukutieto esitetty binääri- tai BCDmuodossa. Binäärimuotoisessa datassa kaikki bittikuviot ovat sallittuja ja binääriarvot esitetään tyypillisesti kymmenjärjestelmämuodossa joko etumerkillä tai ilman. Arvojen esittäminen käy myös heksadesimaalisesti. BCD-formaatissa ovat sallittuja vain tietyt bittikuviot. 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 Kymmenjärjestelmän mukaisesti esitettynä tavun arvo voi olla 0...255. Kahdesta tavusta muodostuu 16-bittinen kokonaisuus, eli sana, word (W). Sana onkin Sysmac-logiikoissa bitin lisäksi käytetty muistiyksikkö. Sana voi saada 2 16 eli 65 536 eri arvoa. Sanasta voidaan käyttää myös nimitystä kanava Sysmaclogiikoiden yhteydessä. Sanat ja bitit muodostavat osoitteet Sysmac-logiikoissa. Esimerkiksi IOsanaa 00 kokonaisuutena voidaan tarkastella sanana 00. Monesti kuitenkin biteittäin. Tällöin bitit saavat osoitteet 00.00, 00.01,..., 00.15. Bittiosoite muodostuu siis muistialueen lisäksi pisteerottimen vasemmalla puolella olevasta sananumerosta ja oikealla puolella olevasta bittinumerosta. 00.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 desimaalisesti esitettävässä binääri- ja heksadesimaalilukujärjestelmissä. Desimaalisessa (kymmenjärjestelmä) esitystavassa 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). Sanan maksimisarvo etumerkittömänä desimaalisena (UINT) on 65535. Jos käytetään etumerkkiä (INT) on sanan arvohaarukka -32768...+32767. Eniten merkitsevä bitti.15 toimii etumerkkibittinä. Jos se on 1, niin arvo tulkitaan negatiiviseksi, muutoin positiiviseksi. Arvo muodostetaan ns. kahden komplementtina. Kahden komplementti saadaan, kun invertoidaan eli käännetään jokaisen sanan bitti ja lisätään vielä yksi. Heksadesimaalinen esitystapa on suositeltava formaatti, kun sanaan halutaan syöttää nimenomaan tietty bittikuvio, se mitä se desimaaliarvona edustaa on toissijaista. 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). 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 26
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. Monesti laskentaa tehtäessä on arvojen käsittely helpointa liukuluvuilla eli reaaliarvoilla. Tällöin on myös desimaaliosat käytössä kokonaisarvon lisäksi. Siis laskentaa voidaan tehdä esim. alle ykkösen arvoilla. REAL-datatyypin pituus on 32 bit, eli arvon esittämiseen tarvitaan tuplasana. Reaaliluku voi tulla käyttöliittymästä, jostain muusta laitteesta tai ohjelmasta vakioarvona. Kaikki IO on CJ1- logiikoissa kokonaislukua käyttävää, yleensä datatyyppiä INT / UNIT / DINT / UDINT. Logiikoissa on omat aritmeettiset käskyt BCD-, binääri- kuin reaaliluvuillekin. CX-Programmerissa vaikuttaa muuttujan symbolin datatyyppi sekä monitoroituva käsky siihen, missä lukujärjestelmässä muuttujan monitorointi tapahtuu 2.5 CJ1M-muuttujamuistialueet Sysmac-logiikoissa on erityyppisiä muistialueita eri käyttötarkoituksia varten. Seuraavaksi CJ1Mlogiikan muistialueista lyhyt yhteenveto. Alue Laajuus Sanat Huomioitavaa CIO-alue, paristovarmentamaton I/O ja apumuistialue 6144 W 0000...6143 Tavalliset tulot ja lähdöt 0000...0900 I/O yhteensä max.640 bit Erikois-IO-yksiköt 2000...2959 CPU-väyläyksiköt 1500...1899 Sisäänrakennettu IO 2960...2961 käytössä 10 tulo- ja 6 lähtöbittiä Apumuistialue käyttämättömät IO-sanat W-alue, apumuistialue 512 W W000...W511 vapaaseen apumuistikäyttöön H-alue, paristovarmennettu apumuistialue 512 W H000...H511 vapaaseen apumuistikäyttöön A-alue, paristovarmennettu erikoisapumuistialue 960W A000...A959 Sanoja A000...A447 voi vain lukea D-alue, paristovarmennettu datamuistialue 32768W D00000...D32767 sanamuotoisen datan käsittelyyn Erikois-IO-yksiköt D20000...D20959 CPU-väyläyksiköt D30000...D30159 T-alue, ajastimet 4096W T0000...T4095 ajastimet eivät ole varmennettuja C-alue, paristovarmennetut laskurit 4096 W C0000...C4095 laskurit ovat nyt omalla alueella IR- eli indeksirekisterit 16 IR00...IR15 absoluuttiosoitteiden taltioiminen epäsuoraa muistinosoitusta varten. DR- eli datarekisterit 16 DR00...DR15 käytetään IR-rekistereiden yhteydessä offsetin aikaansaamiseksi CF-bitit, Condition Flags CF... järjestelmäbittejä, ilmaistaan CX- Programmerissa symbolinimillä TK-bitit 32 bit TK00...TK31 ilmaisevat syklisten taskien tilaa 27
Kuvassa on esitetty vielä yleensä käytettävät muuttujamuistialueet. Palkin leveys on yksi sana eli 16 bittiä. Palkin pituus kuvaa muistialueen laajuutta eli sanojen määrää. Huomaa käytettävät muistialuetunnukset alueen ensimmäisissä ja viimeisissä sanoissa. Kun muistia osoitetaan logiikkaohjelmassa, täytyy siis ensin valita muistialue, sitten sana ja bittiosoituksessa vielä sanan bitti. Kuvan ohjelmassa on käytetty H ja W- apumuistialueiden bittejä sekä D-alueen sanaosoitetta. Myös ajastin esiintyy sekä oloarvonsa että bittinsä kautta. Seuraavaksi hieman IO- ja D-alueiden jaottelusta ja varauksista. 28
2.5.1 CIO-alue Muistialue, joka on varattu tulojen lukua, lähtöjen kirjoitusta ja apu(työ)muistia varten. Vapaita sanoja ja bittejä voi käyttää apumuistina. Alueelle voidaan tehdä sana (es. 000) ja bittiosoituksia (es. 000.15). Tulo- ja lähtösanojen määräytyminen tapahtuu yksiköiden bittimäärän ja sijainnin perusteella. Yksi digitaalinen (binäärinen) tulo/lähtö varaa yhden bitin. Yksi analogitulo tai -lähtö varaa yhden sanan. IO-yksiköt jaotellaan seuraavasti: tavalliset digitaaliset tulo- ja lähtöyksiköt. Yksiköiden pistemäärä on 8...64 pistettä. Yksiköt saavat osoitteet asennuspaikan perusteella. IOtaulumäärittelyjen avulla on mahdollista muuttaa osoitteita. Oletuksena ensimmäisen yksikön osoite lähtee sanasta 0000. erikois-io-yksiköt (Special I/O units). Yksiöiden saamat osoitteet määräytyvät yksikössä olevan Machine Number -kytkimen asennon perusteella. Laitenumero 00 varaa 10 sanaa alkaen sanasta 2000. Lisäksi myös CPU-väyläyksiköt varaavat itselleen CIO-osoitteita. Yksi yksikkö varaa 25 sanaa. Yksikkönumero 00 varaa alueen alkaen sanasta 1500. Kuvassa näkyy CIO-alueen jaottelu. Edellä mainittujen IO-yksiköiden lisäksi on tiettyjä muistiblokkeja varattu CJ1M-CPU21/22/23 sisäänrakennetuille tuloille ja lähdöille, DeviceNet-väylän etä-io-kommunikoineille sekä sarjaliikennelinkille. 2.5.2 D-alue (Data Memory) Datamuistialue on paristovarmennettu vain sanamuotoisen datan käsittelyyn tarkoitettu alue. Aluetta voidaan käyttää sovellusohjelmassa esim. asetusarvojen, matemaattisten toimintojen, pinojen, yms. käsittelyyn sekä datan siirtoon väylissä toimivien logiikoiden välillä. Alueesta on varattu kaksi osaa erikois-io-yksiköiden parametrointeja varten. Mikäli kyseisiä yksiköitä ei ole konfiguraatiossa, niin tällöin näiden normaalisti käyttämät sanat ovat vapaita apumuistikäyttöön. 29
Erikois-IO-yksiköiden parametrit ovat alueella, joka alkaa sanasta D20000. Yksi laitenumero varaa 100 D-sanaa. CPU-väyläyksiköiden parametrit alkavat sanasta D30000. Myös nyt yksi yksikkönumero varaa 100 sanaa. 2.5.3 CPM2-muistialueet Vertailun vuoksi vanhojen koulutuslogiikoiden, eli CPM2A-laitteiden, muistialueet. Huomataan että muistialueet ovat paljon paljon pienempiä. Alue Laajuus Sanat Huomioitavaa IR-alue, paristovarmentamaton I/O ja apumuistialue Tulot 000...009 I/O yhteensä max.120 b Lähdöt 010...019 vapaa I/O toimii apumuistina Apumuistialue 928 b 020...049, 200...227 SR-alue, erikoisapumuistialue, järjestelmäohjaus- ja lippubittejä 192 b 228...255 Järjestelmäbittejä TR-alue, väliaikaisapumuistibitit 8 b Bitit TR0...TR7 Virtapiirin haarautumissa HR-alue, paristovarmennettu apumuistialue 320 b HR00...HR19 Paristovarmennettu AR-alue, paristovarmennettu apumuistialue 384 b AR00...AR23 Järjestelmäbittejä LR-alue, linkkimuistialue 256 b LR00...LR15 Tarkoitettu datan siirtoon kahden PLC:n välillä, myös apumuistina TC-alue, ajastimet ja paristovarmennetut laskurit 256 W TIM000/CNT000... TIM255/CNT255 Älä käytä ohjelmassa samannumeroisia ajastimia ja laskureita, koska näillä on sama muistialue DM-alue, paristovarmennettu datamuistialue Luku/Kirj 2048 W DM0000...DM2047 Vain sanamuotoisen datan käsittelyyn Vain luku 512 W DM6144...DM6655 Lukualueelle ei voi kirjoittaa logiikkaohjelmasta käsin. Sisältää PCsetup-alueen DM6600... DM6655 30
2.6 CJ1M toiminta ja sovellusohjelmamuisti Ennen CS1-logiikoiden markkinoille tulemista olivat SYSMAC-logiikat yksiohjelmaisia laitteita. Nyt CS1 ja CJ1-logiikoissa voidaan ohjaukset jaotella entistä paremmin, koska näiden logiikoiden ohjelmamuisti on jaoteltavissa useisiin ohjelmiin eli taskeihin. Oletuksena käytössä on 32 syklistä taskia (Cyclic Task) ja 256 keskeytystaskia (Interrupt Task). Ohjelmoidut ja suoritukseen pyydetyt sykliset taskit ajetaan peräkkäin nousevassa taskinumerojärjestyksessä. Kun kaikki sykliset taskit on ajettu, päivitetään tulot ja lähdöt eli IO, palvellaan sarjaportteja ja väyläyksiköitä. Tämän jälkeen alkaa uusi sykli eli ohjelmakierto. Useat erikoisyksiköt, liitännät tai tapahtumat voivat synnyttää keskeytyksiä. CJ1M-logiikoissa sallittu keskeytystapahtuma aktivoituessaan käynnistää keskeytystaskin, joka ajetaan välittömästi yhden kerran. Näin saadaan nopea vaste tapahtumalle. Taskien lisääminen ja asettelut tehdään CX-Programmerin projketinhallintaikkunassa. CX- Programmer järjestää taskit aina automaattisesti oikeaan järjestykseen. Jokainen taski eli ohjelma päätetään aina END(001)-käskyllä. Tämä onkin valmiiksi ohjelmoituna uusissa projektin logiikoissa omaan END-nimiseen blokkiinsa. 31
2.6.1 IO-päivitykset Tulojen tilojen tarkastukset ja lähtöjen tilojen kirjoitukset eli IO-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ä sisäänrakennettuja tuloja keskeytystuloina. Sovellusohjelmassa voidaan määritellä haluttujen tulo- ja lähtösanojen virkistykset käskyn yhteydessä Immediate Refresh-valinnalla tai erikseen IORF(097) -käskyllä. Näiden virkistysten lisäksi tapahtuvat myös sykliset IO-päivitykset. Erikois-IO-yksiköiltä voidaan estää kokonaan syklinen virkistys ja käyttää pelkästään keskeytysohjelmista tapahtuvaa päivitystä. 2.6.2 IO-vasteaika Aika, joka kuluu kun tulobitin tila luetaan muistipaikkaan ja sen ohjaama lähtö vaikuttuu, on IOvasteaika. Tähän aikaan vaikuttavat tulojen asettumisaikavakio, joka oletuksena on 8 ms, tarkastusaika, ohjelmien suoritusaika, transistorilähdön asettumisviive sekä porttien palveluajat. Myös tietysti se, mihin kohtaan IO-päivitystä tulon vaikuttuminen osuu. Digitaalituloilta voidaan poistaa asettumisaikasuodatin kokonaan. Tämä tehdään logiikan asetuksissa eli CX-Programmerin PLC Settings-ikkunassa. 2.7 Logiikan tilat SYSMAC logiikoilla on kolme toimintatilaa: RUN-tilassa suoritetaan sovellusohjelmaa sekä IO-päivitykset MONITOR-tila on kuten RUN-tila, mutta nyt voidaan oheislaitteesta, kuten käsiohjelmointilaite tai CX-PROGRAMMER, käsin suorittaa pakko-ohjauksia ja ajonaikaista ohjelmanmuokkausta eli Online Editointia STOP/PROGRAM-tila, jolloin ohjelmaa ja IO-päivityksiä ei suoriteta. Ohjelmointitila. CX-Programmerin tilariviltä voi tarkastaa CPU:n tilan. RUN-merkkivalo loistaa RUN- ja MONITOR-tiloissa. Jos CPU menee kesken ohjelmansuorituksen virhetilaan, (ERR-merkkivalo loistaa) niin tällöin CPU:n tila pysyy ennallaan, mutta ohjelman suoritus pysähtyy ja lähdöt menevät nollatilaan. Mikäli syntyy hälytys, vaikkapa paristojännitteen alenemasta, alkaa ALMmerkkivalo vilkkua, mutta CPU:n toiminta ei muutu. 2.8 Digitaaliset tulot ja lähdöt 24VDC- tuloihin voidaan kytkeä PNP- tai NPN-tyyppisiä 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. Ylös- tai alasvetovastusten, n 1Kohm, avulla saadaan PNP- tai NPN-tyypin antureita kytkettyä sekaisin saman COM-liittimen piiriin. Digitaali- eli kaksitilaohjauksiin voit käyttää PNP- ja NPN-tyyppisiä sekä relelähtöjä. 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. 32