- bambano: Bambanő háza tája
- Mr Dini: Mindent a StreamSharkról!
- Hieronymus: Az egyik reggel nem indult az autóm, küzdelem az ólomszulfát ellen
- eBay-es kütyük kis pénzért
- GoodSpeed: POCO X6 PRO 5G 12/512 GB vs Samsung Galaxy S24 FE 8/256GB
- petipetya: Nagy chili topic. :)
- Luck Dragon: Asszociációs játék. :)
- btz: Internet fejlesztés országosan!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
Új hozzászólás Aktív témák
-
Szirty
őstag
Szia Onishi!
"Mitől függ az, hogy egy adott screen megjelenésekor éppen melyik objektum van kijelölve?"
Az objektum számától, ami alapesetben az elhelyezés sorrendjének felel meg.
"Ezt hogyan lehet megváltoztatni, hogy melyik legyen az?"
Úgy, hogy amikor lerakod a funkciót ami az adott screenre vált, akkor megmondod neki azt is melyik objektum legyen aktív miután a screen megjelent.
Ezt a funkció Object number paraméterével teheted meg, ami alapesetben mindig nulla:Ha pedig fogalmad sincs hogy az az objektum amelyiket aktívvá akaod tenni a screen megjelenítésekor milyen számal hivatkozható, akkor nyisd meg azt a screent és válaszd ki a View -> Tab Order menüt.
Megmutatja neked így:Ilyenkor ezt a sorrendet egyébként meg is változtathatod ha a neked megfelelő sorrendben rámutatsz az objektumokra.
Bővebb infót itt találsz: Tab order megváltoztatása -
Onishi
tag
Sziasztok!
WinCC Flex:
Mitől függ az, hogy egy adott screen megjelenésekor éppen melyik objektum van kijelölve? Tehát a runtime futtatása közben minden képernyőn van egy olyan objektum, ami alapból ki van jelölve, körbe pöttyözött vonallal. Ezt hogyan lehet megváltoztatni, hogy melyik legyen az?Vagy például azt megoldani, hogy van egy objektum a template-en, ami megjelenik egy bit bebillentésétől, felugró ablakszerűen. Ezen a felugró ablakon van egy input mező és amikor megjelenik, az legyen kijelölve, hogy rögtön lehessen bele írni, ne kelljen külön egérrel rákattintani.
Remélem érthető, hogy mire gondolok.Köszi, előre is.
-
DasBoot
aktív tag
Sziasztok!
Az lenne a kérdésem, hogy az RSLogix 500-as szoftverben hogyan tudom elérni azt, hogy ne készítsen .BAK fájlokat, kikapcsolni a másolatok automatikus létrehozását. Köszönöm a segítséget
Üdv.: Yoe
-
Szirty
őstag
válasz
moseras #4494 üzenetére
Üdv!
Nem állítanám, hogy perfect LOGO-s vagyok, de ha csinálok egy ilyet:
Akkor a kijelzőn megjelenik a "Masik" szöveg ha az M1=0 és az "Egyik" szöveg ha az M1=1, ami kísértetiesen hasonlít ahhoz, amit te szeretnél megvalósítani.
(Olyan lehetőség amit te emlegetsz nálam nincs is (ez egy Logosoft 7))"Érdekes, hogy a te "Message texts" képeden nem látok prioritást."
Pedig ott van az!
-
moseras
tag
Üdv!
"lerakni egy ON/OFF-ot"
Az egy képernyő alatt azt értem, hogy ugye "Message texts"-ből X db-ot le lehet tenni, mindegyiknek van egy engedélyező jele és egy prioritása, és az engedélyezettek közül az jelenik meg, akinek a legnagyobb a prioritása. Szóval az X db "Message texts" közül gondolok egy darabra. És ebbe az egy darab Message texts-be kellene nekem kiírni két különböző szöveget ugyanabba a pozícióba egy bit állapotától függően vagy az egyiket vagy a másikat, de ez a bit nem fizikai DI vagy DO. Az ON/OFF típusú állapotmegjelenítő csak fizikai DI/DO-t tud. Ott ahogy a korábbi képemen látszik, megadom a fizikai DO-t, azt hogy TRUE esetén legyen "ON" a szöveg, FALSE esetén legyen "OFF" a szöveg, és szuperul működik, de egyéb belső bitre nem lehet ilyent.
Érdekes, hogy a te "Message texts" képeden nem látok prioritást.
Imi.
-
Szirty
őstag
válasz
moseras #4492 üzenetére
Helló!
Sajnos én nem tudom mit jelent az hogy "lerakni egy ON/OFF-ot".
"Még valami, amit lehet, hogy nem mondtam: nekem egy képernyőn kellene 1 bit állapotától függően kiírni hogy fűtés vagy hűtés."
Persze. A LOGO-n összesen egy képernyő van
Szóval a special functions közül a "Message texts" neked nem jó?
Attól tartok nem tudok segíteni.
-
moseras
tag
Szia Szirty!
Nálam ha lerakok egy ON/OFF-ot, akkor ez jelenik meg:
Itt csak fizikai DI/DO van, flag vagy egyéb modul DI/DO nincs. Ezen kívül a block listából, ha kijelölök egy blokkot, akkor annak a logikai jeleit nem tudom kiválasztani (nem is látom őket), és így nem is tudom ráhúzni a kijelzőre.
A SW verziója: 7.1.5
Még valami, amit lehet, hogy nem mondtam: nekem egy képernyőn kellene 1 bit állapotától függően kiírni hogy fűtés vagy hűtés.
Köszönöm !
Imi.
-
moseras
tag
Sziasztok!
Siemens LOGO-ban hogy lehet egy belső (tehát nem input/output) bithez konkrét szöveget rendelni ? Mondjuk, ha FALSE a belső bit, akkor ki tudjam írni, hogy FŰTÉS, ha TRUE, akkor hogy HŰTÉS ?
Próbáltam FLAG-el, de ezt nem is tudom beszúrni a képernyőre. RS tárolót sem lehet beszúrni. Számláló is jó lenne (0-ból 1-be, 1-ből 0-ba ugráltatom), de a számláló értékéhez sem tudok szöveget rendelni.
Imi.
-
Szirty
őstag
válasz
plutokas #4484 üzenetére
Helló!
Ha nem használsz semmilyen impulzus kimenetet csak standard digitális tranzisztoros kimenetet és a kimenet elbírja a motor áramát (ami alapból nem valószínű,mert az ilyen kimenet 0.5A-es általában) akkor igen, de csak nagyon lassan.
5-10 fordulat percenként egy 1.8 fok/lépéses motorral.Nem szerencsés megoldás azért sem, mert a léptetőmotorok tekercs áramát PWM-es ármszabályozással illik meghajtani.
-
plutokas
csendes tag
SZiasztok.
Szirty: Köszönöm a segitséget előző válaszomhoz.Most megint lenne egy kérdésem, hogy sima tranzisztoros PLC-vel tudok közvetlenül hajtani léptetőmotort?? Elvileg a motor DC24V-os és nem túl nagy teljesitményű...
-
Onishi
tag
Azt szeretném, hogy ne állíthassák el. Mármint azt megoldottam, hogy magukat az értékeket ne tudják módosítani, az eddig oké, de azt szeretném, hogy a rekordok közül ne tudjanak a legördülő menüből választani, mert azt egy külön változó végzi. Tehát pusztán csak megjelenítésre akarom ezen a képernyőn használni a recipe-view objektumot. Felette van egy mező, amibe beír egy termékszámot, és az alapján megjeleníti a hozzá tartozó programot(rekordot) és a hozzá tartozó értékeket. Ennyi. Ez működik, csak nem elegáns úgy, ha ott van egy legördülő menü is, ahol bele tud piszkálni. Szerintem.
-
Szirty
őstag
Helló!
Pontosan mit szeretnél elérni?
A kérdés nem úgy értendő, hogy hova ne tudjon kattintani, hanem úgy, hogy mi az a cél, amit ezzel a korlátozással kívánsz megvalósítani?
Nem szeretnéd, hogy illetéktelenek lássák, hogy XY rokordban mi van beállítva? Vagy azt hogy nehogy átállítsák?
(Qrvára nem mindegy melyik) -
Onishi
tag
:-)
Új kérdés: Hogyan tudnám erőszakkal letakarni a Recipe View objektum egy részét? Konkrétan azért kéne, mert lenne egy képernyő, ahol csak egy adott rekordban található értékeket akarom megjeleníteni változó alapján. Ez megy is, de nem szeretném, hogy állítani tudják az objektumról, tehát a legördülő listát kéne eltűntetni, a beállításaiban csak a recept választót lehet kiiktatni. Próbáltam letakarni, de nem lehet, mindig előtérben van a recipe view objektum, akárhogy rendezem. -
Szirty
őstag
válasz
moseras #4475 üzenetére
Szevasz!
Funkcionálisan nincs sok különbség. Igazából szerintem koncepció kérdése.
Én a beállításokat, statisztikai adatokat, méréseket, részeredményeket, DB-be szoktam tenni.
A berendezés belső állapotait (Pl. RS tárolók) és bináris változóit pedig merkerekben.A DB-k tartalmát könnyebb elmenteni, továbbá szerkezetük rugalmasan módosítható. A merker memóriaterület mérete fix (és rendszerint kisebb), csak a létrehozott változótípusok meghatározására van lehetőség.
-
moseras
tag
Sziasztok!
Olyan kérdésem lenne, hogy TIA Portal-ban (S7-1200) a globális változóimat (nem fizikai IO-ra, és nem a funkcióblokkok-hoz tartozó példányosított DB-kre gondolok) hol szokás tárolni ?
Egy GLOBAL_DB-ben automatikus kiosztással, vagy az M memóriában adjak abszolút címet nekik ?
Nem látok érdemi különbséget, mindkettőt be tudom tenni a HMI-be, mindkettőt tudom szimulálni, mindkettőt tudom RETAIN-be tenni, mi az előnye/hátránya egyiknek/másiknak, mikor célszerű egyiket vagy a másikat használni ?
Imi.
-
Szirty
őstag
válasz
plutokas #4473 üzenetére
Üdv plutokas!
A válasz: Igen!
A következő írásokat ajánlom figyelmedbe a kérdéseddel kapcsolatban:
- A hibakezelő OB-k
- Hibakezelés: az OB86 (Rack Failure)
- DP station állapotának lekérdezése S7 PLC-ben -
plutokas
csendes tag
Sziassztok!
Profibuszos hálózaton tudnom kellene hogy a rendszerhez tartozó eszközök élek-e...
Tudok olyan rendszer blokkot ami ezt folyamatosan vizsgáli tudja?
Köszönöm előre is segítségetek. -
-
Onishi
tag
Ok, ezen még agyalnom kell egy kicsit. Utóbb kiderült, hogy csak néhány adatot kell tudni megjeleníteni, ami gyakorlatilag a file mentési nevében van benne. Így arra kell írnom egy scriptet, hogy kiszedjem a file nevéből a megfelelő adatokat. Nemtudom lehet-e egyáltalán ilyen scriptet alkotni, próbálkozom.
Más:
Ha a "LoadDataRecord" funkciót használom egy nyomógombra, és a Data Record Number-nek megadok egy változót, akkor a gomb megnyomásakor a RecipeView objektum automatikusan át fog váltani arra az adatrekordra ami a változóban levő érték volt? -
Robit1976
csendes tag
Sziasztok!
Most kezdem használni a Tia Portalt. Mikor csatlakozok egy 1200-as CPU-hoz és meg szeretném nyitni a program blokkokat azt írja ki, hogy nem megfelelő a verzió, mert a CPU-n lévő program V11-el lett írva az enyém pedig V12-es. Találkozott már valaki ezzel a problémával? Mit lehet ilyenkor csinálni?
A válaszokat előre is köszönöm. -
Szirty
őstag
-
Onishi
tag
A #4439 számú hozzászólásomra van esetleg valakinek ötlete? Meg lehet ezt egyáltalán oldani WinCC-ben?
-
Szirty
őstag
válasz
Shirchy #4463 üzenetére
Helló Shirchy!
Ebbe én is belefutottam már. Erre oda kell figyelni! :-) AMikor új projectet hozol létre az legeslegelső dolog legyen a nyelv beállítása. Akkor is ha csak egy nyelvet akarsz és az nem az angol amire eredetileg beáll.
Minden egyes szöveg ugyanis amit a nyelv beállítása előtt beleírsz a projectbe el fog veszni ha később törlöd az angolt (amibe írtál)."Na ez után jött az,hogy nem javította át a feliratokat. A megoldás tényleg az lett,hogy az angol nyelvi beállítást teljesen töröltem,így már minden klappol."
Miért javította volna? Az angol az nem magyar. Akkor lenne csak nagy a kavalkád, ha öncélúan elkezdené összekeverni a nyelveket amikor úgy adódik. Neked kell tudnod mit csinálsz, a program nem tudja mit szeretnél ha nem közlöd vele valahogyan! Egyébként nyelv törlésénél figyelmeztet, hogy a nyelvhez tartozó összes szöveged el fog veszni és megkérdezi komolyan gondoltad-e.
Egyébként van mód a nyelv átemelésére is, de neked kell csinálni nem automatikusan történik. De legalább nem kell mindent újra begépelni.
1. Mielőtt bármit is törölnél létrehozod a magyar nyelve: Megnyitod a project fában a Language settings / Project Languages-t és pipát raksz a kívánt nyelv elé (pl. Magyar)
2. Megnyitod a project fában a Project Texts-t. Kapsz egy listát, amiben benne van az összes nyelven a nprojectbe eddig beírt összes szöveg! Látod hogy melyik nyelvhez milyen szöveg tartozik. Ha a magyart most hoztad létre, akkor az az oszlop üres (nincs magyar szöveg). Az angol oszlopban meg látod a magyar szövegeket amiket véletlenül írtál be oda
3. Kijelölöd az angol oszlopban az összes szöveget (csak abban az olszlopban és ott mindet)
4. Ctrl-C, Kijelölöd az angol oszlopban az összes sort, majd Ctrl-V. Ezzel átmásolod a szövegeket az angol nyelvből a magyarba. Ezután Language settings / Project Languages-nél ki lehet venni a pipát az angol elől.
Így a szövegek nem vesznek el, de az ékezeteket neked kell egyenként utólag beírkálnod (a Project Texts-ben ezt kényelmesen megteheted, akkor nem marad ki egy sem)
-
Shirchy
tag
Szia Szirty!
Igen az volt a probléma,hogy eredetileg angol nyelv beállításokkal kezdtem szerkeszteni a HMI-t,majd pár napra rá csak csak bosszantott,hogy nincs ékezetes betű. Így addig kutakodtam amíg át nem tudtam állítani magyar beállításra. Na ez után jött az,hogy nem javította át a feliratokat. A megoldás tényleg az lett,hogy az angol nyelvi beállítást teljesen töröltem,így már minden klappol.
Minden esetre megtanultam a leckét, többször igyekszem nem elkövetni ezt a hibát.
Köszönöm a segítséget!
-
Szirty
őstag
válasz
Shirchy #4460 üzenetére
Hi!
"Átnéztem az objektum neveket és nincs két egyforma,szóval azzal már nem lehet probléma."
Nem kellett volna átnézni, mert nem lehet kettő egyforma! Ez alatt azt kell érteni, hogy egy screenen nem lehetséges. Tehát létre sem tudsz hozni több egyformát! Ennélfogva nem is találhatsz egyformákat.
De szerintem továbbra sem objektum nevekről van itt szó, mivel mint azt már kifejtettem a nevek NEM jelennek meg a runtime-ban! Egy text objektum kijelzett szövege NEM az objektum neve. Ezért az lehet azonos nem csak kettő, de több is!.
-
Shirchy
tag
Sziasztok!
A WinCC Flexible-el továbbra sem boldogulok. Egyszerűen a text_field-eket nem tudom átírni,újakat betenni. Pontosabban a szerkesztőben át tudom írni,újakat is tudok beletenni és el is engedi menteni,de mikor a RunTime-ot futtatom egy ezelőtti 3 napos szövegrészt jelenít meg minden egyes text_field-nél,az újonnan felrakott szöveges részeknek pedig csak a helye van fent az ábrán maga a felirat nem látszik.
Átnéztem az objektum neveket és nincs két egyforma,szóval azzal már nem lehet probléma.
Kérlek segítsetek!
-
Mazsika
őstag
Rendbe van, ez tiszta sor... De ki gindolta hogy valami hívja őket? Mindegy a lényeg az hogy megy! Gyári FC-be hogy lehet belekutakodni? Ez fc2, fc5 meg ilyen blokkokat kér, ezeket egy működő progiba beletenni elég nehéz. Átírnám a gyári blokkot, hogy ezeket az fc-ket más néven keresse!
-
-
Mazsika
őstag
nyílván ez bőven elég lenne egy programming errora, ezzel tisztába vagyok, régen okoztam már programming errort, ez a hiba akkor jön elő, ha ezt a gyári fc-t hívom de az meg nem fc4 szóval ezért nem értem!? holnap printscreenelek neked ha lesz időm, hátha lesz rá ötleted!
-
-
moseras
tag
Üdv!
"Szerintem lehet. TIA portal 12-vel..."
Nekem V12-vel nem működik. Nem is aktív a hozzátartozó menü. S7-300/400/1500-al működik.
Ezt írja a Siemens: S7-PLCSIM is not yet enabled for the S7-1200 in STEP 7 (TIA Portal) V12."Mindez többszörös mélységig megtehető"
Ok, akkor jól gondoltam.
Köszönöm.
Imi.
-
-
Szirty
őstag
válasz
moseras #4437 üzenetére
Üdv moseras!
"hogy szimulálni tudjak, de egyébként S7-1200 CPU lesz, csak sajnos az S7-1200-at nem lehet szimulálni)."
Szerintem lehet. TIA portal 12-vel...
"Elolvastam a [multiple instance] írásod, ott is így van, ha jól értettem."
Az egész multiple instances lényege az, hogy ha egy level1 FB-ből másik FB-t hívsz (level2) akkor level1 FB instance DB-jében a level2 idbje struktúraként beilleszthető.
Mindez többszörös mélységig megtehető. -
Szirty
őstag
-
Shirchy
tag
Text_Field-eket tettem ki minden elemhez és ezeket a jobb oldalon megjeleníti ahogy kell,a bal oldalon pedig nem látszanak a feliratok. Először arra gondoltam,hogy amiatt akadt be,mert pár Text_Field-et ctrl+c ctrl+v billentyűkombinációval lemásoltam,ezután már csak átírtam a szöveget... Szóval fogtam és kitörölgettem azokat amiket másoltam és illesztettem be újakat,de továbbra is csak a szöveg panelja látszik,maga a szöveg nem.
-
Szirty
őstag
válasz
Shirchy #4440 üzenetére
Helló Shirchy!
A WinCC Flexible-ben minden objektumnak neve van.
Ezt a nevet automatikusan kapja (BUTTON_1, BUTTON_2, Text_Field_34, stb).
Ezt természetesen utólag átírhatod ha akarod, de két azonos nevű objektum egy képen nem lehet.
Továbbá az objektumok neve (NAME) semmilyen formában nem jelenik meg a runtime képernyőjén!Ennek fényében kérdezném, hogy mit kell érteni nevek alatt a problémád esetében? Mert ebből azt gondolom, hogy nem az objektumok nevét!
-
Shirchy
tag
Szia Szirty!
Köszönöm szépen.
Menet közben akadt még egy apró problémám. WinCC Flexible-ben csináltam egy felületet. Elkezdtem elnevezni az elemeket rajta,de amikor a legvégén szimulációval elindítottam a runtime-ot akkor nem mutatja azokat a neveket amiket névnek adtam az egyes elemeknek. Kinyomtatási nézetben jó nevet ír,de akkor ugye a grafikus rész szétesik,és úgy takarásba kerül részlegesen pár dolog. Runtime-ban,csak az üres szöveg helyek látszanak,viszont nem mindnél ahogy képeken is.
Tudnál/tudnátok segíteni mi lehet a hiba?
A jobb oldali kiírások nem probléma,hogy nem látszanak. A probléma a bal oldali nevekkel van.
Előre is köszönöm! -
Onishi
tag
Sziasztok!
WinCC Flex-el kapcsolatos segítség kellene. Azt kellene megoldanom, hogy egy adott termék gyártási adatait el kell menteni egy csv fájlba ami tartamazza, hogy ki végezte a gyártást, mikor, mi volt a termék száma, melyik programmal gyártotta stb. Na most az még megy, hogy elmentem a csv fájlokat, de kellene egy képernyő, ahol vissza tudják keresni ezeket az adatokat. Tehát beírják a megrendelés számát, és akkor a kijelző megjeleníti a hozzá tartozó adatokat a csv fájlból. Hogyan lehetne ezt megoldani?
Mindez PC-n lenne, Flexible-el.Előre is köszi a tippeket.
-
moseras
tag
Üdv!
Pont ez jött elő nálam is, nálam ugyan Tia Portal van (per pillanat S7-300-as CPU, de csak azért, hogy szimulálni tudjak, de egyébként S7-1200 CPU lesz, csak sajnos az S7-1200-at nem lehet szimulálni).
Szóval én így csináltam:
Tehát az Fb_Redony Fb-ben a Static-ok között létrehoztam egy xton nevű, TON típusú IEC TON-t. Ha mondjuk a Main(OB1) OB-ben ebből az Fb_Redony-ből létrehozok X darabot (persze külön DB-ben mindegyiket), és ezek meghívódnak, akkor mivel bennük static-ként adtam meg a TON-t, ezért ezek egymástól független TON-ok lesznek, jól gondolom ?
Elolvastam a [multiple instance] írásod, ott is így van, ha jól értettem.
Még valami: S_ODT, S_PULSE-t lehet így használni multiple instance-al ? Vagy ott a %Txx miatt ezt nem lehet ?
Köszi.
Imi.
-
Szirty
őstag
válasz
KB.Pifu #4432 üzenetére
Helló KB.Pifu!
Annyi FC105 lehetséges amennyi library van. Hogy melyik mit csinál az teljesen fakultatív.
A blokk neve egyébként AE_464_2. Az S5_Cnvrt a family, amihez tartozik, ez alá sok blokk tartozik.
Szerintem ez a blokk akkor használatos, amikor S7 PLC-n S5 PLC-ről konvertált programot akarunk futtatni (migráció), mert az S5 másképpen kezeli az analóg bemeneteket (sok egyéb különbség mellett). -
Szirty
őstag
Üdv rsf!
A DBk számát csökkentheted ha az IEC timereket egy FB-ből hívod és használod a multiple instance lehetőséget.
Akkor csak egyetlen DB-kell akárhány IEC timert használsz.
-
KB.Pifu
tag
Sziasztok!
Ide most azt kellene írnom, hogy hol akadtam el, de hála istennek a súgó megmentett!
Viszont, felmerült pár kérdés közben.
Analóg bementet szerettem volna skálázni a szimulátorban és olvastam a fórumon a fc105 -ről én pedig megkerestem és megtaláltam...Természetesen nem akart működni mert FC105 választottam, aminek a vége S5_Cnvrt.
(működhetett volna ezzel is? a hw config-ban 6es7 kártya van, ez az FC pedig a 6es5-re hivatkozika súgóban, de ez egy szoftweres szimuláció az adatot pedig a szimulátor adja PIW-en keresztül)
Közben meg kellett vizsgálnom a hw configot, ott nem találtam egyezést stb.Azután persze rájöttem a titok nyitjára, találtam egy másik FC105 -t ami már jó lett de a kérdés megmaradt, ezeket a S5_Cnvrt. blokkokat akkor használjuk a Step7-tel akarunk s5-t programozni?
-
Mazsika
őstag
Szia Szirty!
Gyári BT_LT FC61-es blokkot (Basic time to local time) szeretnék használni, beadom neki a read_clk-al kiolvasott date and time típust majd egy DB-t amit az adott UDT-vel feltöltöttem, és végül egy kimeneti date and time típusú területet. Sajnos ebbe nem íródik semmi, és a ret_val-on 1es érték van. A help infoja sajnos nem segit, mert erre azt írja, hogy 'no error but date jump', vagy valami hasonlót. Tudnál nekem ebbe segíteni? Köszönöm!
-
Szirty
őstag
válasz
zoli147 #4427 üzenetére
Üdv zoli147!
Így blöffre (tehát anélkül hogy pontos adatnak utána néztem volna) azt mondanám, hogy igen.
Nem tudom mennyi egy Logo ciklus ideje (átlagos felhasználásnál), de ciklus időnyi és kimenet (főleg ha relés) késleltetésnyi pontatlansággal valószínűleg számolni kell. Ez a pontatlanság nagyságrendileg (szintén blöffre) szerintem max. 10-20ms.
Ha ilyen pontatlanság (tehát ez esetben a fél másodpercet 10-20ms szórással hozza) még megfelel, akkor érdemes utánanézni a pontosabb adatoknak.
Nagyon kicentizni azért nem érdemes... -
zoli147
újonc
Üdv Mindenkinek.
Olyan kérdésem lenne, hogy van egy Siemens Logó műszerem, és szakaszolni kellene egy távot. Kb 9 másodperces úthossz és ezen belül kellene 6 szakasz, úgy, hogy 1 mp működés, és 0.5 mp szünet. A Logóval megoldható e ilyen rövid idő kapcsolása vagy más jeladós módszer kell hozzá? Köszönöm. -
rsf
senior tag
IEC Timereket be lehet pakolni Shared DB-be?
iDB sajnos nem jó.
Üdv. -
Szirty
őstag
válasz
Shirchy #4422 üzenetére
Üdv!
Jó. Akkor itt az FC105 forráskódja:
FUNCTION FC 105 : WORD
TITLE =SCALING VALUES
//
AUTHOR : SEA
FAMILY : CONVERT
NAME : SCALE
VERSION : 2.1
VAR_INPUT
IN : INT ; // input value to be scaled
HI_LIM : REAL ; // upper limit in engineering units
LO_LIM : REAL ; // lower limit in engineering units
BIPOLAR : BOOL ; // 1=bipolar; 0=unipolar
END_VAR
VAR_OUTPUT
OUT : REAL ; // result of the scale conversion
END_VAR
VAR_TEMP
IN_REAL : REAL ; // input value as a REAL number
K1 : REAL ; // low limit for input value
K2 : REAL ; // high limit for input value
SPAN : REAL ; // HI_LIM - LO_LIM
TEMP1 : REAL ; // temporary result
END_VAR
BEGIN
NETWORK
TITLE =
//
// set K1 and K2 constants based upon BIPOLAR
//
SET ; // if(BIPOLAR=0)
A #BIPOLAR; // .
JC EL01; // {
L 0.000000e+000; // K1=0
T #K1; // .
JU EI01; // } else {
EL01: L -2.764800e+004; // K1=-27648.0
T #K1; // .
EI01: NOP 0; // }
L 2.764800e+004; // K2=+27648.0
T #K2; // .
//
// convert input (IN) to real
//
L #IN; // ACC1=IN
ITD ; // convert to double integer
DTR ; // convert to real
T #IN_REAL; // IN_REAL-IN as a real
//
// determine SPAN = HI_LIM - LO_LIM
//
L #HI_LIM; // SPAN=HI_LIM-LO_LIM
L #LO_LIM; // .
-R ; // .
T #SPAN; // .
//
// If the input value is outside the K1 and K2 range, the output
// is clamped to the nearer of either the LO_LIM or the HI_LIM
// and an error is logged. If the input value is exactly at a limit the
// output will be set to the computed limit with no error returned.
// changed 2/14/00 by ERI per RQ210693
L #IN_REAL; // if(IN_REAL<K1)
L #K1; // .
>=R ; // .
JC EL02; // {
L 8; // error
T #RET_VAL; // .
L #LO_LIM; // ACC1=LO_LIM
T #OUT; // OUT=ACC1
JU FAIL; // error
EL02: POP ; // } else {
L #K2; // if(IN_REAL>K2)
<=R ; // .
JC EI04; // {
L 8; // error
T #RET_VAL; // .
L #HI_LIM; // ACC1=HI_LIM
T #OUT; // OUT=ACC1
JU FAIL; // error
EI04: NOP 0; // }
NOP 0; // }
//
// scale the input
//
L #K2; // TEMP1=K2-K1
L #K1; // .
-R ; // .
T #TEMP1; // .
L #IN_REAL; // IN_REAL-K1
L #K1; // .
-R ; // .
L #TEMP1; // divide by TEMP1
/R ; // .
L #SPAN; // multiply by SPAN
*R ; // .
L #LO_LIM; // add LO_LIM
+R ; // .
T #OUT; // OUT=scale(IN_REAL)
//
// set BR bit : no error-set BR bit to 1; with error-set BR bit to 0.
//
L 0; // return error code 0
T #RET_VAL; //
SET ; // RLO = 1 (NO ERROR)
JU SVBR; //
FAIL: CLR ; // RLO = 0 (ERROR)
SVBR: SAVE ; // BR = RLO
END_FUNCTION -
Szirty
őstag
válasz
Shirchy #4417 üzenetére
Helló Shirchy!
Az STL forrást Copy-Paste módszerrel be tudod illeszteni.
Azért esik szét, mert proporcionális karakterkészlettel illeszted be. Hogy ne essen szét, válaszz monospaced készletet! Pl. Courier new.A létradiagramot, mivel grafikusan van ábrázolva nyilván képként tudod beilleszteni.
A képet elkészítheted prtscr-el is, de én inkább egy képkivágó programot vagy olyan rajzoló programot ajánlanék ami támogatja a screenshotok készítését.Megoldás lehet még a nyomtatás képbe funkció is. Ha van MS office telepítve akkor nyomtathatsz "Mocrosoft image dokument writer" eszközre ami egy MDI file-t hoz létre amit szabadon beilleszthetsz bármilyen wörd dokumentumba.
Vagy telepíted a PDF Creatort, ami egy PDF nyomtatót hoz létre, stb...
Az FC105-öt miért akarod kinyomtatni?
-
Shirchy
tag
Szia Szirty!
A programomban STL,illetve létra diagramm van.
Az STL a gyári FC105 skálázó,így azt nem tudtam a szerkesztővel sem megnyitni,de ha erre is tudsz trükköt szívesen fogadom az instrukciókat.
A lenyegesebb az általam kreált létradiagram lenne,hogy azt tudjam egy word-be beilleszteni.
Bocs a pontatlan kérdésért.
-
Szirty
őstag
Hali!
Én úgy szoktam megkerülni a hibát (workaround) hogy átmenetileg megadok egy általa helyesnek vélt típust és kimentem, majd bezárom a szerkesztőt.
Újra megnyitva megint átírom a hibás típusú változót jóra (mert ekkor derül ki, mint a videón is hogy még mindig hibás, nem íródott át). Megint elmentem és bezárom, harmadszor megnyitva már jó a típus és visszaírom a változót az utasításnál. -
Szirty
őstag
Hát van ilyen bug is...
Nyilván erre gondolsz... -
rsf
senior tag
válasz
Shirchy #4407 üzenetére
Ez szerintem egy bug a Step 7-ben.
Én is már többször találkoztam olyannal, hogy megváltoztattam egy változó tipusát.
Majd elmentettem a DB-t. Ezután a programba a megváltoztatott változót nem tudtam beírni, mert a fordító még a régi tipust látta és nem fogadta el az újat.
Ilyenkor az egész networkot vágólapra kell tenni Ctrl-X-el (Igy megszünik a hiba a progiban) majd menteni kell egyet, ezután Ctrl-V-vel az egészet vissza.
Mentés után már frissül a compiller infója a megváltozott DB tartalmáról és igy már jó lesz.
Üdv. -
Shirchy
tag
Lenne még egy kérdésem... word-be valahogy ki lehet varázsolni a programot anélkül,hogy a tartalom szétesne,vagy csak a print screen megoldás marad?
-
Shirchy
tag
Így már értem,bár tényleg muszáj volt újraírnom egyszer. Utána viszont már minden úgy ment ahogy írtátok. Néha mikor mentem a DB szerkesztőt,majd ki x-elem az ablakot windwos-os memória hivatkozási hibaüzenetet kapok,amit bezárva minden más megy tovább látszólag semmi baja....bár lehet,hogy ez kavart be,és valami nem százas a programmal amim van.
Köszönöm a segítséget Mazsika és Szirty!.
-
Szirty
őstag
válasz
Shirchy #4407 üzenetére
Üdv Shirchy!
"A DB változóit utólag már nem lehet módosítani csak az első megíráskor?"
A shared DB tartalmát úgy módosítod ahogy csak akarod. Bármikor akármennyi változót tehetsz bele akárhova vagy törölhetsz vagy írhatod át a nevét vagy típusát. Erre semmiféle korlátozás nincsen leszámítva hogy túlságosan nagy nem lehet.
Csakhogy az ezzel járó összes következménnyel számolnod kell ám!
Az egyik amit Mazsika írt, hogy ezzel a DB aktuális tartalma a PLC-ben elvész amikor áttöltöd (felülíródik).
A másik, hogy ha törölsz egy változót a DB-ből vagy annak nevét átírod, és arra a változóra a programod már hivatkozik valahol szimbolikus címzéssel, akkor ez a hivatkozás abban a pillanatban hibás lesz, ami nem meglepő, lévén a változó azon a néven megszűnik létezni!
A harmadik hogy ha változót illesztesz a DB-be (nem a végére) vagy törölsz vagy úgy írod át az adattípusát, hogy az új típus hossza nem azonos a régiével (pl. REAL-t INT-re módosítod) akkor az összes változó címe eltolódik ami az átírt után van. Ezért a programban minden abszolút hivatkozás ami az átírt változó utáni többi változóra vonatkozik (amelyikhez hozzá sem nyúltál) hibás lesz!
-
Mazsika
őstag
válasz
Shirchy #4407 üzenetére
Lehet természesen később is módosítani, menteve feltöltve tovább lehet dolgozni vele, viszont arra ügyelni kell hogy ilyenkor felülíródnak az aktuális adatok, mondhatni 'nullázódnak'.
Szerk.: csak annyi lehetett a problémád, hogy nem mentetted a DB-t igy a program nem tudott hivatkozni rá! -
Shirchy
tag
válasz
Mazsika #4406 üzenetére
Megvan mi a baj. A DB-ben töröltem egy REAL változót,majd a helyére INT tipusut akartam tenni. Ezután a művelet után a változó látszólag ott volt a DB-ben,de amikor hivatkozni akartam rá akkor piros színnel írta a ki a program a változó nevét és menteni sem tudtam mert érvénytelennek látta a változót.
Most újraírtam a db-t,de esetleg van más megoldás hasonló probléma esetén?
A DB változóit utólag már nem lehet módosítani csak az első megíráskor? -
Mazsika
őstag
-
Shirchy
tag
Összesen van 3 FB amihez tartozik 3DB mindegyikben 3 real van tárolva,illetve lenne még 29 változóm egy megosztott db-ben,amiből 6 real tipusu. Létezik,hogy megtelt a memória?
Vagy az a baj,hogy adott fc-ken belül több DB-ből kérem be az adatot?
A pontos típusa: 315-2 PN/DP 6ES7 315-2EH14-0AB0
-
Shirchy
tag
Sziasztok!
Akadt egy kis problémám (S7 300),amit nem értek. Megosztott DB-ben elkezdtem letárolni a változóimat és jelenleg
2-nél több változót nem tudok beletenni. A többiben legalább 5-6 változót engedett a jelenlegiben meg 2 BOOL típusu van,és hiába veszi fel a többit a sorba nem tudom meghívni őket a programban. Az address oszlop legvégén továbbra is =2 marad.A segítséget előre is köszönöm!
-
Shirchy
tag
-
Szirty
őstag
válasz
Shirchy #4400 üzenetére
Helló Shirchy!
Ott követted el a hibát, hogy "összeakasztottál" két változót.
Az FC105 RET_VAL kimenetét az MW100-ba küldöd, a skálázás eredményét pedig MD100-ba!Ez azért nem jó, mert az MD100 és az MW100 két byte-ja azonos, így a két változó 2 byte átfedésben van egymással ezért részben felülírják egymást. Hogy hogyan azt az alábbi ábra személteti más címekkel:
Ez talán figyelmetlenség, de ha nem, akkor ajánlom figyelmedbe ezt:
Siemens S7 300-400 adatterületek és címzésmódokMeg kell szüntetned ezt a konfliktust.
Vagy a RET_VAL legyen MW100 helyett MW98, vagy az OUT legyen MD100 helyett MD102 (feltéve persze hogy ezzel nem kerülnek máshol használt változóval hasonlóképpen átfedésbe).
Új hozzászólás Aktív témák
Hirdetés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Tőzsde és gazdaság
- PlayStation 5
- Azonnali notebookos kérdések órája
- Ukrajnai háború
- Milyen alaplapot vegyek?
- Házimozi belépő szinten
- Nem tudja garantálni a TSMC a tiltólistás cégek kizárását
- Hálózati / IP kamera
- bambano: Bambanő háza tája
- További aktív témák...
- T14s Gen5 14" FHD+ IPS Ultra 5 135U 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- XFX Speedster 319 SWFT RX 6800 16GB
- Katana GF66 12UC 27% 15.6" FHD IPS i7-12700H RTX 3050 16GB 512GB NVMe gar
- ÚJ Dell Latitude 14 5450 - 14" FullHD IPS - Intel Ultra 5 135U - 16GB - 512GB - Win11 - 2.5+ év gari
- Eladó Vízhűtő cuccok, VGA blokk, radiátor!
- Kimaxolt verzió! - 100 - Lenovo Yoga Pro 9 (16IRP8) - Intel Core i9-13905H, RTX 4070, 1TB SSD, 64GB
- LG 27GP850P-B - 27" NANO IPS - 2560x1440 - 180Hz 1ms - NVIDIA G-Sync - AMD FreeSync - HDR 400
- Bomba ár! Fujitsu LifeBook U759 - i3-8GEN I 8GB I 256SSD I 15,6" FHD I HDMI I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest