NRO: 041-FIN-11 JA LOGIIKKAOHJELMOINTI
|
|
- Kristiina Karjalainen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 NRO: 041-FIN-11 JA LOGIIKKAOHJELMOINTI
2 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ö. Koulutuslaitteistona ovat tehokkaat CJ2M-CPU33 logiikat ja CX-One -ohjelmistolla varustetut tietokoneet. Vihkossa käsitellään ensin ohjelmoitavia logiikkoita yleisellä tasolla, sitten CJ2M-logiikoiden rakennetta ja toimintaa. Tämän jälkeen perehdytään näiden ohjelmointiin CX-Programmerohjelmistolla 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
3 SISÄLLYSLUETTELO ESIPUHE...2 SISÄLLYSLUETTELO YLEISTÄ OHJELMOITAVISTA LOGIIKOISTA Rakenne Toiminta Ohjelmointi Relekaavio-ohjelmointi Strukturoitu teksti -ohjelmointi Sekvenssivuokaavio-ohjelmointi Toimilohko-ohjelmointi Toimintaympäristö SYSMAC-logiikat CPM1A CPM2A CPM2C CQM1H C200HX eli Alfa-sarja CS1-sarja CJ1-sarja CP1H-sarja CP1L-sarja CP1E-sarja NSJ-sarja (Sysmac One) CJ2-sarja SYSMAC CJ2M-OHJELMOITAVA LOGIIKKA CJ1W-teholähteet CJ2M-keskusyksiköt Indikaattorit DIP-kytkimet CF-muistikorttiasema Ethernet/IP -yksikkö CJ2M-muistit Muuttujamuistit Muistien yksiköt IO-päivitykset IO-vasteaika Logiikan tilat Digitaaliset tulot ja lähdöt Tuloyksikkö CJ1W-ID Lähtöyksikkö CJ1W-OD SYSMAC-LOGIIKOIDEN IO-OSOITTEET CPM-logiikat CQM1H-logiikat C200HX-logiikat CS1-logiikat CJ-logiikat CP1H-logiikat
4 3.7 CP1L ja -E-logiikat CX-ONE CX-PROGRAMMER Ohjelmarakenne Uuden projektin aloitus Projekti- ja logiikkanäkymä Symbolilista ja symbolointi Symbolin datatyypit Työpöytä ja ikkunat Ohjelmointi Ohjelmien eli taskien lisääminen ja muokkaaminen Blokkien lisääminen ja muokkaaminen Virtapiirien lisääminen, tuhoaminen ja muokkaaminen Logiikkaprojektin kommentointi Properties-ikkunalla Projektin ominaisuudet Logiikan ominaisuudet Ohjelman ominaisuudet ja kommentointi Blokin ominaisuudet ja kommentointi Virtapiirin ominaisuudet ja kommentointi Käskyelementin ominaisuudet ja kommentointi Projektin tallennus Projektin avaus PERUSKÄSKYJEN OHJELMOINTI Ohjelmaelementti- eli käskytyökalut Käskyikkuna AND- ja OR-piirien luominen CX-Programmerilla Lopetuskäsky END(001) OnLine-yhteys ja logiikan toimintatilat Ohjelmien siirto logiikkaan eli alaslataus Monitorointi ja pakko-ohjaukset Virtapiirien ja käskyelementtien muokkaaminen Ohjelman muokkaaminen online-tilassa eli Online Edit BITIN KÄSITTELYKÄSKYT Pitopiiri KEEP(011), SET JA RSET Reunantunnistus DIFU(013) JA DIFD(014) Reunatunnisteiset eli kertasuoritteiset koskettimet Useamman peräkkäisen bitin nollaus - RSTA(531) Sekvenssiohjaukset eli siirtorekisterit Siirtorekisterin runko KEEP(011) -käskyllä Siirtorekisterin runko SET/RSET- käskyillä Siirtorekisterin runko SFT(010)-käskyllä Etenemisehto SFT(10)-käskylle Askeleiden toimenpiteet AJASTIMET AJASTIMET Perusajastin TIM LASKURIT Laskuri CNT Ylös/alaslaskuri CNTR(012) Pikalaskurit DATAN KOPIOINTI-, SIIRTO- JA VERTAILUKÄSKYJÄ
5 10.1 Datan osoittaminen ja vakioarvojen tunnukset Datakäskyjen ohjelmointi Sanan kopiointikäsky 10.4 Sanan kopiointikäsky 10.5 Digitin kopiointikäsky 10.6 Blokin kirjoitus BSET(071) Blokin kopiointi 10.8 Sanavertailu CMP(020) Aluevertailu ZCP(088) Lohkoaluevertailu BCMP(068) Blokkivertailija MCMP( 019) Läpiohjelmoitavat symboliset vertailijat Sanasiirtorekisteri WSFT(016) DATAN MUUNNOSKÄSKYT BCD-Binäärimuunnos 11.2 Binääri-BCD-muunnos 11.3 Binääri-liukulukumuunnos 11.4 Liukuluku-binäärimuunnos 12 ARITMETIIKKAKÄSKYT Etumerkillisten kokonaislukujen yhteenlasku 12.2 Etumerkillisten kokonaislukujen vähennyslasku 12.3 Etumerkillisten kokonaislukujen kertolasku 12.4 Etumerkillisten kokonaislukujen jakolasku 12.5 Binäärinen lisäyskäsky 12.6 Binäärinen vähennyskäsky 12.7 Muistibitin asetus 12.8 Muistibitin nollaus 12.9 BCD-kokonaisslukujen yhteenlasku BCD-kokonaisslukujen vähennylasku BCD-kokonaisslukujen kertolasku BCD-kokonaisslukujen jakolasku BCD- lisäyskäsky BCD- vähennyskäsky Reaaliarvojen laskentaa LOOGISET KÄSKYT Komplementti 13.2 Kahden komplementti 13.3 Looginen JA 13.4 Looginen TAI 13.5 Ehdoton TAI 14 TOIMILOHKO-OHJELMOINTI Toimilohkon luominen Toimilohkon määrittely Muuttujan määrittely Toimilohkon ohjelmointi relekaaviolla Toimilohkon kutsu Toimilohkon kutsu Toimilohkojen muokkaaminen Toimilohkojen lataukset Toimilohkojen suojaus Toimilohkojen monitorointi
6 15 PROJEKTIN TARKISTUKSET, PARAMETROINTI JA YLLÄPITO Ohjelman tarkistukset Compile- eli käännöstoiminnolla Logiikan IO-taulu, PLC IO Table Logiikan parametrointi PLC Settings Muuttujamuistieditori PLC Memory Ohjelmien vertailu Compare with PLC Ohjelman ylöslataus Transfer From PLC Logiikan eri osien tallentaminen tiedostoon Logiikan osien lataaminen tiedostosta Ohjelmien vertailu tiedostoon Ristiviittauslista Muuttujien etsintä Find in PLC Osoiteviiteikkuna osoitteen jäljittämisessä Address Reference Tool Data Trace ohjelma monitorointiin Ohjelman rakenneikkuna Section/Rung Manager Logiikan tilan tarkistus ja virhehistoria Error Log HARJOITUKSIA
7 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. Nykyisissä logiikoissa, kuten CJ2M, on myös Flash-ROMmuistia, josta ohjaus siirretään automaattisesti käynnistyksessä RAM-muistiin. Sovellusohjelman kokoa 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. Sovellusohjelma käyttää muuttujamuisteja tilojen lukemiseen ja kirjoittamiseen. Parametreilla tarkoitetaan logiikan tai sen yksiköiden toimintoihin vaikuttavia asetteluita. Niitä muuttamalla saadaan laitteisto toimimaan halutulla tavalla. Tyypillisiä ohjelmoitavan logiikan väyläliityntöjä ovat USB, jokin teollisuus-ethernetprotokolla sekä edelleen valmistajakohtainen RS232/422-tason protokolla. Binääristen eli digitaalisten 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 V, voidaan jakaa logiikassa 6000 tasoon. 7
8 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). 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 väylien päivitykset Itsediagnostiikka Sovellusohjelmien suoritus 8
9 1.3 Ohjelmointi Ohjelmointi tehdään normaalisti tietokoneeseen asennettavalla ohjelmointiohjelmistolla. Ohjelmointiin on luotu standardi, IEC , 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/CJ2/CP1-logiikoiden ohjelmia 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 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
10 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 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
11 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. Kuvassa CJ-logiikat kommunikoivat EtherNet/IP väylässä datalinkkien avulla keskenään. Lisäksi Ethernetväylää hyödynnetään käyttöliittymien sekä ohjelmointiympäristön kanssa. 11
12 1.5 SYSMAC-logiikat OMRONin ohjelmoitavat logiikat tunnetaan nimellä SYSMAC. SYSMAC-perhe koostuu eri logiikkasarjoista. Seuraavissa kappaleissa esitellään lyhyesti SYSMAC C/CJ1/CJ2/CS1/CP1- logiikkasarjat. SYSMAC tulee uudella fontilla esitettynä kuvaamaan myös uutta NJkoneohjainsarjaa. 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-, CJ2M/H ja CP1L/H/E-logiikat. Uudemmat Cx1-logiikat ovat ohjelmoinniltaan, muisteiltaan keskenään lähes identtisiä. Vain IO-osoitteet muodostuvat CP1-sarjassa isommista poiketen. CJ2-logiikat sallivat enemmään vapauksia ohjelmoinnin ja symboloinnin suhteen kuin muut CPM1A (n sanaa) ja datamuistin laajuus 1kW. CPM1A -laitteet tulivat markkinoille 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 CPM2A CPM2A -laitteet tulivat markkinoille 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 12
13 DeviceNet-, Profibus-DP ja Compobus/S-kenttäväyliin. Ohjelmamuistin koko on 4kW ja datamuistin laajuus 2kW. Laitteissa on kohtuulliset pulssi-io-ominaisuudet. Sillä voidaan toteuttaa kahden liikeakselin pulssiohjaus 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/S-masterin 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. IOpistemää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-iopistemää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 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/S-kenttä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
14 1.5.5 C200HX eli Alfa-sarja C200HX -laitteet soveltuvat laajoihinkin ohjauksiin.ensimmäinen C200-sarjan logiikka, C200H, julkaistiin yli 25 vuotta sitten Nykyinen mallisto sekin jo vuonna 1996.Valittavana on 13 eri CPU vaihtoehtoa. CPU:t jaotellaan C200HE, C200HG ja C200HXlaitteisiin. 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-iopistemäärä on enintään 1280 IO-pistettä, jolloin se on laajennettu CPU-kehikon 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, CJ2 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 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. CJ2 logiikat sallivat lisäksi datamuistin käytön myös bittiohjauksissa, omien datatyyppien eli struktuurien luomisen, sekä Ethernet/IP-väyläyhteyksissä verkkosymbolien käyttämisen laitteiden väliseen kommunikointiin. Nämä mahdollisuudet nopeuttavat ohjelmointityötä. 14
15 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,(FINS), Ethernet/IP, ProfiNet, 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 *32kW. Ohjelmamuistirakenne koostuu siis useista ohjelmista (taskeista). Ohjelmoitsija voi jakaa koko ohjauksen useisiin syklisiin ja keskeytystaskeihin CJ1-sarja CJ1-laitteet ovat sisältäpäin tarkasteltuna samanlaisia kuin CS1-laitteet. Erottavat tekijät ovat pienempi fyysinen koko ja rajoittuneempi IOkapasiteetti. CJ1-sarja koostuu CJ1G-H ja CJ1H- H sekä pienimmistä CJ1M-CPU:sta. Yhteensä näitä on tarjolla 13 eri CPU-vaihtoehtoa. 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 *32kW. Ohjelmamuistirakenne ja ohjelmoitavuus ovat kuten CS1-laitteissa. 15
16 1.5.8 CP1H-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 sekä Ethernet (FINS)-liitynnät ovat lisävarusteita. CP1H on laajennettavissa suoraan enintään seitsemällä CP1Wlaajennusyksikö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 IOpistettä, ja XA-malleissa on lisäksi sisäänrakennettuna 4 AD- ja 2 DAliitä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:n optiokorttipaikkoihin kaksi sarjaporttia tai yhden Ethernetportin ja yhden sarjaportin CP1L-sarja Pikkuveli CP1L (CP1L-L ja CP1L-M CPU:t) on laajennettavissa enintään kolmella (CP1L- M) tai yhdellä (CP1L-L) CP1Wlaajennusyksiköllä. CPU:n digitaali-iopistemää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 CP1Lmalleihin voidaan lisätä yksi sarjaportti ja 30/40-pisteisiin kaksi. Yksi CP1W-CIF41 - Ehernet-yksikkö voidaan laittaa sarjaportin sijasta. Myös CP1W-DAM01-näyttöyksikkö voidaan asentaa porttiin 1 pieneksi paikallisnäytöksi. 16
17 CP1E-sarja 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 relekaavioohjelmointia, joka on tosin yhtenäinen isoveljien kanssa. Toimilohkoja ei voi käyttää. 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. Myös CP1W-CIF41 Ethernetyksikköä voidaan käyttää. CP1E-E-mallit eivät tue sarjaporttia lainkaan. Analogiliitäntöjä sisältävä malli on CP1E-NA. Lopuksi vielä hieman taulukkoa CP1L- ja E-logiikoiden toiminnallisuuksista. 17
18 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 CJ2-sarja CJ1-sarjasta paranneltu CJ2H-sarja julkaistiin 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ä. Kevyemmät CJ2M-CPU:t tulivat markkinoille Näissä on CPU1x-mallit ilman Ethernet/IP-liityntää ja CPU3x-mallit sisäänrakennetulla Ethernet/IP-liitynnällä. 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- ja E-muistialueiden käyttö bitteinä Monimuotoiset epäsuorat osoitukset taulukoilla Struktuurit eli käyttäjän määrittämät datatypit Ethernet/IP-kommunikointia käytettäessä verkkosymbolit toisten CJ2-EIP-logiikoiden ja NS-näyttöjen kanssa. 18
19 2 SYSMAC CJ2M-OHJELMOITAVA LOGIIKKA CJ2M-logiikat ovat osa CJ-logiikkaperhettä. CJ2M-keskusyksiköt käyttävät samoja IO- ja väyläyksiköitä sekä teholähteitä kuin muutkin CJ-logiikatkin. Keskusyksiköt ovat myös ohjelmiltaan yhteensopivia vanhempien mallien ohjelmien kanssa. Ohjelmointiin on käytettävissä normaalin relekaavio-ohjelmoinnin (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 on taas nimensä mukaisesti sekvenssien eli askelohjausten luomiseen tarkoitettu muoto. CJ2M-logiikka on siis kooltaan pieni, mutta nopea ja laajan käskykannan omaava ohjelmoitava logiikka. CJ2M on rakenteeltaan modulaarinen ja sen paikallistulojen ja -lähtöjen määrä voi yhteensä olla maksimissaan 2560 bittiä, hajautettu IO on käytännössä rajoittamaton. Ohjelmamuistin koko vaihtelee välillä 5 kstep 60 kstep. CJ2M -järjestelmä kootaan seuraavista erillisistä osista. teholähde CJ1W-PA... tai CJ1W-PD... CPU CJ2M-CPU11/12/13/14/15 sekä EtherNet/IP-versiot CPU31/32/33/34/35 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-NCx41/x43 kenttäväyläyksiköt DeviceNet master/slave CJ1W-DRM21 Componet master CJ1W-CRM21 Compobus/S master CJ1W-SRM21 Profibus-DP master CJ1W-PRM21/ Profibus-DP slave CJ1W-PRT21 ProfiNet IO-controlleri CJ1W-PNT21 väyläyksiköt Ethernetyksikkö CJ1W-ETN21 / Ethernet/IP CJ1W-EIP21 Controller Link -yksikkö CJ1W-CLK21 sarjaliikenneyksiköt CJ1W-SCU21/31/41 CAN-yksikkö CJ1W-CORT21 Mechatrolink II -väylämasteryksiköt CJ1W-NCF71/NCx71 EtherCAT-paikoitusmasteryksiköt CJ1W-NCx81 /NCx82 Liikeohjain Trajexia-PLC CJ1W-MCH72 IO-laajennusyksiköt CJ1W-IC101 ja CJ1W-II101 Lisäksi CPU:n ja powerin väliin asennettava CJ2M-MD21x-pulssi-IO-yksiköt 19
20 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öä. Yksikkörivit kytketään IO-kontrolliyksikön CJ1W-IC101, kaapelin CS1W-CNxx3 ja IOliitäntäyksikön CJ1W-II101 avulla toisiinsa. Laajennusräkkejä voi olla jopa 3 kappaletta. Poikkeuksen asennuksiin tekee CJ2M-MD21x-pulssi-IO-yksiköt, jotka asennetaan (max 2 kpl) powerin ja CPU:n väliin. Kuvassa on Standardi-CPU, jossa on siis sisäänrakennettu USB-liitynnän lisäksi EtherNet/IPliityntä sekä Simple-CPU, jossa USB:n lisäksi on RS232-sarjaportti. 20
21 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. 21
22 2.2 CJ2M-keskusyksiköt Seuraavassa taulukossa on eri CPU-vaihtoehdot. Muutamia ominaisuuksia selitettynä: I/O-capacity = IO- eli paikallistulo- ja lähtöbittien maksimilukumäärä / Yksiköiden max. määrä Program capacity = Sovellusohjelmamuistin koko steppeinä (1 käsky varaa 1-7 steppiä) Data Memory = Paristovarmennetun datamuistin koko tuhansina sanoina (kw) Function Block Definitions = toimilohkojen määrä Function Block Instances = toimilohkokutsujen määrä Function Block Program Area = toimilohko-ohjelmamuisti LD instr...= kosketinkäskyn suoritusaika ohjelmassa 22
23 Vertailun vuoksi isoveljen CJ2H vastaava taulukko. 23
24 CJ2M-CPU3x CPU:n pääosat. CPU on sinällään vastaava CPU1x, mutta siitä on poistettu RS232- portti sekä lisätty sisäänrakennettuna CJ2M-EIP21-yksikkö. EIP-yksikkö ei varaa korttipaikkaa. Osat: 1. Muistikortin valot 2. Muistikortin virtakytkin 3. USB-portti 4. CF-Muistikorttiasema 5. CF-Muistikortti 6. Muistikortin vapautuspainike 7. Kiinnityssalpa 8. CPU Ledit. Katso seuraavilta sivuilta tarkemmin 9. DIP-kytkimet. Katso seuraavilta sivuilta tarkemmin 11. Liitin seuraavalle yksikölle 12. EtherNet/IP-yksikkö. Katso seuraavilta sivuilta tarkemmin 12. Optiokorttipaikka RS232 /RS422-yksiköille. 24
25 2.2.1 Indikaattorit CPU:n 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 = BKUP = ilmaisee lähtöjen nollausbitin A 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 varmuuskopioinnin / palautuksen tapahtuvan Flash-muistiin. Muistikorttiaseman ledit: 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. 25
26 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 ei käytössä, aseta asentoon OFF ei käytössä, aseta asentoon OFF 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 A (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 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 easybackup-toiminolla 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. 26
27 2.2.4 Ethernet/IP -yksikkö Ethernet-liitännän kautta voidaan liittyä logiikkaan CX-One- tai muilla ohjelmistoilla. Liitynnän kautta logiikka kommunikoi myös muihin automaatiolaitteisiin, kuten toiset ohjelmoitavat logiikat, käyttöliittymät, jne. Liitännän oletus-ip-osoite on node. Node on yksikön FINSlaiteosoite ja se annetaan ETN-osan Node-kiertokytkimillä heksamuodossa. Noodinumero voi olla (dec). Tuetut protokollat ovat FINS (UDP ja TCP) sekä EtherNet/IP. EIP21 ledit: MS = NS = COMM = 100M = 10M = ilmaisee ETN-yksikön toimintatilan. Loistaa vihreänä normaalitilassa. Laitevirheessä Led loistaa tai vilkkuu punaisena. ilmaisee väylän tilaa. Vilkkuu vihreänä, jos EtherNet/IP datalinkit tai viestiliikenne ei ole käytössä. Loistaa vihreänä jos ovat. Virhetilanteessa Led loistaa tai vilkkuu punaisena vilkkuu kun tiedonsiirtoa tapahtuu ilmaisee väylänopeuden. Loistaa 100Mbps väylässä. ilmaisee väylänopeuden. Loistaa 10Mbps väylässä. 7-segmenttinäyttö on monitoiminen. Yksikön käynnistyessä näytössä juoksee yksikön IP-osoite Normaalitilassa siinä näkyy noodiosoite (hex) Häiriön sattuessa näytössä juoksee Er-virheilmoitus, virhekoodi sekä mahdollisesti virheen aiheuttanut noodi. Esim. IP-osoitteessa xx.yy.zz.64 on virhe d6. Yksikössä on lisäksi kiertokytkimiä: Unit kytkimellä annetaan CPU Bus Unit numero (0 F hex). Jokaisella kategorian yksiköllä pitää olla uniikki numeronsa Node Address kytkimillä annetaan yksikön FINS-noodiosoite (1 FE hex). Oletus-IP asetteluilla tämä määrää IP-osoitteen viimeisen osan. Jos IP-osoite on asetettu, niin yleensä kytkimet asetetaan arvoon, joka vastaa asetetun IP-osoitteen loppuosaa. 27
28 2.3 CJ2M-muistit CJ2M-logiikan muistit jakautuvat seuraaviin osiin: RAM-muisti, joka on osin paristovarmennettu. Sovellusohjelmamuisti (User Program). Ohjaus voidaan jaotella useisiin ohjelmiin eli taskeihin. Taskityypit ovat syklinen ja keskeytystaski. Toimilohko-ohjelmamuisti (FB Program) toimilohkojen suorittamista varten. Vain CJ2M Parametrimuistit (PC Setup and other parameters) sisältävät tietoja logiikan asetuksista. Muuttujamuistit (IO Memory) muuttujien tallennusta varten. Muisteja kutsutaan ohjelmista tai myös logiikan ulkopuolelta. 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. Toimilohkomuistit (Source) Kommenttimuisti (Comments) logiikan kommentteja ja symboleja varten Toimilohkot tallettuvat myös Flash muistiin FB Program memory alueelle Verkkosymbolimuisti (Network Symbols) verkkomuuttujia varten. CF-muistikortti (Memory Card) voi sisältää tiedosta ym. muisteista sekä mahdollisesti muita tarpeellisia tiedostoja. 28
29 2.4 Muuttujamuistit SYSMAC -logiikoissa on erilaisia muuttujamuistialueita eri tarkoituksiin. Muistia käsitellään lähinnä bitti- tai sanayksiköissä 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 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 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,..., Bittiosoite muodostuu siis muistialueen lisäksi pisteerottimen vasemmalla puolella olevasta sananumerosta ja oikealla puolella olevasta bittinumerosta 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 Jos käytetään etumerkkiä (INT) on sanan arvohaarukka 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 ja neljällä bitillä voidaan kuitenkin ilmaista 16 eri arvoa, jää jäljelle kuusi 29
30 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 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 CJlogiikoissa 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 CJ2M-muuttujamuistialueet Sysmac-logiikoissa on erityyppisiä muistialueita eri käyttötarkoituksia varten. Seuraavaksi CJ2Mlogiikan muistialueista lyhyt yhteenveto. 30
31 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. Yleisimmin käytetään IO-aluetta, koska liitynnät on siellä. Apumuistiin vapaata IO-aluetta sekäw-aluetta biteille. Varmennusta tarvittaessa H-, D- tai E-aluetta. Ajastimet omalla T-aluellaan. 31
32 2.6 CJ2M toiminta ja sovellusohjelmamuisti CX-ONE JA LOGIIKKAOHJELMOINTI 2011 Ennen CS1-logiikoiden markkinoille tulemista olivat SYSMAC-logiikat yksiohjelmaisia laitteita. Nyt CS, CP ( ei CP1E) ja CJ-logiikoissa voidaan ohjaukset jaotella entistä paremmin, koska näiden logiikoiden ohjelmamuisti on jaoteltavissa useisiin ohjelmiin eli taskeihin. CJ2-logiikoissa ohjelmamuotoja voi olla erilaisia, kuten relekaavio, struktuuriteksti sekä sekvenssikaavio. CJ2-logiikoissa on oletuksena käytössä on 128 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 relekaaviomuotoinen taski eli ohjelma päätetään aina END(001)-käskyllä. Tämä onkin valmiiksi ohjelmoituna uusissa projektin logiikoissa omaan END-nimiseen blokkiinsa. 32
33 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ä 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ä 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 ALM-merkkivalo 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. 33
34 2.8.1 Tuloyksikkö CJ1W-ID211 Kuvassa tulopiiri. 16:lla tulolla on yksi yhteinen COM-liitin. Kuvassa tulokytkennät. Jännitelähdekytkennät ovat vaihtoehtoiset, eli NPN tai PNP-tyyppisille anturilähdöille. 34
35 2.8.2 Lähtöyksikkö CJ1W-OD212 Kuvassa lähtöpiiri. OD212-yksikkö on PNP-tyyppinen eli syöttää virtaa kuormalle lähtöliittimestä. Kuvassa lähtökytkennät. Ulkoinen +24VDC kytketään COM-liittimeen ja nollataso 0V-liittimeen. Yhden lähtötransistorin kuormitettavuus on 0,5A ja COM-liittimen 5,0A. Lähdöt ovat elektronisesti ylikuormitussuojatut. 35
36 3 SYSMAC-LOGIIKOIDEN IO-OSOITTEET CPM ja CQM1H-logiikoissa IO-yksiköiden osoitteet määräytyvät asennuspaikan perusteella. Tulot ja lähdöt ovat omissa osissaan IR-muistialueella, joten tulot ja lähdöt eivät vaikuta toistensa osoitteisiin. C200H-logiikoissa osoitteiden määräytyminen on mutkikkaampaa. CS1- ja CJ1- laitteissa osoitteet määräytyvät taas hieman eri tavoin kuin C200H-logiikoissa. 3.1 CPM-logiikat Digitaalisten IO-pisteiden max. lukumäärä on CPM1A 100 CPM2A 120 CPM2C 192 (S-mallit ) Tulot sanoissa IR00 IR09, tulosanoista hyödynnetään max. 12 bit Lähdöt sanoissa IR10 IR19, lähtösanoista hyödynnetään max. 8 bit CPM2C-S-mallien Compobus/S-osoitteet tulot IR20 IR27 lähdöt IR30 IR37 Laajennusyksiköiden osoitteet alkavat aina uudesta sanasta. 3.2 CQM1H-logiikat Digitaalisten IO-pisteiden max. lukumäärä on CQM1-CPU11/21E 128 max 7 lisäyksikköä CQM1-CPU4x-EV1 256 max 11 lisäyksikköä CQM1H-CPUxx 512 max 11 lisäyksikköä (tai 5+11 yksikköä) Tulot sanoissa IR00 IR15 Lähdöt sanoissa IR100 IR115 Laajennusyksiköiden osoitteet alkavat aina uudesta sanasta I/O-hajautus eli kenttäväylämasterit Compobus/S AS Interface 3.3 C200HX-logiikat Digitaalisten IO-pisteiden max. lukumäärä on C200Hx-CPU32 CPU (CPU-räkki + 2 laajennusräkkiä) C200Hx-CPU53 CPU (CPU-räkki + 3 laajennusräkkiä) Tulot ja lähdöt samoilla alueilla Kolme eri IO-yksikköryhmää tavalliset digitaaliset IO-yksiköt, max 16 pistettä Group2 digitaaliset IO-yksiköt, 32 tai 64 pistettä Special IO-yksiköt digitaalinen IO analoginen IO 36
37 pikalaskuri, pulssiohjaus, liikkeenohjaus, ym kenttäväyläyksiköt, DeviceNet, Profibus-DP, Compobus/S, Sysmac Bus Tavalliset digitaaliset IO-yksiköt, max 16 pistettä osoitteet määräytyvät räkkipaikan mukaan Group2 digitaaliset IO-yksiköt, 32 tai 64 pistettä osoitteet määräytyvät IO Unit nro -kytkimen asennon perusteella (0 F) Special IO-yksiköt osoitteet määräytyvät Machine nro -kytkimen asennon perusteella (0 F) IR-alueelta varataan 10 sanaa/laitenumero yleensä myös yksikkö tarvitsee parametreja toimintojen määrittelyjä varten DM-alueelta 100 sanaa/laitenumero alkaen numerolla 0 sanasta DM
38 3.4 CS1-logiikat Digitaalisten IO-pisteiden max. lukumäärä on CS1G-CPU (CPU-räkki + 2 laajennusräkkiä) CS1G-CPU (CPU-räkki + 3 laajennusräkkiä) CS1G-CPU45, CS1H-CPUxx 5120 (CPU-räkki + 7 laajennusräkkiä) Tulot ja lähdöt samoilla alueilla Kaksi eri IO-yksikköryhmää digitaaliset IO-yksiköt, max 96 pistettä (myös C200H-Group2-yksiköt) Special IO-yksiköt, kuten analoginen IO pikalaskuri, pulssiohjaus, liikkeenohjaus, ym kenttäväyläyksiköt, Profibus-DP-slave, Compobus/S-master CPU-väyläyksiköt väyläliityntäyksiköt, Ethernet, Controller Link, DeviceNet, Profibus-DP-master, RSsarjaliikenneyksikkö CS1-logiikat pystyvät käsittelemään IO- ja väyläyksiköitä vasta, kun IO-taulu on määritelty. IOtaulu tallettuu logiikan parametrimuistiin. IO-taulun tulee vastata aktuellia räkeistä löytyvää yksikkökonfiguraatiota, muutoin logiikka on virhe- tai hälytystilassa. Yleensä IO-taulun luonti riittää. Tällöin tarvittavien yksiköiden on oltava paikoillaan ja CPU:n ollessa ohjelmointitilassa annetaan IO-taulueditorista käsky Create eli luo. Yksikkökonfiguraatio tulee editoriin näkyviin osoitteineen. Tavalliset digitaaliset IO-yksiköt, max 96 pistettä osoitteet määräytyvät edelle (lue vasemmalle puolelle) asennettujen tavallisten yksiköiden mukaan. CPU-räkin osoitteet alkavat normaalisti sanasta CIO00. Yksikön vasemmalle puolen jätetyt tyhjät korttipaikat eivät vaikuta osoitteisiin, ellei IO-taulua ole kirjoitettu ja tyhjäksi jätettäville paikoille ole tehty varauksia (Dummy Unit). Laajennusräkkien osoitteet jatkavat normaalisti siitä, mihin edellisessä jäätiin. Tarvittaessa voidaan antaa yksikkökohtaisesti haluttu aloitussana IO-alueelta. Tällöin IO-taulu on kirjoitettava logikkaan. Esimerkki osoitteiden automaattisesta määräytymisestä seuraavalla sivulla 38
39 Special IO-yksiköt osoitteet määräytyvät Machine nro -kytkimen asennon perusteella (00 95) CIO-alueelta varataan 10 sanaa/laitenumero alkaen sanasta CIO2000 yleensä myös yksikkö tarvitsee parametreja toimintojen määrittelyjä varten D-alueelta 100 sanaa/laitenumero alkaen numerolla 0 sanasta D
40 CPU-väyläyksiköt osoitteet määräytyvät Unit nr -kytkimen asennon perusteella (0 F) CIO-alueelta varataan 25 sanaa/laitenumero alkaen sanasta CIO1500 toimintojen määrittelyjä tai tilatietoja varten varataa D-alueelta 100 sanaa/laitenumero alkaen numerolla 0 sanasta D CJ-logiikat Osoitteet määräytyvät kuten CS1-laitteissakin. IO-taulun määrittely ei ole pakollista, vaan CJlogiikat osaavat ottaa yksiköt haltuunsa ilman sitä. Taulun voi toki luoda tai kirjoittaa kuten CS1- logiikoille. Koulutuslogiikoissa ensimmäinen yksikkö on 16-pisteinen digitaalinen tuloyksikkö CJ1W-ID211 ja se varaa sanan CIO 00, eli bitit Toinen yksikkö on digitaalinen lähtöyksikkö CJ1W- OD212 ja se varaa seuraavan vapaan sanan CIO 01, eli bitit CP1H-logiikat Digitaalisten IO-pisteiden max. lukumäärä on 320 (40-pisteiset CPU:t) Tulot sanoissa CIO00 CIO16, tulosanoista hyödynnetään max. 12 bit Lähdöt sanoissa CIO100 CIO116, lähtösanoista hyödynnetään max. 8 bit CP1W-laajennusyksiköiden maksimimäärä on 7. Sisäänrakennetut analogitulot CIO Sisäänrakennetut analogilähdöt CIO CJ1-yksiköiden (max 2 kpl) osoitteet varataan kuten CJ1-logiikoissakin Laajennusyksiköiden osoitteet alkavat aina uudesta sanasta. 3.7 CP1L ja -E-logiikat Digitaalisten IO-pisteiden max. lukumäärä on 160 (40-pisteiset CPU:t) Tulot sanoissa CIO00 CIO09, tulosanoista hyödynnetään max. 12 bit Lähdöt sanoissa CIO100 CIO109, lähtösanoista hyödynnetään max. 8 bit CP1W-laajennusyksiköiden maksimimäärä on 3 (M-CPU:t) tai 1 (L/J-CPU:t). Laajennusyksiköiden osoitteet alkavat aina uudesta sanasta. 40
41 4 CX-ONE CX-Programmer on ohjelmointiympäristö OMRONin ohjelmoitaville Sysmac-logiikoille. CX- Programmer 9.x tulee ainoastaan CX-One 4-ohjelmiston mukana, sitä ei voi siis hankkia omana tuotteenaan. Nettipäivityksien avulla CX-Programmer voidaan päivittää (09/2011) versioon 9.3. CX-One-ohjelmiston tuotekoodit: CX-One LITE on tarkoitettu CP1-logiikoiden käyttäjille. Siinä ei ole CJ/CS-logiikoiden tukea. CX-One-ohjelmisto tarjoaa mahdollisuuden hyödyntää Smart Platform konseptia. Ideana konseptissa on: Yksi liityntä pääsy saman liitännän kautta konseptin laitteisiin Yksi ohjelmisto CX-One, joka sisältää useita ohjelmistoja konseptin laitteiden määrittelyyn Yksi minuutti ohjelmointia ja käyttöliittymien luomista varten on käytettävissä valmiit toimilohkot (funtion Blocks) sekä graafiset toiminnalliset kirjastot (Smart Active Parts). Kuvan mukaisesti CX-One-ohjelmistolla voidaan yhdestä pisteestä käsin hallita koko laitetta Smart Platform konseptin tuotteiden, CS1/CJ1-logiikat, NS-päätteet, Devicenet-IO, taajuusmuuttajat, servot, anturit, lämpötilansäätimet, kautta. 41
42 CX-One 4.0 ohjelmisto sisältää seuraavat ohjelmointi/määrittely-ympäristöt: CX-Configurator-FDT Cx1-PRM21-masteryksiköiden ja CJ1-PNT21 konfigurointiin ja monitorointiin CX-Designer NS-päätesovelluksiin CX-Drive taajuusmuuttajien ja servojen parametrointiin ja monitorointiin CX-Integrator väylien määrittelyyn. Toimii myös laukaisualustana muihin sovelluksiin CX-Motion liikkeenohjausyksiköiden (MC) ohjelmointiin ja parametrointiin CX-Motion Pro Trajexia ja CJ1W-MCH72 liikeohjainten ohjelmointiin ja monitorointiin CX-Motion-MCH Mechatrolink II CJ1W-MCH71- masteryksiköiden määrittelyyn CX-Motion-NCF Mechatrolink II CJ1W-NCFmasteryksiköiden määrittelyyn CX-Process Tool prosessinsäätöyksiköiden ohjelmointiin ja määrittelyyn CX-Programmer Sysmac-logiikoiden ohjelmointiin ja ylläpitoon CX-Protocol sarjaliikenneyksiköiden (SCB/SCU) protokollamakrojen luontiin CX-Simulator logiikkaohjelmien testaamiseen PC:ssä CX-Thermo lämpötilansäätimien parametrointiin ja monitorointiin Face Plate lisäohjelma NS-päätteille Switchbox.. lisäohjelma logiikan monitorointiin Trajexia Tools ohjelma Trajexia-liikeohjainten ohjelmointiin (vanha ohjelmisto, jäänne) CX-One Auto update päivityksien noutamiseen webistä Näitä sovelluksia voidaan käynnistää täältä käynnistysvalikon kautta, mutta myös toisista ohjelmista, kuten CX-Integrator, IO Table Editor, jne. Tässä oppaassa keskitytään pelkästään CX-Programmer-ympäristöön. 42
43 5 CX-PROGRAMMER CX-Programmerilla voidaan ohjelmoida ja ylläpitää laajaa joukkoa Sysmac-logiikoita. Joitakin vanhoja logiikoita lukujen taitteesta ei tosin välttämättä löydy laitelistasta. Tällöin on niiden ylläpitoon käytettävä esim. Syswin-ohjelmistoa. CS1-, CJ1- ja CP1-logiikoille CX-Programmer on ainoa ohjelmointiympäristö. CX-Programmer 1.0 julkaistiin vuonna 1999 ja siitä lähtien ohjelmisto on kehittynyt oivaksi työvälineeksi. Tuorein versio 9.3 saadaan nettipäivityksien avulla CX-One 4.0 pakettiin. CX-Programmer -ohjelmoinnissa sovellusohjelmaa luodaan yleensä tikapuukaavio- eli laddermuodossa (LD). Relekaaviomuotoista ohjelmaa voidaan tehdä tai tarkastella myös käskylistamuodossa. Nykyisin voidaan myös soveltaa toimilohkoja. Näitä voidaan ohjelmoida relekaavion lisäksi strukturoitu teksti muodossa. Ohjelman ohjelmointimuodoksi voidaan valita relekaavion sijasta myös strukturoitu teksti (ST) tai sekvenssivuokaavio (SFC). CX-Programmer -projekti voi sisältää useita logiikoita. Logiikka sisältää varsinaisen sovellusohjelman lisäksi myös logiikan määrittelyt, muuttujasymbolit (global ja local symbols), ohjelman eri osien kommentit (comments) sekä logiikan asettelut (PLC settings). Näkymät ja käytettävissä olevat editorit riippuvat valitusta logiikkatyypistä. Eri editorien tietoja voidaan tallentaa myös omiksi tiedostoiksi. CX-Programmer on kopiosuojattu ohjelmisto. Aktivointi tehdään syöttämällä lisenssinumero, joko asennusvaiheessa tai myöhemmin CX-Programmer:n Help-valikon About CX-Programmer-riviltä avautuvan ikkunan License-painikkeen takaa. CX-Programmer käynnistetään valikosta Start/Programs/Omron/Cx-One/CX-Programmer/CX- Programmer. 43
44 Ohjelmisto voidaan käynnistää myös CX-Integrator väylämäärittely-ympäristöstä väyläasetteluista perityillä tai uusilla asetuksilla. Kuvassa näkymä CX-.Integratorissa olevasta Ethernet-väylästä, jossa on CJ1-logiikka. Tämän pikavalikosta voidaan siis käynnistää CX-Programmer. 44
45 5.1 Ohjelmarakenne CJ- ohjelmoitavien logiikoiden ohjelmamuistialue on jaoteltu useisiin ohjelmiin eli taskeihin. Ohjelmoitsija voi tehdä ohjauksen pelkästään yhteen ohjelmaan tai tarvittaessa useisiin. Ohjauksen jaottelu ohjelmiin riippuu projektista sekä tekijästä tai tekijöistä. Relekaaviomuotoisesti ohjelmoitaessa voidaan jakaa ohjelma eri blokkeihin (sections) ohjelmarakenteen selkeyttämiseksi. Blokeilla ei ole vaikutusta ohjauksen toimintaan logiikassa. Jokainen blokki koostuu virtapiireistä (rungs). Voitaneen sanoa, että ohjelmointiympäristössä logiikkaohjaus koostuu virtapiireistä. Virtapiiri muodostaa yleensä yhden tai useamman muistipaikan ohjauksen ehtoihin perustuen. Muistipaikkoja käsittelevä virtapiiri alkaa aina LD- tai LD NOT-käskyllä ja päättyy OUT-, OUT NOT- tai funktiokäskyyn. Poikkeuksen muodostavat virtapiirit, joissa on vain yksi ohjelman kontrollikäsky, kuten esim. lopetuskäsky END(001) tai aliohjelmasta paluu RET(093). CX-Programmer-sovellus voidaan esittää seuraavasti blokkien ja virtapiirien avulla. PLC PROGRAMS PROGRAM SECTION 1 RUNG 0 RUNG 1 PROGRAM SECTION 1 RUNG 0 RUNG 1 PROGRAM SECTION 1 RUNG 0 RUNG 1 SECTION 2 RUNG 0 RUNG 1 SECTION 2 RUNG 0 RUNG 1 SECTION 2 RUNG 0 RUNG 1 SECTION 3 RUNG 0 RUNG 1 SECTION 3 RUNG 0 RUNG 1 SECTION 3 RUNG 0 RUNG 1 Ohjausta suoritetaan ohjelmien numerojärjestyksessä. Ohjelman sisällä ohjaus suoritetaan blokkien mukaisessa järjestyksessä ylhtäältä alas. Blokin sisällä taas virtapiirien mukaisessa järjestyksessä ylhäältä alas. Ohjelman päättävä END-käsky sijoitetaan yleensä omaan blokkiinsa ja se on sovelluksen viimeinen blokki. CX-Programmerissa blokkien ja virtapiirien järjestystä voidaan muuttaa esim. hiirellä raahaamalla tai blokin pikavalikosta Move...-toiminnoilla. 45
46 5.2 Uuden projektin aloitus Uusi projekti näyttää aluksi tältä, tyhjältä. Ensimmäinen vaihe uuden projektin määrittelyissä on tehdä uudelle logiikalle asetukset. Avaa Filevalikosta rivi New tai käytä vastaavaa pikapainiketta saadaksesi uusi projekti. Avautuneessa Change PLC -ikkunassa määritetään logiikalle nimi (Device Name) sekä oikea logiikkatyyppi (Device Type). Nimissä ei saa käyttää erikoismerkkejä, poislukien alaviiva (_), tai välilyöntejä. Nimi ei saa myöskään alkaa numerolla. CPU-tiedot Settings-painikkeen takaa avautuvasta ikkunasta asetetaan myös laitetta vastaaviksi. 46
47 Lisäksi valitaan haluttu kommunikointitapa logiikkaan CX-Programmerista Network Type kohdassa. Tarkemmat määrittelyt taas Settings-painikkeen takaa.valitaan nyt yhteystavaksi CJ2Mlogiikkaan EtherNet/IP-yhteys. Kuitataan tehdyt asetukset OK-painikkeella. Asetuksia voi muuttaa aina tarvittaessa uudestaan. 47
48 5.3 Projekti- ja logiikkanäkymä Uuden projektin aloitusnäkymä logiikan määrittelyjen jälkeen voi olla seuraava. Huomaa että käynnistysnäkymään voi vaikuttaa CX-P:n asetuksilla. Vasemmassa reunassa näkyy avoinna oleva Projektinhallintaikkuna (Workspace), jota kontrolloidaan näppäinyhdistelmällä Alt+1. Oikeassa reunassa on Koulutus.NewProgram.Section1-niminen relekaaviomuotoinen ohjelmablokki-ikkuna (Diagram). Valikot Pikapainikkeet Projektinhallinta (Project Workspace) Virtapiiripalkki (Rung) Kohdistin (Selection) Ohjelmaikkuna(t) (Sections) Projektinhallintaikkunassa ylin taso on projekti, seuraava logiikat. Logiikan alla oleva lista riippuu valitusta logiikkatyypistä ja se pitää sisällään ohjelmia sekä editoreita. Nämä avataan joko hiiren tuplaklikillä tai hiiren oikealla painikkeella avattavan pikavalikon riveiltä. Logiikka-rivillä näkyy logiikan tyyppi sekä yhteystila. Offline kuvaa sitä, että nyt ohjelmisto ei kommunikoi logiikan kanssa. Jos yhteys taas on muodostettu, niin tällöin logiikan perässä näkyy CPU:n toimintamoodi Run, Monitor tai Stop/Program. Logiikan alla oleva Symbols on logiikkakohtainen symbolieditori. Näitä symboleja kutsutaan nimellä Global Symbols. Nämä symbolit käytössä kaikissa logiikan ohjelmissa. IO Table antaa mahdollisuuden määritellä ja tarkastella logiikan IO -taulua. IO-taulua ei ole kaikissa logiikoissa. CJ1-logiikoissa se on, mutta sitä ei ole aina pakko käsitellä. IO-taulu on osa CPU:n parametrimuistia ja sinne määritellään jollakin tavalla yksiköiden tietoja. Settings-riviltä päästään tarkastelemaan ja muokkaamaan logiikan parametreja PLC Setup. Täällä määritellään mm. logiikan käynnistystila, sarjaliikenneporttien asettelut, keskeytykset ja pikalaskurin toiminta. 48
49 Memory avaa PLC Memory -ohjelmiston, johon voi availla muuttujamuisti-ikkunoita kokonaisten muistialueiden lukua, kirjoitusta tai monitorointia varten. Ohjelmat nähdään kohdassa Programs. CJ2-logiikoissa voi olla jopa 384 ohjelmaa eli taskia. Jokaisella ohjelmalla on omat, lokaalit, symbolit (Local Symbols). Nämä symbolit ovat käytössä vain kyseisessä ohjelmassa. Ohjauksen hierarkisuuden ja monitoroinnin helpottamiseksi ohjelma jaotellaan CX-Programmerissa blokkeihin eli sektioihin. END-käsky sisältävä END-blokki onkin jo valmiina. Ohjelmablokki-ikkunoita voi olla useita avoinna. Oletuksena avointen ikkunoiden enimmäismäärä on 10, mutta sitä voidaan muuttaa. Avoimia ohjelmablokki-ikkunoita voidaan aktivoida ja järjestellä Window-valikosta. Alimpana ikkunassa nähdään logiikalle valitut ja tehdyt toimilohkot. Valittuja toimilohkoja voidaan sitten kutsua logiikkaohjelmasta käsin. Ohjelmointi tapahtuu ohjelmablokki-ikkunoissa. Niitä avataan mm. tuplaklikillä projektinhallintaikkunasta. Koska perusajatuksena voidaan pitää sitä, että kaikki ohjelmissa käytettävät muuttujat (bitit, sanat, tuplasanat, ajastimet, laskurit, jne.) nimetään, niin tutustutaan vielä ennen ohjelmointia symbolilistoihin. 5.4 Symbolilista ja symbolointi Tämä lista voidaan tehdä etukäteen ennen varsinaista ohjelmointia, ohjelmoinnin aikana tai jälkikäteen. Osoitteille, niin bitti- kuin sanamuotoiset, voidaan antaa symboli sekä kommentti. Näiden tehtävänä on antaa osoitteille tarkoitus ohjelman tarkastelijaa varten. Myös symbolin datatyyppi on määritettävä. Ohjelmoitsija itse päättää sen, käyttääkö hän globaalia vai lokaalia listaa. Molempien listojen käsittely on samanlaista. Vain globaalit symbolit voidaan linkittää muihin sovelluksiin, mutta molempia listoja voi kopioida leikepöydälle taulukkomuotoisena. Mikäli symboli halutaan vaihtaa toiseen listaan, on se tehtävä leikepöydän kautta. Ensin valitaan ja leikataan symboli lähdelistasta, aktivoidaan kohdelista ja liitetään leikattu symboli sinne. Symbolointi symbolieditorissa tapahtuu seuraavasti. 1. Avataan esim. Globaalien symbolien editori tuplaklikillä. Kuvassa näkyy CX-Programmerissa valmiiksi logiikalle määriteltyjä järjestelmäsymboleita, joiden nimi alkaa aina P_xxx. Näitä symboleja ei voi tuhota eikä muokata. 49
50 Anna editorin päällä hiiren oikea klikki ja valitse pikavalikosta Insert Symbol lisätäksesi uuden symbolin. Edit...-riviltä päästään muokkaamaan jo luotuja symboleita. 2. New Symbol -ikkunassa määritellään symboli. Name-kentässä annetaan symbolin nimi. Nimi ei saa alkaa numerolla eikä se saa sisältää erikoismerkkejä eikä välilyöntejä. Myöskään viittausta osoitteeseen ei salllita, es. C1, H1, jne. Address or Value -kentässä annetaan osoite (tai vakio). Comments-kenttään kirjoitetaan symbolin kommentti. Globaalit symbolit voidaan linkittää CX-Server -tiedostoon. Näin kannattaa tehdä, mikäli jossain toisessa CX-Server-kommunikointiohjelmistoa käyttävässä sovelluksessa voidaan käyttää näitä. Kuvassa on tehty globaali muuttuja Käy_komento, jonka osoite on Myös kommenttia on kirjoitettu. Kommentti on muodoltaan vapaata tekstiä. BOOL- eli bittityyppinen osoite kannattaa antaa pisteellä varustettuna. Piste toimii sanan ja bitin erottimena ja selventää osoitetta. Tärkeä vaihe sanaosoitteiden symboloinnissa on symbolin datatyypin valinta. Symbolien datatyyppi määrittää sen, miten me näemme arvon monitoroitaessa. Monitorointi voidaan kyllä myös pakoittaa joko heksa-, etumerkitön kymmenluku- tai etumerkillinen kymmenluku muotoon. Datatyypin tulisi olla myös hyväksyttävissä kyseistä muuttujaa käyttäville käskyille. Mikäli käsky ei hyväksy muuttujalle määriteltyä datatyyppiä, saadaan ohjelman käännöksessä siitä varoitus. Tämä ei kuitenkaan estä käskyn suorittumista. Jos muuttuja jätetään symboloimatta, niin tällöin monitoroitaessa määräytyy muuttujan formaatti käskyn mukaan. CX-Programmerhan opastaa meitä käskyjä ohjelmoitaessa käyttämään käskylle määriteltyä datatyyppiä. Advanced Settings napin kautta voidaan määritellä taulukkomuuttuja ja sille pituus. Alkiota kutsutaan esim. Muuttuja[0]. 50
51 5.4.1 Symbolin datatyypit BOOL Bittimuuttuja CHANNEL Yleisluontoinen 16-bittinen arvo. Monitoroituu normaalisti heksadesimaalisena välillä 0...FFFF. COUNTER laskureiden datatyyppi DINT 32-bittinen, eli tuplasana, etumerkillinen desimaaliarvo. Monitoroituu desimaalisena välillä Käytetään 32-bittisille arvoille, joihin vaikutetaan binäärisillä käskyillä ja arvo voi mennä alle nollan. INT 16-bittinen etumerkillinen desimaaliarvo. Monitoroituu desimaalisena välillä Käytetään 16-bittisille arvoille, joihin vaikutetaan binäärisillä käskyillä ja arvo voi mennä alle nollan. LINT 64-bittinen, eli pitkäsana, etumerkillinen desimaaliarvo. Esimerkiksi tuplasanan kertolaskun tulos. Monitoroituu desimaalisena välillä Käytetään 64-bittisille arvoille, joihin vaikutetaan binäärisillä käskyillä ja arvo voi mennä alle nollan. LREAL Pitkä IEE-formaatin mukainen liukuluku. NUMBER Vakioarvon, ei osoitteen, symbolin tyyppi. Myös ajastimen tai laskurin numero. Yleensä vakion formaatiksi oletetaan desimaali. Tunnuksella # vakio tunnistetaan heksadesimaaliksi. Jos vakio annetaan BCD-käskyn yhteydessä, arvoa käsitellään heksadesimaalisena (nyt tietysti numeron arvo vain välillä 0...9) 51
52 REAL IEE-formaatin mukainen 32-bittinen liukuluku. Arvo voi olla välillä -3.40e e-38, 0, +1.17e e+38. Monitoroituu pilkullisena lukuna. UDINT 32-bittinen, eli tuplasana, etumerkitön desimaaliarvo. Monitoroituu desimaalisena välillä Käytetään 32-bittisille arvoille, joihin vaikutetaan binäärisillä käskyillä ja arvo pysyy positiivisena. UDINT_BCD 32-bittinen, eli tuplasana, etumerkitön BCD-arvo. Monitoroituu välillä Käytetään 32-bittisille arvoille, joihin vaikutetaan BCD-käskyillä. Monitoroituu BCD-lukuna. UINT 16-bittinen etumerkitön desimaaliarvo. Monitoroituu desimaalisena välillä Käytetään 16-bittisille arvoille, joihin vaikutetaan binäärisillä käskyillä ja arvo pysyy positiivisena. UINT_BCD 16-bittinen etumerkitön BCD-arvo. Monitoroituu välillä Käytetään 16- bittisille arvoille, joihin vaikutetaan BCD-käskyillä. Monitoroituu BCD-lukuna. ULINT 64-bittinen etumerkitön desimaaliarvo. Monitoroituu desimaalisena välillä Käytetään 64-bittisille arvoille, joihin vaikutetaan binäärisillä käskyillä ja arvo pysyy positiivisena. ULINT_BCD 64-bittinen etumerkitön BCD-arvo. Monitoroituu välillä Käytetään 64-bittisille arvoille, joihin vaikutetaan BCD-käskyillä. WORD DWORD LWORD STRING TIMER 16-bittinen arvo. Monitoroituu välillä 0... FFFF heksalukuna. 32-bittinen arvo. Monitoroituu välillä 0... FFFFFFFF heksalukuna. 64-bittinen arvo. Monitoroituu välillä 0... FFFFFFFFFFFFFFFF heksalukuna. eli merkkijono, jonka pituus määritetään symboloinnin yhteydessä. ajastimien datatyyppi 5.5 Työpöytä ja ikkunat Valikosta View/Windows voit avata ja sulkea perusikkunoita näytölle. Sieltä näet myös näppäinyhdistelmät ikkunoiden kontrolloimiseksi. Pikapainikkeista sekä työkalupainikkeista avautuvat opastekuplat, kun viet hiiren nuolen painikkeen päälle. Ohjelmistossa on helppo operoida pikavalikkotekniikalla. Eli viedään kohdistin haluttuun kohtaan ikkunassa, aktivoidaan hiiren oikea painike ja valitaan avautuneesta pikavalikosta haluttu rivi. Pikavalikoista oppii myös pikapainikkeiden symbolit. Mikäli haluat työskennellä nopeasti näppäimistöä käyttäen, niin CX-programmer tarjoaa tähän hienot mahdollisuudet. Valtaosalla toiminnoista on valmiiksi näppäinyhdistelmät. Jos nämä eivät tyydytä tai riitä, voit tehdä omia Short Cut -toimintoja lisää. Valikosta Tool/Keyboard Mapping pääsee tarkastelemaan ja lisäilemään näppäimiä. 52
53 Projektinhallintaikkunan näppäinyhdistelmähän oli Alt+1 Tulostusikkunaan (Alt+2) tulostuu tietoja eri välilehdille käännöksistä, käännösvirheistä ja - varoituksista, muutoksista, raporteista ja latauksista. Tuplaklikillä ilmentymärivistä pääsee avaamaan näytölle kyseisen ilmentymän ohjelmassa. Tulostusikkuna avautuu automaattisesti tapahtumista, jotka kirjoittavat tietoa ikkunaan. Osoiteviiteikkunaan (Alt+4) listataan näkyviin ohjelmasta valitun muuttujan esiintymät. Listasta pääsee siirtymään helposti toiseen esiintymään. Erittäin hyvä keino liikkua ohjelmissa. Monitorointi-ikkunassa (Alt+3) voidaan monitoroida muuttujia tai syöttää niille uusia arvoja. Muuttujia lisätään ikkunaan tuplaklikillä tyhjään riviin tai Enter-näppäimellä osoitteiden tai symbolien perusteella tai sitten raahaamalla hiirellä muuttuja ohjelmasta tai symbolilistasta. Ikkunassa on valmiiksi kolme välilehteä. Välilehtiä voi lisätä ja nimetä tarvittaessa. Lisäksi on toimilohkokutsun monitorointi-ikkuna (Alt+5). Tämän avulla voidaan vaihtaa monitoroiva näyttö toimilohkon sisälle kutsun parametreihin perustuen. Myös pikapainikkeilla voidaan hallita ikkunoita. Painikkeet vasemmalta oikealla: Projektinhallinta, Tulostus-, Monitorointi-, Osoiteviite- ja Toimilohkomonitorointi-ikkuna Valikot Pikapainikkeet Projektinhallinta (Project Worksp) Alt+1 Kohdistin Virtapiiripalkki (Rung) Ohjelmaikkuna(t) (Programs) Muut ikkunat, kuten symbolilistat, ristiviittausraportit Tulostusikkuna (Output) Alt+2 Monitorointiikkuna (Watch) Alt+3 Tilarivi Osoiteviiteikkuna (Address Refer) Alt+4 53
54 5.6 Ohjelmointi Kappaleessa tarkastellaan relekaavio-ohjelmointiin liittyvien tasojen, eli taskien blokkien ja virtapiirien, käsittelyä Ohjelmien eli taskien lisääminen ja muokkaaminen Taskeja käsitellään projektinhallintaikkunassa. Uusia taskeja lisätään pikapainikkeesta tai ohjelman pikavalikosta riviltä Insert Program. Taskille pitää valita ohjelmointimuoto (LD, ST tai SFC), jolla se ohjelmoidaan.uusi taski listautuu aina aluksi viimeiseksi. Lisätty ohjelma on määrittelemätön. Annetaan tiedot suoraan tai avataan myöhemmin taskin pikavalikko ja valitaan Properties. Nyt päästään määrittämään ohjelman nimi, tyyppi ja numero, ohjelmatasoinen salasanasuojaus sekä kommenttia. Ohjelma listautuu aina taskin tyypin ja numeron perusteella määräytyvään paikkaan. Ylimmäksi listautuvat sykliset ohjelmat ja alimmaksi keskeytysohjelmat nousevassa taskin numerojärjestyksessä. Tämä Properties-ikkuna on editori, jolla kommentoidaan koko projekti lukuunottamatta logiikkaa ja ohjelman symboleita Blokkien lisääminen ja muokkaaminen Sektioita eli blokkeja käsitellään projektinhallintaikkunassa. Blokin ohjelmaikkuna avataan näkyviin tuplaklikillä blokki-ikoniin. Uusia blokkeja lisätään pikapainikkeesta tai ohjelman pikavalikosta riviltä Insert Section. Uusin blokki listautuu toiseksi viimeiseksi END-blokin yläpuolelle. Blokkeja järjestellään hiirellä raahaamalla tai blokin pikavalikosta riveillä Move Up/ 54
55 Move Down. Blokit suoritetaan logiikassa tässä näkyvässä järjestyksessä ylhäältä alas. CX- Programmer -ohjelmat sisältävät valmiiksi ohjelman viimeisenä blokkina END-blokin, johon on valmiiksi ohjelmoitu END(001)-käsky. Blokki tuhotaan valitsemalla se ja painamalla Del-painiketta Blokkeja voidaan leikata ja kopioida. Liittäminen leikepöydältä tapahtuu siten, että ensin valitaan ohjelma, johon blokki halutaan liittää ja sitten vasta liitetään CTRL+V-näppäinyhdistelmällä tai pikavalikon Paste-valinnalla. Mikäli blokki liitetään blokin päälle, saadaan viesti-ikkuna, jossa kysytään korvataanko ko.blokin sisältö vai jätetäänkö kopio liittämättä Virtapiirien lisääminen, tuhoaminen ja muokkaaminen Ohjelma tehdään siis virtapiireihin. Blokin loppuun CX-P lisää aina automaattisesti uuden virtapiirin. Jos jo luotujen virtapiirien väliin tai blokin ensimmäiseksi halutaan lisätä uusi virtapiiri, niin valitaan blokista virtapiiri, jonka viereen lisäys tulee, klikataan virtapiirin vasenta palkkia ja pikavalikosta Insert Below (alapuolelle) tai Insert Above (yläpuolelle). Reusable File... antaa mahdollisuuden tallettaa valinta tai lisätä tiedostosta virtapiirejä. Jos kohdistin on virtapiirin sisällä, niin silloin pikavalikosta valitaan Rung/Insert Näppäin R lisää virtapiirin alapuolelle ja yhdistelmä Shift+R yläpuolelle. Virtapiiri tuhotaan valitsemalla virtapiiri ja painamalla Del-painiketta Combine-toiminnolla voi yhdistää tarvittaessa valittuja peräkkäisiä virtapiirejä. Virtapiirin voi jakaa korkeussuunnassa kahtia viemällä kohdistimen halutulle riville ja valitsemalla pikavalikon josta taas rivin Split Rung. Tarvittaessa lisää tilaa, eli sarakkeita tai rivejä, 55
56 virtapiiriin valitaan kohdassa, johon lisäys halutaan, hiiren oikea painike ja pikavalikosta Insert Row lisättäessä rivi (ALTGR+nuoli alas) Insert Rung Column lisättäessä sarake (ALTGR+nuoli oikealle) Delete Row tuhottaessa rivi (ALTGR+nuoli ylös) Delete Rung Column tuhottaessa sarake (ALTGR+nuoli vasemmalle) Kopioitaessa koko virtapiiri valitaan virtapiiri aktivoimalla virtapiiripalkki ja vaikka pikavalikosta Copy (tai CTRL+C). Leikattaessa koko virtapiiri pois valitaan Cut (tai CTRL+X). Liitettäessä virtapiiri valitaan ensin virtapiiri, jonka yläpuolelle liitettävä virtapiiri halutaan ja sitten pikavalikosta Paste (tai CTRL+V). Toki myös virtapiirin osia, eli käskyjä ja viivoja voidaan leikata ja kopioida. Liitettäessä tulee olla varattu riittävästi tyhjää tilaa haluttuun kohtaan, jotta CX-P antaa liittää tiedot leikepöydältä. 5.7 Logiikkaprojektin kommentointi Properties-ikkunalla Kommentointi CX-Programmerissa on helppoa. Se tehdään läpi projektin logiikkaa lukuunottamatta samalla editorilla, joka on Properties-ikkuna. Logiikkahan nimetään, määritetään tyyppineen ja kommunikointineen sekä kommentoidaan Change PLC-ikkunassa, joka avautuu tuplaklikillä itse logiikkaan projektinhallintaikkunassa. Kaikki muut eli projekti, ohjelmat, blokit, virtapiirit sekä käskyt nimetään ja kommentoidaan tällä Properties-ikkunalla. Properties-ikkunan voi avata melkein missä tahansa aktivoidussa pikavalikossa sen Propertiesriviltä. Ikkunan otsikko kertoo sen, minkä ominaisuuksista on kyse. Ikkunan vasemmassa yläkulmassa on nasta, joka voidaan asettaa hiirellä klikkaamalla näytä päällä asentoon. Tämä onkin kätevää kommentoitaessa. Kun hiirellä valitaan uusi kohde, ei Properties-ikkuna nyt sulkeudu, vaan sen sisältö muuttuu valinnan mukaan. Myös pikavalikosta löytyvää Rename-toimintoa voidaan käyttää nimeämiseen. 56
57 5.7.1 Projektin ominaisuudet Kuvassa on projektin ominaisuusikkuna, josta voi nyt antaa projektille uuden nimen Name-kenttään sekä Comments-lehdelle kommenttia. Projektin ominaisuusikkunasta voi luoda myös CX-Servertiedoston New File.. painikkeen takaa. Tiedosto tallettuu vasta, kun CX-Programmer projekti talletetaan Save-toiminnolla. Tähän *.CDM-tiedostoon tallettuu projektin logiikkamäärittelyt sekä mahdolliset linkitetyt globaalit symbolit. Tiedosto voidaan avata sitten toisissa CX-Serveriä käyttävissä ohjemistoissa tai toisessa CX-Programmer -projektissa Logiikan ominaisuudet Logiikkaa ei siis kommentoida Properties-ikkunassa. Ikkunassa voi kuitenkin tehdä logiikalle määrityksiä. Älä kuitenkaan muuta oletusasetuksia. Mikäli todella varmasti haluat suojata ohjelmasi ja logiikan asetukset, niin voit asettaa salasanan logiikalle Protection-välilehdellä. 57
58 5.7.3 Ohjelman ominaisuudet ja kommentointi Ohjelman nimen ja kommentin lisäksi ikkunassa määritetään taskin tyyppi. Uusille taskeille on aina tehtävä määritys. Operation start -valinta käynnistää ohjelman aina logiikan käynnistyessä, ilman valintaa on ohjelma käynnistettävä TKON(820)-käskyllä. Taskin pysäytys käskyllä TKOF(821). Nämä käskyt voidaan ohjelmoida vain syklisiin taskeihin Blokin ominaisuudet ja kommentointi Blokille annetaan nimi ja kommentti. Blokissa käytetytyt käskyrivit näkyvät Steps-kohdassa. 58
59 5.7.5 Virtapiirin ominaisuudet ja kommentointi Virtapiirin kommentointi tehdään valitsemalla ensin koko virtapiiri virtapiirin vasemmasta palkista. Voit rivittää tekstiä näppäinyhdistelmällä CTRL+ENTER. Virtapiirin kommentit tulevat näkyviin virtapiirin yläosaan. Virtapiirin Properties-ikkunan Annotations-lehdellä näkyy virtapiirin kommentoidut elementit eli käskyt, joita pääsee muokkaamaan tai tuhoamaankin täältä Käskyelementin ominaisuudet ja kommentointi Käskyelementtejä voidaan kommentoida myös. Valitaan käsky ja aktivoidaan Properties-ikkuna, jos se ei vielä ole auki. Käskyjen viereen oikeaan yläkulmaan tulee kommentin merkiksi ympyrä, jonka sisällä on käskykommenttijärjestystä osoittava numero. Jos valikosta Tools/Options/lehti Diagrams on valittu kohta Show Rung Annotations, niin kommentit listautuvat virtapiirikommentin alle. 59
60 5.8 Projektin tallennus Projekti tallennetaan valikosta File. Save kysyy ensimmäistä kertaa tallennettaessa myös kansiota ja tiedostonimeä, myöhemmin tallennus tapahtuu ilman dialogia. Save As.. valinta tapahtuu aina dialogin kautta, jolloin voi vaihtaa kansiota tai nimeä. CX-P-projekti tallentuu yhteen tiedostoon, jonka tarkenne on.cxp. Lisäksi tallennushetkellä luodaan samanniminen, mutta.opt-tarkenteinen tiedosto, joka sisältää ikkunointinäkymäasettelut. Tätä tiedostoa ei välttämättä tarvita avattaessa projektitiedosto. CX-Programmerilla voi tehdä myös monia muita tiedostoja. Katso tarkemmin CX-Programmer käyttäjän oppaasta. 5.9 Projektin avaus Projekti avataan valikosta File/Open. Avattavan tiedoston tyyppi voidaan vaihtaa Files of type kentästä vaikka Syswinin.swp-tiedostoksi. 60
61 6 PERUSKÄSKYJEN OHJELMOINTI Ohjelmaa tehdään siis virtapiireihin. Virtapiiri on pieni looginen kokonaisuus, joka muodostaa yhden tai muutaman muistipaikan ohjauksen. Kaikkien virtapiirin käskyelementtien tulee olla kiinni toisissaan. Virtapiireistä kannattaa pyrkiä tekemään suht yksinkertaisia. Tällöin niiden muokkaaminen on jälkeenpäin helpompaa. Apumuistien käyttäminen helpottaa ohjelmointia ja yksinkertaistaa virtapiirejä. Apumuisteiksi kutsutaan logiikan sisäisiä muistipaikkoja, joita käytetään välitallennuksiin ennen varsinaista ohjausta. Muista, että virtapiirien määrä ei suoranaisesti tee ohjelmasta suurta ja raskasta. Päinvastoin jos ohjaus on jaoteltu sopivasti virtapiireihin, voi ohjaus olla rivi- eli käskymäärältään pienempi, kuin jos se olisi tehty minimaaliseen määrään virtapiirejä. Pyrittäessä minimoimaan virtapiirien määrä, tulee ohjelmiin paljon relekaaviossa näkymättömiä, mutta käskylistamuodossa näkyviä käskyjä. Ohjelman kontrollikäskyt ohjelmoidaan aina omiin virtapiireihinsä. 6.1 Ohjelmaelementti- eli käskytyökalut Elementtityökaluille löytyy pikapainikkeet, joiden opastetekstit kertovat myös näppäimen, jolla elementti saadaan ohjelmaan. Selitykset vasemmalta oikealla, suluissa pikanäppäimet. valintatyökalu Selection Tool (ESC) sulkeutuva kosketin New Contact (C) avautuva kosketin New Closed Contact (/) sulkeutuva rinnakkaiskosketin alapuolelle New Contact OR (W) avautuva rinnakkaiskosketin alapuolelle New Closed Contact OR (X) pystyviiva (U tai CTRL+nuoli ylös piirto ylöspäin / V tai CTRL+nuoli alas piirto alaspäin) vaakaviiva (H tai tai CTRL+nuoli oikealla piirto oikealla / tai CTRL+nuoli vasen piirto vasen) bitin kopiointi New Coil (O) bitin käänteinen kopiointi New Closed Coil (Q) funktiokäskyt, myös ajastimet ja laskurit (I) toimilohkokutsu (F) toimilohkon parametri (P) viivan piirto raahaamalla hiiren vasen painike pohjassa viivan tuhoaminen raahaamalla hiiren vasen painike pohjassa Valitse ensin työkalu hiirellä ja klikkaa haluttuun virtapiirin kohtaan tai vie kohdistin ensin haluttuun kohtaan ja paina pikanäppäintä. Työkaluvalinta keskeytytetään Selection Tool valinnalla tai ESC-painikkeella. Elementin eli käskyn lisäämisen jälkeen tehdään aina operandin määrittelyt. valitsemalla muuttuja/arvo jostain symbolilistasta määrittelemällä samalla uusi muuttuja antamalla pelkkä osoite 61
62 6.2 Käskyikkuna Käskyikkuna avautuu, kun työkalulla on klikattu virtapiiriin tai pikapainiketta on painettu. Ikkunalla on kaksi muotoa. Yksinkertaistettu oletuksena käytössä oleva Simple Dialog ja symbolointia helpottava normaali muoto. Ikkunan muoto valitaan valikosta Tools/Options ja ikkunan välilehden kohdasta Instruction Dialog Mode. Simple Dialog Modessa voi valita vielä osoitteen kommentointi-ikkunan avautumisen. Simple Dialog Mode sopii hyvin, jos symbolit on jo nimetty ja muistaa osoitteet tai symbolien nimet. Ikkunan saa isonnettua Detail >>-painikkeella, jolloin se näyttää seuraavalta. Ainakin alkuvaiheessa ja jos aikoo nimetä muuttujat samalla kun tekee ohjelmaa on isompi eli normaali ikkuna helppokäyttöisempi. Otetaan Simple Dialog Mode pois valikosta Tools/Options. Tämän ikkunan Diagrams-lehdellä on alaosassa kohta Show in Simple Dialog Mode, josta valinta poistetaan. 6.3 AND- ja OR-piirien luominen CX-Programmerilla 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. Ladder Diagram eli relekaaviomuodossa ohjelmoitaessa ei juuri em. nimityksiä käytetä, vaan puhutaan avautuvista (es. LD NOT) ja sulkeutuvista (es. LD) koskettimista sekä sarja (AND) ja rinnankytkennöistä (OR). Sarjakytkennässä koskettimet kytketään peräkkäin vaakasuoraan. Ohjaus on tosi eli 1 -tilassa, kun kaikki koskettimet ovat kiinni, muutoin epätosi eli 0. Rinnankytkennässä koskettimet kytketään allekkain eli rinnakkain. Ohjaus on tosi eli 1 -tilassa kun vähintään yksi koskettimista on kiinni. Jos kaikki rinnankytketyt koskettimet ovat auki, on ohjaus epätosi. Usein tarvittava ohjausehto muodostuu edellisten yhdistelmistä, tällöin voidaan puhua sekakytkennästä. 62
63 Virtapiirin ohjelmointi aloitetaan vasemmasta reunasta, valitaan työkalu ja klikataan ensimmäinen elementti ensimmäiseen sarakkeeseen ja annetaan tai valitaan symboli. Työkaluvalinta pysyy voimassa, kunnes valitaan uusi työkalu. Kun virtapiiri on valmis (tai ainakin käännettävissä) kuittaantuu se siirtämällä kohdistin toiseen virtapiiriin. Seuraavassa esimerkissä ohjelmoidaan harjoituksen H1 ohjaus. Kun ohjausvirtapiirikaaviossa on virran suunta ylhäältä alas, niin nyt logiikkaohjelmassa voidaan ajatella sen kulkevan vasemmalta oikealle. Aloitetaan ohjelmointi kelan K1 ohjausvirtapiiristä ja sen ensimmäisestä koskettimesta. I/O-pisteluettelo: S0 S1 F2 K1 K1 K1 S S F K H H K1 H1 H2 1. Viedään kohdistin ohjelmaikkunassa virtapiirin alkuun, jos se ei ole siellä ja painetaan näppäimistön näppäintä / tai valitaan hiirellä sulkeutuva kosketin New Closed Contact (/) -työkalu ja klikataan virtapiirin alkuun eli vasempaan reunaan. 2. Valitaan Name-alasvetolistasta jo symboloitu muuttuja tai annetaan uusi. Vielä muuttujaa ei ole, joten luodaan se nyt. Annetaan nimi F2, sille kommentti Lämpösuoja M1 ja fyysinen osoite Osoitteesta voi jättää turhat etunollat pois. Pisteen käyttö sana- ja bittiosoitteen välissä on vapaaehtoista, mutta suositeltavaa. Symboli talletaan nyt Globaaliin listaan ilman linkitystä. Mitään muutosperusteisia eli differentiaalisia ohjauksia koskettimelle ei valita, vaikka CJ1/CS1/CV-logiikoille se tarvittaessa onkin mahdollista. Myöskään välitöntä eli käskyn suorituksen yhteydessä tapahtuvaa osoitteen IOvirkistystä ei valita.kuitataan OK-painikkeella. 63
64 3. Mikäli jokin meni väärin muuttujan valinnassa tai symboloinnissa, poistetaan työkaluvalinta ESC-näppäimellä tai Selection Tool-pikapainikkeella, ja annetaan hiirellä tuplaklikki käskyyn, jolloin Edit Closed Contact-ikkuna avautuu. Ikkunan saa auki myös Enter-näppäimellä, kunhan kohdistin on oikeassa kohdassa. Jos halutaan vaihtaa toinen muuttuja, niin valitaan valmis listasta tai kirjoitetaan sen tai uuden nimi ylimpään riviin. Mikäli halutaan muokata nykyistä muuttujaa, niin painetaan Edit-painiketta ja tehdään muutokset. Muutokset näkyvät tietysti koko symbolin vaikutusalueella. Eli globaalilla symbolilla läpi logiikan ja lokaalilla vain kyseisessä ohjelmassa. 4. AND-piiri eli sarjakytkentä syntyy, kun kaksi tai useampi kosketin kytketään peräkkäin sarjaan. Koskettimet voivat olla sulkeutuvia tai avautuvia. Sulkeutuva kosketin on kiinni, kun koskettimen bitti on tosi eli 1. Avautuva kosketin on kiinni, kun koskettimen bitti on epätosi eli 0. Lisätään vielä sarjaan toinen avautuva kosketin, jonka globaali symboli on S_0 ja kommentti Stoppainike. Osoite on S0 ei kelpaa symboliksi. 5. Vaihdetaan työkalu sulkeutuvaksi koskettimeksi ja klikataan sillä edellisten perään. Näin on syntynyt kolmen koskettimen sarjakytkentä. Annetaan S1 tiedot käskyikkunaan. Myöskään S1 ei kelpaa symboliksi, vaan annetaan esim. S_1. Kuvasa nähdään blokin nimeltä M_1 ohjelmaikkunaa. Vasemmassa reunassa näkyvän virtapiiripalkin vasen 0 kertoo virtapiirin numeron ja oikean puoleinen 0 virtapiirin ensimmäisen käskyn rivinumeron. Virtapiiripalkin oikeassa reunassa näkyy nyt myös punainen viiva. Tämä on merkki siitä, että virtapiiri ei ole valmis eikä käännettävissä. Sen sisältö ei ole CX-Programmer - ohjelmoinnin kieliopin mukainen. Nämä koskettimet ovat ns. Input-tyyppisiä eli tilaa lukevia käskyjä. Virtapiiri, jossa käsitellään muuttujia, tulee päättää aina kirjoittavaan käskyyn. Kosketinkombinaatioiden tiloja voidaan kopioida muistipaikkoihin New Coil (O) tai New Closed Coil (Q) -käskyillä. New Coil kopioi suoraan ja New Closed Coil käänteisesti koskettimien ohjauksen. 6. Valitaan Kela New Coil (O) ja klikataan sarjakytkennän perään ja annetaan K1 tiedot. 64
65 Nyt virtapiiri on kieliopillisesti OK, mutta ei vielä ohjelmallisesti. 7. Koska kyseessä on painonappiohjaus ja moottorin tulee pyöriä kauemmin kuin mitä Startpainiketta S_1 painetaan, tarvitaan K1 ohjaukselle pito. Pitopiirit voidaan ohjelmoida logiikoissa monella tapaa. Nyt käytämme itsepito-ohjausta, eli ohjelmoimme rinnankytkennän Start-painikkeen S_1 ja K1 kanssa. Virtapiirissä ei ole nähtävissä kuin yksi graafinen rivi. Rinnankytkentää varten tarvitaan lisää tilaa. Helpoiten saadaan tilaa viemällä kohdistin alimmalla rivillä kohtaan, jossa ei ole käskyelementtejä ja painetaan Enter-näppäintä. Kätevästi lisää tilaa alapuolelle saadaan piirtämällä pystyviivaa Vertical Short ( V tai CTRL+ nuoli alas) Viiva piirtyy aktiivisen rasteripisteiden määräämän suorakaiteen vasemmasta reunasta alaspäin. Ylöspäin viivaa voidaan piirtää näppäimellä U tai CTRL+ nuoli ylös. Tämä ei kuitenkaan tee tilaa yläpuolelle, vaan sitä on tehtävä ensin toiminnolla Insert Row. Viivojen piirron jälkeen viedään kohdistin viivojen väliin toiselle riville ja painetaan C-näppäintä itsepitokoskettimen lisäämistä varten. K1 symbolihan on jo luotu, joten valitaan se listasta. Nyt virtapiiri on valmis ja se näyttää tältä. Virtapiirin toiminta ei tietenkään muutu,vaikka sarjassa olevat koskettimet tai kosketinryhmät olisivat toisessa järjestyksessä. Tosin ohjelma lyhenee yhden rivin verran käskylistamuodossa, jos rinnankytketty piiri ohjelmoidaan virtapiiri alkuun. 65
66 8. Tehdään vielä merkkivalojen H1 ja H2 ohjausvirtapiirit. Symbolit H1 ja H2 ovat kiellettyjä, joten käytetään taas vaikka alaviivaa, jotta saadaan muuttujat symboloitua. Ohjelmoidaan kumpikin lähtö omaan virtapiiriinsä, koska näille ei ole tehtävässä annettu yhteistä tekijää. Mikäli kuitenkin haluat ohjelmoida lähdöt samaan piiriin, niin käytä tällöin järjestelmäbittiä P_On sulkeutuvan koskettimen yhteydessä haaroituskoskettimena virtapiirin alussa 6.4 Lopetuskäsky END(001) Jotta ohjelma voitaisiin ladata logiikkaan ja testata, tarvitsemme ohjelman päätteeksi END(001)- käskyn. Jos ohjelmasta puuttuu END(001)-käsky, ei ohjelman alaslataus logiikkaan onnistu, vaan tulee siitä tulee huomautus tulostusikkunaan. END(01)-käsky tulee aina omaan virtapiiriinsä. Saakoon se vielä oman blokkinsakin. Kuten aiemmin jo todettiin, on CX-Programmer ohjelmistossa jokaiselle ohjelmalle tehty valmiiksi viimeinen blokki nimeltä END joka sisältää myös END(001)-käskyn. Joten seuraavaksi esitettävää END(001)-käskyn lisäystä ei tarvitse tehdä. Kaikki funktiokäskyt, ajastimet ja laskurit löytyvät painikkeen Instruction (I) takaa. Kun uusi blokki on lisätty ja nimetty, avataan se ohjelmointieditoriin tuplaklikillä projektinhallintaikkunassa. Varmistetaan, että kohdistin on sen ensimmäisen virtapiirin alussa ja painetaan I-kirjainta näppäimistöltä tai valitaan Instructions-työkalu ja klikataan virtapiirin alkuun.. Käskyn määritys Instruction-ikkunan Instruction-kenttään tehdään kolmella tapaa kirjoittamalla funktion nimilyhenne (nyt END), CX-P tarjoaa listasta aina seuraavaa sopivaa nimeä kirjoittamalla funktionumero (nyt 001) käyttämällä hakupalvelua Find Instruction.. 66
67 Instruction-ikkunan Operands-osio on tärkeä. Yleensä käskyissä on 1-4 operandia, jotka määritellään tässä kentässä. Kun käsky on valittu, mukautuu Operands-osio valinnan mukaan. Operands-kenttien alla kerrotaan Operandin tarkoitus ja opastetaan valitsemaan oikea datatyyppi, osoite tai arvo operandille. END(001)-käsky on ohjelman kontrollikäsky, jolla ei ole yhtään operandia. Instruction Help-toiminnolla saat lyhyen tiivistelmän funktiosta. Sitä kannattaa käyttää, kun tarvitset uusia käskyjä. Help-ikkunan saa auki myös Edit-valikosta. 6.5 OnLine-yhteys ja logiikan toimintatilat Yhteys CX-Programmerista CJ1M -logiikkaan otetaan nyt Toolbus -sarjaliikenneprotokollalla. Onnistunut yhteys vaatii oikeanlaisen kaapelin laitteiden välille. Myös logiikan portin ja CX- Programmerin kommunikointiasettelut olla samat, jotta kommunikointi onnistuu. Tietokoneen kommunikointiasetteluita muutetaan Change PLC-ikkunan Network Type -kohdasta. Yhteys logiikkaan otetaan vaikka valitsemalla pikavalikko logiikan kohdalla ja sieltä Work Online. Jos ns. turvamoodi on aktivoitu, niin ohjelmisto kysyy vielä, että haluatko varmasti tehdä tämän toimenpiteen. Näppäinyhdistelmä CTRL+W toimii myös yhteyden kontrollointiin. Kun yhteys on saatu, tulee projektinhallintaikkunassa logiikan perään sen toimintamoodi, Run, Monitor tai Stop/Program osoittamaan yhteyttä ja tilaa. Myös ohjelmablokki-ikkunoiden taustaväri 67
68 muuttuu Read Only -tilan määritysten mukaiseksi (oletusväri harmaa). näytetään teksteillä Running / Stop. Myös ohjelmien tila Kun yhteys logiikkaan on valittuna, ei juuri mitään editointitoimenpiteitä voi tehdä logiikalle. Lähinnä voidaan monitoroida logiikan ja ohjauksen tilaa sekä syöttää muistipaikkoihin uusia arvoja. Toimintatilaa voidaan vaihtaa vaikkapa logiikan pikavalikosta riviltä Operating Mode / haluttu tila. Seuraavat näppäinyhdistelmät vaihtavat tilaa CTRL+1 Stop/Program eli ohjelmointitila CTRL+3 Monitor eli suorittava tila, jossa logiikkaa voidaan editoida CTRL+4 Run eli suorittava tila, jossa logiikka on suojattu Yhteys katkaistaan samalla tavoin kuin otettiinkin eli valitsemalla uudestaan Work Online. 6.6 Ohjelmien siirto logiikkaan eli alaslataus Alaslataus eli ohjelmien ynnä muiden siirto ohjelmistosta logiikkaan aloitetaan taas valitsemalla logiikka ja avaamalla sen pikavalikko. Riviltä Transfer voidaan Online-tilassa valita lataus logiikkaan (To PLC) lataus logiikasta (From PLC) ohjelmien vertailu CX-Programmer projektin logiikan ja logiikan välillä (Compare with PLC) symbolien, kommenttien ja ohjelman siirto tiedostoon, kun kyseessä on CJ1/CS1-logiikka. 68
69 Transfer To PLC-valinta avaa seuraavan ikkunan. Symbols, Comments ja Program Index -valinnat ovat näkyvissä vain, jos CF-muistikortti on asennettu paikalleen tai CPU on versiota 3.0, joissa on sisäistä kommenttimuistia. Alaslataukseen voidaan valita CJ1M-logiikalla seuraavat seikat: Program(s) käsittää ohjelmat Settings PLC Settings -ikkunan määrittelyt IO-taulu valittaisiin, mikäli IO-taulueditorilla on käyty muokkaamassa taulua ja oletus osoitteenmääräytymistapa ei riitä. Special Unit Setup lataa IO-taulueditorissa tehdyt erikois-io- tai väyläyksiköiden asettelut Symbols-valinta lataa logiikan symbolilistojen tiedot (Symbols.Sym) Comments lataa ohjelman virtapiiri- ja käskykommentit (Comments.Cmt) Program Index lataa blokkikommentit (Program.Idx) V3.0/V4.0 logiikoissa voidaan valita käytettävä muisti kommenteille ja symboleille. Ohjelmamuisti tyhjennetään aina automaattisesti ennen ohjelmien latausta vanhoista ohjelmista. Alaslataukseen valitaan nyt ohjelma Program(s) ja mahdolliset symbolit, kommentit ja indeksi. Ja eikun OK. Jos CPU on Stop/Program-tilassa kun lataus alkaa. Toimintatilan ollessa suorittava, kysytäänkin ensin, että onko soveliasta vaihtaa tilaksi latausta varten Stop/Program. Kyllä vaihdetaaan. Mikäli turvamoodi on päällä, niin aivan ensiksi halutaan varmistus operaatiosta. 69
70 käännöksen jälkeen alkaa lataus. Katso myös logiikan ohjelmien käännöksien ilmoitukset automaattisesti avautuneen tulostusikkunan Compilelehdeltä. Myös itse käännös tapahtuu automaattisesti. Sen voi tarvittaessa tehdä myös logiikka- tai ohjelmakohtaisesti näiden pikavalikoista toiminnolla Compile. Onnistuneen eli virheettömän Onnistuneesta alaslatauksesta tulee ilmoitus Download Successful. Tarkistetaan, että CPU palautuu Monitor (tai Run) -moodiin ja testataan ohjelman toiminta. 6.7 Monitorointi ja pakko-ohjaukset Testaus voidaan suorittaa logiikan tuloihin kytkettyjen simulointikytkinten avulla sekä tarkastelemalla lähtöjen merkkivalojen toimintaa. Voit myös hyödyntää koulutuslaitteiston NSnäyttösovellusta Toki CX-Programmerin ohjelmointieditorissa on monitorointi ja pakkoohjausmahdollisuus toiminnan tarkastelua varten. Monitorointi kytkeytyy automaattisesti päälle kun yhteys otetaan logiikkaan. Se saadaan toimintaan tai pois päältä myös Toggle PLC Monitoring-pikapainikkeesta tai logiikan pikavalikosta riviltä Monitoring. Näppäinyhdistelmä CTRL+M toimii myös. Nyt virtapiirien toimintaa ilmaistaan virtausta osoittavilla vihreillä monitorointipalkeilla sekä datakäskyissä näkyvillä sanamuuttujien arvoilla. 70
71 Kuvasta nähdään: Logiikan toimintatila on Monitor. Alimmainen ohjelmiston rivi on tilarivi, ja siellä näkyy myös logiikan sykliaika 1,9 ms. Kaikki virtapiirissä 0 näkyvät tulobitit ovat 0 -tilassa, koska avautuvat koskettimet ovat kiinni ja sulkeutuvat taas auki. Lähtö K1on sen sijaan on ohjattuna. 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. Ohjelmisto pyytääkin tässä tapauksessa vaihtamaan toimintatilan Monitor-tilaksi. Ohjelmointieditorissa bittien pakko-ohjaukset tehdään seuraavasti: valitaan haluttu osoite klikillä, avataan hiiren oikealla painikkeella pikavalikko, josta valitaan haluttu toiminto. Force On pakko-ohjaa bitin päälle, kunnes se kumotaan Force Cancel- toiminnolla Force Off pakkonollaa bitin, kunnes ohjaus keskeytetään Force Cancel-toiminnolla. Cancel All Forces keskeyttää kaikki pakko-ohjaukset. Huomaa, että tämän jälkeen bitin tila riippuu siitä, millainen muistipaikka on ja käsitelläänkö sitä ohjelmassa. Tulobittien tilat määräytyvät tulojen jännitteen mukaan ja apumuistien sekä lähtöbittien sen perusteella, miten ohjelma niitä ohjaa. Mikäli ohjelma ei käsittele muistipaikkaa, niin sen tila säilyy ennallaan. Set On ja Set Off ovat vain yhden syklin mittaisia 1 ja 0 -tilan kirjoituksia. Set Value -ikkunasta voidaan kirjoittaa sanaosoitteeseen sopiva arvo, bittiosoitteeseen 0 tai 1. Kuten huomasit, Force-toiminnot ilmaistaan ohjelmaeditorissa pakoitetun osoitteen viereen ilmestyvällä lukkokuvalla. Poista pakko-ohjaukset testauksen jälkeen. Tarkastele ohjelmaa myös käskylistamuodossa. View-valikon Mnemonics avaa ikkunan myös käskylistamuodossa. Kuten huomaat virtapiirit alkavat LD- tai LD NOT -käskyllä. 71
72 6.8 Virtapiirien ja käskyelementtien muokkaaminen Pidetään lähtökohtana sitä, että näin alussa kaikki muokkaukset tapahtuvat Offline-tilassa (ei yhteyttä logiikkaan). Myöhemmin voidaan ohjelmia muokata ohjelman suorituksen aikana Online Edit -tilassa. Kerrataan vielä virtapiirin sisällön muokkaaminen. Käskyelementti valitaan hiirellä klikkaamalla ja useammat elementit maalaamalla. Tuplaklikillä avautuvassa Edit.. ikkunassa voidaan muokata käskyelementtiä. Jos käskylle halutaan uusi symboli tai osoite, kirjoitetaan se suoraan Name or address-kenttään sekä annetaan muut tarpeelliset tiedot. Jos muuttuja on jo olemassa, niin haetaan se avatusta listasta Name or address -kentässä. Toki tässäkin tapauksessa sitä voidaan kutsua nimellä tai osoitteella. Mikäli nykyistä muuttujaa halutaan muokata tästä käsin, niin klikataan ensin Edit Symbol - painiketta, jonka jälkeen Symbol Information -osio avautuu muutoksia varten. Jos muuttujan osoite vaihdetaan, muuttuu se nyt kaikissa esiintymissä läpi symbolilistan vaikutusalueen. Koskettimen tyypin voi vaihtaa New Closed Contact -työkalulla tai koskettimen pikavalikon riviltä Invert(NOT). Käskyelementti voidaan tuhota DEL-näppäimellä. Tarvittaessa lisää tilaa, eli sarakkeita tai rivejä, virtapiiriin valitaan kohdassa, johon lisäys halutaan, hiiren oikea painike ja pikavalikosta Insert Row lisättäessä rivi (ALTGR+nuoli alas) Insert Rung Column lisättäessä sarake (ALTGR+nuoli oikealle) Delete Row tuhottaessa rivi (ALTGR+nuoli ylös) Delete Rung Column tuhottaessa sarake (ALTGR+nuoli vasemmalle) 6.9 Ohjelman muokkaaminen online-tilassa eli Online Edit Ohjelmaa voidaan muuttaa myös ajonaikaisesti. Tätä tapahtumaa kutsutaan nimellä OnLine Edit. Tällöin voidaan lisätä, poistaa ja muokata virtapiirejä. Ohjelmien ja blokkien muokkaamiset eivät ole mahdollisia. Logiikan tulee olla Monitor-tilassa sekä ohjelmien samanlaiset logiikassa ja CX- Programmerissa ennen muokkaamista. Online Edit etenee seuraavasti: valitse virtapiiri tai peräkkäiset virtapiirit maalaamalla se/ne virtapiirin vasemmasta palkista pelkkää tyhjää virtapiiriä ei voi valita avaa vasemman virtapiiripalkin päällä pikavalikko ja valitse sieltä Online Edit/Begin nyt valittujen virtapiirien tausta muuttuu Offline-tilan väriseksi tee muutokset. Huomaa ettei symboleja voi muuttaa, mutta uusia voi lisätä. myös virtapiirejä voidaan lisätä valitun alueen sisä-, ylä- tai alapuolelle lähetä muutokset avaamalla taas pikavalikko virtapiiripalkin päällä ja valitse sieltä Online Edit/ Send Changes. Virtapiirien tausta palautuu taas Online-tilan väriseksi. 72
73 7 BITIN KÄSITTELYKÄSKYT Edellisessä luvussa tutustuttiin virtapiirien muodostamiseen ja peruskäskyihin, koskettimiin ja keloihin. Pysymme edelleen bittiohjauksissa, mutta opiskelemme yleisimpiä funktiokäskyjä, joiden avulla saadaan lisää sävyjä ja mahdollisuuksia ON/OFF-ohjauksiin. Tutustumme pitopiiri- ja sekvenssikäskyihin. 7.1 Pitopiiri KEEP(011), SET JA RSET Pitopiiri voidaan luoda peruskäskyjen avulla tai funktiokäskyjen avulla. Tähän tarkoitukseen sopivia funktioita ovat KEEP(011) tai SET ja RSET. Käskyille on ominaista se, että niille riittää syklin mittainen pulssi toteuttaaksen toiminnon. KEEP(011) käsittää sekä asettavan (S) että resetoivan (R) tulon. Ylempi tulo on S ja alempi R. Eli kuvassa S_1 asettaa K1:n 1-tilaan ja S_0 tai F2 resetoi K1:n. Jos molemmat tulot ovat yht aikaa aktiivisia, on myöhemmin ohjelmassa suoritettava rivi, eli resettulo määräävämpi ja näin KEEP-käskyn bitti menee 0-tilaan. KEEP-käsky itseasiassa muistaa, kumpi sen tuloista on ollut viimeksi aktiivinen ja ohjaa bittinsä sen mukaiseen tilaan. SET-käskyllä ei ole funktionumeroa ja se saadaan valittua kirjoittamalla set. Kun SET-käskyä ohjaava bitti aktivoituu, niin SET-käskyn bitti menee 1-tilaan, jossa se pysyykin, kunnes tämä osoite resetoidaan RSET-käskyllä. RSET-käsky on siis bitin nollausta varten. 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. 73
74 Aikakaaviolla voidaan toimintaa hahmoittaa näin: S_1 S_0 / F2 K1 Kun funktiokäskyjä ohjelmoidaan, niin voidaan joutua liikkumaa Instruction-ikkunan lisäksi Find Symbol-ikkunassa. Seuraavassa on esitetty KEEP(011)-funktion ohjelmointi. Kun Instruction-kenttään on kirjoitettu käskyn nimilyhenne (osa nimeä) tai funktionumero, tulee ko. kentän alle käskyn koko tiedot. Operands-kentän riveille annetaan opasteet alapuolella. Näemme nyt opasteista, että KEEP(11)-käskyllä on vain yksi operandi. Se on bittiosoite, joka voi sijaita CIO, H, A tai W-muuttujamuistialueilla tai indeksirekisterissä,ir. Symbolin datatyypin tulee olla BOOL eli bittityyppinen. Huomaa, että KEEP(011)-käskyyn voidaan liittää välitön virkistys (!). 74
75 Kun hiirellä klikataan Operands-kentän riville, tulee rivin päähän...painike, josta päästään Find Symbol -ikkunaan. Ikkunan yläosassa voidaan tarkentaa symbolin hakua. Look In -kohdassa valitaan joko globaali tai lokaali lista ja Symbols of Type -kohdassa voidaan rajata symbolin tyyppi tietyksi tai hakea kaikkia tyyppejä. Jos symbolia ei ole vielä nimetty, se voidaan tehdä nyt. Kirjoitetaan nimi Name or address -kenttään sekä annetaan osoite ja mahdollinen kommentti. Kun palataan Find Symbol -ikkunasta OK-painikkeella Instruction-ikkunaan, nähdään Operandin informaatiokohdassa äsken syötetyt/ valitut tiedot. Jos muuttuja on jo aiemmin tehty, niin sen nimi tai osoite voidaan antaa suoraan Operands-kentän riville. Huomaa vielä, että SET/RSET-käskyihin voidaan liittää välitön virkistys (!), nouseva tai laskeva (%) reuna. Filter Symbol painikkeella voidaan hakea symboleja suoraan listoista. 75
76 7.2 Reunantunnistus DIFU(013) JA DIFD(014) Edellä tehtiin tilaperustaisia ohjauksia. Toisinaan tilaa tärkeämpää on muutos. Bitin muutos voi olla 0 -> 1 eli nouseva tai 1 -> 0 eli laskeva. Bitin nousevan reunan tunnistus suoritetaan DIFU(013) ja laskevan reunan tunnistus DIFD(014) käskyillä. Nämä antavat aktivoituessaan ohjelmasyklin mittaisen 1 -pulssin käskyn osoittamaan apumuistibittiin. Tätä bittiä käytetään sitten koskettimien yhteydessä tuottamaan kertasuoritteisia ohjauksia. DIFU(013) eli Differentiate Up toimii silloin, kun sitä ohjaava akku aktivoituu, eli ohjaava kosketin(kombinaatio) sulkeutuu DIFD(014) eli Differentiate Down toimii silloin, kun sitä ohjaava akku deaktivoituu, eli ohjaava kosketin(kombinaatio) avautuu. Ohjelmoidaan nousevan reunan tunnistus edellisen tehtävään startille seuraavasti. Lisätään ensin uusi virtapiiri vaikka yläpuolelle, ohjelmoidaan sinne ehtokosketin S_1 ja sen perään valitaan Instruction(I). Kirjoitetaan käskyn nimilyhenne tai funktionumero käskykenttään. Havaitaan, että käskyllä on vain yksi bittioperandi. Klikataan operandikentän ylimmälle riville ja edelleen... - painikkeeseen, jotta päästään symboloimaan. Annetaan nimi Name or address -kenttään, osoite Address or value -kenttään, Data type annetaan olla BOOL ja vielä haluttaessa kommentti nimelle. Valitaan myös symbolilista, johon muuttuja talletetaan. Kuvassa on muuttujalle käytetty W-apumuistialuetta. Muutetaan K1 asettavalle koskettimelle äskeinen uusi muuttuja. Tuplaklikataan kosketinta ja valitaan alasvetolistasta juuri luotu muuttuja. 76
77 Aikakaaviolla voidaan toimintaa hahmoittaa näin: S_1 S_1_Difu (S_1_Difd) DIFU- ja DIFD-käskyjen ohjaamien bittien 1-tilassa oloaika riippuu sykliajasta ja se on millisekunneista kymmeniin. Yleensä näillä käskyillä ohjataan pitopiirejä tai muita funktioita, jotka halutaan suorittaa kertaluonteisesti. 7.3 Reunatunnisteiset eli kertasuoritteiset koskettimet CJ1/CS1/CV-logiikoissa voidaan liittää reunantunnistus suoraan koskettimiin, jolloin reunatunnistusfunktioita ja apumuisteja ei tarvita. Reunatunnistuksen käyttäminen koskettimen yhteydessä on oikeastaan nopeampi ja helpompi tapa toteuttaa kertasuoritteinen ohjaus. Perinteisissä C-sarjan logiikoissa, kuten CPMx, CQM1 ja C200Hx -logiikoissa tämä ei ole käytettävissä, vaikka CX-Programmer antaakin valita reunan tunnistuksen koskettimen ohjelmoinnissa. Reunan tunnistus määritetään Contact-ikkunan Differentiation-kohdassa. None ei ota tunnistusta käyttöön, Up tekee nousevan reunan tunnistuksen, eli tunnistaa kontaktin sulkeutumisen ja Down laskevan reunan tunnistuksen eli tunnistaa kontaktin avautumisen. Koskettimeen piirtyy nyt reunan tunnistusta kuvaava nuoli. 77
78 7.4 Useamman peräkkäisen bitin nollaus - RSTA(531) Vaikkapa seuraavassa sekvenssiesimerkissä, jossa toteutus tehdään SET/RSET-käskyillä, voi olla tarpeen tehdä useamman peräkkäisen bitin nollaus yhdellä käskyllä. RSTA(531) sopii tähän hyvin. Käskyllä on kolme operandia 1. aloitussana 2. aloitusbitti, voidaan antaa vakiona (bin, &) tai sanaosoitteena, jolloin aloitusbitti on siis sanan arvo (00..15) 3. nollattavien bittien määrä, voidaan antaa vakiona (bin, &) tai sanaosoitteena, jolloin aloitusbitti on siis sanan arvo ( ) Kuvan esimerkissä nollataan bitit Sekvenssiohjaukset eli siirtorekisterit Sekvenssiohjausten eli siirtorekistereiden käyttökohteita ovat tehtävät, joissa toiminnot tapahtuvat ajallisesti peräkkäin. Seuraavaan askeleeseen mennään yleensä edellisen askeleen kautta siirtoehdon toteutuessa. Kaaviona sekvenssiohjaus voidaan esittää vaikkapa seuraavasti. Kuvassa sekvenssi etenee järjestyksessä ylhäältä alas aina ehtojen toteutuessa. Kullekin askeleelle varataan oma työ- eli askelbitti, jota sitten käytetään ohjauksiin. Tyypillisesti peräkkäisille askelille varataan peräkkäiset bitit, esim. Askel 1 =H00.00, Askel 2 =H00.01, jne. Sekvenssiohjaukset eli askelohjaukset voidaan toteuttaa mm. KEEP(011), SET/RSET -ketjuilla tai siirtorekisterikäskyllä SFT(010). Startti Askel 1 Askel 2 Askel 3 Ehto 1 Ehto 2 Ehto 3 Ehto 4 Näin alussa voidaan pitää perusajatuksena sitä, että vain yksi askel on aktiivinen, muut nollattuina. Seuraavat bittikarttakuvat osoittavat sekvenssin etenemistä, esimerkiksi bitti 00 =Askel 1, bitti 01 =Askel 2, bitti 02 =Askel 3, jne
79 Sekvenssin ohjelmarakenne on yleensä sellainen, että siitä voidaan erottaa seuraavat osat (riippuen toteutustavasta) siirtorekisterin runko etenemisehdot lähtöjen ohjaukset eli toimenpiteet Siirtorekisterin runko KEEP(011) -käskyllä Ohjauksen ymmärtämistä helpottaa, jos peräkkäiset askeleet ohjelmoidaan peräkkäisiin bitteihin. Ohjaus 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 voidaan tehdä paristovarmennetulle H-muistialueelle, jos halutaan tai voidaan jatkaa siitä askeleestä, johon jäätiin sähkökatkon ilmetessä. 79
80 7.5.2 Siirtorekisterin runko SET/RSET- käskyillä KEEP(011) -käskyjä käytettäessä ohjelmoitiin yhteen virtapiiriin yksi askel. SET/RSET-käskyjä käytettäessä virtapiiriin ohjelmoidaan siirto askeleesta seuraavaan. Kuvassa ei ole ohjelmoitu yleisiä askeleiden nollauksia. Koko sekvenssin nollaus voidaan toteuttaa yhdellä virtapiirillä. Myös jokaiseen virtapiiriin voisi ohjelmoida nämä nollausehdot. Tällöin ne toki tekisivät myös askeleen asetuksia, mutta nämä nollattaisiin seuraavan askeleen virtapiirissä Siirtorekisterin runko SFT(010)-käskyllä SFT(010)-käsky on bittikäsky, vaikka se varaa siirtorekisterille kokonaisia sanoja. Käskyllä on kaksi operandia. Ensimmäinen operandi on siirtorekisterin aloitussanan ja toinen lopetussana. Kaikki sanat aloitus- ja lopetussanan välillä varataan tälle sekvenssille. Jos tarvitaan korkeintaan 16 askelta, riittää yksi sana. Tällöin aloitus- ja lopetussana ovat samat. Yhdellä käskyllä voidaan siis toteuttaa satoja askelia pitkä sekvenssi. Toki käsky vaatii oikein toimiakseen oheisohjelmointia lähinnä siirtotapahtuman ohjaukseen. SFT(010)-käskyllä tehtyä sekvenssiä varten ladataan esim. sekvenssin käynnistyksen yhteydessä siirtobitti ( 1 ) siirtorekisterin aloitusbittiin. Tämä voidaan tehdä sanan kopiointikäskyllä MOV(021). Käskyyn tutustutaan myöhemmin. 80
81 SFT(010)-käskyllä on kolme tuloa: Ylin on Datatulo, joka siirtää joka kellotuksella tilaansa rekisterin ensimmäiseen bittiin. Nyt tuloon luetaan 0 -tilaa järjestelmäbitistä P_Off, joka on aina 0. Keskimmäinen tulo on kellotustulo. Jokaisella tulon nousevalla reunalla siirtorekisterin bittikuvio siirtyy yhden bitin eteenpäin. Rekisterin sisältö on muuten pelkkää 0 -tilaa äsken ladattua siirtobittiä 1 lukuunottamatta. Siis siirrämme tavallaan tätä 1 -bittiä eteenpäin. Rekisterin viimeinen bitti menetetään aina siirrossa. Alin tulo nollaa rekisterin sisällön aktivoituessaan. Rekisteri ei siis kellotu, jos tämä tulo on aktiivinen. Käynnistyksessä kopioidaan desimaalivakioarvo 1 sanaan Pesu_Seq. Tällöin kaikki muut, paitsi bitti 00, menevät arvoon 0. SFT(10)-käskyä ohjelmoitaessa on nimetty sana H0 nimellä Pesu_Seq. Toki sanan käytettävät askelbitit nimetään vielä erikseen. 81
82 7.5.4 Etenemisehto SFT(10)-käskylle Piiri koostuu yleensä rakenteesta, missä kukin ryhmä alkaa siirtorekisterin askelbitillä, jonka kanssa sarjassa on bitti, joka määrää siirtymisehdon seuraavaan askeleeseen. Bitti voi olla apumuisti, johon jossain toisessa virtapiirissä on koottu useita ehtoja yhteen. Jokainen askeleesta siirtyminen kootaan näin OR-kytkennällä yhteen. Näiden kanssa voidaan laittaa siirtobitti käänteisenä sarjaan siirron onnistumiseksi. SFT(010)-käskyn kellotustulohan vaatii nousevan reunan toimiakseen, se varmistetaan tällä avautuvalla koskettimella. Kuvan piiristä on myös hyvä monitoroida sekvenssin etenemistä Askeleiden toimenpiteet Askeleiden toimenpiteet (eli esim. lähtöjen ohjaukset, kättelyt) kootaan ohjelman loppuun. Toki täälläkin voidaan vielä käyttää lisäehtoja ohjauksiin askelbittien lisäksi. 82
83 8 AJASTIMET CJ2M-logiikoissa on kuusi erilaista ajastinta. Ajastimet ovat tyypiltään vetohidasteisia. Perusajastimen TIM aikayksikkö on 100 ms ja se käyttää BCD-lukujärjestelmää. Kun ajastinta ohjaava akun tila aktivoituu eli suoritusehto käy toteen, alkaa ajan laskenta. Lähes kaikki 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 kosketin (koskettimet ovat) on kiinni. Ajastimen asetettua ajastimen lippubitti pysyy 1-tilassa niin kauan, kun akku on aktiivinen. Ajastimet löytyvät CX-Programmerissa käskyistä Instructions (I). Samat ajastimet löytyvät sekä BCD-koodattuna että binäärisinä (lue kymmenjärjestelmän mukaisina). Ajastin Resoluutio Suunta BCD-ajastin Binääri-ajastin Perusajastin 100ms SV-> 0 TIM TIMX Pika-ajastin 10ms SV -> 0 TIMH(015) TIMHX(551) Pikapika-ajastin 1ms SV -> 0 TMHH(540) TMHHX(552) Pitkä ajastin 100ms SV -> 0 TIML(542) TIMLX(553) Totaaliajastin 100ms 0-> SV TTIM(087) TTIMX(555) Monilähtöajastin 100ms 0-> SV MTIM(543) MTIMX(554) CJ2-logiikoissa voi käyttää sekaisin sekä BCD- että binääriajastimia ja laskureita. Muissa ( kuten CJ1, CS1, CP1) logiikoissa EI voi käyttää yhtäaikaa BCD- tai binääriajastimia/laskureita. Vain jompia kumpia. Valinta tehdään logiikan Properties-ikkunan kautta. Huomaa vielä, että C-sarjan laitteissa, CPMx, CQM1, C200Hx, ajastimia on vähemmän ja ne ovat BCD-koodia käyttäviä. 8.1 Perusajastin TIM Perusajastimella TIM pärjää oikein mainiosti. Tässä vihkossa käsitellään vain tämä ajastin. Ajastin tarvitsee siis ohjausehdon. Ehdon käydessä toteen, alkaa ajastimen oloarvo pienentyä 100ms välein yhdellä. Kun ehto edelleen on tosi ja oloarvo saavuttaa arvon nolla, asettuu ajastin. Tällöin sen lippubitti menee arvoon 1. Tämä tilanne pysyy niin pitkään, kun ohjausehto on tosi. Kun ajastimen ohjaus menee epätodeksi, eli ohjaava kosketin avautuu, niin ajastin resetoituu. Eli oloarvo palautuu asetusarvoon ja lippubitti nollautuu. TIM-ajastimella ei ole muistia. TIM määritellään näin. Ohjelmoidaan ensin ohjauskosketin(koskettimet) ja valitaan I. Kirjoitetaan Instruction-kenttään TIM. Operands-osiosta huomataan, että TIM-ajastimella on kaksi operandia. Ensimmäinen operandi on ajastimen numero, jonka datatyyppi on TIMER. Jos numeroa ei haluta symboloida, riittää kun klikataan ensimmäiselle operandiriville ja kirjoitetaan siihen ajastimen numero. Mikäli numero kuitenkin halutaan symboloida, niin klikataan rivin päässä olevaa...painiketta. 83
84 Painike avaa Find Symbol-ikkunan, jossa voidaan hakea jo luotu symboli listasta tai sitten määrittää uusi. Alla olevassa kuvassa määritykset ajastimen numerolle. Kun määritykset kuitataan, ikkuna suljetaan ja palataan Instruction-ikkunaan, jossa äsken tehdyt/valitut tiedot on näkyvissä. 84
85 Määritetään vielä ajastimen asetusarvo operandiin kaksi. Asetusarvo voi olla vakio (BCD-vakion tunnus # eteen) tai sanaosoite. Symboloidun muuttujan datatyypin tulee tällöin olla UINT_BCD. Vakiota ei nyt kannata symboloida. Kuvassa on asetusarvoksi annettu vakioarvo #30. Tämä vastaa perusajastimen TIM aikaa 3,0s. Kuittauksen jälkeen ajastinlohko on valmis. Tämä on aikaa ohjaava eli kirjoittava käsky. Ajastuksen tulosta luetaan koskettimella, joka ohjautuu tämän ajastimen tilan perusteella. Tässä tapauksessa koskettimen osoite on T0. T tarkoittaa ajastinmuistialuetta ja 0 ajastinmuistialueen sanaa. Ajastimen kosketin haetaan nyt listasta, sitä ei enää tarvitse symboloida, koska äsken käytimme datatyyppiä TIMER. 85
86 Ajastimen koskettimia voi olla useita ympäri ohjelmaa, mutta samannumeroinen ajastinlohko saa esiintyä vain kerran. Kun kosketin K2sulkeutuu, alkaa ajastimen oloarvo sanassa T0000 vähentyä 0,1 s:n portaissa. Kun aika on kulunut 3,0 s:n kuluttua loppuun, ohjautuu bitti T tilaan. Kun K2 menee 0-tilaan, käy samoin bitille T0000. Ajastimen oloarvoksi palautuu asetusarvo #30. Jos ohjausbitti K2 ei pysy 1-tilassa hidastusaikaa, palautuu oloarvoksi asetusarvo #30, eikä bitti T0000 ehdi tällöin ohjautua 1 -tilaan. Siispä jos ajastus käynnistetään pulssista, niin silloin tulee ajastimen ohjaukseen käyttää pitopiiriä. Jos tarvitaan ajastuksia, jotka ovat pidempiä kuin 999,9 s, niin tällöin käytetään muita ajastimia, binääriajastimia tai laskureita ja järjestelmäpulsseja. Laskurit säilyttävät myös oloarvonsa sähkökatkon yli, ajastimet eivät Totaaliajastinta TTIM(087)/TTIMX(555) lukuunottamatta. Lähinnä totaaliajastinta varten on käytössä ajastimien ja laskureiden resetointikäsky CNR(545)/CNRX(547). 86
87 9 LASKURIT CJ1M-logiikoissa on kaksi erilaista laskuria. Laskurien toiminta muistuttaa ajastimen toimintaa. Merkittävin ero on, että nyt lasketaan pulsseja, eli laskentatulon nousevia reunoja ajan sijaan. Laskurit ovat myös muistavia käskyjä. Niiden oloarvot eivät resetoidu sähkökatkossakaan. CJ1Mlogiikoissa laskureilla ja ajastimilla molemmilla on omat muistialueensa, joten nyt ei tarvitse varoa ajastimien ja laskureiden päällekkäisyyksiä, kuten C-sarjan laitteilla. Laskurit löytyvät CX-Programmerissa käskyistä Instructions (I). Samat laskurit löytyvät sekä BCDkoodattuna että binäärisinä (lue kymmenjärjestelmän mukaisina). Ajastin Suunta BCD-laskuri Binäärilaskuri Peruslaskuri SV-> 0 CNT CNTX Ylös/alaslaskuri SV -> 0, 0->SV CNTR(012) CNTRX(548) Samassa logiikassa voi käyttää vain joko BCD- tai binääriajastimia/laskureita. EI molempia. Valinta tehdään logiikan Properties-ikkunan kautta. 9.1 Laskuri CNT Laskurissa on kaksi tuloa, ylempi laskentatulo, joka jokaisella nousevalla reunalla vähentää laskurin oloarvoa yhdellä, sekä alempi resetointitulo, joka palauttaa laskurin oloarvon asetusarvoksi ja resetoi laskurin lippubitin. Laskuri ohjelmoidaan samaan tapaan kuin ajastinkin. Ylempi tulo on laskentatulo ja alempi on reset. Laskuri ei laske, jos resettulo on aktiivinen. Laskurin numero voidaan antaa COUNTER-datatyypillä. Laskurin asetusarvo annetaan vakiona (#) tai osoitteena (UINT_BCD). Myös osoitteesta löytyvän arvon tulee olla BCD-luku BCD-laskureille. Muutoin virhebitti P_ER asettuu. Kuvassa laskurin editointi-ikkuna. Nyt asetusarvo tulee datasanasta D0 Esipesu_SV. 87
88 Kuvan laskuri laskeen Pesu_Askeleella3 1 sekunnin järjestelmäkellopulsseja. Kun pulsseja on laskettu sanan D0 Esipesu_SV arvon verran saa laskurin oloarvo arvon nolla, asettuu lippubitti, nyt C0000. Lippubitti resetoituu vain laskurin resettulon aktivoitumisella, joka tapahtuu kun joku kolmesta koskettimesta sulkeutuu. 9.2 Ylös/alaslaskuri CNTR(012) 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 resetoituu). Alaspäin laskettaessa toiminta on seuraava...2, 1, 0, 5 ( lippubitti aktivoituu), 4 (lippubitti resetoituu). 9.3 Pikalaskurit Kun tarvitaan lukea suurempitaajuisisia pulssijonoja, kuin mitä ohjelmasykli sallii, tarvitaan keskeytypohjaista tulojen luentaa. CJ1M-CPU-malleissa 21, 22 ja 23 on pikalaskurit HSC0 ja HSC1, jotka pystyvät laskemaan pulsseja aina 100 khz taajuuteen asti. CJ2M-logiikoihin saadaan nämä käyttöön asentamalla pulssimoduulin CJ2M-MD21x. Laskuri otetaan käyttöön ja sen toiminta määritellään Settings - ikkunan Built-in Input Setting -näkymässä. MIL-liittimen tuloja voidaan asetella myös keskeytystuloiksi ja edelleen keskeytyslaskureiksi.. 88
89 10 DATAN KOPIOINTI-, SIIRTO- JA VERTAILUKÄSKYJÄ Tässä luvussa käsittelemme yleisimpiä käskyjä, joiden avulla voimme kopioida, siirtää tai vertailla yhden tai useamman sanan mittaista dataa. Datakäskyt voivat joko jatkuvasuoritteisia tai kertasuoritteisia. Jatkuvasuoritteisia käskyjä suoritetaan niin kauan, kun ohjaava kosketin on kiinni. Kertasuoritteinen eli differentiaalinen käsky suoritetaan vain yhden kerran koskettimen sulkeutuessa (eli akun nousevalla reunalla). Differentiaalinen käsky määritetään ja tunnistetaan käskynimen edessä. Jos käskyjen suoritus ei esim. ohjelmointivirheestä johtuen onnistu, niin virhebitti P_ER ohjautuu päälle. Tätä voi lukea koskettimella heti käskyjen jälkeen vian selvittämiseksi ongelmatilanteissa Datan osoittaminen ja vakioarvojen tunnukset 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 D- datamuistimuistialueella. BCD-pohjainen epäsuora osoitus ilmaistaan käyttämällä D-osoitteen edessä asteriskiä, eli *D XXXX. Binääripohjaisen epäsuoran osoituksen tunnus XXXX. Kun epäsuora osoitus on määritelty, data haetaankin sanassa D XXXX viitatusta D- sanasta. MOV(21)-käskyn yhteydessä on esimerkki epäsuorasta osoituksesta. Vakioarvo voidaan antaa CX-Programmerissa usealla tapaa. Arvotunnukset vakioille ja monitoroituville datamuuttujille # Hex/BCD arvo & etumerkitön desimaaliarvo (binäärikoodi) +/- etumerkillinen desimaaliarvo (binäärikoodi) tai liukuluku- eli reaaliarvo BCD-luvulle ei tarvitse antaa #-tunnusta arvon syöttökentässä, jos muuttujan symbolin datatyypiksi on määritelty jokin BCD-formaateista 10.2 Datakäskyjen ohjelmointi CX-Programmer opastaa datakäskyjen ohjelmoinnissa. Kuvassa nähdään MOV(021)-käskyn ikkuna. Instructionkentän alla nähdään käskyn mausteet, nyt voidaan valita differentiaalisuus (@) sekä välitön virkistys (!). Operandin 1 kerrotaan olevan Source Word eli lähde, joka voi sanaosoite alla näkyviltä muistialueilta, hex/bcd vakio #, etumerkitön desimaalivakio & tai etumerkillinen vakio +/-. Datatyyppi symbolille voi olla mikä tahansa paitsi BOOL eli bittityyppinen. 89
90 10.3 Sanan kopiointikäsky MOV(021)-käsky lienee eniten käytetyin datakäsky. Se kopioi koko lähdesanan (Source) sisällön tai vakioarvon koko kohdesanaan (Destination). Kuvassa jatkuvasuoritteisen MOV(021)-käskyn määritysikkuna, jossa Operandi 2 on aktiivinen. Edellä oli jo Operandin 1 eli lähdeosoitteen /-arvon ohjeet. Operandi 2 on kohdeosoite, joka voi olla opasteen mukaisilla muuttujamuistialueilla. Luodaan samalla kohdeosoitteen muuttuja klikkaamalla...-painikkeesta. Find Symbol -ikkunan yläosassa voidaan valita symbolilista ja datatyyppi, jonka perusteella symbolin etsintä tehdään. Nyt niitä ei tarvitse muuttaa, koska luomme symbolin, jonka datatyyppi on UINT, sanaan D10. 90
91 Kuvassa nähdään äsken määritelty käsky ohjelmassa. Ohjausehtona tässä Pesu1-tulobitti Nyt vakioarvon &1 kopiointia Pesuohjelma_Nro-sanaan D10 tapahtuu aina, kun Pesu1-kosketin on kiinni. Jos kertasuoritteinen kopionti riittää, niin vaihtoehtoja on useita. 1. Muutetaan MOV(021)-käsky kertasuoritteiseksi 2. Lisätään reunantunnistus Pesu1-koskettimeen 3. Ohjelmoidaan reunantunnistusfunktio DIFU(013) Pesu1-koskettimesta ja käytetään sen apumuistia MOV(021)-käskyn ohjaukseen. Seuraavassa esimerkki binääripohjaisesta epäsuorasta muistinosoituksesta MOV(21)-käskyn yhteydessä. Pesuohjelma_Nro -sanan D10 tieto kopioidaan ohjaustulon nousevasta reunasta Tilasto_Osoitin-sanan D100 binääriarvon osoittamaan D-sanaan. MOV(021) tai MVN(022) -käskyillä ei voi muuttaa ajastimien tai laskureiden oloarvoja. BSET(071)-käskyllä tämä onnistuu. 91
92 10.4 Sanan kopiointikäsky Toimii kuten MOV(021), mutta kopioikin lähdesanan komplementin kohdesanaan. Komplementointi tarkoittaa sitä, että kukin lähdesanan tai vakion bitti invertoidaan eli nollat käännetään ykkösiksi ja päinvastoin Digitin kopiointikäsky MOV(021)- käsky kopioi kokonaisia sanoja. Jos halutaan kopioida sanan osia, on käytettävä muita käskyjä. Digitin kopiointikäskyllä MOVD(083) voidaan kopioida lähdesanasta digittiä haluttuun kohtaan kohdesanassa. Käskyä (tällöin tietysti useampi MOVD(083)) voidaan käyttää jaettaessa yhden sanan tietoa useampaan sanaan tai päinvastoinkin. Käsky kohdistuu vain määriteltyihin digitteihin kohdesanassa. Määrittelemättömät digitit säilyttävät vanhat arvonsa. Operandi 1 on lähdesana. Operandi 3 on kohdesana. Operandi 2 on ohjaussana, jonka perusteella määritellään ensimmäinen kopioitava digitti lähdesanassa, digittien määrä sekä ensimmäinen digitti kohdesanassa seuraavasti: Digitti: Ensimmäinen digitti lähdesanassa (0...3) Digittien määrä (0...3) 0 = 1 digitti 1 = 2 digittiä 2 = 3 digittiä 3 = 4 digittiä Ensimmäinen digitti kohdesanassa (0...3) Ei käytössä, aseta arvoon 0 92
93 10.6 Blokin kirjoitus BSET(071) Blokilla tarkoitetaan peräkkäisten sanojen muodostamaa ryhmää. Blokin kirjoituskäskyllä kirjoitetaan tarvittava data haluttuun määrään peräkkäisiä sanoja. Käskyssä määritellään kirjoitettava data vakiona, suorana tai epäsuorana osoituksena sekä kohdealueen ensimmäinen ja viimeinen sana. Operandi 1 on kirjoitettava data. Operandi 2 on kohdealueen ensimmäinen sana. Operandi 3 on kohdealueen viimeinen sana. Kuvassa ohjelman ensimmäisellä syklillä nollataan alue D D Blokin kopiointi Käsky kopioi joko jatkuva- tai kertasuoritteisesti määritellyn määrän sanoja lähdealueelta kohdealueelle. Huomaa taas ohjelmoitessa CX-Programmerin opastus ensimmäisen operandin ohjelmoinnin suhteen (UINT eli etumerkitön kymmenluku). Sanojen määrä annetaan nyt tunnuksella &. Jos vakio annetaan tunnuksella #, on arvon oltava vastaava heksaluku. Operandi 1 määrää kopioitavien sanojen määrän, 10 Operandi 2 osoittaa ensimmäisen lähdesanan D20, eli kopioidaan sanat D20.. D29. Operandi 3 osoittaa ensimmäisen kohdesanan, johon kopioituu D20:n sisältö. 93
94 10.8 Sanavertailu CMP(020) Vertailukäskyllä CMP(020) verrataan kahta etumerkitöntä sanan mittaista arvoa toisiinsa, kun käsky on suorituksessa. Vertailun tulos muodostuu järjestelmäalueen bitteihin: P_GT Suurempi kuin, eli ensimmäinen vertailtava on suurempi kuin toinen P_EQ Yhtäsuuri, eli vertailtavat ovat yhtäsuuria P_LT Pienempi kuin, eli ensimmäinen vertailtava on pienempi kuin toinen. Kaikki vertailukäskyt käyttävät samoja bittejä. Lisäksi monet käskyt käyttävät yhtäsuuri-bittiä P_EQ ilmaisemaan käskyn tuloksen arvoa Tästä johtuen on vertailun tulos -bittejä aina käytettävä heti vertailun jälkeen, jotta ohjaukset olisivat oikein. Suositeltavaa on myös vertailun tulos -bittien ohjaamien apumuistipaikkojen käyttö. Itse vertailua ja vertailun tuloksia tulee ohjata samalla koskettimella, jotta ne olisivat aina yhtäaikaa suorituksessa. Näin tulosbitin ohjaama apumuistibitti ei voi mennä päälle kuin oikean vertailun ohjaamana. Vertailun voi tehdä kumminpäin vain, mutta yleisohje selvyyden vuoksi olkoon, että ensimmäisenä vertailusanana käytetään muuttujaa ja toisena sitä, mihin verrataan. Vertailun tulokset on sijoitettu ohjelmaan heti vertailukäskyn jälkeen. Vertailun tulos -bittien tilat näkyvät monitoroinnissa viimeisen vertailun tai datakäskyn perusteella, joten älä aina usko mitä näet näiden bittien kohdalla. Tarkista vertailun tulos apumuisteista. CMP(020)-käskyyn ei voi ohjelmoida differentiaalisuutta. Tee kertasuoritteisuus tarvittaessa ohjaavaan bittiin. Käskystä löytyy myös tuplasanoja vertaileva versio CMPL(060). 94
95 10.9 Aluevertailu ZCP(088) CX-ONE JA LOGIIKKAOHJELMOINTI 2011 Käsky on jalostetumpi versio CMP(020)-käskystä. Nyt yhdellä käskyllä voidaan korvata kaksi CMP(020)-käskyä. ZCP(088) vertaa vertailtavaa etumerkitöntä arvoa arvohaarukkaan. Vertailun tulos muodostuu jälleen järjestelmäalueen bitteihin: P_GT Suurempi kuin, eli vertailtava on suurempi kuin yläraja P_EQ Yhtäsuuri, eli vertailtava on yhtäsuuri tai pienempi kuin yläraja tahi yhtäsuuri tai suurempi kuin alaraja. P_LT Pienempi kuin, eli vertailtava on pienempi kuin alaraja. Operandi 1 on vertailtava data. Operandi 2 on vertailun alaraja. Operandi 3 on vertailun yläraja. Käskystä löytyy myös tuplasanoja vertaileva versio ZCPL(116) Lohkoaluevertailu BCMP(068) BCMP(068)-käskyn voidaan taas ajatella koostuvan useista ZCP(088)-käskyistä. BCMP(068)- käskyyn määritellään 16 etumerkitöntä aluetta ala- ja ylärajoineen. Käsky vertaa vertailuarvoa aluetaulukkoon ja ilmoittaa aluetta vastaavan tulossanan bitin 1 -tilalla arvon olevan tietyn alueen sisällä. Sopivia käyttökohteita ovat esim. pyörimisliikettä mittaavat keskeytyslaskurit, joiden arvoa eli kiertymiskulmaa mitataan ja siihen perustuen tehdään ohjauksia. 95
96 Operandi 1 : Vertailtava arvo 16 bit etumerkitön sana Operandi 2 : Vertailutaulukon alku. Taulukon pituus on 16*2=32 sanaa. Sanaparin ensimmäinen sana määrää alueen alarajan ja toinen ylärajan. Operandi 3 : Tulossana, jonka, bitti 00 =Alue 00 (nyt D600-D601) bitti 01 =Alue 01 (nyt D602-D603) bitti 15 =Alue 15 (nyt D630-D631) Blokkivertailija MCMP( 019) MCMP(019)-käskyllä verrataan kahta 16 sanan mittaista aluetta toisiinsa sanapareittain. Vertailun tulos muodostuu tulossanaan seuraavasti. Jos alueen 1 ensimmäisen sanan arvo on sama kuin alueen 2 ensimmäisen sanan, niin tulossanan bitti 00 saa arvon 0, arvojen erotessa on bitin arvo 1. Operandi 1 : Ensimmäisen 16 sanan mittaisen alueen ensimmäinen sana Operandi 2 : Toisen 16 sanan mittaisen alueen ensimmäinen sana Operandi 3 : Tulossana, jonka, bitti 00 =Alue 1/sana 1 vs. Alue2/sana 1 bitti 01 =Alue 1/sana 2 vs. Alue2/sana 2 bitti 15 = Alue 1/sana 16 vs. Alue2/sana 16 Esimerkkikuvassa ohjataan vertailun tulossanan kolmella alimmalla bitillä XFER(070)-käskyä, joka palauttaa varsinaiset muuttuneet parametrit vara-alueella. 96
97 10.12 Läpiohjelmoitavat symboliset vertailijat CS1/CJ1/CP1/C200Hx-ZE-logiikoissa on läpiohjelmoitavia vertailukäskyjä. Käskyt suorittavat vain käskylle ominaisen vertailun <, <=, =, >=, >, <>. Vertailun käydessä toteen käskyt vastaavat sulkeutunutta kosketinta, muulloin auki olevaa kosketinta. Käskyistä löytyy eri vertailufunktioiden lisäksi eri versioita, esim. yhtäsuuruusvertailu = vertaa kahta etumerkitöntä sanan mittaista arvoa toisiinsa =S vertaa kahta etumerkillistä sanan mittaista arvoa toisiinsa =L vertaa kahta etumerkitöntä tuplasanan mittaista arvoa toisiinsa =SL vertaa kahta etumerkillistä tuplasanan mittaista arvoa toisiinsa =F vertaa kahta reaaliarvoa toisiinsa =$ vertaa kahta merkkijonoa toisiinsa Kuvassa vertaillaan INT-tyyppistä Jepulis_Jee-sanaa ensin etumerkillisellä suurempi kuin -käskyllä >S vakioarvoon -10. Tämän kanssa on sarjaan kytketty etumerkillinen pienempi kuin -käsky <S, joka vertaa muuttujaa vakioarvoon +10. Nyt molemmat vertailuehdot täyttyvät muuttujan arvolla -3 ja T_OKbitti saa ohjauksen. 97
98 10.13 Sanasiirtorekisteri WSFT(016) Siirtorekisteri voidaan toteuttaa myös sananmittaiselle datalle käyttämällä WSFT(016)-käskyä. Käskyn operandeissa määritellään rekisteriin luettava lähdedata, rekisterin ensimmäinen ja viimeinen sana. Kun käsky (yleensä kertasuoritteisesti) tulee suoritukseen, siirretään data seuraavaan sanaan. Ensimmäiseen sanaan tulee data-arvoksi lähdedatan arvo ja viimeisen sanan data menetetään. WSFT(016)-käskyn operandit: Operandi 1 : Siirtorekisteriin luettava data Operandi 2 : Siirtorekisterin ensimmäinen sana Operandi 3 : Siirtorekisterin viimeinen sana Esimerkki liittyy FIFO-rekisteriin, joka on tehty epäsuoraa muistinosoitusta käyttäen. Kuvassa on FIFOsta lukeminen, jossa on siirtämään FIFO-pinon dataa siten, että sanasta D199 voidaan lukea aina vanhin data. Luettaessa FIFOa sen alimpaan sanaan D101 siirretään vakioarvo &0000. Ennen FIFOn ohjausta luetaan sen hetkinen vanhin arvo talteen MOV(021)-käskyllä. FIFOn ohjauksen jälkeen kasvatetaan vielä osoitinsanan D100 arvoa binäärisellä lisäys- eli inkrementointikäskyllä. 98
99 11 DATAN MUUNNOSKÄSKYT Näillä käskyillä voimme muuttaa datan esitystapaa. Ohjelmoitsija joutuu aina datakäskyjen eli sanapohjaista tietoa käsittelevien käskyjen kohdalla miettimään käytettävän lukujärjestelmän ja symbolin datatyypin. Valintoihin on monia syitä käytettävissä olevat käskyt IO-liityntöjen, esim. analogiliityntöjen käyttämät lukujärjestelmät ulkopuolisten liitäntöjen, kuten käyttöliittymien sallimat lukujärjestelmät tottumukset. Kun lukujärjestelmä on valittu, valitaan sen perusteella muuttujan datatyyppi. Datatyyppi on oikeastaan tulkki, joka kääntää bittikuvioisen arvon haluamallemme esitystavalle. Kuvassa sama arvo on esitetty CX-Programmerin Watch- eli monitorointi-ikkunassa eri esitystavoilla. Allaolevassa kuvassa on monitoroinnissa bittikuvio, joka ei ole BCD-järjestelmän mukainen. Siksi BCD-arvoa ei voida monitoroida. Käytössämme on datakäskyjä, joilla voidaan vaihtaa lukujärjestelmä toiseksi, kuten BCDetumerkitön 10-lukubinääri tai 11.1 BCD-Binäärimuunnos Käskyllä suoritetaan muunnos joko jatkuva- tai kertasuoritteisesti. Muunnoksessa lähdesanan BCD-luku (UINT_BCD) muunnetaan vastaavaksi etumerkittömäksi 10-luvuksi (UINT) kohdesanaan. Toisinaan joudutaan tekemään muunnoksia, jotta esimerkiksi voitaisiin suorittaa matemaattisia tai vertailevia operaatioita sanoille, joista toinen on BCD- ja toinen binäärikoodattu Binääri-BCD-muunnos Käskyn suoritusta ohjaavan akun ollessa aktiivinen suoritetaan muunnos joko jatkuva- tai kertasuoritteisesti. Muunnoksessa lähdesanan etumerkitön 10-luku (UINT) muunnetaan vastaavaksi BCD-luvuksi (UINT_BCD) kohdesanaan. Jos lähdesanan arvo ylittää heksa-arvon 270F, ylitetään muunnostulos 9999 ja tästä on seurauksena se, että käskyä ei suoriteta ennen kuin arvo alittuu. Näistä käskyistä löytyy myös 32-bittiset versiot, BINL(058 ja BCDL(059). 99
100 11.3 Binääri-liukulukumuunnos Käskyn suoritusta ohjaavan akun ollessa aktiivinen suoritetaan muunnos joko jatkuva- tai kertasuoritteisesti. Muunnoksessa 16-bittinen etumerkillinen 10-luku (INT) muunnetaan 32- bittiseksi liukuluvuksi (REAL) Liukuluku-binäärimuunnos Käskyn suoritusta ohjaavan akun ollessa aktiivinen suoritetaan muunnos joko jatkuva- tai kertasuoritteisesti. Muunnoksessa saadaan 16-bittinen etumerkillinen 10-luku (INT) 32-bittisestä liukuluvusta (REAL). Näistä käskyistä löytyy myös kokonaisluvun 32-bittiset versiot FLTL(453) ja FIXL(451). Kokonaislukuja voidaan muuntaa myös tuplatarkkuuksisiksi liukuluvuiksi (LREAL). Kuvassa esimerkki muunnoksista UINT_BCD > UINT > REAL > INT -> UINT_BCD 100
101 12 ARITMETIIKKAKÄSKYT CJ1M-logiikoissa perusaritmetiikkakäskyt löytyvät operaattoritunnuksilla +, -, *, / niin sana- kuin tuplasana-arvoille sekä eri lukujärjestelmille. Pelkällä operaattoritunnuksella käsky laskee sanan mittaisia kymmenlukuja. Käskytunnuksissa seuraavat lisäkirjaimet tarkoittavat poikkeuksia B = BCD = BCD-järjestelmän mukaisesti laskeva käsky L = Long = 32 bit eli tuplasanoja laskeva käsky C = Carry = eli muistibittiä käyttävä käsky F = Float = reaali- eli liukuluku D = Double = pitkä liukuluku Otetaan esimerkkinä yhteenlasku- ja lisäyskäskyt, joiden tunnus on +... Suluissa symbolin datatyyppi, jota suositellaan käytettäväksi muuttujilla kyseisten käskyjen yhteydessä. + = 16 bit kymmenjärjestelmäarvojen yhteenlasku ilman carry-bittiä (INT) ++ = 16 bit kymmenjärjestelmäarvon inkrementointi (UINT) ++B = 16 bit BCD-arvon inkrementointi (UINT-BCD) ++BL = 32 bit BCD-arvon inkrementointi (UDINT-BCD) ++L = 32 bit kymmenjärjestelmäarvon inkrementointi (UDINT) +B = 16 bit BCD-arvojen yhteenlasku ilman carry-bittiä (UINT-BCD) +BC = 16 bit BCD-arvojen yhteenlasku carrybitillä (UINT-BCD) +BCL = 32 bit BCD-arvojen yhteenlasku carrybitillä (UDINT-BCD) +BL = 32 bit BCD-arvojen yhteenlasku ilman carrybittiä (UDINT-BCD) +C = 16 bit kymmenjärjestelmäarvojen yhteenlasku carrybitillä (INT) +CL = 32 bit kymmenjärjestelmäarvojen yhteenlasku carrybitillä (DINT) +D = 64 bit eli pitkien liukulukujen yhteenlasku (LREAL) +F = 32 bit liukulukujen yhteenlasku (REAL) +L = 32 bit kymmenjärjestelmäarvojen yhteenlasku ilman carrybittiä (DINT) Tarkastellaan ensin hieman aritmeettisia operaatioita, jotka on tarkoitettu binääri- eli kymmenjärjestelmäkokonaisluvuille. Binääriluvuilla laskettaessa kannattaa käyttää UINT/INTtyyppisiä muuttujia. Tämän jälkeen muutamia käskyjä, jotka on tarkoitettu BCD-koodatuille 16-bittisille kokonaislukusanoille (Symbolin datatyyppi UINT_BCD). Logiikoista löytyy käskyt myös 32- bittisille tuplasanoille (Symbolin datatyyppi UDINT_BCD). 101
102 12.1 Etumerkillisten kokonaislukujen yhteenlasku Käsky laskee yhteen kaksi kymmenjärjestelmän mukaista arvoa. Käsky ei käytä Carry-bittiä. Kuten kuvasta nähdään, ohjaa CX-Programmer käyttämään +-käskylle INT-tyyppistä muuttujaa. Tällaisen sanan arvo voi olla välillä Sanan ylin bitti.15 toimii etumerkkibittinä, jos se on 1, niin arvo on negatiivinen. Vakioarvon voi antaa # eli heksalukuna & eli etumerkittömänä kymmenlukuna +/- eli etumerkillisenä kymmenlukuna +(400)-käskyllä on kolme operandia Operandi 1 lisättävä arvo Operandi 2 yhteenlaskettava arvo Operandi 3 tulossana summalle, pituus 16 bit Kuvassa Laske-bitin laskevalla reunalla on laskettu yhteen sanojen D202 ja D204 arvot. Summa on tulostunut sanaan D (-5) =
103 12.2 Etumerkillisten kokonaislukujen vähennyslasku Käsky laskee erotuksen kahdesta kymmenjärjestelmän mukaisesta arvosta. Käsky ei käytä Carrybittiä. -(410)-käskyllä on kolme operandia Operandi 1 arvo, josta vähennetään Operandi 2 vähennettävä arvo Operandi 3 tulossana erotukselle, pituus 16 bit Kuvassa Laske-bitin laskevalla reunalla on laskettu sanojen D202 ja D204 erotus, joka on tulostunut sanaan D (-5) = Etumerkillisten kokonaislukujen kertolasku Käsky laskee tulon kahdesta kymmenjärjestelmän mukaisesta arvosta. Käsky ei käytä Carry-bittiä. Tulos varaa kaksi sanaa, joten huomioi tämä muistipaikkojen varauksissa. Tuloksen datatyypin on hyvä olla DINT, niin nähdään käskyssä koko tulos. *(420)-käskyllä on kolme operandia Operandi 1 kerrottava arvo Operandi 2 kertoja Operandi 3 tulossana tulolle, pituus 32 bit Kuvassa Laske-bitin laskevalla reunalla on laskettu sanojen D202 ja D204 tulo, joka on tulostunut tuplasanaan D206 (D206 alempi ja D207 ylempi sana). +50 * (-5) =
104 12.4 Etumerkillisten kokonaislukujen jakolasku Käsky jakaa kaksi kymmenjärjestelmän mukaista arvoa. Käsky ei käytä Carry-bittiä. Tulos varaa kaksi sanaa, joten huomioi tämä muistipaikkojen varauksissa. /(430)-käskyllä on kolme operandia Operandi jaettava arvo Operandi 2 jakaja Operandi 3 tulossana jakolaskulle, pituus 32 bit. Alempi sana sisältää osamäärän ja ylempi jakojäännöksen. Kuvassa Laske-bitin laskevalla reunalla on laskettu sanojen D202 ja D204 osamäärä, joka on tulostunut tuplasanaan D206 (D206 alempi ja D207 ylempi sana). +50 / (-5) = -10. Jakojäännöksen arvo sanassa D207 on Binäärinen lisäyskäsky Käsky lisää kohdesanan arvoa yhdellä (Wd=Wd+1) binäärisesti. Lisäys tapahtuu joka sykli, kun jatkuvasuoritteinen käsky on ohjauksessa. Käyttämällä reunantunnistusta tapahtuu lisäys aina kertasuoritteisesti ohjauksen nousevasta reunasta. Käsky ei vaikuta P_CY-bittiin. Kun sanan arvo tavoittaa maksimin 65535, niin seuraavan inkrementoinnin jälkeen sanan arvo on 0000, eli toiminta on ympäripyörivä. Muuttujan datatyyppi voi olla UINT Binäärinen vähennyskäsky Käsky vähentää kohdesanan arvoa yhdellä (Wd=Wd-1) binäärisesti. Vähennys tapahtuu joka sykli, kun se on jatkuvasuoritteinen. Käyttämällä reunantunnistusta tapahtuu vähennys aina kertasuoritteisesti akun nousevasta reunasta. Käsky ei vaikuta CY-bittiin. Kun sanan arvo tavoittaa minimin 0000, niin seuraavan dekrementoinnin jälkeen sanan arvo on 65535, eli toiminta on ympäripyörivä. Muuttujan datatyyppi voi olla UINT. Kuvassa on samaan virtapiirin tehty molemmat inkrementointi ja dekrementointikäskyt. Ohjaavissa koskettimissa on nousevan reunan tunnistus. 104
105 12.7 Muistibitin asetus Käsky asettaa ns. carry-bitin P_CY, jota C-kirjaimella varustetut yhteen- ja vähennyslaskuoperaatiot käyttävät. Carry-bitti asettuu käskyjen suorituksesta, jos tulossanan maksimiarvo ylitetään Muistibitin nollaus Käsky nollaa ns. carry-bitin P_CY. C-kirjaimella varustetut yhteen- ja vähennyslaskuoperaatiot käyttävät carry-bittiä, joten se on nollattava CLC(041)-käskyllä juuri ennen operaation suorittamista, mikäli sen ei haluta vaikuttavan tulokseen. Tällöin tietysti kannattaa käyttää käskyjä, jotka eivät käytä Carry-bittiä. Perinteiset C-sarjan logiikat CPM*, CQM1, C200Hx sisältävät vain Carry-bittiä käyttäviä yhteen- ja vähennyslaskukäskyjä, joten näiden kanssa tulee käyttää CLC(41)- käskyä. 105
106 12.9 BCD-kokonaisslukujen yhteenlasku Käsky laskee yhteen kaksi BCD-järjestelmän mukaista arvoa. Käsky ei käytä laskentaan Carrybittiä. CX-Programmer ohjaa käyttämään +B(404)-käskylle UINT_BCD-tyyppistä muuttujaa. Vakioarvon voi antaa # eli BCD-lukuna (# on myös heksalukujen tunnus, nyt arvo saa sisältää vain numeroita 0..9) +B(404)-käskyllä on kolme operandia Operandi 1 lisättävä arvo Operandi 2 yhteenlaskettava arvo Operandi 3 tulossana summalle, pituus 16 bit Kuvassa Laske-bitin laskevalla reunalla on laskettu yhteen sanojen D202 ja D204 arvot. Summa on tulostunut sanaan D = BCD-kokonaisslukujen vähennylasku Käsky laskee yhteen kaksi BCD-järjestelmän mukaista arvoa. Käsky ei käytä laskentaan Carrybittiä. CX-Programmer ohjaa käyttämään -B(414)-käskylle UINT_BCD-tyyppistä muuttujaa. -B(414)-käskyllä on kolme operandia Operandi 1 arvo, josta vähennetään Operandi 2 vähennettävä arvo Operandi 3 tulossana erotukselle, pituus 16 bit Kuvassa Laske-bitin laskevalla reunalla on vähennetty sanasta D202 sanan D204 arvo. Erotus on tulostunut sanaan D = 9995.????????? 106
107 Jos laskennan tulos on negatiivinen, niin carry-bitti (CY) asettuu ja tällöin kohdesanaan tulostuu 10 komplementti. Näin, koska BCD-käskyt käsittelevät vain positiivisia arvoja. Saadaksemme todellisen arvon, on vielä tehtävä toinen vähennyslasku, jossa vähennetään äsken saatu tulos nollasta tai vaihdetaan operandit 1 ja 2 toisinpäin. Kuvan ohjelma toimii niin, että jos D204 saa suuremman arvon kuin D202, niin P_CY-bitti asettuu ja suoritetaan myös toinen vähennyslasku ja sanaan D208 kirjoittuu positiivinen tulos. Merkiksi negatiivisesta tuloksesta asetetaan bitti W09.00 päälle. 107
108 12.11 BCD-kokonaisslukujen kertolasku Kertolaskuoperaatio kertoo kaksi BCD-arvoa. Se ei käytä P_ CY-bittiä. Tulos on 32-bittinen, joten varaa kertolaskun tulokselle kaksi sanaa. Tuloksen symbolin datatyyppi on hyvä olla UDINT_BCD, jotta monitoroitaessa nähdään koko tulos. Käsky laskee tulon kahdesta BCD-järjestelmän mukaisesta arvosta. Käsky ei käytä Carry-bittiä. Tulos varaa kaksi sanaa, joten huomioi tämä muistipaikkojen varauksissa. *B(424)-käskyllä on kolme operandia Operandi 1 kerrottava arvo Operandi 2 kertoja Operandi 3 tulossana tulolle, pituus 32 bit Kuvassa Laske-bitin laskevalla reunalla on laskettu sanojen D202 ja D204 tulo, joka on tulostunut tuplasanaan D208 (D208 alempi ja D209 ylempi sana). 50 * 5 = BCD-kokonaisslukujen jakolasku Jakolaskuoperaatio suorittaa jaon kahdelle BCD-arvolle. Se ei käytä P_ CY-bittiä. Tulos on 32- bittinen, joten varaa jakolaskun tulokselle kaksi sanaa. Tuloksen symbolin datatyyppi voi nyt olla UDINT_BCD tai UINT_BCD. /B(434)-käskyllä on kolme operandia Operandi jaettava arvo Operandi 2 jakaja Operandi 3 tulossana jakolaskulle, pituus 32 bit. Alempi sana sisältää osamäärän ja ylempi jakojäännöksen. Kuvassa Laske-bitin laskevalla reunalla on laskettu sanojen D202 ja D204 osamäärä, joka on tulostunut tuplasanaan D208 (D208 alempi ja D209 ylempi sana). 50 / 5 = 10. Jakojäännöksen arvo sanassa D209 on
109 12.13 BCD- lisäyskäsky Käsky lisää kohdesanan arvoa yhdellä (Wd=Wd+1) BCD-järjestelmän mukaisesti. Lisäys tapahtuu joka sykli, kun jatkuvasuoritteinen käsky on ohjauksessa. Käyttämällä reunantunnistusta tapahtuu lisäys aina kertasuoritteisesti ohjauksen nousevasta reunasta. Käsky ei vaikuta P_CY-bittiin. Kun sanan arvo tavoittaa maksimin 9999, niin seuraavan inkrementoinnin jälkeen sanan arvo on 0000, eli toiminta on ympäripyörivä BCD- vähennyskäsky Käsky vähentää kohdesanan arvoa yhdellä (Wd=Wd+1) BCD-järjestelmän mukaisesti. Vähennys tapahtuu joka sykli, kun se on jatkuvasuoritteinen. Käyttämällä reunantunnistusta tapahtuu vähennys aina kertasuoritteisesti akun nousevasta reunasta. Käsky ei vaikuta CY-bittiin. Kun sanan arvo tavoittaa minimin 0000, niin seuraavan dekrementoinnin jälkeen sanan arvo on 9999, eli toiminta on ympäripyörivä. Kuvassa on samaan virtapiirin tehty molemmat inkrementointi ja dekrementointikäskyt. Ohjaavissa koskettimissa on nousevan reunan tunnistus. Yllä olevaan BCD-laskuriin on tehty valvonta seuraavassa kuvassa. 109
110 Sanassa D202 olevan BCD-laskurin oloarvoa tarkkaillaan perinteisen CMP(020) vertailun avulla. Laskurin sallittu arvohaarukka on Mikäli oloarvon ollessa 99 tehdään vielä lisäys arvoon 100, niin tällöin palautetaan arvoksi takaisin 99 MOV(021)-käskyllä. Jos oloarvon ollessa 0 tehdään vähennys, niin tällöin laskurin arvoksi tulee 9999, niin vertailu ohjaa bitin W päälle, jonka ansiosta palautetaan laskuriin takaisin arvo 0. Huomaa sanan D202 arvo CMP(020)-käskyssä, se on UINT-arvo &80. Katsottaessa arvoja MOV(021)-käskyissä, nähdään oikea BCD-arvo #50. Sanaanhan vaikutetaan BCDlaskentakäskyillä. Sana D202 pitäisi symboloida, jotta joka käskyssä nähtäisiin arvo saman muotoisena. Käyttämällä muita vertailijoita saadaan erilainen ratkaisu. Toki myös lisääminen voidaan estää oltaessa yläraja-arvossa ja vähentäminen alarajassa. 110
111 12.15 Reaaliarvojen laskentaa Helpointa lienee laskea liuku- eli reaaliluvuilla. Näistä tässä pieni esimerkki laskennasta,, jossa tehdään toimilohkolla skaalaus. IN-muuttuja on kokonaisluku INT ja sen arvo on Tämä luku muunnetaan reaaliluvuksi FLT-käskyllä IN_Rmuuttujaan. Nyt sitten lasketaan reaaliluvuille kertolasku IN_R * GAIN, jonka tulokseen vielä lisätään OFFSETmuuttujan arvo Lopuksi tämä tulos OUT-R vielä kokonaistetaan FIX-käskyllä OUTmuuttujaan 111
112 13 LOOGISET KÄSKYT Loogisilla käskyillä käsitellään sanaa biteittäin ja suoritetaan näille loogisia operaatioita Komplementti Käsky kääntää kohdesanan sisällön komplementiksi, eli nollat ykkösiksi ja päinvastoin Kahden komplementti Käsky kääntää kohdesanan sisällön komplementiksi, eli nollat ykkösiksi ja päinvastoin ja lisää siihen ykkösen. Tekee siis vastaavan negatiivisen arvon (INT) Looginen JA Käsky tekee kahden sanan kullekin bitille AND-operaation ja muodostaa tulossanan vastaavaan bittiin bittien AND-operaation tuloksen Esimerkissä maskataan alin digitti pois Datasanasta Looginen TAI Käsky tekee kahden sanan kullekin bitille OR-operaation ja muodostaa tulossanan vastaavaan bittiin bittien OR-operaation tuloksen Kätevä käsky lisättäessä arvoon negatiivinen etumerkkibitti ( bit 15 = 1 ) 13.5 Ehdoton TAI Käsky tekee kahden sanan kullekin bitille XOR-operaation ja muodostaa tulossanan vastaavaan bittiin bittien XOR-operaation tuloksen
113 14 TOIMILOHKO-OHJELMOINTI CX-ONE JA LOGIIKKAOHJELMOINTI 2011 Toimilohkot, Function Blocks (FB), ovat esimääriteltyjä ohjelmia tai toimintoja, joita voidaan käsitellä yhdellä käskyllä relekaavio-ohjelmassa. Samaa toimilohkoa voidaan kutsua useita eri kertoja relekaavio-ohjelmasta. Tämä onkin tärkein peruste toimilohkon luomiseksi. Sama ohjelmarakenne tehdään vain kerran muodostamalla siitä toimilohko. Ja sitten kutsutaan eri muuttujilla relekaavio-ohjelmasta. Osa laitteen A Ajastuspiiri 1 A T B X TI 1 #010 Y Z Inp ut An Bn Ohjelma - Ohjelmointi sekä Input ja Output-määrittelyt Ajastuspiiri n A T B X TI n #010 Y Z Ou tpu t Xn Yn Zn Toimilohkomalli Osa laitteen A Toimilohkokutsu Toimilohkomäärittely Ajastuspiiri 1 P_O A1 B1 Ajastuspiiri 2 P_O A2 B2 Device E A B ENO X Y Z X1 Y1 Z1 Aseta input / output Device E A B ENO X Y Z X2 Y2 Z2 Relekaavioohjelmaan E A B Device EN X Y Z Tähän asti toimilohko-ohjelmointi on korvattu Sysmac-logiikoissa erilaisilla aliohjelmaratkaisuilla, joissa käytössä ovat olleet joko makrofunktiot tai epäsuorat muistinosoitukset. Toimilohkoja tukevat CJ2, CJ1- ja CS1- (3.0 / 4.0) sekä myös CP1H- ja CP1L-L ja CP1L-M-- logiikat.. Toimilohkojen määrä / CPU riippuu CPU-tyypistä. CJ1M-logiikoilla maksimi on 128 lohkoa ja 256 kutsua, kun taas tehokkaimmilla CPU:illa arvot ovat 1024/ Lisäksi muistin koko voi rajoittaa myös käyttöä. Toimilohkot ohjelmoidaan joko relekaavio- (LD) tai strukturoitu teksti- (ST) muodossa. ST muoto on IEC mukainen. Toimilohkoon määritellään tulo-, lähtö- ja sisäisiä muuttujia. 113
114 Toimilohkokutsu relekaavio-ohjelmassa muotoutuu juuri näiden tulo- ja lähtömuuttujien perusteella. Käskyssä on vasemmalla sen tulot ja oikealla lähdöt. Kutsukäsky siis vaatii määritettäväksi tarvittavat parametrit. Toimilohkot voidaan tallettaa omiksi tiedostoiksi.cxf. Käytössä on myös Omronin valmiit toimilohkot, joita on yli 500 kpl. Nämä ovat myös dokumentoitu omissa pdf-tiedostoissaan Toimilohkon luominen Toimilohko lisätään logiikkaan esim. Function Blocks pikavalikosta projektinhallintaikkunassa. Toimilohkoksi luodaan uusi tai sitten se haetaan tiedostosta (.cxf). Luotaessa uutta lohkoa valitaan heti ohjelmointitapa, relekaavio (LD) tai strukturoitu teksti (ST). ST on mukavampi vaihtoehto, jos toimilohkon tehtävä on laskea paljon. Toimilohkon pikavalikosta voidaan avata sen ikkuna, tallettaa lohko, kääntää tai vaikka nimetä se 114
115 14.2 Toimilohkon määrittely Ladder-toimilohkoikkuna näyttää tältä. Alaosa on lohkon ohjelmointieditoria. Yläosassa on muuttujien määrittelyikkuna, jossa on omat lomakkeet Lohkon sisäisille muuttujille (Internals) Tulomuuttujille (Inputs) Lähtömuuttujille (Outputs) CJ2 sekä version 4.0 CJ1/CS1-logiikoille myös IN Out muuttujat, jotka näkyvät toimilohkomallissa sekä vasemmalla että oikealla. ulkoisille muuttujille (Externals) Toimilohkon ohjelmoinnissa ensin määritellään muuttujat ja sitten tehdään ohjelma. Muuttujat määritellään muuttujaikkunassa pikavalikon Insert Variable -riviltä. Tällöin kannattaa valita jo valmiiksi oikea muuttujalomake. Toki muuttujan editoinnin kautta se voidaan vaihtaa toisen tyyppiseksi. Määrittely voidaan tehdä myös ohjelmaeditorista käsin ohjelmoinnin yhteydessä tuttuun tapaan. Uusi muuttuja ikkuna avautuu käskyn kuittaamisen jälkeen. Muuttujia voi kopioida ja liittää myös symbolilistoista. Varsinkin Input- ja Output-muuttujien kanssa pääsee helpommalla, kun jo valmiiksi miettii sen, missä järjestyksessä haluaa näiden muuttujien tulostuvan toimilohkomalliin. Luonti kannattaa tehdä ylhäältä alas järjestyksessä. Insert Variable Above /Below toiminnolla lisätään muuttuja haluttuun paikkaan. Muuttujien järjestystä voi muuttaa leikkaamalla muuttujan leikepöydälle ja liittämällä sen takaisin. Liitetty muuttuja listautuu aina viimeiseksi. 115
116 Muuttujan määrittely Muuttuja määritellään antamalla sille Nimi Haluttu datatyyppi muuttujatyyppi Alkuarvo Tarvittaessa säilyvyys (Retain) Nimen kommentti Advanced-painikkeen kautta voidaan määrittää taulukkomuuttuja antamalla taulukon koko eli jäsenten määrä. Taulukkomuuttujan jäsentä kutsutaan nimen perään syötettävällä hakasulkulausekkeella, kuten taulu[0] muuttujalle kiinteä osoite muutttujamuisteista. Range-kohta näyttää sallitut muistialueet Lohkoilla on aina valmiiksi kaksi muuttujaa EN tulomuuttuja, lohkon suoritusehto ENO lähtömuuttuja, lohkon suoritustila Tässä on määritelty kyseiselle skaalaus-toimilohkolle tarvittavat muuttujat. Sisäinen Var muuttuja on 4-jäseninen taulukkomuuttuja. 116
117 Edellisillä muuttujamäärittelyillä saadaan seuraavan näköinen toimilohkokutsu Vasemmalla tulot ja oikealla lähdöt siinä järjestyksessä, missä ne ovat muuttujalistoissakin. Näitä liityntöjä kutsutaan toimilohkokutsun parametreiksi. Parametrinimien yläpuolella näkyy määritelty muuttujan datatyyppi Toimilohkon ohjelmointi relekaaviolla Ohjelmointi tapahtuu normaaleilla säännöillä. Nyt muuttujat valitaan vain juuri määritellyistä listoista. Toki muuttujan lisääminen onnistuu vielä tässä vaiheessakin. 117
118 14.3 Toimilohkon kutsu Toimilohkokutsu ohjelmoidaan virtapiirin EN- (Enable-) eli lohkon ehtokoskettimien perään kuten funktiokäskytkin. Toimilohkomallin ylin tulo on normaalisti tämä EN-tulo. Toimilohkokutsu saadaan F-näppäimellä tai pikapainikkeella Toimilohkokutsun oikealla puolen voi olla käsky ENO- (Enable Out) bittilähdössä. Samaan virtapiiriin voi ohjelmoida muita käskyjä vain lohkon oikealle puolen ENO-lähtöön. Toimilohkokutsua lisättäessä annetaan Yksilöllinen nimi kutsulle (FB Instance), joka ei saa alkaa alaviivalla _ Kutsuttava toimilohko (FB Definition) Tämän jälkeen lohko ilmestyykin virtapiiriin Tällainen virtapiiri ei ole vielä käännettävissä, koska lohkon parametrit ovat antamatta Toimilohkon parametrit syötetään valinnan ollessa parametriliitännän kohdalla P- tai Enternäppäimellä. Parametri voidaan antaa myös pikapainikkeella Avautuneeseen New Parameter ikkunaan haetaan jo luotu symboli listasta tai kirjoitetaan se. Myös uusi symboli voidaan luoda normaaliin tapaan ENO-lähdön kuten muutkin lähdöt voi jättää vapaaksi. 118
119 14.4 Toimilohkojen muokkaaminen CX-ONE JA LOGIIKKAOHJELMOINTI 2011 Mikäli toimilohkolle on tehty jo kutsu relekaavio-ohjelmaan ja toimilohkoa muutetaan esim. tulojen tai lähtöjen järjestyksen suhteen, saadaan kutsuvirtapiiriin virhe. Syyn voi tarkistaa kääntämällä ohjelman. Kutsu saadaan päivitettyä kutsun pikavalikon riviltä Update Function Block Invocation Toimilohkojen lataukset Logiikan toimilohkot latautuvat logiikkaan normaalisti ohjelmien alaslatauksen yhteydessä. Alaslatauksen yhteydessä tulostuu Output-ikkunan viimeisiksi riveiksi tietoja ladattujen lohkojen käytöstä. Varattu muistin määrä sekä CPU:lle sallitut lohkojen että kutsujen määrä rajoittavat toimilohkojen käyttöä. Itse toimilohkot kuluttavat muistia, kutsut vain hieman. Käyttämättömistä toimilohkoista saadaan varoitus käännöksessä. Toimilohkot voidaan myös ylösladata Toimilohkojen suojaus Toimilohkot voidaan nyt myös suojata Properties-ikkunan Protection-lehdellä salasanalla. Suojaus kohdistuu näyttämiseen sekä muokkaamiseen (toimilohkon sisälle ei näe, eikä sitä voi muokata) tai pelkästään muokkaamiseen Toimilohkojen monitorointi Toimilohkojen toimintaa voidaan monitoroida itse toimilohkon sisällä tai pelkästään muuttujien arvoja tarkastelemalla. Toimilohkokutsua monitoroimalla näkee vain tulo- ja lähtömuuttujien tilat. 119
120 Kun logiikka on Online-tilassa ja monitoroi, niin tuplaklikillä toimilohkokutsuun eli instanssiin pääsee suoraan toimilohkon sisälle tarkkailemaan ohjelmaa kutsun mukaisin parametriarvoin. Kuvassa yo. kuvan instanssin mukaiset arvot toimilohkon sisällä. Samaan näkymään pääsee myös toimilohkon monitorointi-ikkunasta (Alt+5). Ikkunan vasemmasta osasta valitaan haluttu monitoroitava toimilohkon instanssi. Oikeassa osassa näkyy muuttujalistat. Skaalaus toimilohko näkyy kuvassa olevan varustettu lukolla, se on nyt kirjoitussuojattu. Pelkästään toimilohkon muuttujien arvoja voi tarkastella vaikkapa Monitorointi-ikkunassa. Toimilohkojen instanssit (ja tavallaan niiden käyttämät muuttuja)t listautuvat globaaliin listaan. Kätevimmin toimilohkon instanssin muuttujat saadaan monitorointi-ikkunaan instanssin pikavalikon riviltä Register in Watch Window. 120
121 15 PROJEKTIN TARKISTUKSET, PARAMETROINTI JA YLLÄPITO 15.1 Ohjelman tarkistukset Compile- eli käännöstoiminnolla CX-Programmer-ohjelman kieliopillista oikeellisuutta voidaan testata Compile -toiminnoilla. Compile All PLC Programs eli käännä kaikki logiikan ohjelmat löytyy logiikan pikavalikosta tai PLC-valikosta. Compile löytyy taas ohjelman pikavalikosta tai Program-valikosta ja se kääntää vain valitun ohjelman. Käännös tehdään automaattisesti ohjelman alaslatauksen yhteydessä. Jos käännöksessä löytyy virheitä, niin ohjelmaa ei voi ladata logiikkaan, varoitukset eivät estä latausta. Ennen käännöstä voidaan valikosta PLC/Program Check Options valita pois asiat, joita käännöksessä ei haluta huomioitavan., esimerkiksi sanojen tuplaohjaukset. Tulos käännöksestä saadaan Output- eli tulostusikkunaan Compile-lehdelle. Jos virheitä tai varoituksia löytyy, niin tuplaklikillä riviin saadaan vastaava ohjelmaikkuna ja kyseinen kohta näkyville. Kuvassa väitetään, että CMP(020)-käskylle ei ole sopivaa käyttää muuttujaa, jonka datatyyppi on UINT_BCD, vaan pitäisi käyttää UINT-tyyppistä muuttujaa. Tämä ei kylläkään haittaa, mutta nyt pitää olla vain tarkkana, koska CMP(20) -käsky pystyy käsittelemään kaikenlaisia bittikuvioita. Vertailijan monitoroivat arvot eivät vastaa tulosbittien tiloja, jos se vertaa keskenään BCD- ja binäärityyppisiä arvoja. 121
122 15.2 Logiikan IO-taulu, PLC IO Table CJ1-logiikoilla on IO-taulu. Sitä päästään tarkastelemaan ja käsittelemään IO Table -ohjelman kautta. IO-taulu sijaitsee logiikan parametrimuistin IO-taulu-osassa ja se sisältää tiedon CPU:hun liitetyistä yksiköistä. CJ1-logiikat tunnistavat yksiköt automaattisesti, joten taulua ei ole pakko määritellä. Vaikkei taulua olisikaan määritelty, niin automaattisesti tunnistetut yksikkötiedot voidaan ladata logiikasta IO-taulueditoriin tarkastelua varten. IO Table avataan tuplaklikillä logiikan alta projektinhallintaikkunasta. Kuvassa on yhteys Monitor-tilassa olevaan logiikkaan. Taulu on luettu Options-valikon Transfer from PLC -toiminnolla. CPU:sta löytyy sisäänrakennettu EtherNet/IP- (CPU Bus Unit 0). Yksikköpaikassa 00 on DeviceNet-yksikkkö CPU Bus Unit-numerolla 1 (aina vasemman puoleisin paikka). Yksikköpaikassa 01 on 16-pisteinen digitaalinen tuloyksikkö ja se varaa sanan CIO0000 itselleen. Paikassa 02 on 16-pisteinen digitaalinen lähtöyksikkö ja se varaa sanan CIO0001. Lisäksi vielä yksikköpaikassa 03 on paikoitusyksikkö (SIO Unit 00). Eli täältä voi käydä tarkastamassa yksiköiden osoitteet. Tiettyjä erikois-io ja CPU-väyläyksiköitä voi käydä asettelemassa tai niiden tilaa voi tarkastella täältä. Tällöin valitaan yksikkö hiiren oikealla painikkeella ja valitaan pikavalikosta Unit Setup asetuksia tai Software switches tilojen tarkasteluja varten. Yksiköiden parametritiedot löytyvät CPS-tiedostoista. Tehdyt määrittelyt voidaan tallettaa omiksi tiedostoikseen. JOS IO-taulu on määritelty, niin tällöin yksikkökonfiguraatiota muutettaessa CPU generoi virheen tai hälytyksen. Nyt IO-taulu on määritettävä uudestaan. Normaalisti se tapahtuu toiminnolla Create, joka löytyy myös Options-valikosta. Toki taulun voi tuhota logiikasta Delete-toiminnolla, niin taas homma toimii. Kaikki logiikkaan kohdistuvat määritys- tai kirjoitustoimenpiteet vaativat Stop/Program-tilan. 122
123 Taulua voi muokata myös käsin valitsemalla yksikköpaikkoihin pikavalikosta haluttuja yksiköitä tai asettelemalla Options-valikosta esim. räkin alkuosoitteen halutuksi. Nämä käsin tehdyt asetukset on kirjoitettava logiikkaan Transfer to PLC -toiminolla. Yleensä tätä ei tehdä Logiikan parametrointi PLC Settings SYSMAC-logiikat sisältävät joukon asetuksia, joilla voi vaikuttaa logiikan toimintoihin. Logiikoissa on paljon toimintoja, jotka eivät ole oletusasetteluilla vielä käytössä. Laite toimii oletusasetteluillakin, mutta lähinnä käynnistyksen jälkeinen toimintatila on yleensä parametroitava pois oletusasetteluista. PLC Settings -ohjelmistolla voidaan asetella logiikan parametrit halutuiksi. PLC Settings avataan tuplaklikillä logiikan alta projektinhallintaikkunasta. Ikkunan sisältö riippuu valitun logiikan tyypistä. Asetukset voidaan lukea logiikasta, kirjoittaa logiikkaan tai niitä voidaan verrata logiikan asetusten kanssa ikkunan Options-valikosta. Lataus-toimenpiteet kohdistuvat ikkunan kaikkiin välilehtiin. Toki nämä toimenpiteet voidaan tehdä myös Ohjelman alas- ja ylöslataus- tai vertailuikkunoissa. Asetusten kirjoittaminen onnistuu vain logiikan ollessa Stop/Program-tilassa. Tyypillisimmät muutettavat parametrit ovat Startup-lehdellä käynnistystila (Startup Mode) Built-in Input -lehdellä pikalaskuri (High Speed Counter) ja keskeytykset (Interrupts) Host Link/ Peripheral Port-lehdillä sarjaliikenneporttien asetukset. Kuvassa on näkyvissä Startup-lehti ja siinä asetukset, jotka kannattaa tehdä. Seuraava oletusasetuksista poikkeava käynnistystapahtumavalinta on tehty: Sähköjen kytkeytymisen jälkeen logiikka asettuu Monitor-tilaan. Oletus on Use programmm... Ennen käytössä olevan logiikan parametrien muokkaamista kannattaa lukea logiikasta nykyiset asetukset Options/Transfer From PLC -toiminnolla. 123
124 Asetusten muuttamisten jälkeen tulee ne kirjoittaa logiikkaan Options/Transfer to PLC -toiminnolla tai ohjelman alaslatauksen yhteydessä valinnalla Settings. Kirjoittaminen onnistuu vain logiikan ollessa Stop/Program-tilassa. Kun uudet parametrit on kirjoitettu logiikkaan, on vielä tehtävä sähkökatkos logiikalle, jotta kaikki asetukset varmasti astuisivat voimaan. Tämän jälkeen voidaan vielä tarkastaa asetuksien voimaan astuminen Read-toiminnolla Muuttujamuistieditori PLC Memory Niin tämä kuin IO Table tai PLC Settings -editorikin ovat CX-Serverin apuohjelmia. Näitä voidaan käynnistää muistakin sovelluksista. Huomaa, että ikkunat lisäävät ikonit windowsin tehtäväpalkkiin. PLC Memorylla päästään vaikuttamaan suoraan logiikan muuttujamuisteihin. Lisäksi arvot voidaan tallettaa joko osaksi projektia tai omaksi tiedostoksi. PLC Memory - Editoriin voidaan avata useita ikkunoita eri muistialueilta. Ikkuna saadaan auki valisemalla muistialue tuplaklikkaamalla muistialueen tunnusta näytön vasemmasta reunasta. Ikkunaan avautuu aina koko muistialue. Muistialueen ikkunan esitystapaa voidaan muuttaa pikapainikkeista tai valikosta View/Display. Ikkunoiden yläosassa on kenttä ensimmäisen näkyvän osoitteen valitsemiseksi sekä painikkeet bittien ja sanojen arvojen ohjailemiseksi. Kuvassa avoinna D- ja H-muuttujamuisti-ikkunat. Ikkunat voi järjestää hienosti toiminnolla Window/Tile. Ikkunoiden arvot ovat taulukkotietoa, joten arvoja voidaan kopioida ja liittää helposti. Maalataan hiirellä haluttu alue, otetaan siitä kopio leikepöydälle ja liitetään haluttuun paikkaan. Esim. samaan ikkunaan, toiseen ikkunaan tai vaikka Excel-taulukkoon. Kun CX-Programmerista on kytketty yhteys logiikkaan voidaan tehdä online-toimintoja, eli arvojen lukemista logiikasta, monitorointia, vertailua tai kirjoittamista logiikkaan. 124
125 Muistialueikkunoihin saadaan luettua arvo Transfer from PLC- toiminnolla pikapainikkeella, ikkunan pikavalikosta tai valikosta. Transfer from PLC - ikkunassa valitaan luettavat avatut ikkunat ja luettava alue, koko muistialue, näkyvä alue tai yhden muistialueen kyseessä ollessa maalattu valinta on mahdollinen. Arvoja muuttaa klikkaamalla soluun ja kirjoittamalla uusi arvo. Isomman alueen kirjoittaminen samaan arvoon tehdään valikosta Grid/Fill Data Area löytyvällä toiminnolla. Kun kaikki halutut sanat on muutettu, kannattaa ikkuna tallettaa omaan tiedostoon (*..MEM) File/Save to File tai projektiin Save in Project-toiminnolla ennen kirjoitusta 125
126 Kirjoitus tapahtuu Transfer to PLC -toiminnolla. Yleensä kirjoitukseen valitaan yksi ikkuna, jolle taas tehdään kirjoitusalueen valinta, koko alue, hiirellä valmiiksi tehty valinta tai Range-kentässä määriteltävä alue. Jostain syystä CIO/W/H-alueiden kirjoitus ei onnistu kuin ohjelmointitilassa, jolloin siitä ei ole mitään hyöyä, koska CIO/W- alueet kuitenkin nollautuvat logiikan mennessä suoritustilaan. Jos muistialueita Memory-ikkunan ja logiikan välillä halutaan vertailla, valitaan Online/Compare with tai pikapainike. Jos sanojen arvot poikkeavat, saadaan haluttaessa molemmat arvot soluihin näkyviin. Logiikassa olevat arvot näkyvät suluissa. Näkymä palautuu normaaliksi valitsemalla valitaan Online/Compare with uudestaan. Monitorointi ikkunoihin saadaan päälle Online/Monitor valikosta, pikavalikosta tai pikapainikkeesta. Monitorointia tapahtuu vain ikkunan näkyvässä osassa. Monitoroitavan ikkunan arvoja ei voi käsitellä. Monitoroinnin katkaisun jälkeen on arvot luettava logiikasta uudestaan. 126
127 15.5 Ohjelmien vertailu Compare with PLC Ennen logiikan ohjelman monitorointia vika- tai huoltotilanteessa tulee varmistua siitä, että monitoroi oikeaa, eli logiikassa olevaa ohjelmaa. Vertailu tehdään Compare with PLC toiminnolla, joka löytyy logikan pikavalikon Transfer-riviltä. Mikäli ohjelmat ovat samanlaiset tulee ilmoitus Compare Succesful. Tällöin voidaan luottaa siihen, mitä monitoroinnissa nähdään. Jos taas eroavaisuuksia löytyy, saadaan ilmoitus Compare Failed 127
128 Tulokset vertailusta saadaan Compare Result ikkunaan. Kuitataan Compare Failed ikkuna OKpainikkeella ja katsastetaan Result-ikkunan sisältö ohjelma- ja blokkitasolla. Tuplaklillä eroavaan blokkiin saadaan rivimuotoinen näkymä esille ohjelmasta tarkempaa tarkastelua varten. Käytännössä nyt joudutaan tekemään ohjelman ylöslataus, jotta voimme monitoroida ja muokata nimenomaan logiikassa olevaa, toimivaa ohjelmaa Ohjelman ylöslataus Transfer From PLC Osa logiikoiden ylläpitoa on logiikoiden ohjelmamuistin talteenotto. Tätä siirtoa logiikan muistista oheislaitteelle kutsutaan ylöslataukseksi. Ylöslataustoiminto löytyy logiikan pikavalikosta Transfer From PLC. Ylöslatausta varten tulee tietysti olla yhteys kunnossa. Ylöslataus onnistuu kaikissa logiikan tiloissa. Ylösladatut ohjelmat ovat tarkasteltavissa normaalissa relekaaviomuodossa. Nimet ja kommentit objekteille, virtapiireille ja blokeille eivät siirry C- sarjan logiikoiden muistiin ohjelman alaslatauksessa. Vaikka ylöslataus tehtäisiin avatun projektin päälle, tuhoutuu ohjelma, lokaalit symbolit sekä kaikki ohjelman kommentit ylöslatauksessa. Globaalit symbolit säilyvät. Noh, asiat eivät enää ole välttämättä näin, koska nykyisin CX-Programmer antaa mahdollisuuden säilyttää ohjelman kommentit Use Comments... valinnalla. Cx1/CJ2-logiikoihin voidaan siirtää myös symbolit ja kommentit, kuten alaslatauksen yhteydessä todettiin. Tämä kuitenkin vaati tiedostomuistia (Etiedostomuisti, CF-kortti tai nykyisin kommenttimuisti). Kun logiikkaan on ladattu symbolit ja kommentit, niin ne voidaan myös ylösladata. Näin saadaan logiikasta täysin kommentoitu ohjaus. Upload Options -ikkunan Include-osassa 128
129 voidaan valita, mitä kaikkea halutaan logiikasta CX-Programmer -projektiin siirtää. Kuvassa olevassa logiikassa näyttää olevan tiedostot ainakin sisäisessä kommenttimuistissa, koska Symbols ja Comments -kohdat ovat valittavissa JOS symboleja / kommentteja ei logiikassa ole, niin tällöin logiikasta voidaan ladata ohjelmien lisäksi parametrit ja IO-taulu. Kaikki lokaalit symbolit tuhoutuvat. Ohjelmakommenttien tuhoutuminen on kiinni Use Comments... valinnasta. Nämä voidaan kuitenkin palauttaa Transfer from File -toiminnolla, jos ne on aikaisemmin tallennettu omiin tiedostoihin Transfer to File - toiminnolla, joka löytyy samasta paikasta, kuin muutkin logiikan lataustoiminnot. Ylöslataus tehdään, mikäli vertailussa havaitaan projektin ja logiikan ohjelmien eroavan, jotta voidaan luottaa logiikan ohjelmien monitorointiin tai jos logiikasta ei ole projektitiedostoa lainkaan. 129
130 15.7 Logiikan eri osien tallentaminen tiedostoon Logiikan ohjelmat, kommentit ja symbolit voidaan tallentaa omiin tiedostoihinsa. Save Comment/Program löytyy File-valikosta tai logiikan pikavalikosta Transfer to File -riviltä. Jokaiselle tiedostolle määritellään sopiva nimi ja tallennuskansio...-painikkeen avaavassa ikkunassa. Kuvassa on valittu tallennettaviksi blokkikommentit eli Program Index (.idx), symbolit eli Symbols (.sym) sekä ohjelman kommentit eli Program comments (.cmt). Ohjelmista eli Programs (.obj) ei tehdä omaa tiedostoa. Tallennus tapahtuu OK-painikkeella Logiikan osien lataaminen tiedostosta Logiikan ohjelmat, kommentit ja symbolit voidaan ladata omista tiedostoistansa valittuun projektin logiikkaan. Load Comment/Program löytyy File-valikosta tai logiikan pikavalikosta Transfer from File -riviltä. Logiikan tulee olla tällöin offline-tilassa. Valitaan halutut osiot ja määritetään ladattavat tiedostot. OK-painikkeen valinnan jälkeen varoitetaan vielä seuraavalla ikkunalla. Valitut tiedostot tulevat korvaamaan kyseiset logiikan osiot. 130
131 15.9 Ohjelmien vertailu tiedostoon Logiikan ohjelmaa/ ohjelmia voidaan verrata tiedostossa olevaan. Compare Program -toiminto löytyy File-valikosta tai logiikan pikavalikosta. Aktivoinnin jälkeen ohjelmisto pyytää valitsemaan projektitiedoston (Target File) johon projektin logiikkaa (Current Project) verrataan. Compare Options -ikkunassa valitaan toisiinsa verrattavat logiikat. Vertailua voidaan rajoittaa logiikan sisällä haluttuihin ohjelmiin ja blokkeihin. Mikäli logiikoiden valitut ohjelmaosat vastaavat toisiaan, saadaan ilmoitus Compare Successfull: Jos asiat eivät ole näin hyvin, eli ohjelmat eivät vastaa toisiaan, saadaan ensin ilmoitus Compare Failed. Kuitattaessa OK, avautuu Compare Result -ikkuna. Ikkunan oikeassa alakulmassa on selvitetty vertailussa käytettävät värikoodit, jotka ovat: Valkoinen = sama, keltainen = eroaa, vihreä = sirrtynyt ja musta = riviä ei ole. Logiikoiden näkymät ovat tällä hetkellä blokkitasolla. Käskylistamuotoinen ohjelmaosa saadaan näkyviin tuplaklikkaamalla suoraan eroavaan blokkiin tai valitsemalla ensin etsi seuraava- Find Next (F4) -painike ja tämän jälkeen Mnemonic View -painike. 131
132 Nyt voidaan kahta eri lähteestä tulevaa koodia tarkastella vierekkäin. Tuplaklikki käskyriville vie kohdistimen CX-Programmerissa olevan logiikan vastaavaan ohjelmakohtaan. Tarvittavat muutokset tehdään siellä, Compare Result -ikkunassa ei voi niitä tehdä. Eli muutokset tehdään CX- Programmerissa ja uusi käännös voidaan tehdä Compare (F5) -painikkeella. Overview-painike palauttaa näkymän blokkitasolle takaisin. File-valikosta voi tallettaa (Save As) ohjelmat CSV-tiedostoon, jolloin ohjelmia voi tarkastella vaikka Excelissä. Ikkuna suljetaan normaaliin tapaan Ristiviittauslista View/Cross Reference Report -valikosta saatava ristiviittausraportti on oiva väline ohjelmassa käytettyjen ja vapaiden osoitteiden etsimiseksi. Helpoiten luettavan listan saa, kun valitsee Usage Overview -tyypin raportin halutulta muistialueelta. Lista luodaan Generate-painikkeella. Raportin tyyppejä on useita ja näillä erilaisia näkymiä: yksityiskohtainen -> pitkä lista, kaikki muistialueet ja esiintymät siellä yleiskatsaus -> yleensä tämä yleiskatsaus, symboleilla ja kommenteilla yleiskatsaus, myös käyttämättömät yleiskatsaus, symboleilla ja kommenteilla, myös käyttämättömät duplikoidut ohjaukset yleiskatsaukset kohdistuvat valittuun muistialueeseen Nyt kuvassa näkyy W-alueen käytetyt muistipaikat. Numero bitin kohdalla kuvaa esiintymäkertoja ja Address -kentässä näkyy summa ko. sanan tai sanan bittien esiintymistä. D-kirjain tarkoittaa sitä, että muuttuja on symboloitu. Free UM ilmoittaa vapaan logiikan ja Total UM koko ohjelmamuistikapasiteetin. 132
133 Datamuistialueen näkymä on toisenlainen, koska siellähän ei voi käsitellä bittejä, vain sanoja Muuttujien etsintä Find in PLC Etsi-editori avataan valikosta Edit/Find tai vastaavasta pikapainikkeesta. Etsintäalue (Scope) on koko logiikka, ohjelma tai alue, missä kohdistin on. Find Next -painike käynistää etsinnän. Reportpainike tulostaa raportin Output-ikkunan Report-lehdelle. Edit/Find -toiminnolla voidaan etsiä osoitteet (addresses / bit addresses) symbolit (symbol names) mitä vaan (all) Esiintymän löytyessä avataan kyseinen ikkuna näytölle päällimmäiseksi. Kun esiintymä on löydetty, voidaan ohjelmassa liikkumista jatkaa GoTo-toiminnoilla, jotka löytyvät esiintymässä avatusta pikavalikosta. Toinen vaihtoehto on käyttää Address Reference Tool -ikkunaa (Alt+4). 133
134 15.12 Osoiteviiteikkuna osoitteen jäljittämisessä Address Reference Tool Address Reference Tool -ikkuna (Alt+4) on oiva keino liikkua ohjelmassa osoitteen esiintymästä toiseen. Ensin valitaan logiikka ja etsitään yksi esiintymä. Sen jälkeen vain klikkaillaan ikkunan esiintymärivejä siirtyäksemme esiintymästä toiseen. Etsittävän osoitteen esiintymän voi Find-ikkunan lisäksi hakea suoraan Address Reference Tool - ikkunan Address: riviltä Find-painikkeella. 134
135 15.13 Data Trace ohjelma monitorointiin Tietoa tallentavat Data Trace ja Time Chart Monitoring -toiminnot jakavat saman editorin. Erona on se, että Data Trace tallettaa nauhoitustiedon logiikkaan, kun taas Time Chart siirtää tiedon suoraan editoriin. Data Trace käynnistetään valikosta PLC / Data Trace. Ohjelman valikosta Operation / Configuration avautuvasta ikkunasta asetellaan triggaus ja nauhoitustiedot. Settings-lehdellä annetaan näyteväli, triggausehdot. Trace Objects lehdellä annetaan nauhoitettavat osoitteet. Bittejä voi olla enintään 31 ja sanoja 16 kpl. Siirretään tiedot logiikkaan, niin näytteistys alkaa. Kun triggausehto käy toteen, alkaa varsinainen tallennus. Kun nauhoituspuskuri on täysi, siirretään data ylös tarkasteltavaksi. 135
136 Bitit ja sana-arvot tulevat omiiin ikkunoihinsa. Luettua dataa tarkastellaan halutussa zoomissa.datan voi myös viedä csv-tiedostoon (File/Export) tai myös ajaa CX-Simulaattorissa Ohjelman rakenneikkuna Section/Rung Manager Section/Rung Manager on ikkuna, jolla voi tarkastella sekä muokata logiikkaohjelman rakennetta. Ikkuna avataan valikosta Program/ Section/Rung Manager tai vastaavasta pikapainikkeesta. Valitaan ensin tutkittava ohjelma Program: kentässä, niin nähdään ohjelman blokkirakenne. Toki tämä nähdään suoraan projektinhallintaikkunassakin. Mutta siellä ei näe listaa blokin virtapiireistä, kuten täällä. Valitaan blokki Section:osassa ja ko. blokin virtapiirilista tulostuu Rung Comment:osaan. Klikkaamalla virtapiirin, avautuu näytölle kyseinen ohjelmablokki-ikkuna virtapiirin kohdalle. Kuvassa on yhteys logiikkaan kytkettynä, koska Rung Operation -painikkeet ovat harmaina. Offlinetilassa niiden avulla voi järjestellä, nimetä tai tuhota niin blokkeja kuin virtapiirejäkin. 136
137 Myös Goto Commented Rung -ikkunaa voi käyttää virtapiirilistaukseen ja liikkumiseen, mutta se näyttä nimensä mukaisesti vain kommentoidut virtapiirit. Kuvissa samat blokit Logiikan tilan tarkistus ja virhehistoria Error Log Mikäli CPU:n ERR/ALM-merkkivalo indikoi virhettä tai hälytystä, niin syytä tähän voi etsiä Online-tilassa projektinhallintaikkunassa näkyvän Error Log -rivin toiminnoilla. PLC Errors -ikkunan Errors-välilehti näyttää aktiiviset häiriöt. Status-kenttä ilmaisee häiriölajin. Fatal on virhe ja Non-Fatal hälytys. Häiriön aiheuttaja poistetaan ja kuitataan vika. Viat kuittaantuvat tekemällä joko sähkökatkos logiikalle tai kytkemällä logiikka Stop/Program -moodiin ja klikkaamalla Clear -painiketta. Aina vika ei selviä helpolla. Code- ja Details -kenttien opastuksella selvitetään laitteen käsikirjaa lukien häiriön aiheuttaja ja poistetaan se. 137
138 Logiikan virhehistoriaa voidaan tarkastella Error Log -lehdellä. Historia nollataan Clear Allpainikkeella. Jos logiikassa on reaaliaikakello, niin tällöin nähdään myös tapahtuma-ajankohdat. 138
NRO: 041-FIN-9 JA LOGIIKKAOHJELMOINTI
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
Sysmac-logiikan valintakoulutus
Sysmac-logiikan valintakoulutus Sisältö Ohjelmoitavan logiikan valintaa ohjaavat tekijät Sysmac valintatyökalut Sysmac ohjelmoitavat logiikat Väyläratkaisut ohjelmoitavien logiikoiden yhteydessä Harjoituksia
Ohjeita Siemens Step7, Omron CX Programmer käyttöön
Ohjeita Siemens Step7, Omron CX Programmer käyttöön Sisällysluettelo 1 Siemens Step7 Manager...1 1.1 Laitteistomäärittely...1 1.2 Ohjelmalohkon luonti ja toteutus...2 1.3 Ohjelman kutsu...3 2 CX-Programmer...4
SYSWIN-OHJELMOINTI PERUSKOULUTUS
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
CP1L. K o m p a k t i k o n e o h j a u s l o g i i k k a. » Ke h i t t y n y t l i i k ke e n o h j a u s. » S u u r i k ä s i t t e l y n o p e u s
CP1L K o m p a k t i k o n e o h j a u s l o g i i k k a» S u u r i k ä s i t t e l y n o p e u s» Ke h i t t y n y t l i i k ke e n o h j a u s» Va i v a t o n l i i t ä n t ä j a t i e d o n s i i r
Trajexia-liikkeenohjausyksikkö
TJ1- Trajexia-liikkeenohjausyksikkö Liikkeenohjaus Mechatrolink-II-liikeväylää käyttävä erillinen liikkeenohjausyksikkö 16-akselinen edistyksellinen liikkeenohjaus luotettavan ja nopean MECHATROLINK-II-liikkeenohjausväylän
1. Yleistä. 2. Ominaisuudet. 3. Liitännät
1. Yleistä SerIO on mittaus ja ohjaustehtäviin tarkoitettu prosessorikortti. Se voi ohjemistosta riippuen toimia itsenäisenä yksikkönä tai tietokoneen ohjaamana. Jälkimmäisessä tapauksessa mittaus ja ohjauskomennot
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut
LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA
LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA Tavallisimmin lukuja käsittelevien datasanojen tyypiksi kannattaa asettaa kokonaisluku 16 bitin INT, jonka vaihtelualueeksi tulee
TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?
Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää
MFW - I/O:n kaukoluentajärjestelmä
Ominaisuudet älykäs, moduulirakenteinen järjestelmä sisäänrakennettu modeemi helppo konfigurointi useita tiedonsiirtomahdollisuuksia keskusyksikössä lukuisia kommunikointiliitäntöjä itsediagnostiikka Järjestelmäkomponentit
Mika Hotakainen NESTEPROSESSIN OHJAUKSEN TOTEUTUS OMRON CJ1M - LOGIIKALLA
Mika Hotakainen NESTEPROSESSIN OHJAUKSEN TOTEUTUS OMRON CJ1M - LOGIIKALLA NESTEPROSESSIN OHJAUKSEN TOTEUTUS OMRON CJ1M - LOGIIKALLA Mika Hotakainen Opinnäytetyö Syksy 2014 Automaatiotekniikan koulutusohjelma
Työ 1: Logiikka ja robotti
AS-0.2230 Automaatio- ja systeemitekniikan laboratoriotyöt Työ 1: Logiikka ja robotti Sisältö Työn luonne... 2 Ohjelmoitava logiikka... 2 Hyllyvarasto... 3 Robotti... 4 Logiikan ohjelmointi... 5 Esiselostustehtävät...
AU Automaatiotekniikka. Toimilohko FB
AU080401 Automaatiotekniikka Toimilohko FB Tarkoitus Dokumentissa kuvataan, mikä on toimilohko (FB) miten toimilohko muodostetaan ja miten sitä sovelletaan S7 ohjelmointiympäristössä (STEP7) mitä etua
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,
Väylään liitettävä laite: Pheonix Contact ILB PB DI8 DIO8
Väylään liitettävä laite: Pheonix Contact ILB PB DI8 DIO8 Laite on DP-väylään kytketkettävä Digitaalinen 16-porttinen IO-moduuli. Porteista 8 on Inputteja ja toiset 8 valittavissa inputeksi tai outputeiksi.
Ohjelmoijan binaarialgebra ja heksaluvut
Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoinaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta
Kerrostettu tuotemalli käytä sitä, mitä tarvitset
Ethernet /IP Ethernet/IP-kommunikoinnit Datalinkkien periaate Network Configurator Verkon määrittely Tagien määrittely Kytkentöjen määrittely Lataaminen CJ2 datalinkit, verkkomuuttujat EtherNet/IP kommunikoinnit
ASENNUS GOLDen GATE, TBLZ-1/2-1-3-41
ASENNUS GOLDen GATE, TBLZ-1/2-1-3-41 1. YLEISTÄ Tiedonsiirtoyksikkö TBLZ-1/2-1-3-41 on tarkoitettu GOLDilmankäsittelykoneeseen malleihin 4, A ja B. Yksikkö koostuu seuraavista osista: 1. 4-moduulinen standardikotelo
Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.
Mikä on tietokone PUNOMO NETWORKS OY 22.7.2016 pva, piirroskuvat J. Mansikkaviita Henkilökohtaisesti olen aina valmis oppimaan, vaikka en välitäkään tulla opetetuksi. - Winston Churchill Tietokone on elektroninen
OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012
OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 6: Tiedon esittäminen tietokoneessa, osa 1 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Luennon
SISÄLLYS - DIGITAALITEKNIIKKA
SISÄLLYS - DIGITAALITEKNIIKKA Digitaalitekniikan perusteita...2 Bitti (bit)...2 Tavu (bytes)...2 Sana (word)...2 Yksiköt...2 Binääri järjestelmän laskutapa...2 Esimerkki: Digikuvan siirron kestoaika...2
GSM OHJAIN FF KÄYTTÖOHJE PLC MAX S03
GSM OHJAIN FF KÄYTTÖOHJE PLC MAX S03 TRIFITEK FINLAND OY 2012 V1.0 1. OHJELMISTO; ASENTAMINEN, KÄYTTÖ 1.1 Ohjelmiston asentaminen tietokoneeseen, Ajurin asentaminen Laitteen mukana toimitetaan muistitikulla
TiiMi Talotekniikka. LATTIALÄMMITYS- TERMOSTAATTI TiiMi 7250TL. v. 1.0
TiiMi Talotekniikka LATTIALÄMMITYS- TERMOSTAATTI TiiMi 7250TL v. 1.0 TiiMi Lattialämmitys on monipuolinen vesikiertoisen lattialämmityksen säätöjärjestelmä jota voidaan soveltaa myös sähköiseen lattialämmitykseen.
Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net
Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta
C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out
Digitaalitekniikan matematiikka Luku ivu (2).9.2 Fe C = Aseta Aseta i i = n i > i i i Ei i < i i i Ei i i = Ei i i = i i -- On On On C in > < = CI CO C out -- = + (-) (-) = + = C + Digitaalitekniikan matematiikka
Kappale 20: Kantaluvut
Kappale 20: Kantaluvut 20 Johdanto: Kantaluvut... 328 Kantalukujen syöttäminen ja muuntaminen... 329 Matemaattiset toiminnot Hex- ja Bin-luvuilla... 330 Bittien vertaileminen ja manipulointi... 331 Huom!
Mikro-ohjain µc harjoitukset - yleisohje
Mikro-ohjain µc harjoitukset - yleisohje Keijo Salonen 20. marraskuuta 2016 Sisältö 1 Esittely 2 2 Arduino UNO R3 mikro-ohjain kortti 2 3 Koekytkentälevy 5 4 Elektroniikan komponentit 7 5 Työkalut ja muut
Käyttöjärjestelmän rakenne
Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa
Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.
Lämpötilahälytin Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi. Laite koostuu Arduinokortista ja koekytkentälevystä. Hälyttimen toiminnat ohjelmoidaan Arduinolle.
Digikamera. Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle
TEEMA 1 Tietokoneen peruskäyttö Digikamera Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle Tämä tietopaketti hahmottaa lukijalle, millä tavalla kuvat voidaan siirtää kamerakännykästä tai
Avoimen luukun varoitussanomat. Toiminto
Toiminto Kaikki kuorma-autot 1 on varustettu avoimien luukkujen varoitussanomien näyttötoiminnolla. Varoitussanomaa voidaan käyttää erityyppisille luukuille, joissa on anturi, joka ilmaisee, että luukku
SmartSlice. Järjestelmän kokoonpano
SmartSlice Älykkäin modulaarinen I/O-järjestelmä OMRONin SmartSlice-I/O-järjestelmä on pienikokoinen, älykäs ja kätevä. Kun se liitetään OMRONin CS/CJ DeviceNet- tai CompoNet-masteryksikköön, konfigurointityökaluja
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
Nokeval No 280701. Käyttöohje. Tekstinäyttö 580-ALF
Nokeval No 28070 Käyttöohje Tekstinäyttö 580-ALF Nokeval Oy Yrittäjäkatu 2 3700 NOKIA Puh. 03-342 4800 Fax. 03-342 2066 2 Kenttänäytttösarja 580 sarjaviesteille 5820 580 Sarjaviesti RS-232 tai RS-485 PC
2 Konekieli, aliohjelmat, keskeytykset
ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä
MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).
V1.0.0 (14.10.2015) 1 (7) KYTKENTÄ HUOM: toimii Modbus-masterina. Tämän vuoksi toinen mahdollinen Modbus-master on irrotettava verkosta, kun kytketään valmiiseen Modbus-verkkoon. Produalin Modbus-laitteiden
Kuva1. Lisätään projektiin tarvittavat logiikat ja nimetään sekä konfiguroidaan yhteydet, esimerkiksi ethernet yhteys IP-osoitteeseen
CX Programmer ohjelmisto 1. Yleistä CX- Programmer on kehitetty CS1- ja CJ1-logiikoiden ohjelmointiohjelmaksi, mutta se tukee myös lähes kaikkia Omronin (ei C20H) logiikoita. Yksi projekti voi sisältää
ABB aurinkosähköinvertterit Pikaohje PMU laajennuskortti
ABB aurinkosähköinvertterit Pikaohje PMU laajennuskortti Tämän pikaohjeen lisäksi on turvallisuus ja asennustietojen ohjeet luettava ja niitä on noudatettava. Tekninen dokumentaatio, ja hallintaohjelmisto
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 1 (21) Kone- ja laiteautomaatio Seppo Mäkelä. SIMATIC STEP S7 Ohjelmointiohjelma.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 1 (21) SIMATIC STEP S7 Ohjelmointiohjelma Ohjelmointi osa1 TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 2 (21) 1 Projektin muodostus 1.1 Ohjelman avaus Ohjelman avaus suoritetaan
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 1 (19) Kone- ja laiteautomaatio Seppo Mäkelä. SIMATIC STEP S7 Ohjelmointiohjelma.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 1 (19) SIMATIC STEP S7 Ohjelmointiohjelma Ohjelmointi osa 3 TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 2 (19) 1 PROFIBUS DP 1.1 Profibus on johtava avoin kenttäväylä Riippumattomat
Etälukija PR 1000. Käyttäjäopas. Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi. PR1000v.2
Etälukija PR 1000 Käyttäjäopas PR1000v.2 Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi Sivu 2 PR 1000 Rajoitukset Kaikki oikeudet tähän ohjekirjaan ovat Global Safety & Security Solutions
6. Analogisen signaalin liittäminen mikroprosessoriin 2 6.1 Näytteenotto analogisesta signaalista 2 6.2. DA-muuntimet 4
Datamuuntimet 1 Pekka antala 19.11.2012 Datamuuntimet 6. Analogisen signaalin liittäminen mikroprosessoriin 2 6.1 Näytteenotto analogisesta signaalista 2 6.2. DA-muuntimet 4 7. AD-muuntimet 5 7.1 Analoginen
Ulkoiset mediakortit. Asiakirjan osanumero: Tässä oppaassa kerrotaan ulkoisten tallennusvälinekorttien käytöstä.
Ulkoiset mediakortit Asiakirjan osanumero: 393506-351 Lokakuu 2005 Tässä oppaassa kerrotaan ulkoisten tallennusvälinekorttien käytöstä. Sisällysluettelo 1 Digitaalisten tallennusvälineiden korttipaikassa
Safety Integrated -turvatekniset perusratkaisut. Siemens Automation
Safety Integrated -turvatekniset perusratkaisut Siemens Automation Itsenäisen koneen turvaratkaisu toteutetaan releellä, konetta ei ole kytketty väylään Select language Exit Sivu 2 Industry Sector Turvareleet
KÄYTTÖOHJE SATEL I-LINK PC POINT-TO-MULTIPOINT OHJELMISTO
KÄYTTÖOHJE SATEL I-LINK PC POINT-TO-MULTIPOINT OHJELMISTO 1 1 OTSIKOT 1 OTSIKOT...2 2 YLEISTÄ...3 2.1 SATEL I-LINK PC...3 3 ASETUKSET...4 3.1 SATELLINE RADIOMODEEMIN JA SATEL I-LINK 100:N ASETUKSET...4
PM10OUT2A-kortti. Ohje
PM10OUT2A-kortti Ohje Dokumentin ID 6903 V3 13.4.2015 Sisällysluettelo Sisällysluettelo... 2 Esittely... 3 Kortti ja rekisterit... 3 Lähtöviestit... 4 Signaalien kytkeminen... 4 Käyttö... 4 Asetusten tekeminen...
Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone
ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin
Käyttöoppaasi. OMRON CP1H http://fi.yourpdfguides.com/dref/2886445
Voit lukea suosituksia käyttäjän oppaista, teknisistä ohjeista tai asennusohjeista tuotteelle. Löydät kysymyksiisi vastaukset käyttöoppaasta ( tiedot, ohjearvot, turvallisuusohjeet, koko, lisävarusteet
Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin
Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin Ohjelmointitehtävänä on laatia ohjelma jääkaapin ovihälyttimelle. Hälytin toimii 3 V litium paristolla ja se sijoitetaan jääkaapin sisälle. Hälyttimen
ERISTYSTASON VALVONTARELE MEV-7 (LC-7 ja Kosketusnäyttö)
ERISTYSTASON VALVONTARELE MEV-7 (LC-7 ja Kosketusnäyttö) MEV-7 on tarkoitettu suojaerotusmuuntajan jälkeisen ns. Kelluvan verkon eristystilan- ja muuntajan ylikuormituksen-valvontaan. KYTKENTÄOHJE APUJÄNNITE:
Kamera ohjelmoidaan ensin tunnistamaan kortit ja lähettämään tieto sarjaliikenneporttiin Data-linkin avulla.
Ohjausjärjestelmien jatkokurssi kevät 2006 Laboraatiot 7-12 Laboraatio 7. Konenäkö robotiikassa Konenäkökamera liitetään robottiohjaimeen. Järjestelmä ohjelmoidaan niin, että robotti lajittelee kappaleita
I T. SurePath. Järjestelmä on täysin yhteensopiva kaikkien DALI hyväksyttyjen turva- ja poistumistievalojen kanssa.
SurePath Järjestelmä on täysin yhteensopiva kaikkien DALI hyväksyttyjen turva- ja poistumistievalojen kanssa. SurePath on DALI pohjainen turvavalaistuksen valontajärjestelmä joka tarjoaa täysin yhteensopivan
MINITV POCKET43 MINI DV VIDEOKAMERA
MINITV POCKET43 MINI DV VIDEOKAMERA MAAILMAN PIENIN VIDEOKAMERA PIKAOHJE Copyright 2009 Bat. Power Oy www.batpower.fi Kaikki oikeudet muutoksiin pidätetään Versio 1.0 JOHDANTO Kiitos kun ostit MiniDV MD80
Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto
Luento 6 (verkkoluento 6) Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto Ohjelman esitysmuoto Rakenteellinen tieto 1 Tiedon tyypit Kommunikointi
CipherLab CPT-8001L -tiedonkeruupäätteen käyttö Ecomin kanssa
CipherLab CPT-8001L -tiedonkeruupäätteen käyttö Ecomin kanssa Sisällys Laitteen käyttöönotto...3 Latauskehdon asennus...3 Tiedonsiirto-ohjelman asennus...4 Keräilylaitteen käyttö...5 Viivakoodien luku...5
ERISTYSTASON VALVONTARELE MEV-7 (LC-7/6)
ERISTYSTASON VALVONTARELE MEV-7 (LC-7/6) MEV-7 on tarkoitettu suojaerotusmuuntajan jälkeisen ns. Kelluvan verkon eristystilan- ja muuntajan ylikuormituksen-valvontaan. KYTKENTÄOHJE APUJÄNNITE: Liitin N:
Ulkoiset tallennusvälinekortit
Ulkoiset tallennusvälinekortit Asiakirjan osanumero: 419584-351 Tammikuu 2007 Tässä oppaassa kerrotaan ulkoisten tallennusvälinekorttien käytöstä. Sisällysluettelo 1 Digitaalisten tallennusvälineiden korttipaikassa
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
Tuote-esite I/O-järjestelmä
DF8000 MP4.x Tuote-esite I/O-järjestelmä Joustava I/O-järjestelmä helppoon ja kustannustehokkaaseen integrointiin DMS8000 järjestelmään Joustava I/O-järjestelmä on suunniteltu helppoon ja kustannustehokkaaseen
Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena
Mikrotietokone Moderni tietokone Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Sen käyttötarkoitus on yleensä työnteko, kissavideoiden katselu internetistä tai pelien pelaaminen. Tietokoneen
Ulkoiset mediakortit. Käyttöopas
Ulkoiset mediakortit Käyttöopas Copyright 2006 Hewlett-Packard Development Company, L.P. SD-logo on omistajansa tavaramerkki. Java on Sun Microsystems, Inc:n tavaramerkki Yhdysvalloissa. Tässä olevat tiedot
GSM PUHEVIESTI & SMS HÄLYTYKSENSIIRTOLAITE
ZEUS4-VD GSM PUHEVIESTI & SMS HÄLYTYKSENSIIRTOLAITE V 1.2 ASENNUS, TOIMINTA JA OHJELMOINTI MAAHANTUOJA: FIN- ALERT ELECTRONICS OY WWW.FINALERT.FI PERUSTIEDOT ZEUS4 - VD on GSM hälytyksensiirtolaite joka
SM210 RS485 - JBUS/MODBUS mittarille SM102E. Käyttöohje
SM210 RS485 - JBUS/MODBUS mittarille SM102E Käyttöohje Sisällys Alustavat toimet... 1 Yleistiedot... 1 Asennus... 2 Ohjelmointi... 3 Pääsy ohjelmointitilaan (COde= 100)... 3 Tiedonsiirto-osoite... 5 Tiedonsiirtonopeus...
KÄYTTÖOHJE. M2M Point - to - Point
KÄYTTÖOHJE M2M Point - to - Point M2M Paketti SISÄLLYSLUETTELO YLEISTÄ 1 KÄYTTÖÖNOTTO 1.1 LAITTEISTON ASENNUS 2 TULOJEN JA LÄHTÖJEN KYTKENTÄ 2.1 TILATIETOKYTKENNÄT 2.2 ANALOGIAKYTKENNÄT 3 KANAVANVAIHTO
MICO. Ratkaisut älykkääseen tehonjakeluun. Valvonta. Katkaisu. Tunnistus
MICO Ratkaisut älykkääseen tehonjakeluun Valvonta Katkaisu Tunnistus 02 MICO 03 RATKAISUT ÄLYKKÄÄSEEN TEHONJAKELUUN Monimuotoiset useita komponentteja sisältävät tehonsyöttöjärjestelmät vaativat luotettavan
Simulaattorin asennus- ja käyttöohje
Linux ja Windows XP Versio Päiväys Muokkaaja Kuvaus 0.2 16.2.2006 Mikko Halttunen Katselmoinin jälkeen 0.1 13.2.2006 Mikko Halttunen Alustava versio Sisällysluettelo 1 Johdanto... 3 2 Simulaattorin asennus...
Moottorin kierrosnopeus Tämän harjoituksen jälkeen:
Moottorin kierrosnopeus Tämän harjoituksen jälkeen: osaat määrittää moottorin kierrosnopeuden pulssianturin ja Counter-sisääntulon avulla, osaat siirtää manuaalisesti mittaustiedoston LabVIEW:sta MATLABiin,
Ulkoiset tallennusvälinekortit
Ulkoiset tallennusvälinekortit Asiakirjan osanumero: 404158-351 Maaliskuu 2006 Tässä oppaassa kerrotaan ulkoisten tallennusvälinekorttien käytöstä. Sisällysluettelo 1 Digitaalisten tallennusvälineiden
SIEMENS S7-300, KYTKENTÄHARJOITUKSIA, KESKEYTYSTULO
Vaasan ammattikorkeakoulu AUTOMAATIOSUUNNITTELU 1 SIEMENS S7-300, KYTKENTÄHARJOITUKSIA, KESKEYTYSTULO 1. Harjoitusesimerkki: Kuvassa 1 on esitetty kuvitteellinen stanssattujen reikälevyjen tarkastus ja
iloq P10S.10/20 -ohjelmointilaite Käyttöohje
iloq P10S.10/20 -ohjelmointilaite Käyttöohje SISÄLTÖ YLEISTÄ... 3 OHJELMOINTILAITTEEN KÄYTTÖ... 5 Virran kytkeminen... 5 Lukon ohjelmointi... 5 Avaimen ohjelmointi... 5 Lukon lokin lukeminen... 6 Paristojen
Turva Turvalogiikka. SC turvalogiikka
Turva Turvalogiikka SC turvalogiikka Max. 128 digitaalista sisääntuloa Max. 16 OSSD ulostuloparia Max. 14 laajennusyksikköä (max. 4 samaa laajennusyksikköä) Ulkoinen monitorointi mahdollisuus useimpiin
PR 3100 -SARJA ASENNUS JA KYTKENTÄ
PR 3100 SARJA ASENNUS JA KYTKENTÄ 3100V105 3114V101 FIN Yksiköitä voi syöttää 24 VDC ± 30 % jännitteellä suoraan johdottamalla tai johdottamalla maks. 130 yksikköä rinnakkain toisiinsa. 3405tehonliitäntäyksikkö
S-108.3020 Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010
1/7 S-108.3020 Elektroniikan häiriökysymykset Laboratoriotyö, kevät 2010 Häiriöiden kytkeytyminen yhteisen impedanssin kautta lämpötilasäätimessä Viimeksi päivitetty 25.2.2010 / MO 2/7 Johdanto Sähköisiä
1. Keskusyksikön rakenne
1. Keskusyksikön rakenne Kuvassa on esitelty TTK-91 esimerkkikoneen keskusyksikkö. Oikeiden tietokoneiden keskusyksiköt ovat luonnollisesti monimutkaisempia, mutta tämä riittää oikein mainiosti asian havainnollistamiseen.
Asennusohje SLC-16 Tilannevalo-ohjain. ApplyLight SLC-16 Asennusohje
ApplyLight SLC-16 Asennusohje 1 TÄRKEÄÄ TIETOA ENNEN ASENTAMISTA Keskusyksikkö toimii suojajännitteellä. Tarkista muuntajan yhteensopivuus (Max 15VAC, suositeltava jännite 12VAC, vähintään 16VA). Keskusyksikössä
Nokeval. Pikaohje. Malli 2072 Sarjaviestille RS232 / RS485. No 090417 v1.0
No 0907 v.0 Nokeval Pikaohje Malli 07 Sarjaviestille RS / RS8 Johdanto 07 on SCL sarjaliikenneprotokollalla toimiva näyttö, joka hakee mittaustuloksia toisilta sarjaliikennelaitteilta. Laitteessa on 9
AU Automaatiotekniikka. Funktio FC
AU080401 Automaatiotekniikka Funktio FC Tarkoitus Dokumentissa kuvataan, mikä on funktio miksi funktioita kannattaa käyttää milloin funktioita kannattaa käyttää mitä asioita on huomioitava funktiota luotaessa
Lukujärjestelmät. Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen Fe
Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Lukujärjestelmät Kymmen- eli desimaalijärjestelmä: kantaluku perinteisesti käytetty ja tuttu numerot,,
WA-800 Tuoteperhe. Tekniset tiedot. Vaakapäätteet WA-801 WA-802 WA-802r WA-810. Ohjaimet WA-804 WA-805 WA-806 WA-807
Ahjokatu 4 A, P.O.B. 22 FI-15801 Lahti, Finland Tel. +358 3 829 21 Fax +358 3 829 4100 www.lahtiprecision.com WA-800 Tuoteperhe Tekniset tiedot Vaakapäätteet WA-801 WA-802 WA-802r WA-810 Ohjaimet WA-804
Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä
Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat
SM211 RS485 - JBUS/MODBUS mittarille SM103E. Käyttöohje
SM211 RS485 - JBUS/MODBUS mittarille SM103E Käyttöohje Sisällys Alustavat toimet... 1 Yleistiedot... 1 Asennus... 2 Ohjelmointi... 3 Tiedonsiirtoosoite... 4 Tiedonsiirtonopeus... 4 Tiedonsiirron pariteetti...
LUMECOM. Jyrsinsovellus. 1. Asennusohje 2. Käyttöohje 3. Käyttöönottokortti
LUMECOM Jyrsinsovellus 1. Asennusohje 2. Käyttöohje 3. Käyttöönottokortti 11.4.2018 Asennusohje - ProJyrsin 1. Avaa Google Play Store tabletiltasi - sovellus ei tue toistaiseksi Apple/IOS käyttöjärjestelmiä
Jokin ulkopuolisen valmistajan 24V tai 230V jännitetasolla toimiva säädin
Sivu 1/6 PEMCO PMFC- puhallinpattereiden ohjaus Pemcon puhallinpattereiden ohjaus on toteutettu sekä suunnittelija, että käyttäjän kannalta mahdollisimman helpoilla ja tehokkailla ratkaisuilla. Pemco tarjoaa
VERSA. monipuolinen hälytinkeskus. Versa
VERSA monipuolinen hälytinkeskus VERSA on nykyaikainen hälytinkeskus. Edullinen VERSA soveltuu suurenkin kohteen järjestelmäksi. Keskukseen sopii laaja valikoiman langattomia ilmaisimia. Hälytyksensiirto
Ulkoiset mediakortit. Käyttöopas
Ulkoiset mediakortit Käyttöopas Copyright 2006 Hewlett-Packard Development Company, L.P. SD-logo on omistajansa tavaramerkki. Tässä olevat tiedot voivat muuttua ilman ennakkoilmoitusta. Ainoat HP:n tuotteita
Älykkään rakennusautomaation järjestelmäkomponentit
Älykkään rakennusautomaation järjestelmäkomponentit Käyttäjäystävällisyyttä ja asennuksen & ohjelmoinnin helpoutta aina kilpailukykyiseen hintaan. Avoimet standardit tuovat yhteensopivuutta FDX Compact
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
STEP-404 askelmoottoriohjain PROBYTE/Pekka Ritamäki
STEP-404 askelmoottoriohjain PROBYTE/Pekka Ritamäki Yleistä Askelmoottoriohjain STEP-404 on tarkoitettu toimimaan älykkäänä askelmoottoritehoasteen ohjaimena PC:n tai ohjelmoitavan logiikan välillä. Se
Ulkoiset mediakortit Käyttöopas
Ulkoiset mediakortit Käyttöopas Copyright 2007 Hewlett-Packard Development Company, L.P. SD-logo on omistajansa tavaramerkki. Java on Sun Microsystems, Inc:n tavaramerkki Yhdysvalloissa. Tässä olevat tiedot
Mikrokontrollerit. Mikrokontrolleri
Mikrokontrollerit S-108.2010 Elektroniset mittaukset 18.2.2008 Mikrokontrolleri integrointi säästää tilaa piirilevyllä usein ratkaisu helpompi ja nopeampi toteuttaa ohjelmallisesti prosessori 4-64 bittinen
Ulkoiset mediakortit. Käyttöopas
Ulkoiset mediakortit Käyttöopas Copyright 2006 Hewlett-Packard Development Company, L.P. SD-logo on omistajansa tavaramerkki. Näitä tietoja voidaan muuttaa ilman etukäteisilmoitusta. HP-tuotteiden ja -
- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)
LE PDX DIN kiskokiinnitys Ominaisuudet ja edut - Ohjelmoitavissa haluttuihin arvoihin - Itsenäiset säädöt (esim. ramp up & ramp down) - Kirkas 4 numeroinen LED näyttö - Selkeä rakenne, yksinkertainen käyttää
SIMULOINTIYMPÄRISTÖJEN SOVELTAMINEN OPETUKSESSA SIMULOINNILLA TUOTANTOA KEHITTÄMÄÄN-SEMINAARI TIMO SUVELA
SOVELTAMINEN OPETUKSESSA SIMULOINNILLA TUOTANTOA KEHITTÄMÄÄN-SEMINAARI 2.12. TIMO SUVELA KUKA OLEN? Timo Suvela lehtori, sähkö- ja automaatiotekniikka (timo.suvela@samk.fi, 044-7103275) Nykyisyys SAMK:iin
Ohjeet e kirjan ostajalle
1 Ohjeet e kirjan ostajalle 1. Ostaminen ja käyttöönotto 1.1. Näin saat e kirjan käyttöösi Lataa tietokoneellesi Adobe Digital Editions (ADE) ohjelma täältä: http://www.adobe.com/products/digitaleditions/.
PROBYTE CONTROL GSM. GSM/SMS-hälytys- ja ohjauslaite. GSM Control 7/11/01 sivu 1/5
PROBYTE CONTROL GSM GSM/SMS-hälytys- ja ohjauslaite GSM Control 7/11/01 sivu 1/5 Yleistä l - PROBYTE CONTROL GSM on hälytys- ja kauko-ohjauslaite, joka käyttää GSM/SMStekniikkaa viestien välitykseen GSM
Machine Control Studio - Kuinka päästä alkuun. Ohjelmointiympäristö Unidrive M ja MCi2x0 laitteille
Machine Control Studio - Kuinka päästä alkuun Ohjelmointiympäristö Unidrive M ja MCi2x0 laitteille Mistä aloittaa? Machine Control Studion lataaminen ja asennus. MCS käynnistys ja uuden projektin luonti.
Käyttö- ja asennusohje
11.8.2015 V1.0 Käyttö- ja asennusohje GMU391 Etäluentalaite ionsign Oy PL 246, Valtakatu 9-11, 26100 Rauma ionsign@ionsign.fi, p. 02 822 0097 Y-tunnus 2117449-9, VAT FI21174499 GMU391 ETÄLUENTALAITE 1
DATALOGGERI DT-171 PIKAKÄYTTÖOHJE V 1.2
DATALOGGERI DT-171 PIKAKÄYTTÖOHJE V 1.2 S&A Matintupa 2007 Ohjelman käynnistys Ohjelma käynnistyy tuplaklikkaamalla DATALOGGER ohjelmakuvaketta. Ohjelma avautuu tuplaklikkaamalla Datalogger kuvaketta.
MrSmart 8-kanavainen lämpötilamittaus ja loggaus, digitoija ja talletusohjelma
MrSmart 8-kanavainen lämpötilamittaus ja loggaus, digitoija ja talletusohjelma Kuva 1 MrSmart on digitointilaite PC:lle Yleistä MrSmart on sarjaliikenteellä toimiva sarjaliikennedigitoija. Laite mittaa