- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Apple asztali gépek
- Radeon RX 6700 XT: a Big Navi közepe?
- Milyen CPU léghűtést vegyek?
- Szamurájbarát az új GeForce driver
- NVIDIA® driverek topikja
- Mini-ITX
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen asztali (teljes vagy fél-) gépet vegyek?
Hirdetés
-
Egyszerűsíti termékportfólióját a HP
ph A cég úgy láthatja, hogy a túl sok márkajelzés nem tesz jót az átláthatóságnak.
-
A két Poco F6 mellett érkezik a Poco Pad is
ma A Poco első táblagépe is egy Redmi termék más néven.
-
V Rising - Végre tudjuk hogy mikor érkezik a PS5-ös kiadás
gp A PC-s teljes verzió már egy ideje játszható, hamarosan konzolra is megérkezik a játék.
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz horvathcsaba #249 üzenetére
Helló Csaba!
Jah eegen. Azt elfelejtettem írni, hogy az indirekt címzéssel vigyázni kell. Nagyon könnyen elcímzi magát a program és akkor jön az Area length error, aminek a következménye egy szép kövér CPU stop.
Nagyon körültekintően kell csinálni nagyon alaposan tesztelni és telerakni védelemmel ami megakadályozza az elcímzést. Csúnya dolgokat tud csinálni.Én pont most szívtam egy gyári blokkal (Read Danfoss VLT parameter) amiben volt egy ilyen szép kis meglepetés.
-
horvathcsaba
csendes tag
Köszönöm a segítséget!
Nekem már a példában sikerült hibázni. Ugyanis az adatterületet DWORD-ként akartam írni (DBD[...]) míg a tömb elemek WORD-ösek voltak.
Íme:
OPN "DB1"
L 1
T MW 20
L 16
SLD 3
T MD 30
L #count
next: T MW 10
L MW 20
T DBD [MD 30]
L MW 20
INC 1
T MW 20
L MD 30
L 2
SLD 3
+D
T MD 30
L MW 10
LOOP nextÉs az az érdekes dolog állt elő, hogy csak az utolsó megcímzett elem utáni elem tartalmazott értéket.
Na de rájöttem!Meg felvetődött bennem egy kérdés. Így utánaolvasás nélkül.
VAn-e arra lehetőség, hogy dinamikusan foglaljak le memóriaterültet? Pl 'x' elemű tömb kellene, de az 'x' a program betöltésekor még nem ismert. Vmilyen felhasználói interakció lévén derül ki.
vagy ezt úgy érdemes csinálni, hogy jó nagy területet foglalok le és csak bizonyos részét használom? Azonban ez pazarlásnak tűnik.Üdv
Csaba -
pepe33
tag
Unitronics Jazz vezérlővel csinált már valaki soros kommunikációt ?
Azt tudom hogy külön soros port kártya kel hozzá , de valahogy nem találtam, jó leírást hogy lehet a programból vezérelni a dolgokat.
A cél az lenne hogy adatokat küldjek soros porton egy PC-re a PLCből.[ Szerkesztve ]
ASUS A8NSLI DELUXE * A64 X2 4200+ * Freezer 64 * 4x1GB A-DATA DDR500 RAM* GF 6800 GT *......300W Coolink táp
-
Szirty
őstag
válasz horvathcsaba #252 üzenetére
Helló Csaba!
A kódhoz lenne hozzáfűzni valóm ha nem gond. Kizárólag építő jelleggel, nehogy cseszegetésnek vagy okoskodásnak vedd!
- A ciklusmagon belül, vagy a blokkon belül használt átmeneti értékeket szerintem lokális változókban tárold, de globálisban. (A merkerek és a shared DB minden eleme globálisak). Ennek töb előnye van:
1. Másik blokk, a program egyéb részei nem tudnak véletlenül se belenyúlni, nehezebben rontod el a programot (pl. nem emlékszel, hogy az MW10-et már felhasználtad az egyik blokkban ciklusváltozó ként és egy másik blokkban is fel akarod használni).
2. Miután a blokk lefut, a változóra nincs szükség.
Az ilyen változókat tehát lokálisként érdemes deklarálni (TEMP).És az az érdekes dolog állt elő, hogy csak az utolsó megcímzett elem utáni elem tartalmazott értéket. Na de rájöttem!
Hát igen, ha alacsony (2 byte-on is ábrázolható) értékeket duplaszavakba pakolsz és azokat 2 byte-os átfedéssel rakod le, akkor a következő dupla szó felső 2 byte-ján lévő 00 mindig felülírja az előzőleg lerakott duplaszó alsó két byte-jén lévő nem nulla értéket.
VAn-e arra lehetőség, hogy dinamikusan foglaljak le memóriaterültet? Pl 'x' elemű tömb kellene, de az 'x' a program betöltésekor még nem ismert. Vmilyen felhasználói interakció lévén derül ki.
Tanulmányozd a "STEP 7 - System and Standard Functions for S7-300 and S7-400" címűPDF-et (a Step7 alapból feltelepíti).
Abban is a következő rendszerhívásokat:
- Creating a Data Block with SFC 22 "CREAT_DB"
- Deleting a Data Block with SFC 23 "DEL_DB"
- Generating Data Blocks in Load Memory with SFC 82 "CREA_DBL"
- Reading from a Data Block In Load Memory with SFC 83 "READ_DBL"
- Writing a Data Block in Load Memory with SFC 84 "WRIT_DBL".
- Creating a Data Block with SFC 85 "CREA_DB"Szerintem ezekkel meg tudod oldani. De arra számítani kell, hogy egy csomó folyománya lesz az ügynek. Pl. ellenőrizni kell, hogy a létrehozandó adatblokk egyáltalán elfér-e a szabad memóriában, stb.
vagy ezt úgy érdemes csinálni, hogy jó nagy területet foglalok le és csak bizonyos részét használom?
Igen, sokszor ez az egyszerűbb, és nem utolsó sorban biztonságosabb.
Azonban ez pazarlásnak tűnik.
Bizonyos értelemben igen. De gondolj arra, hogy a PLC memóriája adott. Ha ennek a memóriaterületnek egy részét takarékosságból szabadon hagyod, az ugyanolyan pazarlás, mint az, hogy lefoglalod az egészet, de értelmes adatot valószínűleg nem töltesz bele.
-
Szirty
őstag
Szia pepe33
Egyszer használtam jazz-t, de kommunikációra nem került sor (le feltöltésen kívül).
Amennyire emlékszem, szabadon letölthető OPC szerver van hozzá PC-re, így OPC-n keresztül az eszközt lehet kezelni.
Túl sokat nem tudok segíteni sajnos. Nézz szét itt: [link]
Illetve a Kvalix kft-nél nagyon segítőkészek (kvalix.hu-n megtalálod mail címűket). -
horvathcsaba
csendes tag
Köszönöm!
Ebbe nyilván bele kell jönni.
Igen, még valahonnan emlékszem, hogy csak a "függvényben" (itt FB, FC) használt dolgokat lokális változókkal kell megoldani.
De gyakorlásnak ez így egyszerűbb volt. Lustaság
Azonban mivel több dologgal is próbálkozom és mindenhol ilyen ügyesen, már voltak összeakadások.
Nyilván egy jól átgondolt projektnél az ember megpróbál valamilyen, akár névadási, konvenciót követni.
Pl. helyi változók l_..., globális változók g_... .
Azonban ebbe rendesen bele kell jönni.Majd jól megnézem ezeket a rendszerhívásokat is.
Csaba
-
Petya85
csendes tag
Hi!
remélem tud nekem valaki segiteni!Siemens S5-ös programozó szoftvert keresek(csak ne német legyen,angol,magyar jöhet)!!!
elöre is köszi!!!
egy lelkes kezdő!!!
ui.:még nagyon sok kérésem lesz hozzátok,remélem nem fogtok kiborulni,de végre találtam egy ilyen fórumot!!!!!
pl az egyik van nekem egy Allen-Bradley PanelView Plus 1000 érintő képernyős HMI-m de nem igazán tudok vele mit kezdeni(szoftver,programozó kábel,kéziköny vagy csak leírás stb.)ha valaki tudna nekem ebbe is segíte, vagy ha valakit érdekel akkor eladó!!!
köszi még egyszer!!! -
Petya85
csendes tag
ja és a mail cimem:proci85@freemail.hu
-
Petya85
csendes tag
lenne még egy kérdésem vagyis kérésem egy bizonyos WSCAD tervező programot keresek, nem tudom h tudna-e valaki segíteni nekem?!?!?!
[ Szerkesztve ]
-
Kairó
csendes tag
Sziasztok!
Siemens PLC programozásában (S7 V5.4) teljesen kezdő vagyok és érdeklődnék hogy létezik-e magyar nyelvű oktatási anyag. Konkrétan a problémám: német PLC programozó kollégáktól géptelepítés alkalmával megkaptam a forrásprogramot természetesen német nyelven. A gond az, legalábbis nekem, hogy Ők utasitáslistás formában programoznak. Át lehet-e alakítani az utasításlistás formát létradiagramm formájúvá, (és ha igen hogyan) mert az már megkönnyítené a helyzetemet. Előre is köszönöm a segítséget.
-
Szirty
őstag
Hali Kairó!
Siemens PLC programozásában (S7 V5.4) teljesen kezdő vagyok és érdeklődnék hogy létezik-e magyar nyelvű oktatási anyag.
És milyen S7? 200, vagy 300/400?
A verziószámból arra következtetek, hogy az utóbbi. Meg abból, hogy nem találtál magyar anyagot (mivel S7-200-hoz van).
Sajnos sok jóval nem tudlak kecsegtetni, mást nem tudok ajánlani mint a saját oldalamat, (ami erről szól) és a következő két magyar nyelvű doksit:
S7-300_telepites.pdf
S7-300_programozas.pdfÁt lehet-e alakítani az utasításlistás formát létradiagramm formájúvá, (és ha igen hogyan) mert az már megkönnyítené a helyzetemet.
A válasz sajnos egyszerű: Nem.
Hacsak úgy nem, hogy magad írod át, de arra ugye nincs lehetőség nyilván, mivel pontosan értened kellene mit csinál az STL program ahhoz hogy ugyanazt megcsináld létrában. Neked meg éppen azért kell a létra, hogy könnyebben megértsd mit csinál.
Illetve akkor lehet átfordítani, ha az STL programozók nem írtak bele létrában meg nem jeleníthető kódot. Márpedig ilyet nyilvánvalóan írtak bele, különben nem lett volna értelme annak, hogy STL-ben írják meg. Hacsak nem éppen az, hogy nehezebben lehessen visszafejteni.[ Szerkesztve ]
-
qcy
csendes tag
Hali !
Van egy régi plc-m.
Sajnos software nincs,és az kellene hozzá.
Ebben kérnék segítséget !
A plc tipusa: CANONICA -co Ag gyártmányú.
Z7130R2 PMC 1305
SELECONTROL PMC 10
A program tipusa,valószínű CAP1131
Köszönöm előre !
Várom válaszod !
Üdv.: Feri[ Szerkesztve ]
-
horvathcsaba
csendes tag
Sziasztok!
Step7-ben próbálkozom újfent. Most PID szabályzóval. Azt hittem, hogy legalább az alapokat értem, de a példa szabályzóm működése rávilágított, hogy nem.
A megvalósítás a következő (átemeltem vhonnan):
CALL "CONT_C" , DB41
COM_RST :=FALSE
MAN_ON :=FALSE
PVPER_ON:=TRUE
P_SEL :=TRUE
I_SEL :=TRUE
INT_HOLD:=FALSE
I_ITL_ON:=TRUE
D_SEL :=TRUE
CYCLE :=T#10S
SP_INT :=6.000000e+001
PV_IN :=0.000000e+000
PV_PER :=PIW256
MAN :=0.000000e+000
GAIN :=2.000000e+000
TI :=T#20S
TD :=T#10S
TM_LAG :=T#2S
DEADB_W :=0.000000e+000
LMN_HLM :=8.000000e+001
LMN_LLM :=4.000000e+000
PV_FAC :=1.000000e+000
PV_OFF :=0.000000e+000
LMN_FAC :=1.000000e+000
LMN_OFF :=0.000000e+000
I_ITLVAL:=0.000000e+000
DISV :=0.000000e+000
LMN :=
LMN_PER :=PQW256
QLMN_HLM:=
QLMN_LLM:=
LMN_P :=
LMN_I :=
LMN_D :=
PV :=
ER :=Pl azt nem értem, ha a bemenetre új értéket adok meg, akkor a szabályzott (beavatkozó) jel elugrik vmilyen értékre és onnan éri el a végleges értékét. Ez miért van?
Picit más, de ez is szabályzás (szerintem)
Amennyiben én pl. egy olyan fürdőkád vízszintjét szeretném adott magasságban tartani, ahol ki van húzva a dugó, akkor folyamatosan gondoskodnom kell a víz utánpótlásáról. Azaz bizonyos szelepnyitottságot tartanom kell. Ezt statikusan az LMN_OFF-fal tudom beállítani. Azonban ha a víz fogyása időben dinamikusan változik, mit tudok tenni?Köszönöm
Csaba -
Szirty
őstag
válasz horvathcsaba #264 üzenetére
Helló horvathcsaba!
Nos az általad idézett PID controler hívás szerintem a következők miatt nem úgy működik mint ahogy várod:
1.
I_ITL_ON:=TRUE
Ez az integráló tag inicializálását kapcsolja be, és mivel TRUE értéket adtál neki, nálad ez aktív. Az inicializálás azt csinálja, hogy ha az I_ITL_ON:=TRUE, akkor az integráló tagbe beírja az I_ITL_VAL értékét, ami a te hívásodnál 0. Ezzel gyakorlatilag hatástalanítod az integráló tagot, mivel az nem lesz képes kimozdulni 0 értékről (amennyire tudom az I_ITL_ON nem élvezérelt).2.
CYCLE :=T#10S
A nagyobb gond szerintem ezzel lesz. A PID controller hívásának van egy olyan szabálya, hogy konstans időközönként kell meghívni! Tehát nem tehetd bele simán a programban, ahol minden PLC ciklusban lefut, mivel a PLC ciklusok hossza nem konstans. Két kézenfekvő hívási mód kínálkozik:
- Egy élvezérelt cycle memory bittel hívod.
- Cyclic interruptból hívod (pl. OB35)
Mindkét megoldás biztosítja a fenti feltételt. A PID CYCLE paraméterében pedig pontosan ugyanezt az időt kell megadnod amennyi időnként hívod (ms pontossággal). Ebből tudja a PID "belül", hogyan telik az idő, ennek alpján számolja az integrálási és diff időket stb. Ezért ha ez a paraméter nem jól van megadva, akkor a PID rendszerint kiakad vagy nem megfelelően működik.
A dolog folyománya hogy a PID legkisebb reakcióideje a hívási ciklusidőnél semmiképp nem lehet kisebb.
A fenti 10s tehát valószínűleg nem jó, hacsak nem 10 másodpercenként hívod a PID-et.3.
PVPER_ON:=TRUE
Ha a PVPER_ON be van kapcsolva, akkor a PID-nek a mért értéket (process variable) perifériaszó formában adod meg és a PID-re bízod az érték normalizálását (0-100% tartományra konvertálását), amit a PV_FAC mint szorzó és PV_OFF mint eltolás értéke alapján számol ki. Ezek nálad 1 és 0. Tehát ettől működhet ugyan, de a PIW 256-ban 0-100 tartományban kell tartani az értéket. A Step7 alapból feltelepít egy doksit ami angolul ugyan, de elég jól leírja mi merre meddig. Ebben van is egy blokk diagram a PID-ről, ami segít áttekinteni a paramétereket: -
Szirty
őstag
válasz horvathcsaba #264 üzenetére
horvathcsaba
Azaz bizonyos szelepnyitottságot tartanom kell. Ezt statikusan az LMN_OFF-fal tudom beállítani.
Hátőő.. nos igen. Kétségtelen, hogy az LMN_OFF hatással van a beavatkozó értékre, de az csak a beavtkozó érték offsetjét (eltolását adja). A legtöbb esetben ezt 0 állítjuk.
Azonban ha a víz fogyása időben dinamikusan változik, mit tudok tenni?
Nos ha a szintet "fokozatmentesen" akarod szabályozni, akkor a fokozatmentes mennyiségszabályzáson kívül (szelep) kell egy mérés is, ami a kád szintjével arányos értéket ad. Ezután a kád szintjével arányos mért jelet a PID PV_PER bemenetén adod meg, bekapcsolod a PVPER_ON-t és a PV_FAC, PV_OFF paramétereket úgy állítod be, hogy maximális szintnél 100, minimálisnál 0 érték keletkezzen ormalizálás után (PV kimenet).
Vagy a mért értéket a PV_IN bemenetre adod és a PVPER_ON-t kikapcsolod. Ekkor a PV_PER-re adott értéknek 0-100 tartományba kell esnie.Az SP_INT bemeneten megadod neki mekkora szintet akarsz tartani a kádban (0-100 között).
Az LMN kimeneten pedig megjelenik (0-100 tartományban) a beavatkozó jel, ami közvetlenül megadja hogy a szelepnek mennyire kell kinyitnia ahhoz, hogy a kád szintjét az SP_INT-nél megadott szinten tartsa.
A többi paraméter beállításával pedig be lehet hangolni, hogy a kádban aszint állandó legyen attól függetlenül, hogy az elfolyó mennyiség közben hogyan változik.Az előző üzenetben hivatkozott PID leírás [a neten is megtalálható]
Illetve valamennyit én is rizsáltam róla [itt] -
horvathcsaba
csendes tag
Szia!
Köszönöm a választ. Én azért olvasgattam mindenféle anyagokat, de ezek alapján sem volt teljesen egyértelmű a működés. Olvastam a te PID-es dolgaidat, azonban a példát még nem tudtam beizzítani. Gondoltam a hiányosságaim feltárására is jó ez a fórum.
1.
I_ITL_ON:=TRUEPéldául ennek a működése sem volt teljesen világos, de a példaprogramban benne volt.
Most már kicsit tisztább.2.
CYCLE :=T#10S
Szintén a példa hozta. Igazából az OB35-be tettem a PID-et. A S7 help az OB35-re 100ms intervallumot ír. Akkor a CYLE is 100ms kell legyen? Legalábbis így értem.3.
PVPER_ON:=TRUE
...
a PIW 256-ban 0-100 tartományban kell tartani az értéket.A hivatkozott doksiban a következő szerepel:
The process variable can be input in the peripheral (I/O) or floating-point
format. The CRP_IN function converts the PV_PER peripheral value to a
floating-point format of -100 to +100 % according to the following formula:Output of CRP_IN = PV_PER *(100/27648)
The PV_NORM function normalizes the output of CRP_IN according to the following formula:
Output of PV_NORM = (output of CRP_IN) * PV_FAC + PV_OFF
PV_FAC has a default of 1 and PV_OFF a default of 0.Nekem ebből az jön le, hogy a %-ra alakítás miatt a PIW 256 nem kell, hogy 0 és 100 között legyen. Mert PIW 256 = 0 -> 0% és PIW 256 = 27648 -> 100%.
Nálam ez úgy műkidik, hogy SP_INT = 6% és ha PIW 256 = 1659, akkor LMN = 0. És számításaim szerint 1659 a teljes bemeneti jeltartomány 6%-a.
Vagy megint hülye vagyok?Az ábra jó, de sajnos a leírás közel sem olyan jó, mint a te kis PID-es programocskádban. Azonban azt még nem tudtam beizzítani ProTool és Step7 (full) hiányában.
Csaba
[ Szerkesztve ]
-
Szirty
őstag
válasz horvathcsaba #267 üzenetére
Helló horvathcsaba
Ok, én nem tudhattam mit olvastál már a témában, elnézést ha már ismert forrást ajánlottam.
Szintén a példa hozta. Igazából az OB35-be tettem a PID-et. A S7 help az OB35-re 100ms intervallumot ír.
Az jó lehet. Én is 100ms-re szoktam tenni a PID-et. (néha 500-ra).
Egyébként az OB35 hívási gyakorisága állítható a hardver konfigban (de a dolog CPU-tól is függ).Akkor a CYLE is 100ms kell legyen? Legalábbis így értem.
Pontosan! Tehát: CYCLE :=T#100MS
Nekem ebből az jön le, hogy a %-ra alakítás miatt a PIW 256 nem kell, hogy 0 és 100 között legyen.
Ez így igaz, de azt is odaírtam előtte, hogy a PVPER_ON értékét további két paraméter szerint, a PV_FAC mint szorzó és PV_OFF mint eltolás értéke szerint skálázza.
Ezeket az értékeet azonban az általad idézett példa defaulton hagyta, vagyis aszorzó 1, az eltolás pedig 0. Tehát így NEM végez skálázást.
Ennélfogva a PV értéke csak akkor marad 0-100 tartományban, ha a PVPER_ON-nak megadott perifériaszavad is azon belül marad.
Egyébként a skálázás lényege az amit le is írtál. Én csak azért említettem mert minek tetted skálázós bemenetre, ha aztán meg mégsem skáláztad.Nekem ebből az jön le, hogy a %-ra alakítás miatt a PIW 256 nem kell, hogy 0 és 100 között legyen. Mert PIW 256 = 0 -> 0% és PIW 256 = 27648 -> 100%.
PIW256 = 27648 csak akkor lesz 100%, ha a PV_FAC paraméterbe nem egyet teszel, hanem 0.003616898148148148-at, vagyis: PV_FAC :=3.616898e-003
De egyébként úgy van, ahog írtad! -
Petya85
csendes tag
Hello!
ebben a feladatben kérném a segítségeteket,omron cpm2 és S7-300-ra.
remélem tudtok nekem segíteni.
mail:proci85@freemail.hu
előre is köszi!!!A feladat:
Mozgás folyamat betanítása:Van négy munkahengerem,rendre MA,MB,MC,MD, amiket 8 lépéses munkafolyamatra kell betanítani. A munkafolyamat alapállapotból indul és a 8. lépésre is alapállapotba kell vissza érkeznie. Minden munkahengeren van alaphelyzet- és végállás érzékelő,rendre a0-a1,b0-b1,c0-c1,d0-d1. Van 4 kapcsoló,rendre A,B,C,D, amivel működtetni lehet a hengereket a betanítási résznél és minden egyes lépést a Beír gombbal kell elfogadtatni, betanítani. Miután meg volt a 8 lépés akkor a Start gomb megnyomásával lehet elindul a betanított folyamat. Van még egy üzemmód váltógomb, amivel a Beír és a Start üzemmódok között tudok lépkedni,onnan tudom hogy milyek aktív mikor világít. Bármikor betudok tanítani neki egy másik folyamat sorrendet, csak a beír gomb legyen aktív és ugyanúgy mint az elején betanítom.
Bemenetek:
00 - a0 - érzékelő
01 – a1- érzékelő
02 - b0 - érzékelő
03 – b1- érzékelő
04 - c0 - érzékelő
05 – c1- érzékelő
06 - d0 - érzékelő
07 – d1- érzékelő
08 – Start – nyomógomb
09 – Beír – nyomógomb
10 – Üzemmód – nyomógomb
11 - A henger - kapcsoló
12 - B henger - kapcsoló
13 - C henger - kapcsoló
14 - D henger - kapcsolóKimenetek:
00 – Start – jelzőlámpa
01 – Beír – jelzőlámpa
02 - MA – szelepmágnes (A henger)
03 - MB – szelepmágnes (B henger)
04 - MC – szelepmágnes (C henger)
05 - MD – szelepmágnes (D henger) -
Szirty
őstag
Hi Petya85!
ebben a feladatben kérném a segítségeteket,omron cpm2 és S7-300-ra.
remélem tudtok nekem segíteni.
mail:proci85@freemail.huŐőőő...
Tehát itt vázolod a feladatot, megadod a mail címed, ahova záproznak majd a kész feladat megoldások, vagy mit is értesz pontosan segítség alatt? :> -
Petya85
csendes tag
Pontosan azt értem ez alatt h h kéne neki kezdeni egy ilyen feladatnak, én nem azt várom el h valaki megcsinálja nekem,hanem azt h h lehet ilyen "betanitást" csinálni. amit meg beírtam az csak egy konkrét példa h mit is szeretnék. engem az érdekelne h milyen módszerek vannak erre, meg h h lehet neki kezdeni.
Bocsi mindenkitől,ha nem fogalmaztam pontosan!!!
az elején kéne segíteni h ezeket h tudnám eltárolni vagy valami ilyesmi.
aztán ha lesz kérdésem akkor úgy is beírom ide! -
Szirty
őstag
Hi Petya85!
Én úgy csinálnám, hogy minden egyes lépéshez hozzárendelnék annyi bit tárólót, ahány munkahenger van, vagyis 8x4-et.
Így minden lépéshez tartozna 4 bit, ahol minden bit egy-egy munkahenger adott lépésben betanított állapotát tartalmazná.
Valamivel, pl. egy számlálóval címezném, hogy a 8 db 4-es tároló közül melyik épp az aktív.
A betanításkor mindig az adott lépés adott munkahengerhez tartozó bitje be vagy kikapcsolódna attól függően, hogy annak a munkahengernek abban a lépésben milyen helyzetben kellene lennie."Lejátszáskor" a lépésket a számláló végigcímezné.
A tárolt bitek állapota minden lépésben "kimásolódna" a munkahengerek szelep kimeneteire. Mindig csak az aktuális lépésé persze.
Egy programrész pedig összehasonlítaná mindegyik munkahenger tényleges (véghelyzet szerinti) és a tárolt (betanított) állapotát. Ha az adott lépésben a tárolt és betanított helyzet mind a négy munkahengernél azonos, akkor léptetném a számlálót. Tehát olyankor jöhetne a következő lépés. -
Petya85
csendes tag
köszi szépen!
megprobálom igy,de ha nem menne akkor majd még kérdezem egy-két dolgot!!!
köszi szépen!!!!
én ilyen segítségre gondoltam, és bocsi h először nem fogalmaztam pontosan!!!!
Peti -
Jeti1
tag
Hello!
Talán ide illik a problémám.
FEC 34 IPC felügyeletét kellene megoldani weblapról. Magyarán egy kommunikációt kellene létrehozni.
Tudtok valamit tanácsolni? Valami ötlet?
Ennyit kaptam segítségül: [link] Egy a baj, hogy nem tudok angolul.
Amugy ezt egy órán egy tanár adta fel, úgy, hogy tudta, hogy még ehhez hasonlot sose csináltunk. Az összes segítsége annyi volt, hogy a belinkelt honlap címét megadta. Azt mondta oldjuk meg valahogy, majd belejövünk. Jó fej. Pár hét és vége a szorgalmi időszaknak.Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
aLávaló
csendes tag
Szia!
Hát öcsém(bocs a megfogalmazásért...) veled aztán kicsit kitoltak! Ha csak ennyi segítséget kaptál. Hát angol nyelvtudás nélkül nem fogsz sokra menni. C/C++ nyelven lehet programozni ezeket a procikat ha jól értettem a leírásból. És minden parancs szép angolszász nyelven van leírva. Web szerver alapú kommunikációval egy kütyüt próbálgattam már de szerintem ehhez még én sem tudom hogy kezdjek hozzá. Van valami konkrét elképzelésed hogy mit szeretnél vele megcsinálni?Pl. valamilyen programot irni bele és a bemeneteket kimeneteket(állapotokat) megjeleníteni a web-es felületről?
Ha csak ennyi segítséget adott akkor nyelvtudás nélkül reménytelen az egész!C/C++ mennyire megy?Van egy starter kit amit ba**urálhatok?Dinamikus HTML/ CGI programozás hallotál már ilyenről?
Laci -
csgabiii
csendes tag
HY, Automatizálási technikus szakon tanulok , érdekelne h valaki tudna e segiteni szakdolgozat írásában? Én is plc-vel szeretnék valamit megvalósítani, esetleg lenne-e valakinek régebbi szakdolgozata, amit lehetne módosítani? THX
Gábor
-
aLávaló
csendes tag
válasz csgabiii #276 üzenetére
Segíteni biztos tudunk vannak itt páran akik értenek(Szirty) hozzá vagy értegetnek(én)!
De én is csak segítek azt ne várd el hogy egy régi szakdogát csak át írsz azt jó van, minimális befektetéssel...Bár én is voltam diák(nem is olyan régen) csináltam én is hasonlót hajaj.DE akkor is ebben nincs sok sport érték és ha később is ezzel akarsz foglalkozni akkor ne járd ezt az útat!Ezt én is csak most tapasztaltam meg!
Pl van-e valami ötleted?Szabályozástechnika vagy valami vezérlés amit szeretnél csinálni?Pl. valami szintszabályozás ami vezérlési dologgal meg van bolondítva. Vagy esetleg más terület gyártásautomatizálás valami gép működtetése?
Tudom ötletet nehéz szerezni (nekem legalábbis az volt). Amióta dolgozok ötletet adnak nekem...
Egyelőre ennyi! -
Jeti1
tag
Az lenne a lényeg, hogy valamiféle kommunikációt hozzak létre és ezt tudjam valahogy bizonyitani is. Ha 1 bit, akkor 1 bit csak valami adat menjen és azt tudjam bizonyitani, be tudjam mutatni.
Angolul nem tudok, C/C++ ugy, ahogy megy, dinamikus HTML/CGI programozáshoz nem értek.
Sose csináltam még ilyet és nem is értem, hogy ezt, hogy gondolta a tanár. Először megkéne tanítania utána feladni ilyen feladatot. Még példafeladatot se láttam.Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
aLávaló
csendes tag
Hát én ebben nem tudok segíteni neked c/c++(őő inkább hagyjuk...gyenge pont tanulmányaim során!), a kűtyűt meg a programozóját látnom,éreznem kellene. Egy példaprogramot meg erőszakoljál ki a tanárodból mert ilyen nincs hogy nesze fogd meg azt alkoss valamit(legalábbis a suliban nem kéne a valós életben megtörténik hogy most látod először a cuccot). Milyen suli ez egyébként ahol így áll a tanár hozzá?
Én inkább alkalmazással foglalkozok és nem saját PLC-t csinálok hanem kész dolgokat rakok össze üzemelek, programozok fel! Ahhoz hogy egy saját PLC-t csinálj ezzel, hát nagyon pengének kell lenned!Bár jó dolog csak bizonyos esetekben éri meg ezt csinálni(valami saját gyártású gép amit a céged elad és speckó program és hardver kiépités kell). Amúgy nem éri meg ezzel foglalkozni legalábbis nekem ez jött le tapasztalataim során!
Manapság mindent gyorsan kell csinálni és ha sok a fejlesztési idő akkor bukta az egész.Laci
[ Szerkesztve ]
-
Szirty
őstag
válasz csgabiii #276 üzenetére
Hali csgabiii!
HY, Automatizálási technikus szakon tanulok , érdekelne h valaki tudna e segiteni szakdolgozat írásában?
Ha ötletre van szükség abban esetleg segíthetnek az alábbi linkek:
Tartály töltés
Bár az írás témája nem épp a tartály töltés, de az első részben egy nagyon egyszerű, a gyakorlatból vett példa van, amit esetleg felhasználhatsz."Tolópad" szimuláció
Szintén a gyakorlatból vett példa. Az előzőnél kissé összetettebb feladat, de leírtam a teljes megoldást is. Ezzel nehezebb dolgod lesz ha nem foglalkozol S7-300 PLC-vel, mert a példa megoldása arra készült.Fúrógép szimuláció
Az előzőhöz hasonló gyakorló feladat, valamivel kevésbé részletezve.Az anyagot ötletadónak ajánlom. Azt nem javasolnám, hogy egy az egyen, esetleg részleteiben módosítva átemlj részeket a szakdolgozatba, mert:
- A linkelt oldalak NEM azért jöttek létre, hogy másokat megkíméljenek a gondolkodástól
- Bukta lesz ha az oktató is rátalál, vagy valaki felhívja rá a figyelmet -
Jeti1
tag
Kecskeméti Főiskola. Tanár nevét nem írom le. Amúgy tőle nem vártam mást.
Szerintem nem saját PLC-t kell csinálnom "csak" egy webszerver alapú kommunikációt.Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
-
aLávaló
csendes tag
Szia Szirty!
Kaptam egy szép feladatot Siemens s7-200-as PLC-vel kell kommunikálnom egy feladat során.A honlapodról letöltöttem a doksikat róla, ebben azt írták hogy létezik egy "library" kiegészítés amit megvásárolva tudok Modbus kommunkikációt lértehozni.
"
A STEP 7-Micro/WIN utasítás könyvtára megkönnyíti a Modbus mestereszközökkel való kommunikációt azáltal, hogy előre konfigurált szubrutinokat és megszakítási rutinokat illeszt be a programba, melyeket kifejezetten a Modbus kommunikáció céljára terveztek. A Modbus szolga protokoll utasításokkal konfigurálhatjuk az S7-200-t, hogy úgy viselkedjen, mint egy Modbus RTU szolgaeszköz, és kommunikáljon a Modbus mestereszközökkel. Ezeket az utasításokat a STEP 7-Micro/WIN utasításfa Libraries (könyvtárak) mappájában találhatjuk meg.
"
A feladat hogy bizonyos kimenetek,bementek értékét írjam és/vagy olvasam mert kell írnom egy Naplozó,regisztráló,megjelenítő progit Visual Basic-ben. A progim egy touch paneles pc-n fug futtni. Foglalkoztál már ilyennel vagy van valami jó tanácsod ehhez?
Modbus megy, már írtam egy pár ilyen programot más kütyühöz, de nem világos hogy a PLC-hez feltétlen meg kell vásárolni ezt a Library-t vagy van más lehetőség kommunikálni vele? -
aLávaló
csendes tag
Ennek nem örülök...csak eszembe jutottál mivel a honlapodon sok Siemens megoldás van(igaz s7-300).
Amúgy Siemens-es cuccokkal ha van kérdésed kivel szoktál beszélni?Mert eddig a cégünknek csak rossz tapasztalata volt siemens-el ha valami támogatást kértünk!Ha tudsz ajánlani valakit akkor privi-ben küld már el létszi.Ha nem nagy kérés!
Köszi Laci -
Szirty
őstag
Hali aLávaló!
Amúgy Siemens-es cuccokkal ha van kérdésed kivel szoktál beszélni? Mert eddig a cégünknek csak rossz tapasztalata volt siemens-el ha valami támogatást kértünk!
Még nem hívtam eddig a siemens-t ilyen ügyben. Viszont találkoztam már siemens-es szakemberekkel és bizton állíthatom, hogy jó fejek. De hát mindenre van példa is és ellenpélda is.
Összességében a technikai segítségnyújtással kapcsolatban nekem sincsenk jó tapasztalataim sajnos. Más cégektől kértem már tanácsot.
Sajnos sokszor oda fajult a történet, hogy nem a problémával foglalkozunk, hanem azt próbáljuk egymásnak bebizonyítani hogy kettőnk közül melyikünk a hülyébb.
Eddig csak olyan esetekben kértem segítséget amikor már minden általam elképzelhető irányból körbejártam a problémát és alaposan utána olvastam doksikban, kipróbáltam dolgokat stb. Ha nem sikerült megoldani, akkor maga a kérdés amit fel kell tenni olyan jellegű, hogy egy kívülállónak az adott helyzet nagyon pontos ismerete nélkül legfeljebb tippje van. Kivéve ha pontosan ugyanabba a problémába ugyanúgy bele nem futott már.
De a problémák olyan sokfélék, hogy ennek nagyon kicsi a valószínűsége.A másik dolog pedig az, hogy a problémák a gyakorlati alkalmazások során merülnek fel (legalábbis amikkel én találkozom). A telefon túloldalán főként üzletkötők és/vagy elméleti szakemberek vannak. Legtöbször kevés gyakorlati tapasztalattal. Elméleti síkon egy gyakorlati problémáról meg jót lehet beszélgetni, de a megoldása így nehéz.
Egy céggel olyan is volt, hogy miután a problémát oldalakon keresztül ecseteltem a körülmények pontos leírásval együtt, egyetlen sorban válaszolva kijelentették hogy az nem lehet. Egy másik esetben 3 hétig jártunk egymás nyakára (személyesen is eljöttek) mire egyáltalán elismerték, hogy igen, a probléma tényleg létezik.Ezek szélsőséges esetek és egy percig sem állítom, hogy minden cég technikai támogatása haszálhatatlan, de rosszak a tapasztalataim.
Kb olyasmi ez, mint amikor szünetel az internet szolgáltatás és az ügyfélszolgálatos először azt kérdezi be van-e kapcsolva számítógép, aztán meg azt hogy égnek-e a LED-ek a modemen...
Viszont ha olyan akérdés, hogy milyen eszközökkel oldható meg optimálisan egy bizonyos feladat, arra mindenhol tudnak korrekt választ adni.Nagyon hasznos szerintem a siemens A&D online fóruma. Sokat tanultam már onnan abból amit ott kérdeztek és amit válaszoltak rá.
És vannak siemens-es szakemberek a plc levelezőlistán is, akik ha ráérnek és tudnak, akkor válaszolnak. Én a legtöbb kérdést ott tettem fel. -
aLávaló
csendes tag
Akkor a tapasztalataink egyformák...Nemcsak a Siemensre hanem más cégre is igaz ez.
A hiba elismerése az nagyon nehezen megy tőlük és igen általában a túloldalon nem szakmailag(csak részben) képzett ember ül aki néz mint a moziban ha valami kérdésed van.
A lelvlistát megpróbálom köszi! -
Petya85
csendes tag
Sziasztok!
nincs valakinek egy eladó Omron CPM1-30-CDR-A-V1PLC-je?
meg venném persze ha nem irreális az ára!
elöre ia köszi!
mail:proci85@freemail.hu -
tildy
nagyúr
A tolópados tökre olyan, mint amit nekünk kell elkészítenünk (az ilyen tartályba mártogatós , felemelős, újabb tartályba rakós).
Hm, köszi
Sokat segítettél"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain
-
tildy
nagyúr
Iiiiigen. Tverdota bácsi kedvenc példája, ahogy hallottam. Remélem boldogulok vele, ha nem, akkor lehet megkereslek egy kis segítségért
Nagyon gáz ám levelezőn, hogy aki sosem foglalkozott ilyennel (look at me), annak kb 4*2 laborórán kéne megértenie mi a franc van. Nem egyszerű.... de jó a doksid, így talán sikerülni fog.
"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain
-
totalkezdo
csendes tag
sziasztok,
LG PLC és PC között szeretnék kapcsolatot teremteni, a PLC működését kéne monitorozni
az általa vezérelt motorok állapotát kijelezni, indítani megállítani a PLC-n tárolt programokat, stb.LG Glofa GM6 PLC, win2000 alatt Delphi nyelv
Ha esetleg tud valaki segíteni, írt már ilyen programot és van használható
program részlete vagy akár megírna egy ilyen programot kérem írjon!Üdv, Sanyi.
-
aLávaló
csendes tag
válasz totalkezdo #295 üzenetére
A Google ezt adta ki nekem...Próbáltad? Csak beírtam a plc nevét!
Ahogy láttam modbus-t ismeri azt nem nehéz megtanulni annyira!Másik link
[link]
ahogy olvasom itt van egy példa modbus master-ra és delphi-re!Ez kell neked!Egy kicsit lehetnél kreativabb ez 1 percembe se került megtalálni!
Ha kérdésed van szóljál még, de Delphiben nem tudok segíteni!
Laci -
tzolo
csendes tag
Üdvözletem a jelenlévő tisztelt szakértőknek.
Nem szeretnék elefánt lenni a porcelánboltban, de lenne némi segítségre szükség Sinumerik 810-es vezérléssel kapcsolatosan.
Feltehetném-e ebben a fórumban a kapcsolódó kérdést? -
totalkezdo
csendes tag
szia Laci,
köszi a linkeket, az elmúlt 2 hétben elég sok oldalt végig néztem már
csak utána írtam ide (a listát is végig olvastam)az első linket és a srácot is ismerem, az LG PLC-hez összesen
egy file van ami a kommunikációval foglalkozik, elég szűkszavú
és gondoltam hátha van valaki aki már csinált ilyesmit.
a Modbuson még nem gondolkodtam, utánanézek.köszi,
S. -
aLávaló
csendes tag
válasz totalkezdo #298 üzenetére
Bocs hogy letámadtalak egy picit de sokan nem néznek körül google-ba csak kérdeznek.
Ha ismered a srácot akkor nem tudsz kérdezni tőle?Én nem delphi hanem visual basic alatt foglakoz(-ok)tam Modbus kommunikációval. A kommunikáció felépítése nem nehéz de nem tudom delphiben ez hogy működik.
Ez is egy jó oldal bár lengyel:
[link]
itt sok hasznos tesztelő progi is van igaz nem delphi-re
Sok fizetős active-x kiegészitő van de akad ingyenes segítség is
[link] ez is annak látszik
Modbust megvalósíthatsz RS-485-ön(modbus rtu) de akár etherneten(modbus tcp/ip) is. Van egy két különbség a módszerekben. Az eszköztöl függ hogy mit támogat.még egy oldal [link]
Angolul jó ha tudsz![ Szerkesztve ]
-
Mr. John
csendes tag
Üdv mindenkinek!
A kérdésem:
Mi a különbség az IEC 1131-3 és az IEC 61131-3
PLC programozásra vonatkozó
szabvány között?
A szakirodalomban midkettőre hivatkoznak.[ Szerkesztve ]
Új hozzászólás Aktív témák
- Politika
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Olasz autó topik (Fiat, Lancia, Alfa)
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- War Thunder - MMO Combat Game
- Apple asztali gépek
- sziku69: Fűzzük össze a szavakat :)
- Radeon RX 6700 XT: a Big Navi közepe?
- BestBuy topik
- Android alkalmazások - szoftver kibeszélő topik
- További aktív témák...
- IPhone 14 128GB gyári független 2026.11.09. Apple garancia
- Gigabyte AORUS GeForce RTXTM 3070 Ti MASTER , 8GB GDDR6X, 256-bit GV- N307TAORUS M-8GD - Garancia
- iPhone 12 64Gb Fehér - Újszerű állapotban, 95%-os akkumulátor.
- Creative SFXI SoundBlaster X4 Külső hangkártya
- KIÁRUSÍTÁS! MINI PC : Intel Pentium J4205 - 8GB DDR4 - 256GB SSD
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Promenade Publishing House Kft.
Város: Budapest