Diskuse2 Elektrika.cz

HYBRIDNÍ zóna => TECO - Foxtrot chytré instalace. ODBORNÍCI radí spotřebitelům! => Firemní podpora => Technická podpora výrobce TECO Kolín radí odborníkům => Topic started by: Slavomír Skopalík on 28.06.2012, 14:58

Title: Jak zaclenit PUB soubor jako soucast vnitrniho WEB serveru?
Post by: Slavomír Skopalík on 28.06.2012, 14:58

Jelikoz mam problem s distribuci PUB souboru (komunikacni knihovny mam vlastni), tak bych rad, aby se pub soubor nahral primo do PLC a komunikacni komponenta si jej sama stahla (tj. budou odstraneny neustale problemy s preadresaci).
Idealni resenim by bylo nastavit PUB soubor jako statickou www stranku, jenz by se nahrala do PLC pri kazde aktualizaci programu (tj. byla by porad aktualni).
Je to mozne ?
Title: Re: Jak zaclenit PUB soubor jako soucast vnitrniho WEB serveru?
Post by: Milan Bydžovský on 29.06.2012, 08:21
V Manažeru projektu v uzlu Sw > Exportní soubory je v sekci Posílání souborů do PLC možnost Posílat assembler soubor (.pub) s možností definovat jeho osmipísmené jméno. Tato kopie souboru PUB se pak vysílá společně s kódem aplikace.
Title: Re: Jak zaclenit PUB soubor jako soucast vnitrniho WEB serveru?
Post by: Slavomír Skopalík on 29.06.2012, 18:35
ano tuto skutecnost jsem jiz zjistil, ale jakym zpusobem pak lze tento soubor automatizovane z PLC ziskat ?
Jedina moznost, co me napdala byla zvolit pro soubor toto jsmeno: WWW\var a tim je presunout do rootu webu.
Nasledne pak hacknout system prihlasovani (nastesti je velmi primitivni).
Nicmene to neni asi cesta, kterou by se mel resit seriozni projekt.

Hack na autoimaticke stazeni z PLC:

procedure TForm1.Button2Click(Sender: TObject);
var s:string;
  HTTP: THTTPSend;
  b:boolean;
  sa:AnsiString;
begin
  HTTP := THTTPSend.Create;
  HTTP.HTTPMethod('GET','http://192.168.1.80/syswww/login.xml');
  ErrorMemo1.Lines.AddStrings(HTTP.Cookies);
  s:=HTTP.Cookies.Values['SoftPLC'];
  sa:='PASS:'+StringToHex(SHA1(AnsiString(s)),'')+CRLF+'USER:'+CRLF;
  HTTP.Document.Clear;
  HTTP.Document.WriteBuffer(sa[1],Length(sa));
  HTTP.HTTPMethod('POST','http://192.168.1.80/syswww/login.xml');
  HTTP.HTTPMethod('GET', 'http://192.168.1.80/var.pub');
  ErrorMemo1.Lines.LoadFromStream(HTTP.Document);
  HTTP.Free;
end;


Quote from: Milan Bydžovský on 29.06.2012, 08:21
V Manažeru projektu v uzlu Sw > Exportní soubory je v sekci Posílání souborů do PLC možnost Posílat assembler soubor (.pub) s možností definovat jeho osmipísmené jméno. Tato kopie souboru PUB se pak vysílá společně s kódem aplikace.