Hirdetés

2024. május 3., péntek

Gyorskeresés

Útvonal

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

Hozzászólások

(#1451) kip.kop válasza And (#1449) üzenetére


kip.kop
csendes tag

Le vannak irva benne (csatolna'm is a doksit ha lehetne). Az volt az utobbi idoben a problemam, hogy kiprobaltam a neten elerheto nagyon sok modbus-os komunikacioval kapcsolatos programot (ahogy irtad skennelo programot, stb.), de nem tudtam semmifele kapcsolatot letrehozni (lehet hogy interfeszi kapcsolat letrejott, de nem vagyok biztos benne). Ket fele modot is hasznaltam: PC RS242 (COM1,COM2) -> konverter RS242/RS485 -> LG35(modbus) es PC USB -> konverter USB/RS485 (COM3) -> LG35(modbus). Gondolom ha nem is tudnam melyik regiszterben mit tudok kiolvasni, akkor is valamit ki tudnak kiolvasni a "04 - Read Input Registers" es a "03 - Read Holding Registers"-bol. Nem? A "01 (0x01) Read Coils" es a "02 (0x02) Read Discrete Inputs" mire jo? Ezzel a 4-gyel talalkoztam az ingyenes vagy demo scanner programoknal.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1452) kip.kop


kip.kop
csendes tag

Na talaltam 1 demo programot (ModbusPollSetup.exe - http://www.modbustools.com/download.asp) ami ki tudta olvasni a register (03 es 04) egy reszebol az ertekeket. De nem tudom hogyan kell parameterezzem a modpoll.exe -t , hogy vele is ki tudjam olvasni az ertekeket (http://www.modbusdriver.com/modpoll.html).

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1453) And válasza kip.kop (#1451) üzenetére


And
veterán

"Gondolom ha nem is tudnam melyik regiszterben mit tudok kiolvasni, akkor is valamit ki tudnak kiolvasni a "04 - Read Input Registers" es a "03 - Read Holding Registers"-bol."
Az az érzésem, hogy még mindig félreérted a protokoll lényegét. Ez a két (egyébként általában hexadecimális formában megadott) 04h ill. 03h nem egy-egy konkrét regiszter, amelyet olvasol, hanem funkciókód, amely megmondja a lekérdezett slave-nek, hogy mit szeretnénk tőle. Ha megnézed az #1432-ben adott első linket, abban a doksiban szépen fel vannak sorolva az elérhető funkciókódok, és a hozzájuk tartozó kérdés (master) / válasz (slave) adatstruktúrák. Egyébként a modbus-t támogató eszközök nem feltétlenül ismerik az összes lehetséges funkciót. De pl. a "03h" valószínűleg az egyik leggyakrabban alkalmazott modbus-funkció, egy slave több (egymás utáni című) adatregiszterének lekérdezésére szolgál. A kérésben meg kell adni a lekérdezett slave címét, a funkciókódot (jelen esetben 0x03-at), a kiolvasandó regisztercím-tartomány kezdőcímét (16 biten) és hosszát (szintén 16 biten, de legfeljebb 125 lehet a tartomány hossza). A válaszban visszakapod a kért regiszterek tartalmát, egyenként 16 biten. Ha olyan regisztereket olvasunk, amelyek a slave-ben nem 2 byte-on tárolódnak, akkor a a kért adatokat esetenként a master-nek kell a megfelelő formátumra visszakonvertálnia.
Az interfészt (adatformátum: ASCII / RTU, bitsebesség, paritás fajtája, stopbitek száma, slave esetén: cím) nyilván megfelelően kell beállítani az eszközökben, és a fizikai konverterek beállításait sem szabad a véletlenre bízni.
#1452: Az általad linkelt oldalon vannak példák a paraméterezésre. Mondjuk 4 db. 16-bites word kiolvasása a 8-as, RS485 illesztővel rendelkező slave 670-es számú (című, ahol az első regiszter címe a nulla) regiszterétől kezdődően, modbus RTU-n, 19600 8N1 portbeállítás mellett, a PC COM1 portján (majd RS485 konverteren) keresztül:
modpoll -a 8 -r 670 -c 4 -l -0 -b 19200 -p none -4 5 COM1
A többi beállítás default értéken van hagyva, ill. RS485 / Modbus RTU esetén szükségtelen. Ez a segédprogram - mint a weboldala is említi - egy master-szimulátor, vagyis az ezt futtató géppel csak slave(ek) fűzhető(k) össze. Képes a kiolvasott n*16-bites word-öket más adatformátumra gyúrni, ill. felcserélhetőek vele a nem szokványos sorrendű (big-endian) 32 bites integer v. lebegőpontos formátumok adatszavai.

[ Szerkesztve ]

(#1454) dekorn válasza natec (#1435) üzenetére


dekorn
csendes tag

Bocs hogy ilyen lassan reagálok , de csak most jutottam vissza a témához. Köszönöm a segítséget , majd ha megint a berendezés közelében leszek akkor kipróbálom.

(#1455) dekorn


dekorn
csendes tag

Szeretnétek segítséget kérni tőlettek , hogy ha van egy S7-300 315-2 DP PLC-ém amire rá van kötve az MPI/DP re egy TP177B color PN/DP -és HMI és én azt szeretném , hogy feltöltsem rá a WinCC Flexible.és programját , akkor azt milyen módon tehetem meg. Olvastam hogy RJ45 kábelel a legkönnyebb , de a USB MPI adapteremhez csináltam külső betápláló vezetéket akkor azzal is közvetlenül felcsatlakozhatok a HMI-re? ja aszem hogy a p5v os lábat nem kötöttem be a 6-os pinre az kell a TP panelnek? Nem tudom hogy ha próbálkozok ezekkel a csatlakozásokkal akkor tudok valami kárt okozni a panelbe , persze nem adok rossz helyre betápot csak a transferekkel próbálkoznék.
Előre is kössz a segítséget és remélem senkit se fárasztottam le. :)

(#1456) Dezsi82 válasza dekorn (#1455) üzenetére


Dezsi82
tag

Szia!
A legegyszerűbb a tényleg egy crosslink ethernet kábellel letölteni. Beállítod az IP-ket, átállítod transzferre az OP-t, és 1 pillanat alatt ott is van. a program a képernyőn. És biztos nem csinálsz vele galibát. :)

(#1457) Szirty válasza dekorn (#1455) üzenetére


Szirty
őstag

Helló dekorn!

"...azt szeretném , hogy feltöltsem rá a WinCC Flexible.és programját , akkor azt milyen módon tehetem meg"

Én a következő módszert használom:
Mivel a PLC-t is kell programozni, monitorozni stb, ezért a PLC-hez csatlakozni képes illesztőnk van.
Az OP-ra a projectet pedig úgy töltöm föl, hogy ezzel a kábellel rácsatlakozok, éppen úgy, ahogy akkor tenném, amikor a PLC-t akarnám programozni.
Egyszerű, mert semmilyen extra tevékenységet nem végzek és kábel sem kell másik és egyszerre érem el a PLC-t is és az OP-t is (ha több OP is van rajta , vagy több PLC, akkor azokat is, mindet).
Megint más szóval: az OP-ra a project feltölthető profibuszon is és feltölthető MPI buszon keresztül is!
Ha az OP új, akkor be kell állítani rajta kézzel (Control panel) az MPI/PB címet és azt, hogy ezen keresztül akarod tölteni.
Továbbá ha azt szeretnéd, hogy később bármikor lehessen rá projectet feltölteni (pl. amikor módosítod) és ezt úgy akarod kezdeményezni, hogy közben az OP-t a helyszinen ne kelljen transfer módba helyezni, akkor be kell pipálni a "remote control" opciót amellett a kommunikációs beállítás mellett, amelyiket aktiváltad.

Természetesen az ethernet is jó megoldás, amit Dezsi82 javasolt. Esetleg az IP címekkel el lehet kicsit játszani. Tudni kell pl. hogy a két eszköznek egy alhálózatba tartozó IP címet kell megadni különben az életben nem találnak egymásra.
Ez annyi kényelmetlenséggel járhat, hogy a gépeden állandóan ideiglenesen át kell állítani az IP címet amikor az OP-ra akarsz tölteni.
(Ethernet esetén is be kell neki állítani hogy azon keresztül akarod majd etetni és annál is van a fent említett remote control opció, ami itt is ugyanazt jelenti)

(#1458) Blazkowicz


Blazkowicz
tag

Sziasztok.
Ha nincs műszaki előképzettségem, az mennyire hátrány egy PLC programozói tanfolyamnál/ill. későbbi munkánál. Érdeklődöm egy 1 éves OKJ-s PLC programozói képzés iránt, de nem szeretnék év közben elvérezni és így pénzt kidobni. Csak arra lennék kíváncsi, hogy programozói ismeretek nélkül érdemes e belevágni?

(#1459) zumi24


zumi24
csendes tag

Sziasztok!

Az lenne a kérdésem ,hogy egy TWIDO-ban hogyan tudom beállítani a rendszer időt

(#1460) norcee


norcee
csendes tag

Sziasztok!

Abba a problémába ütköztem, hogy van a WinCC Flexible RT-ben egy oldalon két objektum, az egyiket vízszintesen a másikat függőlegesen szeretném mozgatni, de két scriptet nem futtat egyidejűleg csak akkor mozog egyszerre mindkettő ha egy script mozgatja őket., vagy felváltva mozognak, két merker bit értékétől függően, amik a scriptecben feltételek. Ugyanezt vettem észre ha külön oldalakon van a két objektum. Szeretném megkérdezni, hogy két mozgatást végző, vagy bármilyen script nem futtatható e egyidejűleg vagy ez valamilyen beállítási probléma vagy én szúrtam el valamit?

--norcee

(#1461) kip.kop válasza And (#1453) üzenetére


kip.kop
csendes tag

Nekem ez igy me'g zavaros. Sikerult rajonnom hogyan csatoljam a RegisterMap-t kerlek ird le modpoll-t parameterezve, hogyan olvasom ki az ertekeket ebbol.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1462) kip.kop


kip.kop
csendes tag

Ladder diagram es Instruction List kezdoknek, hol talallok hasznalhato dokumentaciot, ha lehet magyarul? Valamikor tanultam, de az olyan regen volt, hogy elfelejtettem mindent, igy teljesen elorol kell kezdjem.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1463) kip.kop válasza And (#1453) üzenetére


kip.kop
csendes tag

Ez igy mukodik, de csak Quantity 26-ig

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1464) dekorn válasza Szirty (#1457) üzenetére


dekorn
csendes tag

Köszönöm Szirty és Dezsi82 ! Mindkető müxik . Tulajdonképpen valami varázslat folytán átkerült az USB adapterem beálítása a COM3 ra így azt USB-re álítva lazán lejött a TP177B backup-ja , de azért cross-os kábelel is kipróbáltam és az sokkal gyorsabb mit ne mondjak :) Újabb kérdésem az lenne hogy TP27 eshez kerem a 15 tűs csatis kábel lábkiosztását illetve a 9tűs csati összekötést , ha esetleg erre van egy bekötése valakinek azt megköszönném, mert a neten elég sok mindent találtam erre a kérdésre és nem tudom melyik a megfelelő , bár még 2soros 15 tűs csatit is szereznem kell :) Ha esetleg valaki találkozott már ilyen TP27-es vagy ehez hasonló panelel és töltött is már le róla az kérem mesélje el nekem , hogy hogyan kell backupot csinálni rajta mert ott ha jól láttam mincs LOADER menű ahol a transfert ki lehet választani . Szóval csak simán rádugom a kábelt és ráeresztem a ProSavet? :) Még1x kösz

(#1465) Szirty válasza Blazkowicz (#1458) üzenetére


Szirty
őstag

Helló Blazkowicz!

"Ha nincs műszaki előképzettségem, az mennyire hátrány egy PLC programozói tanfolyamnál/ill. későbbi munkánál."

Az általam ismert OKJ-s tanfolyam jellegű képzéseknél ez nem különösebb hátrány.
A gyakorlati munkavégzés viszont igen-igen nehéz lesz így eleinte.

"Érdeklődöm egy 1 éves OKJ-s PLC programozói képzés iránt, de nem szeretnék év közben elvérezni és így pénzt kidobni."

Egy ilyen tanfolyam kb arra jó, hogy OKJ-s papírod legyen róla. Ettől nem fogsz tudni annyira és úgy PLC-t programozni, amennyire egy cégnél az szükséges...
Gyakran visszatérő téma ez itt is egyébként.

Itt egy példa

(#1466) Szirty válasza kip.kop (#1462) üzenetére


Szirty
őstag

Helló kip.kop!

"Ladder diagram es Instruction List kezdoknek, hol talallok hasznalhato dokumentaciot,"

Milyen PLC-re?

Általános jellegű anyagok vannak létrára. Utasításlista sokkal specifikusabb, minden típusnál más és más.
Esetleg nézd át az oldalamon a linkek részt...

(#1467) Szirty válasza dekorn (#1464) üzenetére


Szirty
őstag

Üdv dekorn!

"Újabb kérdésem az lenne hogy TP27 eshez kerem a 15 tűs csatis kábel lábkiosztását illetve a 9tűs csati összekötést , ha esetleg erre van egy bekötése valakinek azt megköszönném, mert a neten elég sok mindent találtam erre a kérdésre és nem tudom melyik a megfelelő"

Itt, ezen a fórumon is volt már téma ez.

A Simatic HMI Communication User’s Manual-ban az összes OP összes összekötési módja és kábele benne van (a kiadási dátumig)

(#1468) Szirty válasza norcee (#1460) üzenetére


Szirty
őstag

Hi norcee!

"egyidejűleg csak akkor mozog egyszerre mindkettő ha egy script mozgatja őket., vagy felváltva mozognak, két merker bit értékétől függően, amik a scriptecben feltételek. "

Nem tudom hogyan oldottad meg a dolgot, de egy script akkor fut le, amikor az az esemény bekövetkezik, amelyikhez a script futását hozzárendelted.
Nem szokott problémát okozni egyszerre több objektum mozgatása a képernyőn (mint ahogy erről nemrég egy videó file-t is kiraktam).
Vagy egyszerűen csak nem értem a problémát és nem tudom hogy konkrétan mit értsez "egyszerre" alatt.

Más.:
Ha jól értem azon ügyködsz, hogy mozgással akarod reprezentálni OP-n egy gép olyan mozgó részének a mozgását, amely helyzetéről csak két bináris információ van.
Az ilyesmi látványos, de én senkinek nem ajánlom, mert hamis információkat közölhet a gépről és annak helyzetéről.

(#1469) norcee válasza Szirty (#1468) üzenetére


norcee
csendes tag

Szia Szirty!

A merker bitek eventjében a change value-nél bejelöltem a script 1 ill. 2-t. A scriptek pedig így kezdődnek, hogy While HmiRuntime.SmartTags ("bit_1 ill 2) = True.

-norcee

(#1470) Szirty válasza norcee (#1469) üzenetére


Szirty
őstag

Hali norcee!

Ha egy eseménnyel hívod meg, akkor egymás után futnak le, amilyen sorrendbe berakod őket a listába (szerkeszthető a sorrend).

Neked a problémát az okozza, hogy ciklust raktál a scriptbe.
Anélkül kell megoldani.

(#1471) And válasza kip.kop (#1461) üzenetére


And
veterán

Ez valóban konkrét infó, de sajnos még mindig kevés, mert hiányzik az eszköz címének konkrét értéke. Erre szolgál az "Offset" nevű regiszter, amelyet be kell állítani (default értéke 64), ill figyelembe kellene még venni az 1..3-as DIP-kapcsolók állapotát is, amelyre a megjegyzés utal (elvileg az Offset regiszter tartalma hozzáadódik az 1..3 DIP-ek által meghatározott értékhez, és az eredmény lesz a cím), de ezen a két oldalon nincs róla több infó. Ha elfogadjuk, hogy ezekkel a dip-ekkel beállítható a "0", akkor az eszköz slave címe 64 lesz. Hasonló a helyzet a kommunikációs paraméterekkel is, bár itt szintén van default beállítás: 19200, 8O1. A fenti beállításokhoz konfigurációs módba kell állítani az egységet, ennek a mikéntje szintén homályban marad.
Ha kipróbálod ezt, akkor elvileg a "DigitalT" és a "DigitalRH" nevű regiszterek értékét kell visszakapnod, 16-bites (signed) integer formátumban, tizedfok / tized-% egységekben:
modpoll -a 64 -r 7 -c 2 -b 19200 -d 8 -p odd -4 10 COM1.
A "TM" nevű regisztert olvasva pedig az "LG" textet (0x4C47) kell visszakapnod:
modpoll -a 64 -r 120 -t 4:hex -1 -b 19200 -d 8 -p odd -4 10 COM1.
Ez utóbbi a kommunikáció ellenőrzésére például megfelel, de jó lenne látni a komplett doksit. Hozzászólásban linkelni tudod, ha hozzáférhető a neten valahol, vagy te feltöltöd valahová, és onnan linkeled.

(#1472) And válasza kip.kop (#1463) üzenetére


And
veterán

(Ja, ha ezt a hozzászólásodat is elolvastam volna, akkor számomra is egyértelmű lett volna, hogy 64-es a slave cím :B. Szépen látszónak az előbb említett regiszterek, pl. a 7-es "DigitalT" értéke 289, vagyis 28.9 °C. Az 1..3 számú "Offset", "Baud rate" és "Data stream" regiszterek default értékei is jelen vannak: 64, 6, 2.)
Mod.: Igen, ezek szerint legfeljebb 26 regiszter tartalmát tudja lekérdezni, de a kezdő regiszter címe nem csak 1-es lehet, azt át tudod írni az "Address" mezőben.

[ Szerkesztve ]

(#1473) Blazkowicz válasza Szirty (#1465) üzenetére


Blazkowicz
tag

Szia Szirty. Nagyon köszönöm a válaszod :R . Elgondolkodtató.
Sok helyen írnak az OKJ-s képzésről (csupa jót :) ), de akkor ez csak a kezdet. Esetemben meg a kezdet kezdete lenne.

(#1474) kip.kop válasza And (#1471) üzenetére


kip.kop
csendes tag

Most jottem ra venetlenul, hogy nem en vagyok a hulye. Vagyis az vagyok, ha azt nezzuk, hogy tobb felekeppen probalkozhattam volna. Vagyis probalkoztam volna, ha ertettem volna, hogy hogyan mukodik az egesz. Na tehat arrol van szo, hogy "-r 1"-en nincs semmi. Valamilyen okbol kifolyolag "-r 2" az 1-es register, vagyis +1et hozza kell adjak mindegyikhez, hogy a megfelelo erteket kapjam. Tehat "A "TM" nevű regisztert olvasva pedig az "LG" textet (0x4C47) kell visszakapnod:
modpoll -a 64 -r 120 -t 4:hex -1 -b 19200 -d 8 -p odd -4 10 COM1.
" helyett a modpoll -a 64 -r 121 -t 4:hex -1 -b 19200 -d 8 -p odd -4 10 COM1 parancsot kell hasznaljam. S most vettem eszre azt is hogy szakadas van 109-120 register cimek kozott is, tehat 101-123 kozott nem tudtam egyben kiolvasni :)

[ Szerkesztve ]

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1475) And válasza kip.kop (#1474) üzenetére


And
veterán

Igen, sajnos ez az eggyel történő regisztercím eltolódás nem szokatlan a modbus-nál. A modpoll esetén is van opció (-0, 'First reference is 0') ennek a kezelésére, de épp azért nem írtam bele a paraméterek közé, mert a regisztertérkép 1-től indult.
Mod: a parancssoros modpoll csak lekérdezésre képes, az a GUI-s Modbus Poll esetleg képes az írásra (nem próbáltam), ha a funkciók között találsz írásra valót.

[ Szerkesztve ]

(#1476) kip.kop válasza And (#1472) üzenetére


kip.kop
csendes tag

Ja es nagyon szepen koszonom "And". :R Nagyon sokat segitett a peldad. :C
A kiolvasassal megvagyok, de most hogyan tudom irni amelyik irhato?

[ Szerkesztve ]

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1477) kip.kop válasza Szirty (#1466) üzenetére


kip.kop
csendes tag

Szia Szirty.
Ugy nez ki, hogy valamelyik Twido-t fogom hasznalni.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1478) kip.kop


kip.kop
csendes tag

Roviden es erthetoen kerem: mi a SCADA es HMI, es mire hasznalhatok?

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1479) #95904256 válasza kip.kop (#1478) üzenetére


#95904256
törölt tag

SCADA: Supervisory Control And Data Acquisition
HMI: Human-Machine Interface

Az előbbi a komplett gyártásfelügyeleti rendszert jelenti, míg az utóbbi a kezelőfelületet.

A SCADA tartja nyilván a gyártásban lévő termékeket, a gyártóberendezések állapotát és felügyeli a köztük lévő anyagáramlást.

A HMI alatt általában egy tapiképernyős kijelzőt szoktak érteni, amin keresztül be lehet avatkozni a gyártási folyamatokba. Valójában a HMI minden egyéb olyan eszközt is takar amivel a gyártási folyamatba lehet beavatkozni.

[ Szerkesztve ]

(#1480) Szirty válasza kip.kop (#1478) üzenetére


Szirty
őstag

Helló kip.kop!

akosf leírta a lényeget. Én csak annyit teszek hozzá, hogy a SCADA-t bonyolultabb rendszerekhez használják a gyártás magasabb szintjén. Vagyis a SCADA feladata inkább a gyártóberendezések és a vállalati (ügyviteli) rendszer közötti kapcsolat biztosítása.
Míg a HMI a gyártás alacsonyabb szintjéhez tartozik, (a szintek itt nem minőségi szintet jelentenek) gyártósor egyes berendezéseinek és a gép kezelője közötti kapcsolattartásra való.

A SCADA rendszerek összetettebbek, drágábbak, főleg PC-n futnak és képesek ellátni HMI feladatokat is.

(#1481) makrodom válasza Szirty (#1191) üzenetére


makrodom
csendes tag

Hello!
Azt hittem minden rendben van a gyakorlattal, de lehet tévedtem! :(

Ezért szeretném a segítségeteket kérni! Még áprilisban kértem segítséget... szerencsére kaptam is szépszámmal...amiért nagyon hálás vagyok!

Az a gondom,h amit kaptam példát (létradiagramot), én az alapján megrajzoltam az egészet és semmiféle paramétert nem állitottam be! Nos be kell valamit állítani?

Itt a létradiagram ismét:
[link]

Szóval,h én CX-Programerbe a MOV alá beírtam amiket ott írt(pl az elsőnél (21) , alá 2 , alá DM0, a másodiknál MOV,alá (21), alá #123, alá DM10 )... azzal már a paraméterek még nincsenek megadva igaz?! :(

Valamint,majd hogyan tudom feltölteni a programot a PLC-re? Simán átküldöm és már jó is lesz?

Válaszotokat előre is köszönöm!

üdv!

[ Szerkesztve ]

makrodom

(#1482) Dezsi82 válasza makrodom (#1481) üzenetére


Dezsi82
tag

Szia!
A paramétereket az első részben található MOV utasításokkal állítod be. Ha jól emlékszem, akkor minden paraméter be lett állítva, de nem esküszöm rá.
Elvileg rátöltöd a PLC-re és megy, legalábbis ha jól állítod be a be-, és kimeneti paramétereket.
Javaslom az akkor linkelt dokumentumok átnézését.

(#1483) makrodom válasza Dezsi82 (#1482) üzenetére


makrodom
csendes tag

Most próbáltam módositani a PID Operandsokat.
Nálam 3 van beirva egymás alá:
DM0
DM10
12
Mindháromnál a Name or address-t lehet csak módositani... s az Address or value automatikusan átirja magát a már megadott névre... ez így normális?

Nem tudom hogy máshogy állithatnám be a paramétereket vagy hozhatok létre változót! :(

Biztos nagy hülyeségeket kérdek,de tényleg nem tul sokat konyitok hozzá :( , viszont kénytelen vagyok megcsinálni!

makrodom

(#1484) makrodom válasza Dezsi82 (#1482) üzenetére


makrodom
csendes tag

Ja és elolvastam a hozzá tartozó dokumentációt is...
Úgy kell értelmeznem,h a PID szabályzó első megadott paramétere a forrás(DM0), második megadott paramétere, azaz DM10 az P1 + 10-nek fogható fel?!
És ez a rendszer által használt munkaterület?
És a harmadik pedig az eredmény?

Szóval a PID szabályzó a DM10 területen mozog DM0 és 12 között? Jól értelmezem? :) :))

üdv!

makrodom

(#1485) Dezsi82 válasza makrodom (#1484) üzenetére


Dezsi82
tag

Szia!
Hát majdnem jó. amit írtál, csak nem teljesen. :)
Első paraméter: IW (input word). Vagyis a pillanatnyi érték. (analóg bemenet)
Második paraméter: P1 (first parameter word) vagyis a PID adattáblájának első eleme. A CPU P1+32 területet használ fel. Az első 7 paramétert te állítod a MOV utasításokkal. A többit a CPU használja a saját számításaihoz. A te esetedben: DM10-DM16-ig vannak a PID paraméterek, de nem szabad használnod a DM17-DM42-t. Tehát ha módosítani szeretnéd valamelyik PID paramétert, akkor ezekre a területekre kell adatot mozgatnod.
Harmadik paraméter: OW(output word). Vagyis a szabályzott érték. (analóg kimenet)

Azt nem tudom, hogy az IW miért DM0 ráadásul fixen kettőre beállítva, gondolom az valami szimuláció miatt van úgy. Mert amúgy oda egy bemenet kell, vagy legalábbis egy bemenetből számított DM terület.

[ Szerkesztve ]

(#1486) kip.kop


kip.kop
csendes tag

Help!
Egy Twido-ban (PLC) szeretnem felhasznalni a mar korabban emlegetett meromuszerbol (LG35) az adatokat. Segitseget kerek, hogy ezt kb. milyen formaba keressem a dokumentacioban. Hogyan valositom meg ha a LD-t vagy a IL-t hasznalom? Valamilyen utmutatast ke'rek!
Koszonom.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1487) Marty76


Marty76
csendes tag

Sziasztok!

Egy Omron plc memóriáját ( DM#) szeretném beolvasni excelbe további felhasználás céljából.

http://www.youtube.com/watch?v=CWQdDuLAtoY

Van egy videó a Youtube-on..de gondolom ezt a videót már sokan látták
Elég vizuális magyarázat, de konkrétan nem tudom , hogy áll össze a hardver része.
Gondolom szükség van valamilyen Ethernet átalakítóra vagy csak simán RS232...?

Esetleg valaki már megvalósított egy ilyen feladatot ?!

Előre is Köszönöm!

[ Szerkesztve ]

(#1488) #95904256 válasza Marty76 (#1487) üzenetére


#95904256
törölt tag

Szia!

A videon látszik, hogy az emberünk a CX-Programmerben egy CJ1M CPU13 CPU-t konfigurál fel Ethernet/FINS kommunikációra. Ez azt jelenti, hogy egy Ethernet portos Omron PLC-ből és egy patch kábelből áll a dolog hardver része.

Sajnos az semmiből sem látszik, hogy RS232-őn keresztül is működne a dolog. Ahhoz az Excel bővíménynek Hostlink / Toolbus kommunikációhoz is kellene értenie.

Üdv,
Ákos

(#1489) makrodom válasza Dezsi82 (#1485) üzenetére


makrodom
csendes tag

Értem! :)

Szóval akkor én a paramétereket beállítottam és ha feltöltöm a PLC-re, akkor müködnie kéne? :))

Különben emlékszem valami olyanra,h mikor fel kellett tölteni a PLC-re előtte Online csatlakozást csináltunk majd aztán töltöttem rá a PLC-re... ez elég ésszerű is! :)

Köszi!
üdv!

makrodom

(#1490) Dezsi82 válasza makrodom (#1489) üzenetére


Dezsi82
tag

Elvileg igen.
Csak arra figyelj, hogy az első paramétert (IW) állítsd be, ne maradjon fix 2, különben a kimeneted vagy 100 %-ig kivezérlődig, vagy 0% marad a beállított értéktől függően.

(#1491) And válasza kip.kop (#1486) üzenetére


And
veterán

Ajánlom figyelmedbe ezt a dokumentációt: [link]. A 126. oldaltól láthatod a modbus kommunikáció megvalósítását Twido-n. A megoldás lényege az EXCHx utasítás (134. oldaltól), ill. a %MSGx belső funkcióblokk két állapotjelző bitje, a %MSGx.D és a %MSGx.E. A kommunikáció megkezdése előtt definiálni kell egy adott hosszúságú táblázatot, amely tartalmazza az összes szükséges paramétert. A 131. oldalon találod a táblát, amely három részre van osztva: vezérlő-, adási- és vételi táblázat. Utána szépen ki van fejtve, hogy az egyes elemeknek mi a szerepük. A korábban már megismert 3-as (és 4-es, mivel a kérés itt is ugyanúgy néz ki) funkciókód bővebb leírása a 145. oldalon van. A control table tartalma itt kötött, a transmission table tartalmában állítható be a lekérdezett slave címe, a slave-ből kiolvasandó regisztertömb kezdőcíme és a tömb hossza. Példaprogram a 140. oldalon, ezt átalakítva a neked szükséges feladatra úgy, hogy a DigitalT és DigitalRH nevű adatregisztereket olvassuk ki a slave egységből:
LD 1
[%MW0 := 16#0106 ]
[%MW1 := 16#0300 ]
[%MW2 := 16#4003 ]
[%MW3 := 16#0008 ]
[%MW4 := 16#0002 ]
LD 1
AND %MSG2.D
[EXCH2 %MW0:9]
END
Az első két word a control table, mint írtam, itt a tartalmuk kötött, lásd a funkciókód leírásnál. A %MW2..%MW4 a transmission table, itt adjuk meg a slave címét (64dec = 0x40), a modbus kérés funkciókódját (0x03), a kezdő regisztert (8, ami a DigitalT regiszter 7-es címe plusz egy), ill. a lekérdezett tartomány hosszát (2 db. word). A %MW5-től kezdődik a reception table, amelynek tartalma a slave válasza után áll be, ha nincs hiba a kommunikáció során. Utóbbi vételi tábla a következőket fogja tartalmazni:
%MW5: 0x4003, a slave címe és a válasz kódja, ezek a válaszban szintén megjelennek,
%MW6: 0x0004, az 'Rx offset' által beiktatott 0x00 (MSByte) és a kiolvasott byte-ok száma (LSByte), ami 4, hiszen két darab 16-bites word-öt kértünk le,
%MW7: ebben kapod meg az első lekért regiszter tartalmát, vagyis a DigitalT-t,
%MW8: ebben pedig a másodikat, azaz a DigitalRH-t.
A %MSG2.D bit jelentése: 'communication complete', ez azért kell, hogy a kontroller (több lehetséges üzenet kezelése esetén) csak akkor kezdje el küldeni az aktuális adatkérést a buszon, ha az előző már befejeződött.
Természetesen a hardverek megfelelő összekötéséről és a Twido portjának beállításáról a hw-konfigurációnál (lásd: 139. o.) előzőleg gondoskodnod kell. Az adattábla meg bárhol kezdődhet, nem csak %MW0-nál (a példában %MW0:9), és nem csak a 2-es számú (EXCH2 és %MSG2), egyébként opcionális portot lehet igénybe venni a feladathoz. Az alap, programozáshoz is felhasznált 8-pólusú mini-din aljzat az 1-es számú port. E port használatához az aljzat DPT-jelét GND-re kell húzni (128. o.), ill. az A-B adatvonalakra megfelelő fel- és lehúzó ellenállásokat kell kötni (129. o.).

(#1492) kip.kop válasza And (#1491) üzenetére


kip.kop
csendes tag

"az A-B adatvonalakra megfelelő fel- és lehúzó ellenállásokat kell kötni (129. o.)." ugy latom csak ezeknel a "EIA RS-485 Line Polarization on TWDLCA•40DRF Controllers" tipusoknal kell. Jelenleg mas fajata van.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1493) kip.kop válasza And (#1491) üzenetére


kip.kop
csendes tag

Jelenleg meg azzal foglalkozok, hogy a fizikai kapcsolatot letrehozzam.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1494) kip.kop válasza And (#1491) üzenetére


kip.kop
csendes tag

Fizikailag felepitettem.
"a kezdő regisztert (8, ami a DigitalT regiszter 7-es címe plusz egy)," nem kell hozzaadni plusz egyet, tehat a kezdo register 7.
Ugy gondolom mukodik egyelore minden.
Koszonom And :R

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1495) kip.kop válasza kip.kop (#1494) üzenetére


kip.kop
csendes tag

Kellett azert sokat keressem a dokumentaciokat ahol rendesen le vannak irva a pin-ek a fizikai felepiteshez.

""a kezdő regisztert (8, ami a DigitalT regiszter 7-es címe plusz egy)," nem kell hozzaadni plusz egyet, tehat a kezdo register 7."

diagslave: "Slave 64: readHoldingRegisters from 8, 2 references"

Arra kovetkeztetek, hogy a twido automatikusan hozzaad plusz egyet.

[ Szerkesztve ]

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1496) kip.kop


kip.kop
csendes tag

Hogyan tudnatok elmagyarazni, hogy mi az a "subroutine". Hogyan lehet hasznalni, mikor kell bevetni ... ? Kicsit hulyen hangzik a kerdes, de tudjatok , hogy egy kezdo kerdes ... :)

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1497) kip.kop válasza And (#1491) üzenetére


kip.kop
csendes tag

Van tipped hogyan olvasom le az egesz registert? mivel 3 reszre van osztva (1-26, 101-109, 120-123) ezert csak ezzel a modszerrel csak 1 reszt tudok lekerdezni beirni memoriaba.

Csak a 18-20 sort veszi figyelembe, nem hajtja vegre a 21-26 sorokat. De ha 21-23 sorban talalhato insztrukciokat raknam a 18-20 sorba, akkor az hajtodna vegre es kerdezi le a 101-109 register cimeket.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

(#1498) And válasza kip.kop (#1497) üzenetére


And
veterán

Persze hogy nem hajtja végre mindhármat, hiszen nem gondoskodtál arról, hogy ne egy futási cikluson belül indítsa a három kérést. Lásd a 479. oldalon: "If several messages are sent in the same cycle, only the first message is transmitted. The user is responsible for managing the transmission of several messages using the program."
Tehát neked kell gondoskodnod a lekérések 'elosztásáról'. Azon az oldalon találsz egy példát is, amely két üzenetet kezel, és egy jelzőbittel (%M0-val) irányítják a forgalmat: az első üzenettel párhuzamosan beállítják ezt a flag-et, és majd ez engedélyezi a másodikat, ha az első véget ért. Ugyanígy a második üzenet küldésekor törlik a jelzést, ami pedig az első üzenet végrahajtásának a feltétele. Ha kettőnél több üzenetet kezel a program, akkor nyilván nem elegendő egyetlen bit a jelzéshez, hanem létre kell hoznod egy számlálót: ezt az egyes üzenetek sikeres elküldésekor szépen inkrementálod, majd ha az utolsó is kész, akkor kinullázod. Az egyes lekérésekhez pedig a %MSG.D bittel ÉS kapcsolatban feltételként hozzárendeled, hogy a számláló a megfelelő (három EXCHx esetén: 0, 1, 2) értékű legyen.

(#1499) Szirty válasza kip.kop (#1496) üzenetére


Szirty
őstag

Hali kip.kop!

"Hogyan tudnatok elmagyarazni, hogy mi az a "subroutine". Hogyan lehet hasznalni, mikor kell bevetni ... ?"

A szubrutin egy alprogram, egy programrész, amit a főprogram bármely részéről meg lehet hívni. A hívás hatására a főprogram végrehajtása áttér a szubrutin végrehajtására, majd amikor a szubrutin végére ér, visszatér a főprogramba és annak végrehajtását a szubrutin hívását végző utasítás után folytatja.
A szubrutin hívás tehát egy vezérlés átadó utasítás, mint amilyen az ugrás is, de a szubrutin jellemzője, hogy "automatikusan" mindig oda tér vissza, ahonnan hívták (az ugrásnak nincs ilyen jellemzője).

A szubrutin általában egy bizonyos részfeladat ellátását végzi, amely feladatra a programban többször is szükség van. Másik jellemzője, hogy bizonyos programozási nyelvekben ( a PLC-nél is) a szubrutinnak paramétereket lehet átadni a hívás helyén, így a szubrutin azokkal a kiinduló adatokkal dolgozhat, és az eredményt visszaadja a hívó programnak.

Pl. ha egy vezérlésben sok csillag-delta motor indítás van, akkor lehet írni egy szubrutint ennek a feladatnak az ellátására. Paraméterként megkapja a start jelet, és egy időzítési értéket, esetleg a használni kívánt időtag számát. Visszaadja a hálózati kapcsoló, a csillag és a delta kapcsoló állapotait.
Így mindegyik motor indításánál csak meg kell hívni ezt a szubrutint megfelelően felparaméterezve, vagyis nincs szükség ugyanazon programrészeket újra és újra beletenni a programba, elég egyszer.
Továbbá a szubrutin hordozhatóbb. Vagyis változtatás nélkül átemelhetjük egy másik programba...

(#1500) kip.kop válasza And (#1498) üzenetére


kip.kop
csendes tag

Vegul is kitalaltam mar korabban 1 sorrendbeli leosztast, de gondoltam elkerulte a figyelmemet, hogy ezt egyszerubben is meg lehet oldani.

De meg ez elott gondoltam grafcet-tel oldom meg ami szekvencialis utasitasokat, tehat egymas utan kovetkezo utasitast jelent, es csak akkor lep a kovetkezo utasitasra ha egy kondicio teljesul es az lezarja az elozo feladatot is. De nem tudtam igazabol hogyan kell megirjam. Nem tiszta szamomra mit hova kell irjak es hogy lehet-e Ladder Diagramba bee'kelni Grafcet-et.

SC BeautyCare SRL: www.supernail.ro, www.superunghii.ro, www.crystal-nails.ro, www.sensx.ro

Útvonal

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