<div dir="ltr">Tak jeste jednou ovladac modbus mate vlastni nebo pouzivate neco z knihoven? <br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">čt 10. 12. 2020 v 12:35 odesílatel Martin Záruba <<a href="mailto:swz@volny.cz">swz@volny.cz</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Jasně. Jenže vyšlo mi, že by to zvládlo cca 4000 vláken. To mi <br>
pochopitelně stačí.<br>
<br>
Martin Záruba<br>
<br>
Dne 10.12.2020 v 12:31 Radek Sztwiorok napsal(a):<br>
> Dojdou ale pozdeji.:-)<br>
> Kouknete ve spravci programu jestli vam pomalu neroste potřebná pamet <br>
> u bezici aplikace<br>
><br>
> čt 10. 12. 2020 v 12:25 odesílatel Martin Záruba <<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a> <br>
> <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>>> napsal:<br>
><br>
>     Hurá, už to funguje. Ta odpověď byla opravdu na<br>
>     <a href="https://forum.lazarus.freepascal.org/index.php?topic=26441.0" rel="noreferrer" target="_blank">https://forum.lazarus.freepascal.org/index.php?topic=26441.0</a><br>
>     <<a href="https://forum.lazarus.freepascal.org/index.php?topic=26441.0" rel="noreferrer" target="_blank">https://forum.lazarus.freepascal.org/index.php?topic=26441.0</a>><br>
>     <<a href="https://forum.lazarus.freepascal.org/index.php?topic=26441.0" rel="noreferrer" target="_blank">https://forum.lazarus.freepascal.org/index.php?topic=26441.0</a><br>
>     <<a href="https://forum.lazarus.freepascal.org/index.php?topic=26441.0" rel="noreferrer" target="_blank">https://forum.lazarus.freepascal.org/index.php?topic=26441.0</a>>><br>
><br>
>     Jde o ten limit 2 GB. Když se to podělí defaultní hodnotou 16 MB na<br>
>     vlákno, dojde počet vláken. Jenže já naprosto nepotřebuji 16 MB. Ve<br>
>     Volby projektu, Generování kódu, Velikost zásobníku -Cs jsem dal<br>
>     524288,<br>
>     tedy 0,5MB a vlákna nedojdou.<br>
><br>
>     Moc děkuji<br>
><br>
>     Martin Záruba<br>
><br>
>     Dne 10.12.2020 v 12:11 Radek Sztwiorok napsal(a):<br>
>     > Ten pocet problem nebude.<br>
>     > Mne tu aktualne bezi  do diagnostiky napsane v lazarusu na<br>
>     modbusu 236<br>
>     > zarizeni a nekope se to. Tam bude nekde chybka v programu.<br>
>     ><br>
>     > čt 10. 12. 2020 v 11:59 odesílatel Marek Sembol<br>
>     <<a href="mailto:hwm.land@gmail.com" target="_blank">hwm.land@gmail.com</a> <mailto:<a href="mailto:hwm.land@gmail.com" target="_blank">hwm.land@gmail.com</a>><br>
>     > <mailto:<a href="mailto:hwm.land@gmail.com" target="_blank">hwm.land@gmail.com</a> <mailto:<a href="mailto:hwm.land@gmail.com" target="_blank">hwm.land@gmail.com</a>>>> napsal:<br>
>     ><br>
>     >     Jak rikam - Lazarusi detaily neznam, ale sockety<br>
>     >     podporuji non-blocking operace snad 'odjakziva' - a presne<br>
>     tak se<br>
>     >     to taky v servrech resi.<br>
>     >     Pravda - v dnesni dobe uz je to lepe zabaleno, takze v .NET pred<br>
>     >     4.0 to byly pary metod BeginNeco/EndNeco, od 4.0 jeste<br>
>     >     jednoduzsi pouziti pomoci NecoAsync<br>
>     >     Verim tomu, ze Lazarus bude mit taky podporu<br>
>     ><br>
>     >     PS: rozumim tomu spravne, ze vam tam komunikuje 120+ PLC?<br>
>     >     BR,<br>
>     >     Marek<br>
>     ><br>
>     >     On Thu, Dec 10, 2020 at 11:25 AM Martin Záruba <<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a><br>
>     <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>><br>
>     >     <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a> <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>>>> wrote:<br>
>     ><br>
>     >         No já to vlastně takto předělal z verze, kdy bylo jedno<br>
>     >         vlákno. Ono to v<br>
>     >         podstatě funguje tak, že se připojí klient (PLC). Server<br>
>     >         vyhodnotí, že<br>
>     >         je to oprávněné připojení a pak se již stará o<br>
>     komunikaci. Tím<br>
>     >         pádem PLC<br>
>     >         může být za firewallem a nemusí mít veřejnou IP. Problém<br>
>     je v<br>
>     >         tom, že<br>
>     >         komunikace běží na pomalém modbusu, takže naprostá většina<br>
>     >         doby je<br>
>     >         čekání na data. Pokud to jsou vlákna, tak to není problém,<br>
>     >         protože se o<br>
>     >         to stará systém a i na prastarém procesoru je vytížení<br>
>     >         zanedbatelné.<br>
>     >         Jenže nedovedu si představit, jak se jedno vlákno bude<br>
>     starat o<br>
>     >         komunikaci s několika zcela asynchronně běžícími procesy.<br>
>     ><br>
>     >         Jinak tak, jak jste to popsal to funguje, jenže jekmile<br>
>     >         naslouchací<br>
>     >         vlákno identifikuje požadavek a spustí to komunikační,<br>
>     dál se<br>
>     >         o to<br>
>     >         nestará. To je mi jasné, jenže to komunikační vlákno vlastně<br>
>     >         nikdy<br>
>     >         nekončí, protože je to smyčka, která čte data (nebo i<br>
>     >         zapisuje) z PLC<br>
>     >         tak rychle, jak to modbus zvládne. Pokud spojení spadne,<br>
>     >         vlákno se<br>
>     >         ukončí a PLC se pokusí přihlásit znovu a zase dostane<br>
>     vlákno.<br>
>     >         Tak mě<br>
>     >         nenapadá, jak to udělat jinak.<br>
>     ><br>
>     >         Martin Záruba<br>
>     ><br>
>     >         Dne 10.12.2020 v 7:33 Marek Sembol napsal(a):<br>
>     >         > Zdravim,<br>
>     >         > Lazara neznam ani omylem, ale: Ono chyba 'out of memory'<br>
>     >         nemusi nutne<br>
>     >         > znamenat, ze dosla pamet obecne. Mnohdy ma program/system<br>
>     >         vyhrazenou<br>
>     >         > statickou (pevne delky) tabulku na nejake prostredky pokud<br>
>     >         nema volny<br>
>     >         > slot - vyhodi out-of-memory (a ma pravdu-dosla mu<br>
>     vyhrazena<br>
>     >         pamet) Na<br>
>     >         > podobny problem jsem narazil jednou s .NET (tehdy<br>
>     jeste 3.5)<br>
>     >         Program<br>
>     >         > pomerne intenzivne (az agresivne) vyuzival thready z<br>
>     >         ThreadPool.<br>
>     >         > Problem byl, ze tam byl taky pevny strop - a jeste zavisly<br>
>     >         na poctu<br>
>     >         > jader. Tusim 256/jadro.<br>
>     >         > Obecna rada - ono stejne neni pro system moc zdrave<br>
>     drzet si<br>
>     >         stabilne<br>
>     >         > tolik thready. Kazda sranda (thread) neco stoji. Ten<br>
>     thread<br>
>     >         dokonce<br>
>     >         > relativne dost.<br>
>     >         > Takze moje rada vas nepotesi - predelat strukturu<br>
>     programu, aby<br>
>     >         > nepotreboval tolik threadu. Neco jako jeden thread na<br>
>     >         naslouchani a v<br>
>     >         > pripade prichoziho pozadavku, si docasne vytvorit (nejlepe<br>
>     >         pouzit z<br>
>     >         > thread pool, pokud lazarus ma, jinak si napsat svuj.<br>
>     Tvoreni<br>
>     >         thredu je<br>
>     >         > hodne drahe) threadik na zpracovani pozadavku a pak ho<br>
>     >         zas hezky<br>
>     >         > vratit/uklidit.<br>
>     >         > BR,<br>
>     >         > Marek<br>
>     >         ><br>
>     >         > On Thu, Dec 10, 2020 at 6:51 AM Martin Záruba<br>
>     <<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a> <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>><br>
>     >         <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a> <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>>><br>
>     >         > <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a> <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>><br>
>     <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a> <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>>>>> wrote:<br>
>     >         ><br>
>     >         >     Mám v prostředí Lazarus program, který po<br>
>     připojení přes<br>
>     >         TCP/IP<br>
>     >         >     založí<br>
>     >         >     vlákno a provede příslušnou akci. Pokud ale počet<br>
>     vláken<br>
>     >         dosáhne<br>
>     >         >     hodnoty<br>
>     >         >     115 dostanu zprávu<br>
>     >         ><br>
>     >         >     Project xxx vyvolal výjímku třídy ´EThread´ se<br>
>     zprávou:<br>
>     >         ><br>
>     >         >     Thread creation error: K provedení tohoto příkazu<br>
>     není dost<br>
>     >         >     paměťových<br>
>     >         >     prostředků<br>
>     >         ><br>
>     >         ><br>
>     >         >     Jenže ono to nezáleží na paměti. Na různých PC se to<br>
>     >         chová stejně.<br>
>     >         >     Zjevně někde přetečou nějaké tabulky. Ale kde?<br>
>     >         ><br>
>     >         >     --<br>
>     >         ><br>
>     >         >     Martin Záruba<br>
>     >         ><br>
>     >         >  _______________________________________________<br>
>     >         >     HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
>     <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>><br>
>     >         <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>>> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a><br>
>     <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>>>><br>
>     >         > <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>><br>
>     <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>>><br>
>     >         <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>><br>
>     <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>>>><br>
>     >         > <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>><br>
>     >         <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>>><br>
>     >         >     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>><br>
>     >         <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>>>><br>
>     >         ><br>
>     >         ><br>
>     >         > _______________________________________________<br>
>     >         > HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
>     <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>><br>
>     >         <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>>><br>
>     >         > <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>><br>
>     <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>>><br>
>     >         > <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>><br>
>     >         <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>>><br>
>     >         _______________________________________________<br>
>     >         HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
>     <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>>><br>
>     > <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>><br>
>     <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>>><br>
>     > <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>><br>
>     >         <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>>><br>
>     ><br>
>     >     _______________________________________________<br>
>     >     HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
>     <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>>><br>
>     > <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>><br>
>     <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>>><br>
>     > <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>><br>
>     >     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>>><br>
>     ><br>
>     ><br>
>     > _______________________________________________<br>
>     > HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>><br>
>     > <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>><br>
>     > <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>><br>
>     _______________________________________________<br>
>     HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a> <<a href="http://www.HW.cz" rel="noreferrer" target="_blank">http://www.HW.cz</a>><br>
>     <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>><br>
>     <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>     <<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>><br>
><br>
><br>
> _______________________________________________<br>
> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
> <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
> <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>