Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
A franciáknak elege van abból, hogy minden gyerek mobilozik
it Vissza akarják szorítani a gyerekek és tinédzserek közösségi média- és okostelefon-használatát.
-
Egyre nagyobb a balhé a Helldivers II körül
gp Úgy tűnik, hogy egyre több sötét felhő kezd gyűlni a játék körül a Sony döntése miatt.
Új hozzászólás Aktív témák
-
coco2
őstag
Sziasztok!
A kérdésem általános jellegű a vezérlők környezetében felhasznált személyi / távfelügyeleti rs-232 / 485 eszközökre. Mennyire általános az optoelektronikusan leválasztott rs-232 / 485 csatlakozás? Van-e a köztudatban olyan gondolat ipari környezetben, hogy kívánatosabb minden alkalmazott csatlakozásnál az optoleválasztott eszköz, mint a galvanikusan kötött? Itt nem csak arra gondolok, hogy egy ethernet / rs-232 távprogramozó az ethernet miatt egyébként is galvanikusan leválasztott, hanem arra, hogy azon túl még az rs-232 kimenete külön is opto leválasztott lenne / legyen.
Anno volt egy ismerősöm, aki pénztárgépeket szervizelt mindenféle rs-232 ketyerékkel, és folyamat panaszkodott az egyik-másik vihar után hirtelen taccsra menő eszközök miatt (elektrosztatikus roncsolódás gyanús esetek). Ha munkagépek környezetében mindenütt nagyon erős a földelés, akkor persze ilyen probléma aligha vetődik fel, de azért csak érdekelne, mit lát erről akár az utólagos statisztika tapasztalata, akár a szokvány, vagy akár csak a közhiedelem.
Köszönöm.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
levelko
csendes tag
Hello!
Encoderrel és omron plc-vel szeretnék fordulatszámot mérni, majd azt kiíratni egy hétszegmenses kijelzőre. Az encoder a két kimenetén egy fordulat alatt összesen 100 impulzust ad. A fordulatszám nem haladja meg az ezret percenként. Úgy tudom, hogy a PRV2 utasítás éppen erre való, gyorsszámláló bemenetre érkező frekvenciát alakít át forgási sebességgé. A baj csak az, hogy egy CPM2A cpu áll rendelkezésre és ez nem ismeri ezt az utasítást. Van erre a cpu-ra hasonló megoldás? Lehet hogy elég az egyik encoder kimenetet használni és akkor nyilván 50 impulzus lesz fordulatonként. A kijelzőre írás már nem lenne gond. A mérésnek is elég lenne 5 másodpercenként mérnie az aktuális fordulatot.
Üdv L.
levelko
-
Dezsi82
tag
válasz levelko #3353 üzenetére
Szia!
A megoldás az lehet szerintem, hogy a gyorsszámláló bemenetet beállítod frekvenciabemenetre, kiolvasod az értéket, aztán elosztod az impulzusok számával.
Ha nem tudod beállítani frekvenciabemenetre, akkor annyi a különbség, hogy minden másodpercben, a kiolvasás után nullázod a gyorsszámlálót.
Abban én nem vagyok teljesen biztos, hogy ha a 100-s felbontású AB csatornás enkóderből egy jelet kiveszel, akkor az 50-s lesz. Ha jól sejtem, akkor a 100-s felbontású AB csatornás enkóder azt jelenti, hogy 100 pozíciót tud megkülönböztetni. Ha ez így van, akkor a működési elve miatt (4 élváltás van egy ciklusban) csak 25 impulzusod lesz egy fordulaton, ha elhagyod az egyik csatornát. Kivéve, ha le, és felfutó élt is tudsz számoltatni.
Üdv -
Szirty
őstag
válasz Dezsi82 #3354 üzenetére
Helló!
Szerintem az inkrementális jeladók felbontását impulzus/fordulat (pulse/revolution) értékben adják meg attól teljesen függetlenül, hogy egy fázisú, vagy két fázisú (A és B) jelet ad.
Így ha a gyári adatban szerepel mondjuk 200 p/r és a jeladó két fázisú jelet ad, akkor mindkét fázison egy teljes fordulat alatt 200 teljes periódust lehet megszámolni. Az A és a B jelek fordulatonkénti periódusainak számát nem adják össze sose.No de van (amit Dezsi82 is említett) amikor a két fázisú jelnél nem a periódusokat számolják, hanem a jelváltásokat (éleket). A két fázisú jelben egy fordulat alatt négyszer annyi jelváltás van, mint amennyi a jeladó felbontása. Így a felbontás megnégyszerezhető (quadratic count).
A sebesség mérése nem hiszem hogy gond lenne, egyszerűen meg kell számolni adott idő alatt mennyi impulzus jön. Abból kiszámolható.
-
Onishi
tag
Üdv mindenkinek!
(Azóta már sikerült kapcsolatot teremtenem a PLC-vel, a Windows7 nem tetszett a STEP7-nek, így VirtualPC XPMode-al oldottam meg, ott már érdekes volt Local Connection fül, így frankón be tudtam állítani, működik is minden.)
Olyan kérdésem lenne, hogy az S7 PLC-kbe rakható memóriakártya pontosan mire is szolgál?
Például el lehet rá menteni bizonyos mérési adatokat, amit később ki tudok olvasni? Annyit tudok róla, hogy betöltő memória, de ez nekem nem mond túl sokat. Az enyémben jelenleg nincs, de nélküle is működik. -
Szirty
őstag
Helló Onishi!
Napjaink legjobb perverziója Win7 alatt virtuális gépen XP-t futtatni és az alatt használni a szükséges programokat.
"Olyan kérdésem lenne, hogy az S7 PLC-kbe rakható memóriakártya pontosan mire is szolgál?"
Attól függ melyik CPU és milyen memória kárty? MC, vagy MMC?
Gondolom az előbbi, mert amelyik CPU MMC-s aznem megy MMC nélkül.
Az MC-s CPU meg (bár ez CPU függő) mehet kártya nélkül is.Tehát a kérdés miatt azt kell blöffölnöm, hogy az utóbbi kártyáról beszélünk (MC).
Arra jó, hogy tárolj a PLC programot, ami alapvetően RAM-ból fut, és háttértelep védi. De a Step7 "Copy RAM to ROM" funkciójával vagy egy jól irányzott PG-be bedugott MC memóriakártyával és Step7 S7 memory card funkcióval a memória kártyára másolható a project.Ilyen esetben ha a háttértelep kimerül és a PLC feszmentes lesz, a RAM tartalma elvész a programmal és adatokkal együtt. Legközelebbi bekapcsoláskor a CPU az MC memória kártyáról szépen visszatölti RAM-ba a programot és a vezérlés működőképes marad. Természetesen a DB-k aktuális tartalma megsemmisül és az MC-ről visszatöltődött tartalommal fog dolgozni.
"Például el lehet rá menteni bizonyos mérési adatokat, amit később ki tudok olvasni?"
Adatblokkok formájában lehet.
-
Onishi
tag
-
n0rbert0
senior tag
Sziasztok!
Adott egy Omron CJ2M PLC, amivel shiftelést szeretnék megvalósítani úgy, hogy ha egy gombot megnyomok, akkor balra shiftel, ha egy másik gombot nyomok meg akkor jobbra.
Úgy szeretném, hogy 1 bit legyen 1 értékű a többi 0 és csak az első négy biten sifteljen tehát, ha eléri a 4. bitet az egyes érték, akkor ne az 5. jöjjön, hanem az 1.
Fontos lenne, hogy a shiftelés sebessége állítható legyen.Létradiagramban valósítanám meg. Eddig az SFTR utasítással próbálkoztam, de sajnos a shiftelés sebességét nem tudtam beállítani. Az SFT-vel működik, de ez sajnos csak balra siftel...
Előre is köszönöm a segítséget.
-
byte-by
tag
válasz n0rbert0 #3360 üzenetére
halo n0rbert0 !
az SFTR-t használhatod szerintem, ugyanúgy működik, mint az SFT, csak egy control szót kell alkalmazni.
ennek a szónak az utólsó 4 bitje adja össze az SFT utasításait, illetve feltételeit, kiegészülve a reverzibilitással.
pl. a control szó ( C ) : 200, akkor a 200.12-13-14-15 biteket használod , mint "data input"=200.13,
"shift input" = 200.14, "reset bit"=200.15.
ez az SFT-ben ugyanúgy megvan, de nem , mint egy szó része, hanem külön bitenként.
ezért tudsz feltételként ehhez berakni pl. egy 1s-os pulzárt.az SFTR kiegészül a "shift direction" bittel = 200.12.
ennek 1 vagy 0 állapota a jobbra vagy balra léptetés.
ezt a instruction help is irja.
de ezeket a biteket Te is kapcsolhatod akár ugyanúgy 1szekundumos pulzussal pl. a 200.14-et ami a shift input ( a példában) , és akkor már szabályoztad a sebességet, mint az SFT esetében a shift input bement elé berakott pulzusal.
persze a control szót már máshol nem használhatod.
illetve az SFTR - kell még egy feltétel ami nélkül hiába kapcsolgatod a biteket, mint egy engedély a blokkra.tehát (ha jól gondolom) az SFTR-ben ugyanúgy kapcsolod a control szó bitjeit , mint az SFT esetében a bemeneteket.
byte-by
[ Szerkesztve ]
-
Szirty
őstag
válasz n0rbert0 #3363 üzenetére
Helló n0rbert0!
Szerintem azért nem úgy működik ahogy szeretnéd, mert a léptető utasításod minden egyes PLC ciklusban lefut.
Amikor a P_1s-el kapcsolod a léptetését (W4.14-et). A P_1s 1 másodperces 50% kitöltésű impulzus sorozatot ad. Tehát fél másodpercig ON fél másodpercig OFF állapotban van. Amikor ON állapotban van (tehát fél másodpercig minden egyes lefutáskor léptet egyet az SFTR utasítás, mert a léptetés feltétele adott. Aztán fél másodpercig nem csinál semmit, majd fél másodpercig megint léptet egy csomót (hiszen fél másodperc alatt sok PLC ciklus lefut).
A megoldás az, hogy vagy "kukacos" SFTR-t használsz, ami csak egyszer fut le minden engedélyező felfutó élnél, vagy magát a léptető impulzust DIFU-zod meg, hogy csak egy PLC ciklus ideig legyen aktív.A példában a 0.01-es bemenet jobbra léptet, a 0.02-es bemenet balra léptet.
A léptetett bitek a 100.00, 100.01, 100.02 és 100.03 bitek. Amikor végig ér, ugrik az elejére az iránynak megfelelően.[ Szerkesztve ]
-
Szirty
őstag
válasz n0rbert0 #3363 üzenetére
Üdv ismét n0rbert0!
Nem írtam, de a 100-as és 200-as CH bitjeit nem használhatod másra természetesen.
Itt egy másik megoldás ugyanarra a léptetésre:
Ha ez jobban tetszik, esetleg egyszerűbbnek tartod használd ezt.
Ugyanúgy működik. A 0.00 és a 0.01 bemenetek léptetik jobbra és balra. Itt is a 100.00-100.03 biteken jelenik meg a léptetett bit. Ez nem használ SFTR vagy más bit léptető utasítást, Nem használja csak a 100-as CH-t, (nincs 200-as control word).
Persze 100CH-ból itt is csak a 100.00-100.03 biteket használhatod fel (a többi bitet is írja, nem tudod a programban másra felhasználni).[ Szerkesztve ]
-
Szirty
őstag
Helló coco2!
Nem nagyon kaptál választ ahogy látom. Sajnos sokszor nehéz mindenre 100%-osan alkalmazható általános érvényű szabályt alkotni.
Annyit mondhatok, hogy az iparban a galvanikus leválasztás mind a mérésnél mind a kommunikációban alapvető és tulajdonképpen kötelező.Jó lehet hogy ha a laptop RS232 portja nem leválasztott nem lesz baj ha rádugjuk a frekiváltóra pár percre amíg foglalkozunk vele, de sokkal valószínűbb, hogy lesz. Főleg ha a laptop tápegységén nincs földelés és főleg, ha abban zavarszűrő kondikat alkalmaztak amik a bejövő fázisról és nulláról vannak a belső GND-re vezetve. Ezzel 100V körüli feszültséget hozva létre a GND-n. Egy ilyen potenciálkülönbség csatlakoztatáskor röhögve agyonverheti akár az eszköz meghajtóját, akár a laptop RS232 portját.
"Ha munkagépek környezetében mindenütt nagyon erős a földelés, akkor persze ilyen probléma aligha vetődik fel"
Ez nem teljesen van így!
Hiába van 240 mm2 rézzel bekötve a betáp és így a PEN is, meg van EPH, a gépek között kiegyenlítő áramok folyhatnak ez több tíz A is lehet, ami több V-os potenciálkülönbséget hozhat létre a földpontok között.
Ez komoly zavaró jel egy analóg mérésnél vagy kommunikációs kapcsolatnál.Gyakorlatilag minden ipari PLC be és kimenete legyen az digitális vagy analóg le van választva a PLC elektronikájától.
-
byte-by
tag
válasz n0rbert0 #3362 üzenetére
halo n0rbert0 !
Szirty jól mondja.
azért nem always_on-t tettem az utasítás elé a példában , hanem valamilyen bemenetet, mert ez együtt működik a feltételekkel.
vagyis akkor lesz 1 ha azzá teszed, a "shift input "-nak is feltétele, illetve inkább "és" kapcsolatban van.
a pulzus egyszer 1 feltétel, egyszer 0, időalaponként.
de ha akkor 0 amikor a shift input 1 akkor nem lesz léptetés,ha meg 1 és a shift input is 1, akkor minden ciklusban léptet ha a reset 0. márpedig Te nyomógombot akarsz használni.de, jó példák amit Szirti írt, még én sem próbáltam, kíváncsi vagyok.
byte-by
[ Szerkesztve ]
-
byte-by
tag
válasz n0rbert0 #3368 üzenetére
halo !
"Az én példámra visszatérve...
Akkor az sem lenne jó megoldás, ha az impulzust felfutó élre tenném? "ez nagyjából az amit Szirty "kukacos" SFTR-nek mondott.
ez magát az utasítást teszi "felfutó"-vá, vagyis a bemenet 1 állapota alatt csak egyszer fut le, majd a következő 1-nél megint csak egyszer.byte-by
[ Szerkesztve ]
-
Onishi
tag
Üdv!
Olyan kérdésem lenne, hogy egy általános PLC vezérlésű rendszer esetében mekkora keresztmetszetű vezetékeket szokás v. ildomos alkalmazni? A vezérlőszekrény kialakításra gondolok, mondjuk a PLC és a sorkapcsok között. 0.75 mm^2 megfelelő? Vagy elég a 0.5 mm^2 is? Van valamilyen ökölszabály?
-
Szirty
őstag
Szevasz Onishi!
Nos az alkalmazott vezeték keresztmetszetén "át kel hogy férjen" akkora áram, amekkora a vezeték védő biztosíték (olvadó betét, vezeték védő megszakító, stb) névleges árama.
Ha nem így lenne, akkor egy zárlat tüzet okozhatna.Bemenetekhez néhány A-es védelem és 0.5 mm2 vezeték megfelel. A választott védelemnél és a keresztmetszetnél figyelembe kell venni a bemeneti modul fizikai adottságait. Pl. egy 32 pontos bemenetre valószínűleg nem lehet bekötni 32 darab másfeles vezetéket!
-
-
Onishi
tag
Köszönöm a válaszokat. Ma is okosabb lettem valamivel :-)
-
n0rbert0
senior tag
Sziasztok!
Van egy újabb problémám...
Van egy digitális bemenetem, aminek a frekvenciáját szeretném megmérni. Van-e olyan utasítás létradiagramban, ami képes erre?
Előre is köszönöm a válaszokat. -
Szirty
őstag
válasz n0rbert0 #3375 üzenetére
Helló n0rbert0!
Nem tudom hogy van-e ilyen utasítás vagy kész funkció, de megoldható:
- HW-es gyors számláló bemenettel
- Szoftveresen ha a jel frekvenciája kicsi (<10Hz) a kitöltési ideje tényezője pedig olyan, hogy a rövidebb idejű állapot garantáltan és mindig meghaladja a PLC legnagyobb várható ciklus idejét. -
Szirty
őstag
válasz sörösló #3373 üzenetére
Helló sörösló!
Pedig sok jelkábel ere 0.25-ös (pl. encoder kábel, analóg méréshez használt kábel ere).
Vagy a pneumatikában, hidraulikában használt hall elemes érzékelők gyári beépített vezetékének ere 0.1mm2 sincs. Már a 2A-es olvadóbiztit sem tudja kiköpni, a vezeték teljes hosszában füstöl és beleolvad a többi érbe :-/ -
n0rbert0
senior tag
Igazad van.
Egyébként egy vízórából szeretnék átfolyásmérőt csinálni egy hall-szenzor segítségével. Az impulzusok számát tudom számolni sima counterrel (egy bizonyos frekvenciáig, ami kb 100Hz) , de nekem a frekvencia kellene. Ami végül is egy időtartam alatt (pl 1s) az impulzusok száma. Én valami ilyesmit szerettem volna megvalósítani. -
Szirty
őstag
válasz n0rbert0 #3382 üzenetére
Helló n0rbert0!
100Hz-et biztonsággal csak akkor tudsz érzékelni, ha a PLC ciklus ideje 5ms-nál kisebb és akkor a bemenet késleltetését nem is számoltam.
Ha ez teljesül, akkor ok.Szóval meg kell mérned, hogy adott idő alatt hány darab impulzus jön. Pl. másodpercenként méred, akkor a kapott szám a frekvencia lesz Hz-ben.
Pl. jön 28 impulzus másodpercenként, akkor a frekvencia 28 Hz.De mérheted (elvileg) az impulzusok között eltelt időt is, akkor annak reciprokaként kapod meg a frekvenciát.
Pl. ha ezred másodpercben méred akkor kHz-ben kapod az eredményt. Mondjuk két impulzus között mérsz 20 ms-ot, akkor a frekvencia 1/20=0.05 kHz = 50 Hz.
De ilyen rövid időt nem fogsz tudni mérni szoftverből PLC-vel. -
Szirty
őstag
válasz n0rbert0 #3384 üzenetére
Helló n0rbert0!
A modul képessége egy dolog.
De hiába képes a modul 8ms késleltetéssel beadni a jelet a PLC-nek ha a PLC ciklus ideje pl. 70 ms!
Akkor a PLC-nek 140 ms időre van szüksége, hogy garantáltan észrevegyen egy teljes jelperiódust.
Éspedig a PLC ciklus idejét annak feldolgozási sebessége és a rajta futó program határozza meg és ráadásul általában még csak nem is konstans!
Több üzeneten keresztül épp erre próbálom felhívni a figyelmed.
Lehet javítani valamennyit a helyzeten a bemenet közvetlen kiolvasással és megszakítás kéréssel (ha a bemenet erre képes). De ha a ciklus idő a feldolgozandó jel periódus idejével összemérhető, akkor hardveres feldolgozás szükséges, és nem másért, hanem ezért említettem a high speed countert, ami éppen ilyen. -
Szirty
őstag
válasz n0rbert0 #3387 üzenetére
Helló n0rbert0!
Jó irányba indultál ez a módszer megfelelő lesz.
De van néhány megjegyzésem:A 3-as rung-ban a BIN(023) W6 W6 szerepel ha jól látom. Ez így a W6 BCD tartalmát (ide másoltad a timer pillanatnyi értékét (Present Value) ami BCD, ez ok. De a BIN a W6-ba teszi vissza a konverzió bináris eredményét. Még ez sem lenne baj, de BIN előtt always on flag van, tehát ezt az utasítást a PLC minden ciklusban végrehajtja, miközben az 1-es rung-ban lévő MOVE csak egy felfutó élre. Ezért ha már egyszer átkonvertálta a BCD számot binárisra, akkor, a következő ciklusban újra át akarja konvertálni de akkor ott már bináris szám van.
Sajnos néhány bináris szám értelmezhető BCD számnak is, más bináris szám pedig nem.
Ezért én a BIN-t a MOV alá tenném, hogy mindig egyszerre és egymás után hajtsa végre őket.De egyszerűsíthető is a dolog, mert nincsen szükség a MOV-ra mivel a BIN az eredményt máshol is tárolhatja nem csak ott ahonnan a forrást veszi, így a BIN egyben MOV is
A timert én elengedném a max értékig #9999
Ha nem akarsz BCD-BIN konverziókat, akkor használhatsz bináris timert is (TIMHX).
Vagy 1ms felbontású bináris timert (TIMHHX)Bár a mérés pontossága nem lesz 1ms, mert a CPU ciklus edejével szórni fog.
"A reciprok műveletet hogy lehet legegyszerűbben megoldani?"
Elosztod 1-el az értéket
Persze érdemes lebegőbontos számmal csinálni, -
n0rbert0
senior tag
Igen, tudom, hogy csak egy osztás, de hogy konvertálom át a word-öt valós számmá?
Próbálkoztam, hogy az eredmény átadom egy st funkcióblokknak, de ott nem tud közvetlen konvertálni csak int-ből. Ha először int-é utána meg real-é konvertálom, akkor nem lesz jó az eredmény.[ Szerkesztve ]
-
rsf
senior tag
Szia Szirty,
mi lehet olyankor amikor a System Diag. hibát jelez, de nem látok semmi hibát a listában?
A Cpu egy Siemens 317-es.
Köszi.“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“
-
rsf
senior tag
Fut minden de errorban van a CPU és a hiba listában csak area lenght hiba van.(Ez induláskor mindig beleugrik ettől nem szokott bepirosodni a cpu)
Ezt több hónappal ezelött láttam az egyik gépünknél, de majd holnap de. ránézek újból, mert most nincs nálam a token.
Üdv.[ Szerkesztve ]
“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“
-
Szirty
őstag
Helló rsf!
Akkor mégiscsak van ott hiba nem? :-)
Az area length error oka rendszerint elég durva programozási hiba egyébként (indirekt címzésnél könnyű belefutni és nehéz megtalálni).
Azt jelenti, hogy a program valahol olyan (rendszerint DB) címre akar írni vagy onnan olvasni ami nem létezik.Azért nem áll STOP-ra a CPU, mert a hibán valószínűleg tüneti kezelést alkalmaztak oly módon, hogy raktak a programba egy üres OB121-et (programming error OB).
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Házimozi belépő szinten
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Luck Dragon: Asszociációs játék. :)
- Androidos tablet topic
- bb0t: Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Netfone
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- iPhone topik
- További aktív témák...
- Lenovo Legion 7, 16,0"WQXGA, Ryzen 9 6900HX, 32 GB DDR5, RX6850M XT 12 GB, 1TB SSD, 1,5+ év garancia
- Corsair RM850e 850W Gold Moduláris Tápegység
- Samsung Odyssey Neo G9 Super Ultrawide Gamer Monitor!49"/Mini LED/5120x1440/240hz/1ms/+Ajándék
- Apple Macbook Pro 16" 2019 i7-9th 6Magos 32/512 -75% Touch Bar HUN Radeon Pro 5300M 4GB 3K Retina
- Apple Mac mini M2 2023 8GB 256GB + Xiaomi Mi Desktop 27"-os FullHD monitor egyben
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen