- Kábeleket és csövezést rejtő "kirakatház" a GameMax logójával
- Felvarrták az Arctic rackmount rendszerekhez szánt CPU-hűtőjének ráncait
- Háromféle kivitelben, és nem kis kapacitásokkal jönnek a Micron 6550 ION SSD-i
- Már a Samsung sem szolgálja ki modern AI lapkákka Kínát
- Havazáshoz igazított kiadás kap a Steam Deck OLED
- 13 az 1-ben Thunderbolt 4 dokkolóval bővült a Kenginston kínálata
- Kormányok / autós szimulátorok topikja
- Samsung LCD és LED TV-k
- Autóhifi
- SSD kibeszélő
- Milyen notebookot vegyek?
- Már a Samsung sem szolgálja ki modern AI lapkákka Kínát
- OLED TV topic
- Milyen monitort vegyek?
- Épített vízhűtés (nem kompakt) topic
Új hozzászólás Aktív témák
-
oli83
tag
Máris csatolom.
A statos változóknál először a Roh, és Normal változókat "Array [1..15] of Char" formátumban adtam meg.
A folyamat lefutásában ez nem változtatott semmit. Épp úgy hibára futunk.
Korábban láttam olyat, hogyha a változókat csupa nagybetűvel azonosítjuk "ARRAY [1..15] OF CHAR" akkor arra nem tudunk már szimbolikusan hivatkozni.üdv.: oli83
-
oli83
tag
Oh, erre nem gondoltam volna.
Köszönöm a segítséget.
Szóval el kellene menteni, majd vissza kellene adni neki az AR2-t.
Próbáltam csinálni egy megoldást, de ez sajnos nem jött be. Szóval még küzdeni kell vele egy kicsit.
Ezt a leírást, amit becsatoltál meg lehet valahol találni németül? Angolba vannak sajnos hiányosságaim.üdv.: oli83
[ Szerkesztve ]
-
oli83
tag
Ha valakinek kell:
angolul:
http://www.automation.siemens.com/doconweb/pdf/SINUMERIK_SINAMICS_02_2012_E/S7P.pdf?p=1
németül:
http://www.automation.siemens.com/doconweb/pdf/SINUMERIK_SINAMICS_02_2012_d/S7P.pdf?p=1
úgy érzem, ezt még át kell rágnom...
A 15.8-as fejezet lapjának alján, mintha azt írná, hogy használjunk szimbolikus, illetve direkt címzést (nem dbx0.1-et, hanem pl. db10.dbx0.1-et).
A "Hiba" változom az szimbolikus megnevezésnek kellene lennie nem? -
Szirty
őstag
Üdv oli83!
Igen erre a doksira hivatkoztam az előző üzenetben. Benne van a helpben is és a Step7 is feltelepíti ezeket:
Eredetileg ide teszi: Start menü / Simatic / Documentation / English / STEP 7 - Programming with STEP 7"A 15.8-as fejezet lapjának alján, mintha azt írná, hogy használjunk szimbolikus, illetve direkt címzést (nem dbx0.1-et, hanem pl. db10.dbx0.1-et)."
Igen ez az a rész amit említettem.
Arról szól, hogy sérülés vagy anyagi kár veszélye forog fenn, amikor:
1. FC FB blokkot hívásakor (illetve "többszörös példányt" tartalmazó blokkban)
2. DB blokk tartalmához a teljes abszolút címmel férsz hozzá
3. Komplex típusú változóhoz férsz hozzá (DATE_AND_TIME, STRING, ARRAY, STRUCT és UDT)
Ezekben az esetekben módosulhat a DB regiszterek tartalma (DI, DB), a címregiszterek tartalma (AR1, AR2) és az akkumulátorok tartalma (ACCU1, ACCU2).
Továbbá leírja, hogy ilyen esetben amennyiben ezeket a regisztereket használod, el kell menteni, majd tartalmukat vissza kell állítani."A "Hiba" változom az szimbolikus megnevezésnek kellene lennie nem?"
Ezt a kérdést nem értem.
-
Shirchy
tag
Sziasztok!
Szeretnék segítséget kérni. S7 315-2 DP-s CPU-s tartálytöltő rendszert kellene csinálnom,majd HMI-s felületet készíteni hozzá. A problémám az,hogy frekvenciaváltós szivattyú vezérlés,illetve analóg szintmérés kellene,és jelenleg fogalmam sincs,hogy kell lekezelni az analóg ki és bemeneti jeleket.
Vízszint méréshez nyomásmérőre gondoltam 4-20mA-es bemeneti jelet adna. Illetve ugye valahogy vezérelni kellene a frekvencia váltót is.
Szóval ez ügyben tudna valaki segíteni?
"jobb adni,mint kapni" mondta a boxoló... :P
-
Szirty
őstag
válasz Shirchy #4363 üzenetére
Üdv Shirchy!
Ezeket ajánlom átnézésre, hátha találsz bennük számodra használható információt:
Tartály töltés
Analóg jelek kezelése
Analóg jelek kezelése S7-300/400 PLC-vel"Illetve ugye valahogy vezérelni kellene a frekvencia váltót is."
Akkor vezéreld valahogy!
Erre milyen választ lehetne adni? Mire kell vezérelni? Hogyan? Mi az igény?
Mi a célja a frekvenciaváltónak itt (mi az ok amiért van a rendszerben egy frekvenciaváltó)? -
Shirchy
tag
Köszönöm a linkeket,ma este neki is ugrok..
Legalább egy szivattyút kell vezérelni,de ha az elsőt sikerül megoldani akkor kettő lenne aminél,ha egy keveset szállít akkor kapcsoljon be a második. Ne csak ki/be kapcsolgasson,hanem a finomabb szabályozás miatt kell a frekenciaváltó. (Nagyobb vízelvétel esetén többet szállítson,kisebb elvétel esetén kevesebbet)
A konkrét példa egy 200 köbméteres tartály feltöltése,majd ennek a tartálynak a szint szabályozása. Üzem közben 180 köbmétert kellene tartani,két kikötés van még:
- nem lehet 50 köbméternél kevesebb víz a tartályban
- túltöltés ellen védeni kell[ Szerkesztve ]
"jobb adni,mint kapni" mondta a boxoló... :P
-
Szirty
őstag
válasz Shirchy #4365 üzenetére
Üdv Shirchy!
Én úgy csinálnám, hogy meghatároznék egy szintet ami alatt a szivattyú 100%-al megy és egy ennél magasabb (teljesen tele) szintet amit ha elér a tartály, akkor a szivattyú leáll.
A szivattyú sebességét e két szint által meghatározott tartománnyal adnám meg.
Meg tennék egy úszókapcsolót a túltöltés figyelésére. -
soldi3r
veterán
Jo estet! Minden S7-1200 programozasa megoldhato CAT5-os kabellel?
E30 (oo=[][]=oo)
-
Szirty
őstag
válasz soldi3r #4368 üzenetére
Üdv soldi3r!
Igen, de én inkább azt mondanám,hogy minden S7-1200 programozása megoldható UTP/STP ethernet kábellel. Mivel mindegyiken van ilyen csatlakozás. (sőt mással tulajdonképpen nem is, hacsak úgy nem hogy van profibusz is rajta).
Más szóval: A kábel minőségére nem hinném hogy érzékeny lenne, ha programozás ideje alatt csak egy néhány méteres kábelt használunk. Az lehet CAT3, CAT4, CAT5, CAT5e, CAT6, mindegy neki, mivel 10/100 Mbps ethernet interfész van benne.
Persze ha beépített kábelezésen keresztül akarod programozni (a PLC fixen csatlakozik lokális hálóra) akkor a kábelezés minőségének meg kell felelnie a körülményeknek és a használt adatsebességnek. De a CAT5 jó eséllyel annak is megfelel.
-
sörösló
aktív tag
válasz Shirchy #4365 üzenetére
Ha ez elméleti, iskolai feladat, akkor feltétlenül a Szirty által javasolt megoldás a nyerő. Én a túltöltés figyeléséhez ebben az esetben "bevillantanék" egy ultrahangos szintmérővel is.
Ha valós, gyakorlatban használt a feladat, akkor viszont szerintem felesleges a frekiváltóval görcsölni. 200 m3-es tartály töltéséhez elég combos szivornya kell, ehhez a frekiváltó sem 2 forint. Elkezded a töltést egy szivattyúval, aztán ha adott idő alatt nem nő a kívánt mértékkel a szint, ráindítod a másikat is. 20-30 m3 víz töltése nem egy olyan rövid idő hogy a szivattyúkat túl gyakran kellene kapcsolgatni. Ez csak az én véleményem, de ha 50 m3-ig csökkenhet a szint, akkor nem lehet túlságosan igényes a fogyasztás folyamata sem.
[ Szerkesztve ]
-
Szirty
őstag
válasz sörösló #4370 üzenetére
Üdv!
Egyébként valóban! Ha gyakorlatiasak akarunk lenni, akkor bőven elég a következő:
1 db felső szint kapcsoló, 1 db alsó szint kapcsoló, egy darab mágneskapcsoló.
Ha a szint az alsó alatt van a szivattyút bekapcsoljuk ha a felső szint fölött van, a szivattyút kikapcsoljuk.
Egy darab mágneskapcsolót igényel a dolog (öntartás) és kész is.
Se PLC, se analóg mérés se frekvenciaváltó ehhez nem szükséges![ Szerkesztve ]
-
Szirty
őstag
válasz Shirchy #4373 üzenetére
Üdv Shirchy!
A már ajánlott tartály töltés nem adna ötletet?
Szíveskedj megtekinteni! -
Szirty
őstag
válasz Shirchy #4373 üzenetére
Esetleg ezt is nézd meg a hibakezelés résznél!
-
rsf
senior tag
Sziasztok
Az létezik Siemensnél, hogy FB blokkokban nem lehet ugyanolyan néven lokális változókat használni mint egy másik FB blokkban?
Van két blokkom ami mást csinál, mindkettő működik egyenként, de ha mindkettőt meghívom egyszerre akkor az egyik meghülyíti a másikat. STL-ben vannak írva.
Olyan érték kerül az egyikbe amit a másikban számolok any pointernek.
Mi okozhatja ezt? Mire figyeljek hogy ne szívassam magam fölöslegesen?
Köszi.“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“
-
moseras
tag
Szia!
Annyira nem értek a Siemens-hez, de az nem lehet, hogy túlcímzed a pointert, és olyan helyre mutat, ami már nem a saját lokális változói, hanem mondjuk a mögötte lévő terület (ami mondjuk épp a másik blokk lokális változói) ?
Ha a 2 név különbözik, akkor jól működik ?
Imi.
-
rsf
senior tag
-
KLR
csendes tag
Sziasztok!
Omronban kérnék egy kis segítséget. Adott az alábbi konfiguráció:
1. CP1L-M30DR
2. CP1W-AD041
3. CP1W-DA041Az a fő gondom, hogy az analóg kimeneti modulon nem jön ki semmi. Átnyálaztam már egy párszor az utasítást, de nem jövök rá a hibára, biztos elnézek valamit. Kicsit furcsa, hogy Omronnál nincs HW konfig, hanem az ember maga számítgatja a címeket. Lehet, hogy ezt számítottam el?
Az én számításom szerint:
00.00-00.11 CPU bemenet CIO 0
1.00-1.05 CPU bemenet CIO 1
100.00-100.07 CPU kimenet CIO 100
101.00-101.03 CPU kimenet CIO 101
CIO 102 Analóg be 1-2 konfiguráció
CIO 103 Analóg be 3-4 konfiguráció
CIO 2 Analóg bemenet 1
CIO 3 Analóg bemenet 2
CIO 4 Analóg bemenet 3
CIO 5 Analóg bemenet 4 (nem használom)
CIO 104 Analóg kimenet 1-2 konfiguráció (csak első ciklusban) + Analóg kimenet 1
CIO 105 Analóg kimenet 3-4 konfiguráció (csak első ciklusban) + Analóg kimenet 2
CIO 106 Analóg kimenet 3 (nem használom)
CIO 107 Analóg kimenet 4 (nem használom)Az analóg bemeneteket olvasom gond nélkül ( 4-20 mA, beállítva #80EE és #800E). Az analóg kimeneteket próbáltam beállítani 4-20mA (#80CC) meg 0-10V-ra is (#8099) de nem tudok kimérni semmit, pedig küldök #1770 a CIO 104/ CIO 105 kimenetre. Az utasítás szerint, ezek aktív kimenetek, nem igényelnek külön tápot. Néztem az utasítást, hátha találok diagnosztikai regisztert a modulon, de semmi...vagy csak olyan fáradt vagyok, hogy nem látok.
-
Szirty
őstag
Helló KLR!
"de nem tudok kimérni semmit, pedig küldök #1770 a CIO 104/ CIO 105 kimenetre. "
A #1770 nem hiszem hogy jó lesz!
Ugyanis a 104 és 105 word-ök 3-as és 7-es bitjének jelentése ha tartalmuk nulla ->Output use: NO!#1770 binárisan 1011101110000 tehát a 3-as és 7-es bit is 0 értékű, ami annyit tesz, hogy mind a négy kimenetet kikapcsoltad!
[ Szerkesztve ]
-
KLR
csendes tag
Tegnap este már valószínű nem voltam magamnál, ezért nem írtam érthetően. A W462-E1-07 Omron utasítást átrágása után írtam a programot (432 - 440 oldal). Ez alapján, az első két kimeneti címen konfigurálom az egész modult, amit az első ciklusban írok be, utána pedig szabadon írhatók a kimenetek 0-6000 (#0 - #1770). Az első ciklusban a 104 kimenetre #80CC (ami 1000 0000 1100 1100) küldök - ami 4 - 20 mA kéne hogy legyen az 1. és 2. kimeneten, a 105 kimenetre pedig #8000 írok mert nem használom őket. Utána programból írtam #1770-et a 104 és 105 kimenetre is, ami 20 mA-nak felelne meg, de nem küld semmit.
Próbálkoztam azzal is, hogy átkonfigurálom a kimeneteket 0-10 V (#8099 = 1000 0000 1001 1001), de nem jelenik meg feszültség Vout és Com között.
Sajnos, semmilyen jelzés nincs, azt se tudom él-e a modul. Ezért gondolom, hogy valamit elcímeztem... -
Szirty
őstag
Üdv KLR!
Így már jónak kellene lennie!
Annyit még, hogy az első ciklusban az n+1 és n+2 címekre küldött konfigurációs #80CC után mindenképpen várj minimum 200ms-ot mielőtt elküldöd ugyanide a konverziós adatokat!Különben előfordulhat, hogy kimegy ugyan a CIO word-be a #80CC, hiszen kiírja a program, de ha már azelőtt írsz oda mást, pl. a következő programsorban (#1770-et) akkor csak azt fogja megkapni a modul és "azt hiszi" hogy az a konfigurációs beállítás!
-
KLR
csendes tag
Kössz a választ, épp erre jutottam én is.
Átnézve a programot, az első Section-ban konfigurálom az analóg modulokat, ott a 200 ms timer is, meg olvasom is az analóg bemeneteket az idő elteltével. De ki emlékszik pár Section-nal később, hogy az analóg kimenet írását is blokkolni kéne ugyanezzel a timer-rel 200 ms-ig .
Kár, hogy a PLC 100 km odébb van, így nem tudom kiprobálni.
Remélem, nem lett a modulnak semmi baja... -
Szirty
őstag
Üdv!
"> FB1 NW11-en a #PLC_Msg_Count_Tmp -be mindig belekerül a 35 (Ha elötte az
> olvasás át van ugorva akkor is)
> FB1 NW13-on a #PLC_Msg_RCount_Tmp -be mindig belekerül a 416(Ha elötte az
> olvasás át van ugorva akkor is)"Az ökölszabályt be kell tartani! Mindig! Nincs kivétel!
1. Avagy a TEMP változók tartalmát nem szabad felhasználni az értékadás előtt a blokk lefutása során!
2. A TEMP változók tartalma minden alkalommal elveszettnek tekintendő, amikor a blokk lefutott!Ok.: Minden blokk ugyanazt a memóriaterületet használja a TEMP változók tárolására (Stack).
Volt már róla szó.Ha egy TEMP változót olvasol értékadás előtt, akkor az azelőtt lefutott blokk memória szemetét találod benne! Ha nem fut másik blokk vagy az nem használja azt az L címet, akkor ugyanaz van benne amit a blokk beleírt, de ez igen csalóka és rettentő nagy szívás oka lehet!
Hiába adtál te valamikor értéket az FB1-ben #PLC_Msg_Count_Tmp-nek, ahogy a blokk lefutott, huss, az értéknek annyi lesz, elvész. Amikor az FB2 megint fut, már szemét van benne!
Az #PLC_Msg_Count_Tmp az FB1-ben történetesen a 4-es lokális címen van:
Az FB2-ben a 4-es címet az S_ANY pointer 4. byte-ja foglalja el, ami a DB száma:
L #PC_DBNum // Source DB
T LW 4#PC_DBNum meg az FB2 inputja, aminek éppen 35-ös értéket adsz híváskor:
Az LW4 tartalma marad az LW4-ben amikor az FB2 lefut, legközelebb fut az FB1, ahol az LW4-re épp a #PLC_Msg_Count_Tmp változó kerül. Ezért amíg az FB1 nem írja (nem ad neki értéket) a 35 ott ül benne!
Soha, de SOHA nem szabad TEMP változó értékét felhasználni azelőtt, hogy értéket adtunk neki amikor a blokk lefut. Az előző futáskori értékadás itt nem számít. Ahogy a blokk kilép, le van futva, TEMP változó el van veszve!
Emiatt arra is nagyon kell figyelni, hogy ha egy TMP változó értékadása feltételtől függ (pl. elágazás van előtte) de az tartalmának a feldolgozása feltételtől független vagy más feltételtől függ, akkor az elágazás(ok) teljesülésétől fog függni a szívás, vagyis az hogy épp szemét van benne vagy hasznos érték!
Erre NAGYON oda kell figyelni![ Szerkesztve ]
-
Shirchy
tag
Sziasztok!
Lehet láma kérdés,de...
S7 300 Analog bemeneti kártyára érkező jelet, szoftveresen hogyan lehet szimulálni? Szeretném ellenőrizni,hogy a skálázás jól megy-e. Mikor VAT-ban akarok írni neki egy értéket,kiírja hibaként,hogy periféria bemenetnek nem lehet értéket adni.
[ Szerkesztve ]
"jobb adni,mint kapni" mondta a boxoló... :P
-
rsf
senior tag
Hali,
Azt, hogy minden blokk ugyanazt a memória területet használja a Temp változókra nem tudtam!
Ezért nem értettem, hogy ha egyedül fut akkor működik ha meg fut a másik akkor nem.
Temp változókat nem nagyon szoktam használni és most teljesen elvitte a gondolataimat, hogy az STL-ben van elrontva vmi. Ugyanis STL-ben totál kezdő vagyok ez az első "művem".
Holnap átgyúrom kissé a progit.
Köszi a segítséget.
Üdv.“Az a baj a világgal, hogy a buták mindenben holtbiztosak, az okosak meg tele vannak kételyekkel.“
-
Szirty
őstag
Helló rsf!
"Temp változókat nem nagyon szoktam használni és most teljesen elvitte a gondolataimat, hogy az STL-ben van elrontva vmi. Ugyanis STL-ben totál kezdő vagyok ez az első "művem"."
Nem gond amíg baj nem lesz belőle, ezért érdemes kipróbálni amit lehet.
Legalább megjegyzed. Mit gonolsz én hogy tanultam meg ennyire a TEMP tulajdonságait, hogy ezt mindenkinek az orra alá tolom? :-) -
Shirchy
tag
Üdv,
Az analog bemenet skálázásához a simemens beépített fc105-t használtam fel és most tesztelésnél számomra érthetetlen értékeket számol ki. Elvileg a bemeneten 0-27648-ig mehet majd a bemenő jel integerként. Próbának beírtam 13824-et ami a fele,így 4-et kellene kapnom real-ban,de totál nullát ad. Ugyan ez a helyzet 27648-as értéknél is ahol meg 8-at kellene adnia.
Nem értem mi a hiba.
[ Szerkesztve ]
"jobb adni,mint kapni" mondta a boxoló... :P
Új hozzászólás Aktív témák
Hirdetés
- Dell Precision 5550 - CORE I7-10850H 2.70 GHZ/32GBb/2TB SSD/
- Gigabyte Core i7 Gamer PC: i7-9700 / RTX 3060 Ti / 1Tb SSD / 16Gb Ram
- 7320 2-in-1 27% 13" FHD+ IPS érintő i7-1180G7 16GB 512GB NVMe ujjlolv IR kam gar
- LG 27QP88D-P Dual Ergo Monitor Szett!2x27"/IPS/2560x1440/HDR/Type-C/Dual Ergo Kar/
- Raspberry Pi Zero W (v1.1) + 16Gb Sandisk UHC microSD
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest