Diskuse Elektrika.cz

HYBRIDNÍ zóna => Technická podpora výrobce TECO Kolín radí odborníkům => Téma založeno: Slavomír Skopalík 09.10.2012, 12:34



Název: Jak je to s podporou uživatelského kódu ve webmakeru?
Přispěvatel: Slavomír Skopalík 09.10.2012, 12:34
Moderátor: odděleno z vlákna "Kdo je autorem stranek nahranych do PLC Foxtrot?"

 popravde Vasi logice nerozumim.
Teco prezentuje Foxtrot a Mosaic (cena licence srovnatelne s kompletnim Visual Studiem) jak nastroj pro programatory a pro tvorbu slozitych aplikaci spickovimi programatory. Na druhou stranu zde pisete ze nejen ja a my programatori, ale ze ani ostatni programatori nejsou schopni psat elementrarni veci.

Kdyby byla alespon moznost spustit po prekladu nejaky dalsi skript, ale Mosaic jak je udelan je strasne limitujici (mizerna dokumentace neni jen k WebMakeru, ale i k jinym castem, nepriklad chybi i prikazu jazyka ST jejich uplna syntaxe).

Konkretne treba pro grafy existuji knihovny v JS, ktere jsou primo paradni a staci je pouze pridat ke strance + 3 radky kodu.
Dalsim problemem je pristup vice uzivatelu k jedne www strance, zde se pri architekture Mosaic + Foxtrot bez JS vubec neobejdete (na strane www serveru neni moznost sriptovat data podle informaci v URL, nebo sesion, takze pokud si jeden uzivatel zvetsi Vas graf, tak se zvetsi i druhemu i kdyz ten to nechtel).

Zkuste se prosim zamyslet, jestli by nebylo vhodnejsi udelat Mosaic tak, aby pomahal lidem, jenz kupuji Vase vyrobky k tomu, aby mohli uspojit pozadavky svich zakazniku (a opravdu nejsme uplne ....),  nez nas nutit hledat reseni u jinych dodavatelu. Popravde jakekoliv jednani s Tecem je horsi (arogantnejsi),  nez treba se Siemens.




Název: Jak je to s podporou uživatelského kódu ve webmakeru?
Přispěvatel: SMILEK 09.10.2012, 14:46
popravde Vasi logice nerozumim.
Teco prezentuje Foxtrot a Mosaic (cena licence srovnatelne s kompletnim Visual Studiem) jak nastroj pro programatory a pro tvorbu slozitych aplikaci spickovimi programatory. Na druhou stranu zde pisete ze nejen ja a my programatori, ale ze ani ostatni programatori nejsou schopni psat elementrarni veci.
Kdyby byla alespon moznost spustit po prekladu nejaky dalsi skript, ale Mosaic jak je udelan je strasne limitujici (mizerna dokumentace neni jen k WebMakeru, ale i k jinym castem, nepriklad chybi i prikazu jazyka ST jejich uplna syntaxe).
Konkretne treba pro grafy existuji knihovny v JS, ktere jsou primo paradni a staci je pouze pridat ke strance + 3 radky kodu.
Dalsim problemem je pristup vice uzivatelu k jedne www strance, zde se pri architekture Mosaic + Foxtrot bez JS vubec neobejdete (na strane www serveru neni moznost sriptovat data podle informaci v URL, nebo sesion, takze pokud si jeden uzivatel zvetsi Vas graf, tak se zvetsi i druhemu i kdyz ten to nechtel).

Zkuste se prosim zamyslet, jestli by nebylo vhodnejsi udelat Mosaic tak, aby pomahal lidem, jenz kupuji Vase vyrobky k tomu, aby mohli uspojit pozadavky svich zakazniku (a opravdu nejsme uplne ....),  nez nas nutit hledat reseni u jinych dodavatelu. Popravde jakekoliv jednani s Tecem je horsi (arogantnejsi),  nez treba se Siemens.

Myslím si, že logika pana Bydžovského má svou logiku.  ;) 
Osobně mi přijde uvedená koncepce Webmakeru jako poměrně obvyklá. Také jsem v náročnějších projektech nucen určité věci dělat oklikou a technická podpora Teco si moje všetečné dotazy pamatuje velmi dobře. Nečekám ovšem, že výrobce PLC kvůli mému projektu začne na psí tělo roubovat ještě extra kočičí hlavu. Ve značkovém autosalónu také není obvyklé,  že sériově kupované vozidlo má v základu zvýšený podvozek, rám a naviják (jakkoliv jde o velmi užitečné věci, bez nichž prostě nelze určité profese vykonávat). To je věcí specializovaných firem (v naší branži pak integrátorů).

Navíc mne trochu zaráží citovaná argumentace. Cena plné licence Mosaic začíná na 990,- Kč,  za což patrně plné Visual Studio neseženu. Nedomnívám se, že by mi (jako programátorovi) zjednodušení použitá ve Webmakeru znemožňovala psát elementární věci. Dále nenarážím na problémy s přístupem několika uživatelů k jedné www stránce (a pokud vyvíjím aplikaci, kde přistupují desítky či stovky uživatelů,  použiji vhodnou infrastrukturu client/server - mimochodem, jednu z nich (pro realtime obsluhu cca 200 PLC různých výrobců,  rozmístěných po celé republice a stovky uživatelů) jsem si kdysi musel napsat sám v Delphi (než jsem později objevil vhodný komerční produkt). A co se týká komunikace s Tecem, nechť si každý zákazník či integrátor udělá obrázek sám. Za sebe jsem spokojen (kritické požadavky jsme opakovaně řešili i o víkendu, myslím i panu Bydžovskému jsem jej v posledním  roce už asi dvakrát zkazil). Je to vždy o přístupu obou stran.  ;)     



Název: Jak je to s podporou uživatelského kódu ve webmakeru?
Přispěvatel: SMILEK 09.10.2012, 18:22

pokusim se argumentaci trochu rozvest:
1. Cena
  Ja platil za Mosaic pro Foxtrot 9900 CZK bez DPH + stejnou cenu za CPU.
  Visual studio me vcera stalo ~12000 CZK bez DPH.
  Co me velmi vadilo, ze cena licence Mosaicu je/byla tak trochu loterie a HW klic je obrovsky a nachylny k rozlomeni.

2. WebMaker
  2.1 - Soubezny pristup - neni technicky mozne zajistit, aby dva ruzni klienti si prohlizeli soucasne jeden graf
  2.2 - Modifikace www stranky - Opravu nemam pocit, ze by mnou navrzene reseni (moznost editace sablony?,  memo pro zadani dalsich casti hlavicek?) bylo proti logice Mosaicu. Argumentace s auty je ponekud licha (ano, existuje par zakazniku, co nepotrebuji grafy, ale fakt jich moc neni).
  2.3 - Pokud chcete mit jednu stranku pro napriklad kalibraci teploty, tak to neni mozne a musite vytvorit pro kazdou kalibraci samotatnou stranku, jinak pri soubeznem pristupu vice uzivatelu (neprisli jsme na to, jak tomu zabranit) dojde k zcela nepredvidateln ym situacim (otestovano v praxi).

3. Podpora
  3.1 - Jiz pres jeden rok s Tecem resim problem s modulem U-LED, zatim bezvysledne (navic puvodni forum zrusili)
  3.2 - Kolega s nima resi problem s merenim nizkych teplot (-200 st. C) s cidlem Pt100. Pry pro tyto teploty neexistuje rovnice :)))
  3.3 - Modul I-LED, objenan jiz pred vice jak pul rokem, nedodan bez jedine odezvy

Co ocenuji, tak snahu vyresit problem s autorstvim www stranek, jelikoz to by mohlo byt pro nas problemem (v nekterych projektech nemame povoleno vyuzit subdodavatelu, nebo predavat vysledky treti osobe, a tohle proste pravnimu oddeleni vetsi firmy nevysvetlite).

Osobne si myslim, ze kvalitni grafy by se hodili nejenom pro me projekty. Moznost cteni hodnot z PLC na zaklada nazvu promenne primo v JS by byl hotovy zazrak a umoznoval budovat kvalitativne zcela jiny www stranky. Hlavni vtip je v tom, ze NENI nutne provadet nejake nesystemove zasahy, jen zrusit omezeni.

S touto argumentací se ale dá mnohem lépe pracovat.  :)

Ad 1) Je pravdou, že dříve bylo jedinou možností pořídit Foxtrot+Mosaic za cenu, kterou uvádíte. Ale toto je už nejméně půl roku jinak a je to jen dobře. Také jsem před lety musel koupit licenci Foxtrotu za Vámi uváděnou cenu (a mnoho mých kolegů také),  ale letošní uvedení nového licenčního modelu vítám, jakkoliv bych teď za licenci platil desetinu ceny. A co se týká HW klíče: vyčnívá o 28mm. Vylomit jsem se jej nikdy nepokoušel a ani nevím o nikom, komu by se to stalo (a to ty klíče s námi cestují po zákaznících a mnohdy jsou používány v polních podmínkách). Rozumím, nemusí vám to vyhovovat, ale právě proto je možné si dnes pořídit i verze Foxtrotu se Single licencí,  kde je klíč integrován v CPU. A možná i výrobci HASPů půjdou s dobou a ukousnou něco z velikosti klíče.  :D

Ad 2.1 a 2.3) Běžné webovky Mosaicu si bez problému současně prohlíží několik lidí,  upravují hodnoty (třeba i kalibrace teplot, tlaků,  apod.) a pokud někdo udělá změnu, tato se všem promítne a může být někým jiným změněna. V případě toho grafu je míněn Vámi vytvořený JS graf? Zkuste to prosím rozepsat.

Ad 2.2) Souhlasím s vámi stran možnosti editace hodnot v hlavičce. A jistě,  každý se můžeme na různé příměry dívat různě.  ;)
 
Ad 3.1 - 3.2) K tomuto neznám podstatu problému. Co se týká původního fóra, bylo opuštěno v souvislosti s přechodem na Elektriku.cz, což mu z hlediska návštěvnosti i počtu příspěvků jednoznačně prospělo. Vaše poznámka mne navádí k připomínce pro Teco, že by nebylo od věci umístit do všech jednotlivých sekcí starého fóra upozorňující příspěvek, protože každý možná nepřistupuje na fórum z webovek Tecomatu a někdo může mít dosud staré fórum v záložkách.
   
Ad 3.3) Toto se už řešilo zde:
http://diskuse.elektrika.cz/index.php/topic,24197.0.html

Vaši připomínku k autorství stránek považuji za relevantní (a myslím, že dojde naplnění,  viz příspěvek pana Bydžovského).
A k těm grafům: jsme schopni přesně (třeba formou příkladu) definovat ty požadavky změn na webmaker? Tím neslibuji, že to Teco ihned zrealizuje, ale bude-li na stole konkrétní návrh požadované funkcionality, dá se o něm začít diskutovat. Někdy (a zde bych se některých omezení zastal) může mít změna vliv na výkon či bezpečnost, jindy lze po zralé úvaze určité omezení přehodnotit či zrušit. Webmaker je místem síťové interakce s uživateli či potenciálními útočníky a rozumím tomu, že jakýkoliv zásah zde je nutno velmi pečlivě zvážit. Na druhé straně se nepochybně shodneme na potřebě trvalého vylepšování webmakeru.  :)



Název: Jak je to s podporou uživatelského kódu ve webmakeru?
Přispěvatel: Milan Bydžovský 09.10.2012, 18:54
ad 1) Cena software je složitá věc, vezměte si že programovací prostředí Eclipse, které je zadarmo, což je přibližně nekonečněkrát levnější než jakékoli jiné placené prostředí.

