Fórum témák

» Több friss téma
Fórum » PLC kérdések
 
Témaindító: Thomas10100, idő: Nov 12, 2005
Témakörök:
Lapozás: OK   30 / 129
(#) mazso1988 válasza Szirty hozzászólására (») Jún 1, 2011 /
 
Délután megpróbálom ujra.
(#) kameleon2 válasza Farkas Gábor hozzászólására (») Jún 1, 2011 /
 
SZiasztok!

Nem éppen erre a problémára találták ki a SCADA-t? A Moellernek is van - ráadásul ha az eszközt megvetted a szoftverlicensz pontjaid miatt ingyenesen kapod. Ha jól emlékszem talán Galileo a neve. Nyilván az objektumok készen vannak de a rendszert neked kell felépíteni. Ha kész akkor már akár webről is nézegetheted. Azt nem tudom, hogy éppen az Easy 820 ezt mennyire támogatja.
(#) Szirty válasza kameleon2 hozzászólására (») Jún 1, 2011 /
 
Helló kameleon2!

Szerintem te is félreértetted a kérdést.
A SCADA-val meg lehet csinálni (én is olyasmivel, konkrétan HMI-vel csináltam ilyet) , de hogy erre találták volna ki, az túlzás...
(#) mazso1988 válasza Szirty hozzászólására (») Jún 1, 2011 /
 
Hali Szirty

Hogyan tudnék ilyen rendszer üzenetet amit írtál beletenni a projectembe?
(#) Szirty válasza mazso1988 hozzászólására (») Jún 1, 2011 /
 
Hali mazso1988!

Ami megjeleníti a HMI rendszer üzeneteit, hogy kiderüljön felvette-e a kapcsolatot?

Azért tettem oda egy képet a mellékletbe, mert számítottam erre a kérdésre.

Tehát leraksz egy"Alarm View" nevű objektumot és beállítod úgy, hogy a képen van.
(#) mazso1988 válasza Szirty hozzászólására (») Jún 1, 2011 /
 
Megvan köszi.
Meg is próbáltam de nem tudott kapcsolódni az S7-200 CPU-hoz.

Set PG/PC Interface fülnél MPI (Wincc) PC/PPI cable van kiválasztva.

komm.JPG
    
(#) Szirty válasza mazso1988 hozzászólására (») Jún 1, 2011 /
 
Hali!

Alakul ez. majd állítsd két sorosra az alarm view-et, vagy szélesebbre az ablakot, hogy kiderüljön hova is nem tudott írni.
Egyébként az acces pointra panaszkodik. olyan, mint ha olyan access pontot adtál volna meg, ami nem létezik.

(Miért MPI? Az S7-200 nem tud MPI-t, csak PPI-t)
(#) mazso1988 válasza Szirty hozzászólására (») Jún 1, 2011 /
 
Olvasgatom az oldaladon a HMI részt nagyon jó.

Ahogy a csatolt képeken van jelenleg így próbálom csatlakoztatni.
(#) Szirty válasza mazso1988 hozzászólására (») Jún 1, 2011 /
 
Hali mazso1988 !

Ez így jó nyilván ha a Microwin látja a PLC-t, akkor a PG/PC interface-ben jól van beállítva.
Már csak az a kérdés mit adtál meg access pointnak a Wincc Flex-ben és hogy a WinCC Flex milyen kommunikációs interfészt kapott.

Ezekkel lehet a probléma. De újra megjegyzem, hogy S7-200-assal nem szoktam foglalkozni.
(#) mazso1988 válasza Szirty hozzászólására (») Jún 1, 2011 /
 
Az Acces pointot a vezérlőpult set/pg interface-nél tudom csak állítani vagy magában még a Wincc-ben is tudom ezeket a paramétereket külön állítani?

Én Wincc-ben csak a communications fülnél állítottam.
(#) Szirty válasza mazso1988 hozzászólására (») Jún 1, 2011 /
 
Hali!

Tehát az access point lényege a következő:
A PC-n a Set PG/PC interface-nél létre tudsz hozni access pointokat illetve van pár gyári is.
Mindegyiknek van egy neve és mindegyikhez be lehet állítani egyet a felsorolt interface-ek közül.

Az access point egy preset lényegében. A nevével lehet rá hivatkozni és mindazokat a beállításokat képviseli, amiket hozzá állítottunk be PG/PC interface beállításoknál.

A Flexible projectnek megadhatod, hogy melyik access pointot használja. Az access point pontos nevét kell beírni neki. Ha van olyan nevű access point beállítva a set PG/PC interface-ben, akkor annak megfelelően próbál meg kommunikálni.
Ezen a képen látható hol van megadva neki az access point neve.

Mivel az access pointok lényege nem csak az, hogy különböző beállításokat képviselhetnek, hanem függetlenek is egymástól, meg lehet velük csinálni pl. azt, hogy futtatsz egy WinCC Flex runtime-ot egy gyárban a saját gépeden, ami egy vagy több berendezésről ad neked infót és mondjuk a PLC-kkel etherneten keresztül kommunikál. Eközben te elindítod a Step7-et és MPI buszon keresztül programozni, monitorozni kezded. A két eltérő kommunikáció párhuzamosan, egymástól függetlenül zajlik (ethernet és MPI). Ha az említett Flex runtime is az alapértelmezés szerinti S7ONLINE nevő access pointot használná, amit a Step7 környezet, akkor ezt nem lehetne megcsinálni, mert a flexible is MPI-n akarna kommunikálni.

Itt írtam róla régebben
Meg itt is

Ha te a flexible-ben az alapértelmezés szerinti S7ONLINE-on hagytad az access pointot, akkor hiába működik jól a Microwined S7-200-al, a Flex runtime az S7-300-hoz beállított interfészen keresi!
(#) mazso1988 válasza Szirty hozzászólására (») Jún 2, 2011 /
 
Hali Szirty
Szépen lassan már kezd világos lenni számomra ez az egész, akkor ezen a csatolt képen látszik hogy nálam az Acces point neve Micro/Win ha ezt én a Wincc-ben átírom S7ONLINE-ról Micro/Win-re akkor már működhet?
(#) Szirty válasza mazso1988 hozzászólására (») Jún 2, 2011 /
 
Hali mazso1988!

Pontosan!
Vagy a Set PG/PC interface-ben az S7ONLINE access pointhoz tartozó beállítást állítod be ugyanúgy, ahogy a Micro/Win nevű van beállítva.
(#) mazso1988 válasza Szirty hozzászólására (») Jún 3, 2011 /
 
Szia Szirty

Hát valahogy nálam sajnos nem akar kommunikálni a Wincc az S7-200 CPU-val, végső esetben megtudnám próbálni amiket kiszeretnék jeleníteni Siemens OP3 Operator panelon is.

Megtudnád esetleg mondani hogyan lehet adatátviteli módba tenni az OP3-at, OP7-nél tudom de ennél sajnos nem.
(#) mazso1988 válasza mazso1988 hozzászólására (») Jún 3, 2011 /
 
Közben megtaláltam

Adatfeltöltést az RJ csatlakozóján keresztül kell?
(#) zolika0323 hozzászólása Jún 5, 2011 /
 
Hahó valaki Yokogawa DCS-ben nincs otthon véletlenül. Ebben írom a szakdolgozatomat és lehet el kellene egy kis segítség mert egyedül több idő rájönni a dolgokra.
Amit használok az a centum cs300 progi.

Előre is köszi a segítséget.
(#) mazso1988 hozzászólása Jún 8, 2011 /
 
Szia Szirty
Szeretném megkérdezni hogy azon kivül hogy a WinCC-ben a communication fülnél beállítom a megfelelő protokolt + az Acces pointnál is hozzárendelem a megfelelőt utána működni kéne neki elvileg igaz?
Ennek ellenére nálam továbbra sem hajlandó a Runtime kommunikálni az S7-200 ezközzel és már egyszerűen nemtudom mihez kezdjek.
De én úgyveszem észre hogy már a kapcsolat sem akar felálni mert nem is látszik a kommunikációs kébelem sem semmi.
(#) Szirty válasza mazso1988 hozzászólására (») Jún 9, 2011 /
 
Hali!

Ha ugyanazon azon az S7-200 kommunikációs porton, ugyanazokkal a beállításokkal használod, amivel ugyanazon a gépen a MicroWin zavartalanul kommunikál, akkor gondolom elvileg igen.

De S7-200-al még soha nem próbáltam WinCC flexet összehozni, nem tudok több tippet adni!
(#) watt hozzászólása Jún 18, 2011 /
 
Sziasztok!
Lehet tudni, hogy a PLC-k MODBUS protokolon milyen formátumban szokták a lebegőpontos számokat átadni a masternek(OPC szerver, SCADA rendszerek)? RTU vagy ASCII mód a szokásos?
Egy 4(vagy több) bájton ábrázolt lebegőpontos számot csak akkor lehet értelmezni, ha a master is igyanúgy írja le(értelmezi), de ráadásul az ilyen számokat bájtonként nem is nagyon lehet írni, csak unionos trükközésekkel, így elképzelni nem tudom, hogy RTU módban hogyan szokták ezt megoldani.
Én meg tudnám oldani a magam módján, nem is ez a gond, hanem az, hogy hogyan szokták! Nekem most egy olyan megoldást kéne választanom, ami elterjedt, és fel vannak készítve rá az OPC szerverek, illetve a SCADA rendszerek!
Köszönöm előre is, ha valaki utánanéz, vagy tippet ad, hogy hol lehetne ilyen infót nyerni!
(#) jym válasza watt hozzászólására (») Jún 18, 2011 /
 
Üdv!

RTU-t szoktak alkalmazni az én tapasztalatom alapján. A formátum az IEEE szerinti 32 bites lebegőpontos szám, vagyis ez 2 regiszterben (2 szóban) tárolódik.

Példa egy MODBUS RTU-t használó eszköz pdf-jéből:

Registers 16 and 17: "Setting 1 cooling (P121)"

A 17-es szóban van a magas helyiérték (ezt ellépteted 16 bittel balra), a 16-osban pedig az alacsony helyiérték, ezt meg beteszed a DWORD alsó 16 bitjébe.

Itt egy példa ST nyelven:

(* fg. deklaráció *)
FUNCTION DW_TO_REAL : REAL
VAR_INPUT
hiWORD: WORD;
loWORD: WORD;
END_VAR
VAR
temp: DWORD;
pt: POINTER TO REAL;
END_VAR

(* kód *)
temp := SHL(WORD_TO_DWORD(hiWORD), 16) OR WORD_TO_DWORD(loWORD);

pt := ADR(temp);
DW_TO_REAL := pt^;

Imi.
(#) watt válasza jym hozzászólására (») Jún 18, 2011 /
 
Idézet:
„IEEE szerinti 32 bites lebegőpontos szám”

Ez haszon infó. Most már csak az a gondom, hogy a C18 (PIC C nyelv) úgy tűnik nem ezt a formátumot használja. Viszont ha kell átkonvertálható.

Még azon gondolkodom, hogy az OPC szerver hogyan kérdezheti le a lebegőpontos számot? Melyik funkciókóddal? Fel, vannak-e készítve szerinted arra, hogy ha pl, a Coils funkció nincs támogatva a slave által, akkor a Holdig(03) funcióval próbálkozzon?

Elképzelhető, hogy a PLC-k eltérő módon kommunikálnak, már ami az OPC szerverekhez való illesztést illeti? Vagy erre is van talán valami szabvány? Esetleg az OPC szerverek fel vannak készítve a nagyobb gyártók megoldásaira, amit ki kell adott esetben választani, azaz nekem egy ilyen gyártót kéne utánoznom, ha nem akarok problémát a kommunikációban, ha több SCADA megoldáshoz akarnám használni a slavemet(pl. DeltaV, iFix, OPTO)?

Hol lehetne ilyen infókat beszerezni?
(#) Wallami válasza Thomas10100 hozzászólására (») Jún 18, 2011 /
 
Hali nekem van FEC34-em ha komojan gondolod írj.
(#) Wallami hozzászólása Jún 18, 2011 /
 
Sziasztok egy kis segítséget kérnék
FEC34-hez kellene programozó kábel...
Az ára borzalom, így csináltam eggyet de az istennek nem megy. Átnéztem a bekötést: jó, kimértem: nincs szakadás. Az 5V-ot külön táprol adtam neki.
De mint említettem nem igazán megy.
Ha valaki tudna segíteni nagyon megköszönném.
(#) watt válasza watt hozzászólására (») Jún 18, 2011 /
 
Azt már kiderítettem, hogy a C18 is az IEEE 754/1985 -öt használja, csak a VB6 nem, vagy elírtak valamit a max-min értéktartományon, mindegy...
(#) Strucc válasza watt hozzászólására (») Jún 19, 2011 /
 
A Modbus protokoll nem határozza meg a real értékek ábrázolását, ezért viszonylag gyakori megoldás az is, hogy int-ként ábrázolják, és leírják, hány tizedessel kell eltolni, illetve hogyan kell azt értelmezni.

Az okos SCADA vagy HMI alkalmazások egyébként töggnyire minden elterjedt ábrázolási módot kezelnek, vagy lehetőséget biztosítanak azok programozására. Mindenesetre az IEEE 754 formátumú real ábrázolás elég jó megközelítésnek tűnik.
(#) Strucc válasza watt hozzászólására (») Jún 19, 2011 /
 
A legutóbbi alkalommal a REAL konverziónál nekem pusztán a leíró bájtok sorrendje okozta a problémát... valami ilyesmi lett a megoldás:

(* Reverse Data Array for easier access *)
barTemp[0] := RX_PACKET.barData[3];
barTemp[1] := RX_PACKET.barData[2];
barTemp[2] := RX_PACKET.barData[1];
barTemp[3] := RX_PACKET.barData[0];


ptrREAL := ADR(barTemp[0]);
(#) jym válasza watt hozzászólására (») Jún 19, 2011 /
 
Üdv!

Ezek szerint kiderült, hogy a C18-as fordító is IEEE-t használ.

Amit biztosan tudok saját tapasztalatból, hogy IEEE-t használ:

- Codesys alapú PLC-k V2.xx CodeSys-el
- Windows alatti mingw fordító
- linux alatti gcc (az új verziók biztosan)
- armcc V4.1 (Nuvoton Cortex M0-hoz használom Keil alatt)
- Visual Studio 2005 (gondolom a 2008 is) alatt lévő WindowsCE-re fordító

Szóval ha IEEE a közös nevező, akkor csak annyi dolgod van, hogy áthozd a 4 byte-ot (2 szót), és a másik oldalon figyelj a byte sorrendre, és kész is. FC3-al és FC4-el lehet szavakat olvasni. Az, hogy melyik eszközben melyikkel, az eszközfüggő.

Ha az eszközben IEEE, de a másik oldal nem, akkor is olvasd ki őket, alakítsd IEEE-re, aztán utána hozd IEEE-ről a kívánt formára, ilyen függvények biztosan vannak a neten.

Egyébként Strucc-nak igaza van, a modbus nem írja elő a REAL értékek ábrázolásást, az általa felvetett int-es megoldás is jó.

Imi.
(#) watt válasza jym hozzászólására (») Jún 19, 2011 /
 
Köszönöm mindenkinek a válaszokat!

Igen, azt tudom, hogy a MODBUS nem ír elő ilyet. Ezért kérdeztem, hogy esetleg van e valami megállapodás az OPC szerverekkel kapcsolatos adatformátumokra.

Próbáltam úgy fogalmazni a kérdéseket, hogy világos legyen, én nem kiolvasni akarok, hanem egy eszközt építek, aminek illeszkednie kéne a SCADA rendszerekhez.

Közben rájöttem, hogy nem jól közelítettem meg a problémát. OPC collectort minden gyártó maga ad a termékéhez, ha ad. Tehát a megoldás, hogy a termékhez OPC Collectort írok. Úgy tűnik ez támogatva van, csak nem tűnik túl egyszerűnek. Bővebben: Link
(#) watt válasza watt hozzászólására (») Jún 19, 2011 /
 
A másik megoldás az lehet, hogy rábízom a SCADA programozójára, hogy mazsolázza ki az általam leírt protokol szerint átadott értéket.
Végül is sok olyan eszközt ismerek, ahol nem vitték túlzásba az illeszthetőséget, azaz interfészeket kellet beiktatni. Utópia lesz azt hiszem, hogy csak rádugom és működik...
(#) icserny válasza watt hozzászólására (») Jún 19, 2011 /
 
A C18 fordító az IEEE 754 standard-ot követi, két kivétellel:

1. A azámolás során keletkező "subnormal" számokat nullának veszi.
2. A kerekítésnél a C18 a Round to Nearest módot használja.

Bővebben a C18 Lib Help-je ír róla (Floating Point kulcsszóra keress).
Következő: »»   30 / 129
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem