Windows dator M7005. I Q r r _I e e _Q s g g s e I1 - Q1 - e r I40 H Q40 r v r v e e e r g r H1 - H48. S reg S1 - S16

Storlek: px
Starta visningen från sidan:

Download "Windows dator M7005. I Q r r _I e e _Q s g g s e I1 - Q1 - e r I40 H Q40 r v r v e e e r g r H1 - H48. S reg S1 - S16"

Transkript

1 Matematikföretaget jz /171113/180217SJn Windows dator M7005 I Q r r _I e e _Q s g g s e I1 - Q1 - e r I40 H Q40 r v r v e e e r g r H1 - H48 S reg S1 - S16 T reg T1 - T80 Akt Mätprogs mätv. _S server _M server _G server _R server Att koda en M7005 Server 1 (47)

2 Innehåll 1 M Då M7005 exekveras M7005 Servrar Katalogisera server i Windows register Varning Exempel på Serverprogram ServerXE_IQ / ServerVBNET_IQ ServerTransdXE_M / ServerTransdVBNet_M ServerMetStyrXE_RS / ServerMetStyr_RS ServerGenerellXE_G / ServerGenerellVBNet_G Appendix 1 Funktionsgränssnitt Namn och placering M7005 IO-system startas Alla servrar Kommando från M7005 till server Givarvärden in till M7005 (_M) Initiering Kontinuerligt Digitala värde in till M7005 (_I) Initiering Kontinuerligt Digitala värden ut från M7005 (_Q) Initiering Kontinuerligt Mätstyrningsdata ut från M7005 (_S) Initiering Kontinuerligt Svar in till M7005 (_R) Initiering Kontinuerligt Generell server (_G) Initiering Kontinuerlig Vid behov Exportera data (_E) Initiering Kontinuerligt Tvinga M7005 att byta mätprogram / Ta emot aktuellt mätprogram (_N) Initiering Kontinuerligt Appendix 2 Skapa VBNet projekt Matematikföretaget jz (Sverker Johansson) är under inga omständigheter ansvarigt för direkta skador eller följdskador uppkomna genom användning av detta dokument eller av programvara eller maskinvara beskriven i detta dokument. VARUMÄRKEN OCH PRODUKTNAMNVarumärken och produktnamn omnämnda i detta dokument används uteslutande i redaktionellt syfte och till fördel för dess ägare, utan avsikt att kränka varumärket/produktnamnet. Att koda en M7005 Server 2 (47)

3 1 M7005 M7005 har sex dataareor (register) + aktuellt mätprograms mått. De är Windows dator M7005 I Q r r _I e e _Q s g g s e I1 - Q1 - e r I40 H Q40 r v r v e e e r g r H1 - H48 S reg S1 - S16 T reg T1 - T80 Akt Mätprogs mätv. _S server _M server _G server _R server Figur 1. M7005 register och servrar. Input I ( I1 I40) Får sina värden utifrån, av en server eller från Metembussen (M9002). Output Q (Q1 Q40) Sender ut sina värden via någon server eller Metembussen Hjälp register H (både In/Output) H1 H24 är fria att användas efter behag. H25 H32 styr automatiskt programbyte. H33 H48 har alla en fast betydelse, se figur 2. Resultatregistren S De är direkt knutna till mätprogrammets beteende och resultat. Se figur 2. Givarregistren (T1 T80, input) En array av 80 st flyttal som tar emot givarvärden från omvärden antingen vi en server eller via Metembussen Att koda en M7005 Server 3 (47)

4 Aktuellt mätprograms mått variabler. Dessa kan påverkas direkt av en generell server (_G). Figur 2 visar I, Q, H och S registren i M7005 Att koda en M7005 Server 4 (47)

5 Då M7005 exekveras M7005 kan sägas bestå av tre olika program delar Kod som körs då en operatör kommuniserar med M7005 med hjälp av tangentbordet och/eller musen. Den koden kallar vi Operatörs koden. Kod som startas av en timer och som sedan genomlöps i sin helhet, här kallad Timer-koden Kod som alltid körs och som går i en egen tråd här kallad RT-koden (RT realtid). Operatörskoden Är den koden som exekveras när man t.ex definierar ett mätprogram, ber att få se på mätresultat osv. Om exekveringen skulle kunna komma i konflikt med Timer-koden eller RTkoden, t.ex om operatören beordrat mätprogrambyte, stoppas Timer-koden och RT-koden tillfälligt tills aktuell operation är slutförd. RT-koden Koden genomlöps kontinuerligt med en kort paus på 2 ms varje varv för att släppa in annan verksamhet. Följande händer Alla servrar anropas, så att de kan skicka ut/ta emot information Digital data skickas ut/hämtas in och givarvärden hämtas in från Metembussen (anslutna M9002:or) Om mätorden är hög beräknas måtten för aktuellt mätprogram. Då mätorden går hög sker diverse initieringar av mätprocessen. Om mätprogrammet är uppdelat i sekvenser kontrolleras om det nu är dags för att byta sekvens Kontroll av att givare som deltar i måttberäkningarna är inom sitt arbetsområde Kontroller om automatiskt byte av mätprogram är begärt. Hoppar upp till första punkten Timer-koden Ca var 5 ms genomlöps Timer-koden som gör Är mastring begärd, mastras mätprogrammet. Om inte Om aktuellt mätprogram har ett tidsintervall för mastring, kontrollera nu om det är dags att mastra. Om registreringsorden har gått låg o Test för orimligt mätvärde o Spara mätvärden i databasen o Blir aktuell grupp full sker diverse uppdateringar och ny grupp påbörjas. o Tala om för intresserade att registreringsorden gått låg o Om mätstyrning, kontroleras om mätstyrningsstrategin föreskriver att mätstyrningsdata skall sändas ut. Om så, skickas korrektörer via en mätstyrningsserver ut till berörd verktygsmaskin När timerns tid löpt ut nästa gång, börjar exekveringen om från första punkten Att koda en M7005 Server 5 (47)

6 2 M7005 Servrar Kommunikationen mellan M7005 och yttervärden sker via Servrar eller Metembussen (M9002, M9003). En server i M7005 är en exe fil som kommuniserar med M7005 via Microsoft COM-interface. När M7005 startas genomsöks mappen c:\m7005\ioserverlib och hittar då M7005 ett exe program med ett namn YYYYYY_zzzzz där YYYYY är ett godtyckligt namn och zzzz är en kobination av bokstäverna G, I, M, R, S, E, N och Q där OBS _ får bara förekomma en gång i filnamnet och det är som tecken på att efterföljande bokstäver är de som bestämmer serverns typ. G = generell server I = digital in server, Skickar in digital information in till M7005, från servern M = är en server som levererar givar värden in till M7005 T1 T80 flyttal ( borde heta T men nu gör den inte det). R = en svars-server som ger svar till M7005 S = mätstyrserver, skickar ut mätstyrningsdata från M7005 till servern Q = digital output, levererar digital information från M7005 till serven. E = Exportera data till annat databehandlingsprogram N = Säga åt M7005 att byta mätprogram Hittar M7005 vid uppstarten en exe fil, med namn och en giltig kobination av bokstäver efter _ (understreck), kommer M7005 att kontinuerligt anropa serven via de funktionsanrop som serven måste ha. Servrar kan kodas i C++Builder från Embarcadero eller Microsofts VB.Net. 2.1 Katalogisera server i Windows register För att M7005 skall hitta serven måste den finnas med i Widows register. C++Builder Kör serven med switchen RegServer T.ex servens hela sökväg \ ServerXE_IQ.exe /RegServer VB.Net Här får man använda sig av Microsofts program T.ex: RegAsm:s hela sökväg\ \RegAsm.exe "serverns hela sökväg \ ServerVBNet_IQ.exe 2.2 Varning Eftersom en servers kod exekveras dels därför att en operatör (eller annan yttre händelse) så vill, dels genom anrop från M7005, måste man skriva sin kod med detta i minnet. Problemet illustreras med följande exempel på en _M server Antag att när servern startas har den två givare anslutna, Via Init_M(..) talar servern om för M7005 att givarvärden för två givare kommer att skickas in via Get_M(..) Antag sedan att serven är så intelligent, så om ytterligare två givare ansluts, anpassar den sig automatiskt. Servern kommer då att skicka in 4 st givarvärden via Get_M( ) men, och här är problemet, M7005 förväntar sig bara 2 st givarvärden. Vad servern måste göra är att sätta pistatus = 0x02 CONFIG_CHANDGE i Get_M(,piStatus, ) och på så sätt få M7005 att anropa Init_M( ) på nytt. I och med anropet av Init_M(..) får M7005 reda på aktuellt antal mått (4) som den skall ta emot. Innan M7005 anropat servern via Init_M( ) måste serven i Get_M( ) antingen Fortsätta med att skicka bara det gamla antalet dvs 2 givarvärden Eller med hjälp av flaggor se till att koden som skriver till in arean i Get_M( ) aldrig genomlöps samt sätta pistatus = 0x04 SERVER_NOT_READY. Exempelprogrammet ServerGenerellXR_G/ ServerGenerellVBNet_G använder sig av flaggor för att ingen konflikt skall uppstå när antalet mått som sänds till M7005 ändras. Att koda en M7005 Server 6 (47)

7 3 Exempel på Serverprogram Här kommer en beskrivning av de fyra exempelservrar som finns att hämta hem från hemsidan, Exemplen finns i två versioner en för C++ Builder och en för VBNet. VBNet program bygger på det exempel, VBExeComServer, som Microsoft publicerat och finns på 74ecdb1c/view/SourceCode 3.1 ServerXE_IQ / ServerVBNET_IQ Digitalt in/ut till/från M7005 Figur 3. Genom att med musen klicka på I8, I9, I10, I16, H14, H15, H16, S6 eller S13 kommer motsvarand bitar i M7005 att ändra värde. Q1, Q2, Q8, H9, H17, H24, S1 och S2 erhåller däremot sina värden från M7005 Hemlighet Om man i M1005:s bild Digital io och Hjälpflaggor figur 2 ställer musen på Ut håller nere vänster shift knapp på tangent bordet, samtidigt som man klicka på vänster musknapp, kommer Ut att bli lutande ( och om bildskärmen är i Windows Klassiskt mode att blir rödmarkerad). Gör man om proceduren, men placera nu musen på Q för 1 8 blir Q:et rött. I och med det har Q1 Q8 blivit frikopplat från M7005 eventuella uppdatering av dessa bitar. Man kan nu påverka deras värde genom att med musen klicka på dem, se figur xx nedan. En Hjälp knapp visas men det är inget att bry sig om. Klickar man t.ex på Q1 så att den blir grön i M7005, skall den också bli grön i serverns bild. Att koda en M7005 Server 7 (47)

8 Figur 4. Exempel på hur man kan frikoppla M7005:s Q1-Q8 från att bli uppdaterad av M7005 och i stället bli motagliga för klick från musens vänsterknapp. 3.2 ServerTransdXE_M / ServerTransdVBNet_M Serven skickar in tre stycken givarvärden som ger T2, T4 och T5 i M7005 sina värden. Man ändrar värdena genom att använda pilup/ pilner knapparna. Tar man upp M7005:s Givarvisnings bild ser man hur T2, T4 och T5 ändras Figur 5. Att koda en M7005 Server 8 (47)

9 3.3 ServerMetStyrXE_RS / ServerMetStyr_RS Server för mätstyrning (_S) med svar (_R). Då M7005 finner det vara dags att skicka mätsyrningsdata till serven, visa servern hela den översända informationen. Se figur 6 nedan. Datat är på xml-format Figur 6. Att koda en M7005 Server 9 (47)

10 Via knappen skicka svar, skickas ett svar som gör att aktuell post i databasen får en markering C som visar att serven har svarat. Normalt för mätstyrningsservrar, skickas svaret i och med att verktygsmaskinen har hämtat alla korrektörer. Figur 7. Att koda en M7005 Server 10 (47)

11 3.4 ServerGenerellXE_G / ServerGenerellVBNet_G Den generella demo serven har ett fönster som visas i figur 8 nedan De olika rutorna betyder Figur 8. Aktuellt mätprogram Mätprogramnamnet som kommer in via Init_G( ) Aktuell Batch Batchnamnet som kommer in via Init_G( ) Mätprogramnamn in till M7005 Om det mätprogram som man här skriver in finns, byter M7005 till det angivna. Att koda en M7005 Server 11 (47)

12 Detalj ID in till M7005 Beroende på vad som är markerat Direkt Detalj ID skickas direkt då man klickar på knappen skicka Aktuell dataposts detalj id fält i M7005 uppdateras Mätorden går hög Detalj id skickas då aktuellt mätprograms i M7005 mätorder går hög. Detalj id läggs i M7005:s variabel för aktuellt detalj id och när mätningen sparas i M7005:s databas kommer detalj id att läggas in i dataposten Mätorder går låg som för mätorder går hög med den skillnaden att detalj id skickas först då aktuellt mätprograms, i M7005, mätorder går låg. Status anrop GetGeneralData(..) PutGeneralData(..) Uppdateras varje gång som M7005 exekvera respektive funktion Get/Put GeneralDataWhen Meas/Regorder ändras Rutorna visar M7005 mät / reg order status då deras färg ändras av respektive funktion Måtten Checkar man In till M7005 rutan skickar servern in värdet till M7005 och om rutan inte är markerad så visas värdet som kommer från M7005. Ett tipps: Mått i M7005 som får sina värden av serven bör ha en blank (tom) måttformel, ty om mätordern är hög blir det konflikt mellan mätvärdet från servern och mätvärdet framräknat av måttformel, OBS. Måtten som får sina värden från serven, uppdateras kontinuerligt oberoende av om mätprogrammets mätorder är hög eller inte. Eventuell synkronisering med mätorden får servern lösa internt. Att koda en M7005 Server 12 (47)

13 4 Appendix 1 Funktionsgränssnitt Numeriska värden anges på C syntax, t.ex det decimala värde 17 skrivs 0x11 ( motsvarand i VBNet är &H11). 1.1 Namn och placering Servern skall placeras i biblioteket IoServerLib som är ett underbibliotek till biblioteket som innehåller M7005.exe. Servens exe fil skall ha namn xxxxx_yyyy.exe där xxxxx = valfritt namn yyyy = typ av server M = givarserver. Skickar in givarvärden till M7005 I = digital-in-server. Skickar in digitala värden till M7005 Q = digital-ut-server. Tar emot digitala värden utsända av M7005 S = mätstyrning (ut ) Rzzz = Svars- input. Där zzzz kan vara tom eller en liten bokstav se specen för R G = En generell server med ett antal funktioner. E = Exportera data till annat databehandlingsprogram N = Säga åt M7005 att byta mätprogram yyyy kan också vara en kombination av Q, I, M,S,R och G och anger om en server skall ha fler interface. Ex1 Server för Solatrons digitala givare skall heta MetemDig1_M.exe och programmet kommer att registreras i Windows register som MetemDig1_M.M3005Server. Då M7005 hittar filen MetemDig1_Metv.exe skapar den ett objekt, som innehåller de aktuella funktionerna, via vilka M7005 kan nå servern. Ex2 Server för Metem 900x skall heta Metem900x_MSIQ.exe ty Metem900x understödjer mätvärden in, mätstyrning ut och plc bytes både in och ut. Servern kommer att registreras som MetemM900x_MSIQ.M3005Server. Då M7005 hittar filen MetemM900x_MSIQ.exe skapas den ett objekt yyyyy = Varian::CreateObject( MeteM900x_MSIQ.M300Server); där yyyy är objektets namn. Vi får följande filträdsstruktur I--- M7005.exe I I I ---- IOServerLib I I I I----- MetemDig1_Metv.exe I I ---- Metem900x_MSIQ.exe I I. I Att koda en M7005 Server 13 (47)

14 1.2 M7005 IO-system startas När M7005:s IO-system startas anropas PutCmd( ) och alla Init () funktioner och det sker När M7005 startas Om någon server sätter pistatus = 0x0002 CONFIG_CHANGED Om man via M7005:s rullgardins meny Tillbehör/ inställningar tar fram Definiera Systemet formuläret och där klickar på någon av knapparna Verkställ eller Spara. 1.3 Alla servrar Alla funktionsanrop (undantaget PutCmd(..) har en in/ut parameter CBuilder: int* pistatus VBNet: ByRef pistatus As Integer Följande värden är definierade 0x MNG_STATUS_M900X_SERVER_FOUND Internt som ges av M900x-servern 0x CONFIG_CHANGED Om M7005 upptäcker returnkoden i en funktion, initierar M7005 alla servrar. Dvs alla Init.() funktioner anropas på samma sätt som när M7005 startades. CONFIG_CHANGEED bör sättas om servern har ändrat på variabler som är direkt berörda av kommunikationen. 0x SERVER_NOT_READY M7005 väntar under några sekunder på att serven skall bli klar. Om inte blir det time out. 0x SERVER_READY 0x DATA_OK 0x DATA_ERROR M7005 slutar polla servern och ett felmeddelande visas. 0x MASTRING_REQUIRED Servern begär en mastring av aktuellet mätprogram. Skylten Placera master i mätläge visas. 0x MEAS_STEARSERVER_FOUND Om M7005 upptäcker MEAS_STEARSERVER_FOUND ändras systemet till STSTEM_TYPE_FULL, Dvs om det finns en mätstyrserver (_S) i IoServerLib ändras M7005:s systemtyp automatiskt till Full och Full innebär att mätstyrning är tillåten. Att koda en M7005 Server 14 (47)

15 1.4 Kommando från M7005 till server PutCmd(int icmd) CBuilder: char PutCmd(int icmd) VBNet: Function PutCmd(ByRef icmd As Short) As Byte Obs: PutCmd( ) måste finnas med I varje Server och returnera i vilket språk som servern är kodad. icmd används ej 0x01 - SERVER_CODED_IN_CBUILDER 0x11 - SERVER_CODED_IN_VBNET Att koda en M7005 Server 15 (47)

16 1.5 Givarvärden in till M7005 (_M) En _M server måste ha både InitGet_M( ) och Get_M( ) funktionerna Initiering InitGet_M() CBuilder: InitGet_M(int* pistatus, int* pinov, VARIANT* ptv) VBNet: Function InitGet_M(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object) Funktionen skickar in till M7005 vilka givare (Txx) som får sina värden från servern. pistatus Om allt ok = 0x0008, se för övrigt avsnitt 1.3 pinov antalen plc byte nr som följer = antal element i arrayan ptv. ptv Innehåller en array som ser ut som nedan. Int Givar # Givar # Givar # Givar # Givar # är ett heltal som börjar på 0. M7005 givar T6 har nr = 5. Funktionen skall returnera noll (0). Mera info Se exempelprogrammen ServerTransdXE_M och/eller ServerTransdVBNet_M Att koda en M7005 Server 16 (47)

17 1.5.2 Kontinuerligt Get_M() CBuilder: cint* pistatus, int* pinov, VARIANT* ptv) VBNet: Function Get_M(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object) Funktionen skickar pinov st flyttal in till M7005 som placeras som givarvärden i respektive Txx. pistatus Om allt ok = 0x0010 (DATA_OK), se för övrigt avsnitt 1.3 Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. pinov antal element i arrayan ptv. ptv inne håller array som ser ut som Givarvärd Givarvärde Givarvärde Givarvärde Givarvärdet är flyttal med decimalpunkt och eventuellt tecken. Funktionen skall returnera noll (0). Mer info Se exempelprogrammen ServerTarnsdXE_M och/eller ServerTransdVBNet_M Exempelprogrammet ServerTransdVBNet_M Att koda en M7005 Server 17 (47)

18 1.6 Digitala värde in till M7005 (_I) En _I server måste ha både InitGetPlc_I( ) och GetPlc_I( ) funktionerna definierade Initiering InitGetPlc_I() CBuilder: InitGetPlc_I(int* pistatus, int* pinov, VARIANT* ptv) VBNet: Function InitGetPlc_I(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object) Servern skickar ut till M7005 vilka bitar (Ixx, Hxx, S1 S16) som servern påverkar. För att M7005 skall veta vilka bitar som får ändras, skickar servern numret på berörda byte plus en bit-mask för att maska fram de enskilda bitarna. Första byten har nr 0. Dvs M7005 första in byte som rymmer I1 tom I8 är byte noll. Funktionen anropas då M7005:s IO system startas. pistatus Om allt ok = 0x0008, se för övrigt avsnitt 1.3 pinov antalen plc byte nr som följer = antal elemet i arrayan ptv / 2 ptv en array av heltal (int/integer) enligt layout nedan Heltal nr Byte # Mask Byte # Mask Byte # är ett heltal som börjar på 0 4 för I-bytes för H-bytes och för resultatbytes S1-S8, S9-S16 Mask är den mask som plc byten kommer att och:as med i M7005 för att bara utvalda bitar skall ändras. Skall sättas till noll (0) Mer info Se exempelprogrammen ServerXE_IQ eller ServerVBNET_IQ Att koda en M7005 Server 18 (47)

19 1.6.2 Kontinuerligt GetPlc_I( ) CBuilder GetPlc_I(int* pistatus, int* pinov, VARIANT* ptv) VBNet Function GetPlc_I(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object) Servern skickar *pinov st bytes som M7005 sedan får tilldela de plc bytes som angetts vid anropet av InitGetPlc_I( ). M7005 maskar sedan fram berörda bitar som ändras i enlighet med det som skickats i ptv arryen. Funktionen anropas kontinuerlig så länge som M7005 exekveras pistatus sätts till 0x0010 (DATA_OK) om allt OK. För övrigt se avsnitt 1.3 Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. pinob antalen plc bytes i arrayan ptv ptv innehålle en array som ser ut som Byten nr Plc byte Plc byte Plc byte Plc byet Plc byte innehåller värdet som bitarna i M7005 skall erhålla. Skall sättas till noll (0) Mer info Se exempelprogrammen ServerXE_IQ eller ServerVBNET_IQ Exempelprogrammet ServerEX_IQ. Att koda en M7005 Server 19 (47)

20 1.7 Digitala värden ut från M7005 (_Q) En _Q server måste ha både InitPutPlc_Q( ) och PutPlc_Q( ) funktionerna Initiering InitPutPlc_Q( ) CBuilder InitPutPlc_Q(int* pistatus, int* pinov, VARIANT* ptv) VBNet Function InitPutPlc_Q(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object) Funktionen talar om för M7005 vilka bytes (Qxx, Hxx S1-8, S1-16) som M7005 skall skicka till servern. Första byten har nr 0. Dvs M7005 första ut byte som rymmer Q1 tom Q8 är byte noll. Funktionen anrops då M7005:s IO system startas. pistatus Om allt ok = 0x0008, se för övrigt avsnitt 1.3 pinov antal element i arrayan ptv ptv en array om ser ut som nedan Int nr Byte # Byte # Byte # Byte # Byte # är ett heltal som börjar på 0 4 för Q-bytes för H-bytes och för resultatbytes S1-S8, S9-S16 Skall sättas till noll (0) Mer info Se exempelprogrammen ServerXE_IQ eller ServerVBNET_IQ Att koda en M7005 Server 20 (47)

21 1.7.2 Kontinuerligt PutPlc_Q( ) CBuilder PutPlc_Q(int* pistatus, int inov, VARIANT* ptv) VBNet Function PutPlc_Q(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object) Servern tar emot pinob st bytes som M7005 skickat. Funktionen anropas så länge som M7005 exekveras pistatus sätts till 0x0010 (DATA_OK). För övrigt se avsnitt 1.3. Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. inov antalen bytes i arrayan ptv ptv innehåller en array som ser ut som Byten nr Plc byte Plc byte Plc byte Plc byet Plc byte Plc byte innehåller informationen skickats av M7005. Skall sättas till noll (0) Mer info Se exempelprogrammen ServerXE_IQ eller ServerVBNET_IQ Exempelprogrammet ServerEX_IQ. Att koda en M7005 Server 21 (47)

22 1.8 Mätstyrningsdata ut från M7005 (_S) En _S server måste ha både Init_S( ) och Put_S( ) funktionerna Initiering Init_S( ) CBuilder Init_S(int* pistatus, BSTR strmeasprogpath, BSTR stroptininfo) VBNet Function Init_S(ByRef pistatus As Integer, ByVal strmeascasename As String, ByVal stroptionalinfor As String) Funktionen anropas förutom vi start av serversystemet också vid mätprogrambyte och batchbyte. pistatus sätts till 0x0008 (SERVER_READY) om allt OK. För övrigt se avsnitt 1.3 strmeasprogpath Innehåller sökvägen till aktuellt mätprogram på xml format. stroptininfo (kund special) Om nu aktuellt mätprogram är uppdukat på M7005:s H25 H32 bitar, finns här numret (börjar med 1) på den position som mätprogrammet har. T.ex <OptionInso> <H25-H32_Nummer>2</H25_H32_Nummer> </OptionInfo> Skall sättas till noll (0). Mera info Se exempelprogrammet ServerMetStyrXE_RS eller ServerMetSturVBNet_RS Kontinuerligt Put_S( ) CBuilder Put_S(int* pistatus, int* pinobytes, BSTR str) VBNet Function Put_S(ByRef pistatus As Integer, ByRef pinov As Integer, ByVal str As String) När registreringsorden går låg och kraven från mätstyrningsstrategin är uppfyllda skickar Att koda en M7005 Server 22 (47)

23 M7005 mätstyrningsdata i funktionsargumentet str till servern. (För information om M7005:s olika mätstyrningsstrategier, se handboken Mätstyrning med M7005 ). pistatus sätts till 0x0010 (DATA_OK). För övrigt se avsnitt 1.3. Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. pinov Antal tecken i str. För unicode är ett tecken = 2 bytes. str Mätstyrningsdatat på xml format. Se exemplet i figur nedan. Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerMetStyrXE_RS eller ServerMetSturVBNet_R /SJn Specifikation av mätsyrningsdata som går från M7005 till mätstyrningsserven Alla Tags och värden är vanliga teckensträngar (ascii) Variabel Tag Värde Anm Märprogramnamn cname Antal mått i mätprog no0meas Nolltelegram NollTelegram true false Antal mätsyrda mått iantmeassteermeas Mätresultat MeasResult WithinTol OutTol Sps resultat SpcResult XBarOver XBarUnder ROver Per mått Nrx x = måttest nummer Nominelt värde NomValue Målvärde TargetValue Axel Axel X Y Z VerktygsNr VerktygsNr Avvikels frå målv. DevFromTarget Avvikelse från nominetv. DevFromNom Mätvärder MeasValue Övre tolerans HighTolerance Undre tolerans LowTolerance Att koda en M7005 Server 23 (47)

24 Exempelprogrammet ServerMetStyrXE_RS Att koda en M7005 Server 24 (47)

25 1.9 Svar in till M7005 (_R) En _R server måste innehålla både Init_R( ) och Get_R( ) funktionerna Initiering Init_R( ) CBuilder Init_R(int* pistatus, BSTR strmeasprogname, BSTR strmeasprogpath, BSTR stroptininfo) VBNet Function Init_R(ByRef pistatus As Integer, ByVal strmeascasename As String, ByVal strmeasprogpath As String, ByVal stroptionalinfor As String) Funktionen anropas förutom vi start av serversystemet också vid mätprogrambyte och batchbyte. pistatus sätts till 0x0008 (SERVER_READY) om allt OK. För övrigt se avsnitt 1.3 strmeasprogname Namnet på mätprogrammet strmeasprogpath Fullständig sökväg till mätprogrammet på xml format. stroptininfo Används ej Skall sättas till noll (0). Mera info Se exempelprogrammet ServerMetStyrXE_RS eller ServerMetSturVBNet_RS Att koda en M7005 Server 25 (47)

26 1.9.2 Kontinuerligt Get_R( ) CBuilder Get_R(int* pistatus, int* pinobytes, BSTR* pstr) VBNet Function Get_R(ByRef pistatus As Integer, ByRef pinobytes As Integer, ByRef pstr As String) Funktionen anropas kontinuerligt så länge som M7005 exekveras. pistatus sätts till 0x0010 (DATA_OK). För övrigt se avsnitt Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. pinobytes Antal bytes i pstr pstr En sträng på xml format som ser ut som nedan <?cml version= 1.0 encoding= UTF-8 standalone= yes?> <CompensationsColected>XXX</CompensationsColected> Om XXX sätts = Yes kommer en C markering att göras i aktuell data post som ett tecken på att mätstyrningsdatat är hämtat av verktygsmaskinen. För mer information om M7005:s databas och markeringar i den se handboken M7005 filer, bibliotek, databasstruktur. Om XXX sätts = No sker ingenting. <WriteMsgToM7005SystemLog>asLogMsg</WriteMsgToM7005SystemLog> Innehållet i aslogmsg ( som är en AnsiString) skrivs in i M7005:s systemlogg. OBS: M7005 skriver inte tomma (aslogmsg har längd = 0) till loggen. Så för att inte fylla loggen med samma meddelande måste man sätta aslogmsg = efter det att man kopierat in aslogmsg:s innehåll till pstr Från exempel serverb ServerMetSryrXE:SR void fastcall TfrmGet_RForm::CreateGet_R_Reply(AnsiString _asyesno, AnsiString _asm7005loggmsg) { // skapar asget_rreply som skickass till M7005 asget_rreply="<?cmlversion=\"1.0 \" encoding=\"utf-8\" standalone= \"yes \"?>\n"; asget_rreply += "<CompensationsColected>"; asget_rreply += _asyesno; asget_rreply += "</CompensationsColected>\n"; asget_rreply += "<WriteMsgToM7005SystemLog>"; asget_rreply += _asm7005loggmsg; asget_rreply += "</WriteMsgToM7005SystemLog>"; } Funktionen skall returnera noll (0) Att koda en M7005 Server 26 (47)

27 Special a - dvs _Ra Till R kan läggas bokstaven a så när M7005 går I genom R:s funktioner och a är satt anropas funktionen nedan Put_RaDataWhenMeasOrderGoesHigh() När mätorden går hög för aktuellt mätprogram anropas denna funktion (tillkomsten motiverad av IBRMultiConfigFile server för INDEX projektet ). Mera info Se exempelprogrammet ServerMetStyrXE_RS eller ServerMetSturVBNet_RS Exempelprogrammet ServerMetStyrXE_RS Att koda en M7005 Server 27 (47)

28 1.10 Generell server (_G) En _G server måste innehålla samtliga funktioner beskrivna i detta avsnitt Initiering Init_G() CBuilder Init_G(int* pistatus, int* pinov, VARIANT* ptv, BSTR strmeascasepath) VBNet Init_G(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object, ByVal strmeascasepath As String) Funktionen anropas förutom vi start av serversystemet också vid mätprogrambyte och batchbyte. Servern tar emot vilket mätprogram som nu är aktuellt och skickar vilka mått som sätts av serven. pistatus sätts till 0x0008 (SERVER_READY) om allt OK. För övrigt se avsnitt 1.3 pinobytes Antal mått nummer som följer ptv = skall innehålla numren på de mått vilka serven skall ge mätvärden. Int Mått # Mått # Mått # Mått # är ett heltal som börjar på 1. (OBS börjar på 1) M7005 kommentar Mått som får sina mätvärden från serven bör inte ha någon måttformel i M7005. Dvs fältet för måttets måttformel skall vara tom. Om inte uppstår konflikt mellan måttformels beräknade värde och det värde som kommer från servern. strmeascasepath en sträng på xml format som innehåller den kompletta sökvägen till nu aktuellt mätprograms xml fil. Tag för sökvägen är <spathtocurrentmeasprog>. Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 28 (47)

29 Kontinuerlig Funktionerna anropas kontinuerligt så länge som M7005 exekveras Get_MeasV() CBuilder Get_MeasV(int* pistatus, int* pinov, VARIANT* ptv) VBNet Get_MeasV(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object) Funktionen skickar mätvärden för de måtten som angivits i Init_G, in till M7005. pistatus Sätts till 0x0010 (DATA_OK). För övrigt se avsnitt 1.3. Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. pinov Antal mätvärden i ptv ptv En array som innehåller de mätvärden som motsvarande mått i M7005 erhåller. Flyttal double Mätvärde Mätvärde Mätvärde Mätvärde All information i arrayen är flyttal (double) och hur många mätvärden ptv innehåller finns i heltalet *pinov. Mätvärdet är flyttal med decimalpunkt och eventuellt tecken. Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 29 (47)

30 Put_MeasV() CBuilder Put_MeasV(int* pistatus, int* pinov, VARIANT* ptv) VBNet Function Put_MeasV(ByRef pistatus As Integer, ByRef pinov As Integer, ByRef ptv As Object) Funktionen skickar ut M7005.s mätvärden för mätprogrammet samtliga mått, in till servern. pistatus Sätts till 0x0010 (DATA_OK). För övrigt se avsnitt 2.1. Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. pinov Antal mätvärden i ptv. Dvs antalet mått i mätprogrammet ptv En array som innehåller de mätvärden som motsvarande mått i M7005 erhåller. Flyttal double Mätvärde Mätvärde Mätvärde Mätvärde Mätvärdet är flyttal med decimalpunkt och eventuellt tecken. Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 30 (47)

31 Get_GeneralData( ) CBuilder Get_GeneralData(int* pistatus, int* pinobytes, BSTR* pstr) VBNet Get_GeneralData(ByRef pistatus As Integer, ByRef pinobytes As Integer, ByRef pstr As String) Funktionen hämtar in information in till M7005 pistatus Sätts till 0x0010 (DATA_OK). För övrigt se avsnitt 2.1. Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. pinobytes antal bytes i pstr. pstr En sträng med information på xml-format. Data som avkodas nu är mätprogramnamn och detalj ID. Automatiskt byte av mätprogram i M7005 Mätprogramnamn har tag <GetMeasCaseNameFromServer> och om det finns ett namn angivet, byter M7005 mätprogram till det angivna Ge detalj ID Detalj ID har tag <GetDetaljIDFromServer> om det finns ett id angivet, läggs det i senaste registrerade detaljens data post. Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 31 (47)

32 Put_GeneralData( ) CBuilder Put_GeneralData(int* pistatus, int inobytes, BSTR str) VBNet Put_GeneralData(ByRef pistatus As Integer, ByVal inobytes As Integer, ByVal str As String) Funktionen skickar ut information till serven pistatus Sätts till 0x0010 (DATA_OK). För övrigt se avsnitt 2.1. Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. Inga åtgärder på grund av innehållet i övriga parametra kommer att genomföras. inobytes antal bytes i str. str En sträng på xml format. Strängen innehåller för närvarand ingen information Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 32 (47)

33 Vid behov Funktionerna nedan anropas bara då deras speciella villkor är uppfyllda Get_GeneralDataWhenMeasOrderGoesHigh() CBuilde Get_GeneralDataWhenMeasOrderGoesHigh(int* pistatus, int* pinobytes, BSTR* pstr) VBNet Get_GeneralDataWhenMeasOrderGoesHigh(ByRef pistatus As Integer, ByRef pinobytes As Integer, ByRef pstr As String) Funktionen hämtar in information in till M7005 då mätorden går hög pistatus sätts till 0x0010 (DATA_OK). pinobytes antal bytes i pstr. pstr En sträng på xml-format som kan innehålla ett detalj ID Detalj id har tag <GetDetaljIDFromServer>. Om ett detalj id skickas så lägger M7005 det i sin area för aktuellt detalj id. När sedan mätningen sparas kommer dess id fält att innehålla det från servern skickade detalj idet. Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 33 (47)

34 Get_GeneralDataWhenMeasOrderGoesLow() CBuilder Get_GeneralDataWhenMeasOrderGoesLow(int* pistatus, int* pinobytes, BSTR* pstr) VBNet Get_GeneralDataWhenMeasOrderGoesLow(ByRef pistatus As Integer, ByRef pinobytes As Integer, ByRef pstr As String) Funktionen hämtar information in till M7005 då mätorden går låg. pistatus sätts till 0x0010 (DATA_OK). pinobytes antal bytes i pstr. pstr En sträng på xml-format som kan innehålla ett detalj ID Detalj id har tag <GetDetaljIDFromServer>. Om ett detalj id skickas så lägger M7005 det i sin area för aktuellt detalj id. När sedan mätningen sparas kommer dess id fält att innehålla det från servern skickade detalj idet. Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 34 (47)

35 Put_GeneralDataWhenMeasOrderGoesHigh() CBuilder Put_GeneralDataWhenMeasOrderGoesHigh(int* pistatus, int inobytes, BSTR str) VBNet Put_GeneralDataWhenMeasOrderGoesHigh(ByRef pistatus As Integer, ByVal inobytes As Integer, ByVal str As String) Funktionen skickar ut information till serven då mätorden går hög. pistatus sätts till 0x0010 (DATA_OK). inobytes Antal bytes i str. str En sträng på xml format. Strängen innehåller för närvarand ingen information Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 35 (47)

36 Put_GeneralDataWhenMeasOrderGoesLow() CBuilder Put_GeneralDataWhenMeasOrderGoesLow(int* pistatus, int inobytes, BSTR str) VBNet Put_GeneralDataWhenMeasOrderGoesLow(ByRef pistatus As Integer, ByVal inobytes As Integer, ByVal str As String) Funktionen skickar ut information till serven då mätorden går låg. pistatus sätts till 0x0010 (DATA_OK). inobytes antal bytes i str. str En sträng på xml format. Strängen innehåller för närvarand ingen information Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Att koda en M7005 Server 36 (47)

37 Put_GeneralDataWhenRegOrderGoesLow() CBuilder Put_GeneralDataWhenRegOrderGoesLow(int* pistatus, int inobytes, BSTR str) VBNet Put_GeneralDataWhenRegOrderGoesLow(ByRef pistatus As Integer, ByVal inobytes As Integer, ByRef str As String) Funktionen skickar ut information till serven då registreringsorden går låg pistatus sätts till 0x0010 (DATA_OK). inobytes Antal bytes i str. str En sträng på xml format som innehåller det i M7005 aktuella detalj idet. Detalj ID har tag <PutDetaljIDToServer>.. Funktionen skall returnera noll (0) Mera info Se exempelprogrammet ServerGenerellXE_G eller ServerGenerellVBNet_G Exempelprogrammet ServerGenerellVBNet_G Att koda en M7005 Server 37 (47)

38 1.11 Exportera data (_E) Serven kan innehålla kod som skickar data (exporterar) vidare till något annat system t.ex Q- Das, PiWeb. Det finns för närvarande exempel på server som lägger upp en fil på Q-DAS ASCII Transferformat för vidare export till Zeiss PiWeb. En _E server måste ha både Init_E( ) och Put_E( ) funktionerna Initiering Init_E( ) CBuilder Init_E(int* pistatus, BSTR strmeasprogpath, BSTR strmeascasedata, BSTR strkxxxxfields, BSTR strexportfileprefix) VBNet Ej införde Funktionen anropas förutom vi start av M7005 också vid mätprogrambyte och batchbyte. pistatus sätts till 0x0008 (SERVER_READY) om allt OK. För övrigt se avsnitt 1.3 strmeasprogpath Innehåller sökvägen till aktuellt mätprogram på xml format. T.ex <?cml version="1.0" encoding="utf-8" standalone="yes"?> <InitMeasProgPath> <spathtocurrentmeasprog>d:\jz3000x\verprodcx10\.\win32\debug\pr ogramms\exportdatatest.xml</spathtocurrentmeasprog> </InitMeasProgPath> strmeascasedata Innehåller mätprogrammet data och måttens data på XML-format. Vilka tags som finn visas i tabellerna och exemplet nedan. Variabel Tag Komentar Mätprogramnamn cname Antal mått i mätfallet no0meas Antal mått som exporteras noexportmeas Mätprogrammets namn cmastername Mätprogrammets Spc gruppstorlek uigrpsize data Cp/Cpk gruppstorlek uicpgrpsize Namn på batch scurbatch Antal decimaler iantdec Sort immorinch mm/inch Relativ/absolut mått booluserelativevaules Relativt = avvikelse från nominellt mått Absolut = nominellt + avvikelse från Att koda en M7005 Server 38 (47)

39 Måttens data Variabel Tag Komentar Per mått Nrxx x = måttets nr Måttets namn cmeasname Nominellt värde dnomvalue Masteravvikelsen dmasterdev Övre toleransen dovertol Övre testgränsen dovertest Undre testgränsen dundertest Undre toleransen dundertol Målvärdet dtargetvalue Typ av mätvärde uimode 0-5 *) Spc ingår i mätprog. bspcon true/false Över styrgräns doverctrllimit Undre styrgräns dunderctrllimit Styrgräns spridning dmaxr *) Dir = 0 Max = 1 Min = 2 Diff = 3 Mitt = 4 Medelv. = 5 Att koda en M7005 Server 39 (47)

40 Exempel på data som skickas då mätprogram startas eller då batch byts. <?cml version="1.0" encoding="utf-8" standalone="yes"?> <M_MEAS_CASE> <cname>exportdatatest</cname> <no0meas>4</no0meas> <noexportmeas>3</noexportmeas> <cmastername> </cmastername> <uigrpsize>3</uigrpsize> <uicpgrpsize>5</uicpgrpsize> <scurbatch>batch_v10</scurbatch> <iantdec>3</iantdec> <immorinch>0</immorinch> <booluserelativevaules>true</booluserelativevaules> < Motten > <Nr0> <cmeasname>d=20</cmeasname> <dnomvalue> </dnomvalue> <dmasterdev> </dmasterdev> <dovertol> </dovertol> <dovertest> </dovertest> <dundertest> </dundertest> <dundertol> </dundertol> <dtargetvalue> </dtargetvalue> <uimode>0</uimode> <bspcon>true</bspcon> <doverctrllimit> </doverctrllimit> <dunderctrllimit> </dunderctrllimit> <dmaxr> </dmaxr> </Nr0> <Nr2> <cmeasname>l=40</cmeasname> <dnomvalue> </dnomvalue> <dmasterdev> </dmasterdev> <dovertol> </dovertol> <dovertest> </dovertest> <dundertest> </dundertest> <dundertol> </dundertol> <dtargetvalue> </dtargetvalue> <uimode>0</uimode> <bspcon>true</bspcon> <doverctrllimit> </doverctrllimit> <dunderctrllimit> </dunderctrllimit> <dmaxr> </dmaxr> </Nr2> <Nr3> <cmeasname>l=50</cmeasname> <dnomvalue> </dnomvalue> <dmasterdev> </dmasterdev> <dovertol> </dovertol> <dovertest> </dovertest> <dundertest> </dundertest> <dundertol> </dundertol> <dtargetvalue> </dtargetvalue> <uimode>0</uimode> <bspcon>true</bspcon> <doverctrllimit> </doverctrllimit> <dunderctrllimit> </dunderctrllimit> <dmaxr> </dmaxr> </Nr3> </ Motten > </M_MEAS_CASE> Att koda en M7005 Server 40 (47)

41 strkxxxxfields De Kxxxx fälten som är definierade I mätprogrammet. Fälten är på formen Kxxx=fältets innehåll : kommentar; osv. Se exemplet nedan.: <QDasKxxxxFielda> <askxxxx>k1001= :artikelnr;k1002=ringhjul:artikelbeskrivning;k1083= :m askinnummer;k1085=ri01:planeringspunkt;k1086=14:oprationsnuimmer;k1087=op13-18:operationsgruppering;k1092=metem:maätsätt;k1100=synk:avsnitt;k1101=be62131:avd elning;k1102=t1:verkstad;k1113=köpingx:fabrik;</askxxxx> </QDasKxxxxFielda> strexportfileprefix Namnet på DFQ-filen som exporteras består av datum och tid då filen skapades. Men datum tid kan föregås av ett prefix. Detta prefix är inte obligatoriskt men vill man att DFQ-filerna skall ha ett, anger man det I mätprogrammet.. I exemplet nedan har man valt prefixet <QDasExportFilePrefix> <asqdasexportfileprefix> </asqdasexportfileprefix> </QDasExportFilePrefix> Skall sättas till noll (0). Att koda en M7005 Server 41 (47)

