[elektro] fordító

Horváth Zsolt hozso_001 at freemail.hu
Sun Dec 11 18:15:14 CET 2011


   Szia!   Előre is bocs, ha nincs sortörés, de freemail webes felületéről írok. :D   Huhhh! Én itt a cégnél már régóta töröm a fejem ilyenben. Én is szerettem volna egy PLC-t csinálni, de erősen alszik a téma. Leginkább azért, mert olyan PLC-t, amilyet én is szeretnék alkotnni, lehet kapni, már 40-50 ezer HUF-ért, annyiért nem nagyon éri meg küzködni. :( Versenyezni legalábbis nagyon nehéz vele. ;( /Az Unitronics Jazzről van szó. Illetve ott vannak még az M91-esek is, azok 120 ezer körül vannak. 2x16-os LCD-vel, tasztatúrával egybeépítve. Azt kell mondanom: pofátlanul olcsó.)  Az én koncepcióm az volt, hogy legalább két port legyen a CPU-mra ráépítve. Az egyiken lehetne programozni, monitorozni, a másik meg MODBUS-on tudna bármivel kommunikálni. Így - elvileg - korlátlanul bővíthető lenne az IO száma. Sőt, távoli IO-kat is el lehetne helyezni a CPU-tól messze(bb). /Ja, mondanom sem kell, hogy a fent említett Jazz és M91 PLC-k - természetesen - ismerik a MODBUS protokollt. :D Zárójelben megjegyzem, hogy én a koncepciómat még az előtt találtam így ki, mielőtt ezekkel a PLC-kkel képbe kerültem volna./  Legutóbb MODBUS-os IO modulokat próbáltam alkotni (itt a listán is felvetettem a témát kb. 3-4 éve), de abból sem lett semmi. Ugyanis azokat is lehet kapni 22-25 ezer forint környékén. Ez alatt kicsivel ki lehetne ugyan hozni a sajátot, de csak minimális nyereséggel. (Talán 4-5 ezer HUF/db-ra.) De annyit meg nem tudnánk eladni, hogy ebből komoly bevételünk legyen. :( Szóval én - egyelőre legalábbis - feladtam. :D    Ja, volt egy másik "csapásirány" is ebben a témában. Léteznek PIC-re és azt hiszem, Atmel-re is olyan szerkesztők, amik PLC elven használják a kontrollert. Ezekkel ugye az a baj, hogy gyakorlatilag megvannak írva a PLC utasítások makrókkal és azokat "dobálja be" a programba, így egy PLC utasítás akár 10 - 50 (vagy ki tudja, mennyi) utasításnyi helyet foglal a programmemóriában. Így gyakorlatilag olyan, mintha kapnál egy olyan PLC-t, amibe csak mondjuk 100 létradiagram utasítás fér bele. Nos, ennek a problémának a megoldásaként én egy külső memóriát használtam volna (akár SPI-s, akár I2C-s), ebben lett volna tokenizálva tárolva a program. Futásidőben lett volna kiolvasva és értelmezve. Így persze jóval lassabb lett volna az egész, de talán lehetett volna egy kompromisszumos megoldást találni. De persze ebből sem lett semmi. :D    Na, ennyit a rinyáról! Hogy valamit érdemben segítsek is: én Excel-ben csináltam volna meg a fejlesztőkörnyezetet! Mivel csak létradiagramban lehetett volna programozni, így ideális lett volna egy táblázatban ábrázolni az elemeket. Nem kéne külön szenvedni az alapvető funkciókkal (Pl. keresés, csere stb.). A Visual Basic for Application elég könnyen tanulható, a példa, amit írtál, szerintem elég gyorsan és egyszerűen megvalósítható lenne benne.   Ha megkérlek, írnál néhány dolgot a PLC-dről? (Remélem, nem értettem félre: én úgy értelmeztem, hogy saját magad fejlesztesz egyet.) Ha nem nyilvános, akár magánban is! /Persze, ha nem akarod "nagy dobra verni", azt is megértem és nincs sértődés!/           Üdvözlettel: Horváth Zsolt 

"Sztrikó János" <elektrolista at gradev.hu> írta:
>Sziasztok!
>
>Ráérő időmben (ami alig van) pofozgatom a PLC-met. Szépen működik, 
>lassan készül alá a vas is. A probléma: kellene egy fordító, ami az 
>utasításlistát (kb. assembly) gépi kóddá alakítja. Írtam egyet (a 
>string.h/strtok felhasználásával), ami működik is, de érzem, hogy nem ez 
>az igazi, hiszen erre már vannak jól kitalált eszközök-programok. A 
>google a "compiler compiler" keresésre ad 458000 találatot, de mindenki 
>magas szintű fordítót akar csinálni velük, ilyen egyszerűre nem találok 
>példát.
>Tudnátok javasolni valami alkalmas programcsomagot?
>
>Ilyesmi kell:
>
>LD 10.0    ->   0x20 0x10 0x00
>OR 5.1     ->   0x30 0x05 0x01
>OUT 100.8  ->   0x40 0x64 0x08
>
>(fiktív utasításkódok, de ez most lényegtelen)
>
>Köszönöm a segítséget!
>
>SzJ
>
>-----------------------------------------
>          elektro[-flame|-etc]


More information about the Elektro mailing list