Fórum témák
» Több friss téma |
Fórum » PLC kérdések
Témaindító: Thomas10100, idő: Nov 12, 2005
Üdv ha3pk!
Szerintem az lesz a gond, hogy a PLC RUN módban nem engedi a külső beavatkozásokat. A megoldás szerintem az, hogy nem RUN, hanem MONITOR módban járatod. A program abban a módban is fut, de engedi hogy változókat írni is lehessen, ne csak olvasni. Ha CX-Programmert használsz és online-ban vagy, akkor a PLC/Operating mode menüből átválthatod az üzemmódot. Ha azt akarod, hogy mindig MONITOR móddal induljon (nyilván ezt akarod) akkor a project PLC Settings Srtartup fül, Mode szekció. Persze utána fel is kell rá tölteni a beállításokat!
Üdv Szirty!
Te vagy a király! Már egy hete kínlódok , erre nem gondoltam. Nagyon szépen köszönöm a segítséged.
Üdv Mindenkinek!
Segítséget szeretnék kérni tőletek. Mitsubishi Q PLC-hez keresek be illetve kimeneti egységet. Lényegében bármely típus szóba jöhet (16, 32, 64 tranzisztoros). Valamint keresek ugyan ezen PLC 64 portos moduljához 40 pin-es csatlakozót. Hasonlít a 40 es ide csatlakozóhoz annyi különbséggel, hogy a csatlakozó szélei az egyik oldalon kerekítve le van törve. A csatlakozó tűk laposabbak és hosszúkásak (felülről nézve). Ha jól gondolom az Omron 64es modulján is hasonló csati van. Szóval akinek van eladó vagy tud forrást illetve vannak elfekvő darabjai otthon akkor arra vevő volnék. Várom a lehetőséget Üdv!
Sziasztok! Szeretném megkérdezni, hogy OMRON PLC háttértelepét ki lehet-e cserélni adatvesztés nélkül? ( ERR/ALM LED villog. ) Vagy mindenképp ajánlott PC-be lementeni a tárolt programot? Ha valaki leírná a háttértelep korrekt cseréjét, azt külön is megköszönném.
( Valószínűleg nem lesz addig hozzányúlva a PLC-hez amíg a tartalma le nem lesz mentve. ) ( S az _elemet_ is be kell még szerezni. ) Köszönöm a segítőkész válaszokat.
Helló _JANI_!
Mindenképp nem kell lementeni, de természetesen nincs az a mentés, ami kárt okozna (jó ha van). Ha olyan típusú a PLC, amin két elem csatlakozó van, akkor az új elemet először bedugod az üres csatlakozóba, majd ezután húzod ki a régit. Vagy: A cserét úgy végzed, hogy közben a PLC tápfeszültséget kap és gondoskodsz arról, hogy mialatt nincs elem csatlakoztatva, ne legyen feszültség kimaradás.
Ok. Kicsit átnéztem közben pár dokumentációt. ( Sajnos a háttértelep cserét nem részletezik. ) Elvileg 5 perc van az elemcserére. ( Valószínűleg kikapcsolt állapotban. ) Ennyi idő tényleg bőven elég ha minden rendben van...
Az " ERR/ALM " hibajelzés a háttértelep cseréjével meg fog szűnni? Nem okoz maradandó programhibát a rendszerben (programban) az alacsony háttértelep tápfeszültsége? ( Mezei villanyszerelőként nincs túl sok tapasztalatom a PLC-k lelki világában. De érdekel a téma. Foglalkozási ártalom. ) Nem vagyok a "Plug and Play" módszer híve, de ha ez a legeredményesebb vagy a leggyorsabb módszer, akkor persze alkalmazni fogom, kellő körültekintéssel. Köszönöm a segítséget.
Üdv _JANI_!
Igen, egy pufferkondi is védi a RAM tartalmat. Idézet: „Az " ERR/ALM " hibajelzés a háttértelep cseréjével meg fog szűnni? Nem okoz maradandó programhibát a rendszerben (programban) az alacsony háttértelep tápfeszültsége?” Ha jól emlékszem, egy CLR error (hibatörlés) funkciót végre kell hajtani, de nem biztos. rég volt. Ha van programozó konzol hozzá (nem írtad milyen, csak azt, hogy Omron) akkor CLR->MONTR->MIONTR vagy valami ilyesmi Illetve PC, cx programmer. Az elem lemerülését jóval azelőtt jelzi, hogy az alacsony fesz. problémát okozna. A programra a low batt jelzés vagy nincs semmilyen hatással (ha az elemcsere még időben megtörténik vagy közben nem kapcsolják ki a tápfeszültséget). Vagy végérvényesen megsemmisül. A PLC rendszere nem engedi hogy részlegesen elveszett, vagy sérült program megpróbáljon futni. Ezt egyszerűen a memóriatartalomra számított ellenőrző összegekkel tudja érzékelni. Ha a program megsérül, a programfuttatást azonnal leállítja és hibát jelez. Tehát csak attól kell félni nehogy elvesszen a program. Attól nem hogy hibásan fog működni emiatt.
Sziasztok! Ha ***
* Törölve ! Van aprónk ott lehet hirdetni, itt a felületen nem !
Hali!
S7-ben van olyan lehetőség, hogy project megnyitásakor nem ellenőrzi a windows nyelvbeállításokat? Német nyelvű Windowson írt projectet nem nyitja meg magyar nyelvű gépen, csak ha átállítom németre. Üdv,
Még egy kérdés: Ha FC1-ben az interface-nél a Temp-nél létrehozok egy Integer típusú változót, ha írok bele valami értéket, akkor az a következő ciklusnál is benne lesz? Van egy progim, ami PLCSim-ben hibátlanul működik, de 313-as PLC-ben rosszul.
Helló Panhard!
Idézet: „S7-ben van olyan lehetőség, hogy project megnyitásakor nem ellenőrzi a windows nyelvbeállításokat?” Nincs. Viszont van olyan a project propertiesben, hogy Can be opened under any Windows language settings (language neutral) amit annak kellene bekapcsolni, aki a projectet írta... De mivel ezt ő nem tette meg, neked már csak ez a megoldás marad: "Idegen nyelvű" Step7 projectek megnyitása
Hali Panhard!
A lokális "TEMP" változók csak a cikluson belül tartják meg az értéküket. A következő ciklusban már akármi lehet bennük. Azért tapasztaltál ellentmondásos működést, mert az, hogy egy TEMP változóban mit találsz a ciklus elején attól függ, hogy más blokkok amik lefutnak még, használnak-e TEMP változókat. Ugyanis minden blokk ugyanazt a memóriaterületet használja ezek tárolására. Ha mondjuk csak egy FC1-ed van és abban írsz valamit egy TEMP változóba, az érték benne marad. ha csinálsz egy FC2-t és abban is létrehozol egy tetszőleges nevű és típusú változót, majd abba is írsz valamit, azzal megsemmisül az FC1-ben lévő TEMP értéke. Alapszabály tehát: TEMP tartalma csak a blokkon és egy PLC cikluson belül használható fel. A következő ciklusban újabb értékadás előtt tartalma határozatlan lesz (memória szemét, amit más blokkok hagynak maguk után). Erről találsz némi infót itt és itt (1.3.2-es fejezet)
A céges gépem a német nyelvű, akkor majd bekapcsolom ezt a lehetőséget azoknál a projecteknél, amit itthon is meg akarok nyitni. Üdv,
Egyébként gondoltam, hogy így van, kicseréltem minden TEMP változót DB-re, így működik. Köszi a segítséget! Olvasgatom a weblapodat, nagyon hasznos. Üdv,
Helló Panhard!
Ha az adatra más blokknak nincs szüksége, csak olyan belső változó kell, ami nem felejt, akkor használj FB-t! Ahhoz tartozik egy DB (instance DB) ami a blokk belső változóit tárolja (STAT).
Igen, már meg is csináltam FB-vel, és InstanceDB-vel, miután elolvastam a weblapodat Ez így elegánsabb megoldás.
TWIDO plc-hez kellene programozó kábel rajz mert semerre nem találtam. Jó lenne ha valaki tudna segíteni ebben.
Szia! Nem nagyon értek hozzá, de lehet ezt keresed:
Bővebben: Link
Köszi! Valami hasonlónak kellene lennie, de ez még nem az igazi.
Sziasztok
A segítségeteket szeretném kérni, meghibásodott egy OP3 kijelzőm és szeretném kimenteni belőle a HMI programot, hogy az újj OP3-ba majd beletölthessem. Ezt valahogyan megoldható esetleg PROSAVEL? Üdv
Hali mazso1988!
Sajnos a siemens válasza tömör és egyértelmű: Note: OP3 and C7-621 will not allow a Backup or Restore. Vagyis nem lehetséges OP3-ról mentést készíteni és azt visszaállítani. Az egyetlen remény az, ha megvan az eredeti project és azt rátöltöd az új panelre.
Sziasztok.
Újabb problémába ütköztem a lokális változókkal kapcsolatban. Van egy FB1 aminek van egy bájtnyi IN bemenete. Ezekbe bitenként írom be az értéket ott, ahol a program hívja. (OB1) Az FB1-ben ezt a nyolc bitet bájtosan szeretném olvasni, az L LB0 utasítással, de mindig 0-át olvas be AKKU1-be. Nem tudom mi a hiba. Nem jó az utasítás? Mellékletben a képek. Üdv,
Hali Panhard!
Akkor olvass DIB0-t és jó lesz Az FB az IN, OUT, INOUT és STAT változóit az instance DB-ben tárolja, te meg a local területet olvasod. DIB0 az instance DB 0. byte-ját címzi. Tehát:
helyett:
Persze a címekre figyelni kell, de a küldött képen látszik hogy 0 a cím. Nézz bele az instance DB-be (nyisd meg) és ott is látni fogod
Így működik. Akkor a LB0 vagy LW0 utasítás nem használható itt? Vagy csak DB-ből lehet kiolvasni a lokális változók értékeit?
Ja értem, lehet így olvasni lokális változót, de nem ott tárolja az értéket, mert van neki egy instanceDB-je.
Hali Panhard!
Idézet: „Akkor a LB0 vagy LW0 utasítás nem használható itt? Vagy csak DB-ből lehet kiolvasni a lokális változók értékeit?” De használható. Az "L" adatterület azonosítóval a TEMP változókat tudod címezni. Ha IN, OUT, INOUT, vagy STAT változót akarsz címezni, akkor azt az instance DB-ből kell kinyerni. Tehát: LB helyett DIB LW helyett DIW LD helyett DID L x.y helyett DIX x.y Ha TEMP változót használsz, azt továbbra is megteheted, de az felejt. Azt továbbra is az L területen éred el, mint sima FC esetén.
Most már értem. Köszönöm a segítséget!
|
Bejelentkezés
Hirdetés |