Vítej, Host. Prosím přihlaš se nebo se zaregistruj.
24.04.2026, 20:43:58

Domů Nápověda Vyhledávání Přihlásit Registrovat
 
Fórum k produktům firmy ELSACO Kolín  

+  PROMOS fórum
|-+  FRED - grafické vývojové prostředí
| |-+  FRED - platforma XCom
| | |-+  Jak na nestandardni komunikaci
0 uživatelů a 1 Host prohlíží toto téma. « předchozí další »
Stran: [1] Dolů Tisk
Autor Téma: Jak na nestandardni komunikaci  (Přečteno 8490 krát)
anonym
člen

Příspěvků: 33



« kdy: 16.12.2009, 07:57:35 »

Potrebujeme zrealizovat prevod TCP <-> seriova linka. Z vasich stranek jsem vyrozumnel, ze by se dalo realizovat pomoci XCOM. Problem je v tom, ze zakaznik ma na seriove strane atypicky protokol, na ktery asi nebude v knihovne modul a my bychom ho chteli prevest na Epsnet. Da se s tim neco delat?
Zaznamenáno
libor
moderátor+

Příspěvků: 388



« Odpověď #1 kdy: 16.12.2009, 11:34:53 »

U XCOMu jsou v zásadě 2 možnosti. Můžete použít univerzální modul SerialComm. Ten je na platformě XCOM (XCPU apod.) hlavně kvůli kompatibilitě (a převodu) projektů z PL2, a proto bych vám doporučil druhou možnost.

Tou druhou  možností je vytvoření vlastního knihovního modulu. Po založení projektu knihovního modulu napíšete jeho funkci v programovacím jazyku C. Následně z něj vytvoříte "krabičku" a můžete ho používat v projektu stejně jako používate ostatní knihovní moduly.
Zaznamenáno

anonym
člen

Příspěvků: 33



« Odpověď #2 kdy: 16.12.2009, 13:05:02 »

Koukal jsem na ten SerialComm a asi bude opravdu lepsi vlastni modul. Ale jak na nej? Vyplazuji jazyk  Myslite, ze to zvladnu sam?
Zaznamenáno
libor
moderátor+

Příspěvků: 388



« Odpověď #3 kdy: 16.12.2009, 15:28:43 »

Určitě to zvládnout lze, pokud alespoň trochu ovládáte programovací jazyk C.

A jak na něj? (podrobnější návod najdete v nápovědě pro danou platformu)

Při zakládání nového projektu vyberte možnost projekt modulu. Místo listů schématu před sebou uvidíte 6 listů, na kterých se definují vlastnosti a funkce modulu:
  • dokumentace - slouží pro zápis dokumentace modulu a jeho popisu do knihovny
  • dialog - zde se tvoří dialog pro nastavení parametrů
  • parametry - list pro definici parametrů, proměnných, atributů ...
  • obrázky - list pro výběr ikony pro zobrazení v knihovně a bitmapy pro zobrazení na listu shcématu (tento list je jediný nutné vyplnit)
  • zapojení vývodů - list pro definici vstupů a výstupů, jejich typů atd.
  • program - definice programu (neboli funkce) modulu.

Postupným vyplněním těchto listů (případně jen některých) si vytvoříte základ modulu. Následně přes menu Projekt -> Vytvoření knihovní prvku -> Vytvořit knihovní prvek (klávesová zkratka F7) vytvoříte knihovní modul, který se na disk uloží jako .ol soubor. V knihovně ho vidíte ve vámi vybrané skupině nebo ve skupině Moduly z knihovny projektu.

V tuto chvíli se dá použít modul pro překlad. Aby bylo ladění snadnější, lze do projektu modulu přidat list(y) schématu (stejně jako v klasickém projektu). Na tyto listy je možné vložit nově vytvořený modul, stejně jako všechny ostatní (nezapomeňte modul Debug pro ladění).

Při dalším ladění modulu (změně programu apod.) můžete využít klávesové zkratky F8, která provede 3 operace naráz, a to: vytvoření modulu, jeho náhradu v projektu a spustí překlad takto upraveného projektu do jednotky. Vyjímku tvoří změna parametrů, protože parametry si modul pamatuje (pak není nutné nastavovat parametry znovu při každém vytvoření knihovního modulu), takže při změně parametrů nebo jejich vlastností je potřeba modul z projektu smazat a znovu ho do projektu vložit.
Zaznamenáno

maxim
člen

Příspěvků: 32



« Odpověď #4 kdy: 17.12.2009, 08:12:36 »

Hmmm moc pěkné, ale co tak konkrétní příklad s obrázkama? Třeba třívstupý aritmetický součet reálných čísel? (abych to pochopil i já)  Co???
Zaznamenáno
libor
moderátor+

Příspěvků: 388



« Odpověď #5 kdy: 18.12.2009, 10:02:20 »

V nejbližší době umístím sem na fórum buď sérii obrázků nebo krátké video, jak vytvořit knihovní prvek. V ukázce bude vše: obrázky, dokumentace, parametry, dialog, rozmístění pinů i program. Knihovní prvek bude na jiné téma, protože součet 3 (4) čísel nepotřebuje parametry (a tudíž ani dialog).

V příloze připojuji projekt modulu na součet 4 čísel (použil jsem univerzální obrázek pro 4 vstupy a 4 výstupy). Jedná se o jednoduchý modul, na kterém je ukázáno nastavení obrázků, vyplnění dokumentace, definice vstupů a výstupů a zápis programu. Dále je v projektu přidán ladící list schématu pro okamžité vyzkoušení vytvořeného knihovního modulu.



(připojený soubor vidí pouze registrovaní uživatelé)
Zaznamenáno

anonym
člen

Příspěvků: 33



« Odpověď #6 kdy: 21.12.2009, 08:15:40 »

Kouknul jsem na pripojeny projekt a trochu mi pomohl. Nejakym postupnym navodem ovsem taky nepohrdnu, ale asi bych uz pomalu zkousel neco sam. Zacal bych komunikaci, ale jak na ni? Nevím co si myslet/Nerozhodný
Zaznamenáno
libor
moderátor+

Příspěvků: 388



« Odpověď #7 kdy: 21.12.2009, 09:46:29 »

Všechny potřebné informace by měly být v nápovědě pro danou platformu. Jsou tam popsány jednotlivé API příkazy, které lze při programování použít. A dále jsou tam zveřejněné zdrojové kódy od všech knihovních modulů, které jsou v knihovně k dispozici.

Pro váš komunikační modul mohu doporučit podívat se na nějaký jiný (master) komunikační modul např. Epsnet Rx (int). Zde jsou některé fragmenty, které využijete při práci s portem.

Kód:
// inicializace portu (ComNr, Baud, Parity jsou parametry nastavitelné v dialogu)
trap_PortInit(ComNr, Baud, Parity);


// zamek komunikacniho portu
comlock[ComNr] ...

// zapis na port
trap_PipeWriteN(ComNr * 2, (unsigned char*)buffer, 14);

// cteni z portu
trap_PipeReadN(ComNr * 2 + 1, (unsigned char*)buffer, 9 + Length);

Zaznamenáno

libor
moderátor+

Příspěvků: 388



« Odpověď #8 kdy: 22.02.2010, 08:16:38 »

Hmmm moc pěkné, ale co tak konkrétní příklad s obrázkama?

V příloze připojuji obrázkový postup obecné tvorby modulu.

(připojený soubor vidí pouze registrovaní uživatelé)
Zaznamenáno

libor
moderátor+

Příspěvků: 388



« Odpověď #9 kdy: 26.02.2010, 11:08:11 »

V příloze připojuji další postup, a to tvorby konkrétního modulu. Projekt tohoto modulu je již možné v tomto vlákně stáhnout.

(připojený soubor vidí pouze registrovaní uživatelé)
Zaznamenáno

Stran: [1] Nahoru Tisk 
« předchozí další »
Skočit na:  


Poháněno MySQL Poháněno PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines Validní XHTML 1.0! Validní CSS!