42 Kontinuerligt Put_E( ) CBuilder Put_E(int* pistatus, int inobytes, BSTR strmeasvalues) VBNet Function Put_E(ByRef pistatus As Integer, ByVal inov As Integer, ByVal pstrmeasvalues As String) När registreringsorden går låg innehåller strängen str det datat som skall exporteras. pistatus sätts till 0x0010 (DATA_OK). För övrigt se avsnitt 1.3. Om pistatus innehåller 0x02 (CONFIG_CHANGE) anropar M7005 servens Init() funktion omedelbart. inov Antal tecken i str. För unicode är ett tecken = 2 bytes. strmeasvalues Om data finns,dvs registreringsorder har gått låg eller mastring är avslutatd, innehåller strmeasvalues det exporterade datat/zerodiff på xml format. De tags som är definierade är DataTyp 1 för mätvärden, 2 för Nolldifferensen vid mastring, Datum, Tid, MeasName, AntExportMeas, AntMeasInMeasCase och för varje mått MeasValue Se exemplet nedan. Annars innehåller strmeasvalues texten WATCHDOG en information som man i servern kan använda för att visa att den har kontakt med M7005 <?cml version="1.0" encoding="utf-8" standalone="yes"?> <ExportData> <DataTyp>1</DataTyp> <Datum> </Datum> <Tid>11:18:01</Tid> <MeasCaseName>ExportDataTest</MeasCaseName> <DetaljId> </DetaljId> <AntExportMeas>3</AntExportMeas> <AntMeasInMeasCase>3</AntMeasInMeasCase> <Measures> <Nr0> <MeasValue> </MeasValue> </Nr0> <Nr1> <MeasValue> </MeasValue> </Nr1> <Nr2> <MeasValue> </MeasValue> </Nr2> </Measures> </ExportData> Funktionen skall returnera noll (0) Att koda en M7005 Server 42 (47)

43 1.12 Tvinga M7005 att byta mätprogram / Ta emot aktuellt mätprogram (_N) Att funktionerna heter som de heter beror på att de ursprungligen sammarbetade med Cordinatmätmaskiner (CMM) Initiering InitCmmMeasCaseName() CBuilder InitCmmMeasCaseName(int* pistatus, int inobytes, BSTR str) Funktionen anropas förutom då M7005 startas också vid mätprogrambyte och byte av batch. int* pistatus sätts till 0x0008 (SERVER_READY) om allt är OK. För övrigt se avsnitt 1.3 int inobytes Längden på str. BSTR str Strängen innehåller Sökvägen till M7005 map som innehåller mätprogrammen Namnet på aktiva mätsyrningsservrar Antal aktiva <?cml version="1.0" encoding="utf-8" standalone="yes"?> <CmmName> <spathtocurrentmeasproglib> D:\Jz3000x\VerProdCX10\.\Win32\Debug\ProgramMS </spathtocurrentmeasproglib> <inomeassteerservers> 2 </inomeassteerservers> <MeasSteerServers> <smeassteerservername> Metem9003 </smeassteerservername> <smeassteerservername> VolvoPowerTrain80609Index </smeassteerservername> </MeasSteerServers> </CmmName> Exemplet innehåller 2 mätstyrservrar, Metem9003 och VolvoPowertraon80609Index i D:\Jz3000x\VerProdCX10\.\Win32\Debug\ProgramMS mappen Att koda en M7005 Server 43 (47)

44 2.1.1 Kontinuerligt Get_CmmMeasCaseName() CBuilder Get_CmmMeasCaseName(int* pistatus, int* pinobytes, BSTR* pstr) Funktionen skickar ett mätprogramnamn till M7005, som gör mätprogrammet till det aktiva programmet. Det under förutsättning att det finns ett mätprogram i M7005 programbibliotek som har det skickade namnet. pistatus Sätts till 0x0008 (SERVER_READY) om allt är OK. För övrigt se avsnitt 1.3 pinobytes Längden på pstr. pstr Namnet på det mätprogram som servern vill starta, i exeplet Axel72. <?cml version="1.0" encoding="utf-8" standalone="yes"?> <FromCmm> <MeasCaseNameFromCmm>Axel72</MeasCaseNameFromCmm> </FromPcCmm> Funktionen skall returnera noll (0). Att koda en M7005 Server 44 (47)

45 Put_CmmMeasCaseName(int* pistatus, int inobytes, BSTR str) CBuilder Put_CmmMeasCaseName(int* pistatus, int inobytes, BSTR str) Har ingen funktion förnärvarande, Att koda en M7005 Server 45 (47)

46 5 Appendix 2 Skapa VBNet projekt Att skapa ett VBNet Com projekt utifrån ett redan existerande. Grund projektet är Microsofts VBExeComServer se Gör följande Skapa ett nytt VBNet projekt Console Application OBS måste sättas rätt Project / Propertis sätt som nedan Att koda en M7005 Server 46 (47)