ad 2) Otevřením webmakeru pro vlastní uživatelské kódy je v jistém smyslu proti logice Mosaicu, protože znamená ztrátu jeho WYSIWYG funkce a ztrátu možnosti na stejné stránky nahlížet pomocí panelů ID-18/28, které nekomunikují přes webové rozhraní,  ale používají pro zobrazení popis vytvořený webmakerem a pro získání hodnot nativní protokol Epsnet.
Z toho důvodu se spíše snažíme implementovat nové objekty přímo do Webmakeru než jej otvírat uživatelským modifikacím.

Přístup přes javascript podle jména proměnných, bohužel naráží na HW limity PLC Foxtrot, kde není dostatek paměti na držení XML včetně jmen proměnných pro stránky s větším počtem proměnných. Generování jmen proměnných lze experimentálně zapnout, pokud ve Webmakeru ve Společných nastaveních kliknete pravým tlačítkem do plochy dialogu a v lokálním menu zvolíte Generovat jména proměnných. Obávám se, ale že narazíte na max. velikost XML souboru (to je také důvod proč je tato funkce skrytá běžným uživatelům).

Zavedení uživatelských session je složitější,  protože neřeší přístup přes Webmaker a ID18/28, které nevyužívají HTTP protokol. Po pravdě si momentálně nedovedu představit, jak pro jednotlivé session připravovat unikátní data tak, aby každý uživatel mohl prohlížet např. svůj graf.

Řekl bych, že Vaše požadavky vedou spíš na nějaký SCADA systém než na jednoduché webové rozhraní.

ad 3) HW problémy nejsou moje parketa, takže odpověď na ně přenechám někomu jinému. Obecně je lepší obrátit se s konkrétním problémem přímo na technickou podporu, než je řešit přes fórum, protože zdaleka ne všichni fórum čtou nebo mají čas do něho přispět.


Název: Jak je to s podporou uživatelského kódu ve webmakeru?
Přispěvatel: Slavomír Skopalík 09.10.2012, 22:32
Bohuzel, zrovna pokud se jedna o kalibrace senzoru a podobne cinnosti, tak nelze, aby dva kalibrovali ve stejny okamzik ruzne senzory pres jednu www stranku.
Typicky, mate strukturu (ctete treba 20-30 instaci teto struktury) a nechcete pro kazdou delat vlastni www stranku (z pohledu udrzby projektu je to vrazedne).
Stejne je to u grafu, mate jedna data, ale chcete se na ne divat "ruznym zpusobem" tj. treba jinym zoom.

Grafy samotne zatim resime takto:
puvodni stranku XSL si zkopirujeme jako HTM.
Do www rootu pridame tyto knihovny:
https://github.com/uiteoi/ico

ukazka zde:

http://reverserisk.com/ico/

Kolega ted nasel jeste lepsi grafy:

http://www.flotcharts.org/

Data si predavame v string promenne (treba dva),  pak rozparsujeme a vykreslime.
Na time graf obnovujeme.

Pristup vice soucasnych uzivatelu zatim neresime, jelikoz to si vyzada naprogramovani EPSNET driveru v JavaScriptu.
V Delphi to mame vyresene tak, ze Delphi driver pri kazde ztrate komunikace si z www rootu (viz muj predchozi prispevek)
sam ztahne aktualni pub soubor a tim ziska aktualni mapu promennych.
To same chceme implementovat v JS, ale zatim na to neni cas a dostatek zakazek pro nasazeni Teca :).


Ad 2.1 a 2.3) Běžné webovky Mosaicu si bez problému současně prohlíží několik lidí, upravují hodnoty (třeba i kalibrace teplot, tlaků, apod.) a pokud někdo udělá změnu, tato se všem promítne a může být někým jiným změněna. V případě toho grafu je míněn Vámi vytvořený JS graf? Zkuste to prosím rozepsat.




Název: Jak je to s podporou uživatelského kódu ve webmakeru?
Přispěvatel: Slavomír Skopalík 09.10.2012, 23:03
Uff, pokusim se postupne reagovat:

ad WebMaker) Zde si myslim, ze pokouset se omezit na vlastni HW panely neni zcela vhodne, jelikoz pokud opustite toto paradigma, tak zaniknou vsechny Vami zminovane problemy (tj. mit moznost vyvyjet www stranky dle soucasnych standartu s vyuzitim soucasnych techynologii).

Jedinou otazkou je, zda umoznuje FOXTROT CPU vice soucasnych EPSNET spojeni (rekneme 20-100).

Ono je potreba si uvedomit, ze ja nejsem koncovy zakanik, ale systemovy integrator, jenz MUSI vyresit pozadavky zakaznika.
Kdyz to zhrnu, bohate staci umoznit modyfikaci hlavicek XML stranky, umoznit vkladani vlastnich HTML tagu a umoznit dotaz pres Vas HTTP server
na data z adresy predane dynamicky (parametry, post, ...).
Jako bunos pak moznost automatickeho ukladani pub souboru do struktury www stranek i pro projekty jenz maji kratsi nazev, nez 8 znaku.

Jeste prani z rise snu:
Ciste SW CPU, jenz by se pripojil k TCL2 pres RS485. Pak by stacilo PC s Linuxem/WinXPE a bylo by vicemene po starostech (u sveho soukromeho domu
mam velke problemy s vykonem CPU).



ad 2) Otevřením webmakeru pro vlastní uživatelské kódy je v jistém smyslu proti logice Mosaicu, protože znamená ztrátu jeho WYSIWYG funkce a ztrátu možnosti na stejné stránky nahlížet pomocí panelů ID-18/28, které nekomunikují přes webové rozhraní, ale používají pro zobrazení popis vytvořený webmakerem a pro získání hodnot nativní protokol Epsnet.
Z toho důvodu se spíše snažíme implementovat nové objekty přímo do Webmakeru než jej otvírat uživatelským modifikacím.

Přístup přes javascript podle jména proměnných, bohužel naráží na HW limity PLC Foxtrot, kde není dostatek paměti na držení XML včetně jmen proměnných pro stránky s větším počtem proměnných. Generování jmen proměnných lze experimentálně zapnout, pokud ve Webmakeru ve Společných nastaveních kliknete pravým tlačítkem do plochy dialogu a v lokálním menu zvolíte Generovat jména proměnných. Obávám se, ale že narazíte na max. velikost XML souboru (to je také důvod proč je tato funkce skrytá běžným uživatelům).

Zavedení uživatelských session je složitější, protože neřeší přístup přes Webmaker a ID18/28, které nevyužívají HTTP protokol. Po pravdě si momentálně nedovedu představit, jak pro jednotlivé session připravovat unikátní data tak, aby každý uživatel mohl prohlížet např. svůj graf.

Řekl bych, že Vaše požadavky vedou spíš na nějaký SCADA systém než na jednoduché webové rozhraní.



Název: Re: Jak je to s podporou uživatelského kódu ve webmakeru?
Přispěvatel: SMILEK 10.10.2012, 12:43
Bohuzel, zrovna pokud se jedna o kalibrace senzoru a podobne cinnosti, tak nelze, aby dva kalibrovali ve stejny okamzik ruzne senzory pres jednu www stranku. Typicky, mate strukturu (ctete treba 20-30 instaci teto struktury) a nechcete pro kazdou delat vlastni www stranku (z pohledu udrzby projektu je to vrazedne). Stejne je to u grafu, mate jedna data, ale chcete se na ne divat "ruznym zpusobem" tj. treba jinym zoom.

Grafy samotne zatim resime takto: ...

ad WebMaker) Zde si myslim, ze pokouset se omezit na vlastni HW panely neni zcela vhodne, jelikoz pokud opustite toto paradigma, tak zaniknou vsechny Vami zminovane problemy (tj. mit moznost vyvyjet www stranky dle soucasnych standartu s vyuzitim soucasnych techynologii).
...
Ono je potreba si uvedomit, ze ja nejsem koncovy zakanik, ale systemovy integrator, jenz MUSI vyresit pozadavky zakaznika.
Kdyz to zhrnu, bohate staci umoznit modyfikaci hlavicek XML stranky, umoznit vkladani vlastnich HTML tagu a umoznit dotaz pres Vas HTTP server
na data z adresy predane dynamicky (parametry, post, ...).

S tou kalibrací vám rozumím. A grafy jsou docela pěkné. Ale tak, jak to celé ve svých příspěvcích popisujete, je to vyloženě zralé na Relianci. Vyřešíte si tím kopec starostí - vizuální stránku rozhraní (animace, grafy),  souběžné přístupy, apod. Reliance sice není zdarma, ale to, co za takovou nástavbu dáte, ušetříte na vývoji a následné údržbě mnoha oslích můstků mezi PLC a očima/rukama zákazníka. Než řešit při každé rekonfiguraci PLC systému změny firmwarů,  funkcí a přizpůsobovat všechno, co jsem k PLC externě dobastlil, raději sáhnu po něčem, co za mne udržuje někdo jiný. Vyplatilo se mi to.
Navíc, jako zákazník Teca bych zde hlasoval pro zachování ID18 - nějak jsme si na ně docela zvykli.  (dance) 
To ale neznamená (pro Teco),  že by nemohl být v nabídce i větší model a s hezčím rámečkem! ;)


Název: Re: Jak je to s podporou uživatelského kódu ve webmakeru?
Přispěvatel: Slavomír Skopalík 10.10.2012, 13:16
Ne, Relianci opravdu ne  :(.
Misto realiance mame vlastni system (http://www.elektlabs.cz/m2demo),  jenz ma pro zakaznika priznivejsi cenovou politiku a hlavne nevyzaduje HW klic pro OPC server.
Ale k problemu, prave na kalibraci, rychle grafy nejsou SCADA systemy vubec vhodne, jelikoz tyto veci potrebujete vetsinou drive, nez je SCADA hotov, nebo v situacich kdy SCADA neni funkcni. Proto se mimo jine se zacalo s WWW strankami v PLC (jeste musim prozkoumat novy firmware pro S7/1200).
Jinak ja nemam nic proti Teco panelum, jen mi neprijde jako dobry napad limitovat funkcnost WebMakeru podle toho co umi Teco panely.
Pro jednoduchost "by stacilo",  kdyby kompiler pri vytvareni dat pro Teco panely pri vyskytu "nekompatibilni ch" dat zahlasil chybu, ze tohle neni podporovano v panelech. Pokud budeme mit cas, tak zverejnime kompletni postup pro realizaci grafu, ale nemohu to slibit, jelikoz je to prace mimo bezne ukoly.


S tou kalibrací vám rozumím. A grafy jsou docela pěkné. Ale tak, jak to celé ve svých příspěvcích popisujete, je to vyloženě zralé na Relianci. Vyřešíte si tím kopec starostí - vizuální stránku rozhraní (animace, grafy),  souběžné přístupy, apod. Reliance sice není zdarma, ale to, co za takovou nástavbu dáte, ušetříte na vývoji a následné údržbě mnoha oslích můstků mezi PLC a očima/rukama zákazníka. Než řešit při každé rekonfiguraci PLC systému změny firmwarů, funkcí a přizpůsobovat všechno, co jsem k PLC externě dobastlil, raději sáhnu po něčem, co za mne udržuje někdo jiný. Vyplatilo se mi to.
Navíc, jako zákazník Teca bych zde hlasoval pro zachování ID18/28 - nějak jsme si na ně docela zvykli.  (dance) 
To ale neznamená (pro Teco),  že by nemohl být v nabídce i větší model a s hezčím rámečkem! ;)