Hirdetés
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
Miertvansote #7795 üzenetére
A belső DC kör feszültsége ami a hálózati fesz. egyenirányítása után kialakul a pufferkondenzátorokon.
Busznak (szerintem) azért hívják, mert ezt a DC feszültséget sokszor kivezetik a készülék kapcsaira.
Több készülék esetén ezeket (megfelelő védelemmel) párhuzamosan lehet kapcsolni. Ennek célja a terhelés megosztás és az hogy az egyik motor által termelt energiát egy másik felhasználhassa (ne kelljen fékező ellenállásokkal elfűteni). -
spkkill
tag
válasz
Miertvansote #7795 üzenetére
Szia!
Tömören:
A hajtásvezérlő egyenirányítja a hálózati feszültséget,majd ebből az egyenfeszültségből dolgozik. Ezt a feszültséget fogja PWM jellé "alakítani",amivel a motort fogja hajtani.
Nagyon jó videók vannak már a témában az alapok megértésére:
[link] -
Miertvansote
tag
válasz
Miertvansote #7473 üzenetére
Sziasztok!
Nemrég írtam erről a töltögetős progiról, most végre eljutottam oda hogy foglalkozzak vele.
Leírom, hogy hogy szeretném hogy működjön a program meg hogy mit csináltam, légyszi ellenőrizzétek le. Köszi.Ha elindul a töltés, akkor az mentse el az aktuális szintet. Utána a töltés közben figyeljük hogy mennyi impulzust kapunk (literenként egyet.) Ha 50 et elértük akkor, egy másik tagbe el kell tárolni az aktuális szintet. Ekkor rögtön össze kell hasonlítani, hogy mekkora az eltérés, ha kisebb mint 100 akkorhiba van, ha nagyobb vagy egyenlő mint 100 akkor rendben van. Ha rendben van akkor resetelje, a folyásszámlálót és közben írja felül a kezdeti szint értékét az éppen aktuális értékre. Majd minden ismétlődik amíg tart a töltés. A szintérzékelő fordítva mér ugye ha emelkedik a szint akkor csökken a raw érték.
Itt hátha jobb minőségben látjátok
Üdv.
-
byte-by
tag
válasz
Miertvansote #7473 üzenetére
halo
jó lett volna tudni milyen fejlesztő környezet, milyen vezérlő, milyen jelet kapsz az áramlás mérőtől?
ha van áramlásmérő és már az elején tudjuk az aktuális szintet akkor miért kell 50 literenként
ellenőrizni a szintet és miért kell emelgetni 50 literenként a limitet? -
Szirty
őstag
válasz
Miertvansote #7337 üzenetére
Létradiagramban tömb és adat kezelés?
Kiváló ötlet! Mi baj lehetne? -
moseras
tag
válasz
Miertvansote #7335 üzenetére
Üdv!
Sajnos azt sem tudjuk, hogy milyen PLC-re készülne, és az a típus milyen változókat, milyen nyelvezetet támogat. Ez ST-ben (Codesys) készült, de a Siemens féle STL is hasonló, esetleg a tömböt máshogy kell deklarálni (ha esetleg nincs többdimenziós tömb, akkor egy dimenziós tömbbel is megoldható egy szorzással).
Röviden annyi, hogy létrehoztam tömbben tömböt, ahol 10 sor van (Kés programok számának megfelelően), és 5 oszlop (az 5 Késnek megfelelően), ez tárolja a kések méreteit. Aztán egy másik tömböt, az anyagcsoportoknak, amelyben a Késcsoportok indexeit tároltam el. Az Anyag_sorszama változóba valahogy bekerül (te teszed bele vagy kiválasztja valaki a vizualizáción), hogy melyik csoportba tartozó anyagról van szó, ez alapján kikeressük az indexet az Anyag_csoportok tömbből, majd ezen index alapján kikeressük a kések méreteit a másik tömbből mind az 5 késre. így összességében az anyag típusa alapján lesz 5 kés méreted.
Persze az nagyon fontos, hogy az index ne lépje túl a tömb méreteit, tehát ha mondjuk 20 anyagcsoport van, de te a 30-as csoportot keresed, akkor ezt Neked le kell kezelni, valamit ilyenkor tenni kell, Illetve ha 10 kés csoport van, akkor te nem hivatkozgatsz a 15-ös kés csoportra, ezt szintén Neked le kell tudnod kezelni korrekt módon (riasztás, hibaüzenet, stb).
Imi.
-
moseras
tag
válasz
Miertvansote #7333 üzenetére
-
Szirty
őstag
válasz
Miertvansote #7071 üzenetére
Tehát jön a random változó adat nevezzük "aktuális"-nak.
Szükség lesz egy átmeneti tárolóra, legyen a neve "átmeneti".
Továbbá kell egy tároló amiben megőrzöd a változás előtti állapotot. A neve legyen "előző".Az átmeneti tároló kezdetben 0 tartalmú.
Csinálsz egy összehasonlítást aktuális<>átmeneti.
Ha az eredmény igaz (vagyis a kettő különbözik) akkor előző=aktuális.
A feltételtől függetlenül ezután átmeneti=aktuális.Az előző így minden változás előtti állapotot megőriz a következő változásig.
-
DasBoot
aktív tag
válasz
Miertvansote #7025 üzenetére
Szép napot! Az indító feltétellel párhuzamosan kell "kötni" az időzítő .TT bitjét, ez addig aktív, míg a preset-ben beállított idő le nem jár, magyarul öntartást ad az időzítőnek, ilyenkor már megszűnhet a a feltétel. És persze az felhasználásnál is a .TT-t kell használni. Szóval I:1.0 val párhuzamosan a T4:0.TT-t. Üdv.: Joe
-
byte-by
tag
válasz
Miertvansote #7025 üzenetére
halo
az off delay és a felfutó él párosítás értelmezhetetlen, mivel azért off-delay, hogy akkor működjön ha a feltétel megszűnik.
egyébként a TOF -nak jónak kell lennie, de akkor indul ha az engedélyezés megszűnik, a Done bit (DN)
akkor lesz 1.
az EN bit ekkor kapcsol ki, vagyis futás alatt az értéke 0.vagyis jó a TOF, de az impulzusod működését negáld előtte.
és gondoskodj , hogy a lefutás előtt ne legyen ujra aktív, mert minden kezdődik leőről, akkor is, ha az
preset nem járt le.én sem ismerem igazán az AB-t, de emlékeim szerint ilyen.
akkor indul, ha az I:1/0 fals lesz. (és nem is lesz true , amíg le nem fut.)
-
Mazsika
őstag
válasz
Miertvansote #7025 üzenetére
Nem ismerem az ABt, de egy felfutó éllel és egy of delayel biztosan meg lehet oldani...!?
-
byte-by
tag
válasz
Miertvansote #6323 üzenetére
halo
"Igazából egész wordöt szeretném, de azt nem tudom, hogyan kell, ezt légyszi írjátok le."
pl. a SETB-vel lehet egy egész szó bitjeit egyszerre setelni.
pl. SETB w10 &15 = az utasítás a w10-es szó 16 bitjét setelei.(0 -15-ig) eléje kell egy
felfutó él, pl. ha arra van szükség egy first cycle." , A kérdésem ezzel kapcsolatban az lenne, hogy hogyan tudok a számláló aktuális értékére hivatkozni ? "
igen, a comparátor eleme lehet a számláló címe, pl. c10 , a másik operandus pl. #10 . ez a c10-et vizsgálja
#10 -hez viszonyítva a reláció beállításától függően. -
byte-by
tag
válasz
Miertvansote #6315 üzenetére
halo
azt írod, hogy a 10. kimenetet kell set-elni.
a program részletben a 10. csatorna 00-ás bitjét set-eled, a többit nem.
vagyis a kimeneti szó többi bitjét nem.
akkor most bitet kell léptetni vagy egész wordöt?az I.00 -át cseréld le egy P_on-nal , így létrehozol egy másodpercenkénti felfutó élt.
inkább a számláló elé tegyél engedélyezést.természetesen gyorsabban számol a számláló mivel 1 tized másodperces az impulzus a program részletben.
P_0_1s = 0.1 sec, P_1s = 1.0 sec.egyébként a számláló alapból felfutó élre fog számolni, tehát lehet előtte egy engedélyezés és egy P_1s.
korábban jeleztem, hogy a wsft egyirányú.
ha egész szót kell visszafelé is léptetni,esetleg használj reverzibilis számlálót és komparálj.
a számláló adott értékeinél mozgasd a szó állapotait a másik szóba pl. transfer bit utasítással.ezt meg lehet tenni jobbra is és balra is, csak sajnos több a network.
-
KLR
csendes tag
válasz
Miertvansote #6320 üzenetére
Szia. Az S7-1200 a PLC család neve, ezen belül több CPU létezik. A 1214C az egyik CPU a családból. Részletesen itt találod meg a leírásokat és specifikációkat.
-
byte-by
tag
válasz
Miertvansote #6308 üzenetére
halo
esetleg kettővel feljebb , a hozzá szólás.
azért irtam a hozzászólást, mert a MOV -val jól lehet másolni, de nem léptet.
a WSFT ahogy a neve is mutatja a word shift.
persze meg kell oldani programba , hogy ha elérte a kívánt memóriát, akkor megfordítani a forrást és a célt.
ez okozhat csak gondot, főleg ha összevissza kell a cél szó.tehát:
felfutó élre lépteti a szót a kezdő szótól N+1 irányba a cél szóig. a cél után elveszik a tartalom, de a feltöltött
memóriák tartják az állapotukat. -
byte-by
tag
válasz
Miertvansote #6301 üzenetére
halo
a WSFT-vel a source szót, ami bárhol lehet, másolgatja shift szerűen a kezdő szótól a cél szóig , egyirányú.
megfordíthatod ugyanezzel az utasítással , ha a kezdő szó és a cél szó megfordul.
ebben az esetben a control szó nem változik, független a kezdő és a cél szótól.a MOV átmozgat egy szót egy másik szóba, de nincs source szó, csak egyikből a másikba megy.
ez a klasszikus másolás, ebben az esetben ha a kezdő szó megváltozik az kerül át a cél szóba.
ha megfordítod akkor a cél szó lesz a kezdő szó és át fogja írni az eredeti kezdő szót , akkor is ha az közben megváltozott.van reverzibilis utasítás , de ez a szó bitjeit mozgatja akár két irányba is , az SFTR.
a control szó határozza meg mi történjen. -
Achilles83
csendes tag
válasz
Miertvansote #6301 üzenetére
Ha szót akarsz léptetni arra ott van a sima MOV utasítás, ha meg visszafelé akarod akkor megcseréled a címzést
-
byte-by
tag
válasz
Miertvansote #6281 üzenetére
halo
(#6281) ,(#6283) ezen hozzászólásaid alatt (vagy fölött) meg is válaszolták a problémát.
1.ki kell tölteni a hardver konfigot és akkor lesz fizikai IO-d , kijelzéssel.
2. a CIO területet, a hardver konfig alapján foglalja le.
a jelzett módon tudod monitorozni, vagy bemásolod a symbol listát a toggle watch-ba.
mindenhogy működik. -
Achilles83
csendes tag
válasz
Miertvansote #6281 üzenetére
Már privat-ban leírtam, hogy mitől kap a bemenet "I" betűt és a kimenet "Q" betűt.Ha az I/O táblába nem illesztesz be fizikai ki és bemeneti egységeket, akkor a címzésed elé nem fogja berakni automatikusan az I vagy a Q betűt.Még ha szimulálod is, akkor is meg kell csinálni mert különben csak belső változóként fogja kezelni
-
Achilles83
csendes tag
válasz
Miertvansote #6283 üzenetére
-
byte-by
tag
válasz
Miertvansote #6276 üzenetére
halo
Alt+3-al ( nem a numerikus padon) előjön a toggle watch ablak.
oda beírhatod a változókat és beállítod ahogy szükséges, a siemens-nél hasonlatos módon.ez abban az esetben azonnali eredmény ha bitet máshol nem írod.
ellenkező esetben jobb-klikk és utána force. ebben az esetben "force"-olod a bitet.
de elővigyázatosan, mert ha csak off-olod a force-ot akkor is force-olva marad, csak off-ban.
tehát cancel kell. ami az adott biten lévő force beállítást törli. -
joci9
tag
válasz
Miertvansote #6276 üzenetére
Szasza!
Az omronkft.hu oldalon van CX-Simulator leírás.
Soha nem használtam...üdv
J -
byte-by
tag
válasz
Miertvansote #6275 üzenetére
halo
az MVN (022) utasítás teszi ezt.
a source szó minden bitjét ellenkezőre állítja és bemásolja a destination szóba.
a múltkori példák fontosak a bites és szavas műveletekhez. -
Mazsika
őstag
válasz
Miertvansote #6235 üzenetére
Szia,
én használok eplant, de sablonokkal nem foglalkoztam, mire gondolsz hátha tudok segíteni!
-
byte-by
tag
válasz
Miertvansote #6235 üzenetére
halo
ezt azért írom, mert volt nekem is amihez nem szólt hozzá senki.
itt csak azt adom meg én hogyan fórumozok.
nem mindennap nézem meg , de ha megnézem akkor természetesen igyekszem vissza is olvasni.
ha nem, szólok hozzá annak több oka is lehet.(tapasztalat, relevancia, stb.)a Te esetedben én pl. az Eplan-ban nem tudok segíteni, nem használom.
de nincs értelme kiírni, hogy " ebben én nem tudok segíteni".de biztos vagyok benne , hogy olvasták mások is a felvetésed.
ha nincs válasz az nyilván nem személyes. -
Achilles83
csendes tag
válasz
Miertvansote #6169 üzenetére
Szia!Az XFER utasítást használd, az erre való.Bizonyos mennyiségű szót mozgat, ezt te határozod meg, egyik helyről a másikra.Mivel ugyanazzal a bemeneti változóval akarsz negálni, így az érték is megfog változni, ezzel számoljál, vagy 11byte-ot mozgatsz és az első byte-nak a bitjeit használod.A kukac azért van az utasításban mert az felfutóélre teszi így csak egyszer csinálja meg.
-
byte-by
tag
válasz
Miertvansote #6169 üzenetére
halo
az omron word alapú, gondokozz így, persze felbonthatod bitekre is ha akarod.
esetleg használj akár W területet és add hozzá a megfelelő fizikai kimeneteket.
nincs szükség számlálóra.first ciklus esetén felfutó éllel @SETA-tel setelj 5 szó minden bitjét. (10 bájt),
@SETA &0 &75
ekkor az első 5 szó (első 10 bájt) 1 lesz.majd ha 0.00 1- lesz, akkor resetelj 1 szó minden bitjét. ( első két bájt)
@RSTA &0 &15
az első szó minden bitje 0 lesz.ha bájtot akarsz akkor az utasítás második eleme legyen &7 .
vedd figyelembe, hogy a felhasznált szónak a többi bitje már nem használható, vagy csak körültekintően.a címzésnél figyelni kell, mert akár CIO akár W területről választasz memóriát akkor az kimenet esetén bit címet kap, ( az X szó XX bitje ) kivéve blokk utasítások esetén.
-
Szirty
őstag
válasz
Miertvansote #6169 üzenetére
Helló!
Több elvi hiba is van a megoldásodban.
Az egyik, hogy a MOVE utasítás 1 word-ot mozgat 0.00...0.15 bemenetről 10.00..10.15 kimenetekre.
Nem 10 byte-ot mozgat! 10 byte mozgatásához 5 darab MOVE utasításra van szükség, vagy blokkmozgató utasításra.A másik, hogy ha first cycle flag-gal akarsz a 10.00...kimenetekre adatot mozgatni, de a következő sorban minden ciklusban író utasítással mozgatsz adatot ugyanoda, akkor egyetlen pillanatra sem fog érvényesülni az első MOVE hatása a kimeneten, mert a mozgatott adat felülíródik.
A NEG utasításnak kell két paraméter is. Azért piros, mert nem adtál neki. De a fenti módon nem is használható. A NEG nem bitet negál, hanem word-öt.
"így első körben, hogyan tudok bájtot címezni nem pedig bitet"
Pedig az első MOVE-nál megtetted, (bár Worddel).
-
Szirty
őstag
válasz
Miertvansote #6091 üzenetére
Helló Miertvansote!
Túl sokat nem lehet róla regélni.
Mint tudjuk a PLC a programot ciklikusan hajtja végre. Tehát amikor a program egyszer lefutott, visszamegy az elejére és kezdi elölről a futtatást. Amikor végére ért ekkor ismét kezdi elölről újra és újra.
Egy ilyen lefutást nevezünk egy PLC ciklusnak.A firs cycle flag egy olyan logikai változó, amelyik 1 (TRUE) értéket vesz fel amikor az első ilyen ciklus lezajlik, majd a következő ciklus végrehajtása előtt törlődik (FALSE) és innentől inaktív (FALSE) marad.
Ami még lényeges, hogy mi az "első" ciklus.
Az a ciklus amikor a PLC elkezdi a programot futtatni pl. bekapcsolás után (tápfeszültség megjelenésekor).
Illetve amikor program módból futás (RUN) módba kerül.Rendszerint inicializálási feladatokat lát el. Vagyis amikor 1 állapotú, akkor bizonyos dolgokat alaphelyzetbe lehet vele állítani.
Pl. törölni változókat, kikapcsolni bekapcsolt dolgokat.
Pl. bekapcsolt kimenetet kikapcsolni a váratlan újraindulás ellen (áramszünet után). -
Szirty
őstag
válasz
Miertvansote #5944 üzenetére
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:
-
Szirty
őstag
válasz
Miertvansote #5941 üzenetére
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!
-
n0rbert0
senior tag
válasz
Miertvansote #5941 üzenetére
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. -
n0rbert0
senior tag
válasz
Miertvansote #5939 üzenetére
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. -
Gusi
csendes tag
válasz
Miertvansote #5933 üzenetére
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! -
rsf
senior tag
válasz
Miertvansote #5861 üzenetére
Az utolsó mondatban irja, hogy nettó összegekről van szó.
-
Gusi
csendes tag
válasz
Miertvansote #5854 üzenetére
Nemtom, hogy off-e.
Juniorként szerintem 200 alá ne menj, főleg Pesten.
Nekem seniorként (40) van annyi tapasztalatom, hogy Pesten a 350, vidéken a 250 szemrebbenés nélkül elfogadott + pótlékok. Nyelvvizsgával +100 lenne ehhez(!). A bérplafon valahol 550-600 körül van, de ott kemény az elvárás is (képfeldolgozás+FPGA).
ui.: nem vagyok diplomás, nettó összegek (kézbe), beágyazott rendszerek K+F (hw+sw) kerestem pár hónapja -
joci9
tag
válasz
Miertvansote #5798 üzenetére
Szia!
Volt fentebb több link, ott vannak.
Az omronkft.hu-n van sok leírás, tudásbázis, a PLC archívumban a CQM1H-nál magyar nyelvű használati útmutató
Meg a helpje is jó a CX-nek.
Valamint ha megnyomod az I gombot a létrában, ott kiválasztod a detail-t onnan tudsz válogatni az utasítások között, és ott van help is.Jaa meg most nézem, a program indítója mellett (start menü programok omron stb. online manuals, CX-Programmer Introduction Guide ) van részletes meg összefoglaló leírás is. Szerintem azok jók.
Amúgy a gúgli elsőként ezt hozta ki:
http://www.omronkft.hu/nostree/pdfs/software/cx-programmer/r132-e1-04_cx-programmer_introduction_guide.pdfüdv
-
byte-by
tag
válasz
Miertvansote #5798 üzenetére
kevés az információ.
kell a plc típusa, a cpu száma, a fejlesztőszoftver verziója, típusa esetleg.pl. nem minden plc-t lehet szimulálni,
a fejlesztő "LITE" verzióban a szimulátor nem működik, a verzió is csak pár cpu-hoz jó.
Új hozzászólás Aktív témák
Hirdetés
- T14s Gen5 14" FHD+ IPS Ultra 5 135U 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- XFX Speedster 319 SWFT RX 6800 16GB
- Katana GF66 12UC 27% 15.6" FHD IPS i7-12700H RTX 3050 16GB 512GB NVMe gar
- ÚJ Dell Latitude 14 5450 - 14" FullHD IPS - Intel Ultra 5 135U - 16GB - 512GB - Win11 - 2.5+ év gari
- Eladó Vízhűtő cuccok, VGA blokk, radiátor!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest