Keresés

Hirdetés

!!! SZERVERLEÁLLÁS, ADATVESZTÉS INFORMÁCIÓK !!!
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!

Új hozzászólás Aktív témák

  • Szirty

    őstag

    válasz moseras #510 üzenetére

    Hali moseras!

    "De milyen modult kell mellérakni, ha a beavatkozóm egy időalapú jobbra/balra forgást végző szelep ? Egyszerűen az %-ot időre konvertálom, és annak megfelelően nyitom/zárom a szelepet ?
    A másik, hogy ha egy kétállapotú (relé) beavatkozóm van, akkor mit csinálok a PID-el ?"

    A válasz az, hogy nem folyamatos szabályzót (continuous controller) kell használni, hanem léptető vezérlőt (stepping controller).
    Az annyival több, hogy tartalmaz egy PWM vezérlőt is, aminek már nem "analóg" kimenete van, ahnem lét digitális.
    Az egyik a beavatkozó jel növelésére, a másik a csökkentésére szologál.

  • Szirty

    őstag

    válasz Alx6501 #506 üzenetére

    Hali Alx6501!

    "porotk száma elég nagy, a távolság viszont néhány 10 méter."

    Mennyi az az "elég nagy"?
    És milyen válaszidő (sebesség) szükséges?

  • Szirty

    őstag

    válasz moseras #500 üzenetére

    Szevasz moseras!

    "Konkrétan meg lehet e azt csinálni, hogy egy nyomógomb (mint bemenet) egy kimenetet egyszer bekapcsol, egyszer kikapcsol, egyszer inverzbe rak, egyszer pedig a kimenet követi a nyomógomb állapotát, és mindezt attól függően, hogy a művelettípust leíró PLC változómat hogy állítottam be a HMI-ből ?"

    Igen, de ez nem változó típus kérdése, mert ezt már le kell programozni. De természetesen megoldható.

    "- tegyük fel, hogy van olyan PLC-m, illetve HMI-m, amiben van RTC. A user azt szeretné, hogy egy "valami" változó reggel 6-ig egy X értéket vegyen fel, 6-12 között egy Y-t, stb. Ehhez milyen HMI "elem" van (van-e ilyen egyáltalán), illetve ilyenkor az RTC értékét a HMI-SW olvassa ki saját magából, és az alapján küldi el a PLC-nek, vagy a PLC olvassa ki a sajátját(ezt a verziót most nem tudom elképzelni, hogy ez hogyan is működhet) ?"

    Ó igen a klasszikus probléma, amikor a rendszerben több valós idejű óra is van és időtől függő műveleteket akarunk végezni. :)
    Ebben a tekintetben siemens oldalról tudok kiindulni. A legjobb ilyenkor, ha kinevezzük valamelyik eszköz óráját "master"-nek és a többit ehhez szinkronizáljuk.
    Ezzel elérhető, hogy minden óra egyszerre járjon, innentől bármelyik adatait felhasználhatjuk. Én mindig a PLC óráját használom mérvadónak, mert az kikapcsoláskor is ketyeg, a HMI-nél meg ez attól függ milyen fajta. (Bizonyos típusoknál nincs backup áramforrás ehhez.)
    Az időre való kapcsolást többféleképpen is meg lehet oldani. Mindegyikhez kell programozni. A legegyszerűbb összehasonlító műveleteket használni, de néhány PLC-ben vannak idő kezelésével foglalkozó funkciók. Pl. S7-nél van time interrupt.
    Sajnos ilyenkor foglalkozni kell a téli/nyári időszámítással és azzal is,hogy mi van akkor, ha a felhasználó állít az órán. Ezt meg lehetővé kell tenni, hiszen az óra késhet vagy siethet is.

    "tudok-e olyan változókat létrehozni (és ezt HMI-ből állítani), amely azt írja le, hogy az adott műveletet melyik bemenettel és/vagy kimenettel kell végrehajtani ?"

    Igen. Programozással. Pont nem rég volt egy ilyen feladatom. HMI-ről állíthatóan kellett eldönteni hogy egy adott bemenetnek mi legyen a funkciója.
    Erre is több programozási megoldás létezik. Az egyszerűbb, de kevésbé hatékony, az, hogy sok elágazással és összehasonlítással döntjük el mit is kell csinálnia egy kiemnetnek (az össze selképzelhető kombinációra kell egy ág). A hatékonyabb megoldás az indirekt címzés. Ez sokkal nehezebb és a megoldás nagyban függ az adott PLC képességeitől és ezen képességek ismeretétől a programozó szempontjából.

  • Szirty

    őstag

    válasz murena2 #495 üzenetére

    Hali!

    "Érdeklődni szeretnék hogy használtan Siemens 115U hoz alkatrészek kb mennyibe kerülnek?"

    Pl. vatera

  • Szirty

    őstag

    válasz bs54 #493 üzenetére

    Hali bs54!

    "ET200S-hez ha tudtok vmi segtséget adni azt nagyon megköszönném. I/O-k kezeléséről, vagy egyáltalán az egész programozási rendszeréről."

    Konkrétabban?
    Milyen kezelés érdekel? Digital I/O, analóg, soft starter, frekiváltó, vagy micsoda?

    Alapvetően annyi az egész, hogy mindent behánysz a HW configba és az ott szereplő címeken egyszerűen eléred az I/Okat programból.
    Vagy hibakezelés érdekel (pl. ha leszakad a buszról akkor mi legyen) vagy mi?

    [Brochure "SIMATIC ET 200 for Distributed Automation Solutions"
    [PPT tutorial]
    [IM151-1 COMPACT modules]

  • Szirty

    őstag

    válasz moseras #490 üzenetére

    Hali moseras!

    "1. Jól gondolom e a vizualizáció működését ?"

    Igen ez így működhet. Nem vagyok jártas a MODBUS-os megoldásokban, de a vizualizáció alapvetően arra épít, hogy egy HMI (ami adott esetben lehet PC is természetesen, vagy valamilyen cél készülék kijelzővel, gombokkal). A PLC változóit kérdezgeti le (olvassa) és írja is.
    A vizualizáció lényege pedig az, hogy a vezérelt berendezést ismerve a HMI (vizualizációs eszköz) a lekérdezett adatok alapján meg tudja jeleníteni a folyamat állapotát. Továbbá beállításokat is lehetővé tesz. Adatokat ogolhat stb, amit te is szeretnél.

    "2. Milyen "gyári" megoldások vannak erre, egyáltalán van-e PLC független vizualizációs tervező/futtató környezet sok-sok előre rajzolt objektummal, aminek én csak megadom, hogy melyik PLC változó a bemenete vagy kimenete, stb ?"

    Van ilyen igen. A legtöbb PLC gyártó gyárt HMI eszközöket is és ezekhez készít HMI szoftvereket természetesen.
    A HMI-nél egyel "magasabban" álló rendszer a SCADA.
    A SCADA közelebb áll a vállalatirányítási rendszerhez mint a gyártó berendezések vezérléséhez, de a lényeg azonos. Rengeteg HMI szoftver létezik, melyek nagy része gyártó specifikus, de sok gyártó ilyen eszközei más gyártók PLC-ivel is tud kommunikálni.
    Pl. Siemens OP-k vagy az Omron NS terminálok 5-10 fajta más PLC-t is ismernek.
    A SCADA más tészta. Amennyire én látom sokkal több független SCADA fejlesztő van mint HMI fejlesztő. A SCADA sokkal kevésbé gyártóspecifikus, mert általában külön driver modulok végzik az adott PLC-hez való illesztést (nem ritkán OPC alapokon).

    "3. Érdemes e egy ilyen vizualizáló SW fejlesztésébe belefogni ?"

    Véleményem szerint ha csak néhány változó kijelzése a feladat, vagy teljesen az adott feladathoz illesztett cél megjelenítő szoftver megírása a cél, akkor érdemes, de egy teljesen általános, sokmindenre kiterjedő tudással rendelkező rendszer kifejlesztése túl nagy feladat és egy lesz a sok tucatból, mert sok ilyen van...

    "4. Ha naplózni is szeretném a változók alakulását a vizualizáló gépen (SQL alapon, a lekérdező cgi scripteket meg tudjuk írni), akkor erre milyen lehetőségeim vannak ?"

    Egy HMI is tud ilyet, de egy SCADA esetében ez teljesen alap szolgáltatás. Nem probléma.Az hogy mibe tud logolni (SQL) azt meg kell nézni a kiválasztás előtt.

  • Szirty

    őstag

    válasz moseras #484 üzenetére

    Helló moseras!

    "csak a meglévő coil-al akar párhuzamosan rakni egy másikat, de az elé nem enged befűzni semmit."

    Akkor ez nyilvánvalóan a használt programfejlesztői környezet egyik sajátossága (korlátja).

    "6. "FB"-ben, ahogy a képen is látható nem tudok visszacsatoló vonalat rajzolni egérrel, címkézni kell, ez így nem szép"

    Ez pedig egy másik korlátja lehet.
    Úgy néz ki hogy ez a Wago stuff még nem forrta ki magát eléggé.

    "a Q102 (gázkazán)-t az egyik be a másik pedig kibillenti, pedig működnie kellene. Itt akkor egy sorban egy kimenetre koncentráljak, és ahhoz tegyem oda a bemeneteket, mert akkor azt már más nem bántaná :F"

    Nos alapszabálynak mondható, hogy egy programba nem szabad több közönséges out (coil) utasítást rakni ugyanarr a abitre. Ezért pl. az Omron fordítója szól is.
    Lerakáskor:

    Fordításkor pedig:
    WARNING: Duplicated output - OUT 1.01 at rung 0 (6, 0)
    WARNING: Duplicated output - OUT 1.01 at rung 1 (6, 0)

    Ez a warning kikapcsolható ebben az esetben, mert néha előfordul, hogy szükség van ilyesmire.
    De a te esetedben a kimenet két helyről való "kapcsolása" nem a várt hatást hozza, mert a kimeneti bit állapota az utolsó out utasítás előtti feltétel logika eredményét fogja felvenni.

    "Itt akkor egy sorban egy kimenetre koncentráljak, és ahhoz tegyem oda a bemeneteket, mert akkor azt már más nem bántaná :F"

    Igen!

    "8. Úgy látom, hogy nem mindegy a network-ok sorrendje. Pl. a képen első a garázs, második a lakás. Ha megfordítanám, akkor a lakás elindulhat a garázzsal együtt :F"

    Néha a sorrend tnyleg nem mindegy. De ebben az esetben kizártnak tartom, hogy a felcserélés után máshogy működjön. Vagy valami nagyon elromlott valahol...

    "9. Mi alapján nevezzem el az "M"-eket ? Mitől lesz egy "M" M100.3 vagy M110.4 ? Ezt elég fontosnak gondolom, mert az a jó, ha ránézek, és azonnal tudom (nagyjából), hogy mi is akar az ott lenni..."

    Nos az M-eket úgy kell elképzelni, hogy azok egy jól körülhatárolható memóriaterületen kapnak helyet. Az M-ek száma egyben ennek a területnek a címei is.
    Az M-ek tehát végülis memória címek.
    Minden PLC-ben ezeknek az M-eknek a száma előre rögzített. Ezekkel gazdálkodhatsz.
    Elérhetőek többféle címzésmóddal is, ezekre figyelni kell. Gondolom a wago-nál is így van, de nem ismerem, így nem biztos.
    De leírom, hogy az általam ismert PLC-knél ez hogy van.
    Van egy ún. szimbólum tábla. Ez egy lista, vagy táblázat ha úgy tetszik. Arra való, hogy az említett M-ekhez szimbólum nevet és megjegyzést lehessen hozzárendelni. De nem csak az M-ekhez, hanem a kimenetekhez, bemenetekhez és egyéb memóriaterületek elemeihez is.
    Egy program írása azzal szokott kezdődni, hogy ebbe a szimból táblába beírjuk melyik ki és bemenet milyen funkcióval bír (amit ugye a HW huzalozás határoz meg).
    A program írása közben pedig, amikor szükség van egy belső változóra, akkor a szimbólum táblába felveszünk egy új elemet egy még eddig nem használt belső változóra (ez esetben M-re) és odaírjuk a dumát mire használjuk. Ez egyrészt sokat segít a program átláthatóságának a megtartásában, másrészt könnyű áttekinteni azt is, melyik memóriaterületeket használtuk már fel.
    Gondolom nem kell mondani, hogy egy már felhasznált bit más célra történő újrahasznosítása milyen következményekkel járhat :)

    Bizonyos programfejlesztők megengedik a szimbolikus címzést is. Amikor az "érintkezőhöz" vagy kimenethez nem annak címét kell leírni (Q4.0, M6.5, I1.1 stb) hanem a szimbolikus nevét ("kazan" "keringeteto szivattyu" stb). Ezeket a szimbólum táblában kell megadni.
    Más szóval: Itt nem úgy van mint pl. egy magas szintű nyelvben, hogy deklarálok egy változót, aminek a változódeklarációs részben megadom a nevét és a típusát, aztán a fordító majd azt csinál vele amit akar (avagy helyet foglal neki és majd tudja milyen címen van).
    Itt úgy van, hogy te kinézel magadnak egy memóricímet és egy megjegyzést/nevet fűzöl hozzá, majd használod amire akarod.
    Ha egyszer már felhasználtad máshol, akkor így jártál :)

  • Szirty

    őstag

    válasz moseras #481 üzenetére

    Szevasz moseras!

    "6. Nyomógomb élkezelést (egy nyomásra a kimenet BE, egy másikra pedig KI) hogy lehet létrában megoldani ?"

    A konkrét megoldás függ az adott PLC-től is. Többféleképpen is megoldható, de az elv kb. az, hogy létre kell hozni a nyomógombra egy le vagy felfutó impulzust. Vagyis olyan belső változó bitet, ami egy PLC ciklus ideig aktív lesz, amikor a gomb 0->1 vagy 1->0 állapot átmenetet produkál. Ezután ezzel a bittel invertálni kell egy másik bitet. Ez utóbbi lesz az, amit a gomb egyszer be, aztán ki kapcsol.

    "7. Melyik nyelv a "jó" megoldás a problémákra az 5 közül ? Gondolom ez feladattól függ, de általánosságban mikor jó a létra, mikor jó az ST ?"

    Persze hogy a feladattól függ, hiszen mindegyiket egy-egy feladatra találták ki.
    Ugyanakkor igen nagy az átfedés is, hiszen az alacsonyabb szintű nyelvekkel megoldható a magasabb szintűben írt feladat. A nagyfokú átfedés miatt benne van a válaszban a melyiket szeretem/ismerem dolog is. :)
    De pl. az olyan folyamatok, amik nagyon jól, egymástól elhatárolható állapotokból (lépésekből) áll, azokra valamelyik szekvenciális nyelv a legjobb. Különösen ha a folyamat bonyolult elágazásokból és ágak egyesülésekből álló lépéshalmaz.
    A létra elég alacsony szintű, de elsősorban a logikai kapcsolatok hálózatára van kihegyezve, ebben hatékony (mint az FBD, de a kettő közötti különbség jóformán csak a megjelenítésben van). Összetettebb számításokhoz a létra vagy FBD már elég körülményes tud lenni. Az ilyen program hamar átláthatatlan lesz. Amit létrában 6-7 oldal kiszámoltatni, utasítás listában pár sorban is elférhet.
    Pl. létrában egy pozícionálással foglalkozó programot írni lehet ugyan, de nem biztos hogy az a legjobb megoldás. Viszont jó megoldás ha a pozícionálás részleteivel foglalkozó program pl utasításlistában van írva, ami egy külön blokk és azt létrából hívjuk. Vagyis a blokknak létrából mondjuk meg mikor mit csináljon, de a végrehajtás részleteit (hogy azt hogyan csinálja amit csinál) a blokkon belül STL-ben írjuk meg.
    Mivel az utasítás lista a legalacsonyabb szintű nyelv, ez áll legközelebb a HW-hez. Éppen ezért ez az a nyelv, ami leginkább eltér az egyes gyártmányoknál.

    "8. C, C++-os múltamnmal nekem egyébként az ST tetszik, de a létrát is meg szeretném érteni jól."

    Ez a múlt mindenképp hasznos lesz!
    De a létra kicsit más gondolkodást igényel.

  • Szirty

    őstag

    válasz moseras #481 üzenetére

    Szevasz moseras!

    "1. A létra ágainak(jól fogalmaztam ???) jobb oldalán csak 1 kimenet lehet ? (tehát, ha egy új kimenet kell, ahhoz új network-ot kell készítenem ?)"

    Azt sajna kapásból nem tudom, hogy az IEC erre mit mond, de általában nem. Egy network létra jobb oldalán jóformán bármennyi kimenet (coil) lehet (persze az átláthatóság és ésszerűség határán belül). Pl. így:

    De az IEC eléggé "minimál" követelményeket fogalmaz meg, szerintem minden megvalósítás ami megfelel neki, egyúttal jelentősen túl is szárnyalja.

    "2. Bonyolultabb hálózat esetén úgy érzem, hogy nem akarok az első ágon kimenetet definiálni, csak egy belső változót, és ezzel folytatni egy új network-ben. Ezt hogy tudom megcsinálni ? Erre való a Marker ?"

    Pontosan, bár egyes esetekben nem így hívják. Nevezhetjük "belső változónak" is, ami olyan bit, aminek nincs közvetlen köze sem bemenethez, sem kimenethez, csak egy memóriarekesz. Omronnál pl. ilyen a HR terület (is), illetve az az I/O terület is, emihez nem tartozik fizikai I/O cím. (Ezek tényleges mennyisége ugyanis kiépítéstől függ, de a teljes I/O terület minden bitje megvan akkor is, ha nincs kihasználva).

    "3. A "kontakt-ok" lehetnek output-ok is ? Tehát képes egy kimenetet bemeneti változóként kezelni ?"

    Igen, természetesen ez egy alapvető tulajdonság. ha van egy Out, arra a programban akárhányszor lehet hivatkozni mint "érintkező" attól függetlenül, hogy az belső változó, vagy fizikai kimenet.

    "4. Ha beteszek egy "TOF"-ot mondjuk 3sec-re, akkor addig amíg ez le nem jár, addig a PLC nem kerül be új ciklusba ? (mondjuk ez érdekes lenne)"

    A PLC mindig végrehajtja a teljes user programot minden PLC ciklusban, a timerektől függetlenül. Ez alól csak akkor van kivétel ha vezérlés átadó utasítást használsz (amivel átugorhatsz részeket egyes PLC ciklusokban) és akkor, amikor a program vagy a HW hibás (ilyenkor a PLC STOP állapotba kerülhat, ilyenkor a programvégrehajtás szünetel).
    A Watchdog nem is engedné, hogy a PLC ledekkoljon egy utasításnál, mert ha egy PLC ciklus túl hosszúra nyúlik (általában 100ms, de rendszerint ez az idő állítható) akkor intézkedés történik (egy STOP mode ilyenkor az eredmény).

    "5. Analóg jelet hogy lehet létrával kezelni ? Egy konstanshoz kellene hasonlítanom, és az alapján dönteni..."

    Összehasonlító utasítással :)
    De hát lehet összeadni, kivonni, stb, műveleteket végezni létrában is. Bár nem mindig szerencsés iylenkor a létra, de egy-két műveletnél nem gond.

    A többi pontra a köv. üzenetben válaszolok, (tartok tőle hogy túl nagy lesz)...

  • Szirty

    őstag

    válasz arita #478 üzenetére

    Hali arita!

    "micsoda is pontosan az a @-os utasítás?"

    Egy utasítás (FUN) alapból minden PLC ciklusban végrehajtásra kerül. vagyis pontosabban mindannyiszor, amikor rá kerül a vezérlés.
    Ha az utasítás neve elé egy kukac (@) karaktert teszel, akkor az utasítás differential up lesz, vagyis nem állapot, hanem élvezérelté válik. (mégpedig felfutó él).
    Azaz nem hajtja végre minden alkalommal, csak egyszer minden olyan esetben, amikor az előtte lévő logikai feltételsor eredménye 0-ról 1 állapotra vált át.
    Erre jó példa az olyan művelet, aminek célja azonos a forrással.
    Pl. egy összeadás, vagy egy érték növelése:

    Az ábra szerint egy utasítás növeli egyel a DM1 egy másik pedig a DM2 tartalmát. Az előttük lévő feltétel az 1.00 bit.
    Amikor az 1.00 logikai 1 lesz, akkor a DM1 nagyon gyorsan elkezd pörögni és túlcsordul, a DM2 azonban csak egyel nő :)

  • Szirty

    őstag

    válasz arita #476 üzenetére

    Hali arita!

    "kérdésem az lenne, hogy ha beállítok egy bemeneti feltételt differentiate up-ba, miért veszi hibásnak a fordításnál."

    És mit ír a fordító? Mi a konkrét hibaüzenet? Ez?

    ERROR: Differentiate Up is invalid at rung x ( y, z ).

    Bár nem ismerem az SRM1-et, de nagyon úgy tűnik,hogy az SRM1 nem ismer ilyen differentiated contact-ot...

    Marad a DIFU, vagy a @-os utasítás. Sokkal a DIFU sem bonyolultabb, csak elfoglal egy plusz sort, és egy bit belső változót, amit kénytelen az ember dokumentálni :)
    Cserébe ezt felhasználhatod a program bármely részében :)

  • Szirty

    őstag

    válasz Vószem #472 üzenetére

    Helló Vószem!

    "Omron Cpm2a PLC-hez keresek kábelt, PC-vel szeretném összekötni.
    Szirty, néztem az oldalad, a doksikat, de nem tudtam kivadászni, hogy jó e a sima
    soros RC 232 kábel.
    Vagy csak gyári jó, amin van egy kis doboz."

    A CPM2-n van egy közönséges 9 púlusú csatlakozóval ellátott RS232 port is ha jól tudom (nem csak a peripheral port).
    Ehhez nem kell semmilyen kis doboz (gondolom a CIF01, NT-AL001, NT-AL004-re gondoltál)
    Csak egy megfelelően bekötött kábel kell. A közönséges PC-s null modem és RS232 hosszabbító kábel nem az igazi.

    Szerintem egy ilyesmire van szükséegd:

    Az RTS-CTS-t nem kell feltétlen átvezetni, a második rajzon látható módon is kötheted (nekem így működött).

  • Szirty

    őstag

    válasz ren_hoek #469 üzenetére

    Helló ren_hoek!

    "Ugyanis annak a HW configjában csak V1. és V2.-es verziójú szerepel, viszont online üzemmódban ki tudtam olvasni, hogy az enyém V3.00-ás."

    A HW configba rakj product version 2-est.

  • Szirty

    őstag

    válasz orosg #467 üzenetére

    Hali orosg!

    "Háát igen, igazából ezt egy barátomtól kaptam, és gondoltam ami hiányzik, azt önerőből összerakom. Azt gondoltam, hogy abban a kábeles dobozban nem nagyon van tudomány, és helyetesíthetem egy kábellel."

    Akkor nem volna rá szükség. Van benne elektronika is :)
    Az omron magyarország-nál vehetsz, azt nem tudm mennyibe kerülhet, olyan tizen ezerre saccolom.

    A Keyence KV16A PLC-t nem ismerem. Őszintén szólvan nem is tudtam hogy van ilyen.
    De hát nagy ez a világ...

    "Köszönöm az eddigi segitséget, és a linket is, a fizikai részei érthetőek voltak, de a programozása még egy kicsit magas. Gondolom ha letölteném és elkezdeném "bűvölni", csak eljutnék valahova."

    Az első lépések lehet hogy nem mennének hipp-hopp, de az Omron PLC-ket nem nehéz programozni (én is ilyenen kezdtem, igaz nem CPM1 volt, de az részlet kérdés).

    "Még valamikor Basic-ben egyszerű általános iskolás programkákat irogattam, He-he, ez lenne az alap."

    A PC-s vagy egyéb programozói múlt sokat jelent (még ha BASIC is) de a PLC-k programozásához alapvetően más gondolkodás kell (szerintem).
    Nem feltétlen nehezebb, de más.

    A Hunter öntözésvezérlő vásárlása jó ötlet, ha nem szereted a kihívásokat, de szereted a kulcsra kész megoldásokat :)

  • Szirty

    őstag

    válasz orosg #464 üzenetére

    Hali orosg!

    "Szóval nekem egy 20 tüs csatlakozó van rajta, ebből ki lehet deríteni, hogy van rajta soros csati?"

    A CPM1A-n sajnos nincs hagyományos RS232 soros port, csak egy periféria csatlakozó.
    Ezt csak úgy fogod tudni programozni, ha veszel hozzá egy CIF001 interfészt.
    Amelyiken van soros port (CPM2A) azon egy közönséges 9 tűs DB9-es csatlakozó is van.
    (A CPM2A-ban van valós idejű óra is).

    "Tényleg, és valami külső órával meg lehet hajtani, nem tudom csak találgatok"

    Programból is megoldható az óra, egyszerűen írsz egyet bele :)
    Ezzel egy gond lesz csak, hogy a PLC kikapcsolt (feszültségmentes) állapotában az idő nem fog benne telni.
    Nem tudok arról, hogy kimondottan lenne ennek a típusnak valós idejű óra bővítőmodulja, de órát végülis a közönséges ki/be meneteken keresztül tudsz hozzá illeszteni (vagy akár a soros porton keresztül is). Az már csak rajtad áll hogyan valósítod meg.

    "Tényleg a pontos típusa CPM1A-20CDR-D"

    A típusjelzés "20CDR-D" részéből derül ki hogy hány I/O pontja van és hogy az relés vagy tranzisztoros-e.

    Feltettem ide egy doksit (magyar nyelvű, 310 oldal). Ha nincs meg neked, akkor nagyon haszos lesz:
    http://szirty.uw.hu/Omron/cpm.pdf

  • Szirty

    őstag

    válasz orosg #462 üzenetére

    Hali orosg!

    "Jah, soha nem programoztam még, elektrónika iseretem van, bekötni biztos tudum. Meg tudom én ezt tanulni, vagy tud valaki segíteni benn?"

    Meg tudod. A PLC programozás alapvető lépése igen egyszerűek.
    A gond inkább az, hogy szerintem a CPM1A annyira minimál készülék, hogy abban nincs valós idejű óra. (CPM2-ben már van).

    "Ja és nincs kábelem se de szerintem meg tudom építeni, ezzel bizto nem lesz probléma csak rajz kell hozzá."

    A CPM-nek több kiépítése is létezik. Van olyan, amelyiken van soros port, van amelyiken csak peripheral port van. Ha a tied az utóbbi változat, akkor nem csak egy kábel fog kelleni, hanem egy CIF001 adapter is.
    A CX programmer kell hozzá valóban, ha jól tudom a trial verzió megvásárlás nélkül alkalmas a CPM programozására (kvázi ingyenes).

  • Szirty

    őstag

    válasz bekecs #459 üzenetére

    Hali bekecs!

    "Milyen tematika szerint lehet eligazodni ilyen doksin?
    Néhány irányelvre lennék kiváncsi."

    Vannak bizonyos szabványok, amik szabályozzák az elektromos kapcsolások megjelenését. Ezek elsősorban a rajzjelekre vonatkoznak, nem árt ezeket ismerni.
    De a rajzjelek tekintetében is sokat rögtönöznek :)

    Ugyanazt sokféleképpen le lehet rajzolni.
    A fő irányelv (számomra) az, hogy a rajz a lehető legjobban tükrözze a berendezés kapcsolását és a lehető legkönnyebben el lehessen igazodni rajta. A német "módszert" szoktam követni.

    A PLC kimeneti modulja azon az oldalon van, amelyik száma azonos a kimenet számával.
    Siemens S7 PLC-ket használunk, a ki és bemenetek byte-okba vannak szervezve.
    Minden oldal 8 függőleges szekcióra van osztva, melyk 0-7 számozást kapnak.
    A bemenetek a 400-as oldaltól kezdődnek (mivel lehetnek azonos címmel kimenetek is meg bemenetek is, viszont ezeket nem lehet ugyanarra az oldalra rajzolni nyilván).
    Minden sorkapocs érzékelő, készülék, végállás, nyomógomb, lámpa stb. száma (tervjele) az oldalszámból és a mező számából adódik.
    Tehát a 1612-es sorkapocs a 161. oldalon van a 2-es mezőben. A B414.7-es érzékelő a 414. oldal 7-es mezőjében van és az I14.7-es bemenetre csatlakozik a 4147-es sorkapcson keresztül. A H23.1-es visszajelző lámpa a 23. oldal 1-es mezőjében van és a Q23.1-es kimenet kapcsolja a sorkapocs száma pedig 231.
    Stb...

    Ha az ember kinyitja a szekrényt és azt akarja tudni, hogy az F141.4-es kismegszakító mit táplál, csak a 141. oldalra kell lapoznia.
    Minden mágneskapcsolót, relét, segédkapcsolót, érintkezővel rendelkező elemet, amelynek más-más oldalon vannak összetartozó elemei, kereszthivatkozással látok el (illetve ezt a program csinálja :)
    Így a rajzon látható, egy relének a tekercse mellett, hogy az érintkezői mely oldalon szerepelnek, az érintekzők mellé pedig oda van írva, hogy a tekercs melyik oldalon van.

    De mint mondtam többféle koncepció is létezik. Továbbá a sorkapocs mező csoportokra van osztva, a csoportok számot kapnak (X1, X2, stb) a terepen lévő dobozok ugyanezt a számot kapják plusz egy pontot, utána egy újabb számot, ami a szekrénytől való "távolságát" jelöli.
    Ennek a csoportnak a számából származik a kábel számozása is egyébként.
    Tehát pl. a szekrényben lévő X7-es sorkapocsból induló X7-es kébel terepen (pl. a gép vázán) egy dobozba fut be, annak a száma X7.1.
    A dobozban és a szekrényben az X7 és X7.1 sorkapocs csoport sorkapocs számozása azonos. Így huzalozáskor egyszerűen csak össze kell kötni az azonos számú csoportok azonos számú kapcsait.

    Más koncepciók máshogy vannak kitalálva, de azt tapasztalom, hogy valamilyen logikára mindig törekszika tervező. Pl. gyakori, hogy a tervjeleknek köze van a rajz oldalszámához és az oldalon belül a mező számához.
    Erre a logikára kell rájönni és akkor gyorsan megy a rajz olvasás (feltéve hogy a tervező jó módszert választott).

  • Szirty

    őstag

    válasz bodnarg #458 üzenetére

    Hali bodnarg!

    "A gondom az hogy ha itt megadok egy értéket pl. 540 akkor ez a PLC időtagjában 540 ms-jelent. De nekem 540 s-ra lenne szükségem. Az lenne a kérdésem hogyan lehet megadni az időalapot is? Vagy az OP-n ms-ben kell eleve megadnom az időtag értékét?"

    Így van, az OP-n mindig ms-ben kell megadnod az időértéket.
    Az IO field-nek állítsd be a decimal places-t 3-ra és egyből sec lesz belőle :)
    Vagyis beírod hogy 530 [ENTER] és a tag-be 530 másodperc fog beíródni.
    Az időalapot az OP kiszámolja és kezeli, neked nem kell vele foglalkozni, csak annyit, hogy ugye ha 530 másodpercet adsz meg, akkor tudni kell, hogy az időalap már nem ms (annak ellenére hogy ms-ben adod meg az időt (vagy ezred sec-ben ha úgy tetszik).

    Egyszer valamit hadováltam erről a web lapomon

  • Szirty

    őstag

    válasz Pato7 #456 üzenetére

    Hali Pato7!

    "egy napi meló volt, de sikerült összehozni a kapcsolatot switchen keresztül!"

    A lényeg, hogy sikerült. legközelebb gyorsabban megy majd. :)

    "Nagyon macerás volt megtalálnom az ethernet kártya IP címét"

    Mármint a PC címét? IPCONFIG parancs megmondja (parancssorba, mint a pinget)

    "Adott egy PLC vezérlésű gép, rácsatlakoztatva switchen keresztül egy laptop onlinéban!A laptopon wireless internet kapcsolat!Hogyan tudok ezeken keresztül az internetről hozzáférni a PLC-hez???"

    Ha a laptop a PLC-vel és az internettel is egyidejűleg, külön interfészen keresztül (PLC-vel rézen, internettel wireless) kapcsolódik, akkor a laptopban egyszerűen egy port átirányítás szükséges.
    További feltétel, hogy a laptop internetes IP címét mindig ismerned kell, ami dinamikus IP esetén nem teljesül, de ez ellen jó lehet valamelyik dyndns szolgáltatás.
    Továbbá kérdés, hogy a wireless-t, amin a belső laptop eléri az internetet mi szolgáltatja? Netán egy router? Vagy eleve wireles internet szolgáltatás?

    Ennek a megoldásnak a hátránya, hogy a világon bárki, aki ismeri a laptop IP címét, hozzáférhet a PLC-hez.
    Tehát állandó kapcsolatnak nem megfelelően biztonságos :)
    Ezt VPN (virtuális magánhálózat) megoldja, mert a VPN-es belső IP-k hozzáféréséhez aznosításra van szükség, az adatforgalom pedig titkosítható.

  • Szirty

    őstag

    válasz Pato7 #454 üzenetére

    Helló Pato7!

    "Igen, TCP/IP a kapcsolat!"

    Akkor kell hogy legyen a PLC-nek IP címe :)
    És ez még nem elég, ismerned is kell ezt a címet. Ezzel az IP címmel egy alhálózatba tartozó másik címet kell adnod a PC-nek.
    Az alhálózatot a netmask határozza meg. Pl. ha a netmask 255.255.255.0 és az IP 192.168.0.* akkor a 192.168.0.0-192.168.0.255 címek tartoznak egy alhálózatba, bármilyen más cím nem.

    Ha van a rendszerben egy DHCP szerver és a PLC is attól kér IP-t, akkor ezzel nem kell foglalkoznod, de valahogy meg kell tudnod, hogy a DHCP milyen címet adott a PLC-nek.
    Ha nincs a hálózatban DHCP, akkor neked kell kézzel beállítani az IP címeket.
    Ha ez megvan, akkor meg kell nézni hogy válaszol-e a PLC a PING-re. Pl. parancssorban beírod hogy ping 192.168.0.1 (ahol a cím a PLC címe kell hogy legyen természetesen)
    Ha válaszol, akkor van kapcsolat a két eszköz között.

  • Szirty

    őstag

    válasz Pato7 #452 üzenetére

    Hali Pato7!

    "Mivel úgymond hobby PLC-s vagyok, kicsit érthetőbben le tudnád ezeket írni???"

    Az LG PLC-k lelki világát nem ismerem, így csak általánosságokat tudok írni.
    Tehát a kérdés az volt, hogy a PC-PLC ethernet kommunikáció TCP/IP protocollal van-e megvalósítva.
    Ha nem, akkor eleve fölösleges dolgokat írnék le, mivel azok kizárólag TCP/IP-re vonatkoznak...
    Ha a PLC-nek van IP címe ebben az összeállításban, akkor a válasz nyilvánvalóan "igen"...

  • Szirty

    őstag

    válasz Pato7 #449 üzenetére

    Hali Pato7!

    "A PC-n jelzi is hogy megvan a kapcsolat, viszont ha a plc kezelő szoftverében rákattizok a csatlakozás gombra, rövid vacillálás után kiírja, hogy nem tud csatlakozni!"

    TCP/IP alapú a kommunikáció?
    Ha igen, akkor alapvető hogy:
    - A PLC IP címe ismert legyen
    - A PC és a PLC egy alhálózatba tartozzon
    - A PING-e a PLC válaszoljon (tűzfal beleszólhat!)

    Ezek megvannak?

  • Szirty

    őstag

    válasz bizi990 #446 üzenetére

    Hali!

    "Nézegettem a ZOC honlapját, ez egy telnet, ssh kliens."

    A ZOC alapvetően egy terminal emulátor.
    természetesen meg lehet adni soros portot, hiszen én is arra használtam amire te akarod.
    Az, hogy SSH, meg ethernetet is tud, csak későbbi fejlesztés eredménye.

  • Szirty

    őstag

    válasz bizi990 #444 üzenetére

    Hali bizi990!

    "Nem akarom visszafejteni a protokollt, csak a parancsokat szeretném tesztelni."

    Ahh értem. Arra jó lehet a terminál. Bár én a hyperterminált gyűlölöm, ezért a ZOC nevűt használtam, ami szerintem igen jó, de az ügy szempontjából lényegtelen. Én is tesztelésre használtam...


    Teljes kép

    A SCADA fizetős igen. Legalábbis nem tudok ingyenesről, de attól még lehet. Sokfajta van.

    "Az előbbi szoftverekből lehet adatbázisba menteni (pl odbc-n keresztül)?"

    Sajnos az Omron dolgait nem ismerem, már nagyon rég foglalkoztam vele. De az biztos, hogy egy valamire való SCADA tudja ezt, viszont arra a feladatra amire neked kell erős túlzás egy SCADA rendszer.
    Talán az OPC irányában lehet még szétnézni. Kell egy OPC szerver, amihez van Omronra való protocol driver, és akkor neked programban (pl. C) már csak az OPC szervert kell kérdezgetned.

  • Szirty

    őstag

    válasz bizi990 #442 üzenetére

    Hali!

    "A feladat a vezérlendő elemek állapotának mutatása, illetve ezen elemek vezérlése kézi vezérlése lenne PC-ről (pl.: megadott regiszterbe beírok és plc megcsinálja).
    Sajna tapasztalatom plc-vel, soros porttal 0 és a plc programozójának is."

    Akkor inkább használj valamilyen HMI vagy SCADA szoftvert. Pl. CX-Designer.
    Összedobod a megfelelő ábrát, az objektumoknak megadod a megfelelő tulajdonságot, mit jelezzen, stb. Ezzel a megoldással nem kell programozni a PC-t.

    Ha mindenképp magadnak kell megírni, az sokkal nehezebb lesz, sokkal tovább fog tartani és valószínűleg kevésbé lesz hatékony.
    Ebben az esetben be kell szerezni valamelyik protocoll leírását. A jó öreg Host-Link vagy Fins protokolét.

    "Milyen ingyenes programot javasoltok, amiben kézzel beírhatom a parancsokat és utána mutatja a választ."

    Ha a protkót is te akarod visszafejteni, akkor még tovább fog tartani :>

  • Szirty

    őstag

    válasz bodnarg #436 üzenetére

    Helló bodnarg!

    "S 7 314-es PLC hez csatlakozó TP 270-es panelen megjelenő technológiai paramétereket szeretném "regisztrálni". Az aktuális értékeke jelenleg is ki vannak jelezve grafikus és numerikus formában is, de nem tudom azt visszamenőleg megnézni. Azt szeretném megtudni hogy megoldható e hogy a praméterek értékét kb. 1 precenként le lehessen menteni az OP CF kártyájára, valami olyan formátumban amit aztán PC-n kezelhető lenne?"

    TP270-nél van erre megoldás.
    De nem ítad, hogy ProTool, vagy WinCC Flexible...

    1. Hozz létre egy data log-ot

    Állítsd be, hogy file-ba mentsen, adj meg egy flash kártyára mutató útvonalat. Adj egy nevet a datalognak.

    2. A menteni (log-olni) kívánt változót keresd meg a TAG listában.

    A "Data log" oszlopban az <undefined> jelzés helyett állítsd be a annak a lognak a nevét, amelyiket az imént létrehoztad. A "Logging cycle"-t állítsd 1 percre.

    Ezzel kész is.
    A log bellításainál meghatározhatod, hogy milyen módon duzassza a file-t (hány bejegyzés legyen benne maximum, ciklikus legyen, szegmentált, a HMI indításakor újrakezdje-e a rögzítést, stb).

    Egy szöveges CVS file-t fog létrehozni, amit egy az egyben be tudsz olvasni pl. táblázatkezelővel.
    Azt nem árt tudni, hogy a flash memória nem írható végtelen sokszor, így a flash-re irányított log tulajdonképpen rongálja a kártyát, hosszú távon pedig tönkreteszi, de ez persze elég hosszú idő alatt következik be remélhetőleg.

    Ha ProTool megoldás kell, arról itt írtam régebben

  • Szirty

    őstag

    válasz GergoT #434 üzenetére

    Hali GergoT!

    "Akkor az ethernetnél a fordított kábel témát csesztem el ,mert a többi úgy csináltam."

    Ezért jó ha TCP/IP-nél az ember először teszteli a kapcsolatot PING-gel, mert ha van ping válasz, akkor a kapcsolat legalábbis valamilyen módon fennál. Ha nincs válasz, akkor gond lehet.
    Persze lehet az ICMP ECHO-val is variálni (szűrők, tűzfal, miegymás) de általában a ping nagy segítség, hiszen pontosan erre találták ki: a kapcsolat tesztelésére...

  • Szirty

    őstag

    válasz GergoT #429 üzenetére

    Hali GergoT!

    "Igen én is ezzel próbálkoztam , meg a support- os is megmutatta step by step ,de nem akarta beadni a derekát mindig hiba üzenet és nem ment a letöltés."

    Etherneten keresztül való letöltésnek van pár feltétele. Pl. ha közvetlenül dugod az S7 ethernet portjára a PC-det, akkor fordított kábel kell.
    Ha a PLC-nek fix IP címe van, akkor a gépedet is be kell állítanod egy fix IP-re, ami: Nem lehet 255 végződésű, azonos alhálózatba kell hogy tartozzon a két IP cím, és nem lehet azonos sem természetesen. Tűzfalat (ha van) nem elfelejteni! :)
    Ha ez megvan, akkor a összakapcsolva őket a PLC-nek a ping patrancsra válaszolnia kell.
    Ha ez megvan, az már fél siker (amíg nincs ping válaszod, addig mindenféle kommunikáció gykorlatilag esélytelen).

    Ha eddig ok, akkor a simatic manager options menüjében a Set PG/PC interface-t átállítod arra az ethernet adapterre, amelyikbe bedugtad a PLC-t. Ezt is meg lehet szívni, ha van wireless a gépben, és/vagy bluetooth, akkor egynél több dapter is v an!
    Ha a PLC-n lévő project nincs meg a PC-n, akkor letöltéskor neked kell kézzel megadni a PLC IP címét ahonnan tölteni akarsz!
    Innentől elvileg minden ugyanaz mint MPI-n át...

    "Viszont beszerztünk egy Siemens usb-s mpi/profibus adaptert...Még nem próbáltam."

    Én is ilyet használok most.
    Két dologra kell vigyázni (amivel szívni lehet nem kicsit).
    Az egyik, hogy a legnagyobb sebesség amit tud, 1.5 Mbps. 3 és 12 Mbps profibuszra tehát NEM lehet vele csatlakozni!! Ez akkor gyönyörű, ha olyan PLC-hez akarsz nyúlni, amelyiken nincs MPI, csak profibus. (Vagy olyanhoz, aminek az MPI sebessége fel lett tolva 1.5 Mbps fölé)

    A másik az, hogy az adapter a PLC-ről nyeri a tápfeszültséget és nem a PC USB portjáról!
    Ebből meg akkor lesz hoppá, amikor kialakul az a helyzet, hogy az adaptert nem a CPU-ra akarod rádugni, hanem attól távolabb valamelyik perifériára ami rajta van a buszon. (pl. egy OP, vagy valamilyen profibuszos eszköz). Nem fog tápfeszt kapni.
    Ez a probléma áthidalható egy hálózati adapterrel és egy csináld magad MPI/DP kábeltoldóval amin külön beviszed a tápfeszt...

  • Szirty

    őstag

    válasz #95904256 #428 üzenetére

    Hali akosf!

    "Legfeljebb a stílusoddal."

    Pedig nem gúnyból írtam, ez tény. Csak érzékeltetni akartam mire gondolok.
    Tényleg volt már olyan, hogy (tévedésből) 6-os anyát rendeltünk 10 darabot az olaszoktól. Ez jutott eszembe...
    Igaz nem a siemens volt a cég, de az a lényeg szempontjából nem számít szerintem.

    Persze ezen a módon anyát venni (vagy alátlétet) nem gazdaságos... :>

  • Szirty

    őstag

    válasz GergoT #425 üzenetére

    Hali GergoT!

    "De ennek ellenére az ilyen módon történő kiolvasással nem jártam sikerrel, ha ennek mikéntjéről lenne valamilyen információ (esetleg link is jó, ahol ezt leírják) , akkor újból nagyon hálás lennék."

    Step7-ben a PG/PC Interface-t Ethernetre állítod. Aztán mehet az upload station to PG menüpont. Kb ennyi...

    MPI jobb megoldás, mert MPI minden S7-300/400-on van (már amíg el nem állítják)...

  • Szirty

    őstag

    válasz #95904256 #424 üzenetére

    Hali!

    "A Siemens azért adja 200 egységért az amúgy nagykereskedőknek 120 egységért adott dolgokat hogy a kisebb tételekkel ne őket keressék direktbe. Azt hittem ez egyértelmű..."

    A Siemens azt ad, amit rendelsz. Ha 1db 6-os alátétet rendelsz azt kapsz.
    Másrészről meg mindenki vegy ott a siemens dolgokat ahol olcsóbb. Hol itt a probléma?

  • Szirty

    őstag

    válasz #95904256 #422 üzenetére

    Hali akosf!

    "Ezt nem egészen értem. Elmagyaráznád?"

    Ha a siemens 200 egységért árul valamit, azt más cégek sem fogják 150 egységért adni, mert ezek a cégek egyike sem jótékonysági egylet, hogy bukjon az üzleten.

    "Nekem a Siemens csak milliós megrendeléseknél ad akkora kedvezményt hogy megérje tőlük rendelnem. Kíváncsi vagyok mit csinálok rosszul..."

    A Siemens-nek csak ilyen megrendelések esetén éri meg kedvezményt adni, gondolom ez egyértelmű.

  • Szirty

    őstag

    válasz GergoT #420 üzenetére

    Helló GergoT!

    "Igazad van maga a plc alapból nem tud ethernetet, de ehhez van még egy ethernentes bővitő modul is (többek között). Gondolom azon keresztül csak bajosan menne a program letöltés , ha megy egyáltalán?"

    Ha van rajta ethernetes CP, akkor azon keresztül is zavartalanul programozhatod.

    Egy trükk van csak, amíg a HW config nincs feltöltve rá (tehát pl. egy teljesen új PLC esetében) addig a CPU nem tud az ethernetes interfészről és ezért addig nem lehet elérni etherneten keresztül. Ezért a HW config sem tölthető így fel.Erre MPI kell.
    De ha már be van konfigolva, és tudod az IP címét, akkor etherneten keresztül mindent megtehetsz amit MPI-n keresztül is.

  • Szirty

    őstag

    válasz #95904256 #417 üzenetére

    Hali!

    "Persze hogy lehet kapni. Bár közvetlenül a Siemens-től nem érdemes beszerezni, mert elég nagy haszonréssel dolgoznak."

    Jah. Drága.
    De hiába veszed más cégtől a siemens cuccot, az sem fogja olcsóbban adni mint a siemens (teljesen érthető okokból). Legfeljebb pár százalékkal lehet olcsóbb, ha az illető cégnek van kedvetményes joga a siemensnél, de nyilván ők is haszonra törekszenek...

    Szerintem használtan kell keríteni ha olcsót akar az ember. Sajnos az viszont nem szokott egyik napról a másikra menni, mert eléggé alkalmi a dolog, de ki lehet fogni (vettem már CP5611-et 20e Ft-ért kéz alól).

    A másik megoldás a 3rdparty stuff beszerzése. Ilyen pl. a Helmholz MPI dolgai.
    Netlink Pro ethernet
    NETLink USB Highspeed USB Gateway
    NETLink Llite, Ethernet Gateway for MPI/PROFIBUS
    SSW7, MPI-Programming Adapter
    SSW7-USB, MPI-Programming Adapter

    Vagy ott az IBH
    IBH Link S7, IBH Link S7++, IBH Link S7 Plus, USB-S7 Adaptor MPI, DP, PPI

  • Szirty

    őstag

    válasz GergoT #411 üzenetére

    Hali GergoT!

    "Kérdés a PLC -ben tárolt program kiolvasása sima RS-232 kábellel vagy Ethernet-en keresztül kapcsolódva a PC-hez lehetséges-e? Ha igen sacc/kb. hogyan?"

    Nos közvetlenül se etherneten, (mivel a CPU315-2 DP-n nincs ethernet, a CPU 315-2 PN/DP-n van) se RS232-n nem tudod kiolvasni, mivel RS232 sincs ezen a CPU-n.

    Marad az MPI vagy a profibus DP.
    Ehhez azonban nem elég egy kábel, egy interfész is kell.
    Az RS 232-t messze kerüld el, ha rám hallgatsz, bár egyszeri alkalomra elmegy, de ha rendszeresen akarsz ilyesmit csinálni, akkor felejtős (ethernet, USB, vagy spec kártya kell).

    Itt az RS232 megoldás:

    Vagy PCMCIA CP adapter, ha van pl. olyan notebook ami fogadja:
    anapság már express card járja, abba ez nem jó.

    Esetleg PC adapter USB:

    De vannak más megoldások is, pl. MPI/Ethernet gateway:

    Vagy valamilyen CP (kommunikációs proc kártya) kell a gépbe.
    Netlinket, USB PC adaptert és PCMCIA CP-t, meg PCI MPI CP-t már használtam, azok jók.

    Az áruk 50000-nél kezdődik kb, és 100 fölött ér véget.
    A legolcsóbb az RS232 PC adapter, de azt ajánlom a legkevésbé (szörnyű!).

  • Szirty

    őstag

    válasz Kekfulu #398 üzenetére

    Hali Kekfulu!

    "Végiglapoztam az eddigi hozzászólásokat, de nem olvastam véleményt erről. Nekem még nincs vele tapasztalatom, ti használtátok már?"

    Én még soha nem hallottam róla.
    A linkelt PDF-et sem tudtam megnézni, mert azt mondja hogy: There was an error opening this document. Bad encrypt dictionary...

  • Szirty

    őstag

    válasz kem #396 üzenetére

    Hali!

    "Haraferkész illetékezés, vagy ilyesmi alatta meg: autenticitás kezelés
    Mi lehet az a H betüs szó?"

    Úgy néz ki itt valmi nagyon félrement.
    Szerintem olyan szó nem létezik hogy "Haraferkész".

    .. legalábbis eddig nem létezett :)

  • Szirty

    őstag

    válasz Huma #393 üzenetére

    Helló Huma!

    "P2P bácsi úgy döntött mégsem adja oda a Step7-et."

    Lehet hogy csak hamar feladtad.

  • Szirty

    őstag

    válasz Huma #389 üzenetére

    Helló Huma!

    "Nem tud valaki ajánlani egy jó PLC programkreátort?"

    Milyen fajtához? Vagy az mindegy?

    Én leggyakrabban Siemens Step7-el (nem Microwin Step7-el) dolgozok. De ott van Pl. a CX-One, ami az Omron PLC-ihez való. Mind a kettő elég összetett fejlesztői környezet és van bennük szimulációs lehetőség (bár opcionális, tehát a "kiépítettségtől" függ van-e benne).

    "Emlékszem mikor egy kereszteződés lámpáit kellett beállítani. (Persze nem igaziból) Nem is volt olyan egyszerű mint amilyennek először tűnt."

    Én haragszok erre a közlekedési lámpa példára. Mindenhol ezt nyomatják. Persze kell ez is, meg jó példa, de egyrészt nem sok köze van ahhoz a környezethez amiben a PLC-ket alkalmazzák, másrészt meg a PLC programozásnak itt nincs vége.

    Megoldható egyes fejlesztői környezetekben,hogy HMI szoftverrel és PLC szimulátorral együtt, meg egy kis programozási munkával a vezérlést is szimuláljuk (tehát ne csak a PLC-t ami a programot futtatja, hanem magát a feladatot is, amire a PLC programja készül).
    Siemens Step7 alatt ilyennel már próbálkoztam.

    Ha érdekel, akkor itt az egyik és itt a másik.

  • Szirty

    őstag

    válasz Chrys_ #386 üzenetére

    Hali Chrys_!

    Nyilván minden cégnél vannak segítőkész és hozzáértő szakik. Nem mindig sikerül őket elsőre megtalálni (nyilván nem őket ültetik a telefon mellé).
    Evoproval nincs kapcsolatom. Gondolom elsősorban minden cég akkor segítőkész ha a saját munkájukkal vagy termékükkel kapcsolatos problémáról van szó, ami éthető.

  • Szirty

    őstag

    válasz Apple100 #384 üzenetére

    Helló Apple100!

    "Nem akartam promlémámat elbagatelizálni, de akkor hogy vezéreljek egy 24V motor ki-be kapcsolását?"

    A legegyszerűbben pl. így:

    Feltéve hogy:

    1. Mind a 6 munkahelynél külön stop érzékelő van
    2. Mindig csak egy irányban foroghat
    3. Mindig a következő helyen kell megállnia (tehát a 4-esről nem kell a 2-esre mennie)

    Ha mind a 6 munkahely stop pozíciója ugyanaz a végállás (bemenet) akkor még tovább egyszerűsíthető.
    A megállító feltételeket (pl. biztonsági feltételek) a Q4.0 elé rakhatod.
    A vészleállítást is, hogy az öntartás ne maradhasson fent vészleállítás esetén, de a vészleállítás mindenképpen csak hardveres beavatkozással valósítható meg kifejezetten erre kifejlesztett certifikált vészleállító készülékkel és a huzalozási szabályok betartásával. Legalábbis a gyakorlatban...

    Symbol list a fenti programrészhez:

    I 0.0 1-es állomás érzékelője
    I 0.1 2-es állomás érzékelője
    I 0.2 3-as állomás érzékelője
    I 0.3 4-es állomás érzékelője
    I 0.4 5-ös állomás érzékelője
    I 0.5 6-os állomás érzékelője
    I 1.0 Forgatás START
    M 1.1 Stop impulzus
    Q 4.0 Paletta mozgató motor

  • Szirty

    őstag

    válasz joufiu #380 üzenetére

    Hali!

    "Szerintem az a gond hogy nem veszed figyelembe a PLC mukodesi elvet. Tehat sem sorban, egymas utan vegzi el a parancsokat, mint a PC, egy = Q 6.1 utasitas ervenyben marad amig az ot megelozo kondiciok ervenyesek."

    Szerintem is itt a gond (ezt említettem is). A PLC programozás kicsit (néha meg nagyon) másfajta gondolkodást igényel.
    Ezt is meg kell szokni :)
    A létradiagramra és az FBD-re úgy kell tekinteni mint egy huzalozott kapcsolásra és nem úgy, ahogy egy soronként végrehajtódó programra. Az egész program tekinthető úgy, hogy "egyszerre és folyamatosan fut" az összes utasítása.
    Persze valójában ez is utasításonként hajtódik végre, és mivel mindig vannak kivételek, létradiagramos programozásnál sem 100%-ban mindig tekinthető huzalozott logikának a program. Néha fontos figyelembe venni a sorok végrehajtási sorrndjét.

    Létezik ilyen lépésenként végigfutó programozási megoldás, amit szekvenciális programnak hívnak, S7-nél erre külön "nylev" van, az S7 Graph.

    Olyan berendezések programozására használható, ahol az egyes munkafolyamatok nagyon jól elkülöníthetők egymástól (kell-e megjegyezni, hogy nem mindegyik ilyen ám) és ezek jól meghatározható stabil állapotokat kötnek össze. Ezért bizonyos berendezésekhez nem használható ez a módszer (de általában lehet keverni a módszereket, ami megoldást jelenthet).
    Viszont a szekvenciális programozás is jelentősen eltér a hagyományos "lineáris" programozástól, amit mondjuk egy PC-s pascal-ban vagy C-ben megszokhattunk.

  • Szirty

    őstag

    válasz Apple100 #378 üzenetére

    Helló Apple100!

    "programom soha nem lesz megvalósítva. Ez csak egy feladat."

    Akkor vagy:
    hagyd a francba az agészet, hiszen sosem lesz megvalósítva és röhögj rajta ha jól esik,
    vagy:
    Tekintsd komoly dolognak és állj hozzá úgy mint egy valódi feladathoz

    "A kérdésem az, hogy S R paranycsal vezérelhetek e egy villanymotort?"

    Megteheted.
    De szigorúan az én véleményem, hogy az S-R utasításokból csak annyit szabad használni egy programban, amennyit feltétlenül szükséges.
    Mennyi az a feltétlenül szükséges? Kb fele annyi mint amennyi a program első változatában van...

    Ugyanakkor természetesen nem kerülhető el a használatuk, hasznosak. De nenm szabad túlzásokba esni. Motor vezérlésre közvetlenül kifejezetten ellenjavallt használni (pl.amikor a motor a Q4.4 és S Q4.4 R Q4.4 parancsokat használunk a motor ki és bekapcsolására).
    De a motort vezérlő network (sor) tartalmazhat SR hivatkozásokat ha szükséges, de a biztonsági feltételeket mindig közvetlenül kell a kimenet elé tenni.

  • Szirty

    őstag

    válasz Apple100 #374 üzenetére

    Hali Apple100!

    "Én a paletta indítását / megállítását így oldottam meg.
    Network1:
    A I 3.5
    A I 6.3
    S M 1.0
    Network2:
    A I 3.6
    AN I 6.4
    R M 1.0"

    Nos erre legfeljebb akkor tudnék bármi konkrétat mondani, ha tudnám mi az I3.5, az I3.6 és az I6.4

    "M1.0 a palettát vezérli"

    Azt hogy "vezérli" azt jelenti, hogy amíg az M1.0 1 állapotban van, addig a mozgatás mozog?

    "2. probléma
    Az FC-ket sorban egymás után kell indítanom, de az FB-ben van start, stop, ah."

    Szerintem itt az okozza a problémát, hogy "lineárisan" gondolkozol. A PLC program nem úgy végzi el sorban a feladatot ahogy az utasítások jönnek egymás után...

  • Szirty

    őstag

    válasz Apple100 #371 üzenetére

    Hali Apple100!

    "1. problémám :F : A paletta mozgatást 1db 24V- os motor biztosítja (ez a palettával együtt mozok). Milyen utasítással indítsam, állítsam meg a palettát?"

    Én közönséges OUT utasítást használnék. De valami azt súgja, téged nem is annyira az utasítás, hanem inkább a módszer érdekelne.

    "2. problémám :F : hogy fűzzem össze OB1-be az egészet ?"

    Attól függ hogyan működnek könkrétan ezek a blokkok.
    Én egyszerűen meghívnám őket közönséges CALL utasítással.

  • Szirty

    őstag

    válasz Apple100 #369 üzenetére

    Helló Apple100!

    Egy körpályás szerelősor vezérlését programozom, ahol van 6 munkaállomás. Itt pneumatikus egységek vanak. Ezek lépéseit 6 FC, a vezérlést FB blokkba raktam.
    hogy fűzzem össze OB1-be az egészet ?

    Mit csinálnak az FC-k, és mit az FB-k? Ha a vezérlés az FB blokkokban van, mi van az FC blokkokban? És miért kellett az FB típusú blokk? FC miért nem felelt meg?

    A paletta mozgatást 1db 24V- os motor biztosítja (ez a palettával együtt mozok). Milyen utasítással indítsam, állítsam meg a palettát?

    Konkrétan mi az a paletta ebben az esetben? Mit csinál, honnan hova megy? A PLC honnan tudja hol tart? A Motort mi kapcsolja? Digitális kimenet? vagy szervó mozgatja?

  • Szirty

    őstag

    válasz Gogolak #361 üzenetére

    Hali!

    "Azt szeretném kérdezni hogy mennyire bonyolult dolog beállítani RS 232 porton keresztül "gyalog" a TCP-IP beállításait egy PLC nek?"

    Milyen PLC-nek?

  • Szirty

    őstag

    válasz Kkocos #359 üzenetére

    Hali Kkocos!

    "Jah mellesleg LAD stb.? érted grafikus programozás alatt?"

    Szerintem nem. Nem grafikust említett, hanem GRAPH-ot. Az Siemensnél egy külön magas szintű programozási módszer neve.
    Ez egy szekvenciális (lépésenkénti ha úgy tetszik) programozási módszer.
    Bizonyos berendezések működése lépésekre osztható. Az ilyenekhez való.

    SFC-nek is hívják (Sequential Function Charts). Szabvány van rá.

  • Szirty

    őstag

    válasz hdcsaba87 #353 üzenetére

    Hali hdcsaba87!

    "Okés megnézem"

    A Logo, az Omron és a Siemens S7-200-as leírások tényleg elég alaposak. Szerintem azokkal kezdd!
    Ha felmerül konkrét kérdés, azt tedd fel természetesen. :>

  • Szirty

    őstag

    válasz hdcsaba87 #351 üzenetére

    Helló hdcsaba87!

    "Szeretnék megtanulni PLC-t programozni"

    Ok. Hány napod van rá? :)

    "de nemudom hogy kezdjek hozzá."

    Nem írom le hatodszorra is. Szinte minden harmadik hozzászólásban ezt kérdezik.
    Az oldalamat ajánlom, a linkek között találsz pl. teljes körű leírást is pl. (típusfüggő).
    Olvass vissza kérlek!

  • Szirty

    őstag

    válasz Spidee #349 üzenetére

    Helló Spidee!

    "Suliba, automata mosógép működését kéne megtervezni S7-s PLC-ben."

    Ipari mosógépről van szó, vagy megint egy olyan sulis példa, amihez hasonló nem fordul elő a gyakorlatban. Automata mosógépbe sohase tesznek PLC-t, mert pl. a PLC árából már eleve több mosógépet is lehetne vásárolni. No mind1. A feladat szempontjából ennek végülis nincs jelentősége (csak a gyakorlati jelentőségén ront sokat)
    Nem írtad milyen S7-ről lenne szó. 200, vagy 300/400? Nagyon(!) nem mindegy!

    "Nem tud nekem valaki egy kis segítséget nyujtani?"

    Szerintem többen is hajlandóak itt erre. Ha a segítségnyújtás az, hogy helyetted kell megcsinálni a feladatot, akkor lehet hogy kevesebben :)

  • Szirty

    őstag

    válasz MC Pite #345 üzenetére

    Helló MC Pite!

    Topic elejét átfutottam, keresgélés közben találtam ide is, de még mindig nem találtam meg amit igazán keresek: gyorstalpaló PLC-kről.

    Te vagy kb. a negyedik itt aki ezt kérdezi. Minden előtted kérdező (szerintem) megkapta a választ.

    szirty oldalát is böngészgetem, itt nagyjából láttam felsorolva a különbségetket a PIC és PLC között, anyagot viszont nem találtam még.

    Akkor valószínűleg én már nem tudok neked segíteni. Az oldalamon kb 500 oldal (saját) doksi van, amely minden egyes betűje erről a témáról szól.
    A linkek között további kb. 10-15000 oldal doksit találsz. S7 200-ról speciel komoly rendszer szintű leírást is. Szakdolgozatok is vannak. Nagyon(!!) szájbarágós doksik is vannak. Sőt, van kimondottan PLC programozásról (S7-200) két órás tanfolyam, magyarul, 73 oldalban. Ha ez nem "gyorstalpaló" akkor nem tudom mit nevezzünk annak.
    És persze ezen kívül sok idegen nyelvű leírás is van...

    Sajnálom. :[

  • Szirty

    őstag

    válasz Reity #342 üzenetére

    Hali Reity!

    A könyvtárban 10 file van, INI, DIR, S5D, SEQ kiterjesztésűek.A kérdés, h ezt mivel tudom megnyitni, és hogy tudnám átfordítani Siemens S7-200-ra?

    Ez valóban S5 program lehet.
    Megnyitni Step5-tel vagy S5W-vel tudod.
    S7-200-ra átforgatni meg kézzel. Vannak konverterek, de azok S7-300/400-ra forgatnak (azokhoz az S5-nek több köze van mint a 200-hoz).
    Esetleg ha elküldöd nekem, visszaküldöm PDF-ben vagy TXT-ben ha meg tudom nyitni...

  • Szirty

    őstag

    válasz Kkocos #335 üzenetére

    Hali Kkocos!

    azert MIDI hogy egyenesen meghalgathato legyen, nem kell "ujrakomponalni" a zenet,

    Egyébként amennyire tudom az ilyen zenére működtetett látvány-vezérlések úgy működnek, hogy egy arra alkalmas tehetséggel megáldott egyén előre "megkomponálja" a látványelemek mozzanatait. Egyszerű időkvantálásos módszerrel pillanatról-pillanatra előre rögzíti, hogy a zene melyik látványelemének miképpen kell működni ez a zene adott pillanatában. Így létrejön egy "látvány kompozíció" amit már csak le kell játaszani a műsorban a zenével együtt.
    A látványért felelős vezérlésnek így csak az a feladata marad, hogy pontos szinkronban maradjon a zenével és kövesse az előre rögzített teendőket...

    Azt gondolom, hogy ha a műsor látványelemeit megfelelően tehetséges illető készítette, akkor azt automatikus módszerekkel nem lehet sem felülmúlni, sem megközelíteni (ha nem így lenne, akkor kiváló képességű zeneszerző, festő és szobrász stb. programok léteznének).
    Persze ha nem előre rögzített műsorhoz kell a látványelemeket vezérelni, akkor más a leányzó fekvése...

  • Szirty

    őstag

    válasz murena #336 üzenetére

    Hali murena!

    Valaki nem tudna adni egy tk-t siemens s7 programozásáról.

    Nem tudom mi a tk, de ha leírást keresel meg infókat, akkor ajánlom a 4-el ezelőtti üzenetem itt a fórumon. Kb. ugyanezt kérdezték és telelinkeltem azt az üzenetet.

    Mert csak annyi bajom van azzal ami van hogy angol nyelvű.

    Na de milyen S7? 200, avyg 300/400? Mert alapvető eltérések vannak.
    S7-200-hoz pl. sok száz oldalas tanfolyam, meg teljes mélységekig lemenő rendszerszintű dokumentáció van, méghozzá magyarul (az oldalamon a linkek között rálelsz).

    Amúgy elárulok egy titkot én mint külső szemlélő.az lesz a legjobb programozó(automatizálás) aki nem csak megirja a programot de tudja is hogy mihez csinálja és hogy annak a valaminek mit is kéne csinálnia.

    Hát máshogy nem is lehet...

    Én a munkám során rengeteg idióta programozóval találkozok.

    Ilyenek sajnos az élet minden területén előfordulnak. :(

  • Szirty

    őstag

    válasz Kkocos #333 üzenetére

    Helló Kkocos!

    Valaki csipobol meg tudja mondani hogy MIDI lejatszo (ez a vesszoparipam) megoldhato e S7-315-tel?

    Röviden: Nem.

    Hosszabban: Mindenféle varázslatokkal igen. PLC-hez vannak CP-k (kommunikációs processzorok) amik tudnak RS232-t, RS422-t, stb. Ezeket vagy be tudod úgy állítani hogy képesek legyenek fogadni MIDI kommunikációt, vagy nem, még sosem probáltam.
    Eleve maga a MIDI rettenetesen távol áll a PLC-től. Lényegében olyasmire akarod használni a PLC-t, amire nem való. Megoldható ugyan, de nem gazdaságos. Hiszen egy említett CP kártya 200e körül van, egy CPU 300-400e, egy analóg kártya 100e körül (ebből több is kellene ahoz amihez használni akarod).

    De van itt más probléma is (szerintem). Digitalizált hangból (hullámformából, amilyen az MP3, a WMA, a WAV, a CD lemez stb) MIDI adatfolyamot csinálni olyan mint papíron lévő kézírást TXT-be vagy word doksiba konvertálni (karakter alapon). vagyis igencsak reménytelen.
    Még ha nem is lehetetlen teljesen, de hangfelismerásre van szüksé. Hiszen a MIDI egyáltalán nem tartalmazza magát a hangot, csak azt, hogy mikor, mennyi ideig melyik hangszer melyik hangjának kell megszólalni. Persze egy egyszerű dallam hangmagasságait nem olyan nehéz felismerni programból (a hangszínt már keményebb dió). De véleményem szerint FFT legyen a talpán, amelyik képes egy zúzós gitárszólóból korrekt MIDI filet gyártani real time!

    A PLC analóg bemenetével történő zene digitalizálás szintén felejtős, mivel a PLC analóg bemenete inkább mérésre való, nem hullámforma digitalizálására. A ms nagyságrendű mintavétellel legjobb esetben is 200-500Hz hangokat tudnál digitalizálni, ami meg hol van még a sok kHz-től ami a zenében előfordul?..
    Az FFT sem képzelhető el PLC szoftverrel, hiszen FFT-hez gyors CPU kell, de inkább DSP (signal processor). Nem mindtha nem lenne gyors proc. egy PLC-ben, de a felhaszálói programot nem közvetlenül hajtja végre. A Ciklus idő ms nagyságrendű (FFT-hez meg us-ek kellenének). Persze nem elképzelhetetlen egy funkció modul ami éppen ilyen transzformációra való, de nem tudok róla (persze attól még lehet) de ilyen felhasználása a PLC-nek szerintem nem épp gyakori.

    Szerintem is inkább PC-s megoldás felé mozdulj el.
    Ha pedig kereskedelmi forgalomban elfogadott eszközt akarsz létrehozni, akkor inkább mikrovezérlőben gondolkozz.

    Egyébként meg egy sor gyakorlati probléma is fel fog merülni ha valóban belevágsz. Pl. hogy a szivattyúk állás közben (akár két zenei ütem között is) elengedik a vizet, így indulás után a vízsugár késlekedni fog, amit biztosan észre lehet venni. Továbbá hogy a nem térfogat kiszorításos elven működő szivattyúk által szállított mennyiség és nyomás nem áll egyenes arányban a szivattyú forgatási sebességével, stb. De persze ezeket a gondokat ki lehet küszöbölni.

  • Szirty

    őstag

    válasz #93966848 #329 üzenetére

    Hali Jimanszky!

    Örülök,hogy van ez a topik,mert érdekelne a PLB vezérlés.Igaz látom,hogy itt PLC-ről van szó,de gondolom az is hasonló hozzá.

    Én sem hallottam még PLB-ről. (Google sem talál ilyet :)

    Szóval kérlek benneteket,ha van valami anyagotok,csak úgy nagyjából,hogy valamennyire értsek a vezérléshez,bombázzatok itt a fórumon vagy vegyetek fel msn-re!! Nagyon szépen

    Nos MSN-em nincs és amíg rajtam múlik nem is lesz :)
    De gyere be IRCNeten az #assembly.hu csatira ha csetelni akarsz :) Ha nincs IRC kliensed, akkor itt egy webes CGI-IRC cím. Channelt átállítod "other"-re és beírod hogy #assembly.hu.

    Esetleg ajánlom a web oldalam. Azon belül is talán az "Alapfokon" rovatot, azon belül esetleg a Mi a PLC? című írást. A linkek között is találsz magyar nyelvű doksikat, mivel azokat külön bekezdésbe szedtem. Az oldalon fényképeket is találsz a témáról...

    Esetleg ajánlhatom a viszinylag nagyobb forgalmú PLC levelező listát, ami egy levelezős offline fórum. Fel kell rá iratkozni, amit itt tehetsz meg..

    Ha az online fórumok híve vagy (mint amilyen ez is) akkor nézz be a PLC fórumra esetleg.

  • Szirty

    őstag

    válasz Pato7 #326 üzenetére

    Hali Pato7!

    Itt már kerestem, és nem találtam!

    Szerintem a TP típusú timerrel meg tudod oldani amit szeretnél.
    Ebben is nézd meg

  • Szirty

    őstag

    válasz sellei #321 üzenetére

    Hali sellei!

    "Szétnéztem, de Moeller-rel kapcsolatos dolgokat még nyomokban sem láttam."

    Én nem írtam hogy ott találni fogsz moeller témákat.
    Azt javasoltam, hogy ott kérdezd meg.
    De szerintem ne azt kérdezd, hogy "ért itt valaki a moeller PLC-hez?" hanem tedd fel magát a kérdést!

    Ui.: A levlista keresője legalább 50 moelleres témát talál. Természetesen egyáltalán nem bizonyos, hogy ezek között arra a kérdésre kapásból megtalálod a választ, amit még eddig fel sem tettél.

  • Szirty

    őstag

    válasz sellei #319 üzenetére

    Helló sellei!

    Van a fórumon valaki, aki Moeller PLC-kkel (PS4-) foglalkozik, vagy ismertek olyan kollégát
    akitől meg lehetne kérdezni bizonyos dolgokat?

    Én sajnos nem tudok segíteni, de kérdezd meg itt ....vagy itt

  • Szirty

    őstag

    válasz zsolo_d #317 üzenetére

    Helló zsolo_d!

    Azt hittem lehet password-özni a PLC-t.
    Bocsi... (:B mindig ezzel jövök) a Saia-nál a hardverkonfigban tudok password-öt adni a PLC-nek és tudom tiltani a programletöltést is külön.
    Ami nem vidóz, és kicsit nehezebb feltörni.
    Ebből indultam ki...

    Védhető a programblokkok megnyitása jelszóval (sosem használtam még ezt a ehetőséget és nem is hiszem hogy fogom hacsak külön meg nem kérnek erre).
    Megakadályozható a PLC-be adat írása.

    Én magasabb szintű biztonságról beszéltem.
    A VPN megfelelő szerintem.

    Én épületgépészeti vezérléseket csinálok és ebben a műfajban nagyon hasznos a távolról elérés. Pölö Németországban fut két PLC-m és egy apró paraméterváltoztatásért nem utazik az ember 800 km-t.

    Jogos az igény, és egyértelműen hasznos. Ugyanakkor minden ilyesmi növeli a kockázatot. Kockázat elemzés ugyebár amikor mérlegelik, hogy a távoli elérhetőséggel mennyit nyernek és az elérés által lehetővé tett esetleges károkozás esetén mennyit veszítenek. Elképzelhető olyan is, hogy elfogadható a kockázat ha semmiféle jelszavazás vagy hozzáférési korlátozás nincs (bár nehezen).
    Az S7-en az ethernet nem erről szól. A távoli elérés egyik módja a TS adapter és Teleservice programcsomag.
    Ha ethernet, akkor ott a VPN. Egy az egyben (közvetlenül) szerintem nem nagyon szoktak összekapcsolni ipari hálózatokat vállalati intranettel vagy internettel. A kettő kapcsolatára is vannak eszközök. Siemensnél azt hiszem Scalance.

  • Szirty

    őstag

    válasz zsolo_d #314 üzenetére

    Hali zsolo_d!

    Mindegyik Siemens családra igaz amelyik ethernettel rendelkezik?

    A 300/400-ra ugyanaz vonatkozik, 200 más tészta.
    De azon is múlik a dolog, hogy konkrétan milyen eszköz realizálja a PLC-n az ethernetet (lehet beépített, külön kommunikációs kártya, vagy lehet MPI/Ethernet gateway, lehet IE/PB link, stb).

  • Szirty

    őstag

    válasz zsolo_d #313 üzenetére

    Helló zsolo_d!

    Egy Siemens S7 300-as PLC-nél hogyan és melyik portot kell forward-olni ha az interneten keresztül akarok online-ba lépni vele, vagy esetleg programozni?

    TCP 102

    A routrnél gondolom a PLC saját fix IP címét meghatározott portokon kel továbbítani egy dinamikus DNS-el vagy fix bejővő IP címen.
    TCP/IP vagy UDP/IP, vagy mindegy? (álltalában UDP/IP gondolom én...)

    A routeren a PLC LAN oldali IP címén a 102-es TCP portot irányítsd át a WAN oldali 102-es portra. ha a router WAN oldali IP-je dinamikus, akkor neked kell megoldanod hogy mindig tudd milyen IP-n tudod elérni a PLC-t.
    Kézenfekvő valamelyik ingyenes dinamikus DNS szolgáltatás használata (ezeket már a routerek is ismerik töbnyire).

    Egyébként nem javaslom ezt a megoldást.
    Igaz így el tudod érni a PLC-t és programozhatod, módosíthatod a benne lévő adatokat, merker állapotokat, monitorozhatod, stb. gyakorlatilag a világ bármelyik részéről, de ugyanezt mindenki más is megteheti.
    Ez a megoldás ugyanis semmilyen felhasználói azonosítást nem kíván meg. Így pl. ha megtudom a routered IP címét, akár én is belenyúlhatok, meg bárki más is.

    Javasolt valamilyen "védőcsomagolásban kiajánlani" a PLC-t az internetre.
    A VPN pl. jó megoldásnak tűnik. Persze minden védelem feltörhető, de ha semmilyen védelem nincs, akkor fel se kell törni (a te megoldásod pedig ilyen).

  • Szirty

    őstag

    válasz zsolo_d #310 üzenetére

    Hali zsolo_d!

    Kicsit hosszadalmas megrajzolni ezeket a cuccokat.

    Sajna nem tudok segíteni, de, fogadd együttérzésemet.
    Én WSCAD-et használok. Kb. ugyanez a helyzet nálam is.
    Annak ellenére, hogy a WSCAD-hez van mindnféle olyan PLC-s könyvtár ami kell.

    Ezeket azonban nem használom, mert olyan gyökeresen térnek el azok a rajzjelek attól a koncepciótól, amiket használok, hogy számomra használhatatlan :-/

    Úgyogy én is megrajzolom magamnak. Plusz munka, de utána már nem kel törődni vele, egyszer kell megcsinálni.

  • Szirty

    őstag

    válasz laci666 #308 üzenetére

    Helló laci666

    A cégnél ahol vagyok ők az Omron CPM1-et ajánloták
    De a suliba a konzulensem az Omrom CP1L-et ajánlota úgy hogy valoszinüleg ez lesz.

    Nos A CPM1-et és az S7-200-at ismerem, ezekkel dolgoztam már.
    A CP1L viszonylag újdonság, talán érdemes ezt választani.

  • Szirty

    őstag

    válasz laci666 #305 üzenetére

    Helló Laci!

    Omron CP1L PLC-hez kellene valami magyar leirás.Meg úgy álltalában egy jó PLC-s könyv cím is jó lenne.

    Írtad ugyan hogy találtál, de nézd meg esetleg itt.
    Ez egy link gyűjtemény, vannak magyar doksik (könyv) is...

  • Szirty

    őstag

    válasz Gomezke #303 üzenetére

    Helló Gomezke!

    Tudtok S5-höz valami magyar nyelvű anyagot prezentálni?

    Hát sajnos amennyire tudom a Siemens nem adott ki magyar nyelvű leírásokat, már ami az egyébként sok nyelven elérhető PDF doksikat illeti.
    Létezik viszont S5 oktatási anyag magyar nyelven, de nekem nincs olyanom. Aki volt Siemens-nél S5 tanfolyamon, annak talán van, de nyomtatásban. Egy ilyen embert kell találnod.

    Megpróbálhatod Itt vagy esetleg Itt.

    Jah, nem idézem be, de köszönöm az elismerő szavakat! :]

  • Szirty

    őstag

    válasz Mr. John #300 üzenetére

    Üdv Mr. John!

    Mi a különbség az IEC 1131-3 és az IEC 61131-3
    PLC programozásra vonatkozó szabvány között?

    Szerintem ez a kettő egy és ugyanaz.
    Az IEC keresője a 1131-re azt mondja hogy not found.

  • Szirty

    őstag

    válasz tildy #292 üzenetére

    Helló tildy!

    A tolópados tökre olyan, mint amit nekünk kell elkészítenünk (az ilyen tartályba mártogatós , felemelős, újabb tartályba rakós).

    Vegyszeres felületkezelés? "Mártódaru" rulez :]
    Örülök ha segítettem...

  • Szirty

    őstag

    válasz Petya85 #290 üzenetére

    Hali Petya85!

    nincs valakinek egy eladó Omron CPM1-30-CDR-A-V1PLC-je?

    Ezt nézted már?

    "Eladó a képen látható OMRON CPM1-30-CDR-A-V1 PLC.
    Kikiáltási ár 15000 Ft"

  • Szirty

    őstag

    válasz Pelmo #287 üzenetére

    Hali aLávaló!

    Amúgy Siemens-es cuccokkal ha van kérdésed kivel szoktál beszélni? Mert eddig a cégünknek csak rossz tapasztalata volt siemens-el ha valami támogatást kértünk!

    Még nem hívtam eddig a siemens-t ilyen ügyben. Viszont találkoztam már siemens-es szakemberekkel és bizton állíthatom, hogy jó fejek. De hát mindenre van példa is és ellenpélda is.
    Összességében a technikai segítségnyújtással kapcsolatban nekem sincsenk jó tapasztalataim sajnos. Más cégektől kértem már tanácsot.
    Sajnos sokszor oda fajult a történet, hogy nem a problémával foglalkozunk, hanem azt próbáljuk egymásnak bebizonyítani hogy kettőnk közül melyikünk a hülyébb. :(
    Eddig csak olyan esetekben kértem segítséget amikor már minden általam elképzelhető irányból körbejártam a problémát és alaposan utána olvastam doksikban, kipróbáltam dolgokat stb. Ha nem sikerült megoldani, akkor maga a kérdés amit fel kell tenni olyan jellegű, hogy egy kívülállónak az adott helyzet nagyon pontos ismerete nélkül legfeljebb tippje van. Kivéve ha pontosan ugyanabba a problémába ugyanúgy bele nem futott már.
    De a problémák olyan sokfélék, hogy ennek nagyon kicsi a valószínűsége.

    A másik dolog pedig az, hogy a problémák a gyakorlati alkalmazások során merülnek fel (legalábbis amikkel én találkozom). A telefon túloldalán főként üzletkötők és/vagy elméleti szakemberek vannak. Legtöbször kevés gyakorlati tapasztalattal. Elméleti síkon egy gyakorlati problémáról meg jót lehet beszélgetni, de a megoldása így nehéz.
    Egy céggel olyan is volt, hogy miután a problémát oldalakon keresztül ecseteltem a körülmények pontos leírásval együtt, egyetlen sorban válaszolva kijelentették hogy az nem lehet. Egy másik esetben 3 hétig jártunk egymás nyakára (személyesen is eljöttek) mire egyáltalán elismerték, hogy igen, a probléma tényleg létezik.

    Ezek szélsőséges esetek és egy percig sem állítom, hogy minden cég technikai támogatása haszálhatatlan, de rosszak a tapasztalataim.
    Kb olyasmi ez, mint amikor szünetel az internet szolgáltatás és az ügyfélszolgálatos először azt kérdezi be van-e kapcsolva számítógép, aztán meg azt hogy égnek-e a LED-ek a modemen...
    Viszont ha olyan akérdés, hogy milyen eszközökkel oldható meg optimálisan egy bizonyos feladat, arra mindenhol tudnak korrekt választ adni.

    Nagyon hasznos szerintem a siemens A&D online fóruma. Sokat tanultam már onnan abból amit ott kérdeztek és amit válaszoltak rá.
    És vannak siemens-es szakemberek a plc levelezőlistán is, akik ha ráérnek és tudnak, akkor válaszolnak. Én a legtöbb kérdést ott tettem fel.

  • Szirty

    őstag

    válasz Pelmo #285 üzenetére

    Helló aLávaló!

    Foglalkoztál már ilyennel vagy van valami jó tanácsod ehhez?

    S7-200-al szinte egyáltalán nem foglalkoztam.
    Nem tudok érdemben hozzászólni.

  • Szirty

    őstag

    válasz csgabiii #282 üzenetére

    Helló csgabiii

    ötletem egyenlőre semmi, valami gyártósor automatizálás nemrossz, mint a fentebbi linkelt lapokon...

    Azt tanácsolom, hogy a lehető legegyszerűbb feladatot válaszd. Olyat, ami még éppen megfelel. (A gyártósorok jellemzően nem ilyenek!!)

  • Szirty

    őstag

    válasz csgabiii #276 üzenetére

    Hali csgabiii!

    HY, Automatizálási technikus szakon tanulok , érdekelne h valaki tudna e segiteni szakdolgozat írásában?

    Ha ötletre van szükség abban esetleg segíthetnek az alábbi linkek:
    Tartály töltés
    Bár az írás témája nem épp a tartály töltés, de az első részben egy nagyon egyszerű, a gyakorlatból vett példa van, amit esetleg felhasználhatsz.

    "Tolópad" szimuláció
    Szintén a gyakorlatból vett példa. Az előzőnél kissé összetettebb feladat, de leírtam a teljes megoldást is. Ezzel nehezebb dolgod lesz ha nem foglalkozol S7-300 PLC-vel, mert a példa megoldása arra készült.

    Fúrógép szimuláció
    Az előzőhöz hasonló gyakorló feladat, valamivel kevésbé részletezve.

    Az anyagot ötletadónak ajánlom. Azt nem javasolnám, hogy egy az egyen, esetleg részleteiben módosítva átemlj részeket a szakdolgozatba, mert:
    - A linkelt oldalak NEM azért jöttek létre, hogy másokat megkíméljenek a gondolkodástól
    - Bukta lesz ha az oktató is rátalál, vagy valaki felhívja rá a figyelmet

  • Szirty

    őstag

    válasz Petya85 #271 üzenetére

    Hi Petya85!

    Én úgy csinálnám, hogy minden egyes lépéshez hozzárendelnék annyi bit tárólót, ahány munkahenger van, vagyis 8x4-et.
    Így minden lépéshez tartozna 4 bit, ahol minden bit egy-egy munkahenger adott lépésben betanított állapotát tartalmazná.
    Valamivel, pl. egy számlálóval címezném, hogy a 8 db 4-es tároló közül melyik épp az aktív.
    A betanításkor mindig az adott lépés adott munkahengerhez tartozó bitje be vagy kikapcsolódna attól függően, hogy annak a munkahengernek abban a lépésben milyen helyzetben kellene lennie.

    "Lejátszáskor" a lépésket a számláló végigcímezné.
    A tárolt bitek állapota minden lépésben "kimásolódna" a munkahengerek szelep kimeneteire. Mindig csak az aktuális lépésé persze.
    Egy programrész pedig összehasonlítaná mindegyik munkahenger tényleges (véghelyzet szerinti) és a tárolt (betanított) állapotát. Ha az adott lépésben a tárolt és betanított helyzet mind a négy munkahengernél azonos, akkor léptetném a számlálót. Tehát olyankor jöhetne a következő lépés.

  • Szirty

    őstag

    válasz Petya85 #269 üzenetére

    Hi Petya85!

    ebben a feladatben kérném a segítségeteket,omron cpm2 és S7-300-ra.
    remélem tudtok nekem segíteni.
    mail:proci85@freemail.hu

    Őőőő...
    Tehát itt vázolod a feladatot, megadod a mail címed, ahova záproznak majd a kész feladat megoldások, vagy mit is értesz pontosan segítség alatt? :>

  • Szirty

    őstag

    válasz horvathcsaba #267 üzenetére

    Helló horvathcsaba

    Ok, én nem tudhattam mit olvastál már a témában, elnézést ha már ismert forrást ajánlottam.

    Szintén a példa hozta. Igazából az OB35-be tettem a PID-et. A S7 help az OB35-re 100ms intervallumot ír.

    Az jó lehet. Én is 100ms-re szoktam tenni a PID-et. (néha 500-ra).
    Egyébként az OB35 hívási gyakorisága állítható a hardver konfigban (de a dolog CPU-tól is függ).

    Akkor a CYLE is 100ms kell legyen? Legalábbis így értem.

    Pontosan! Tehát: CYCLE :=T#100MS

    Nekem ebből az jön le, hogy a %-ra alakítás miatt a PIW 256 nem kell, hogy 0 és 100 között legyen.

    Ez így igaz, de azt is odaírtam előtte, hogy a PVPER_ON értékét további két paraméter szerint, a PV_FAC mint szorzó és PV_OFF mint eltolás értéke szerint skálázza.
    Ezeket az értékeet azonban az általad idézett példa defaulton hagyta, vagyis aszorzó 1, az eltolás pedig 0. Tehát így NEM végez skálázást.
    Ennélfogva a PV értéke csak akkor marad 0-100 tartományban, ha a PVPER_ON-nak megadott perifériaszavad is azon belül marad.
    Egyébként a skálázás lényege az amit le is írtál. Én csak azért említettem mert minek tetted skálázós bemenetre, ha aztán meg mégsem skáláztad.

    Nekem ebből az jön le, hogy a %-ra alakítás miatt a PIW 256 nem kell, hogy 0 és 100 között legyen. Mert PIW 256 = 0 -> 0% és PIW 256 = 27648 -> 100%.

    PIW256 = 27648 csak akkor lesz 100%, ha a PV_FAC paraméterbe nem egyet teszel, hanem 0.003616898148148148-at, vagyis: PV_FAC :=3.616898e-003
    De egyébként úgy van, ahog írtad!

  • Szirty

    őstag

    válasz horvathcsaba #264 üzenetére

    horvathcsaba

    Azaz bizonyos szelepnyitottságot tartanom kell. Ezt statikusan az LMN_OFF-fal tudom beállítani.

    Hátőő.. nos igen. Kétségtelen, hogy az LMN_OFF hatással van a beavatkozó értékre, de az csak a beavtkozó érték offsetjét (eltolását adja). A legtöbb esetben ezt 0 állítjuk.

    Azonban ha a víz fogyása időben dinamikusan változik, mit tudok tenni?

    Nos ha a szintet "fokozatmentesen" akarod szabályozni, akkor a fokozatmentes mennyiségszabályzáson kívül (szelep) kell egy mérés is, ami a kád szintjével arányos értéket ad. Ezután a kád szintjével arányos mért jelet a PID PV_PER bemenetén adod meg, bekapcsolod a PVPER_ON-t és a PV_FAC, PV_OFF paramétereket úgy állítod be, hogy maximális szintnél 100, minimálisnál 0 érték keletkezzen ormalizálás után (PV kimenet).
    Vagy a mért értéket a PV_IN bemenetre adod és a PVPER_ON-t kikapcsolod. Ekkor a PV_PER-re adott értéknek 0-100 tartományba kell esnie.

    Az SP_INT bemeneten megadod neki mekkora szintet akarsz tartani a kádban (0-100 között).
    Az LMN kimeneten pedig megjelenik (0-100 tartományban) a beavatkozó jel, ami közvetlenül megadja hogy a szelepnek mennyire kell kinyitnia ahhoz, hogy a kád szintjét az SP_INT-nél megadott szinten tartsa.
    A többi paraméter beállításával pedig be lehet hangolni, hogy a kádban aszint állandó legyen attól függetlenül, hogy az elfolyó mennyiség közben hogyan változik.

    Az előző üzenetben hivatkozott PID leírás [a neten is megtalálható]
    Illetve valamennyit én is rizsáltam róla [itt]

  • Szirty

    őstag

    válasz horvathcsaba #264 üzenetére

    Helló horvathcsaba!

    Nos az általad idézett PID controler hívás szerintem a következők miatt nem úgy működik mint ahogy várod:

    1.
    I_ITL_ON:=TRUE
    Ez az integráló tag inicializálását kapcsolja be, és mivel TRUE értéket adtál neki, nálad ez aktív. Az inicializálás azt csinálja, hogy ha az I_ITL_ON:=TRUE, akkor az integráló tagbe beírja az I_ITL_VAL értékét, ami a te hívásodnál 0. Ezzel gyakorlatilag hatástalanítod az integráló tagot, mivel az nem lesz képes kimozdulni 0 értékről (amennyire tudom az I_ITL_ON nem élvezérelt).

    2.
    CYCLE :=T#10S
    A nagyobb gond szerintem ezzel lesz. A PID controller hívásának van egy olyan szabálya, hogy konstans időközönként kell meghívni! Tehát nem tehetd bele simán a programban, ahol minden PLC ciklusban lefut, mivel a PLC ciklusok hossza nem konstans. Két kézenfekvő hívási mód kínálkozik:
    - Egy élvezérelt cycle memory bittel hívod.
    - Cyclic interruptból hívod (pl. OB35)
    Mindkét megoldás biztosítja a fenti feltételt. A PID CYCLE paraméterében pedig pontosan ugyanezt az időt kell megadnod amennyi időnként hívod (ms pontossággal). Ebből tudja a PID "belül", hogyan telik az idő, ennek alpján számolja az integrálási és diff időket stb. Ezért ha ez a paraméter nem jól van megadva, akkor a PID rendszerint kiakad vagy nem megfelelően működik.
    A dolog folyománya hogy a PID legkisebb reakcióideje a hívási ciklusidőnél semmiképp nem lehet kisebb.
    A fenti 10s tehát valószínűleg nem jó, hacsak nem 10 másodpercenként hívod a PID-et.

    3.
    PVPER_ON:=TRUE
    Ha a PVPER_ON be van kapcsolva, akkor a PID-nek a mért értéket (process variable) perifériaszó formában adod meg és a PID-re bízod az érték normalizálását (0-100% tartományra konvertálását), amit a PV_FAC mint szorzó és PV_OFF mint eltolás értéke alapján számol ki. Ezek nálad 1 és 0. Tehát ettől működhet ugyan, de a PIW 256-ban 0-100 tartományban kell tartani az értéket. A Step7 alapból feltelepít egy doksit ami angolul ugyan, de elég jól leírja mi merre meddig. Ebben van is egy blokk diagram a PID-ről, ami segít áttekinteni a paramétereket:

  • Szirty

    őstag

    válasz Kairó #261 üzenetére

    Hali Kairó!

    Siemens PLC programozásában (S7 V5.4) teljesen kezdő vagyok és érdeklődnék hogy létezik-e magyar nyelvű oktatási anyag.

    És milyen S7? 200, vagy 300/400?
    A verziószámból arra következtetek, hogy az utóbbi. Meg abból, hogy nem találtál magyar anyagot (mivel S7-200-hoz van).
    Sajnos sok jóval nem tudlak kecsegtetni, mást nem tudok ajánlani mint a saját oldalamat, (ami erről szól) és a következő két magyar nyelvű doksit:
    S7-300_telepites.pdf
    S7-300_programozas.pdf

    Át lehet-e alakítani az utasításlistás formát létradiagramm formájúvá, (és ha igen hogyan) mert az már megkönnyítené a helyzetemet.

    A válasz sajnos egyszerű: Nem.
    Hacsak úgy nem, hogy magad írod át, de arra ugye nincs lehetőség nyilván, mivel pontosan értened kellene mit csinál az STL program ahhoz hogy ugyanazt megcsináld létrában. Neked meg éppen azért kell a létra, hogy könnyebben megértsd mit csinál.
    Illetve akkor lehet átfordítani, ha az STL programozók nem írtak bele létrában meg nem jeleníthető kódot. Márpedig ilyet nyilvánvalóan írtak bele, különben nem lett volna értelme annak, hogy STL-ben írják meg. Hacsak nem éppen az, hogy nehezebben lehessen visszafejteni.

  • Szirty

    őstag

    válasz Petya85 #259 üzenetére

    Helló Petya85!

    lenne még egy kérdésem vagyis kérésem egy bizonyos WSCAD tervező programot keresek, nem tudom h tudna-e valaki segíteni nekem?!?!?!

    Én WSCAD-el tervezek. (v4.5).
    Miben kell segíteni?

  • Szirty

    őstag

    válasz pepe33 #253 üzenetére

    Szia pepe33

    Egyszer használtam jazz-t, de kommunikációra nem került sor (le feltöltésen kívül).
    Amennyire emlékszem, szabadon letölthető OPC szerver van hozzá PC-re, így OPC-n keresztül az eszközt lehet kezelni.
    Túl sokat nem tudok segíteni sajnos. Nézz szét itt: [link]
    Illetve a Kvalix kft-nél nagyon segítőkészek (kvalix.hu-n megtalálod mail címűket).

  • Szirty

    őstag

    válasz horvathcsaba #252 üzenetére

    Helló Csaba!

    A kódhoz lenne hozzáfűzni valóm ha nem gond. Kizárólag építő jelleggel, nehogy cseszegetésnek vagy okoskodásnak vedd!

    - A ciklusmagon belül, vagy a blokkon belül használt átmeneti értékeket szerintem lokális változókban tárold, de globálisban. (A merkerek és a shared DB minden eleme globálisak). Ennek töb előnye van:
    1. Másik blokk, a program egyéb részei nem tudnak véletlenül se belenyúlni, nehezebben rontod el a programot (pl. nem emlékszel, hogy az MW10-et már felhasználtad az egyik blokkban ciklusváltozó ként és egy másik blokkban is fel akarod használni).
    2. Miután a blokk lefut, a változóra nincs szükség.
    Az ilyen változókat tehát lokálisként érdemes deklarálni (TEMP).

    És az az érdekes dolog állt elő, hogy csak az utolsó megcímzett elem utáni elem tartalmazott értéket. Na de rájöttem!

    Hát igen, ha alacsony (2 byte-on is ábrázolható) értékeket duplaszavakba pakolsz és azokat 2 byte-os átfedéssel rakod le, akkor a következő dupla szó felső 2 byte-ján lévő 00 mindig felülírja az előzőleg lerakott duplaszó alsó két byte-jén lévő nem nulla értéket.

    VAn-e arra lehetőség, hogy dinamikusan foglaljak le memóriaterültet? Pl 'x' elemű tömb kellene, de az 'x' a program betöltésekor még nem ismert. Vmilyen felhasználói interakció lévén derül ki.

    Tanulmányozd a "STEP 7 - System and Standard Functions for S7-300 and S7-400" címűPDF-et (a Step7 alapból feltelepíti).
    Abban is a következő rendszerhívásokat:
    - Creating a Data Block with SFC 22 "CREAT_DB"
    - Deleting a Data Block with SFC 23 "DEL_DB"
    - Generating Data Blocks in Load Memory with SFC 82 "CREA_DBL"
    - Reading from a Data Block In Load Memory with SFC 83 "READ_DBL"
    - Writing a Data Block in Load Memory with SFC 84 "WRIT_DBL".
    - Creating a Data Block with SFC 85 "CREA_DB"

    Szerintem ezekkel meg tudod oldani. De arra számítani kell, hogy egy csomó folyománya lesz az ügynek. Pl. ellenőrizni kell, hogy a létrehozandó adatblokk egyáltalán elfér-e a szabad memóriában, stb.

    vagy ezt úgy érdemes csinálni, hogy jó nagy területet foglalok le és csak bizonyos részét használom?

    Igen, sokszor ez az egyszerűbb, és nem utolsó sorban biztonságosabb.

    Azonban ez pazarlásnak tűnik.

    Bizonyos értelemben igen. De gondolj arra, hogy a PLC memóriája adott. Ha ennek a memóriaterületnek egy részét takarékosságból szabadon hagyod, az ugyanolyan pazarlás, mint az, hogy lefoglalod az egészet, de értelmes adatot valószínűleg nem töltesz bele.
    :)

  • Szirty

    őstag

    válasz horvathcsaba #249 üzenetére

    Helló Csaba!

    Jah eegen. Azt elfelejtettem írni, hogy az indirekt címzéssel vigyázni kell. Nagyon könnyen elcímzi magát a program és akkor jön az Area length error, aminek a következménye egy szép kövér CPU stop.
    Nagyon körültekintően kell csinálni nagyon alaposan tesztelni és telerakni védelemmel ami megakadályozza az elcímzést. Csúnya dolgokat tud csinálni.

    Én pont most szívtam egy gyári blokkal (Read Danfoss VLT parameter) amiben volt egy ilyen szép kis meglepetés.

  • Szirty

    őstag

    válasz horvathcsaba #249 üzenetére

    Helló Csaba!

    Én ezt szeretném csinálni:
    T DB1.DBD [MD30]
    De nem engedi, mondván "Fully qualified access is not permitted with DI or indirect addresses."
    Ezt viszont engedi:
    T DBD [MD30]
    Csak innen honnan tudom, illetve hogy tudom meghatározni melyik DB.

    Így csináld:
    OPN DB1
    T DBD [MD30]

    Az OPN DB1 "megnyitja" a DB-t. Innentől kezdve a DB számára már nem kell hivatkoznod.
    De két dologra nagyon kell figyelni:
    A DB-t az ún DB regiszterrel címzi. Az OP gyakorlatilag a DB regiszterbe teszi bele a megnyitott DB számát.
    Fully qualifyed access esetén, amikor kiírod a teljes címet, a DB regisztert akkor is használja. Ha tehát ezt csinálod hogy:

    OPN DB1
    L DBW4
    ...
    L DB6.DBW2
    ...
    L DBW8

    Akkor az első load a DB1-ből, a második természetesen a DB6-ból, de a harmadik nem a DB1-ből, ahnem a DB6-ból fog betölteni egy értéket (ha sikerül neki).

    A másik amire vigyázni kell az az indirekt címzésmód:
    T DBD [MD30]
    Itt MD30 címzi ugye a DB-t, de nagyon fontos, hogy az MD30-ban egy pointer (P#x.y) van, és nem egy sima index!!!
    A helpben érdemes utánanézni a "Using the Parameter Type POINTER" című résznél.
    A pointer alsó 3 bitje pedig bit cím. Hoyg úgy működjön ahogy szeretnéd, így csináld:

    OPN DB1
    L idebetöltöd az indexet
    SLD 3
    T MD30
    T DBD [MD30]

    Írtam erről az oldalamon, ha gondolod nézd meg:
    [link]
    Jóval kezded te is, pont az indirekt címzéssel :)

  • Szirty

    őstag

    válasz horvathcsaba #245 üzenetére

    Hali Csaba!

    Csak azért gondoltam, hogy lennie kellene vmilyen "standard" megoldásnak, mert pl. Telemecanique Zelio Logic eszközhöz (ez egy kis egyszerű család) adott fejlesztőkörnyezetben vannak nagyon jó dátumkezelő modulok.

    Vannak. Nézz szét az IEC funkcióblokkok között. De erre nyilván megint azt mondanád, hogy ezerféle funkcióval kell konvertálni. De írhatsz is ha akarsz ilyen blokkokat, és akkor használhatod máskor is. Kérdés mit is szeretnél pontosan.
    Nem hinném hogy CMP-nél találsz egyszerűbb megoldást konkrétan erre.

  • Szirty

    őstag

    válasz Szirty #241 üzenetére

    Hi!

    De ne feledd, a DATE_AND_TIME típus PCD adatokat tartalmaz!

    Természetesen nem PCD, hanem BCD, csak elírtam...
    Sorry!

  • Szirty

    őstag

    válasz horvathcsaba #240 üzenetére

    Hali Csaba!

    És napi időpontokat szeretnék összehasonlítani. Pl. elmúlt-e már 7 óra. És ezt csak hihetetlen mennyiségű rendszerfunkcióval sikerült elérnem.
    Van ennek vmi egyszerű módja?

    Van. 1 rendszerhívás. Persze akkor neked is csinálni kell valamit :)
    Én úgy szoktam, hogy az SFC1-el másodpercenként egyszer kiolvasom a rendszer órát:

    A fenti példában az idő a Date_And_Time típusú #CPUIDO lokális változóban landol, ahonnan már úgy olvasod és használod fel, ahogy akarod.
    A DATE_AND_TIME típus így néz ki:

    Mivel tudod melyik byte-on van az óra, a perc, stb, összehasonlítod közönséges komparátor utasítással. De ne feledd, a DATE_AND_TIME típus PCD adatokat tartalmaz!

    Lehet ennél is egyszerűbben, méghozzá a Time-of-day interrupt. Ez arról szól, hogy egy általad meghatározott időpontban a CPU önállóan meghív egy OB-t. Az a funkció CPU függő, a CPU hw konfigjában találod.
    Ezzel arra kell vigyázni, hogy ha a CPU órát átállítod (pl. daylight saving) úgy, hogy az állítás időben előre történik és a time of day interruptnak megadott időt pont átugorja, akkor egy exception keletkezik, amit külön kezelned kell a time error OB-ban!

  • Szirty

    őstag

    Hali!

    Siemens készített két magyar nyelvű kivonatos doksit az S7-300 PLC-ről.
    Akit érdekel az S7, [link] oldalról letöltheti...

    A dolognak azért van jelentősége, mert a Siemens szinte egyáltalán nem adott ki eddig S7-300/400 doksit magyar nyelven (scak termék katalógust).

  • Szirty

    őstag

    válasz horvathcsaba #225 üzenetére

    Helló horvathcsaba!

    Ennek programozásához egy Sipro nevű szoftvert használunk.
    [...]
    Kerestem már angol nyelvű verziót. De nem találtam. Tudtok ebben segíteni?

    Nem ismerem a sipro-t, de azért rákerestem.
    Szerintem pontosítani kellene a szoftver nevét, mert ilyen nevű villanykapcsoló, valami Simoreg Digital Converter Cabinet Unit, meg IP telefon van. De olyan siprot, aminek köze van az S5-höz nem nagyon lelt.

  • Szirty

    őstag

    válasz vottokar #222 üzenetére

    Hali vottokar!

    Esetleg valaki nem tud valami okosat az én 198-asban felvetett problémámra?

    Nem.
    :)

    Szóval én nem tudom mi lehet az oka. Esetleg próbáld megkerülni a problémát:
    Nem az upload station to PG-vel szeded le az adatokat, hanem nyitsz egy új projectet, abba kézzel beleteszed azt a CPU-t, amelyikről tölteni akarsz.
    Utána megnyitod a Hardware managert és ott nyomsz upload-ot. Ha a HW configot sikerült letölteni, elmented.
    Utána a blokkokhoz mész, megjeleníted az online ablakot, mindet kijelölöd a system data és SFC, meg SFB blokkokon kívül, Ctrl-C, átváltasz offline ablakra (ami még üres) és Ctrl-V.

  • Szirty

    őstag

    Hali!

    S7-300, S7-400 <-> ProTool, WinCC Flex

    Szokott valaki olyat csinálni, hogy OP-n a technológiai (tehát nem
    rendszer) üzeneteket nem a klasszikus, pollozós message bit eljárással, hanem Alarm_S-el
    jeleníti meg?
    (Legyen az akár block related, akár symbol related Alarm_S)

  • Szirty

    őstag

    válasz zsolo_d #216 üzenetére

    Hali zsolo_d !

    De egyébként aki PLC programozó az bármilyen hárdverrel elbír ezt te is tudod.
    (programozni kell megtanulni a többi csak utasításkészlet kérdése)


    Hát... Ebben a formában azért ez nem teljesen igaz.
    Kihagytad ugyanis a HW jellegzetességeiből adódó nehézséget.
    Hiába tudsz programozni, hiába van meg a teljes utasításkészlet, ismerni kell az adott hardvert.
    Persze egy visszajelző lámpát anélkül is lehet villogtatni, pár perc ismerkedés után.
    De egy pl. buszos kommunikációval megspékelt eszközökkel körülvett PLC-re programot írni, aminek az user manualja pár száz oldal, nem megy egyik napról a másikra ha nulláról indul az ember.

    Éspedig azért, mert akik a Siemensre írták a programot nem voltak elég körültekintőek (vagy nem tudnak programozni) és többször is elöntötte a szratyi a környéket.
    A régi rendszert nem akarták kidobni, ezért Saia PLC-k figyelik a rendszert és ha nem avatkozik be átvezi a vezérlést.


    És nem lett volna célszerűbb kijavítani a hibát, mint ezen a módon megkerülni?

    Egyébként te milyen hárdvert programozol?

    Siemens S7-300/400, Omron. Néha Logo, Unitronics...

  • Szirty

    őstag

    válasz enise #213 üzenetére

    Hali enise!

    Még elég kezdő vagyok a PLC-ben és amikor ezt a feladatot megkaptam a nyári gyakszin, kicsit megrémültem! Éppen ezért nem rajzolnád le a teljes feladatot, nehogy elrontsam véletlenül?

    [kép]

    Most valamiért olyan érzésem van, hogy helyetted csinálom meg a feladatot...

  • Szirty

    őstag

    válasz enise #209 üzenetére

    Hali enise!

    Az érzékelő egy szenzor kell hogy legyen és egy munkahengerrel kell a mbd-ot megfogni! A többi szabadon választható!

    Az érzékelő persze hogy szenzor. Ez a szó jelentése is :)
    Mind1. Szóval ha jól értem, akkor az abizonyos fogó arra szolgál, hogy a dobozban rögzíti a munkadarabot, amíg a lefújás tart.
    Ha csak ennyi és netán azt a fogót is pneumatika működteti (mert erre nem tettél semmiféle említést) akkor a fogó szelepét a korábbir ajzon párhuzamosan kötöd az időrelé tekercsével és kész. Ennek hatása az lesz, hogy amíg a doboz zárva van, a fogó megfog, amíg nyitva van, elenged.

    De ez egyáltalán nem bonyolult, mi ezzel a gond?


    [Szerkesztve]

  • Szirty

    őstag

    válasz zsolo_d #206 üzenetére

    Hali zsolo_d!

    Bizony van S7 kompatibilis Saia plc.. Régen még a színe is szürke/zöld volt.

    Inkább a kompatibilitás foka érdekelt volna.

    És nagyon jó leírások vannak mindenről... (és nem fizetős)
    Szétnéztem, de hamar egy login, username/password oldalba futottam amikor a HMI-kről akartam többet megtudni. Árlistát sajnos nem találtam :(

  • Szirty

    őstag

    válasz zsolo_d #203 üzenetére

    Szevasz zsolo_d!

    Használt PLC-m a SAIA-BURGESS, ha valakinek bármi kérdése lenne ezekhez a hárdverekhez kézséggel segítek.

    Nos nem ismerem a SAIA-t egyáltalán. Nem is néztem még jobban utána, de a nagy jövés-menés közben valahol olvastam, hogy van valami Siemens S7 kompatibilitás is arrafelé. Elvileg olyan mértékű, hogy a Step7-től sem retten vissza.
    Csak a kíváncsiságom kérdezteti ezt velem.
    Ha tudsz erről mondani valamit, szívesen olvasom.

  • Szirty

    őstag

    válasz enise #202 üzenetére

    Hali enise

    Az előző feladattal kapcsolatban van még kérdésem! Ha a mdb-ot meg kell fognom egy munkahengerrel, illetve ha nem egy, hanem több fúvóka van, azt te, hogy oldanád meg?

    Ha leírod, hogy milyen érzékelők (végállás, kapcsoló, szenzor, akármi) és beavatkozó szervek (szelep, motor, stb) áll rendelkezésre a gépen a feladat megoldásához, és a feladatot is pontosítod, akkor lesz esélyem a válaszra :)

Új hozzászólás Aktív témák