Új hozzászólás Aktív témák
-
Dezsi82
tag
válasz
makrodom
#1484
üzenetére
Szia!
Hát majdnem jó. amit írtál, csak nem teljesen.
Első paraméter: IW (input word). Vagyis a pillanatnyi érték. (analóg bemenet)
Második paraméter: P1 (first parameter word) vagyis a PID adattáblájának első eleme. A CPU P1+32 területet használ fel. Az első 7 paramétert te állítod a MOV utasításokkal. A többit a CPU használja a saját számításaihoz. A te esetedben: DM10-DM16-ig vannak a PID paraméterek, de nem szabad használnod a DM17-DM42-t. Tehát ha módosítani szeretnéd valamelyik PID paramétert, akkor ezekre a területekre kell adatot mozgatnod.
Harmadik paraméter: OW(output word). Vagyis a szabályzott érték. (analóg kimenet)Azt nem tudom, hogy az IW miért DM0 ráadásul fixen kettőre beállítva, gondolom az valami szimuláció miatt van úgy. Mert amúgy oda egy bemenet kell, vagy legalábbis egy bemenetből számított DM terület.
-
Dezsi82
tag
válasz
makrodom
#1481
üzenetére
Szia!
A paramétereket az első részben található MOV utasításokkal állítod be. Ha jól emlékszem, akkor minden paraméter be lett állítva, de nem esküszöm rá.
Elvileg rátöltöd a PLC-re és megy, legalábbis ha jól állítod be a be-, és kimeneti paramétereket.
Javaslom az akkor linkelt dokumentumok átnézését. -
Dezsi82
tag
válasz
Dezsi82
#1420
üzenetére
Helyreigazítás:
Viszont egy Simatic MP simán elvisel ennyi animációt, különben nem lenne az objektumoknak Movement animációja.Amennyiben a mozgásról nincs pontos pozíció információ, akkor nem szabad olyan megjelenítést választani, ami ezt pótolni kívánja, mert nagyon félrevezető.
És ez nagyon igaz -
Dezsi82
tag
Szia Szirty!
Az esetek túlnyomó részében tényleg az egyszerűbb a jobb (nem is tudnék példát mondani az ellentettjére
). De ez szerintem nézőpont kérdése, ráadásul személyfüggő.
Egyeseknek valami bonyolultabb, másoknak meg más.
A konkrét példánál maradva én sem csinálok ilyen esetben mozgó képmegjelenítést, inkább valahogy máshogy jelzem a köztes állapotot, mondjuk színnel.
Ugyanakkor egy ilyen feladatban szerzett tapasztalat hasznos lehet egy bonyolult feladat egyszerűbb megoldására.
Ráadásul ha a karbantartási szempontot nézzük, akkor egy ilyen programot nehezebb is másnak módosítani, mint aki megírta.
Viszont egy Simatic MP simán elvisel ennyi animációt, különben lenne az objektumoknak Movement animációja.
És ráadásul nincs mit tenni, ha a megrendelő azt mondja, hogy ő szeretne ilyen "parasztvakítás"-t
Persze minden mondat után egy "szerintem".
-
Dezsi82
tag
válasz
Dezsi82
#1414
üzenetére
Szia!
Eszembe jutott valami. A folyamatos mozgatásnál van egy olyan gond, hogy ugyebár 50 Hz kellene. Ezzel az a gond, hogy az 50 pixel/s.És hacsak nem hatalmas képernyőd van, és gyors pályád, akkor nem fogsz kiférni.
Úgyhogy lehet, hogy ezt a részt hagynod kellene ahogy van, hadd szaggasson. -
Dezsi82
tag
Nem, nem az kell hozzá. Igazából nem kell semmi.
A screens alatt 5-tel van olyan, hogy scripts.
Ott létrehozol egy scriptet, amit aztán futtatsz. Ezek a sriptek VBA alapúak. Nem kell letölteni semmit.
Úgy van hogy
-Screens
-Communication
-Alarm management
-Recipes
-Historical Data
-Scripts
-Reports
-...Mivel VBA alapú ilyen scriptet még notepadban is írhatsz a saját PC-dre. Megírod a scriptet, átírod a kiterjesztést VBS-re és már futtható is.
-
Dezsi82
tag
Szia!
Igazad van, tényleg nem lehet lejjebb venni. Akkor esetleg ezt a kódot javaslom, scriptbe:
While HmiRuntime.ActiveScreen.ScreenItems("Rectangle_1").Left < Celpoz do HmiRuntime.ActiveScreen.ScreenItems("Rectangle_1").Left=HmiRuntime.ActiveScreen.ScreenItems("Rectangle_1").Left+Lepeskoz
Wend
True helyett a mozgás feltétele kellene. A Celpoz a bal oldal kívánt értéke, a Lpeskoz, pedig az, hogy mennyi pixelt ugorjon egy lépésben. -
Dezsi82
tag
Sok kis téglalapot rakok egymás mellé aminak a függőleges méretét 1-re állítom és ezeket egymás pozícionálom majd a fent írt változó egy-el nagyobb értékénél jelennek meg. Erre esetleg tudnátok egy kevésbé szöszölős megoldást?
Ha sikerült megértenem, akkor az talán egyszerűbb lenne, ha vagy egy bar-t használnál, csak akkor ugye a bar üres része ott fog maradni, vagy egyszerűbb az is, ha rajzolsz egy téglalapot, aminek a magasságát a már említett VBA scriptből írod.
Én pl így módosítom egy téglalap magasságát:
HmiRuntime.Screens("Main").ScreenItems("Rectangle_1").Height=160+SmartTags("RectHeight")
A tag ami beállítja a magasságot az a RectHeight, a téglalap neve, pedig Rectangle_1, és a Main képernyőn van -
Dezsi82
tag
Szia!
Egy kicsit így is darabos a mozgás, meglehet valahogyan oldani, hogy folyamatos legyen?
Ha jól tudom a mozgókép legalább 50 Hz kell, hogy legyen, úgyhogy ha folyamatosabbat szeretnél, akkor legyen nagyobb a frekvenciája a frissítésnek.
Arra van e valamilyen megoldás, hogy a következő screen magától jelenjen meg ha a változó értéke egy beállított értéket elért?
Ha rákattintasz a tagre, akkor ha jól emlékszem van olyan esemény, hogy onchange, high limit, low limit. Beállítod, hogy mondjuk high limitre egy ActivateScreen-t a kívánt képernyővel
Az még fontos, hogy ha azt szeretnéd, hogy ez minden képernyőn megtörténjen,akkor a tag frissítését tedd át folyamatos figyelésre
Erre esetleg tudnátok egy kevésbé szöszölős megoldást?
Nekem nem világos teljesen, mit szeretnél, de ha értesz egy picit a VBA nyelvhez, akkor tudsz írni scriptet, és abban elég sok mindent meg lehet oldani, de sajna nem mindent. -
Dezsi82
tag
válasz
morfondi
#1378
üzenetére
Szia!
Szerintem használhatod az analóg jelet on-off szabályzásra. Mégpedig úgy, hogy az off a 4mA lesz, az On meg 20 mA. Elég hülyeség, de a vevőnek mindig igaza van
Szóval, ha az értéked kisebb, mint a beállított, akkor 20mA, ha nagyobb, akkor 4 mA. Persze lehet hiszterézis, stb. Vagy ha a rendszer nem bírja a 100 %-t. akkor az on lehet akár 65% vagy paraméter. -
Dezsi82
tag
válasz
#95904256
#1361
üzenetére
Egyszer csináltuk egy berendezést, aminek 0,4 s volt a ciklusideje (mármint magának a gépnek). Ellenállásokat ellenőrzött, és 0,4 s másodpercenként jött le egy ellenállás a gépről.
Az IO-knál nekünk is szükség volt valami hasonló válaszidőre. Akkor valahol olvastam, hogy úgy lehet gyorsítani a válaszidőt, hogy egyből a PQ területet írod, Ezt persze bitenként nem lehet, csak szavanként. -
Dezsi82
tag
válasz
morfondi
#1348
üzenetére
Szia!
Szerintem ez egy teljesen jó megoldás. Ennél elegánsabb már csak az lenne, ha mozgó átlagot képeznél a szelep váltási idejéből, és azt írnád be a max időnek. De ez már túlzás lenne.
Esetleg még azon lehetne finomítani, hogy a hibabit esetleg felesleges is lehet, mert magát a timert is használhatod hibabitnek.
De különben én általában lemérem a váltási időt, és kettővel megszorzom, ha nem túl kényes az alkalmazás. Mert ki tudja. Hátha állítanak a fojtáson, változik a levegő nyomása, kicsit megszorul, stb. -
Dezsi82
tag
Hali Szirty!
Köszi a választ!
Igen, van a programban jópár ugrás és ciklus. Használok rendező, kereső, törlő és egyéb algoritmusokat. De sajna van belőlük jó pár darab. Mindegyiket igyekeztem úgy megírni, hogy végtelen ciklus ne lehessen belőle, de azért átnézem őket még egyszer.
Ezért lenne jó, ha kiderülne a hibaüzenetből, hogy melyik DB-t akarta címezni, mert akkor abból kiderülne melyik függvény csinálta a galibát. Illetve még abból sem teljesen , de legalább szűkülne a kör. Így akkor most csak azt csinálhatom, hogy átnézem az összes algoritmust, és reménykedem, hogy többet nem fordul elő. Persze ha találok ilyen hibát. Vagy tényleg PLCSIM-mel jó alapos teszt alá vetem őket.
Az OB121 nekem is fel van töltve, hogy ha esetleg valaki programozási hibát csinál, attól még ne álljon le a telep. De lehet letörlöm, és akkor könnyebben megtalálom a hibát. -
Dezsi82
tag
Sziasztok!
A következőben kérném a segítségeteket:
Van egy PLC, S7-300, és a múltkor leállt hibával.
Diagnosztikában megnéztem, és az oka ciklusidő túllépés.
Előtte a következő hibaüzenet van, elég sok:Event 5 of 10: Event ID 16# 2523
Area length error when writing
Global DB, word access, Access address: 510
Requested OB: Programming error OB (OB121)
Priority class: 1
Internal error, Incoming event
06:30:07.881 PM 05/29/2010Honnan lehetne megtudni, hogy ez most mit jelent? Mert a súgó nem segít túl sokat.
Az addig, OK, hogy címzési hiba. Van a programban néhány indirekt címzés, és lehet valamelyik ezek közül hibás, de melyik? Azt vettem észre, hogy akkor is ez jön be, ha olyan állomással akarok kommunikálni Profibuson, ami hibában van (ugyanis DB-be másolom a bemeneteket, indirekt címzéssel). -
Dezsi82
tag
Sziasztok!
Teljesen egyetértek Szirtyvel.
Egy ilyen tanfolyam tényleg nem jó másra, csak hogy a szakmai alapismereteket elsajátíthasd. De szerintem egy tanfolyam nem is szolgál másra. Ahhoz, hogy valaki profi legyen akármiben, és keresett legyen, ahhoz kell, hogy a saját verejtékével csinálja meg az élet által adott feladatokat. De ehhez nemárt, ha legalább az alapokkal tisztában van az ember, ami alapján elboldogulhat.
Én is nagyon furcsálnám, ha egy ilyen tanfolyam után az illetőnek a kisujjában van a szakma minden fortélya. Leginkább azért, mert ez egy elég dinamikus világ.
Számomra pl. még így 12 intenzív év után is tartogat újdonságokat.
-
Dezsi82
tag
Szia!
Flexible árak megközelítőleg fejlesztéshez: 30 000(Micro) - 500 000 Ft (Advanced)
Ha PC-re csinálod és kell runtime, akkor: tag számtól függően nagyságrendileg: 300 000 Ft
Aztán emellé vannak egyéb opciók: Sm@rt Access, OPC Server, Archív licensze: kb 100 000 Ft darabjaMindegyik nagyságrendileg, 2009 februári árlista alapján.
Csak ajánlani tudom, számomra az egyik legkönnyebben kezelhető és legrugalmasabb HMI eszköz, amivel dolgom volt. -
Dezsi82
tag
válasz
Directors066
#1308
üzenetére
Szia!
Ez az AhogyPaintbenHirtelenÖsszeTudtamRakni szabvány szerinti
. Működőképes, de nem teljes. Ráadásul ahogy néztem, megint elrontottam a végálláskapcsoló jelképét. Ez arra jó, hogy megértsd, hogy hogyan kellene, hogy működjön. -
Dezsi82
tag
válasz
Directors066
#1305
üzenetére
-
Dezsi82
tag
válasz
Directors066
#1303
üzenetére

Szóval ezt alkottam. Van egy start gomb, ez egy ciklust hajt végre. Igazából én ennek látom értelmét, mert ugyebár vlaminek el kell, amikor van darab.
A stopnak meg úgy látom értelmét, hogy ha megnyomom megáll, ha újra start, onnan folytatja, ahol abbahagyta.
A rajz elég gagyi, paintben van, és nem teljes de asszem a lényeg látszik. Nincs benne stop, meg vészstop, de talán azzal boldogulsz. Vészstopnál ugyebár annyi, hogy a szelepek megfelelő vezérlő ágára rányomod a levegőt. Stopnál meg szerintem simán szakítsd meg a táplevegőt a váltószelepek előtt.
A lényeg az alulról második szinten lévő magányos váltószelepnél van. Az tárolja el azt, hogy az első lépés, vagy a második lépés az aktív. Másodikba akkor vált, ha 3. henger hátul van, elsőbe akkor, amikor az első hátul van. Az adott lépésben csak a megfelelő végálláskapcsolók kapnak levegőt, így nem gabalyodnak össze működés közben
Remélem segítettem. -
Dezsi82
tag
válasz
Directors066
#1301
üzenetére
Hát, én elkezdtem, de sajna nem tudtam befejezni, mert el kellett mennem.
De a következőket javaslom:
Ugyebár a gond abból adódik, hogy a végálláskapcsolók állapotából nem egyértelmű a következő lépés. Ehhez tehát kaszkád módszer kell. Magyarul valahogy el kell tárolnod, hogy meg történ-e a váltás, és lépésekre osztod a folyamatot, egy lépésben gey henger csk egyszer szerepelhet, tehát
Lépés 1: A+ B+ C-
Lépés2: C+ AB-
A két lépés között a C henger hátsó helyzete adja a váltást. A lépés állapotát tárolja mondjuk egy bistabil szelep állása.
De ha vársz egy picit, összedobok valamit.
A start/stop mit csinál? Start egy ciklus, vagy folyamatos? -
Dezsi82
tag
válasz
Directors066
#1293
üzenetére
Szia!
A vezérlésed milyen? PLC, vagy teljesen pneumatikus? -
Dezsi82
tag
Szia!
És azt már próbáltad, hogy nyelv-semlegessé teszed a projektet? Remélhetőleg semmi olyan karaktert nem használtak, ami galibát okozhatna.
Step7 Manager, projektre jobb klikk, object properties, és bepipálod, a Can be opened any windows language settings (language neutral) jelölőnégyzetet. -
Dezsi82
tag
válasz
#95904256
#1238
üzenetére
Igazából ez egyelőre elvi kérdés.
Sokkal egyszerűbb lenne, ha a tömb egy elemét el tudnám érni úgy, hogy az elemcímét változóból megadom, és nem kell a memóriacímzéssel vacakolnom.
Persze ha máshogy nem lehet, akkor úgy csinálom. Csak abban reménykedtem, hogy ha már van tömb, akkor az elemeit el lehet érni úgy, hogy az elemszámot egy változóból veszi.
Csak mert én egyelőre annyi értelmét látom a tömbnek, hogy deklarálásnál leegyszerűsödik mondjuk 180 bool típusú változó beírása
Újragenerálás meg eleve csak Instance DB-nél létezik, Shared-nél nincs is ilyen lehetőség (amennyire én tudom) -
Dezsi82
tag
válasz
#95904256
#1236
üzenetére
Szia!
Igen, ez így működik, de így a memóriaterületet tudom indirekt címezni, én viszont a tömbön belül szeretném elérni a megfelelő bitet.
Pl ha beteszek egy változót a tömb elé, ezzel a módszerrel már nem is lesznek jók az adatok. Ha viszont a tömb egy adott elemét érem el, akkor nincs ilyen gond -
Dezsi82
tag
Sziasztok!
Tud arra valaki módszert, hogy lehet Siemens PLCben egy tömb elemeit indirekt módon megcímezni? A pointeres megoldást ismerem, de szeretnék egyszerűbbet, mondjuk valahogy így:teszttomb: Array [1..180] of bool
i:intS #teszttomb
Előre is köszi a válaszokat
-
Dezsi82
tag
válasz
#95904256
#1216
üzenetére
Aha jó kis cucc, automatán felismeri a beállításokat. Nekünk van egy bio erőmű, amit üzemeltetünk. És 12 Mbps Profibus hálózat van ott, elég komoly adatforgalommal. Minden Profibus-os eszköz tudja ezt a sebességet ami ott van, csak az én programozóm nem.

Még szerencse, hogy két port van rajta.
-
Dezsi82
tag
Sziasztok!
Szeretnénk egy PC-s vezérlésben kihagyni a merevlemezt, és CF kártyát rakni helyette. Láttam a neten különböző SATA-CF átalakítókat, de nem tudom melyiket lenne érdemes használni.
Ja és jó CF kártya is kellene.
Mi mindenképp megbízható szeretnénk, a megrendelőnk mindenképp olcsót.
Tudna valaki ajánlani valamit?
Köszi -
Dezsi82
tag
Szia Szirty.
Bár 1000 %-ra nem tudom mondani, de elvileg semmiféle driver sem szükséges hozzá. Amit pl én csinálok távoli elérés (bár az Siemenshez, tehát TCP/MPI átalakító), ahhoz sem kell semmilyen driver a gépre, csak egy VPN kliens. A soros porton kijövő adat nem hiszem, hogy csak FINS lehet, mert akkor nem tudna működni szabványos soros eszközökkel.
Szia akosf!
De különben így is vissza kell majd fejteni az adatot. Vagy már működik a felhasználónál egy teljesen rugalmas protokoll, amibe csak benyomod az adatokat az előírt formában, és már működik is a dolog?Én különben nagyon furcsállnám, ha az Omron nem tudna ez ethernet portján TCP stringet nyomni. Legalábbis akkor engem megvezetett az ottani emberke, amikor egy egyszerű alkalmazásban ez lett volna a feladat. Még jó hogy aztán nem Omronnal adtuk ki az árajánlatot, és nem rendelték meg.

-
Dezsi82
tag
válasz
#95904256
#1169
üzenetére
Értem. De attól függetlenül, hogy becsomagolja, az nem marad szöveg? Nem lehet visszafejteni a PC oldalon?
A soros port szerver gateway, de nem PC, hanem olyan switch-szerű cucc. (Az igazat megvallva jómagam sosem használtam) A TCP stream-et átalakítja soros streamre. Ez biztos működik, mert nekünk van egy raktár gépünk, ami így működik, bár nem én programoztam sem a PC-t sem a PLC-t.
Pl. egy soros port szerver:
http://moxa.hu/Product/NPort_6150.htmDe ez csak egy példa, vannak egyszerűbbek, olcsóbbak is.
-
-
Dezsi82
tag
-
Dezsi82
tag
válasz
makrodom
#1151
üzenetére
Sajna syswin-nel már rég programoztam, nem emlékszem, hogy hogyan kell berakni a kiterjesztett utasítások közé. Ha jól sejtem az ábrád csak azt mutatja, hogy milyenek léteznek, azt nem, hogy ténylegesen mi van betöltve.
CX-programmernél a plc alatt van olyan, hogy expansion instructions.Ott kell felvenni.
És persze, figyelj, hogy CPM2 típusod legyen, mert CPM1-be kalapáccsal sem vered bele.

-
Dezsi82
tag
Szia ktgida!
Szerintem a legjobb lesz, ha a szakirányfelelőstől kérsz ötletet. Legalábbis ha jó jegyet szeretnél a diplomadolgozatra, én a helyedben biztos ezt tenném. Adhatnak tök jó valóságos ötleteket az itteni, vagy más oldalakon lévő szakemberek, és akár meg is oldhatod hibátlanul. De ha az ottani emberek nem vágják a témát (márpedig tapasztalataim szerint nem vágják.
) akkor le fogják húzni a szakdogát
Persze ezt csak a saját tapasztalataim, és ismerőseim elbeszélései alapján mondom. Lehet, hogy ahol te írod, átmegy egy valós példa is, de szerintem sok vele a nyűg. Az iskolába iskolapélda való.
-
Dezsi82
tag
válasz
makrodom
#1139
üzenetére
Hali!
A PID-t nem akarja betenni. Kiírja,h Function is not mapped!
Azaz valami bővitményt kell még hozzá leszednem?
Azért írja ki, mert az alap készletben nincs benne a PID. Ahhoz, hogy ismerje fel kell venned az utasítások közé. Ezt az Expansion Instructions alatt találod. Simán átrakod bal oszlopból jobb oszlopba. És a kiterjesztett utasításkészletet is fel kell töltened a PLCre. De csak akkor fog menni, ha legalább CPM2-d van, mert a CPM1 és a CPM1A sem ismeri
az utasítás: MOV #0 DM13 és elvileg innen tudja -
Dezsi82
tag
Szia!
Szerintem a válasz egyszerű.
Ha a könyv azt írja, hogy csak egy modul, és azzal nincs meg a szükséges IO, akkor Neked az nem lesz jó. Bár én a CPM1A leírásban (CPM1 nincs meg nekem) 3 modult láttam.
Az hogy miért van több bit lefoglalva, mint amennyit ki is lehet építeni jó kérdés. Lehet azért, hogy több típushoz is lehessen ugyanazt a vezérlőt használni? Vagy lehet, hogy speckó modulok használják az IR regisztert?
-
Dezsi82
tag
Szóval csináltam egy példát. Mivel CPM1A nem értelmezi a PID függvényt, ezért CPM2-vel csináltam (ő is csak kiterjesztett utasításkészlettel ismeri)

A jelenlegi érték a bővítő modul 1. bemenetére van kötve(2-s csatorna). A P és I tag állítása a bővítő modul 2. bemenetére van kötve(3-s csatorna), a vezérlő jel pedig a bővítő modul kimenetére van kötve(12-s csatorna).
És az alapjel 123 -
Dezsi82
tag
Gondoltam összeállítok egy példaprogit, mégis csak az érthetőbb.
Az első gond, amibe belebotlottam, az le van írva egy táblázatban a már említett dokumentációban a 291.oldalon miszerint a CPM1A nem ismeri a PID utasítást.
-
Dezsi82
tag
válasz
makrodom
#1115
üzenetére
Szóval berakod a létrába a PID utasítást egy P_On flag után.
Ennek 3 paramétere van:
1. paraméter: DM0
2.paraméter: DM10
3.praméter: DM50Az első ugyebár a pillanatnyi érték, a szabályzód ez alapján fog szabályozni.
A második a szabályzó paramétertáblájának első adata.
A harmadik a manipulált érték.Ez lesz a szabályzó programrészed utolsó része.
Ez elé kell beírni MOV utasításokkal a paraméterek írását. (Lehet máshogy is, de kezdjük az elején
MOV ??? DM10
Ide kellene írni az alapjelet (azt értéket, amit szeretnél, hogy a pillanatnyi jel felvegyen.(a példában persze arról nem esik szó, hogy ezt milyen módon kívánod állítani. Lehet, hogy inkább ez kellene hogy legyen a 0-10V bemenet).
MOV DM100 DM11
A DM100-ról átmásolod a P tag értékét.
MOV DM100 DM11
A DM100-ról átmásolod az I tag értékét.
MOV &0 DM12
D tag 0 -> kikapcsolva
MOV &10 DM13
Mintavételezési idő 1 sec
A többi paramétert nem kell bántani.És még mindezek elé kell beírni az analóg jel feldolgozását mondjuk így:
BCD 10 DM100
Ez a 10-s csatorna pillanatnyi értékét átalakítja BCD-re és bemásolja a DM100-ra.Programkód szerint fordítva írtam, de így talán jobban érthető.
Forrás:
a konkrétan ajánlott Omron "magyar nyelvű leírás CPM1-hez" c. doksi PID-ről szóló 239. oldalát?
-
Dezsi82
tag
válasz
makrodom
#1112
üzenetére
Én sem hiszem, hogy túl sok köze lenne a kettőnek egymáshoz, hacsak nem az, hogy mondjuk az, hogy az üzlet világítását a benn tartozkodók számával arányosan akarják változtatni, és persze fényerősségmérővel kombinálva.

Másrészről mi hiányzik még a kettes feladathoz?
- Benyomsz egy PID blokkot.
- Létrehozol egy változót, ami a 0-10 V bemeneteddel arányos (valami tetszőleges arányban)
- ez a változó lesz a PID blokkod P és I tényezője, a D tagot kikapcsolod (vagy 0, vagy nagyon-nagy szám, a leírást kellene megnézni)
- Mintavételezési időd meg 1s
- Aztán már meg is van.
-
Dezsi82
tag
Kicsit felelevenítettem a dolgokat, és a következőt találtam:
PI szabályzó átviteli függvénye Laplace transzformált alakban:
H(s)=Kp+Ki*(1/s) (Wikipédia)
Ennek megfelelően neked egy olyan szabályzó kell, amiben a Kp=Ki, azaz az integrálási tényező egyenlő az arányos tényezővel, ami a 0-10 V-tal arányos. Na persze, hogy milyen arányban arányos, azt nem tudjuk.
Mintavétel 1 s. -
Dezsi82
tag
válasz
makrodom
#1108
üzenetére
Hali!
Szirty nagyon jól mondja, ha a PID körökkel szeretnél mélyebben megismerkedni, akkor ne feltétlen a PLCnél kezd, léteznek interneten offline szimulátorok, ahol megismerheted a körök tulajdonságait. Ha PLC programmal csinálsz ilyet, akkor tudsz ugyan egy szimulációt elindítani de sajna a rendszert magát nem fogod tudni szimulálni. Így valami fogalmad lesz ugyan a manipulált jelről, de az halottnak a csók, hiszen a valós rendszer egyből reagálni fog (esetleg időállandóval).
Az átviteli függvény azt mutatja meg, hogy a bemenő jeledre milyen választ fogsz kapni. Nálad a p helyére az idő kerül, a K helyére a 0-10V bemeneti értéked. És a mintavétel 1 s. Érdekes, hogy a manipulált jelre nincs kikötés, hogy milyen legyen, bár ez igazából részletkérdés. Az erősítés 0-10V jelről értelmezésében annyi hasznot látok, hogy a P erősítés könnyen állítható (és sajnos elállítható
) -
Dezsi82
tag
Sziasztok!
Bár nem PLC programozás, de automatizálási kérdés:
Egy alkalmazást készítek, amin egy nyomtatványon lévő szöveget kellene értelmeznem. A szöveg számokból és a magyar abc karaktereiből áll. A szöveg lehet kézzel nyomtatott betűvel írt, és géppel nyomtatott szöveg is.
Amit jelenleg használunk, az elég drága, ezért keresek olyat, ami azért elég jó, de mondjuk nem 7 számjegyű az ára. Az alkalmazás Delphivel készül, úgyhogy valami olyan megoldás kellene, amit a Delphi is kezelni tud.
A segítséget előre is köszönöm. -
Dezsi82
tag
válasz
Dezsi82
#1102
üzenetére
Felrakták a honlapra a CJ sorozat fordítását, úgyhogy elérhető magyarul is.
[link]
Másrészről egy jótanács: ha szeretnél ezen a területen boldogulni, akkor szerintem próbálj egy kis angolt felszedni. Az esetek többségében van hogy csak angolul találsz leírást. (Lásd CPM1A Programming Manual
) -
Dezsi82
tag
válasz
makrodom
#1098
üzenetére
Hát ha a PI kör működését szeretnéd szimulálni, akkor a legegyszerűbb, ha használod az Omron PID blokkját. Már elég rég tanultam az átviteli függvényeket, de ha jól emlékszem, akkor a K nálad a P tag, a p pedig az I tag.
Itt le tudod tölteni a programozói manuált
[link] -
Dezsi82
tag
válasz
tamas60
#1053
üzenetére
Számítógépet nem alkalmaznék ilyen helyre, mivel a jövő héten is működnie kell a rendszernek
Nekünk több berendezésünk működik ipari körülmények között PC-s vezérléssel, sőt Akosf-ék előszeretettel használják ezt a megoldást. És én is áprilisban fogok beépíteni egy PC-s vezérlést egy finomöntöde héjképző vezérlésének. Ez a megoldás is nagyon megbízható, még ha nem is annyira, mint a PLC -
Dezsi82
tag
válasz
tamas60
#1050
üzenetére
Szia!
Nekem egyszer kellett keresnem PLC-t, ami olcsó és van benne, Ethernet port. Amit találtam, az a Modicon Twido. Van benne Ethernet port, meg néhány digit IO, talán analóg is. Bővíthető, és az ára sem rossz.Programozni nem programoztam, így nem tudom, hogy a porton milyen formában kommunikál, de azt hiszem TCP protokollon keresztül tud stringet küldeni egy adott IP címre.
Ha meg nagyon olcsó megoldás kell, akkor szerzel egy használt P2-s gépet, raksz bele analóg kártyákat, vagy Ethernetes analóg kártyát. És meg is van. Persze mindkettőt programozni is kell. -
Dezsi82
tag
válasz
Abeltomi
#1036
üzenetére
Hali!
Jól mondja a kolléga, egy szóval sem vitáztunk róla.

Ellenben az LG PLC-vel nem boldogultam. Nem akart a laptopom csatlakozni a PLC-hez.
Először is nem találtam a PLC-n sehol stop kapcsolót, de elvileg semmi nem használja a soros portját, mert egy LG kijelző van rádugva, úgyhogy RUN-ba is tudnom kellett volna csatlakozni.
Próbálkoztam több beállítással ,de egyikkel sem akart csatlakozni. A kábelek bekötését az LG doksikból néztem ki, így az elvileg jó kell hogy legyen (bár nem ellenőriztem).Tudja esetleg valaki, hogy mik az alapértelmezett beállítások, illetve hogyan lehetne kideríteni, hogy mik a jelenlegi beállítások? Le kellene töltenem a PLC és az kijelző programját is.
Köszi
-
Dezsi82
tag
-
Dezsi82
tag
válasz
theBitEater
#1024
üzenetére
Hali!
Köszönöm szépen, de a cuccokat már letöltöttem a honlapról. Jól tudod, a Master K-hoz is a GMWIN-t ajánlották. -
Dezsi82
tag
Sziasztok!
Közvélemény-kutatást szeretnék tartani
Tudtok egy megbízható márkájú USB-soros átalakítót vagy PCI-os soros portot?
Nekem már volt dolgom mindkettővel, de sajna rossz tapasztalatokkal. -
Dezsi82
tag
válasz
#95092224
#1016
üzenetére
Hali!
Időközben letöltöttem a leírást, és abban az van, hogy ha nincs bepipálva az "include project file" feltöltésnél, akkor nem tudom visszaolvasni sem.
Ahogy néztem, alapként be van pipálva. Remélem nem volt memóriahiányuk, és bekapcsolva hagyták.
Azért köszi.
A .Net-et még nem használtam, csak nézegettem. Akkor az nem exe-t csinál? Valami olyasmi, mint a java? -
Dezsi82
tag
Hali Szirty!
Fekete doboz
Ez igaz, de legalább vissza lehet fejteni, ha PC lenne, nem is tudom hogy kezdenék hozzá
De ha Siemens, vagy akármilyen más PLC lenne, akkor is gond lenne vele, mert nincs meg a program. Nem az a gond, hogy ritka. Illetve nem csak.
Tölthetem vissza, és a villamos dokumentáció alapján fejthetem vissza. Lehet gyorsabb lesz újraírni. -
Dezsi82
tag
Sziasztok!
Programot kellene módosítanom egy LS Master-K120S PLC-n és egy LS XP30 kijelzőn (Persze az eredeti program nincs meg, lehet visszafejteni a programot.
)
Még soha nem találkoztam ezzel a típusú PLCvel. Valahogy a forgalmazót sem találom, akinek levelet írhatnék. Be kellene szereznem a fejlesztő környezeteket. Tudna nekem valaki segíteni? -
Dezsi82
tag
Legfeljebb mikrovezérlő van egy PLC-ben
Igazad van, mert egyik ismerősöm szétszedett egy PLC-t, és egy PIC-et talált benne. (Gyártmányt nem tudok). Valóban durva hiba, ha egy autóra azt mondjuk, hogy az egy V8-s motor, de úgy gondolom ez a legjellemzőbb része. Ahogy a PLCnek a mikrokontroller az esze. Legalábbis így gondolom.
Másrészről nevezhetünk egy speciális igényeknek megfelelően módosított PC-t PC-nek?
Ha igen, akkor PC vezérli a robotokat. És a PC nem számítógép? -
Dezsi82
tag
Hali!
Ha jól tudom a PLC inkább microcontroller. Az igazat megvallva nem tudom pontosan az miből áll, de egy robotvezérlő szekrényben van winchester, op rendszer, általában CD meghajtó, stb. Ha esetleg van KUKA robototok, nézd meg bootolás közben. Kb 5 perc, mire beindul szegény.
És szépen mutatja a windows boot képernyőt. A japánok általában megcsinálják, hogy saját op rendszert írnak, ezért aztán gyorsabban is indulnak. Nézd meg az egyik robototok vezérlő szekrényét, a szervók fel lesznek fűzve egy kommunikációs hálózatra. A hálózat egyik végén lesz egy nagyobb doboz, az a számítógép.
Azért nem PC-t írtam, mert az nekem a személyi számítógép. És a robotokban általában nem közönséges PC van. Bár a KUKA ez alól is kivétel, ott sima PC van. A vezérlőben ha jól emlékszem Win95, a kijelzőben attól függ mikori kiadás, Win95-WinXP. Na meg is kell, hogy mondjam, az a fajta robotvezérlővel van a legtöbb gond.
De nekünk ez csak jó 
Nem beszélve a számtalan egyéb megoldásról is ami még esetleg lehetséges.
Egyetértek.
tt nem arról van szó, hogy tudja-e vagy sem.
Azt írtad úgy tudod nem támogatja. Akkor úgy mondom, hogy támogatja, ha így jobban tetszik
-
Dezsi82
tag
Ha nem akarod érteni nem fogod.
Nekem a bool utasítások az és, vagy, xor, stb. Ezeket mind tudja a delphi. Gondoltam, ha leírom, hogy van ilyen változótípus, akkor egyértelmű, hogy a hozzá tartozó utasításokat is kezeli.
Biztos van ilyen is
Ki kell, hogy ábrándítsalak, minden robotot számítógép vezérel.
van sokkal jobb megoldás mint a PC.
Nyilván vannak feladatok, amit PCvel, van amit PLCvel egyszerűbb megoldani. De szerintem semelyik esetben sem tehető meg az, hogy ne nézzük meg mindkét lehetséges megoldást, illetve kijelenteni, hogy a PLC mindig gyorsabb, és hogy a PC mindig olcsóbb. -
Dezsi82
tag
Hali Szirty!
Tévednék?--> Tévedsz
Nagyon jól lehet vele logikai műveleteket végezni.
A bool változótípus épp ilyen.
Ami kicsit macerásabb, az egy bájt, word, vagy double word adott bitjének az állapotát lekérdezni, vagy beállítani, de az is viszonylag könnyű.
Az viszont igaz, hogy egy hosszabb logikai hálót nehezebb átláthatóra megcsinálni. Megoldható, de kicsit nehezebb. De egy nagyobb hálót Siemens-szel sem tudsz monitorozni, mert csak a képernyőn látható első néhány utasítást monitorozza.
És akkor jobb szétszedni.
De az nagyon igaz, hogy működés közbeni debugolás nehézkesebb, sőt lehetetlen, ha nem készülsz fel rá..
van RAM elég.
Ez egy sajnálatos programozói hozzáállás, de tényleg gyakran találkozom vele én is. De PLC programnál is.
a windows nem éppen real time oprendszer
Őszintén, nem tudom mire gondolsz, mit jelent a real time oprendszer. De a PLC-k is egymás után hajtják végre az utasításokat. Továbbá, ha kijelzőkön, robotvezérlőkben megfelel a PC, és a windows, akkor azért olyan vacak mégsem lehet -
Dezsi82
tag
Hali!
A PCről jutott eszembe egy probléma, amin túlléptem, de nem tetszik a megoldásom.
Szóval a gond a következő:
Van egy S7 PLC Profibuson kommunikál egy jó pár eszközzel. A PLCre feltöltöttem az összes OB-t, amit hiba esetén meghív a PLC. Így ha valamelyik profibus-os eszköz hibában van, és nem kommunikál, akkor világít ugyan a BF, meg az SF, de nem áll le a PLC.
Viszont van egy PC egy CPxxxx kártyával, de nem Siemens fejlesztő környezetben írt szoftverrel, amit nem mi írtunk. Na, ha ezzel van valami gond, pl lekapcsolom, akkor leáll a PLC ciklusidő túllépés miatt, mert nem tudja írni a területet. És igazából nem tudom miért. Van valakinek ötlete? -
Dezsi82
tag
Hali!
Értettem én mindent, szerintem én nem voltam világos
Én kimondottan a fejlesztésre gondoltam, nem a működésre.
És pont arra akartam rámutatni, hogy egy saját fejlesztésű PC vezérlésnél a megjelenítés és a vezérlés szorosan egymás mellett megy.
Logikai? Miért a Delphi milyen, ha nem logikai? -
Dezsi82
tag
Hali
Ezeket a hibákat ismeri, nem tudom melyik jön be rövidzárra, talán a félkövér
OB82_MDL_DEFECT BOOL Module is defective
OB82_INT_FAULT BOOL Internal fault
OB82_EXT_FAULT BOOL External fault
OB82_PNT_INFO BOOL Channel fault
OB82_EXT_VOLTAGE BOOL External voltage failed
OB82_FLD_CONNCTR BOOL Front panel connector not plugged in
OB82_NO_CONFIG BOOL Module is not configured
OB82_CONFIG_ERR BOOL Incorrect parameters on module
OB82_SUB_MDL_ERR BOOL Submodule is missing or has an error
OB82_COMM_FAULT BOOL Communication problem
OB82_MDL_STOP BOOL Operating mode (0: RUN, 1: STOP)
OB82_WTCH_DOG_FLT BOOL Watchdog timer responded
OB82_INT_PS_FLT BOOL Internal power supply failed
OB82_PRIM_BATT_FLT BOOL Battery exhausted
OB82_BCKUP_BATT_FLT BOOL Entire backup failed
OB82_RESERVED_2 BOOL Maintenance request
OB82_RACK_FLT BOOL Expansion rack failure
OB82_PROC_FLT BOOL Processor failure
OB82_EPROM_FLT BOOL EPROM fault
OB82_RAM_FLT BOOL RAM fault
OB82_ADU_FLT BOOL ADC/DAC error
OB82_FUSE_FLT BOOL Fuse tripped
OB82_HW_INTR_FLT BOOL Hardware interrupt lost -
Dezsi82
tag
válasz
#95092224
#975
üzenetére
Hali!
A diagnostic interrupt azt jelenti, hogy ha diagnosztizálható esemény van, akkor meghívja az OB82-t. Annak a paramétereiben, pedig le tudod kérdezni, hogy mi történt.
Az, hogy ez megtörténik-e, ha rövidzárlat van, azt nem tudom. Sosem próbáltam
Amennyire jól emlékszem a Siemens-es modulok rövidzár védettek, de hogy ez, meddig, és hogyan. azt nem tudom.
-
Dezsi82
tag
Hali!
A HW eszközökben én is Szirtyvel értek egyet. Legalábbis annak idején én úgy tanultam, hogy CPU-k gyártásánál a gyártás utáni ellenőrzésénél a hibás transzformátorok százalékában osztályozzák őket. Normál PC, ipari PC, PLC, gyógyszeripar, hadipar, űrhajózás. Bár nem tudom ,ez így van-e még.
A SW dologban viszont akosf-fel. A Delphi, pl mint objektumorientált programnyelv nem lassabb, mint a WinCC. Legalábbis egy menüben beállítani hogy milyen színű, nem gyorsabb , mint beírni, hogy xxx.color:=clRed; Ráadásul, ha Delphiben írod, egyszerre haladsz a vezérléssel, és a megjelenítéssel. Míg ha megjelenítő szoftvert használsz, akkor le kell programoznod a PLC oldalt is. -
Dezsi82
tag
válasz
#95904256
#965
üzenetére
Ugyanaz mint amikor a PLC döglik be
Azért úgy gondolom, hogy a PLC-nek a meghibásodási mutatói nagyságrendekkel jobbak, mint egy PC-nek. Jómagam pl elvétve találkoztam lefagyott PLCvel, míg PCvel jóval többször.
Egy kollégám pl előző munkahelyén olyannal találkozott, hogy egy lefagyott NIDAQ kártya miatt egy műszak CD író tönkrement.
A Delphi / C++ / VB program ugyanúgy módosítható mint az LD / FBD / ST / IL .
Amennyiben megvan a forráskód, nem?
És mi a helyzet a keresztreferenciával? Delphiben csak keresni tudsz, vagy nem? Vagy pl IO ponttól visszakeresni egy ismeretlen programban. PLCvel majdnem sima ügy, PC-s programnál, ha nem kommentezett a program, nagyon eltarthat.
Sok PLC pl. nem tárolja el a kommenteket
Ez igaz, de ha megvan egy régi programod, visszaolvasod bele az újat, és sokkal jobb a helyzet, mintha nullláról kezded az egészet.Más különben milyen rendszert használtok PC-s vezérlénél? Milyenek az IO-k? Csak mert én is szívesen használom a PC-s vezérlést, és hátha Ti jobbat használtok.
-
Dezsi82
tag
válasz
#95904256
#963
üzenetére
És mi van akkor, ha a PC lefagy? Mondjuk kiad egy kimenetet, kimegy egy munkahenger, egy nyomáskapcsoló jelére pedig visszahúzza azt. De ha lefagy a PC, akkor nem fogja visszahúzni a munkahengert, és összetöri a munkadarabot.
De igaz, hogy az ember biztonságát nem a vezérlő logika kell, hogy biztosítsa, úgyhogy módosítok. Ha a gép tudna magában kárt tenni.
Nagy cégek meg szerintem azért is írják elő a PLC-t, mert azt könnyen tudják módosítani, a fent lévőt visszaolvasni. Egy PC-s alkalmazásnál, amennyire én tudom, visszafejteni nem lehet az exe-t. -
Dezsi82
tag
válasz
#95092224
#961
üzenetére
Hali!
Szerintem civil célnál az ár a döntő szempont. MiniPC árakban nem vagyok jártas , de pl ha nem kell kijelző (mint mondjuk egy öntöző rendszernél) akkor jóval olcsóbb mondjuk vaterán egy használt PLC. Másrészről meg talán aki mondjuk PLC programozásban jártas, szívesebben használ PLC-t mint hogy PCre fejlesszen egy vezérlő szoftvert, és azt is meg kelljen tanulnia. Illetve aki PLCkkel foglalkozik (márpedig iparban ez a döntő) az lehet tud "kamionról leesett" PLCt
De én például használtam már iparban PC-t vezérlésre, és az is stabil, ha nem raknak rá hülyeségeket, és arra használják, amire kell. Az ellenkező ellen meg tudok védekezni. Bár az is igaz, hogy nem csinál semmi veszélyeset. Ha tudna emberben kárt tenni, biztos nem bíztam volna PCre.
Új hozzászólás Aktív témák
- PlayStation 3
- E-book olvasók
- MWC 2026: leégsz, ha nem figyelsz a TCL 15 ezer nites panelje előtt
- exHWSW - Értünk mindenhez IS
- Milyen légkondit a lakásba?
- 5.1, 7.1 és gamer fejhallgatók
- Fejhallgató erősítő és DAC topik
- Garmin topik
- Yettel topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- További aktív témák...
- Keresünk iPhone 13/13 Mini/13 Pro/13 Pro Max
- LENOVO ThinkPad Yoga 370,14",FHD, i5-7300U,8GB DDR4,128GB SSD,WIN11,LTE,TOUCH
- BESZÁMÍTÁS! Gigabyte B450M R5 5 2600 8GB DDR4 512GB SSD GTX 1650 4GB ZALMAN T3 Plus Deepcool 400W
- Honor 400 512GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Én egyszer próbáltam, mert valami gond volt az USB interface-szel, de soha többet.








Ahogy néztem, alapként be van pipálva. Remélem nem volt memóriahiányuk, és bekapcsolva hagyták.
)