[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