Új hozzászólás Aktív témák
-
Szirty
őstag
Helló rsf!
Akkor mégiscsak van ott hiba nem? :-)
Az area length error oka rendszerint elég durva programozási hiba egyébként (indirekt címzésnél könnyű belefutni és nehéz megtalálni).
Azt jelenti, hogy a program valahol olyan (rendszerint DB) címre akar írni vagy onnan olvasni ami nem létezik.Azért nem áll STOP-ra a CPU, mert a hibán valószínűleg tüneti kezelést alkalmaztak oly módon, hogy raktak a programba egy üres OB121-et (programming error OB).
-
rsf
senior tag
-
rsf
senior tag
Szia Szirty,
mi lehet olyankor amikor a System Diag. hibát jelez, de nem látok semmi hibát a listában?
A Cpu egy Siemens 317-es.
Köszi. -
n0rbert0
senior tag
Igen, tudom, hogy csak egy osztás, de hogy konvertálom át a word-öt valós számmá?
Próbálkoztam, hogy az eredmény átadom egy st funkcióblokknak, de ott nem tud közvetlen konvertálni csak int-ből. Ha először int-é utána meg real-é konvertálom, akkor nem lesz jó az eredmény. -
Szirty
őstag
válasz
n0rbert0
#3387
üzenetére
Helló n0rbert0!
Jó irányba indultál ez a módszer megfelelő lesz.
De van néhány megjegyzésem:A 3-as rung-ban a BIN(023) W6 W6 szerepel ha jól látom. Ez így a W6 BCD tartalmát (ide másoltad a timer pillanatnyi értékét (Present Value) ami BCD, ez ok. De a BIN a W6-ba teszi vissza a konverzió bináris eredményét. Még ez sem lenne baj, de BIN előtt always on flag van, tehát ezt az utasítást a PLC minden ciklusban végrehajtja, miközben az 1-es rung-ban lévő MOVE csak egy felfutó élre. Ezért ha már egyszer átkonvertálta a BCD számot binárisra, akkor, a következő ciklusban újra át akarja konvertálni de akkor ott már bináris szám van.
Sajnos néhány bináris szám értelmezhető BCD számnak is, más bináris szám pedig nem.
Ezért én a BIN-t a MOV alá tenném, hogy mindig egyszerre és egymás után hajtsa végre őket.De egyszerűsíthető is a dolog, mert nincsen szükség a MOV-ra mivel a BIN az eredményt máshol is tárolhatja nem csak ott ahonnan a forrást veszi, így a BIN egyben MOV is

A timert én elengedném a max értékig #9999
Ha nem akarsz BCD-BIN konverziókat, akkor használhatsz bináris timert is (TIMHX).
Vagy 1ms felbontású bináris timert (TIMHHX)Bár a mérés pontossága nem lesz 1ms, mert a CPU ciklus edejével szórni fog.
"A reciprok műveletet hogy lehet legegyszerűbben megoldani?"
Elosztod 1-el az értéket

Persze érdemes lebegőbontos számmal csinálni, -
Szirty
őstag
válasz
n0rbert0
#3384
üzenetére
Helló n0rbert0!
A modul képessége egy dolog.
De hiába képes a modul 8ms késleltetéssel beadni a jelet a PLC-nek ha a PLC ciklus ideje pl. 70 ms!
Akkor a PLC-nek 140 ms időre van szüksége, hogy garantáltan észrevegyen egy teljes jelperiódust.
Éspedig a PLC ciklus idejét annak feldolgozási sebessége és a rajta futó program határozza meg és ráadásul általában még csak nem is konstans!
Több üzeneten keresztül épp erre próbálom felhívni a figyelmed.
Lehet javítani valamennyit a helyzeten a bemenet közvetlen kiolvasással és megszakítás kéréssel (ha a bemenet erre képes). De ha a ciklus idő a feldolgozandó jel periódus idejével összemérhető, akkor hardveres feldolgozás szükséges, és nem másért, hanem ezért említettem a high speed countert, ami éppen ilyen. -
Szirty
őstag
válasz
n0rbert0
#3382
üzenetére
Helló n0rbert0!
100Hz-et biztonsággal csak akkor tudsz érzékelni, ha a PLC ciklus ideje 5ms-nál kisebb és akkor a bemenet késleltetését nem is számoltam.
Ha ez teljesül, akkor ok.Szóval meg kell mérned, hogy adott idő alatt hány darab impulzus jön. Pl. másodpercenként méred, akkor a kapott szám a frekvencia lesz Hz-ben.
Pl. jön 28 impulzus másodpercenként, akkor a frekvencia 28 Hz.De mérheted (elvileg) az impulzusok között eltelt időt is, akkor annak reciprokaként kapod meg a frekvenciát.
Pl. ha ezred másodpercben méred akkor kHz-ben kapod az eredményt. Mondjuk két impulzus között mérsz 20 ms-ot, akkor a frekvencia 1/20=0.05 kHz = 50 Hz.
De ilyen rövid időt nem fogsz tudni mérni szoftverből PLC-vel. -
n0rbert0
senior tag
Igazad van.
Egyébként egy vízórából szeretnék átfolyásmérőt csinálni egy hall-szenzor segítségével. Az impulzusok számát tudom számolni sima counterrel (egy bizonyos frekvenciáig, ami kb 100Hz) , de nekem a frekvencia kellene. Ami végül is egy időtartam alatt (pl 1s) az impulzusok száma. Én valami ilyesmit szerettem volna megvalósítani. -
Szirty
őstag
válasz
sörösló
#3373
üzenetére
Helló sörösló!
Pedig sok jelkábel ere 0.25-ös (pl. encoder kábel, analóg méréshez használt kábel ere).
Vagy a pneumatikában, hidraulikában használt hall elemes érzékelők gyári beépített vezetékének ere 0.1mm2 sincs. Már a 2A-es olvadóbiztit sem tudja kiköpni, a vezeték teljes hosszában füstöl és beleolvad a többi érbe :-/ -
Szirty
őstag
válasz
n0rbert0
#3375
üzenetére
Helló n0rbert0!
Nem tudom hogy van-e ilyen utasítás vagy kész funkció, de megoldható:
- HW-es gyors számláló bemenettel
- Szoftveresen ha a jel frekvenciája kicsi (<10Hz) a kitöltési ideje tényezője pedig olyan, hogy a rövidebb idejű állapot garantáltan és mindig meghaladja a PLC legnagyobb várható ciklus idejét. -
n0rbert0
senior tag
Sziasztok!
Van egy újabb problémám...
Van egy digitális bemenetem, aminek a frekvenciáját szeretném megmérni. Van-e olyan utasítás létradiagramban, ami képes erre?
Előre is köszönöm a válaszokat. -
Onishi
tag
Köszönöm a válaszokat. Ma is okosabb lettem valamivel :-)
-
-
Szirty
őstag
Szevasz Onishi!
Nos az alkalmazott vezeték keresztmetszetén "át kel hogy férjen" akkora áram, amekkora a vezeték védő biztosíték (olvadó betét, vezeték védő megszakító, stb) névleges árama.
Ha nem így lenne, akkor egy zárlat tüzet okozhatna.Bemenetekhez néhány A-es védelem és 0.5 mm2 vezeték megfelel. A választott védelemnél és a keresztmetszetnél figyelembe kell venni a bemeneti modul fizikai adottságait. Pl. egy 32 pontos bemenetre valószínűleg nem lehet bekötni 32 darab másfeles vezetéket!
-
Onishi
tag
Üdv!
Olyan kérdésem lenne, hogy egy általános PLC vezérlésű rendszer esetében mekkora keresztmetszetű vezetékeket szokás v. ildomos alkalmazni? A vezérlőszekrény kialakításra gondolok, mondjuk a PLC és a sorkapcsok között. 0.75 mm^2 megfelelő? Vagy elég a 0.5 mm^2 is? Van valamilyen ökölszabály?
-
byte-by
tag
válasz
n0rbert0
#3368
üzenetére
halo !
"Az én példámra visszatérve...
Akkor az sem lenne jó megoldás, ha az impulzust felfutó élre tenném? "ez nagyjából az amit Szirty "kukacos" SFTR-nek mondott.
ez magát az utasítást teszi "felfutó"-vá, vagyis a bemenet 1 állapota alatt csak egyszer fut le, majd a következő 1-nél megint csak egyszer.byte-by
-
byte-by
tag
válasz
n0rbert0
#3362
üzenetére
halo n0rbert0 !
Szirty jól mondja.
azért nem always_on-t tettem az utasítás elé a példában , hanem valamilyen bemenetet, mert ez együtt működik a feltételekkel.
vagyis akkor lesz 1 ha azzá teszed, a "shift input "-nak is feltétele, illetve inkább "és" kapcsolatban van.
a pulzus egyszer 1 feltétel, egyszer 0, időalaponként.
de ha akkor 0 amikor a shift input 1 akkor nem lesz léptetés,ha meg 1 és a shift input is 1, akkor minden ciklusban léptet ha a reset 0. márpedig Te nyomógombot akarsz használni.de, jó példák amit Szirti írt, még én sem próbáltam, kíváncsi vagyok.
byte-by
-
Szirty
őstag
Helló coco2!
Nem nagyon kaptál választ ahogy látom. Sajnos sokszor nehéz mindenre 100%-osan alkalmazható általános érvényű szabályt alkotni.
Annyit mondhatok, hogy az iparban a galvanikus leválasztás mind a mérésnél mind a kommunikációban alapvető és tulajdonképpen kötelező.Jó lehet hogy ha a laptop RS232 portja nem leválasztott nem lesz baj ha rádugjuk a frekiváltóra pár percre amíg foglalkozunk vele, de sokkal valószínűbb, hogy lesz. Főleg ha a laptop tápegységén nincs földelés és főleg, ha abban zavarszűrő kondikat alkalmaztak amik a bejövő fázisról és nulláról vannak a belső GND-re vezetve. Ezzel 100V körüli feszültséget hozva létre a GND-n. Egy ilyen potenciálkülönbség csatlakoztatáskor röhögve agyonverheti akár az eszköz meghajtóját, akár a laptop RS232 portját.
"Ha munkagépek környezetében mindenütt nagyon erős a földelés, akkor persze ilyen probléma aligha vetődik fel"
Ez nem teljesen van így!
Hiába van 240 mm2 rézzel bekötve a betáp és így a PEN is, meg van EPH, a gépek között kiegyenlítő áramok folyhatnak ez több tíz A is lehet, ami több V-os potenciálkülönbséget hozhat létre a földpontok között.
Ez komoly zavaró jel egy analóg mérésnél vagy kommunikációs kapcsolatnál.Gyakorlatilag minden ipari PLC be és kimenete legyen az digitális vagy analóg le van választva a PLC elektronikájától.
-
Szirty
őstag
válasz
n0rbert0
#3363
üzenetére
Üdv ismét n0rbert0!
Nem írtam, de a 100-as és 200-as CH bitjeit nem használhatod másra természetesen.
Itt egy másik megoldás ugyanarra a léptetésre:
Ha ez jobban tetszik, esetleg egyszerűbbnek tartod használd ezt.
Ugyanúgy működik. A 0.00 és a 0.01 bemenetek léptetik jobbra és balra. Itt is a 100.00-100.03 biteken jelenik meg a léptetett bit. Ez nem használ SFTR vagy más bit léptető utasítást, Nem használja csak a 100-as CH-t, (nincs 200-as control word).
Persze 100CH-ból itt is csak a 100.00-100.03 biteket használhatod fel (a többi bitet is írja, nem tudod a programban másra felhasználni). -
Szirty
őstag
válasz
n0rbert0
#3363
üzenetére
Helló n0rbert0!
Szerintem azért nem úgy működik ahogy szeretnéd, mert a léptető utasításod minden egyes PLC ciklusban lefut.
Amikor a P_1s-el kapcsolod a léptetését (W4.14-et). A P_1s 1 másodperces 50% kitöltésű impulzus sorozatot ad. Tehát fél másodpercig ON fél másodpercig OFF állapotban van. Amikor ON állapotban van (tehát fél másodpercig minden egyes lefutáskor léptet egyet az SFTR utasítás, mert a léptetés feltétele adott. Aztán fél másodpercig nem csinál semmit, majd fél másodpercig megint léptet egy csomót (hiszen fél másodperc alatt sok PLC ciklus lefut).
A megoldás az, hogy vagy "kukacos" SFTR-t használsz, ami csak egyszer fut le minden engedélyező felfutó élnél, vagy magát a léptető impulzust DIFU-zod meg, hogy csak egy PLC ciklus ideig legyen aktív.A példában a 0.01-es bemenet jobbra léptet, a 0.02-es bemenet balra léptet.
A léptetett bitek a 100.00, 100.01, 100.02 és 100.03 bitek. Amikor végig ér, ugrik az elejére az iránynak megfelelően. -
byte-by
tag
válasz
n0rbert0
#3360
üzenetére
halo n0rbert0 !
az SFTR-t használhatod szerintem, ugyanúgy működik, mint az SFT, csak egy control szót kell alkalmazni.
ennek a szónak az utólsó 4 bitje adja össze az SFT utasításait, illetve feltételeit, kiegészülve a reverzibilitással.
pl. a control szó ( C ) : 200, akkor a 200.12-13-14-15 biteket használod , mint "data input"=200.13,
"shift input" = 200.14, "reset bit"=200.15.
ez az SFT-ben ugyanúgy megvan, de nem , mint egy szó része, hanem külön bitenként.
ezért tudsz feltételként ehhez berakni pl. egy 1s-os pulzárt.az SFTR kiegészül a "shift direction" bittel = 200.12.
ennek 1 vagy 0 állapota a jobbra vagy balra léptetés.
ezt a instruction help is irja.
de ezeket a biteket Te is kapcsolhatod akár ugyanúgy 1szekundumos pulzussal pl. a 200.14-et ami a shift input ( a példában) , és akkor már szabályoztad a sebességet, mint az SFT esetében a shift input bement elé berakott pulzusal.
persze a control szót már máshol nem használhatod.
illetve az SFTR - kell még egy feltétel ami nélkül hiába kapcsolgatod a biteket, mint egy engedély a blokkra.tehát (ha jól gondolom) az SFTR-ben ugyanúgy kapcsolod a control szó bitjeit , mint az SFT esetében a bemeneteket.
byte-by
-
n0rbert0
senior tag
Sziasztok!
Adott egy Omron CJ2M PLC, amivel shiftelést szeretnék megvalósítani úgy, hogy ha egy gombot megnyomok, akkor balra shiftel, ha egy másik gombot nyomok meg akkor jobbra.
Úgy szeretném, hogy 1 bit legyen 1 értékű a többi 0 és csak az első négy biten sifteljen tehát, ha eléri a 4. bitet az egyes érték, akkor ne az 5. jöjjön, hanem az 1.
Fontos lenne, hogy a shiftelés sebessége állítható legyen.Létradiagramban valósítanám meg. Eddig az SFTR utasítással próbálkoztam, de sajnos a shiftelés sebességét nem tudtam beállítani. Az SFT-vel működik, de ez sajnos csak balra siftel...
Előre is köszönöm a segítséget.
-
Onishi
tag
-
Szirty
őstag
Helló Onishi!
Napjaink legjobb perverziója Win7 alatt virtuális gépen XP-t futtatni és az alatt használni a szükséges programokat.
"Olyan kérdésem lenne, hogy az S7 PLC-kbe rakható memóriakártya pontosan mire is szolgál?"
Attól függ melyik CPU és milyen memória kárty? MC, vagy MMC?
Gondolom az előbbi, mert amelyik CPU MMC-s aznem megy MMC nélkül.
Az MC-s CPU meg (bár ez CPU függő) mehet kártya nélkül is.Tehát a kérdés miatt azt kell blöffölnöm, hogy az utóbbi kártyáról beszélünk (MC).
Arra jó, hogy tárolj a PLC programot, ami alapvetően RAM-ból fut, és háttértelep védi. De a Step7 "Copy RAM to ROM" funkciójával vagy egy jól irányzott PG-be bedugott MC memóriakártyával és Step7 S7 memory card funkcióval a memória kártyára másolható a project.Ilyen esetben ha a háttértelep kimerül és a PLC feszmentes lesz, a RAM tartalma elvész a programmal és adatokkal együtt. Legközelebbi bekapcsoláskor a CPU az MC memória kártyáról szépen visszatölti RAM-ba a programot és a vezérlés működőképes marad. Természetesen a DB-k aktuális tartalma megsemmisül és az MC-ről visszatöltődött tartalommal fog dolgozni.
"Például el lehet rá menteni bizonyos mérési adatokat, amit később ki tudok olvasni?"
Adatblokkok formájában lehet.
-
Onishi
tag
Üdv mindenkinek!
(Azóta már sikerült kapcsolatot teremtenem a PLC-vel, a Windows7 nem tetszett a STEP7-nek, így VirtualPC XPMode-al oldottam meg, ott már érdekes volt Local Connection fül, így frankón be tudtam állítani, működik is minden.)
Olyan kérdésem lenne, hogy az S7 PLC-kbe rakható memóriakártya pontosan mire is szolgál?
Például el lehet rá menteni bizonyos mérési adatokat, amit később ki tudok olvasni? Annyit tudok róla, hogy betöltő memória, de ez nekem nem mond túl sokat. Az enyémben jelenleg nincs, de nélküle is működik. -
Szirty
őstag
válasz
Dezsi82
#3354
üzenetére
Helló!
Szerintem az inkrementális jeladók felbontását impulzus/fordulat (pulse/revolution) értékben adják meg attól teljesen függetlenül, hogy egy fázisú, vagy két fázisú (A és B) jelet ad.
Így ha a gyári adatban szerepel mondjuk 200 p/r és a jeladó két fázisú jelet ad, akkor mindkét fázison egy teljes fordulat alatt 200 teljes periódust lehet megszámolni. Az A és a B jelek fordulatonkénti periódusainak számát nem adják össze sose.No de van (amit Dezsi82 is említett) amikor a két fázisú jelnél nem a periódusokat számolják, hanem a jelváltásokat (éleket). A két fázisú jelben egy fordulat alatt négyszer annyi jelváltás van, mint amennyi a jeladó felbontása. Így a felbontás megnégyszerezhető (quadratic count).
A sebesség mérése nem hiszem hogy gond lenne, egyszerűen meg kell számolni adott idő alatt mennyi impulzus jön. Abból kiszámolható.
-
Dezsi82
tag
válasz
levelko
#3353
üzenetére
Szia!
A megoldás az lehet szerintem, hogy a gyorsszámláló bemenetet beállítod frekvenciabemenetre, kiolvasod az értéket, aztán elosztod az impulzusok számával.
Ha nem tudod beállítani frekvenciabemenetre, akkor annyi a különbség, hogy minden másodpercben, a kiolvasás után nullázod a gyorsszámlálót.
Abban én nem vagyok teljesen biztos, hogy ha a 100-s felbontású AB csatornás enkóderből egy jelet kiveszel, akkor az 50-s lesz. Ha jól sejtem, akkor a 100-s felbontású AB csatornás enkóder azt jelenti, hogy 100 pozíciót tud megkülönböztetni. Ha ez így van, akkor a működési elve miatt (4 élváltás van egy ciklusban) csak 25 impulzusod lesz egy fordulaton, ha elhagyod az egyik csatornát. Kivéve, ha le, és felfutó élt is tudsz számoltatni.
Üdv -
levelko
csendes tag
Hello!
Encoderrel és omron plc-vel szeretnék fordulatszámot mérni, majd azt kiíratni egy hétszegmenses kijelzőre. Az encoder a két kimenetén egy fordulat alatt összesen 100 impulzust ad. A fordulatszám nem haladja meg az ezret percenként. Úgy tudom, hogy a PRV2 utasítás éppen erre való, gyorsszámláló bemenetre érkező frekvenciát alakít át forgási sebességgé. A baj csak az, hogy egy CPM2A cpu áll rendelkezésre és ez nem ismeri ezt az utasítást. Van erre a cpu-ra hasonló megoldás? Lehet hogy elég az egyik encoder kimenetet használni és akkor nyilván 50 impulzus lesz fordulatonként. A kijelzőre írás már nem lenne gond. A mérésnek is elég lenne 5 másodpercenként mérnie az aktuális fordulatot.
Üdv L.
-
coco2
őstag
Sziasztok!
A kérdésem általános jellegű a vezérlők környezetében felhasznált személyi / távfelügyeleti rs-232 / 485 eszközökre. Mennyire általános az optoelektronikusan leválasztott rs-232 / 485 csatlakozás? Van-e a köztudatban olyan gondolat ipari környezetben, hogy kívánatosabb minden alkalmazott csatlakozásnál az optoleválasztott eszköz, mint a galvanikusan kötött? Itt nem csak arra gondolok, hogy egy ethernet / rs-232 távprogramozó az ethernet miatt egyébként is galvanikusan leválasztott, hanem arra, hogy azon túl még az rs-232 kimenete külön is opto leválasztott lenne / legyen.
Anno volt egy ismerősöm, aki pénztárgépeket szervizelt mindenféle rs-232 ketyerékkel, és folyamat panaszkodott az egyik-másik vihar után hirtelen taccsra menő eszközök miatt (elektrosztatikus roncsolódás gyanús esetek). Ha munkagépek környezetében mindenütt nagyon erős a földelés, akkor persze ilyen probléma aligha vetődik fel, de azért csak érdekelne, mit lát erről akár az utólagos statisztika tapasztalata, akár a szokvány, vagy akár csak a közhiedelem.
Köszönöm.
-
n0rbert0
senior tag
Sziasztok!
Van egy cj1w-od212 tranzisztoros kimeneti modulom, az lenne a kérdésem, hogy mekkora a minimális terhelő árama (ha van egyáltalán)?
Adatlapban nem találtam. -
Szirty
őstag
válasz
ebyborz
#3346
üzenetére
Helló ebyborz!
Annak alapján amit leírtál én is csak annyit tudok mondani,hogy: Akkor valami nem jó.
Ha többet szeretnél kapni, akkor előbb többet kellene adnod. Pl. hogy:- Milyen PLC? Az hogy S7-200 meg S7-300 nem elég! Milyen CPU, (CPU222, CPU315-2, stb) segít a rendelési kód is (Pl. 314-6CG03-00AB0)
- Milyen kapcsolattal próbáltad a kapcsolatot? (MPI, PPI, DP, Ethernet?)
- Pontosan milyen kábeled van? PC-Adapter MPI, PC Adapter USB, TS adapter, PC/PPI cable, vagy valamilyen CP? Pl. CP5611 esetleg valami ethernet gateway, stb? Esetleg használsz soros USB átalakítót a kapcsolathoz?
- Hogyan próbáltál meg kapcsolódni? Pontosan hogyan állítottad be a kapcsolódás paramétereit (PC/PG interface-ben).
- Miből derült ki számodra hogy nem kapcsolódik, volt-e hibaüzenet és ha volt, akkor pontosan mi?"Sem a Simatic sem a microwin szoftver nem akarja felismerni a plc-t."
Nem nagyon ismerkednek ezek. Vagy kapcsolódik hozzá vagy nem. Nem neki kell ismerni, hanem neked és annak megfelelően beállítani mindent.
-
ebyborz
csendes tag
Üdv mindenki!
Van egy hatalmas problémám.
Sem a Simatic sem a microwin szoftver nem akarja felismerni a plc-t.
Persze van s-200 és s-300 is hozzájuk tartozó kábellal együtt.
És mégsem tudok kommunikációt beállítani.
Segítsetek
-
Szirty
őstag
válasz
Szabest
#3344
üzenetére
Helló Szabest!
Itt egy példa.
Ez a DB100-ban lévő IttKeres nevű 50 elemű tömb első 29 byte-jában keresi a 7426-os számot.
Mivel mint írtam a keresés hosszát a keresés forrását adó pointer első elemében kell megadni, ami a DB módosítását kívánná, a keresés előtt a program átmásol a DB-ből annyi adatot lokális változóba, amennyiben keresni kell, elé rakja a keresés hosszát meghatározó 29-et és azután ebben a lokális változóban keres:
Nem magyarázom szénné, kérdezz ha valami nem érthető benne:
A program bekapcsolja a Q4.0 kimenetet ha megtalálta a számot és kikapcsolja ha nem találta meg.Ha ez van a DB-ben:
A PLCSIM-en látható, hogy a 7426-ot megtalálta a 28-as táblaelemben:
Ha a 7426-ot átrakom a 29. elem utáni valamelyik címre, akkor nem találja meg, mert csak az első 29 elemet nézi át...
-
Szirty
őstag
válasz
Szabest
#3342
üzenetére
Helló Szabest!
"azt irod hogy bárhonnan tud keresni, de akkor jól látom, hogy a bármeddig adatot, hogy pl 60byte hosszan keressen, azt nem tudom megadni neki?"
A TBL_FIND SRC paramétere által adott struktúra első eleme a keresés hatásköre, azaz hogy mennyi elemen belül kell a keresést végrehajtani.
-
Szabest
tag
Igen, ez történik tesztplc van állványon, is azon molyolok. azt irod hogy bárhonnan tud keresni, de akkor jól látom, hogy a bármeddig adatot, hogy pl 60byte hosszan keressen, azt nem tudom megadni neki? Ugye? Jah hogy saját magam irjak...na az AWL számomra felejtős , mert odáig jutok hogy beolvasás/kiirás kb

-
Szirty
őstag
válasz
Szabest
#3340
üzenetére
Helló Szabest!
Annyit tudok biztosan mondani, hogy amit szeretnél azt meg lehet csinálni a TBL_FIND függvénnyel.
Sajnos nem annyira egyszerűen, hogy megadsz neki pár paramétert és pont azt a DB-t pont úgy fogja használni ahogy te szeretnéd, kell egy kicsit gépészkedni hozzá. A feladat amit meg akarsz oldani elég specializált, ez a függvény pedig meglehetősen nagyvonalúan általános. Meg is írhatod a kereső függvényt magad is, ez a másik lehetőség. Nem nagy ördöngösség, de kell hozzá egy kis gyakorlat.
De hát éppen ez adja a szakma szépségét (szerintem)
A TBL_FIND bárhonnan kezdheti a keresést és bármennyi adatot át tud nézni (már ami a DB-k és struktúrák méretének korlátain belül van).
Én a hasonló feladatot (amikor általam nem ismert blokkot kell használni) először ismerkedés céljából egy külön teszt programot készítek és szimulátorral (vagy teszt célra összeállított PLC-vel) kipróbálom hogyan működik, hogy kell használni. -
Szabest
tag
Szia, 1* is köszönöm a türelmed!
Minden kérdésre nem találom célszerűnek válaszolnom, jelenleg
De most hogy már tudom nagyjából mire képes ez az FC, így elmondom hogy mit csinálnék,(igen, jóllátod, hogy egy meglévő programba akarok + dolgot/szűrést beleirni, de nem egy meglévő DB-t beővíteni...),
hanem
:egy moby olvasó(meglévő, "char"-ként mutatott/látszódott) DB-jéből olvasnék ki/kellene összehasonlítani 4bájtot.
Ez kb 10-20mp-enként frissül/változik, és erre a változásra kellene az FC-nek lefutnia, újra és újra. Viszont úgy terveztem, hogy csinálok 4 külön(azért mert ahogy kivettem ebből nem lehet neki definiálni hogy 0-29, vagy 30-59-ig nézze át a betallózott DB-t/tömböt, vagy legalábbis nekem nem sikerült) DB-t 0-29-ig feltöltöm előre/vagy irhatják távolról bele az adatokat. És mindegyik DB-be fusson le ez az FC, és minegyik FC-nek lenne 1-1 kimenete, amit 1-be billent, és én azt már tudnám használni, ha talált egyezőt. Gondolom le kell resetelni az FC-t(vagy az újabb triggel reseteli?? :/ )ha talált vagy sem. A dupla találat nem érdekes, de nem lesz, mert úgy lesz a DB feltöltve h ne lehessen. Megvalósítható az elképzelés?
-
Szirty
őstag
-
Onishi
tag
Hát az könnyen lehet, hogy nem megfelelőt használok, mert én ehhez a kütyühöz semmit nem telepítettem fel külön. Viszont az adapter száma alapján nem találok drivert hozzá. A Siemens oldalán valami olyasmit olvastam, hogy nem kell hozzá külön driver, hanem a STEP7-be van integrálva, csak a "Set PG/PC interface"-nél ki kell választani a megfelelőt és magától települ.
Vagy milyen driverre gondoltál? Honnan tudnék leszedni hozzá?Kérlek nézd el nekem ezeket az amatőr kérdéseket, de most van dolgom először S7-el. Próbálnék valahogy életet lehelni az S7-300-ba, de egyelőre semmi sem akar működni.
-
Dezsi82
tag
válasz
JAGER 10
#3334
üzenetére
Hali!
Ha jól sejtem, akkor az RXD-t minden ciklusban meghívod. Az RXD kiolvassa a vételi puffert, majd törli. Ezért látod mindig az utolsó karaktert a memóriában
Két megoldás lehetséges:
-másodpercenként olvasod ki a puffert,
-vagy a teljesen korrekt megoldás, amit Szirty is írt, azaz definiálsz egy kezdő és/vagy zárókaraktert, és az RXD-t a soros porthoz tartozó "adat a vételi pufferben" bit igaz állapota esetén hívod meg. Ilyenkor már a teljes szöveg a memóriában lesz. Ha terminállal küldesz adatot, akkor ott javaslom az LF(0x13) használatát zárókarakternek -
-
Szirty
őstag
válasz
byte-by
#3331
üzenetére
Üdv!
"Terminal rendben elküld minden adatot, a receiver-rel lehet valami."
Nos szerintem az, hogy karakterenként vesz, így mindig az utoljára elküldött betű marad látható, miközben a komplett szöveg átmegy, csak nincs aki elpakolj a vételi pufferből az érkezett karaktereket. :-)
Nyilván programot kell írni erre. Ráadásul valami alapszintű protokoll is kellene, mert honnan tudná a vevő, mikor nem jön több adat?
Kell valami "delimiter". Azaz határoló jel, ami lehet szünet, vagy egy adott karakter vagy karakter sorozat.
Pl. ha csak a "helló!" szöveget kell átküldeni (mindig csak ezt) akkor felállítható olyan szabály, hogy a felkiáltójel jelzi az adás végét, és a program szépen addig rakosgatja egymás után valahova a vett karaktereket, amíg az meg nem érkezik. Kezdetnek, tanulásnak megteszi, de a gyakorlatban ez nem lesz elég. -
Szirty
őstag
Üdv Onishi!
"A beállítások pedig megfelelőek. "Set PG/PC Interface" ablakban PC Adapter.MPI.1 van beállítva, a sebesség megegyezik a CPU tulajdonságaiban az Interface-nél beállított sebességgel(19,2 Kbps)."
Ez így nem hiszem hogy jó!
Tehát ez egy PC adapter RS232C porttal.
Lényeges, hogy a kommunikációnak két oldala van:
1. PLC <-> PC Adapter (ez most MPI)
2. PC Adapter <-> Számítógép (PC) (ez pedig RS232)Nem kell és nem is tanácsos a kettőt egyformára állítani.
Az 1. oldal (MPI fül) alapból 187.5 kbps ezt így is kell hagyni. (Nem 19.2 kbps!!)
A cím (address) alapból 0, ezt is így kell hagyni, ez a PC Adfapter MPI címe lesz. A PLC címe alapból mindig 2 azt is úgy kell hagyni ha csak egy PLC van az MPI buszon. Nyilvánvaló, hogy két azonos című eszköz nem lehet a buszon, és ebbe a PC Adapter is beletartozik, mivel az is egy eszköz a buszon.
A 2. oldal beállításai a Local Connection fülön van.
Ott kell beállítani, hogy a PC melyik soros portjába dugtad be a PC adaptert. csak akkor fog működni ha ez megfelelő (USB soros átalakító többnyire felejtős).
A sebesség itt alapból 19200 (Transmission rate). maradhat úgy, de van olyen PC adapter, amin külön DIP kapcsolókkal hardveresen is be kell állítani a sebességet, ilyen esetben ide azt kell beállítani, amire a kapcsolókkal az eszköz fizikailag be van állítva!
Ha nem jön össze lehet próbálgatni még a 9600-at is.
"CPU tulajdonságaiban az Interface-nél beállított sebességgel(19,2 Kbps)"
Ezt nem teljesen értem, de a CPU MPI buszának kommunikációs beállításit ne állítsd el, különben sose fogsz kapcsolódni hozzá, mivel az gyárilag 187.5 kbps-sel megy. ha te átállítod 19.2k-ra, akkor az fog történni, hogy a PC adapter a CPU-t 19.2k-val fogja megszólítani, de az nem fog rá válaszolni, mivel 187.5 kbps-en kommunikál.
Persze be lehet állítani az MPI busz sebességét alacsonyabbra akr 19.2k-ra is ha indokolt, de az egy teljesen másik történet.
-
Szirty
őstag
válasz
JAGER 10
#3323
üzenetére
Helló JAGER 10!
"A számítógépről Terminal programmal küldenék adatot a PLC felé, de az adott tartalom utolsó karakterét tárolja el D regiszterben. "Hello!" esetében a "!".
Ez mitől lehet?"A programtól, amit erre a feladatra a PLC-be írtál.
Mi nem tudjuk mi az amíg el nem árulod! -
Szirty
őstag
válasz
Szabest
#3326
üzenetére
Helló Szabest!
A fő kérdés az, hogy milyen típusú tömbben milyen típusú adatot akarsz keresni milyen módon honnantól meddig :-)
A "milyen típusú tömbben" kérdésre elvileg van válasz:
sorte fuer camera.sorteR4:Array˙[0..29] Of Int
Tehát integer típusú adatokat tartalmazó tömbben akarsz keresni ha jól értem, ami 30 elemű."milyen típusú adatot akarsz keresni" kérdésre nincs, mert egyrészt "4jegyű számokat, és mindig 4 jegyű számra szeretnék keresni benne", másrészt korábban négy darab CHAR típusú elemet emlegettél itt.
Integer tömbben integer adatot tudsz keresni, másnak nagyon nincs értelme. Az INT típus pedig nem ismer olyat, hogy "mindig 4 jegyű" szám. Az 1-999-ig nem négyjegyűek. Tulajdonképpen az INT-ben lévő érték számjegyeiről nincs is értelme beszélni, mert azok csak leírva (ASCII karakterekké vagy BCD digitekké alakítva nyer értelmet, hiszen az integert alapvetően nem is decimálisan, hanem binárisan tárolja te pedig nyilvánvalóan decimális számok számjegyeire gondolsz).
Más szóval, ha a bemenő adat (amit keresni akarsz) nem INT típusú, akkor először azzá kell alakítani. A korábbiakból úgy tűnik, hogy neked négy CHR karakter formájában jön a keresendő érték ASCII-ban kódolva vagy binárisan. Ez nekem még nem világos."milyen módon" kérdésre részben válaszoltál. De kérdés, hogy milyen eredményt szeretnél a kereséstől.
Az nyilvánvaló, hogy szeretnéd tudni, hogy benne van-e (vagy nincs benne). De érdekel-e, hogy ha benne van, akkor hol (hanyadik tömbelemben) vagy nem.
Illetve mi legyen ha nem csak egyszer van benne, hanem többször is? Vagy az nem érdekel?"honnantól meddig" ezt csak feltételezni tudom, hogy az említett tömb elejétől a végéig szeretnéd a keresést elvégezni.
Amit mellékeltél képet az hasznos, de sokkal több kérdést vet fel, mint amennyire választ ad, mivel szimbolikus címzésmódot használ és UDT-t is, vagy/vagy instance DB-t is használ. Így nem lenne rossz tudni milyen blokkban van ez és annak a blokknak pontosan hogy néz ki az interface része.
Addig biztosat annyit tudok mondani, hogy az a DB blokk, amiben az a tömb van, amiben keresni akarsz fix, már kész blokk, azaz a programot amihez a keresés kell nem most te készíted (ezt nem írtad, de a képekből úgy tűnik, hogy egy programot módosítani akarsz, nem te írtad) akkor romlik kissé a helyzet.
Mivel a TBL_FIND a keresés forrását jelentő, SRC paraméterben adott kezdőcímű E_TYPE típusú adathalmaz első elemének egy WORD típusú adatnak kell lennie (az E_TYPE által meghatározott típustól függetlenül) ami megadja az adatterület hosszát.
Ha a kérdéses DB nem módosítható, akkor ez a feltétel nyilván nem teljesíthető.Ebben az esetben azt lehet tenni, hogy létrehozol az INT tömbbel azonos elemszámú tömböt a TEMP változóterületen, ami elé teszel egy WORD változót. A WORD változóba beírod a tömb elemszámát (MOVE), majd az azt közvetlenül követő TEMP tömbbe blokk másolás BLKMOV funkcióval belemásolod a DB-ből az egész tömböt, végől az FC 86 SRC paraméterének megadod TEMP tömb előtt lévő WORD-re mutató pointert.
(Írnék erre példát, de nem akarok minden vakvágányt kidolgozni, az én időm sem végtelen... Majd ha a függő kérdések is tisztázódnak)
-
Szabest
tag
Úgy szeretnék, hogy a db-be változtatgatják a 4jegyű számokat, és mindig 4 jegyű számra szeretnék keresni benne.(ugye úgy hogy, fedésbe/eltolva ne találjjon eredményt, ha pl az 1234-et keresem, és a db-be ugy vannak hogy 0012;3412;3456, akkor ne találjon megfelelőt) ezt teljesíti vajon az FC?
-
Szabest
tag
Sziasztok, Szirty, vagy Byte , hogyan kell megadnom azt amit a képen láthatttok, hogy ugye definiáltam egy db110-be pl 3 tömböt int-egerekkel
, és azt szeretném megadni az FC86nak hogy pl a 0-29-ig levő tömbben keressen, mert ha a képen látható módon betallózom a "változót" akkor berakja de még vája a 2 pöttyöt kiszürkítve, hogy egészítsem ki, viszont nem elég neki ha beirom igy: [0..29], mit kellene hogy jó legyen?? várom mihamarabbi válaszotok, köszönöm! -
Szirty
őstag
válasz
Szabest
#3319
üzenetére
Helló Szabest!
Ha pontosabban is leírhattad volna mit szeretnél, akkor egyből arra válaszoltam volna...
Szóval igen ha DWORD-ként adod meg a keresendő patternt az FC86-nak, akkor is megkeresi.
Említettem egyébként, az adattípust az E_TYPE paramétertartalma adja meg a blokknak:
B#16#02 = BYTE
B#16#04 = WORD
B#16#05 = INT
B#16#06 = DWORD
B#16#07 = DINT
B#16#08 = REAL
Ez esetben a PATTRN is DWORD kell hogy legyen.
Viszont ha DWORD-ként adod meg a négy karaktert, akkor négy karakterenként és nem egy karakterenként fogja keresni a mintát.
Pl. ha négy karakterenként keresel, akkor nem mindegy hol kezded a keresést.
Tehát továbbra is kérdés, hogy hogyan is akarsz pontosan keresni. -
JAGER 10
tag
válasz
byte-by
#3321
üzenetére
Hello!
Először is köszönöm a segítséget.
A PLC egy CJ2M CPU12 típusú.
A soros kábel megforrasztottam a megadott bekötés szerint. A számítógépről Terminal programmal küldenék adatot a PLC felé, de az adott tartalom utolsó karakterét tárolja el D regiszterben. "Hello!" esetében a "!".
Ez mitől lehet?Üdv!
-
Onishi
tag
Sziasztok!
Vettem a Siemens S7-300-as PLC-mhez egy MPI/PC adaptert (6ES7-972-0CA21-0XA0).
Nem sikerül a PLC-t kommunikációra bírnom a PC-vel. Ezt a hibaüzenetet kapom: Online: Communication link to the adapter damaged.
A beállítások pedig megfelelőek. "Set PG/PC Interface" ablakban PC Adapter.MPI.1 van beállítva, a sebesség megegyezik a CPU tulajdonságaiban az Interface-nél beállított sebességgel(19,2 Kbps). Az adapteren van egy állítási lehetőség 19,2 vagy 38,4. A STEP7-ben nem lehet beállítani 38,4 Kbps-t, így 19,2-re lett állítva.
A címzés is stimmel (mindenhol Adress: 2). Az adapter kap áramot, zölden világít.
Mi lehet a probléma szerintetek? Mit csinálok rosszul? -
byte-by
tag
válasz
JAGER 10
#3317
üzenetére
halo JAGER 10 !
jó lenne tudni milyen CPU, milyen HMI-ről lehet szó.én CJ1M típussal és NS5-ös terminállal hoztam létre, de mással is így kellene működnie.
de esetleg próbáld meg így vagy hasonlóképpen:
a soros portról bejövő memóriát itt D0-nak írtam.
értelem szerűen ha több szóból áll a memória akkor D0+1, D0+2, és így tovább.
itt most 3 szó hosszúságú példát írtam , mert a " HELLÓ! " 3 X 16 bit.XFER utasítással tudod egy (D10+1+2 ) D regiszterbe átmásolni.csak a példa szerint.
a control szóval (Number of Words) tudod megadni hány szót másoljon.jelen esetben a contorl szó : &3 , ennyi word-öt akarunk másolni:
ha megvan , szimulátorban láthatod az eredményt, ha átváltasz a jelzett TEXT típusra.
a másolandó memória, mint karakterkód lesz másolva.mint jeleztem NS-5-öst használtam.simán felveszed a D10-et TAG-nek.létrehozol egy "StingDisplayInput"
elemet.ASCII kódot választasz(alapesetben az.) az "Adress"-nél megadod a D10-et címnek.
a hosszúságot tudni fogja a HMI, onnan hogy a "Lenght"-nél megadsz 6-ot.ez a 6 karakter vagyis a 3 word, vagyis a "HELLO! ".projekt elment, nyomsz egy tesztet, úgy , hogy a "connect to cx-simulator" be legyen jelölve (ez majd felugrik, a cx-programmer legyen szimulátor módban online.
és akkor láthatod az eredményt:
lehet, hogy van jobb módszer, talán másnak jobb ötlete is van.
de ez működhet , ha a soros bejövő memóriák megvannak.azt azért jó lenne tudni hova íródnak.byte-by
-
Szabest
tag

a csatolt képen látható 4 bájtnyi adatot(ez folyamatosan változik, frissül) szeretném összehasonlítani, az előre feltöltött DB-be beírt adatokkal, úgy hogy végigszkenneli a db megadott területét, és ha talált akkor ugye azt felhasználnám. Na de már ott elakadok, hogy miként kell azt megadnom, hogy a képen látható 4bájtot (jóltudom hogy egy DWORD-nyi hossz) hogy adom meg a FC86-nak, mint keresendő értéket? :/
-
JAGER 10
tag
Üdv mindenkinek!
Omron PLC-nél pl. egy PC-től soros porton kapott "Hello!" üzenetet hogyan tudnék eltárolni egy D regiszterben, esetleg érintőképernyőn megjeleníteni?
A válaszokat előre is köszönöm!
-
Szirty
őstag
Helló Szabest!
Valami szétcsúszott a prohardveren, mert válaszolni nem lehet, csak új üzenetet írni.
Szóval én verzióm a következő:"Kérdésem, hogy van-e ilyen gyári FC, SFC, amivel végig tudok "scanneltetni' egy DB-t hogy szerepel-e benne a beadott szám?"
Igen, van olyan, amelyikkel meg lehet csinálni. Az TI-S7 Converting Blocks / FC86 TBL_FIND meg tudja csinálni.
Ez adott mintát (sorozatot) keres egy táblázatban. A minta természetesen lehet egy elemű is.
A táblázatban és a mintában BYTE, WORD, INT, DWORD, DINT, REAL típusú elemek lehetnek.
Egy lényeges kikötés van, hogy a táblázat első elemének a táblázat hosszát (a keresés hatókörét) kell megadnia. Tehát abból tudja mennyi adatot nézzen át.
A blokk hívása így fest:SRC: a táblázat, amiben keresni kell
PATRN: A minta amit a táblázatban keres
CMD: A keresésre vonatkozó parancs, ami B#16#01 = azonosság keresése, B#16#02 = eltérés keresése lehet
E_TYPE: Az adattípust adja meg, B#16#02 = BYTE, B#16#04 = WORD, B#16#05 = INT, B#16#06 = DWORD, B#16#07 = DINT, B#16#08 = REAL
INDX: EGy in/out paraméter. Az itt megadott számú elemnél kezdi el a táblázatban a keresést és ide teszi bele, hogy hanyadik elem felel meg a keresési kritériumnak.
RET_VAL: Itt mondja meg, hogy talált vagy nem találta a keresett mintát, illetve ha egyéb baja van W#16#0008 - Nem talált semmit, W#16#0000 - Talált.INDX értékét akkor kell figyelembe venni, ha RET_VAL értéke W#16#0000
A példában szereplő hívásnak ez a DB tartalom került átadásra:Ahol az INTArray definíciója ez: INTArray[0..100] INT
Természetesen a keresés helye nem kell hogy tömbdefiníció legyen az FC 86-nak ANY típusú pointerrel bármit meg lehet adni, de a tábla nem tartalmazhat eltérő (vegyes) típusú adatokat.
Ez a kép működés közben készült:A blokk az 1997-es számot kereste és találta meg a táblázat 14-es elemében.
-
byte-by
tag
válasz
Szabest
#3313
üzenetére
halo Szabest!
lejárt az időlimit, de hozzá akartam irni.
tehát a kép csak erős példa.
létrehozva egy FC1 és egy DB1, a DB -ben DB1.DBW10 (pl. HMI tag) DB1DBW12 (beállított érték) és összehasonlítva.
az általad beállított értéknél a DB létrehozásánál az "Initial Value" oszlopban tudod megadni azt az értéket amit össze akarsz hasonlítani a "beadott" értékkel.Ha rosszul gondolom Szirty majd kijavít

byte-by
-
byte-by
tag
válasz
Szabest
#3313
üzenetére
halo Szabest !
" beadnak egy 4 jegyű számot(db, mw, akárhova), "
itt esetleg gondolom egy HMI-ről lehet szó.
ez esetben egy "tag" -be kerül az érték ami valóban lehet valamilyen DB.
ezt Te is összehasonlíthatod egy általad létrehozott DB-vel.
ha jól gondolom a feladatot.a kép csak példa.
hozzáteheted a netwok-öt egy FB-hez is, de olyan DB kell Neked ami megtartja az értékét, ciklusonként lefut.
ha a comparátor , illetve a reláció igaz lesz a kimenet 1.byte-by
-
Szabest
tag
Sziasztok, szeretnék egy olyat csinálni hogy: beadnak egy 4 jegyű számot(db, mw, akárhova), amit szeretnék összehasonlítattni egy előre feltöltött DB-ben levő szintén 4 jegyű számokkal, és ha szerepel a beadott szám a DB-ben, akkor pl a komparátor adjon1-et...
Kérdésem, hogy van-e ilyen gyári FC, SFC, amivel végig tudok "scanneltetni' egy DB-t hogy szerepel-e benne a beadott szám?
Vagy ha valakinek van egyszerűbb elképzelése, szívesen meghallgatom!
köszönöm a figyelmet!
-
Szabest
tag
Szia, én egy ajánlatot azért bekérnék, az Allmendinger.eu-tól (ausztiába javítanak, tehát azért odáig ki kell postázni/futározni) is mert minden siemens cuccot javítanak, cserélnek, és sok kifutó cuccuk is van, mi tőlük rendelünk ilyeneket, mert jobb áron csinálják mint a siemens!
-
murena2
csendes tag
Találtam ebayen egész jó áron. lehet kipróbálom milyen. Annyit megér ha működik.Ha nem akkor ennyit bukott a cég.
http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=touch+tp177b&_pgn=2&_skc=50&rt=nc
Az a bajom velük és ebből adódott a törés is, hogy ha sarokba teszek gombot elég sűrűn "beragad".Egy ilyen beragadás miatt a júzer megpróbálta kicsit erőteljesebben megnyomni a gombot hátha észhez tér.
-
murena2
csendes tag
Szervusztok,
Van egy TP177B 6" HMI-m (6AV6 642-0BA01-1AX1) aminek összetört az touch panel része, az kijelzője ép. Valaki tudja esetleg hogy lehet e hozzá szerezni javításhoz alkatrészt? Vagy esetleg egy olyan készüléke van valakinek ami más felindulásból ment tönkre és ezen része működik?
-
zumi24
csendes tag
Üdv Mindenkinek!!
Köszönöm a segítséget , a probléma az volt,hogy a bemeneti értékem nem (Hex) volt hanem (BCD)
-
Szirty
őstag
Helló TanisG!
"A Step7 jelenleg a virtuális gépen van telepítve,de ebből a környezetből (még új a gép) még nem használtam a Step7-et. Szóval kérdés, hogy mi lesz."
Többen próbálták és azt írták,hogy működik az USB-s interface. Kilát a virtuális gépről.
Nem tudom hogy magyarázat-e a külső táplálás hiánya a sikertelenségére.Illetve az biztos magyarázat lenne, de hogy ott ez lehetett-e a gond nem tudom.
Nem nehéz felismerni ha táphiánya van, mert olyankor semmilyen LED nem világít rajta :-) -
TanisG
csendes tag
Üdv Szirty!
Köszönöm a választ!
Win7 van a gépemen, de persze virtuális gépet is kénytelen vagyok használni XP-vel. A Step7 jelenleg a virtuális gépen van telepítve,de ebből a környezetből (még új a gép) még nem használtam a Step7-et. Szóval kérdés, hogy mi lesz. A régi PCMCI-os MPI adapteremtől meg kellett válnom, ezért kell új eszköz után néznem.Volt most nálunk egy román cég(székely szakemberekkel) és náluk láttam, hogy PROFIBUS-on keresztül csatlakoznak a PLC-hez és Helmholz 700-884-MPI21 programozó csatlakozót használnak.
Felkeltette az érdeklődésemet.... egy árajánlat kérést megér.Amit irtál(Szirty)a külső 24V-os táplálás kapcsán, az magyarázat lehet esetleg arra a jelenségre, hogy a fent említett csatlakozóval nem tudtak SIEMENS biztonsági relét programozni. Ők azt a magyarázatot vélték, hogy a speciális alkalmazások (mint például a biztonsági modulok) érzékenyek a SIEMENS-től eltérő gyártókra, ezért csak PG-n keresztül tudnak ilyen modulokat programozni.... bár ezen a tipuson van külső 24V-os csatlakozási pont, csak azt nem tudom, hogy be volt-e kötve amikor ezt probálták.
Amikor legközelebb jönnek azt hiszem kisérletezünk egyet, ha tényleg nem volt külső 24V bekötve.Köszönöm mégegyszer a gyors választ!

