- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Nyilvános wc-k.....még mindig hiánypótló...
- Meggyi001: Anya, tudsz segíteni a matekban?....Nem érek rá kisfiam, majd segít a ChatGPT...
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- KRTLPC: Ki és hogyan élt túl? Volt ám fennakadás
- Rap, Hip-hop 90'
- Gurulunk, WAZE?!
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
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.
-
Szirty
őstag
Helló Onishi!
Elvileg az OpenTextFile használható így:
Dim fso, oPort
Set fso = CreateObject("Scripting.FileSystemObject")
Set oPort = fso.OpenTextFile("COM1:38400,N,8,1",2)
oPort.Write(Data)
oPort.CloseGyakorlatilag meg nem foglalkozik a port paraméterekkel. Próbáld ki, hátha.
Nálam egyébként azzal a sebességgel megy, amit valamilyen (bármilyen) előtt lefuttatott program beállított az illető soros porton.
Megint csak elméletileg a soros port beállítása ha semmilyen program nem nyúl hozzá, akkor az lesz, amit az eszközkezelőben beállítasz hozzá.Gyakorlatilag meg nem biztos hogy valamelyik telepített program nem állítgatja át.
Ezzel a módszerrel mindenesetre nem puffereli a kimenő adatokat.Én tennék egy másik gépet a két eszköz közé amire bekötném a soros adatvonalat és terminál programmal monitoroznám mit is küld valójában. Sokminden kiderülhet belőle.
-
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. -
Peddy789
őstag
Az alábbi problémám lenne
Adott egy s7-315 pn/dp proci, melette scalanxe x240 switch, plc a switchre, ipc szintén switchre dugva
ip scan progival látom hogy az adott ipcímen látja a gép a cpu-t, de se tia, se step7-el nemtudok rátölteni a plc-re, pedig step7-ben a view accesible nodes is látja a plc-t, de kiválasztom és hibaüzenet: a komm. partner nem válaszol..
a gép ipc847C, hogyan probaljam megoldani a dolgot? driver reinstall ?
-
jobesz
tag
miért a jogsi?
van
melyikprogramot érdemes win alatt jól betanulni:?
tiaportal:? vagy valami univerzális nincs?
-
jobesz
tag
köszönöm válaszaitokt, igazán sokat segítenek, nálunk a tanfolamon lg glofa 7 es van, 2008 as faék szoftverrel, ezután vesszük a siemens et, és a festo-t
Lg és festo ezek szerint nem jellemző már az iparban?
Festo-n csodálkozom, mert pneumatika és elektropneumatika rendszerekben fejlett
szerintetek ar rslogix bradley vonalat érdemes betanulni, vagy a moeller es sucosoft s40 easy soft okat?
-
Szirty
őstag
Szia jobesz!
Annyit tudok mondani én mivel találkozok (működő berendezésekben és nem új beruházásoknál). Ezek (kb. a gyakoriság sorrendjében):
Siemens S7-300
Siemens S7-200
Siemens S5
Siemens S7-300
Omron (különböző fajták, CPM1, CP1E, C200H, CQM1, stb)Még (ritkán) találkozok Moeller Easy-vel, Siemens LOGO-val, nagyon ritkán AB-vel, stb.
-
Dezsi82
tag
Üdv!
Az Audinál a régi csarnokban Siemensek vannak, ha jól emlékszem ez alól nincsen kivétel. Az új meg kizárólag Phoenix Contact.Az én tapasztalatom szerint a német, osztrák érdekeltségű cégek leginkább Siemens-t használnak. Az ázsiaiak meg Omron-t, Mitshubishi-t vegyesen. Az amerikaiak, északi-európaiak Allen-Bradleyt. Aztán a kis cégeknél meg minden van. Ha nem írják elő mit kell használni, akkor a rendszerintegrátor azt használja, ami a legolcsóbb, hogy megnyerje a projektet.
De én nem hiszem, hogy ezt figyelembe kellene venned tanulás közben. Ismerd meg elég mélyen a Siemenst, Omront, esetleg még valami pc közeli nyelvet használót (pl. TwinCAT, Bosch). Ha ezekben elég sok ismeretet szerzel, akkor úgy gondolom nem lesz gond akkor sem, ha egy kicsit ismeretlen PLCvel kell szembenézned.
-
jobesz
tag
üdv! Bocs a kérdésért, de jelenleg plc programozó tanfolyamra járok, és szeretné mmegtudni hazánkban a gyárkaban milyen plc-k vannak elterjedt előfordulásban
Lg glofa stb?
siemsens?
festo?
omron?
Valami más?a siemens több állásnál feltétel, ebből gondolom sok helyen alkalmazzák,
lg vel lehet még valahol találkozni? esetleg panasonic nais vagy moeller?
tud valaki erre vonatkozó infót?
audi gyár pl, vagy flextronics és egyéb hazai gyárak plc márka típus kiépítettsége érdekelne, ehhez igazítanám tudásom és a program elsajátításának alaposságát.Köszönöm a választ.
-
Mazsika
őstag
Sziasztok! Tegnap csináltam egy kis gépet amibe egy 314es cput raktam. Létezne, hogy nem ismeri az FP parancsot? Utasításlistába programoztam, és mikor feltöltöttem, akkor hibára ment a plc és írta, hogy a fordito hibát talált. Ha kivettem a programból akkor minden ment szépen! Megoldottam igazából csak kíváncsi vagyok hogy mi történhetett!?
-
soldi3r
veterán
Jo estet!
Valoszinuleg csak nekem nem egyertelmu kerdesem lesz, de a datasheetben sem talaltam arra utalo infot, hogy az S7-1200 1215 CPU-bol a reles kimenetes verzio mekkora feszultseget es aramot tud kapcsolni? -
rsf
senior tag
Sziasztok,
Siemens S7-300 TIA v13 bemeneti paraméterként szeretném megadni egy FC-ben lévő BLKMOV DSTBLK paraméterét. Bemenet változónak lehet definiálni ANY-t, de ezt a BLKMOV nem fogadja el.
AZ ANY-t nem szeretném összerakni. Jobban örülnék, ha bemenetnek megadnak egy ANY-t aztán a blokk oda másol. Van erre vmi egyszerű megoldás?
Üdv. -
And
veterán
válasz
DP_Joci #4978 üzenetére
Megnéztem: ha nincs rajta program, amit a gyári új állapotot kivéve csak kiszedett elemmel lehet produkálni, akkor a CPU-modulon csak a vörös ERR led villog (és az IO-modulokon is), más életjelet nem ad. Csatlakozás után egy 'üres' applikációt hozott létre a PL7 Pro szoftver, és már ekkor eltűnt az ERR jelzés, a RUN led világított / villogott attól függően, hogy futott-e a 'program' vagy nem. Mindezt úgy, hogy egy sort nem írtam bele.
Azt is kipróbáltam, hogy lekapcsolt vagy éppen kiszerelt - elemet nem is tartalmazó - tápnál pár perc nem számít, ennyire gyorsan nem felejti el a programot a CPU, ha éppen van benne program. Tehát a tápcserét kényelmesen végre lehet hajtani, azon nem múlik a program elvesztése (TSX PSY2600-as táp és P57203-as CPU). -
And
veterán
válasz
DP_Joci #4972 üzenetére
A Premium rendszer leírásában van szó a tápegységek jelzéseiről: [link], lásd az az 50-51. oldalakat. Az elég egyértelműnek tűnik, hogy rendben lévő feszültségszintek esetén a zöld OK jelzésnek világítania kellene. A 24V led szerepe nem ennyire tiszta, mivel a megléte típusfüggő. De két helyen is utalnak arra, hogy a PSY1610-es tápnál ez a led nem játszik: egyrészt azt írják, hogy a sensor power supply csak AC-tápoknál létezik (utóbbiaknál van csak értelme, a '24V' led ennek a kimenetnek a meglétét jelezné), másrészt konkrétan a 1610-es táp adatainál (51. oldal tetején) az 'Output = 24V sensors' ki van húzva, mivel annak DC-tápként nincs olyan kimenete, maga is 24V DC-t igényel.
Tehát ha a BAT led nem aktív és az OK sem, akkor van rá esély, hogy valóban csak táphibás a vezérlő. A CPU-n villogó ERR és a teljesen inaktív RUN led ebben a helyzetben nem túl egyértelmű, de normálisan működő tápnál hiányzó programra utalna. Ha érdekel, jövő hét elején meg tudom írni, hogy milyen jelzéseket ad egy programmal nem rendelkező Premium, mert van egy tesztpéldány a közelemben (annak a tápegysége az a bizonyos PSY 2600). -
Szirty
őstag
válasz
Dezsi82 #4965 üzenetére
Helló Dezsi82!
Ez így sajnos nem működhet, mert:
- UDT változó csak DB-ben lehet
- Az address regiszter 4 byte-os, a DB-n belül lehet csak címezni vele, a DB számát a tartalma nem címzi)Tehát ha #Pultadat egy paraméterben átadott UDT változó és pl. a DB1-ben van valahol, majd csinálsz egy ilyet:
L P##Pultadat
LAR1
L 1
T B[AR1,P#0.0]Akkor az 1-et nem a DB1 #Pultadat változód első byte-jába fogja tölteni (hanem a V stack területre).
Az ok az, hogy szerintem az L P##Pultadat eredményeképpen az accu1-ben az a cím lesz, ahol megtalálod a #Pultadat változót. Valahogy így:Ebből már össze tudsz rakni pár soros programot, ami megnyitja a DB-t és írja olvassa ahol kell.
-
DP_Joci
tag
Hello And,
A táp modul megkapja a 24V-ot, de hogy azt tovább adja, vagy sem azt nem tudom kimérni.
A táp modulon nem világít 24V, de hogy kellene, vagy sem azt nem tudom.
A PLC-n az ERR és a TER villog (ha jól emlékszem, pár hete voltam megnézni).
Ja a BAT nem világít, de mindig kikapcsolják és visszakapcsoláskor nem tudom, hogy tölt-e esetleg vissza, vagy csak valaki megnézte, hogy nem lenne esetleg jó neki ez az elem otthon …
Online tudok menni a plc-vel, de mivel NO UPLOAD INFO jelenik meg így még diagnosztikát sem lehet nézni.
Természetesen a program nincs meg és akik készítették azokkal nem szeretnék a kapcsolatot felvenni (személyes okokból) így még az is jobb számukra, ha újra írom a gép programját. Ennek örülök, csak nem most amikor 3-4 program írása közzé ezt is be kell szorítanom.
Szóval egyrészt az a kérdés, hogy kell-e világítani a 24V lednek vagy sem, ill. hogy mi a jelenség akkor, ha a program nincs benne a TSX P57104 Premium PLC-ben.
Talán az lenne a legjobb, ha kivennéd az aksit a plc-dből és elmondanád nekünk, hogy milyen ledek hogyan villognak.
(Csak vicceltem, segítő szándékodat nagyon köszönöm!)
üdv.
J -
And
veterán
válasz
DP_Joci #4969 üzenetére
Sajnos a közelemben is csak egy TSX PSY 2600-as táp van, de ilyenkor jól jön egy multiméter
.
"A ki-bemeneti kártyák hibában vannak és az a kérdés, hogy lemerült az aksi és elszállt a program"
Ha a programot elfelejtette, akkor a CPU-modulon lévő RUN led biztosan nem fog folyamatosan zöld színnel világítani, és az elemhibát is jelzi egy vörös BAT feliratú led.
Ha még megvan a program, minél előbb csinálj róla egy mentést, amíg nem késő. -
DP_Joci
tag
Sziasztok,
Segítség kellene.
Ha van valakinek a közelében Modicon TSX PSY1610 –es PLC tápegység, akkor nézze már meg, hogy normál esetben a 24V felirat világít-e rajta vagy sem. Ez 24V betápot kap.Megnéztem egy másik gépet, mi működik, abban TSX PSY 2600 táp van, ott világít a 24V felírat, igaz annak 230V kell!
A ki-bemeneti kártyák hibában vannak és az a kérdés, hogy lemerült az aksi és elszállt a program, vagy csak a táp ment tönkre és amikor cserélem, akkor fogja a programot elfelejteni és azért kell majd újra írni, mert forrás az persze nincs
köszi
üdv. -
KB.Pifu
tag
sziasztok!
Múlt héten belefutottam a cégnél egy hibába, de hála a szépen dokumentált programnak sikerült rövid idő alatt megoldani.
mitsubishi plc-n, IO link hiba volt, és a dokumentációból ki lehetett olvasni, hogy az adott bit melyik modult jelenti.
Hasonló esetben Omron-nál mit lehet tenni, ha nincs dokumentáció?
Compakt PLC esetében ott az A404.x, de modulárisnál? Nem sikerült megtalálniKöszi, előre is!
-
Dezsi82
tag
Üdv!
A következőkben kérnék segítséget:
Létrehoztam egy UDT-t, aminek egyik eleme DATE_AND_TIME. Van egy FC-m, aminek az egyik IN_OUT-ja ez az UDT. Szeretnék ebbe a változóba indirekt címzéssel egy temp változót beleírni ami szintén DATE_AND_TIME, de valamiért nem csinálja azt, amit szeretnék, és a keresés nem hozott számomra eredményt. Jelenleg a következőképp csinálom, ami nem működik:
L P##Pultadat
L P#10.0
+D
LAR2LAR1 AR2
L LD 14
T D [AR1,P#0.0]
LAR1 AR2
L LD 18
T D [AR1,P#4.0]
A Pultadat lenne az UDT, a DATE_AND_TIME az UDT-ben 10. bájtnál kezdődik. A DATE_AND_TIME az L14-től 8 bájt.
Ha valakinek van ötlete, hogy miért nem működik, vagy hogy esetleg hogyan lehet más címzéssel megoldani, szívesen venném. Előre is köszönöm -
And
veterán
(Szia! Ehhez annyit tudnék hozzátenni, hogy jó két éve egyszer belefutottunk egy hasonló problémába WAGO-témában. Ott annyival egyszerűbb volt - vagyis csak annak tűnt - a helyzet, hogy nem új modulokat kellett betenni egy DP-s buszcsatoló / fejegység alá, hanem magát a csatolót kellett cserélnünk meghibásodás miatt. Vettünk egy új, típusra ugyanolyan csatolót (750-343), majd csodálkoztunk, hogy beépítés után hibát jelez, és természetesen az alatta lévő WAGO IO-modulok sem működnek. Egy másik hasonló gépből kivettünk egy ugyanilyen csatolót, azzal gond nélkül elindult a rendszer. Hamar kiderült, típusra hiába az eredeti a csatoló, más (újabb) firmware-verzióval rendelkezik. A mellette lévő fő Siemens S7-300-as hw-konfigurációjában ez a WAGO-s remote-egység úgy szerepelt, mint néhány "Universal module" nevezetű eszköz, és ezekhez rendelt IO-címek. Az univerzális modulok darabszáma egyébként csak néhny darab volt, messze nem egyezett meg a fizikailag meglévő WAGO-modulok számával. Úgyhogy muszáj volt az S7-hardverkonfig ezen részének teljes újjáépítése a megfelelő GSD telepítése után, ráadásul elég trükkös módon, de a tényleges számú WAGO-modulokkal megegyező sorral.)
-
Mazsika
őstag
Nem kell törölni a HW configot, én annyit csinálnék hogy egy köv profibus cimre feltenném ugyanezt a tipusu fejegységet, utána ugyanigy a modulokat, + amivel bőviteni akarod. Ha ez megvan törlöd a régit, pb cimet átirod az újon hogy ugyanaz legyen, és kész. Vagy átkattintod fizikálisan a fejegység cimét és meg is vagy. Gondolom senki nem fog megszólni ha nem a 27-esen hanem a 28-ason van a coupler...
-
Dezsi82
tag
-
zumi24
csendes tag
válasz
Mazsika #4953 üzenetére
Szia Mazsika!
Az az igazság,hogy nem szívesen törölném a meglévő HW configot,mert nem tudom,hogy milyen rejtett beállítások lehetnek még.Már én is gondoltam erre a megoldásra ,ha nagyon muszáj lesz akkor ezt fogom csinálni,de örülnék,ha tudnátok valami megoldást a kártya csatoláshoz.
-
zumi24
csendes tag
Szia Szirty
Csak a 21-es című kártya wago ,a másik egy mérlegegység. A WAGO 750-333 csatolón a következő kártyák vannak: 20 db 750-400 2bit bemenet
4 db 750-466 2 csatornás analóg bemenet
2 db 750-554 2 csatornás analóg kimenet
5 db 750-513 2 bit kimenet
8 db 750-501 2 bit kimenet
3 db 750-512 2 bit kimenetEzek után szeretnék még betenni 3 db 750-400 2 bit bemenet,és 2 db 750-501 2 bit kimeneti kártyákat.
Én úgy láttam,hogy eddig ha én csináltam a HW összeállítást akkor mindig fehér volt kártyák helyei,de most szürkék. -
Szirty
őstag
Helló zumi24!
Írd le pontosan mi a jelenlegi összeállítás és hova akarsz tenni mit!
"Eddig 42db kártya van rajta"
Az egyiken, vagy a kettőn összesen? Melyiken milyenek a kártyák? Nem mindegy hány bit és hogy ki vagy bemenet! Azt sem mindegy hogy a library-ból milyen típust akarsz rátenni (vannak kavarások a byte-okkal).
750-333 bus coupler limit:
Max input proces simage: 244 bvyte
Max output proces simage: 244 bvyte
Number of I/O modules: Max 63 -
Mazsika
őstag
-
zumi24
csendes tag
Sziasztok!
Olyan problémám van,hogy adott egy s7-315 DP CPU,hozzá egy WAGO 750-333 csatoló, és még kártyák.Az alkalmazást kellene bővítenem ,de nincs meg az eredeti projekt,csak amit visszatöltöttem a plc-ből.A módosítás sikerült,csak kellene még kártyákat raknom a wago-hoz,de a HW config-ban nem enged bővíteni .Ha valakinek van ötlete szívesen venném .előre is köszönöm. -
DP_Joci
tag
válasz
01101010111 #4945 üzenetére
Szia,
Kipróbálnád úgy, hogy DB-t másolsz DB-be.
Elméletileg menni kell neki, valszeg én írtam el valamit vagy valami már használva van valahol.
köszi
üdv.
J -
01101010111
csendes tag
-
Dezsi82
tag
válasz
DP_Joci #4943 üzenetére
Az a helyzet, hogy univerzális programot még nem készítettem, mindegyik alkalmazásspecifikus. Van olyan, ami SQL szervernek küldi az adatot, illetve olyan, ami rögzített adatokat fogad, és azokat tárolja le. Így sok hasznát ezeknek nem vennéd.
Ugyanakkor valamelyik projektünket egy kicsit ráérősebb időmben átalakíthatom, és mint TCP szerver, vagy kliens el tudja végezni ezt a naplózást. Ez azonban nem Profinetes naplózó, hanem TCP socket alapú. És a PLCben is meg kell csinálni a programozás részét. Ami nem sok, csak annyi, hogy adott időközönként, vagy trigger jelre elküldje az adatcsomagot a megfelelő formában, aztán az alkalmazás elmenti csv formában.
Ha gondolod, ezt szívesen megoldom, valószínű a jövő héten jutna rá időm -
DP_Joci
tag
válasz
Dezsi82 #4942 üzenetére
Valamikor ilyen Delphi-s dolgokkal foglalkoztam a régi szép időkben, talán prodave nevű drivert kellett hozzá használni, hogy profibuszon meg MPI-on kommunikáljon a PC a PLC-vel.
De már nem emlékszem ezekre a dolgokra.
Ha esetleg lenne feleslegben egy ilyen Delphi-s adatgyűjtögetős programocskád, amivel profineten keresztül lehetne naplózgatni, akkor szívesen lecsapnék ráüdv.
J. -
Dezsi82
tag
válasz
DP_Joci #4939 üzenetére
Üdv!
Az RSlinx legtöbb verziójával elérhető, amit írtál, amit különben DDE-nek hívnak.
Ezt gyári szoftverrel ethernetes PLCnél szerintem OPC szerverrel a legegyszerűbb elérni. De kinek mi az olcsó. Nekem a legolcsóbb, hogy írok egy alkalmazást Delphiben, illetve egy egyszerű programrészt a PLCben, aztán mehet is a naplózás -
Dezsi82
tag
válasz
DP_Joci #4938 üzenetére
Üdv
Az én esetemben vagy WinCC Flexible vagy Zenon lesz használva.
Elég nagy az esélye a wincc flexible-nek. Azt még ki kell próbálnom, hogy vajon tudok-e olvasni unlinked db-t, vagy sem WinCC Flexible-lel. Ha nem, akkor a PLCbe kell tennem egy függvényt, ami kiolvas egy sort egy elérhető db-be. -
DP_Joci
tag
Használja valaki a POKE_BLK utasítást S7-1200-as plc-vel?
Help szerint működni kell.
Írtam egy programocskát, ami szimulátorral működik, igaz S7-1500-al, de ahogy letöltöttem egy s7-1200-ra itt nem csinálja a dolgát.
SCL-ben kell megírni, Tia V13-at használok és a plc is V4.0 –ás S7-1214 –es. -
DP_Joci
tag
Valamikor foglalkoztam Allen Bradley plc-vel is.
Azzal meg lehetett csinálni a következőt.
Egy PC össze van kötve egy plc-vel, a pc-n telepítve van excel amivel készült egy makró és a beállított plc változótól függően mentette az adatokat egy file-be. Talán egy RSLinx elég volt ehhez a művelethez.Hasonló megoldás létezik Siemensben?
Minél olcsóbb annál jobb.
pl. S7-1200 etherneten összeköthető a PC-vel. A vevők-nek általában van egy felesleges PC-je. A szoftveres megoldás a kérdéses. -
DP_Joci
tag
válasz
Dezsi82 #4936 üzenetére
Sziasztok,
Ez az adatmentéses téma engem is érdekel(t).
S7-1200-ban gondolkodtam hasonlóban, mégpedig úgy, hogy fájlokat hoztam létre a memória kártyán. Majd aktiváltam a plc web serverét amit ip cím alapján böngészővel el lehet érni. Innen a fájlokat le lehet tölteni, törölni stb.
Tetszőleges webes felületet lehet létrehozni ha valaki nagyon unatkozik.
Ha jól emlékszem beavatkozásra is van lehetőség (mérés indítás stb), ja igen még monitorozni is lehet a változókat.
Már viszonylag régen foglalkoztam a témával azért ilyen homályos.
Dezsi82 az adatok olvasása a te esetedben a fejlesztő szoftveren keresztül történne?üdv.
J -
Shirchy
tag
Köszönöm a segítséget.
Beszéltem a hazai forgalmazóval. Nem tudták megmondani, hogy a gyakorlatban menni fog-e,de a vezérlő elvileg kompenzálja az eltérést.
Átolvastam a cirka 120 oldalas DriveWare (paraméterező program) leírást és elvileg van benne egy home üzemmód amit,ha sikeresen felparaméterezek magától üzemmódot vált egy bizonyos ponton. Ekkor megáll és visszamegy alaphelyzetbe,tehát a túlfutás sem jelentene problémát. A baj az,hogy a gyakorlatban leghamarabb is csak jövőre lesz valami a projectből, viszont nekem most kellene leadnom egy működőképes megoldást.Minden esetre még egyszer köszönöm a segítséget!
-
Dezsi82
tag
Üdv Szirty!
Örülök, hogy hasznos infóval szolgáltam. Ha esetleg valaki hasonló megoldásban gondolkodik, akkor a következőket kellet nekem figyelembe venni:
- az MMC élettartama 100 000 törlés és írás ciklus. Vagyis csak akkor írjuk, ha muszáj. Elvileg az MMC kezelő gondoskodik arról, hogy az írás ne ugyanarra a területre essen, így maximalizálva az élettartamot. De nem tudom, hogy vajon ez DBnél is megvalósul-e. Nyílván egy minden ciklusban írás, hamar kinyírja a kártyát. Jómagam úgy csinálom, hogy inkább csak írom, aztán ha 200 év múlva megtelik az MMC, akkor törli a DB tartalmát
- A DB mérete maximum 64 kB lehet, így sok adat tárolásakor lépegetni kell a DBket, esetleg automatikus létrehozásról (SFC85) gondoskodniEttől függetlenül jómagam jobban szeretem, ha a tárolást egy PC végzi, de jelen esetben a felhasználó nem kíván folyamatosan üzembe tartani egy PCt, hanem amikor szükségük van az adatra, kiolvassák, és statisztikákat végeznek.
Ráadásul egy napig keresgettem a netet megoldás után, erre a kérdés feltétele után 5 perccel megtaláltam
-
Dezsi82
tag
Sziasztok!
Lenne egy alkalmazásunk, ami során egy 315 2PN/DP CPU-t használunk. A PLCnek feladata lenne, hogy naplózzon adatot, és nem keveset.
Egy naplóbejegyzés nem lenne sok, max 10 bájt. Viszont jó lenne egy 10 000 rekordot tárolni. Mivel viszont már jó pár adat van a work memory-ben, az már nem fér bele. Lenne azonban egy 8 MB-os MMC. Tudtok valami módszert, hogy adatot tároljak ezen a majdnem üres MMCn, úgy hogy ha kell, olvasni is tudjak belőle?
A segítséget, ötleteket előre is köszönöm -
Szirty
őstag
válasz
Shirchy #4931 üzenetére
Helló!
Fogalmam sincs hogyan kezeli a drive ezt az esetet. Ha ilyenkor rámpázik, akkor a rámpa meredekségétől és az impulzus sebességtől függően lesz egy jó nagy követési hibád.
Ha az impulzus szám "lemaradását" kezeli, akkor a követési hibát kompenzálja, ha nem kezeli akkor megmarad.A nulla pontra állás szerintem megoldható a drive üzemmód váltásával. A leírásban említi,hogy on the fly lehet módot váltani akár a motor forgása közben is, de hogy ez alatt pontosan milyen üzemmódokat kell érteni azt nem tudom.
Tüzetesen át kell nézni a leírását. -
Shirchy
tag
Üdv Szirty!
Maximális sebességen 2000 jel/s -t ad az inkrementális jeladó... szóval 0 imp helyett egyszer csak 2000 imp menne be neki amit követnie kellene,de a maximális gyorsítást/lassítást be lehet állítani. Vagy az úgy kevés lesz?
A null pontra való visszaállásra van esetleg ötleted?
-
Szirty
őstag
válasz
Shirchy #4929 üzenetére
Üdv Shirchy!
Igen a DIR jel az irányt határozza meg.
"Azt hogy csak adott időben menjen a szervo előre vagy hátra... úgy gondoltam megoldani,hogy a step benetet jelét vagy szakítom vagy engedem,így csak akkor kapna step jelet mikor mennie kell."
Kérdés az, hogyan reagál a szervó arra, ha 0 imp/s utéán egyszercsak kap 200 imp/s-et.
A rémpaidőket be kell tartani -
Shirchy
tag
Üdv!
Bocs kifogytam az időből.
A külső encoder-ről érkező jel és a szervo motor jele közötti eltérést egy aránybeállítással a szervo vezérlő programjában meg tudom adni.
Szóval akkor összegezve...
A step bemenetre menne az inkrementélis jeladó jele,így a bemenő step jeleknek megfelelően lekövetné a szervo a másik jeladóról érkező jeleknek megfelelően a mozgást,miután kikorrigáltam a kettő közötti különbséget a szervovezérlő paraméterei között.
Illetve kellene egy digitális bemenet a szervovezérlőn amit a PLC-vel kapcsolgatnék,hogy előre vagy hátrafelé mozogjon a szervo. Ez gondolom mikor előre felé megy lehet folyamatos egyes,majd amikor vissza kell vinni alappozícióba akkor nullázom és visszatér...
Azt hogy csak adott időben menjen a szervo előre vagy hátra... úgy gondoltam megoldani,hogy a step benetet jelét vagy szakítom vagy engedem,így csak akkor kapna step jelet mikor mennie kell.Ez így akkor működő képes elképzelés?
Illetve a szervo vezérlőben olyan funkciót hol találok,azaz mit keressek, hogy ha nem kap pl step jelet akkor álljon be egy alapjelre? (térjen vissza magától a null pontra)
-
-
Szirty
őstag
válasz
Shirchy #4926 üzenetére
Üdv Shirchy!
Az inkrementális jeladó jelét a step bemenetre kötve elvileg a szervó pozíció szinkronban fog forogni a jeladóval.
A két forgás közötti eltérést azonban a szervó step/dir felbontása (mennyit fordul egy lépésre) és az encoder felbontása fogja adni. Ha ez nem megfelelő, akkor sokmindent nem tehetsz (hacsak a szervóban nem paraméterezhető ez).
A dir jelet neked kell előállítani. -
Shirchy
tag
válasz
soldi3r #4921 üzenetére
Szia!
Köszi ahogy számolt a program még névleges nyomatékkal is 12 m/s2 a gyorsulás így 0,1 mp alatt felgyorsít max fordulatra.
Mindenki:
A szervo vezérlésével kapcsolatban lenne egy elméleti megoldásom amiben szeretném a véleményeteket kérni. A PLC amivel a szervot szerettem volna vezérelni nem képes step&dir-re így a pontos pozíció követés ezzel nem megoldható.A gépen van egy másik inkrementális jeladó. Ha annak a jelét a szervovezérlő step&dir bemenetére bekötöm és csak akkor engedélyezem a bemenetet amikor indulnia kell akkor az szerintetek el tudja kapni a lépést a szervo vagy nem?
A plc ebben az esetben csak a bemenet engedélyezését vagy tiltását csinálná. -
Szirty
őstag
válasz
01101010111 #4924 üzenetére
-
Szirty
őstag
válasz
01101010111 #4922 üzenetére
Helló!
Fel tudok ajánlani ProSave v6.0 és 7.3.3 verziókat próbálkozás céljából...
-
01101010111
csendes tag
Sziasztok, egy kis segítséget szeretnék kérni tőletek. Egy TP170B MONO programját szeretném frissíteni. Az eredeti program még Protool-ban készült (v5.2 SP2), de az üzemben szeretnék kiirtani a Protool-os projekteket ezért át kell konvertálni WinnCC-be. Az a cél, hogy Wincc Flexible 2008 Advanced SP2 verzióval barkácsolni lehessen a programban. A program konverziót Protool-ból WinCC SP2-be, kis kerülővel ugyan, de megoldottam. (Előbb WinnCC 2008 SP1-el átkonvertáltam a Protoolos programot, majd WinCC 2008 SP2-vel a SP1-es programot.)
A TP-be való betöltés viszont nem megy. Egy OS update-re lenne szükség, de ezzel a hibaüzenettel megáll a folyamat:The desired action cannot be executed. This ProSave version and the operating sytem of the operating unit are not compatible. Please perform an operating system update for the HMI device. (Reset to 'factory settings' if necessary)
B5.2.2.23 Loader van a HMI-n, és a B7.2.3.0-at kéne valahogy feltenni. Az a baj hogy fogalmam sincs melyik verziószámú ProSave-re lenne szükség és honnan lehetne azt beszerezni. A legrégebbi ProSave nálam V7.4.6.0.
-
Esemesem
csendes tag
válasz
Achilles83 #4857 üzenetére
Az általad leírt példában az osztás után az egész rész a D2000-be kerül, a maradék pedig a D2001-be. Ezek után te az FLT utasítással próbálod lebegőpontossá alakítani az eredményt. Az FLT utasítás EGY darab 16 bites egészt konvertál lebegőpontossá, amibe a D2001 már nincs benne, nem is tudná értelmezni. A megoldás az, hogy a 0-ás és a 10-es csatornát előbb alakítsd át lebegőpontossá, aztán végezd el az osztást a /F utasítással. Vigyázz, hogy ne legyen átfedés sehol, mert akkor hülyeség lehet az eredmény.
M.
-
Shirchy
tag
Sziasztok!
Szervo hajtás méretezésben valakinek van tapasztalata? Már mint gyakorlati oldalról. Esetleg tudtok olyan oldalt,vagy programot ahol utána tudok nézni az ezzel kapcsolatos számításoknak?
Konkrétan az érdekelne,hogy egy adott szervo motor adott tömeget mennyi idő és út alatt alatt képes felgyorsítani nulláról a motor max fordulatára, majd ugyan ezt fordítva?Azért, ha valaki tudna gyorsan segíteni ezeket a paramétereket találtam:
Mozgatott tömeg: 15kg
Motor max fordulat: 3000 RPM
Motor teljesítmény: 1500 W
Motor nyomaték: 4,77 Nm (RMS)
Motor maximális nyomaték: 14,3 Nm
Motor inertia: 12 x 10^-4 kgm^2
Áttétel 1:1
Golyós orsó: 1 fordulat 20mm mozgás -
Szirty
őstag
Üdv!
Azt szerettem volna elérni, hogy kissé bővebben kifejtsd mit is szeretnél, hogy lehessen rá érdemben válaszolni.
A kérdésedhez, miszerint "hogyan lehet LOGO-ból kiirtani a jelszó kérést" a következő körülményeket tudom elképzelni:
1. Írtál egy programot LOGO-ra, majd azt jelszóval levédted, így ismered a jelszót de most szeretnéd ha nem kérné a jelszót, viszont nem tudod hogyan lehet kikapcsolni a jelszavas védelmet és erre vagy kíváncsi.
2. Szereztél egy LOGO-t, de van benne egy program ami jelszót kér. Szeretnéd használni valami másra a LOGO-t nem érdekel mi van benne, meg akarsz szabadulni a jelszavas védelemtől és a benne lévő programtól, hogy tiszta lappal kezdhess.
3. Van egy LOGO, ami jelszóval védett programot tartalmaz és neked ezt a programot kellene módosítani, ám a jelszót nem ismered.
Majd legközeleb...
-
attrax
aktív tag
Hello,van arra valami módszer,hogy a Siemens logoból kiírtsuk a jelszókérést?
-
DP_Joci
tag
Szia Szirty,
Köszi a leírást.
Most úgy oldottam meg a dolgot, hogy amikor mozgás van, akkor veszem a HSC aktuális értékét és az előző ciklus értékét. Ha ez a 2 érték egyenlő pl. 50ms ig, akkor azt mondom, hogy hiba van.A te megoldásodat használtam régen, de most győzött a lustaság. Majd ha lesz időm, akkor megírom ezt a dolgot Tia portálos verzióra is.
üdv.
J -
Szirty
őstag
válasz
DP_Joci #4905 üzenetére
Helló DP_Joci!
Én ezt úgy csinálom, hogy amikor a hajtásnak forognia kell, akkor 100 ms-onként mintát veszek a számláló értékéből (pozícióból) és kivonom belőle az előzőleg vett minta értékét, majd veszem az eredmény abszolút értékét.
Így megkapom az egy tized másodperc alatt megtett út nagyságát. Ha ez néhány másodpercen keresztül túl kicsi vagy túl nagy, akkor hibát jelez.
Írtam erre egy blokkot.Azt kell jól kitalálni hogy milyen gyakoriságú legyen a mintavétel.
Ha az encoder felbontása kicsi vagy az üzemszerű mozgás nagyon lassú is lehet, akkor a tized mp lehet hogy rövid. Illetve jól kell meghatározni a határértéket amin kívül hibajelzés keletkezik.Rosszul megválasztott értékekkel hamis hibajelzéseket ad, vagy a valós meghibásodást későn veszi észre.
Ez észreveszi ha nem jönnek impulzusok az encoderről. Azt viszont nem feltétlenül, ha az encoder tengely és a hajtás kapcsolata elfordul egymáshoz képest (pl. eltörik az encoder kuplung, de egymáshoz ér még a két fele és hajt, de néha kihagy egy-egy kört).
Ezzel ugyanis keletkezik működés közben egy pozíció offset, az meg géptől függően törést is okozhat.Lehet egy ellenőrző pontot (szenzort) tenni valahova a mozgás útjába ahol gyakran halad el. Amikor a szenzor érzékel, akkor meg kell nézni, hogy az encoder pozíció szerint is ott van-e. Ezt nyilván egy pozíció ablakkal kell vizsgálni. Ha az ablakon kívül érkezik a szenzorról impulzus, vagy az ablakon belül nem érkezik róla impulzus, akkor pozicionálási hiba van.
-
Mazsika
őstag
Igen, a MAN módot amolyan mentőövnek tettem ki, hogy az operátorok tudják szabályozni kézzel is ha gond lenne.
Nem tartottam fontosnak említeni, mert ugy az nem befolyasolja egyebként a szabályzó működését. Akkor a teljesség kedvéért, WinCCről lehet manualba tenni a szabályzót, itt tudják még állítani man értékét is. -
Shirchy
tag
Köszi!
Köszönöm a segítséget. A PLC-n csak két PWM és van két analóg kimenet van amiket ilyen alkalmazásra lehetne használni. Az egyik analóg kimenet már le van foglalva a munkadarabok mozgató motor frekiváltója miatt.
Szóval meg fogom próbálni a sebesség követős megoldást,mert így más nem maradt.
Szerinted 60 cm elég-e arra hogy a munkapad felgyorsuljon és megtörténjen a vágás is?
gondolom majd ki kell kísérletezni,de kb milyen pontosságra lehet számítani? (1-2 cm elcsúszás nem jelentene problémát) -
DP_Joci
tag
Sziasztok,
Van egy inkrementális encoder A és B csatornával. A plc számolja az impulzusokat, ki hogyan ellenőrizné, hogy a számolás megfelelő, tehát nem hibásodott meg az encoder.
köszi
üdv.
J. -
Szirty
őstag
válasz
Shirchy #4901 üzenetére
Üdv Shirchy!
Ha az unitronics-nak van nagy sebességű impulzus kimenete és a szoftvere ismer valamiféle motion control funkciót, akkor nem kell áthozni a PLC-be a motor encoder jeleit. A szervó tud STEP/DIR módot. Ezzel megoldható lenne. De ha a PLC nem tud STEP/DIR jelet kezelni, akkor nem érdemes foglalkozni vele.
A másik mód amit meg lehetne ezzel a felállással csinálni az, hogy a szervót sebesség vezérlés módban hajtod egy analóg PLC kimeneten keresztül. Ekkor a PLC nem ismerné a munkapad pozícióját. A szervónak küldött szinkron sebességet a PLC módosítaná a munkadarab mozgása közben a mért távolság és az elérni kívánt vágási pozíció közötti különbségének arányában.
Így a vágási pont közeledtével a szervónak egyre nagyobb sebességreferenciát adna és a munkapad sebessége épp akkor érné el a szinkron sebességet, amikor a vágási ponton van.
Ez valószínűleg nem lenne nagyon pontos, nem tudom mekkora pontosság kell.Amennyire láttam a szervóról szóló PDF-ekben az encoder kimenetén az jön ki ami a motor feedback encoderről bejön.
-
Shirchy
tag
Szia!
Teljesen jól írtad. Bocs,hogy kihagytam a másik encodert.
A motor encodert a szervo vezérlő kezeli. A PLC pedig egy másik encoder segítségével figyeli a munkadarab pozícióját és sebességét.
A PLC-re bevitt encoder egy 500 mm kerületű mérőkerék segítségével méri a sebességet és a pozíciót. Ennek az encodernek 1000 jel/ford a felbontása. Ez max 2000 jelet ad másodpercenként 60m/perc-es sebesség esetén.
Az anyag sebességének a mérése már eddig is működött, viszont csak álló darabolással ment a gép, ezért kellene ezt a szervo hajtásos dolgot megoldani valahogy.
A szervo vezérlőnek van enkóder kicsatolása ezért gondoltam hogy hátha lehet valamilyen beállítással magában a vezérlőben szoftveres áttétel megadásának segítségével olyan jelet kiadatni, amit a plc fel tud dolgozni.
Így a vágás csak akkor indulna ,ha a munkadarab és a vágóasztal sebessége egyezik és megfelelő pozícióban vannak egymáshoz képest.
Új hozzászólás Aktív témák
- Kezünkben a Honor Magic V5
- Milyen processzort vegyek?
- Miért álltak az oldalak egy hétig, mi történt?
- Haladó fájlrendszerek, de mire jók? Ext4 vs Btrfs vs ZFS vs APFS
- Milyen notebookot vegyek?
- Házimozi haladó szinten
- Kínai és egyéb olcsó órák topikja
- Star Trek
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Borotva, szakállnyíró, szakállvágó topic
- További aktív témák...
- OHH! Dell Precision 7560 Tervező Vágó Laptop -70% 15,6" i7-11850H 32/1TB NVIDIA A3000 6GB FHD
- Ohh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- LÉZEREZÉS! külföldi billentyűzet magyarra kb. 20-30p alatt!
- Lian Li HydroShift 360 LCD /3x120mm RGB FAN/ HSLCD36RB (593933)
- Lian Li Hydroshift 360 LCD /FANLESS/ HSLCD36NB (593932)
- Bomba Ár! Lenovo ThinkPad P71 - i7-7820HQ I 64GB I 512SSD I FHD I Nvidia 6GB I W11 I Cam I Garancia
- Apple iPhone SE 16GB, Kártyafüggetlen, 1 Év Garanciával
- TELJES KÖRŰ IT BESZERZÉS
- Bomba ár! Lenovo ThinkPad L13 G3 - i5-1245U I 16GB I 256SSD I 13,3" FHD Touch I NBD Gari!
- Azonnali készpénzes nVidia RTX 3000 sorozat videokártya felvásárlás személyesen / csomagküldéssel