Terve!
Olen tässsä jonkin aikaa pyöritellyt Siemenssin logon kanssa, mutta haluaisin tutustua logiikoihin enemmän ruohonjuuritasolla. Onko kokemuksia mistään logiikasta jota koodataan esim c++:lla tai muulla ohjelmointikielellä?
Tuo avausviesti on kyllä varsinainen trollimagneetti. Jospa kertoisit tarkemmin mitä ajat takaa. Miten tuo Siemenssin logo ensinnä liittyy ohjelmointiin?
Ei avausviestissä ole mitään vikaa. Toivottavasti User137 on ainoa trolli, jonka se veti puoleensa.
Siemensin Logoahan ohjelmoidaan perinteisen tikapuukaavion tai IEC -ohjelmoinnin sijaan Drag'n'Drop -tyyppisesti (se on muuten melkoisen pieni ruutu mihin noita kilkkeitä vedetään, nykyään sentää on useita layereitä jolloin voi tehdä vähän isomman ohjelman). Tuo Logohan ei tosiaan ole edes alkuperäinen Siemensin tuote, vaan tuote jonka ovat ostaneet ja liittäneet vaan oman nimen kylkeen. Siksi se eroaa niin paljon esim 7 -sarjasta, jota taas ohjelmoidaan normaali PLC -ohjelmoinnin tapaan (Ja joka on melkein yleisin sarja teollisuuden automaatiolaitteissa). Tutustumisen arvoinen on myös mitsubishin FX- ja Q-sarjat, joihin itse olen mieltynyt.
Varsinainen C -tai muu tietokoneisiin suunnattu ohjelmointikieli ei liity PLC ohjelmointiin, koska nuo PLC yksiköt itsessään ovat itsenäisiä laitteita, eivätkä liity x86 (tai muihinkaan PC prossutyyppeihin) laitteisiin, vaan voivat omata minkä tahan prossun. tästä johtuen myös jokaisen eri valmistajan laite voi sisältää oman tyyppisensä ohjelmointitavan syntakseineen ja kielipohjineen, yleensä kolmella eri ohjelmointityylillä:
IEC Standardiin perustuva ohjelmointi (funktio- ja moduulipohjainen rakenne),Tikapuukaavio-ohjelmointi sekä tekstipohjainen riviohjelmointi (joka ehkä lähiten muistuttaa pc -ohjelmointia. Mutta koska rivipohjaiset ohjelmat ovat sangen pitkiä koodiriveiltään, tätä ei juurikaan enää käytetä haasteellisen suoritusmonitoroinnin takia, tämän takia myöskään C tukea harvemmin löytyy. Saatika että PLC valmistajat eivät julkaise mitään API:a tai SDK:ta laitteilleen. Sen sijaan valmistajat julkaisevat kaikki, tai jonkun yllämainituista ohjelmointitavoista omalla softallaan, joku kääntyy sitten suoraan laitteelle. Se, miksi softa kääntyy, voi hyvin pyörähtää vaikka C:n kautta. Sitä valmistajat eivät usein paljoa ilmoittele.)
Kun poiketaan PLC maailman ulkopuolelle, niin esim PIC -piirejä sun muita taas kyllä ohjelmoidaan C:llä, ja tähän tarkoitukseen esim Arduino tai vs voisi olla hyvä ratkaisu sinulle, jos sulautettujen härpäkkeiden ohjelmointi kiinnostaa.
Tuo arduino voisi olla kokeilemisen arvoinen. Onko siitä minkäänlaisia kokemuksia, tai lähinnä kannattaako alkuun hommata tuo starter kitti. Taisi olla jotain 100e pintaan robomaassa, vai pääseekö alkuun halvemmallakin?
Kyllä halvemmallakin pääsee alkuuun. Esim itse joskus hommasin Arduin Unon, joka vaikutti ihan kivalta ja pätevältä vempeleeltä, mutta jäi sitten nurkkiin pyörimään, kun miltei heti siirryin AVR-ohjelmointiin.
Tilasin muutama kuukausi sitten Arduino Megan (2560 Rev 3) Ebaysta 15 eurolla. Mukana tuli jopa USB-johto ohjelmointia varten. Se ei tietenkään sisältänyt mitään komponentteja, mutta kyllä jotain vastuksia ja ledejä saa elektroniikkakaupoista Suomestakin.
Starter Kitissä on mukana joku ohjelmointikirja, jolla opetetaan Arduinon toimintoja ja siellä on vissiin jotain esimerkkejä ja tehtäviäkin. Jos sulla on aikaisempaa kokemusta ohjelmoinnista, niin en itse ostaisi sitä Starter kittiä. Sillä 85 € hintaerotuksella saa aika kivoja tarvikkeita netistä.
Suomalaiset elektroniikkakaupat tuntuvat olevan sikahintaisia verrattuna ulkomaisiin (esim LM324 ~euron täällä, jenkkilässä 16 senttiä jne), kasaantuu aika äkkiä hintaa jos ostelee piuhoja, vastuksia, ledejä jne. Itse olen taas kasaamassa tilausta jenkkeihin, pitäisi 65 euroa saada kasaan niin ei tulisi postikuluja (ei kukaan pääkaupunkiseutulainen olisi kiinnostunut tilaamaan mukana? Mouser.com tilauspaikkana)
Arduino Leonardo tuli hankittua jokin aika sitten (alle 20 euroa) ja vallan kiva peli. Varsinkin kun siinä on suoraan USBin kautta sarjaportti, eli saa liikuteltua dataa eestaas ilman USB-sarjaporttipalikkaa. Jos enemmän liitäntöjä tarvitsisee niin siten nuo Megat jne ovat parempia, mutta kyllä tuolla pitkälle menee (20 IO-liitäntää, joista kuutta voi käyttää analogisisäänmenona + erillinen SPI).
Yksi vaihtoehto, jos rahaa on vähän enemmän, on toki Netduino (30-50 euroa). Voi koodata .NET Microlla mukavasti Visual Studion kanssa, debugata suoraan PC:llä jne. Mihinkään todella huipputehoa vaativaan koodinvääntöön ei sovellu, mutta harvemmin moisia ensimmäisenä tekeekään tai logiikkapuolella muutenkaan. On myös verkkoliitäntä sisäänrakennettuna. Tukee monia Arduinon shieldejä.
Noita aloituskittejä saa toki myös DX.comin kautta, jos sellaista kaipaa. Kannattaa katsoa minkälainen hintaero on verrattuna kotimaisiin. Itse mieluummin kasailen osista, mutta jos ei elektroniikka yhtään ole tuttua, voi olla helpompi käyttää valmiita shieldejä.
Kuten Marco sanoikin, 85 eurolla ostaa paljon sälää. 20-30 eurolla voi hankkia vaikka värilisen kosketusnäytön, viidellä eurolla saa merkkipohjaisen LCD:n + nappuloita, ledejä ja irtonappuloita jne saa pikkurahalla ja muutamalla eurolla sitten sopivia vastuksia ja MOSFETtejä niin ollaan hyvin pitkällä.
Sinänsähän idealtaan Arduinon/PICin koodaaminen ei eroa logiikkalaitteiden ohjelmoinnista: ensin tehdään setup ja sen jälkeen vain pyöritetään ikilooppia, jossa tehdään kaikki haluttava. Tikapuita tai muita ei ole tainnut kukaan toteuttaa, mutta samat asiat toki saa tehtyä C:llä suoraan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.