Wago PFC ohjaimet

Espejot

Hyperaktiivi
EDIT: tämä aihe on lohkaistu täältä
https://lampopumput.info/foorumi/threads/mlp-kv-pumppujen-ongelmat.32259/#post-491407

Pöydällä on siis PFC200 ja kasa I/O modulleja. Win10 ja e!Cockpit softan kokeiluversio. Kokemusta automaatiojärjestelmistä on aika niukasti mutta katsotaan mitä kiikustuolissa pystyy oppimaan. Wago valikoitu pöydälle lähinnä siksi että kaikki palikat on saatavilla rahalla. Ennen Wagoa kokeilin Siemensin Climatix ohjainta mutta koska se on OEM tuote niin kaikki softat on kassakaapin tuhannen lukon takana. Eikä Simens ole mitenkään joustava organisaatio, mm. koneen mukiana toimitetavaa basic softaa ei saa ladattua mistään. Pitäis varmaan kysyä saako sitä jostakin.

Tästä siis lähdetään tarpomaan eteenpäin. Ohjelmointitukea on lähipiirissä mutta kaveri ei ota vakavasti visuaalisia kieliä että pitää yrittää keksiä joku tapa houkutella. Wagolla on oma HVAC kirjasto missä funktio modullit on hyvin dokumentoitu. Myö valmiita ohjelmakokonaisuuksia on mutta ne on vanhemalle Codesys (2.5) ja importtaus oli kohtuu haastavaa joten nostetaan haastetta ja yritetään kasata ohjelma itse. Koska projekti on oman osaamisen rajoilla niin edetään hitaasti ja pistetään youtube laulamaan. Vaihe yksi on saada ventiili surisemaan :)

wago-testipöytä-v1-0.png


eCockpit-laitteet.jpg
 
Viimeksi muokattu:
Ilmainen ohjelmankehitys lisenssi?
Codesy ei paljoa maksa, Wagon Cockpit sitten maksaa liikaa tässä vaiheessa joten minä leikin kokeiluversiolla.
Edit: laitetaan tästä oma aihe kunhan vähän fundeeraan.
Edit: uusi aloitus luotu ja aloituspostausta muokattu
 
Viimeksi muokattu:
Mitenkäs Wagolla toteutettu automaatio on edennyt?

Pysähdyksissä useamman kuukauden. Funktioplokit on nenän edessä mutta narun pään löytäminen on haastavaa. Funktioplokit on olemassa mutta kokonaisuudesta ei löydy dokumentaatiota. Olen nyt miettinyt miten päätellä mitkä osat kuuluu mihinkin järjestykseen... pitäisi löytää oikeat kysymykset. Ja paikka missä esittää ne.

E: täytyyy oikeastaan kiittää @Hhartikainen jäsentä kun sai potkittua projektin eteenpäin. Sain ongittua kaivatut tiedot kun vain avasin tarpeeksi monta kansioita ja hukassa ollut narun pää löytyi... löysin funktioblokit mitä on käytetty missäkin sovelluksessa. Mutta kyllä tässä vielä kantoja pellosta täytyy saada irti ennen kuin ohjelma toimii. Tuskin saan täksi kesäksi valmiiksi.
 
Viimeksi muokattu:
Onko täällä porukkaa millä on kokemusta PLC ohjelmoinista... lähinnä mietin että kannaattkko kysyä mitään? Onko tiedossa ulkomaisia foorumeita missä amatööri voi kysellä... ongelman on että tämä ala on kuin "kylmäala" missä amatöörit pysyköön lestissä. Omassa lähipiirissä on osaavaa ohjelmointitukea mutta vain "kunnon" ohjelmointikielille.... kaiken maailman tikapuukielet ei ole ohjelmointoia vaaan pelkää laatikoiden ja viivojen piirtämistä.
 
Viimeksi muokattu:
Omassa lähipiirissä on osaavaa ohjelmointitukea mutta vain "kunnon" ohjelmointikielille.... kaiken maailman tikapuukielet oei ole ohjelmointoia vaaan pelkää laatikoiden ja viivojen piirtämistä.
Outoa mielestäni jos arvatakseni kyseessä joku "assembleri" tjms tyyppinen on 'lähipiirin' ainutta oikeaa ohjelmointia, oikeaa ohjelmointikieltä on se millä kulloinenkin probleeman ratkaisu suoriutuu parhaiten / nopeiten =halvimmiten sekä helppo ymmärtää+depugata muidenkin jälkikäteen...
Ei taida paljon sitten olla apuja tuosta "lähipiiriläisestä".
 
Outoa mielestäni jos arvatakseni kyseessä joku "assembleri" tjms tyyppinen on 'lähipiirin' ainutta oikeaa ohjelmointia, oikeaa ohjelmointikieltä on se millä kulloinenkin probleeman ratkaisu suoriutuu parhaiten / nopeiten =halvimmiten sekä helppo ymmärtää+depugata muidenkin jälkikäteen...
Ei taida paljon sitten olla apuja tuosta "lähipiiriläisestä".

Joo, kaverilta ainakin c++/java/php/sql ainakin taipuu.. eli ei ole apua mutta eipä tässä ole paljon ohjelmoitavaa. Jos softa ja tikapuukieli olisi tuttuja niin tehdas olisi kasassa viikonlopun aikana. Valmis funktioblokkikirjasto on varsin kattava mutta dokumentointi on aika puutteelista. Mm kaaviokuvissa on ilmiselvästi saksaan kielisiä kirjainyhdistelmiä. Mutta kyllä oma osaaminen on mennyt eteenpäin vaikakin nilkuttaen. Youtube on kyllä kätevä...
 
Tässä olisi kuva ilmanvaihdon systeemi kaavio mitä lähdetty purkamaan ohjelmaksi. Kesäkompensaation jälkeen puuttuu yksi funktioblokki (Fb) joka muuttaa oletetavasti korvausilman perusteella caskade kontrollerin inputin referenssiarvoa.

edit3: viat fiksattu
 

Liitetiedostot

  • ventilation_macro_02-v0.jpg
    ventilation_macro_02-v0.jpg
    95,2 KB · Lukukerrat: 169
  • ventilation_kaavio_02-v0.png
    ventilation_kaavio_02-v0.png
    243,9 KB · Lukukerrat: 183
Viimeksi muokattu:
Mitä nuo Fb:t pitää sisällään?
Saatko ladderia vaihdettua function block diagramiksi? Minulle se on ainakin selvempi.
 
Mitä nuo Fb:t pitää sisällään?
Saatko ladderia vaihdettua function block diagramiksi? Minulle se on ainakin selvempi.
Jos Fb:tä ei itse ohjelmoi niin Funktio Block sisälle ei näe. "Ventilation macro" on FBD syntaksilla kasattu läjä blokkeja josta näkee lähinnä tarvittavat elemetit. Törmäsin visun rakentamisessa ongelmiin ja täytyy pilkkoa omenaa pienempiin, helpommin opittaviin paloihin. Tästä täytyy ottaa takapakkia ja tutustua noihin Wagon tukemiin eri kieliin ja tehdä pari yksikertaista lampunsytytys ohjelmaa visulla.

Muutama havianto
- kaikki matematiikka on varmasti fiksua tehdä esim ST:llä (ei tarvetta tässä vaiheessa).
- Fb voi sisältää kaikkia tuettuja kielilä.

Epäselviä asioita on paljon mutta esim Fb inputti (VAR_IN)... voiko olla saman niminen kuin Fb siäinen muuttuja.

Edit: läjä typoja korjattu
-
 
Viimeksi muokattu:
Yksi askel eteenpäin ja kymmenen taakse eli mars lähtöruutuun. Aloitin käymään youtuben avulla PLC ohjelmointia ihan alusta asti ja kasasin yksinkertaisen visun tiedon syöttämistä varten ja pienen tikapuu ohjelman mikä sytytelee valoja. Tuli huomattua että ladder johdannaiset eroaa normaalista koodin naputtamisesta aika lailla eikä koodi suoriteta samaan tapaan järjestyksessä vaan kun jokin kykimen tila vaihtuu niin koko tikapuun tila vaihtuu.

eCockpitin dokumentaatio keskittyy pääosin raudan naittamiseen ja itse ohjelmoinnin domumentaatio löytyy Codesyssin puolella. Eli Codesysy opetusvideo ja vastaava toiminnon etsiminen wagon puolelta. eCockpit on jonkinsortin skini Codesyssin päällä höystettyhnä natiivilla rautatuella. Jos Codesyssin ostaa niin silloin ostetaan ns. Wago yhteensopiova versio joka ei sitten muuhun käy. Eteenpäin nilkutetaan ja joka päivä oppii jotain uutta. Jos ei muuta on tää nyt kehittävämpää kuin cop desimaalien hierominen. Pitäis vielä löytää joku hyvä faceryhmä kysymyksiä varten.
 
Tuli huomattua että ladder johdannaiset eroaa normaalista koodin naputtamisesta aika lailla eikä koodi suoriteta samaan tapaan järjestyksessä vaan kun jokin kykimen tila vaihtuu niin koko tikapuun tila vaihtuu.
Ladder emuloi vastaavaa relekytkentää eli sen tikapuun voi kuvitella sähköpiiriksi missä jännite menee sinne minne se pääsee, samanaikaisesti. Jos kytkin on kiinni, sähkö pääsee siitä läpi, muuten ei. Kaikki tikapuupiirit siinä logiikassa on myös tavallaan rinnakkaisia. Tuollaisessa on/off ohjauksessa ladder on varsin havainnollinen ja yksinkertainen käyttää, siitä myös monitoroinnissa näkee heti missä tilassa se on. Kun siihen liittää funktioblokkeja siitä tulee oikeastaan sellanen korkean tason graafinen kieli.

Olen noita PLC juttuja tehnyt jonkin verran, en tosin Wagolla mutta voin noin yleisellä tasolla jotain neuvoa. ST-kieli on myös tuttu.
 
Monenlaista on tullut matkan varrella naputeltua. :D
 

Liitetiedostot

  • IMG_20210416_094630__01.jpg
    IMG_20210416_094630__01.jpg
    773,9 KB · Lukukerrat: 192
  • IMG_20210410_051928__02.jpg
    IMG_20210410_051928__02.jpg
    436 KB · Lukukerrat: 200
  • IMG_20210306_112317__01.jpg
    IMG_20210306_112317__01.jpg
    315,6 KB · Lukukerrat: 194
Monenlaista on tullut matkan varrella naputeltua. :D
Eka taitaa olla S7. Toista luulin PCS7:ksi, mutta ehkei sittenkään? No viimeinen on sitten meikäläisen jokapäiväistä peruskauraa, kotimainen laatutuote. ;) Itse kyllä teen enemmän systeemihommia sen kanssa, vähemmän sovellusjuttuja.
 
Kyllä, S7. Edeltäjä S5 ja seuraaja Tia-portal.
Toinen on Hunajakaivo, eli Honeywell PKS.
Kai se automaatiokieli edelleen S7 (eli Step 7) on, vaikka ohjelmointiympäristölle on hieno nimi TIA Portal keksitty? Honeywelliin en olekaan koskaan tutustunut, lähimmäksi osuu Alcont 1 mutta siitäkään ei softapuolesta mitään käryä. Ei siis ollut PCS7 kuten oletinkin. Siihen keksintöön olen vain sen verran tutustunut, että todennut sen toivottomaksi. Kyllä sillä jonkun nakkikioskin voi automatisoida, ei siinä mitään. Valmettilainen on tutuin, ja painiihan tuo ihan eri sarjassa kuin nuo Siemensin räpellykset.

No joo, vähän menee off-topiciksi nämä jutut.
 
Sen verran noviisi olen PLC kohdalla että päivittäin tulee ahaa elämyksiä, mikä sinänsä on palkitsevaa. Vähemmän palkitsevaa on jos narun pää hukkuu. Tänään hiffasi DUT datatyypin luonteen objektina.... kesti jonkin aikaa hiffata miten instanseihin viitataan DUT objektin kautta. Kuva on alkuperäisest kirjasto tiedostosta jota joudun aina välillä vakoilemaan. Ja vaimoa lepeyttelemään.
 

Liitetiedostot

  • confType-esimerkki.png
    confType-esimerkki.png
    105,7 KB · Lukukerrat: 176
Viimeksi muokattu:
Minulla on kehyksen (Frame) sisällä tekstilaatikko jossa placeholderi. Kehyksen referensissä on kolme muuttujaa (rActualValue, xEnableInput, sUnit1 = 'C'), itse tekstilaatikon ominaisuuksiin en pääse käsiksi. Miten tekstilaatikkoon saa liitettyä kolme muuttuja, täytyykö luoda oma muuttujatyyppi?
 

Liitetiedostot

  • placeholder.png
    placeholder.png
    4,2 KB · Lukukerrat: 165
  • refference.png
    refference.png
    3,3 KB · Lukukerrat: 170
Eikö Configure napilla saa ne ohjausmuuttujat laitettua? Ei kai tuossa mitään omia tyyppejä tarvita.

Configure painikkeella valitaa instanssi. Siis toi on valimis instanssi joka on sijoitettu freimiin... kysymys miten yhteen tekstilaatikkoon saa liitettyä kolme muuttujaa. Ei mitenkään joten tässä on käytetty jotakin kiertotietä jota en ole vielä keksinyt. Siirryn eteenpäin enkä jumitu nyt yhteen sinänsä mielenkiintoiseen yksityskohtaan.
 
Kaveri lähetti kysymyksen, miksi VAR_IN_OUT on tarpeellinen funktioblokeissa? Sen huomasin että jos VAR_IN_OUT muuttujia käyttää visussa niin visusivu muuttuu dialogiksi eikä kelpaa mm. aloitussivuksi. Wagon kirjastossa instansit/pohjat on dialogeja jotka on sijoitettu freimiin ja itse freimi on tavallinen visu.... paljon on kerroksia.
 
Jaahas, tekoälyn myötä päätin puhaltaa pölyt pois projektikansion päältä. e!Cockpit tuki on lakkautettu ja Codesys 3,5 on uusi ohjelmoiti ympäristö. Ilmaisen ChatGPT avulla asenttiin uusi runtime käyttin ja päivitettin kirjaston ja firmikset. kerroin gptlle tavoitteet ja pyysin toimintasuunnitelman mikä alkoikin anturien inventaariolla. Olin kyllä ajtellut että yrtittäisin irtautau ruudiun äärestä fyysisten harratusten pariin mutta täytyy käytettävissä oleva aika jakaa metallintyöstön ja wagon välillä. Nyt kun pöytä on tyhjä - ja virheellisestä lähestymistavasta ehkä jotakin opittu niin katsotaan minne uusi polku vie. Millä AI:llä tämä viedään loppuun niin katsotaan mutta ajauts olisi ehkä oppiakin jotakin niin että hankaan jää ainakin oppi jos mitään valmista ei tule.
 
Viimeksi muokattu:
No niin, uusi aloitus edennyt sen verran että CodeSys 3.5 ohjelmistoympäristö asenettu (lisenssi kuuluu rautaan), raudan funktiokirjastot onnistuneesti asenettu ja ensimäisen I/O modulli testattu toimivaksi. Ja ensimäiset ohjelmapätkät luotu (I/O modullin alustus ja lämpötilan luku). AI jyrkentää kyllä oppimiskäyrää. Koodinteko on aika hidasta koska tuntuu että AI opiskee aihetta myös. Pyytää vähän valiä modullien dokumentaatiosta tietoja. Sen edun AI antaa että se tekee luonnostaan suunitelman miten edetä, tiekartan. Tästä voi tulla jotakin mutta en pidätä hengitystä koska asioilla on taipumus ajatua deadendiin.
 
Mitä ChatGPT sitten suosittelee

Nostaisin jatkoon kolme vaihtoehtoa tässä järjestyksessä:​


1 Node-RED Raspberry Pi 4:llä​

Paras ehdokas, jos haluamme mahdollisimman nopeasti toimivan mittausnäytön, historiatallennuksen ja helposti laajennettavan järjestelmän ilman suurta määrää omaa ohjelmakoodia.

2 CODESYS WebVisu​

Paras, jos ensisijainen tavoite on ilmanvaihtokoneen varsinainen käyttö- ja ohjauspaneeli. Myöhemmin historiatiedot voidaan tallentaa Raspberry Pi:lle.

3 Itse koodattu WWW Raspberry Pi 4:llä​

Paras, jos haluamme täysin oman näköisen ja hallitun järjestelmän, jonka ohjelmakoodi ja rakenne ovat kokonaan omissa käsissämme.
 
Viimeksi muokattu:
Takaisin
Ylös Bottom