Fórum témák

» Több friss téma
Fórum » PLC kérdések
 
Témaindító: Thomas10100, idő: Nov 12, 2005
Témakörök:
Lapozás: OK   95 / 127
(#) Mate78 válasza Thomas10100 hozzászólására (») Jún 29, 2017 /
 
Szia,

de összehasonlítottad a projektet a PLC-ben futóval?
Hiányolok belőle pár dolgot, pl. hibakezelő OB, illetve ha van profibus, akkor ahhoz is kéne lenni még valami blokknak.Csinálj egy összehasonlítást szerintem, és írd meg az eredményét.
(#) Thomas10100 válasza Mate78 hozzászólására (») Jún 29, 2017 /
 
Azt jelenleg nem tudom megcsinálni, mert nincs kábelem ami profibust is tud, meg folyamatosan termel a gép.
Ezt a gyártó adta a géphez, 10éve kb
(#) Mate78 válasza Thomas10100 hozzászólására (») Jún 29, 2017 /
 
MPI-on nem tudsz rácsatlakozni?
Az hogy a gyártó adta, az csak egy dolog, attól még lehet hibás/hiányos, sőt biztos hogy az.
Így csak sötétben tapogatózás.
(#) Thomas10100 válasza Mate78 hozzászólására (») Jún 29, 2017 /
 
Termelés közben nem tudom, mert le kéne húznom az op-t
(#) naptukor válasza Thomas10100 hozzászólására (») Jún 30, 2017 /
 
Idézet:
„-M110.0 -tól a bit-ek hogyan íródnak?”

Indirekt címzéssel. Ezért nem találtad amikor a keresztreferenciáb an kerested (a Go to location is az alapján keres).

Az M110.0-tól kezdődő 48 bitet egy address regiszteres címzéssel működő ciklus írja az FC10-ben.
A 6-os NW-ben kezdődik ezzel:

  1. //Caricamento registri AR1 e AR2
  2.       L     P#0.0
  3.       LAR1  
  4.       L     P#110.0
  5.       LAR2


Itt betölti a 110.0 byte és bit címet (P#110.0) a 2-es címregiszterbe (LAR2).
Ezután a címregiszterbe töltött címmel címez több helyen. Pl. itt:

  1. //Verifica fronte di fase per SET fase
  2. DECS: AN    M [AR2,P#8.0]
  3.       S     M [AR2,P#0.0]
  4.       S     M [AR2,P#8.0]


Itt pl. megnézi hogy M118.0 FALSE-e. Ha igen, akkor bekapcsolja M110.0 és M118.0 biteket.

A ciklus végén pedig mindkét címregiszter tartalmát egy bitcímmel növeli:

  1. //Incremento puntatori
  2. DECP: +AR1  P#1.0
  3.       +AR2  P#0.1


Szóval ezt a részt nézd át!

Ajánlott olvasmány.
(#) Thomas10100 válasza naptukor hozzászólására (») Jún 30, 2017 /
 
Köszönöm átnézem!
(#) Mate78 válasza naptukor hozzászólására (») Jún 30, 2017 /
 
Ezt én sem találtam.Így lehet, hogy nem is hiányos a projekt.
Egyébként hogyan lehet rákeresni az indirekten címzett területekre, ha a keresztreferenciában nincsen benne?
(#) naptukor válasza Mate78 hozzászólására (») Jún 30, 2017 /
 
Idézet:
„Egyébként hogyan lehet rákeresni az indirekten címzett területekre, ha a keresztreferenciában nincsen benne?”

"Gyalogosan". Tehát szemmel keresve. Pointer konstansokat (P#) kell keresni meg címregisztereket LAR1, LAR2 meg szögletes zárójeleket.

Sajnos az indirekt címzésnél (jellegéből adódóan) csak a program futása közben derül ki mit fog megcímezni. De a körülötte lévő műveletekből azért ki lehet találni.
A keresztreferencia csak a közvetlen (bebetonozott) címzéseket találja meg mivel azok címe a forrásprogramban rögzített konstans.

Annyi trükk azért adódik, hogy a xref a nem teljes címeket sem fogja megtalálni ha teljes címet keresel.
Pl. azt keresed hogy DB4.DBW6

A programban meg ez van:
  1. OPN DB4
  2. T DBW6


Azt nem fogja megtalálni, pedig nem indirekt és a DB4.DBW6-ot írja.
Ezen lehet segíteni azzal hogy a goto location ablakba nem a teljes címet írjuk, hanem csak a byte címet (DBW6). Ilyenkor fel fogja sorolni az összes olyan hivatkozást ahol DBW6-hoz van hozzáférés. Ezeket egyenként át kell nyálazni és ki kell deríteni melyik DB-t nyitja meg OPN-nel előtte.

Vagy ott van a cím átfedések esete... de ez már messzire vezet.
(#) Thomas10100 válasza naptukor hozzászólására (») Jún 30, 2017 /
 
Ezt az indirekt címzést még nem látom át, elolvastam a leírást, de fogalmam sincs még róla.
A programot azért fejtem vissza, mert a karton vonalkódolvasó 4 hellyel odébb lett rakva és most ugye nem ott olvassa a kartonokat ahol kell(rosszul selejtez). Majdnem mindent kibogoztam de ez az M11x.x nem jövök rá mit csinál. Tippem az hogy az adott dolgot(pl. kódolvasás), milyen gép fok számnál végezze, de ez csak tipp.

//IMPOSTAZIONE FASE INIZIO SINCRONISMO CODICE ASTUCCIO 200°
L 40
T DB100.DBB 19 Karton kód olvasás kezdete
//IMPOSTAZIONE FASE FINE SINCRONISMO CODICE ASTUCCIO 60°
L 12
T DB100.DBB 20 Karton kódolvasás vége
//CONTROLLO FASE INIZIO SINCRONISMO
AN M 112.3
JC COD1
A DB100.DBX 240.2 Kódolvasás bekapcsolva
A(
O M 163.2 SFT Termék jelenlét BIT26
O M 167.2 SFT Kézi hívás BIT10
)
AN M 170.7 SFT Karton hiány BIT7
AN M 187.2 SFT Betoló hiba BIT2
S Q 16.4 Kódolvasó lézer bekapcsolása
//RESET FASE
COD1: A M 112.3
R M 112.3
//CONTROLLO FINE SINCRONISMO
A M 112.4
R Q 16.4 Kódolvasó lézer kikapcsolása
R M 112.4


A kódolvasó pedig ad egy kimenetet, ami TRUE ha jó a kód, FALSE ha rossz, és a kódolvasó Shift bitet ad adott helyen kitörli, a végén pedig ezt nézi a kidobásnál, ha 0 akkor kidob, ha 1 akkor kiengedi a terméket.
(#) soundst hozzászólása Júl 2, 2017 /
 
Sziasztok.

Siemens logo-val kapcsolatban lenne kérdésem. Tud-e valaki valamilyen egyszerű példagyűjteményt a net-en ami alapján el lehetne indulni a programozásban. Találtam egy magyar nyelvű leírást ami jónak tűnik. Megvan a Logo Soft Comfort program is (7.0.30), de ez utóbbi nagyon kínai egyenlőre. Tulajdonképpen egy figyelemfelhívó világítás vezérlését szeretném megoldani a LOGO-val, ezért töltöttem le a programot. Ha valami egyszerű, időzítős példa programot látnák lehet hogy egyszerűbb lenne elindulni a megvalósításban.
(#) soundst válasza soundst hozzászólására (») Júl 2, 2017 /
 
hát azt nem gondoltam, hogy ennyi válaszadó lesz hirtelen. A 4 darab kimenetre szeretnék egy-egy lámpát csatlakoztatni, és azt villogtatni a LOGO-val. Ebben kérnék némi segítséget.
(#) Gabó válasza soundst hozzászólására (») Júl 2, 2017 /
 
Bővebben: Link
Szerintem találsz megfelelőt...
(#) naptukor válasza soundst hozzászólására (») Júl 3, 2017 /
 
Idézet:
„hát azt nem gondoltam, hogy ennyi válaszadó lesz hirtelen.”


Majdnem másfél órát tudtál várni mielőtt elfogott ez az érzés?

LOGO leírás
Application examples for LOGO!
(#) dB_Thunder válasza naptukor hozzászólására (») Júl 3, 2017 /
 

Alapból nem érdemli meg a segítséget! Nem használja se a fejét se a netet.
Az ilyen emberkék mások jóindulatából élnek meg.
Ha lett volna egy komolyabb gondja akkor segítettem volna én is.
De mit tanul az ember ha mindent készen a szájába adnak.
Ennél alapabb feladat nem igazán van,mint a kimenet villogtatása....
(#) soundst válasza dB_Thunder hozzászólására (») Júl 4, 2017 /
 
Lehet hogy valakinek elsőre az is nehezére esik hogy a kimenetet egy ilyen kütyüvel villogtassa. Akkor elnézést kérek, lehet hogy egy kezdő fórumba kellett volna írnom. Ha mások jóindulatából élnék meg, akkor pedig már rég éhen haltam volna. Semmit nem adnak a számba azért fordultam ehhez a fórumhoz. A belinkelt leírás nekem is megvan, mint ahogy a siemens oldalát is felkerestem már. A videók közül viszont találok majd megfelelőt, köszönöm.
A hozzászólás módosítva: Júl 4, 2017
(#) naptukor válasza soundst hozzászólására (») Júl 5, 2017 /
 
Nem hogy órák de napok is van hogy eltelnek mire valaki itt válaszol. Ez ilyen. Legyél türelmes!

Egy általános kérdést tettél fel, én általános választ adtam.
Nem tudhatom milyen oldalakat, linkeket néztél meg és milyen doksikat töltöttél le eddig.


Segítünk ha tudunk, de fektess sokkal több energiát a kérdésedbe!
(#) Thomas10100 hozzászólása Júl 21, 2017 /
 
Sziasztok!

Módosítani akarnék egy képernyőt, úgy hogy egy kapcsolót tennék be H0.00-ra, váltókapcsolót.
De sehogy sem fogadja el a H címeket, semelyiket sem, az alábbi hibát írja amikor az adott oldalra lépek.
Fontos lenne hogy kikapcsolás után is úgy maradjon a kapcsoló bit állapota.

Omron NS kijelző és CP1 plc

Köszönöm!
(#) lukacsp válasza Thomas10100 hozzászólására (») Júl 21, 2017 /
 
A H0.00 állapotát másold át egy Q címre ami éppen szabad, ezt állítsd be a kapcsoló állapotkijelzőjének az NS-en.
A H0.00 legyen egy keep-ben a plc programban, és a keep set-reset bemenetét rángasd a kapcsoló write addressével az NS-ben. Ez a write address egyetlen bit cím, a set és reset ágat is vezéreld a felfutó élével, és tedd sorosan a H0.00 aktuális állapotával a set-ben negálva, a resetben ponálva.
(#) Thomas10100 válasza lukacsp hozzászólására (») Júl 22, 2017 /
 
Megpróbálom majd, köszi!
Most nyaralás van 1 hétig még
(#) Thomas10100 válasza lukacsp hozzászólására (») Júl 31, 2017 /
 
Jó lett, köszi!
(#) sanyi01 hozzászólása Aug 15, 2017 /
 
Sziasztok!

Miután elvégeztem egy egyetemet, Omron PLC programozóként kezdtem el dolgozni egy nyugatmagyarországi cégnél. Kapásból 5 olyan hiba állt elő a tudásomban, amire választ keresek. (az egyetemen ezeket nem oktatták)

1: Az egyetemen a CX Programmerben a programozás előtt be kellett állítani az I/O táblát (I/O table and unit setup - [0000] Main Rack). Ha valami rosszul lett beállítva, akkor a vizsgán új projektet kellett létrehozni, és egyesével minden szekvenciát újra beírni... Utólag átirni vagy javítani nem tudtuk az I/O táblát. Most a gyakorlati életben (pályakezdő villamosmérnökként) azt látom, hogy a céges programokban sehol sincs beállítva, és mégis működik ha kiveszek a szekrényből egy ismeretlen PLC-t, és feltöltöm rá a programot (csak a cpu típusa van megadva, semmi más)! Akkor hogy is van ez, mert az egyetemen vizsgán nem működött?! Akkor nem is kell beállítani a Main racket?

2: Az egyetemen a programok egyszerűek voltak, sose tanultuk a bővítőkártyák alkalamzását! CX Programmerben a lokális szimbólum táblában hogy állítom be, hogy melyik rack, melyik helyre, melyik címet kapja? A symbols táblában jobb egérgombbal a rack location-ra kattintva mindent lehet, csak ezt nem. Pl hogy állítom be, hogy az Omron OD212 8-as sorkapcsa a program 1.11-es kimenete legyen?

3: (az egyetemen ezt sem oktatták) A lokális szimbólumtáblában az Usage oszlopban van In, Out, Work. Mi az a Work? Ez a merkel? Vagy valami más?

4: Sok bemenetem van, pl 35 db. A program csak 0.00-0.15-ig engedi. Kénytelen voltam 3.00-tól folytatni. Sajnos ezek Usage-je work típusú lesz a szimbólum táblában. Hiában van az I/O táblában a Main Rack-be felvéve az CJ1W ID 211 bővítőmodul, továbbra se látja a program. (ha kihagyom az I/O táblát, akkor se látja a program). Az Usage a 3.00-tól szintén Work típusú, és nem az ID211-hez kapcsolódó. Hogy tudom az ID211-hez kapcsolni (Work helyett) In-ként?

5: A Timer és a Counter miért csak BOOL típusú lehet a szimbólum táblában? A többi típus nem használható erre. Kivétel nélkül minden BOOL. Ez gond, vagy nem, ez utóbbival ne foglalkozzak? (az első 4 probléma sokkal fontosabb)

Előre is köszönöm a válaszaitokat!
(#) dB_Thunder válasza sanyi01 hozzászólására (») Aug 15, 2017 / 1
 
Uhh..
4es pont: bemenetet 0.00-val kezdesz mivel az Omronak 16 bites szórendezése van ezért a 17. az már az 1.00. A kompakt plc-knél a kimenet 100.00-val kezdődik... Modulárisnál pedig az lesz out amit annak veszel fel a io táblában.

5. pont a T/C visszatérő értéke 0 vagy 1, tehát BOOL. Amikor lefutott vagy leszámolt lesz igen. Az aktuális érteket nem éred el.

2. nem a lokális szimbólban állítod be az IO hardvert, hanem a PLC IO táblában!
Nálam a Work pl csak a beckhoff sziget IO-i azok.

A többin még gondolkodom..
A hozzászólás módosítva: Aug 15, 2017
(#) aky87 válasza dB_Thunder hozzászólására (») Aug 15, 2017 / 1
 
Helló Thunder, akkor segítek neked is, és a kérdezőnek is,
1. IO táblát kézzel is be lehet állítani, kiválasztva a kártyákat sorrend szerint is, illetve speciális kártyákat fel kell paraméterezni pl ethernet kártyának IP címet adni... illetve az IO table ablaknál van egy olyan icon hogy Create IO erre rákattintva a progi automatikusan létre hozza a kártyák kiosztását. Bár a kérdező nem mondta milyen PLC-t használ, gyanítom CJ sorozatot. Az IO címek automatikusan kiutalódnak az slot pozíció alapján, de ezt is be lehet állítani hogy egy IO ne 0.00-tól induljon, hanem pl 10.00-tól, ezt is IO table ablakon belül kell keresni. A speciális IO-k mint pl az analóg kártyák kezdő címeit a rajtuk található címző tárcsával lehet megadni, ezek általában magasabb memória címtől kezdődnek pl 2000.00, de a manuálokban erre is kitérnek.

3. A Work is egy memória terület, ami nem őrzi meg tartalmát kikapcsolás után, igen ezeket általában merkerek-ként használják.

4. Ez a kérdés adódik az elsőből, IO címek automatikusan kiutalódnak ezért ha van pl 1 bemeneti kártyád pl 16-os akkor az 0.00-0.15-ig címződik, utána van egy kimeneti kártyád, az is 16-os az pedig 1.00-1.15-ig és így tovább, ezért célszerű a ki és bemeneti kártyákat egymás után felrakni, és nem vegyesen.

Végezetül pedig sok-sok manualt olvasni, mert ebbben sok minden benne van. Pl Omronkft.hu
(#) dB_Thunder válasza aky87 hozzászólására (») Aug 15, 2017 /
 
Most olvasom a profilodat !
Wazze Panda!
Kihagytad a szép összefoglalódból a dummy kártyák lehetőségét!
Ja tápodat visszaadnám, gólos a CQM procim! Elrohadtak a vezetősávok, nem ér annyit hogy szórakozzak vele.
Viszont nemsokára lesz egy komplett CQM sok IOval, várom a postát..
(#) aky87 válasza dB_Thunder hozzászólására (») Aug 16, 2017 /
 
Szia, igen még oldalakat lehetne írni csak erről a témáról, akkor majd valamikor lenézek.
(#) sanyi01 válasza dB_Thunder hozzászólására (») Aug 17, 2017 /
 
Köszönöm a segítséget és a válaszokat.

Modulárisról tegnap váltottam kompaktra, és véletlenül rájöttem, hogy a rack táblát csak modulárisnál kell beállítani, kompaktnál nem.
Az új típus az Omron CPE1-N60DT-D lett. Véletlenül rájöttem arra is, hogy a katalógus leirja a lábkiosztást és a címzést, pl 0.00-0.11, majd 1.00-1.11, stb... A programot elvileg holnap fogom megírni (a már megírtat újrairni a rossz címzések miatt)
(#) sanyi01 válasza aky87 hozzászólására (») Aug 17, 2017 /
 
A work-okon még agyalok, mert időközben lecseréltem az egyetemen tanult CJ1M-CPU23-at a moduljaikkal együtt egy használhatóbb (kezdő mérnök barátabb) CP1E-N60DT-D-re, ami lekezeli a sok-sok kimenetet és bemenetet, amire szükségem van. Szóval a work-ok java része így kiesett, emrt bőven van inputom és outputom. Egy work viszont még marad, annak a jele sose jelenik meg a kimenetetn, marad merkel, ami a gép áramkörének a bekapcsolt állapotát jelzi a program számára. (pár szekvenciában visszahívom bemeneti feltételként)

Manuáálokat olvasok, letötlöttem a netről egyet, abban jöttem rá tegnap, hogy semmi sem úgy van mint az egyetemen, pl a kiválasztott plc-nél az oututok 100.00, 101.00 és 102.00-val kezdődnek, ellentétben a suliban tanult (és totálisan belémrögződött) 1.00-ával ellentétben.

Köszönöm a segítséget!

Még 1 db kérdésem maradt, ezt vagy később, vagy holnap megfogalmazom (amint lesz időm rá)
(#) Norberto válasza sanyi01 hozzászólására (») Aug 17, 2017 / 2
 
Mivel sokadjára láttam helytelenül leírva, így helyesen tehát: merker

Semmi köze nincs A. Merkel-hez.
(#) sanyi01 válasza Norberto hozzászólására (») Aug 17, 2017 / 1
 
Valószínűleg összekevertem a mostanában gyakran hallott német politikus hölggyel.
(#) sanyi01 hozzászólása Aug 17, 2017 /
 
Mindenkinek nagyon szépen köszönöm az eddigi segítséget. TEhát akkor már csak 1 db kérdésem maradt: hogy csinálok több órás időzítést? Egy netes leírásban találtam a TIML-t de mivel sehol nincs rá példa, hiába közöttem vele, nem jártam sikerrel. Megpróbálkoztam azzal, hogy egy szekvenciában beállítok egy sima timert, pl TIM 0001 #6000, majd a következő szekvenciában az időzítő, mint feltétel indít egy számlálót: CNT 0002 #24. Tehát 6000*24 tizedmásodperc, azaz kész a keresett 4 órás időzítő. (a TIML helyett). A harmadik szekvenciában meghívom feltételként a c0002-es számlálót, mely indít valamit (4 órás motor forgatás, utána leáll).

A kérdésem, hogy ez jó-e így, vagy nem?
A hozzászólás módosítva: Aug 17, 2017
Következő: »»   95 / 127
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem