Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sh4d0w: Kalózkodás. Kalózkodás?
- gban: Ingyen kellene, de tegnapra
- Mr Dini: Mindent a StreamSharkról!
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- btz: Internet fejlesztés országosan!
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
Mr. Cutter
#190
üzenetére
Hali Mr. Cutter!
Oops, elkerülte a figyelmem ez az üzenet, sorry!
Hajtásvezérlést kellene megvalósítanom, meg van határozva elfordulásjeladóval, hogy mennyit forduljon el, de én csak az utasításokat tudom és nem, hogy milyen mem területre írjak és a cx-en belül sem tudom megnézni a mem területeket.
Tehát van a hajtás, azon encoder, ami be van kötve a PLC-be, meg van egy PC, ami írja a PLC memóriáját.
A feladat meg az, hogy a hajtással meghatározott elfordulásokat kell elvégeztetni ha jól értem...
Több részlet kellene a dologról.
Miféle memóriáról van szó, és oda miért akarsz írni, milyen adatokat és milyen célból?
Milyen utasításokról van szó? (amiket említettél).
A PLC programot te írod, vagy az már adott? -
Szirty
őstag
válasz
Mr. Cutter
#132
üzenetére
Hali Mr. Cutter!
Látom Szirty vannak jócskán kérdések feléd,
Bárcsak időm is volna...
Az a legjobb benne, hogy erre sikerült nekem is nagynehezen rájönni és csak utána olvastam, amit írtál.
Ez abból a szempontból nem jó, hogy fölöslegesen írtam, de abból a szempontból jó, hogy az marad meg a legjobban, amire az ember magától jön rá :>
A következő probléma az, hogy frekvenciaváltót kellene kezelnem, ez lenne végülis a feladat egy része, mert motorhajtást kell valahogy megvalósítanom.
Valamilyen digitális jelet kellene küldenem a PLC-ről? Milyen memóriaterületet kellene használnom, hogy működjön a motor a frekvenciaváltón keresztül?
Nos nagyban függ ez attól, hogy mi a feladat. Vagyis pontosan mit kell csinálnia a frekiváltós hajtásnak?
Elég csak megállítani és elindítani, vagy a sebességet is kell változtatni? Ha kell, akkor elég fokozatokban, vagy fokozatmentesen kell? Fékmotor van-e a frekiváltón, ha igen, akkor a fék elektromechanikus, vagy nem? Ha fékmotor, akkor tart-e terhet, vagy nem?
stb, stb.
Most pofátlanul megint a saját oldalamat fogom ajánlani: [link]
Van ott pár sor a fékmotorok frekvenciaváltós meghajtásáról és a dolog problémáiról. A te kérdésedet valószínűleg csak érinti, de hátha megtudsz belőle valami hasznosat.
Szóval induljunk ki a legegyszerűbb esetből, ami egyben valószínűleg a leggyakoribb is:
Minden frekiváltónak vannak digitális bemenetei (is). Ezek a bemenetek mindeneféle funkcióval bírnak, általában a frekiváltó paraméterezésével ezeket lehet változtatni, de sok olcsóbb frekiváltónál némelyik bemenet funkciója fix és van néhány amelyik változtatható (multifunkciós bemenetek).
Ezekre a bemenetekre általában 24V DC jeleket kell kapcsolni, vagy kontaktust.
Itt egy példa:![[kép] [kép]](http://szirty.uw.hu/VLT1/Image3.png)
Ezeket a bemeneteket közönséges relés PLC kimenetekkel vagy 24V-os tranzisztoros kimenetekkel, vagy közvetve, relékontaktusokon keresztül problémamentesen lehet vezérelni.
Az én környezetemben gyakori amikor a PLC a frekiváltónak ezeken a digitális bemeneteken keresztül az alábbi parancsokat adja:
Előre, hátra, lassan, 2.rámpa kiválasztás, hibatörlés.
A vezérlés igen sok változata megvalósítható ilyen kontaktusos módszerrel is.
A fenti esetben a sebességeket (gyors és lassúmenet sebessége) a frekiváltó paraméteribe írt értékekkel lehet előre megadni.
Általában megoldható az is, hogy több lépcsős frekvencia meghatározás legyen. Vagyis van pl. 3 PLC kimenet, aminek a kombinációjával 8 különböző sebességlépcső állítható be. Ilyenkor minden sebesség lépcső sebessége egy-egy frekiváltó paraméter szerinti lesz.
Ha arra van szükség, hogy a PLC fokozatmentesen tudja állítani a sebességet, akkor ezt megteheti egy analóg kimeneten keresztül (0-10V vagy 4-20mA általában) ami a frekiváltó analóg bemenetére van kötve (ilyenje gyakorlatilag mindegyiknek van). Akkor a motor sebessége a PLC analóg kimenetére küldött jellel lesz arányos.
A leg összetettebb mód, de a legtöbb funkció ezzel valósítható meg, amikor a PLC és a frekiváltó között soros kommunikációs vonal van kiépítve. PL RS 232, vagy valamilyen szabványos ipari busz (Modbus, Profibus, DeviceNet, stb).
Ebben az esetben gyakorlatilag bármit meg tud tenni a PLC a frekiváltóval amire az csak képes. Erre egy leírást ízelítőül itt találsz: [link] -
Szirty
őstag
válasz
Mr. Cutter
#112
üzenetére
Hali Mr. Cutter!
Ez a program elviekben azért íródott, hogy 2 számítógép kommunikáljon egymással rs232-n keresztül.próbáltam küldeni a plc-re azt a karaktersorozatot, amit írtál:
@01RD00000009FCS*CR (plCS= 57), nem reagált a plc,
Nos amikor írtam a példát, gondoltam megnézed a hostlink PDF-et
Az FCS egy ellenőrző összeg (Frame CheckSum), amit az üzenet tartalmából XOR-al kell kiszámolni, ezért minden üzenetnél más és más.
vagyis nem egy fix karaktersorozat.
Ha egy host link parancs végén, amit a PLC-nek küldesz, nem megfelelő az FCS, a PLC azt feltételezi, hogy az átvitel hibás, az érkezett adatcsomag sérült, és a parancsra nem reagál!
A CR pedig a kocsi vissza karakter kódja ASCII-ban (a hostlink alapvetően ASCII).
A host linkben ([link])
Pl. a HR olvasás parancs így néz ki:![[kép] [kép]](http://szirty.extra.hu/misc/HRRead.png)
Tehát:
@ (kukac, ami 40h)
Egység száma ASCII-ben, vagyis ha az egység száma 01, akkor a 30h és 31h kódokat kell küldeni, mivel a ''0'' karakter ASCII kódja hexa 30, az ''1'' ASCII karakter kódja hexa 31
Utána jön a parancs, ami két karakter (két byte) ezesetben RH (HR area read). A ''H'' betű kódja 38h, az ''R'' kódja 52h.
Ezután négy karakteren (szintén ASCII-ben) meg kell adni a kiolvasandó terület első rekeszének címét, majd 4 karakteren a kiolvasandó rekeszek számát, decimálisan. Tegyük fel, hogy a HR6 és HR7 tartalmát akarod olvasni. Akkor a 0006 és 0002 lesz a két sorozat, ami ASCII-ben így néz ki: 30h, 30h, 30h, 36h, majd: 30h, 30h, 30h, 32h
Ezt követi a két byte FCS ASCII-ben. Ezt ki kell számolni az előző karakterkódok alapján, amit a hivatkozott PDF 77. oldalán lehet megtalálni (67. oldal a PDF számozása szerint).
Az eddigi karaktersorozat hexában tehát az alábbi:
40h, 30h, 31h, 38h, 52h, 30h, 30h, 30h, 36h, 30h, 30h, 30h, 32h
Ebből kell sz FCS-t kiszámolni az alábbi ábrának megfelelően:![[kép] [kép]](http://szirty.extra.hu/misc/FCS.png)
Konkrétan: 40h XOR 30h XOR 31h XOR 38h XOR 52h XOR 30h XOR 30h XOR 30h XOR 36h XOR 30h XOR 30h XOR 30h XOR 32h
Ennek eredménye ha jól számolom: 2Fh
Ezt át kell alakítani két karakteres ASCII kóddá: A ''2'' karakter hexa kódja: 32h, az ''F'' betű kódja: 46h.
Ezt egy csillag karakter követi 2Ah kóddal, majd jön egy CR kocsi vissza karakter, ami 13h.
A HR6 és 7 kiolvasásának komplett parancsa tehát:
40h, 30h, 31h, 38h, 52h, 30h, 30h, 30h, 36h, 30h, 30h, 30h, 32h, 32h, 46h, 2Ah, 13h
Feltéve persze hogy 1:N kommunikáció van beállítva és a lekérdezett PLC ''unit number'' 01-re van beállítva.
A válasz formája, amiben a PLC visszaküldi a lekérdezett HR-ek tartalmát, szintén benne van az említett PDF-ben, de terjedelmi okokból ide inkább nem írom le.
Ha gond van kérdezz!
Mr. Cutter-nek:
Ha a kommunikáció 1:1 jellegű (és a beállítás is 1:1, nem csak a fizikai kiépítés, mivel 1:N kommunikáció két eszköz között is lehetséges), akkor ha jól emlékszem nem kell elküldeni az egységszámot, és az FCS kiszámítáűsában sem vesz részt természetesen. De a részletekért nézd meg a PDF-ben. -
pepe33
tag
válasz
Mr. Cutter
#84
üzenetére
Szerintem sima soros protokolt használj. Az a legegyszerübben ha terminal programmal teszteled.
SAIA PLCkben legalábbis igy van.
Sima 9600,8,n,1 és text-ket küld és fogad a többi eszköznek.
Ha valmi gond van akkor egyszerü monitorozni is.
Mondjuk PLC progi ba beirod hogyha a soros bementről kap 'ON 1' textet akkor 1-es kimenet bekapcsol.
Terminálból vagy c++ ból meg küldesz neki sima textet.
Szerintem OMRON is tud ilyesmit. -
Szirty
őstag
válasz
Mr. Cutter
#88
üzenetére
Helló Mr. Cutter !
A probléma az, hogy kiadták nekem a feladatot, csak a tanár ennyit mondott működtessem a PLC-t, azt nem mondta, hogy miként, neki nem volt ideje elmagyarázni
Amíg nem mondják meg mi a feladat, kizárt hogy meg tudd oldani. Hacsak nem arra megy ki a játék, hogy sok-sok oldalt teleírj érthetetlen műszaki szöveggel és ábrákkal
Mondták nekem mások, hogy kell egy kommunikációs protokoll
Ez itt a HostLink
Néztem én is a típushoz kapcsolódó linkeket, csak nem tudok még mit kezdeni vele.
Ha C-ben írsz egy programot, ami elküldi a soros porton az alábbi karaktersorozatot:
@01RD00000009FCS*CR
ahol FCS egy két karakteres ellenőrző összeg amit ki kell számítani és CR a kocsi vissza karakter, akkor a PLC visszaküldi a DM0000-DM0009 adatmemória rekeszeinek a tartalmát sorban egymás után.
A visszakapott forma hasonló a fentihez (lásd az előző üzenetben hivatkozott PDF 83. oldalán.
- soros vonalon a PLC-be átküldött adatokkal vezérelni a célgépet
- PLC program elkészítése
Ez megoldható. Jó irányban rohamozol
-
Szirty
őstag
válasz
Mr. Cutter
#84
üzenetére
Helló Mr. Cutter!
Kaptam egy PLC-t és működtetnem kellene,
Ki kell találni hogy milyen, vagy elárulod?
Írni egy programot C++ -ban, ami működtet OMRON PLC-t RS 232-n keresztül.
Programom már van ami kommunikál soros porton keresztül egy másik PC-vel, de hogyan tudnám megszólaltatni a PLC-t?? Milyen adatokat kellene továbbítanom a PLC-re C++ -ról, hogy működjön??
Ismerned kell a PLC által használt protocolt. Nincs nehéz dolgod, mert a protocol nem titok. Az omron többet is tud.
Én most kapásból csak a régi, jó öreg HostLink protocolról tudok neked infót adni.
Ezt mindegyik omron ismeri gyakorlatilag amin van soros port, de kissé már kiment a ''divatból'', mert az újabb PLC-kben lévő nagy címtartományok és speciális memória területek nem érhetők el vele 100%-osan. Viszont a HostLink egyszerű, ASCII alapú. Könnyű monitorozni akár egy terminál programmal...
Ide kiraktam pár napra: [link]
Ez HostLink adapterekről szól, de benne van a protocol részletes leírása.
Ha a HostLink nem elég, akkor a FINS-re kell átnyergelned. Az hasonlít a HostLinkre, de bináris és többet tud.
Bár nem értem én sem mit értesz ''Omron PLC működtetésén''. Működik az magától, ha írsz rá programot
A kommunikációval lehetőséged van a PLC belső változóinak lekérdezésére, megváltoztatására, üzemmód változtatásra, program le és feltöltésre, stb. -
Grabowski
csendes tag
válasz
Mr. Cutter
#84
üzenetére
Konkrétan melyik Omron és mit jelent a ''működtetni''?
Új hozzászólás Aktív témák
- Profi! HP EliteBook 840 G9 Hordozható Érintős Ultrabook Fémház 14"-40% i7-1265U 32/512 Iris Xe FHD+
- Villám! HP EliteBook 840 G9 Hordozható Érintős Ultrabook Fémház 14"-40% i7-1265U 16/512 Iris Xe FHD+
- Asztali PC , R5 8400F , 1660 super , 16GB DDR5 , 512GB NVME
- ÚJ,2 ÉV GAR- GAMER PC: RYZEN 5 4500-5600X +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Asztali PC , R5 8400F , RX 5700 XT , 16GB DDR5 , 512GB NVME , 500GB HDD
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- ÁRGARANCIA!Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 5060 Ti 16GB GAMER termékbeszámítással
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024, 91% Akkumulátor
- REFURBISHED - DELL Performance Dock WD19DCS (210-AZBN)
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest


