(03-08-2017, 07:15 PM)Braca Wrote: Da skratim priču, danas sam posle nekih osam sati rada konačno našao grešku i to u kompajleru. Na jednom mestu poziva se podprogram i prebacuje mu se vektor sa tri realna elementa koji se izvlače iz objekta. Pre poziva vidim da su vrednosti u redu, a kada udje u podprogram jedan od ta tri elementa povremeno ima neku bezveznu vrednost, čije efekte onda upravljačka logika glavnog programa pokušava da otkloni i tu više nema spasa.
Braco,
ne bavim se PC programiranjem, ali programiram MCU-ove vec jedno 20 godina. Isti problem sam imao kada sam krenuo da koristim Atmel Studio, C jezik je u pitanju. Imao sam situaciju da neku promenljivu u koju upisem vrednost u interaptu serijske komunikacije (dobijem je preko serijskog porta) u main-u ispitam da li je to ta vrednost i onda nesto radim dalje nije ta vrednost, ili nekada jeste, a nekada nije. Npr. preko serijskog porta posaljem 0x30 i znam da ocekujem 0x30, u main ispitam da li je to 0x30 i ako jeste upalim LED, ne radi. Onda sam napravio program da sta god primim preko serijskog porta u tu promenljivu fuzicki hardkodujem 0x30 i opet u main ipitam da li je 0x30 i naravno nije.
Kasnije sam nasao na netu da promenljive koje se koriste u interaptu, a koriste se i u drugim funkcijama moraju da se definisu kao volatile. Cim sam to uradio, sve je proradilo kako treba.
Ovo ti cisto pisem, da vidis, da li mozda u Fortran-u postoji takva neka fora.
Nevezano za pisanje programa za PC ili za mikrokontolere, već i za ostale softvere koje koristimo,
Situacija pre 10 ili 20 godina :
Uzmeš neki softver koji ti treba, uložiš nekoliko dana do par nedelja da bi naučio kako se radi u tom softveru
i on ti olakša život ...
Situacija od pre nekoliko godina pa do danas:
Uzmeš neki softver koji ti treba, gledaš ga i čudiš se i veoma teško se odlučiš
da ga naučiš jer je previše komplikovan. Treba uložiti nekoliko meseci da bi naučio kako se radi u tom softveru
i TEK TADA on ti olakša život ( ako u medjuivremenu ne odustaneš i vratiš se u staru verziju koju poznaješ ) ...
***
Ja lično koristim dosta starijih programa koje sam dobro naučio i ne vidim šta bi mi posebno donele
te nove verzije za koje stvarno nemam ni vremena a ni želje da ih izučavam !
(03-08-2017, 09:24 PM)vojinilic Wrote: Ovo ti cisto pisem, da vidis, da li mozda u Fortran-u postoji takva neka fora.
Vojine, hvala na interesovanju.
U ovom slučaju nema nekih specijalnih deklaracija, jer se radi o objektima koje je Fortran dobio još pre nekih 15 godina. Problem je u tome što Fortran za Intel ne predstavlja strategijski proizvod i zato je kvalitet kompajlera mizeran. Update koji su pustili pre dve nedelje nećemo ni instalirati jer ga je kolega testirao na prethodnoj verziji softvera i na dve procedure je javio internu grešku, tako da nije ni stigao do linkera.
U mom slučaju je u pitanju neki čudan sticaj okolnosti jer sam za taj isti objekat napisao nekih 30 metoda i sve funkcionišu, pri čemu više od 10 njih koristi baš taj vektor.
Naravno, pošto sam našao grešku neće biti problema da je zaobidjem, bar dok ne dodje neka nova verzija kompajlera.
@Zelja:
Nevolja je u tome što se u softver danas ugradjuju stvari po nalogu marketinga, tj. da bi lista funkcija bila što duža i tako impresiionirala potencijalnog kupca. U firmi smo zato ubedili rukovodstvo da i dalje sami razvijamo softver koji nam treba, a posebno što je komercijalna verzija takvog softvera krcata stvarima koje nam ne trebaju, ali su zato tačnost rezultata i brzina računanja ostali zanemareni. Marketing je bio uključen u projekat samo po pitanju izbora imena, kako nas neko ne bi tužio. Ostatak su uradili i dalje razvijaju inženjeri .
Braco,
negde '95, zbog potrebe rada sa Abaqus-om, počnem da radim sa Microsoft Power Station 4.0 i dosta toga uradim sa njim. Onda MS odluči da odustane od Fortrana, proda ga Digital-u, on napravi lepu verziju Visual Fortrana, pa ga prodaju Compaqu, njih kupi HP, ali Fortran odeljenje prodaju Intelu. Nekoliko puta sam pokušavao da moje programe prekompajliram sa tim najnovijim Intelovim kompajlerima, ali mi svaki put prijavi toliki broj grešaka, tako da se začudim kako sam ikad išta korisno dosad sračunao sa njima.
Rezime: i dalje koristim DEC-ovu verziju iz 1997, a pri ruci (na kućnom laptopu imam XP instaliran pre više od 9 godina) imam i MS Power Station. Za svaki slučaj...
Probaj i Ti da tu Tvoju biblioteku iskompajliraš sa nekom starijom verzijom tog Fortrana (možda neka verzija pre nego što je postao vlasništvo Intela), možda ti se ta greška ne pojavi?
(03-09-2017, 08:58 AM)Millan Wrote: Probaj i Ti da tu Tvoju biblioteku iskompajliraš sa nekom starijom verzijom tog Fortrana (možda neka verzija pre nego što je postao vlasništvo Intela), možda ti se ta greška ne pojavi?
Milane, imamo ista iskustva.
Na žalost, starije verzije Fortrana nisu bile objektno orijentisane, a čak i da podržavaju standard Fortran95 ne bi mi bile od pomoći pošto mi koristimo Fortran 2003 sa elementima standarda 2008.
Pored toga, pošto radimo kao tim u integrisanom okruženju razvojnih alatki i sistema za verzioniranje na serveru firme, nemam baš mnogo slobode pri izboru alatki, a pogotovo ne pri izboru verzije kompajlera. Neki izuzeci su mogući, tako da ja za poredjenje dve verzije izvornog koda koristim ExamDiffPro, a moje kolege alatku iz MS Team Foundation Server.
Inače, problem o kome sam pisao je rešen pomoću jedne kratke procedure koja indirektno adresira vektor u pitanju i program već uveliko radi.
Da li znate da neko u Srbiji proizvodi konusne patron grejače, ali samo ako lično znate,
jer sam sve dostupno na internetu zvao i ništa. Čak neki nisu ni čuli za tako nešto.
Ja sam neke obične patron grejače poručivao tako što sam preko telefona dao dimenzije, sve sa navojem za montažu. Vanjski deo je sav od prohroma...
Sad im možeš poslati sliku ili crzež. Potrebni su verovatno neki strugarski radovi zbog konusa. Sve je stvar dogovora...
Mile, poručivao sam i ja gomile grejača i znam kako se rade. Seku iz cevi dužinu , zatvaraju je sa jedne strane
i ubacuju spiralu i praškasti izolator. Mene stalno muči problem ubacivanja grejača u alate. Ako je grejač dugačak
300 - 400 mm, i f 16 mm, onda rupa mora da bude malo veća da bi se grejač mogao relativno lako da ubacuje i
vadi u slučaju otkaza. A ako je pasent onda ću da rodim i mečku i mečiće i slonče da ga izvadim. Otvor je samo
sa jedne strane, znači nema izbijanja. Da ne pričam o nešto lošijem prenosu toplote i pregrevanju kod veće rupe.
Kada je grejač konusan i ide u konusnu rupu onda leže ko guza na nošu. A kada imaš 30 - 40 grejača ipak je to
problem, priznaćeš. Grejači obično imaju konus od 2% na celoj dužini, i sve radi kao Morze čaura za alate.
Kako su mašine i alati u fazi projektovanja moram da pronađem i grejaće.
(03-20-2017, 10:56 AM)Zoksy Wrote: Evo malo limarije ovih dana.
Branko tvoje kritike jako pozitivno uticu na mene, jednom si me na es kritikovao za neki ispravljac i vredelo je. Napravio sam api pong za savijanje lima pa mi je ono prva kutija uradjena na njemu, radna duzina 1m. Rucka je brzinski odradjena , ali nisam je pricvrstio bas iz tog razloga dali ce se svideti naruciocu jer kutije nisu za mene.
Potrebna pomoc u vidu objasnjenja!
Deo sheme koju sma postavio je od Agilenta 6060/6063, programabilnog opterecenja. Ovaj OP270GP je ovde vezan kao diferencijalni pojacavac koj meri razliku napona na ulazima opterecenja. Znaci vezan je na SENS+ i SENS-.
Ovo opterecenje moze da prihvati izvor do 60V, kako ovaj operacioni pojacavac ne umre pri naponu od 60V, s obizorom da mu INPUT VOLTAGE RANGE +-12V?
U prilogu imate i ceo service manual sa shemom,ako je potrebno jos detalja.
Hvala unapred!