Hirdetés
Új hozzászólás Aktív témák
-
Szirty
őstag
Helló DizzyP!
PtP-s CPU-t még nem használtam, de külön PtP-s CP-t igen.
Ahhoz adtak egy CD-t azon voltak olyan program blokkok amikkel lehet kommunikációt megvalósítani (azok nélkül is lehet ha megírja magának az ember).Szóval azoknál a működés lényege az, hogy van egy adási puffer (egy DB blokkban) meg egy vételi puffer.
Amikor adni akarsz valamit, azt beleteszed az adás pufferbe, maly megcsiklandozod az adással foglalkozó blokkot a request bemenetén, erre az elküldi. az adási puffer tartalmát (jelzi is amikor küldi meg azt is amikor készen van.A vétellel foglalkozó blokk folyamatosan figyeli jött-e valami. Ha igen, azt belepakolja a vételi pufferbe és szól hogy adat jött.
HW configban sokmindent be lehet állítani az adatsebességen, bitek számán paritáson kívül is, azt át kell nézni. Pl. az adás végét jelző karaktar (ha van ilyen) időzítések, legyen-e adatfolyam vezérlés, felülírja-e a vételi puffert, stb.)
Sajnos nem tudom a PtP CPU-nál ez a dolog hogy néz ki, de valószínűleg ehhez hasonló lehet.Közben megnéztem (bár nem tudom az öt féle 314C-2DP PtP közül melyik van neked, én találomra a 6BG03-at néztem) nagyon hasonlóak a beállítások.
Nem akartam túllihegni a válaszom, nem ismerem a háttered és ezek szerint a kérdést is félreértettem...
Amikor én ezzel foglalkoztam, a PLC---Eszköz összekapcsolása mellett párhuzamosan az eszköz adás vonalára rákötöttem a PC soros portját is (egy RS422/485-ös átalakítón keresztül). Így azt az adatot amit a PLC kapott, a PC is megkapta és egy terminálprogrammal (ZOC) tudtam nézni mik jönnek. Sokat segített.
-
Szirty
őstag
Helló DizzyP!
"Terminallal csináltam. Inkább magánál a plc program írásánál akadtam el: hogy küldi el a kérést, hogy fogadja az adatokat és azzal én mit tudok kezdeni."
Írtam neked, hogy egy koordinátát fogsz kapni (néhány járulékos egyéb infóval együtt) ami pontosan megmondja hol a daru!
Egy egy dimenziós 32 bites koordináta értéket. Azzal miért nem tudsz mit kezdeni?
Ha azt akarod hogy a daru menjen 22254 koordinátára és a pillanatnyi koordinátája ennél kisebb, akkor elindítod előre, ha nagyobb akkor hátra. Közben folyamatosan (ciklikusan) lekérdezed a pillanatnyi koordinátát és összehasonlítod a 22254-el, ahol meg akarod állítani.
Ha a az aktuális pozíció (koordináta) egy ésszerű tűréssel együtt megfelel a 22254-nek, akkor megállítod.Amúgy nem fogod elárulni milyen kommunikációs lehetőség van azon a PLC-n?
-
Szirty
őstag
Helló DizzyP!
Hát ez lehet hogy nem lesz olyan egyszerű, mint amilyennek látszik.
Először is lehetővé kell tenned, hogy a PLC kommunikálni tudjon az olvasóval. Ez azzal jár, hogy a PLC-ben kell hogy legyen egy PtP kommunikációs lehetőség. Ez vagy egy RS232/485 PtP kártya, vagy ha PtP-s a CPU, akkor annak a PtP portja megfelelő.
A CPU-ban a PtP porthoz van gyári blokk, amivel tudsz adatot küldeni és fogadni rajta keresztül.Az olvasóhoz való Leuze konfig programmal beállítod az olvasót ahogy neked kell.
- Telegram típusa (egy változtathatót és két fixet ismer)
- Skálázás, ha szükséges
- A növekmény irány (melyik mozgásirányba nőjön az olvasó által küldött pozíció koordináta)
- Preset felvétele ha szükséges (a koordináta rendszer nulla pontjának meghatározása)Amennyire látom, az olvasó a neki küldött kérésekre küldözget válaszokat. Kérés meg van diagnosztikai, pozíció lekérdezés, stb.
Írni kell tehát egy programot a PLC-re, ami ciklikusan lekérdezi a pozíciót az olvasóról és a vett adatokat feldolgozza. Pozíció lekérdezéskor mm-ben fog visszaadni egy 32 bites pozíció értéket, de minden ilyennel együtt küld egy status byte-ot is.
Ezzel is foglalkozni kell, mert ha az olvasónak baja van (ERR) akkor bekapcsol egy bitet amiben jelzi, hogy nicns visszaadható pozíció. Pl. ha szennyeződés miatt nem tudja leolvasni a vonalkódot.
Továbbá küld egy XOR kódot is, amivel neked XOR műveletet kell végrehajtanod, ez az adatbiztonságot szolgálja.
Ha nem akarod, hogy a daru koppanásig menjen valamilyen hiba miatt, akkor ezekkel mindenképp kell foglalkozni!A lényeg, hogy kapni fogsz egy bináris pozíciót, ami megmondja hol van a daru.Ezeket beállított értékekkel összehasonlítva tudod vezérelni a lassítását (ha van neki) és a megállítását.
Néhány jó tanács:
- A megállási pozíciót soha ne egyenlőségre vizsgáld, hanem tartományra!
- Figyelni kell arra, hogy ha a pozíciók nem fixek, hanem lehet állítani pl. HMI-ről, akkor ne kerülhessenek átfedésbe egymással pl. hibásan megadott érték esetén.
- Tanulmányozd a BPS 8 leírását
- Használd a SLEEP funkciót amikor a berendezésed olyan üzemállapotban van hogy egy darabig nem fog megmozdulni. SLEEP módban kikapcsolja a lézert és az eltérítő tükör forgató motorját. Ha ezek éjjel-nappal aktívak az nyilván csökkenti az olvasó élettartamát
- Legyen a pálya két végén külön vészleállító végállás, hogy hibás pozícionáláskor ne legyen nagy baj.
- Esetleg ha használni akarod a pereset funkciót, akkor kell egy fix referencia pont, nyilván szintén egy végállással.
Új hozzászólás Aktív témák
- Bomba ár! HP EliteBook 820 G1 - i5-4GEN I 8GB I 500GB I 12,5" HD I Cam I W10 I Garancia!
- Samsung Galaxy S25 Ultra 256GB Kártyafüggetlen 1év Garanciával
- LG UltraGear Gaming Monitorok -30%
- Eladó Pegatron R7 240 4GB videokártya
- BESZÁMÍTÁS! MSI B450M R5 5600X 32GB DDR4 512GB SSD RX 6700XT 12GB Zalman S2 TG GIGABYTE 750W
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



