Új hozzászólás Aktív témák
-
Teuton99
csendes tag
válasz
mediumgecso
#4209
üzenetére
Szia!
Ha a STEP7-et akarod használni (TIA portállal nincs tapasztalatom), akkor próbálj meg virtuális gépet használni. Ehhez telepítened kell egy virtuális gép lejátszó alkalmazást: VM Player vagy Oracle Virtual Box - én ezeket használom win7 alatt.
-
Teuton99
csendes tag
Szia Szirty!
Köszönöm szépen az instrukciókat, sikerült leprogramozni az analóg skálázást

Egy korábbi posztodban (#595) említetted, hogy már foglalkoztál CF kártyára mentéssel. Ebben az esetben szeretnék feltenni egy-két kérdést, hogy megtudjam valósítani a feladatomat.
Tehát a gép méréseket végez és minden mérés végén (egy mérés kb 1 percig tart) ki kell menetem adatokat.
Az adatok a következők:
- A mérés dátuma és időpontja
- integer értékek
- float értékek
- ID (még nem tudjuk, hogy milyen típusú de valószínűleg STRING)
Az elválasztások vesszővel történjenek és a sor végére kerüljön egy enter (carrige return), hogy a következő mérés adatai már új sorba kerüljenek (append).Az Omron doksik bújása közben ráleltem az FWRIT (701) és FREAD (700) utasításokra, tisztában vagyok azzal, hogy hogyan működnek.
Az első kérdésem az lenne, hogy string változót hogyan tudnék menteni? Próbáltam a MOV(021) utasítással, de az nem jó.
A második kérdésem, hogy van-e valamilyen opció, hogy a PC-n tudjam tesztelni a programot a kártya nélkül (gondolok itt olyanra, hogy esetleg virtuális CF káryta pl.)?Előre is köszi.
Üdv
-
Teuton99
csendes tag
Sziasztok!
Omron CJ1M CPU-val megvalósítandó programon dolgozom.
Több analóg bemeneti modulom van (2 db nyomástávadó és egy tömegárammérő) ezeket kellene megvizsgálnom, hogy a jel megérkezik-e (nincs-e szakadás) illetve, hogy a megadott tartományon belüli értékek.Az első feltételre már ráakadtam: Disconnection detection flag a becsületes neve és a CIO n+9 -nek a 04-07 bitjeit kell vizsgálgatni, ahol n=2000+(unit number*10). A unit number = 0, vagyis a CIO2009.04, CIO2009.05, CIO2009.06-os biteket kell figyelnem, hogy nincs-e szakadás. Eddig rendben is vagyok.
A problémám a másik feltétellel van. Ezek a nyomástávadók 4-20mA-es jelet adnak és azt kell megvizsgálnom, hogy az általuk adott jel 3,7mA felett illetve 21,4 mA alatt van-e. Itt viszont elvesztem az analóg skálázás rejtelmeiben és nem nagyon jövök rá, hogy mit kellene csinálnom.
Annyit még elárulok, hogy a nyomástávadókat a CPU-hoz tartozó CJ1W-MAD42-es analóg bemeneti és kimeneti kártyán próbáltam konfigurálni, hogy az input lower limit 0 legyen, az input upper limit pedig 1000, illetve a tömegárammérőn 3000.
Van valakinek valami ötlete, hogy mit tegyek?

-
Teuton99
csendes tag
Szia!
Most már világos. Azt hittem, hogy a & jel valamiféle címet jelöl, de ezek szerint sokkal egyszerűbb a dolog.

Lenne még egy kérdésem: ha egy VAGY elágazás egyik foka egy szubrutin hívás, amelyben a compIndex nevű változóval dolgozom, a másik foka pedig egy MOV utasítás, ahol a compIndex változó tartalmát átmásolom a compIndexPre változóba, akkor pontosan mi a kiértékelés sorrendje?
Előbb végrehajtódik a szubrutin (ahol a compIndex értéke akár változhat is) és aztán a történik a MOV, vagy ez csak egy biztonsági mentés a szubrutin előtt? -
Teuton99
csendes tag
Sziasztok!
A munkahelyen kaptam egy Omron PLC (CJ1M egyébként) kódját. Ez az első találkozásom ezzel a gyártóval így az utasításokat nem nagyon ismerem, habár a CX Programmer Help-je azért sokat segít.
De térjünk a lényegre: a MOV utasítás ugye át teszi a source tartalmát a destination-ben megadott word-be. Namost az a kérdésem, hogy ha a source-ban &0 van, akkor ennek a tartalmát (pontosan mi is az adat) hol tudnám megnézni? Vagyis arra vagyok kíváncsi, hogy a fenti szintaktikával (&0) használt source word-öket hol tudom a programban megtalálni?
Siemensben a Go to location és a Cross reference sokat segített az ilyesmiben, de a CX Programmer nekem ahhoz még túl új terület
-
Teuton99
csendes tag
Szia Szirty!
A probléma megoldódott: a program végén lévő index léptetésnél SLD-t haszáltam, ami azért nem jó, mert csak INT-eket tárolok és így a double word miatt túlcímzés alakult ki (ez volt az amit a hibaüzenetből kihagytam, túlment a program a megadott címtartományon). Ezért átírtam SLW-re, ami már passzolt az INT-ekhez és a program lefutott.
Mégegyszer köszönöm a segítséget

Ui: a hibaüzenet az utókornak:
"STOP caused by programming error (OB not loaded or not possible, or not FB)
Breakpoint in user program: Cyclic program (OB1)
Priority class: 1
OB number: 1
Module address: 36" -
Teuton99
csendes tag
Üdv Szirty!
A hiba az volt, amit te is írtál

Átnéztem az általad küldött kódot, majd módosítottam aszerint az enyémet, de sajnos megint stop-ba tette a PLC-t. Megnéztem a diagnosztikát és a következőt kaptam:"New startup information in STOP mode
Startup prevented by:
-STOP request exists
-Cold restart or warm restart necessary
Startup information:
-Time for time stamp at the last non bracket up power on
-Single processor operation
Current/last startup type:
-Warm restart triggered by switch setting; last power on not backed up
Permissibility of certain startup types:
-Manual warm restart permitted
-Automatic warm restart permitted
Last valid operation or setting of automatic startup type at power on:
-Warm restart triggered by switch setting; last power on not backed up
Operating mode: STOP (internal)
Incoming event"Mit csinálok rosszul? :
Ui: Még annyira nem ismerem a PH-n a fórumos opciókat (másrészt siettem
), de igyekszem ezentúl esztétikus hozzászólásokat tenni 
-
Teuton99
csendes tag
Sziasztok!
Az a feladatom,hogy egy adott DB-ben, amelyben csak INT-ek vannak, megkeressem a legynagyobb adatot.
Namost amikor futtatni akarom(mentés->letöltés->monitorozás) a PLC SIM stop-ba ugrik. Megnéztem egyszerűbb feladatoknál, pl. csak egy adott adat kimentése egy MW-be és akkor is stop-ba ugrik.
Tud valaki segíteni?Köszi előre is 
Az általam helyesnek vélt kód:
OPN DB 1 //DB megnyitasa
L P#DBX 0.0
LAR1
L 0
T MW 20 //temp változóL DBLG
L 2
/I
T MW 22 //eltároljuk a DB hosszátL MW 22
L 1
-I
CIM: T MW 24 //a hurokváltozó
L W [AR1,P#0.0] //ha az aktuális nagyobb, mint a temp--> csere
L MW 20 // egyebkent ugras
>I
JCN CIM2
//csere
L W [AR1,P#0.0]
T MW 20//index leptetes
CIM2: TAR1
L 10
+I
LAR1
L MW 24
LOOP CIM
Új hozzászólás Aktív témák
- HiFi műszaki szemmel - sztereó hangrendszerek
- Sokkal jobb ajánlat lett elődjénél az iPhone 17e
- BestBuy ruhás topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Elektromos rásegítésű kerékpárok
- AMD Navi Radeon™ RX 9xxx sorozat
- Videó stream letöltése
- Fejhallgató erősítő és DAC topik
- MWC 2026: csápolt a robot, majd dobott egy hátraszaltót
- További aktív témák...
- Telefon felvásárlás!! Xiaomi Redmi 9, Xiaomi Redmi 9AT, Xiaomi Redmi 10, Xiaomi Redmi 10 2022
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4619, 100% Akksi
- REFURBISHED - DELL Universal Dock D6000 (452-BCYH) (DisplayLink)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Lenovo Thinkpad X1 Nano 5G Gen2 3K IPS i7-1260P 12mag 16GB DDR5 512GB SSD Intel Iris XE W11 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


Tud valaki segíteni?Köszi előre is 