Annyit még, hogy a "TAB order"-nek (hogy mi a konkrét sorrend) főleg akkor van jelentősége amikor a runtime olyan eszközön fut aminek van billentyűzete és használják a TAB billentyűt a lépegetésre (tehát jellemzően PC runtime).
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [sziku69:] Szólánc.
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [Szevam:] Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
- [Re:] [bambano:] Bambanő háza tája
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] eBay-es kütyük kis pénzért
- [Re:] [Tüzi:] Geek-hatarozo
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Hozzászólások
Onishi
tag
Szuper. Köszi, erre voltam kíváncsi. :-)
Mazsika
őstag
Szia Szirty!
S7-300 PLCbe lehet valahogyan a work memoryt összenyomni? Túl sok DB van fent, a memkartyara ferne meg de a work memory tele van azt irja igy nem tudok tobbet feltenni. Van erre valami megoldas?
Köszi!
Dáccsika
Szirty
őstag
Üdv!
"Van erre valami megoldas?"
Kettő is!
1. Nagyobb teljesítményű CPU
2. Kisebb igényű program
Hasonlóval küzdök én is, csak nekem a local data stack kevés :-)
Mazsika
őstag
Pedig egy 315 2PN/DP-s cpuról van szó... Na mindegy akkor valahogy megoldjuk...
Dáccsika
KLR
csendes tag
Szia Szirty!
Tegnap jutottam oda, hogy lecseréljem a CP1L-ben a programot. A 200 ms késleltetés hiánya volt a gond az analóg kimenet irásánál, most megy szépen. Még egyszer kössz...
Fejlesztgetés közben észrevettem, a Task-ban deklarálhatok olyan lokális vátozót is, ami nincs fizikai címhez rendelve. Nézegettem a CP1L programozási útmutatóját, de nem találtam semmit. Tudja-e valaki kapásból, milyen tulajdonságai vannak az ilyen változóknak?
Átmeneti (temp) változóként hasznáhatók, vagy eltárolják az értéket a memóriába (stat)?
Szirty
őstag
Helló Mazsika!
Csökkenteni kell a program work memory igényét!
Hogy pontosan a te programod esetében ez mivel járna arról fogalmam sincs, mert nem láttam a programot. De van néhány hatékony módszer:
- Csökkenteni kell a lokális változók számát (TEMP).
- Csökkenteni kell a blokk hívások egymásba ágyazásának mélységét
Szirty
őstag
Üdv KLR!
Olyan változóból van a legtöbb, ami nincs fizikai ki vagy bemenethez rendelve.
Pl. a DM memória terület, vagy a CIO területen olyan címek, amikhez nem tartozik ki vagy bemenet. Vagy HR adatterület.
De ezek nem lokális, hanem globális változók. A CIO terület elveszti tartalmát kikapcsoláskor, a HR és DM terület nem veszti el. De a DM nem címezhető közvetlenül bitenként, csak word-önként, míg a HR terület igen.
KLR
csendes tag
Szirty
őstag
Helló KLR!
A megközelítésedet így se nagyon értem. Melyik változóra gondolsz itt, A "Szoveg_1" és "Egesz_Szam_1" változókra?
Azok DM memóriában vannak. Ezeket is felsoroltam az előző válaszban!
Mazsika
őstag
Szia.
Tempet keveset hasznalok a programba. Ill egymásba ágyazva sem nagyon van max 2 fc mély a progi.
Sok benne az FB az lehet a baj szerintem.
Dáccsika
Szirty
őstag
Üdv!
Mennyi FB van?
Mazsika
őstag
30 vagy több... De Hétfőn megnézem...
Dáccsika
Szirty
őstag
Üdv!
30 nem olyan sok, de nagyban függ a dolog a kódtól. Egyetlen egy blokk is el tudja használni az összes work memory-t!
Miben íródtak a blokkok pl az sem mindegy. Ha magas szintű nyelven (SCL GRAPH, HiGRaph) akkor a memóriahasználat drasztikusan nő.
Nálunk van olyan PLC, amiben 150 FB blokk van (LAD) és 171 DB blokk. Ez 330956 byte work memóriát igényel.
Meg olyan is, amiben 73 FB blokk van (SCL) 1188 DB és 1800078 byte work memóriát használ.
A CPU 315-ben (6ES7 315-2EH13-0AB0) 262144 byte work memória van.
Vegyetek 319-2 PN/DP-t. Abban ötször ennyi van: (1433600 byte) :-)
Mazsika
őstag
Csak energia adatokat gyujt ez a plc igazabol atkerul opc szerverre is. De a gyar osszfogyasztasa itt is tarolodik 15percenkent. Es gondolhatod hogy 365 napra kicsit sok adat. En meg ev vegen at akartam rakni ezeket az adatokat +365uj db-be majd 0-val feltolteni az ertekeket. Ezzel 2evig lenne tarolva az adat plusz egyeb hibakat is kikuszobolt volna...
Szoval igazabol nem fontos, foleg nem annyira, hogy hozzam vagjanak egy millát a 319es cpura...
Dáccsika
Szirty
őstag
Hali!
Én ezt úgy oldottam meg, hogy az amúgy is mindig futó WCCF PC runtime teszi le az adatokat CSV-be, ami egy file szerverre kerül.
Onnan aztán mindenki úgy excelezik ahogy akar akár 30 év adataival (illetve amennyi van).
Mazsika
őstag
Ja mert WinCC flexible tud exportálni? Van az oldaladon erről leírás? Mert akkor lehet igy oldom meg en is...
Dáccsika
moseras
tag
Sziasztok!
Tia Portal ladder-ben, ha túl hosszú a sorom, hol tudom beállítani, hogy a túl hosszú sort húzza be maga alá folytonosan (tehát nem új netwok-ot szeretnék, hanem a meglévőben "sortöréssel" folytatni) ?
Imi.
KLR
csendes tag
Szia Szirty.
Nem az _1-re végződőekre gondoltam, hanem a_2-re. Tegnap elég zűrös napom volt, nem sokat tudtam foglalkozni PLC-vel. Ma már rájöttem, miért is nem világos a kérdésem.
Az egyik változó létrehozásánál nem írtam memóriacímet, CX programmer nem reklamált, az Address/Value oszlopban pedig N/A [Auto] írt be, mint mikor egy FB-t illesztek be. Azonnal el is könyveltem magamban, hogy Omron most már támogat ilyen cimzést is, és majd maga beteszi a változót "valahova" egy stack-be / címre. Ha jól emlékszem, LSIS (LG)-nél láttam ilyesmit...
Ma már látom, hogy létre tudom hozni az egész változótáblát címek nélkül is, de hogy használhassam a programban őket, meg kell adni a címet is.
Ebből is látszik, mennyire veszélyes lehet egy feltételezés...
Mentségemre legyen, ritkán Omronozok...
Szirty
őstag
Én azt szoktam mondani, hogy: "A feltételezés a gyakorlat halála.."
Szirty
őstag
WCCF!
Ne keverjük a scada-t a HMI-vel. (egyébként mindkettő tud, csak más a leányzó fekvése).
A kulcsszó: Hystorical data...
Természetesen be lehet állítani, hogy egy vagy több tag értékét lepakolja CSV-be különböző feltételek alapján (data logging).
Mazsika
őstag
Nem keverem de gondolom a WCCF alatt a winCC flexible-re gondolsz, nem a WinCCre ami ugye a scada rendszer!?
Dáccsika
Szirty
őstag
Igen! Elnézést ezt benéztem...
Szirty
őstag
VB scriptből is egyszerűen lehet CSV-t kiírni ha az jobban megfelel...
Mazsika
őstag
VB skript??? Itt már elvesztettem a fonalat...
Dáccsika
Szirty
őstag
Üdv Mazsika!
"VB skript??? Itt már elvesztettem a fonalat... "
Miért? Nem találkoztál velük?
Itt egy példa file írására:
'Aprító üzemidő kiírása TXT file-ba:
Dim CSV, CSVFile
'A mentést kezdeményező érték visszaírása nullába a mentés végén
SmartTags("WinCC_Adatcsere.CSVWRT")=0
Set CSV = CreateObject("Scripting.FileSystemObject")
'csv file megnyitása.
'Ha nem létezik létrehozza és első sorba beírja a fejléc szövegeit. Ha létezik, hozzáfűzi a végéhez az adatokat.
If (CSV.FileExists(Filename)) Then
Set CSVFile = CSV.OpenTextFile(Filename, 8, True)
Else
Set CSVFile = CSV.OpenTextFile(Filename, 8, True)
CSVFile.WriteLine(Chr(34)+"Dátum (év.hó.nap. ó:p:mp)"+Chr(34)+";"+Chr(34)+"Üzemidő kifele (ó:p)"+Chr(34)+";"+Chr(34)+"Üzemidő befele (ó:p)"+Chr(34)+";"+Chr(34)+"2. r. töltések száma"+Chr(34)+";"+Chr(34)+"2/2 sz. előre irányba állás számláló"+Chr(34)+";")
End If
'Adatok kiírása a file-ba:
CSVFile.Write(Now&";"&FormatDateTime(SmartTags("WinCC_Adatcsere.HKE"),4)&";"&FormatDateTime(SmartTags("WinCC_Adatcsere.HBE"),4)&";"&SmartTags("WinCC_Adatcsere.T18")&";")
CSVFile.Write(SmartTags("WinCC_Adatcsere.T20")&";")
CSVFile.WriteLine()
CSVFile.Close
Ez amikor a "WinCC_Adatcsere.CSVWRT" változó (INT) értéke nullától eltérő lesz (ezt a PLC kapcsolja be naponta egyszer) kiírja egy file-ba egy sorba 4 változó értékét.
Mazsika
őstag
Na erről valami leírás jöhet! Jónak néz ki, de még nem találkoztam ezekkel!
Dáccsika
Szirty
őstag
Üdv Mazsika!
Nincs leírás. Próbáld ki!
Azt fontos tudni, hogy nem mindegyik panel tud scriptelni, ahogy CSV-be menteni sem. (Pl. KTP BASIC paneleket).
De PC RT tud.
A lényeg, hogy a scriptek a gyári funkciók közé kerülnek be és ugyanúgy eseményekkel lehet őket futtatni mint azokat.
A script funkcionalitása korlátozva van, nem lehet akármit csinálni benne (pl. win ablakot nyitni), de komplett help van erről.
Mazsika
őstag
és ezt valahol a wincc flex-be találom mint scripts? vagy hogy kell ezt elképzelni? nincs előttem most sajnos, de holnap meg tudom nézni ha bementem a melóba...
Dáccsika
Szirty
őstag
Ott van a bal oldalon a project fában!
plutokas
csendes tag
Az lenne a kérdésem, hogy van egy TP170-es kijelző, hogyan tudom kezelni azt hogy ha a kommunikáció nincs meg a PLC-vel akkor feldobja azt is hobaüzenetbe?
Szirty
őstag
Üdv plutokas!
Ezzel kapcsolatban a lehetőségeid korlátozottak.
Ha felugró ablakban szeretnéd látni, akkor a Template Screen Template Alarm Window objektumának General properties-ében a Display szekciónál az Alarm classes lehetőségek között be kell kapcsolnod a System elemet:
Ezzel nem csak a kapcsolat megszakadása, de minden system üzenet is bekerül a felugró ablakba.
A kapcsolat megszakadásakor ez:
De az üzenet csak egy ideig lesz jelen, mert az üzenet idejét az Alam management / Alarm settings / System alarms / Display duration-nél beállított idő határozza meg.
Ezen kívül van lehetőséged olyan üzenetmegjelenítő ablak létrehozására, amiben csak a rendszer üzenetek szerepelnek (a megszakadás is). Nem ugrik ugyan fel magától, de bármikor megjelenítheted.
Ott már beállíthatod "Alarm events"-re, ami egy log (a korábbi üzenetek listája) és nem csak x másodpercig van benne, hanem a bekövetkezése beleíródik és addig ott van amíg a többi üzenet ki nem szorítja onnan.
[ Szerkesztve ]
Mazsika
őstag
Ebbe már egyszer én is beleszaladtam, de megtaláltam nagy nehezen (az első verziódat)! A másodikat hogy lehet megcsinálni?
Dáccsika
Szirty
őstag
Üdv!
Leraksz egy screenre egy Alarm view-et és beállítod így:
Aztán raksz egy gombot pl. a menübe ami megjeleníti ezt a screent. Azzal bármikor meg lehet nézni a rendszer üzeneteit. Ha így állítod be, akkor csak azok lesznek benne.
Ez igen hasznos főleg ha 5-6 PLC-vel is kapcsolatban van a HMI, láthatod melyikel nem sikerül kommunikálnia és melyikkel igen.
Fejlesztésnél is hasznos, mert ha valami baja van pl. TAG-ekkel, (pl. nem tud olvasni egy változót) vagy baja van egy scripttel (run time hiba), nem tud írni vagy olvasni file-t (pl. arhívokat, vagy receptet) akkor azt a panaszát is ide írja.
plutokas
csendes tag
Köszönöm maximálisan a segítséged!
Még egy gyors kérdésem lenne, ha léptető motort szeretnék vezérelni egy léptető vezérlőn keresztül és tranzisztoros kártyával akkor elég csak egy PWM-et generálni és azt küldeni kifelé vagy azért konfortosabb megoldás is van?
Onishi
tag
Sziasztok!
Szintén egy WinCC Flex kérdés:
Meg lehet-e oldani azt, hogy újabb felhasználókat fel tudjanak venni a rendszerbe?
Tehát van egy rendszer amit be fogunk üzemelni, és azt szeretné az ottani vezetőség, hogyha jön egy új alkalmazott, akkor annak a belépési kódját ők maguk is be tudják vinni a rendszerbe, ne kelljen miatta szakembert hívni. Nem igazán találtam ilyen funkciókat.
Elég macerás lenne minden ilyen eset miatt leutazni pár gombnyomásra.
Köszi előre is.
Dezsi82
tag
Szia!
Az Enhanced Objects-ben van egy user view elem.
Itt a felhasználók neve, jelszava módosítható.
Illetve az utolsó sora mindig üres. Ide duplát kattintva szerkeszthetővé válik az új felhasználó adata
Új csoportot nem tudsz létrehozni, de kiválasztható, hogy melyik csoportba tartozzon. De ha jól emlékszem, akkor nem enged magasabb jogokat adni az új embernek, (vagy akár meglévőnek) annál, mint aki be van jelentkezve
Van továbbá egy ExportImportUserAdministration utasítás, ez egy fájlba menti, és innen is tudja olvasni a felhasználói bállításokat
[ Szerkesztve ]
Dezsi82
tag
Sziasztok!
Volna egy érdekes feladatom S7-300-s CPU-kkal.
A feladat lényege az, hogy az az elképzelés, hogy lesz kb 30 db Siemens CPU, amelyek a berendezéshez tartozó szerszámmal együtt vándorol berendezésről berendezésre. A gyártó berendezéseket szintén Siemens S7-300-sok vezérlik. Alapesetként két ilyen szerszám csatlakozik a berendezéshez. Tehát nyilván azt csinálnám, hogy a szerszámon lévő CPU-knak adok egy-egy profibus címet, amit berakok a gépet vezérlő CPU configjába, és működik a dolog. Csakhogy kell ismernie más szerszámokat is. Persze megoldhatnám, hogy akkor az adott oldal szerszámainak ugyanazt a címet adom. Csakhogy előfordulhat, hogy úgy párosítják a szerszámokat, hogy ugyanolyan profibus című szerszámok kerülnek a gépbe, és akkor ez a helyzet bukott. Tehát minden szerszámnak egyedi cím kell. Akkor viszont mindegyiket be kell raknom a configba. Még ez is megoldás lenne, de a helyzetet tovább bonyolítja, hogy automatikus szerszámfelismerést szeretnénk, tehát nem szeretnénk kiválasztó felületet, hogy ez most milyen szerszám.
Két megoldást tudok elképzelni:
- Minden vándorló CPUnak egyedi Profibus címe van. Amikor felhelyezik a szerszámokat nyomnak egy gombot, hogy "Szerszámfelismerés", vagy esetleg más, automata eseményre indulna el egy ilyen függvény. Ez azt csinálja, hogy az összes, a configjában szereplő CPUt deaktiválja, majd végig megy egyesével, hogy vajon hardveresen az adott című CPU elérhető-e. Ha igen, akkor aktiválja. Ezzel az a gondom, hogy nem tudom, mivel lehetne lekérdezni, hogy egy, a configban szereplő, de deaktivált eszköz állapota mivel kérhető le. Ahogy nézegettem a függvényeket, talán az SFC13 használható lenne, de nem tudom hogyan viselkedik jelen helyzetben. Egyszer ebben kérném a segítséget, hátha van tapasztalat ebben
- A fix CPUk configjában csupán 3 CPU lenne. Amikor bekapcsol a vándor CPU, akkor egy meghatározott címet vesz fel, ami során lekéri a fix CPUtól, hogy milyen címen tudnak kommunikálni. Amikor ezt megkapja, akkor átállítja a saját címét, erre az új címre. Erre viszont egyáltalán nem találtam még megoldást.
Ezekben szeretnék segítséget, ötleteket kérni, illetve ha van valakinek bármi használható egyéb kivitelezés, ötlet, azt is szívesen venném
A segítséget előre is köszönöm
Szirty
őstag
Ha Step/dir meghajtód van a léptető motorhoz, akkor azt standard digitális kimenettel nem tudod rendesen meghajtani. Egyébként sem PWM kell hozzá.
plutokas
csendes tag
Szia.
Igen sima step/dir vezérlőm lenne hozzá.
Segitenél hogy milyen úton induljak el?
Azt hittem sima PWM jellel meg tudom hajtani.
rsf
senior tag
Tia Portálban ha 4-nél több blokkot megnyitok akkor azokat egy lenyíló blokkban fogja össze. Ezt a számot lehet növelni?
Úgy látom 4db DB-t és 4db FC,FB-t tudok megnyitni úgy, hogy ne rakja őket össze.
Ezeket a blokkokat a képernyő legalján lehet látni szépen egymás mellett.
Remélem érthető voltam.
Köszi.
“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“
Szirty
őstag
Üdv plutokas!
"Azt hittem sima PWM jellel meg tudom hajtani."
Miért hittél ilyet?
A motorvezéslő áram szabályzása lehet PWM-es (többnyire az is).
De a step/dir vezérlés lényege az, hogy a STEP bemeneten minden felfutó élre a motor lép egyet DIR által meghatározott irányban.
A lépés a léptető jel élénél történik, teljesen közömbös hogy a léptető jelnek milyen a kitöltési tényezője (bizonyos, de szélsőséges határok között legalábbis),
Más szóval a léptető jel kitöltési arányának nincs jelentősége.
A léptetőmotort funkció modullal (S7-300 esetén ez az FM353 asszem) vagy technology CPU step/dir kimeneteivel tudod kezelni.
Szoftveres oldalról ez úgy néz ki, hogy elküldöd X pozícióra az meg odamegy. megfelelő rámpával gyorsulva lassulva stb, amiket paraméterekkel lehet neki meghatározni.
plutokas
csendes tag
Köszönöm a választ.
Nagyon megnyugodtam, mert azt hittem fizikálisan nem lehet kezelni.
Holnap remélem megjön a vezérlő és próbálom is.
Én egyszerűbben gondoltam a kialakitást, hogy egy idő megszakitással vagy valami impulzus kimenettel küldöm ki a hajtást.
Anobium
újonc
Sziasztok
Nem tudja valaki, hogy lehet engedélyezni/korlátozni WinCC-ben a képernyővédőt (MP277-nél)? A probléma az, hogy a WinCE-ben be van kapcsolva, de mégsem mőködik.
Szirty
őstag
Üdv Anobium!
Szerintem sehogy.
Véleményem szerint a képernyő kímélő teljes mértékben a windows hatáskörébe tartozik. Ha nem működik megfelelően, akkor ott kell keresni a megoldást.
Szirty
őstag
Helló plutokas!
Az igaz, hogy a step/dir motorvezérlővel ellátott léptetőmotort impulzus sorozattal lehet forgatni és a motor által megtett szögtávolság egyenesen arányos lesz az impulzusok számával.
Standard digitális kimenettel azért nem vezérelhető megfelelően egy ilyen,mert a megfelelő sebességű (több kHz) léptetési sebesség nem érhető el vele.
Az impulzus kimenet (mint amilyen a PWM) megfelelően gyors, de nem vagy csak igen nehezen tudod vele megoldani a fel és lefutó rámpa szerinti mozgást és a pontos pozicionálást.
Ezért találtak ki erre a célra külön vezérlőt, amivel egyszerűen lehet pozicionálási parancsokat adni a motornak. Az elvégzi ezeket a feladatokat.
KB.Pifu
tag
üdv!
Ma vagyok második hete egy elég nagy cégnél karbantartó és már sikerült fényes tapasztalatokat szerezni a gépgyártásról. (sajnos még mindig nem vagyok plc programozó, de már legalább hibakeresésben használni kell)
szóval a csodamasina: sorjázza a forgácsolt kisméretű acél terméket, a korongokat vízzel hűtik fröcsköl is rendesen.
Első hiba: egyetlen egy beépített alkatrészt sem a fröcskölő víznek szántak, sima pneus munkahengerek és érzékelők, átlagos lineáris hajtások stb. Üt az összes munkahenger, majd lerepül róla a cucc, de akkor lassítsunk rajta...
Második: a munkahengereket zsírozni kell keményen, már a fojtók sem jók valamint egy két eltekert fojtóvisszacsapó szelep hatására megáll az egész és vár. Befejezi a home pozícióba állást és hibaüzenet nélkül vár...
Bámulatos én mondom bámulatos, még ingyen is jobbat csinálnék a szabadidőmből, csakhogy legyen végre valami referencia.
Múlt héten épp felhívtak: Első kérdés "ön hány évet programozott?"
Mondhatom szép, ha mindig ez lesz az első és utolsó kérdés akkor én itt sosem fogok programozni
Szirty
őstag
"...akkor én itt sosem fogok programozni"
Dehogy nem! Épp most jársz hozzá a legjobb úton! :-)
Mazsika
őstag
Sziasztok!
Valaki nem tudna nekem segíteni abban, hogy egy gépre milyen safety szabályok vonatkoznak? Van erre valami szabvány, hogy egy ilyen gépnek hogy kellene biztonsági szempontból működnie? Pl.: ajtó nyitás engedélyezés, mikor lehet mozgatni a gépet, stb.?
Köszi!
Dáccsika