Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  Egyéb hardverek  »  PLC programozás

Hozzászólások

(#4551) Szirty válasza Mazsika (#4549) üzenetére


Szirty
őstag

Üdv!

Ezeket nézd át:
− MSZ EN 201: 2001 Gumi és műanyagipari gépek. Fröccsöntő gépek. Biztonsági követelmények.
− MSZ EN 292-1-2: 1993 Gépek biztonsága. Alapfogalmak, kialakítás általános elvei. I–II. rész.
− MSZ EN 292-2: 1991/A1: 1997 Gépek biztonsága. Alapfogalmak.
− MSZ EN 294: 1994 Gépek biztonsága. Biztonsági távolságok.
− MSZ 187: 1980 Faipari termelő berendezések általános biztonságtechnikai követelményei.
− MSZ EN 860: 1998 Famegmunkáló gépek biztonsága. Vastagoló gyalugépek.
− MSZ EN 940-1998 Famegmunkáló gépek biztonsága kombinált famegmunkáló gépek.
− MSZ EN 953: 1999 Gépek biztonsága. Védőburkolatok. A rögzített és a nyitható védőburkolatok kialakításának és beépítésének általános követelményei.
− MSZ EN 954-1. 1999. Gépek biztonsága. Vezérlőrendszerek biztonságával összefüggő szerkezeti részek.
− MSZ EN 999: 2000 Gépek biztonsága. A biztonsági berendezések elrendezése.
− MSZ EN 1726-1: 2001 Targoncák biztonsága. Gépi hajtású targoncák.
− MSZ EN 12047-2: 2001 Daruk biztonsága.
− MSZ EN 60204-1:1995 Gépi berendezések biztonsága Gépek villamos szerkezetei.
− MSZ EN 1570:2001 Emelőasztalok biztonsági követelményei.
− MSZ EN 474 1.-7: 1999 Földmunkagépek biztonsága.
− MSZ 16457-1:1985 Alakítógépek biztonságtechnikai követelményei.
− MSZ EN 61310-1:1999 Gépi berendezések biztonsága. Jelzés, megjelölés és működtetés.
− MSZ EN 563:1997 Gépek biztonsága. Megérinthető felületek hőmérséklete.
− MSZ ISO 4254-1: 1992 Mezőgazdasági és erdészeti traktorok és gépek műszaki biztonsági esz-közei. Általános előírások.
− MSZ EN 1088: 1997 Gépek biztonsága. Védőburkolatokkal összekapcsolt reteszelő berendezé-sek.

(#4552) rsf


rsf
senior tag

Tia Portálban(v13) ha egy DB-ben vagy akár ha egy blokk bemeneti paraméterében Dint szerepel akkor elfogadja az L#12345678 -at és az 12345678-at is. A Step7 5.5-ben ez nem így volt.
Vajon ha nincs L#-t akkor is jól fog működni?
Üdv.

“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“

(#4553) DP_Joci válasza Dezsi82 (#4538) üzenetére


DP_Joci
tag

Hello,

Ez érdekes feladat :)

Ha 2 DP címet osztasz szét a szerszámok között, akkor minden cpu-ba ugyanarra a címre (word) berakhatod a szerszám azonosítót, így lehetne azonosítani a szerszámot. De itt szerintem ez csak akkor működhetne, ha a cpu-k azonosak, vagy nem. :D

Ha viszont minden DP címet felveszel a hardver konfigba, akkor nyilván folyamatos busz hiba lesz, de egy Profibusz diagnosztikával ellenőrizheted, hogy melyik címek vannak a buszon és azoknak egy bizonyos wordjében tárolt azonosító megmondaná neked melyik az a szerszám. (ha már maga a cím nem tudná ezt meghatározni)

(#4554) Szirty válasza Dezsi82 (#4538) üzenetére


Szirty
őstag

Üdv Dezsi82!

"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."

Mit értesz pontosan configban szereplő deaktivált eszközön?
Ha azt, hogy benne van a konfigban de nincs jelen a buszon, illetve ha jelen van a buszon van-e busz hibája lekérdezhető az SFC51-el.

DP station állapotának lekérdezése S7 PLC-ben

Az a megoldás hogy minden szerszámnak egyedi címe van azzal jár, hogy mindig lesz busz hiba a PLC-n, mivel egyszerre az összes előre konfigurált szerszám nem lesz jelen a buszon (mindig csak max 2).

Lehet minden szerszámnak ugyanaz a címe is, ha a PLC-n két DP busz van...

(#4555) Dezsi82 válasza Szirty (#4554) üzenetére


Dezsi82
tag

Sziasztok!
Joci: Azért nem oszthatok szét 2 db címet a 30, amúgy egyforma CPUk között, mert akkor két egyforma című szerszámot nem tudnának egyszerre felrakni, és ez biztos elő fog fordulni. Jó lenne tudni, milyen profibus diagnosztikára gondoltál, mert ha FB125, akkor leírás alapján nem tesz különbséget a deaktivált, és a hiányzó slavek között.

Szirty:
Mit értesz pontosan configban szereplő deaktivált eszközön?
Azt értem, hogy benne van a konfigban, de SFC12-vel deaktiválva van. Ez pontosan arra szolgál, hogy más-más programszámhoz más-más profibus hardver konfig tudjon tartozni. Így nem fogja hiányolni a bekonfigolt, de nem csatlakoztatott slaveket, és profibus hiba sem lesz. Az SFC51-et átnézem, van-e olyan paraméter, ami alapján el tudom dönteni, hogy egy eszköz ott van, de deaktivált, vagy tényleg nincs ott.

(#4556) Dezsi82 válasza Szirty (#4554) üzenetére


Dezsi82
tag

Üdv
Átnéztem az SFC51-t, és egy paramétert találtam, ami esetleg szóba jöhet, de sajnos ez sem tesz különbséget
0291 Module status information of all faulty and non-deactivated modules Irrelevant

Viszont keresés közben megtaláltam az SFC13 paramétereit:

Byte 1: Status 1
Bit DIAGNOSTIC
0 Diag.Station_Non_Existent: Set to 1 by the master if slave cannot be reached over the line. Slave sets this bit to 0.
1 Diag.Station_Not_Ready: Set by slave if slave is not ready for data transfer.
2 Diag.Cfg_Fault: Set by slave if it detects a mismatch in config data.
3 Diag.Ext_Diag: Set by slave to indicate a diagnostic entry is in the slave-specific diagnostic area (see below).
4 Diag.Not_Supported: Set by slave if requested function/service is not supported.
5 Diag.Invalid_Slave_Response: Slave sets this bit to 0. Set to 1 by the master if it receives an implausible response from the slave.
6 Diag.Prm_Fault: Set by slave if last parameter frame was faulty (wrong parameterization, bad length, bad ident_number, etc.).
7 Diag.Master_Lock: Set by a class 1 master to indicate slave has been parameterized by another master (if address in DU byte 4 is not 255 and differs from its own address). Set to 0 by slave.

Byte 2: Status 2
Bit DIAGNOSTIC
0 Diag.Prm_Req: Set by a slave if it needs to be parameterized and cleared once parameterization is complete.
1 Diag.Stat_Diag: Static diagnostics. Slave sets this bit to cause the master to retrieve diagnostic information until this bit is cleared (the slave sets it if it’s not able to provide user data).
2 Slave sets this bit to 1.
3 Diag.WD_ON: Set by slave to indicate Watchdog is active.
4 Diag.Freeze_Mode: Set by slave after it has received the Freeze control command.
5 Diag.Sync_Mode: Set by slave after it has received a Sync command.
6 Reserved.
7 Diag.Deactivated: Set by the master if slave has been marked inactive within the slave parameter set and is removed from cyclic processing. Slave sets this bit to 0.

Elvileg az elérhetőséget mutatja az első bájt nulladik bitje, a deaktiváltságot a második bájt hetedik bitje. Azt tudom, hogy az SFC12 időigényes függvény, van hogy akár több tíz másodpercig fut. Arról nem találtam infót, hogy az SFC13 milyen gyorsan fut le, és sajnos tesztelni nem fogom tudni, így majd élesben kell megoldani.
Ha esetleg Te tudsz olyan SFC51 paraméterezést, ami kiadná a deaktivált, és a hiányzó slaveket, külön-külön, akkor az hasznos lenne, mert nyilván gyorsabb lenne, mint pollozni a 30 slavet.
Köszönöm az ötleteket

[ Szerkesztve ]

(#4557) Dezsi82 válasza Szirty (#4554) üzenetére


Dezsi82
tag

Üdv
Elfelejtettem írni, hogy nincs két busz, egy hálózaton vagyunk kénytelenek megoldani a feladatot a berendezés kábelezése, kialakítása miatt

(#4558) Szirty válasza Dezsi82 (#4557) üzenetére


Szirty
őstag

Hali!

DP-DP coupler is van a világon :-)
Beraksz egyet-egyet a két "vándor" CPU elé meghatározott fix DP címmel, és a vándor CPU-k címe mind lehet teljesen azonos.
Az azonosítás meg egyszerű, mert az adott "vándor" majd megmondja magáról ki ő. Nem lesz profibusz hiba, nem kell aktiválni, lekérdezgetni vagy címekkel sakkozni.

(#4559) Dezsi82 válasza Szirty (#4558) üzenetére


Dezsi82
tag

Üdv!
Ez egy nagyon jó ötlet, ráadásul így nem kell a "vándor" CPU-ba slave modul, ami drágább, mint egy coupler. És sokkal kevésbé melós.
Köszönöm szépen az ötletet,

(#4560) Szirty válasza Dezsi82 (#4559) üzenetére


Szirty
őstag

Üdv Dezsi82!

Nem árultál el eleget a pontos körülményekről.
Csak annyit tudunk, hogy 3 CPU van egy profibus DP hálózaton, amelyek közül kettő kvázi véletlenszerűen cserélődik. A "vándorokba" nem kell feltétlen slave DP modul ha a saját hálózatán nincsenek DP slave-ek, mivel a DP-s CPU beállítható slave-ként is a beépített DP interfészén.Persze ha vannak saját DP-s I/O-k rajta akkor master kell hogy legyen.
Viszont egy profibusz hálózatban lehet több master is. Ám azt nem tudom hogy egy hálózatban lévő két master hogyan tud egymással kommunikálni, ilyesmit még nem kellett csinálni.

Mindezt csak megjegyeztem mert eszembe jutott a témával kapcsolatban. Ha a DP-DP coupleres megoldás megfelelő, akkor ezzel a problémával már nem kell foglalkozni.

(#4561) Dezsi82 válasza Szirty (#4560) üzenetére


Dezsi82
tag

Üdv
A helyzet a következő:
Ennél a cégénél Siemens PLCk vezérelnek robotos hegesztőcellákat. A cég autóipari beszállító, több autógyárnak is szállítanak. Többféle terméket gyártanak, mint amennyi ilyen robotos cellájuk van. Ezt úgy oldják meg, hogy az asztalok, amin a robotok hegesztenek, cserélhetőek. A szerszámokon érzékelők, munkahengerek vannak. Ezek ET200-ba, SMC szelepszigetekbe, stb vannak bekötve. De a szerszámok különbözőek, ezért más-más a hardver konfig, ezért van az, hogy SFC12-vel deaktiválnak, aktiválnak, slaveket. Minden szerszámhoz tartozik egy-egy FC, ami a lefutást végzi. Becsukási sorrend, darabérzékelés, stb. Amikor jön egy új szerszám, egy új termékhez, hívnak minket, leprogramozzuk.
Viszont a robotok, és a hegesztőszerszámok sem egyformák, ezért gyakran előfordul, hogy csak átrakásról szól a feladat, attól függően hogy a termeléstervezés, hogyan igényli. De gyakran beleütközünk abba a problémába, hogy a cellákban a hardver konfigban az adott szerszámon lévő slave címe már használt, ezért át kell állítgatni annak a címét. És kezd a helyzet kaotikus lenni. Nem beszélve arról, hogy ugyanaz a szerszám egy másik cellán más néven szerepel, vagy egy szerszám több "programban" is benne van. A kiválasztott program adja meg, hogy milyen hardver konfig töltődjön be. Igen ám, de ezek van, hogy beraknak egyik oldalra Suzukit, másik oldalra Audit, aztán másnap Suzuki Mercedes-szel, harmadnap megint más. Emiatt aztán sokféle program van, ami a különböző konfigokat párosítja össze, és már senki sem tudja, hogy melyik kombináció mit takar pontosan.
Ezért arra gondoltunk, hogy beillesztünk a cella CPU-ja, és a változó hardver konfig közé egy CPU-t, amiben van DP master és DP slave interfész is. A master kezeli a szerszámon lévő slaveket, tartalmazza a szerszám programját a slave pedig kommunikál a vezérlő CPUval. Így ha csinálunk egy univerzális programot az összes cella vezérlő PLC-jébe, ami azokat a memóriaállapotokat kérdezi le a szerszámban elhelyezett CPUtól, és a szerszám FC-je a szerszámon lévő CPUn futna, akkor elég lenne egyszer megírni a szerszám programját.
A lényeg tehát az, hogy két hálózat van, és ezek közti átjárás kell megoldani. A multimasteres rendszer is működhetne, de itt a címekkel lenne megint probléma. Az általad javasolt DP-DP coupler megoldás teljesen tökéletes. Azt még nem tudom, hogy viseli a coupler, hogy az egyik oldalán hardveresen megszakad a vezeték, és nem látja a masterét, de ha jól gondolom, akkor, amint felcsatlakoztatják a mastert, akkor helyreáll a kommunikáció, és minden működik. De ahogy írtad, nem kell vacakolni címekkel, aktiválással, lekérdezésekkel.

(#4562) Kopri 62


Kopri 62
újonc

Sziasztok új vagyok köztetek ( egyébként már nem annyira ).

Szakmai segítségre van szükségem. Van egy PLC adott esetben egy SCHNEIDER TM221 ,elkészítettem rá egy folyamatirányító programot, minőség biztosítási okok miatt most meg kellene oldanom, hogy egy PC-n néhány paramétert megjeleníteni és tárolni lehessen. Erre acélra keresek egy adatkiolvasó programot.
Tudna valaki segíteni?

(#4563) moseras válasza Kopri 62 (#4562) üzenetére


moseras
tag

Üdv!

néhány paramétert megjeleníteni és tárolni

Mit értesz az alatt, hogy tárolni ? Mert a paramétereket a PLC szokta tárolni nem felejtő memóriában, a SCADA pedig ezeket megjeleníteni szokta, illetve lehetővé teszi a módosításukat. Szerintem inkább naplózásra gondolsz (adott időközönként vagy változás esetén) SQL-be vagy valamilyen file-ba.

Imi.

(#4564) Dezsi82 válasza Kopri 62 (#4562) üzenetére


Dezsi82
tag

Szia!
Anélkül, hogy részletesebben ismerném a Schneider szoftvereket (eddig egyszer programoztam), én a következőket mondanám:
-nyilván van a Schneidernek SCADA szoftvere, azzal biztos megoldható. Ajánlottak is annak idején nekünk ilyen szoftvert, tud SQLt is, de amennyire emlékszem, jó ára van. Persze ha ez rendelkezésre áll, akkor nem kérdés
-léteznek kimondottan naplózó szoftverek (én a PLC analyzer Pro-t ismerem), ezzel csak beállítod a paramétereket és megy is. De ez is fizetős. És csak fájlba tud menteni, és megjeleníteni
-írsz saját magad egy naplózó szoftvert, persze ehhez kell ismeret, meg szoftver. De gondolom ez a CPU is ismeri a Modbus TCP-t, és egy egyszerű socket kommunikációval lekérhetőek az adatok, majd fájlba írhatók, SQLbe küldhetők, megjeleníthetők.
Ezek akkor működnek, ha nem kell túl gyorsan naplózni. Kommunikációs processzortól függően max kb. tízszer lehet másodpercenként így adatot menteni. Ha ennél gyorsabb kell, akkor a PLCnek kell pufferelni, majd a PCnek küldeni. Vagy olyan ipari kommunikációt kell használni, amire mind a PC, mind a PLC képes.

(#4565) Kopri 62 válasza Dezsi82 (#4564) üzenetére


Kopri 62
újonc

Sziasztok, valóban a naplózásra gondoltam, ami a SCADA szoftvert illeti pontosan az ára az ami egy kicsit kiábrándító. Gondoltam más gyártónak is létezik valami kompatibilis változat.Egyébként ha valaki ellátna egy ilyen szoftverrel megfizethető áron arra is vevő lennék függetlenül attól, hogy gyári vagy esetleg saját készítésű.

(#4566) Dezsi82 válasza Kopri 62 (#4565) üzenetére


Dezsi82
tag

Szia!
Beírtam a google keresőbe, hogy modbus tcp logger, és ezt adta ki:
http://sourceforge.net/projects/plclogger/
Elvileg tudja, amire Neked kell (bár azt nem tudom pontosan mire van szükséged). Nem próbáltam ki, csak a leírását olvasgattam.
Ha nem tudja, akkor privát üzenetben meg tudjuk beszélni, hogy mire lenne szükséges, és mik a lehetőségek, mert mi tudunk ilyen alkalmazást készíteni

[ Szerkesztve ]

(#4567) Szirty válasza Kopri 62 (#4565) üzenetére


Szirty
őstag

Helló Kopri 62!

Homályos igényekre akarsz valamilyen megoldást.

Annyit tudni, hogy Schneider M221-ből akarsz PC-n "néhány paramétert" megjeleníteni és tárolni.
Erre gyakorlatilag majdnem minden HMI és SCADA szoftver alkalmas amelyik ismeri a PPLC által használt kommunikációs protokolt.
Ajánlottak is ilyet, de arra azt írtad drága de az nem jó, mert neked megfizethető kell.
Sajnos szerintem az alábbi lehetőségeid vannak:
1. Megírod magad a kívánt programot annak minden követelményével és nyűgjével együtt
2. Keresel egy gyárit ami tudja ami kell és nem sokkal tud többet és kifizeted
3. Keresel egy gyárit és lenyúlod (illegális használat)
4. Keresel valakit aki ír neked ilyet ami tudja ami kell és szerinted megfizethető

Vannak köztes és alternatív megoldások is.
Pl. hagyod a francba az egészet... :-)
Vagy valamilyen open source vagy nagyon olcsó megoldást keresel (hasonéót már linkeltek is). Pl. OPC szervert és megoldod EXCEL-ben (nem mint ha az excel éppenséggel olcsó lenne) esetleg VB-ben.

"Egyébként ha valaki ellátna egy ilyen szoftverrel megfizethető áron"

A pénznek nincs abszolút értéke ezért nem tudni neked mi a megfizethetőként jelölt kategória számszerűen..

(#4568) byte-by válasza Kopri 62 (#4565) üzenetére


byte-by
tag

halo !

nem ismerem a shneidert , de mintha lehetne bele rakni memóriakártyát.
ha így van, esetleg olcsó , de nagyon (!) fapados módszerrel feltételekhez kötni és kiírni memóriakártyára a szükséges adatokat, majd csv-be vagy txt-be elmenteni.
már ha van ilyen lehetőség a programozását tekintve, vagy egyáltalán lehetőség van-e ilyesmire.

persze így az adatok nem látszanak azonnal, le kell őket menteni pc-re, és kiértékelni.

olcsó húsnak....

minőségbiztosítást említettél, ebből kifolyólag céges projektre gondolok.
ha legalább közepes cégről van szó, néha költhetnének is a szükséges eszközökre, persze ezt nem tudom, csak saját tapasztalat.

byte

(#4569) Lamasd69


Lamasd69
csendes tag

Sziasztok!

Kezdő plc tanonc vagyok és lenne egy kérdésem.
Hogy lehet a legegyszerűbben analog kimenetet 0-10 volt-ot kiadni? HMI-n keresztül kell megadni egy % ot 0-100 íg. a skálázás kész, hmi elintézi.
azt már olvastam h 0 az 0 volt 27648 érték meg a 10 volt.

ez jó megoldás vagy nem? vki tudna segíteni benne?

(#4570) Szirty válasza Lamasd69 (#4569) üzenetére


Szirty
őstag

Helló Lamasd69!

Az első amit le kellene írni hogy miről van szó pontosan különben hogy vársz pontos választ?
Lehet sejteni hogy ez valószínűleg Siemens S7 PLC, és talán TIA portál, de! milyen S7 PLC? 1200? vagy 300/400?
És milyen analóg kimenet, az hogyan van beállítva (bipoláris, unipoláris)?

Ugyanis van amelyiknél 0...27648 az értéktartomány-. van amelyiknél -27648...+27648, sőt, 0...32767, vagy éppen -32768....+32767.

"ez jó megoldás vagy nem?"

A MOVE jó megoldás abban az esetben, ha a DB1.DBW6 pont abban a tartományban van, ami az analóg kimenetnek kell.
Pl. ha a kimeneted ahogy írtad 0...27648 tartományt igényel és a HMI-vel skáláztad a 0...100-at 0...27648-ra, akkor jó. Bár én szerencsésebbnek tartom PLC-ben skálázni, de így is jó.

(#4571) Lamasd69 válasza Szirty (#4570) üzenetére


Lamasd69
csendes tag

S7 300-as plc
0-10 V-os feszültséggel kell szabályozni a fordulatszámot (így tervezték meg..)
PLC-n mivel, hogyan tudnám megoldani a skálázást? hogy a hmi-n csak 0-100 közötti értéket kelljen beírnom?
(simatic op77b)

(#4572) Szirty válasza Lamasd69 (#4571) üzenetére


Szirty
őstag

Üdv Lamasd69!

"S7 300-as plc"

A többi kérdésre is van válaszod?

"PLC-n mivel, hogyan tudnám megoldani a skálázást?"

Még mindig nem tudom, hogy TIA portal, vagy Step7.
Az utóbbi esetben: Library / Standard library / TI-S7 converting blocks / FC105 SCALE CONVERT.

A témába vág:
Analóg jelek kezelése S7-300/400 PLC-vel
Analóg jelek kezelése

További javaslatom hogy itt ezen az oldalon (amit ebben a pillanatban nézel) fent jobbra ahol azt látod hogy "gyorskeresés itt" beírod hogy SCALE.
Vagy ide kattints!

(#4573) Lamasd69 válasza Szirty (#4572) üzenetére


Lamasd69
csendes tag

megoldva, köszi

[ Szerkesztve ]

(#4574) Szirty válasza Lamasd69 (#4573) üzenetére


Szirty
őstag

Tehát fölösleges volt a kérdésed is, meg a válasz is?

Legközelebb a kérdés előtt számolj el 27648-ig! :-)

[ Szerkesztve ]

(#4575) kibor3 válasza Szirty (#4574) üzenetére


kibor3
újonc

Szia Szirty!

Ez a FC105 hogy skáláz?

IN- beérkező érték int
HI_LIM skála maximuma? real
LO_LIM skála minimuma? real
de azt hogy kell megadni hogy mettől meddig jön az érték mert így ennyi adat alapján nem egyértelmű
(ha meg van adva h 0-200 íg jöhet vmi és -27648 tól 27648ig skálázzon ugy okés de itt hogy??)
[step7, 300]

(#4576) Szirty válasza kibor3 (#4575) üzenetére


Szirty
őstag

Helló kibor3!

"Ez a FC105 hogy skáláz?"

Ezt egyszer itt már kitárgyaltuk! HELP-et olvastad? Ott elég jól leírja, és még példaprogram is van rá.
Fordítva működik mint ami Lamasd69-nek kellett.

Van egy egész típusú bemenete (IN).
Itt 0..27648 vagy -27648..27648 értéktartományt vár.
Ezt az értéket fogja OUT (real) kimeneten LO_LIM...HI_LIM értékek által meghatározott tartományba skálázni.
Hogy 0..27648 vagy -27648..27648 tartoményt fogad IN-en az a BIPOLAR állapotától függ. FALSE állapotnál lesz 0..27648.

Pl ha.:
LO_LIM= 0.0
HI_LIM= 100.0
BIPOLAR= FALSE
IN= 13824

Akkor OUT 50.0 lesz.

(#4577) dave0825


dave0825
őstag

Heló mindenki! Egy olyan kérdésem lenne, hogy a legegyszerűbben hogy lehetne megoldani egy vagy több relével, és EGY nyomógombbal, hogy első megnyomásra bekapcsoljon mondjuk egy LED, a 2.-ra pedig ki??
A lehető legegyszerűbb változat érdekelne. Köszi előre is.

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#4578) Dezsi82 válasza dave0825 (#4577) üzenetére


Dezsi82
tag

Üdv!
Utoljára fősuliban csináltam ilyesmit, de sikerült összehoznom egy kapcsolást. Azt nem tudom rendelkezésre állnak-e a megfelelő számmal kontaktusaid, de ha más nem plussz relékkel meg tudod oldani. Lehet van egyszerűbb megoldás is. Ez egy lépésvezérelt megoldás, ami elvileg működik.
Való életben én egy SR tárolóval oldanám meg, vagy esetleg ezzel

Kis leírás:
Amikor feszültséget kap a rendszer K4 meghúz. Amikor megnyomod a gombot, akkor LED bekapcsol, és K1 öntartásba megy. Amikor elengeded, K2 meghúz,és öntartásba megy. LED világít, mert K1 tart. Amikor újra megnyomod, K3 kapcsol, és öntart, K1,K2 kiesik, lámpa kialszik. Amikor elengeded, K4 meghúz. És elvileg indul elölről a folyamat

[ Szerkesztve ]

(#4579) Dezsi82 válasza Dezsi82 (#4578) üzenetére


Dezsi82
tag

Üdv
Átnézve hibát találtam, módosítottam, egyszerűsítettem.

[ Szerkesztve ]

(#4580) Szirty válasza dave0825 (#4577) üzenetére


Szirty
őstag

Helló dave0825!

"Elfelejtetted" leírni, hogy MILYEN relével és milyen nyomógombbal kell megoldani? Mindegy?

Mert akkor annál egyszerűbb nincs, mint: Nyomógomb egy impulzus relé tekercsét kapcsolja a relé meg a LED-et és készen is van. Itt a relé intézi a ki/be kapcsolást, az impulzus relé ilyen. Ezrével használják őket villanykapcsolásra.

De nyomógomb is van ám olyan, amit egyszer megnyomsz zárja az érintkezőt, megint megnyomod nyitja (nyomókapcsoló). Ahhoz még relé sem kell, csak sorba kötöd a gombbal a LED-et és kész.

Mennyi ideig kelljen nyomni a gombot a be és kikapcsoláshoz?
Egy egyszerű időtaggal megoldható, hogy ha röviden nyomod ki, ha hosszan nyomod bekapcsoljon egy LED-et!

Azt sem írtad le, hogy az "EGY" (ki tudja milyen) nyomógombon kívül mi lehet még a kapcsolásban. Mert ha pl. egy PIC is, akkor megint csak igen egyszerű, mert a gombot bekötöd a PIC bemenetére, a LED-meg a kimenetére és írsz rá egy programot ami megfelelően ki és bekapcsolja.

De ülhet egy ember is egy széken a gomb meg a LED között, aki figyeli mikor nyomod meg a gombot. Amikor megnyomod egyszer, bekapcsol egy relét az ember egy kapcsoló segítségével, ha megint megnyomod kikapcsolja. (esetleg szólsz neki).

Vagy építesz egy egyszerű astabil multivibrátort két tranyóval, ami villogtat egy LED-et 1Hz frekvenciavál. Fogsz egy gombot (ebben az esetben ez kabátgomb is lehet) és mindig megnyomod amikor a LED világítani kezd vagy amikor kialszik.

Folytassam? :-)

(#4581) joci9 válasza Szirty (#4526) üzenetére


joci9
tag

Üdv Szirty!

Most fedeztem fel ezt a fórumot :-) és írásodat a VB sriptről.
Ezt a csv-et valamelyik nap kipróbálom működ e esa panelen, tavaly végül string kezeléssel oldottam meg a filekezelést, ugyanígy vb scriptekkel, ott sikerült egy általam meghatározott fomátumban írt txt file-ba irogatni, beszúrni, törölni, kiegészíteni stb.
Érdekes, hogy ha ESA runtime-t használok egy olyan PC-n ahol van excel, akkor xls-t is tudtam írni, de a panelon nem.

ü
J

(#4582) Dezsi82 válasza joci9 (#4581) üzenetére


Dezsi82
tag

Üdv
Érdekes, hogy ha ESA runtime-t használok egy olyan PC-n ahol van excel, akkor xls-t is tudtam írni, de a panelon nem.
Ennek az az oka, hogy a VB Script az office telepített objektumait használja (talán OLE). Ez az offica-szal települ fel. Nincs office, nincsen OLE. Ha jól emlékszem, akkor talán megoldható, hogy ha az adott op rendszerbe bemásolod a megfelelő DLL-eket, akkor is tud menni az Excel-be írás. De hogy miket kell másolni, arról fogalmam sincs.

(#4583) dave0825 válasza Dezsi82 (#4579) üzenetére


dave0825
őstag

Tegnap este olvastam el a válaszokat, de nem sokkal, miután kiírtam ide, megtaláltam a megoldást :)
Azért köszönöm a segítséget Neked is, és Szirty-nek is (még ha nem is tűntem pontosnak, és egyértelműnek :D )
Ez lett a megoldás, és működik, úgy, ahogy szerettem volna.
Egyébként egyetemről vagyok szakmai gyakorlaton egy cégnél, és ott kérdezték, hogy tudom-e, hogy hogy kell ezt megcsinálni, és majd valamikor jöjjek rá a megoldásra, míg ott vagyok (6 hétig) :)

[ Szerkesztve ]

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#4584) skul0


skul0
aktív tag

Üdv!
Adott egy siemens s7-1200-as PLC, hozzá egy szintén siemens érintőképernyő, ami egy fischertechnikes válogatót vezérel.
Hogyan tudnám azt megoldani, hogy valós idejű, mozgó visszajelző animációt hozzak létre az érintőn? Teszem azt megy a futószalag, rajta a munkadarab, és az érintőn ugyan ezt lássam, folyamatos mozgással. Eddig számlálókkal próbáltam, ha indult a szalag, indult a számláló, ami egy tag-be íródott. A tag-ek kiolvasását is a minimumra vettem, ám mindig nagyon lemaradt a szimuláció.

A másik kérdés, hogy hogyan lehet ugyan ezen az érintőn egy képernyőkímélőt létrehozni. Ha "x" ideig nem érnek hozzá az érintőhöz, váltson át egy adott képernyőre, majd érintés után vissza?

(#4585) joci9 válasza Dezsi82 (#4582) üzenetére


joci9
tag

Szia!

Igen, köszönöm.
A csv fájl írással is így van, ma kipróbáltam panelon (IT112, amin valami zárt CE fut, lehet kérni excellel is), ott nem működ, PC-n meg igen.
Mostani projektjeimben elég a szöveges fájl kezelés, az meg string kezeléssel tök jól megoldható. Csak rá kellett jönni.

ü

(#4586) Szirty válasza joci9 (#4585) üzenetére


Szirty
őstag

Üdv joci9!

Tehát a CSV írása nem működik, a szövegfile írása meg igen?

De hiszen a CSV file szövegfile! :-)

(#4587) Szirty válasza dave0825 (#4583) üzenetére


Szirty
őstag

Szevasz dave0825!

Azt írtad "legegyszerűbben":

Itt egy egyszerűbb:

[/P
]

(#4588) dave0825 válasza Szirty (#4587) üzenetére


dave0825
őstag

Annyira nem vagyok otthon a témában, ezeket a jeleket föl sem ismerem :D De köszönöm a segítséget, jó lesz az, amit mutattam, már megmutattam a "főnökömnek", azt mondta tökéletes, és büszke is rám, hogy foglalkoztam a dologgal :D Amúgy a szakszavakkal sem vagyok (ezek szerint) annyira tisztában, én egy egyszerű nyomógombra gondoltam, ami csak akkor zár, ha nyomod, záró- ill. nyitóérintkezőkre, és relékre. De köszönöm a segítséget tényleg, de már megoldódott :)

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#4589) Szirty válasza skul0 (#4584) üzenetére


Szirty
őstag

Helló skul0!

"Hogyan tudnám azt megoldani, hogy valós idejű, mozgó visszajelző animációt hozzak létre az érintőn?"

használd az objektumok Animation tulajdonságainál található Diagonal, Horizontal, Vertical vagy Direct movement lehetőséget!.

A mozgás teljesen folyamatos akkor sem lesz. Ezekkel az objektum X, vagy Y, vagy X+Y, vagy X és Y pixelkoordinátáit módosíthatod.
De ha a szállítószalagon nincs encoder, vagy valamiféle útmérés, akkor ez neked nem nagyon lesz soha "valós idejű" helyzet megjelenítés. persze manipulálhatsz időzítésekkel, órajelekkel, de az egész inkább csak látványos hókusz-pókusz lesz.
Én is csináltam már ilyet, de rendszerint nincs értelme az ilyenbe túlságosan sok energiát fektetni.

"hogyan lehet ugyan ezen az érintőn egy képernyőkímélőt létrehozni."

A gyártó már létrehozta. csak ki kell lépni a panelen a runtime-ból és megnyomni a "Screen saver" ikont, majd beállítani a késleltetését.
Ha mindenképp te akarsz egy képernyőre váltani adott idő után, akkor azt a PLC-ből megteheted pl. úgy,hogy egy "Cyclic continuous" adatgyújtési módra állított PLC TAG "Change value" eventjéhez beraksz egy "Activatescreen" funkciót. ha a tag megváltozik, átvált oda.

A panelből is megoldhatod ha olyan a panel amelyiknek van scheduler funkciója. Az ugyanis van amelyiknek van, van amelyiknek nincs, de ugye nem tartottad fontosnak megemlíteni milyen panel, csak azt hogy Siemens (amiből van vagy 80 féle).

(#4590) Szirty válasza dave0825 (#4588) üzenetére


Szirty
őstag

Helló dave0825!

"ezeket a jeleket föl sem ismerem "

Most komolyan nem értelek!
Ugyanazokat a rajzjeleket használtam, amik a te rajzodban is vannak!
Kettő darab relé van a rajzon, egy darab közönséges egy záró érintkezős nyomógomb, még a tervjele is ugyanaz mint a te rajzodban (S1) és teljesen ugyanúgy néz ki attól eltekintve, hogy 90 fokkal el van fordítva!
A relé érintkezői váltó (morze) érintkezők. Ez eltérés, de ugyanúgy nyitó és záró érintkezők, mint a te rajzodban. A relé tekercse pont ugyan úgy egy téglalap, mint a te rajzodban!
Még érintkező tükör is van (a tekercsek alatt) mint a te rajzodban!!

Melyik rajzjelet nem ismered fel?
Az zavar, hogy a rajzban a kivezetés számok (piros számok) is fel vannak tüntetve? Nem értelek!

"jó lesz az, amit mutattam,"

Azt írtad a "legegyszerűbbet" Ez a rajz kb. fele olyan bonyolult mint amit te mutattál. Akkor mégsem az egyszerű kell?

"én egy egyszerű nyomógombra gondoltam, ami csak akkor zár, ha nyomod"

Én pedig nem vagyok gondolat olvasó és nem tudhatom hogy te mire gondolsz. Csak azt látom amit le is írsz. Leírsz valamit ami számodra teljesen egyértelmű, hogy miről van szó, másnak meg a leírtakra teljesen más a legalább annyira (vagy még inkább) egyértelmű. Mivel feltehetőleg teljesen más környezetben van és teljesen más problémákkal foglalkozik.

Egy nyomógombnak több érintkezője is lehet és mint mondtam van olyan "arretáló" mechanikájú is, amit egyszer megnyomsz zár, újra megnyomod nyit és így tovább (mint a golyóstoll, ki-be kapcsolható). Azzal még egyszerűbb lenne ez a kapcsolás ám!

[ Szerkesztve ]

(#4591) byte-by válasza skul0 (#4584) üzenetére


byte-by
tag

halo !

valóban nem adtad meg a hmi típusát, de az 1200-as miatt gondolom valamilyen basic panel.

a gond az, hogy a sorozat elég egyszerű és korlátolt, bár amire kitalálták arra jó.
a Szirty által említett vizualizáció van, de ezek a hmi-k nem realtime animációk megjelenítésére készültek.

byte

[ Szerkesztve ]

(#4592) skul0 válasza Szirty (#4589) üzenetére


skul0
aktív tag

Üdv Szirty!

"A mozgás teljesen folyamatos akkor sem lesz."

Rossz megfogalmazás volt a valós idejű, elég lenne az a bizonyos látványos hókuszpók is, de mint írtam próbálkoztam időzítőkkel, értékelhető eredményre azonban nem jutottam.

A panel típusában nem voltam biztos, de most megnézve egy KTP600 PN-ről van szó. A PLC-ből való váltást próbáltam én is: a képernyőn lévő, képernyőváltó gombok indítottak volna újra egy számlálót, aminek letelésével váltott volna az adott képernyőre a HMI az általad említett módon, de a HMI tag-ek csak set-eltek, resetelni nem voltak hajlandóak úgy, hogy a gombokhoz már volt rendelve egy-egy képernyőváltás Event. Utóbbit törölve működött a dolog, de ez így csak fél megoldás volt.
Ennek a scheduler funkciónak viszont még utána nézek, nem hallottam róla.

Köszönöm a választ.

(#4593) dave0825 válasza Szirty (#4590) üzenetére


dave0825
őstag

Több olyat is látok (én legalábbis úgy látom), hogy alapból össze van kötve, és át tud billenni a másik vezetékre, amit nem értek (pl. a jobb oldalon a legszélső föl van kötve fölülre, és gondolom át tud billenni alulra). Van a bal oldalon is egy, aminek pl. nem látom hogy végződne valahol az egyik lába. Vitatkozni nem szeretnék, elnézést, ha nem fogalmaztam érthetően.
Tudom, hogy létezik olyan kapcsoló "mint a golyóstoll", de tőlem azt kérték, hogy nyomógombbal állítsam össze. A legegyszerűbb-et pedig azért írtam, mert gondolom, hogy meg lehetne oldani még 10 relével, meg 15 érintkezővel, de azt nem látnám át (még ezt se, amit mutattál, nemhogy bonyolultabbat).
További szép estét! :)

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#4594) Szirty válasza skul0 (#4592) üzenetére


Szirty
őstag

Hi skul0!

"Ennek a scheduler funkciónak viszont még utána nézek, nem hallottam róla."

A KTP600 nem tud olyat. Felejtsd el!

"A PLC-ből való váltást próbáltam én is: a képernyőn lévő, képernyőváltó gombok indítottak volna újra egy számlálót, aminek letelésével váltott volna az adott képernyőre a HMI az általad említett módon, de a HMI tag-ek csak set-eltek, resetelni nem voltak hajlandóak úgy"

Kezdjük elölről!

1. A panel (a KTP600 is) alapól tud képernyőt kímélni! Képernyő kímélőt akartál, ott van benne. Nem jó?

2. A képernyőváltást integer tag event-jéhez rendelt "Activatescreen" funkcióval oldod meg? Nincs set reset, nem setelődik resetelődik semmi, nincs gomb se. A PLC-ben ítrod a TAG értékét és jön a screen saver.

De PLC JOB-okkal is válthatsz képernyőt, vagy TAG exceed limit eseményre is.
Továbbá van olyan funkció is, hogy "ActivateScreenByNumber" aminek egy változót is megadhatsz. Ezzel arra a számú képre vált, amelyiket a változó tartalmával kijelölöd (minden alkalommal lehet másik képernyő a kímélő :-)

Azt, hogy mikor kell bekapcsolnod a képernyő kímélő képet (azaz mennyi ideje nem nyomtak gombot) kissé nehezebb ügy, de a képernyőváltásokat (amit a panel gombjaival a menüben navigálva pl. elkövetnek) figyelheted a "Screen bumber" nevű areapointer használatával. A panel ebbe írja bele mindig melyik képernyőt mutatja éppen, és figyelheted PLC-ből.

[ Szerkesztve ]

(#4595) Szirty válasza dave0825 (#4593) üzenetére


Szirty
őstag

Hi!

Az a morze érintkező. vagy más néven váltó érintkező. Olyan mint egy különálló nyitó és záró, aminek az egyik pontja közös!

Eleve relével kérted a megoldást. Megjegyzem, hogy a relék 80-90%-ának morze érintkezője van és nem különálló nyitó és záró.

(#4596) dave0825 válasza Szirty (#4595) üzenetére


dave0825
őstag

Értem, köszönöm.

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#4597) Dezsi82 válasza Szirty (#4590) üzenetére


Dezsi82
tag

Üdv!
Nekem lenne pár kérdésem a rajzhoz.
- hova kellene kötni a lámpát? Ha jól sejtem az R2 be nem rajzolt kontaktjára
- ez hogyan működik pontosan? Számomra úgy tűnik, hogy amikor megnyomom a gombot, akkor R2 meghúz, ilyenkor R1 mindkét pontja 24Vra kerül. Ha elengedem a gombot, és nem ejt ki az R2 akkor a két relé egymással sorba van kötve. Ilyenkor meg kellene húznia R1-nek, és tartásban maradnia? Aztán amikor meghúz R1, akkor az R2 két pontja kerül ugyanarra a potenciálra, és kiesik? Szóval nekem nem világos, hogy hogyan kellene működnie, szívesen vennék egy kis leírást
Köszi

(#4598) Szirty válasza Dezsi82 (#4597) üzenetére


Szirty
őstag

Üdv Dezsi82!

"- hova kellene kötni a lámpát? Ha jól sejtem az R2 be nem rajzolt kontaktjára"

Igen, jól sejted. Illetve be lehet kötni az S1 nyomógomb 13-as és R1 relé 11-es pontját összekötő vezetékre is, így hogy a lámpa egyi kivezetése ide, a másik a 0V-ra kapcsolódik.
Így a lámpát az R2 relé 11-12-es kontaktusa fogja kapcsolni.

"Ha elengedem a gombot, és nem ejt ki az R2 akkor a két relé egymással sorba van kötve. Ilyenkor meg kellene húznia R1-nek, és tartásban maradnia?"

Így van, pontosan ez történik! :-)

"Aztán amikor meghúz R1, akkor az R2 két pontja kerül ugyanarra a potenciálra, és kiesik?"

Igen kiesik, de nem azért mert ugyanarra a potenciálra kerül, hanem mert nem kap feszültséget.
Az egész kapcsolás amiatt a trükk miatt tud ilyen egyszerű lenni, hogy kihasználja azt a tényt, hogy a relék fél feszültséggel is bekapcsolnak, és úgy maradnak.
Ez egyúttal a működés feltétele is, tehát olyan relé kell aminek a behúzó feszültsége alacsonyabb a névleges fesz. felénél és a két relének egyformának kell lennie.

A kapcsolásnak négy állopota van:

(#4599) joci9 válasza Szirty (#4586) üzenetére


joci9
tag

Szia Szirty!

A panelban lévő CE úgy veszem észre csak a saját függvényeivel kezeli a fájlokat.
Itt a file egy string, amit már tudok variáltatni a VBS stringkezelő izéivel.
file = feloadas & felotte & fakt & Chr(13) & Chr(10) & futana ' fájl visszaírása
ESAHMI.ESAFILE.DELETE dest1
ESAHMI.ESAFILE.Unicode=True
ESAHMI.ESAFILE.OPEN dest1, "a"
ESAHMI.ESAFILE.WRITEBYTE dest1, 255
ESAHMI.ESAFILE.WRITEBYTE dest1, 254
ESAHMI.ESAFILE.WRITESTR dest1, file
ESAHMI.ESAFILE.CLOSE dest1

Minden file szövegfile! :-)

ü

(#4600) Dezsi82 válasza Szirty (#4598) üzenetére


Dezsi82
tag

Üdv
Köszi a leírást!
Tetszik az áramkör, ötletes megoldás.
Igazad van, tényleg benéztem, nem kap feszültséget R2.

Útvonal

Fórumok  »  Egyéb hardverek  »  PLC programozás
Copyright © 2000-2024 PROHARDVER Informatikai Kft.