47 Add Existing M3005Server.vb, COMHelper.vb, Main_Module.VB, NativeModule.vb Spara modulerna i rätt bibliotek (de verkar redan finnas Add existings Projectxxxx_yyy.vb Byt namn överallt i filen via Edit/ Find Replace Spara Lägg in ServerTransdVBNet_M.Instance.Run() i MainModule Lägg till frmmainform Editer in rätt COM interface Sätt Startup obbject till MainModule Generera nya GIUD och stopp in den i M3005Server.vb Editer in <PropertyGroup> <PostBuildEvent>echo Generate and register type library. C:\Windows\Microsoft.NET\Framework\v \regasm.exe /tlb "$(TargetPath)" echo Register the component. C:\Windows\Microsoft.NET\Framework\v \regasm.exe "$(TargetPath)"</PostBuildEvent> </PropertyGroup> I projektfilen.vbproj Att koda en M7005 Server 47 (47)

Windows dator M7005. I Q r r _I e e _Q s g g s e I1 - Q1 - e r I40 H Q40 r v r v e e e r g r H1 - H48. S reg S1 - S16

Windows dator M7005. I Q r r _I e e _Q s g g s e I1 - Q1 - e r I40 H Q40 r v r v e e e r g r H1 - H48. S reg S1 - S16 Matematikföretaget jz www.m7005.metem.se 140919/150411/150513/SJn Windows dator M7005 I Q r r _I e e _Q s g g s e I1 - Q1 - e r I40 H Q40 r v r v e e e r g r H1 - H48 S reg S1 - S16 T reg T1 - T80 Akt

Läs mer

M7005 Exportera data på Q- DAS ASCII Transferformat

M7005 Exportera data på Q- DAS ASCII Transferformat Matematikföretaget jz www.m7005.metem.se. 170220/170926/180315/180418/Sjn M7005 Exportera data på Q- DAS ASCII Transferformat Användarhandbok T.ex M7005 Exportera data på Q_DAS ASCII Transferformat, Användarhandbok

Läs mer

Mätstyrning med M7005

Mätstyrning med M7005 Matematikföretaget jz M7005.metem.se 150423/150626/150721/SJn Mätstyrning med M7005 en översikt Mätstyrning med M7005, en översikt 1 (12) Innehåll 1 Mätstyrning 4 2 M7005:s sätt att mätstyra 5 3 Anpassa

Läs mer

Uppdatera Metem 3005 till M7005

Uppdatera Metem 3005 till M7005 150411//151005/181020/SJn Uppdatera Metem 3005 till M7005 M7005 är kompatibelt med M3005 vad beträffar, mätprogram, databas, plc-program och flertalet IO servrar mm Checklista för övergång från M3005 till

Läs mer

Uppdatera Metem 3005 till M7005

Uppdatera Metem 3005 till M7005 141124/150411//151005SJn Uppdatera Metem 3005 till M7005 M7005 är kompatibelt med M3005 vad beträffar, mätprogram, databas, plc-program och flertalet IO servrar mm Checklista för övergång från M3005 till

Läs mer

Uppdatera Metem 3005 till M7005

Uppdatera Metem 3005 till M7005 140119/141124/150411/SJn Uppdatera Metem 3005 till M7005 M7005 är kompatibelt med M3005 vad beträffar, mätprogram, databas, plc-program och flertalet IO servrar mm Checklista för övergång från M3005 till

Läs mer

M7005 Fischer/Weisser mätstyrningsserver M9003 ersatt med IBR enheter

M7005 Fischer/Weisser mätstyrningsserver M9003 ersatt med IBR enheter 24 IBR UT 8 IBR IN Matematikföretaget jz www.m7005.metem.se 151108/160119/SJn M7005 Fischer/Weisser mätstyrningsserver M9003 ersatt med IBR enheter M7005 Com MätStyrsevere Com 24 ledare 4 ledare M9002

Läs mer

Installation av M7005 och till M7005 hörande serverprogram

Installation av M7005 och till M7005 hörande serverprogram 150607/150716/151005/SJn Installation av M7005 och till M7005 hörande serverprogram samt Anpassning av M7005:s utseende Installation och anpassning av M7005 sida 1 (18) Innehåll 1 M7005:s hemsida är M7005.Metem.se...

Läs mer

M7005 och IBR Användarhandbok

M7005 och IBR Användarhandbok 181101/190313/190521/SJn M7005 och IBR Användarhandbok M7005 och IBR - Användarhandbok OBSERVERA Informationen i detta dokument kan ändras utan föregående meddelande. Innehållet är icke bindande. Matematikföretaget

Läs mer

M7003 FMS/Weisser mätstyrningsserver M9003 ersatt med Simens S Plc- RS232

M7003 FMS/Weisser mätstyrningsserver M9003 ersatt med Simens S Plc- RS232 Com.mod. CPU 1212 S 1222 DO Matematikföretaget jz www.m7005.metem.se 160919/180926/190213/190320/SJn M7003 FMS/Weisser mätstyrningsserver M9003 ersatt med Simens S7-1200 Plc- RS232 M7005 Com MätStyrsevere

Läs mer

M7005 filer, bibliotek, databasstruktur

M7005 filer, bibliotek, databasstruktur Matematikföretaget jz www.m7005.metem.se. 150411/150726/160419Sjn M7005 filer, bibliotek, databasstruktur Databas Mätsystemet M7005 filer, bibliotek, databasstruktur Sida 1 Matematikföretaget jz (Sverker

Läs mer

Mäta rakhet Scanning med M7005

Mäta rakhet Scanning med M7005 Matematikföretaget jz M7005.metem.se 141121/150411/150704/SJn Mäta rakhet Scanning med M7005 Mätgivare Detalj Mäta rakhet - Scanning 1 (12) Innehåll 1 Ett exempel... 3 2 Beskrivning... 6 2.1 Scanna in

Läs mer

M7005 Rundhetsmätning

M7005 Rundhetsmätning Matematikföretaget jz www.m7005.metem.se 1500702/SJn M7005 Rundhetsmätning M7005 - Rudhetsmätning 1 (23) Innehåll 1 Allmänt... 3 1.1 Ring... 4 1.2 Axel... 4 2 Att komma i gång - En mätning... 5 3 Programmera

Läs mer

M7005 Användarhandbok

M7005 Användarhandbok Matematikföretaget jz www.m7005.metem.se /150423/150608/150622/SJn M7005 Användarhandbok M7005 Användahandbok 1 (86) Matematikföretaget jz (Sverker Johansson) är under inga omständigheter ansvarigt för

Läs mer

M7005 Fischer/Weisser mätstyrningsserver M9003 ersatt med Simens S7-1200 Plc

M7005 Fischer/Weisser mätstyrningsserver M9003 ersatt med Simens S7-1200 Plc Matematikföretaget jz www.m7005.metem.se 160121/SJn M7005 Fischer/Weisser mätstyrningsserver M9003 ersatt med Simens S7-1200 Plc M7005, Fischer/Weisser mätstyrningsserver M9003 ersatt med Siemens S7-1200

Läs mer

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2 Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

Läs mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

ALEPH ver. 16 Introduktion

ALEPH ver. 16 Introduktion Fujitsu, Westmansgatan 47, 582 16 Linköping INNEHÅLLSFÖRTECKNING 1. SKRIVBORDET... 1 2. FLYTTA RUNT M.M.... 2 3. LOGGA IN... 3 4. VAL AV DATABAS... 4 5. STORLEK PÅ RUTORNA... 5 6. NAVIGATIONSRUTA NAVIGATIONSTRÄD...

Läs mer

Snabbguide Visma Compact API Copyright 2006-2010 Visma Spcs AB

Snabbguide Visma Compact API Copyright 2006-2010 Visma Spcs AB Snabbguide Visma Compact API Copyright 2006-2010 Visma Spcs AB Komma igång med Compact API Hur APIet fungerar Visma Compacts API läser och skriver direkt till databasen via ett antal färdiga metoder som

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...

Läs mer

IT-system. BUP Användarmanual

IT-system. BUP Användarmanual IT-system Användarmanual Innehållsförteckning 1. Att komma igång med... 1 1.1 Installera... 1 1.1.1 Byt databas... 1 1.1.2 Behörighet att byta databas... 2 1.2 Logga in... 3 1.2 Inloggad... 3 1.3 Logga

Läs mer

Primus Vägledning för massimport av bilder. Primus 5.6.4

Primus Vägledning för massimport av bilder. Primus 5.6.4 Primus Vägledning för massimport av bilder Primus 5.6.4 Primus Vägledning för massimport av bilder 2 Innehållsförteckning Innehållsförteckning... 2 Vägledning för massimport av bilder i Primus... 3 1.

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Hämta projektkonfiguration från SharePoint till ett lokalt projekt

Hämta projektkonfiguration från SharePoint till ett lokalt projekt Hämta projektkonfiguration från SharePoint till ett lokalt projekt Du kan använda synkroniseringsfunktionen för att hämta projektkonfiguration från ett SharePoint-bibliotek till ett tomt lokalt projekt.

Läs mer

OBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator.

OBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator. Navirad User Tool 3,7 Manual för GPS 1 Easy, GPS 2, GPS 4 samt Navirad Elite. Du kan ladda ner programmet från följande websida: Leta upp fliken Download och följ instruktionerna. http://www.tmobilteknik.com

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Metoder (funktioner) Murach s: kap Winstrand Development

Metoder (funktioner) Murach s: kap Winstrand Development (funktioner) Murach s: kap 6 2013-01-23 1 Winstrand Development Metoder I C# kan vi dela in koden i block en kodsekvens ska köras likadant på flera ställen i applikationen. Detta block kallas för en metod

Läs mer

Komponenter med COM (och COM+/VC++ 7.0)

Komponenter med COM (och COM+/VC++ 7.0) MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller

Läs mer

FIRSTCLASS. Innehåll:

FIRSTCLASS. Innehåll: FIRSTCLASS Innehåll: Hämta klient...2 Installera klient...2 Konfigurera klient...2 Koppla upp...3 Skrivbordet...3 Mailbox...3 Presentation...3 Skapa ett nytt meddelande...4 Söka mottagare för nytt meddelande...4

Läs mer

Författare Version Datum. Visi System AB 2.0 2009 03 30

Författare Version Datum. Visi System AB 2.0 2009 03 30 1. Syfte Syftet med detta dokument är att beskriva hur man installerar Visi på din dator. Dokumentet är uppdelat i fyra delar: Installation Grundinställningar Kom igång med Visi Felsökning 1.1. Systemkrav

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om

Läs mer

Att hämta organisationers publikationsposter ur DiVA

Att hämta organisationers publikationsposter ur DiVA Att hämta organisationers publikationsposter ur DiVA Ulf Kronman, 2011-08- 08. Version 1.0 Följande guide beskriver hur man kan ladda ned kompletta publikationsposter i så kallat CSV- format 1 för organisationer

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler Outline Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vända om inlästa värden Vända om inlästa

Läs mer

5 Grundläggande in- och utmatning

5 Grundläggande in- och utmatning 5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

EVO DEV. EvodevExcel.GarpReportAddin

EVO DEV. EvodevExcel.GarpReportAddin EVO DEV EvodevExcel.GarpReportAddin Evodev AB web www.evodev.se epost info@evodev.se Telefon 033-4300300 Fax 033-126697 Innehåll Installera programmet 1 Installation 1 Registerinställningar 1 Start av

Läs mer

Tentamen i Grundläggande Programvaruutveckling, TDA548

Tentamen i Grundläggande Programvaruutveckling, TDA548 Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5

Läs mer

Snabbguide Visma Compact API Version 5.1 Copyright 2006-2008 Visma Spcs AB Visma Compact API

Snabbguide Visma Compact API Version 5.1 Copyright 2006-2008 Visma Spcs AB Visma Compact API Snabbguide Visma Compact API Version 5.1 Copyright 2006-2008 Visma Spcs AB Visma Compact API Introduktion Visma Compact API är ett programmeringsgränssnitt framtaget för att underlätta integration av Visma

Läs mer

Uppgift 1 (vadå sortering?)

Uppgift 1 (vadå sortering?) 2011-06-08.kl.14-19 Uppgift 1 (vadå sortering?) Du skall skriva ett program som sorterar in en sekvens av tal i en vektor (en array ) enligt en speciell metod. Inledningsvis skall vektorn innehålla endast

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8) Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8) I detta exempel kommer du att lära dig Att skapa en ny presentation från början Att skapa en enkel knapp Att använda händelseinställningar, events

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

MegTax CardCenterPro

MegTax CardCenterPro 09-09-25 n 1 1 (7) MegTax CardCenterPro 1. Installation... 2 2. Hantering... 3 2.1. Tömning... 3 2.2. Fliken Kortrutiner... 4 2.3. Visa logg & Visa ej tömda... 5 2.4. Fliken Fakturafil... 5 2.5. Fliken

Läs mer

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för räknevägning på PC.

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för räknevägning på PC. RVS5000PC Manual Allmänt Välkommen till SVENSKA VÅGs datorprogram för räknevägning på PC. RVS5000PC kan köras under Windows 98, NT, 2000, XP. Rekommenderat minimikrav på datorn är internminne 1GB, processor

Läs mer

Datum 2012-12-28. Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta.

Datum 2012-12-28. Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta. Installation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare Installationen består av tre steg som automatiskt körs efter varandra. Steg 1: Programmet installeras och man

Läs mer

Manual Jourläkarschema Alingsås - Version 1.0

Manual Jourläkarschema Alingsås - Version 1.0 Manual Jourläkarschema Alingsås - Version 1.0 Denna manual innehåller olika avsnitt och beroende på vilken roll man har är de olika avsnitten aktuella. OBS! För att kunna planera jourpass måste man som

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Kapitel 15: Data/Matrix Editor

Kapitel 15: Data/Matrix Editor Kapitel 15: Data/Matrix Editor 15 Översikt över Data/Matrix Editor... 226 Översikt över list-, data- och matrisvariabler... 227 Starta en Data/Matrix Editor-session... 229 Mata in och visa cellvärden...

Läs mer

På servern För att registrera och köra en Topocad 17 nätverkslicens krävs att man installerar den senaste Licensservern

På servern För att registrera och köra en Topocad 17 nätverkslicens krävs att man installerar den senaste Licensservern Installationsanvisning Topocad nätverkslicens Denna installationsanvisning gäller för Topocad nätverkslicenser från version 17 och senare och beskriver hur man registrerar en Topocad licens på en server

Läs mer

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för viktinsamling på PC.

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för viktinsamling på PC. GS5000PC Manual Allmänt Välkommen till SVENSKA VÅGs datorprogram för viktinsamling på PC. GS5000PC kan köras under Windows 98, NT, 2000, XP. Rekommenderat minimikrav på datorn är internminne 1GB, processor

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar

Läs mer

BaraTrav fliken Poäng Version 2.2

BaraTrav fliken Poäng Version 2.2 BaraTrav fliken Poäng Version 2.2 I fliken Poäng reducerar du med villkor baserade på poängvärden för respektive häst Du kan reducera med villkor avseende poängsumma och/eller antal hästar inom specificerade

Läs mer

Hjälpmedel för kompilatorkonstruktion, DVB004

Hjälpmedel för kompilatorkonstruktion, DVB004 Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,

Läs mer

Administrationsmanual ImageBank 2

Administrationsmanual ImageBank 2 Administrationsmanual ImageBank 2 INNEHÅLL 1. Konventioner i manualen 3 2. Uppmärksamhetssymboler 3 3. Vad är imagebank SysAdmin 4 4. Guide för att snabbt komma igång 5 5. Uppgradera din imagebank 1.2

Läs mer

Kopplingar via datalänk från Winbas till Excel samt Pivottabell 1 (13)

Kopplingar via datalänk från Winbas till Excel samt Pivottabell 1 (13) Kopplingar via datalänk från Winbas till Excel samt Pivottabell 1 (13) Skapa datakälla Första gången man gör en koppling till databasen måste man skapa en ny datakälla, denna källa kan sedan användas till

Läs mer

Guide till att använda Audacity för uttalsövningar

Guide till att använda Audacity för uttalsövningar Guide till att använda Audacity för uttalsövningar Victoria Johansson Humlabbet, SOL-center, Lund IT-pedagog@sol.lu.se 28 mars 2006 1 Inledning Audacity är ett program som kan användas för att spela in

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

WAGO IO System Service Seminar. Diagnostik

WAGO IO System Service Seminar. Diagnostik WAGO IO System Service Seminar Diagnostik 1 Dioder på Controller Link 1/2 Ethernet Länk status Av - ingen ethernet anslutning grön - Ethernet anslutning blinkande grön - Ethernet anslutning skickar / tar

Läs mer

Startanvisning för Bornets Internet

Startanvisning för Bornets Internet Startanvisning för Bornets Internet Denna guide kommer att hjälpa dig igång med Bornets Internet. Sidan 1 av 41 Innehållsförteckning Titel Sidan Kapitel 1. Introduktion... 3 Kapitel 2. TCP/IP-inställningar

Läs mer

Stompunktsmanual Trafikverket

Stompunktsmanual Trafikverket Stompunktsmanual Trafikverket Författare: Tomas Sandström Datum: 2013-04-26 Inledningsid1 Historik: Rev Datum Beskrivning Sign A 2013-04-26 Första version TOSA B 2013-05-14 Komplettering av importer TOSA

Läs mer

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Frekvenstabell över tärningskast med C#

Frekvenstabell över tärningskast med C# Instruktion Frekvenstabell över tärningskast med C# Introduktionsuppgift Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Innehåll Du ska följa steg för steg -instruktionen i

Läs mer

DD1361 Programmeringsparadigm. Carina Edlund

DD1361 Programmeringsparadigm. Carina Edlund DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration 12 Avsikten med denna laboration är att du ska göra några grafiska program. Börja med att skapa paketet laboration 12. Grundläggande uppgift Uppgift 12a Uppgiften går ut på att göra en enkel

Läs mer

Konfigurationsguide för Hogia PBM Time & Project för Installatörer, IT-tekniker

Konfigurationsguide för Hogia PBM Time & Project för Installatörer, IT-tekniker Konfigurationsguide Produkt/projekt Version Datum Sida Hogia PBM Time & Project 13.4 2013-10-11 1 (64) Konfigurationsguide för Hogia PBM Time & Project för Installatörer, IT-tekniker Konfiguration sker

Läs mer

Tentamen i Grundläggande Programvaruutveckling, TDA548

Tentamen i Grundläggande Programvaruutveckling, TDA548 Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2016-12-20 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 3: 24-37 4: 38-47 5

Läs mer

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Insamlingsverktyg - teknisk beskrivning av metadataformuläret Digitala leveranser Insamlingsverktyg - teknisk beskrivning av metadataformuläret Innehåll: Allmänt Layout och uppbyggnad Hur man använder programmet Starta Fylla i metadata Skapa metadatafiler och leverera

Läs mer

Bruksanvisning för hjälpbegäran

Bruksanvisning för hjälpbegäran Bruksanvisning för hjälpbegäran Med verktyget för hjälpbegäran kan du öppna en fil som innehåller en stor mängd uppgifter för att kunna lösa ert problem och konsultera samtliga sända filer. Du kan skapa

Läs mer

FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version

FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version Beskrivning av FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version Flexénita Sunnerstavägen 58 186 70 Brottby tel: 08 512 41803 FLEXILAGER 2 Innehållsförteckning INTRODUKTION.....3

Läs mer

Ladda upp filer fra n PLC till PC

Ladda upp filer fra n PLC till PC Supportdokument Ladda upp filer fra n PLC till PC Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_Suppo_Ladda upp filer från.docx Innehållsförteckning 1. Allmänt... 2 2. Installation

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

GATEWAY TJÄNSTEBESKRIVNING. Webbservice. WSDL-fil. Skicka meddelanden. SMS och FastnätsSMS

GATEWAY TJÄNSTEBESKRIVNING. Webbservice. WSDL-fil. Skicka meddelanden. SMS och FastnätsSMS GATEWAY TJÄNSTEBESKRIVNING Tjänsten Messit Gateway består av ett gränssnitt som enkelt kan implementeras i en egen applikation. Det enda som krävs för att använda Messit Gateway är att applikationen som

Läs mer

Tentamen i Introduktion till programmering

Tentamen i Introduktion till programmering Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 229 PHP Hypertext Preprocessor Scriptspråk på serversidan Innebär att webbservern översätter php-scripten innan sidan skickas till webbläsaren,

Läs mer

Datainsamling över Internet

Datainsamling över Internet Datainsamling över Internet I den här uppgiften skall du styra ett mätförlopp och hämta mätdata via internet. Från en dator skall du styra en annan dator och beordra den att utföra en mätning och skicka

Läs mer

Arrayer (fält)

Arrayer (fält) Arrayer (fält) 1 Vad kommer vi att ta upp om arrayer? Deklarera och initiera arrayen Lägga till i arrayen Ta ut på indexposition Ta reda på arrayens längd Sortera arrayen Söka igenom arrayen Loopa igenom

Läs mer

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa Lena Kallin Westin 2005-08-22 Institutionen för datavetenskap Umeå universitet TENTAMEN Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa Inlämnad Poäng Kurs : Programmeringsteknisk

Läs mer

Funktioner i SDCs insändningsprogram Sender version installerad i skördare, skotare eller drivare

Funktioner i SDCs insändningsprogram Sender version installerad i skördare, skotare eller drivare Funktioner i SDCs insändningsprogram Sender version 03.05 installerad i skördare, skotare eller drivare Det går även att komma åt en kortfattad beskrivning av funktionerna i programmet via Hjälpknappen

Läs mer

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för plock kontroll på PC.

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för plock kontroll på PC. PKS5000PC Manual Allmänt Välkommen till SVENSKA VÅGs datorprogram för plock kontroll på PC. PKS5000PC kan köras under XP och Windows 7. Windows XP eller Windows 7 (32 bit). Minimum hårdvarukrav är interminne

Läs mer

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud. Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer