Új hozzászólás Aktív témák
-
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. -
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
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. -
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ó 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 :-) -
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)
-
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?
-
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.
[ Szerkesztve ]
-
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!
-
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!
[ Szerkesztve ]
-
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
-
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
[ Szerkesztve ]
-
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.
[ Szerkesztve ]
-
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!
-
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? :/
-
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
[ Szerkesztve ]
-
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? -
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!
-
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. -
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!
-
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?
-
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)
-
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
Ü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.
[ Szerkesztve ]
-
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. -
-
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 -
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.
-
Szirty
őstag
-
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
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
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 #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.
-
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...
-
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 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.
-
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.[ Szerkesztve ]
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- Újabb Samsungok telepíthetik a Galaxy AI-t
- bb0t: Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- Mindent megtudtunk az új Nokia 3210-ről
- Milyen billentyűzetet vegyek?
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- nVidia tulajok OFF topikja
- Vezetékes FÜLhallgatók
- Léghűtés topik
- Érkezik Magyarországa az LG szuper dizájnos hordozható projektora
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen