Új hozzászólás Aktív témák
-
Szabónagymer
aktív tag
válasz
byte-by
#3997
üzenetére
Köszönöm a választ!
Teljesen új vagyok ebben a topikban, csak pár nappal ezelőtt találtam rá, nem is kerestem, hogy volt-e már téma.
Érdekelni maximálisan érdekel, hardver szinten már dolgoztam is PLC-vel, de program szinten laikus vagyok.Elszomorított a kapott válasz, mert "egyhónapos" képsért 200 ezer forintot kiköhögni igen drága dolog...! De hát ez van!

-
attrax
aktív tag
válasz
Szabónagymer
#3996
üzenetére
Sok sikert!
-
byte-by
tag
válasz
Szabónagymer
#3996
üzenetére
halo Szabónagymer !
megtanulni nem lehet ennyi idő alatt.
erős késztetést érezni arra , hogy még többet tanulni róla , azt lehet ennyi idő alatt.két dolog történhet egy, hogy megfog és még többet akarsz tudni és gyakorolni és csinálni,
kettő, hogy érdekel, de nem ásod bele magad igazán, nem foglalkozol vele eleget, aztán már arra a pár izgalmas dologra sem emlékszel ami a tanfolyamon elhangzott.
de ne add fel.
amúgy ezen a fórumon, ha visszanézel ez a kérdéskör már felmerült, talán többször is.
az ott leírtak nem változtak.más.
napokkal ezelőtt feldobtam egy gőz szabályzós problémát.PID szabályzás téma.
úgy néz ki megoldottam, (némi utána járással) publikálom az eredményeket, s7-1500 -as tapasztalat.byte-by
-
Szabónagymer
aktív tag
Sziasztok!
Éppen végzőben vagyok egy erősáramú villanyszerelő okj-s tanfolyammal, és úgy gondoltam megfejelném még egy plc tanfolyammal!
Keresőben meg is néztem, se szeri, se száma a rengeteg tanfolyamnak!!
Ebben kérnék segédletet, hova érdemes jelentkezni, hol a legjobb az oktatás szinvonala, és felszereltsége.
A kettőt nem véletlenűl említem külön, ugan is most végzett tanfolyam is elég magas szinvonalú volt, remek tanárok, de a képzés eszközi szinvonala sajna nem a legmodernebb, de amit kellett még is meg tudtam tanúlni. Ez egy elfogadható kompromisszum.Ezek a képzések hétvégi képzések, 6-9 hónapon át. Ha összegzem az órák számát, a hétvégéket levonva, kb egy hónapra jönne ki, ha mindenapos okatás lenne. Az érdekelne, hogy mennyire lehet megtanulni a programozást ennyi idő alatt?
-
KB.Pifu
tag
sziasztok!
Írtam, hogy szeretném kiválasztani a móduszt egy rendezett adatsorból, sajnos nem volt időm még megcsinálni, nem nagyon akar összejönni, azt a bizonyos növekvő értékű adatsort ez szolgáltatja (siemens oldalon találtam)
FUNCTION FC 1 : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
Data_DB : BLOCK_DB ;
DB_length : WORD ;
END_VAR
VAR_TEMP
Sort_done : BOOL ;
Temp : WORD ;
Count : WORD ;
END_VAR
BEGIN
NETWORK
TITLE =Sort a Data Block using the bubble sort method
//Data Block will be sorted in ascending order.
//
OPN #Data_DB; //Open Data Block
M002: LAR1 P#DBX 0.0;
SET ; //LET #Sort_done = TRUE
S #Sort_done;
L #DB_length;
L 1;
-I ;
Loop: T #Count; //FOR INDEX = Count TO DB_length
L W [AR1,P#0.0]; //IF M(INDEX) > M(INDEX+1) THEN
L W [AR1,P#2.0];
<=I ;
JC M003;
// change M(INDEX+1) for M(INDEX)
L W [AR1,P#0.0]; //LET TEMP = M(INDEX)
T #Temp;
L W [AR1,P#2.0]; //LET M(INDEX) = M(INDEX+1)
T W [AR1,P#0.0];
L #Temp; //LET M(INDEX+1) = TEMP
T W [AR1,P#2.0];
SET ; // ??
R #Sort_done; //LET #Sort_done = FALSE ??
M003: TAR1 ;
L 16; //NEXT INDEX
+D ;
LAR1 ;
L #Count;
LOOP Loop; //End of sorting pass
AN #Sort_done; //If sorting is not done
JC M002; //Jump Conditionally to M002
BE ;
END_FUNCTIONstl-ben még nem vagyok profi, de azért ha magyaráznak megértem, szóval amit belinkeltem az nem egy black-box, szürkének mondanám.
szóval nem sikerült megérteni teljes tökéletességgel hogyan működik a Sort_Done bool változó használata
a dupla kérdőjeles sorokra volnék kíváncsi, miért kell SET-be állítani az RLO-t?azért büszkén mondom, hogy magamtól rájöttem, m003 után az AR-t egyszerűbben is lehet növelni

szóval akinek van ideje ne kíméljen, szeretnék melót találni ahhoz meg manapság kevés a papír, a tudás kell!
-
artiny
őstag
koszonom a válaszokat,
igen azt hiszem AB
egy utolso ilyen feladat:
http://i.imgur.com/XE07Rve.pngKet szállíto D1,D2. Optikai szenzor S1 >> ture állapotban = foglalt
S2 >> ture állapotban = foglalt
Alkosson programot a szallitmany hosssza alapján D1 >megáll a kozepen D2 nek. A tovabbitas soran megall D.
(feltelezzuk hogy a szallitok elvannak inditva,vár a szállítmanyra es ha a felere ert a D2.nek a szallitmany .1 szallitmanyt kell venni mint ket D hez) -
artiny
őstag
Helotok,
van egy feladat amiben segítseget kérnék,hogy szerintetek mit fog csinalni ez a program? -
moseras
tag
válasz
Szakbarbár
#3983
üzenetére
Üdv!
A LED és a 330-500 Ohm nem kell, helyükre egy ilyen relé (vagy valami hasonló):
Ez már 6.8V felett meghúz, tekercsárama 15.5 mA. Kell még a relével párhuzamosan egy dióda (mondjuk 1N4001) úgy, hogy a katód van a +9V felé. A relével már vissza tudod röptetni a 24V-t a PLC DI felé.
Imi.
-
Szakbarbár
aktív tag
Én építettem volna, de véletlenül rövidre zártam a fototranzisztort, így már tárgytalan a kérdésem.
Sajnos nekem nincs analóg bemenetem, csak digitális.Moseras: Ez alapján indultam el a tervezésben, csak eléggé hiányos az elektronikai ismeretem.
-
moseras
tag
válasz
Szakbarbár
#3980
üzenetére
Üdv!
Te magad akarsz alkonykapcsolót tervezni és készíteni ? Ha igen, akkor a hobbielektronika.hu-n kellene körülnézni...
Imi.
-
Szirty
őstag
válasz
Szakbarbár
#3980
üzenetére
Üdv Szakbarbár!
Készített már valaki PLC-hez alkonykapcsolót?
Igen. Pontosabban nem hozzá, hanem vele.
Egy 25000 négyzetméteres csarnok világításához annak idején. Világítási zónák különböző (állítható) fényerőnél kapcsolnak be és ki (+beállítható időre).
Én egy olyan relés alkonykapcsoló fényérzékelőjét használtam, aminek külön van beltéri (az elektronika) és kültéri (a fény érzékelő) része.
A fény érzékelőjét (fotoellenállás) használtam fel de én 0-10V-os analóg bemenetre kötöttem, hogy a kapcsolási küszöb szoftveresen állítható legyen.Ha digitális jelet akarsz, akkor mi sem egyszerűbb, az alkonykapcsoló reléjét egy az egyben rákötöd a PLC digitális bemenetére.
Vagy nem kész alkonykapcsolóban gondolkozol, hanem te építenéd? Akkor mi lenne az érzékelő elem (ami a fényt érzékeli)?
-
Szakbarbár
aktív tag
Üdv
Készített már valaki PLC-hez alkonykapcsolót? Digitális bemenetre szerettem volna egyet készíteni, de sajnos túlmutat az elektronikai tudásomon.
Omron CJ1W-ID211-es a bemeneti modul. -
Szirty
őstag
válasz
KB.Pifu
#3978
üzenetére
Üdv KB.Pifu!
"Ezzel nem egyenértékű a SLD 4 használata?"
A program működése szempontjából teljesen egyenértékű.
Mégis a "szószátyárabb" megoldást szoktam használni (és javasolni), mert így olvashatóbb a kód és kényelmesebb a felhasználása.
Ha pl. nem INT típust akarok címezni, hanem DINT-et, akkor csak átírom a szorzást 4-re. Ha byte-ot, akkor kiveszem a szorzást és a Load-ot. De a pointernél mindig ott marad az SLD 3. -
KB.Pifu
tag
szia!
Én is pontosan ezzel a feladattal kezdtem, mondjuk nekem másfél hónap volt "egyedül" rájönni de mostmár azért egyre jobb vagyok, de egy kérdésem azért van, hogy a későbbiekben ne kövessek el hibákat.
L MW 24
L 2
*I
SLD 3
LAR1
L MW 24ugye itt készítünk pointert a sorszámból, INT -en megszorozzuk kettővel utána DoubleWordben léptetjük a biteket amivel azt érjük el, hogy 8-val szorozzuk.
Ezzel nem egyenértékű a SLD 4 használata? -
Teuton99
csendes tag
Szia Szirty!
A probléma megoldódott: a program végén lévő index léptetésnél SLD-t haszáltam, ami azért nem jó, mert csak INT-eket tárolok és így a double word miatt túlcímzés alakult ki (ez volt az amit a hibaüzenetből kihagytam, túlment a program a megadott címtartományon). Ezért átírtam SLW-re, ami már passzolt az INT-ekhez és a program lefutott.
Mégegyszer köszönöm a segítséget

Ui: a hibaüzenet az utókornak:
"STOP caused by programming error (OB not loaded or not possible, or not FB)
Breakpoint in user program: Cyclic program (OB1)
Priority class: 1
OB number: 1
Module address: 36" -
Teuton99
csendes tag
Üdv Szirty!
A hiba az volt, amit te is írtál

Átnéztem az általad küldött kódot, majd módosítottam aszerint az enyémet, de sajnos megint stop-ba tette a PLC-t. Megnéztem a diagnosztikát és a következőt kaptam:"New startup information in STOP mode
Startup prevented by:
-STOP request exists
-Cold restart or warm restart necessary
Startup information:
-Time for time stamp at the last non bracket up power on
-Single processor operation
Current/last startup type:
-Warm restart triggered by switch setting; last power on not backed up
Permissibility of certain startup types:
-Manual warm restart permitted
-Automatic warm restart permitted
Last valid operation or setting of automatic startup type at power on:
-Warm restart triggered by switch setting; last power on not backed up
Operating mode: STOP (internal)
Incoming event"Mit csinálok rosszul? :
Ui: Még annyira nem ismerem a PH-n a fórumos opciókat (másrészt siettem
), de igyekszem ezentúl esztétikus hozzászólásokat tenni 
-
Szirty
őstag
Üdv attrax!
"őőő bocs hát nyilván azokkal próbálkoztam de nem lehet,mert csak napi/havi/éves időkapcsoló van benne heti nincs!"
Attól hogy nincs rá kész funkció, még megoldható. Ezt programozásnak hívják ;-)
Szóval fogsz 3 darab heti kapcsoló órát. Az egyiket beállítod a hét legelejére (vagy legvégére), aminek a kimenetével on/off módon billegtetsz egy bitet.
Egy másik kapcsoló óra lesz a páros hetekhez tartozó a harmadik a páratlan hetekhez tartozó. Az említett bittel meg választasz közülük, hogy melyik legyen hatásos. -
attrax
aktív tag
Az újabb feladat az lenne, hogy egy logot beállítani úgy hogy egy hétig 5-14 ig a másik héten 14-22ig adjon kimenetet tehát váltott műszakról van szó és persze egy áramszünet ne befolyásolja.Az időtagokkal nem tudom ezt megcsinálni

-
Szirty
őstag
válasz
Teuton99
#3966
üzenetére
Üdv Teuton99!
Nem lett volna baj ha azon kívül, hogy hiba keletkezik elárulod azt is hogy milyen hiba... (Diagnosztikai buffer kiolvasása).
De gondolom "Area error when reading, Incorrect area ID: 0" volt a hiba.Az L W [AR1,P#0.0] címzésednél nem tudta eldönteni milyen memódiaterületről serettél volna olvasni. Hiába raktad az address regiszter töltésénél oda a terület azonosítót (L P#DBX 0.0)
Ezért a L P#DBX 0.0-t L P#0.0-ra, az L W [AR1,P#0.0] pedig L DBW [AR1,P#0.0]-ra kell cserélni.Ha megteszed, akkor meg a ciklus második lefutásakor szintén lesz CPU stop és kapsz egy szép kövér Alignment errort, mert a ciklusmag végén a cím kiszámításakor nem kezelheted az address rekiszter tartalmát integerként:
CIM2: TAR1
L 10
+I
LAR1Újra ki kell számolnod a pointert a ciklusváltozó aktuális tartalmából!
Ez így nem jó, a cím alsó 3 bitje bit cím, neked meg byte cím kell.
Nézd át ezt, ez így működik:OPN DB 1 //DB megnyitasa
L P#0.0
LAR1
L 0
T MW 20 //temp változó
L DBLG
L 2
/I
T MW 22 //eltároljuk a DB hosszát
L MW 22
L 1
-I
CIM: T MW 24 //a hurokváltozó
L DBW [AR1,P#0.0] //ha az aktuális nagyobb, mint a temp--> csere
L MW 20 // egyebkent ugras
>I
JCN CIM2
//csere
L DBW [AR1,P#0.0]
T MW 20
//index leptetes
CIM2: L MW 24
L 2
*I
SLD 3
LAR1
L MW 24
LOOP CIMUi.: Ha program kódot idézel a fórum üzenetbe, akkor légy szíves használd a "Programkód" nyomógombot a fomázáshoz, mert ha csak bemásolod eléggé szétesik az egész.
-
Teuton99
csendes tag
Sziasztok!
Az a feladatom,hogy egy adott DB-ben, amelyben csak INT-ek vannak, megkeressem a legynagyobb adatot.
Namost amikor futtatni akarom(mentés->letöltés->monitorozás) a PLC SIM stop-ba ugrik. Megnéztem egyszerűbb feladatoknál, pl. csak egy adott adat kimentése egy MW-be és akkor is stop-ba ugrik.
Tud valaki segíteni?Köszi előre is 
Az általam helyesnek vélt kód:
OPN DB 1 //DB megnyitasa
L P#DBX 0.0
LAR1
L 0
T MW 20 //temp változóL DBLG
L 2
/I
T MW 22 //eltároljuk a DB hosszátL MW 22
L 1
-I
CIM: T MW 24 //a hurokváltozó
L W [AR1,P#0.0] //ha az aktuális nagyobb, mint a temp--> csere
L MW 20 // egyebkent ugras
>I
JCN CIM2
//csere
L W [AR1,P#0.0]
T MW 20//index leptetes
CIM2: TAR1
L 10
+I
LAR1
L MW 24
LOOP CIM -
attrax
aktív tag
Végül is sikerült.
A titok nyitja ,hogy a változókat a logon kell beállítani mindent nem tölt föl a program értékekkel.Tetszik hogy mind az időalapot ill. szorzót be lehet szépen állítani.Nekem 1-2 mp-es idő kellett azt kellett felosztanom egy 10kilós potira.Az analóg erősítőre meg kellett tennem egy analog kimenetet.Köszi a helpet. -
Shirchy
tag
Köszi!
Írtam privátban is neked!
Utánna olvasva a Jazz-nek egész jókat írnak róla,szóval lehet az lesz az itthonra megvételezett okosság.
Természetesen később nem tudom majd kikerülni a siemens-t és az omron-t sem,így azokat is meg kell majd tanulnom,de kezdésnek így ránézésre a LOGO marad szoftveresen,a JAZZ meg fizikailag gyakorolni.Jah igen azt eddig nem írtam,hogy villamosmérnöki levelezőn vagyok, ezért szeretnék gyakorlati oldalról ismerekedni a PLC-kel,mert megvallva az őszíntét... levelezőn a gyarolat nem sok mindenre jó.
Üdv
-
Szirty
őstag
válasz
Szakbarbár
#3962
üzenetére
Helló Szakbarbár!
Örülök hogy sikerült!
"Közben rájöttem, hogy a kijelző alapból tudja azt a funkciót amire én ciklust szerettem volna írni."
Ezért mindig jobb ha a kérdés arra irányul amit meg szeretnél valósítani és nem arra, hogy a módszer amit kitaláltál a megoldásra hogyan valósítható meg.
-
Szakbarbár
aktív tag
-
Szirty
őstag
válasz
Szakbarbár
#3960
üzenetére
Helló Szakbarbár!
Hála a pontatlan kérdésednek, fölöslegesen írtam egy választ.
Most csak egy másik fórumon "elhangzottakat" tudom idézni, ami az indirekt címzésről szól:lukacsp írta:
Tegyük fel, hogy a D100 a pointer. A D100 tartalma #0150.
Indirekt címzéshez csak annyit kell tenni, hogy mondjuk azt mondom:
MOV #0001 *D100
Akkor ez az utasítás azt fogja csinálni, hogy a #0001 konstanst beteszi a D150 memória szóba.Tehát végső soron a * előtét jelenti azt, hogy abban a D-ben egy pointer van.
********************************************
Ezt fűztem hozzá:
Nos lukacsp fórumtárs megírta a lényeget, de annyival kiegészíteném, hogy:- Az említett indirekt címzést csak DM memóriaterületre lehet alkalmazni, tehát nem írhatsz olyat, hogy *6 vagy *T20.
- A * prefixumú pointer azt feltételezi, hogy a megadott számú DM memória rekeszben lévő cím BCD formátumú, tehát a címet BCD számkként kell kezelned. Avagy #-el kell megadnod a konstans értékeket, cím számításához BCD műveleteket kell használnod! Ha ezt nem veszed figyelembe, akkor hibát fogsz kapni, vagy elcímzed magad.
- Hasonlóan csak DM területre alkalmazható indirekt címzési mód a @ prefixumú pointer, ami a fentihez hasonló, de a hivatkozott DM tartalmát bináris számként kezeli, így a konstansok megadásánál és a cím számításoknál ennek megfelelő utasításokkal kell dolgoznod.
- Az indirekt címzés harmadik módja az index regiszteres címzés, ahol 15 címző regiszter van fenntartva (IR00-IR15) a pointerek számára. Ezekkel való címzéshez külön címzésmód tartozik és külön utasítások szolgálnak az index regiszterek kezelésére. Operation manualban külön fejezet foglalkozik a használatával (191. oldal). Ezzel nem csak DM területek címezhetők.
-
Szakbarbár
aktív tag
Ebben a PDF-ben:Omron utasítások kézikönyve
239. oldal -
Szirty
őstag
válasz
Szakbarbár
#3958
üzenetére
Üdv Szakbarbár!
"Egyelőre még csak a létradiagrammal barátkozok"
Akkor hol akadtál te FOR-NEXT ciklusra?
-
Szakbarbár
aktív tag
Köszönöm, mindjárt kipróbálom. A PLC Omron Sysmac CJ2H-CPU65EIP, a hőfokszabályzó CJ1W-TC003.
Egyelőre még csak a létradiagrammal barátkozok, a funkció blokkokat nem is néztem. Sok mindent kell még tanulnom, de magamtól elég lassan jövök rá a dolgokra. A CX programmer súgója és fórum alapján haladok az alapoktól. -
-
Szirty
őstag
válasz
Szakbarbár
#3952
üzenetére
Üdv Szakbarbár!
Nem tudom pontosan milyen PLC-vel próbálkozol, nem mindegy, nem írtad le.
Ahogy a FOR-NEXT-ből látom structured text-ben akarod megírni. Megpróbálok a lényegre válaszolni...Létrehozol egy tömböt a FB interface részében (változó definíció): Insert variable -> Array variable bepipál.
Array size-hez beírod a kívánt méretet. AT setting bepipál, Address-hez berod a kívánt kezdőcímet.
Itt egy példa:Ez DM0-DM9-ig feltölti a tömböt 0-9 értékekkel (a ciklusváltozót írja bele).
-
Szakbarbár
aktív tag
Üdv
Bocs az amatőr kérdésért, de csak most ismerkedek az Omron PLC-kel hobby szinten.
FOR-NEXT ciklusban lehetséges a ciklus számlálónak megfelelően címezni? Pl ötször lefut a ciklus, és az eredményeket a D0-tól D4-ig szeretném tárolni.
Hőmérsékletet mérek és az értékeket szeretném eltárolni, majd kijelzőn megjeleníteni grafikonon. -
Szirty
őstag
Üdv attrax!
0BA6-al nem lesz gond.
Itt egy példa:
B002 egy analóg amplifier, ami jelen beállítással nem csinál semmit (ami bemegy az jön ki). Azért van rá szükség, mert a timernek nem lehet közvetlenül megadni az AI-t. De szükség lehet rá azért is, hogy meghatározhasd hogy az analóg bemenetre kötött feszültségtartomány milyen időintervallumot fogjon át.
-
rsf
senior tag
válasz
Shirchy
#3944
üzenetére
A LOGO szimulátora teljesen jó. Ha a gyakorlás a cél akkor szimulátorral ismerd meg a LOGO-t és a programozását, de nehogy pénzt költs rá. Javasolnám inkább az Unitronics Jazz-t. Ingyenes a progija és soros kábelt kb. 500Ft-ból lehet hozzá készíteni.Az USB-s az már 1000Ft
Bár nálam a bluetooth-os a király! Kábel gyártásban tudok segíteni ha kell.
Üdv. -
Shirchy
tag
Köszönöm a támogató hozzászólást.
Sajnos Nyíregyházán lakom, így kicsit messze vagy.
Mivel a LOGO-hoz programozókábelt nem találtam "még",egyenlőre marad a szoftveres gyakorlás szimulálva...
Omron, Mitshubishi, Siemens 200-as PLC-kből még szétnézek... hátha találok valamit,programozókábellel együtt elérhető áron.
-
attrax
aktív tag
válasz
Shirchy
#3940
üzenetére
Én annyit mondok neked ,hogy valóban érdemes a logoval kezdeni de az messze nem plc én azt egy programozható relének nevezném de alapnak jó.A displayes verzióknál ugye nem kell progr.szoftver Javaslom az omron kis plc-ket (cpm-1)vagy a siemens 200-as sorozatot.Azokkal kezdj.Én szivesen kölcsönadok neked logot.Bp-en Manualt le tudsz hozzá tölteni magyart is.
-
Shirchy
tag
Sziasztok!
Szeretnék megtanulni legalább alap szinten PLC-t programozni. Szóval kis útbaigazítást szeretnék kérni tőletek,hogy mivel lenne érdemes kezdeni? Egy ismerős tudna olcsóm egy Siemens LOGO 230RC-t,de nincs hozzá programozókábel. Sajnos mindenhol 20k feletti árakba futottam,és nem szándékozok legalább kétszer annyit költeni kábelre mint magára a PLC-re.A kábelhez kapcsolási rajzot még nem találtam,hogy itthon össze tudjak rakni egy olyat.
Szóval két kérdésem lenne így első körben:1: Valaki tudna segíteni összehozni egy olyan kábelt,vagy esetleg lenne neki eladó? (eladó kábel esetén privátban tuti meg tudunk egyezni)
2: Tudnátok más alternatívát (más gyártó,más kivitel,stb.) ami megfelelne tanulni,és elérhető áron beszerezhető?
(megfelel a használt is csak 100%-ban működőképes legyen,és tanulás szempontjából minnél több funkciót ki tudjak rajta próbálni ami később gyakorlatban előfordulhat)Előre is köszönöm a segítséget!
Üdv
-
Szirty
őstag
Üdv attrax!
Pontosan értettem mit szeretnél elsőre is.
Nyolc vagy kilenc generációja van a LOGO-nak. majdnem mindegyiknek van analóg bemenete is és mindegyiknek van tranzisztoros kimenetű változata.
Ugyanakkor a bennük lévő szoftver képességei merőben eltérőek. Ezt azonosítják az 0BA0, 0BA1, 0BA2, 0BA3, stb jelzésekkel.Amíg nem mondod meg pontosan milyen, nem tudok pontos választ adni. Azt a hibát pedig igyekszem újra nem elkövetni, hogy jelentős plusz idővel és munkával alternatív megoldásokkal szolgáljak.
A dolog nyitja egyébként az, hogy bizonyos 0BA verzió fölött a timernek nem csak konstans idő adható meg, hanem másik blokkból származó változó is.
-
attrax
aktív tag
Köszi a bíztatást
most nem vágom a verziószámot de azt tudom ,hogy sima 24C tranyós kimenetekkel.A cuccra rá van írva hogy AI-6-AI7 0...10V csak nem tudom miként tudnám ezt leszervezni azon felül hogy meghívok egy treshold paramétert.Én azt szeretném hogy egy kimenetet tartson meg egy időzítő x ideig és ne kelljen nyomkodni a gombokat ha változtatni szeretnék az időn.Holnap a cégnéál lefigyelem milyen logo pontosan.Köszi! -
attrax
aktív tag
Hello,szerintetek lehet -e időzítőparamétert állítani úgy ,hogy Siemens logo 24C I6-I7 analóg bemenetére egy potit kötök?Természetesen egy 0..10V-os jelről lenne szó amit egy külső 10V-os tápról kapna.Nem találtam erről semmit a manualban.
-
Szirty
őstag
válasz
DP_Joci
#3932
üzenetére
Üdv DP_Joci!
"A default entry jelentése nem az lenne, hogy alapból nincs kiválasztva semmi, akkor az legyen betöltve?"
Nem nem! A legkevésbé sem!
Symbolic I/O field-ben (a kijelzőn) megjelenik a Default entry-ben megadott szöveg akkor, ha az I/O field-nek megadott process TAG olyan értéket vesz fel, amelyikhez nem tartozik más megjelenítendő szöveg.Pl. ha az van a value/range típusú text listában hogy:
0-5 "Nullától ötig"
6-11 "Hattól tízig"
20 "Húsz"
Default "Franc se tudja"Akkor ha a process TAG-ben 4 van, a "Nullától ötig" szöveg jelenik meg. Ha pl. 6 van benne, akkor a "Hattól tízig" stb.
Ha olyan érték van a TAG-ben amelyik kívül esik a megadott tartományokon nem egyesik egyik értékkel sem, Pl. 74 van benne, akkor meg fog jelenni a "Franc se tudja" szöveg!Amennyiben ennek a symbolic I/O fieldn-ek Input/Output a módja, akkor ha "Nullától ötig" szöveget választasz ki, a TAG-be nullát rak, ha a "Hattól tízig" szöveget akkor hatot, stb. Tehát ahol tartomány van ott a tartományba tartozó első értéket veszi fel a TAG.
A Default szöveget, ami a példában "Franc se tudja" nem lehet kiválasztani, hiszen annak értelme sem lenne. Azt csak a panel jeleníti meg a fenti szabályok szerint, de az operátor nem tudja kiválasztani (meg sem jelenik a listában). Ha neked mégis megjelenik, akkor ez egy bug miatt van.Ha a text list selection tulajdonsága nem Value/range hanem Bit number, (vagyis a megjelenített szövegeket nem értékekhez vagy tartományokhoz, hanem bitekhez rendelted) akkor a defaultként megadott szöveg akkor jelenik meg, ha az alábbi feltételek közül legalább egy teljesül:
- A process tag olyan bitje van 1 állapotban, ami nem lett felvéve a text listába
- A process tag egynél több bitje van 1 állapotban (ezen belül mindegy melyik és mennyi)
- A process tag egyetlen bitje sincs 1 állapotbanA defaultként megadott szöveg Input/Output mód esetén itt sem választható ki (mert itt sem lenne semmi értelme).
Ha a változónak akarsz alapértelmezett értéket adni, akkor azt a PLC programból megteheted.
Vagy a HMI TAG Values tulajdonságánál kitöltöd a Start value mezőt (beírod milyen default értéket vegyen fel a változó): -
DP_Joci
tag
Sziasztok,
Tia V12 HMI-ben symbolic i/o field-et teszek fel és text list-et választok hozzá. Ha a text list entries-ben kiválasztok egy default entry-t, akkor az a panelen (TP1200) egyszer megjelenik és utána többet nem lehet kiválasztani.
A default entry jelentése nem az lenne, hogy alapból nincs kiválasztva semmi, akkor az legyen betöltve?
Igaz ez eddig ez így is van, de ha valamit kiválasztok utána többé a default-ot nem tudom kiválasztani, amíg újra nem indítom a panelt.
-
Szirty
őstag
válasz
KB.Pifu
#3929
üzenetére
Üdv Pifu!
Itt csak a módszer kérdés, nem a megvalósítás.
Ha már sorba van rendezve, akkor csak meg kell számolni mennyi egyforma van egymás után. Ha a darabszám mellé rögzíted azt is melyiket számoltad, akkor mire a végére érsz tudni fogod melyikből van a legtöbb ha így csinálod.
Elég kettőt nyilvántartani. Az egyik az előző, a másik amit éppen számolsz. A számolás végén, ha az kevesebb mint amit rögzítettél eldobod. Ha több, akkor felülírod az előzőleg tároltat.De az automatizálás főleg nem ilyen feladatból áll.
-
KB.Pifu
tag
sziasztok!
nem tudom, hogy jó helyen kopogtatok, de azért csak megkérdezem.
Újonc vagyok, szeretnék plc programozó lenni és tanulom most az stl-t.
Vannak egyszerűbb számolgatós kész kódjaim, szeretnék valami bemutatható (állásinterjún) dolgot csinálni.ami kész
Adott egy adathalmaz (mondjuk a selejtek határértékei) kiválasztottam már a legkisebbet legnagyobbat stb.
Növekvő sorba is vannak rendezve ( ezt a kódot neten találtam kicsit át is alakítottam), de egyszerűen ötletem sincs, hogyan szedhetném ki ebből az adatsorból a móduszt (sorozatok leggyakoribb eleme).van valami ötletetek ?
még nem kérek kész kódot, csak pár gondolatot, hogy merre tovább, mivel sorba vannak rendezve
egyenlőséget vizsgálok, és ha igaz akkor növel egy számlálót, de itt akad el a logikám, az hogy hány darab egyenlőség van az még nem elég, azt is tudnom kellene ,hogy melyik érték az.remélem érthetően sikerült előadnom

-
rsf
senior tag
90-70 a kedvenc PLC-m, de már nem mai darab már a supportja is megszünt.
Én Genius busszal csak egyszer találkoztam de ott különálló Genius egységek voltak.Nem úgy mint pl. a Siemensnél ahol van egy fejegység aztán mellette normál PLC bővítő modulok vannak.
Ezt azért kérdezem, mert számlálókártyát irtál.
Ha ez egy kártya akkor vedd ki a kártyát és ellenőrizd a csatlakozó kontaktjait. De igazából az összes kötést ellenőrizd az egységnél.
Üdv. -
tibi-d
tag
Sziasztok!
Ez a probléma, amit most leírok, hetek óta "fájlalja" a fejem. Adva van egy GE 90-70 PLC. Erre a PLC-re csatlakozik GENIUS BUS-on jónéhány I/O eszköz. A probléma akkor kezdődött, mikor a hálózat ki lett egészítve egy High Speed Counter egységgel. Felkonfigurálás, betanítás után gyönyörűen működött. Néhány nappal később "az eszköz elveszett" hibaüzenet fogad, és mintha a számlálókártya nem is létezne. Táp le, majd vissza, minden működik rendesen. A leakadási periódus 2 óra és 8 nap között fordult elő. Mondhatni, teljesen véletlenszerűen. Próbáltam a kártyát más módban üzemeltetni, de a jelenség hasonló. A kézikönyve erre a hibaüzenetre egyértelmű BUS hibára utal. Ezen a BUS-on még 8db egyéb I/O egység is fel van fűzve, és hiba nélkül üzemel. Mivel a számlálókártya a kábel egyik végpontján van, azt gondoltam, hogy ki fogom próbálni, hogy betoldok egy 10-15m kábelt, és ott zárom le a hurkot. Mivel termelő berendezésről van szó, csak hetente egyszer próbálkozhatok. Ha nem jön be, várhatok még egy hetet. Ha van ötletetek szívesen fogadom. -
byte-by
tag
halo !
nem szeretnék róla visszacsatolást, írtam is , hogy ilyen nincs.
információ a véghelyzetekről van.ez előtti levelemben jeleztem, hogy történtek némi változások.
lesz néhány leágazás, plusz eszközök.
és a szelep motoros szelep lesz, két kimenettel, egy ami teljesen kinyitja, egy ami teljesen bezárja.ha egyik kimenet sincs a szelep megtartja helyzetét.
jelenleg sok minden csak papíron van, előre próbálunk dolgozni.ehhez kellene a korábbiakban felvázolt szabályzás.a portálodon is nézem.
byte
-
tibi-d
tag
Az előző hozzászólásomban jelzett probléma az én figyelmetlenségem következménye. Sajna átsiklottam a felett a tény felett, hogy a MAIN blokkban nem lett meghívva a subrutin, amiben a kimenetek vezérelve vannak. Bocsika.
-
tibi-d
tag
Sziasztok!
Belefutottam egy különös problémába. Adott egy S7-214 CPU. Elvileg egy működő berendezésből lett kiépítve. Mivel a berendezést átépítették, így a PLC feleslegessé vált. Gondoltam, hogy csonálok belőle egy próba PLC-t, hogy a kollégák is tudjanak tanulni SIEMENS-ül. A probléma az, hogy feszültség alá helyezve a CPU-t, a benne futó program rendesen fut (RUN), de a kimenetek nem válnak aktívvá, hiába teljesül a logikai feltétel. Ha a programozó szoftverben kezdeményezem a kimenet "force"-olását, akkor működik a kimenet.
Ez hardware, vagy software probléma lehet. A CPU info oldala nem jelez semmijen hibát.
Köszi a segítséget. -
byte-by
tag
válasz
moseras
#3919
üzenetére
halo !
ma reggel kaptam egy e-mailt.
teljesen nyitó és teljesen záró motoros szelep lesz.
a végállások közötti helyzetről információ nincs , a plc egy -egy relét fogy kapcsolni , egyik nyitja , másik zárja, tehát két kimenet.ha egyiken sincs kimenet a helyzetét megtartja.az eredeti terveken másmilyen szerepelt.kapott még egy rugós főszelepet,több leágazás lesz , úgyhogy még egy rugós központi szelepet és reduktort.
remélem nem változik még néhányszor.köszi a választ.
byte
-
moseras
tag
válasz
byte-by
#3917
üzenetére
Üdv!
"az SP-hez képest alacsony PV esetén"
Azt, hogy mi az alacsony, és mi a magas, azt mindenképp a PID-re bízd, ő döntse ezt el.
"nyitó impulzus/záró impulzus"
Ezek szerint olyan motorod van, hogy külön bemenete van nyitásra, és külön bemenete zárásra ? Vagy csak 1 bemenet van, és rugóerő ellenében visszamegy másik állásba, ha nem kap bemenetet ?
Imi.
-
moseras
tag
válasz
byte-by
#3916
üzenetére
Üdv!
"amit írtál nem okozhat nagy különbségeket a setpoint és a PV között?"
Ha a PID paraméterek jók, és az a bizonyos ciklusidő jól van megválasztva (ha máshogy nem megy, akkor ki kell tapasztalni), akkor nem.
"talán a szelep út idejét ha állandónak venném, alapja lehet a számolásnak?"
Nyilván a szelep út idejénél nagyobb ciklusidőt kell választani, mert kisebb időnél nem is fog átmenni a másik állapotba. Pl. épületeknél a helyiség beavatkozó szerve egy "termofej", ennek nyitási/zárási ideje kb. 4 perc, a ciklusidőt általában 10-12-15 percre szoktam választani.
Szóval megoldható ezzel a szeleppel is. Persze a PID-et be kell hangolni. A siemens környezetet nem ismerem, ebben Szirty tud segíteni, ha van autotuning, akkor gondolom azzal, ha nincs, akkor le kell mérni a rendszert, a mért adatok alapján azonosítani kell (a fűtési rendszerek általában tapasztalatom szerint egy holtidős, egytárolós rendszerek lesznek), lásd kép, ebből könnyen számolhatók a PID paraméterek

Imi.
-
byte-by
tag
válasz
Dezsi82
#3915
üzenetére
halo!
a kezdetekkor én nyitó és záró impulzusokra gondoltam.
az SP-hez képest alacsony PV esetén a nyitó impulzus többször jelentkezik , közelítve lassul.
elérve , vagy túllépve az SP-t a záróimpulzusok szintén hasonló módon mozgatnák a szelepet.persze azért több paramétert is figyelembe kellene venni.
-
byte-by
tag
válasz
moseras
#3914
üzenetére
halo!
lehet, hogy nem voltam pontos amikor nyit-zár szelepet írtam, de csak ennyi.
nem motoros, vagy más hasonló módon hajtott.(kicsit szét vagyok csúszva...)a pontos típusát sajnos nem tudom, de egy teljesen egyszerű "teljesen nyit-teljesen zár "szelep. mágnes szelep nyitja és zárja a végállásokig.
akár egy munkahengert.
egy helységben mérjük a hőfokot, és hmi-n állítjuk be a kívánt értéket.amit írtál nem okozhat nagy különbségeket a setpoint és a PV között?
talán a szelep út idejét ha állandónak venném, alapja lehet a számolásnak?
de ezek csak kis értékek lehetnek, mert a szelep elég hamar bezár vagy kinyit.a probléma, hogy úgy kell dolgozni, hogy az eszközök még nincsenek meg, csak a terv és a rajzok.alapesetben ez nem igazán probléma, de sajnos siemens környezetben kevés a tapasztalatom.
én egyébként könyörögtem legalább egy analóg hajtású gombaszelepért, de "ez van a tervben".
de próbálkozok, meg lesz ez.köszönöm továbbra is.
-
Dezsi82
tag
válasz
byte-by
#3912
üzenetére
Szia!
Én úgy értelmezem, motoros szelepről beszélünk, ezért Moseraséhoz hasonló megoldást javasolnék.
De! PID-et nem javasolnék, bár Moserasé egész működőképes PID-del is, de én tartanék attól, hogy a "tárolt" állapotom nem egyezik meg a valósággal (pl kézzel eltekerik). Más módszerrel PID szerintem nem működhet, mert az I tagod miatt lenne egy folyamatos nyitás, vagy zárás irányú mozgásod. Továbbá a szeleped amúgy is betölti az integrátor tag szerepét.
Én egy padlófűtésnél használt módszert javasolnék:
Van egy x ciklusidejű villogó bited, amikor ennek felfutó éle van, kiszámolod a cél és az aktuális hőmérséklet különbségét, megszorzod egy számmal (hívjuk P tagnak) és ennyi ideig nyitod, vagy zárod a szelepet. Én szoktam még olyat beletenni, hogy csak akkor menjen ki a kimenet, ha legalább 0,1 másodperces, ne gyilkoljam mozgó alkatrészeket. -
moseras
tag
válasz
byte-by
#3912
üzenetére
Üdv!
Igazából azt kellene eldönteni, hogy a szelep pontosan milyen típus, ahogy Szirty is utalt rá.
Ha motoros szelep: akkor ennek jellemzője a teljesen nyitott-ból a teljesen zárt-ba (illetve fordítva) mozgási ideje, és az, hogy külön bemenete van a nyitásra és a zárásra. Pl. legyen ez az idő 120 másodperc (ez katalógusadat). Van egy PID blokkod, ez számol egy 0...100% értéket, ezt kell ráeresztened a 120 másodperces motorra, tehát ha mondjuk a PID 50%-ot számolt ki, akkor 120 * 0.5 = 60 sec-ig kell vezérelni a nyitó irányt. Ha a PID 52%-ra nőtt, akkor 120 * 0.52 = 62.4, vagyis a már meglévő 60 sec-hez kell még nyitni 2.4 sec-et. Ha a PID csökken, akkor ennek megfelelően a záró irányt kell meghúzni adott ideig.
Ha egyszerű "teljesen nyit"/"teljesen zár" szelep: akkor pedig választani kell egy ciklusidőt a technológiától függően (legyen mondjuk most 60 sec, de ez persze lehet, hogy túl nagy, vagy túl kicsi, ez a rendszer sajátosságaitól függ), és ezt, mint "időt", kell felosztani a PID 0...100%-nak megfelelően. Vagyis PWM-et kell előállítani, ha mondjuk a PID 40%-ot számolt ki, akkor 60 sec * 0.4 = 24 sec-ig nyitva kell tartani, 36 sec-ig zárni kell, aztán újból PID figyelés, stb.
Imi.
-
Szirty
őstag
válasz
n0rbert0
#3911
üzenetére
Üdv n0rbert0!
"Nem akarok beleszólni, de szerintem erre a feladatra egy On-Off szabályzás lenne a megfelelő megoldás, mivel kétállású beavatkozó szerv van."
Továbbra is azt mondom, amit már leírtam, hogy nem derült ki milyen a beavatkozó szerv, csak azt hogy gőz szelep.
Hogy ez most propszelep, aminek a nyitása analóg jellel vezérelhető, vagy motoros szelep, ami egy nyit és zár digitális jellel vezérelhető (ez a szelep is képes fokozatmentesen befolyásolni a mennyiséget vagy áramlást) vagy egyszerű nyit / zár szelep, amit egy digitális jel teljesen kinyit vagy teljesen elzár.A szövegből az sejthető, hogy a második lehet.
Egy PID szabályzóval mindhárom beavatkozó szerv vezérlése megoldható, így a korábbi véleményem jelenleg is fenntartom. -
byte-by
tag
válasz
n0rbert0
#3911
üzenetére
halo !
de, szóljál bele nyugodtan, ha úgy gondolod , hogy van jó ötleted.
végül is ez a fórum többek között ezért (is) van.nade.
mivel s7-1500-ba (meg amúgy is siemens-be) még kezdő vagyok, járt a szám mielőtt minden lehetőséget végig néztem volna.
persze ettől az optimális megoldást még nem tudom, de találtam egy 3 lépéses PID control blokkot .
ez leheséges megoldás?
ez paraméterezhető pl. inputok jellegge ( AI, vagy DI) , kimenet (AI vagy DI, persze a címekkel együtt) megadhatom, hogy van-e feedback vagy nincs, stb.
ezzel még nem találkoztam.tehát:
ez esetleg használható (hasonló), vagy mégis más lehet a megoldás?
byte-by
-
byte-by
tag
halo Szirty !
igen. mondom.
a szabályzó szelep elött van egy központi szelep ami a működés elején teljesen kinyit.a szabályzó szelep nyit-zár rendszerű, ezzel kellene az állandó hőmérsékletű bejövő ági gőzt szabályozni egy hőcserélő felé, ami egy befúvó ventillátorra van építve.
itt nem csak fűtésről van szó, hanem igazából szárításról.tehát a szabályzó szelep egy teljesen nyitott gőz szelep után van.nyit-zár rendszerű , digitális vezérlésű.
annyit tudok, hogy mikor van teljesen nyitva vagy teljesen zárva, a kettő közötti helyzetéről nincs információ.
különálló rendszer , nincs köze a gőz szelep vezérléséhez.a rámenő gőz hőmérséklete sem releváns, befolyásolni nem tudjuk.
hőfok értéket a fűtött helységből nyerünk hőérzékelő által.lehet, hogy nem látom át, de hogy lenne érdemes a hmi-n beállított értékre szabályozni.
nem tudom , talán megfelelő az információ.byte-by
-
Szirty
őstag
válasz
byte-by
#3908
üzenetére
Helló byte-by!
"viszont a hőmérő része vezérel egy szabályzó gőzszelepet amit egy beállított értékhez kell, hogy közelítsen erős pontossággal.
a szabályzó szelep nem rendelkezik visszacsatolással, az állásáról információ nincs."Nem világos a dolog nekem. Tehát hőmérsékletet mérsz, azt kell tartani amit beállítottak. Ha jól értem, akkor a szabályzás beavatkozó szerve egy szelep, amivel a szabályzó a hőmérsékletet befolyásolja (fűt).
Ha így van, akkor miért kell a szelepről visszajelzés és miért kell azt előre meghatározott állásba vezérelni?
Nem írtad, hogy a szelep vezérlése analóg, vagy nyit/zár rendszerű.
Ha az utóbbi, akkor a visszajelzés felhasználható tájékoztató információ gyanánt.
Ha a szabályzásnak a beállított hőmérséklet elérése és tartása a célja, akkor a szelepnek oda kell beállni, ahova a szabályzó akarja és nem egy előre fixen meghatározott értékre. Erre a PID tökéletesen alkalmas. -
byte-by
tag
halo !
egy probléma megoldásában szeretnék tanácsot kérni.
siemens plc-hez írok programot, és egy hő -és páratartalom analóg vezérlési módon töröm a fejem.
cpu:s7-1500 1513-1 PN
DI 2x 32x24vdc
DQ 2x 32x24vdc
AI 1x AI 8x U/I/RTD/TCaz analog részével van gondom.
8 csatorna 4-et használok, kettőn hőmérsékletet kettőn páratartalmat mérek.ez oké.
viszont a hőmérő része vezérel egy szabályzó gőzszelepet amit egy beállított értékhez kell, hogy közelítsen erős pontossággal.a szabályzó szelep nem rendelkezik visszacsatolással, az állásáról információ nincs.
PID -et így én nem tudom , hogy lehetne használni.
talán inkább impulzusokkal kellene ( ?)
az alábbi programrészlet a címeket fedi, az egyik hőmérő részlete.(nem kész program)a kért hőmérséklet címe: "Data_blokk_1"
K5_BEALLITOTT_HOHMI-n keresztűl jelzem ki és oda is írom a kért hőmérsékletet.
szerintetek, hogy lenne érdemes megoldani ?
nagyobb különbséggel több, kevesebb különbséggel kevesebb impulzus?
vagy esetleg mérni a szelep teljes nyitás és zárás idejét és felhasználni ?byte-by
-
Szirty
őstag
Üdv artiny!
A saját oldalamat tudom csak ajánlani, ami épp erről szól, de főleg Siemens PLC témában.
„egyszerubb rakodos programok irasa
megrajzolt abrak,bitek ertelmezése
idozitok , equ hasznalata >>valami hasonlokat kellene elsajatitani ”Éppen ilyenek vannak ott (teljes gyakorló szimulációk is) de sajnos nem AB. Valamennyit mégis segíthet, nézz rá.
(ui. crossposting rlz!

-
artiny
őstag
Helotok
Tudnatok ajanlani PLC programozashoz valamiylen magyar nyelvu ,neten elerheto tanulasi segedanyagot
(suliban RSLogix 5000 simulacios programban AllenBradley hasznalunk) - amibol feltudnak keszulni vizsgara?
varhato peldak:
egyszerubb rakodos programok irasa
megrajzolt abrak,bitek ertelmezése
idozitok , equ hasznalata >>valami hasonlokat kellene elsajatitani
Új hozzászólás Aktív témák
- Samsung Galaxy A54 - türelemjáték
- Nintendo tulajok OFF-topicja
- Dollármilliárdokért csábított el Zuckerberg egy kínai Manust
- SD memóriakártyák (SD, SDHC, SDXC, micro SD)
- Vezetékes FÜLhallgatók
- Milyen egeret válasszak?
- Elektromos autók - motorok
- BestBuy topik
- Abarth, Alfa Romeo, Fiat, Lancia topik
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4149
- Akció! Gamer PC-Számítógép! Intel Ultra 5 245K / RTX 3080 10GB / 16GB DDR5 / 1TB SSD!
- magyar billentyűzet - 162 - 163 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060
- Bomba ár! HP ProBook 430 G3 - i5-6GEN I 8GB I 256SSD I HDMI I 13,3" HD I Cam I W10 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


Sajnos nekem nincs analóg bemenetem, csak digitális.