Tisztelettel:
TanisG -
Szirty
őstag
Helló Onishi!
"Ahogy nézem, a legolcsóbb megoldás az MPI/Soros programozó kábel, soros-ethernet átalakító kombó lenne. Csak ugye a sebesség miatt nem biztos, hogy jó választás lenne."
A sebessége a HMI számára biztosan elég lesz.
A lassúsága programozáskor abban nyilvánul meg, hogy sokáig tart neki felépíteni a kapcsolatot. Tehát nyomok egy Ctrl-F7-et (monitor) és eltelik sok másodperc, mire felépíti a kapcsolatot.
Ilyen soros PC PC adaptert van a legnagyobb esélyed használtan (és így olcsón) venni egyébként, ilyet többször láttam már hirdetésben."Vagy húzni kell a mostani LAN hálózat mellé 2 jó hosszú USB kábelt is, mert a földszinti és az emeleti géppel is kell tudnia kommunikálni a PLC-nek."
Az USB-t nem lehet pár méternél messzebb vezetni.
Ezért van az a megoldás is, mint a linkjeid között, ahol UTP kábellel jel oda-vissza alakítás segítságável viszik el, de ott is max 45 méter. -
Onishi
tag
Értem, hát sejtettem hogy nem úszom meg ilyen könnyen.
Igen, ismerem ezeket a különböző gateway-eket, tudom, hogy azzal frankón meg lehetne oldani, már jó pár napja túrom a netet ilyenek után. Csak próbálok alternatív megoldásokon gondolkodni, mert újonnan ezek a cuccok elég drágák. Sajnos nincs feles 100 000Ft-om ilyen kütyüre. Ezért próbálok "okoskodni", hogy hogyan lehetne a legolcsóbban megúszni. Sajnos használtan senki sem árul ilyen gateway-eket. De még kommunikációs modult sem találok használtan.
Ahogy nézem, a legolcsóbb megoldás az MPI/Soros programozó kábel, soros-ethernet átalakító kombó lenne. Csak ugye a sebesség miatt nem biztos, hogy jó választás lenne.
Ezért gondoltam, hogy MPI/USB prog. kábelt vennék, mert az mégiscsak gyorsabb, de úgy látszik USB/Ethernet átalakító ilyen célra nem igazán van.
Vagy húzni kell a mostani LAN hálózat mellé 2 jó hosszú USB kábelt is, mert a földszinti és az emeleti géppel is kell tudnia kommunikálni a PLC-nek. -
Szirty
őstag
Üdv TanisG!
Én is ilyen (6ES7972-0CB20-0XA0) PC Adapter USB-t használok. A korszerűségével nem akadt gond, megy MPI-n, profibuszon és PPI-n is problémamentesen. Lehet programozni rajta keresztül és HMI kapcsolatra is megfelelő.
Kettő probléma van vele:
1. A tápfeszültséget (24V DC) az MPI/PPI/DP csatlakozóján kapja és nem a PC felől az USB felől az 5V DC-t.
Ez akkor kellemetlen, ha nem a PLC-nél akarunk egy MPI vagy profibuszra rácsatlakozni, hanem valamilyen perifériánál (Pl. ET200-nál) Abban ugyanis nincs bekötve a +24V és így az adapter tápfesz nélkül marad, rajta meg nincs külső táp csatlakoztatási lehetőség.
Én emiatt "meghekkeltem" egy siemens PG-s (továbbmenő csatlakozóval ellátott) csatit és azon beküldök neki egy 24V-os adapterről tápot ha kell.2. Nem tudj aa 12 MBPS sebességet. Ahol tehát ilyen 12 MBPS profibusz van és más lehetőség (pl. MPI) nincs, akkor oda nem lehet vele csatlakozni. Ez elég ritka egyébként, ebbe még nem futottam bele.
A harmadik gond meg feltételes, mert nem tudom, hogy a driverei működnek-e Win7, Win8 alatt, ha netán olyat használnál.
"Használ-e valaki Helmholz kommunikációs adaptereket? Ha igen mennyire megbizható a működésük?"
Igen. Helmholz Netlink PRO-t évekig használtunk.
Megbízhatóan működik. mivel már kérdezték ezt tőlem engedelmeddel idemásolom az akkori válaszomat:"A NetLink pro nagyon hasznos kis eszköz. Gyak. a legjobb amit ebben a témában próbáltam (bár túl sokfélét nem próbáltam). Azzal meg annyi bajom volt, hogy nagyon melegszik. Mint a rezsó! 24 órás üzemre volt beállítva távfelügyeletet ez tette lehetővé az internet felől. Másik problémám az volt vele, hogy Windows server 2003-al a drivere nem működik. Nem lehet telepíteni (az újabbakat se)."
Ez több éve volt, azóta fejlesztették, talán mentes már ezek alól a problémák alól.
Sajnos (magánembernek) húzós ára van.
Új hozzászólás Aktív témák
- Ford topik
- Vezetékmentes, szénszálas egeret dobott piacra a Pwnage
- Melyik tápegységet vegyem?
- Minden korábbinál jobb lett az új Cinebench tesztprogram
- Azonnali VGA-s kérdések órája
- LED világítás a lakásban
- SD memóriakártyák (SD, SDHC, SDXC, micro SD)
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Milyen videókártyát?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 Mini 128GB Pink -1 ÉV GARANCIA -Kártyafüggetlen, MS3822
- Apple iPhone 12 Pro Max / 128GB / Kártyafüggetlen / 12Hó garancia
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2998, 100% Akksi
- BESZÁMÍTÁS! Sapphire B650M R7 8700F 32GB DDR5 1TB SSD RTX 3070 Ti 8GB Zalman S2 TG EVGA 850W
- AKCIÓ! DELL PowerEdge R630 rack szerver - 2xE5-2660v4 (28c/56t, 2.0/3.2GHz), 96GB RAM, 4x1G, áfás
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest










