Hirdetés

2024. március 28., csütörtök

Gyorskeresés

Útvonal

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

Hozzászólások

(#251) Szirty válasza horvathcsaba (#249) üzenetére


Szirty
őstag

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.

(#252) horvathcsaba válasza Szirty (#250) üzenetére


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

(#253) pepe33


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

(#254) Szirty válasza horvathcsaba (#252) üzenetére


Szirty
őstag

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.
:)

(#255) Szirty válasza pepe33 (#253) üzenetére


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

(#256) horvathcsaba válasza Szirty (#254) üzenetére


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 :B
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

(#257) Petya85


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!!!

(#258) Petya85


Petya85
csendes tag

ja és a mail cimem:proci85@freemail.hu

(#259) Petya85


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?!?!?! :F

[ Szerkesztve ]

(#260) Szirty válasza Petya85 (#259) üzenetére


Szirty
őstag

Helló Petya85!

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?!?!?!

Én WSCAD-el tervezek. (v4.5).
Miben kell segíteni?

(#261) Kairó


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.

(#262) Szirty válasza Kairó (#261) üzenetére


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 ]

(#263) qcy


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 ]

(#264) horvathcsaba


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

(#265) Szirty válasza horvathcsaba (#264) üzenetére


Szirty
őstag

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:

(#266) Szirty válasza horvathcsaba (#264) üzenetére


Szirty
őstag

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]

(#267) horvathcsaba válasza Szirty (#265) üzenetére


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:=TRUE

Pé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 ]

(#268) Szirty válasza horvathcsaba (#267) üzenetére


Szirty
őstag

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!

(#269) Petya85


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)

(#270) Szirty válasza Petya85 (#269) üzenetére


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? :>

(#271) Petya85


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!

(#272) Szirty válasza Petya85 (#271) üzenetére


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.

(#273) Petya85


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

(#274) Jeti1


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/

(#275) aLávaló válasza Jeti1 (#274) üzeneté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

(#276) csgabiii


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

(#277) aLávaló válasza csgabiii (#276) üzenetére


aLávaló
csendes tag

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!

(#278) Jeti1 válasza aLávaló (#275) üzenetére


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/

(#279) aLávaló válasza Jeti1 (#278) üzeneté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 ]

(#280) Szirty válasza csgabiii (#276) üzenetére


Szirty
őstag

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

(#281) csgabiii válasza Szirty (#280) üzenetére


csgabiii
csendes tag

köszi ezek nem rosszak, de még körül kel néznem.. THX

Gábor

(#282) csgabiii válasza aLávaló (#277) üzenetére


csgabiii
csendes tag

ötletem egyenlőre semmi, valami gyártósor automatizálás nemrossz, mint a fentebbi linkelt lapokon...

Gábor

(#283) Jeti1 válasza aLávaló (#279) üzenetére


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/

(#284) Szirty válasza csgabiii (#282) üzenetére


Szirty
őstag

Helló csgabiii

ötletem egyenlőre semmi, valami gyártósor automatizálás nemrossz, mint a fentebbi linkelt lapokon...

Azt tanácsolom, hogy a lehető legegyszerűbb feladatot válaszd. Olyat, ami még éppen megfelel. (A gyártósorok jellemzően nem ilyenek!!)

(#285) aLávaló válasza Szirty (#284) üzeneté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?

(#286) Szirty válasza aLávaló (#285) üzenetére


Szirty
őstag

Helló aLávaló!

Foglalkoztál már ilyennel vagy van valami jó tanácsod ehhez?

S7-200-al szinte egyáltalán nem foglalkoztam.
Nem tudok érdemben hozzászólni.

(#287) aLávaló válasza Szirty (#286) üzenetére


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

(#288) Szirty válasza aLávaló (#287) üzenetére


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.

(#289) aLávaló válasza Szirty (#288) üzenetére


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!

(#290) Petya85


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

(#291) Szirty válasza Petya85 (#290) üzenetére


Szirty
őstag

Hali Petya85!

nincs valakinek egy eladó Omron CPM1-30-CDR-A-V1PLC-je?

Ezt nézted már?

"Eladó a képen látható OMRON CPM1-30-CDR-A-V1 PLC.
Kikiáltási ár 15000 Ft"

(#292) tildy válasza Szirty (#280) üzenetére


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:D:D

"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

(#293) Szirty válasza tildy (#292) üzenetére


Szirty
őstag

Helló tildy!

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

Vegyszeres felületkezelés? "Mártódaru" rulez :]
Örülök ha segítettem...

(#294) tildy válasza Szirty (#293) üzenetére


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

(#295) totalkezdo


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.

(#296) aLávaló válasza totalkezdo (#295) üzenetére


aLávaló
csendes tag

[link]

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

(#297) tzolo


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? :R

(#298) totalkezdo válasza aLávaló (#296) üzenetére


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.

(#299) aLávaló válasza totalkezdo (#298) üzenetére


aLávaló
csendes tag

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 ]

(#300) Mr. John


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 ]

Útvonal

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