- Ackbar admirálist kínálja egy GeForce-on az NVIDIA
- Jelentős előnyt kínál az egységes memória az OpenFOAM keretrendszerrel
- Szabadon fejlesztheti az OLED tévébe szánt paneljeit a Loewe
- A virágcsokor mellé hardvert is ajándékozhatunk anyák napján
- Az Apple megszerezné a klubvilágbajnokság közvetítési jogait
Hirdetés
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Irányíthat-e atomfegyvereket az AI?
it Az USA politikusai sürgetik Kínát és Oroszországot, hogy rögzítsék: csak ember irányíthat atomfegyvereket, AI nem.
-
Új fülesek kísérik a Realme GT Neo 6-ot
ma A készülék már előjegyezhető, bár hivatalos premier még nem volt, a Buds Air 6 és Buds Air 6 Pro viszont már bemutatkozott.
Új hozzászólás Aktív témák
-
Szabest
tag
Sziasztok!
Lehetséges egy S7-318-assal hogy egy excelből beolvassak valami DB-be vagy valahova adatokat, amit ciklikusan naponta egyszer "befrissísen"??
Ha igen hogyan?
köszönöm előre is a válaszokat!
üdv
Szabi
-
-
Szirty
őstag
válasz Szabest #2501 üzenetére
Helló Szabest!
Lehetséges. Több módja is van.
Amennyiben a kérdéses PLC ethernet hálózaton van:
Írni kell excelbe egy VB scriptet, ami ISO protokol segítségével kiolvas adatokat a PLC-ből.
Vagy telepíteni kell az exceles PC-re egy OPC szervert, amelyik ismeri az S7-et, és az excel OPC-n keresztül olvassa ki (vagy írja be) a kívánt adatokat.
Ha van a rendszerben HMI (WinCC Flexible RT) akkor azon keresztül is lehet adatokat cserélni. Pl. HTTP protocollon keresztül (SOAP).
Vagy maga a HMI is olvashat adatokat file-ból és beírhatja a PLC-be. -
Szirty
őstag
Helló Börcz!
Azt használd, amelyiknek az a neve, hogy "TIM"
Ennek két, azaz kettő operandusa van. (Amikor lerakod, akkor ez az a két sor, amit említettél)
Az egyik a timer száma. Ez bármennyi lehet azon a határon belül, amit az adott CPU tud, (a számozás 0-tól indul).
Természetesen ha egyszer valahol használod mondjuk a TIM1-et, azt máshol már nem adhatod meg másik timernek!A másik operandus az SV, azaz Set Value. Ez mondja meg a timernek, hogy mennyit időzítsen, méghozzá BCD alakban és tized másodpercben.
Ide írunk kettőskeresztes számokat, amikor az időzítés konstans érték szerint történik.A betűjelek, amiket még ide lehet írni, memóriaterületek azonosítói. Én a DM-et (Data Memory) javaslom a célra. Ezt a D jelöli.
Pl. ha D0-t írsz be, akkor a timer időzítése attól az értéktől függ, amit a D0 memóriarekesz tartalmaz. Azt pedig a programodban tetszés szerint megváltoztathatod.A magyarázat, hogy melyik betű pontosan mit jelent, mik azok a memória területek és mire lehet őket használni messze kimerítené a fórum kereteit.
Olvasgass doksikat, sokat!
Konkrétan CJ1-hez nem tudok magyar doksit, de itt van egy CQM1H (PDF). Sok hasznos dolog van ebben is! -
erijg
csendes tag
Helló Börcz!
A CJ1M doksit itt megtalálod magyarul: http://omronkft.hu/
üdv erigeri
-
Szabest
tag
Szia,
leginkább excelből olvasni akarnék!
OPC- szervert nem nagyon tudnék telepíteni, kezelni meg aztán főkéépp nem
viszont etherneten van az összes plc-nk, ez is, viszont pl a plc-be milyen blokkal, vagy miként lehet szólongatni egy excelt?? vagy a másik irányból kell közelíteni a dolgot, hogy az excel szólongassa a plc-t és irogassa be a script bizonyos Db-be az adatokat??
Várom válaszod!üdv
Szabi -
Szirty
őstag
válasz Szabest #2506 üzenetére
Helló Szabest!
"leginkább excelből olvasni akarnék!"
Korábban ezt írtad:
"Lehetséges egy S7-318-assal hogy egy excelből beolvassak valami DB-be vagy valahova adatokat, amit ciklikusan naponta egyszer "befrissísen"??"Excelből DB-be: ezt úgy értelmeztem, hogy a DB-t írni akarod. Ha azt artíad volna, hogy "DB-ből excelbe" akkor meg azt gondolom, hogy a DB-t excellel olvasni akarod.
Az ügy szempontjából ennek szerencsére nincs nagy jelentősége, igazából mindegy ogy írni vagy olvasni akarod.
A legegyszerűbb a HMI-s CSV data logos megoldás. Az OPC szervert kezelni nem kell, csak telepíteni és konfigurálni, utána elvan a háttérben. Én nem ezt a módszert választanám, mert aki az OPC-t kitalálta és így megvalósította azt inkább elásnám a kertben de ez más kérdés.
Excelben is lehet valahogy olvasgatást írást produkálni, de nem tudok konkrétabb segítséget nyújtani, nem csináltam még ilyet. A Siemens technical fórum foglalkozik a kérdéssel, nézz szét ott. -
-
Szirty
őstag
Helló Börcz!
Rendben.
Készítettem egy programot, ami azt csinálja amit szeretnél:Az első sor a 0.0 bemenetre kötött gomb megnyomásakor növeli a T1 beállított idejét 1 másodperccel, ha az idő nem nagyobb 30 másodpercnél.
A második sor a 0.1 bemenetre kötött gomb megnyomásakor csökkenti a T1 beállított idejét 1 másodperccel, ha az idő nem kisebb 10 másodpercnél.
A harmadik sor a 0.2 bemenetre kötött gomb megnyomásakor visszaállítja a T1 idejét 10 másodpercre.
A negyedik sor tartalmazza a T1 időzítőt, amit a 0.3-as bemenet indít. A T1 időzítő annyi idő múlva telik le, amennyi idő van a DM0 memóriacímen.
Ezt a DM0 címet változtatják a növelő, csökkentő és visszaállító gombok.(A program működik, kipróbáltam)
Remélem így már sikerül!Ui.: természetesen a DM0 címet a programodban máshol már nem használhatod másra.
[ Szerkesztve ]
-
Szirty
őstag
Helló Börcz!
Azt ugyan nem írtam, de visszafele is igaz. Ha a meglévő program amibe ezt be akarod illeszteni használ DM memóriát akkor arra figyelni kell, hogy az általad használt címet a program ne használja.
Illetve ha a DM0-át használja akkor neked ahelyett egy másikat kell választani.Továbbá lényeges, hogy a +B és -B "kukacos" legyen (@) vagyis élvezérelt. Ellenkező esetben a gomb megnyomásakor nem egyszer fog hozzáadni vagy kivonni, hanem minden PLC ciklusban, vagyis elszalad a végére azonnal.
[ Szerkesztve ]
-
Szabest
tag
Szia, köszi a választ, egyenlőre jegelem a témát.
Viszont újabb akadályba ütköztem!
Küldenének nekem rs485-ön adatokat(3 helyről), reményeim szerint 0-32767-ig terjedő számokat. Ezeket kellene fogadnom, amire ezt a kártyát próbálnám használni.
A CP340-es user manualban találtam a 9.4-es pontban egy mintát point-to-point kommunikációra, de ahhoz hogy teszteljem még nem vagyok "elég"...
Lehetséges az hogy a küldő helyeket (úgy mint a profibusnál) egymáson keresztül kössük, és az én CPUm-ra csak egy db ilyen RS485-ös kártyát akasszak? Vagy minden egyes jelet kölün kártyán kell fogadjak?
Ha az előbbi megoldás is létezik, akkor milyen alapbeállításokat kell belőni a HW konfigban??
Továbbá a minta irja, hogy az FB2 P_RCV CP340 és a FB3 P_SEND CP340 blokkokat kell használnom, jól olvastam?
Na, ha igen, akkor most jön az hogy ha pl ezeket simán berakom az OB1-be külön NW-ekbe, akkor azoknak a peremeterezesenel, milyen minimalis adatokat kell megadjak, hogy tudjam fogadni a küldött értékeket, illetve azokat lássam valami DB-be?
Várom a szájbarágós választ ha lehet, mert el vagyok veszve s a főnököm meg állandóan a nayakamra jár
Jó lenne valamit villantani neki....
köszönöm!
-
Szirty
őstag
válasz Szabest #2516 üzenetére
Helló Szabest!
Hát nagyon szájbarágós választ most nem fogok kidolgozni (rajzolnom kéne ezerrel), de megpróbálok válaszolni minden kérdésre.
Az RS485 és az RS422 fizikai kialakítása olyan, hogy nem pont-pont, hanem pont-multipont huzalozást is megenged. (RS485 2 vezetékkel half duplex, RS422 4 vezetékkel full duplex).
Tehát felfűzheted RS485-re az összes adatforrást, DE!
A több pontos kommunikációt az adott eszközöknek ismernie / támogatnia kell (protokol kérdése).
Tehát a "buszos" huzalozást támogatja, de azt nem tudom hogy az eszközök amik neked adatot küldenek támogatják-e. Nyilván ha több eszköz van egy buszon, akkor azok nem vezérelhetik egyidőben a buszt, valamilyen megegyezés alapján kell hogy menjen a kommunikáció. Pl. Master-slave hierarchia esetén a PLC lehet a master és az a slave válaszol, amelyiket a master megcímez és lekérdez. Protokol kérdése tehát, a slave-eket valahogy meg kell különböztetni egyrészt hogy meg tudja állapítani a PLC hogy melyik eszköz küldte az adatot, illetve hogy meg tudja őket szólítani egyenként.
De mivel semmit nem tudok arról az eszközről amit említettél (még a nevét sem) nyilván nem tudom megmondani hogy ezekhez ez az elvárásokhoz hogyan viszonyulnak."Ha az előbbi megoldás is létezik, akkor milyen alapbeállításokat kell belőni a HW konfigban??"
Interface: Half duplex (RS485) Two-Wire Mode.
Data Flow control beállítása attól függ hogy az amivel kommunikálsz melyiket "szereti""Továbbá a minta irja, hogy az FB2 P_RCV CP340 és a FB3 P_SEND CP340 blokkokat kell használnom, jól olvastam?"
Igen.
Én 400-as CPU-n használtam CP440-et. Ez ua az elvileg mint a 300-ashoz a CP340.
Így nézett ki a küldés és fogadást végző hívás:M431.1 impulzus hatására küldte az adatot.
M434.2 -vel lehetett alaphelyzetbe állítani a kommunikációt
LADDR a HW configban szereplő kezdőcíme a CP kártyának:DB_NO a DB száma ahol a küldendő adatok vannak
DBB_NO byte cím a DB-n belül, ahol a küldendő adatok kezdődnek
#Len Itt kapja meg a blokk, hogy hány byte-ot kell küldeniAz FB9 fogadta az adatokat. Ahol:
M0.6 Mindig TRUE
Az R bemenet sorában lévő két feltétel szintén a reset (alahelyzetbe állítás)
LADDR a kártya címe
DB_NO és DBB_NO a DB száma és azon belüli byte cím, ahova a vett adatokat le kell raknia.
A LEN kimenő paraméterben mondja meg a blokk hány byte adat érkezett ami a DB-ben van.
Az M433.2 akkor billent be, amikor a blokk hibátlan adatot vett.M433.3 meg akkor, amikor adat érkezett, de hibával.A DB20-ban volt egy 32 byte-os adási buffer és egy 256 byte-os vételi buffer. Adáskor az FB10 elküldte a benne levő adatot, ami vételkor jött az beesett a vételi bufferbe.
A DB20:
STRUCT
Tx : ARRAY [0 .. 31 ] OF //Host link adás puffer
BYTE ;
Rx : ARRAY [0 .. 255 ] OF //Host link vételi puffer
BYTE ;
END_STRUCT ;"Jó lenne valamit villantani neki...."
Akkor küzdj! Komoly eredményhez komoly küzdelem vezet!
-
Szabest
tag
Pfúúúúúúúú
nagyon köszönöm a segíséget! így már tudok komplikálni.Azt valahogy meg lehet oldani hogy, én nem akarom kérdezgetni a küldő egységeket, de ha küldenek, akkor épp tudjak fogadni?
Vagy ez egyszerűen annyi, hogy beállítom állandó fogadásra az EN_R, és a beolvasott adatokat(DB-ből) pl egy külső progival olvashatom általam beállított időközönként, tudván, hogy abba a DB-be folyamatossan felülíródik az adat(jól érzem?) amit a küldő egyésgek tolnak?
Üdv
-
Szirty
őstag
válasz Szabest #2518 üzenetére
Helló Szabest!
Igen, nem kell feltétlenül küldened is a fogadáshoz, de... (lásd alább). Ha egyáltalán nem akarsz semmit küldeni, akkor nem kell az adatküldő FB (FB3 P_SEND CP340).
Igen, a vett adat mindig felülírja az előző vett adatot a DB-ben a vételi pufferben. Ha a vett adat rövidebb mint az előző vett adat, akkor csak részben írja felül.
De neked mindig jelzi az FB2 P_RCV CP340 blokk hogy ha érkezett adat, nem kell ciklikusan olvasgatni a DB-t. Elég akkor amikor szól,hogy adat jött.És itt a "de".
Az előző üzenetben próbáltam felhívni a figyelmed arra, hogy ha az RS485 buszon kettőnél több eszköz van, tehát itt pl. egynél több eszköz van a PLC-re kötve és azok adatot küldenek, akkor elengedhetetlen, hogy valamilyen módon egyeztessék a küldést és azonosítsák magukat.
Ha ugyanis minden RS485-re kötött eszközöd adott időközönként adatot küld se szó se beszéd, akkor:
- 1. Véletlenszerűen össze fognak beszélni, óhatatlan lesz, hogy egymás adásába belepofázzanak, aminek hibás vétel lesz az eredménye a PLC-ben!-2. Amikor valahogy a fentiek ellenére ép adatot vesz a PLC, akkor fogalma sem lesz ki küldte.
Ezt is meg kell oldani valahogy.
-
Szabest
tag
Szia, értem, tehát az jó lehet, ha jön adat, akkor átmove-oolom egy számomra megfelelő másik DB-be az adatot, majd ezután ha megtörtént, akkor nyomatok egy resetet, nehogy bennragadjon valami a pufferban.
"Ezt is meg kell oldani valahogy."
Ezt szoftveresen hogyan lehet megoldani? hogy szokás?
Gondolom számomra ez bonyolultabb volna...ezért arra gondoltam, mi van ha tényleg 3 ilyen RS485-ös kártyát akasztok rá , és ugye más címek lesznek, és így nincs esély a kavarodásra...járható út ez is, nem??
Amúgy egy ilyen küldött adat, milyen formátumban fog megérkezni? Milyenek az elterjedt átviteli módok, mert gondolom ezt még valahogy kódolnom is kéne, hogy pl egy DEC számot kapjak belőle...(0-32767) jól sejtem? Mert a CP kártya beállításainál láttam a parameter fül alatt a protokoll résznél van pár lehetőség, de nem tudom (egyenlőre tesztelni sem) hogy melyik esetén, milyen üzenetekre számítsak
Tudsz erről valami infót esetleg?
ui.:Megint nagyon köszi h ilyen segítőkész vagy!
Üdv
Szabi
-
Szirty
őstag
válasz Szabest #2520 üzenetére
Helló Szabest!
Nem kell resetelgetni, fölösleges. Amúgy szerintem a reset nem törli a vételi puffert.
De nem is kell azt törölni, mindegy mi van benne, szól amikor jött valami és azt is megmondja hogy az adat milyen hosszú."arra gondoltam, mi van ha tényleg 3 ilyen RS485-ös kártyát akasztok rá , és ugye más címek lesznek, és így nincs esély a kavarodásra...járható út ez is, nem??"
Természetesen. Csak így jó drága
Azonban ha azok az eszközök amik adatot küldenek nem támogatják a multipoint működést, akkor egyszerűen nem nagyon marad más választásod."Amúgy egy ilyen küldött adat, milyen formátumban fog megérkezni? Milyenek az elterjedt átviteli módok, mert gondolom ezt még valahogy kódolnom is kéne, hogy pl egy DEC számot kapjak belőle...(0-32767) jól sejtem?"
Az adat olyan formában fog megérkezni, ahogy azt elküldték.
A vételi pufferben pontosan azt fogod találni, amit a küldő eszköz elküldött bitről bitre, byte-ról byte-ra!
Hogy a külső eszköz mit küld és az amit küld mit jelent pontosan (azt hogyan kell értelmezni) nekem halovány lila elképzelésem sincsen, ahogy azt az előző üzenetben is már megjegyeztem.
Ez teljes mértékben a küldő eszköz magánügye és én még annyit sem tudok róla hogy mi a neve, nem hogy azt mit küld és a küldött adat hogyan értelmezhető.
Ez a kérdésed olyan, mint ha tőlem kérdeznéd meg, hogy az az e-mail, amit 1 perce kaptál valahonnan - olyan valakitől akiről én soha nem hallottam, nem hogy ismerném - mit tartalmaz. Mennyi esélyem van kitalálni szerinted?Egyszerűen meg kell nézni az adott eszköz leírásában, hogy mit és hogyan, milyen formában küldözget.
-
Szabest
tag
"Természetesen. Csak így jó drága" -->> nem tétel :p szerencsére
Ha csak így lehet megoldani, akkor így, ennél a projektnél a pár 1000€-ók csak úgy repkednek,...szóval a legegyszerűbb ha 3 karit akasztok rá, és akkor nincs kavarodás.
Azt hogy mit várok tőle, meg akkor én fogom megmondani, az ő képességeihez képest...kezelni meg már az én dolgom lesz...
Egyenlőre, akkor köszi, majd jelentkezem!
-
peterx88
csendes tag
Sziasztok,
Azt szeretném kérdezni, hogyan lehetne megoldani s7-1200 PLC-n vagy esetleg más siemensen, hogy neten keresztül el tudjam érni? Valami leírást esetleg tudnátok ajánlani?
Köszi -
peterx88
csendes tag
Szia,
Még most ismerkedek a témával, a lényeg az lenne, hogy egy külső hálózatról elérjem és esetleg mutassa a diagosztikát, módosításokat hajtsak végre. Ez akkor az 1200 esetében simán megoldható? ( úgy képzeljem a dolgot mintha egy router lenne és beírom az IP-t és bejön egy admin felület?).
Köszi a segítséget.
-
sanc86
csendes tag
Sziasztok.
Segítségeteket szeretném kérni. Eddig Siemens S7-300-as illetve Allen Bradley PLC Logix programozásával foglalkoztam. Mostantól fogadkoznom kell még Siemens S5 115U,Allen Bradley SLC 5\01, Omron illetve S7-200 plc programozásával is de sajnos nem találtam sehol sem oktatási anyagot kivéve az S7-200-hoz.
Nagyon szépen megköszönném ha valaki tudna nekem küldeni dokumentációt vagy oktatási anyagot.
További szép estét. -
Szirty
őstag
válasz peterx88 #2525 üzenetére
Helló peterx88!
Nyilván a belső háló és az internet között lévő routeren beállított port átirányítás a PLC IP címére nem lesz jó.
Technikailag működhet, de feltételezem, hogy nem szeretnéd ha mindenki tudná programozni bármikor a PLC-t.
Szerintem egy IpSEC-es VPN kapcsolat megfelelhet a célnak.
Ehhez kintről egy VPN klienssel először be kell jelentkezned a belső hálózatba és csak azután érhető el a PLC. Akkor már ugyanúgy, mint ha mellette ülnél. -
miclucky
tag
szevasztok, egy érdekes probléma megoldásához kérnék ötleteket.
Egy hajtóműves motor hajtó tengelyét szeretném terhelni 3-8Nm -rel.
Jelenlegi verzióban a tengelyen van még egy másik motor (és egy nyomatékmérő), ez az ellenmotor (24vdc) egy xx vezérlőkártyán keresztül fékezi( a beállított nyomatékra), amit egy Simatic S7-200 vezérel(0-10V). Nos, a probléma értelem szerűen induláskor jelentkezik, amikor a két motornak szinkronban kellene felfutnia; a nyomaték megugrik és ez nem jó. Az ellenmotor hajtása önzárós csigahajtás vagyis "nem engedékeny". Kísérletek során arra jutottam, hogy ez a vezérlés ebben a formában, arra hogy a nyomaték ne legyen magasabb a kívántnál, alkalmatlan.
Úgyhogy, aki találkozott már efféle feladattal az most sokat segíthetne egy jó ötlettel.
előre is köszönve
misi
ui.:gondolkodtam esetleg vmi pneu fékes dolog, szervóra a magas költség miatt, csak legvégső esetben gondolnék. -
Szirty
őstag
válasz miclucky #2528 üzenetére
Hali miclucky!
Egyes frekvenciaváltókat lehet nyomaték szabályzós üzemmódban is használni.
Ilyenkor a motort nem az alapjellel arányos sebességgel hajtják, hanem arra törekszenek, hogy a motortengelyen az alapjellel arányos nyomaték hasson.
Ez működhet nyílt vagy zárt hurokban is (nyílt huroknál nincs nyomaték jeladó, a rive a nyomatékot számolja, de ez nyilván pontatlanabb).
Főleg feszítésre szokták használni.Ilyen frekiváltó pl a Danfoss VLT5000 és FC301 sorozatban is van, de több gyártónak is biztosan van ilyene.
Azt sem tudom mit hajt nálad a motor, és hogy egy ilyen megoldás megfelelne-e, majd eldöntöd. Csak leírtam ami eszembe jutott.
-
miclucky
tag
Hi Szirty,
a motorokat csak tesztelni kell bizonyos nyomatékokkal(nem esik szét, fordulatszám stb.).
gondoltam én is frekiváltós megoldásra, csak nem tudom, hogy viselkedne "fékezős" üzemben és le tudná-e követni a tesztelendő motor felfutását (24vdc 100W n=x kb.100f/min kihajtáson), kísérletezésre nincs mód, na meg a hely is elég szűkös (általam használt hajtóművek 2-4Nm -esek és nem kicsik).
de azért köszönöm
misi -
Szabest
tag
Szia, leraktam az OB1-be egy CP340-hez tartozó FB-t, majd felparamétereztem, a leírásod alapján
jelenleg a PLC-n csücsül egy ilyen kártya, amire próbaképp próbálnék küldeni terminálon keresztül pl egy 16-os értéket, viszont az istenért sem látom, hogy megérkezne...
-az RXD felvillan mihelyst nyomom azt h send...-de leírom, hogy mit csináltam előtte, a HW cfg-be a CP340parametereinél beállítottam az ASCII-t, mentettem, rátöltöttem, ok
-majd látrehoztam ugye egy DB10-et találomra, aminek pl a 2.byte-jába szeretném letárolni az épp (termináltól)fogadott adatot.
-viszont ezt a DB-t nem tudom hogy kellene előkészíteni, gondolok itt egy ilyenre, hogy esetemben, ha csak egy értéket akarok fogadni pl, h 16, akkor a TYPE-hoz mit kellene beírnom, illetve a Terminál progiban miket kellene beállítanom,majd küldenem a send-el, hogy ki tudja olvasni a PLC, és a DB10, 2-es részébe...Várom válaszod!
üdv
Szabi
-
Szirty
őstag
válasz Szabest #2531 üzenetére
Hali Szabest!
Amit írtál, annak alapján sokat nem tudok mondani.
A sikeres adatfogadáshoz a következő feltételek egyidejű teljesülése szükséges:- A soros kapcsolat helyes bekötése (Rx/Tx jelek, stb)
- A RCV 340 blokk megfelelően paraméterezett hívása, pontos és valós LADDR, DB_No, DBB_No paraméterekkel.
- A CP340 kapcsolatnak megfelelő beállítása a HW configban, különös tekintettel arra, hogy az adatsebesség, az adat és stop bitek száma, valamint a paritás, továbbá hadshaking (data flow control) ugyanúgy legyen beállytva mind a küldő, mind a fogadó (CP340) félnél.Pl. h aaz egyik 18200-al ad, de a CP340 9600-ra van beállítva, az életben nem fog venni semmit, max szemetet.
"-viszont ezt a DB-t nem tudom hogy kellene előkészíteni"
Melyik DB-t? Az RCV blokk instance DB-jét nem kell előkészíteni, maga a Step7 megalkotja magától az FB alapján, azzal semmit nem kell foglalkoznod azon kívül, hogy a CPU-ba töltöd miután létrejött.
A fogadó puffer DB-je egy egyszerű tömb, ezt le is írtam a #2517-es üzenetben.
A vételi puffert alkotó DB méretének azonosnak vagy nagyobbnak kell lennie az egyszerre venni kívánt adatmennyiségnél.
Amit a CP vesz, ebbe a DB-be teszi bele.
Az általad linkelt DB-nek semmi köze a jelenlegi problémához... -
Dezsi82
tag
Sziasztok!
Omron szervót vezérelnék Mechatrolinken. Az omron programmjaival megy is a forgatás, és egyebek. De a PLCvel nem tudom milyen módon kellene a parancsokat küldeni a szervóknak.
Ha valaki találkozott már ilyennel, szívesen venném a segítséget
Köszönöm előre is -
Robit1976
csendes tag
Üdv a kollégáknak.
PLC-s gyártórendszerekkel kapcsolatban lenne néhány kérdésem.
Érdekelne hogy mi az a OPC-szerver mire való?
Wincc Scada felületbe hogyan lehet esetleg módosítást végrehajtani? Milyen szoftver követelménye van a feladat végrehalytásának? (pl: egy kapcsoló beillesztése)
A válaszokat előre is köszönöm. -
Szirty
őstag
válasz Robit1976 #2534 üzenetére
Hali Robit1976!
Az OPC a Microsoft próbálkozása arra, hogy Windows alatt létrehozzon egy szabványosított kommunikációs felületet, ami a végponton lévő készülék fajtájától (viszonylag) függetlenné és szabványossá teszi az automatizálási rendszerrel való kommunikációt.
Az OPC szerver egy API. Az a feladata, hogy kapcsolatban van a PLC-vel, miközben az OPC-nek megfelelő szabványos kommunikációs felületet biztosít a PC-n futó alkalmazás felé (ami általában scada vagy HMI program).
Tehát a PC-s program az OPC szerverrel kommunikál, az OPC szerver pedig a PLC-vel és a programmal.
Az OPC az MS-hez méltón mélyen és összetett, kibogozhatatlan módon kapcsolódik a windowshoz.WinCC project módosításához a WinCC-re van szükség. Persze nem az RT-re (ami a project futtatását végzi), hanem a szerkesztő engineering szoftverre.
[ Szerkesztve ]
-
vasii
senior tag
Sziasztok,
valaki nem használ(t) véletlenül Easyveep gyakorlószoftvert?
Van olyan feladat aminél megakadok, és jó lenne látni a működő programot,
erre nincs lehetőség?Köszi
-
Szabest
tag
Szia, eljutottam odáig, hogy látom egy DB-be a beküldött "adatokat", pl a DB10.DBB1 be látok egy 1-est, a DB10.DBB2-be egy 2-est!
Na eddig ez szép és jó, a kapcsolat él...viszont ha én ezt az első 2db bájt értékét akarnám látni együtt, azaz hogy 12-nek lássam, hogyan lehetne? Arra gondoltam hogy egy MOVE-al belelmozgatnám egy MW10-be, csak nem tudom hogy milyen formátumba kell megadni a bemenetén , hogy a DB10 első 2 bájtját vegye, és rakja egymás után az MW10-be.... +tudnád nekem ez mondani, írni??
köszönöm előre is!
üdv
Szabi
-
Dezsi82
tag
válasz Szabest #2537 üzenetére
Szia!
Két lehetőséged van, legalábbis amit én ismerek
-első (létrához)
DB10.DBB0-t átmozgatod MW10be
DB10.DBB1- átmozgatod MW9be (mondjuk)
MW10-ból kivonsz 48-cat, eltárolod MW10 be
MW9-ból kivonsz 48-cat, eltárolod MW9-be
MW10-t megszorzod 10-zel, eltárolod MW10be
MW10-hez hozzáadod MW9-t, tárolod MW10be
és kész. Már ha csak két karakter, ha változó, akkor kicsit nehezebb
Ha utasításlistában akarod csinálni, akkor picit egyszerűbb a logika
-második:
FC38 STRNG_I -
Dezsi82
tag
Sziasztok!
Az omronos téma megoldódott, végül a PLC mechatrolinkes moduljának a leírásából sikerült kiszednem az infót.
De van egy érdekes gondom. Siemens WinCC Flexible 2008-nál eltűnt a Transfer gomb, és a Transfer almenü is. Egyszerűen nem tudok feltölteni semmit. Találkozott már valaki ilyen gonddal? És ha igen, hogy lehetne megoldani?
A segítséget előre is köszi -
Szabest
tag
válasz Dezsi82 #2541 üzenetére
Hát egyelőre még mivel PC-ről, egy termianl progival küldöm(próbálgatok), de valami stringbe fogom elvileg kapni az ASCII kódokat, de akkor nem tudom hogy mikre számítsak, mert ilyet még nem csináltam....viszont az ascii kódok esetén mondjuk kapom a 31-kódot az 1.byte-ba,a 32 kódot a 2.byte, azaz 1az elsőbe, 2 a másodikba, de mitől lesz string....nemértek hozzááá...:S mert ha pl a termiálprogin(ACCESPORT) beállítom hogy Char és Hex String-et akarok küdleni, és beírom a fentebb irt, 31 32 kódokat, akkor szépen hozza az 1 2-t külön külön byte-okba, ez így normális? vagy mi maga az a string...??
üdv
-
Szirty
őstag
válasz Szabest #2542 üzenetére
Helló Szabest!
Most nem azért, de ha számokat írsz ilyen problémakörrel kapcsolatban, akkor nem árt tisztázni, hogy az a szám ASCII karakter, BCD szám, hexában vagy decimálisan kell-e értelmezni amit írsz stb. Sok félreértést és fölösleges írást kerülnél el vele.
Pl.:
"String-et akarok küdleni, és beírom a fentebb irt, 31 32 kódokat, akkor szépen hozza az 1 2-t külön külön byte-okba, ez így normális? vagy mi maga az a string...?? "Az eddigiek alapján már sejthető, hogy te itt ASCII karakterkódokról írsz méghozzá hexadecimális formában. Mivel a 31h="1" ASCII karakter, a 32h pedig "2"...
Úgy tűnik ezekből kell összesakkozni egy integert. Dezsi82 pont ezt írta le tömören, de pontosan.A string egyébként egy olyan (többnyire byte-okból álló) adatsorozat, aminek az egyes elemei karakter kódokat tartalmaznak. A kódok ASCII kódok. Tehát szöveg, vagy írásjelek sorozata.
A string általában tartalmaz olyan adatot, amiből kideríthető a hossza.De lehet fix méretű is (ilyenkor nincs benne hossz információ, mert arra nincs szükség). Pl. az első byte megmondja a hosszt, vagy a karaktersorozat végén nulla van (null terminated string). -
Robit1976
csendes tag
Sziasztok.
Köszönöm a válszokat, mostmár tisztább a kép.Dezsi: Én is jártam már így a Wincc-vel, az okát nem tudom de nekem a Windows
rendszer visszaállítása oldotta meg. Nem tudom hogy ez nálad müködhet e. -
raceboy
csendes tag
Hello
Egy olyan kérdésem lenne, hogy hogyan tudnám azt megoldani, hogy megadok egy időt (pl. 2012.05.06 12:00) és ebben az időben a plc egy előre megírt folyamatot végrehajtson? -
-
Csuka21
csendes tag
Sziasztok!
Egyetlen kérdésem lenne :
GRAFCET módszer, programot meg kell tervezzünk. van 3db monostabil szelepes (Y12, Y13, Y14) munkahenger... A feladat az, h a PLCre feltöltve a programot, az alaphelyzetet felvéve el kell induljon a 8 ütemből álló mozgáskoordináció, majd a végén felvegye ismét az alaphelyzetet ......ez eddig oké!!. Van Vészleállító, Stop és egy X12(0-1)kapcsoló, mely ha 0 pozícióban van, akkor a mozgás, csak 1x megy végbe, ha 1es állásban, akkor a 8 ütem addig megy tovább automatikusan, mig a stoppal/ vészstopppal, avgy az x12 es kapcsolóval le nem állítjuk.
A kérdésem: hogyan kell az X 12 es kapcsolóra hivatkozni a gráfcetbe?? azt elértem, h 0 és 1es állsba megfelelően működjön, csak nem áll le a STOPPAL a mozgás?!Remélem valamennyire érthető válaszokat előre is köszönöm!!
Új hozzászólás Aktív témák
- Gray Zone Warfare - Máris túl a félmillión
- Dragon Age: Origins
- Windows 10
- Irányíthat-e atomfegyvereket az AI?
- Senua's Saga: Hellblade II - Íme a végleges gépigény
- Kormányok / autós szimulátorok topicja
- Kertészet, mezőgazdaság topik
- Mini-ITX
- gban: Ingyen kellene, de tegnapra
- Nők, nőügyek (18+)
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest