- Házimozi belépő szinten
- Milyen egeret válasszak?
- Hobby elektronika
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Milyen TV-t vegyek?
- Alapértelmezett konfiguráción sok Core CPU-nak lehet stabilitási gondja
- Gaming notebook topik
- Milyen processzort vegyek?
- Háromféle processzor is része lesz a Core 200 sorozatnak
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.
-
Mozgásban az F1 24
gp A Forma 1 versenyek rajongói hamarosan végre belevethetik magukat az idei epizódba.
-
Az Apple megszerezné a klubvilágbajnokság közvetítési jogait
ph A vállalat ezért irgalmatlan pénzt fizetne a FIFA-nak, és ezzel rajzolná át az online streaming platformok háborújában a frontvonalakat.
Új hozzászólás Aktív témák
-
Onishi
tag
Üdv mindenkinek!
Mostanában tervezek venni Siemens SIMATIC S7-300-as PLC-t. Lenne pár kérdésem.
1. Ez a PLC csak a saját tápegységével kompatibilis, vagy esetleg másfajtát is rá lehet kötni? Csak mert tudok szerezni ingyért 24V-os DC tápot. Így ha nem muszáj nem venném meg a siemens-es tápot hozzá.
2. Mire való pontosan a SIMATIC NET modul? Nem igazán találtam róla infót.
3. Csak spéci programozó kábellel lehet felprogramozni, vagy esetleg sima RS-232, vagy USB kábellel is lehet? Miben más egy programozó kábel?Előre is köszönöm a segítséget.
-
Onishi
tag
Sziasztok!
Siemens S7-300-as PLC-men csak MPI port van. Mindenképp Ethernetes helyi hálózatra kellene vele felcsatlakozni. Eléggé kezdőnek számítok a hálózati dolgokban így lenne pár ötletem, és egyben kérdésem is, hogy ez így megvalósítható-e. Programozás és HMI megjelenítés zajlana Etherneten keresztül.
Először is vennék egy MPI-USB-s programozó kábelt az mindenképp kelleni fog, ha programozni szeretném.
Akkor ehhez kellene egy USB-Ethernet átalakító. Többfélét is találtam, de nem igazán tudom melyik fajta lenne jó, és nem szeretnék mellényúlni.
Belinkelnék pár típust.
1. [link]
2. [link]
3. [link]
4. [link]
Gondolom az alábbi biztos nem lenne elegendő:
5. [link]
Esetleg Wifi-s megoldás elképzelhető szerintetek? Ugyanis a routerünkön van Wifi. Milyen kütyüvel lehetne megoldani? Mondjuk ilyennel?:
6. [link]Vagy esetleg létezik mondjuk olyan router amin van usb bemenet és akkor úgy zajlana a kommunikáció?
Bocs a hosszúságért, de tényleg tanácstalan vagyok az ügyben.
Köszönöm előre is a segítséget.
-
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. -
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? -
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.
-
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. -
Onishi
tag
-
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?
-
Onishi
tag
Köszönöm a válaszokat. Ma is okosabb lettem valamivel :-)
-
Onishi
tag
Szevasztok!
Csak úgy kíváncsiságból kérdezném tőletek, (tapasztalt rókáktól :-)), hogy előfordult-e már veletek olyan, hogy egy plc program írása során kifutottatok az adott plc "tárhelyéből"?
Gondolok itt mondjuk merkerekre, számlálókra, DB-kre stb. hogy pl. többre lett volna szükség, mint amennyit az adott cpu tud kezelni. Mit csináltok olyankor? Egyáltalán elő szokott fordulni az iparban olyan nagy program? -
Onishi
tag
Sziasztok!
A segítségeteket szeretném kérni egy számlálós probléma megoldásához.
Egy olyan programon dolgozom, amely bizonyos folyamatokat hajt végre sorrendben. Ehhez számlálót használok. Az egyes folyamatok feltétele a számláló aktuális értéke.
Tehát, ha pl. a számláló értéke nulla és teljesül egy bizonyos feltétel, akkor a számlálót növelje 1-el. Ekkor már a számláló értéke 1 és ha szintén teljesül egy másik feltétel, akkor szintén növeli a számláló értékét, és így tovább. 7 lépéses folyamatról van szó és nagyon praktikus lenne számlálóval megoldani a dolgot.
A probléma az, hogy nem akarja a számláló magát léptetni, mivel önmaga a feltétele és 1 ciklusban hajtódik végre.
Hogyan tudnám áthidalni ezt a problémát a legegyszerűbben? Nem bírok rájönni. Az alábbi képen látható egy részlete a programnak: -
Onishi
tag
Hát ez így nekem továbbra sem működik.
Viszont beletettem próbaképp egy külön sort, hogy a léptetést egy másik bittel aktiválom, és úgy sem akar 1-es állapotba váltani a C1_up. Így valami más lehet a probléma. Elég érdekes ez a jelenség, hiába jelzi a létradiagramban a Network 5-ben, hogy aktív, valójában mégsem az:Viszont a --(CU), léptetővel engedi léptetni a számlálót, szóval azt fogom használni.
[ Szerkesztve ]
-
Onishi
tag
válasz sörösló #3650 üzenetére
Hát azért ez nem teljesen így van. Természetesen tanítottak az egyetemen plc programozást, csak az a baj, hogy kevés óraszámban és nagyon az alapokat. (pl. analóg jeleket egyáltalán nem kezeltünk, max csak megemlítették, hogy olyan is van).
Szerintem aki kijön az egyetemről, akármennyit is tanítanak neki a plc programozásról, akkor is kezdő marad, hiszen a valós gyakorlati életben nem használta még a tudását, így nem alakulhatott ki még az a komplex szemléletmód ami a plc programozáshoz elengedhetetlen. Ezt sok gyakorlással lehet szerintem elsajátítani, amihez Szirty honlapja hatalmas segítség, főleg annak aki nem Siemens-en tanult, mint én. Persze valószínű Szirty honlapja nélkül is elsajátítható lenne, csak sokkal hosszabb idő alatt.
Igaz én "csak" mechatronikai mérnöknek tanulok/tanultam. Gondolom egy villamosmérnöki kar, automatizálási szakirányán jóval többet oktatnak a plc programozásról. -
Onishi
tag
Hát nálunk szerencsére a pneumatika, hidraulika, aktuátortechnika és plc programozás azért elég gyakorlatias volt és szerettük is. Volt 4 munkapad (Festo) és azokon kellett a kapcsolásokat kialakítani, programozni, még arányos technikát is tanultunk. Viszont az eszközök egyre jobban amortizálódnak, az egyetemnek meg nincs pénze kicserélni őket, így valóban azzal kellett dolgozni ami volt.
Például plc programozás vizsgánál 2 munkahenger által megvalósított bizonyos lépéseket kellett leprogramozni. Ehhez kellett 4 darab véghelyzet érzékelő. Namost amikor be kellett mutatni a tanárnak, egyik kezemmel tartottam az egyik érzékelőt, mert rosszul érintkezett, a másik kezemmel nyomtam a nyomógombot, a lábammal tartottam az elosztót amibe a táp be volt dugva, mert az is vagy érintkezett vagy nem. :-)
Ez a 4 tárgy volt a leghasznosabb, amiből tényleg tanítottak is valamit, bár még így is keveset.
Én egyébként azért mentem mechatronikára, mert érteni akartam a műszaki dolgokhoz. Főleg elektromossághoz, gépészethez, automatizáshoz. A Discovery adta anno a legnagyobb ihletet, mindig ámulattal ejtettek el a bonyolult gyártósorok és egyszerűen szerettem volna érteni hozzájuk és ezzel foglalkozni.
De ebben az egyetemben csalódnom kellett. Korántsem kaptam meg az a mélységű tudást, mint amit szerettem volna.
Legjobban az sajnálom, hogy amit egyetemen oktattak elektronika vagy robotok néven az a vicc kategória. Pedig van az egyetemnek pár robotja, de az csak arra való, hogy a nyílt napokon becsalogassák velük a naiv középiskolásokat, hogy majd ilyeneket fogtok programozni. Aha, a nagy frászt. Nem, hogy nem programoztunk robotot, még csak a közelébe sem engedtek minket. Csak porosodik, akárcsak egy Festo-s gyártósor modell. Arra is csak pálcával mutogattak.
SCADA, HMI, frekvenciaváltók, ipari buszrendszerek csak előadás keretében hangzottak el és ennyi. Aki kikerül innen és nem jár utána, nem igazán tud hozzászagolni ezekhez.
Egy BME-s ismerősömtől tudom, hogy ott sem sokkal jobb a helyzet. Ők például pneumatikához, meg hidraulikához nem tudnak hozzászagolni, viszont elektronikához már annál jobban. De például egy mérési gyakorlat ott is úgy zajlik, hogy a tanár megcsinálja a mérést, a hallgatók nézik, kiosztja nekik a mérési eredményeket, azt meg mindenki felsőbb évfolyamosok mintái alapján kiértékeli, és gyakorlatilag mindenki ugyanazt adja be.
Szóval lenne mit javítani bőven a magyar műszaki felsőoktatás területén. Amúgy is mindig azt hallani, hogy gépészmérnök, villamosmérnök hiányszakma és e felé kell terelni az embereket, de fejleszteni már nem fejlesztik a dolgokat. Tömegképzés folyik, ami által romlik a színvonal.
Én egyébként erősen gondolkodom egy PLC szakmérnöki elvégzésén. Igaz ilyen szakképzés csak a Gábor Dénes főiskolán van, aminek nem valami jó a hírneve. Nem tudom lenne-e értelme és nem csak pénzkidobás lenne az egész.
Én valóban ezzel szeretnék foglalkozni, érdekel is, és úgy érzem meg van bennem a lelkesedés és alázat a szakma iránt.Bocs ha kicsit hosszúra nyúlt, remélem nem untattalak titeket.
-
Onishi
tag
Sziasztok!
Segítségeteket szeretném kérni.
Wincc Flexible 2008-ban Symbolic IO Field objektumot használok, egy számláló értékétől függő szövegek megjelenítésére.
Hogyan tudom azt megoldani, hogy a hosszú szövegek ne csússzanak ki a területéről? Lehet-e valahogy automatikus tördelés beállítani? Vagy scrollbar-t? Nem találtam ilyen beállítást.Köszi előre is.
-
Onishi
tag
Sziasztok!
WinCC Flexible-el kapcsolatban kéne nekem egy kis fejtágítás.
Hogyan tudom azt megoldani, hogy egy bizonyos gomb (funkció) megnyomása jelszóhoz kötött legyen.
Tehát úgy kéne működnie, hogy a rendszerbe bejelentkezik egy felhasználó (az már megvan), de bizonyos funkciók ezen belül is jelszóhoz lennének kötve.
Nem találtam a gomb eseményeknél olyat, hogy jelszó kérés, csak a GetPassword-öt, de ha jól értelmeztem, az csak arra való, hogy az aktuálisan bejelentkezett felhasználó jelszavát írja egy tag-be. Valami felugró ablakos megoldás kéne.
Vagy ezt csak manuálisan tudom megoldani, hogy csinálok egy jelszókérő "ablakot" ami a gomb megnyomásakor megjelenik, és ha oda beírja a megfelelő karaktereket, akkor továbbengedi?Előre is köszi.
-
Onishi
tag
Igen szerintem is egyszerűbb lenne így, és így is lenne a logikus, de a megrendelő kifejezetten úgy kérte, hogy külön jelszó védjen néhány funkciót. Tehát attól, hogy valaki belép, és van jogosultsága, automatikusan ne férjen hozzá az adott funkcióhoz, csak ha minden alkalommal beír egy jelszót a gomb megnyomásakor külön.
De lehet ezt még egyeztetni kéne velük, mert tényleg nem logikus így. Ha egy felhasználónak van jogosultsága, akkor férjen hozzá és kész. Akinek meg nincs, az meg ne. -
Onishi
tag
Sziasztok!
WinCC Flex-el kapcsolatos segítség kellene. Azt kellene megoldanom, hogy egy adott termék gyártási adatait el kell menteni egy csv fájlba ami tartamazza, hogy ki végezte a gyártást, mikor, mi volt a termék száma, melyik programmal gyártotta stb. Na most az még megy, hogy elmentem a csv fájlokat, de kellene egy képernyő, ahol vissza tudják keresni ezeket az adatokat. Tehát beírják a megrendelés számát, és akkor a kijelző megjeleníti a hozzá tartozó adatokat a csv fájlból. Hogyan lehetne ezt megoldani?
Mindez PC-n lenne, Flexible-el.Előre is köszi a tippeket.
-
Onishi
tag
A #4439 számú hozzászólásomra van esetleg valakinek ötlete? Meg lehet ezt egyáltalán oldani WinCC-ben?
-
Onishi
tag
Ok, ezen még agyalnom kell egy kicsit. Utóbb kiderült, hogy csak néhány adatot kell tudni megjeleníteni, ami gyakorlatilag a file mentési nevében van benne. Így arra kell írnom egy scriptet, hogy kiszedjem a file nevéből a megfelelő adatokat. Nemtudom lehet-e egyáltalán ilyen scriptet alkotni, próbálkozom.
Más:
Ha a "LoadDataRecord" funkciót használom egy nyomógombra, és a Data Record Number-nek megadok egy változót, akkor a gomb megnyomásakor a RecipeView objektum automatikusan át fog váltani arra az adatrekordra ami a változóban levő érték volt? -
Onishi
tag
:-)
Új kérdés: Hogyan tudnám erőszakkal letakarni a Recipe View objektum egy részét? Konkrétan azért kéne, mert lenne egy képernyő, ahol csak egy adott rekordban található értékeket akarom megjeleníteni változó alapján. Ez megy is, de nem szeretném, hogy állítani tudják az objektumról, tehát a legördülő listát kéne eltűntetni, a beállításaiban csak a recept választót lehet kiiktatni. Próbáltam letakarni, de nem lehet, mindig előtérben van a recipe view objektum, akárhogy rendezem. -
Onishi
tag
Azt szeretném, hogy ne állíthassák el. Mármint azt megoldottam, hogy magukat az értékeket ne tudják módosítani, az eddig oké, de azt szeretném, hogy a rekordok közül ne tudjanak a legördülő menüből választani, mert azt egy külön változó végzi. Tehát pusztán csak megjelenítésre akarom ezen a képernyőn használni a recipe-view objektumot. Felette van egy mező, amibe beír egy termékszámot, és az alapján megjeleníti a hozzá tartozó programot(rekordot) és a hozzá tartozó értékeket. Ennyi. Ez működik, csak nem elegáns úgy, ha ott van egy legördülő menü is, ahol bele tud piszkálni. Szerintem.
-
Onishi
tag
Sziasztok!
WinCC Flex:
Mitől függ az, hogy egy adott screen megjelenésekor éppen melyik objektum van kijelölve? Tehát a runtime futtatása közben minden képernyőn van egy olyan objektum, ami alapból ki van jelölve, körbe pöttyözött vonallal. Ezt hogyan lehet megváltoztatni, hogy melyik legyen az?Vagy például azt megoldani, hogy van egy objektum a template-en, ami megjelenik egy bit bebillentésétől, felugró ablakszerűen. Ezen a felugró ablakon van egy input mező és amikor megjelenik, az legyen kijelölve, hogy rögtön lehessen bele írni, ne kelljen külön egérrel rákattintani.
Remélem érthető, hogy mire gondolok.Köszi, előre is.
-
Onishi
tag
Sziasztok!
Szintén egy WinCC Flex kérdés:
Meg lehet-e oldani azt, hogy újabb felhasználókat fel tudjanak venni a rendszerbe?
Tehát van egy rendszer amit be fogunk üzemelni, és azt szeretné az ottani vezetőség, hogyha jön egy új alkalmazott, akkor annak a belépési kódját ők maguk is be tudják vinni a rendszerbe, ne kelljen miatta szakembert hívni. Nem igazán találtam ilyen funkciókat.
Elég macerás lenne minden ilyen eset miatt leutazni pár gombnyomásra.Köszi előre is.
-
Onishi
tag
Sziasztok!
Van egy S7-313 -as PLC-m, amin csak MPI port van. Ehhez, hogy Ethernet hálózatra tudjam kötni vettem egy Soros-Ethernet átalakítót, konkrétan ilyet:
[link]
Ehhez a kütyühöz járt egy VCOM nevezetű szoftver, ami által virtuális soros portként sikerül is elérni a PLC-t.
Az lenne a kérdésem, hogy vajon a PLC-t el tudnám-e érni virtuális soros port nélkül, pusztán tcp/ip vonalon? Ha igen mit és hogy kéne beállítani a hardver konfigban, netproban, pg/pc-ben? Próbálkoztam sok mindennel, de nem jutottam dűlőre.Köszi szépen előre is.
-
Onishi
tag
válasz Dezsi82 #4622 üzenetére
Igazából azért lenne rá szükségem, mert ez egy családi házban használt plc, és ehhez szeretnék egy megjelenítőt csinálni, amihez egy androidos tabletet használnék. Léteznek mindenféle alkalmazások siemens plc-khez, a kommunikációt meg lehetne oldani, de csak akkor, ha etherneten kommunikálna a plc. Valszeg ehhez a soros-ethernet átalakítóhoz nincs androidos driver, nem hiszem, hogy azzal meg lehetne oldani. Vagy veszek egy windows 7 -es tabletet és azzal. De az drágább, mint egy androidos. Legjobb egy CP kártya lenne plc-hez, de horribilis árai vannak.
Ilyesmiken agyalok mostanság. -
Onishi
tag
Tudom, hogy nem elegáns megoldás, de ha már van, akkor kísérletezek vele. Legjobb megoldás egy érintőképernyős operátorpanel lenne, de az elég drága mulatság. Azt váltanám ki tablettel. Létezik rá megoldás, mert a siemens is készít olyan appokat, amivel el lehet érni plc-ket:
[link]
Csak sajna ami nekem van plc, elég régi típus.[ Szerkesztve ]
-
Onishi
tag
Valóban. De akár LabView-el is meglehet oldani opc szerveren keresztül. Az meg fut win7-en már próbáltam. Virtuális soros porton el tudnám érni win7 tabletről, de valóban kéne szarakodni virtuális géppel.
Innentől kezdve jön a keresgetés, hogy melyik kombináció a legolcsóbb és legjobb, a fogyasztásukat is beleértve. Mert napi 24-órás naplózást is szeretnék vele, ki kell számolni melyik megoldás mennyivel dobja meg a villanyszámlát. -
Onishi
tag
Egyébként de, tablettel kívántam volna megoldani a 24 órás naplózást is. Be lenne dugva a töltőbe mindig, azt hadd menjen. Azért gondoltam win7-esre, mert mindenképp windows-os tablettel lehetett volna megoldani és xp-s tablet nincs :-). Habár sztem xp-t is lehetne rájuk telepíteni.
De ez a mini pc-s megoldás lesz a jó, kibővítené a lehetőségeket jócskán. -
Onishi
tag
Sziasztok!
Hogyan tudnám megoldani azt WinCC Flex-ben, hogy amikor a plc kikapcsol (megszűnik a kommunikáció), akkor a PC is kikapcsoljon. Nem tudom milyen eseményhez rendelni.
Amiket próbáltam:
1.) Amikor megy a plc van egy bit ami mindig aktív. Gondoltam, ha kikapcsol a plc, akkor false lesz, így ahhoz a tag-hez rendeltem change value eseményként a stopruntime-ot. Nem működik. Próbáltam integerrel, úgy sem jó.
2.)Próbáltam scriptet írni, amit percenként meghív a runtime, és figyelem ennek a bitnek (vagy integernek, mert próbáltam azzal is) az állapotát/értékét, de úgy tűnik, a kommunikáció eltűnte után megtartja a legutóbbi értéket, legalábbis a script lefutása szerint.Ha lehetne detektálni, a "####" szimbólumokat, az is jó lehetne, bár nekem nem sikerült.
Vagy gondolkodtam még a Symbolic I/O filed objektum által megjelenített karakterek figyelésével is. Ugyanis csináltam egy Text Listet arra a bitre, 1 és default értékekre. És úgy átvált a szöveg, ha kikapcsolom a plc-t.Hogyan lehetne ezt megoldani? Már egy ideje kínlódom vele.
Köszi a tippeket.
-
Onishi
tag
Oké közben megoldottam. PLC-vel növelek percenként egy integert, HMI-n percenként lefut egy script amiben ezt az értéket tárolom egy változóban egy feltételt követően, ami figyeli, hogy a két érték mikor egyenlő. Ha a PLC kikapcsol, akkor nem növeli az értéket, ekkor meg fog egyezni a 2 érték és lekapcsol.
De ha van egyszerűbb ötletetek szívesen fogadom. -
Onishi
tag
Sziasztok!
Előre is bocsi a kisregényért.
A feladat a következő lenne:
2db fényújságot kell soros porton vezérelni egy gyárban, a kiküldendő adatokat egy HMI PC-ből kell venni amin WinCC Flexible 2005 Runtime fut. A PC és a fényújságok között egy-egy soros-ethernet átalakító van. Az eredeti WinCC projekt megvan, így abban egy script segítségével oldottam meg a feladatot. Ez a script végzi az adatok összegyűjtését, a kiírandó szövegek generálását, az időzítések számolását valamint a soros porton történő kiküldést a fényújság felé.
A tesztelés során 2 problémába ütköztem:1.) A script szépen küldi ki az adatokat a fényújság felé, de ha tegyük fel áramtalanítják a fényújságot, vagy valamiért nem elérhető, attól a program még küldi az adatokat, amely egy bufferbe tölti őket, majd ha a fényújságot tegyük fel visszakapcsolják, akkor a bufferből elkezdi folyamatosan ontani az adatokat, amitől a fényújság megkergül. Namost erre az MSCOMM32 objektum OutBufferCount = 0 parancsa valószínű jó lenne, de az MSCOMM32 objektum nem használható VBScript alól, licenszet kér hozzá, ezért letöltöttem az ingyenes NetCommOCX-et, ami ugyanazt tudja mint az MSCOMM32 kivéve az OutBufferCount-ot, mert azt nem tudja, vagy legalábbis nem működik :-). Először a soros port kezelésre egy másik eljárást, a sima OpenTextFile-t használtam, amivel szintén lehet soros portra adatokat küldeni, de a port tulajdonságait tudomásom szerint nem lehet vele megadni és az mindig átállítja a baudrate-et 1200-ra, szóval az sem használható. Más eljárást VBScript-re nem találtam, ami soros port kezelésre lenne való.
Erre a buffertöltéses problémára már kitaláltam egy megoldást: a soros-ethernet átalakítókat pingelni fogom, és ha nem elérhető, nem küldök adatot. Más nem jut eszembe amivel ezt ki tudnám védeni, de nektek hátha van jobb ötletetek.2.) A script látszólag jól működik küldi azt amit kell, de van amikor valami meghülyül és elkezdi magából ontani az adatokat. Ez vagy csak 0, vagy látszólag random karakterek. De ezt olyan sebességgel végzi, amit én tuti nem tudok a sciptből küldeni, mert azt csak másoodpercenként hívom meg, és kb 5-20 másodpercenként küldöm a fényújságba az adatokat. Először gyanakodtam a soros-ethernet átalakítóra, hogy az zavarodik össze, de kipróbáltam az ottani gép saját soros portján küldeni, és azon is előjön. Ezt a megzavarodást, csak úgy tudom megszüntetni, hogy leállítom a runtime-ot, és a soros drivert újraindítom. Azt még meg fogom próbálni, hogy csak a runtime indításakor nyitom meg a portokat, és nem zárogatom mindig le, hanem, csak ha a runtime-ot leállítják akkor. Lehet az állandó port nyitás, meg zárás okozza, nem tudom.
Végső megoldásként azt is lehet, hogyha a gyárban tudnának jogtiszta excelt feltenni a gépre, akkor abban sima Visual Basic-ben is meg lehetne oldani a soros porton kiküldést, ami lehet stabilabb lenne. WinCC scripttel pedig egy fáljba írnám az adatokat, amit a nagy VB olvasna, de kiküldené már ő küldené ki.
Bemásolom a soros port kezelés részt a scriptből:
Set objComport = CreateObject("NETCommOCX.NETComm")
objComport.CommPort = 2
objComport.Settings = "9600,N,8,N"
objComport.PortOpen = True
objComport.Output = Chr(21)
objComport.Output = Chr(18)
objComport.Output = Chr(5)
'Küldendő szöveg:
objComport.Output = fenyero + out + kifutas
'Lezárás:
objComport.Output = Chr(254)
objComport.Output = Chr(lezaras)
objComport.PortOpen = FalseRemélem van köztetek valaki a ki csinált már hasonlót és belefutott már ilyen problémákba.
Előre is köszönöm a segítséget. -
Onishi
tag
Köszi. Eddig csak sima "COM2:"-t használtam, de valami akkor is átállította a port beállításokat a soros-ethernet konverterben. Habár most hogy így mondod, volt amikor jól működött és nem állította át. Az is rejtély egyelőre, hogy mi volt azért a felelős. Azt tapasztaltam, hogy amióta a Netcom-os eljárást alkalmazom, nem állítódik át.
Egyébként monitoroztam a kimenő adatokat a Terminal nevű progival, abból derült ki, hogy amikor meghülyül a soros port, folyamatosan decimálisban 0-t küld, illetve van amikor teljesen random számokat.
Bemásolom egy részletét a logolt hibajelenségnek:\FF183\FS3MAT szárító Stop-0s ţô���\FF183\FS3MAT pályák Stop-9s ţë���\FF183\FS3BKM Stop-18s ţq���\FF183\FS3MAT szárító Stop-27s ţ-���\FF183\FS3Paletta tisztító Stop-37s ţ����\FF183\FS3Aut. bemenet Stop-47s ţń���\FF183\FS3MAT pályák Stop-56s ţ����\FF183\FS3Tisztító után Stop-1p ţ&���\FF183\FS3Tisztító után Stop-1p ţ&<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>
Először megy minden szépen simán, aztán valami beakad és ez lesz belőle.
-
Onishi
tag
A soros kábel kb 1,5m hosszú, ami fixen be van építve a fényújságba, ennek a végén van a soros-ethernet átalakító. Nem használok handshaking-et. Kaptam egy protokollt a gyártójától, az alapján küldözgetem a sztringeket és működik is. Csak néha valami meghülyül és ilyet kezdek el küldeni neki.
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Autós topik látogatók beszélgetős, offolós topikja
- Konzol Screenshot
- Diablo 3
- Vicces képek
- Házimozi belépő szinten
- Milyen egeret válasszak?
- Hobby elektronika
- gban: Ingyen kellene, de tegnapra
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- 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