Dobrý den
Prosím umí tady někdo programovat v Mosaicu ?
hu
#3 hlucheucho
Dobrý den,
chtěl bych se Vás zeptat, zdali by jste mi neporadil s programováním v Mosaicu. Jde mi o to, že bych potřeboval data z PLC Tecomat Foxtrot číst a posílat na uložiště NAS(synology), kde bych je dále spravoval v SQL databázi. Teď mi jde hlavně o to, dostat ty data z PLC na uložiště pomocí bloku fbHttpRequest. Děkuji za jakoukoli odezvu, či email, kde bych s Vámi mohl komunikovat.
S pozdravem,
.inC
Rok stará záležitost se nepohnula? Možná by chtělo začít samostudiem dokumentace MOSAIC a pak nějakým experimentem od nejjednoduššího po složitější se učit. Za rok by se to asi zvládlo. Z rychlého nahlédnutí do dokumentace jsem měl pocit, že je to jen vizuální nástroj k programování PLC. Působí to "klikacím" dojmem podobně jako se třeba programovalo LOGO! nebo Mitsubishi Alfa.
Je potřeba vědět, jaké má použité PLC rozhraní pro čtení dat (RS485, Ethernet...) a komunikační protokol. To je určující pro způsob komunikace. Vše by mělo být popsáno v dokumentaci. Pokud má PLC RS232, bude se chovat jako slave, komunikaci bude muset zahajovat systém, který chce data přečíst a zaznamenat do DB. Tento systém může být naprogramován v jakémkoliv programovacím jazyce a může běžet na stejném stroji jako samotná DB. Stejný přístup bude pravděpodobně platit i pro RS485 Pokud PLC používá Ethernet, možná půjde naprogramovat jako DB klient, který se sám připojí k DB na jiném počítači a bude provádět zápis dat do tabulky.
Ještě jsem se podíval na knihovny a narazil jsem na " Sériové a Ethernet komunikace Tecomat " ... asi lze přímo na stránkách výrobce získat i ukázky a možná i "muster" jak to udělat.
Studijní materiály se dají vygůůůglit snadno a rychle http://www.tecomat.com/index.php?ID=365
komunikace s DB, "konektory" pro různé programovací jazyky a ukázky jak na to najdeš v dokumentaci k DB.
Ještě pozn.: reagoval jsem na stručnou a přesnou odpověď na dotaz. Asi byla očekávána jiná odpověď...
hu
#5 hlucheucho
Komunikace je přes ethernet. Dokumentaci, knihovny mám samozřejmě vytištěné a snažím se z nich čerpat, ale můj největší problém je to že v mosaicu dělám prvně a do konce dubna musim odevzdat BP... proto se snažím najít někoho kdo to umí, a vysvětlil mi, v jakém tvaru zadávat proměnné u toho bloku fbHttpRequest, protože z knihovny InternetLib, která obsahuje ten blok, mi to není moc jasné. Když rozjedu zápis dat do té DB, tak budu v klidu, protože mě tlačí to, abych měl nasbíráno co nejvíce dat.
.inC
http://www.tecomat.com/wpimages/other/DOCS/cze/TXV00354_01_Mosaic_InternetLib_cz.pdf strana 25 popis. Blok je určen pro komunikaci s webovým serverem. Jsou tam i ukázky.
Na straně 30 je ukázka odeslání dat na webový server s požadavkem na uložení dat do DB. Na straně 31 je PHP script - ten běží na straně serveru, který uloží data do DB.
Potřebuješ vědět, na jaké IP je tvůj webový server (není nutné mít webhosting, stačí běžný PC a nainstalovat Apache) a na jakém portu naslouchá (obvykle port 80, Windows ale rády tento port uzurpují, musel jsem nedávno Apache nastavit na port 8080). Více o metodách GET a POST nejdeš v tutoriálu jak udělat web (najdeš např na http://www.itnetwork.cz )
Vypadá to, že v dokumentaci je tvůj problém již vyřešen a stačí ho "naroubovat" na konkrétní DB (víceméně závisí na nainstalované konektivitě u Apache, výběr je široký) a nějak mu "nacpat" tvoje data z kontroléru.
hu
#7 hlucheucho
Ano, podle toho se to snažím dělat. Apache(ver. 2.2) mi běží na Synology. PHP script mám zakomponovaný v aplikaci phpMyAdmin, která také běží na Synology. Jediné co mi dělá problém, je nastavit to v tom mosaicu. V těch skriptech to mají psané v STčku a já mám půl programu v LD a půl v ST. A nevím jestli stačí ten blok fbHttpRequest, který na sebe nabalí i bloky jako NsLookUp přidat a nastavit v tom ST, nebo to musí být i v LD...
.inC
Prohledal bych manuály nakolik lze oba způsoby kombinovat v jedné aplikaci a jak to udělat. Spíš bych se snažil oba způsoby nekombinovat.
Pokud můžu většinu opsat, asi bych i pro ostatní věci kolem komunikace postupoval stejně - použil bych ST. Zkusil bych si oživit jejich příklad aby poslal jakákoliv (třeba i "natvrdo zadrátovaná") data. V této fázi není zatím nutné řešit spolupráci se zbytkem aplikace v PLC. Pak bych se to pokusil ohnout na svoje potřeby - počet a typ proměnných. Pokud máš část ST a část LD, asi umíš udělat spolupráci takto vytvořených částí a jejich integraci do jedné aplikace.
Zkusil bych, zda vývojové prostředí umí z LD generovat skript ST nebo naopak, pak by ta integrace mohla být snažší.
hu
Dobrý deň, podarilo sa Vám vyriešiť tento problém? Riešim podobný problém a neviem si rady ako naprogramovať PLC v jazyku LD. Chcem to spraviť pomocou knižnice MQTTLib v prostredí Mosaic. Neviem ako správne to nadefinovať a či je potreba k použití tejto knižnice (daného funkčného bloku) použiť aj niečo iné funkcie/funkčné bloky.
Mám PLC ku ktorému sú pripojené 2 moduly (C-RQ-0600), ktoré merajú teplotu, vlhkosť a CO2. Chcem to odosielať na server kde mi beží databáza. Neviem ako mám zadefinovať/ naprogramovať PLC aby mi to zbieralo dáta v čase a odosielalo cez MQTT na daný server.
Ďakujem za odpoveď.
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku