Hirdetés

2024. április 25., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  Egyéb hardverek  »  PLC programozás

Hozzászólások

(#5901) Szirty válasza industry (#5898) üzenetére


Szirty
őstag

Helló industry!

Ha pontosan tudod mi az és érdekel a dolog, akkor igen. Véleményem szerint ez a két lényeges dolog ami alapján el kell dönteni.

"Diploma nélkül mennyire van értelme erre az útra lépni?(nincs sem pneumatikai, sem hidraulikai sem mechatronika végzettségem)"

Nekem sincs diplomám és professzor sem vagyok. Egyszerűen érdekelt ez a dolog és volt lehetőségem meglehetősen behatóan foglalkozni a témával.
Mielőtt félreértené valaki innentől nem magamról "beszélek":
Azt gondolom, hogy ahhoz hogy az ember "használható" szakemberré váljon kell tehetség, sok-sok idő és nagyon sok kitartás, sok kudarc és siker. Ezt pedig az tudja adni akiben van egy csipetnyi fanatizmus is. Ez kell egyébként (szerintem) minden más szakmában is ahhoz hogy az ember nagyon jól és örömmel tudja csinálni. Ha ez nincs, akkor megette a fene az egészet és favágássá válik.

"Nincs még valami utóda a plc-nek ami egyszerűbben programozható, paraméterezhető?"

Ennek a kérdésednek nincs sok értelme. A PLC az eszköz megnevezése, nem egy minőségi szint.
Olyan mint ha azt kérdeznéd van-e az autónak utódja.

Egyszerűbben? Szerintem bármelyik programozható egyszerűen. Ha eljátszod a szükséges alap "szertartásokat" (HW konfig összeállítása pl) onnantól 3-4 utasítással is dolgozhatsz ngyon egyszerű programokat felépítve. Ehhez nem kell terepi buszt ismerni vagy programozni vagy akár csak gondolni rá.
A PLC lényege éppen az hogy a lehető legegyszerűbben lehessen velük megoldania feladatot.

Azt sem szabad elfelejteni, hogy ugyanakkor sokoldalú kell hogy legyen, mert szinte nincs is az iparban két teljesen azonos feladat és eszközök ezrei léteznek amikhez köze lehet.
Valami vagy egyszerű, (de akkor a lehetőségei erősen korlátozottak) vagy összetett (de akkor sokrétű, univerzális).
Jó példa erre a frekvenciaváltó. Minek annyi paraméter? Legyen elég a fel és lefutó rámpa, az elérendő sebesség és egy start jel kelljen neki más minek?
De akkor hogy teszünk rá kisebb vagy nagyobb motort? Hogyan használjuk szivattyúhoz, vagy emelőgéphez, vagy fékmotorhoz? Hogyan fékezzük a motort egyenárammal, vagy hogyan állítsuk meg szabadonfutással? Ha ilyen lenne a frekvenciaváltó, akkor minden feladatra külön típust kellene gyártani amelyek nem csereszabatosak egymással.

(#5902) Gusi válasza Szirty (#5901) üzenetére


Gusi
csendes tag

Annyit tennék hozzá Industry-nak szóló tanácsokhoz, hogy a fogalmazás létfontosságú.
Nem nyelvtanra gondolok legfőképp, az nekem sem jó :D
Egy gép részének működési módjának megfogalmazására. Pölö:
- ha nem nyomták meg a vészgombot, és nem nyomták meg a ki-gombot, és megnyomták a be-gombot vagy itt már be van kapcsolva a gép, akkor legyen bekapcsolva ;)
Ezt így le tudod létradiagrammba is rajzolni, vagy akárhova.
Ha nem tudsz hasonlóan fogalmazni, és kis csoportokra bontani a gép összetett műveleteit, azok kapcsolódásait, megette a fene. Ezt kell gyakorolni, szemléletet tanulni.
A hidraulika-pneumatika dolgora visszatérve: nagyon sok tanár van alulfizetve, mind örül, ha felkérik néhány órás előadásra. Párezerért simán bevállalja nagy része. Olyanokat fogsz hallani, hogy kettéáll a füled ;)

ui.: ja ájgen, a metainformáció. Erről hatalmas vitákat lehet indítani, hogy egy bit-változót hogyan nevezel el. Például "folyik a hűtővíz". Nos, ebben akkor benne van a szűrő eltömődés? Nyomáskapcsolóval hozod létre? Ha eldugul a kör, attól még nem lesz hűtése a szerszámnak, de lesz nyomása. Kicsit béna a példa, de ilyen járulékos, vagy származtatott információkat is figyelembe kell venni, és nagyon észnél kell lenni a használatánál. Nagyobb projektekben én folyamatábrázok, akár papíron, hogy ne felejtsek ki semmit. De úgyis kiszoktam :D

[ Szerkesztve ]

(#5903) tibi-d


tibi-d
tag

A Microwin telepítésére áthidaló megoldásként feltelepítettem egy virtual XP-re az SP5 változatot, majd az exe file-t visszamásoltam a pendrive-ra. Win10-re telepítéskor "anyázott" egy kicsit, de úgy néz ki, hogy felment rá. Igazából akkor derül ki, hogy jó lett-e ha rádugom a PLC-re.

[ Szerkesztve ]

(#5904) industry válasza Szirty (#5901) üzenetére


industry
csendes tag

Köszönöm szépen mindkettőtök válaszát.

Nagyon sokat segítettetek.

Nem úgy értettem hogy van e más helyette hanem, hogy a megközelítésben van e változás esetleg(fejlődés). Mint pl az autók motorvezérlőjénél, régebben dózis alapján működtek a dízelek egy ideje pedig nyomaték igény alapján.

Mit gondoltok erről a tanfolyamról? Vagy ha van jobb, heti több órában az is érdekes lehetne.

Igazából már régebben is érdekelt ez a dolog, de nem tudom állás keresés szempontjából az én eddigi végzettségeimmel releváns e.

Vissza olvasgattam és a Siemens, Omron vonalnak látom értelmét elkezdeni tanulni.

(#5905) tibi-d


tibi-d
tag

A programozással kapcsolatban én is az vallom, hogy először a célt kell felvázolni, utána kell részfeladatokra bontani, és csak a legvégső lépcső, amikor a PLC nyelvére lefordított kódot írja meg az ember. Az utolsó fázist ha tehetném, szívesen átruháznám másra, mert az már a feladat "kulimunka" része.

(#5906) Szirty válasza tibi-d (#5905) üzenetére


Szirty
őstag

"sak a legvégső lépcső, amikor a PLC nyelvére lefordított kódot írja meg az ember. Az utolsó fázist ha tehetném, szívesen átruháznám másra, mert az már a feladat "kulimunka" része"

Érdekes...
Én ezt tartom a legkreatívabb résznek ez a legkevésbé kuli munka ez igényli a legtöbb tudást, tehetséget és tapasztalatot.

(#5907) tibi-d válasza Szirty (#5906) üzenetére


tibi-d
tag

Én a gépelési részére gondoltam, mikor a kódot meg kell etetni a programmal. Az lenne a legjobb, ha ami a fejemben van az egyből "átugrana" a gépbe.

(#5908) TotoThomas válasza Szirty (#5880) üzenetére


TotoThomas
csendes tag

Köszönöm, megnézem.

(#5909) TotoThomas válasza rsf (#5881) üzenetére


TotoThomas
csendes tag

Köszönöm szépen

(#5910) TotoThomas válasza industry (#5904) üzenetére


TotoThomas
csendes tag

Szia!

Előttem már leírták a lényeget. Nekem sincs diplomám, sőt igazából 3 éve kezdtem foglalkozni siemensel.
Voltam két tanfolyamon (most készülök a 3.-ra) illetve foglalkozgattam vele szabadidőmben.
Én a siemensnél voltam tanfolyamon. Nagyon sokat segített. Tény, nem olcsó, és úgymond egy típusra koncentrálódik a tanfolyam, de azt velősen.
Keress rá a siemens tanfolyamokra.

(#5911) TotoThomas válasza Szirty (#5880) üzenetére


TotoThomas
csendes tag

A range beállítást megcsináltam, az elvileg jó, de sajnos az újra indulásos nullázás még mindig fenn ál.
A DB retentív, ott viszont a start value-t nem tudom törölni.
Így ha a plc ill kijelző újra indul, nulla értékkel indul :(

(#5912) rsf válasza TotoThomas (#5911) üzenetére


rsf
senior tag

Hogy hogy nem tudod? :F

“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“

(#5913) TotoThomas válasza rsf (#5912) üzenetére


TotoThomas
csendes tag

A start value alapból nulla. Ez lehetne más érték, de nekem ez sajnos nem fix.
A kijelzőtől jövő értéket kellen megtartani.
Tehát ha beírom hogy 100, akkor a következő indulásnál is 100.-nak kellene lennie. Ezzel csak az a baj, hogy amint a kommunikáció elkezdődik a kijelzővel, a kijelző szépen nullát küld.
Azon gondolkodom most, hogy hogyan tudom megoldani azt, hogy első induláskor visszaküldje a mentett értéket.

[ Szerkesztve ]

(#5914) rsf válasza TotoThomas (#5913) üzenetére


rsf
senior tag

A kijelzőben 0 a start value?
Próbáld ki, hogy a kijelző tápját lehúzod majd vissza.
Ilyenkor is kinullázódik az értéked?
Ha nem akkor a plc-ben történik a nullázás.
Ezt ki kellene derítened!
Üdv.

[ Szerkesztve ]

“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“

(#5915) TotoThomas válasza rsf (#5914) üzenetére


TotoThomas
csendes tag

Igen, a kijelző indul nulláról
Ezt már kipróbáltam
A kijelzőnél a start value sor üres. Ha oda bármit írok, akkor azzal kezd, de nekem ugye az sem jó.
Sajnos a gépet kezelők nem ellenőrzik vissza a gépet. Csak nyomják a gombot, így gondot okoz ez a hiba :F

(#5916) byte-by válasza TotoThomas (#5915) üzenetére


byte-by
tag

az 1200-es újra inicializál indításkor,- pl. DB módosítás esetén - vehet fel nulla értéket, de ezt nem a hmi küldi.
az 1500-as bizonyos hasonló helyzetekben csak szinkronizál.

ahogy rsf kolléga mondta csak a hmi-t lehúzva lehet kontrollálni pár dolgot.

a start value alapból üres ez rendben.
én a range-t sem használnám, mert ha a kezelőknek nincs információjuk róla, és ha a range-n kívüli értéket írnak be semmi nem történik, vagy épp nulla lesz(ez nem valószínű)
én ilyenkor írok egy programot komparátorral, hogy ha kisebb amit be lehet irni akkor a minimumra vált, ha nagyobbat akarnak beirni , mint lehetséges akkor a maxra vált.
vagy ne történjen semmi, esetleg figyelmeztetés.
a hmi-n én ki szoktam írni mennyi lehet a min. meg a max. sima text-el. pl az I/O field fölé vagy akárhová.
az I/O field input/output legyen.

ha nulla a tag akkor a plc / program az oka.
esetleg nézdd meg a hardver konfigban a cpu startup beállítását, restart esetén.

vagy interrupt ob-ban irj egy db-t aztán egy startup ob-ban azzal töltsd fel a kritikus memóriát, próbaképpen.

egyébként hova írod? input / output I/O field-be?

[ Szerkesztve ]

(#5917) rsf válasza TotoThomas (#5915) üzenetére


rsf
senior tag

Ha tényleg a kijelző irja vissza a 0-t úgy, hogy nincs start value akkor ez vmi bug lehet.
Csinálj a hmi projecten rebuild HW/SW-t aztán töltsd fel.
Ha így sem javul meg:
Frissítsd a HMI firmware-ét!
Nekem megvolt már mindkét eset. :)
Mármint volt, hogy a rebuild megoldotta a problémát, de volt olyan is, hogy csak a fw. frissítés.
Üdv.

[ Szerkesztve ]

“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“

(#5918) Szirty válasza byte-by (#5916) üzenetére


Szirty
őstag

Helló byte-by!

"én a range-t sem használnám mert ha a kezelőknek nincs információjuk róla, és ha a range-n kívüli értéket írnak be semmi nem történik, vagy épp nulla lesz(ez nem valószínű)"

Dehogy lesz nulla! A tartományom kívüli értéket nem fogadja el és egy felbukkanó üzenetben jelzi hogy amit beírt az meghaladja ezt meg ezt a tartományt (kiírja konkrétan mennyit lehet beírni).

"vagy ne történjen semmi, esetleg figyelmeztetés.
a hmi-n én ki szoktam írni mennyi lehet a min. meg a max. sima text-el. pl az I/O field fölé vagy akárhová."

Egyszer majd próbáld ki!
Ez sem fogadja el a tartományon kívüli értéket. Az érték beírása közben pedig kiírja az input field fölé hogy milyen tartomány adható meg.
Alapból tudja. Ritkán kell ennél jobb (szerintem).

(#5919) rsf válasza Szirty (#5918) üzenetére


rsf
senior tag

Ez így igaz!
Érték bevitelkor látszódik a min/max.

[ Szerkesztve ]

“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“

(#5920) byte-by válasza Szirty (#5918) üzenetére


byte-by
tag

Hallo!

1
azért irtam, hogy nem valószínű.
2
azért írtam, hogy én nem használom a range-t sem, hanem plc programból oldom meg és a hmi-re csak kiírom mennyi a lehetőség, tájékoztatásképpen.

tehát ha nincs sem value sem range , akkor az a határ amit én a programból szabok neki, és kiíratok a hmi-re.(nem mindig)

[ Szerkesztve ]

(#5921) Szirty válasza byte-by (#5920) üzenetére


Szirty
őstag

harapós vagy mostanában...

"azért irtam, hogy nem valószínű."

Megerősítettem: Nem hogy nem valószínű, hanem szilárd tény! :)

"azért írtam, hogy én nem használom"

Ezt is értettem. Nem baj ez. Azért tettem megjegyzést mert másnak a módszert úgy javasoltad ahogy javasoltad.

(#5922) byte-by válasza Szirty (#5921) üzenetére


byte-by
tag

"harapós vagy mostanában..." :) :) :)
ez jó volt.

igazatok van.

(#5923) TotoThomas


TotoThomas
csendes tag

sziasztok

HMI firmware frissítés megvolt első körben.
Amit most csinálok. HMI-ről egy data block-ba küldöm az adatot, és azt az adatot használom a program további részeiben
Amit észrevettem. A legelső data block-ot ha megnéztem a program infoban, mintha nem foglalt volna memóriát.
Csináltam egy új db-t, és ő már foglal. Lehet itt volt a kutya elásva?
Tesztelni sajnos nem tudom, de amikor lemegyek, akkor kész megoldás kell. :F

Köszönöm az eddigi segítséget! :R

[ Szerkesztve ]

(#5924) Achilles83


Achilles83
csendes tag

Sziasztok!Valaki közületek alakított már ki profibus hálozatot Omron PLC-vel?

[ Szerkesztve ]

(#5925) jooni22


jooni22
csendes tag

Sziasztok! 1500as plc-n fut ez a progi. Valamiért majdnem mindig kettőt ugrik le- vagy felfelé(pl.: 6ról 8ra, vagy 4ről 2re stb.). Tud valaki segíteni, hogy ez miért lehet?

[ Szerkesztve ]

(#5926) rsf válasza jooni22 (#5925) üzenetére


rsf
senior tag

Prelleg a bemeneted!
Mit kötöttél az i0.0,i0.1-re?

[ Szerkesztve ]

“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“

(#5927) byte-by válasza jooni22 (#5925) üzenetére


byte-by
tag

halo

tegyél egy-egy megfelelően rövidre időzített on-delay timert a bemenetek és a trigger közé.
ha valóban prellezik, hidalja át.

(#5928) Szirty válasza jooni22 (#5925) üzenetére


Szirty
őstag

Én inkább S_PEXT-et javasolnék S_ODT helyett, bár ez nyilván attól függ az adott esetben melyik a jobb:
Ha elhagy egy impulzust vagy ha az első mindenképp megjön...

(#5929) jooni22


jooni22
csendes tag

Köszönöm a segítséget, S_ODT vel már jól működik

[ Szerkesztve ]

(#5930) Gyb001


Gyb001
senior tag

Sziasztok!

Házi feladatot kell csinálnom egy siemens 200-as plc-n. Step7 MICRO/WIN-ben elkészítettem a programot. Tudtok valami olyan programot amivel le tudom szimulálni? pl: lehet állítani a bementetek, én meg látom hogy milyen kimentek aktívak, mint a plc-n

A bus station is where a bus stops. A train station is where a train stops. On my desk, I have a work station

(#5931) zolizozo80


zolizozo80
tag

Sziasztok! Beckhoff PLC-ben jártas programozóhoz lenne egy fontos és sürgős kérdésem.

Adott CX5120 Beckhoff CPU. Sajnos két napja küszködünk a persistent adatok mentésével és visszaolvasásával.
Sajnos nem tartja meg az adatokat egy újraindítást követően....

Van valakinek erre működő megoldása??

06308278295...visszahívlak ha megcsörgetsz...

Előre is köszönöm!!!

(#5932) Miertvansote


Miertvansote
tag

Sziasztok!

Nagyon kezdő vagyok még. Ma csináltam egy feladatot. Légyszi valaki ellenőrizze a feladatot. Illetve ha valaki tudna ajánlani egyéb ehhez hasonló feladatokat, akkor nagyon megköszönném. Üdv.

Itt a feladat szövegesen: Egy kétállású kapcsolóval, lehet egy lámpa villogási frekvenciáját változtatni két rögzített érték között.

Itt pedig az általam gondolt megoldás:

Köszönöm előre is.

[ Szerkesztve ]

(#5933) Miertvansote


Miertvansote
tag

Sziasztok!

Ma is csináltam, egy feladatot. A feladat kétkezes motorvezérlés. A lényegét gondolom mindenki tudja. Itt konkrétan fél másodpercen belül meg kell nyomni a két gombot, akkor indul csak el a motor, és csak addig megy amíg nyomva van tartva mind a kettő. Illetve, ha valaki megnyomja az egyiket és a másikat nem, akkor csak úgy lehet elindítani a motort, hogy elengedjük és újra megnyomjuk.

Ha ti tudtok ennél jobb megoldást, illetve egyáltalán nem jó a megoldás, akkor légyszíves valaki árulja el, köszi.

Üdv.

(#5934) Gusi válasza Miertvansote (#5933) üzenetére


Gusi
csendes tag

Szerintem jó mindkettő. Az utóbbinál megspórolhatsz egy időzítőt, hiszen egyszerre is indíthatod (vagy), és az SR-nél a két bemenetet teszed sorba az idővel.
Tulképp nem az indulás, hanem a folyamatos futás alatti megszakítás a lényeg (bár ez a feladatban nem volt), nem indulhat újra. Tök jól nyomod, gratu!

(#5935) rsf válasza Gusi (#5934) üzenetére


rsf
senior tag

:N
A megoldás egy tipikus szoftveres kétkezes indítás ami kitámasztás ellen védett!
Szóval az indítás igen is lényeges!
Amúgy elég lenne ez is: --||---||---() :)
Üdv.

“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“

(#5936) Miertvansote válasza rsf (#5935) üzenetére


Miertvansote
tag

Köszönöm szépen mindkettőtöknek a kommentet. Próbálok minden nap foglalkozni vele legalább egy kicsit. Ha esetleg van jó ötletetek, kb ilyen szinthez akkor azt szivesen fogadom és próbálom megcsinálni.

Üdv.

(#5937) joci9


joci9
tag

Sziasztok!

Manapság milyen ipar/félipari wifit kell venni? (WDS funkcióra)
Nem kell annyira atombiztos, mert van tartalék, de lényeg a 24Voltos táp.

üdv
J

(#5938) Szirty válasza joci9 (#5937) üzenetére


Szirty
őstag

Helló

Nem tudom pontosan milyet szeretnél, mi ilyet használunk:

(#5939) Miertvansote


Miertvansote
tag

Hellotok!

Ma is csináltam egy feladatot. A feladat: Nyomógombos motorvezérlés üzemidő számlálással (másodperc pontossággal).

Itt nem tudom pontosan, hogy amit csináltam, az idő meghatározására az jó-e, mennyire jó vagy pontos megoldás. Remélem tudtok segíteni, illetve a programban, kommenteltem a dolgokat, amik szerintem így működnek, de nem tuti biztos, :D . Köszi előre is az átnézést, illetve ha ezzel kapcsolatban van tippetek vagy még más hasonló feladatotok akkor ezeket szívesen venném. Köszönöm.

Üdv.

[ Szerkesztve ]

(#5940) n0rbert0 válasza Miertvansote (#5939) üzenetére


n0rbert0
senior tag

Szia.

Én az üzemidő számlálást egy dint-be számolnám, mert a Te verziód elég hamar túl tud csordulni, főleg, ha másodperc alapú a számlálás.
Illetve ajánlom figyelmedbe a clock memory-t, egyszerűbb a használata, mint timer-ezni.

[ Szerkesztve ]

(#5941) Miertvansote válasza n0rbert0 (#5940) üzenetére


Miertvansote
tag

Helo!

Köszönöm szépen, kipróbáltam és jól működik úgy is hogy csak szimulálom. Tényleg egyszerűbb, meg talán elegánsabb megoldás is.. Egy kérdésem van ezzel kapcsolatban. A túlcsordulást mire értetted ? Mert gondolom a számláló tud túlcsordulni, és végül is nekem úgy tűnik, hogy a számláló szempontjából nincs különbség, mert ugyanúgy másodpercenként jönnek az impulzusok. Vagy mi van akkor ha túlcsordul, mi a megoldás arra, hogyan lehet tovább számlálni ?

Köszönöm.

(#5942) n0rbert0 válasza Miertvansote (#5941) üzenetére


n0rbert0
senior tag

Szia.

A S_CU 0 és 999 között tud számolni, ami nem túl sok (~17 perc).
Pl. itt egy másik megoldás, ami DINT-tel operál, aminek a maximum értéke 2 147 483 647. Így, ha másodpercenként számolod az üzemórát, akkor ~70 évig el tudsz számolni.

(#5943) Szirty válasza Miertvansote (#5941) üzenetére


Szirty
őstag

Szia Miertvansote!

"Mert gondolom a számláló tud túlcsordulni, és végül is nekem úgy tűnik, hogy a számláló szempontjából nincs különbség, mert ugyanúgy másodpercenként jönnek az impulzusok."

Szerinted mi történik egy számlálóval amelyik 999-ig tud számolni, eddig elszámol, de csak jönnek továbbra is az impulzusok.
Két jellemző esetre lehet felkészülni: a 999. után jövő impulzus nem növeli tovább a számláló értékét, marad 999. Vagy 999 után 000-ra vált, majd a következő léptetésre 1 lesz, stb.

Nem nehéz belátni, hogy ez (bármelyik( milyen következményekkel jár egy üzemidő számláló esetében: HIBÁS eredmény!

(#5944) Miertvansote válasza Szirty (#5943) üzenetére


Miertvansote
tag

Helo Szirty és n0rbert0!

Először is nagyon köszön a válaszotokat. n0rbert0 különösen köszönöm a megoldást. Amikor írtad hogy használjak clock memoryt akkor ugyan úgy a számlálóra kötöttem. Ezért voltam kiváncsi hogy ilyenkor mi a terv amikor betelik. Nem gondoltam arra, hogy egy doubleinteger tipusú változóba tároljuk el az üzemidőt. Első körben sajnos még nem volt világos mi az a DINT de mostmár tudom :).

Szirty én is gondoltam arra hogy mi van akkor amikor eléri a 999-et ezért kérdeztem rá, hogy mit kell tenni amikor túlcsordul.

Üdv.

(#5945) Szirty válasza Miertvansote (#5944) üzenetére


Szirty
őstag

Helló Miertvansote!

"én is gondoltam arra hogy mi van akkor amikor eléri a 999-et ezért kérdeztem rá, hogy mit kell tenni amikor túlcsordul."

Láncba lehet kötni őket végül is... Amikor az első túlcsordul, akkor léptetsz egyet a másodikon, az elsőt nullázod. Így bármennyi sorba köthető.
De jobb (egyszerűbb) dint-ben számolni.

Nem akarom hype-olni magam, de ajánlottam már az oldalam ahol választ találtál volna a kérdéseid egy részére ha megnézted volna:

Impulzus sorozatok egyszerűen
Az idő mérése

(#5946) Tankos_G


Tankos_G
csendes tag

Sziasztok!
Két kérdésem van, remélem, hogy tudtok segíteni! :)
1. Egy többször hívható FC -be szeretnék rakni egy időzítőt. Hogyan tudom ezt megtenni?
2. Adott egy kijelző, ahol egy gombnak a gép állapotától függően más színűnek kell lennie. Binary -ba raktam, az első biten vette is szépen az adást, de a többire nem reagált. Mit cseszhettem el? :)

Előre is kösz: T

(#5947) Szirty válasza Tankos_G (#5946) üzenetére


Szirty
őstag

"Egy többször hívható FC -be szeretnék rakni egy időzítőt. Hogyan tudom ezt megtenni?"

A rejtvény része, hogy ki kell találni milyen eszközről és fejlesztői környezetről van szó?

Ha Siemens S7-300/400 és Step7, akkor átados a timer számát kívülről paraméterben így:

(Ez az FC2 tartalma)
Így kell meghívni:

Ha többször hívod, akkor természetesen minden hívásnál más és más (máshol nem használt) timert kell adni neki paraméterben, különben határincidensek lesznek.

"2. Adott egy kijelző, ahol egy gombnak a gép állapotától függően más színűnek kell lennie."

Ez gondolom valami HMI-s kérdés, a gomb a HMI felületen van. De melyiken?
Ha WinCC Flexible és a gomb appereance tulajdonságánál beállított színekről beszélünk, akkor:
Binary esetén egyszerre csak egy bit lehet aktív, különben nem színez!!

(#5948) Tankos_G válasza Szirty (#5947) üzenetére


Tankos_G
csendes tag

S7-300, persze. :)

Az időt nem kell állítani, mindig ugyanaz (nem megy el a-ból b-be, t idő alatt, akkor ad egy hibajelet).

igen, HMI és tudom, hogy egy bit aktív, olvastam a doksit az oldaladon. Erre ügyeltem, egy tesztet írtam, 0-7 ig és egyszerre egyet nyomtam. Első bitnél színez, a többinél nincs reakció. DB -ben szépen látszik a változás.

(#5949) Szirty válasza Tankos_G (#5948) üzenetére


Szirty
őstag

"Első bitnél színez, a többinél nincs reakció. DB -ben szépen látszik a változás."

Csinálj egy screenshotot a gomb appearance beállításairól és esetleg a hozzá rendelt TAG beállításairól!

(#5950) kemeny76


kemeny76
csendes tag

Sziasztok!

A Szity féle adatkezelésben szereplő példa alapján szeretnék csinálni egy adatgyűjtést.
Egy MD880 értékét szeretném DB804-be másolni 10 sor hosszan. A DB804 sorok adat típusai Dword.
Az első SFC20 blokk paraméterei: SRCBLK : P#DB804.DBX0.0 DINT 10, DSTBLK : TEMP
A második SFC20 blokk paraméterei: SRCBLK : TEMP, DSTBLK : P#DB804.DBX4.0 DINT 10.
A probléma az hogyha engedélyezem a másolást akkor a DBD0-ba lévő érték mindig csak a DBD4-be íródik.
Azt szeretném hogy úgy működjön mint a szity féle videón.
Előre is köszönöm a segítséget.

Útvonal

Fórumok  »  Egyéb hardverek  »  PLC programozás
Copyright © 2000-2024 PROHARDVER Informatikai Kft.