[elektro] File kommunikáció programok között

hozso_001 at freemail.hu hozso_001 at freemail.hu
Mon Jun 20 09:35:38 CEST 2016


   Lehet, hogy nem ez a legideálisabb megoldás, de azért nem is ördögtől 
való... (szerintem) A feladat: a PLC-ben képződő hibajelzéseket kell 
átadni. Ha a hibajelzések valamelyike aktív, akkor bebillen egy bit, az 
úgy is marad nyugtázásig. Ezeket a hibajeleket kell átadni a másik 
cégnek. Ha a fájl olvasásánál valamilyen késleltetés van, nem igazán 
számít. Legfeljebb a következő beolvasásnál fogja csak látni, hogy újabb 
hibajel érkezett.

   Egyébként az általuk küldött válaszból számomra az látszik, hogy 
teljesen rugalmatlanok. Idézem: "A fájl méretének ellenőrzésére nem lesz 
lehetőség.Ha lehetne ne töröljék a fájl tartalmat csak az íráspointert 
állítsák vissza a fájl elejére, ha a fájlban van egy kis 
„inkonzisztencia”, az nem jelent nagy problémát." Szerintem valaki 
egyszer valamikor már megírt egy programot, (lehet, hogy ők maguk?), 
amihez aztán nem óhajtanak hozzányúlni. Mert lusták, vagy mert nem 
értenek hozzá, vagy mással íratták és nem akarnak újra pénzt adni a 
módosításért. Mindegy is. (Azért következtetek erre, mert azt írja, hogy 
nem tudják ellenőrizni a fájl méretét... na, számomra, ez egy kicsit 
vicces. De sajna sokat dolgozok az iparban, néha más cégekkel karöltve. 
Én azt látom, hogy nagyon sok a kókler és az amatőr, akik mégis "sokra 
viszik", de legalábbis közel kerülnek a húsos fazékhoz és nagyon jól el 
tudják adni magukat. :-/  Főleg a szintén hozzá nem értő managementen 
keresztül, akik nem látják az amatőr technikai megoldásokat, csak azt, 
hogy "Hú, de szép csilivili... és még otthonról is látom a gépemen! Ezek 
aztán profik!" :-/ )

   Én azt csinálom, hogy: megnyitom újraírásra a fájlt, ezzel törlődik 
az előző tartalma. Aztán gyorsan beírom a szükséges tartalmat és lezárom 
("elengedem"). Ha nem sikerült megnyitni, akkor újrapróbálom. Ha ő is 
ugyanezt csinálná olvasásra megnyitásnál, akkor szerintem teljesen jól 
működne ez a módi. (Vagy, ahogy korábban írtam: ellenőriznie kellene a 
fájl méretet, mivel a már lezárt fájl mérete mindig ugyanakkora. Ha meg 
tudja nyitni olvasásra még mielőtt én befejezem az írást, akkor ezzel 
kivédhető lenne az adatvesztés.)


   Az is működhetne, hogy íráshoz egy átmeneti fájlt használok, amikor 
annak a kiírását befejeztem, akkor átnevezem. De nem tudom, hogy lehet-e 
úgy átnevezni fájlt, hogy az új névvel már van egy létező fájl? Nem kell 
előtte a meglévőt törölni?


    Üdv.: Horváth Zsolt



2016.06.17. 15:06 keltezéssel, Bakcsa Zoltán írta:
> Nem tudom mondta-e már valaki, de ez az egész dizájn így eleve rossz. Én
> soha nem használnék fájlokat ilyen jellegű adatcserére. Ha jól értelmezem,
> te fejleszted az egyik szoftvert, valaki a másikat, akivel kapcsolatban
> állsz. Miért nem találtok ki egy normális megoldást? Ez így soha nem lesz
> megbízható és kiszámítható.
>
> Három javaslat:
> 1. Csak az egyik program fut folyamatosan. Amelyik folyamatosan fut,
> időnként elindítja a másikat, paraméterekkel megmondja mit csináljon, hova
> mentsen vagy honnan olvasson. Megvárja míg lefut, majd feldolgozza a fájlt.
> Így nincs verseny a fájlért.
> 2. Ha mind a két programnak feltétlenül párhuzamosan kell futnia, akkor egy
> socket-en keresztül lehet átküldeni cuccost egyikből a másikba. Nem sokkal
> bonyolultabb, mint fájlokat írogatni és esemény vezérelté válik a
> feldolgozás.
> 3. Valamilyen adatbázist is lehetne használni, mondjuk SQLite, ha mást nem.
> Így nincs gond a párhuzamos hozzáféréssel és az adatok és megmaradhatnak,
> nem kell mindig kitörölni a régi rekordot.
>
> Mindegyik egyszerűen kivitelezhető, szinte bármilyen programnyelven. Ha
> viszont az egyik oldalon a fejlesztő rugalmatlan, az probléma és sajnos a
> végén meg fog mutatkozni a stabilitásban.
>
> Üdv:
> Zoli
>
>
>



More information about the Elektro mailing list