FocasB.cs 539 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.InteropServices;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace IMCS.Device.FanucBase
  8. {
  9. public class Focas1
  10. {
  11. /* Axis define */
  12. #if FS30D
  13. public const short MAX_AXIS = 32;
  14. #elif M_AXIS2
  15. public const short MAX_AXIS = 24;
  16. #elif FS15D
  17. public const short MAX_AXIS = 10;
  18. #else
  19. public const short MAX_AXIS = 8;
  20. #endif
  21. public const short ALL_AXES = (-1);
  22. public const short ALL_SPINDLES = (-1);
  23. public const short EW_OK = (short)focas_ret.EW_OK;
  24. /* Error Codes */
  25. public enum focas_ret
  26. {
  27. EW_PROTOCOL = (-17), /* protocol error */
  28. EW_SOCKET = (-16), /* Windows socket error */
  29. EW_NODLL = (-15), /* DLL not exist error */
  30. EW_BUS = (-11), /* bus error */
  31. EW_SYSTEM2 = (-10), /* system error */
  32. EW_HSSB = (-9), /* hssb communication error */
  33. EW_HANDLE = (-8), /* Windows library handle error */
  34. EW_VERSION = (-7), /* CNC/PMC version missmatch */
  35. EW_UNEXP = (-6), /* abnormal error */
  36. EW_SYSTEM = (-5), /* system error */
  37. EW_PARITY = (-4), /* shared RAM parity error */
  38. EW_MMCSYS = (-3), /* emm386 or mmcsys install error */
  39. EW_RESET = (-2), /* reset or stop occured error */
  40. EW_BUSY = (-1), /* busy error */
  41. EW_OK = 0, /* no problem */
  42. EW_FUNC = 1, /* command prepare error */
  43. EW_NOPMC = 1, /* pmc not exist */
  44. EW_LENGTH = 2, /* data block length error */
  45. EW_NUMBER = 3, /* data number error */
  46. EW_RANGE = 3, /* address range error */
  47. EW_ATTRIB = 4, /* data attribute error */
  48. EW_TYPE = 4, /* data type error */
  49. EW_DATA = 5, /* data error */
  50. EW_NOOPT = 6, /* no option error */
  51. EW_PROT = 7, /* write protect error */
  52. EW_OVRFLOW = 8, /* memory overflow error */
  53. EW_PARAM = 9, /* cnc parameter not correct error */
  54. EW_BUFFER = 10, /* buffer error */
  55. EW_PATH = 11, /* path error */
  56. EW_MODE = 12, /* cnc mode error */
  57. EW_REJECT = 13, /* execution rejected error */
  58. EW_DTSRVR = 14, /* data server error */
  59. EW_ALARM = 15, /* alarm has been occurred */
  60. EW_STOP = 16, /* CNC is not running */
  61. EW_PASSWD = 17, /* protection data error */
  62. /*
  63. Result codes of DNC operation
  64. */
  65. DNC_NORMAL = (-1), /* normal completed */
  66. DNC_CANCEL = (-32768), /* DNC operation was canceled by CNC */
  67. DNC_OPENERR = (-514), /* file open error */
  68. DNC_NOFILE = (-516), /* file not found */
  69. DNC_READERR = (-517) /* read error */
  70. };
  71. /*--------------------*/
  72. /* */
  73. /* Structure Template */
  74. /* */
  75. /*--------------------*/
  76. /*-------------------------------------*/
  77. /* CNC: Control axis / spindle related */
  78. /*-------------------------------------*/
  79. /* cnc_actf:read actual axis feedrate(F) */
  80. /* cnc_acts:read actual spindle speed(S) */
  81. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  82. public class ODBACT
  83. {
  84. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  85. public short[] dummy; /* dummy */
  86. public int data; /* actual feed / actual spindle */
  87. }
  88. /* cnc_acts2:read actual spindle speed(S) */
  89. /* (All or specified ) */
  90. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  91. public class ODBACT2
  92. {
  93. public short datano; /* spindle number */
  94. public short type; /* dummy */
  95. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  96. public int[] data; /* spindle data */
  97. }
  98. /* cnc_absolute:read absolute axis position */
  99. /* cnc_machine:read machine axis position */
  100. /* cnc_relative:read relative axis position */
  101. /* cnc_distance:read distance to go */
  102. /* cnc_skip:read skip position */
  103. /* cnc_srvdelay:read servo delay value */
  104. /* cnc_accdecdly:read acceleration/deceleration delay value */
  105. /* cnc_absolute2:read absolute axis position 2 */
  106. /* cnc_relative2:read relative axis position 2 */
  107. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  108. public class ODBAXIS
  109. {
  110. public short dummy; /* dummy */
  111. public short type; /* axis number */
  112. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  113. public int[] data; /* data value */
  114. }
  115. /* cnc_rddynamic:read all dynamic data */
  116. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  117. public class FAXIS
  118. {
  119. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  120. public int[] absolute; /* absolute position */
  121. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  122. public int[] machine; /* machine position */
  123. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  124. public int[] relative; /* relative position */
  125. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  126. public int[] distance; /* distance to go */
  127. }
  128. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  129. public class OAXIS
  130. {
  131. public int absolute; /* absolute position */
  132. public int machine; /* machine position */
  133. public int relative; /* relative position */
  134. public int distance; /* distance to go */
  135. }
  136. #if (!ONO8D)
  137. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  138. public class ODBDY_1
  139. {
  140. public short dummy;
  141. public short axis; /* axis number */
  142. public short alarm; /* alarm status */
  143. public short prgnum; /* current program number */
  144. public short prgmnum; /* main program number */
  145. public int seqnum; /* current sequence number */
  146. public int actf; /* actual feedrate */
  147. public int acts; /* actual spindle speed */
  148. public FAXIS pos = new FAXIS();
  149. }
  150. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  151. public class ODBDY_2
  152. {
  153. public short dummy;
  154. public short axis; /* axis number */
  155. public short alarm; /* alarm status */
  156. public short prgnum; /* current program number */
  157. public short prgmnum; /* main program number */
  158. public int seqnum; /* current sequence number */
  159. public int actf; /* actual feedrate */
  160. public int acts; /* actual spindle speed */
  161. public OAXIS pos = new OAXIS();
  162. }
  163. #else
  164. [StructLayout(LayoutKind.Sequential, Pack=4)]
  165. public class ODBDY_1
  166. {
  167. public short dummy ;
  168. public short axis ; /* axis number */
  169. public short alarm ; /* alarm status */
  170. public int prgnum ; /* current program number */
  171. public int prgmnum ; /* main program number */
  172. public int seqnum ; /* current sequence number */
  173. public int actf ; /* actual feedrate */
  174. public int acts ; /* actual spindle speed */
  175. public FAXIS pos = new FAXIS();
  176. }
  177. [StructLayout(LayoutKind.Sequential, Pack=4)]
  178. public class ODBDY_2
  179. {
  180. public short dummy ;
  181. public short axis ; /* axis number */
  182. public short alarm ; /* alarm status */
  183. public int prgnum ; /* current program number */
  184. public int prgmnum ; /* main program number */
  185. public int seqnum ; /* current sequence number */
  186. public int actf ; /* actual feedrate */
  187. public int acts ; /* actual spindle speed */
  188. public OAXIS pos = new OAXIS();
  189. }
  190. #endif
  191. /* cnc_rddynamic2:read all dynamic data */
  192. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  193. public class ODBDY2_1
  194. {
  195. public short dummy;
  196. public short axis; /* axis number */
  197. public int alarm; /* alarm status */
  198. public int prgnum; /* current program number */
  199. public int prgmnum; /* main program number */
  200. public int seqnum; /* current sequence number */
  201. public int actf; /* actual feedrate */
  202. public int acts; /* actual spindle speed */
  203. public FAXIS pos = new FAXIS();
  204. }
  205. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  206. public class ODBDY2_2
  207. {
  208. public short dummy;
  209. public short axis; /* axis number */
  210. public int alarm; /* alarm status */
  211. public int prgnum; /* current program number */
  212. public int prgmnum; /* main program number */
  213. public int seqnum; /* current sequence number */
  214. public int actf; /* actual feedrate */
  215. public int acts; /* actual spindle speed */
  216. public OAXIS pos = new OAXIS(); /* In case of 1 axis */
  217. }
  218. /* cnc_wrrelpos:set origin / preset relative axis position */
  219. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  220. public class IDBWRR
  221. {
  222. public short datano; /* dummy */
  223. public short type; /* axis number */
  224. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  225. public int[] data = new int[MAX_AXIS]; /* preset data */
  226. }
  227. /* cnc_prstwkcd:preset work coordinate */
  228. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  229. public class IDBWRA
  230. {
  231. public short datano; /* dummy */
  232. public short type; /* axis number */
  233. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  234. public int[] data = new int[MAX_AXIS]; /* preset data */
  235. }
  236. /* cnc_rdmovrlap:read manual overlapped motion value */
  237. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  238. public class IODBOVL
  239. {
  240. public short datano; /* dummy */
  241. public short type; /* axis number */
  242. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * MAX_AXIS)]
  243. public int[] data; /* data value:[2][MAX_AXIS] */
  244. }
  245. /* cnc_rdspload:read load information of serial spindle */
  246. /* cnc_rdspmaxrpm:read maximum r.p.m. ratio of serial spindle */
  247. /* cnc_rdspgear:read gear ratio of serial spindle */
  248. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  249. public class ODBSPN
  250. {
  251. public short datano; /* dummy */
  252. public short type; /* axis number */
  253. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  254. public short[] data; /* preset data */
  255. }
  256. /* cnc_rdposition:read tool position */
  257. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  258. public class POSELM
  259. {
  260. public int data; /* position data */
  261. public short dec; /* place of decimal point of position data */
  262. public short unit; /* unit of position data */
  263. public short disp; /* status of display */
  264. public char name; /* axis name */
  265. public char suff; /* axis name preffix */
  266. }
  267. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  268. public class POSELMALL
  269. {
  270. public POSELM abs = new POSELM();
  271. public POSELM mach = new POSELM();
  272. public POSELM rel = new POSELM();
  273. public POSELM dist = new POSELM();
  274. }
  275. #if M_AXIS2
  276. [StructLayout(LayoutKind.Sequential,Pack=4)]
  277. public class ODBPOS
  278. {
  279. public POSELMALL p1=new POSELMALL();
  280. public POSELMALL p2=new POSELMALL();
  281. public POSELMALL p3=new POSELMALL();
  282. public POSELMALL p4=new POSELMALL();
  283. public POSELMALL p5=new POSELMALL();
  284. public POSELMALL p6=new POSELMALL();
  285. public POSELMALL p7=new POSELMALL();
  286. public POSELMALL p8=new POSELMALL();
  287. public POSELMALL p9=new POSELMALL();
  288. public POSELMALL p10=new POSELMALL();
  289. public POSELMALL p11=new POSELMALL();
  290. public POSELMALL p12=new POSELMALL();
  291. public POSELMALL p13=new POSELMALL();
  292. public POSELMALL p14=new POSELMALL();
  293. public POSELMALL p15=new POSELMALL();
  294. public POSELMALL p16=new POSELMALL();
  295. public POSELMALL p17=new POSELMALL();
  296. public POSELMALL p18=new POSELMALL();
  297. public POSELMALL p19=new POSELMALL();
  298. public POSELMALL p20=new POSELMALL();
  299. public POSELMALL p21=new POSELMALL();
  300. public POSELMALL p22=new POSELMALL();
  301. public POSELMALL p23=new POSELMALL();
  302. public POSELMALL p24=new POSELMALL();
  303. // In case of 24 axes.
  304. // if you need the more information, you must be add the member.
  305. }
  306. #elif FS15D
  307. [StructLayout(LayoutKind.Sequential,Pack=4)]
  308. public class ODBPOS
  309. {
  310. public POSELMALL p1=new POSELMALL();
  311. public POSELMALL p2=new POSELMALL();
  312. public POSELMALL p3=new POSELMALL();
  313. public POSELMALL p4=new POSELMALL();
  314. public POSELMALL p5=new POSELMALL();
  315. public POSELMALL p6=new POSELMALL();
  316. public POSELMALL p7=new POSELMALL();
  317. public POSELMALL p8=new POSELMALL();
  318. public POSELMALL p9=new POSELMALL();
  319. public POSELMALL p10=new POSELMALL();
  320. // In case of 10 axes.
  321. // if you need the more information, you must be add the member.
  322. }
  323. #else
  324. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  325. public class ODBPOS
  326. {
  327. public POSELMALL p1 = new POSELMALL();
  328. public POSELMALL p2 = new POSELMALL();
  329. public POSELMALL p3 = new POSELMALL();
  330. public POSELMALL p4 = new POSELMALL();
  331. public POSELMALL p5 = new POSELMALL();
  332. public POSELMALL p6 = new POSELMALL();
  333. public POSELMALL p7 = new POSELMALL();
  334. public POSELMALL p8 = new POSELMALL();
  335. // In case of 8 axes.
  336. // if you need the more information, you must be add the member.
  337. }
  338. #endif
  339. /* cnc_rdhndintrpt:read handle interruption */
  340. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  341. public class ODBHND_data
  342. {
  343. public POSELM input = new POSELM(); /* input unit */
  344. public POSELM output = new POSELM(); /* output unit */
  345. }
  346. #if M_AXIS2
  347. [StructLayout(LayoutKind.Sequential,Pack=4)]
  348. public class ODBHND
  349. {
  350. public ODBHND_data p1=new ODBHND_data();
  351. public ODBHND_data p2=new ODBHND_data();
  352. public ODBHND_data p3=new ODBHND_data();
  353. public ODBHND_data p4=new ODBHND_data();
  354. public ODBHND_data p5=new ODBHND_data();
  355. public ODBHND_data p6=new ODBHND_data();
  356. public ODBHND_data p7=new ODBHND_data();
  357. public ODBHND_data p8=new ODBHND_data();
  358. public ODBHND_data p9=new ODBHND_data();
  359. public ODBHND_data p10=new ODBHND_data();
  360. public ODBHND_data p11=new ODBHND_data();
  361. public ODBHND_data p12=new ODBHND_data();
  362. public ODBHND_data p13=new ODBHND_data();
  363. public ODBHND_data p14=new ODBHND_data();
  364. public ODBHND_data p15=new ODBHND_data();
  365. public ODBHND_data p16=new ODBHND_data();
  366. public ODBHND_data p17=new ODBHND_data();
  367. public ODBHND_data p18=new ODBHND_data();
  368. public ODBHND_data p19=new ODBHND_data();
  369. public ODBHND_data p20=new ODBHND_data();
  370. public ODBHND_data p21=new ODBHND_data();
  371. public ODBHND_data p22=new ODBHND_data();
  372. public ODBHND_data p23=new ODBHND_data();
  373. public ODBHND_data p24=new ODBHND_data();
  374. // In case of 24 axes.
  375. // if you need the more information, you must be add the member.
  376. }
  377. #elif FS15D
  378. [StructLayout(LayoutKind.Sequential,Pack=4)]
  379. public class ODBHND
  380. {
  381. public ODBHND_data p1=new ODBHND_data();
  382. public ODBHND_data p2=new ODBHND_data();
  383. public ODBHND_data p3=new ODBHND_data();
  384. public ODBHND_data p4=new ODBHND_data();
  385. public ODBHND_data p5=new ODBHND_data();
  386. public ODBHND_data p6=new ODBHND_data();
  387. public ODBHND_data p7=new ODBHND_data();
  388. public ODBHND_data p8=new ODBHND_data();
  389. public ODBHND_data p9=new ODBHND_data();
  390. public ODBHND_data p10=new ODBHND_data();
  391. // In case of 10 axes.
  392. // if you need the more information, you must be add the member.
  393. }
  394. #else
  395. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  396. public class ODBHND
  397. {
  398. public ODBHND_data p1 = new ODBHND_data();
  399. public ODBHND_data p2 = new ODBHND_data();
  400. public ODBHND_data p3 = new ODBHND_data();
  401. public ODBHND_data p4 = new ODBHND_data();
  402. public ODBHND_data p5 = new ODBHND_data();
  403. public ODBHND_data p6 = new ODBHND_data();
  404. public ODBHND_data p7 = new ODBHND_data();
  405. public ODBHND_data p8 = new ODBHND_data();
  406. // In case of 8 axes.
  407. // if you need the more information, you must be add the member.
  408. }
  409. #endif
  410. /* cnc_rdspeed:read current speed */
  411. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  412. public class SPEEDELM
  413. {
  414. public int data; /* speed data */
  415. public short dec; /* decimal position */
  416. public short unit; /* data unit */
  417. public short disp; /* display flag */
  418. public byte name; /* name of data */
  419. public byte suff; /* suffix */
  420. }
  421. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  422. public class ODBSPEED
  423. {
  424. public SPEEDELM actf = new SPEEDELM(); /* actual feed rate */
  425. public SPEEDELM acts = new SPEEDELM(); /* actual spindle speed */
  426. }
  427. /* cnc_rdsvmeter:read servo load meter */
  428. /* cnc_rdspmeter:read spindle load meter */
  429. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  430. public class LOADELM
  431. {
  432. public int data; /* load meter */
  433. public short dec; /* decimal position */
  434. public short unit; /* unit */
  435. public byte name; /* name of data */
  436. public byte suff1; /* suffix */
  437. public byte suff2; /* suffix */
  438. public byte reserve; /* reserve */
  439. }
  440. #if M_AXIS2
  441. [StructLayout(LayoutKind.Sequential,Pack=4)]
  442. public class ODBSVLOAD
  443. {
  444. public LOADELM svload1 = new LOADELM(); /* servo load meter */
  445. public LOADELM svload2 = new LOADELM(); /* servo load meter */
  446. public LOADELM svload3 = new LOADELM(); /* servo load meter */
  447. public LOADELM svload4 = new LOADELM(); /* servo load meter */
  448. public LOADELM svload5 = new LOADELM(); /* servo load meter */
  449. public LOADELM svload6 = new LOADELM(); /* servo load meter */
  450. public LOADELM svload7 = new LOADELM(); /* servo load meter */
  451. public LOADELM svload8 = new LOADELM(); /* servo load meter */
  452. public LOADELM svload9 = new LOADELM(); /* servo load meter */
  453. public LOADELM svload10= new LOADELM(); /* servo load meter */
  454. public LOADELM svload11= new LOADELM(); /* servo load meter */
  455. public LOADELM svload12= new LOADELM(); /* servo load meter */
  456. public LOADELM svload13= new LOADELM(); /* servo load meter */
  457. public LOADELM svload14= new LOADELM(); /* servo load meter */
  458. public LOADELM svload15= new LOADELM(); /* servo load meter */
  459. public LOADELM svload16= new LOADELM(); /* servo load meter */
  460. public LOADELM svload17= new LOADELM(); /* servo load meter */
  461. public LOADELM svload18= new LOADELM(); /* servo load meter */
  462. public LOADELM svload19= new LOADELM(); /* servo load meter */
  463. public LOADELM svload20= new LOADELM(); /* servo load meter */
  464. public LOADELM svload21= new LOADELM(); /* servo load meter */
  465. public LOADELM svload22= new LOADELM(); /* servo load meter */
  466. public LOADELM svload23= new LOADELM(); /* servo load meter */
  467. public LOADELM svload24= new LOADELM(); /* servo load meter */
  468. }
  469. #elif FS15D
  470. [StructLayout(LayoutKind.Sequential,Pack=4)]
  471. public class ODBSVLOAD
  472. {
  473. public LOADELM svload1 = new LOADELM(); /* servo load meter */
  474. public LOADELM svload2 = new LOADELM(); /* servo load meter */
  475. public LOADELM svload3 = new LOADELM(); /* servo load meter */
  476. public LOADELM svload4 = new LOADELM(); /* servo load meter */
  477. public LOADELM svload5 = new LOADELM(); /* servo load meter */
  478. public LOADELM svload6 = new LOADELM(); /* servo load meter */
  479. public LOADELM svload7 = new LOADELM(); /* servo load meter */
  480. public LOADELM svload8 = new LOADELM(); /* servo load meter */
  481. public LOADELM svload9 = new LOADELM(); /* servo load meter */
  482. public LOADELM svload10= new LOADELM(); /* servo load meter */
  483. }
  484. #else
  485. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  486. public class ODBSVLOAD
  487. {
  488. public LOADELM svload1 = new LOADELM(); /* servo load meter */
  489. public LOADELM svload2 = new LOADELM(); /* servo load meter */
  490. public LOADELM svload3 = new LOADELM(); /* servo load meter */
  491. public LOADELM svload4 = new LOADELM(); /* servo load meter */
  492. public LOADELM svload5 = new LOADELM(); /* servo load meter */
  493. public LOADELM svload6 = new LOADELM(); /* servo load meter */
  494. public LOADELM svload7 = new LOADELM(); /* servo load meter */
  495. public LOADELM svload8 = new LOADELM(); /* servo load meter */
  496. }
  497. #endif
  498. /* cnc_rdexecpt:read execution program pointer */
  499. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  500. public class PRGPNT
  501. {
  502. public int prog_no; /* program number */
  503. public int blk_no; /* block number */
  504. }
  505. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  506. public class ODBSPLOAD_data
  507. {
  508. public LOADELM spload = new LOADELM(); /* spindle load meter */
  509. public LOADELM spspeed = new LOADELM(); /* spindle speed */
  510. }
  511. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  512. public class ODBSPLOAD
  513. {
  514. public ODBSPLOAD_data spload1 = new ODBSPLOAD_data(); /* spindle load */
  515. public ODBSPLOAD_data spload2 = new ODBSPLOAD_data(); /* spindle load */
  516. public ODBSPLOAD_data spload3 = new ODBSPLOAD_data(); /* spindle load */
  517. public ODBSPLOAD_data spload4 = new ODBSPLOAD_data(); /* spindle load */
  518. }
  519. /* cnc_rd5axmandt:read manual feed for 5-axis machining */
  520. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  521. public class ODB5AXMAN
  522. {
  523. public short type1;
  524. public short type2;
  525. public short type3;
  526. public int data1;
  527. public int data2;
  528. public int data3;
  529. public int c1;
  530. public int c2;
  531. public int dummy;
  532. public int td;
  533. public int r1;
  534. public int r2;
  535. public int vr;
  536. public int h1;
  537. public int h2;
  538. }
  539. /*----------------------*/
  540. /* CNC: Program related */
  541. /*----------------------*/
  542. /* cnc_rddncdgndt:read the diagnosis data of DNC operation */
  543. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  544. public class ODBDNCDGN
  545. {
  546. public short ctrl_word;
  547. public short can_word;
  548. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  549. public char[] nc_file;
  550. public ushort read_ptr;
  551. public ushort write_ptr;
  552. public ushort empty_cnt;
  553. public uint total_size;
  554. }
  555. /* cnc_upload:upload NC program */
  556. /* cnc_cupload:upload NC program(conditional) */
  557. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  558. public class ODBUP
  559. {
  560. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  561. public short[] dummy; /* dummy */
  562. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
  563. public char[] data; /* data */
  564. } /* In case that the number of data is 256 */
  565. /* cnc_buff:read buffer status for downloading/verification NC program */
  566. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  567. public class ODBBUF
  568. {
  569. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  570. public short[] dummy; /* dummy */
  571. public short data; /* buffer status */
  572. }
  573. /* cnc_rdprogdir:read program directory */
  574. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  575. public class PRGDIR
  576. {
  577. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
  578. public char[] prg_data; /* directory data */
  579. } /* In case that the number of data is 256 */
  580. /* cnc_rdproginfo:read program information */
  581. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  582. public class ODBNC_1
  583. {
  584. public short reg_prg; /* registered program number */
  585. public short unreg_prg; /* unregistered program number */
  586. public int used_mem; /* used memory area */
  587. public int unused_mem; /* unused memory area */
  588. }
  589. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  590. public class ODBNC_2
  591. {
  592. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 31)]
  593. public char[] asc; /* ASCII string type */
  594. }
  595. /* cnc_rdprgnum:read program number under execution */
  596. #if (!ONO8D)
  597. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  598. public class ODBPRO
  599. {
  600. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  601. public short[] dummy; /* dummy */
  602. public short data; /* running program number */
  603. public short mdata; /* main program number */
  604. }
  605. #else
  606. [StructLayout(LayoutKind.Sequential,Pack=4)]
  607. public class ODBPRO
  608. {
  609. [MarshalAs(UnmanagedType.ByValArray,SizeConst=2)]
  610. public short[] dummy ; /* dummy */
  611. public int data ; /* running program number */
  612. public int mdata ; /* main program number */
  613. }
  614. #endif
  615. /* cnc_exeprgname:read program name under execution */
  616. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  617. public class ODBEXEPRG
  618. {
  619. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)]
  620. public char[] name; /* running program name */
  621. public int o_num; /* running program number */
  622. }
  623. /* cnc_rdseqnum:read sequence number under execution */
  624. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  625. public class ODBSEQ
  626. {
  627. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  628. public short[] dummy; /* dummy */
  629. public int data; /* sequence number */
  630. }
  631. /* cnc_rdmdipntr:read execution pointer for MDI operation */
  632. #if (!ONO8D)
  633. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  634. public class ODBMDIP
  635. {
  636. public short mdiprog; /* exec. program number */
  637. public int mdipntr; /* exec. pointer */
  638. public short crntprog; /* prepare program number */
  639. public int crntpntr; /* prepare pointer */
  640. }
  641. #else
  642. [StructLayout(LayoutKind.Sequential,Pack=4)]
  643. public class ODBMDIP
  644. {
  645. public int mdiprog; /* exec. program number */
  646. public int mdipntr; /* exec. pointer */
  647. public int crntprog; /* prepare program number */
  648. public int crntpntr; /* prepare pointer */
  649. }
  650. #endif
  651. /* cnc_rdaxisdata:read various axis data */
  652. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  653. public class ODBAXDT_data
  654. {
  655. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  656. public string name = new string(' ', 4); /* axis name */
  657. public int data; /* position data */
  658. public short dec; /* decimal position */
  659. public short unit; /* data unit */
  660. public short flag; /* flags */
  661. public short reserve; /* reserve */
  662. }
  663. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  664. public class ODBAXDT
  665. {
  666. public ODBAXDT_data data1 = new ODBAXDT_data();
  667. public ODBAXDT_data data2 = new ODBAXDT_data();
  668. public ODBAXDT_data data3 = new ODBAXDT_data();
  669. public ODBAXDT_data data4 = new ODBAXDT_data();
  670. public ODBAXDT_data data5 = new ODBAXDT_data();
  671. public ODBAXDT_data data6 = new ODBAXDT_data();
  672. public ODBAXDT_data data7 = new ODBAXDT_data();
  673. public ODBAXDT_data data8 = new ODBAXDT_data();
  674. public ODBAXDT_data data9 = new ODBAXDT_data();
  675. public ODBAXDT_data data10 = new ODBAXDT_data();
  676. public ODBAXDT_data data11 = new ODBAXDT_data();
  677. public ODBAXDT_data data12 = new ODBAXDT_data();
  678. public ODBAXDT_data data13 = new ODBAXDT_data();
  679. public ODBAXDT_data data14 = new ODBAXDT_data();
  680. public ODBAXDT_data data15 = new ODBAXDT_data();
  681. public ODBAXDT_data data16 = new ODBAXDT_data();
  682. public ODBAXDT_data data17 = new ODBAXDT_data();
  683. public ODBAXDT_data data18 = new ODBAXDT_data();
  684. public ODBAXDT_data data19 = new ODBAXDT_data();
  685. public ODBAXDT_data data20 = new ODBAXDT_data();
  686. public ODBAXDT_data data21 = new ODBAXDT_data();
  687. public ODBAXDT_data data22 = new ODBAXDT_data();
  688. public ODBAXDT_data data23 = new ODBAXDT_data();
  689. public ODBAXDT_data data24 = new ODBAXDT_data();
  690. public ODBAXDT_data data25 = new ODBAXDT_data();
  691. public ODBAXDT_data data26 = new ODBAXDT_data();
  692. public ODBAXDT_data data27 = new ODBAXDT_data();
  693. public ODBAXDT_data data28 = new ODBAXDT_data();
  694. public ODBAXDT_data data29 = new ODBAXDT_data();
  695. public ODBAXDT_data data30 = new ODBAXDT_data();
  696. public ODBAXDT_data data31 = new ODBAXDT_data();
  697. public ODBAXDT_data data32 = new ODBAXDT_data();
  698. public ODBAXDT_data data33 = new ODBAXDT_data();
  699. public ODBAXDT_data data34 = new ODBAXDT_data();
  700. public ODBAXDT_data data35 = new ODBAXDT_data();
  701. public ODBAXDT_data data36 = new ODBAXDT_data();
  702. public ODBAXDT_data data37 = new ODBAXDT_data();
  703. public ODBAXDT_data data38 = new ODBAXDT_data();
  704. public ODBAXDT_data data39 = new ODBAXDT_data();
  705. public ODBAXDT_data data40 = new ODBAXDT_data();
  706. public ODBAXDT_data data41 = new ODBAXDT_data();
  707. public ODBAXDT_data data42 = new ODBAXDT_data();
  708. public ODBAXDT_data data43 = new ODBAXDT_data();
  709. public ODBAXDT_data data44 = new ODBAXDT_data();
  710. public ODBAXDT_data data45 = new ODBAXDT_data();
  711. public ODBAXDT_data data46 = new ODBAXDT_data();
  712. public ODBAXDT_data data47 = new ODBAXDT_data();
  713. public ODBAXDT_data data48 = new ODBAXDT_data();
  714. public ODBAXDT_data data49 = new ODBAXDT_data();
  715. public ODBAXDT_data data50 = new ODBAXDT_data();
  716. public ODBAXDT_data data51 = new ODBAXDT_data();
  717. public ODBAXDT_data data52 = new ODBAXDT_data();
  718. public ODBAXDT_data data53 = new ODBAXDT_data();
  719. public ODBAXDT_data data54 = new ODBAXDT_data();
  720. public ODBAXDT_data data55 = new ODBAXDT_data();
  721. public ODBAXDT_data data56 = new ODBAXDT_data();
  722. public ODBAXDT_data data57 = new ODBAXDT_data();
  723. public ODBAXDT_data data58 = new ODBAXDT_data();
  724. public ODBAXDT_data data59 = new ODBAXDT_data();
  725. public ODBAXDT_data data60 = new ODBAXDT_data();
  726. public ODBAXDT_data data61 = new ODBAXDT_data();
  727. public ODBAXDT_data data62 = new ODBAXDT_data();
  728. public ODBAXDT_data data63 = new ODBAXDT_data();
  729. public ODBAXDT_data data64 = new ODBAXDT_data();
  730. public ODBAXDT_data data65 = new ODBAXDT_data();
  731. public ODBAXDT_data data66 = new ODBAXDT_data();
  732. public ODBAXDT_data data67 = new ODBAXDT_data();
  733. public ODBAXDT_data data68 = new ODBAXDT_data();
  734. public ODBAXDT_data data69 = new ODBAXDT_data();
  735. public ODBAXDT_data data70 = new ODBAXDT_data();
  736. public ODBAXDT_data data71 = new ODBAXDT_data();
  737. public ODBAXDT_data data72 = new ODBAXDT_data();
  738. public ODBAXDT_data data73 = new ODBAXDT_data();
  739. public ODBAXDT_data data74 = new ODBAXDT_data();
  740. public ODBAXDT_data data75 = new ODBAXDT_data();
  741. public ODBAXDT_data data76 = new ODBAXDT_data();
  742. public ODBAXDT_data data77 = new ODBAXDT_data();
  743. public ODBAXDT_data data78 = new ODBAXDT_data();
  744. public ODBAXDT_data data79 = new ODBAXDT_data();
  745. public ODBAXDT_data data80 = new ODBAXDT_data();
  746. public ODBAXDT_data data81 = new ODBAXDT_data();
  747. public ODBAXDT_data data82 = new ODBAXDT_data();
  748. public ODBAXDT_data data83 = new ODBAXDT_data();
  749. public ODBAXDT_data data84 = new ODBAXDT_data();
  750. public ODBAXDT_data data85 = new ODBAXDT_data();
  751. public ODBAXDT_data data86 = new ODBAXDT_data();
  752. public ODBAXDT_data data87 = new ODBAXDT_data();
  753. public ODBAXDT_data data88 = new ODBAXDT_data();
  754. public ODBAXDT_data data89 = new ODBAXDT_data();
  755. public ODBAXDT_data data90 = new ODBAXDT_data();
  756. public ODBAXDT_data data91 = new ODBAXDT_data();
  757. public ODBAXDT_data data92 = new ODBAXDT_data();
  758. public ODBAXDT_data data93 = new ODBAXDT_data();
  759. public ODBAXDT_data data94 = new ODBAXDT_data();
  760. public ODBAXDT_data data95 = new ODBAXDT_data();
  761. public ODBAXDT_data data96 = new ODBAXDT_data();
  762. public ODBAXDT_data data97 = new ODBAXDT_data();
  763. public ODBAXDT_data data98 = new ODBAXDT_data();
  764. public ODBAXDT_data data99 = new ODBAXDT_data();
  765. public ODBAXDT_data data100 = new ODBAXDT_data();
  766. public ODBAXDT_data data101 = new ODBAXDT_data();
  767. public ODBAXDT_data data102 = new ODBAXDT_data();
  768. public ODBAXDT_data data103 = new ODBAXDT_data();
  769. public ODBAXDT_data data104 = new ODBAXDT_data();
  770. public ODBAXDT_data data105 = new ODBAXDT_data();
  771. public ODBAXDT_data data106 = new ODBAXDT_data();
  772. public ODBAXDT_data data107 = new ODBAXDT_data();
  773. public ODBAXDT_data data108 = new ODBAXDT_data();
  774. public ODBAXDT_data data109 = new ODBAXDT_data();
  775. public ODBAXDT_data data110 = new ODBAXDT_data();
  776. public ODBAXDT_data data111 = new ODBAXDT_data();
  777. public ODBAXDT_data data112 = new ODBAXDT_data();
  778. public ODBAXDT_data data113 = new ODBAXDT_data();
  779. public ODBAXDT_data data114 = new ODBAXDT_data();
  780. public ODBAXDT_data data115 = new ODBAXDT_data();
  781. public ODBAXDT_data data116 = new ODBAXDT_data();
  782. public ODBAXDT_data data117 = new ODBAXDT_data();
  783. public ODBAXDT_data data118 = new ODBAXDT_data();
  784. public ODBAXDT_data data119 = new ODBAXDT_data();
  785. public ODBAXDT_data data120 = new ODBAXDT_data();
  786. public ODBAXDT_data data121 = new ODBAXDT_data();
  787. public ODBAXDT_data data122 = new ODBAXDT_data();
  788. public ODBAXDT_data data123 = new ODBAXDT_data();
  789. public ODBAXDT_data data124 = new ODBAXDT_data();
  790. public ODBAXDT_data data125 = new ODBAXDT_data();
  791. public ODBAXDT_data data126 = new ODBAXDT_data();
  792. public ODBAXDT_data data127 = new ODBAXDT_data();
  793. public ODBAXDT_data data128 = new ODBAXDT_data();
  794. }
  795. /* cnc_rdspcss:read constant surface speed data */
  796. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  797. public class ODBCSS
  798. {
  799. public int srpm; /* order spindle speed */
  800. public int sspm; /* order constant spindle speed */
  801. public int smax; /* order maximum spindle speed */
  802. }
  803. /* cnc_rdpdf_drive:read program drive directory */
  804. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  805. public class ODBPDFDRV
  806. {
  807. public short max_num; /* maximum drive number */
  808. public short dummy;
  809. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  810. public string drive1 = new string(' ', 12);
  811. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  812. public string drive2 = new string(' ', 12);
  813. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  814. public string drive3 = new string(' ', 12);
  815. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  816. public string drive4 = new string(' ', 12);
  817. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  818. public string drive5 = new string(' ', 12);
  819. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  820. public string drive6 = new string(' ', 12);
  821. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  822. public string drive7 = new string(' ', 12);
  823. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  824. public string drive8 = new string(' ', 12);
  825. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  826. public string drive9 = new string(' ', 12);
  827. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  828. public string drive10 = new string(' ', 12);
  829. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  830. public string drive11 = new string(' ', 12);
  831. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  832. public string drive12 = new string(' ', 12);
  833. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  834. public string drive13 = new string(' ', 12);
  835. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  836. public string drive14 = new string(' ', 12);
  837. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  838. public string drive15 = new string(' ', 12);
  839. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  840. public string drive16 = new string(' ', 12);
  841. }
  842. /* cnc_rdpdf_inf:read program drive information */
  843. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  844. public class ODBPDFINF
  845. {
  846. public int used_page; /* used capacity */
  847. public int all_page; /* all capacity */
  848. public int used_dir; /* used directory number */
  849. public int all_dir; /* all directory number */
  850. }
  851. /* cnc_rdpdf_subdir:read directory (sub directories) */
  852. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  853. public class IDBPDFSDIR
  854. {
  855. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 212)]
  856. public string path = new string(' ', 212); /* path name */
  857. public short req_num; /* entry number */
  858. public short dummy;
  859. }
  860. /* cnc_rdpdf_subdir:read directory (sub directories) */
  861. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  862. public class ODBPDFSDIR
  863. {
  864. public short sub_exist; /* existence of sub directory */
  865. public short dummy;
  866. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 36)]
  867. public string d_f = new string(' ', 36); /* path name */
  868. }
  869. /* cnc_rdpdf_alldir:read directory (all files) */
  870. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  871. public class IDBPDFADIR
  872. {
  873. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 212)]
  874. public string path = new string(' ', 212); /* path name */
  875. public short req_num; /* entry number */
  876. public short size_kind; /* kind of size */
  877. public short type; /* kind of format */
  878. public short dummy;
  879. }
  880. /* cnc_rdpdf_alldir:read directory (all files) */
  881. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  882. public class ODBPDFADIR
  883. {
  884. public short data_kind; /* kinf of data */
  885. public short year; /* last date and time */
  886. public short mon; /* last date and time */
  887. public short day; /* last date and time */
  888. public short hour; /* last date and time */
  889. public short min; /* last date and time */
  890. public short sec; /* last date and time */
  891. public short dummy;
  892. public int dummy2;
  893. public int size; /* size */
  894. public int attr; /* attribute */
  895. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 36)]
  896. public string d_f = new string(' ', 36); /* path name */
  897. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)]
  898. public string comment = new string(' ', 52); /* comment */
  899. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  900. public string o_time = new string(' ', 12); /* machining time stamp */
  901. }
  902. /* cnc_rdpdf_subdirn:read file count the directory has */
  903. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  904. public class ODBPDFNFIL
  905. {
  906. public short dir_num; /* directory */
  907. public short file_num; /* file */
  908. }
  909. /* cnc_wrpdf_attr:change attribute of program file and directory */
  910. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  911. public class IDBPDFTDIR
  912. {
  913. public uint slct; /* selection */
  914. public uint attr; /* data */
  915. }
  916. /*---------------------------*/
  917. /* CNC: NC file data related */
  918. /*---------------------------*/
  919. /* cnc_rdtofs:read tool offset value */
  920. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  921. public class ODBTOFS
  922. {
  923. public short datano; /* data number */
  924. public short type; /* data type */
  925. public int data; /* data */
  926. }
  927. /* cnc_rdtofsr:read tool offset value(area specified) */
  928. /* cnc_wrtofsr:write tool offset value(area specified) */
  929. [StructLayout(LayoutKind.Explicit)]
  930. public class OFS_1
  931. {
  932. [FieldOffset(0),
  933. MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  934. public int[] m_ofs = new int[5]; /* M Each */
  935. [FieldOffset(0),
  936. MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  937. public int[] m_ofs_a = new int[5]; /* M-A All */
  938. [FieldOffset(0),
  939. MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  940. public short[] t_tip = new short[5]; /* T Each, 2-byte */
  941. [FieldOffset(0),
  942. MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  943. public int[] t_ofs = new int[5]; /* T Each, 4-byte */
  944. } /* In case that the number of data is 5 */
  945. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  946. public class OFS_2
  947. {
  948. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 5)]
  949. public int[] m_ofs_b = new int[10]; /* M-B All */
  950. } /* In case that the number of data is 5 */
  951. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  952. public class OFS_3
  953. {
  954. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4 * 5)]
  955. public int[] m_ofs_c = new int[20]; /* M-C All */
  956. } /* In case that the number of data is 5 */
  957. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  958. public class T_OFS_A
  959. {
  960. public short tip;
  961. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  962. public int[] data;
  963. } /* T-A All */
  964. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  965. public class T_OFS_A_data
  966. {
  967. public T_OFS_A data1 = new T_OFS_A();
  968. public T_OFS_A data2 = new T_OFS_A();
  969. public T_OFS_A data3 = new T_OFS_A();
  970. public T_OFS_A data4 = new T_OFS_A();
  971. public T_OFS_A data5 = new T_OFS_A();
  972. } /* In case that the number of data is 5 */
  973. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  974. public class T_OFS_B
  975. {
  976. public short tip;
  977. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  978. public int[] data;
  979. } /* T-B All */
  980. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  981. public class T_OFS_B_data
  982. {
  983. public T_OFS_B data1 = new T_OFS_B();
  984. public T_OFS_B data2 = new T_OFS_B();
  985. public T_OFS_B data3 = new T_OFS_B();
  986. public T_OFS_B data4 = new T_OFS_B();
  987. public T_OFS_B data5 = new T_OFS_B();
  988. } /* In case that the number of data is 5 */
  989. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  990. public class IODBTO_1_1
  991. {
  992. public short datano_s; /* start offset number */
  993. public short type; /* offset type */
  994. public short datano_e; /* end offset number */
  995. public OFS_1 ofs = new OFS_1();
  996. }
  997. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  998. public class IODBTO_1_2
  999. {
  1000. public short datano_s; /* start offset number */
  1001. public short type; /* offset type */
  1002. public short datano_e; /* end offset number */
  1003. public OFS_2 ofs = new OFS_2();
  1004. }
  1005. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1006. public class IODBTO_1_3
  1007. {
  1008. public short datano_s; /* start offset number */
  1009. public short type; /* offset type */
  1010. public short datano_e; /* end offset number */
  1011. public OFS_3 ofs = new OFS_3();
  1012. }
  1013. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1014. public class IODBTO_2
  1015. {
  1016. public short datano_s; /* start offset number */
  1017. public short type; /* offset type */
  1018. public short datano_e; /* end offset number */
  1019. public T_OFS_A_data tofsa = new T_OFS_A_data();
  1020. }
  1021. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1022. public class IODBTO_3
  1023. {
  1024. public short datano_s; /* start offset number */
  1025. public short type; /* offset type */
  1026. public short datano_e; /* end offset number */
  1027. public T_OFS_B_data tofsb = new T_OFS_B_data();
  1028. }
  1029. /* cnc_rdzofs:read work zero offset value */
  1030. /* cnc_wrzofs:write work zero offset value */
  1031. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1032. public class IODBZOFS
  1033. {
  1034. public short datano; /* offset NO. */
  1035. public short type; /* axis number */
  1036. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1037. public int[] data = new int[MAX_AXIS]; /* data value */
  1038. }
  1039. /* cnc_rdzofsr:read work zero offset value(area specified) */
  1040. /* cnc_wrzofsr:write work zero offset value(area specified) */
  1041. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1042. public class IODBZOR
  1043. {
  1044. public short datano_s; /* start offset number */
  1045. public short type; /* axis number */
  1046. public short datano_e; /* end offset number */
  1047. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7 * MAX_AXIS)]
  1048. public int[] data = new int[7 * MAX_AXIS]; /* offset value */
  1049. } /* In case that the number of axes is MAX_AXIS, the number of data is 7 */
  1050. /* cnc_rdmsptype:read mesured point value */
  1051. /* cnc_wrmsptype:write mesured point value */
  1052. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1053. public class IODBMSTP
  1054. {
  1055. public short datano_s; /* start offset number */
  1056. public short dummy; /* dummy */
  1057. public short datano_e; /* end offset number */
  1058. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
  1059. public sbyte[] data = new sbyte[7]; /* mesured point value */
  1060. }
  1061. /* cnc_rdparam:read parameter */
  1062. /* cnc_wrparam:write parameter */
  1063. /* cnc_rdset:read setting data */
  1064. /* cnc_wrset:write setting data */
  1065. /* cnc_rdparar:read parameter(area specified) */
  1066. /* cnc_wrparas:write parameter(plural specified) */
  1067. /* cnc_rdsetr:read setting data(area specified) */
  1068. /* cnc_wrsets:write setting data(plural specified) */
  1069. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1070. public class REALPRM
  1071. {
  1072. public int prm_val; /* data of real parameter */
  1073. public int dec_val; /* decimal point of real parameter */
  1074. }
  1075. #if M_AXIS2
  1076. [StructLayout(LayoutKind.Sequential,Pack=4)]
  1077. public class REALPRMS
  1078. {
  1079. public REALPRM rdata1=new REALPRM();
  1080. public REALPRM rdata2=new REALPRM();
  1081. public REALPRM rdata3=new REALPRM();
  1082. public REALPRM rdata4=new REALPRM();
  1083. public REALPRM rdata5=new REALPRM();
  1084. public REALPRM rdata6=new REALPRM();
  1085. public REALPRM rdata7=new REALPRM();
  1086. public REALPRM rdata8=new REALPRM();
  1087. public REALPRM rdata9=new REALPRM();
  1088. public REALPRM rdata10=new REALPRM();
  1089. public REALPRM rdata11=new REALPRM();
  1090. public REALPRM rdata12=new REALPRM();
  1091. public REALPRM rdata13=new REALPRM();
  1092. public REALPRM rdata14=new REALPRM();
  1093. public REALPRM rdata15=new REALPRM();
  1094. public REALPRM rdata16=new REALPRM();
  1095. public REALPRM rdata17=new REALPRM();
  1096. public REALPRM rdata18=new REALPRM();
  1097. public REALPRM rdata19=new REALPRM();
  1098. public REALPRM rdata20=new REALPRM();
  1099. public REALPRM rdata21=new REALPRM();
  1100. public REALPRM rdata22=new REALPRM();
  1101. public REALPRM rdata23=new REALPRM();
  1102. public REALPRM rdata24=new REALPRM();
  1103. } /* In case that the number of alarm is 24 */
  1104. #elif FS15D
  1105. [StructLayout(LayoutKind.Sequential,Pack=4)]
  1106. public class REALPRMS
  1107. {
  1108. public REALPRM rdata1=new REALPRM();
  1109. public REALPRM rdata2=new REALPRM();
  1110. public REALPRM rdata3=new REALPRM();
  1111. public REALPRM rdata4=new REALPRM();
  1112. public REALPRM rdata5=new REALPRM();
  1113. public REALPRM rdata6=new REALPRM();
  1114. public REALPRM rdata7=new REALPRM();
  1115. public REALPRM rdata8=new REALPRM();
  1116. public REALPRM rdata9=new REALPRM();
  1117. public REALPRM rdata10=new REALPRM();
  1118. } /* In case that the number of alarm is 10 */
  1119. #else
  1120. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1121. public class REALPRMS
  1122. {
  1123. public REALPRM rdata1 = new REALPRM();
  1124. public REALPRM rdata2 = new REALPRM();
  1125. public REALPRM rdata3 = new REALPRM();
  1126. public REALPRM rdata4 = new REALPRM();
  1127. public REALPRM rdata5 = new REALPRM();
  1128. public REALPRM rdata6 = new REALPRM();
  1129. public REALPRM rdata7 = new REALPRM();
  1130. public REALPRM rdata8 = new REALPRM();
  1131. } /* In case that the number of alarm is 8 */
  1132. #endif
  1133. [StructLayout(LayoutKind.Explicit)]
  1134. public class IODBPSD_1
  1135. {
  1136. [FieldOffset(0)]
  1137. public short datano; /* data number */
  1138. [FieldOffset(2)]
  1139. public short type; /* axis number */
  1140. [FieldOffset(4)]
  1141. public byte cdata; /* parameter / setting data */
  1142. [FieldOffset(4)]
  1143. public short idata;
  1144. [FieldOffset(4)]
  1145. public int ldata;
  1146. }
  1147. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1148. public class IODBPSD_2
  1149. {
  1150. public short datano; /* data number */
  1151. public short type; /* axis number */
  1152. public REALPRM rdata = new REALPRM();
  1153. }
  1154. [StructLayout(LayoutKind.Explicit)]
  1155. public class IODBPSD_3
  1156. {
  1157. [FieldOffset(0)]
  1158. public short datano; /* data number */
  1159. [FieldOffset(2)]
  1160. public short type; /* axis number */
  1161. [FieldOffset(4),
  1162. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1163. public byte[] cdatas = new byte[MAX_AXIS];
  1164. [FieldOffset(4),
  1165. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1166. public short[] idatas = new short[MAX_AXIS];
  1167. [FieldOffset(4),
  1168. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1169. public int[] ldatas = new int[MAX_AXIS];
  1170. }
  1171. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1172. public class IODBPSD_4
  1173. {
  1174. public short datano; /* data number */
  1175. public short type; /* axis number */
  1176. public REALPRMS rdatas = new REALPRMS();
  1177. }
  1178. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1179. public class IODBPSD_A
  1180. {
  1181. public IODBPSD_1 data1 = new IODBPSD_1();
  1182. public IODBPSD_1 data2 = new IODBPSD_1();
  1183. public IODBPSD_1 data3 = new IODBPSD_1();
  1184. public IODBPSD_1 data4 = new IODBPSD_1();
  1185. public IODBPSD_1 data5 = new IODBPSD_1();
  1186. public IODBPSD_1 data6 = new IODBPSD_1();
  1187. public IODBPSD_1 data7 = new IODBPSD_1();
  1188. } /* (sample) must be modified */
  1189. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1190. public class IODBPSD_B
  1191. {
  1192. public IODBPSD_2 data1 = new IODBPSD_2();
  1193. public IODBPSD_2 data2 = new IODBPSD_2();
  1194. public IODBPSD_2 data3 = new IODBPSD_2();
  1195. public IODBPSD_2 data4 = new IODBPSD_2();
  1196. public IODBPSD_2 data5 = new IODBPSD_2();
  1197. public IODBPSD_2 data6 = new IODBPSD_2();
  1198. public IODBPSD_2 data7 = new IODBPSD_2();
  1199. } /* (sample) must be modified */
  1200. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1201. public class IODBPSD_C
  1202. {
  1203. public IODBPSD_3 data1 = new IODBPSD_3();
  1204. public IODBPSD_3 data2 = new IODBPSD_3();
  1205. public IODBPSD_3 data3 = new IODBPSD_3();
  1206. public IODBPSD_3 data4 = new IODBPSD_3();
  1207. public IODBPSD_3 data5 = new IODBPSD_3();
  1208. public IODBPSD_3 data6 = new IODBPSD_3();
  1209. public IODBPSD_3 data7 = new IODBPSD_3();
  1210. } /* (sample) must be modified */
  1211. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1212. public class IODBPSD_D
  1213. {
  1214. public IODBPSD_4 data1 = new IODBPSD_4();
  1215. public IODBPSD_4 data2 = new IODBPSD_4();
  1216. public IODBPSD_4 data3 = new IODBPSD_4();
  1217. public IODBPSD_4 data4 = new IODBPSD_4();
  1218. public IODBPSD_4 data5 = new IODBPSD_4();
  1219. public IODBPSD_4 data6 = new IODBPSD_4();
  1220. public IODBPSD_4 data7 = new IODBPSD_4();
  1221. } /* (sample) must be modified */
  1222. /* cnc_rdparam_ext:read parameters */
  1223. /* cnc_rddiag_ext:read diagnosis data */
  1224. /* cnc_start_async_wrparam:async parameter write start */
  1225. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1226. public class IODBPRMNO
  1227. {
  1228. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  1229. public int[] prm = new int[10];
  1230. }
  1231. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1232. public class IODBPRM_data
  1233. {
  1234. public int prm_val; /* parameter / setting data */
  1235. public int dec_val;
  1236. }
  1237. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1238. public class IODBPRM1
  1239. {
  1240. public IODBPRM_data data1 = new IODBPRM_data();
  1241. public IODBPRM_data data2 = new IODBPRM_data();
  1242. public IODBPRM_data data3 = new IODBPRM_data();
  1243. public IODBPRM_data data4 = new IODBPRM_data();
  1244. public IODBPRM_data data5 = new IODBPRM_data();
  1245. public IODBPRM_data data6 = new IODBPRM_data();
  1246. public IODBPRM_data data7 = new IODBPRM_data();
  1247. public IODBPRM_data data8 = new IODBPRM_data();
  1248. public IODBPRM_data data9 = new IODBPRM_data();
  1249. public IODBPRM_data data10 = new IODBPRM_data();
  1250. public IODBPRM_data data11 = new IODBPRM_data();
  1251. public IODBPRM_data data12 = new IODBPRM_data();
  1252. public IODBPRM_data data13 = new IODBPRM_data();
  1253. public IODBPRM_data data14 = new IODBPRM_data();
  1254. public IODBPRM_data data15 = new IODBPRM_data();
  1255. public IODBPRM_data data16 = new IODBPRM_data();
  1256. public IODBPRM_data data17 = new IODBPRM_data();
  1257. public IODBPRM_data data18 = new IODBPRM_data();
  1258. public IODBPRM_data data19 = new IODBPRM_data();
  1259. public IODBPRM_data data20 = new IODBPRM_data();
  1260. public IODBPRM_data data21 = new IODBPRM_data();
  1261. public IODBPRM_data data22 = new IODBPRM_data();
  1262. public IODBPRM_data data23 = new IODBPRM_data();
  1263. public IODBPRM_data data24 = new IODBPRM_data();
  1264. public IODBPRM_data data25 = new IODBPRM_data();
  1265. public IODBPRM_data data26 = new IODBPRM_data();
  1266. public IODBPRM_data data27 = new IODBPRM_data();
  1267. public IODBPRM_data data28 = new IODBPRM_data();
  1268. public IODBPRM_data data29 = new IODBPRM_data();
  1269. public IODBPRM_data data30 = new IODBPRM_data();
  1270. public IODBPRM_data data31 = new IODBPRM_data();
  1271. public IODBPRM_data data32 = new IODBPRM_data();
  1272. }
  1273. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1274. public class IODBPRM2
  1275. {
  1276. public int datano; /* data number */
  1277. public short type; /* data type */
  1278. public short axis; /* axis information */
  1279. public short info; /* misc information */
  1280. public short unit; /* unit information */
  1281. public IODBPRM1 data = new IODBPRM1();
  1282. }
  1283. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1284. public class IODBPRM
  1285. {
  1286. public IODBPRM2 prm1 = new IODBPRM2();
  1287. public IODBPRM2 prm2 = new IODBPRM2();
  1288. public IODBPRM2 prm3 = new IODBPRM2();
  1289. public IODBPRM2 prm4 = new IODBPRM2();
  1290. public IODBPRM2 prm5 = new IODBPRM2();
  1291. public IODBPRM2 prm6 = new IODBPRM2();
  1292. public IODBPRM2 prm7 = new IODBPRM2();
  1293. public IODBPRM2 prm8 = new IODBPRM2();
  1294. public IODBPRM2 prm9 = new IODBPRM2();
  1295. public IODBPRM2 prm10 = new IODBPRM2();
  1296. } /* In case that the number of alarm is 10 */
  1297. /* cnc_rdpitchr:read pitch error compensation data(area specified) */
  1298. /* cnc_wrpitchr:write pitch error compensation data(area specified) */
  1299. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1300. public class IODBPI
  1301. {
  1302. public short datano_s; /* start pitch number */
  1303. public short dummy; /* dummy */
  1304. public short datano_e; /* end pitch number */
  1305. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  1306. public sbyte[] data = new sbyte[5]; /* offset value */
  1307. } /* In case that the number of data is 5 */
  1308. /* cnc_rdmacro:read custom macro variable */
  1309. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1310. public class ODBM
  1311. {
  1312. public short datano; /* variable number */
  1313. public short dummy; /* dummy */
  1314. public int mcr_val; /* macro variable */
  1315. public short dec_val; /* decimal point */
  1316. }
  1317. /* cnc_rdmacror:read custom macro variables(area specified) */
  1318. /* cnc_wrmacror:write custom macro variables(area specified) */
  1319. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1320. public class IODBMR_data
  1321. {
  1322. public int mcr_val; /* macro variable */
  1323. public short dec_val; /* decimal point */
  1324. }
  1325. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1326. public class IODBMR1
  1327. {
  1328. public IODBMR_data data1 = new IODBMR_data();
  1329. public IODBMR_data data2 = new IODBMR_data();
  1330. public IODBMR_data data3 = new IODBMR_data();
  1331. public IODBMR_data data4 = new IODBMR_data();
  1332. public IODBMR_data data5 = new IODBMR_data();
  1333. } /* In case that the number of data is 5 */
  1334. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1335. public class IODBMR
  1336. {
  1337. public short datano_s; /* start macro number */
  1338. public short dummy; /* dummy */
  1339. public short datano_e; /* end macro number */
  1340. public IODBMR1 data = new IODBMR1();
  1341. }
  1342. /* cnc_rdpmacro:read P code macro variable */
  1343. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1344. public class ODBPM
  1345. {
  1346. public int datano; /* variable number */
  1347. public short dummy; /* dummy */
  1348. public int mcr_val; /* macro variable */
  1349. public short dec_val; /* decimal point */
  1350. }
  1351. /* cnc_rdpmacror:read P code macro variables(area specified) */
  1352. /* cnc_wrpmacror:write P code macro variables(area specified) */
  1353. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1354. public class IODBPR_data
  1355. {
  1356. public int mcr_val; /* macro variable */
  1357. public short dec_val; /* decimal point */
  1358. }
  1359. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1360. public class IODBPR1
  1361. {
  1362. public IODBPR_data data1 = new IODBPR_data();
  1363. public IODBPR_data data2 = new IODBPR_data();
  1364. public IODBPR_data data3 = new IODBPR_data();
  1365. public IODBPR_data data4 = new IODBPR_data();
  1366. public IODBPR_data data5 = new IODBPR_data();
  1367. } /* In case that the number of data is 5 */
  1368. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1369. public class IODBPR
  1370. {
  1371. public int datano_s; /* start macro number */
  1372. public short dummy; /* dummy */
  1373. public int datano_e; /* end macro number */
  1374. public IODBPR1 data = new IODBPR1();
  1375. }
  1376. /* cnc_rdtofsinfo:read tool offset information */
  1377. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1378. public class ODBTLINF
  1379. {
  1380. public short ofs_type;
  1381. public short use_no;
  1382. }
  1383. /* cnc_rdtofsinfo2:read tool offset information(2) */
  1384. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1385. public class ODBTLINF2
  1386. {
  1387. public short ofs_type;
  1388. public short use_no;
  1389. public short ofs_enable;
  1390. }
  1391. /* cnc_rdmacroinfo:read custom macro variable information */
  1392. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1393. public class ODBMVINF
  1394. {
  1395. public short use_no1;
  1396. public short use_no2;
  1397. }
  1398. /* cnc_rdpmacroinfo:read P code macro variable information */
  1399. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1400. public class ODBPMINF
  1401. {
  1402. public short use_no1;
  1403. #if PCD_UWORD
  1404. public ushort use_no2;
  1405. #else
  1406. public short use_no2;
  1407. #endif
  1408. public short v2_type;
  1409. }
  1410. /* cnc_tofs_rnge:read validity of tool offset */
  1411. /* cnc_zofs_rnge:read validity of work zero offset */
  1412. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1413. public class ODBDATRNG
  1414. {
  1415. public int data_min; /* lower limit */
  1416. public int data_max; /* upper limit */
  1417. public int status; /* status of setting */
  1418. }
  1419. /* cnc_rdhsprminfo:read the information for function cnc_rdhsparam() */
  1420. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1421. public class HSPINFO_data
  1422. {
  1423. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  1424. public byte[] data1 = new byte[16];
  1425. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  1426. public byte[] data2 = new byte[16];
  1427. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  1428. public byte[] data3 = new byte[16];
  1429. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  1430. public byte[] data4 = new byte[16];
  1431. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  1432. public byte[] data5 = new byte[16];
  1433. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  1434. public byte[] data6 = new byte[16];
  1435. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  1436. public byte[] data7 = new byte[16];
  1437. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  1438. public byte[] data8 = new byte[16];
  1439. }
  1440. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1441. public class HSPINFO
  1442. {
  1443. public HSPINFO_data prminfo1 = new HSPINFO_data();
  1444. public HSPINFO_data prminfo2 = new HSPINFO_data();
  1445. public HSPINFO_data prminfo3 = new HSPINFO_data();
  1446. public HSPINFO_data prminfo4 = new HSPINFO_data();
  1447. public HSPINFO_data prminfo5 = new HSPINFO_data();
  1448. public HSPINFO_data prminfo6 = new HSPINFO_data();
  1449. public HSPINFO_data prminfo7 = new HSPINFO_data();
  1450. public HSPINFO_data prminfo8 = new HSPINFO_data();
  1451. public HSPINFO_data prminfo9 = new HSPINFO_data();
  1452. public HSPINFO_data prminfo10 = new HSPINFO_data();
  1453. }
  1454. /* cnc_rdhsparam:read parameters at the high speed */
  1455. [StructLayout(LayoutKind.Explicit)]
  1456. public class HSPDATA_1
  1457. {
  1458. [FieldOffset(0),
  1459. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1460. public byte[] cdatas1 = new byte[MAX_AXIS];
  1461. [FieldOffset(4 * MAX_AXIS),
  1462. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1463. public byte[] cdatas2 = new byte[MAX_AXIS];
  1464. [FieldOffset(4 * 2 * MAX_AXIS),
  1465. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1466. public byte[] cdatas3 = new byte[MAX_AXIS];
  1467. [FieldOffset(4 * 3 * MAX_AXIS),
  1468. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1469. public byte[] cdatas4 = new byte[MAX_AXIS];
  1470. [FieldOffset(4 * 4 * MAX_AXIS),
  1471. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1472. public byte[] cdatas5 = new byte[MAX_AXIS];
  1473. [FieldOffset(4 * 5 * MAX_AXIS),
  1474. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1475. public byte[] cdatas6 = new byte[MAX_AXIS];
  1476. [FieldOffset(4 * 6 * MAX_AXIS),
  1477. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1478. public byte[] cdatas7 = new byte[MAX_AXIS];
  1479. [FieldOffset(4 * 7 * MAX_AXIS),
  1480. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1481. public byte[] cdatas8 = new byte[MAX_AXIS];
  1482. [FieldOffset(4 * 8 * MAX_AXIS),
  1483. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1484. public byte[] cdatas9 = new byte[MAX_AXIS];
  1485. [FieldOffset(4 * 9 * MAX_AXIS),
  1486. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1487. public byte[] cdatas10 = new byte[MAX_AXIS];
  1488. }
  1489. [StructLayout(LayoutKind.Explicit)]
  1490. public class HSPDATA_2
  1491. {
  1492. [FieldOffset(0),
  1493. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1494. public short[] idatas1 = new short[MAX_AXIS];
  1495. [FieldOffset(2 * MAX_AXIS),
  1496. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1497. public short[] idatas2 = new short[MAX_AXIS];
  1498. [FieldOffset(2 * 2 * MAX_AXIS),
  1499. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1500. public short[] idatas3 = new short[MAX_AXIS];
  1501. [FieldOffset(2 * 3 * MAX_AXIS),
  1502. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1503. public short[] idatas4 = new short[MAX_AXIS];
  1504. [FieldOffset(2 * 4 * MAX_AXIS),
  1505. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1506. public short[] idatas5 = new short[MAX_AXIS];
  1507. [FieldOffset(2 * 5 * MAX_AXIS),
  1508. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1509. public short[] idatas6 = new short[MAX_AXIS];
  1510. [FieldOffset(2 * 6 * MAX_AXIS),
  1511. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1512. public short[] idatas7 = new short[MAX_AXIS];
  1513. [FieldOffset(2 * 7 * MAX_AXIS),
  1514. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1515. public short[] idatas8 = new short[MAX_AXIS];
  1516. [FieldOffset(2 * 8 * MAX_AXIS),
  1517. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1518. public short[] idatas9 = new short[MAX_AXIS];
  1519. [FieldOffset(2 * 9 * MAX_AXIS),
  1520. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1521. public short[] idatas10 = new short[MAX_AXIS];
  1522. }
  1523. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1524. public class HSPDATA_3
  1525. {
  1526. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1527. public int[] ldatas1 = new int[MAX_AXIS];
  1528. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1529. public int[] ldatas2 = new int[MAX_AXIS];
  1530. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1531. public int[] ldatas3 = new int[MAX_AXIS];
  1532. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1533. public int[] ldatas4 = new int[MAX_AXIS];
  1534. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1535. public int[] ldatas5 = new int[MAX_AXIS];
  1536. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1537. public int[] ldatas6 = new int[MAX_AXIS];
  1538. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1539. public int[] ldatas7 = new int[MAX_AXIS];
  1540. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1541. public int[] ldatas8 = new int[MAX_AXIS];
  1542. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1543. public int[] ldatas9 = new int[MAX_AXIS];
  1544. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  1545. public int[] ldatas10 = new int[MAX_AXIS];
  1546. }
  1547. /*----------------------------------------*/
  1548. /* CNC: Tool life management data related */
  1549. /*----------------------------------------*/
  1550. /* cnc_rdgrpid:read tool life management data(tool group number) */
  1551. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1552. public class ODBTLIFE1
  1553. {
  1554. public short dummy; /* dummy */
  1555. public short type; /* data type */
  1556. public int data; /* data */
  1557. }
  1558. /// <summary>
  1559. /// 读取刀片组的全部数量
  1560. /// </summary>
  1561. /* cnc_rdngrp:read tool life management data(number of tool groups) */
  1562. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1563. public class ODBTLIFE2
  1564. {
  1565. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  1566. public short[] dummy; /* dummy */
  1567. public int data; /* data */
  1568. }
  1569. /* cnc_rdntool:read tool life management data(number of tools) */
  1570. /* cnc_rdlife:read tool life management data(tool life) */
  1571. /* cnc_rdcount:read tool life management data(tool lift counter) */
  1572. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1573. public class ODBTLIFE3
  1574. {
  1575. public short datano; /* data number */
  1576. public short dummy; /* dummy */
  1577. public int data; /* data */
  1578. }
  1579. /// <summary>
  1580. /// 刀具的数量
  1581. /// </summary>
  1582. /* cnc_rd1length:read tool life management data(tool length number-1) */
  1583. /* cnc_rd2length:read tool life management data(tool length number-2) */
  1584. /* cnc_rd1radius:read tool life management data(cutter compensation no.-1) */
  1585. /* cnc_rd2radius:read tool life management data(cutter compensation no.-2) */
  1586. /* cnc_t1info:read tool life management data(tool information-1) */
  1587. /* cnc_t2info:read tool life management data(tool information-2) */
  1588. /* cnc_toolnum:read tool life management data(tool number) */
  1589. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1590. public class ODBTLIFE4
  1591. {
  1592. public short datano; /* data number */
  1593. public short type; /* data type */
  1594. public int data; /* data */
  1595. }
  1596. /// <summary>
  1597. /// 读取刀片组的序号
  1598. /// </summary>
  1599. /* cnc_rdgrpid2:read tool life management data(tool group number) 2 */
  1600. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1601. public class ODBTLIFE5
  1602. {
  1603. public int dummy; /* dummy */
  1604. public int type; /* data type */
  1605. public int data; /* data */
  1606. }
  1607. /* cnc_rdtoolrng:read tool life management data(tool number, tool life, tool life counter)(area specified) */
  1608. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1609. public class IODBTR_data
  1610. {
  1611. public int ntool; /* tool number */
  1612. public int life; /* tool life */
  1613. public int count; /* tool life counter */
  1614. }
  1615. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1616. public class IODBTR1
  1617. {
  1618. public IODBTR_data data1 = new IODBTR_data();
  1619. public IODBTR_data data2 = new IODBTR_data();
  1620. public IODBTR_data data3 = new IODBTR_data();
  1621. public IODBTR_data data4 = new IODBTR_data();
  1622. public IODBTR_data data5 = new IODBTR_data();
  1623. } /* In case that the number of data is 5 */
  1624. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1625. public class IODBTR
  1626. {
  1627. public short datano_s; /* start group number */
  1628. public short dummy; /* dummy */
  1629. public short datano_e; /* end group number */
  1630. public IODBTR1 data = new IODBTR1();
  1631. }
  1632. /* cnc_rdtoolgrp:read tool life management data(all data within group) */
  1633. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1634. public class ODBTG_data
  1635. {
  1636. public int tuse_num; /* tool number */
  1637. public int tool_num; /* tool life */
  1638. public int length_num; /* tool life counter */
  1639. public int radius_num; /* tool life counter */
  1640. public int tinfo; /* tool life counter */
  1641. }
  1642. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1643. public class ODBTG1
  1644. {
  1645. public ODBTG_data data1 = new ODBTG_data();
  1646. public ODBTG_data data2 = new ODBTG_data();
  1647. public ODBTG_data data3 = new ODBTG_data();
  1648. public ODBTG_data data4 = new ODBTG_data();
  1649. public ODBTG_data data5 = new ODBTG_data();
  1650. } /* In case that the number of data is 5 */
  1651. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1652. public class ODBTG
  1653. {
  1654. public short grp_num; /* start group number */
  1655. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  1656. public short[] dummy; /* dummy */
  1657. public int ntool; /* tool number */
  1658. public int life; /* tool life */
  1659. public int count; /* tool life counter */
  1660. public ODBTG1 data = new ODBTG1();
  1661. }
  1662. /* cnc_wrcountr:write tool life management data(tool life counter) (area specified) */
  1663. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1664. public class IDBWRC_data
  1665. {
  1666. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  1667. public int[] dummy; /* dummy */
  1668. public int count; /* tool life counter */
  1669. }
  1670. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1671. public class IDBWRC1
  1672. {
  1673. public IDBWRC_data data1 = new IDBWRC_data();
  1674. public IDBWRC_data data2 = new IDBWRC_data();
  1675. public IDBWRC_data data3 = new IDBWRC_data();
  1676. public IDBWRC_data data4 = new IDBWRC_data();
  1677. public IDBWRC_data data5 = new IDBWRC_data();
  1678. } /* In case that the number of data is 5 */
  1679. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1680. public class IDBWRC
  1681. {
  1682. public short datano_s; /* start group number */
  1683. public short dummy; /* dummy */
  1684. public short datano_e; /* end group number */
  1685. public IDBWRC1 data = new IDBWRC1();
  1686. }
  1687. /* cnc_rdusegrpid:read tool life management data(used tool group number) */
  1688. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1689. public class ODBUSEGR
  1690. {
  1691. public short datano; /* dummy */
  1692. public short type; /* dummy */
  1693. public int next; /* next use group number */
  1694. public int use; /* using group number */
  1695. public int slct; /* selecting group number */
  1696. }
  1697. /* cnc_rdmaxgrp:read tool life management data(max. number of tool groups) */
  1698. /* cnc_rdmaxtool:read tool life management data(maximum number of tool within group) */
  1699. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1700. public class ODBLFNO
  1701. {
  1702. public short datano; /* dummy */
  1703. public short type; /* dummy */
  1704. public short data; /* number of data */
  1705. }
  1706. /* cnc_rdusetlno:read tool life management data(used tool no within group) */
  1707. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1708. public class ODBTLUSE
  1709. {
  1710. public short s_grp; /* start group number */
  1711. public short dummy; /* dummy */
  1712. public short e_grp; /* end group number */
  1713. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  1714. public int[] data; /* tool using number */
  1715. } /* In case that the number of group is 5 */
  1716. /* cnc_rd1tlifedata:read tool life management data(tool data1) */
  1717. /* cnc_rd2tlifedata:read tool life management data(tool data2) */
  1718. /* cnc_wr1tlifedata:write tool life management data(tool data1) */
  1719. /* cnc_wr2tlifedata:write tool life management data(tool data2) */
  1720. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1721. public class IODBTD
  1722. {
  1723. public short datano; /* tool group number */
  1724. public short type; /* tool using number */
  1725. public int tool_num; /* tool number */
  1726. public int h_code; /* H code */
  1727. public int d_code; /* D code */
  1728. public int tool_inf; /* tool information */
  1729. }
  1730. /* cnc_rd1tlifedat2:read tool life management data(tool data1) 2 */
  1731. /* cnc_wr1tlifedat2:write tool life management data(tool data1) 2 */
  1732. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1733. public class IODBTD2
  1734. {
  1735. public short datano; /* tool group number */
  1736. public short dummy; /* dummy */
  1737. public int type; /* tool using number */
  1738. public int tool_num; /* tool number */
  1739. public int h_code; /* H code */
  1740. public int d_code; /* D code */
  1741. public int tool_inf; /* tool information */
  1742. }
  1743. /* cnc_rdgrpinfo:read tool life management data(tool group information) */
  1744. /* cnc_wrgrpinfo:write tool life management data(tool group information) */
  1745. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1746. public class IODBTGI_data
  1747. {
  1748. public int n_tool; /* number of tool */
  1749. public int count_value; /* tool life */
  1750. public int counter; /* tool life counter */
  1751. public int count_type; /* tool life counter type */
  1752. }
  1753. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1754. public class IODBTGI1
  1755. {
  1756. public IODBTGI_data data1 = new IODBTGI_data();
  1757. public IODBTGI_data data2 = new IODBTGI_data();
  1758. public IODBTGI_data data3 = new IODBTGI_data();
  1759. public IODBTGI_data data4 = new IODBTGI_data();
  1760. public IODBTGI_data data5 = new IODBTGI_data();
  1761. } /* In case that the number of data is 5 */
  1762. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1763. public class IODBTGI
  1764. {
  1765. public short s_grp; /* start group number */
  1766. public short dummy; /* dummy */
  1767. public short e_grp; /* end group number */
  1768. public IODBTGI1 data = new IODBTGI1();
  1769. }
  1770. /* cnc_rdgrpinfo2:read tool life management data(tool group information 2) */
  1771. /* cnc_wrgrpinfo2:write tool life management data(tool group information 2) */
  1772. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1773. public class IODBTGI2
  1774. {
  1775. public short s_grp; /* start group number */
  1776. public short dummy; /* dummy */
  1777. public short e_grp; /* end group number */
  1778. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  1779. public int[] opt_grpno = new int[5]; /* optional group number of tool */
  1780. } /* In case that the number of group is 5 */
  1781. /* cnc_rdgrpinfo3:read tool life management data(tool group information 3) */
  1782. /* cnc_wrgrpinfo3:write tool life management data(tool group information 3) */
  1783. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1784. public class IODBTGI3
  1785. {
  1786. public short s_grp; /* start group number */
  1787. public short dummy; /* dummy */
  1788. public short e_grp; /* end group number */
  1789. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  1790. public int[] life_rest = new int[5]; /* tool life rest count */
  1791. } /* In case that the number of group is 5 */
  1792. /* cnc_rdgrpinfo4:read tool life management data(tool group information 4) */
  1793. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1794. public class IODBTGI4
  1795. {
  1796. public short grp_no;
  1797. public int n_tool;
  1798. public int count_value;
  1799. public int counter;
  1800. public int count_type;
  1801. public int opt_grpno;
  1802. public int life_rest;
  1803. }
  1804. /* cnc_instlifedt:insert tool life management data(tool data) */
  1805. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1806. public class IDBITD
  1807. {
  1808. public short datano; /* tool group number */
  1809. public short type; /* tool using number */
  1810. public int data; /* tool number */
  1811. }
  1812. /* cnc_rdtlinfo:read tool life management data */
  1813. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1814. public class ODBTLINFO
  1815. {
  1816. public int max_group; /* maximum number of tool groups */
  1817. public int max_tool; /* maximum number of tool within group */
  1818. public int max_minute; /* maximum number of life count (minutes) */
  1819. public int max_cycle; /* maximum number of life count (cycles) */
  1820. }
  1821. /* cnc_rdtlusegrp:read tool life management data(used tool group number) */
  1822. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1823. public class ODBUSEGRP
  1824. {
  1825. public int next; /* next use group number */
  1826. public int use; /* using group number */
  1827. public int slct; /* selecting group number */
  1828. public int opt_next; /* next use optional group number */
  1829. public int opt_use; /* using optional group number */
  1830. public int opt_slct; /* selecting optional group number */
  1831. }
  1832. /* cnc_rdtlgrp:read tool life management data(tool group information 2) */
  1833. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1834. public class IODBTLGRP_data
  1835. {
  1836. public int ntool; /* number of all tool */
  1837. public int nfree; /* number of free tool */
  1838. public int life; /* tool life */
  1839. public int count; /* tool life counter */
  1840. public int use_tool; /* using tool number */
  1841. public int opt_grpno; /* optional group number */
  1842. public int life_rest; /* tool life rest count */
  1843. public short rest_sig; /* tool life rest signal */
  1844. public short count_type; /* tool life counter type */
  1845. }
  1846. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1847. public class IODBTLGRP
  1848. {
  1849. public IODBTLGRP_data data1 = new IODBTLGRP_data();
  1850. public IODBTLGRP_data data2 = new IODBTLGRP_data();
  1851. public IODBTLGRP_data data3 = new IODBTLGRP_data();
  1852. public IODBTLGRP_data data4 = new IODBTLGRP_data();
  1853. public IODBTLGRP_data data5 = new IODBTLGRP_data();
  1854. } /* In case that the number of group is 5 */
  1855. /* cnc_rdtltool:read tool life management data (tool data1) */
  1856. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1857. public class IODBTLTOOL_data
  1858. {
  1859. public int tool_num; /* tool number */
  1860. public int h_code; /* H code */
  1861. public int d_code; /* D code */
  1862. public int tool_inf; /* tool information */
  1863. }
  1864. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1865. public class IODBTLTOOL
  1866. {
  1867. public IODBTLTOOL_data data1 = new IODBTLTOOL_data();
  1868. public IODBTLTOOL_data data2 = new IODBTLTOOL_data();
  1869. public IODBTLTOOL_data data3 = new IODBTLTOOL_data();
  1870. public IODBTLTOOL_data data4 = new IODBTLTOOL_data();
  1871. public IODBTLTOOL_data data5 = new IODBTLTOOL_data();
  1872. } /* In case that the number of group is 5 */
  1873. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1874. public class ODBEXGP_data
  1875. {
  1876. public int grp_no; /* group number */
  1877. public int opt_grpno; /* optional group number */
  1878. }
  1879. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1880. public class ODBEXGP
  1881. {
  1882. public ODBEXGP_data data1 = new ODBEXGP_data();
  1883. public ODBEXGP_data data2 = new ODBEXGP_data();
  1884. public ODBEXGP_data data3 = new ODBEXGP_data();
  1885. public ODBEXGP_data data4 = new ODBEXGP_data();
  1886. public ODBEXGP_data data5 = new ODBEXGP_data();
  1887. public ODBEXGP_data data6 = new ODBEXGP_data();
  1888. public ODBEXGP_data data7 = new ODBEXGP_data();
  1889. public ODBEXGP_data data8 = new ODBEXGP_data();
  1890. public ODBEXGP_data data9 = new ODBEXGP_data();
  1891. public ODBEXGP_data data10 = new ODBEXGP_data();
  1892. public ODBEXGP_data data11 = new ODBEXGP_data();
  1893. public ODBEXGP_data data12 = new ODBEXGP_data();
  1894. public ODBEXGP_data data13 = new ODBEXGP_data();
  1895. public ODBEXGP_data data14 = new ODBEXGP_data();
  1896. public ODBEXGP_data data15 = new ODBEXGP_data();
  1897. public ODBEXGP_data data16 = new ODBEXGP_data();
  1898. public ODBEXGP_data data17 = new ODBEXGP_data();
  1899. public ODBEXGP_data data18 = new ODBEXGP_data();
  1900. public ODBEXGP_data data19 = new ODBEXGP_data();
  1901. public ODBEXGP_data data20 = new ODBEXGP_data();
  1902. public ODBEXGP_data data21 = new ODBEXGP_data();
  1903. public ODBEXGP_data data22 = new ODBEXGP_data();
  1904. public ODBEXGP_data data23 = new ODBEXGP_data();
  1905. public ODBEXGP_data data24 = new ODBEXGP_data();
  1906. public ODBEXGP_data data25 = new ODBEXGP_data();
  1907. public ODBEXGP_data data26 = new ODBEXGP_data();
  1908. public ODBEXGP_data data27 = new ODBEXGP_data();
  1909. public ODBEXGP_data data28 = new ODBEXGP_data();
  1910. public ODBEXGP_data data29 = new ODBEXGP_data();
  1911. public ODBEXGP_data data30 = new ODBEXGP_data();
  1912. public ODBEXGP_data data31 = new ODBEXGP_data();
  1913. public ODBEXGP_data data32 = new ODBEXGP_data();
  1914. }
  1915. /*-----------------------------------*/
  1916. /* CNC: Tool management data related */
  1917. /*-----------------------------------*/
  1918. /* cnc_regtool:new registration of tool management data */
  1919. /* cnc_rdtool:lead of tool management data */
  1920. /* cnc_wrtool:write of tool management data */
  1921. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1922. public class IODBTLMNG_data
  1923. {
  1924. public int T_code;
  1925. public int life_count;
  1926. public int max_life;
  1927. public int rest_life;
  1928. public byte life_stat;
  1929. public byte cust_bits;
  1930. public ushort tool_info;
  1931. public short H_code;
  1932. public short D_code;
  1933. public int spindle_speed;
  1934. public int feedrate;
  1935. public short magazine;
  1936. public short pot;
  1937. public short gno;
  1938. public short m_ofs;
  1939. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  1940. public int[] reserved = new int[4];
  1941. public int custom1;
  1942. public int custom2;
  1943. public int custom3;
  1944. public int custom4;
  1945. public int custom5;
  1946. public int custom6;
  1947. public int custom7;
  1948. public int custom8;
  1949. public int custom9;
  1950. public int custom10;
  1951. public int custom11;
  1952. public int custom12;
  1953. public int custom13;
  1954. public int custom14;
  1955. public int custom15;
  1956. public int custom16;
  1957. public int custom17;
  1958. public int custom18;
  1959. public int custom19;
  1960. public int custom20;
  1961. }
  1962. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1963. public class IODBTLMNG
  1964. {
  1965. public IODBTLMNG_data data1 = new IODBTLMNG_data();
  1966. public IODBTLMNG_data data2 = new IODBTLMNG_data();
  1967. public IODBTLMNG_data data3 = new IODBTLMNG_data();
  1968. public IODBTLMNG_data data4 = new IODBTLMNG_data();
  1969. public IODBTLMNG_data data5 = new IODBTLMNG_data();
  1970. } /* In case that the number of group is 5 */
  1971. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  1972. public class IODBTLMNG_F2_data
  1973. {
  1974. public int T_code;
  1975. public int life_count;
  1976. public int max_life;
  1977. public int rest_life;
  1978. public byte life_stat;
  1979. public byte cust_bits;
  1980. public ushort tool_info;
  1981. public short H_code;
  1982. public short D_code;
  1983. public int spindle_speed;
  1984. public int feedrate;
  1985. public short magazine;
  1986. public short pot;
  1987. public short G_code;
  1988. public short W_code;
  1989. public short gno;
  1990. public short m_ofs;
  1991. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  1992. public int[] reserved;
  1993. public int custom1;
  1994. public int custom2;
  1995. public int custom3;
  1996. public int custom4;
  1997. public int custom5;
  1998. public int custom6;
  1999. public int custom7;
  2000. public int custom8;
  2001. public int custom9;
  2002. public int custom10;
  2003. public int custom11;
  2004. public int custom12;
  2005. public int custom13;
  2006. public int custom14;
  2007. public int custom15;
  2008. public int custom16;
  2009. public int custom17;
  2010. public int custom18;
  2011. public int custom19;
  2012. public int custom20;
  2013. public int custom21;
  2014. public int custom22;
  2015. public int custom23;
  2016. public int custom24;
  2017. public int custom25;
  2018. public int custom26;
  2019. public int custom27;
  2020. public int custom28;
  2021. public int custom29;
  2022. public int custom30;
  2023. public int custom31;
  2024. public int custom32;
  2025. public int custom33;
  2026. public int custom34;
  2027. public int custom35;
  2028. public int custom36;
  2029. public int custom37;
  2030. public int custom38;
  2031. public int custom39;
  2032. public int custom40;
  2033. }
  2034. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2035. public class IODBTLMNG_F2
  2036. {
  2037. public IODBTLMNG_F2_data data1 = new IODBTLMNG_F2_data();
  2038. public IODBTLMNG_F2_data data2 = new IODBTLMNG_F2_data();
  2039. public IODBTLMNG_F2_data data3 = new IODBTLMNG_F2_data();
  2040. public IODBTLMNG_F2_data data4 = new IODBTLMNG_F2_data();
  2041. public IODBTLMNG_F2_data data5 = new IODBTLMNG_F2_data();
  2042. } /* In case that the number of group is 5 */
  2043. /* cnc_wrtool2:write of individual data of tool management data */
  2044. [StructLayout(LayoutKind.Explicit)]
  2045. public class IDBTLM_item
  2046. {
  2047. [FieldOffset(0)]
  2048. public sbyte data1;
  2049. [FieldOffset(0)]
  2050. public short data2;
  2051. [FieldOffset(0)]
  2052. public int data4;
  2053. }
  2054. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2055. public class IDBTLM
  2056. {
  2057. public short data_id;
  2058. public IDBTLM_item item = new IDBTLM_item();
  2059. }
  2060. /* cnc_regmagazine:new registration of magazine management data */
  2061. /* cnc_rdmagazine:lead of magazine management data */
  2062. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2063. public class IODBTLMAG_data
  2064. {
  2065. public short magazine;
  2066. public short pot;
  2067. public short tool_index;
  2068. }
  2069. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2070. public class IODBTLMAG
  2071. {
  2072. public IODBTLMAG_data data1 = new IODBTLMAG_data();
  2073. public IODBTLMAG_data data2 = new IODBTLMAG_data();
  2074. public IODBTLMAG_data data3 = new IODBTLMAG_data();
  2075. public IODBTLMAG_data data4 = new IODBTLMAG_data();
  2076. public IODBTLMAG_data data5 = new IODBTLMAG_data();
  2077. } /* In case that the number of group is 5 */
  2078. /* cnc_delmagazine:deletion of magazine management data */
  2079. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2080. public class IODBTLMAG2_data
  2081. {
  2082. public short magazine;
  2083. public short pot;
  2084. }
  2085. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2086. public class IODBTLMAG2
  2087. {
  2088. public IODBTLMAG2_data data1 = new IODBTLMAG2_data();
  2089. public IODBTLMAG2_data data2 = new IODBTLMAG2_data();
  2090. public IODBTLMAG2_data data3 = new IODBTLMAG2_data();
  2091. public IODBTLMAG2_data data4 = new IODBTLMAG2_data();
  2092. public IODBTLMAG2_data data5 = new IODBTLMAG2_data();
  2093. } /* In case that the number of group is 5 */
  2094. /*-------------------------------------*/
  2095. /* CNC: Operation history data related */
  2096. /*-------------------------------------*/
  2097. /* cnc_rdophistry:read operation history data */
  2098. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2099. public class REC_ALM
  2100. {
  2101. public short rec_type; /* record type */
  2102. public short alm_grp; /* alarm group */
  2103. public short alm_no; /* alarm number */
  2104. public sbyte axis_no; /* axis number */
  2105. public sbyte dummy;
  2106. }
  2107. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2108. public class REC_MDI
  2109. {
  2110. public short rec_type; /* record type */
  2111. public byte key_code; /* key code */
  2112. public byte pw_flag; /* power on flag */
  2113. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  2114. public sbyte[] dummy;
  2115. }
  2116. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2117. public class REC_SGN
  2118. {
  2119. public short rec_type; /* record type */
  2120. public sbyte sig_name; /* signal name */
  2121. public byte sig_old; /* old signal bit pattern */
  2122. public byte sig_new; /* new signal bit pattern */
  2123. public sbyte dummy;
  2124. public short sig_no; /* signal number */
  2125. }
  2126. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2127. public class REC_DATE
  2128. {
  2129. public short rec_type; /* record type */
  2130. public sbyte year; /* year */
  2131. public sbyte month; /* month */
  2132. public sbyte day; /* day */
  2133. public sbyte pw_flag; /* power on flag */
  2134. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  2135. public sbyte[] dummy;
  2136. }
  2137. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2138. public class REC_TIME
  2139. {
  2140. public short rec_type; /* record flag */
  2141. public sbyte hour; /* hour */
  2142. public sbyte minute; /* minute */
  2143. public sbyte second; /* second */
  2144. public sbyte pw_flag; /* power on flag */
  2145. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  2146. public sbyte[] dummy;
  2147. }
  2148. [StructLayout(LayoutKind.Explicit, Size = 8)]
  2149. public class ODBHIS_data
  2150. {
  2151. // record type
  2152. [FieldOffset(0)]
  2153. public short rec_type; /* record type */
  2154. // alarm record
  2155. [FieldOffset(0)]
  2156. public short alm_rec_type; /* record type */
  2157. [FieldOffset(2)]
  2158. public short alm_alm_grp; /* alarm group */
  2159. [FieldOffset(4)]
  2160. public short alm_alm_no; /* alarm number */
  2161. [FieldOffset(6)]
  2162. public sbyte alm_axis_no; /* axis number */
  2163. [FieldOffset(7)]
  2164. public sbyte alm_dummy;
  2165. // mdi record
  2166. [FieldOffset(0)]
  2167. public short mdi_rec_type; /* record type */
  2168. [FieldOffset(2)]
  2169. public byte mdi_key_code; /* key code */
  2170. [FieldOffset(3)]
  2171. public byte mdi_pw_flag; /* power on flag */
  2172. [FieldOffset(4)]
  2173. public sbyte mdi_dummy1;
  2174. [FieldOffset(5)]
  2175. public sbyte mdi_dummy2;
  2176. [FieldOffset(6)]
  2177. public sbyte mdi_dummy3;
  2178. [FieldOffset(7)]
  2179. public sbyte mdi_dummy4;
  2180. // sign record
  2181. [FieldOffset(0)]
  2182. public short sgn_rec_type; /* record type */
  2183. [FieldOffset(2)]
  2184. public sbyte sgn_sig_name; /* signal name */
  2185. [FieldOffset(3)]
  2186. public byte sgn_sig_old; /* old signal bit pattern */
  2187. [FieldOffset(4)]
  2188. public byte sgn_sig_new; /* new signal bit pattern */
  2189. [FieldOffset(5)]
  2190. public sbyte sgn_dummy;
  2191. [FieldOffset(6)]
  2192. public short sgn_sig_no; /* signal number */
  2193. // date record
  2194. [FieldOffset(0)]
  2195. public short date_rec_type; /* record type */
  2196. [FieldOffset(2)]
  2197. public sbyte date_year; /* year */
  2198. [FieldOffset(3)]
  2199. public sbyte date_month; /* month */
  2200. [FieldOffset(4)]
  2201. public sbyte date_day; /* day */
  2202. [FieldOffset(5)]
  2203. public sbyte date_pw_flag; /* power on flag */
  2204. [FieldOffset(6)]
  2205. public sbyte date_dummy1;
  2206. [FieldOffset(7)]
  2207. public sbyte date_dummy2;
  2208. // time record
  2209. [FieldOffset(0)]
  2210. public short time_rec_type; /* record flag */
  2211. [FieldOffset(2)]
  2212. public sbyte time_hour; /* hour */
  2213. [FieldOffset(3)]
  2214. public sbyte time_minute; /* minute */
  2215. [FieldOffset(4)]
  2216. public sbyte time_second; /* second */
  2217. [FieldOffset(5)]
  2218. public sbyte time_pw_flag; /* power on flag */
  2219. [FieldOffset(6)]
  2220. public sbyte time_dummy1;
  2221. [FieldOffset(7)]
  2222. public sbyte time_dummy2;
  2223. }
  2224. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2225. public class ODBHIS1
  2226. {
  2227. public ODBHIS_data data1 = new ODBHIS_data();
  2228. public ODBHIS_data data2 = new ODBHIS_data();
  2229. public ODBHIS_data data3 = new ODBHIS_data();
  2230. public ODBHIS_data data4 = new ODBHIS_data();
  2231. public ODBHIS_data data5 = new ODBHIS_data();
  2232. public ODBHIS_data data6 = new ODBHIS_data();
  2233. public ODBHIS_data data7 = new ODBHIS_data();
  2234. public ODBHIS_data data8 = new ODBHIS_data();
  2235. public ODBHIS_data data9 = new ODBHIS_data();
  2236. public ODBHIS_data data10 = new ODBHIS_data();
  2237. } /* In case that the number of data is 10 */
  2238. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2239. public class ODBHIS
  2240. {
  2241. public ushort s_no; /* start number */
  2242. public short type; /* dummy */
  2243. public ushort e_no; /* end number */
  2244. public ODBHIS1 data = new ODBHIS1();
  2245. }
  2246. /* cnc_rdophistry2:read operation history data */
  2247. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2248. public class REC_MDI2
  2249. {
  2250. public byte key_code; /* key code */
  2251. public byte pw_flag; /* power on flag */
  2252. public short dummy;
  2253. }
  2254. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2255. public class REC_MDI2_data
  2256. {
  2257. public short rec_len; /* length */
  2258. public short rec_type; /* record type */
  2259. public REC_MDI2 data = new REC_MDI2();
  2260. }
  2261. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2262. public class REC_SGN2
  2263. {
  2264. public short sig_name; /* signal name */
  2265. public short sig_no; /* signal number */
  2266. public byte sig_old; /* old signal bit pattern */
  2267. public byte sig_new; /* new signal bit pattern */
  2268. public short dummy;
  2269. }
  2270. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2271. public class REC_SGN2_data
  2272. {
  2273. public short rec_len; /* length */
  2274. public short rec_type; /* record type */
  2275. public REC_SGN2 data = new REC_SGN2();
  2276. }
  2277. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2278. public class REC_ALM2
  2279. {
  2280. public short alm_grp; /* alarm group */
  2281. public short alm_no; /* alarm number */
  2282. public short axis_no; /* axis number */
  2283. public short year; /* year */
  2284. public short month; /* month */
  2285. public short day; /* day */
  2286. public short hour; /* hour */
  2287. public short minute; /* minute */
  2288. public short second; /* second */
  2289. public short dummy;
  2290. }
  2291. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2292. public class REC_ALM2_data
  2293. {
  2294. public short rec_len; /* length */
  2295. public short rec_type; /* record type */
  2296. public REC_ALM2 data = new REC_ALM2();
  2297. }
  2298. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2299. public class REC_DATE2
  2300. {
  2301. public short evnt_type; /* event type */
  2302. public short year; /* year */
  2303. public short month; /* month */
  2304. public short day; /* day */
  2305. public short hour; /* hour */
  2306. public short minute; /* minute */
  2307. public short second; /* second */
  2308. public short dummy;
  2309. }
  2310. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2311. public class REC_DATE2_data
  2312. {
  2313. public short rec_len; /* length */
  2314. public short rec_type; /* record type */
  2315. public REC_DATE2 data = new REC_DATE2();
  2316. }
  2317. [StructLayout(LayoutKind.Explicit)]
  2318. public class ODBOPHIS
  2319. {
  2320. [FieldOffset(0)]
  2321. public REC_MDI2_data rec_mdi = new REC_MDI2_data();
  2322. [FieldOffset(0)]
  2323. public REC_SGN2_data rec_sgn = new REC_SGN2_data();
  2324. [FieldOffset(0)]
  2325. public REC_ALM2_data rec_alm = new REC_ALM2_data();
  2326. [FieldOffset(0)]
  2327. public REC_DATE2_data rec_date = new REC_DATE2_data();
  2328. }
  2329. /* cnc_rdophistry4:read operation history data */
  2330. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2331. public class REC_MDI4
  2332. {
  2333. public char key_code; /* key code */
  2334. public char pw_flag; /* power on flag */
  2335. public short pth_no; /* path index */
  2336. public short ex_flag; /* kxternal key flag */
  2337. public short hour; /* hour */
  2338. public short minute; /* minute */
  2339. public short second; /* second */
  2340. }
  2341. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2342. public class REC_MDI4_data
  2343. {
  2344. public short rec_len; /* length */
  2345. public short rec_type; /* record type */
  2346. public REC_MDI4 data = new REC_MDI4();
  2347. }
  2348. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2349. public class REC_SGN4
  2350. {
  2351. public short sig_name; /* signal name */
  2352. public short sig_no; /* signal number */
  2353. public char sig_old; /* old signal bit pattern */
  2354. public char sig_new; /* new signal bit pattern */
  2355. public short pmc_no; /* pmc index */
  2356. public short hour; /* hour */
  2357. public short minute; /* minute */
  2358. public short second; /* second */
  2359. public short dummy;
  2360. }
  2361. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2362. public class REC_SGN4_data
  2363. {
  2364. public short rec_len; /* length */
  2365. public short rec_type; /* record type */
  2366. public REC_SGN4 data = new REC_SGN4();
  2367. }
  2368. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2369. public class REC_ALM4
  2370. {
  2371. public short alm_grp; /* alarm group */
  2372. public short alm_no; /* alarm number */
  2373. public short axis_no; /* axis number */
  2374. public short year; /* year */
  2375. public short month; /* month */
  2376. public short day; /* day */
  2377. public short hour; /* hour */
  2378. public short minute; /* minute */
  2379. public short second; /* second */
  2380. public short pth_no; /* path index */
  2381. }
  2382. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2383. public class REC_ALM4_data
  2384. {
  2385. public short rec_len; /* length */
  2386. public short rec_type; /* record type */
  2387. public REC_ALM4 data = new REC_ALM4();
  2388. }
  2389. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2390. public class REC_DATE4
  2391. {
  2392. public short evnt_type; /* event type */
  2393. public short year; /* year */
  2394. public short month; /* month */
  2395. public short day; /* day */
  2396. public short hour; /* hour */
  2397. public short minute; /* minute */
  2398. public short second; /* second */
  2399. public short dummy;
  2400. }
  2401. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2402. public class REC_DATE4_data
  2403. {
  2404. public short rec_len; /* length */
  2405. public short rec_type; /* record type */
  2406. public REC_DATE4 data = new REC_DATE4();
  2407. }
  2408. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2409. public class REC_IAL4
  2410. {
  2411. public short alm_grp; /* alarm group */
  2412. public short alm_no; /* alarm number */
  2413. public short axis_no; /* axis number */
  2414. public short year; /* year */
  2415. public short month; /* month */
  2416. public short day; /* day */
  2417. public short hour; /* hour */
  2418. public short minute; /* minute */
  2419. public short second; /* second */
  2420. public short pth_no; /* path index */
  2421. public short sys_alm; /* sys alarm */
  2422. public short dsp_flg; /* message dsp flag */
  2423. public short axis_num; /* axis num */
  2424. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2425. public int[] g_modal; /* G code Modal */
  2426. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2427. public char[] g_dp; /* #7:1 Block */
  2428. /* #6乣#0 dp*/
  2429. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2430. public int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */
  2431. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2432. public char[] a_dp; /* #7:1 Block */
  2433. /* 6乣#0 dp*/
  2434. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2435. public int[] abs_pos; /* Abs pos */
  2436. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2437. public char[] abs_dp; /* Abs dp */
  2438. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2439. public int[] mcn_pos; /* Mcn pos */
  2440. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2441. public char[] mcn_dp; /* Mcn dp */
  2442. }
  2443. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2444. public class REC_IAL4_data
  2445. {
  2446. public short rec_len; /* length */
  2447. public short rec_type; /* record type */
  2448. public REC_IAL4 data = new REC_IAL4();
  2449. }
  2450. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  2451. public class REC_MAL4
  2452. {
  2453. public short alm_grp; /* alarm group */
  2454. public short alm_no; /* alarm number */
  2455. public short axis_no; /* axis number */
  2456. public short year; /* year */
  2457. public short month; /* month */
  2458. public short day; /* day */
  2459. public short hour; /* hour */
  2460. public short minute; /* minute */
  2461. public short second; /* second */
  2462. public short pth_no; /* path index */
  2463. public short sys_alm; /* sys alarm */
  2464. public short dsp_flg; /* message dsp flag */
  2465. public short axis_num; /* axis num */
  2466. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
  2467. public string alm_msg = new string(' ', 64); /* alarm message */
  2468. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2469. public int[] g_modal; /* G code Modal */
  2470. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2471. public char[] g_dp; /* #7:1 Block */
  2472. /* #6乣#0 dp*/
  2473. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2474. public int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */
  2475. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2476. public char[] a_dp; /* #7:1 Block */
  2477. /* 6乣#0 dp*/
  2478. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2479. public int[] abs_pos; /* Abs pos */
  2480. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2481. public char[] abs_dp; /* Abs dp */
  2482. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2483. public int[] mcn_pos; /* Mcn pos */
  2484. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2485. public char[] mcn_dp; /* Mcn dp */
  2486. }
  2487. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2488. public class REC_MAL4_data
  2489. {
  2490. public short rec_len; /* length */
  2491. public short rec_type; /* record type */
  2492. public REC_MAL4 data = new REC_MAL4();
  2493. }
  2494. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2495. public class REC_OPM4
  2496. {
  2497. public short dsp_flg; /* Dysplay flag(ON/OFF) */
  2498. public short om_no; /* message number */
  2499. public short year; /* year */
  2500. public short month; /* month */
  2501. public short day; /* day */
  2502. public short hour; /* Hour */
  2503. public short minute; /* Minute */
  2504. public short second; /* Second */
  2505. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
  2506. public string ope_msg = new string(' ', 256); /* Messege */
  2507. }
  2508. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2509. public class REC_OPM4_data
  2510. {
  2511. public short rec_len; /* length */
  2512. public short rec_type; /* record type */
  2513. public REC_OPM4 data = new REC_OPM4();
  2514. }
  2515. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2516. public class REC_OFS4
  2517. {
  2518. public short ofs_grp; /* Tool offset group */
  2519. public short ofs_no; /* Tool offset number */
  2520. public short hour; /* hour */
  2521. public short minute; /* minute */
  2522. public short second; /* second */
  2523. public short pth_no; /* path index */
  2524. public int ofs_old; /* old data */
  2525. public int ofs_new; /* new data */
  2526. public short old_dp; /* old data decimal point */
  2527. public short new_dp; /* new data decimal point */
  2528. }
  2529. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2530. public class REC_OFS4_data
  2531. {
  2532. public short rec_len; /* length */
  2533. public short rec_type; /* record type */
  2534. public REC_OFS4 data = new REC_OFS4();
  2535. }
  2536. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2537. public class REC_PRM4
  2538. {
  2539. public short prm_grp; /* paramater group */
  2540. public short prm_num; /* paramater number */
  2541. public short hour; /* hour */
  2542. public short minute; /* minute */
  2543. public short second; /* second */
  2544. public short prm_len; /* paramater data length */
  2545. public int prm_no; /* paramater no */
  2546. public int prm_old; /* old data */
  2547. public int prm_new; /* new data */
  2548. public short old_dp; /* old data decimal point */
  2549. public short new_dp; /* new data decimal point */
  2550. }
  2551. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2552. public class REC_PRM4_data
  2553. {
  2554. public short rec_len; /* length */
  2555. public short rec_type; /* record type */
  2556. public REC_PRM4 data = new REC_PRM4();
  2557. }
  2558. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2559. public class REC_WOF4
  2560. {
  2561. public short ofs_grp; /* Work offset group */
  2562. public short ofs_no; /* Work offset number */
  2563. public short hour; /* hour */
  2564. public short minute; /* minute */
  2565. public short second; /* second */
  2566. public short pth_no; /* path index */
  2567. public short axis_no; /* path axis num $*/
  2568. public short dummy;
  2569. public int ofs_old; /* old data */
  2570. public int ofs_new; /* new data */
  2571. public short old_dp; /* old data decimal point */
  2572. public short new_dp; /* new data decimal point */
  2573. }
  2574. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2575. public class REC_WOF4_data
  2576. {
  2577. public short rec_len; /* length */
  2578. public short rec_type; /* record type */
  2579. public REC_WOF4 data = new REC_WOF4();
  2580. }
  2581. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2582. public class REC_MAC4
  2583. {
  2584. public short mac_no; /* macro val number */
  2585. public short hour; /* hour */
  2586. public short minute; /* minute */
  2587. public short second; /* second */
  2588. public short pth_no; /* path index */
  2589. public int mac_old; /* old data */
  2590. public int mac_new; /* new data */
  2591. public short old_dp; /* old data decimal point */
  2592. public short new_dp; /* old data decimal point */
  2593. }
  2594. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2595. public class REC_MAC4_data
  2596. {
  2597. public short rec_len; /* length */
  2598. public short rec_type; /* record type */
  2599. public REC_MAC4 data = new REC_MAC4();
  2600. }
  2601. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2602. public class ODBOPHIS4_1
  2603. {
  2604. public REC_MDI4_data rec_mdi1 = new REC_MDI4_data();
  2605. public REC_MDI4_data rec_mdi2 = new REC_MDI4_data();
  2606. public REC_MDI4_data rec_mdi3 = new REC_MDI4_data();
  2607. public REC_MDI4_data rec_mdi4 = new REC_MDI4_data();
  2608. public REC_MDI4_data rec_mdi5 = new REC_MDI4_data();
  2609. public REC_MDI4_data rec_mdi6 = new REC_MDI4_data();
  2610. public REC_MDI4_data rec_mdi7 = new REC_MDI4_data();
  2611. public REC_MDI4_data rec_mdi8 = new REC_MDI4_data();
  2612. public REC_MDI4_data rec_mdi9 = new REC_MDI4_data();
  2613. public REC_MDI4_data rec_mdi10 = new REC_MDI4_data();
  2614. } /* In case that the number of data is 10 */
  2615. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2616. public class ODBOPHIS4_2
  2617. {
  2618. public REC_SGN4_data rec_sgn1 = new REC_SGN4_data();
  2619. public REC_SGN4_data rec_sgn2 = new REC_SGN4_data();
  2620. public REC_SGN4_data rec_sgn3 = new REC_SGN4_data();
  2621. public REC_SGN4_data rec_sgn4 = new REC_SGN4_data();
  2622. public REC_SGN4_data rec_sgn5 = new REC_SGN4_data();
  2623. public REC_SGN4_data rec_sgn6 = new REC_SGN4_data();
  2624. public REC_SGN4_data rec_sgn7 = new REC_SGN4_data();
  2625. public REC_SGN4_data rec_sgn8 = new REC_SGN4_data();
  2626. public REC_SGN4_data rec_sgn9 = new REC_SGN4_data();
  2627. public REC_SGN4_data rec_sgn10 = new REC_SGN4_data();
  2628. } /* In case that the number of data is 10 */
  2629. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2630. public class ODBOPHIS4_3
  2631. {
  2632. public REC_ALM4_data rec_alm1 = new REC_ALM4_data();
  2633. public REC_ALM4_data rec_alm2 = new REC_ALM4_data();
  2634. public REC_ALM4_data rec_alm3 = new REC_ALM4_data();
  2635. public REC_ALM4_data rec_alm4 = new REC_ALM4_data();
  2636. public REC_ALM4_data rec_alm5 = new REC_ALM4_data();
  2637. public REC_ALM4_data rec_alm6 = new REC_ALM4_data();
  2638. public REC_ALM4_data rec_alm7 = new REC_ALM4_data();
  2639. public REC_ALM4_data rec_alm8 = new REC_ALM4_data();
  2640. public REC_ALM4_data rec_alm9 = new REC_ALM4_data();
  2641. public REC_ALM4_data rec_alm10 = new REC_ALM4_data();
  2642. } /* In case that the number of data is 10 */
  2643. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2644. public class ODBOPHIS4_4
  2645. {
  2646. public REC_DATE4_data rec_date1 = new REC_DATE4_data();
  2647. public REC_DATE4_data rec_date2 = new REC_DATE4_data();
  2648. public REC_DATE4_data rec_date3 = new REC_DATE4_data();
  2649. public REC_DATE4_data rec_date4 = new REC_DATE4_data();
  2650. public REC_DATE4_data rec_date5 = new REC_DATE4_data();
  2651. public REC_DATE4_data rec_date6 = new REC_DATE4_data();
  2652. public REC_DATE4_data rec_date7 = new REC_DATE4_data();
  2653. public REC_DATE4_data rec_date8 = new REC_DATE4_data();
  2654. public REC_DATE4_data rec_date9 = new REC_DATE4_data();
  2655. public REC_DATE4_data rec_date10 = new REC_DATE4_data();
  2656. } /* In case that the number of data is 10 */
  2657. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2658. public class ODBOPHIS4_5
  2659. {
  2660. public REC_IAL4_data rec_ial1 = new REC_IAL4_data();
  2661. public REC_IAL4_data rec_ial2 = new REC_IAL4_data();
  2662. public REC_IAL4_data rec_ial3 = new REC_IAL4_data();
  2663. public REC_IAL4_data rec_ial4 = new REC_IAL4_data();
  2664. public REC_IAL4_data rec_ial5 = new REC_IAL4_data();
  2665. public REC_IAL4_data rec_ial6 = new REC_IAL4_data();
  2666. public REC_IAL4_data rec_ial7 = new REC_IAL4_data();
  2667. public REC_IAL4_data rec_ial8 = new REC_IAL4_data();
  2668. public REC_IAL4_data rec_ial9 = new REC_IAL4_data();
  2669. public REC_IAL4_data rec_ial10 = new REC_IAL4_data();
  2670. } /* In case that the number of data is 10 */
  2671. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2672. public class ODBOPHIS4_6
  2673. {
  2674. public REC_MAL4_data rec_mal1 = new REC_MAL4_data();
  2675. public REC_MAL4_data rec_mal2 = new REC_MAL4_data();
  2676. public REC_MAL4_data rec_mal3 = new REC_MAL4_data();
  2677. public REC_MAL4_data rec_mal4 = new REC_MAL4_data();
  2678. public REC_MAL4_data rec_mal5 = new REC_MAL4_data();
  2679. public REC_MAL4_data rec_mal6 = new REC_MAL4_data();
  2680. public REC_MAL4_data rec_mal7 = new REC_MAL4_data();
  2681. public REC_MAL4_data rec_mal8 = new REC_MAL4_data();
  2682. public REC_MAL4_data rec_mal9 = new REC_MAL4_data();
  2683. public REC_MAL4_data rec_mal10 = new REC_MAL4_data();
  2684. } /* In case that the number of data is 10 */
  2685. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2686. public class ODBOPHIS4_7
  2687. {
  2688. public REC_OPM4_data rec_opm1 = new REC_OPM4_data();
  2689. public REC_OPM4_data rec_opm2 = new REC_OPM4_data();
  2690. public REC_OPM4_data rec_opm3 = new REC_OPM4_data();
  2691. public REC_OPM4_data rec_opm4 = new REC_OPM4_data();
  2692. public REC_OPM4_data rec_opm5 = new REC_OPM4_data();
  2693. public REC_OPM4_data rec_opm6 = new REC_OPM4_data();
  2694. public REC_OPM4_data rec_opm7 = new REC_OPM4_data();
  2695. public REC_OPM4_data rec_opm8 = new REC_OPM4_data();
  2696. public REC_OPM4_data rec_opm9 = new REC_OPM4_data();
  2697. public REC_OPM4_data rec_opm10 = new REC_OPM4_data();
  2698. } /* In case that the number of data is 10 */
  2699. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2700. public class ODBOPHIS4_8
  2701. {
  2702. public REC_OFS4_data rec_ofs1 = new REC_OFS4_data();
  2703. public REC_OFS4_data rec_ofs2 = new REC_OFS4_data();
  2704. public REC_OFS4_data rec_ofs3 = new REC_OFS4_data();
  2705. public REC_OFS4_data rec_ofs4 = new REC_OFS4_data();
  2706. public REC_OFS4_data rec_ofs5 = new REC_OFS4_data();
  2707. public REC_OFS4_data rec_ofs6 = new REC_OFS4_data();
  2708. public REC_OFS4_data rec_ofs7 = new REC_OFS4_data();
  2709. public REC_OFS4_data rec_ofs8 = new REC_OFS4_data();
  2710. public REC_OFS4_data rec_ofs9 = new REC_OFS4_data();
  2711. public REC_OFS4_data rec_ofs10 = new REC_OFS4_data();
  2712. } /* In case that the number of data is 10 */
  2713. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2714. public class ODBOPHIS4_9
  2715. {
  2716. public REC_PRM4_data rec_prm1 = new REC_PRM4_data();
  2717. public REC_PRM4_data rec_prm2 = new REC_PRM4_data();
  2718. public REC_PRM4_data rec_prm3 = new REC_PRM4_data();
  2719. public REC_PRM4_data rec_prm4 = new REC_PRM4_data();
  2720. public REC_PRM4_data rec_prm5 = new REC_PRM4_data();
  2721. public REC_PRM4_data rec_prm6 = new REC_PRM4_data();
  2722. public REC_PRM4_data rec_prm7 = new REC_PRM4_data();
  2723. public REC_PRM4_data rec_prm8 = new REC_PRM4_data();
  2724. public REC_PRM4_data rec_prm9 = new REC_PRM4_data();
  2725. public REC_PRM4_data rec_prm10 = new REC_PRM4_data();
  2726. } /* In case that the number of data is 10 */
  2727. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2728. public class ODBOPHIS4_10
  2729. {
  2730. public REC_WOF4_data rec_wof1 = new REC_WOF4_data();
  2731. public REC_WOF4_data rec_wof2 = new REC_WOF4_data();
  2732. public REC_WOF4_data rec_wof3 = new REC_WOF4_data();
  2733. public REC_WOF4_data rec_wof4 = new REC_WOF4_data();
  2734. public REC_WOF4_data rec_wof5 = new REC_WOF4_data();
  2735. public REC_WOF4_data rec_wof6 = new REC_WOF4_data();
  2736. public REC_WOF4_data rec_wof7 = new REC_WOF4_data();
  2737. public REC_WOF4_data rec_wof8 = new REC_WOF4_data();
  2738. public REC_WOF4_data rec_wof9 = new REC_WOF4_data();
  2739. public REC_WOF4_data rec_wof10 = new REC_WOF4_data();
  2740. } /* In case that the number of data is 10 */
  2741. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2742. public class ODBOPHIS4_11
  2743. {
  2744. public REC_MAC4_data rec_mac1 = new REC_MAC4_data();
  2745. public REC_MAC4_data rec_mac2 = new REC_MAC4_data();
  2746. public REC_MAC4_data rec_mac3 = new REC_MAC4_data();
  2747. public REC_MAC4_data rec_mac4 = new REC_MAC4_data();
  2748. public REC_MAC4_data rec_mac5 = new REC_MAC4_data();
  2749. public REC_MAC4_data rec_mac6 = new REC_MAC4_data();
  2750. public REC_MAC4_data rec_mac7 = new REC_MAC4_data();
  2751. public REC_MAC4_data rec_mac8 = new REC_MAC4_data();
  2752. public REC_MAC4_data rec_mac9 = new REC_MAC4_data();
  2753. public REC_MAC4_data rec_mac10 = new REC_MAC4_data();
  2754. } /* In case that the number of data is 10 */
  2755. /* cnc_rdalmhistry:read alarm history data */
  2756. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  2757. public class ALM_HIS_data
  2758. {
  2759. public short dummy;
  2760. public short alm_grp; /* alarm group */
  2761. public short alm_no; /* alarm number */
  2762. public byte axis_no; /* axis number */
  2763. public byte year; /* year */
  2764. public byte month; /* month */
  2765. public byte day; /* day */
  2766. public byte hour; /* hour */
  2767. public byte minute; /* minute */
  2768. public byte second; /* second */
  2769. public byte dummy2;
  2770. public short len_msg; /* alarm message length */
  2771. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  2772. public string alm_msg = new string(' ', 32); /* alarm message */
  2773. }
  2774. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2775. public class ALM_HIS1
  2776. {
  2777. public ALM_HIS_data data1 = new ALM_HIS_data();
  2778. public ALM_HIS_data data2 = new ALM_HIS_data();
  2779. public ALM_HIS_data data3 = new ALM_HIS_data();
  2780. public ALM_HIS_data data4 = new ALM_HIS_data();
  2781. public ALM_HIS_data data5 = new ALM_HIS_data();
  2782. public ALM_HIS_data data6 = new ALM_HIS_data();
  2783. public ALM_HIS_data data7 = new ALM_HIS_data();
  2784. public ALM_HIS_data data8 = new ALM_HIS_data();
  2785. public ALM_HIS_data data9 = new ALM_HIS_data();
  2786. public ALM_HIS_data data10 = new ALM_HIS_data();
  2787. } /* In case that the number of data is 10 */
  2788. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2789. public class ODBAHIS
  2790. {
  2791. public ushort s_no; /* start number */
  2792. public short type; /* dummy */
  2793. public ushort e_no; /* end number */
  2794. public ALM_HIS1 alm_his = new ALM_HIS1();
  2795. }
  2796. /* cnc_rdalmhistry2:read alarm history data */
  2797. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  2798. public class ALM_HIS2_data
  2799. {
  2800. public short alm_grp; /* alarm group */
  2801. public short alm_no; /* alarm number */
  2802. public short axis_no; /* axis number */
  2803. public short year; /* year */
  2804. public short month; /* month */
  2805. public short day; /* day */
  2806. public short hour; /* hour */
  2807. public short minute; /* minute */
  2808. public short second; /* second */
  2809. public short len_msg; /* alarm message length */
  2810. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  2811. public string alm_msg = new string(' ', 32); /* alarm message */
  2812. }
  2813. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2814. public class ALM_HIS2
  2815. {
  2816. public ALM_HIS2_data data1 = new ALM_HIS2_data();
  2817. public ALM_HIS2_data data2 = new ALM_HIS2_data();
  2818. public ALM_HIS2_data data3 = new ALM_HIS2_data();
  2819. public ALM_HIS2_data data4 = new ALM_HIS2_data();
  2820. public ALM_HIS2_data data5 = new ALM_HIS2_data();
  2821. public ALM_HIS2_data data6 = new ALM_HIS2_data();
  2822. public ALM_HIS2_data data7 = new ALM_HIS2_data();
  2823. public ALM_HIS2_data data8 = new ALM_HIS2_data();
  2824. public ALM_HIS2_data data9 = new ALM_HIS2_data();
  2825. public ALM_HIS2_data data10 = new ALM_HIS2_data();
  2826. } /* In case that the number of data is 10 */
  2827. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2828. public class ODBAHIS2
  2829. {
  2830. public ushort s_no; /* start number */
  2831. public ushort e_no; /* end number */
  2832. public ALM_HIS2 alm_his = new ALM_HIS2();
  2833. }
  2834. /* cnc_rdalmhistry3:read alarm history data */
  2835. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  2836. public class ALM_HIS3_data
  2837. {
  2838. public short alm_grp; /* alarm group */
  2839. public short alm_no; /* alarm number */
  2840. public short axis_no; /* axis number */
  2841. public short year; /* year */
  2842. public short month; /* month */
  2843. public short day; /* day */
  2844. public short hour; /* hour */
  2845. public short minute; /* minute */
  2846. public short second; /* second */
  2847. public short len_msg; /* alarm message length */
  2848. public short pth_no; /* path index */
  2849. public short dummy;
  2850. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  2851. public string alm_msg = new string(' ', 32); /* alarm message */
  2852. }
  2853. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2854. public class ALM_HIS3
  2855. {
  2856. public ALM_HIS3_data data1 = new ALM_HIS3_data();
  2857. public ALM_HIS3_data data2 = new ALM_HIS3_data();
  2858. public ALM_HIS3_data data3 = new ALM_HIS3_data();
  2859. public ALM_HIS3_data data4 = new ALM_HIS3_data();
  2860. public ALM_HIS3_data data5 = new ALM_HIS3_data();
  2861. public ALM_HIS3_data data6 = new ALM_HIS3_data();
  2862. public ALM_HIS3_data data7 = new ALM_HIS3_data();
  2863. public ALM_HIS3_data data8 = new ALM_HIS3_data();
  2864. public ALM_HIS3_data data9 = new ALM_HIS3_data();
  2865. public ALM_HIS3_data data10 = new ALM_HIS3_data();
  2866. } /* In case that the number of data is 10 */
  2867. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2868. public class ODBAHIS3
  2869. {
  2870. public ushort s_no; /* start number */
  2871. public ushort e_no; /* end number */
  2872. public ALM_HIS3 alm_his = new ALM_HIS3();
  2873. }
  2874. /* cnc_rdalmhistry5:read alarm history data */
  2875. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  2876. public class ALM_HIS5_data
  2877. {
  2878. public short alm_grp; /* alarm group */
  2879. public short alm_no; /* alarm number */
  2880. public short axis_no; /* axis number */
  2881. public short year; /* year */
  2882. public short month; /* month */
  2883. public short day; /* day */
  2884. public short hour; /* hour */
  2885. public short minute; /* minute */
  2886. public short second; /* second */
  2887. public short len_msg; /* alarm message length */
  2888. public short pth_no; /* path index */
  2889. public short dummy; /* dummy */
  2890. public short dsp_flg; /* Flag for displaying */
  2891. public short axis_num; /* Total axis number */
  2892. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
  2893. public string alm_msg = new string(' ', 64); /* alarm message */
  2894. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2895. public int[] g_modal; /* G code Modal */
  2896. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2897. public byte[] g_dp; /* #7:1 Block #6乣#0 dp */
  2898. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2899. public int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */
  2900. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  2901. public byte[] a_dp; /* #7:1 Block #6乣#0 dp */
  2902. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2903. public int[] abs_pos; /* Abs pos */
  2904. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2905. public byte[] abs_dp; /* Abs dp */
  2906. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2907. public int[] mcn_pos; /* Mcn pos */
  2908. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  2909. public byte[] mcn_dp; /* Mcn dp */
  2910. }
  2911. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2912. public class ALM_HIS5
  2913. {
  2914. public ALM_HIS5_data data1 = new ALM_HIS5_data();
  2915. public ALM_HIS5_data data2 = new ALM_HIS5_data();
  2916. public ALM_HIS5_data data3 = new ALM_HIS5_data();
  2917. public ALM_HIS5_data data4 = new ALM_HIS5_data();
  2918. public ALM_HIS5_data data5 = new ALM_HIS5_data();
  2919. public ALM_HIS5_data data6 = new ALM_HIS5_data();
  2920. public ALM_HIS5_data data7 = new ALM_HIS5_data();
  2921. public ALM_HIS5_data data8 = new ALM_HIS5_data();
  2922. public ALM_HIS5_data data9 = new ALM_HIS5_data();
  2923. public ALM_HIS5_data data10 = new ALM_HIS5_data();
  2924. } /* In case that the number of data is 10 */
  2925. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2926. public class ODBAHIS5
  2927. {
  2928. public ushort s_no; /* start number */
  2929. public ushort e_no; /* end number */
  2930. public ALM_HIS5 alm_his = new ALM_HIS5();
  2931. }
  2932. /* cnc_rdomhistry2:read operater message history data */
  2933. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  2934. public class ODBOMHIS2_data
  2935. {
  2936. public short dsp_flg; /* Dysplay flag(ON/OFF) */
  2937. public short om_no; /* operater message number */
  2938. public short year; /* year */
  2939. public short month; /* month */
  2940. public short day; /* day */
  2941. public short hour; /* Hour */
  2942. public short minute; /* Minute */
  2943. public short second; /* Second */
  2944. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
  2945. public string alm_msg = new string(' ', 256); /* alarm message */
  2946. }
  2947. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2948. public class OPM_HIS
  2949. {
  2950. public ODBOMHIS2_data data1 = new ODBOMHIS2_data();
  2951. public ODBOMHIS2_data data2 = new ODBOMHIS2_data();
  2952. public ODBOMHIS2_data data3 = new ODBOMHIS2_data();
  2953. public ODBOMHIS2_data data4 = new ODBOMHIS2_data();
  2954. public ODBOMHIS2_data data5 = new ODBOMHIS2_data();
  2955. public ODBOMHIS2_data data6 = new ODBOMHIS2_data();
  2956. public ODBOMHIS2_data data7 = new ODBOMHIS2_data();
  2957. public ODBOMHIS2_data data8 = new ODBOMHIS2_data();
  2958. public ODBOMHIS2_data data9 = new ODBOMHIS2_data();
  2959. public ODBOMHIS2_data data10 = new ODBOMHIS2_data();
  2960. } /* In case that the number of data is 10 */
  2961. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2962. public class ODBOMHIS2
  2963. {
  2964. public ushort s_no; /* start number */
  2965. public ushort e_no; /* end number */
  2966. public OPM_HIS opm_his = new OPM_HIS();
  2967. }
  2968. /* cnc_rdhissgnl:read signals related operation history */
  2969. /* cnc_wrhissgnl:write signals related operation history */
  2970. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  2971. public class IODBSIG_data
  2972. {
  2973. public short ent_no; /* entry number */
  2974. public short sig_no; /* signal number */
  2975. public byte sig_name; /* signal name */
  2976. public byte mask_pat; /* signal mask pattern */
  2977. }
  2978. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  2979. public class IODBSIG1
  2980. {
  2981. public IODBSIG_data data1 = new IODBSIG_data();
  2982. public IODBSIG_data data2 = new IODBSIG_data();
  2983. public IODBSIG_data data3 = new IODBSIG_data();
  2984. public IODBSIG_data data4 = new IODBSIG_data();
  2985. public IODBSIG_data data5 = new IODBSIG_data();
  2986. public IODBSIG_data data6 = new IODBSIG_data();
  2987. public IODBSIG_data data7 = new IODBSIG_data();
  2988. public IODBSIG_data data8 = new IODBSIG_data();
  2989. public IODBSIG_data data9 = new IODBSIG_data();
  2990. public IODBSIG_data data10 = new IODBSIG_data();
  2991. public IODBSIG_data data11 = new IODBSIG_data();
  2992. public IODBSIG_data data12 = new IODBSIG_data();
  2993. public IODBSIG_data data13 = new IODBSIG_data();
  2994. public IODBSIG_data data14 = new IODBSIG_data();
  2995. public IODBSIG_data data15 = new IODBSIG_data();
  2996. public IODBSIG_data data16 = new IODBSIG_data();
  2997. public IODBSIG_data data17 = new IODBSIG_data();
  2998. public IODBSIG_data data18 = new IODBSIG_data();
  2999. public IODBSIG_data data19 = new IODBSIG_data();
  3000. public IODBSIG_data data20 = new IODBSIG_data();
  3001. }
  3002. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3003. public class IODBSIG
  3004. {
  3005. public short datano; /* dummy */
  3006. public short type; /* dummy */
  3007. public IODBSIG1 data = new IODBSIG1();
  3008. }
  3009. /* cnc_rdhissgnl2:read signals related operation history 2 */
  3010. /* cnc_wrhissgnl2:write signals related operation history 2 */
  3011. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3012. public class _IODBSIG2_data
  3013. {
  3014. public short ent_no; /* entry number */
  3015. public short sig_no; /* signal number */
  3016. public byte sig_name; /* signal name */
  3017. public byte mask_pat; /* signal mask pattern */
  3018. }
  3019. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3020. public class IODBSIG2_data
  3021. {
  3022. public _IODBSIG2_data data1 = new _IODBSIG2_data();
  3023. public _IODBSIG2_data data2 = new _IODBSIG2_data();
  3024. public _IODBSIG2_data data3 = new _IODBSIG2_data();
  3025. public _IODBSIG2_data data4 = new _IODBSIG2_data();
  3026. public _IODBSIG2_data data5 = new _IODBSIG2_data();
  3027. public _IODBSIG2_data data6 = new _IODBSIG2_data();
  3028. public _IODBSIG2_data data7 = new _IODBSIG2_data();
  3029. public _IODBSIG2_data data8 = new _IODBSIG2_data();
  3030. public _IODBSIG2_data data9 = new _IODBSIG2_data();
  3031. public _IODBSIG2_data data10 = new _IODBSIG2_data();
  3032. public _IODBSIG2_data data11 = new _IODBSIG2_data();
  3033. public _IODBSIG2_data data12 = new _IODBSIG2_data();
  3034. public _IODBSIG2_data data13 = new _IODBSIG2_data();
  3035. public _IODBSIG2_data data14 = new _IODBSIG2_data();
  3036. public _IODBSIG2_data data15 = new _IODBSIG2_data();
  3037. public _IODBSIG2_data data16 = new _IODBSIG2_data();
  3038. public _IODBSIG2_data data17 = new _IODBSIG2_data();
  3039. public _IODBSIG2_data data18 = new _IODBSIG2_data();
  3040. public _IODBSIG2_data data19 = new _IODBSIG2_data();
  3041. public _IODBSIG2_data data20 = new _IODBSIG2_data();
  3042. public _IODBSIG2_data data31 = new _IODBSIG2_data();
  3043. public _IODBSIG2_data data32 = new _IODBSIG2_data();
  3044. public _IODBSIG2_data data33 = new _IODBSIG2_data();
  3045. public _IODBSIG2_data data34 = new _IODBSIG2_data();
  3046. public _IODBSIG2_data data35 = new _IODBSIG2_data();
  3047. public _IODBSIG2_data data36 = new _IODBSIG2_data();
  3048. public _IODBSIG2_data data37 = new _IODBSIG2_data();
  3049. public _IODBSIG2_data data38 = new _IODBSIG2_data();
  3050. public _IODBSIG2_data data39 = new _IODBSIG2_data();
  3051. public _IODBSIG2_data data40 = new _IODBSIG2_data();
  3052. public _IODBSIG2_data data41 = new _IODBSIG2_data();
  3053. public _IODBSIG2_data data42 = new _IODBSIG2_data();
  3054. public _IODBSIG2_data data43 = new _IODBSIG2_data();
  3055. public _IODBSIG2_data data44 = new _IODBSIG2_data();
  3056. public _IODBSIG2_data data45 = new _IODBSIG2_data();
  3057. }
  3058. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3059. public class IODBSIG2
  3060. {
  3061. public short datano; /* dummy */
  3062. public short type; /* dummy */
  3063. public IODBSIG2_data data = new IODBSIG2_data();
  3064. }
  3065. /* cnc_rdhissgnl3:read signals related operation history */
  3066. /* cnc_wrhissgnl3:write signals related operation history */
  3067. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3068. public class _IODBSIG3_data
  3069. {
  3070. public short ent_no; /* entry number */
  3071. public short pmc_no; /* pmc number */
  3072. public short sig_no; /* signal number */
  3073. public byte sig_name; /* signal name */
  3074. public byte mask_pat; /* signal mask pattern */
  3075. }
  3076. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3077. public class IODBSIG3_data
  3078. {
  3079. public _IODBSIG3_data data1 = new _IODBSIG3_data();
  3080. public _IODBSIG3_data data2 = new _IODBSIG3_data();
  3081. public _IODBSIG3_data data3 = new _IODBSIG3_data();
  3082. public _IODBSIG3_data data4 = new _IODBSIG3_data();
  3083. public _IODBSIG3_data data5 = new _IODBSIG3_data();
  3084. public _IODBSIG3_data data6 = new _IODBSIG3_data();
  3085. public _IODBSIG3_data data7 = new _IODBSIG3_data();
  3086. public _IODBSIG3_data data8 = new _IODBSIG3_data();
  3087. public _IODBSIG3_data data9 = new _IODBSIG3_data();
  3088. public _IODBSIG3_data data10 = new _IODBSIG3_data();
  3089. public _IODBSIG3_data data11 = new _IODBSIG3_data();
  3090. public _IODBSIG3_data data12 = new _IODBSIG3_data();
  3091. public _IODBSIG3_data data13 = new _IODBSIG3_data();
  3092. public _IODBSIG3_data data14 = new _IODBSIG3_data();
  3093. public _IODBSIG3_data data15 = new _IODBSIG3_data();
  3094. public _IODBSIG3_data data16 = new _IODBSIG3_data();
  3095. public _IODBSIG3_data data17 = new _IODBSIG3_data();
  3096. public _IODBSIG3_data data18 = new _IODBSIG3_data();
  3097. public _IODBSIG3_data data19 = new _IODBSIG3_data();
  3098. public _IODBSIG3_data data20 = new _IODBSIG3_data();
  3099. public _IODBSIG3_data data21 = new _IODBSIG3_data();
  3100. public _IODBSIG3_data data22 = new _IODBSIG3_data();
  3101. public _IODBSIG3_data data23 = new _IODBSIG3_data();
  3102. public _IODBSIG3_data data24 = new _IODBSIG3_data();
  3103. public _IODBSIG3_data data25 = new _IODBSIG3_data();
  3104. public _IODBSIG3_data data26 = new _IODBSIG3_data();
  3105. public _IODBSIG3_data data27 = new _IODBSIG3_data();
  3106. public _IODBSIG3_data data28 = new _IODBSIG3_data();
  3107. public _IODBSIG3_data data29 = new _IODBSIG3_data();
  3108. public _IODBSIG3_data data30 = new _IODBSIG3_data();
  3109. public _IODBSIG3_data data31 = new _IODBSIG3_data();
  3110. public _IODBSIG3_data data32 = new _IODBSIG3_data();
  3111. public _IODBSIG3_data data33 = new _IODBSIG3_data();
  3112. public _IODBSIG3_data data34 = new _IODBSIG3_data();
  3113. public _IODBSIG3_data data35 = new _IODBSIG3_data();
  3114. public _IODBSIG3_data data36 = new _IODBSIG3_data();
  3115. public _IODBSIG3_data data37 = new _IODBSIG3_data();
  3116. public _IODBSIG3_data data38 = new _IODBSIG3_data();
  3117. public _IODBSIG3_data data39 = new _IODBSIG3_data();
  3118. public _IODBSIG3_data data40 = new _IODBSIG3_data();
  3119. public _IODBSIG3_data data41 = new _IODBSIG3_data();
  3120. public _IODBSIG3_data data42 = new _IODBSIG3_data();
  3121. public _IODBSIG3_data data43 = new _IODBSIG3_data();
  3122. public _IODBSIG3_data data44 = new _IODBSIG3_data();
  3123. public _IODBSIG3_data data45 = new _IODBSIG3_data();
  3124. public _IODBSIG3_data data46 = new _IODBSIG3_data();
  3125. public _IODBSIG3_data data47 = new _IODBSIG3_data();
  3126. public _IODBSIG3_data data48 = new _IODBSIG3_data();
  3127. public _IODBSIG3_data data49 = new _IODBSIG3_data();
  3128. public _IODBSIG3_data data50 = new _IODBSIG3_data();
  3129. public _IODBSIG3_data data51 = new _IODBSIG3_data();
  3130. public _IODBSIG3_data data52 = new _IODBSIG3_data();
  3131. public _IODBSIG3_data data53 = new _IODBSIG3_data();
  3132. public _IODBSIG3_data data54 = new _IODBSIG3_data();
  3133. public _IODBSIG3_data data55 = new _IODBSIG3_data();
  3134. public _IODBSIG3_data data56 = new _IODBSIG3_data();
  3135. public _IODBSIG3_data data57 = new _IODBSIG3_data();
  3136. public _IODBSIG3_data data58 = new _IODBSIG3_data();
  3137. public _IODBSIG3_data data59 = new _IODBSIG3_data();
  3138. public _IODBSIG3_data data60 = new _IODBSIG3_data();
  3139. }
  3140. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3141. public class IODBSIG3
  3142. {
  3143. public short datano; /* dummy */
  3144. public short type; /* dummy */
  3145. public IODBSIG3_data data = new IODBSIG3_data();
  3146. }
  3147. /*-------------*/
  3148. /* CNC: Others */
  3149. /*-------------*/
  3150. /* cnc_sysinfo:read CNC system information */
  3151. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3152. public class ODBSYS
  3153. {
  3154. public short addinfo;
  3155. public short max_axis;
  3156. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  3157. public char[] cnc_type;
  3158. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  3159. public char[] mt_type;
  3160. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  3161. public char[] series;
  3162. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  3163. public char[] version;
  3164. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  3165. public char[] axes;
  3166. }
  3167. #if FS15D
  3168. /* cnc_statinfo:read CNC status information */
  3169. [StructLayout(LayoutKind.Sequential,Pack=4)]
  3170. public class ODBST
  3171. {
  3172. [MarshalAs(UnmanagedType.ByValArray,SizeConst=2)]
  3173. public short[] dummy; /* dummy */
  3174. public short aut; /* selected automatic mode */
  3175. public short manual; /* selected manual mode */
  3176. public short run; /* running status */
  3177. public short edit; /* editting status */
  3178. public short motion; /* axis, dwell status */
  3179. public short mstb; /* m, s, t, b status */
  3180. public short emergency; /* emergency stop status */
  3181. public short write; /* writting status */
  3182. public short labelskip; /* label skip status */
  3183. public short alarm; /* alarm status */
  3184. public short warning; /* warning status */
  3185. public short battery; /* battery status */
  3186. }
  3187. #else
  3188. /* cnc_statinfo:read CNC status information */
  3189. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3190. public class ODBST
  3191. {
  3192. public short dummy; /* dummy */
  3193. public short tmmode; /* T/M mode */
  3194. public short aut; /* selected automatic mode */
  3195. public short run; /* running status */
  3196. public short motion; /* axis, dwell status */
  3197. public short mstb; /* m, s, t, b status */
  3198. public short emergency; /* emergency stop status */
  3199. public short alarm; /* alarm status */
  3200. public short edit; /* editting status */
  3201. }
  3202. #endif
  3203. /* cnc_alarm:read alarm status */
  3204. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3205. public class ODBALM
  3206. {
  3207. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  3208. public short[] dummy = { 0, 0 };
  3209. public ushort data = 0;
  3210. }
  3211. /* cnc_rdalminfo:read alarm information */
  3212. #if M_AXIS2
  3213. [StructLayout(LayoutKind.Sequential,Pack=4)]
  3214. public class ALMINFO1_data
  3215. {
  3216. public int axis;
  3217. public short alm_no;
  3218. }
  3219. [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=4)]
  3220. public class ALMINFO2_data
  3221. {
  3222. public int axis=0 ;
  3223. public short alm_no=0 ;
  3224. public short msg_len=0 ;
  3225. [MarshalAs(UnmanagedType.ByValTStr,SizeConst=32)]
  3226. public string alm_msg= new string(' ',32) ;
  3227. }
  3228. #else
  3229. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3230. public class ALMINFO1_data
  3231. {
  3232. public short axis;
  3233. public short alm_no;
  3234. }
  3235. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3236. public class ALMINFO2_data
  3237. {
  3238. public short axis = 0;
  3239. public short alm_no = 0;
  3240. public short msg_len = 0;
  3241. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  3242. public string alm_msg = new string(' ', 32);
  3243. }
  3244. #endif
  3245. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3246. public class ALMINFO_1
  3247. {
  3248. public ALMINFO1_data msg1 = new ALMINFO1_data();
  3249. public ALMINFO1_data msg2 = new ALMINFO1_data();
  3250. public ALMINFO1_data msg3 = new ALMINFO1_data();
  3251. public ALMINFO1_data msg4 = new ALMINFO1_data();
  3252. public ALMINFO1_data msg5 = new ALMINFO1_data();
  3253. public short data_end;
  3254. } /* In case that the number of alarm is 5 */
  3255. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3256. public class ALMINFO_2
  3257. {
  3258. public ALMINFO2_data msg1 = new ALMINFO2_data();
  3259. public ALMINFO2_data msg2 = new ALMINFO2_data();
  3260. public ALMINFO2_data msg3 = new ALMINFO2_data();
  3261. public ALMINFO2_data msg4 = new ALMINFO2_data();
  3262. public ALMINFO2_data msg5 = new ALMINFO2_data();
  3263. public short dataend = 0;
  3264. } /* In case that the number of alarm is 5 */
  3265. /* cnc_rdalmmsg:read alarm messages */
  3266. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3267. public class ODBALMMSG_data
  3268. {
  3269. public int alm_no;
  3270. public short type;
  3271. public short axis;
  3272. public short dummy;
  3273. public short msg_len;
  3274. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  3275. public string alm_msg = new string(' ', 32);
  3276. }
  3277. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3278. public class ODBALMMSG
  3279. {
  3280. public ODBALMMSG_data msg1 = new ODBALMMSG_data();
  3281. public ODBALMMSG_data msg2 = new ODBALMMSG_data();
  3282. public ODBALMMSG_data msg3 = new ODBALMMSG_data();
  3283. public ODBALMMSG_data msg4 = new ODBALMMSG_data();
  3284. public ODBALMMSG_data msg5 = new ODBALMMSG_data();
  3285. public ODBALMMSG_data msg6 = new ODBALMMSG_data();
  3286. public ODBALMMSG_data msg7 = new ODBALMMSG_data();
  3287. public ODBALMMSG_data msg8 = new ODBALMMSG_data();
  3288. public ODBALMMSG_data msg9 = new ODBALMMSG_data();
  3289. public ODBALMMSG_data msg10 = new ODBALMMSG_data();
  3290. } /* In case that the number of alarm is 10 */
  3291. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3292. public class ODBALMMSG2_data
  3293. {
  3294. public int alm_no;
  3295. public short type;
  3296. public short axis;
  3297. public short dummy;
  3298. public short msg_len;
  3299. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
  3300. public string alm_msg = new string(' ', 64);
  3301. }
  3302. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3303. public class ODBALMMSG2
  3304. {
  3305. public ODBALMMSG2_data msg1 = new ODBALMMSG2_data();
  3306. public ODBALMMSG2_data msg2 = new ODBALMMSG2_data();
  3307. public ODBALMMSG2_data msg3 = new ODBALMMSG2_data();
  3308. public ODBALMMSG2_data msg4 = new ODBALMMSG2_data();
  3309. public ODBALMMSG2_data msg5 = new ODBALMMSG2_data();
  3310. public ODBALMMSG2_data msg6 = new ODBALMMSG2_data();
  3311. public ODBALMMSG2_data msg7 = new ODBALMMSG2_data();
  3312. public ODBALMMSG2_data msg8 = new ODBALMMSG2_data();
  3313. public ODBALMMSG2_data msg9 = new ODBALMMSG2_data();
  3314. public ODBALMMSG2_data msg10 = new ODBALMMSG2_data();
  3315. } /* In case that the number of alarm is 10 */
  3316. /* cnc_modal:read modal data */
  3317. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3318. public class MODAL_AUX_data
  3319. {
  3320. public int aux_data;
  3321. public byte flag1;
  3322. public byte flag2;
  3323. }
  3324. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3325. public class MODAL_RAUX1_data
  3326. {
  3327. public MODAL_AUX_data data1 = new MODAL_AUX_data();
  3328. public MODAL_AUX_data data2 = new MODAL_AUX_data();
  3329. public MODAL_AUX_data data3 = new MODAL_AUX_data();
  3330. public MODAL_AUX_data data4 = new MODAL_AUX_data();
  3331. public MODAL_AUX_data data5 = new MODAL_AUX_data();
  3332. public MODAL_AUX_data data6 = new MODAL_AUX_data();
  3333. public MODAL_AUX_data data7 = new MODAL_AUX_data();
  3334. public MODAL_AUX_data data8 = new MODAL_AUX_data();
  3335. public MODAL_AUX_data data9 = new MODAL_AUX_data();
  3336. public MODAL_AUX_data data10 = new MODAL_AUX_data();
  3337. public MODAL_AUX_data data11 = new MODAL_AUX_data();
  3338. public MODAL_AUX_data data12 = new MODAL_AUX_data();
  3339. public MODAL_AUX_data data13 = new MODAL_AUX_data();
  3340. public MODAL_AUX_data data14 = new MODAL_AUX_data();
  3341. public MODAL_AUX_data data15 = new MODAL_AUX_data();
  3342. public MODAL_AUX_data data16 = new MODAL_AUX_data();
  3343. public MODAL_AUX_data data17 = new MODAL_AUX_data();
  3344. public MODAL_AUX_data data18 = new MODAL_AUX_data();
  3345. public MODAL_AUX_data data19 = new MODAL_AUX_data();
  3346. public MODAL_AUX_data data20 = new MODAL_AUX_data();
  3347. public MODAL_AUX_data data21 = new MODAL_AUX_data();
  3348. public MODAL_AUX_data data22 = new MODAL_AUX_data();
  3349. public MODAL_AUX_data data23 = new MODAL_AUX_data();
  3350. public MODAL_AUX_data data24 = new MODAL_AUX_data();
  3351. public MODAL_AUX_data data25 = new MODAL_AUX_data();
  3352. public MODAL_AUX_data data26 = new MODAL_AUX_data();
  3353. public MODAL_AUX_data data27 = new MODAL_AUX_data();
  3354. }
  3355. #if M_AXIS2
  3356. [StructLayout(LayoutKind.Sequential,Pack=4)]
  3357. public class MODAL_RAUX2_data
  3358. {
  3359. public MODAL_AUX_data data1 = new MODAL_AUX_data();
  3360. public MODAL_AUX_data data2 = new MODAL_AUX_data();
  3361. public MODAL_AUX_data data3 = new MODAL_AUX_data();
  3362. public MODAL_AUX_data data4 = new MODAL_AUX_data();
  3363. public MODAL_AUX_data data5 = new MODAL_AUX_data();
  3364. public MODAL_AUX_data data6 = new MODAL_AUX_data();
  3365. public MODAL_AUX_data data7 = new MODAL_AUX_data();
  3366. public MODAL_AUX_data data8 = new MODAL_AUX_data();
  3367. public MODAL_AUX_data data9 = new MODAL_AUX_data();
  3368. public MODAL_AUX_data data10= new MODAL_AUX_data();
  3369. public MODAL_AUX_data data11= new MODAL_AUX_data();
  3370. public MODAL_AUX_data data12= new MODAL_AUX_data();
  3371. public MODAL_AUX_data data13= new MODAL_AUX_data();
  3372. public MODAL_AUX_data data14= new MODAL_AUX_data();
  3373. public MODAL_AUX_data data15= new MODAL_AUX_data();
  3374. public MODAL_AUX_data data16= new MODAL_AUX_data();
  3375. public MODAL_AUX_data data17= new MODAL_AUX_data();
  3376. public MODAL_AUX_data data18= new MODAL_AUX_data();
  3377. public MODAL_AUX_data data19= new MODAL_AUX_data();
  3378. public MODAL_AUX_data data20= new MODAL_AUX_data();
  3379. public MODAL_AUX_data data21= new MODAL_AUX_data();
  3380. public MODAL_AUX_data data22= new MODAL_AUX_data();
  3381. public MODAL_AUX_data data23= new MODAL_AUX_data();
  3382. public MODAL_AUX_data data24= new MODAL_AUX_data();
  3383. }
  3384. #elif FS15D
  3385. [StructLayout(LayoutKind.Sequential,Pack=4)]
  3386. public class MODAL_RAUX2_data
  3387. {
  3388. public MODAL_AUX_data data1 = new MODAL_AUX_data();
  3389. public MODAL_AUX_data data2 = new MODAL_AUX_data();
  3390. public MODAL_AUX_data data3 = new MODAL_AUX_data();
  3391. public MODAL_AUX_data data4 = new MODAL_AUX_data();
  3392. public MODAL_AUX_data data5 = new MODAL_AUX_data();
  3393. public MODAL_AUX_data data6 = new MODAL_AUX_data();
  3394. public MODAL_AUX_data data7 = new MODAL_AUX_data();
  3395. public MODAL_AUX_data data8 = new MODAL_AUX_data();
  3396. public MODAL_AUX_data data9 = new MODAL_AUX_data();
  3397. public MODAL_AUX_data data10= new MODAL_AUX_data();
  3398. }
  3399. #else
  3400. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3401. public class MODAL_RAUX2_data
  3402. {
  3403. public MODAL_AUX_data data1 = new MODAL_AUX_data();
  3404. public MODAL_AUX_data data2 = new MODAL_AUX_data();
  3405. public MODAL_AUX_data data3 = new MODAL_AUX_data();
  3406. public MODAL_AUX_data data4 = new MODAL_AUX_data();
  3407. public MODAL_AUX_data data5 = new MODAL_AUX_data();
  3408. public MODAL_AUX_data data6 = new MODAL_AUX_data();
  3409. public MODAL_AUX_data data7 = new MODAL_AUX_data();
  3410. public MODAL_AUX_data data8 = new MODAL_AUX_data();
  3411. }
  3412. #endif
  3413. [StructLayout(LayoutKind.Explicit)]
  3414. public class ODBMDL_1
  3415. {
  3416. [FieldOffset(0)]
  3417. public short datano;
  3418. [FieldOffset(2)]
  3419. public short type;
  3420. [FieldOffset(4)]
  3421. public byte g_data;
  3422. }
  3423. [StructLayout(LayoutKind.Explicit)]
  3424. public class ODBMDL_2
  3425. {
  3426. [FieldOffset(0)]
  3427. public short datano;
  3428. [FieldOffset(2)]
  3429. public short type;
  3430. [FieldOffset(4),
  3431. MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  3432. public byte[] g_1shot = new byte[4];
  3433. [FieldOffset(4),
  3434. MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)]
  3435. public byte[] g_rdata = new byte[35];
  3436. }
  3437. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3438. public class ODBMDL_3
  3439. {
  3440. public short datano;
  3441. public short type;
  3442. public MODAL_AUX_data aux = new MODAL_AUX_data();
  3443. }
  3444. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3445. public class ODBMDL_4
  3446. {
  3447. public short datano;
  3448. public short type;
  3449. public MODAL_RAUX1_data raux1 = new MODAL_RAUX1_data();
  3450. }
  3451. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3452. public class ODBMDL_5
  3453. {
  3454. public short datano;
  3455. public short type;
  3456. public MODAL_RAUX2_data raux2 = new MODAL_RAUX2_data();
  3457. }
  3458. /* cnc_rdgcode: read G code */
  3459. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3460. public class ODBGCD_data
  3461. {
  3462. public short group;
  3463. public short flag;
  3464. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
  3465. public string code = new string(' ', 8);
  3466. }
  3467. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3468. public class ODBGCD
  3469. {
  3470. public ODBGCD_data gcd0 = new ODBGCD_data();
  3471. public ODBGCD_data gcd1 = new ODBGCD_data();
  3472. public ODBGCD_data gcd2 = new ODBGCD_data();
  3473. public ODBGCD_data gcd3 = new ODBGCD_data();
  3474. public ODBGCD_data gcd4 = new ODBGCD_data();
  3475. public ODBGCD_data gcd5 = new ODBGCD_data();
  3476. public ODBGCD_data gcd6 = new ODBGCD_data();
  3477. public ODBGCD_data gcd7 = new ODBGCD_data();
  3478. public ODBGCD_data gcd8 = new ODBGCD_data();
  3479. public ODBGCD_data gcd9 = new ODBGCD_data();
  3480. public ODBGCD_data gcd10 = new ODBGCD_data();
  3481. public ODBGCD_data gcd11 = new ODBGCD_data();
  3482. public ODBGCD_data gcd12 = new ODBGCD_data();
  3483. public ODBGCD_data gcd13 = new ODBGCD_data();
  3484. public ODBGCD_data gcd14 = new ODBGCD_data();
  3485. public ODBGCD_data gcd15 = new ODBGCD_data();
  3486. public ODBGCD_data gcd16 = new ODBGCD_data();
  3487. public ODBGCD_data gcd17 = new ODBGCD_data();
  3488. public ODBGCD_data gcd18 = new ODBGCD_data();
  3489. public ODBGCD_data gcd19 = new ODBGCD_data();
  3490. public ODBGCD_data gcd20 = new ODBGCD_data();
  3491. public ODBGCD_data gcd21 = new ODBGCD_data();
  3492. public ODBGCD_data gcd22 = new ODBGCD_data();
  3493. public ODBGCD_data gcd23 = new ODBGCD_data();
  3494. public ODBGCD_data gcd24 = new ODBGCD_data();
  3495. public ODBGCD_data gcd25 = new ODBGCD_data();
  3496. public ODBGCD_data gcd26 = new ODBGCD_data();
  3497. public ODBGCD_data gcd27 = new ODBGCD_data();
  3498. }
  3499. /* cnc_rdcommand: read command value */
  3500. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3501. public class ODBCMD_data
  3502. {
  3503. public byte adrs;
  3504. public byte num;
  3505. public short flag;
  3506. public int cmd_val;
  3507. public int dec_val;
  3508. }
  3509. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3510. public class ODBCMD
  3511. {
  3512. public ODBCMD_data cmd0 = new ODBCMD_data();
  3513. public ODBCMD_data cmd1 = new ODBCMD_data();
  3514. public ODBCMD_data cmd2 = new ODBCMD_data();
  3515. public ODBCMD_data cmd3 = new ODBCMD_data();
  3516. public ODBCMD_data cmd4 = new ODBCMD_data();
  3517. public ODBCMD_data cmd5 = new ODBCMD_data();
  3518. public ODBCMD_data cmd6 = new ODBCMD_data();
  3519. public ODBCMD_data cmd7 = new ODBCMD_data();
  3520. public ODBCMD_data cmd8 = new ODBCMD_data();
  3521. public ODBCMD_data cmd9 = new ODBCMD_data();
  3522. public ODBCMD_data cmd10 = new ODBCMD_data();
  3523. public ODBCMD_data cmd11 = new ODBCMD_data();
  3524. public ODBCMD_data cmd12 = new ODBCMD_data();
  3525. public ODBCMD_data cmd13 = new ODBCMD_data();
  3526. public ODBCMD_data cmd14 = new ODBCMD_data();
  3527. public ODBCMD_data cmd15 = new ODBCMD_data();
  3528. public ODBCMD_data cmd16 = new ODBCMD_data();
  3529. public ODBCMD_data cmd17 = new ODBCMD_data();
  3530. public ODBCMD_data cmd18 = new ODBCMD_data();
  3531. public ODBCMD_data cmd19 = new ODBCMD_data();
  3532. public ODBCMD_data cmd20 = new ODBCMD_data();
  3533. public ODBCMD_data cmd21 = new ODBCMD_data();
  3534. public ODBCMD_data cmd22 = new ODBCMD_data();
  3535. public ODBCMD_data cmd23 = new ODBCMD_data();
  3536. public ODBCMD_data cmd24 = new ODBCMD_data();
  3537. public ODBCMD_data cmd25 = new ODBCMD_data();
  3538. public ODBCMD_data cmd26 = new ODBCMD_data();
  3539. public ODBCMD_data cmd27 = new ODBCMD_data();
  3540. public ODBCMD_data cmd28 = new ODBCMD_data();
  3541. public ODBCMD_data cmd29 = new ODBCMD_data();
  3542. }
  3543. /* cnc_diagnoss:read diagnosis data */
  3544. /* cnc_diagnosr:read diagnosis data(area specified) */
  3545. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3546. public class REALDGN
  3547. {
  3548. public int dgn_val; /* data of real diagnoss */
  3549. public int dec_val; /* decimal point of real diagnoss */
  3550. }
  3551. #if M_AXIS2
  3552. [StructLayout(LayoutKind.Sequential,Pack=4)]
  3553. public class REALDGNS
  3554. {
  3555. public REALDGN rdata1=new REALDGN();
  3556. public REALDGN rdata2=new REALDGN();
  3557. public REALDGN rdata3=new REALDGN();
  3558. public REALDGN rdata4=new REALDGN();
  3559. public REALDGN rdata5=new REALDGN();
  3560. public REALDGN rdata6=new REALDGN();
  3561. public REALDGN rdata7=new REALDGN();
  3562. public REALDGN rdata8=new REALDGN();
  3563. public REALDGN rdata9=new REALDGN();
  3564. public REALDGN rdata10=new REALDGN();
  3565. public REALDGN rdata11=new REALDGN();
  3566. public REALDGN rdata12=new REALDGN();
  3567. public REALDGN rdata13=new REALDGN();
  3568. public REALDGN rdata14=new REALDGN();
  3569. public REALDGN rdata15=new REALDGN();
  3570. public REALDGN rdata16=new REALDGN();
  3571. public REALDGN rdata17=new REALDGN();
  3572. public REALDGN rdata18=new REALDGN();
  3573. public REALDGN rdata19=new REALDGN();
  3574. public REALDGN rdata20=new REALDGN();
  3575. public REALDGN rdata21=new REALDGN();
  3576. public REALDGN rdata22=new REALDGN();
  3577. public REALDGN rdata23=new REALDGN();
  3578. public REALDGN rdata24=new REALDGN();
  3579. } /* In case that the number of alarm is 24 */
  3580. #elif FS15D
  3581. [StructLayout(LayoutKind.Sequential,Pack=4)]
  3582. public class REALDGNS
  3583. {
  3584. public REALDGN rdata1=new REALDGN();
  3585. public REALDGN rdata2=new REALDGN();
  3586. public REALDGN rdata3=new REALDGN();
  3587. public REALDGN rdata4=new REALDGN();
  3588. public REALDGN rdata5=new REALDGN();
  3589. public REALDGN rdata6=new REALDGN();
  3590. public REALDGN rdata7=new REALDGN();
  3591. public REALDGN rdata8=new REALDGN();
  3592. public REALDGN rdata9=new REALDGN();
  3593. public REALDGN rdata10=new REALDGN();
  3594. } /* In case that the number of alarm is 10 */
  3595. #else
  3596. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3597. public class REALDGNS
  3598. {
  3599. public REALDGN rdata1 = new REALDGN();
  3600. public REALDGN rdata2 = new REALDGN();
  3601. public REALDGN rdata3 = new REALDGN();
  3602. public REALDGN rdata4 = new REALDGN();
  3603. public REALDGN rdata5 = new REALDGN();
  3604. public REALDGN rdata6 = new REALDGN();
  3605. public REALDGN rdata7 = new REALDGN();
  3606. public REALDGN rdata8 = new REALDGN();
  3607. } /* In case that the number of alarm is 8 */
  3608. #endif
  3609. [StructLayout(LayoutKind.Explicit)]
  3610. public class ODBDGN_1
  3611. {
  3612. [FieldOffset(0)]
  3613. public short datano; /* data number */
  3614. [FieldOffset(2)]
  3615. public short type; /* axis number */
  3616. [FieldOffset(4)]
  3617. public byte cdata; /* parameter / setting data */
  3618. [FieldOffset(4)]
  3619. public short idata;
  3620. [FieldOffset(4)]
  3621. public int ldata;
  3622. }
  3623. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3624. public class ODBDGN_2
  3625. {
  3626. public short datano; /* data number */
  3627. public short type; /* axis number */
  3628. public REALDGN rdata = new REALDGN();
  3629. }
  3630. [StructLayout(LayoutKind.Explicit)]
  3631. public class ODBDGN_3
  3632. {
  3633. [FieldOffset(0)]
  3634. public short datano; /* data number */
  3635. [FieldOffset(2)]
  3636. public short type; /* axis number */
  3637. [FieldOffset(4),
  3638. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  3639. public byte[] cdatas;
  3640. [FieldOffset(4),
  3641. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  3642. public short[] idatas;
  3643. [FieldOffset(4),
  3644. MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  3645. public int[] ldatas;
  3646. }
  3647. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3648. public class ODBDGN_4
  3649. {
  3650. public short datano; /* data number */
  3651. public short type; /* axis number */
  3652. public REALDGNS rdatas = new REALDGNS();
  3653. }
  3654. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3655. public class ODBDGN_A
  3656. {
  3657. public ODBDGN_1 data1 = new ODBDGN_1();
  3658. public ODBDGN_1 data2 = new ODBDGN_1();
  3659. public ODBDGN_1 data3 = new ODBDGN_1();
  3660. public ODBDGN_1 data4 = new ODBDGN_1();
  3661. public ODBDGN_1 data5 = new ODBDGN_1();
  3662. public ODBDGN_1 data6 = new ODBDGN_1();
  3663. public ODBDGN_1 data7 = new ODBDGN_1();
  3664. } /* (sample) must be modified */
  3665. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3666. public class ODBDGN_B
  3667. {
  3668. public ODBDGN_2 data1 = new ODBDGN_2();
  3669. public ODBDGN_2 data2 = new ODBDGN_2();
  3670. public ODBDGN_2 data3 = new ODBDGN_2();
  3671. public ODBDGN_2 data4 = new ODBDGN_2();
  3672. public ODBDGN_2 data5 = new ODBDGN_2();
  3673. public ODBDGN_2 data6 = new ODBDGN_2();
  3674. public ODBDGN_2 data7 = new ODBDGN_2();
  3675. } /* (sample) must be modified */
  3676. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3677. public class ODBDGN_C
  3678. {
  3679. public ODBDGN_3 data1 = new ODBDGN_3();
  3680. public ODBDGN_3 data2 = new ODBDGN_3();
  3681. public ODBDGN_3 data3 = new ODBDGN_3();
  3682. public ODBDGN_3 data4 = new ODBDGN_3();
  3683. public ODBDGN_3 data5 = new ODBDGN_3();
  3684. public ODBDGN_3 data6 = new ODBDGN_3();
  3685. public ODBDGN_3 data7 = new ODBDGN_3();
  3686. } /* (sample) must be modified */
  3687. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3688. public class ODBDGN_D
  3689. {
  3690. public ODBDGN_4 data1 = new ODBDGN_4();
  3691. public ODBDGN_4 data2 = new ODBDGN_4();
  3692. public ODBDGN_4 data3 = new ODBDGN_4();
  3693. public ODBDGN_4 data4 = new ODBDGN_4();
  3694. public ODBDGN_4 data5 = new ODBDGN_4();
  3695. public ODBDGN_4 data6 = new ODBDGN_4();
  3696. public ODBDGN_4 data7 = new ODBDGN_4();
  3697. } /* (sample) must be modified */
  3698. /* cnc_adcnv:read A/D conversion data */
  3699. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3700. public class ODBAD
  3701. {
  3702. public short datano; /* input analog voltage type */
  3703. public short type; /* analog voltage type */
  3704. public short data; /* digital voltage data */
  3705. }
  3706. #if FS15D
  3707. /* cnc_rdopmsg:read operator's message */
  3708. [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=4)]
  3709. public class OPMSG_data
  3710. {
  3711. public short datano ; /* operator's message number */
  3712. public short type ; /* operator's message type */
  3713. public short char_num ; /* message string length */
  3714. [MarshalAs(UnmanagedType.ByValTStr,SizeConst=129)]
  3715. public string data= new string(' ',129) ; /* operator's message string */
  3716. } /* In case that the data length is 129 */
  3717. #else
  3718. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3719. public class OPMSG_data
  3720. {
  3721. public short datano; /* operator's message number */
  3722. public short type; /* operator's message type */
  3723. public short char_num; /* message string length */
  3724. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
  3725. public string data = new string(' ', 256); /* operator's message string */
  3726. } /* In case that the data length is 256 */
  3727. #endif
  3728. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3729. public class OPMSG
  3730. {
  3731. public OPMSG_data msg1 = new OPMSG_data();
  3732. public OPMSG_data msg2 = new OPMSG_data();
  3733. public OPMSG_data msg3 = new OPMSG_data();
  3734. public OPMSG_data msg4 = new OPMSG_data();
  3735. public OPMSG_data msg5 = new OPMSG_data();
  3736. }
  3737. /* cnc_rdopmsg2:read operator's message */
  3738. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3739. public class OPMSG2_data
  3740. {
  3741. public short datano; /* operator's message number */
  3742. public short type; /* operator's message type */
  3743. public short char_num; /* message string length */
  3744. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
  3745. public string data = new string(' ', 64); /* operator's message string */
  3746. } /* In case that the data length is 64 */
  3747. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3748. public class OPMSG2
  3749. {
  3750. public OPMSG2_data msg1 = new OPMSG2_data();
  3751. public OPMSG2_data msg2 = new OPMSG2_data();
  3752. public OPMSG2_data msg3 = new OPMSG2_data();
  3753. public OPMSG2_data msg4 = new OPMSG2_data();
  3754. public OPMSG2_data msg5 = new OPMSG2_data();
  3755. }
  3756. /* cnc_rdopmsg3:read operator's message */
  3757. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3758. public class OPMSG3_data
  3759. {
  3760. public short datano; /* operator's message number */
  3761. public short type; /* operator's message type */
  3762. public short char_num; /* message string length */
  3763. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
  3764. public string data = new string(' ', 256); /* operator's message string */
  3765. } /* In case that the data length is 256 */
  3766. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3767. public class OPMSG3
  3768. {
  3769. public OPMSG3_data msg1 = new OPMSG3_data();
  3770. public OPMSG3_data msg2 = new OPMSG3_data();
  3771. public OPMSG3_data msg3 = new OPMSG3_data();
  3772. public OPMSG3_data msg4 = new OPMSG3_data();
  3773. public OPMSG3_data msg5 = new OPMSG3_data();
  3774. }
  3775. /* cnc_sysconfig:read CNC configuration information */
  3776. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3777. public class ODBSYSC
  3778. {
  3779. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  3780. public byte[] slot_no_p;
  3781. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  3782. public byte[] slot_no_l;
  3783. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  3784. public short[] mod_id;
  3785. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  3786. public short[] soft_id;
  3787. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3788. public string s_series1 = new string(' ', 5);
  3789. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3790. public string s_series2 = new string(' ', 5);
  3791. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3792. public string s_series3 = new string(' ', 5);
  3793. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3794. public string s_series4 = new string(' ', 5);
  3795. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3796. public string s_series5 = new string(' ', 5);
  3797. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3798. public string s_series6 = new string(' ', 5);
  3799. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3800. public string s_series7 = new string(' ', 5);
  3801. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3802. public string s_series8 = new string(' ', 5);
  3803. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3804. public string s_series9 = new string(' ', 5);
  3805. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3806. public string s_series10 = new string(' ', 5);
  3807. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3808. public string s_series11 = new string(' ', 5);
  3809. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3810. public string s_series12 = new string(' ', 5);
  3811. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3812. public string s_series13 = new string(' ', 5);
  3813. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3814. public string s_series14 = new string(' ', 5);
  3815. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3816. public string s_series15 = new string(' ', 5);
  3817. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3818. public string s_series16 = new string(' ', 5);
  3819. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3820. public string s_version1 = new string(' ', 5);
  3821. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3822. public string s_version2 = new string(' ', 5);
  3823. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3824. public string s_version3 = new string(' ', 5);
  3825. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3826. public string s_version4 = new string(' ', 5);
  3827. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3828. public string s_version5 = new string(' ', 5);
  3829. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3830. public string s_version6 = new string(' ', 5);
  3831. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3832. public string s_version7 = new string(' ', 5);
  3833. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3834. public string s_version8 = new string(' ', 5);
  3835. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3836. public string s_version9 = new string(' ', 5);
  3837. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3838. public string s_version10 = new string(' ', 5);
  3839. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3840. public string s_version11 = new string(' ', 5);
  3841. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3842. public string s_version12 = new string(' ', 5);
  3843. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3844. public string s_version13 = new string(' ', 5);
  3845. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3846. public string s_version14 = new string(' ', 5);
  3847. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3848. public string s_version15 = new string(' ', 5);
  3849. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  3850. public string s_version16 = new string(' ', 5);
  3851. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  3852. public byte[] dummy;
  3853. public short m_rom;
  3854. public short s_rom;
  3855. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  3856. public char[] svo_soft;
  3857. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
  3858. public char[] pmc_soft;
  3859. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
  3860. public char[] lad_soft;
  3861. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  3862. public char[] mcr_soft;
  3863. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
  3864. public char[] spl1_soft;
  3865. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
  3866. public char[] spl2_soft;
  3867. public short frmmin;
  3868. public short drmmin;
  3869. public short srmmin;
  3870. public short pmcmin;
  3871. public short crtmin;
  3872. public short sv1min;
  3873. public short sv3min;
  3874. public short sicmin;
  3875. public short posmin;
  3876. public short drmmrc;
  3877. public short drmarc;
  3878. public short pmcmrc;
  3879. public short dmaarc;
  3880. public short iopt;
  3881. public short hdiio;
  3882. public short frmsub;
  3883. public short drmsub;
  3884. public short srmsub;
  3885. public short sv5sub;
  3886. public short sv7sub;
  3887. public short sicsub;
  3888. public short possub;
  3889. public short hamsub;
  3890. public short gm2gr1;
  3891. public short crtgr2;
  3892. public short gm1gr2;
  3893. public short gm2gr2;
  3894. public short cmmrb;
  3895. public short sv5axs;
  3896. public short sv7axs;
  3897. public short sicaxs;
  3898. public short posaxs;
  3899. public short hanaxs;
  3900. public short romr64;
  3901. public short srmr64;
  3902. public short dr1r64;
  3903. public short dr2r64;
  3904. public short iopio2;
  3905. public short hdiio2;
  3906. public short cmmrb2;
  3907. public short romfap;
  3908. public short srmfap;
  3909. public short drmfap;
  3910. }
  3911. /* cnc_rdprstrinfo:read program restart information */
  3912. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3913. public class ODBPRS
  3914. {
  3915. public short datano; /* dummy */
  3916. public short type; /* dummy */
  3917. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  3918. public short[] data_info; /* data setting information */
  3919. public int rstr_bc; /* block counter */
  3920. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)]
  3921. public int[] rstr_m; /* M code value */
  3922. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  3923. public int[] rstr_t; /* T code value */
  3924. public int rstr_s; /* S code value */
  3925. public int rstr_b; /* B code value */
  3926. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  3927. public int[] dest; /* program re-start position */
  3928. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  3929. public int[] dist; /* program re-start distance */
  3930. }
  3931. #if FS15D
  3932. /* cnc_rdopnlsgnl:read output signal image of software operator's panel */
  3933. /* cnc_wropnlsgnl:write output signal of software operator's panel */
  3934. [StructLayout(LayoutKind.Sequential,Pack=4)]
  3935. public class IODBSGNL
  3936. {
  3937. public short datano; /* dummy */
  3938. public short type; /* data select flag */
  3939. public short mode; /* mode signal */
  3940. public short hndl_ax; /* Manual handle feed axis selection signal */
  3941. public short hndl_mv; /* Manual handle feed travel distance selection signal */
  3942. public short rpd_ovrd; /* rapid traverse override signal */
  3943. public short jog_ovrd; /* manual feedrate override signal */
  3944. public short feed_ovrd; /* feedrate override signal */
  3945. public short spdl_ovrd; /* spindle override signal */
  3946. public short blck_del; /* optional block skip signal */
  3947. public short sngl_blck; /* single block signal */
  3948. public short machn_lock; /* machine lock signal */
  3949. public short dry_run; /* dry run signal */
  3950. public short mem_prtct; /* memory protection signal */
  3951. public short feed_hold; /* automatic operation halt signal */
  3952. public short manual_rpd; /* (not used) */
  3953. [MarshalAs(UnmanagedType.ByValArray,SizeConst=2)]
  3954. public short[] dummy; /* (not used) */
  3955. }
  3956. #else
  3957. /* cnc_rdopnlsgnl:read output signal image of software operator's panel */
  3958. /* cnc_wropnlsgnl:write output signal of software operator's panel */
  3959. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3960. public class IODBSGNL
  3961. {
  3962. public short datano; /* dummy */
  3963. public short type; /* data select flag */
  3964. public short mode; /* mode signal */
  3965. public short hndl_ax; /* Manual handle feed axis selection signal */
  3966. public short hndl_mv; /* Manual handle feed travel distance selection signal */
  3967. public short rpd_ovrd; /* rapid traverse override signal */
  3968. public short jog_ovrd; /* manual feedrate override signal */
  3969. public short feed_ovrd; /* feedrate override signal */
  3970. public short spdl_ovrd; /* (not used) */
  3971. public short blck_del; /* optional block skip signal */
  3972. public short sngl_blck; /* single block signal */
  3973. public short machn_lock; /* machine lock signal */
  3974. public short dry_run; /* dry run signal */
  3975. public short mem_prtct; /* memory protection signal */
  3976. public short feed_hold; /* automatic operation halt signal */
  3977. }
  3978. #endif
  3979. /* cnc_rdopnlgnrl:read general signal image of software operator's panel */
  3980. /* cnc_wropnlgnrl:write general signal image of software operator's panel */
  3981. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  3982. public class IODBGNRL
  3983. {
  3984. public short datano; /* dummy */
  3985. public short type; /* data select flag */
  3986. public byte sgnal; /* general signal */
  3987. }
  3988. /* cnc_rdopnlgsname:read general signal name of software operator's panel */
  3989. /* cnc_wropnlgsname:write general signal name of software operator's panel*/
  3990. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  3991. public class IODBRDNA
  3992. {
  3993. public short datano; /* dummy */
  3994. public short type; /* data select flag */
  3995. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
  3996. public string sgnl1_name = new string(' ', 9); /* general signal 1 name */
  3997. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
  3998. public string sgnl2_name = new string(' ', 9); /* general signal 2 name */
  3999. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
  4000. public string sgnl3_name = new string(' ', 9); /* general signal 3 name */
  4001. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
  4002. public string sgnl4_name = new string(' ', 9); /* general signal 4 name */
  4003. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
  4004. public string sgnl5_name = new string(' ', 9); /* general signal 5 name */
  4005. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
  4006. public string sgnl6_name = new string(' ', 9); /* general signal 6 name */
  4007. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
  4008. public string sgnl7_name = new string(' ', 9); /* general signal 7 name */
  4009. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
  4010. public string sgnl8_name = new string(' ', 9); /* general signal 8 name */
  4011. }
  4012. /* cnc_getdtailerr:get detail error */
  4013. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4014. public class ODBERR
  4015. {
  4016. public short err_no;
  4017. public short err_dtno;
  4018. }
  4019. /* cnc_rdparainfo:read informations of CNC parameter */
  4020. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4021. public class ODBPARAIF_info
  4022. {
  4023. public short prm_no;
  4024. public short prm_type;
  4025. }
  4026. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4027. public class ODBPARAIF1
  4028. {
  4029. public ODBPARAIF_info info1 = new ODBPARAIF_info();
  4030. public ODBPARAIF_info info2 = new ODBPARAIF_info();
  4031. public ODBPARAIF_info info3 = new ODBPARAIF_info();
  4032. public ODBPARAIF_info info4 = new ODBPARAIF_info();
  4033. public ODBPARAIF_info info5 = new ODBPARAIF_info();
  4034. public ODBPARAIF_info info6 = new ODBPARAIF_info();
  4035. public ODBPARAIF_info info7 = new ODBPARAIF_info();
  4036. public ODBPARAIF_info info8 = new ODBPARAIF_info();
  4037. public ODBPARAIF_info info9 = new ODBPARAIF_info();
  4038. public ODBPARAIF_info info10 = new ODBPARAIF_info();
  4039. } /* In case that the number of data is 10 */
  4040. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4041. public class ODBPARAIF
  4042. {
  4043. public ushort info_no;
  4044. public short prev_no;
  4045. public short next_no;
  4046. public ODBPARAIF1 info = new ODBPARAIF1();
  4047. }
  4048. /* cnc_rdsetinfo:read informations of CNC setting data */
  4049. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4050. public class ODBSETIF_info
  4051. {
  4052. public short set_no;
  4053. public short set_type;
  4054. }
  4055. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4056. public class ODBSETIF1
  4057. {
  4058. public ODBSETIF_info info1 = new ODBSETIF_info();
  4059. public ODBSETIF_info info2 = new ODBSETIF_info();
  4060. public ODBSETIF_info info3 = new ODBSETIF_info();
  4061. public ODBSETIF_info info4 = new ODBSETIF_info();
  4062. public ODBSETIF_info info5 = new ODBSETIF_info();
  4063. public ODBSETIF_info info6 = new ODBSETIF_info();
  4064. public ODBSETIF_info info7 = new ODBSETIF_info();
  4065. public ODBSETIF_info info8 = new ODBSETIF_info();
  4066. public ODBSETIF_info info9 = new ODBSETIF_info();
  4067. public ODBSETIF_info info10 = new ODBSETIF_info();
  4068. } /* In case that the number of data is 10 */
  4069. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4070. public class ODBSETIF
  4071. {
  4072. public ushort info_no;
  4073. public short prev_no;
  4074. public short next_no;
  4075. public ODBSETIF1 info = new ODBSETIF1();
  4076. }
  4077. /* cnc_rddiaginfo:read informations of CNC diagnose data */
  4078. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4079. public class ODBDIAGIF_info
  4080. {
  4081. public short diag_no;
  4082. public short diag_type;
  4083. }
  4084. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4085. public class ODBDIAGIF1
  4086. {
  4087. public ODBDIAGIF_info info1 = new ODBDIAGIF_info();
  4088. public ODBDIAGIF_info info2 = new ODBDIAGIF_info();
  4089. public ODBDIAGIF_info info3 = new ODBDIAGIF_info();
  4090. public ODBDIAGIF_info info4 = new ODBDIAGIF_info();
  4091. public ODBDIAGIF_info info5 = new ODBDIAGIF_info();
  4092. public ODBDIAGIF_info info6 = new ODBDIAGIF_info();
  4093. public ODBDIAGIF_info info7 = new ODBDIAGIF_info();
  4094. public ODBDIAGIF_info info8 = new ODBDIAGIF_info();
  4095. public ODBDIAGIF_info info9 = new ODBDIAGIF_info();
  4096. public ODBDIAGIF_info info10 = new ODBDIAGIF_info();
  4097. } /* In case that the number of data is 10 */
  4098. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4099. public class ODBDIAGIF
  4100. {
  4101. public ushort info_no;
  4102. public short prev_no;
  4103. public short next_no;
  4104. public ODBDIAGIF1 info = new ODBDIAGIF1();
  4105. }
  4106. /* cnc_rdparanum:read maximum, minimum and total number of CNC parameter */
  4107. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4108. public class ODBPARANUM
  4109. {
  4110. public ushort para_min;
  4111. public ushort para_max;
  4112. public ushort total_no;
  4113. }
  4114. /* cnc_rdsetnum:read maximum, minimum and total number of CNC setting data */
  4115. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4116. public class ODBSETNUM
  4117. {
  4118. public ushort set_min;
  4119. public ushort set_max;
  4120. public ushort total_no;
  4121. }
  4122. /* cnc_rddiagnum:read maximum, minimum and total number of CNC diagnose data */
  4123. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4124. public class ODBDIAGNUM
  4125. {
  4126. public ushort diag_min;
  4127. public ushort diag_max;
  4128. public ushort total_no;
  4129. }
  4130. /* cnc_rdfrominfo:read F-ROM information on CNC */
  4131. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4132. public class ODBFINFO_info
  4133. {
  4134. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  4135. public string sysname = new string(' ', 12); /* F-ROM SYSTEM data Name */
  4136. public int fromsize; /* F-ROM Size */
  4137. }
  4138. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4139. public class ODBFINFO1
  4140. {
  4141. public ODBFINFO_info info1 = new ODBFINFO_info();
  4142. public ODBFINFO_info info2 = new ODBFINFO_info();
  4143. public ODBFINFO_info info3 = new ODBFINFO_info();
  4144. public ODBFINFO_info info4 = new ODBFINFO_info();
  4145. public ODBFINFO_info info5 = new ODBFINFO_info();
  4146. public ODBFINFO_info info6 = new ODBFINFO_info();
  4147. public ODBFINFO_info info7 = new ODBFINFO_info();
  4148. public ODBFINFO_info info8 = new ODBFINFO_info();
  4149. public ODBFINFO_info info9 = new ODBFINFO_info();
  4150. public ODBFINFO_info info10 = new ODBFINFO_info();
  4151. public ODBFINFO_info info11 = new ODBFINFO_info();
  4152. public ODBFINFO_info info12 = new ODBFINFO_info();
  4153. public ODBFINFO_info info13 = new ODBFINFO_info();
  4154. public ODBFINFO_info info14 = new ODBFINFO_info();
  4155. public ODBFINFO_info info15 = new ODBFINFO_info();
  4156. public ODBFINFO_info info16 = new ODBFINFO_info();
  4157. public ODBFINFO_info info17 = new ODBFINFO_info();
  4158. public ODBFINFO_info info18 = new ODBFINFO_info();
  4159. public ODBFINFO_info info19 = new ODBFINFO_info();
  4160. public ODBFINFO_info info20 = new ODBFINFO_info();
  4161. public ODBFINFO_info info21 = new ODBFINFO_info();
  4162. public ODBFINFO_info info22 = new ODBFINFO_info();
  4163. public ODBFINFO_info info23 = new ODBFINFO_info();
  4164. public ODBFINFO_info info24 = new ODBFINFO_info();
  4165. public ODBFINFO_info info25 = new ODBFINFO_info();
  4166. public ODBFINFO_info info26 = new ODBFINFO_info();
  4167. public ODBFINFO_info info27 = new ODBFINFO_info();
  4168. public ODBFINFO_info info28 = new ODBFINFO_info();
  4169. public ODBFINFO_info info29 = new ODBFINFO_info();
  4170. public ODBFINFO_info info30 = new ODBFINFO_info();
  4171. public ODBFINFO_info info31 = new ODBFINFO_info();
  4172. public ODBFINFO_info info32 = new ODBFINFO_info();
  4173. }
  4174. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4175. public class ODBFINFO
  4176. {
  4177. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  4178. public string slotname = new string(' ', 12); /* Slot Name */
  4179. public int fromnum; /* Number of F-ROM SYSTEM data */
  4180. public ODBFINFO1 info = new ODBFINFO1();
  4181. }
  4182. /* cnc_getfrominfo:read F-ROM information on CNC */
  4183. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4184. public class ODBFINFORM_info
  4185. {
  4186. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  4187. public string sysname = new string(' ', 12); /* F-ROM SYSTEM data Name */
  4188. public int fromsize; /* F-ROM Size */
  4189. public int fromattrib; /* F-ROM data attribute */
  4190. }
  4191. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4192. public class ODBFINFORM1
  4193. {
  4194. public ODBFINFORM_info info1 = new ODBFINFORM_info();
  4195. public ODBFINFORM_info info2 = new ODBFINFORM_info();
  4196. public ODBFINFORM_info info3 = new ODBFINFORM_info();
  4197. public ODBFINFORM_info info4 = new ODBFINFORM_info();
  4198. public ODBFINFORM_info info5 = new ODBFINFORM_info();
  4199. public ODBFINFORM_info info6 = new ODBFINFORM_info();
  4200. public ODBFINFORM_info info7 = new ODBFINFORM_info();
  4201. public ODBFINFORM_info info8 = new ODBFINFORM_info();
  4202. public ODBFINFORM_info info9 = new ODBFINFORM_info();
  4203. public ODBFINFORM_info info10 = new ODBFINFORM_info();
  4204. public ODBFINFORM_info info11 = new ODBFINFORM_info();
  4205. public ODBFINFORM_info info12 = new ODBFINFORM_info();
  4206. public ODBFINFORM_info info13 = new ODBFINFORM_info();
  4207. public ODBFINFORM_info info14 = new ODBFINFORM_info();
  4208. public ODBFINFORM_info info15 = new ODBFINFORM_info();
  4209. public ODBFINFORM_info info16 = new ODBFINFORM_info();
  4210. public ODBFINFORM_info info17 = new ODBFINFORM_info();
  4211. public ODBFINFORM_info info18 = new ODBFINFORM_info();
  4212. public ODBFINFORM_info info19 = new ODBFINFORM_info();
  4213. public ODBFINFORM_info info20 = new ODBFINFORM_info();
  4214. public ODBFINFORM_info info21 = new ODBFINFORM_info();
  4215. public ODBFINFORM_info info22 = new ODBFINFORM_info();
  4216. public ODBFINFORM_info info23 = new ODBFINFORM_info();
  4217. public ODBFINFORM_info info24 = new ODBFINFORM_info();
  4218. public ODBFINFORM_info info25 = new ODBFINFORM_info();
  4219. public ODBFINFORM_info info26 = new ODBFINFORM_info();
  4220. public ODBFINFORM_info info27 = new ODBFINFORM_info();
  4221. public ODBFINFORM_info info28 = new ODBFINFORM_info();
  4222. public ODBFINFORM_info info29 = new ODBFINFORM_info();
  4223. public ODBFINFORM_info info30 = new ODBFINFORM_info();
  4224. public ODBFINFORM_info info31 = new ODBFINFORM_info();
  4225. public ODBFINFORM_info info32 = new ODBFINFORM_info();
  4226. }
  4227. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4228. public class ODBFINFORM
  4229. {
  4230. public int slotno; /* Slot Number */
  4231. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  4232. public string slotname = new string(' ', 12); /* Slot Name */
  4233. public int fromnum; /* Number of F-ROM SYSTEM data */
  4234. public ODBFINFORM1 info = new ODBFINFORM1();
  4235. }
  4236. /* cnc_rdsraminfo:read S-RAM information on CNC */
  4237. /* cnc_getsraminfo:read S-RAM information on CNC */
  4238. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4239. public class ODBSINFO_info
  4240. {
  4241. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  4242. public string sramname = new string(' ', 12); /* S-RAM data Name */
  4243. public int sramsize; /* S-RAM data Size */
  4244. public short divnumber; /* Division number of S-RAM file */
  4245. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4246. public string fname1 = new string(' ', 16); /* S-RAM data Name1 */
  4247. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4248. public string fname2 = new string(' ', 16); /* S-RAM data Name2 */
  4249. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4250. public string fname3 = new string(' ', 16); /* S-RAM data Name3 */
  4251. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4252. public string fname4 = new string(' ', 16); /* S-RAM data Name4 */
  4253. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4254. public string fname5 = new string(' ', 16); /* S-RAM data Name5 */
  4255. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4256. public string fname6 = new string(' ', 16); /* S-RAM data Name6 */
  4257. }
  4258. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4259. public class ODBSINFO1
  4260. {
  4261. public ODBSINFO_info info1 = new ODBSINFO_info();
  4262. public ODBSINFO_info info2 = new ODBSINFO_info();
  4263. public ODBSINFO_info info3 = new ODBSINFO_info();
  4264. public ODBSINFO_info info4 = new ODBSINFO_info();
  4265. public ODBSINFO_info info5 = new ODBSINFO_info();
  4266. public ODBSINFO_info info6 = new ODBSINFO_info();
  4267. public ODBSINFO_info info7 = new ODBSINFO_info();
  4268. public ODBSINFO_info info8 = new ODBSINFO_info();
  4269. }
  4270. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4271. public class ODBSINFO
  4272. {
  4273. public int sramnum; /* Number of S-RAM data */
  4274. public ODBSINFO1 info = new ODBSINFO1();
  4275. }
  4276. /* cnc_rdsramaddr:read S-RAM address on CNC */
  4277. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4278. public class SRAMADDR
  4279. {
  4280. public short type; /* SRAM data type */
  4281. public int size; /* SRAM data size */
  4282. public int offset; /* offset from top address of SRAM */
  4283. }
  4284. /* cnc_dtsvrdpgdir:read file directory in Data Server */
  4285. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4286. public class ODBDSDIR_data
  4287. {
  4288. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4289. public string file_name = new string(' ', 16);
  4290. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
  4291. public string comment = new string(' ', 64);
  4292. public int size;
  4293. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4294. public string date = new string(' ', 16);
  4295. }
  4296. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4297. public class ODBDSDIR1
  4298. {
  4299. public ODBDSDIR_data data1 = new ODBDSDIR_data();
  4300. public ODBDSDIR_data data2 = new ODBDSDIR_data();
  4301. public ODBDSDIR_data data3 = new ODBDSDIR_data();
  4302. public ODBDSDIR_data data4 = new ODBDSDIR_data();
  4303. public ODBDSDIR_data data5 = new ODBDSDIR_data();
  4304. public ODBDSDIR_data data6 = new ODBDSDIR_data();
  4305. public ODBDSDIR_data data7 = new ODBDSDIR_data();
  4306. public ODBDSDIR_data data8 = new ODBDSDIR_data();
  4307. public ODBDSDIR_data data9 = new ODBDSDIR_data();
  4308. public ODBDSDIR_data data10 = new ODBDSDIR_data();
  4309. public ODBDSDIR_data data11 = new ODBDSDIR_data();
  4310. public ODBDSDIR_data data12 = new ODBDSDIR_data();
  4311. public ODBDSDIR_data data13 = new ODBDSDIR_data();
  4312. public ODBDSDIR_data data14 = new ODBDSDIR_data();
  4313. public ODBDSDIR_data data15 = new ODBDSDIR_data();
  4314. public ODBDSDIR_data data16 = new ODBDSDIR_data();
  4315. public ODBDSDIR_data data17 = new ODBDSDIR_data();
  4316. public ODBDSDIR_data data18 = new ODBDSDIR_data();
  4317. public ODBDSDIR_data data19 = new ODBDSDIR_data();
  4318. public ODBDSDIR_data data20 = new ODBDSDIR_data();
  4319. public ODBDSDIR_data data21 = new ODBDSDIR_data();
  4320. public ODBDSDIR_data data22 = new ODBDSDIR_data();
  4321. public ODBDSDIR_data data23 = new ODBDSDIR_data();
  4322. public ODBDSDIR_data data24 = new ODBDSDIR_data();
  4323. public ODBDSDIR_data data25 = new ODBDSDIR_data();
  4324. public ODBDSDIR_data data26 = new ODBDSDIR_data();
  4325. public ODBDSDIR_data data27 = new ODBDSDIR_data();
  4326. public ODBDSDIR_data data28 = new ODBDSDIR_data();
  4327. public ODBDSDIR_data data29 = new ODBDSDIR_data();
  4328. public ODBDSDIR_data data30 = new ODBDSDIR_data();
  4329. public ODBDSDIR_data data31 = new ODBDSDIR_data();
  4330. public ODBDSDIR_data data32 = new ODBDSDIR_data();
  4331. }
  4332. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4333. public class ODBDSDIR
  4334. {
  4335. public int file_num;
  4336. public int remainder;
  4337. public short data_num;
  4338. public ODBDSDIR1 data = new ODBDSDIR1();
  4339. }
  4340. /* cnc_dtsvrdset:read setting data for Data Server */
  4341. /* cnc_dtsvwrset:write setting data for Data Server */
  4342. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4343. public class IODBDSSET
  4344. {
  4345. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4346. public string host_ip = new string(' ', 16);
  4347. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  4348. public string host_uname = new string(' ', 32);
  4349. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  4350. public string host_passwd = new string(' ', 32);
  4351. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
  4352. public string host_dir = new string(' ', 128);
  4353. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)]
  4354. public string dtsv_mac = new string(' ', 13);
  4355. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4356. public string dtsv_ip = new string(' ', 16);
  4357. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  4358. public string dtsv_mask = new string(' ', 16);
  4359. }
  4360. /* cnc_dtsvmntinfo:read maintenance information for Data Server */
  4361. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4362. public class ODBDSMNT
  4363. {
  4364. public int empty_cnt;
  4365. public int total_size;
  4366. public int read_ptr;
  4367. public int write_ptr;
  4368. }
  4369. /* cnc_rdposerrs2:read the position deviation S1 and S2 */
  4370. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4371. public class ODBPSER
  4372. {
  4373. public int poserr1;
  4374. public int poserr2;
  4375. }
  4376. /* cnc_rdctrldi:read the control input signal */
  4377. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4378. public class ODBSPDI_data
  4379. {
  4380. public byte sgnl1;
  4381. public byte sgnl2;
  4382. public byte sgnl3;
  4383. public byte sgnl4;
  4384. }
  4385. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4386. public class ODBSPDI
  4387. {
  4388. public ODBSPDI_data di1 = new ODBSPDI_data();
  4389. public ODBSPDI_data di2 = new ODBSPDI_data();
  4390. public ODBSPDI_data di3 = new ODBSPDI_data();
  4391. public ODBSPDI_data di4 = new ODBSPDI_data();
  4392. }
  4393. /* cnc_rdctrldo:read the control output signal */
  4394. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4395. public class ODBSPDO_data
  4396. {
  4397. public byte sgnl1;
  4398. public byte sgnl2;
  4399. public byte sgnl3;
  4400. public byte sgnl4;
  4401. }
  4402. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4403. public class ODBSPDO
  4404. {
  4405. public ODBSPDO_data do1 = new ODBSPDO_data();
  4406. public ODBSPDO_data do2 = new ODBSPDO_data();
  4407. public ODBSPDO_data do3 = new ODBSPDO_data();
  4408. public ODBSPDO_data do4 = new ODBSPDO_data();
  4409. }
  4410. /* cnc_rdwaveprm:read the parameter of wave diagnosis */
  4411. /* cnc_wrwaveprm:write the parameter of wave diagnosis */
  4412. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4413. public class IODBWAVE_io
  4414. {
  4415. public byte adr;
  4416. public byte bit;
  4417. public short no;
  4418. }
  4419. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4420. public class IODBWAVE_axis
  4421. {
  4422. public short axis;
  4423. }
  4424. [StructLayout(LayoutKind.Explicit)]
  4425. public class IODBWAVE_u
  4426. {
  4427. [FieldOffset(0)]
  4428. public IODBWAVE_io io = new IODBWAVE_io();
  4429. [FieldOffset(0)]
  4430. public IODBWAVE_axis axis = new IODBWAVE_axis();
  4431. }
  4432. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4433. public class IODBWAVE_ch_data
  4434. {
  4435. public short kind;
  4436. public IODBWAVE_u u = new IODBWAVE_u();
  4437. }
  4438. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4439. public class IODBWAVE_ch
  4440. {
  4441. public IODBWAVE_ch_data ch1 = new IODBWAVE_ch_data();
  4442. public IODBWAVE_ch_data ch2 = new IODBWAVE_ch_data();
  4443. public IODBWAVE_ch_data ch3 = new IODBWAVE_ch_data();
  4444. public IODBWAVE_ch_data ch4 = new IODBWAVE_ch_data();
  4445. public IODBWAVE_ch_data ch5 = new IODBWAVE_ch_data();
  4446. public IODBWAVE_ch_data ch6 = new IODBWAVE_ch_data();
  4447. public IODBWAVE_ch_data ch7 = new IODBWAVE_ch_data();
  4448. public IODBWAVE_ch_data ch8 = new IODBWAVE_ch_data();
  4449. public IODBWAVE_ch_data ch9 = new IODBWAVE_ch_data();
  4450. public IODBWAVE_ch_data ch10 = new IODBWAVE_ch_data();
  4451. public IODBWAVE_ch_data ch11 = new IODBWAVE_ch_data();
  4452. public IODBWAVE_ch_data ch12 = new IODBWAVE_ch_data();
  4453. }
  4454. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4455. public class IODBWAVE
  4456. {
  4457. public short condition;
  4458. public char trg_adr;
  4459. public byte trg_bit;
  4460. public short trg_no;
  4461. public short delay;
  4462. public short t_range;
  4463. public IODBWAVE_ch ch = new IODBWAVE_ch();
  4464. }
  4465. /* cnc_rdwaveprm2:read the parameter of wave diagnosis 2 */
  4466. /* cnc_wrwaveprm2:write the parameter of wave diagnosis 2 */
  4467. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4468. public class IODBWVPRM_io
  4469. {
  4470. public byte adr;
  4471. public byte bit;
  4472. public short no;
  4473. }
  4474. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4475. public class IODBWVPRM_axis
  4476. {
  4477. public short axis;
  4478. }
  4479. [StructLayout(LayoutKind.Explicit)]
  4480. public class IODBWVPRM_u
  4481. {
  4482. [FieldOffset(0)]
  4483. public IODBWVPRM_io io = new IODBWVPRM_io();
  4484. [FieldOffset(0)]
  4485. public IODBWVPRM_axis axis = new IODBWVPRM_axis();
  4486. }
  4487. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4488. public class IODBWVPRM_ch_data
  4489. {
  4490. public short kind;
  4491. public IODBWVPRM_u u = new IODBWVPRM_u();
  4492. public int reserve2;
  4493. }
  4494. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4495. public class IODBWVPRM_ch
  4496. {
  4497. public IODBWVPRM_ch_data ch1 = new IODBWVPRM_ch_data();
  4498. public IODBWVPRM_ch_data ch2 = new IODBWVPRM_ch_data();
  4499. public IODBWVPRM_ch_data ch3 = new IODBWVPRM_ch_data();
  4500. public IODBWVPRM_ch_data ch4 = new IODBWVPRM_ch_data();
  4501. public IODBWVPRM_ch_data ch5 = new IODBWVPRM_ch_data();
  4502. public IODBWVPRM_ch_data ch6 = new IODBWVPRM_ch_data();
  4503. public IODBWVPRM_ch_data ch7 = new IODBWVPRM_ch_data();
  4504. public IODBWVPRM_ch_data ch8 = new IODBWVPRM_ch_data();
  4505. public IODBWVPRM_ch_data ch9 = new IODBWVPRM_ch_data();
  4506. public IODBWVPRM_ch_data ch10 = new IODBWVPRM_ch_data();
  4507. public IODBWVPRM_ch_data ch11 = new IODBWVPRM_ch_data();
  4508. public IODBWVPRM_ch_data ch12 = new IODBWVPRM_ch_data();
  4509. }
  4510. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4511. public class IODBWVPRM
  4512. {
  4513. public short condition;
  4514. public byte trg_adr;
  4515. public byte trg_bit;
  4516. public short trg_no;
  4517. public short reserve1;
  4518. public int delay;
  4519. public int t_range;
  4520. public IODBWVPRM_ch ch = new IODBWVPRM_ch();
  4521. }
  4522. /* cnc_rdwavedata:read the data of wave diagnosis */
  4523. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4524. public class ODBWVDT_io
  4525. {
  4526. public byte adr;
  4527. public byte bit;
  4528. public short no;
  4529. }
  4530. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4531. public class ODBWVDT_axis
  4532. {
  4533. public short axis;
  4534. }
  4535. [StructLayout(LayoutKind.Explicit)]
  4536. public class ODBWVDT_u
  4537. {
  4538. [FieldOffset(0)]
  4539. public ODBWVDT_io io = new ODBWVDT_io();
  4540. [FieldOffset(0)]
  4541. public ODBWVDT_axis axis = new ODBWVDT_axis();
  4542. }
  4543. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4544. public class ODBWVDT
  4545. {
  4546. public short channel;
  4547. public short kind;
  4548. public ODBWVDT_u u = new ODBWVDT_u();
  4549. public byte year;
  4550. public byte month;
  4551. public byte day;
  4552. public byte hour;
  4553. public byte minute;
  4554. public byte second;
  4555. public short t_cycle;
  4556. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8192)]
  4557. public short[] data;
  4558. }
  4559. /* cnc_rdrmtwaveprm:read the parameter of wave diagnosis for remort diagnosis */
  4560. /* cnc_wrrmtwaveprm:write the parameter of wave diagnosis for remort diagnosis */
  4561. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4562. public class IODBRMTPRM_alm
  4563. {
  4564. public short no;
  4565. public sbyte axis;
  4566. public byte type;
  4567. }
  4568. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4569. public class IODBRMTPRM_io
  4570. {
  4571. public char adr;
  4572. public byte bit;
  4573. public short no;
  4574. }
  4575. [StructLayout(LayoutKind.Explicit)]
  4576. public class IODBRMTPRM_trg
  4577. {
  4578. [FieldOffset(0)]
  4579. public IODBRMTPRM_alm alm = new IODBRMTPRM_alm();
  4580. [FieldOffset(0)]
  4581. public IODBRMTPRM_io io = new IODBRMTPRM_io();
  4582. }
  4583. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4584. public class IODBRMTPRM_smpl
  4585. {
  4586. public char adr;
  4587. public byte bit;
  4588. public short no;
  4589. }
  4590. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4591. public class IODBRMTPRM1
  4592. {
  4593. public IODBRMTPRM_smpl ampl1 = new IODBRMTPRM_smpl();
  4594. public IODBRMTPRM_smpl ampl2 = new IODBRMTPRM_smpl();
  4595. public IODBRMTPRM_smpl ampl3 = new IODBRMTPRM_smpl();
  4596. public IODBRMTPRM_smpl ampl4 = new IODBRMTPRM_smpl();
  4597. public IODBRMTPRM_smpl ampl5 = new IODBRMTPRM_smpl();
  4598. public IODBRMTPRM_smpl ampl6 = new IODBRMTPRM_smpl();
  4599. public IODBRMTPRM_smpl ampl7 = new IODBRMTPRM_smpl();
  4600. public IODBRMTPRM_smpl ampl8 = new IODBRMTPRM_smpl();
  4601. public IODBRMTPRM_smpl ampl9 = new IODBRMTPRM_smpl();
  4602. public IODBRMTPRM_smpl ampl10 = new IODBRMTPRM_smpl();
  4603. public IODBRMTPRM_smpl ampl11 = new IODBRMTPRM_smpl();
  4604. public IODBRMTPRM_smpl ampl12 = new IODBRMTPRM_smpl();
  4605. public IODBRMTPRM_smpl ampl13 = new IODBRMTPRM_smpl();
  4606. public IODBRMTPRM_smpl ampl14 = new IODBRMTPRM_smpl();
  4607. public IODBRMTPRM_smpl ampl15 = new IODBRMTPRM_smpl();
  4608. public IODBRMTPRM_smpl ampl16 = new IODBRMTPRM_smpl();
  4609. public IODBRMTPRM_smpl ampl17 = new IODBRMTPRM_smpl();
  4610. public IODBRMTPRM_smpl ampl18 = new IODBRMTPRM_smpl();
  4611. public IODBRMTPRM_smpl ampl19 = new IODBRMTPRM_smpl();
  4612. public IODBRMTPRM_smpl ampl20 = new IODBRMTPRM_smpl();
  4613. public IODBRMTPRM_smpl ampl21 = new IODBRMTPRM_smpl();
  4614. public IODBRMTPRM_smpl ampl22 = new IODBRMTPRM_smpl();
  4615. public IODBRMTPRM_smpl ampl23 = new IODBRMTPRM_smpl();
  4616. public IODBRMTPRM_smpl ampl24 = new IODBRMTPRM_smpl();
  4617. public IODBRMTPRM_smpl ampl25 = new IODBRMTPRM_smpl();
  4618. public IODBRMTPRM_smpl ampl26 = new IODBRMTPRM_smpl();
  4619. public IODBRMTPRM_smpl ampl27 = new IODBRMTPRM_smpl();
  4620. public IODBRMTPRM_smpl ampl28 = new IODBRMTPRM_smpl();
  4621. public IODBRMTPRM_smpl ampl29 = new IODBRMTPRM_smpl();
  4622. public IODBRMTPRM_smpl ampl30 = new IODBRMTPRM_smpl();
  4623. public IODBRMTPRM_smpl ampl31 = new IODBRMTPRM_smpl();
  4624. public IODBRMTPRM_smpl ampl32 = new IODBRMTPRM_smpl();
  4625. }
  4626. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4627. public class IODBRMTPRM
  4628. {
  4629. public short condition;
  4630. public short reserve;
  4631. public IODBRMTPRM_trg trg = new IODBRMTPRM_trg();
  4632. public int delay;
  4633. public short wv_intrvl;
  4634. public short io_intrvl;
  4635. public short kind1;
  4636. public short kind2;
  4637. public IODBRMTPRM1 ampl = new IODBRMTPRM1();
  4638. }
  4639. /* cnc_rdrmtwavedt:read the data of wave diagnosis for remort diagnosis */
  4640. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4641. public class ODBRMTDT
  4642. {
  4643. public short channel;
  4644. public short kind;
  4645. public byte year;
  4646. public byte month;
  4647. public byte day;
  4648. public byte hour;
  4649. public byte minute;
  4650. public byte second;
  4651. public short t_intrvl;
  4652. public short trg_data;
  4653. public int ins_ptr;
  4654. public short t_delta;
  4655. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1917)]
  4656. public short[] data;
  4657. }
  4658. /* cnc_rdsavsigadr:read of address for PMC signal batch save */
  4659. /* cnc_wrsavsigadr:write of address for PMC signal batch save */
  4660. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4661. public class IODBSIGAD
  4662. {
  4663. public byte adr;
  4664. public byte reserve;
  4665. public short no;
  4666. public short size;
  4667. }
  4668. /* cnc_rdmgrpdata:read M-code group data */
  4669. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4670. public class ODBMGRP_data
  4671. {
  4672. public int m_code;
  4673. public short grp_no;
  4674. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]
  4675. public string m_name = new string(' ', 21);
  4676. public byte dummy;
  4677. }
  4678. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4679. public class ODBMGRP
  4680. {
  4681. public ODBMGRP_data mgrp1 = new ODBMGRP_data();
  4682. public ODBMGRP_data mgrp2 = new ODBMGRP_data();
  4683. public ODBMGRP_data mgrp3 = new ODBMGRP_data();
  4684. public ODBMGRP_data mgrp4 = new ODBMGRP_data();
  4685. public ODBMGRP_data mgrp5 = new ODBMGRP_data();
  4686. public ODBMGRP_data mgrp6 = new ODBMGRP_data();
  4687. public ODBMGRP_data mgrp7 = new ODBMGRP_data();
  4688. public ODBMGRP_data mgrp8 = new ODBMGRP_data();
  4689. public ODBMGRP_data mgrp9 = new ODBMGRP_data();
  4690. public ODBMGRP_data mgrp10 = new ODBMGRP_data();
  4691. }
  4692. /* cnc_wrmgrpdata:write M-code group data */
  4693. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4694. public class IDBMGRP
  4695. {
  4696. public short s_no;
  4697. public short dummy;
  4698. public short num;
  4699. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 500)]
  4700. public short[] group = new short[500];
  4701. }
  4702. /* cnc_rdexecmcode:read executing M-code group data */
  4703. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4704. public class ODBEXEM_data
  4705. {
  4706. public int no;
  4707. public short flag;
  4708. }
  4709. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4710. public class ODBEXEM1
  4711. {
  4712. public ODBEXEM_data m_code1 = new ODBEXEM_data();
  4713. public ODBEXEM_data m_code2 = new ODBEXEM_data();
  4714. public ODBEXEM_data m_code3 = new ODBEXEM_data();
  4715. public ODBEXEM_data m_code4 = new ODBEXEM_data();
  4716. public ODBEXEM_data m_code5 = new ODBEXEM_data();
  4717. }
  4718. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4719. public class ODBEXEM
  4720. {
  4721. public short grp_no;
  4722. public short mem_no;
  4723. public ODBEXEM1 m_code = new ODBEXEM1();
  4724. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]
  4725. public string m_name = new string(' ', 21);
  4726. public byte dummy;
  4727. }
  4728. /* cnc_rdrstrmcode:read program restart M-code group data */
  4729. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4730. public class M_CODE_data
  4731. {
  4732. public int no;
  4733. public short flag;
  4734. }
  4735. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4736. public class M_CODE1
  4737. {
  4738. public M_CODE_data m_code1 = new M_CODE_data();
  4739. public M_CODE_data m_code2 = new M_CODE_data();
  4740. public M_CODE_data m_code3 = new M_CODE_data();
  4741. public M_CODE_data m_code4 = new M_CODE_data();
  4742. public M_CODE_data m_code5 = new M_CODE_data();
  4743. }
  4744. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4745. public class ODBRSTRM
  4746. {
  4747. public short grp_no;
  4748. public short mem_no;
  4749. public M_CODE1 m_code = new M_CODE1();
  4750. }
  4751. /* cnc_rdproctime:read processing time stamp data */
  4752. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4753. public class ODBPTIME_data
  4754. {
  4755. public int prg_no;
  4756. public short hour;
  4757. public byte minute;
  4758. public byte second;
  4759. }
  4760. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4761. public class ODBPTIME1
  4762. {
  4763. public ODBPTIME_data data1 = new ODBPTIME_data();
  4764. public ODBPTIME_data data2 = new ODBPTIME_data();
  4765. public ODBPTIME_data data3 = new ODBPTIME_data();
  4766. public ODBPTIME_data data4 = new ODBPTIME_data();
  4767. public ODBPTIME_data data5 = new ODBPTIME_data();
  4768. public ODBPTIME_data data6 = new ODBPTIME_data();
  4769. public ODBPTIME_data data7 = new ODBPTIME_data();
  4770. public ODBPTIME_data data8 = new ODBPTIME_data();
  4771. public ODBPTIME_data data9 = new ODBPTIME_data();
  4772. public ODBPTIME_data data10 = new ODBPTIME_data();
  4773. } /* In case that the number of data is 10 */
  4774. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4775. public class ODBPTIME
  4776. {
  4777. public short num;
  4778. public ODBPTIME1 data = new ODBPTIME1();
  4779. }
  4780. /* cnc_rdprgdirtime:read program directory for processing time data */
  4781. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4782. public class PRGDIRTM_data
  4783. {
  4784. public int prg_no;
  4785. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)]
  4786. public string comment = new string(' ', 51);
  4787. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)]
  4788. public string cuttime = new string(' ', 13);
  4789. }
  4790. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4791. public class PRGDIRTM
  4792. {
  4793. public PRGDIRTM_data data1 = new PRGDIRTM_data();
  4794. public PRGDIRTM_data data2 = new PRGDIRTM_data();
  4795. public PRGDIRTM_data data3 = new PRGDIRTM_data();
  4796. public PRGDIRTM_data data4 = new PRGDIRTM_data();
  4797. public PRGDIRTM_data data5 = new PRGDIRTM_data();
  4798. public PRGDIRTM_data data6 = new PRGDIRTM_data();
  4799. public PRGDIRTM_data data7 = new PRGDIRTM_data();
  4800. public PRGDIRTM_data data8 = new PRGDIRTM_data();
  4801. public PRGDIRTM_data data9 = new PRGDIRTM_data();
  4802. public PRGDIRTM_data data10 = new PRGDIRTM_data();
  4803. } /* In case that the number of data is 10 */
  4804. /* cnc_rdprogdir2:read program directory 2 */
  4805. #if (!ONO8D)
  4806. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4807. public class PRGDIR2_data
  4808. {
  4809. public short number;
  4810. public int length;
  4811. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)]
  4812. public string comment = new string(' ', 51);
  4813. public byte dummy;
  4814. }
  4815. #else
  4816. [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=4)]
  4817. public class PRGDIR2_data
  4818. {
  4819. public int number ;
  4820. public int length ;
  4821. [MarshalAs(UnmanagedType.ByValTStr,SizeConst=51)]
  4822. public string comment= new string(' ',51) ;
  4823. public byte dummy ;
  4824. }
  4825. #endif
  4826. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4827. public class PRGDIR2
  4828. {
  4829. public PRGDIR2_data dir1 = new PRGDIR2_data();
  4830. public PRGDIR2_data dir2 = new PRGDIR2_data();
  4831. public PRGDIR2_data dir3 = new PRGDIR2_data();
  4832. public PRGDIR2_data dir4 = new PRGDIR2_data();
  4833. public PRGDIR2_data dir5 = new PRGDIR2_data();
  4834. public PRGDIR2_data dir6 = new PRGDIR2_data();
  4835. public PRGDIR2_data dir7 = new PRGDIR2_data();
  4836. public PRGDIR2_data dir8 = new PRGDIR2_data();
  4837. public PRGDIR2_data dir9 = new PRGDIR2_data();
  4838. public PRGDIR2_data dir10 = new PRGDIR2_data();
  4839. } /* In case that the number of data is 10 */
  4840. /* cnc_rdprogdir3:read program directory 3 */
  4841. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4842. public class DIR3_MDATE
  4843. {
  4844. public short year;
  4845. public short month;
  4846. public short day;
  4847. public short hour;
  4848. public short minute;
  4849. public short dummy;
  4850. }
  4851. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4852. public class DIR3_CDATE
  4853. {
  4854. public short year;
  4855. public short month;
  4856. public short day;
  4857. public short hour;
  4858. public short minute;
  4859. public short dummy;
  4860. }
  4861. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4862. public class PRGDIR3_data
  4863. {
  4864. public int number;
  4865. public int length;
  4866. public int page;
  4867. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)]
  4868. public string comment = new string(' ', 52);
  4869. public DIR3_MDATE mdate = new DIR3_MDATE();
  4870. public DIR3_CDATE cdate = new DIR3_CDATE();
  4871. }
  4872. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4873. public class PRGDIR3
  4874. {
  4875. public PRGDIR3_data dir1 = new PRGDIR3_data();
  4876. public PRGDIR3_data dir2 = new PRGDIR3_data();
  4877. public PRGDIR3_data dir3 = new PRGDIR3_data();
  4878. public PRGDIR3_data dir4 = new PRGDIR3_data();
  4879. public PRGDIR3_data dir5 = new PRGDIR3_data();
  4880. public PRGDIR3_data dir6 = new PRGDIR3_data();
  4881. public PRGDIR3_data dir7 = new PRGDIR3_data();
  4882. public PRGDIR3_data dir8 = new PRGDIR3_data();
  4883. public PRGDIR3_data dir9 = new PRGDIR3_data();
  4884. public PRGDIR3_data dir10 = new PRGDIR3_data();
  4885. } /* In case that the number of data is 10 */
  4886. /* cnc_rdprogdir4:read program directory 4 */
  4887. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4888. public class DIR4_MDATE
  4889. {
  4890. public short year;
  4891. public short month;
  4892. public short day;
  4893. public short hour;
  4894. public short minute;
  4895. public short dummy;
  4896. }
  4897. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4898. public class DIR4_CDATE
  4899. {
  4900. public short year;
  4901. public short month;
  4902. public short day;
  4903. public short hour;
  4904. public short minute;
  4905. public short dummy;
  4906. }
  4907. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4908. public class PRGDIR4_data
  4909. {
  4910. public int number;
  4911. public int length;
  4912. public int page;
  4913. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)]
  4914. public string comment = new string(' ', 52);
  4915. public DIR4_MDATE mdate = new DIR4_MDATE();
  4916. public DIR4_CDATE cdate = new DIR4_CDATE();
  4917. }
  4918. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4919. public class PRGDIR4
  4920. {
  4921. public PRGDIR4_data dir1 = new PRGDIR4_data();
  4922. public PRGDIR4_data dir2 = new PRGDIR4_data();
  4923. public PRGDIR4_data dir3 = new PRGDIR4_data();
  4924. public PRGDIR4_data dir4 = new PRGDIR4_data();
  4925. public PRGDIR4_data dir5 = new PRGDIR4_data();
  4926. public PRGDIR4_data dir6 = new PRGDIR4_data();
  4927. public PRGDIR4_data dir7 = new PRGDIR4_data();
  4928. public PRGDIR4_data dir8 = new PRGDIR4_data();
  4929. public PRGDIR4_data dir9 = new PRGDIR4_data();
  4930. public PRGDIR4_data dir10 = new PRGDIR4_data();
  4931. } /* In case that the number of data is 10 */
  4932. /* cnc_rdcomparam:read communication parameter for DNC1, DNC2, OSI-Ethernet */
  4933. /* cnc_wrcomparam:write communication parameter for DNC1, DNC2, OSI-Ethernet */
  4934. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4935. public class IODBCPRM
  4936. {
  4937. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)]
  4938. public string NcApli = new string(' ', 65);
  4939. public byte Dummy1;
  4940. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)]
  4941. public string HostApli = new string(' ', 65);
  4942. public byte Dummy2;
  4943. public uint StatPstv;
  4944. public uint StatNgtv;
  4945. public uint Statmask;
  4946. public uint AlarmStat;
  4947. public uint PsclHaddr;
  4948. public uint PsclLaddr;
  4949. public ushort SvcMode1;
  4950. public ushort SvcMode2;
  4951. public int FileTout;
  4952. public int RemTout;
  4953. }
  4954. /* cnc_rdintchk:read interference check */
  4955. /* cnc_wrintchk:write interference check */
  4956. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4957. public class IODBINT
  4958. {
  4959. public short datano_s; /* start offset No. */
  4960. public short type; /* kind of position */
  4961. public short datano_e; /* end offset No. */
  4962. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 3)]
  4963. public int[] data = new int[8 * 3]; /* position value of area for not attach */
  4964. }
  4965. /* cnc_rdwkcdshft:read work coordinate shift */
  4966. /* cnc_wrwkcdshft:write work coordinate shift */
  4967. /* cnc_rdwkcdsfms:read work coordinate shift measure */
  4968. /* cnc_wrwkcdsfms:write work coordinate shift measure */
  4969. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4970. public class IODBWCSF
  4971. {
  4972. public short datano; /* datano */
  4973. public short type; /* axis number */
  4974. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  4975. public int[] data = new int[MAX_AXIS]; /* data */
  4976. }
  4977. /* cnc_rdomhisinfo:read operator message history information */
  4978. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  4979. public class ODBOMIF
  4980. {
  4981. public ushort om_max; /* maximum operator message history */
  4982. public ushort om_sum; /* actually operator message history */
  4983. public ushort om_char; /* maximum character (include NULL) */
  4984. }
  4985. /* cnc_rdomhistry:read operator message history */
  4986. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  4987. public class ODBOMHIS_data
  4988. {
  4989. public short om_no; /* operator message number */
  4990. public short year; /* year */
  4991. public short month; /* month */
  4992. public short day; /* day */
  4993. public short hour; /* hour */
  4994. public short minute; /* mimute */
  4995. public short second; /* second */
  4996. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
  4997. public string om_msg = new string(' ', 256);
  4998. }
  4999. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5000. public class ODBOMHIS
  5001. {
  5002. public ODBOMHIS_data omhis1 = new ODBOMHIS_data();
  5003. public ODBOMHIS_data omhis2 = new ODBOMHIS_data();
  5004. public ODBOMHIS_data omhis3 = new ODBOMHIS_data();
  5005. public ODBOMHIS_data omhis4 = new ODBOMHIS_data();
  5006. public ODBOMHIS_data omhis5 = new ODBOMHIS_data();
  5007. public ODBOMHIS_data omhis6 = new ODBOMHIS_data();
  5008. public ODBOMHIS_data omhis7 = new ODBOMHIS_data();
  5009. public ODBOMHIS_data omhis8 = new ODBOMHIS_data();
  5010. public ODBOMHIS_data omhis9 = new ODBOMHIS_data();
  5011. public ODBOMHIS_data omhis10 = new ODBOMHIS_data();
  5012. } /* In case that the number of data is 10 */
  5013. /* cnc_rdbtofsr:read b-axis tool offset value(area specified) */
  5014. /* cnc_wrbtofsr:write b-axis tool offset value(area specified) */
  5015. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5016. public class IODBBTO
  5017. {
  5018. public short datano_s; /* start offset number */
  5019. public short type; /* offset type */
  5020. public short datano_e; /* end offset number */
  5021. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)]
  5022. public int[] ofs = new int[18]; /* offset */
  5023. } /* In case that the number of data is 9 (B type) */
  5024. /* cnc_rdbtofsinfo:read b-axis tool offset information */
  5025. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5026. public class ODBBTLINF
  5027. {
  5028. public short ofs_type; /* memory type */
  5029. public short use_no; /* sum of b-axis offset */
  5030. public short sub_no; /* sub function number of offset cancel */
  5031. }
  5032. /* cnc_rdbaxis:read b-axis command */
  5033. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5034. public class ODBBAXIS
  5035. {
  5036. public short flag; /* b-axis command exist or not */
  5037. public short command; /* b-axis command */
  5038. public ushort speed; /* b-axis speed */
  5039. public int sub_data; /* b-axis sub data */
  5040. }
  5041. /* cnc_rdsyssoft:read CNC system soft series and version */
  5042. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  5043. public class ODBSYSS
  5044. {
  5045. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  5046. public byte[] slot_no_p;
  5047. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  5048. public byte[] slot_no_l;
  5049. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  5050. public short[] module_id;
  5051. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  5052. public short[] soft_id;
  5053. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5054. public string soft_series1 = new string(' ', 5);
  5055. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5056. public string soft_series2 = new string(' ', 5);
  5057. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5058. public string soft_series3 = new string(' ', 5);
  5059. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5060. public string soft_series4 = new string(' ', 5);
  5061. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5062. public string soft_series5 = new string(' ', 5);
  5063. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5064. public string soft_series6 = new string(' ', 5);
  5065. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5066. public string soft_series7 = new string(' ', 5);
  5067. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5068. public string soft_series8 = new string(' ', 5);
  5069. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5070. public string soft_series9 = new string(' ', 5);
  5071. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5072. public string soft_series10 = new string(' ', 5);
  5073. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5074. public string soft_series11 = new string(' ', 5);
  5075. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5076. public string soft_series12 = new string(' ', 5);
  5077. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5078. public string soft_series13 = new string(' ', 5);
  5079. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5080. public string soft_series14 = new string(' ', 5);
  5081. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5082. public string soft_series15 = new string(' ', 5);
  5083. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5084. public string soft_series16 = new string(' ', 5);
  5085. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5086. public string soft_version1 = new string(' ', 5);
  5087. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5088. public string soft_version2 = new string(' ', 5);
  5089. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5090. public string soft_version3 = new string(' ', 5);
  5091. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5092. public string soft_version4 = new string(' ', 5);
  5093. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5094. public string soft_version5 = new string(' ', 5);
  5095. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5096. public string soft_version6 = new string(' ', 5);
  5097. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5098. public string soft_version7 = new string(' ', 5);
  5099. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5100. public string soft_version8 = new string(' ', 5);
  5101. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5102. public string soft_version9 = new string(' ', 5);
  5103. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5104. public string soft_version10 = new string(' ', 5);
  5105. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5106. public string soft_version11 = new string(' ', 5);
  5107. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5108. public string soft_version12 = new string(' ', 5);
  5109. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5110. public string soft_version13 = new string(' ', 5);
  5111. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5112. public string soft_version14 = new string(' ', 5);
  5113. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5114. public string soft_version15 = new string(' ', 5);
  5115. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5116. public string soft_version16 = new string(' ', 5);
  5117. public short soft_inst;
  5118. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5119. public string boot_ser = new string(' ', 5);
  5120. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5121. public string boot_ver = new string(' ', 5);
  5122. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5123. public string servo_ser = new string(' ', 5);
  5124. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5125. public string servo_ver = new string(' ', 5);
  5126. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5127. public string pmc_ser = new string(' ', 5);
  5128. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5129. public string pmc_ver = new string(' ', 5);
  5130. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5131. public string ladder_ser = new string(' ', 5);
  5132. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5133. public string ladder_ver = new string(' ', 5);
  5134. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5135. public string mcrlib_ser = new string(' ', 5);
  5136. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5137. public string mcrlib_ver = new string(' ', 5);
  5138. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5139. public string mcrapl_ser = new string(' ', 5);
  5140. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5141. public string mcrapl_ver = new string(' ', 5);
  5142. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5143. public string spl1_ser = new string(' ', 5);
  5144. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5145. public string spl1_ver = new string(' ', 5);
  5146. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5147. public string spl2_ser = new string(' ', 5);
  5148. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5149. public string spl2_ver = new string(' ', 5);
  5150. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5151. public string spl3_ser = new string(' ', 5);
  5152. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5153. public string spl3_ver = new string(' ', 5);
  5154. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5155. public string c_exelib_ser = new string(' ', 5);
  5156. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5157. public string c_exelib_ver = new string(' ', 5);
  5158. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5159. public string c_exeapl_ser = new string(' ', 5);
  5160. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5161. public string c_exeapl_ver = new string(' ', 5);
  5162. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5163. public string int_vga_ser = new string(' ', 5);
  5164. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5165. public string int_vga_ver = new string(' ', 5);
  5166. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5167. public string out_vga_ser = new string(' ', 5);
  5168. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5169. public string out_vga_ver = new string(' ', 5);
  5170. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5171. public string pmm_ser = new string(' ', 5);
  5172. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5173. public string pmm_ver = new string(' ', 5);
  5174. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5175. public string pmc_mng_ser = new string(' ', 5);
  5176. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5177. public string pmc_mng_ver = new string(' ', 5);
  5178. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5179. public string pmc_shin_ser = new string(' ', 5);
  5180. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5181. public string pmc_shin_ver = new string(' ', 5);
  5182. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5183. public string pmc_shout_ser = new string(' ', 5);
  5184. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5185. public string pmc_shout_ver = new string(' ', 5);
  5186. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5187. public string pmc_c_ser = new string(' ', 5);
  5188. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5189. public string pmc_c_ver = new string(' ', 5);
  5190. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5191. public string pmc_edit_ser = new string(' ', 5);
  5192. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5193. public string pmc_edit_ver = new string(' ', 5);
  5194. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5195. public string lddr_mng_ser = new string(' ', 5);
  5196. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5197. public string lddr_mng_ver = new string(' ', 5);
  5198. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5199. public string lddr_apl_ser = new string(' ', 5);
  5200. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5201. public string lddr_apl_ver = new string(' ', 5);
  5202. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5203. public string spl4_ser = new string(' ', 5);
  5204. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5205. public string spl4_ver = new string(' ', 5);
  5206. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5207. public string mcr2_ser = new string(' ', 5);
  5208. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5209. public string mcr2_ver = new string(' ', 5);
  5210. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5211. public string mcr3_ser = new string(' ', 5);
  5212. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5213. public string mcr3_ver = new string(' ', 5);
  5214. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5215. public string eth_boot_ser = new string(' ', 5);
  5216. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5217. public string eth_boot_ver = new string(' ', 5);
  5218. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 5)]
  5219. public byte[] reserve;
  5220. }
  5221. /* cnc_rdsyssoft2:read CNC system soft series and version (2) */
  5222. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  5223. public class ODBSYSS2
  5224. {
  5225. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  5226. public byte[] slot_no_p;
  5227. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  5228. public byte[] slot_no_l;
  5229. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  5230. public short[] module_id;
  5231. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  5232. public short[] soft_id;
  5233. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5234. public string soft_series1 = new string(' ', 5);
  5235. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5236. public string soft_series2 = new string(' ', 5);
  5237. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5238. public string soft_series3 = new string(' ', 5);
  5239. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5240. public string soft_series4 = new string(' ', 5);
  5241. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5242. public string soft_series5 = new string(' ', 5);
  5243. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5244. public string soft_series6 = new string(' ', 5);
  5245. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5246. public string soft_series7 = new string(' ', 5);
  5247. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5248. public string soft_series8 = new string(' ', 5);
  5249. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5250. public string soft_series9 = new string(' ', 5);
  5251. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5252. public string soft_series10 = new string(' ', 5);
  5253. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5254. public string soft_series11 = new string(' ', 5);
  5255. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5256. public string soft_series12 = new string(' ', 5);
  5257. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5258. public string soft_series13 = new string(' ', 5);
  5259. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5260. public string soft_series14 = new string(' ', 5);
  5261. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5262. public string soft_series15 = new string(' ', 5);
  5263. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5264. public string soft_series16 = new string(' ', 5);
  5265. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5266. public string soft_version1 = new string(' ', 5);
  5267. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5268. public string soft_version2 = new string(' ', 5);
  5269. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5270. public string soft_version3 = new string(' ', 5);
  5271. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5272. public string soft_version4 = new string(' ', 5);
  5273. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5274. public string soft_version5 = new string(' ', 5);
  5275. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5276. public string soft_version6 = new string(' ', 5);
  5277. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5278. public string soft_version7 = new string(' ', 5);
  5279. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5280. public string soft_version8 = new string(' ', 5);
  5281. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5282. public string soft_version9 = new string(' ', 5);
  5283. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5284. public string soft_version10 = new string(' ', 5);
  5285. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5286. public string soft_version11 = new string(' ', 5);
  5287. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5288. public string soft_version12 = new string(' ', 5);
  5289. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5290. public string soft_version13 = new string(' ', 5);
  5291. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5292. public string soft_version14 = new string(' ', 5);
  5293. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5294. public string soft_version15 = new string(' ', 5);
  5295. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5296. public string soft_version16 = new string(' ', 5);
  5297. public short soft_inst;
  5298. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5299. public string boot_ser = new string(' ', 5);
  5300. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5301. public string boot_ver = new string(' ', 5);
  5302. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5303. public string servo_ser = new string(' ', 5);
  5304. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5305. public string servo_ver = new string(' ', 5);
  5306. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5307. public string pmc_ser = new string(' ', 5);
  5308. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5309. public string pmc_ver = new string(' ', 5);
  5310. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5311. public string ladder_ser = new string(' ', 5);
  5312. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5313. public string ladder_ver = new string(' ', 5);
  5314. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5315. public string mcrlib_ser = new string(' ', 5);
  5316. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5317. public string mcrlib_ver = new string(' ', 5);
  5318. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5319. public string mcrapl_ser = new string(' ', 5);
  5320. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5321. public string mcrapl_ver = new string(' ', 5);
  5322. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5323. public string spl1_ser = new string(' ', 5);
  5324. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5325. public string spl1_ver = new string(' ', 5);
  5326. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5327. public string spl2_ser = new string(' ', 5);
  5328. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5329. public string spl2_ver = new string(' ', 5);
  5330. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5331. public string spl3_ser = new string(' ', 5);
  5332. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5333. public string spl3_ver = new string(' ', 5);
  5334. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5335. public string c_exelib_ser = new string(' ', 5);
  5336. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5337. public string c_exelib_ver = new string(' ', 5);
  5338. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5339. public string c_exeapl_ser = new string(' ', 5);
  5340. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5341. public string c_exeapl_ver = new string(' ', 5);
  5342. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5343. public string int_vga_ser = new string(' ', 5);
  5344. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5345. public string int_vga_ver = new string(' ', 5);
  5346. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5347. public string out_vga_ser = new string(' ', 5);
  5348. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5349. public string out_vga_ver = new string(' ', 5);
  5350. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5351. public string pmm_ser = new string(' ', 5);
  5352. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5353. public string pmm_ver = new string(' ', 5);
  5354. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5355. public string pmc_mng_ser = new string(' ', 5);
  5356. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5357. public string pmc_mng_ver = new string(' ', 5);
  5358. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5359. public string pmc_shin_ser = new string(' ', 5);
  5360. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5361. public string pmc_shin_ver = new string(' ', 5);
  5362. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5363. public string pmc_shout_ser = new string(' ', 5);
  5364. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5365. public string pmc_shout_ver = new string(' ', 5);
  5366. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5367. public string pmc_c_ser = new string(' ', 5);
  5368. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5369. public string pmc_c_ver = new string(' ', 5);
  5370. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5371. public string pmc_edit_ser = new string(' ', 5);
  5372. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5373. public string pmc_edit_ver = new string(' ', 5);
  5374. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5375. public string lddr_mng_ser = new string(' ', 5);
  5376. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5377. public string lddr_mng_ver = new string(' ', 5);
  5378. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5379. public string lddr_apl_ser = new string(' ', 5);
  5380. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5381. public string lddr_apl_ver = new string(' ', 5);
  5382. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5383. public string spl4_ser = new string(' ', 5);
  5384. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5385. public string spl4_ver = new string(' ', 5);
  5386. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5387. public string mcr2_ser = new string(' ', 5);
  5388. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5389. public string mcr2_ver = new string(' ', 5);
  5390. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5391. public string mcr3_ser = new string(' ', 5);
  5392. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5393. public string mcr3_ver = new string(' ', 5);
  5394. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5395. public string eth_boot_ser = new string(' ', 5);
  5396. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5397. public string eth_boot_ver = new string(' ', 5);
  5398. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 5)]
  5399. public byte[] reserve;
  5400. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5401. public string embEthe_ser = new string(' ', 5);
  5402. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  5403. public string embEthe_ver = new string(' ', 5);
  5404. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 38 * 5)]
  5405. public byte[] reserve2;
  5406. }
  5407. /* cnc_rdsyssoft3:read CNC system soft series and version (3) */
  5408. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5409. public class ODBSYSS3_data
  5410. {
  5411. public short soft_id;
  5412. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  5413. public char[] soft_series;
  5414. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  5415. public char[] soft_edition;
  5416. }
  5417. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5418. public class ODBSYSS3
  5419. {
  5420. public ODBSYSS3_data p1 = new ODBSYSS3_data();
  5421. public ODBSYSS3_data p2 = new ODBSYSS3_data();
  5422. public ODBSYSS3_data p3 = new ODBSYSS3_data();
  5423. public ODBSYSS3_data p4 = new ODBSYSS3_data();
  5424. public ODBSYSS3_data p5 = new ODBSYSS3_data();
  5425. public ODBSYSS3_data p6 = new ODBSYSS3_data();
  5426. public ODBSYSS3_data p7 = new ODBSYSS3_data();
  5427. public ODBSYSS3_data p8 = new ODBSYSS3_data();
  5428. public ODBSYSS3_data p9 = new ODBSYSS3_data();
  5429. public ODBSYSS3_data p10 = new ODBSYSS3_data();
  5430. public ODBSYSS3_data p11 = new ODBSYSS3_data();
  5431. public ODBSYSS3_data p12 = new ODBSYSS3_data();
  5432. public ODBSYSS3_data p13 = new ODBSYSS3_data();
  5433. public ODBSYSS3_data p14 = new ODBSYSS3_data();
  5434. public ODBSYSS3_data p15 = new ODBSYSS3_data();
  5435. public ODBSYSS3_data p16 = new ODBSYSS3_data();
  5436. public ODBSYSS3_data p17 = new ODBSYSS3_data();
  5437. public ODBSYSS3_data p18 = new ODBSYSS3_data();
  5438. public ODBSYSS3_data p19 = new ODBSYSS3_data();
  5439. public ODBSYSS3_data p20 = new ODBSYSS3_data();
  5440. public ODBSYSS3_data p21 = new ODBSYSS3_data();
  5441. public ODBSYSS3_data p22 = new ODBSYSS3_data();
  5442. public ODBSYSS3_data p23 = new ODBSYSS3_data();
  5443. public ODBSYSS3_data p24 = new ODBSYSS3_data();
  5444. public ODBSYSS3_data p25 = new ODBSYSS3_data();
  5445. public ODBSYSS3_data p26 = new ODBSYSS3_data();
  5446. public ODBSYSS3_data p27 = new ODBSYSS3_data();
  5447. public ODBSYSS3_data p28 = new ODBSYSS3_data();
  5448. public ODBSYSS3_data p29 = new ODBSYSS3_data();
  5449. public ODBSYSS3_data p30 = new ODBSYSS3_data();
  5450. public ODBSYSS3_data p31 = new ODBSYSS3_data();
  5451. public ODBSYSS3_data p32 = new ODBSYSS3_data();
  5452. public ODBSYSS3_data p33 = new ODBSYSS3_data();
  5453. public ODBSYSS3_data p34 = new ODBSYSS3_data();
  5454. public ODBSYSS3_data p35 = new ODBSYSS3_data();
  5455. public ODBSYSS3_data p36 = new ODBSYSS3_data();
  5456. public ODBSYSS3_data p37 = new ODBSYSS3_data();
  5457. public ODBSYSS3_data p38 = new ODBSYSS3_data();
  5458. public ODBSYSS3_data p39 = new ODBSYSS3_data();
  5459. public ODBSYSS3_data p40 = new ODBSYSS3_data();
  5460. }
  5461. /* cnc_rdsyshard:read CNC system hard info */
  5462. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5463. public class ODBSYSH_data
  5464. {
  5465. public uint id1;
  5466. public uint id2;
  5467. public short group_id;
  5468. public short hard_id;
  5469. public short hard_num;
  5470. public short slot_no;
  5471. public short id1_format;
  5472. public short id2_format;
  5473. }
  5474. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5475. public class ODBSYSH
  5476. {
  5477. public ODBSYSH_data data1 = new ODBSYSH_data();
  5478. public ODBSYSH_data data2 = new ODBSYSH_data();
  5479. public ODBSYSH_data data3 = new ODBSYSH_data();
  5480. public ODBSYSH_data data4 = new ODBSYSH_data();
  5481. public ODBSYSH_data data5 = new ODBSYSH_data();
  5482. public ODBSYSH_data data6 = new ODBSYSH_data();
  5483. public ODBSYSH_data data7 = new ODBSYSH_data();
  5484. public ODBSYSH_data data8 = new ODBSYSH_data();
  5485. public ODBSYSH_data data9 = new ODBSYSH_data();
  5486. public ODBSYSH_data data10 = new ODBSYSH_data();
  5487. public ODBSYSH_data data11 = new ODBSYSH_data();
  5488. public ODBSYSH_data data12 = new ODBSYSH_data();
  5489. public ODBSYSH_data data13 = new ODBSYSH_data();
  5490. public ODBSYSH_data data14 = new ODBSYSH_data();
  5491. public ODBSYSH_data data15 = new ODBSYSH_data();
  5492. public ODBSYSH_data data16 = new ODBSYSH_data();
  5493. public ODBSYSH_data data17 = new ODBSYSH_data();
  5494. public ODBSYSH_data data18 = new ODBSYSH_data();
  5495. public ODBSYSH_data data19 = new ODBSYSH_data();
  5496. public ODBSYSH_data data20 = new ODBSYSH_data();
  5497. public ODBSYSH_data data21 = new ODBSYSH_data();
  5498. public ODBSYSH_data data22 = new ODBSYSH_data();
  5499. public ODBSYSH_data data23 = new ODBSYSH_data();
  5500. public ODBSYSH_data data24 = new ODBSYSH_data();
  5501. public ODBSYSH_data data25 = new ODBSYSH_data();
  5502. }
  5503. /* cnc_rdmdlconfig:read CNC module configuration information */
  5504. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5505. public class ODBMDLC
  5506. {
  5507. public short from;
  5508. public short dram;
  5509. public short sram;
  5510. public short pmc;
  5511. public short crtc;
  5512. public short servo12;
  5513. public short servo34;
  5514. public short servo56;
  5515. public short servo78;
  5516. public short sic;
  5517. public short pos_lsi;
  5518. public short hi_aio;
  5519. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  5520. public short[] reserve;
  5521. public short drmmrc;
  5522. public short drmarc;
  5523. public short pmcmrc;
  5524. public short dmaarc;
  5525. public short iopt;
  5526. public short hdiio;
  5527. public short gm2gr1;
  5528. public short crtgr2;
  5529. public short gm1gr2;
  5530. public short gm2gr2;
  5531. public short cmmrb;
  5532. public short sv5axs;
  5533. public short sv7axs;
  5534. public short sicaxs;
  5535. public short posaxs;
  5536. public short hamaxs;
  5537. public short romr64;
  5538. public short srmr64;
  5539. public short dr1r64;
  5540. public short dr2r64;
  5541. public short iopio2;
  5542. public short hdiio2;
  5543. public short cmmrb2;
  5544. public short romfap;
  5545. public short srmfap;
  5546. public short drmfap;
  5547. public short drmare;
  5548. public short pmcmre;
  5549. public short dmaare;
  5550. public short frmbgg;
  5551. public short drmbgg;
  5552. public short asrbgg;
  5553. public short edtpsc;
  5554. public short slcpsc;
  5555. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 34)]
  5556. public short[] reserve2;
  5557. }
  5558. /* cnc_rdpscdproc:read processing condition file (processing data) */
  5559. /* cnc_wrpscdproc:write processing condition file (processing data) */
  5560. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5561. public class IODBPSCD_data
  5562. {
  5563. public short slct;
  5564. public int feed;
  5565. public short power;
  5566. public short freq;
  5567. public short duty;
  5568. public short g_press;
  5569. public short g_kind;
  5570. public short g_ready_t;
  5571. public short displace;
  5572. public int supple;
  5573. public short edge_slt;
  5574. public short appr_slt;
  5575. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  5576. public short[] reserve = new short[5];
  5577. }
  5578. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5579. public class IODBPSCD
  5580. {
  5581. public IODBPSCD_data data1 = new IODBPSCD_data();
  5582. public IODBPSCD_data data2 = new IODBPSCD_data();
  5583. public IODBPSCD_data data3 = new IODBPSCD_data();
  5584. public IODBPSCD_data data4 = new IODBPSCD_data();
  5585. public IODBPSCD_data data5 = new IODBPSCD_data();
  5586. public IODBPSCD_data data6 = new IODBPSCD_data();
  5587. public IODBPSCD_data data7 = new IODBPSCD_data();
  5588. public IODBPSCD_data data8 = new IODBPSCD_data();
  5589. public IODBPSCD_data data9 = new IODBPSCD_data();
  5590. public IODBPSCD_data data10 = new IODBPSCD_data();
  5591. } /* In case that the number of data is 10 */
  5592. /* cnc_rdpscdpirc:read processing condition file (piercing data) */
  5593. /* cnc_wrpscdpirc:write processing condition file (piercing data) */
  5594. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5595. public class IODBPIRC_data
  5596. {
  5597. public short slct;
  5598. public short power;
  5599. public short freq;
  5600. public short duty;
  5601. public short i_freq;
  5602. public short i_duty;
  5603. public short step_t;
  5604. public short step_sum;
  5605. public int pier_t;
  5606. public short g_press;
  5607. public short g_kind;
  5608. public short g_time;
  5609. public short def_pos;
  5610. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  5611. public short[] reserve = new short[4];
  5612. }
  5613. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5614. public class IODBPIRC
  5615. {
  5616. public IODBPIRC_data data1 = new IODBPIRC_data();
  5617. public IODBPIRC_data data2 = new IODBPIRC_data();
  5618. public IODBPIRC_data data3 = new IODBPIRC_data();
  5619. }
  5620. /* cnc_rdpscdedge:read processing condition file (edging data) */
  5621. /* cnc_wrpscdedge:write processing condition file (edging data) */
  5622. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5623. public class IODBEDGE_data
  5624. {
  5625. public short slct;
  5626. public short angle;
  5627. public short power;
  5628. public short freq;
  5629. public short duty;
  5630. public int pier_t;
  5631. public short g_press;
  5632. public short g_kind;
  5633. public int r_len;
  5634. public short r_feed;
  5635. public short r_freq;
  5636. public short r_duty;
  5637. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  5638. public short[] reserve = new short[5];
  5639. }
  5640. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5641. public class IODBEDGE
  5642. {
  5643. public IODBEDGE_data data1 = new IODBEDGE_data();
  5644. public IODBEDGE_data data2 = new IODBEDGE_data();
  5645. public IODBEDGE_data data3 = new IODBEDGE_data();
  5646. public IODBEDGE_data data4 = new IODBEDGE_data();
  5647. public IODBEDGE_data data5 = new IODBEDGE_data();
  5648. }
  5649. /* cnc_rdpscdslop:read processing condition file (slope data) */
  5650. /* cnc_wrpscdslop:write processing condition file (slope data) */
  5651. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5652. public class IODBSLOP_data
  5653. {
  5654. public int slct;
  5655. public int upleng;
  5656. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  5657. public short[] upsp = new short[10];
  5658. public int dwleng;
  5659. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  5660. public short[] dwsp = new short[10];
  5661. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
  5662. public short[] reserve = new short[10];
  5663. }
  5664. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5665. public class IODBSLOP
  5666. {
  5667. public IODBSLOP_data data1 = new IODBSLOP_data();
  5668. public IODBSLOP_data data2 = new IODBSLOP_data();
  5669. public IODBSLOP_data data3 = new IODBSLOP_data();
  5670. public IODBSLOP_data data4 = new IODBSLOP_data();
  5671. public IODBSLOP_data data5 = new IODBSLOP_data();
  5672. }
  5673. /* cnc_rdlpwrdty:read power controll duty data */
  5674. /* cnc_wrlpwrdty:write power controll duty data */
  5675. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5676. public class IODBLPWDT
  5677. {
  5678. public short slct;
  5679. public short dty_const;
  5680. public short dty_min;
  5681. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
  5682. public short[] reserve = new short[6];
  5683. }
  5684. /* cnc_rdlpwrdat:read laser power data */
  5685. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5686. public class ODBLOPDT
  5687. {
  5688. public short slct;
  5689. public short pwr_mon;
  5690. public short pwr_ofs;
  5691. public short pwr_act;
  5692. public int feed_act;
  5693. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  5694. public short[] reserve;
  5695. }
  5696. /* cnc_rdlagslt:read laser assist gas selection */
  5697. /* cnc_wrlagslt:write laser assist gas selection */
  5698. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5699. public class IODBLAGSL
  5700. {
  5701. public short slct;
  5702. public short ag_slt;
  5703. public short agflow_slt;
  5704. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
  5705. public short[] reserve = new short[6];
  5706. }
  5707. /* cnc_rdlagst:read laser assist gas flow */
  5708. /* cnc_wrlagst:write laser assist gas flow */
  5709. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5710. public class GASFLOW
  5711. {
  5712. public short slct;
  5713. public short pre_time;
  5714. public short pre_press;
  5715. public short proc_press;
  5716. public short end_time;
  5717. public short end_press;
  5718. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  5719. public short[] reserve = new short[3];
  5720. }
  5721. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5722. public class IODBLAGST
  5723. {
  5724. public GASFLOW data1 = new GASFLOW();
  5725. public GASFLOW data2 = new GASFLOW();
  5726. public GASFLOW data3 = new GASFLOW();
  5727. }
  5728. /* cnc_rdledgprc:read laser power for edge processing */
  5729. /* cnc_wrledgprc:write laser power for edge processing */
  5730. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5731. public class IODBLEGPR
  5732. {
  5733. public short slct;
  5734. public short power;
  5735. public short freq;
  5736. public short duty;
  5737. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  5738. public short[] reserve = new short[5];
  5739. }
  5740. /* cnc_rdlprcprc:read laser power for piercing */
  5741. /* cnc_wrlprcprc:write laser power for piercing */
  5742. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5743. public class IODBLPCPR
  5744. {
  5745. public short slct;
  5746. public short power;
  5747. public short freq;
  5748. public short duty;
  5749. public int time;
  5750. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  5751. public short[] reserve = new short[4];
  5752. }
  5753. /* cnc_rdlcmddat:read laser command data */
  5754. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5755. public class ODBLCMDT
  5756. {
  5757. public short slct;
  5758. public int feed;
  5759. public short power;
  5760. public short freq;
  5761. public short duty;
  5762. public short g_kind;
  5763. public short g_ready_t;
  5764. public short g_press;
  5765. public short error;
  5766. public int dsplc;
  5767. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
  5768. public short[] reserve = new short[7];
  5769. }
  5770. /* cnc_rdlactnum:read active number */
  5771. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5772. public class ODBLACTN
  5773. {
  5774. public short slct;
  5775. public short act_proc;
  5776. public short act_pirce;
  5777. public short act_slop;
  5778. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  5779. public short[] reserve = new short[5];
  5780. }
  5781. /* cnc_rdlcmmt:read laser comment */
  5782. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  5783. public class ODBLCMMT
  5784. {
  5785. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 25)]
  5786. public string comment = new string(' ', 25);
  5787. }
  5788. /* cnc_rdpwofsthis:read power correction factor history data */
  5789. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5790. public class ODBPWOFST_data
  5791. {
  5792. public int pwratio;
  5793. public int rfvolt;
  5794. public ushort year;
  5795. public ushort month;
  5796. public ushort day;
  5797. public ushort hour;
  5798. public ushort minute;
  5799. public ushort second;
  5800. }
  5801. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5802. public class ODBPWOFST
  5803. {
  5804. public ODBPWOFST_data data1 = new ODBPWOFST_data();
  5805. public ODBPWOFST_data data2 = new ODBPWOFST_data();
  5806. public ODBPWOFST_data data3 = new ODBPWOFST_data();
  5807. public ODBPWOFST_data data4 = new ODBPWOFST_data();
  5808. public ODBPWOFST_data data5 = new ODBPWOFST_data();
  5809. public ODBPWOFST_data data6 = new ODBPWOFST_data();
  5810. public ODBPWOFST_data data7 = new ODBPWOFST_data();
  5811. public ODBPWOFST_data data8 = new ODBPWOFST_data();
  5812. public ODBPWOFST_data data9 = new ODBPWOFST_data();
  5813. public ODBPWOFST_data data10 = new ODBPWOFST_data();
  5814. public ODBPWOFST_data data11 = new ODBPWOFST_data();
  5815. public ODBPWOFST_data data12 = new ODBPWOFST_data();
  5816. public ODBPWOFST_data data13 = new ODBPWOFST_data();
  5817. public ODBPWOFST_data data14 = new ODBPWOFST_data();
  5818. public ODBPWOFST_data data15 = new ODBPWOFST_data();
  5819. public ODBPWOFST_data data16 = new ODBPWOFST_data();
  5820. public ODBPWOFST_data data17 = new ODBPWOFST_data();
  5821. public ODBPWOFST_data data18 = new ODBPWOFST_data();
  5822. public ODBPWOFST_data data19 = new ODBPWOFST_data();
  5823. public ODBPWOFST_data data20 = new ODBPWOFST_data();
  5824. public ODBPWOFST_data data21 = new ODBPWOFST_data();
  5825. public ODBPWOFST_data data22 = new ODBPWOFST_data();
  5826. public ODBPWOFST_data data23 = new ODBPWOFST_data();
  5827. public ODBPWOFST_data data24 = new ODBPWOFST_data();
  5828. public ODBPWOFST_data data25 = new ODBPWOFST_data();
  5829. public ODBPWOFST_data data26 = new ODBPWOFST_data();
  5830. public ODBPWOFST_data data27 = new ODBPWOFST_data();
  5831. public ODBPWOFST_data data28 = new ODBPWOFST_data();
  5832. public ODBPWOFST_data data29 = new ODBPWOFST_data();
  5833. public ODBPWOFST_data data30 = new ODBPWOFST_data();
  5834. }
  5835. /* cnc_rdmngtime:read management time */
  5836. /* cnc_wrmngtime:write management time */
  5837. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5838. public class IODBMNGTIME_data
  5839. {
  5840. public uint life;
  5841. public uint total;
  5842. }
  5843. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5844. public class IODBMNGTIME
  5845. {
  5846. public IODBMNGTIME_data data1 = new IODBMNGTIME_data();
  5847. public IODBMNGTIME_data data2 = new IODBMNGTIME_data();
  5848. public IODBMNGTIME_data data3 = new IODBMNGTIME_data();
  5849. public IODBMNGTIME_data data4 = new IODBMNGTIME_data();
  5850. public IODBMNGTIME_data data5 = new IODBMNGTIME_data();
  5851. public IODBMNGTIME_data data6 = new IODBMNGTIME_data();
  5852. public IODBMNGTIME_data data7 = new IODBMNGTIME_data();
  5853. public IODBMNGTIME_data data8 = new IODBMNGTIME_data();
  5854. public IODBMNGTIME_data data9 = new IODBMNGTIME_data();
  5855. public IODBMNGTIME_data data10 = new IODBMNGTIME_data();
  5856. } /* In case that the number of data is 10 */
  5857. /* cnc_rddischarge:read data related to electrical discharge at power correction ends */
  5858. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5859. public class ODBDISCHRG
  5860. {
  5861. public ushort aps;
  5862. public ushort year;
  5863. public ushort month;
  5864. public ushort day;
  5865. public ushort hour;
  5866. public ushort minute;
  5867. public ushort second;
  5868. public short hpc;
  5869. public short hfq;
  5870. public short hdt;
  5871. public short hpa;
  5872. public int hce;
  5873. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5874. public int[] rfi;
  5875. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5876. public int[] rfv;
  5877. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5878. public int[] dci;
  5879. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5880. public int[] dcv;
  5881. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5882. public int[] dcw;
  5883. }
  5884. /* cnc_rddischrgalm:read alarm history data related to electrical discharg */
  5885. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5886. public class ODBDISCHRGALM_data
  5887. {
  5888. public ushort year;
  5889. public ushort month;
  5890. public ushort day;
  5891. public ushort hour;
  5892. public ushort minute;
  5893. public ushort second;
  5894. public int almnum;
  5895. public uint psec;
  5896. public short hpc;
  5897. public short hfq;
  5898. public short hdt;
  5899. public short hpa;
  5900. public int hce;
  5901. public ushort asq;
  5902. public ushort psu;
  5903. public ushort aps;
  5904. public short dummy;
  5905. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5906. public int[] rfi;
  5907. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5908. public int[] rfv;
  5909. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5910. public int[] dci;
  5911. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5912. public int[] dcv;
  5913. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5914. public int[] dcw;
  5915. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  5916. public short[] almcd;
  5917. }
  5918. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5919. public class ODBDISCHRGALM
  5920. {
  5921. public ODBDISCHRGALM_data data1 = new ODBDISCHRGALM_data();
  5922. public ODBDISCHRGALM_data data2 = new ODBDISCHRGALM_data();
  5923. public ODBDISCHRGALM_data data3 = new ODBDISCHRGALM_data();
  5924. public ODBDISCHRGALM_data data4 = new ODBDISCHRGALM_data();
  5925. public ODBDISCHRGALM_data data5 = new ODBDISCHRGALM_data();
  5926. }
  5927. /* cnc_gettimer:get date and time from cnc */
  5928. /* cnc_settimer:set date and time for cnc */
  5929. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5930. public struct TIMER_DATE
  5931. {
  5932. public short year;
  5933. public short month;
  5934. public short date;
  5935. }
  5936. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5937. public struct TIMER_TIME
  5938. {
  5939. public short hour;
  5940. public short minute;
  5941. public short second;
  5942. }
  5943. [StructLayout(LayoutKind.Explicit)]
  5944. public class IODBTIMER
  5945. {
  5946. [FieldOffset(0)]
  5947. public short type;
  5948. [FieldOffset(2)]
  5949. public short dummy;
  5950. [FieldOffset(4)]
  5951. public TIMER_DATE date;
  5952. [FieldOffset(4)]
  5953. public TIMER_TIME time;
  5954. }
  5955. /* cnc_rdtimer:read timer data from cnc */
  5956. /* cnc_wrtimer:write timer data for cnc */
  5957. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5958. public class IODBTIME
  5959. {
  5960. public int minute;
  5961. public int msec;
  5962. }
  5963. /* cnc_rdtlctldata: read tool controll data */
  5964. /* cnc_wrtlctldata: write tool controll data */
  5965. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5966. public class IODBTLCTL
  5967. {
  5968. public short slct;
  5969. public short used_tool;
  5970. public short turret_indx;
  5971. public int zero_tl_no;
  5972. public int t_axis_move;
  5973. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  5974. public int[] total_punch = new int[2];
  5975. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)]
  5976. public short[] reserve = new short[11];
  5977. }
  5978. /* cnc_rdtooldata: read tool data */
  5979. /* cnc_wrtooldata: read tool data */
  5980. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  5981. public class IODBTLDT_data
  5982. {
  5983. public short slct;
  5984. public int tool_no;
  5985. public int x_axis_ofs;
  5986. public int y_axis_ofs;
  5987. public int turret_pos;
  5988. public int chg_tl_no;
  5989. public int punch_count;
  5990. public int tool_life;
  5991. public int m_tl_radius;
  5992. public int m_tl_angle;
  5993. public byte tl_shape;
  5994. public int tl_size_i;
  5995. public int tl_size_j;
  5996. public int tl_angle;
  5997. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  5998. public int[] reserve = new int[3];
  5999. }
  6000. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6001. public class IODBTLDT
  6002. {
  6003. public IODBTLDT_data data1 = new IODBTLDT_data();
  6004. public IODBTLDT_data data2 = new IODBTLDT_data();
  6005. public IODBTLDT_data data3 = new IODBTLDT_data();
  6006. public IODBTLDT_data data4 = new IODBTLDT_data();
  6007. public IODBTLDT_data data5 = new IODBTLDT_data();
  6008. public IODBTLDT_data data6 = new IODBTLDT_data();
  6009. public IODBTLDT_data data7 = new IODBTLDT_data();
  6010. public IODBTLDT_data data8 = new IODBTLDT_data();
  6011. public IODBTLDT_data data9 = new IODBTLDT_data();
  6012. public IODBTLDT_data data10 = new IODBTLDT_data();
  6013. } /* In case that the number of data is 10 */
  6014. /* cnc_rdmultitldt: read multi tool data */
  6015. /* cnc_wrmultitldt: write multi tool data */
  6016. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6017. public class IODBMLTTL_data
  6018. {
  6019. public short slct;
  6020. public short m_tl_no;
  6021. public int m_tl_radius;
  6022. public int m_tl_angle;
  6023. public int x_axis_ofs;
  6024. public int y_axis_ofs;
  6025. public byte tl_shape;
  6026. public int tl_size_i;
  6027. public int tl_size_j;
  6028. public int tl_angle;
  6029. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
  6030. public int[] reserve = new int[7];
  6031. }
  6032. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6033. public class IODBMLTTL
  6034. {
  6035. public IODBMLTTL_data data1 = new IODBMLTTL_data();
  6036. public IODBMLTTL_data data2 = new IODBMLTTL_data();
  6037. public IODBMLTTL_data data3 = new IODBMLTTL_data();
  6038. public IODBMLTTL_data data4 = new IODBMLTTL_data();
  6039. public IODBMLTTL_data data5 = new IODBMLTTL_data();
  6040. public IODBMLTTL_data data6 = new IODBMLTTL_data();
  6041. public IODBMLTTL_data data7 = new IODBMLTTL_data();
  6042. public IODBMLTTL_data data8 = new IODBMLTTL_data();
  6043. public IODBMLTTL_data data9 = new IODBMLTTL_data();
  6044. public IODBMLTTL_data data10 = new IODBMLTTL_data();
  6045. } /* In case that the number of data is 10 */
  6046. /* cnc_rdmtapdata: read multi tap data */
  6047. /* cnc_wrmtapdata: write multi tap data */
  6048. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6049. public class IODBMTAP_data
  6050. {
  6051. public short slct;
  6052. public int tool_no;
  6053. public int x_axis_ofs;
  6054. public int y_axis_ofs;
  6055. public int punch_count;
  6056. public int tool_life;
  6057. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)]
  6058. public int[] reserve = new int[11];
  6059. }
  6060. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6061. public class IODBMTAP
  6062. {
  6063. public IODBMTAP_data data1 = new IODBMTAP_data();
  6064. public IODBMTAP_data data2 = new IODBMTAP_data();
  6065. public IODBMTAP_data data3 = new IODBMTAP_data();
  6066. public IODBMTAP_data data4 = new IODBMTAP_data();
  6067. public IODBMTAP_data data5 = new IODBMTAP_data();
  6068. public IODBMTAP_data data6 = new IODBMTAP_data();
  6069. public IODBMTAP_data data7 = new IODBMTAP_data();
  6070. public IODBMTAP_data data8 = new IODBMTAP_data();
  6071. public IODBMTAP_data data9 = new IODBMTAP_data();
  6072. public IODBMTAP_data data10 = new IODBMTAP_data();
  6073. }
  6074. /* cnc_rdtoolinfo: read tool information */
  6075. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6076. public class ODBPTLINF
  6077. {
  6078. public short tld_max;
  6079. public short mlt_max;
  6080. public short reserve;
  6081. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  6082. public short[] tld_size;
  6083. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  6084. public short[] mlt_size;
  6085. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
  6086. public short[] reserves;
  6087. }
  6088. /* cnc_rdsafetyzone: read safetyzone data */
  6089. /* cnc_wrsafetyzone: write safetyzone data */
  6090. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6091. public class IODBSAFE_data
  6092. {
  6093. public short slct;
  6094. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  6095. public int[] data = new int[3];
  6096. }
  6097. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6098. public class IODBSAFE
  6099. {
  6100. public IODBSAFE_data data1 = new IODBSAFE_data();
  6101. public IODBSAFE_data data2 = new IODBSAFE_data();
  6102. public IODBSAFE_data data3 = new IODBSAFE_data();
  6103. public IODBSAFE_data data4 = new IODBSAFE_data();
  6104. } /* In case that the number of data is 4 */
  6105. /* cnc_rdtoolzone: read toolzone data */
  6106. /* cnc_wrtoolzone: write toolzone data */
  6107. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6108. public class IODBTLZN_data
  6109. {
  6110. public short slct;
  6111. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6112. public int[] data = new int[12];
  6113. }
  6114. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6115. public class IODBTLZN
  6116. {
  6117. public IODBTLZN_data data1 = new IODBTLZN_data();
  6118. public IODBTLZN_data data2 = new IODBTLZN_data();
  6119. public IODBTLZN_data data3 = new IODBTLZN_data();
  6120. public IODBTLZN_data data4 = new IODBTLZN_data();
  6121. public IODBTLZN_data data5 = new IODBTLZN_data();
  6122. public IODBTLZN_data data6 = new IODBTLZN_data();
  6123. public IODBTLZN_data data7 = new IODBTLZN_data();
  6124. public IODBTLZN_data data8 = new IODBTLZN_data();
  6125. public IODBTLZN_data data9 = new IODBTLZN_data();
  6126. public IODBTLZN_data data10 = new IODBTLZN_data();
  6127. public IODBTLZN_data data11 = new IODBTLZN_data();
  6128. public IODBTLZN_data data12 = new IODBTLZN_data();
  6129. } /* In case that the number of data is 12 */
  6130. /* cnc_rdacttlzone: read active toolzone data */
  6131. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6132. public class ODBACTTLZN
  6133. {
  6134. public short act_no;
  6135. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6136. public int[] data;
  6137. }
  6138. /* cnc_rdbrstrinfo:read block restart information */
  6139. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6140. public class ODBBRS
  6141. {
  6142. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  6143. public int[] dest;
  6144. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  6145. public int[] dist;
  6146. } /* In case that the number of axes is MAX_AXIS */
  6147. /* cnc_rdradofs:read tool radius offset for position data */
  6148. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6149. public class ODBROFS
  6150. {
  6151. public short mode;
  6152. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6153. public short[] pln_axes;
  6154. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6155. public int[] ofsvct;
  6156. }
  6157. /* cnc_rdlenofs:read tool length offset for position data */
  6158. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6159. public class ODBLOFS
  6160. {
  6161. public short mode;
  6162. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  6163. public int[] ofsvct;
  6164. } /* In case that the number of axes is MAX_AXIS */
  6165. /* cnc_rdfixcycle:read fixed cycle for position data */
  6166. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6167. public class ODBFIX
  6168. {
  6169. public short mode;
  6170. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6171. public short[] pln_axes;
  6172. public short drl_axes;
  6173. public int i_pos;
  6174. public int r_pos;
  6175. public int z_pos;
  6176. public int cmd_cnt;
  6177. public int act_cnt;
  6178. public int cut;
  6179. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6180. public int[] shift;
  6181. }
  6182. /* cnc_rdcdrotate:read coordinate rotate for position data */
  6183. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6184. public class ODBROT
  6185. {
  6186. public short mode;
  6187. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6188. public short[] pln_axes;
  6189. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6190. public int[] center;
  6191. public int angle;
  6192. }
  6193. /* cnc_rd3dcdcnv:read 3D coordinate convert for position data */
  6194. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6195. public class ODB3DCD
  6196. {
  6197. public short mode;
  6198. public short dno;
  6199. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  6200. public short[] cd_axes;
  6201. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 3)]
  6202. public int[] center;
  6203. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 3)]
  6204. public int[] direct;
  6205. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
  6206. public int[] angle;
  6207. }
  6208. /* cnc_rdmirimage:read programable mirror image for position data */
  6209. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6210. public class ODBMIR
  6211. {
  6212. public short mode;
  6213. public int mir_flag;
  6214. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  6215. public int[] mir_pos;
  6216. } /* In case that the number of axes is MAX_AXIS */
  6217. /* cnc_rdscaling:read scaling data for position data */
  6218. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6219. public class ODBSCL
  6220. {
  6221. public short mode;
  6222. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  6223. public int[] center;
  6224. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  6225. public int[] magnif;
  6226. } /* In case that the number of axes is MAX_AXIS */
  6227. /* cnc_rd3dtofs:read 3D tool offset for position data */
  6228. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6229. public class ODB3DTO
  6230. {
  6231. public short mode;
  6232. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  6233. public short[] ofs_axes;
  6234. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  6235. public int[] ofsvct;
  6236. }
  6237. /* cnc_rdposofs:read tool position offset for position data */
  6238. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6239. public class ODBPOFS
  6240. {
  6241. public short mode;
  6242. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  6243. public int[] ofsvct;
  6244. } /* In case that the number of axes is MAX_AXIS */
  6245. /* cnc_rdhpccset:read hpcc setting data */
  6246. /* cnc_wrhpccset:write hpcc setting data */
  6247. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6248. public class IODBHPST
  6249. {
  6250. public short slct;
  6251. public short hpcc;
  6252. public short multi;
  6253. public short ovr1;
  6254. public short ign_f;
  6255. public short foward;
  6256. public int max_f;
  6257. public short ovr2;
  6258. public short ovr3;
  6259. public short ovr4;
  6260. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
  6261. public int[] reserve = new int[7];
  6262. }
  6263. /* cnc_rdhpcctupr:read hpcc tuning data ( parameter input ) */
  6264. /* cnc_wrhpcctupr:write hpcc tuning data ( parameter input ) */
  6265. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6266. public class IODBHPPR_tune
  6267. {
  6268. public short slct;
  6269. public short diff;
  6270. public short fine;
  6271. public short acc_lv;
  6272. public int max_f;
  6273. public short bipl;
  6274. public short aipl;
  6275. public int corner;
  6276. public short clamp;
  6277. public int radius;
  6278. public int max_cf;
  6279. public int min_cf;
  6280. public int foward;
  6281. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  6282. public int[] reserve = new int[5];
  6283. }
  6284. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6285. public class IODBHPPR
  6286. {
  6287. public IODBHPPR_tune tune1 = new IODBHPPR_tune();
  6288. public IODBHPPR_tune tune2 = new IODBHPPR_tune();
  6289. public IODBHPPR_tune tune3 = new IODBHPPR_tune();
  6290. }
  6291. /* cnc_rdhpcctuac:read hpcc tuning data ( acc input ) */
  6292. /* cnc_wrhpcctuac:write hpcc tuning data ( acc input ) */
  6293. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6294. public class IODBHPAC_tune
  6295. {
  6296. public short slct;
  6297. public short diff;
  6298. public short fine;
  6299. public short acc_lv;
  6300. public int bipl;
  6301. public short aipl;
  6302. public int corner;
  6303. public int clamp;
  6304. public int c_acc;
  6305. public int foward;
  6306. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  6307. public int[] reserve = new int[8];
  6308. }
  6309. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6310. public class IODBHPAC
  6311. {
  6312. public IODBHPAC_tune tune1 = new IODBHPAC_tune();
  6313. public IODBHPAC_tune tune2 = new IODBHPAC_tune();
  6314. public IODBHPAC_tune tune3 = new IODBHPAC_tune();
  6315. }
  6316. /* cnc_rd3dtooltip:read tip of tool for 3D handle */
  6317. /* cnc_rd3dmovrlap:read move overrlap of tool for 3D handle */
  6318. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6319. public class ODB3DHDL_data
  6320. {
  6321. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  6322. public short[] axes;
  6323. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  6324. public int[] data;
  6325. }
  6326. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6327. public class ODB3DHDL
  6328. {
  6329. public ODB3DHDL_data data1 = new ODB3DHDL_data();
  6330. public ODB3DHDL_data data2 = new ODB3DHDL_data();
  6331. }
  6332. /* cnc_rd3dpulse:read pulse for 3D handle */
  6333. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6334. public class ODB3DPLS_data
  6335. {
  6336. public int right_angle_x;
  6337. public int right_angle_y;
  6338. public int tool_axis;
  6339. public int tool_tip_a_b;
  6340. public int tool_tip_c;
  6341. }
  6342. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6343. public class ODB3DPLS
  6344. {
  6345. public ODB3DPLS_data pls1 = new ODB3DPLS_data();
  6346. public ODB3DPLS_data pls2 = new ODB3DPLS_data();
  6347. }
  6348. /* cnc_rdaxisname: read axis name */
  6349. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6350. public class ODBAXISNAME_data
  6351. {
  6352. public byte name; /* axis name */
  6353. public byte suff; /* suffix */
  6354. }
  6355. #if M_AXIS2
  6356. [StructLayout(LayoutKind.Sequential,Pack=4)]
  6357. public class ODBAXISNAME
  6358. {
  6359. public ODBAXISNAME_data data1 = new ODBAXISNAME_data();
  6360. public ODBAXISNAME_data data2 = new ODBAXISNAME_data();
  6361. public ODBAXISNAME_data data3 = new ODBAXISNAME_data();
  6362. public ODBAXISNAME_data data4 = new ODBAXISNAME_data();
  6363. public ODBAXISNAME_data data5 = new ODBAXISNAME_data();
  6364. public ODBAXISNAME_data data6 = new ODBAXISNAME_data();
  6365. public ODBAXISNAME_data data7 = new ODBAXISNAME_data();
  6366. public ODBAXISNAME_data data8 = new ODBAXISNAME_data();
  6367. public ODBAXISNAME_data data9 = new ODBAXISNAME_data();
  6368. public ODBAXISNAME_data data10= new ODBAXISNAME_data();
  6369. public ODBAXISNAME_data data11= new ODBAXISNAME_data();
  6370. public ODBAXISNAME_data data12= new ODBAXISNAME_data();
  6371. public ODBAXISNAME_data data13= new ODBAXISNAME_data();
  6372. public ODBAXISNAME_data data14= new ODBAXISNAME_data();
  6373. public ODBAXISNAME_data data15= new ODBAXISNAME_data();
  6374. public ODBAXISNAME_data data16= new ODBAXISNAME_data();
  6375. public ODBAXISNAME_data data17= new ODBAXISNAME_data();
  6376. public ODBAXISNAME_data data18= new ODBAXISNAME_data();
  6377. public ODBAXISNAME_data data19= new ODBAXISNAME_data();
  6378. public ODBAXISNAME_data data20= new ODBAXISNAME_data();
  6379. public ODBAXISNAME_data data21= new ODBAXISNAME_data();
  6380. public ODBAXISNAME_data data22= new ODBAXISNAME_data();
  6381. public ODBAXISNAME_data data23= new ODBAXISNAME_data();
  6382. public ODBAXISNAME_data data24= new ODBAXISNAME_data();
  6383. }
  6384. #elif FS15D
  6385. [StructLayout(LayoutKind.Sequential,Pack=4)]
  6386. public class ODBAXISNAME
  6387. {
  6388. public ODBAXISNAME_data data1 = new ODBAXISNAME_data();
  6389. public ODBAXISNAME_data data2 = new ODBAXISNAME_data();
  6390. public ODBAXISNAME_data data3 = new ODBAXISNAME_data();
  6391. public ODBAXISNAME_data data4 = new ODBAXISNAME_data();
  6392. public ODBAXISNAME_data data5 = new ODBAXISNAME_data();
  6393. public ODBAXISNAME_data data6 = new ODBAXISNAME_data();
  6394. public ODBAXISNAME_data data7 = new ODBAXISNAME_data();
  6395. public ODBAXISNAME_data data8 = new ODBAXISNAME_data();
  6396. public ODBAXISNAME_data data9 = new ODBAXISNAME_data();
  6397. public ODBAXISNAME_data data10= new ODBAXISNAME_data();
  6398. }
  6399. #else
  6400. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6401. public class ODBAXISNAME
  6402. {
  6403. public ODBAXISNAME_data data1 = new ODBAXISNAME_data();
  6404. public ODBAXISNAME_data data2 = new ODBAXISNAME_data();
  6405. public ODBAXISNAME_data data3 = new ODBAXISNAME_data();
  6406. public ODBAXISNAME_data data4 = new ODBAXISNAME_data();
  6407. public ODBAXISNAME_data data5 = new ODBAXISNAME_data();
  6408. public ODBAXISNAME_data data6 = new ODBAXISNAME_data();
  6409. public ODBAXISNAME_data data7 = new ODBAXISNAME_data();
  6410. public ODBAXISNAME_data data8 = new ODBAXISNAME_data();
  6411. }
  6412. #endif
  6413. /* cnc_rdspdlname: read spindle name */
  6414. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6415. public class ODBSPDLNAME_data
  6416. {
  6417. public byte name; /* spindle name */
  6418. public byte suff1; /* suffix */
  6419. public byte suff2; /* suffix */
  6420. public byte suff3; /* suffix */
  6421. }
  6422. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6423. public class ODBSPDLNAME
  6424. {
  6425. public ODBSPDLNAME_data data1 = new ODBSPDLNAME_data();
  6426. public ODBSPDLNAME_data data2 = new ODBSPDLNAME_data();
  6427. public ODBSPDLNAME_data data3 = new ODBSPDLNAME_data();
  6428. public ODBSPDLNAME_data data4 = new ODBSPDLNAME_data();
  6429. }
  6430. /* cnc_exaxisname: read extended axis name */
  6431. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6432. public class ODBEXAXISNAME
  6433. {
  6434. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6435. public string axname1 = new string(' ', 4);
  6436. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6437. public string axname2 = new string(' ', 4);
  6438. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6439. public string axname3 = new string(' ', 4);
  6440. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6441. public string axname4 = new string(' ', 4);
  6442. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6443. public string axname5 = new string(' ', 4);
  6444. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6445. public string axname6 = new string(' ', 4);
  6446. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6447. public string axname7 = new string(' ', 4);
  6448. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6449. public string axname8 = new string(' ', 4);
  6450. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6451. public string axname9 = new string(' ', 4);
  6452. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6453. public string axname10 = new string(' ', 4);
  6454. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6455. public string axname11 = new string(' ', 4);
  6456. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6457. public string axname12 = new string(' ', 4);
  6458. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6459. public string axname13 = new string(' ', 4);
  6460. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6461. public string axname14 = new string(' ', 4);
  6462. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6463. public string axname15 = new string(' ', 4);
  6464. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6465. public string axname16 = new string(' ', 4);
  6466. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6467. public string axname17 = new string(' ', 4);
  6468. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6469. public string axname18 = new string(' ', 4);
  6470. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6471. public string axname19 = new string(' ', 4);
  6472. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6473. public string axname20 = new string(' ', 4);
  6474. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6475. public string axname21 = new string(' ', 4);
  6476. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6477. public string axname22 = new string(' ', 4);
  6478. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6479. public string axname23 = new string(' ', 4);
  6480. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6481. public string axname24 = new string(' ', 4);
  6482. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6483. public string axname25 = new string(' ', 4);
  6484. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6485. public string axname26 = new string(' ', 4);
  6486. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6487. public string axname27 = new string(' ', 4);
  6488. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6489. public string axname28 = new string(' ', 4);
  6490. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6491. public string axname29 = new string(' ', 4);
  6492. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6493. public string axname30 = new string(' ', 4);
  6494. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6495. public string axname31 = new string(' ', 4);
  6496. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  6497. public string axname32 = new string(' ', 4);
  6498. }
  6499. /* cnc_wrunsolicprm: Set the unsolicited message parameters */
  6500. /* cnc_rdunsolicprm: Get the unsolicited message parameters */
  6501. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6502. public struct IODBUNSOLIC_pmc
  6503. {
  6504. public short type;
  6505. public short rdaddr;
  6506. public short rdno;
  6507. public short rdsize;
  6508. private int dummy;
  6509. }
  6510. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  6511. public class IODBUNSOLIC
  6512. {
  6513. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  6514. public string ipaddr = new string(' ', 16);
  6515. public ushort port;
  6516. public short reqaddr;
  6517. public short pmcno;
  6518. public short retry;
  6519. public short timeout;
  6520. public short alivetime;
  6521. public short setno;
  6522. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  6523. public IODBUNSOLIC_pmc[] rddata = new IODBUNSOLIC_pmc[3];
  6524. }
  6525. /* cnc_rdunsolicmsg: Reads the unsolicited message data */
  6526. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6527. public struct IDBUNSOLICMSG_msg
  6528. {
  6529. public short rdsize;
  6530. public IntPtr data;
  6531. }
  6532. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6533. public class IDBUNSOLICMSG
  6534. {
  6535. public short getno;
  6536. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  6537. public IDBUNSOLICMSG_msg[] msg = new IDBUNSOLICMSG_msg[3];
  6538. }
  6539. /* cnc_rdpm_cncitem: read cnc maintenance item */
  6540. /* cnc_rdpm_mcnitem: read machine specific maintenance item */
  6541. /* cnc_wrpm_mcnitem: write machine specific maintenance item */
  6542. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6543. public class IODBITEM
  6544. {
  6545. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6546. public string name1 = new string(' ', 62);
  6547. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6548. public string name2 = new string(' ', 62);
  6549. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6550. public string name3 = new string(' ', 62);
  6551. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6552. public string name4 = new string(' ', 62);
  6553. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6554. public string name5 = new string(' ', 62);
  6555. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6556. public string name6 = new string(' ', 62);
  6557. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6558. public string name7 = new string(' ', 62);
  6559. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6560. public string name8 = new string(' ', 62);
  6561. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6562. public string name9 = new string(' ', 62);
  6563. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6564. public string name10 = new string(' ', 62);
  6565. }
  6566. /* cnc_rdpm_item:read maintenance item status */
  6567. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6568. public class IODBPMAINTE_data
  6569. {
  6570. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
  6571. public string name = new string(' ', 62); /* name */
  6572. public int type; /* life count type */
  6573. public int total; /* total life time (minite basis) */
  6574. public int remain; /* life rest time */
  6575. public int stat; /* life state */
  6576. }
  6577. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6578. public class IODBPMAINTE
  6579. {
  6580. public IODBPMAINTE_data data1 = new IODBPMAINTE_data();
  6581. public IODBPMAINTE_data data2 = new IODBPMAINTE_data();
  6582. public IODBPMAINTE_data data3 = new IODBPMAINTE_data();
  6583. public IODBPMAINTE_data data4 = new IODBPMAINTE_data();
  6584. public IODBPMAINTE_data data5 = new IODBPMAINTE_data();
  6585. public IODBPMAINTE_data data6 = new IODBPMAINTE_data();
  6586. public IODBPMAINTE_data data7 = new IODBPMAINTE_data();
  6587. public IODBPMAINTE_data data8 = new IODBPMAINTE_data();
  6588. public IODBPMAINTE_data data9 = new IODBPMAINTE_data();
  6589. public IODBPMAINTE_data data10 = new IODBPMAINTE_data();
  6590. }
  6591. /* cnc_sysinfo_ex:read CNC system path information */
  6592. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6593. public class ODBSYSEX_path
  6594. {
  6595. public short system;
  6596. public short group;
  6597. public short attrib;
  6598. public short ctrl_axis;
  6599. public short ctrl_srvo;
  6600. public short ctrl_spdl;
  6601. public short mchn_no;
  6602. public short reserved;
  6603. }
  6604. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6605. public class ODBSYSEX_data
  6606. {
  6607. public ODBSYSEX_path data1 = new ODBSYSEX_path();
  6608. public ODBSYSEX_path data2 = new ODBSYSEX_path();
  6609. public ODBSYSEX_path data3 = new ODBSYSEX_path();
  6610. public ODBSYSEX_path data4 = new ODBSYSEX_path();
  6611. public ODBSYSEX_path data5 = new ODBSYSEX_path();
  6612. public ODBSYSEX_path data6 = new ODBSYSEX_path();
  6613. public ODBSYSEX_path data7 = new ODBSYSEX_path();
  6614. public ODBSYSEX_path data8 = new ODBSYSEX_path();
  6615. public ODBSYSEX_path data9 = new ODBSYSEX_path();
  6616. public ODBSYSEX_path data10 = new ODBSYSEX_path();
  6617. }
  6618. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6619. public class ODBSYSEX
  6620. {
  6621. public short max_axis;
  6622. public short max_spdl;
  6623. public short max_path;
  6624. public short max_mchn;
  6625. public short ctrl_axis;
  6626. public short ctrl_srvo;
  6627. public short ctrl_spdl;
  6628. public short ctrl_path;
  6629. public short ctrl_mchn;
  6630. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
  6631. public short[] reserved = new short[3];
  6632. public ODBSYSEX_data path = new ODBSYSEX_data();
  6633. }
  6634. /*------------------*/
  6635. /* CNC : SERCOS I/F */
  6636. /*------------------*/
  6637. /* cnc_srcsrdidinfo:Read ID information of SERCOS I/F */
  6638. /* cnc_srcswridinfo:Write ID information of SERCOS I/F */
  6639. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  6640. public class IODBIDINF
  6641. {
  6642. public int id_no;
  6643. public short drv_no;
  6644. public short acc_element;
  6645. public short err_general;
  6646. public short err_id_no;
  6647. public short err_id_name;
  6648. public short err_attr;
  6649. public short err_unit;
  6650. public short err_min_val;
  6651. public short err_max_val;
  6652. public short id_name_len;
  6653. public short id_name_max;
  6654. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 60)]
  6655. public string id_name = new string(' ', 60);
  6656. public int attr;
  6657. public short unit_len;
  6658. public short unit_max;
  6659. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  6660. public byte[] unit = new byte[12];
  6661. public int min_val;
  6662. public int max_val;
  6663. }
  6664. /* cnc_srcsrdexstat:Get execution status of reading/writing operation data of SERCOS I/F */
  6665. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6666. public class ODBSRCSST
  6667. {
  6668. public short acc_element;
  6669. public short err_general;
  6670. public short err_id_no;
  6671. public short err_attr;
  6672. public short err_op_data;
  6673. }
  6674. /* cnc_srcsrdlayout:Read drive assign of SERCOS I/F */
  6675. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  6676. public class ODBSRCSLYT
  6677. {
  6678. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
  6679. public short[] spndl;
  6680. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  6681. public short[] servo;
  6682. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
  6683. public string axis_name = new string(' ', 8);
  6684. }
  6685. /*----------------------------*/
  6686. /* CNC : Servo Guide */
  6687. /*----------------------------*/
  6688. /* cnc_sdsetchnl:Servo Guide (Channel data set) */
  6689. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6690. public class IDBCHAN_data
  6691. {
  6692. public byte chno;
  6693. public sbyte axis;
  6694. public int datanum;
  6695. public ushort datainf;
  6696. public short dataadr;
  6697. }
  6698. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6699. public class IDBCHAN
  6700. {
  6701. public IDBCHAN_data data1 = new IDBCHAN_data();
  6702. public IDBCHAN_data data2 = new IDBCHAN_data();
  6703. public IDBCHAN_data data3 = new IDBCHAN_data();
  6704. public IDBCHAN_data data4 = new IDBCHAN_data();
  6705. public IDBCHAN_data data5 = new IDBCHAN_data();
  6706. public IDBCHAN_data data6 = new IDBCHAN_data();
  6707. public IDBCHAN_data data7 = new IDBCHAN_data();
  6708. public IDBCHAN_data data8 = new IDBCHAN_data();
  6709. }
  6710. /* cnc_sdsetchnl:Servo Guide (read Sampling data) */
  6711. /* cnc_sfbreadsmpl:Servo feedback data (read Sampling data) */
  6712. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6713. public class ODBSD
  6714. {
  6715. public IntPtr chadata;
  6716. public IntPtr count;
  6717. }
  6718. /* cnc_sfbsetchnl:Servo feedback data (Channel data set) */
  6719. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6720. public class IDBSFBCHAN
  6721. {
  6722. public byte chno;
  6723. public sbyte axis;
  6724. public ushort shift;
  6725. }
  6726. /*-------------------------*/
  6727. /* CNC : FS18-LN function */
  6728. /*-------------------------*/
  6729. /* cnc_allowcnd:read allowanced state */
  6730. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6731. public class ODBCAXIS
  6732. {
  6733. public short dummy; /* dummy */
  6734. public short type; /* axis number */
  6735. [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
  6736. public sbyte[] data; /* data value */
  6737. }
  6738. /*---------------------------------*/
  6739. /* CNC : C-EXE SRAM file function */
  6740. /*---------------------------------*/
  6741. /* read C-EXE SRAM disk directory */
  6742. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  6743. public class CFILEINFO_data
  6744. {
  6745. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
  6746. public string fname = new string(' ', 12); /* file name */
  6747. public int file_size; /* file size (bytes) */
  6748. public int file_attr; /* attribute */
  6749. public short year; /* year */
  6750. public short month; /* month */
  6751. public short day; /* day */
  6752. public short hour; /* hour */
  6753. public short minute; /* mimute */
  6754. public short second; /* second */
  6755. }
  6756. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6757. public class CFILEINFO
  6758. {
  6759. public CFILEINFO_data data1 = new CFILEINFO_data();
  6760. public CFILEINFO_data data2 = new CFILEINFO_data();
  6761. public CFILEINFO_data data3 = new CFILEINFO_data();
  6762. public CFILEINFO_data data4 = new CFILEINFO_data();
  6763. public CFILEINFO_data data5 = new CFILEINFO_data();
  6764. public CFILEINFO_data data6 = new CFILEINFO_data();
  6765. public CFILEINFO_data data7 = new CFILEINFO_data();
  6766. public CFILEINFO_data data8 = new CFILEINFO_data();
  6767. public CFILEINFO_data data9 = new CFILEINFO_data();
  6768. public CFILEINFO_data data10 = new CFILEINFO_data();
  6769. }
  6770. /*-----*/
  6771. /* PMC */
  6772. /*-----*/
  6773. /* pmc_rdpmcrng:read PMC data(area specified) */
  6774. /* pmc_wrpmcrng:write PMC data(area specified) */
  6775. [StructLayout(LayoutKind.Explicit)]
  6776. public class IODBPMC0
  6777. {
  6778. [FieldOffset(0)]
  6779. public short type_a; /* PMC address type */
  6780. [FieldOffset(2)]
  6781. public short type_d; /* PMC data type */
  6782. [FieldOffset(4)]
  6783. public short datano_s; /* start PMC address */
  6784. [FieldOffset(6)]
  6785. public short datano_e; /* end PMC address */
  6786. [FieldOffset(8),
  6787. MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  6788. public byte[] cdata; /* PMC data */
  6789. } /* In case that the number of data is 5 */
  6790. [StructLayout(LayoutKind.Explicit)]
  6791. public class IODBPMC1
  6792. {
  6793. [FieldOffset(0)]
  6794. public short type_a; /* PMC address type */
  6795. [FieldOffset(2)]
  6796. public short type_d; /* PMC data type */
  6797. [FieldOffset(4)]
  6798. public short datano_s; /* start PMC address */
  6799. [FieldOffset(6)]
  6800. public short datano_e; /* end PMC address */
  6801. [FieldOffset(8),
  6802. MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  6803. public short[] idata;
  6804. } /* In case that the number of data is 5 */
  6805. [StructLayout(LayoutKind.Explicit)]
  6806. public class IODBPMC2
  6807. {
  6808. [FieldOffset(0)]
  6809. public short type_a; /* PMC address type */
  6810. [FieldOffset(2)]
  6811. public short type_d; /* PMC data type */
  6812. [FieldOffset(4)]
  6813. public short datano_s; /* start PMC address */
  6814. [FieldOffset(6)]
  6815. public short datano_e; /* end PMC address */
  6816. [FieldOffset(8),
  6817. MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  6818. public int[] ldata;
  6819. } /* In case that the number of data is 5 */
  6820. /* pmc_rdpmcinfo:read informations of PMC data */
  6821. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6822. public class ODBPMCINF_info
  6823. {
  6824. public char pmc_adr;
  6825. public byte adr_attr;
  6826. public ushort top_num;
  6827. public ushort last_num;
  6828. }
  6829. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6830. public class ODBPMCINF1
  6831. {
  6832. public ODBPMCINF_info info1 = new ODBPMCINF_info();
  6833. public ODBPMCINF_info info2 = new ODBPMCINF_info();
  6834. public ODBPMCINF_info info3 = new ODBPMCINF_info();
  6835. public ODBPMCINF_info info4 = new ODBPMCINF_info();
  6836. public ODBPMCINF_info info5 = new ODBPMCINF_info();
  6837. public ODBPMCINF_info info6 = new ODBPMCINF_info();
  6838. public ODBPMCINF_info info7 = new ODBPMCINF_info();
  6839. public ODBPMCINF_info info8 = new ODBPMCINF_info();
  6840. public ODBPMCINF_info info9 = new ODBPMCINF_info();
  6841. public ODBPMCINF_info info10 = new ODBPMCINF_info();
  6842. public ODBPMCINF_info info11 = new ODBPMCINF_info();
  6843. public ODBPMCINF_info info12 = new ODBPMCINF_info();
  6844. public ODBPMCINF_info info13 = new ODBPMCINF_info();
  6845. public ODBPMCINF_info info14 = new ODBPMCINF_info();
  6846. public ODBPMCINF_info info15 = new ODBPMCINF_info();
  6847. public ODBPMCINF_info info16 = new ODBPMCINF_info();
  6848. public ODBPMCINF_info info17 = new ODBPMCINF_info();
  6849. public ODBPMCINF_info info18 = new ODBPMCINF_info();
  6850. public ODBPMCINF_info info19 = new ODBPMCINF_info();
  6851. public ODBPMCINF_info info20 = new ODBPMCINF_info();
  6852. public ODBPMCINF_info info21 = new ODBPMCINF_info();
  6853. public ODBPMCINF_info info22 = new ODBPMCINF_info();
  6854. public ODBPMCINF_info info23 = new ODBPMCINF_info();
  6855. public ODBPMCINF_info info24 = new ODBPMCINF_info();
  6856. public ODBPMCINF_info info25 = new ODBPMCINF_info();
  6857. public ODBPMCINF_info info26 = new ODBPMCINF_info();
  6858. public ODBPMCINF_info info27 = new ODBPMCINF_info();
  6859. public ODBPMCINF_info info28 = new ODBPMCINF_info();
  6860. public ODBPMCINF_info info29 = new ODBPMCINF_info();
  6861. public ODBPMCINF_info info30 = new ODBPMCINF_info();
  6862. public ODBPMCINF_info info31 = new ODBPMCINF_info();
  6863. public ODBPMCINF_info info32 = new ODBPMCINF_info();
  6864. public ODBPMCINF_info info33 = new ODBPMCINF_info();
  6865. public ODBPMCINF_info info34 = new ODBPMCINF_info();
  6866. public ODBPMCINF_info info35 = new ODBPMCINF_info();
  6867. public ODBPMCINF_info info36 = new ODBPMCINF_info();
  6868. public ODBPMCINF_info info37 = new ODBPMCINF_info();
  6869. public ODBPMCINF_info info38 = new ODBPMCINF_info();
  6870. public ODBPMCINF_info info39 = new ODBPMCINF_info();
  6871. public ODBPMCINF_info info40 = new ODBPMCINF_info();
  6872. public ODBPMCINF_info info41 = new ODBPMCINF_info();
  6873. public ODBPMCINF_info info42 = new ODBPMCINF_info();
  6874. public ODBPMCINF_info info43 = new ODBPMCINF_info();
  6875. public ODBPMCINF_info info44 = new ODBPMCINF_info();
  6876. public ODBPMCINF_info info45 = new ODBPMCINF_info();
  6877. public ODBPMCINF_info info46 = new ODBPMCINF_info();
  6878. public ODBPMCINF_info info47 = new ODBPMCINF_info();
  6879. public ODBPMCINF_info info48 = new ODBPMCINF_info();
  6880. public ODBPMCINF_info info49 = new ODBPMCINF_info();
  6881. public ODBPMCINF_info info50 = new ODBPMCINF_info();
  6882. public ODBPMCINF_info info51 = new ODBPMCINF_info();
  6883. public ODBPMCINF_info info52 = new ODBPMCINF_info();
  6884. public ODBPMCINF_info info53 = new ODBPMCINF_info();
  6885. public ODBPMCINF_info info54 = new ODBPMCINF_info();
  6886. public ODBPMCINF_info info55 = new ODBPMCINF_info();
  6887. public ODBPMCINF_info info56 = new ODBPMCINF_info();
  6888. public ODBPMCINF_info info57 = new ODBPMCINF_info();
  6889. public ODBPMCINF_info info58 = new ODBPMCINF_info();
  6890. public ODBPMCINF_info info59 = new ODBPMCINF_info();
  6891. public ODBPMCINF_info info60 = new ODBPMCINF_info();
  6892. public ODBPMCINF_info info61 = new ODBPMCINF_info();
  6893. public ODBPMCINF_info info62 = new ODBPMCINF_info();
  6894. public ODBPMCINF_info info63 = new ODBPMCINF_info();
  6895. public ODBPMCINF_info info64 = new ODBPMCINF_info();
  6896. }
  6897. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6898. public class ODBPMCINF
  6899. {
  6900. public short datano;
  6901. public ODBPMCINF1 info = new ODBPMCINF1();
  6902. }
  6903. /* pmc_rdcntldata:read PMC parameter data table control data */
  6904. /* pmc_wrcntldata:write PMC parameter data table control data */
  6905. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6906. public class IODBPMCCNTL_info
  6907. {
  6908. public byte tbl_prm;
  6909. public byte data_type;
  6910. public ushort data_size;
  6911. public ushort data_dsp;
  6912. public short dummy;
  6913. }
  6914. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  6915. public class IODBPMCCNTL1
  6916. {
  6917. public IODBPMCCNTL_info info1 = new IODBPMCCNTL_info();
  6918. public IODBPMCCNTL_info info2 = new IODBPMCCNTL_info();
  6919. public IODBPMCCNTL_info info3 = new IODBPMCCNTL_info();
  6920. public IODBPMCCNTL_info info4 = new IODBPMCCNTL_info();
  6921. public IODBPMCCNTL_info info5 = new IODBPMCCNTL_info();
  6922. public IODBPMCCNTL_info info6 = new IODBPMCCNTL_info();
  6923. public IODBPMCCNTL_info info7 = new IODBPMCCNTL_info();
  6924. public IODBPMCCNTL_info info8 = new IODBPMCCNTL_info();
  6925. public IODBPMCCNTL_info info9 = new IODBPMCCNTL_info();
  6926. public IODBPMCCNTL_info info10 = new IODBPMCCNTL_info();
  6927. public IODBPMCCNTL_info info11 = new IODBPMCCNTL_info();
  6928. public IODBPMCCNTL_info info12 = new IODBPMCCNTL_info();
  6929. public IODBPMCCNTL_info info13 = new IODBPMCCNTL_info();
  6930. public IODBPMCCNTL_info info14 = new IODBPMCCNTL_info();
  6931. public IODBPMCCNTL_info info15 = new IODBPMCCNTL_info();
  6932. public IODBPMCCNTL_info info16 = new IODBPMCCNTL_info();
  6933. public IODBPMCCNTL_info info17 = new IODBPMCCNTL_info();
  6934. public IODBPMCCNTL_info info18 = new IODBPMCCNTL_info();
  6935. public IODBPMCCNTL_info info19 = new IODBPMCCNTL_info();
  6936. public IODBPMCCNTL_info info20 = new IODBPMCCNTL_info();
  6937. public IODBPMCCNTL_info info21 = new IODBPMCCNTL_info();
  6938. public IODBPMCCNTL_info info22 = new IODBPMCCNTL_info();
  6939. public IODBPMCCNTL_info info23 = new IODBPMCCNTL_info();
  6940. public IODBPMCCNTL_info info24 = new IODBPMCCNTL_info();
  6941. public IODBPMCCNTL_info info25 = new IODBPMCCNTL_info();
  6942. public IODBPMCCNTL_info info26 = new IODBPMCCNTL_info();
  6943. public IODBPMCCNTL_info info27 = new IODBPMCCNTL_info();
  6944. public IODBPMCCNTL_info info28 = new IODBPMCCNTL_info();
  6945. public IODBPMCCNTL_info info29 = new IODBPMCCNTL_info();
  6946. public IODBPMCCNTL_info info30 = new IODBPMCCNTL_info();
  6947. public IODBPMCCNTL_info info31 = new IODBPMCCNTL_info();
  6948. public IODBPMCCNTL_info info32 = new IODBPMCCNTL_info();
  6949. public IODBPMCCNTL_info info33 = new IODBPMCCNTL_info();
  6950. public IODBPMCCNTL_info info34 = new IODBPMCCNTL_info();
  6951. public IODBPMCCNTL_info info35 = new IODBPMCCNTL_info();
  6952. public IODBPMCCNTL_info info36 = new IODBPMCCNTL_info();
  6953. public IODBPMCCNTL_info info37 = new IODBPMCCNTL_info();
  6954. public IODBPMCCNTL_info info38 = new IODBPMCCNTL_info();
  6955. public IODBPMCCNTL_info info39 = new IODBPMCCNTL_info();
  6956. public IODBPMCCNTL_info info40 = new IODBPMCCNTL_info();
  6957. public IODBPMCCNTL_info info41 = new IODBPMCCNTL_info();
  6958. public IODBPMCCNTL_info info42 = new IODBPMCCNTL_info();
  6959. public IODBPMCCNTL_info info43 = new IODBPMCCNTL_info();
  6960. public IODBPMCCNTL_info info44 = new IODBPMCCNTL_info();
  6961. public IODBPMCCNTL_info info45 = new IODBPMCCNTL_info();
  6962. public IODBPMCCNTL_info info46 = new IODBPMCCNTL_info();
  6963. public IODBPMCCNTL_info info47 = new IODBPMCCNTL_info();
  6964. public IODBPMCCNTL_info info48 = new IODBPMCCNTL_info();
  6965. public IODBPMCCNTL_info info49 = new IODBPMCCNTL_info();
  6966. public IODBPMCCNTL_info info50 = new IODBPMCCNTL_info();
  6967. public IODBPMCCNTL_info info51 = new IODBPMCCNTL_info();
  6968. public IODBPMCCNTL_info info52 = new IODBPMCCNTL_info();
  6969. public IODBPMCCNTL_info info53 = new IODBPMCCNTL_info();
  6970. public IODBPMCCNTL_info info54 = new IODBPMCCNTL_info();
  6971. public IODBPMCCNTL_info info55 = new IODBPMCCNTL_info();
  6972. public IODBPMCCNTL_info info56 = new IODBPMCCNTL_info();
  6973. public IODBPMCCNTL_info info57 = new IODBPMCCNTL_info();
  6974. public IODBPMCCNTL_info info58 = new IODBPMCCNTL_info();
  6975. public IODBPMCCNTL_info info59 = new IODBPMCCNTL_info();
  6976. public IODBPMCCNTL_info info60 = new IODBPMCCNTL_info();
  6977. public IODBPMCCNTL_info info61 = new IODBPMCCNTL_info();
  6978. public IODBPMCCNTL_info info62 = new IODBPMCCNTL_info();
  6979. public IODBPMCCNTL_info info63 = new IODBPMCCNTL_info();
  6980. public IODBPMCCNTL_info info64 = new IODBPMCCNTL_info();
  6981. public IODBPMCCNTL_info info65 = new IODBPMCCNTL_info();
  6982. public IODBPMCCNTL_info info66 = new IODBPMCCNTL_info();
  6983. public IODBPMCCNTL_info info67 = new IODBPMCCNTL_info();
  6984. public IODBPMCCNTL_info info68 = new IODBPMCCNTL_info();
  6985. public IODBPMCCNTL_info info69 = new IODBPMCCNTL_info();
  6986. public IODBPMCCNTL_info info70 = new IODBPMCCNTL_info();
  6987. public IODBPMCCNTL_info info71 = new IODBPMCCNTL_info();
  6988. public IODBPMCCNTL_info info72 = new IODBPMCCNTL_info();
  6989. public IODBPMCCNTL_info info73 = new IODBPMCCNTL_info();
  6990. public IODBPMCCNTL_info info74 = new IODBPMCCNTL_info();
  6991. public IODBPMCCNTL_info info75 = new IODBPMCCNTL_info();
  6992. public IODBPMCCNTL_info info76 = new IODBPMCCNTL_info();
  6993. public IODBPMCCNTL_info info77 = new IODBPMCCNTL_info();
  6994. public IODBPMCCNTL_info info78 = new IODBPMCCNTL_info();
  6995. public IODBPMCCNTL_info info79 = new IODBPMCCNTL_info();
  6996. public IODBPMCCNTL_info info80 = new IODBPMCCNTL_info();
  6997. public IODBPMCCNTL_info info81 = new IODBPMCCNTL_info();
  6998. public IODBPMCCNTL_info info82 = new IODBPMCCNTL_info();
  6999. public IODBPMCCNTL_info info83 = new IODBPMCCNTL_info();
  7000. public IODBPMCCNTL_info info84 = new IODBPMCCNTL_info();
  7001. public IODBPMCCNTL_info info85 = new IODBPMCCNTL_info();
  7002. public IODBPMCCNTL_info info86 = new IODBPMCCNTL_info();
  7003. public IODBPMCCNTL_info info87 = new IODBPMCCNTL_info();
  7004. public IODBPMCCNTL_info info88 = new IODBPMCCNTL_info();
  7005. public IODBPMCCNTL_info info89 = new IODBPMCCNTL_info();
  7006. public IODBPMCCNTL_info info90 = new IODBPMCCNTL_info();
  7007. public IODBPMCCNTL_info info91 = new IODBPMCCNTL_info();
  7008. public IODBPMCCNTL_info info92 = new IODBPMCCNTL_info();
  7009. public IODBPMCCNTL_info info93 = new IODBPMCCNTL_info();
  7010. public IODBPMCCNTL_info info94 = new IODBPMCCNTL_info();
  7011. public IODBPMCCNTL_info info95 = new IODBPMCCNTL_info();
  7012. public IODBPMCCNTL_info info96 = new IODBPMCCNTL_info();
  7013. public IODBPMCCNTL_info info97 = new IODBPMCCNTL_info();
  7014. public IODBPMCCNTL_info info98 = new IODBPMCCNTL_info();
  7015. public IODBPMCCNTL_info info99 = new IODBPMCCNTL_info();
  7016. public IODBPMCCNTL_info info100 = new IODBPMCCNTL_info();
  7017. }
  7018. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7019. public class IODBPMCCNTL
  7020. {
  7021. public short datano_s;
  7022. public short dummy;
  7023. public short datano_e;
  7024. public IODBPMCCNTL1 info = new IODBPMCCNTL1();
  7025. }
  7026. /* pmc_rdalmmsg:read PMC alarm message */
  7027. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  7028. public class ODBPMCALM_data
  7029. {
  7030. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
  7031. public string almmsg = new string(' ', 128); /* alarm message */
  7032. }
  7033. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7034. public class ODBPMCALM
  7035. {
  7036. public ODBPMCALM_data msg1 = new ODBPMCALM_data();
  7037. public ODBPMCALM_data msg2 = new ODBPMCALM_data();
  7038. public ODBPMCALM_data msg3 = new ODBPMCALM_data();
  7039. public ODBPMCALM_data msg4 = new ODBPMCALM_data();
  7040. public ODBPMCALM_data msg5 = new ODBPMCALM_data();
  7041. public ODBPMCALM_data msg6 = new ODBPMCALM_data();
  7042. public ODBPMCALM_data msg7 = new ODBPMCALM_data();
  7043. public ODBPMCALM_data msg8 = new ODBPMCALM_data();
  7044. public ODBPMCALM_data msg9 = new ODBPMCALM_data();
  7045. public ODBPMCALM_data msg10 = new ODBPMCALM_data();
  7046. } /* In case that the number of data is 10 */
  7047. /* pmc_getdtailerr:get detail error for pmc */
  7048. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7049. public class ODBPMCERR
  7050. {
  7051. public short err_no;
  7052. public short err_dtno;
  7053. }
  7054. /* pmc_rdpmctitle:read pmc title data */
  7055. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  7056. public class ODBPMCTITLE
  7057. {
  7058. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
  7059. public string mtb = new string(' ', 48);
  7060. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
  7061. public string machine = new string(' ', 48);
  7062. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
  7063. public string type = new string(' ', 48);
  7064. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
  7065. public string prgno = new string(' ', 8);
  7066. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
  7067. public string prgvers = new string(' ', 4);
  7068. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
  7069. public string prgdraw = new string(' ', 48);
  7070. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  7071. public string date = new string(' ', 32);
  7072. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
  7073. public string design = new string(' ', 48);
  7074. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
  7075. public string written = new string(' ', 48);
  7076. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
  7077. public string remarks = new string(' ', 48);
  7078. }
  7079. /* pmc_rdpmcrng_ext:read PMC data */
  7080. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7081. public class IODBPMCEXT
  7082. {
  7083. public short type_a; /* PMC address type */
  7084. public short type_d; /* PMC data type */
  7085. public short datano_s; /* start PMC address */
  7086. public short datano_e; /* end PMC address */
  7087. public short err_code; /* error code */
  7088. public short reserved; /* reserved */
  7089. [MarshalAs(UnmanagedType.AsAny)]
  7090. public object data; /* pointer to buffer */
  7091. }
  7092. /* pmc_rdpmcaddr:read PMC address information */
  7093. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7094. public class ODBPMCADR_info
  7095. {
  7096. public byte pmc_adr;
  7097. public byte adr_attr;
  7098. public ushort offset;
  7099. public ushort top;
  7100. public ushort num;
  7101. }
  7102. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7103. public class ODBPMCADR1
  7104. {
  7105. public ODBPMCADR_info info1 = new ODBPMCADR_info();
  7106. public ODBPMCADR_info info2 = new ODBPMCADR_info();
  7107. public ODBPMCADR_info info3 = new ODBPMCADR_info();
  7108. public ODBPMCADR_info info4 = new ODBPMCADR_info();
  7109. public ODBPMCADR_info info5 = new ODBPMCADR_info();
  7110. public ODBPMCADR_info info6 = new ODBPMCADR_info();
  7111. public ODBPMCADR_info info7 = new ODBPMCADR_info();
  7112. public ODBPMCADR_info info8 = new ODBPMCADR_info();
  7113. public ODBPMCADR_info info9 = new ODBPMCADR_info();
  7114. public ODBPMCADR_info info10 = new ODBPMCADR_info();
  7115. public ODBPMCADR_info info11 = new ODBPMCADR_info();
  7116. public ODBPMCADR_info info12 = new ODBPMCADR_info();
  7117. public ODBPMCADR_info info13 = new ODBPMCADR_info();
  7118. public ODBPMCADR_info info14 = new ODBPMCADR_info();
  7119. public ODBPMCADR_info info15 = new ODBPMCADR_info();
  7120. public ODBPMCADR_info info16 = new ODBPMCADR_info();
  7121. public ODBPMCADR_info info17 = new ODBPMCADR_info();
  7122. public ODBPMCADR_info info18 = new ODBPMCADR_info();
  7123. public ODBPMCADR_info info19 = new ODBPMCADR_info();
  7124. public ODBPMCADR_info info20 = new ODBPMCADR_info();
  7125. public ODBPMCADR_info info21 = new ODBPMCADR_info();
  7126. public ODBPMCADR_info info22 = new ODBPMCADR_info();
  7127. public ODBPMCADR_info info23 = new ODBPMCADR_info();
  7128. public ODBPMCADR_info info24 = new ODBPMCADR_info();
  7129. public ODBPMCADR_info info25 = new ODBPMCADR_info();
  7130. public ODBPMCADR_info info26 = new ODBPMCADR_info();
  7131. public ODBPMCADR_info info27 = new ODBPMCADR_info();
  7132. public ODBPMCADR_info info28 = new ODBPMCADR_info();
  7133. public ODBPMCADR_info info29 = new ODBPMCADR_info();
  7134. public ODBPMCADR_info info30 = new ODBPMCADR_info();
  7135. public ODBPMCADR_info info31 = new ODBPMCADR_info();
  7136. public ODBPMCADR_info info32 = new ODBPMCADR_info();
  7137. public ODBPMCADR_info info33 = new ODBPMCADR_info();
  7138. public ODBPMCADR_info info34 = new ODBPMCADR_info();
  7139. public ODBPMCADR_info info35 = new ODBPMCADR_info();
  7140. public ODBPMCADR_info info36 = new ODBPMCADR_info();
  7141. public ODBPMCADR_info info37 = new ODBPMCADR_info();
  7142. public ODBPMCADR_info info38 = new ODBPMCADR_info();
  7143. public ODBPMCADR_info info39 = new ODBPMCADR_info();
  7144. public ODBPMCADR_info info40 = new ODBPMCADR_info();
  7145. public ODBPMCADR_info info41 = new ODBPMCADR_info();
  7146. public ODBPMCADR_info info42 = new ODBPMCADR_info();
  7147. public ODBPMCADR_info info43 = new ODBPMCADR_info();
  7148. public ODBPMCADR_info info44 = new ODBPMCADR_info();
  7149. public ODBPMCADR_info info45 = new ODBPMCADR_info();
  7150. public ODBPMCADR_info info46 = new ODBPMCADR_info();
  7151. public ODBPMCADR_info info47 = new ODBPMCADR_info();
  7152. public ODBPMCADR_info info48 = new ODBPMCADR_info();
  7153. public ODBPMCADR_info info49 = new ODBPMCADR_info();
  7154. public ODBPMCADR_info info50 = new ODBPMCADR_info();
  7155. public ODBPMCADR_info info51 = new ODBPMCADR_info();
  7156. public ODBPMCADR_info info52 = new ODBPMCADR_info();
  7157. public ODBPMCADR_info info53 = new ODBPMCADR_info();
  7158. public ODBPMCADR_info info54 = new ODBPMCADR_info();
  7159. public ODBPMCADR_info info55 = new ODBPMCADR_info();
  7160. public ODBPMCADR_info info56 = new ODBPMCADR_info();
  7161. public ODBPMCADR_info info57 = new ODBPMCADR_info();
  7162. public ODBPMCADR_info info58 = new ODBPMCADR_info();
  7163. public ODBPMCADR_info info59 = new ODBPMCADR_info();
  7164. public ODBPMCADR_info info60 = new ODBPMCADR_info();
  7165. public ODBPMCADR_info info61 = new ODBPMCADR_info();
  7166. public ODBPMCADR_info info62 = new ODBPMCADR_info();
  7167. public ODBPMCADR_info info63 = new ODBPMCADR_info();
  7168. public ODBPMCADR_info info64 = new ODBPMCADR_info();
  7169. }
  7170. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7171. public class ODBPMCADR
  7172. {
  7173. public uint io_adr;
  7174. public short datano;
  7175. public ODBPMCADR1 info = new ODBPMCADR1();
  7176. }
  7177. /*--------------------------*/
  7178. /* PROFIBUS function */
  7179. /*--------------------------*/
  7180. /* pmc_prfrdconfig:read PROFIBUS configration data */
  7181. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  7182. public class ODBPRFCNF
  7183. {
  7184. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  7185. public string master_ser = new string(' ', 5);
  7186. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
  7187. public string master_ver = new string(' ', 3);
  7188. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  7189. public string slave_ser = new string(' ', 5);
  7190. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
  7191. public string slave_ver = new string(' ', 3);
  7192. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
  7193. public string cntl_ser = new string(' ', 5);
  7194. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
  7195. public string cntl_ver = new string(' ', 3);
  7196. }
  7197. /* pmc_prfrdbusprm:read bus parameter for master function */
  7198. /* pmc_prfwrbusprm:write bus parameter for master function */
  7199. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7200. public class IODBBUSPRM
  7201. {
  7202. public sbyte fdl_add;
  7203. public sbyte baudrate;
  7204. public ushort tsl;
  7205. public ushort min_tsdr;
  7206. public ushort max_tsdr;
  7207. public byte tqui;
  7208. public byte tset;
  7209. public int ttr;
  7210. public sbyte gap;
  7211. public sbyte hsa;
  7212. public sbyte max_retry;
  7213. public byte bp_flag;
  7214. public ushort min_slv_int;
  7215. public ushort poll_tout;
  7216. public ushort data_cntl;
  7217. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
  7218. public byte[] reserve1 = new byte[6];
  7219. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  7220. public byte[] cls2_name = new byte[32];
  7221. public short user_dlen;
  7222. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 62)]
  7223. public byte[] user_data = new byte[62];
  7224. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 96)]
  7225. public byte[] reserve2 = new byte[96];
  7226. }
  7227. /* pmc_prfrdslvprm:read slave parameter for master function */
  7228. /* pmc_prfwrslvprm:write slave parameter for master function */
  7229. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7230. public class IODBSLVPRM
  7231. {
  7232. public short dis_enb;
  7233. public ushort ident_no;
  7234. public byte slv_flag;
  7235. public byte slv_type;
  7236. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  7237. public byte[] reserve1 = new byte[12];
  7238. public byte slv_stat;
  7239. public byte wd_fact1;
  7240. public byte wd_fact2;
  7241. public byte min_tsdr;
  7242. public char reserve2;
  7243. public byte grp_ident;
  7244. public short user_plen;
  7245. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  7246. public byte[] user_pdata = new byte[32];
  7247. public short cnfg_dlen;
  7248. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 126)]
  7249. public byte[] cnfg_data = new byte[126];
  7250. public short slv_ulen;
  7251. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]
  7252. public byte[] slv_udata = new byte[30];
  7253. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  7254. public byte[] reserve3 = new byte[8];
  7255. }
  7256. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7257. public class IODBSLVPRM2
  7258. {
  7259. public short dis_enb;
  7260. public ushort ident_no;
  7261. public byte slv_flag;
  7262. public byte slv_type;
  7263. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  7264. public byte[] reserve1 = new byte[12];
  7265. public byte slv_stat;
  7266. public byte wd_fact1;
  7267. public byte wd_fact2;
  7268. public byte min_tsdr;
  7269. public sbyte reserve2;
  7270. public byte grp_ident;
  7271. public short user_plen;
  7272. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 206)]
  7273. public byte[] user_pdata = new byte[206];
  7274. public short cnfg_dlen;
  7275. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 126)]
  7276. public byte[] cnfg_data = new byte[126];
  7277. public short slv_ulen;
  7278. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]
  7279. public byte[] slv_udata = new byte[30];
  7280. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
  7281. public byte[] reserve3 = new byte[8];
  7282. }
  7283. /* pmc_prfrdallcadr:read allocation address for master function */
  7284. /* pmc_prfwrallcadr:set allocation address for master function */
  7285. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7286. public class IODBPRFADR
  7287. {
  7288. public byte di_size;
  7289. public byte di_type;
  7290. public ushort di_addr;
  7291. public short reserve1;
  7292. public byte do_size;
  7293. public byte do_type;
  7294. public ushort do_addr;
  7295. public short reserve2;
  7296. public byte dgn_size;
  7297. public byte dgn_type;
  7298. public ushort dgn_addr;
  7299. }
  7300. /* pmc_prfrdslvaddr:read allocation address for slave function */
  7301. /* pmc_prfwrslvaddr:set allocation address for slave function */
  7302. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7303. public class IODBSLVADR
  7304. {
  7305. public byte slave_no;
  7306. public byte di_size;
  7307. public byte di_type;
  7308. public ushort di_addr;
  7309. public byte do_size;
  7310. public byte do_type;
  7311. public ushort do_addr;
  7312. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
  7313. public byte[] reserve = new byte[7];
  7314. }
  7315. /* pmc_prfrdslvstat:read status for slave function */
  7316. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7317. public class ODBSLVST
  7318. {
  7319. public byte cnfg_stat;
  7320. public byte prm_stat;
  7321. public sbyte wdg_stat;
  7322. public byte live_stat;
  7323. public short ident_no;
  7324. }
  7325. /* pmc_prfrdslvid:Reads slave index data of master function */
  7326. /* pmc_prfwrslvid:Writes slave index data of master function */
  7327. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7328. public class IODBSLVID
  7329. {
  7330. public short dis_enb;
  7331. public short slave_no;
  7332. public short nsl;
  7333. public byte dgn_size;
  7334. public char dgn_type;
  7335. public ushort dgn_addr;
  7336. }
  7337. /* pmc_prfrdslvprm2:Reads slave parameter of master function(2) */
  7338. /* pmc_prfwrslvprm2:Writes slave parameter of master function(2) */
  7339. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7340. public class IODBSLVPRM3
  7341. {
  7342. public ushort ident_no;
  7343. public byte slv_flag;
  7344. public byte slv_type;
  7345. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
  7346. public char[] reserve1 = new char[12];
  7347. public byte slv_stat;
  7348. public byte wd_fact1;
  7349. public byte wd_fact2;
  7350. public byte min_tsdr;
  7351. public char reserve2;
  7352. public byte grp_ident;
  7353. public short user_plen;
  7354. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 206)]
  7355. public char[] user_pdata = new char[206];
  7356. public short slv_ulen;
  7357. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]
  7358. public char[] slv_udata = new char[30];
  7359. }
  7360. /* pmc_prfrddido:Reads DI/DO parameter of master function */
  7361. /* pmc_prfwrdido:Writes DI/DO parameter of master function */
  7362. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7363. public class IODBDIDO
  7364. {
  7365. public short slave_no;
  7366. public short slot_no;
  7367. public byte di_size;
  7368. public char di_type;
  7369. public ushort di_addr;
  7370. public byte do_size;
  7371. public char do_type;
  7372. public ushort do_addr;
  7373. public short shift;
  7374. public byte module_dlen;
  7375. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
  7376. public char[] module_data = new char[128];
  7377. }
  7378. /* pmc_prfrdindiadr:Reads indication address of master function */
  7379. /* pmc_prfwrindiadr:Writes indication address of master function */
  7380. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7381. public class IODBINDEADR
  7382. {
  7383. public byte dummy;
  7384. public char indi_type;
  7385. public ushort indi_addr;
  7386. }
  7387. /*-----------------------------------------------*/
  7388. /* DS : Data server & Ethernet board function */
  7389. /*-----------------------------------------------*/
  7390. /* etb_rdparam : read丂the parameter of the Ethernet board */
  7391. /* etb_wrparam : write the parameter of the Ethernet board */
  7392. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7393. public class TCPPRM
  7394. {
  7395. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  7396. public string OwnIPAddress = new string(' ', 16);
  7397. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  7398. public string SubNetMask = new string(' ', 16);
  7399. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  7400. public string RouterIPAddress = new string(' ', 16);
  7401. }
  7402. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7403. public class HOSTPRM
  7404. {
  7405. public short DataServerPort;
  7406. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  7407. public string DataServerIPAddress = new string(' ', 16);
  7408. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  7409. public string DataServerUserName = new string(' ', 32);
  7410. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  7411. public string DataServerPassword = new string(' ', 32);
  7412. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
  7413. public string DataServerLoginDirectory = new string(' ', 128);
  7414. }
  7415. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7416. public class FTPPRM
  7417. {
  7418. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  7419. public string FTPServerUserName = new string(' ', 32);
  7420. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  7421. public string FTPServerPassword = new string(' ', 32);
  7422. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
  7423. public string FTPServerLoginDirectory = new string(' ', 128);
  7424. }
  7425. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7426. public class ETBPRM
  7427. {
  7428. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)]
  7429. public string OwnMACAddress = new string(' ', 128);
  7430. public short MaximumChannel;
  7431. public short HDDExistence;
  7432. public short NumberOfScreens;
  7433. }
  7434. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7435. public class IODBETP
  7436. {
  7437. public short Dummy_ParameterType;
  7438. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 210)]
  7439. public byte[] prm = new byte[210];
  7440. }
  7441. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7442. public class IODBETP_TCP
  7443. {
  7444. public short ParameterType;
  7445. public TCPPRM tcp;
  7446. }
  7447. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7448. public class IODBETP_HOST
  7449. {
  7450. public short ParameterType;
  7451. public HOSTPRM host;
  7452. }
  7453. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7454. public class IODBETP_FTP
  7455. {
  7456. public short ParameterType;
  7457. public FTPPRM ftp;
  7458. }
  7459. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7460. public class IODBETP_ETB
  7461. {
  7462. public short ParameterType;
  7463. public ETBPRM etb;
  7464. }
  7465. /* etb_rderrmsg : read the error message of the Ethernet board */
  7466. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7467. public class ODBETMSG
  7468. {
  7469. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)]
  7470. public string title = new string(' ', 33);
  7471. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 390)]
  7472. public string message = new string(' ', 390);
  7473. }
  7474. /* ds_rdhddinfo : read information of the Data Server's HDD */
  7475. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7476. public class ODBHDDINF
  7477. {
  7478. public int file_num;
  7479. public int remainder_l;
  7480. public int remainder_h;
  7481. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
  7482. public char[] current_dir = new char[32];
  7483. }
  7484. /* ds_rdhdddir : read the file list of the Data Server's HDD */
  7485. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7486. public class ODBHDDDIR_data
  7487. {
  7488. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
  7489. public string file_name = new string(' ', 64);
  7490. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
  7491. public string comment = new string(' ', 80);
  7492. public short attribute;
  7493. public short reserved;
  7494. public int size;
  7495. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
  7496. public string date = new string(' ', 16);
  7497. }
  7498. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7499. public class ODBHDDDIR
  7500. {
  7501. public ODBHDDDIR_data data1 = new ODBHDDDIR_data();
  7502. public ODBHDDDIR_data data2 = new ODBHDDDIR_data();
  7503. public ODBHDDDIR_data data3 = new ODBHDDDIR_data();
  7504. public ODBHDDDIR_data data4 = new ODBHDDDIR_data();
  7505. public ODBHDDDIR_data data5 = new ODBHDDDIR_data();
  7506. public ODBHDDDIR_data data6 = new ODBHDDDIR_data();
  7507. public ODBHDDDIR_data data7 = new ODBHDDDIR_data();
  7508. public ODBHDDDIR_data data8 = new ODBHDDDIR_data();
  7509. public ODBHDDDIR_data data9 = new ODBHDDDIR_data();
  7510. public ODBHDDDIR_data data10 = new ODBHDDDIR_data();
  7511. public ODBHDDDIR_data data11 = new ODBHDDDIR_data();
  7512. public ODBHDDDIR_data data12 = new ODBHDDDIR_data();
  7513. public ODBHDDDIR_data data13 = new ODBHDDDIR_data();
  7514. public ODBHDDDIR_data data14 = new ODBHDDDIR_data();
  7515. public ODBHDDDIR_data data15 = new ODBHDDDIR_data();
  7516. public ODBHDDDIR_data data16 = new ODBHDDDIR_data();
  7517. public ODBHDDDIR_data data17 = new ODBHDDDIR_data();
  7518. public ODBHDDDIR_data data18 = new ODBHDDDIR_data();
  7519. public ODBHDDDIR_data data19 = new ODBHDDDIR_data();
  7520. public ODBHDDDIR_data data20 = new ODBHDDDIR_data();
  7521. public ODBHDDDIR_data data21 = new ODBHDDDIR_data();
  7522. public ODBHDDDIR_data data22 = new ODBHDDDIR_data();
  7523. public ODBHDDDIR_data data23 = new ODBHDDDIR_data();
  7524. public ODBHDDDIR_data data24 = new ODBHDDDIR_data();
  7525. public ODBHDDDIR_data data25 = new ODBHDDDIR_data();
  7526. public ODBHDDDIR_data data26 = new ODBHDDDIR_data();
  7527. public ODBHDDDIR_data data27 = new ODBHDDDIR_data();
  7528. public ODBHDDDIR_data data28 = new ODBHDDDIR_data();
  7529. public ODBHDDDIR_data data29 = new ODBHDDDIR_data();
  7530. public ODBHDDDIR_data data30 = new ODBHDDDIR_data();
  7531. public ODBHDDDIR_data data31 = new ODBHDDDIR_data();
  7532. public ODBHDDDIR_data data32 = new ODBHDDDIR_data();
  7533. }
  7534. /* ds_rdhostdir : read the file list of the host */
  7535. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7536. public class ODBHOSTDIR_data
  7537. {
  7538. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
  7539. public char[] host_file = new char[128];
  7540. }
  7541. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7542. public class ODBHOSTDIR
  7543. {
  7544. public ODBHOSTDIR_data data1 = new ODBHOSTDIR_data();
  7545. public ODBHOSTDIR_data data2 = new ODBHOSTDIR_data();
  7546. public ODBHOSTDIR_data data3 = new ODBHOSTDIR_data();
  7547. public ODBHOSTDIR_data data4 = new ODBHOSTDIR_data();
  7548. public ODBHOSTDIR_data data5 = new ODBHOSTDIR_data();
  7549. public ODBHOSTDIR_data data6 = new ODBHOSTDIR_data();
  7550. public ODBHOSTDIR_data data7 = new ODBHOSTDIR_data();
  7551. public ODBHOSTDIR_data data8 = new ODBHOSTDIR_data();
  7552. public ODBHOSTDIR_data data9 = new ODBHOSTDIR_data();
  7553. public ODBHOSTDIR_data data10 = new ODBHOSTDIR_data();
  7554. public ODBHOSTDIR_data data11 = new ODBHOSTDIR_data();
  7555. public ODBHOSTDIR_data data12 = new ODBHOSTDIR_data();
  7556. public ODBHOSTDIR_data data13 = new ODBHOSTDIR_data();
  7557. public ODBHOSTDIR_data data14 = new ODBHOSTDIR_data();
  7558. public ODBHOSTDIR_data data15 = new ODBHOSTDIR_data();
  7559. public ODBHOSTDIR_data data16 = new ODBHOSTDIR_data();
  7560. public ODBHOSTDIR_data data17 = new ODBHOSTDIR_data();
  7561. public ODBHOSTDIR_data data18 = new ODBHOSTDIR_data();
  7562. public ODBHOSTDIR_data data19 = new ODBHOSTDIR_data();
  7563. public ODBHOSTDIR_data data20 = new ODBHOSTDIR_data();
  7564. public ODBHOSTDIR_data data21 = new ODBHOSTDIR_data();
  7565. public ODBHOSTDIR_data data22 = new ODBHOSTDIR_data();
  7566. public ODBHOSTDIR_data data23 = new ODBHOSTDIR_data();
  7567. public ODBHOSTDIR_data data24 = new ODBHOSTDIR_data();
  7568. public ODBHOSTDIR_data data25 = new ODBHOSTDIR_data();
  7569. public ODBHOSTDIR_data data26 = new ODBHOSTDIR_data();
  7570. public ODBHOSTDIR_data data27 = new ODBHOSTDIR_data();
  7571. public ODBHOSTDIR_data data28 = new ODBHOSTDIR_data();
  7572. public ODBHOSTDIR_data data29 = new ODBHOSTDIR_data();
  7573. public ODBHOSTDIR_data data30 = new ODBHOSTDIR_data();
  7574. public ODBHOSTDIR_data data31 = new ODBHOSTDIR_data();
  7575. public ODBHOSTDIR_data data32 = new ODBHOSTDIR_data();
  7576. }
  7577. /* ds_rdmntinfo : read maintenance information */
  7578. [StructLayout(LayoutKind.Sequential, Pack = 4)]
  7579. public class DSMNTINFO
  7580. {
  7581. public ushort empty_cnt;
  7582. public uint total_size;
  7583. public ushort ReadPtr;
  7584. public ushort WritePtr;
  7585. };
  7586. /*--------------------------*/
  7587. /* HSSB multiple connection */
  7588. /*--------------------------*/
  7589. /* cnc_rdnodeinfo:read node informations */
  7590. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
  7591. public class ODBNODE
  7592. {
  7593. public int node_no;
  7594. public int io_base;
  7595. public int status;
  7596. public int cnc_type;
  7597. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
  7598. public string node_name = new string(' ', 20);
  7599. }
  7600. /*-------------------------------------*/
  7601. /* CNC: Control axis / spindle related */
  7602. /*-------------------------------------*/
  7603. /// <summary>
  7604. /// 读取实际轴进给率
  7605. /// </summary>
  7606. /// <param name="FlibHndl"></param>
  7607. /// <param name="a"></param>
  7608. /// <returns></returns>
  7609. /* read actual axis feedrate(F) */
  7610. [DllImport("FWLIB32.dll", EntryPoint = "cnc_actf")]
  7611. public static extern short cnc_actf(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT a);
  7612. /// <summary>
  7613. /// 读取绝对轴位置
  7614. /// </summary>
  7615. /// <param name="FlibHndl"></param>
  7616. /// <param name="a"></param>
  7617. /// <param name="b"></param>
  7618. /// <param name="c"></param>
  7619. /// <returns></returns>
  7620. /* read absolute axis position */
  7621. [DllImport("FWLIB32.dll", EntryPoint = "cnc_absolute")]
  7622. public static extern short cnc_absolute(ushort FlibHndl,
  7623. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7624. /// <summary>
  7625. /// 读取机器轴位置
  7626. /// </summary>
  7627. /// <param name="FlibHndl"></param>
  7628. /// <param name="a"></param>
  7629. /// <param name="b"></param>
  7630. /// <param name="c"></param>
  7631. /// <returns></returns>
  7632. /* read machine axis position */
  7633. [DllImport("FWLIB32.dll", EntryPoint = "cnc_machine")]
  7634. public static extern short cnc_machine(ushort FlibHndl,
  7635. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7636. /// <summary>
  7637. /// 读取相对轴位置
  7638. /// </summary>
  7639. /// <param name="FlibHndl"></param>
  7640. /// <param name="a"></param>
  7641. /// <param name="b"></param>
  7642. /// <param name="c"></param>
  7643. /// <returns></returns>
  7644. /* read relative axis position */
  7645. [DllImport("FWLIB32.dll", EntryPoint = "cnc_relative")]
  7646. public static extern short cnc_relative(ushort FlibHndl,
  7647. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7648. /// <summary>
  7649. /// 读取距离
  7650. /// </summary>
  7651. /// <param name="FlibHndl"></param>
  7652. /// <param name="a"></param>
  7653. /// <param name="b"></param>
  7654. /// <param name="c"></param>
  7655. /// <returns></returns>
  7656. /* read distance to go */
  7657. [DllImport("FWLIB32.dll", EntryPoint = "cnc_distance")]
  7658. public static extern short cnc_distance(ushort FlibHndl,
  7659. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7660. /// <summary>
  7661. /// 读取跳过位置
  7662. /// </summary>
  7663. /// <param name="FlibHndl"></param>
  7664. /// <param name="a"></param>
  7665. /// <param name="b"></param>
  7666. /// <param name="c"></param>
  7667. /// <returns></returns>
  7668. /* read skip position */
  7669. [DllImport("FWLIB32.dll", EntryPoint = "cnc_skip")]
  7670. public static extern short cnc_skip(ushort FlibHndl,
  7671. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7672. /// <summary>
  7673. /// 读伺服延迟值
  7674. /// </summary>
  7675. /// <param name="FlibHndl"></param>
  7676. /// <param name="a"></param>
  7677. /// <param name="b"></param>
  7678. /// <param name="c"></param>
  7679. /// <returns></returns>
  7680. /* read servo delay value */
  7681. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srvdelay")]
  7682. public static extern short cnc_srvdelay(ushort FlibHndl,
  7683. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7684. /* read acceleration/deceleration delay value */
  7685. [DllImport("FWLIB32.dll", EntryPoint = "cnc_accdecdly")]
  7686. public static extern short cnc_accdecdly(ushort FlibHndl,
  7687. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7688. /* read all dynamic data */
  7689. #if (!ONO8D)
  7690. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddynamic")]
  7691. public static extern short cnc_rddynamic(ushort FlibHndl,
  7692. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY_1 c);
  7693. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddynamic")]
  7694. public static extern short cnc_rddynamic(ushort FlibHndl,
  7695. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY_2 c);
  7696. #else
  7697. [DllImport("FWLIB32.dll", EntryPoint="cnc_rddynamico8")]
  7698. public static extern short cnc_rddynamic(ushort FlibHndl,
  7699. short a, short b, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDY_1 c);
  7700. [DllImport("FWLIB32.dll", EntryPoint="cnc_rddynamico8")]
  7701. public static extern short cnc_rddynamic(ushort FlibHndl,
  7702. short a, short b, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDY_2 c);
  7703. #endif
  7704. /* read all dynamic data */
  7705. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddynamic2")]
  7706. public static extern short cnc_rddynamic2(ushort FlibHndl,
  7707. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY2_1 c);
  7708. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddynamic2")]
  7709. public static extern short cnc_rddynamic2(ushort FlibHndl,
  7710. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY2_2 c);
  7711. /* read actual spindle speed(S) */
  7712. [DllImport("FWLIB32.dll", EntryPoint = "cnc_acts")]
  7713. public static extern short cnc_acts(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT a);
  7714. /* read actual spindle speed(S) (All or spesified) */
  7715. [DllImport("FWLIB32.dll", EntryPoint = "cnc_acts2")]
  7716. public static extern short cnc_acts2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT2 b);
  7717. /* set origin / preset relative axis position */
  7718. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrrelpos")]
  7719. public static extern short cnc_wrrelpos(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRR b);
  7720. /* preset work coordinate */
  7721. [DllImport("FWLIB32.dll", EntryPoint = "cnc_prstwkcd")]
  7722. public static extern short cnc_prstwkcd(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRA b);
  7723. /* read manual overlapped motion value */
  7724. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmovrlap")]
  7725. public static extern short cnc_rdmovrlap(ushort FlibHndl,
  7726. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBOVL c);
  7727. /* cancel manual overlapped motion value */
  7728. [DllImport("FWLIB32.dll", EntryPoint = "cnc_canmovrlap")]
  7729. public static extern short cnc_canmovrlap(ushort FlibHndl, short a);
  7730. /* read load information of serial spindle */
  7731. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdspload")]
  7732. public static extern short cnc_rdspload(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b);
  7733. /* read maximum r.p.m. ratio of serial spindle */
  7734. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdspmaxrpm")]
  7735. public static extern short cnc_rdspmaxrpm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b);
  7736. /* read gear ratio of serial spindle */
  7737. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdspgear")]
  7738. public static extern short cnc_rdspgear(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b);
  7739. /* read absolute axis position 2 */
  7740. [DllImport("FWLIB32.dll", EntryPoint = "cnc_absolute2")]
  7741. public static extern short cnc_absolute2(ushort FlibHndl,
  7742. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7743. /* read relative axis position 2 */
  7744. [DllImport("FWLIB32.dll", EntryPoint = "cnc_relative2")]
  7745. public static extern short cnc_relative2(ushort FlibHndl,
  7746. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7747. /* set wire vertival position */
  7748. [DllImport("FWLIB32.dll", EntryPoint = "cnc_setvrtclpos")]
  7749. public static extern short cnc_setvrtclpos(ushort FlibHndl, short a);
  7750. /* set wire threading position */
  7751. [DllImport("FWLIB32.dll", EntryPoint = "cnc_setthrdngpos")]
  7752. public static extern short cnc_setthrdngpos(ushort FlibHndl);
  7753. /* read tool position */
  7754. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdposition")]
  7755. public static extern short cnc_rdposition(ushort FlibHndl,
  7756. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPOS c);
  7757. /* read current speed */
  7758. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdspeed")]
  7759. public static extern short cnc_rdspeed(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPEED b);
  7760. /* read servo load meter */
  7761. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsvmeter")]
  7762. public static extern short cnc_rdsvmeter(ushort FlibHndl,
  7763. ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSVLOAD b);
  7764. /* read spindle load meter */
  7765. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdspmeter")]
  7766. public static extern short cnc_rdspmeter(ushort FlibHndl,
  7767. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPLOAD c);
  7768. /* read manual feed for 5-axis machining */
  7769. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd5axmandt")]
  7770. public static extern short cnc_rd5axmandt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB5AXMAN a);
  7771. /* read amount of machine axes movement of manual feed for 5-axis machining */
  7772. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd5axovrlap")]
  7773. public static extern short cnc_rd5axovrlap(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  7774. /* read handle interruption */
  7775. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhndintrpt")]
  7776. public static extern short cnc_rdhndintrpt(ushort FlibHndl,
  7777. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHND c);
  7778. /* clear pulse values of manual feed for 5-axis machining */
  7779. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clr5axpls")]
  7780. public static extern short cnc_clr5axpls(ushort FlibHndl, short a);
  7781. /* read constant surface speed */
  7782. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdspcss")]
  7783. public static extern short cnc_rdspcss(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCSS a);
  7784. /* read execution program pointer */
  7785. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdexecpt")]
  7786. public static extern short cnc_rdexecpt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGPNT a, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGPNT b);
  7787. /* read various axis data */
  7788. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdaxisdata")]
  7789. public static extern short cnc_rdaxisdata(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c, ref short d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXDT e);
  7790. /*----------------------*/
  7791. /* CNC: Program related */
  7792. /*----------------------*/
  7793. /* start downloading NC program */
  7794. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dwnstart")]
  7795. public static extern short cnc_dwnstart(ushort FlibHndl);
  7796. /* download NC program */
  7797. [DllImport("FWLIB32.dll", EntryPoint = "cnc_download")]
  7798. public static extern short cnc_download(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b);
  7799. /* download NC program(conditional) */
  7800. [DllImport("FWLIB32.dll", EntryPoint = "cnc_cdownload")]
  7801. public static extern short cnc_cdownload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b);
  7802. /* end of downloading NC program */
  7803. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dwnend")]
  7804. public static extern short cnc_dwnend(ushort FlibHndl);
  7805. /* end of downloading NC program 2 */
  7806. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dwnend2")]
  7807. public static extern short cnc_dwnend2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  7808. /// <summary>
  7809. /// 开始下载 NC程序
  7810. /// </summary>
  7811. /// <param name="FlibHndl"></param>
  7812. /// <param name="a"></param>
  7813. /// <returns></returns>
  7814. /* start downloading NC program 3 */
  7815. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dwnstart3")]
  7816. public static extern short cnc_dwnstart3(ushort FlibHndl, short a);
  7817. /* start downloading NC program 3 special */
  7818. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dwnstart3_f")]
  7819. public static extern short cnc_dwnstart3_f(ushort FlibHndl,short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
  7820. /// <summary>
  7821. /// 下载 NC程序
  7822. /// </summary>
  7823. /// <param name="FlibHndl"></param>
  7824. /// <param name="a"></param>
  7825. /// <param name="b"></param>
  7826. /// <returns></returns>
  7827. /* download NC program 3 */
  7828. [DllImport("FWLIB32.dll", EntryPoint = "cnc_download3")]
  7829. public static extern short cnc_download3(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  7830. /* end of downloading NC program 3 */
  7831. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dwnend3")]
  7832. public static extern short cnc_dwnend3(ushort FlibHndl);
  7833. /* start downloading NC program 4 */
  7834. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dwnstart4")]
  7835. public static extern short cnc_dwnstart4(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  7836. /* download NC program 4 */
  7837. [DllImport("FWLIB32.dll", EntryPoint = "cnc_download4")]
  7838. public static extern short cnc_download4(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  7839. /* end of downloading NC program 4 */
  7840. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dwnend4")]
  7841. public static extern short cnc_dwnend4(ushort FlibHndl);
  7842. /* start verification of NC program */
  7843. [DllImport("FWLIB32.dll", EntryPoint = "cnc_vrfstart")]
  7844. public static extern short cnc_vrfstart(ushort FlibHndl);
  7845. /* verify NC program */
  7846. [DllImport("FWLIB32.dll", EntryPoint = "cnc_verify")]
  7847. public static extern short cnc_verify(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b);
  7848. /* verify NC program(conditional) */
  7849. [DllImport("FWLIB32.dll", EntryPoint = "cnc_cverify")]
  7850. public static extern short cnc_cverify(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b);
  7851. /* end of verification */
  7852. [DllImport("FWLIB32.dll", EntryPoint = "cnc_vrfend")]
  7853. public static extern short cnc_vrfend(ushort FlibHndl);
  7854. /* start verification of NC program */
  7855. [DllImport("FWLIB32.dll", EntryPoint = "cnc_vrfstart4")]
  7856. public static extern short cnc_vrfstart4(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  7857. /* verify NC program */
  7858. [DllImport("FWLIB32.dll", EntryPoint = "cnc_verify4")]
  7859. public static extern short cnc_verify4(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  7860. /* end of verification */
  7861. [DllImport("FWLIB32.dll", EntryPoint = "cnc_vrfend4")]
  7862. public static extern short cnc_vrfend4(ushort FlibHndl);
  7863. /* start downloading DNC program */
  7864. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dncstart")]
  7865. public static extern short cnc_dncstart(ushort FlibHndl);
  7866. /* download DNC program */
  7867. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dnc")]
  7868. public static extern short cnc_dnc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ushort b);
  7869. /* download DNC program(conditional) */
  7870. [DllImport("FWLIB32.dll", EntryPoint = "cnc_cdnc")]
  7871. public static extern short cnc_cdnc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ushort b);
  7872. /* end of downloading DNC program */
  7873. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dncend")]
  7874. public static extern short cnc_dncend(ushort FlibHndl);
  7875. /* start downloading DNC program 2 */
  7876. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dncstart2")]
  7877. public static extern short cnc_dncstart2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  7878. /* download DNC program 2 */
  7879. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dnc2")]
  7880. public static extern short cnc_dnc2(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  7881. /* end of downloading DNC program 2 */
  7882. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dncend2")]
  7883. public static extern short cnc_dncend2(ushort FlibHndl, short a);
  7884. /* read the diagnosis data of DNC operation */
  7885. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddncdgndt")]
  7886. public static extern short cnc_rddncdgndt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDNCDGN a);
  7887. /* start uploading NC program */
  7888. #if (!ONO8D)
  7889. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upstart")]
  7890. public static extern short cnc_upstart(ushort FlibHndl, short a);
  7891. #else
  7892. [DllImport("FWLIB32.dll", EntryPoint="cnc_upstarto8")]
  7893. public static extern short cnc_upstart( ushort FlibHndl, int a );
  7894. #endif
  7895. /* upload NC program */
  7896. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upload")]
  7897. public static extern short cnc_upload(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUP a, ref ushort b);
  7898. /* upload NC program(conditional) */
  7899. [DllImport("FWLIB32.dll", EntryPoint = "cnc_cupload")]
  7900. public static extern short cnc_cupload(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUP a, ref ushort b);
  7901. /* end of uploading NC program */
  7902. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upend")]
  7903. public static extern short cnc_upend(ushort FlibHndl);
  7904. /* start uploading NC program 3 */
  7905. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upstart3")]
  7906. public static extern short cnc_upstart3(ushort FlibHndl, short a, int b, int c);
  7907. /* start uploading NC program special 3 */
  7908. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upstart3_f")]
  7909. public static extern short cnc_upstart3_f(ushort FlibHndl,
  7910. short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
  7911. /* upload NC program 3 */
  7912. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upload3")]
  7913. public static extern short cnc_upload3(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  7914. /* end of uploading NC program 3 */
  7915. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upend3")]
  7916. public static extern short cnc_upend3(ushort FlibHndl);
  7917. /* start uploading NC program 4 */
  7918. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upstart4")]
  7919. public static extern short cnc_upstart4(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  7920. /* upload NC program 4 */
  7921. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upload4")]
  7922. public static extern short cnc_upload4(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  7923. /* end of uploading NC program 4 */
  7924. [DllImport("FWLIB32.dll", EntryPoint = "cnc_upend4")]
  7925. public static extern short cnc_upend4(ushort FlibHndl);
  7926. /* read buffer status for downloading/verification NC program */
  7927. [DllImport("FWLIB32.dll", EntryPoint = "cnc_buff")]
  7928. public static extern short cnc_buff(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBUF a);
  7929. /* search specified program */
  7930. #if (!ONO8D)
  7931. [DllImport("FWLIB32.dll", EntryPoint = "cnc_search")]
  7932. public static extern short cnc_search(ushort FlibHndl, short a);
  7933. #else
  7934. [DllImport("FWLIB32.dll", EntryPoint="cnc_searcho8")]
  7935. public static extern short cnc_search( ushort FlibHndl, int a );
  7936. #endif
  7937. /* search specified program */
  7938. [DllImport("FWLIB32.dll", EntryPoint = "cnc_search2")]
  7939. public static extern short cnc_search2(ushort FlibHndl, int a);
  7940. /* delete all programs */
  7941. [DllImport("FWLIB32.dll", EntryPoint = "cnc_delall")]
  7942. public static extern short cnc_delall(ushort FlibHndl);
  7943. /* delete specified program */
  7944. #if (!ONO8D)
  7945. [DllImport("FWLIB32.dll", EntryPoint = "cnc_delete")]
  7946. public static extern short cnc_delete(ushort FlibHndl, short a);
  7947. #else
  7948. [DllImport("FWLIB32.dll", EntryPoint="cnc_deleteo8")]
  7949. public static extern short cnc_delete( ushort FlibHndl, int a );
  7950. #endif
  7951. /* delete program (area specified) */
  7952. [DllImport("FWLIB32.dll", EntryPoint = "cnc_delrange")]
  7953. public static extern short cnc_delrange(ushort FlibHndl, int a, int b);
  7954. /* read program directory */
  7955. #if (!ONO8D)
  7956. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprogdir")]
  7957. public static extern short cnc_rdprogdir(ushort FlibHndl,
  7958. short a, short b, short c, ushort d, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR e);
  7959. #else
  7960. [DllImport("FWLIB32.dll", EntryPoint="cnc_rdprogdiro8")]
  7961. public static extern short cnc_rdprogdir( ushort FlibHndl,
  7962. short a, short b, short c, ushort d, [Out,MarshalAs(UnmanagedType.LPStruct)] PRGDIR e );
  7963. #endif
  7964. /* read program information */
  7965. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdproginfo")]
  7966. public static extern short cnc_rdproginfo(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNC_1 c);
  7967. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdproginfo")]
  7968. public static extern short cnc_rdproginfo(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNC_2 c);
  7969. /* read program number under execution */
  7970. #if (!ONO8D)
  7971. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprgnum")]
  7972. public static extern short cnc_rdprgnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRO a);
  7973. #else
  7974. [DllImport("FWLIB32.dll", EntryPoint="cnc_rdprgnumo8")]
  7975. public static extern short cnc_rdprgnum( ushort FlibHndl, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBPRO a );
  7976. #endif
  7977. /* read program name under execution */
  7978. [DllImport("FWLIB32.dll", EntryPoint = "cnc_exeprgname")]
  7979. public static extern short cnc_exeprgname(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXEPRG a);
  7980. /* read sequence number under execution */
  7981. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdseqnum")]
  7982. public static extern short cnc_rdseqnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSEQ a);
  7983. /* search specified sequence number */
  7984. [DllImport("FWLIB32.dll", EntryPoint = "cnc_seqsrch")]
  7985. public static extern short cnc_seqsrch(ushort FlibHndl, int a);
  7986. /* search specified sequence number (2) */
  7987. [DllImport("FWLIB32.dll", EntryPoint = "cnc_seqsrch2")]
  7988. public static extern short cnc_seqsrch2(ushort FlibHndl, int a);
  7989. /* rewind cursor of NC program */
  7990. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rewind")]
  7991. public static extern short cnc_rewind(ushort FlibHndl);
  7992. /* read block counter */
  7993. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdblkcount")]
  7994. public static extern short cnc_rdblkcount(ushort FlibHndl, out int a);
  7995. /* read program under execution */
  7996. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdexecprog")]
  7997. public static extern short cnc_rdexecprog(ushort FlibHndl, ref ushort a, out short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
  7998. /* read program for MDI operation */
  7999. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmdiprog")]
  8000. public static extern short cnc_rdmdiprog(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  8001. /* write program for MDI operation */
  8002. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmdiprog")]
  8003. public static extern short cnc_wrmdiprog(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8004. /* read execution pointer for MDI operation */
  8005. #if (!ONO8D)
  8006. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmdipntr")]
  8007. public static extern short cnc_rdmdipntr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDIP a);
  8008. #else
  8009. [DllImport("FWLIB32.dll", EntryPoint="cnc_rdmdipntro8")]
  8010. public static extern short cnc_rdmdipntr( ushort FlibHndl, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBMDIP a );
  8011. #endif
  8012. /* write execution pointer for MDI operation */
  8013. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmdipntr")]
  8014. public static extern short cnc_wrmdipntr(ushort FlibHndl, int a);
  8015. /* register new program */
  8016. [DllImport("FWLIB32.dll", EntryPoint = "cnc_newprog")]
  8017. public static extern short cnc_newprog(ushort FlibHndl, int a);
  8018. /* copy program */
  8019. [DllImport("FWLIB32.dll", EntryPoint = "cnc_copyprog")]
  8020. public static extern short cnc_copyprog(ushort FlibHndl, int a, int b);
  8021. /* rename program */
  8022. [DllImport("FWLIB32.dll", EntryPoint = "cnc_renameprog")]
  8023. public static extern short cnc_renameprog(ushort FlibHndl, int a, int b);
  8024. /* condense program */
  8025. [DllImport("FWLIB32.dll", EntryPoint = "cnc_condense")]
  8026. public static extern short cnc_condense(ushort FlibHndl, short a, int b);
  8027. /* merge program */
  8028. [DllImport("FWLIB32.dll", EntryPoint = "cnc_mergeprog")]
  8029. public static extern short cnc_mergeprog(ushort FlibHndl, short a, int b, uint c, int d);
  8030. /* read current program and its pointer */
  8031. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdactpt")]
  8032. public static extern short cnc_rdactpt(ushort FlibHndl, out int a, out int b);
  8033. /* read current program and its pointer and UV macro pointer */
  8034. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rduvactpt")]
  8035. public static extern short cnc_rduvactpt(ushort FlibHndl, out int a, out int b, out int c);
  8036. /* set current program and its pointer */
  8037. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wractpt")]
  8038. public static extern short cnc_wractpt(ushort FlibHndl, int a, short b, ref int c);
  8039. /* line edit (read program) */
  8040. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprogline")]
  8041. public static extern short cnc_rdprogline(ushort FlibHndl,
  8042. int a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e);
  8043. /* line edit (read program) */
  8044. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprogline2")]
  8045. public static extern short cnc_rdprogline2(ushort FlibHndl,
  8046. int a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e);
  8047. /* line edit (write program) */
  8048. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrprogline")]
  8049. public static extern short cnc_wrprogline(ushort FlibHndl, int a, uint b, [In, MarshalAs(UnmanagedType.AsAny)] Object c, uint d);
  8050. /* line edit (delete line in program) */
  8051. [DllImport("FWLIB32.dll", EntryPoint = "cnc_delprogline")]
  8052. public static extern short cnc_delprogline(ushort FlibHndl, int a, uint b, uint c);
  8053. /* line edit (search string) */
  8054. [DllImport("FWLIB32.dll", EntryPoint = "cnc_searchword")]
  8055. public static extern short cnc_searchword(ushort FlibHndl,
  8056. int a, uint b, short c, short d, uint e, [In, MarshalAs(UnmanagedType.AsAny)] Object f);
  8057. /* line edit (search string) */
  8058. [DllImport("FWLIB32.dll", EntryPoint = "cnc_searchresult")]
  8059. public static extern short cnc_searchresult(ushort FlibHndl, out uint a);
  8060. /* line edit (read program by file name) */
  8061. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpdf_line")]
  8062. public static extern short cnc_rdpdf_line(ushort FlibHndl,
  8063. [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e);
  8064. /* program lock */
  8065. [DllImport("FWLIB32.dll", EntryPoint = "cnc_setpglock")]
  8066. public static extern short cnc_setpglock(ushort FlibHndl, int a);
  8067. /* program unlock */
  8068. [DllImport("FWLIB32.dll", EntryPoint = "cnc_resetpglock")]
  8069. public static extern short cnc_resetpglock(ushort FlibHndl, int a);
  8070. /* read the status of the program lock */
  8071. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpglockstat")]
  8072. public static extern short cnc_rdpglockstat(ushort FlibHndl, out int a, out int b);
  8073. /* create file or directory */
  8074. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_add")]
  8075. public static extern short cnc_pdf_add(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  8076. /* condense program file */
  8077. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_cond")]
  8078. public static extern short cnc_pdf_cond(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  8079. /* change attribute of program file and directory */
  8080. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpdf_attr")]
  8081. public static extern short cnc_wrpdf_attr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.LPStruct)] IDBPDFTDIR b);
  8082. /* copy program file */
  8083. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_copy")]
  8084. public static extern short cnc_pdf_copy(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8085. /* delete file or directory */
  8086. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_del")]
  8087. public static extern short cnc_pdf_del(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  8088. /* line edit (write program by file name) */
  8089. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpdf_line")]
  8090. public static extern short cnc_wrpdf_line(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, [In, MarshalAs(UnmanagedType.AsAny)] Object c, uint d);
  8091. /* line edit (delete line by file name) */
  8092. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_delline")]
  8093. public static extern short cnc_pdf_delline(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, uint c);
  8094. /* move program file */
  8095. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_move")]
  8096. public static extern short cnc_pdf_move(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8097. /* read current program and its pointer */
  8098. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_rdactpt")]
  8099. public static extern short cnc_pdf_rdactpt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a, out int b);
  8100. /* read selected file name */
  8101. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_rdmain")]
  8102. public static extern short cnc_pdf_rdmain(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  8103. /* rename file or directory */
  8104. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_rename")]
  8105. public static extern short cnc_pdf_rename(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8106. /* line edit (search string) */
  8107. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_searchword")]
  8108. public static extern short cnc_pdf_searchword(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, uint c, uint d, uint e, [In, MarshalAs(UnmanagedType.AsAny)] Object f);
  8109. /* line edit (search string) */
  8110. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_searchresult")]
  8111. public static extern short cnc_pdf_searchresult(ushort FlibHndl, out uint a);
  8112. /* select program file */
  8113. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_slctmain")]
  8114. public static extern short cnc_pdf_slctmain(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  8115. /* set current program and its pointer */
  8116. [DllImport("FWLIB32.dll", EntryPoint = "cnc_pdf_wractpt")]
  8117. public static extern short cnc_pdf_wractpt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, ref int c);
  8118. /* read program drive information */
  8119. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpdf_inf")]
  8120. public static extern short cnc_rdpdf_inf(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
  8121. /* read program drive directory */
  8122. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpdf_drive")]
  8123. public static extern short cnc_rdpdf_drive(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  8124. /* read current directory */
  8125. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpdf_curdir")]
  8126. public static extern short cnc_rdpdf_curdir(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  8127. /* set current directory */
  8128. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpdf_curdir")]
  8129. public static extern short cnc_wrpdf_curdir(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  8130. /* read directory (sub directories) */
  8131. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpdf_subdir")]
  8132. public static extern short cnc_rdpdf_subdir(ushort FlibHndl,
  8133. ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBPDFSDIR b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPDFSDIR c);
  8134. /* read directory (all files) */
  8135. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpdf_alldir")]
  8136. public static extern short cnc_rdpdf_alldir(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
  8137. /* read file count in directory */
  8138. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpdf_subdirn")]
  8139. public static extern short cnc_rdpdf_subdirn(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPDFNFIL b);
  8140. /*---------------------------*/
  8141. /* CNC: NC file data related */
  8142. /*---------------------------*/
  8143. /* read tool offset value */
  8144. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtofs")]
  8145. public static extern short cnc_rdtofs(ushort FlibHndl,
  8146. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTOFS d);
  8147. /* write tool offset value */
  8148. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtofs")]
  8149. public static extern short cnc_wrtofs(ushort FlibHndl, short a, short b, short c, int d);
  8150. /* read tool offset value(area specified) */
  8151. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtofsr")]
  8152. public static extern short cnc_rdtofsr(ushort FlibHndl,
  8153. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_1 e);
  8154. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtofsr")]
  8155. public static extern short cnc_rdtofsr(ushort FlibHndl,
  8156. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_2 e);
  8157. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtofsr")]
  8158. public static extern short cnc_rdtofsr(ushort FlibHndl,
  8159. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_3 e);
  8160. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtofsr")]
  8161. public static extern short cnc_rdtofsr(ushort FlibHndl,
  8162. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_2 e);
  8163. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtofsr")]
  8164. public static extern short cnc_rdtofsr(ushort FlibHndl,
  8165. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_3 e);
  8166. /* write tool offset value(area specified) */
  8167. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtofsr")]
  8168. public static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_1 b);
  8169. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtofsr")]
  8170. public static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_2 b);
  8171. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtofsr")]
  8172. public static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_3 b);
  8173. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtofsr")]
  8174. public static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_2 b);
  8175. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtofsr")]
  8176. public static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_3 b);
  8177. /* read work zero offset value */
  8178. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdzofs")]
  8179. public static extern short cnc_rdzofs(ushort FlibHndl,
  8180. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS d);
  8181. /* write work zero offset value */
  8182. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrzofs")]
  8183. public static extern short cnc_wrzofs(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b);
  8184. /* read work zero offset value(area specified) */
  8185. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdzofsr")]
  8186. public static extern short cnc_rdzofsr(ushort FlibHndl,
  8187. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOR e);
  8188. /* write work zero offset value(area specified) */
  8189. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrzofsr")]
  8190. public static extern short cnc_wrzofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOR b);
  8191. /* read mesured point value */
  8192. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmsptype")]
  8193. public static extern short cnc_rdmsptype(ushort FlibHndl,
  8194. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMSTP d);
  8195. /* write mesured point value */
  8196. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmsptype")]
  8197. public static extern short cnc_wrmsptype(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMSTP d);
  8198. /* read parameter */
  8199. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam")]
  8200. public static extern short cnc_rdparam(ushort FlibHndl,
  8201. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 d);
  8202. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam")]
  8203. public static extern short cnc_rdparam(ushort FlibHndl,
  8204. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 d);
  8205. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam")]
  8206. public static extern short cnc_rdparam(ushort FlibHndl,
  8207. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 d);
  8208. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam")]
  8209. public static extern short cnc_rdparam(ushort FlibHndl,
  8210. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 d);
  8211. /* write parameter */
  8212. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrparam")]
  8213. public static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 b);
  8214. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrparam")]
  8215. public static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 b);
  8216. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrparam")]
  8217. public static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 b);
  8218. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrparam")]
  8219. public static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 b);
  8220. /* read parameter(area specified) */
  8221. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparar")]
  8222. public static extern short cnc_rdparar(ushort FlibHndl,
  8223. ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e);
  8224. // [DllImport("FWLIB32.dll", EntryPoint="cnc_rdparar")]
  8225. // public static extern short cnc_rdparar( ushort FlibHndl,
  8226. // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_A e );
  8227. // [DllImport("FWLIB32.dll", EntryPoint="cnc_rdparar")]
  8228. // public static extern short cnc_rdparar( ushort FlibHndl,
  8229. // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_B e );
  8230. // [DllImport("FWLIB32.dll", EntryPoint="cnc_rdparar")]
  8231. // public static extern short cnc_rdparar( ushort FlibHndl,
  8232. // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_C e );
  8233. // [DllImport("FWLIB32.dll", EntryPoint="cnc_rdparar")]
  8234. // public static extern short cnc_rdparar( ushort FlibHndl,
  8235. // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_D e );
  8236. /* write parameter(area specified) */
  8237. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrparas")]
  8238. public static extern short cnc_wrparas(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8239. /* read setting data */
  8240. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdset")]
  8241. public static extern short cnc_rdset(ushort FlibHndl,
  8242. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 d);
  8243. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdset")]
  8244. public static extern short cnc_rdset(ushort FlibHndl,
  8245. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 d);
  8246. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdset")]
  8247. public static extern short cnc_rdset(ushort FlibHndl,
  8248. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 d);
  8249. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdset")]
  8250. public static extern short cnc_rdset(ushort FlibHndl,
  8251. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 d);
  8252. /* write setting data */
  8253. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrset")]
  8254. public static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 b);
  8255. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrset")]
  8256. public static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 b);
  8257. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrset")]
  8258. public static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 b);
  8259. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrset")]
  8260. public static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 b);
  8261. /* read setting data(area specified) */
  8262. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsetr")]
  8263. public static extern short cnc_rdsetr(ushort FlibHndl,
  8264. ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e);
  8265. /* write setting data(area specified) */
  8266. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrsets")]
  8267. public static extern short cnc_wrsets(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8268. /* read parameters */
  8269. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam_ext")]
  8270. public static extern short cnc_rdparam_ext(ushort FlibHndl,
  8271. [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRMNO a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRM c);
  8272. /* read parameter */
  8273. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam3")]
  8274. public static extern short cnc_rdparam3(ushort FlibHndl,
  8275. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 e);
  8276. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam3")]
  8277. public static extern short cnc_rdparam3(ushort FlibHndl,
  8278. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 e);
  8279. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam3")]
  8280. public static extern short cnc_rdparam3(ushort FlibHndl,
  8281. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 e);
  8282. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparam3")]
  8283. public static extern short cnc_rdparam3(ushort FlibHndl,
  8284. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 e);
  8285. /* async parameter write start */
  8286. [DllImport("FWLIB32.dll", EntryPoint = "cnc_start_async_wrparam")]
  8287. public static extern short cnc_start_async_wrparam(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRM a);
  8288. /* async parameter write end */
  8289. [DllImport("FWLIB32.dll", EntryPoint = "cnc_end_async_wrparam")]
  8290. public static extern short cnc_end_async_wrparam(ushort FlibHndl, out short a);
  8291. /* read cause of busy for async parameter write */
  8292. [DllImport("FWLIB32.dll", EntryPoint = "cnc_async_busy_state")]
  8293. public static extern short cnc_async_busy_state(ushort FlibHndl, out short a);
  8294. /* read diagnosis data */
  8295. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddiag_ext")]
  8296. public static extern short cnc_rddiag_ext(ushort FlibHndl,
  8297. [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRMNO a, short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRM c);
  8298. /* read pitch error compensation data(area specified) */
  8299. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpitchr")]
  8300. public static extern short cnc_rdpitchr(ushort FlibHndl,
  8301. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPI d);
  8302. /* write pitch error compensation data(area specified) */
  8303. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpitchr")]
  8304. public static extern short cnc_wrpitchr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPI b);
  8305. /* read custom macro variable */
  8306. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmacro")]
  8307. public static extern short cnc_rdmacro(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBM c);
  8308. /* write custom macro variable */
  8309. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmacro")]
  8310. public static extern short cnc_wrmacro(ushort FlibHndl, short a, short b, int c, short d);
  8311. /* read custom macro variables(area specified) */
  8312. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmacror")]
  8313. public static extern short cnc_rdmacror(ushort FlibHndl,
  8314. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMR d);
  8315. /* write custom macro variables(area specified) */
  8316. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmacror")]
  8317. public static extern short cnc_wrmacror(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMR b);
  8318. /* read custom macro variables(IEEE double version) */
  8319. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmacror2")]
  8320. public static extern short cnc_rdmacror2(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
  8321. /* write custom macro variables(IEEE double version) */
  8322. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmacror2")]
  8323. public static extern short cnc_wrmacror2(ushort FlibHndl, int a, ref int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
  8324. /* read P code macro variable */
  8325. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpmacro")]
  8326. public static extern short cnc_rdpmacro(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPM b);
  8327. /* write P code macro variable */
  8328. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpmacro")]
  8329. public static extern short cnc_wrpmacro(ushort FlibHndl, int a, int b, short c);
  8330. /* read P code macro variables(area specified) */
  8331. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpmacror")]
  8332. public static extern short cnc_rdpmacror(ushort FlibHndl,
  8333. int a, int b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPR d);
  8334. /* write P code macro variables(area specified) */
  8335. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpmacror")]
  8336. public static extern short cnc_wrpmacror(ushort FlibHndl, ushort a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPR b);
  8337. /* read P code macro variables(IEEE double version) */
  8338. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpmacror2")]
  8339. public static extern short cnc_rdpmacror2(ushort FlibHndl, uint a, ref uint b, ushort c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
  8340. /* write P code macro variables(IEEE double version) */
  8341. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpmacror2")]
  8342. public static extern short cnc_wrpmacror2(ushort FlibHndl, uint a, ref uint b, ushort c, [In, MarshalAs(UnmanagedType.AsAny)] Object d);
  8343. /* read tool offset information */
  8344. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtofsinfo")]
  8345. public static extern short cnc_rdtofsinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINF a);
  8346. /* read tool offset information(2) */
  8347. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtofsinfo2")]
  8348. public static extern short cnc_rdtofsinfo2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINF2 a);
  8349. /* read work zero offset information */
  8350. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdzofsinfo")]
  8351. public static extern short cnc_rdzofsinfo(ushort FlibHndl, out short a);
  8352. /* read pitch error compensation data information */
  8353. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpitchinfo")]
  8354. public static extern short cnc_rdpitchinfo(ushort FlibHndl, out short a);
  8355. /* read custom macro variable information */
  8356. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmacroinfo")]
  8357. public static extern short cnc_rdmacroinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMVINF a);
  8358. /* read P code macro variable information */
  8359. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpmacroinfo")]
  8360. public static extern short cnc_rdpmacroinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMINF a);
  8361. /* read validity of tool offset */
  8362. [DllImport("FWLIB32.dll", EntryPoint = "cnc_tofs_rnge")]
  8363. public static extern short cnc_tofs_rnge(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG c);
  8364. /* read validity of work zero offset */
  8365. [DllImport("FWLIB32.dll", EntryPoint = "cnc_zofs_rnge")]
  8366. public static extern short cnc_zofs_rnge(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG c);
  8367. /* read validity of work zero offset */
  8368. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wksft_rnge")]
  8369. public static extern short cnc_wksft_rnge(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG b);
  8370. /* read the information for function cnc_rdhsparam() */
  8371. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhsprminfo")]
  8372. public static extern short cnc_rdhsprminfo(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPINFO_data b);
  8373. /* read parameters at the high speed */
  8374. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhsparam")]
  8375. public static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_1 c);
  8376. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhsparam")]
  8377. public static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_2 c);
  8378. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhsparam")]
  8379. public static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_3 c);
  8380. /*----------------------------------------*/
  8381. /* CNC: Tool life management data related */
  8382. /*----------------------------------------*/
  8383. /* read tool life management data(tool group number) */
  8384. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgrpid")]
  8385. public static extern short cnc_rdgrpid(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE1 b);
  8386. /// <summary>
  8387. /// 刀片组的全部数量
  8388. /// </summary>
  8389. /// <param name="FlibHndl"></param>
  8390. /// <param name="a"></param>
  8391. /// <returns></returns>
  8392. /* read tool life management data(number of tool groups) */
  8393. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdngrp")]
  8394. public static extern short cnc_rdngrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE2 a);
  8395. /// <summary>
  8396. /// 刀具的数量
  8397. /// </summary>
  8398. /// <param name="FlibHndl"></param>
  8399. /// <param name="a"></param>
  8400. /// <param name="b"></param>
  8401. /// <returns></returns>
  8402. /* read tool life management data(number of tools) */
  8403. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdntool")]
  8404. public static extern short cnc_rdntool(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b);
  8405. /// <summary>
  8406. /// 刀具寿命
  8407. /// </summary>
  8408. /// <param name="FlibHndl"></param>
  8409. /// <param name="a"></param>
  8410. /// <param name="b"></param>
  8411. /// <returns></returns>
  8412. /* read tool life management data(tool life) */
  8413. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlife")]
  8414. public static extern short cnc_rdlife(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b);
  8415. /// <summary>
  8416. /// 刀具计时器
  8417. /// </summary>
  8418. /// <param name="FlibHndl"></param>
  8419. /// <param name="a"></param>
  8420. /// <param name="b"></param>
  8421. /// <returns></returns>
  8422. /* read tool life management data(tool lift counter) */
  8423. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcount")]
  8424. public static extern short cnc_rdcount(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b);
  8425. /* read tool life management data(tool length number-1) */
  8426. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd1length")]
  8427. public static extern short cnc_rd1length(ushort FlibHndl,
  8428. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
  8429. /* read tool life management data(tool length number-2) */
  8430. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd2length")]
  8431. public static extern short cnc_rd2length(ushort FlibHndl,
  8432. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
  8433. /* read tool life management data(cutter compensation no.-1) */
  8434. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd1radius")]
  8435. public static extern short cnc_rd1radius(ushort FlibHndl,
  8436. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
  8437. /* read tool life management data(cutter compensation no.-2) */
  8438. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd2radius")]
  8439. public static extern short cnc_rd2radius(ushort FlibHndl,
  8440. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
  8441. /* read tool life management data(tool information-1) */
  8442. [DllImport("FWLIB32.dll", EntryPoint = "cnc_t1info")]
  8443. public static extern short cnc_t1info(ushort FlibHndl,
  8444. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
  8445. /* read tool life management data(tool information-2) */
  8446. [DllImport("FWLIB32.dll", EntryPoint = "cnc_t2info")]
  8447. public static extern short cnc_t2info(ushort FlibHndl,
  8448. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
  8449. /* read tool life management data(tool number) */
  8450. [DllImport("FWLIB32.dll", EntryPoint = "cnc_toolnum")]
  8451. public static extern short cnc_toolnum(ushort FlibHndl,
  8452. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
  8453. /* read tool life management data(tool number, tool life, tool life counter)(area specified) */
  8454. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtoolrng")]
  8455. public static extern short cnc_rdtoolrng(ushort FlibHndl,
  8456. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTR d);
  8457. /// <summary>
  8458. /// 根据刀组号读出所有信息,很重要
  8459. /// </summary>
  8460. /// <param name="FlibHndl"></param>
  8461. /// <param name="a"></param>
  8462. /// <param name="b"></param>
  8463. /// <param name="c"></param>
  8464. /// <returns></returns>
  8465. /* read tool life management data(all data within group) */
  8466. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtoolgrp")]
  8467. public static extern short cnc_rdtoolgrp(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTG c);
  8468. /* write tool life management data(tool life counter) (area specified) */
  8469. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrcountr")]
  8470. public static extern short cnc_wrcountr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRC b);
  8471. /* read tool life management data(used tool group number) */
  8472. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdusegrpid")]
  8473. public static extern short cnc_rdusegrpid(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUSEGR a);
  8474. /* read tool life management data(max. number of tool groups) */
  8475. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmaxgrp")]
  8476. public static extern short cnc_rdmaxgrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLFNO a);
  8477. /* read tool life management data(maximum number of tool within group) */
  8478. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmaxtool")]
  8479. public static extern short cnc_rdmaxtool(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLFNO a);
  8480. /* read tool life management data(used tool no. within group) */
  8481. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdusetlno")]
  8482. public static extern short cnc_rdusetlno(ushort FlibHndl,
  8483. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLUSE d);
  8484. /* read tool life management data(tool data1) */
  8485. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd1tlifedata")]
  8486. public static extern short cnc_rd1tlifedata(ushort FlibHndl,
  8487. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD c);
  8488. /* read tool life management data(tool data2) */
  8489. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd2tlifedata")]
  8490. public static extern short cnc_rd2tlifedata(ushort FlibHndl,
  8491. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD c);
  8492. /* write tool life management data(tool data1) */
  8493. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wr1tlifedata")]
  8494. public static extern short cnc_wr1tlifedata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD a);
  8495. /* write tool life management data(tool data2) */
  8496. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wr2tlifedata")]
  8497. public static extern short cnc_wr2tlifedata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD a);
  8498. /* read tool life management data(tool group information) */
  8499. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgrpinfo")]
  8500. public static extern short cnc_rdgrpinfo(ushort FlibHndl,
  8501. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI d);
  8502. /* read tool life management data(tool group information 2) */
  8503. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgrpinfo2")]
  8504. public static extern short cnc_rdgrpinfo2(ushort FlibHndl,
  8505. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI2 d);
  8506. /* read tool life management data(tool group information 3) */
  8507. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgrpinfo3")]
  8508. public static extern short cnc_rdgrpinfo3(ushort FlibHndl,
  8509. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI3 d);
  8510. /* read tool life management data(tool group information 4) */
  8511. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgrpinfo4")]
  8512. public static extern short cnc_rdgrpinfo4(ushort FlibHndl,
  8513. short a, short b, short c, out short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI4 e);
  8514. /* write tool life management data(tool group information) */
  8515. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrgrpinfo")]
  8516. public static extern short cnc_wrgrpinfo(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI b);
  8517. /* write tool life management data(tool group information 2) */
  8518. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrgrpinfo2")]
  8519. public static extern short cnc_wrgrpinfo2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI2 b);
  8520. /* write tool life management data(tool group information 3) */
  8521. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrgrpinfo3")]
  8522. public static extern short cnc_wrgrpinfo3(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI3 b);
  8523. /* delete tool life management data(tool group) */
  8524. [DllImport("FWLIB32.dll", EntryPoint = "cnc_deltlifegrp")]
  8525. public static extern short cnc_deltlifegrp(ushort FlibHndl, short a);
  8526. /* insert tool life management data(tool data) */
  8527. [DllImport("FWLIB32.dll", EntryPoint = "cnc_instlifedt")]
  8528. public static extern short cnc_instlifedt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IDBITD a);
  8529. /* delete tool life management data(tool data) */
  8530. [DllImport("FWLIB32.dll", EntryPoint = "cnc_deltlifedt")]
  8531. public static extern short cnc_deltlifedt(ushort FlibHndl, short a, short b);
  8532. /* clear tool life management data(tool life counter, tool information)(area specified) */
  8533. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clrcntinfo")]
  8534. public static extern short cnc_clrcntinfo(ushort FlibHndl, short a, short b);
  8535. /// <summary>
  8536. /// 读取刀具寿命管理数据
  8537. /// </summary>
  8538. /// <param name="FlibHndl"></param>
  8539. /// <param name="a"></param>
  8540. /// <param name="b"></param>
  8541. /// <returns></returns>
  8542. /* read tool life management data(tool group number) 2 */
  8543. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgrpid2")]
  8544. public static extern short cnc_rdgrpid2(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE5 b);
  8545. /* read tool life management data(tool data1) 2 */
  8546. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd1tlifedat2")]
  8547. public static extern short cnc_rd1tlifedat2(ushort FlibHndl,
  8548. short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD2 c);
  8549. /* write tool life management data(tool data1) 2 */
  8550. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wr1tlifedat2")]
  8551. public static extern short cnc_wr1tlifedat2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD2 a);
  8552. /* read tool life management data */
  8553. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtlinfo")]
  8554. public static extern short cnc_rdtlinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINFO a);
  8555. /* read tool life management data(used tool group number) */
  8556. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtlusegrp")]
  8557. public static extern short cnc_rdtlusegrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUSEGRP a);
  8558. /* read tool life management data(tool group information 2) */
  8559. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtlgrp")]
  8560. public static extern short cnc_rdtlgrp(ushort FlibHndl,
  8561. int a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLGRP c);
  8562. /* read tool life management data (tool data1) */
  8563. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtltool")]
  8564. public static extern short cnc_rdtltool(ushort FlibHndl,
  8565. int a, int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLTOOL d);
  8566. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdexchgtgrp")]
  8567. public static extern short cnc_rdexchgtgrp(ushort FlibHndl,
  8568. ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXGP c);
  8569. /*-----------------------------------*/
  8570. /* CNC: Tool management data related */
  8571. /*-----------------------------------*/
  8572. /* new registration of tool management data */
  8573. [DllImport("FWLIB32.dll", EntryPoint = "cnc_regtool")]
  8574. public static extern short cnc_regtool(ushort FlibHndl,
  8575. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG c);
  8576. /* new registration of tool management data */
  8577. [DllImport("FWLIB32.dll", EntryPoint = "cnc_regtool_f2")]
  8578. public static extern short cnc_regtool_f2(ushort FlibHndl,
  8579. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2 c);
  8580. /* deletion of tool management data */
  8581. [DllImport("FWLIB32.dll", EntryPoint = "cnc_deltool")]
  8582. public static extern short cnc_deltool(ushort FlibHndl, short a, ref short b);
  8583. /* lead of tool management data */
  8584. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtool")]
  8585. public static extern short cnc_rdtool(ushort FlibHndl,
  8586. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG c);
  8587. /* lead of tool management data */
  8588. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtool_f2")]
  8589. public static extern short cnc_rdtool_f2(ushort FlibHndl,
  8590. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2 c);
  8591. /* write of tool management data */
  8592. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtool")]
  8593. public static extern short cnc_wrtool(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG b);
  8594. /* write of individual data of tool management data */
  8595. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtool2")]
  8596. public static extern short cnc_wrtool2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBTLM b);
  8597. /* write tool management data */
  8598. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtool_f2")]
  8599. public static extern short cnc_wrtool_f2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2_data b);
  8600. /* new registration of magazine management data */
  8601. [DllImport("FWLIB32.dll", EntryPoint = "cnc_regmagazine")]
  8602. public static extern short cnc_regmagazine(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG b);
  8603. /* deletion of magazine management data */
  8604. [DllImport("FWLIB32.dll", EntryPoint = "cnc_delmagazine")]
  8605. public static extern short cnc_delmagazine(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG2 b);
  8606. /* lead of magazine management data */
  8607. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmagazine")]
  8608. public static extern short cnc_rdmagazine(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG b);
  8609. /* Individual write of magazine management data */
  8610. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmagazine")]
  8611. public static extern short cnc_wrmagazine(ushort FlibHndl, short a, short b, short c);
  8612. /*-------------------------------------*/
  8613. /* CNC: Operation history data related */
  8614. /*-------------------------------------*/
  8615. /* stop logging operation history data */
  8616. [DllImport("FWLIB32.dll", EntryPoint = "cnc_stopophis")]
  8617. public static extern short cnc_stopophis(ushort FlibHndl);
  8618. /* restart logging operation history data */
  8619. [DllImport("FWLIB32.dll", EntryPoint = "cnc_startophis")]
  8620. public static extern short cnc_startophis(ushort FlibHndl);
  8621. /* read number of operation history data */
  8622. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophisno")]
  8623. public static extern short cnc_rdophisno(ushort FlibHndl, out ushort a);
  8624. /* read operation history data */
  8625. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry")]
  8626. public static extern short cnc_rdophistry(ushort FlibHndl,
  8627. ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHIS d);
  8628. /* read operation history data */
  8629. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry2")]
  8630. public static extern short cnc_rdophistry2(ushort FlibHndl,
  8631. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
  8632. /* read operation history data F30i*/
  8633. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8634. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8635. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_1 d);
  8636. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8637. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8638. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_2 d);
  8639. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8640. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8641. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_3 d);
  8642. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8643. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8644. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_4 d);
  8645. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8646. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8647. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_5 d);
  8648. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8649. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8650. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_6 d);
  8651. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8652. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8653. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_7 d);
  8654. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8655. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8656. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_8 d);
  8657. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8658. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8659. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_9 d);
  8660. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8661. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8662. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_10 d);
  8663. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdophistry4")]
  8664. public static extern short cnc_rdophistry4(ushort FlibHndl,
  8665. ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_11 d);
  8666. /* read number of alarm history data */
  8667. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalmhisno")]
  8668. public static extern short cnc_rdalmhisno(ushort FlibHndl, out ushort a);
  8669. /* read alarm history data */
  8670. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalmhistry")]
  8671. public static extern short cnc_rdalmhistry(ushort FlibHndl,
  8672. ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS d);
  8673. /* read alarm history data */
  8674. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalmhistry_w")]
  8675. public static extern short cnc_rdalmhistry_w(ushort FlibHndl,
  8676. ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS d);
  8677. /* read alarm history data */
  8678. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalmhistry2")]
  8679. public static extern short cnc_rdalmhistry2(ushort FlibHndl,
  8680. ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS2 d);
  8681. /* read alarm history data F30i*/
  8682. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalmhistry3")]
  8683. public static extern short cnc_rdalmhistry3(ushort FlibHndl,
  8684. ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS3 d);
  8685. /* read alarm history data F30i*/
  8686. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalmhistry5")]
  8687. public static extern short cnc_rdalmhistry5(ushort FlibHndl,
  8688. ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS5 d);
  8689. /* clear operation history data */
  8690. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clearophis")]
  8691. public static extern short cnc_clearophis(ushort FlibHndl, short a);
  8692. /* read signals related operation history */
  8693. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhissgnl")]
  8694. public static extern short cnc_rdhissgnl(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG a);
  8695. /* read signals related operation history 2 */
  8696. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhissgnl2")]
  8697. public static extern short cnc_rdhissgnl2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG2 a);
  8698. /* read signals related operation history 3 */
  8699. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhissgnl3")]
  8700. public static extern short cnc_rdhissgnl3(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG3 a);
  8701. /* write signals related operation history */
  8702. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrhissgnl")]
  8703. public static extern short cnc_wrhissgnl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG a);
  8704. /* write signals related operation history 2 */
  8705. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrhissgnl2")]
  8706. public static extern short cnc_wrhissgnl2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG2 a);
  8707. /* write signals related operation history for F30i*/
  8708. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrhissgnl3")]
  8709. public static extern short cnc_wrhissgnl3(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG3 a);
  8710. /* read number of operater message history data */
  8711. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdomhisno")]
  8712. public static extern short cnc_rdomhisno(ushort FlibHndl, out ushort a);
  8713. /*-------------*/
  8714. /* CNC: Others */
  8715. /*-------------*/
  8716. /* read CNC system information */
  8717. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sysinfo")]
  8718. public static extern short cnc_sysinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYS a);
  8719. /* read CNC status information */
  8720. [DllImport("FWLIB32.dll", EntryPoint = "cnc_statinfo")]
  8721. public static extern short cnc_statinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBST a);
  8722. /* read alarm status */
  8723. [DllImport("FWLIB32.dll", EntryPoint = "cnc_alarm")]
  8724. public static extern short cnc_alarm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALM a);
  8725. /* read alarm status */
  8726. [DllImport("FWLIB32.dll", EntryPoint = "cnc_alarm2")]
  8727. public static extern short cnc_alarm2(ushort FlibHndl, out int a);
  8728. /* read alarm information */
  8729. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalminfo")]
  8730. public static extern short cnc_rdalminfo(ushort FlibHndl,
  8731. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ALMINFO_1 d);
  8732. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalminfo")]
  8733. public static extern short cnc_rdalminfo(ushort FlibHndl,
  8734. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ALMINFO_2 d);
  8735. /* read alarm message */
  8736. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalmmsg")]
  8737. public static extern short cnc_rdalmmsg(ushort FlibHndl,
  8738. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALMMSG c);
  8739. /* read alarm message(2) */
  8740. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdalmmsg2")]
  8741. public static extern short cnc_rdalmmsg2(ushort FlibHndl,
  8742. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALMMSG2 c);
  8743. /* clear CNC alarm */
  8744. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clralm")]
  8745. public static extern short cnc_clralm(ushort FlibHndl, short a);
  8746. /* read modal data */
  8747. [DllImport("FWLIB32.dll", EntryPoint = "cnc_modal")]
  8748. public static extern short cnc_modal(ushort FlibHndl,
  8749. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_1 c);
  8750. [DllImport("FWLIB32.dll", EntryPoint = "cnc_modal")]
  8751. public static extern short cnc_modal(ushort FlibHndl,
  8752. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_2 c);
  8753. [DllImport("FWLIB32.dll", EntryPoint = "cnc_modal")]
  8754. public static extern short cnc_modal(ushort FlibHndl,
  8755. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_3 c);
  8756. [DllImport("FWLIB32.dll", EntryPoint = "cnc_modal")]
  8757. public static extern short cnc_modal(ushort FlibHndl,
  8758. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_4 c);
  8759. [DllImport("FWLIB32.dll", EntryPoint = "cnc_modal")]
  8760. public static extern short cnc_modal(ushort FlibHndl,
  8761. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_5 c);
  8762. /* read G code */
  8763. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgcode")]
  8764. public static extern short cnc_rdgcode(ushort FlibHndl,
  8765. short a, short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBGCD d);
  8766. /* read command value */
  8767. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcommand")]
  8768. public static extern short cnc_rdcommand(ushort FlibHndl,
  8769. short a, short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCMD d);
  8770. /* read diagnosis data */
  8771. [DllImport("FWLIB32.dll", EntryPoint = "cnc_diagnoss")]
  8772. public static extern short cnc_diagnoss(ushort FlibHndl,
  8773. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_1 d);
  8774. [DllImport("FWLIB32.dll", EntryPoint = "cnc_diagnoss")]
  8775. public static extern short cnc_diagnoss(ushort FlibHndl,
  8776. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_2 d);
  8777. [DllImport("FWLIB32.dll", EntryPoint = "cnc_diagnoss")]
  8778. public static extern short cnc_diagnoss(ushort FlibHndl,
  8779. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_3 d);
  8780. [DllImport("FWLIB32.dll", EntryPoint = "cnc_diagnoss")]
  8781. public static extern short cnc_diagnoss(ushort FlibHndl,
  8782. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_4 d);
  8783. /* read diagnosis data(area specified) */
  8784. [DllImport("FWLIB32.dll", EntryPoint = "cnc_diagnosr")]
  8785. public static extern short cnc_diagnosr(ushort FlibHndl,
  8786. ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e);
  8787. // [DllImport("FWLIB32.dll", EntryPoint="cnc_diagnosr")]
  8788. // public static extern short cnc_diagnosr( ushort FlibHndl,
  8789. // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDGN e );
  8790. /* read A/D conversion data */
  8791. [DllImport("FWLIB32.dll", EntryPoint = "cnc_adcnv")]
  8792. public static extern short cnc_adcnv(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAD c);
  8793. /* read operator's message */
  8794. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdopmsg")]
  8795. public static extern short cnc_rdopmsg(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG c);
  8796. /* read operator's message */
  8797. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdopmsg2")]
  8798. public static extern short cnc_rdopmsg2(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG2 c);
  8799. /* read operator's message */
  8800. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdopmsg3")]
  8801. public static extern short cnc_rdopmsg3(ushort FlibHndl,
  8802. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG3 c);
  8803. /* set path number(for 4 axes lathes, multi-path) */
  8804. [DllImport("FWLIB32.dll", EntryPoint = "cnc_setpath")]
  8805. public static extern short cnc_setpath(ushort FlibHndl, short a);
  8806. /* get path number(for 4 axes lathes, multi-path) */
  8807. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getpath")]
  8808. public static extern short cnc_getpath(ushort FlibHndl, out short a, out short b);
  8809. /* allocate library handle */
  8810. [DllImport("FWLIB32.dll", EntryPoint = "cnc_allclibhndl")]
  8811. public static extern short cnc_allclibhndl(out ushort FlibHndl);
  8812. /* free library handle */
  8813. [DllImport("FWLIB32.dll", EntryPoint = "cnc_freelibhndl")]
  8814. public static extern short cnc_freelibhndl(ushort FlibHndl);
  8815. /* get library option */
  8816. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getlibopt")]
  8817. public static extern short cnc_getlibopt(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
  8818. /* set library option */
  8819. [DllImport("FWLIB32.dll", EntryPoint = "cnc_setlibopt")]
  8820. public static extern short cnc_setlibopt(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c);
  8821. /* get custom macro type */
  8822. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getmactype")]
  8823. public static extern short cnc_getmactype(ushort FlibHndl, out short a);
  8824. /* set custom macro type */
  8825. [DllImport("FWLIB32.dll", EntryPoint = "cnc_setmactype")]
  8826. public static extern short cnc_setmactype(ushort FlibHndl, short a);
  8827. /* get P code macro type */
  8828. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getpmactype")]
  8829. public static extern short cnc_getpmactype(ushort FlibHndl, out short a);
  8830. /* set P code macro type */
  8831. [DllImport("FWLIB32.dll", EntryPoint = "cnc_setpmactype")]
  8832. public static extern short cnc_setpmactype(ushort FlibHndl, short a);
  8833. /* get screen status */
  8834. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getcrntscrn")]
  8835. public static extern short cnc_getcrntscrn(ushort FlibHndl, out short a);
  8836. /* change screen mode */
  8837. [DllImport("FWLIB32.dll", EntryPoint = "cnc_slctscrn")]
  8838. public static extern short cnc_slctscrn(ushort FlibHndl, short a);
  8839. /* read CNC configuration information */
  8840. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sysconfig")]
  8841. public static extern short cnc_sysconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSC a);
  8842. /* read program restart information */
  8843. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprstrinfo")]
  8844. public static extern short cnc_rdprstrinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRS a);
  8845. /* search sequence number for program restart */
  8846. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rstrseqsrch")]
  8847. public static extern short cnc_rstrseqsrch(ushort FlibHndl, int a, int b, short c, short d);
  8848. /* search sequence number for program restart 2 */
  8849. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rstrseqsrch2")]
  8850. public static extern short cnc_rstrseqsrch2(ushort FlibHndl, int a, int b, short c, short d, int e);
  8851. /* read output signal image of software operator's panel */
  8852. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdopnlsgnl")]
  8853. public static extern short cnc_rdopnlsgnl(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSGNL b);
  8854. /* write output signal of software operator's panel */
  8855. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wropnlsgnl")]
  8856. public static extern short cnc_wropnlsgnl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSGNL a);
  8857. /* read general signal image of software operator's panel */
  8858. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdopnlgnrl")]
  8859. public static extern short cnc_rdopnlgnrl(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBGNRL b);
  8860. /* write general signal image of software operator's panel */
  8861. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wropnlgnrl")]
  8862. public static extern short cnc_wropnlgnrl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBGNRL a);
  8863. /* read general signal name of software operator's panel */
  8864. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdopnlgsname")]
  8865. public static extern short cnc_rdopnlgsname(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBRDNA b);
  8866. /* write general signal name of software operator's panel */
  8867. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wropnlgsname")]
  8868. public static extern short cnc_wropnlgsname(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBRDNA a);
  8869. /* get detail error */
  8870. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getdtailerr")]
  8871. public static extern short cnc_getdtailerr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBERR a);
  8872. /* read informations of CNC parameter */
  8873. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparainfo")]
  8874. public static extern short cnc_rdparainfo(ushort FlibHndl,
  8875. short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPARAIF c);
  8876. /* read informations of CNC setting data */
  8877. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsetinfo")]
  8878. public static extern short cnc_rdsetinfo(ushort FlibHndl,
  8879. short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSETIF c);
  8880. /* read informations of CNC diagnose data */
  8881. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddiaginfo")]
  8882. public static extern short cnc_rddiaginfo(ushort FlibHndl,
  8883. short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDIAGIF c);
  8884. /* read maximum, minimum and total number of CNC parameter */
  8885. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdparanum")]
  8886. public static extern short cnc_rdparanum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPARANUM a);
  8887. /* read maximum, minimum and total number of CNC setting data */
  8888. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsetnum")]
  8889. public static extern short cnc_rdsetnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSETNUM a);
  8890. /* read maximum, minimum and total number of CNC diagnose data */
  8891. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddiagnum")]
  8892. public static extern short cnc_rddiagnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDIAGNUM a);
  8893. /* get maximum valid figures and number of decimal places */
  8894. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getfigure")]
  8895. public static extern short cnc_getfigure(ushort FlibHndl,
  8896. short a, out short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
  8897. /* read F-ROM information on CNC */
  8898. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdfrominfo")]
  8899. public static extern short cnc_rdfrominfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFINFO b);
  8900. /* start of reading F-ROM data from CNC */
  8901. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromsvstart")]
  8902. public static extern short cnc_fromsvstart(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c);
  8903. /* read F-ROM data from CNC */
  8904. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromsave")]
  8905. public static extern short cnc_fromsave(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
  8906. /* end of reading F-ROM data from CNC */
  8907. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromsvend")]
  8908. public static extern short cnc_fromsvend(ushort FlibHndl);
  8909. /* start of writing F-ROM data to CNC */
  8910. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromldstart")]
  8911. public static extern short cnc_fromldstart(ushort FlibHndl, short a, int b);
  8912. /* write F-ROM data to CNC */
  8913. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromload")]
  8914. public static extern short cnc_fromload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref int b);
  8915. /* end of writing F-ROM data to CNC */
  8916. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromldend")]
  8917. public static extern short cnc_fromldend(ushort FlibHndl);
  8918. /* delete F-ROM data on CNC */
  8919. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromdelete")]
  8920. public static extern short cnc_fromdelete(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c);
  8921. /* read S-RAM information on CNC */
  8922. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsraminfo")]
  8923. public static extern short cnc_rdsraminfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSINFO a);
  8924. /* start of reading S-RAM data from CNC */
  8925. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srambkstart")]
  8926. public static extern short cnc_srambkstart(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b);
  8927. /* read S-RAM data from CNC */
  8928. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srambackup")]
  8929. public static extern short cnc_srambackup(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
  8930. /* end of reading S-RAM data from CNC */
  8931. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srambkend")]
  8932. public static extern short cnc_srambkend(ushort FlibHndl);
  8933. /* read F-ROM information on CNC */
  8934. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getfrominfo")]
  8935. public static extern short cnc_getfrominfo(ushort FlibHndl,
  8936. short a, out short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFINFORM c);
  8937. /* start of reading F-ROM data from CNC */
  8938. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromgetstart")]
  8939. public static extern short cnc_fromgetstart(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8940. /* read F-ROM data from CNC */
  8941. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromget")]
  8942. public static extern short cnc_fromget(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
  8943. /* end of reading F-ROM data from CNC */
  8944. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromgetend")]
  8945. public static extern short cnc_fromgetend(ushort FlibHndl);
  8946. /* start of writing F-ROM data to CNC */
  8947. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromputstart")]
  8948. public static extern short cnc_fromputstart(ushort FlibHndl, short a);
  8949. /* write F-ROM data to CNC */
  8950. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromput")]
  8951. public static extern short cnc_fromput(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref int b);
  8952. /* end of writing F-ROM data to CNC */
  8953. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromputend")]
  8954. public static extern short cnc_fromputend(ushort FlibHndl);
  8955. /* delete F-ROM data on CNC */
  8956. [DllImport("FWLIB32.dll", EntryPoint = "cnc_fromremove")]
  8957. public static extern short cnc_fromremove(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8958. /* read S-RAM information on CNC */
  8959. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getsraminfo")]
  8960. public static extern short cnc_getsraminfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSINFO a);
  8961. /* start of reading S-RAM data from CNC */
  8962. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sramgetstart")]
  8963. public static extern short cnc_sramgetstart(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  8964. /* start of reading S-RAM data from CNC (2) */
  8965. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sramgetstart2")]
  8966. public static extern short cnc_sramgetstart2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  8967. /* read S-RAM data from CNC */
  8968. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sramget")]
  8969. public static extern short cnc_sramget(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
  8970. /* read S-RAM data from CNC (2) */
  8971. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sramget2")]
  8972. public static extern short cnc_sramget2(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
  8973. /* end of reading S-RAM data from CNC */
  8974. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sramgetend")]
  8975. public static extern short cnc_sramgetend(ushort FlibHndl);
  8976. /* end of reading S-RAM data from CNC (2) */
  8977. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sramgetend2")]
  8978. public static extern short cnc_sramgetend2(ushort FlibHndl);
  8979. /* read number of S-RAM data kind on CNC */
  8980. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsramnum")]
  8981. public static extern short cnc_rdsramnum(ushort FlibHndl, out short a);
  8982. /* read S-RAM data address information on CNC */
  8983. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsramaddr")]
  8984. public static extern short cnc_rdsramaddr(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.LPStruct)] SRAMADDR b);
  8985. /* get current NC data protection information */
  8986. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getlockstat")]
  8987. public static extern short cnc_getlockstat(ushort FlibHndl, short a, out byte b);
  8988. /* change NC data protection status */
  8989. [DllImport("FWLIB32.dll", EntryPoint = "cnc_chgprotbit")]
  8990. public static extern short cnc_chgprotbit(ushort FlibHndl, short a, ref byte b, int c);
  8991. /* transfer a file from host computer to CNC by FTP */
  8992. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvftpget")]
  8993. public static extern short cnc_dtsvftpget(ushort FlibHndl,
  8994. [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8995. /* transfer a file from CNC to host computer by FTP */
  8996. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvftpput")]
  8997. public static extern short cnc_dtsvftpput(ushort FlibHndl,
  8998. [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  8999. /* get transfer status for FTP */
  9000. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvftpstat")]
  9001. public static extern short cnc_dtsvftpstat(ushort FlibHndl);
  9002. /* read file directory in Data Server */
  9003. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvrdpgdir")]
  9004. public static extern short cnc_dtsvrdpgdir(ushort FlibHndl,
  9005. [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDSDIR c);
  9006. /* delete files in Data Server */
  9007. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvdelete")]
  9008. public static extern short cnc_dtsvdelete(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  9009. /* down load from CNC (transfer a file from CNC to MMC) */
  9010. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvdownload")]
  9011. public static extern short cnc_dtsvdownload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  9012. /* up load to CNC (transfer a file from MMC to CNC) */
  9013. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvupload")]
  9014. public static extern short cnc_dtsvupload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  9015. /* close upload/download between Data Server and CNC */
  9016. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvcnclupdn")]
  9017. public static extern short cnc_dtsvcnclupdn(ushort FlibHndl);
  9018. /* get transfer status for up/down load */
  9019. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvupdnstat")]
  9020. public static extern short cnc_dtsvupdnstat(ushort FlibHndl);
  9021. /* get file name for DNC operation in Data Server */
  9022. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvgetdncpg")]
  9023. public static extern short cnc_dtsvgetdncpg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9024. /* set program number of DNC oparation to CNC */
  9025. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvsetdncpg")]
  9026. public static extern short cnc_dtsvsetdncpg(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  9027. /* read setting data for Data Server */
  9028. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvrdset")]
  9029. public static extern short cnc_dtsvrdset(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBDSSET a);
  9030. /* write setting data for Data Server */
  9031. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvwrset")]
  9032. public static extern short cnc_dtsvwrset(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBDSSET a);
  9033. /* check hard disk in Data Server */
  9034. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvchkdsk")]
  9035. public static extern short cnc_dtsvchkdsk(ushort FlibHndl);
  9036. /* format hard disk in Data Server */
  9037. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvhdformat")]
  9038. public static extern short cnc_dtsvhdformat(ushort FlibHndl);
  9039. /* save interface area in Data Server */
  9040. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvsavecram")]
  9041. public static extern short cnc_dtsvsavecram(ushort FlibHndl);
  9042. /* get interface area in Data Server */
  9043. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvrdcram")]
  9044. public static extern short cnc_dtsvrdcram(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
  9045. /* read maintenance information for Data Server */
  9046. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvmntinfo")]
  9047. public static extern short cnc_dtsvmntinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDSMNT a);
  9048. /* get Data Server mode */
  9049. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvgetmode")]
  9050. public static extern short cnc_dtsvgetmode(ushort FlibHndl, out short a);
  9051. /* set Data Server mode */
  9052. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvsetmode")]
  9053. public static extern short cnc_dtsvsetmode(ushort FlibHndl, short a);
  9054. /* read error message for Data Server */
  9055. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvrderrmsg")]
  9056. public static extern short cnc_dtsvrderrmsg(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  9057. /* transfar file from Pc to Data Server */
  9058. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvwrfile")]
  9059. public static extern short cnc_dtsvwrfile(ushort FlibHndl,
  9060. [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c);
  9061. /* transfar file from Data Server to Pc */
  9062. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dtsvrdfile")]
  9063. public static extern short cnc_dtsvrdfile(ushort FlibHndl,
  9064. [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c);
  9065. /* read the loop gain for each axis */
  9066. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdloopgain")]
  9067. public static extern short cnc_rdloopgain(ushort FlibHndl, out int a);
  9068. /* read the actual current for each axis */
  9069. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcurrent")]
  9070. public static extern short cnc_rdcurrent(ushort FlibHndl, out short a);
  9071. /* read the actual speed for each axis */
  9072. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsrvspeed")]
  9073. public static extern short cnc_rdsrvspeed(ushort FlibHndl, out int a);
  9074. /* read the operation mode */
  9075. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdopmode")]
  9076. public static extern short cnc_rdopmode(ushort FlibHndl, out short a);
  9077. /* read the position deviation S */
  9078. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdposerrs")]
  9079. public static extern short cnc_rdposerrs(ushort FlibHndl, out int a);
  9080. /* read the position deviation S1 and S2 */
  9081. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdposerrs2")]
  9082. public static extern short cnc_rdposerrs2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPSER a);
  9083. /* read the position deviation Z in the rigid tap mode */
  9084. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdposerrz")]
  9085. public static extern short cnc_rdposerrz(ushort FlibHndl, out int a);
  9086. /* read the synchronous error in the synchronous control mode */
  9087. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsynerrsy")]
  9088. public static extern short cnc_rdsynerrsy(ushort FlibHndl, out int a);
  9089. /* read the synchronous error in the rigid tap mode */
  9090. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsynerrrg")]
  9091. public static extern short cnc_rdsynerrrg(ushort FlibHndl, out int a);
  9092. /* read the spindle alarm */
  9093. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdspdlalm")]
  9094. public static extern short cnc_rdspdlalm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9095. /* read the control input signal */
  9096. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdctrldi")]
  9097. public static extern short cnc_rdctrldi(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDI a);
  9098. /* read the control output signal */
  9099. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdctrldo")]
  9100. public static extern short cnc_rdctrldo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDO a);
  9101. /* read the number of controled spindle */
  9102. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdnspdl")]
  9103. public static extern short cnc_rdnspdl(ushort FlibHndl, out short a);
  9104. /* read data from FANUC BUS */
  9105. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdfbusmem")]
  9106. public static extern short cnc_rdfbusmem(ushort FlibHndl,
  9107. short a, short b, int c, int d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e);
  9108. /* write data to FANUC BUS */
  9109. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrfbusmem")]
  9110. public static extern short cnc_wrfbusmem(ushort FlibHndl,
  9111. short a, short b, int c, int d, [In, MarshalAs(UnmanagedType.AsAny)] Object e);
  9112. /* read the parameter of wave diagnosis */
  9113. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdwaveprm")]
  9114. public static extern short cnc_rdwaveprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWAVE a);
  9115. /* write the parameter of wave diagnosis */
  9116. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrwaveprm")]
  9117. public static extern short cnc_wrwaveprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWAVE a);
  9118. /* read the parameter of wave diagnosis 2 */
  9119. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdwaveprm2")]
  9120. public static extern short cnc_rdwaveprm2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWVPRM a);
  9121. /* write the parameter of wave diagnosis 2 */
  9122. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrwaveprm2")]
  9123. public static extern short cnc_wrwaveprm2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWVPRM a);
  9124. /* start the sampling for wave diagnosis */
  9125. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wavestart")]
  9126. public static extern short cnc_wavestart(ushort FlibHndl);
  9127. /* stop the sampling for wave diagnosis */
  9128. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wavestop")]
  9129. public static extern short cnc_wavestop(ushort FlibHndl);
  9130. /* read the status of wave diagnosis */
  9131. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wavestat")]
  9132. public static extern short cnc_wavestat(ushort FlibHndl, out short a);
  9133. /* read the data of wave diagnosis */
  9134. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdwavedata")]
  9135. public static extern short cnc_rdwavedata(ushort FlibHndl,
  9136. short a, short b, int c, ref int d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBWVDT e);
  9137. /* read the parameter of wave diagnosis for remort diagnosis */
  9138. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdrmtwaveprm")]
  9139. public static extern short cnc_rdrmtwaveprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBRMTPRM a, short b);
  9140. /* write the parameter of wave diagnosis for remort diagnosis */
  9141. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrrmtwaveprm")]
  9142. public static extern short cnc_wrrmtwaveprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBRMTPRM a);
  9143. /* start the sampling for wave diagnosis for remort diagnosis */
  9144. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rmtwavestart")]
  9145. public static extern short cnc_rmtwavestart(ushort FlibHndl);
  9146. /* stop the sampling for wave diagnosis for remort diagnosis */
  9147. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rmtwavestop")]
  9148. public static extern short cnc_rmtwavestop(ushort FlibHndl);
  9149. /* read the status of wave diagnosis for remort diagnosis*/
  9150. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rmtwavestat")]
  9151. public static extern short cnc_rmtwavestat(ushort FlibHndl, out short a);
  9152. /* read the data of wave diagnosis for remort diagnosis */
  9153. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdrmtwavedt")]
  9154. public static extern short cnc_rdrmtwavedt(ushort FlibHndl,
  9155. short a, int b, ref int c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBRMTDT d);
  9156. /* read of address for PMC signal batch save */
  9157. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsavsigadr")]
  9158. public static extern short cnc_rdsavsigadr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIGAD a, short b);
  9159. /* write of address for PMC signal batch save */
  9160. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrsavsigadr")]
  9161. public static extern short cnc_wrsavsigadr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIGAD a, out short b);
  9162. /* read of data for PMC signal batch save */
  9163. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsavsigdata")]
  9164. public static extern short cnc_rdsavsigdata(ushort FlibHndl,
  9165. short a, short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref short d);
  9166. /* read M-code group data */
  9167. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmgrpdata")]
  9168. public static extern short cnc_rdmgrpdata(ushort FlibHndl,
  9169. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMGRP c);
  9170. /* write M-code group data */
  9171. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmgrpdata")]
  9172. public static extern short cnc_wrmgrpdata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IDBMGRP a);
  9173. /* read executing M-code group data */
  9174. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdexecmcode")]
  9175. public static extern short cnc_rdexecmcode(ushort FlibHndl,
  9176. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXEM c);
  9177. /* read program restart M-code group data */
  9178. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdrstrmcode")]
  9179. public static extern short cnc_rdrstrmcode(ushort FlibHndl,
  9180. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBRSTRM c);
  9181. /* read processing time stamp data */
  9182. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdproctime")]
  9183. public static extern short cnc_rdproctime(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPTIME a);
  9184. /* read MDI program stat */
  9185. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmdiprgstat")]
  9186. public static extern short cnc_rdmdiprgstat(ushort FlibHndl, out ushort a);
  9187. /* read program directory for processing time data */
  9188. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprgdirtime")]
  9189. public static extern short cnc_rdprgdirtime(ushort FlibHndl,
  9190. ref int a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIRTM c);
  9191. /* read program directory 2 */
  9192. #if (!ONO8D)
  9193. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprogdir2")]
  9194. public static extern short cnc_rdprogdir2(ushort FlibHndl,
  9195. short a, ref short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR2 d);
  9196. #else
  9197. [DllImport("FWLIB32.dll", EntryPoint="cnc_rdprogdir2o8")]
  9198. public static extern short cnc_rdprogdir2( ushort FlibHndl,
  9199. short a, ref short b, ref short c, [Out,MarshalAs(UnmanagedType.LPStruct)] PRGDIR2 d );
  9200. #endif
  9201. /* read program directory 3 */
  9202. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprogdir3")]
  9203. public static extern short cnc_rdprogdir3(ushort FlibHndl,
  9204. short a, ref int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR3 d);
  9205. /* read program directory 4 */
  9206. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdprogdir4")]
  9207. public static extern short cnc_rdprogdir4(ushort FlibHndl,
  9208. short a, int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR4 d);
  9209. /* read DNC file name for DNC1, DNC2, OSI-Ethernet */
  9210. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddncfname")]
  9211. public static extern short cnc_rddncfname(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9212. /* write DNC file name for DNC1, DNC2, OSI-Ethernet */
  9213. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrdncfname")]
  9214. public static extern short cnc_wrdncfname(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  9215. /* read communication parameter for DNC1, DNC2, OSI-Ethernet */
  9216. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcomparam")]
  9217. public static extern short cnc_rdcomparam(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBCPRM a);
  9218. /* write communication parameter for DNC1, DNC2, OSI-Ethernet */
  9219. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrcomparam")]
  9220. public static extern short cnc_wrcomparam(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBCPRM a);
  9221. /* read log message for DNC2 */
  9222. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcomlogmsg")]
  9223. public static extern short cnc_rdcomlogmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9224. /* read operator message for DNC1, DNC2 */
  9225. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcomopemsg")]
  9226. public static extern short cnc_rdcomopemsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9227. /* read recieve message for OSI-Ethernet */
  9228. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdrcvmsg")]
  9229. public static extern short cnc_rdrcvmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9230. /* read send message for OSI-Ethernet */
  9231. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsndmsg")]
  9232. public static extern short cnc_rdsndmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9233. /* send message for OSI-Ethernet */
  9234. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sendmessage")]
  9235. public static extern short cnc_sendmessage(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  9236. /* clear message buffer for OSI-Ethernet */
  9237. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clrmsgbuff")]
  9238. public static extern short cnc_clrmsgbuff(ushort FlibHndl, short a);
  9239. /* read message recieve status for OSI-Ethernet */
  9240. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdrcvstat")]
  9241. public static extern short cnc_rdrcvstat(ushort FlibHndl, out ushort a);
  9242. /* read interference check */
  9243. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdintchk")]
  9244. public static extern short cnc_rdintchk(ushort FlibHndl,
  9245. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBINT e);
  9246. /* write interference check */
  9247. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrintchk")]
  9248. public static extern short cnc_wrintchk(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBINT b);
  9249. /* read interference check information */
  9250. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdintinfo")]
  9251. public static extern short cnc_rdintinfo(ushort FlibHndl, out short a);
  9252. /* read work coordinate shift */
  9253. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdwkcdshft")]
  9254. public static extern short cnc_rdwkcdshft(ushort FlibHndl,
  9255. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF c);
  9256. /* write work coordinate shift */
  9257. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrwkcdshft")]
  9258. public static extern short cnc_wrwkcdshft(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF b);
  9259. /* read work coordinate shift measure */
  9260. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdwkcdsfms")]
  9261. public static extern short cnc_rdwkcdsfms(ushort FlibHndl,
  9262. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF c);
  9263. /* write work coordinate shift measure */
  9264. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrwkcdsfms")]
  9265. public static extern short cnc_wrwkcdsfms(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF b);
  9266. /* stop the sampling for operator message history */
  9267. [DllImport("FWLIB32.dll", EntryPoint = "cnc_stopomhis")]
  9268. public static extern short cnc_stopomhis(ushort FlibHndl);
  9269. /* start the sampling for operator message history */
  9270. [DllImport("FWLIB32.dll", EntryPoint = "cnc_startomhis")]
  9271. public static extern short cnc_startomhis(ushort FlibHndl);
  9272. /* read operator message history information */
  9273. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdomhisinfo")]
  9274. public static extern short cnc_rdomhisinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMIF a);
  9275. /* read operator message history */
  9276. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdomhistry")]
  9277. public static extern short cnc_rdomhistry(ushort FlibHndl,
  9278. ushort a, ref ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMHIS c);
  9279. /* read operater message history data F30i */
  9280. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdomhistry2")]
  9281. public static extern short cnc_rdomhistry2(ushort FlibHndl,
  9282. ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMHIS2 d);
  9283. /* write external key operation history for F30i*/
  9284. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrkeyhistry")]
  9285. public static extern short cnc_wrkeyhistry(ushort FlibHndl, byte a);
  9286. /* clear operator message history */
  9287. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clearomhis")]
  9288. public static extern short cnc_clearomhis(ushort FlibHndl);
  9289. /* read b-axis tool offset value(area specified) */
  9290. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdbtofsr")]
  9291. public static extern short cnc_rdbtofsr(ushort FlibHndl,
  9292. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBBTO e);
  9293. /* write b-axis tool offset value(area specified) */
  9294. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrbtofsr")]
  9295. public static extern short cnc_wrbtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBBTO b);
  9296. /* read b-axis tool offset information */
  9297. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdbtofsinfo")]
  9298. public static extern short cnc_rdbtofsinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBTLINF a);
  9299. /* read b-axis command */
  9300. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdbaxis")]
  9301. public static extern short cnc_rdbaxis(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBAXIS a);
  9302. /* read CNC system soft series and version */
  9303. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsyssoft")]
  9304. public static extern short cnc_rdsyssoft(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS a);
  9305. /* read CNC system soft series and version (2) */
  9306. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsyssoft2")]
  9307. public static extern short cnc_rdsyssoft2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS2 a);
  9308. /* read CNC module configuration information */
  9309. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmdlconfig")]
  9310. public static extern short cnc_rdmdlconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDLC a);
  9311. /* read CNC module configuration information 2 */
  9312. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmdlconfig2")]
  9313. public static extern short cnc_rdmdlconfig2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9314. /* read processing condition file (processing data) */
  9315. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpscdproc")]
  9316. public static extern short cnc_rdpscdproc(ushort FlibHndl,
  9317. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSCD c);
  9318. /* write processing condition file (processing data) */
  9319. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpscdproc")]
  9320. public static extern short cnc_wrpscdproc(ushort FlibHndl,
  9321. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSCD c);
  9322. /* read processing condition file (piercing data) */
  9323. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpscdpirc")]
  9324. public static extern short cnc_rdpscdpirc(ushort FlibHndl,
  9325. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPIRC c);
  9326. /* write processing condition file (piercing data) */
  9327. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpscdpirc")]
  9328. public static extern short cnc_wrpscdpirc(ushort FlibHndl,
  9329. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPIRC c);
  9330. /* read processing condition file (edging data) */
  9331. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpscdedge")]
  9332. public static extern short cnc_rdpscdedge(ushort FlibHndl,
  9333. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBEDGE c);
  9334. /* write processing condition file (edging data) */
  9335. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpscdedge")]
  9336. public static extern short cnc_wrpscdedge(ushort FlibHndl,
  9337. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBEDGE c);
  9338. /* read processing condition file (slope data) */
  9339. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpscdslop")]
  9340. public static extern short cnc_rdpscdslop(ushort FlibHndl,
  9341. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLOP c);
  9342. /* write processing condition file (slope data) */
  9343. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpscdslop")]
  9344. public static extern short cnc_wrpscdslop(ushort FlibHndl,
  9345. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLOP c);
  9346. /* read power controll duty data */
  9347. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlpwrdty")]
  9348. public static extern short cnc_rdlpwrdty(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLPWDT a);
  9349. /* write power controll duty data */
  9350. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrlpwrdty")]
  9351. public static extern short cnc_wrlpwrdty(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLPWDT a);
  9352. /* read laser power data */
  9353. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlpwrdat")]
  9354. public static extern short cnc_rdlpwrdat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLOPDT a);
  9355. /* read power complement */
  9356. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlpwrcpst")]
  9357. public static extern short cnc_rdlpwrcpst(ushort FlibHndl, out short a);
  9358. /* write power complement */
  9359. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrlpwrcpst")]
  9360. public static extern short cnc_wrlpwrcpst(ushort FlibHndl, short a);
  9361. /* read laser assist gas selection */
  9362. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlagslt")]
  9363. public static extern short cnc_rdlagslt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLAGSL a);
  9364. /* write laser assist gas selection */
  9365. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrlagslt")]
  9366. public static extern short cnc_wrlagslt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLAGSL a);
  9367. /* read laser assist gas flow */
  9368. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlagst")]
  9369. public static extern short cnc_rdlagst(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLAGST a);
  9370. /* write laser assist gas flow */
  9371. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrlagst")]
  9372. public static extern short cnc_wrlagst(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLAGST a);
  9373. /* read laser power for edge processing */
  9374. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdledgprc")]
  9375. public static extern short cnc_rdledgprc(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLEGPR a);
  9376. /* write laser power for edge processing */
  9377. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrledgprc")]
  9378. public static extern short cnc_wrledgprc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLEGPR a);
  9379. /* read laser power for piercing */
  9380. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlprcprc")]
  9381. public static extern short cnc_rdlprcprc(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLPCPR a);
  9382. /* write laser power for piercing */
  9383. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrlprcprc")]
  9384. public static extern short cnc_wrlprcprc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLPCPR a);
  9385. /* read laser command data */
  9386. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlcmddat")]
  9387. public static extern short cnc_rdlcmddat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLCMDT a);
  9388. /* read displacement */
  9389. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdldsplc")]
  9390. public static extern short cnc_rdldsplc(ushort FlibHndl, out short a);
  9391. /* write displacement */
  9392. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrldsplc")]
  9393. public static extern short cnc_wrldsplc(ushort FlibHndl, short a);
  9394. /* read error for axis z */
  9395. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlerrz")]
  9396. public static extern short cnc_rdlerrz(ushort FlibHndl, out short a);
  9397. /* read active number */
  9398. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlactnum")]
  9399. public static extern short cnc_rdlactnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLACTN a);
  9400. /* read laser comment */
  9401. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlcmmt")]
  9402. public static extern short cnc_rdlcmmt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLCMMT a);
  9403. /* read laser power select */
  9404. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlpwrslt")]
  9405. public static extern short cnc_rdlpwrslt(ushort FlibHndl, out short a);
  9406. /* write laser power select */
  9407. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrlpwrslt")]
  9408. public static extern short cnc_wrlpwrslt(ushort FlibHndl, short a);
  9409. /* read laser power controll */
  9410. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlpwrctrl")]
  9411. public static extern short cnc_rdlpwrctrl(ushort FlibHndl, out short a);
  9412. /* write laser power controll */
  9413. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrlpwrctrl")]
  9414. public static extern short cnc_wrlpwrctrl(ushort FlibHndl, short a);
  9415. /* read power correction factor history data */
  9416. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpwofsthis")]
  9417. public static extern short cnc_rdpwofsthis(ushort FlibHndl,
  9418. int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPWOFST c);
  9419. /* read management time */
  9420. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmngtime")]
  9421. public static extern short cnc_rdmngtime(ushort FlibHndl,
  9422. int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMNGTIME c);
  9423. /* write management time */
  9424. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmngtime")]
  9425. public static extern short cnc_wrmngtime(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMNGTIME b);
  9426. /* read data related to electrical discharge at power correction ends */
  9427. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddischarge")]
  9428. public static extern short cnc_rddischarge(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDISCHRG a);
  9429. /* read alarm history data related to electrical discharg */
  9430. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddischrgalm")]
  9431. public static extern short cnc_rddischrgalm(ushort FlibHndl,
  9432. int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDISCHRGALM c);
  9433. /* get date and time from cnc */
  9434. [DllImport("FWLIB32.dll", EntryPoint = "cnc_gettimer")]
  9435. public static extern short cnc_gettimer(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTIMER a);
  9436. /* set date and time for cnc */
  9437. [DllImport("FWLIB32.dll", EntryPoint = "cnc_settimer")]
  9438. public static extern short cnc_settimer(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTIMER a);
  9439. /* read timer data from cnc */
  9440. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtimer")]
  9441. public static extern short cnc_rdtimer(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTIME b);
  9442. /* write timer data for cnc */
  9443. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtimer")]
  9444. public static extern short cnc_wrtimer(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTIME b);
  9445. /* read tool controll data */
  9446. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtlctldata")]
  9447. public static extern short cnc_rdtlctldata(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLCTL a);
  9448. /* write tool controll data */
  9449. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtlctldata")]
  9450. public static extern short cnc_wrtlctldata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLCTL a);
  9451. /* read tool data */
  9452. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtooldata")]
  9453. public static extern short cnc_rdtooldata(ushort FlibHndl,
  9454. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLDT c);
  9455. /* read tool data */
  9456. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtooldata")]
  9457. public static extern short cnc_wrtooldata(ushort FlibHndl,
  9458. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLDT c);
  9459. /* read multi tool data */
  9460. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmultitldt")]
  9461. public static extern short cnc_rdmultitldt(ushort FlibHndl,
  9462. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMLTTL c);
  9463. /* write multi tool data */
  9464. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmultitldt")]
  9465. public static extern short cnc_wrmultitldt(ushort FlibHndl,
  9466. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMLTTL c);
  9467. /* read multi tap data */
  9468. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmtapdata")]
  9469. public static extern short cnc_rdmtapdata(ushort FlibHndl,
  9470. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMTAP c);
  9471. /* write multi tap data */
  9472. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmtapdata")]
  9473. public static extern short cnc_wrmtapdata(ushort FlibHndl,
  9474. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMTAP c);
  9475. /* read multi-piece machining number */
  9476. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmultipieceno")]
  9477. public static extern short cnc_rdmultipieceno(ushort FlibHndl, out int a);
  9478. /* read tool information */
  9479. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtoolinfo")]
  9480. public static extern short cnc_rdtoolinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPTLINF a);
  9481. /* read safetyzone data */
  9482. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsafetyzone")]
  9483. public static extern short cnc_rdsafetyzone(ushort FlibHndl,
  9484. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSAFE c);
  9485. /* write safetyzone data */
  9486. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrsafetyzone")]
  9487. public static extern short cnc_wrsafetyzone(ushort FlibHndl,
  9488. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSAFE c);
  9489. /* read toolzone data */
  9490. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdtoolzone")]
  9491. public static extern short cnc_rdtoolzone(ushort FlibHndl,
  9492. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLZN c);
  9493. /* write toolzone data */
  9494. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrtoolzone")]
  9495. public static extern short cnc_wrtoolzone(ushort FlibHndl,
  9496. short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLZN c);
  9497. /* read active toolzone data */
  9498. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdacttlzone")]
  9499. public static extern short cnc_rdacttlzone(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACTTLZN a);
  9500. /* read setzone number */
  9501. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsetzone")]
  9502. public static extern short cnc_rdsetzone(ushort FlibHndl, out short a);
  9503. /* write setzone number */
  9504. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrsetzone")]
  9505. public static extern short cnc_wrsetzone(ushort FlibHndl, short a);
  9506. /* read block restart information */
  9507. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdbrstrinfo")]
  9508. public static extern short cnc_rdbrstrinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBRS a);
  9509. /* read menu switch signal */
  9510. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmenuswitch")]
  9511. public static extern short cnc_rdmenuswitch(ushort FlibHndl, out short a);
  9512. /* write menu switch signal */
  9513. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrmenuswitch")]
  9514. public static extern short cnc_wrmenuswitch(ushort FlibHndl, short a, short b);
  9515. /* read tool radius offset for position data */
  9516. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdradofs")]
  9517. public static extern short cnc_rdradofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBROFS a);
  9518. /* read tool length offset for position data */
  9519. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdlenofs")]
  9520. public static extern short cnc_rdlenofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLOFS a);
  9521. /* read fixed cycle for position data */
  9522. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdfixcycle")]
  9523. public static extern short cnc_rdfixcycle(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFIX a);
  9524. /* read coordinate rotate for position data */
  9525. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcdrotate")]
  9526. public static extern short cnc_rdcdrotate(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBROT a);
  9527. /* read 3D coordinate convert for position data */
  9528. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd3dcdcnv")]
  9529. public static extern short cnc_rd3dcdcnv(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DCD a);
  9530. /* read programable mirror image for position data */
  9531. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdmirimage")]
  9532. public static extern short cnc_rdmirimage(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMIR a);
  9533. /* read scaling for position data */
  9534. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdscaling")]
  9535. public static extern short cnc_rdscaling(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSCL a);
  9536. /* read 3D tool offset for position data */
  9537. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd3dtofs")]
  9538. public static extern short cnc_rd3dtofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DTO a);
  9539. /* read tool position offset for position data */
  9540. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdposofs")]
  9541. public static extern short cnc_rdposofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPOFS a);
  9542. /* read hpcc setting data */
  9543. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhpccset")]
  9544. public static extern short cnc_rdhpccset(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPST a);
  9545. /* write hpcc setting data */
  9546. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrhpccset")]
  9547. public static extern short cnc_wrhpccset(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPST a);
  9548. /* hpcc data auto setting data */
  9549. [DllImport("FWLIB32.dll", EntryPoint = "cnc_hpccatset")]
  9550. public static extern short cnc_hpccatset(ushort FlibHndl);
  9551. /* read hpcc tuning data ( parameter input ) */
  9552. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhpcctupr")]
  9553. public static extern short cnc_rdhpcctupr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPPR a);
  9554. /* write hpcc tuning data ( parameter input ) */
  9555. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrhpcctupr")]
  9556. public static extern short cnc_wrhpcctupr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPPR a);
  9557. /* read hpcc tuning data ( acc input ) */
  9558. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdhpcctuac")]
  9559. public static extern short cnc_rdhpcctuac(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPAC a);
  9560. /* write hpcc tuning data ( acc input ) */
  9561. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrhpcctuac")]
  9562. public static extern short cnc_wrhpcctuac(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPAC a);
  9563. /* hpcc data auto tuning */
  9564. [DllImport("FWLIB32.dll", EntryPoint = "cnc_hpccattune")]
  9565. public static extern short cnc_hpccattune(ushort FlibHndl, short a, out short b);
  9566. /* read hpcc fine level */
  9567. [DllImport("FWLIB32.dll", EntryPoint = "cnc_hpccactfine")]
  9568. public static extern short cnc_hpccactfine(ushort FlibHndl, out short a);
  9569. /* select hpcc fine level */
  9570. [DllImport("FWLIB32.dll", EntryPoint = "cnc_hpccselfine")]
  9571. public static extern short cnc_hpccselfine(ushort FlibHndl, short a);
  9572. /* read active fixture offset */
  9573. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdactfixofs")]
  9574. public static extern short cnc_rdactfixofs(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b);
  9575. /* read fixture offset */
  9576. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdfixofs")]
  9577. public static extern short cnc_rdfixofs(ushort FlibHndl,
  9578. short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOR e);
  9579. /* write fixture offset */
  9580. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrfixofs")]
  9581. public static extern short cnc_wrfixofs(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOR b);
  9582. /* read tip of tool for 3D handle */
  9583. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd3dtooltip")]
  9584. public static extern short cnc_rd3dtooltip(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DHDL a);
  9585. /* read pulse for 3D handle */
  9586. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd3dpulse")]
  9587. public static extern short cnc_rd3dpulse(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DPLS a);
  9588. /* read move overrlap of tool for 3D handle */
  9589. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd3dmovrlap")]
  9590. public static extern short cnc_rd3dmovrlap(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DHDL a);
  9591. /* read change offset for 3D handle */
  9592. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rd3dofschg")]
  9593. public static extern short cnc_rd3dofschg(ushort FlibHndl, ref int a);
  9594. /* clear pulse and change offset for 3D handle */
  9595. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clr3dplsmov")]
  9596. public static extern short cnc_clr3dplsmov(ushort FlibHndl, short a);
  9597. /* cycle start */
  9598. [DllImport("FWLIB32.dll", EntryPoint = "cnc_start")]
  9599. public static extern short cnc_start(ushort FlibHndl);
  9600. /* reset CNC */
  9601. [DllImport("FWLIB32.dll", EntryPoint = "cnc_reset")]
  9602. public static extern short cnc_reset(ushort FlibHndl);
  9603. /* reset CNC 2 */
  9604. [DllImport("FWLIB32.dll", EntryPoint = "cnc_reset2")]
  9605. public static extern short cnc_reset2(ushort FlibHndl);
  9606. /* read axis name */
  9607. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdaxisname")]
  9608. public static extern short cnc_rdaxisname(ushort FlibHndl,
  9609. ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXISNAME b);
  9610. /* read spindle name */
  9611. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdspdlname")]
  9612. public static extern short cnc_rdspdlname(ushort FlibHndl,
  9613. ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDLNAME b);
  9614. /* read extended axis name */
  9615. [DllImport("FWLIB32.dll", EntryPoint = "cnc_exaxisname")]
  9616. public static extern short cnc_exaxisname(ushort FlibHndl,
  9617. short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXAXISNAME c);
  9618. /* read SRAM variable area for C language executor */
  9619. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcexesram")]
  9620. public static extern short cnc_rdcexesram(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
  9621. /* write SRAM variable area for C language executor */
  9622. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrcexesram")]
  9623. public static extern short cnc_wrcexesram(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
  9624. /* read maximum size and linear address of SRAM variable area for C language executor */
  9625. [DllImport("FWLIB32.dll", EntryPoint = "cnc_cexesraminfo")]
  9626. public static extern short cnc_cexesraminfo(ushort FlibHndl, out short a, out int b, out int c);
  9627. /* read maximum size of SRAM variable area for C language executor */
  9628. [DllImport("FWLIB32.dll", EntryPoint = "cnc_cexesramsize")]
  9629. public static extern short cnc_cexesramsize(ushort FlibHndl, out int a);
  9630. /* read additional workpiece coordinate systems number */
  9631. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcoordnum")]
  9632. public static extern short cnc_rdcoordnum(ushort FlibHndl, out short a);
  9633. /* converts from FANUC code to Shift JIS code */
  9634. [DllImport("FWLIB32.dll", EntryPoint = "cnc_ftosjis")]
  9635. public static extern short cnc_ftosjis(ushort FlibHndl,
  9636. [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  9637. /* Set the unsolicited message parameters */
  9638. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrunsolicprm")]
  9639. public static extern short cnc_wrunsolicprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC b);
  9640. /* Get the unsolicited message parameters */
  9641. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdunsolicprm")]
  9642. public static extern short cnc_rdunsolicprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC b);
  9643. /* Start of unsolicited message */
  9644. [DllImport("FWLIB32.dll", EntryPoint = "cnc_unsolicstart")]
  9645. public static extern short cnc_unsolicstart(ushort FlibHndl, short a, int hWnd, uint c, short d, out short e);
  9646. /* End of unsolicited message */
  9647. [DllImport("FWLIB32.dll", EntryPoint = "cnc_unsolicstop")]
  9648. public static extern short cnc_unsolicstop(ushort FlibHndl, short a);
  9649. /* Reads the unsolicited message data */
  9650. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdunsolicmsg")]
  9651. public static extern short cnc_rdunsolicmsg(short a, [In, Out] IDBUNSOLICMSG b);
  9652. /* read machine specific maintenance item */
  9653. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpm_mcnitem")]
  9654. public static extern short cnc_rdpm_mcnitem(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c);
  9655. /* write machine specific maintenance item */
  9656. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpm_mcnitem")]
  9657. public static extern short cnc_wrpm_mcnitem(ushort FlibHndl, short a, short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c);
  9658. /* read cnc maintenance item */
  9659. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpm_cncitem")]
  9660. public static extern short cnc_rdpm_cncitem(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c);
  9661. /* read maintenance item status */
  9662. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdpm_item")]
  9663. public static extern short cnc_rdpm_item(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMAINTE c);
  9664. /* write maintenance item status */
  9665. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrpm_item")]
  9666. public static extern short cnc_wrpm_item(ushort FlibHndl, short a, short b, short c, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMAINTE d);
  9667. /* Display of optional message */
  9668. [DllImport("FWLIB32.dll", EntryPoint = "cnc_dispoptmsg")]
  9669. public static extern short cnc_dispoptmsg(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  9670. /* Reading of answer for optional message display */
  9671. [DllImport("FWLIB32.dll", EntryPoint = "cnc_optmsgans")]
  9672. public static extern short cnc_optmsgans(ushort FlibHndl, out short a);
  9673. /* Get CNC Model */
  9674. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getcncmodel")]
  9675. public static extern short cnc_getcncmodel(ushort FlibHndl, out short a);
  9676. /* read number of repeats */
  9677. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdrepeatval")]
  9678. public static extern short cnc_rdrepeatval(ushort FlibHndl, out int a);
  9679. /* read CNC system hard info */
  9680. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsyshard")]
  9681. public static extern short cnc_rdsyshard(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSH c);
  9682. /* read CNC system soft series and version (3) */
  9683. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdsyssoft3")]
  9684. public static extern short cnc_rdsyssoft3(ushort FlibHndl, short a, ref short b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS3 d);
  9685. /* read digit of program number */
  9686. [DllImport("FWLIB32.dll", EntryPoint = "cnc_progdigit")]
  9687. public static extern short cnc_progdigit(ushort FlibHndl, out short a);
  9688. /* read CNC system path information */
  9689. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sysinfo_ex")]
  9690. public static extern short cnc_sysinfo_ex(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSEX a);
  9691. /*------------------*/
  9692. /* CNC : SERCOS I/F */
  9693. /*------------------*/
  9694. /* Get reservation of service channel for SERCOS I/F */
  9695. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsrsvchnl")]
  9696. public static extern short cnc_srcsrsvchnl(ushort FlibHndl);
  9697. /* Read ID information of SERCOS I/F */
  9698. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsrdidinfo")]
  9699. public static extern short cnc_srcsrdidinfo(ushort FlibHndl,
  9700. int a, short b, short c, [Out, MarshalAs(UnmanagedType.AsAny)] IODBIDINF d);
  9701. /* Write ID information of SERCOS I/F */
  9702. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcswridinfo")]
  9703. public static extern short cnc_srcswridinfo(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBIDINF a);
  9704. /* Start of reading operation data from drive of SERCOS I/F */
  9705. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsstartrd")]
  9706. public static extern short cnc_srcsstartrd(ushort FlibHndl, int a, short b);
  9707. /* Start of writing operation data to drive of SERCOS I/F */
  9708. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsstartwrt")]
  9709. public static extern short cnc_srcsstartwrt(ushort FlibHndl, int a, short b);
  9710. /* Stop of reading/writing operation data from/to drive of SERCOS I/F */
  9711. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsstopexec")]
  9712. public static extern short cnc_srcsstopexec(ushort FlibHndl);
  9713. /* Get execution status of reading/writing operation data of SERCOS I/F */
  9714. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsrdexstat")]
  9715. public static extern short cnc_srcsrdexstat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSRCSST a);
  9716. /* Read operation data from data buffer for SERCOS I/F */
  9717. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsrdopdata")]
  9718. public static extern short cnc_srcsrdopdata(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
  9719. /* Write operation data to data buffer for SERCOS I/F */
  9720. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcswropdata")]
  9721. public static extern short cnc_srcswropdata(ushort FlibHndl, int a, int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
  9722. /* Free reservation of service channel for SERCOS I/F */
  9723. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsfreechnl")]
  9724. public static extern short cnc_srcsfreechnl(ushort FlibHndl);
  9725. /* Read drive assign of SERCOS I/F */
  9726. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsrdlayout")]
  9727. public static extern short cnc_srcsrdlayout(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSRCSLYT a);
  9728. /* Read communication phase of drive of SERCOS I/F */
  9729. [DllImport("FWLIB32.dll", EntryPoint = "cnc_srcsrddrvcp")]
  9730. public static extern short cnc_srcsrddrvcp(ushort FlibHndl, out short a);
  9731. /*----------------------------*/
  9732. /* CNC : Graphic command data */
  9733. /*----------------------------*/
  9734. /* Start drawing position */
  9735. [DllImport("FWLIB32.dll", EntryPoint = "cnc_startdrawpos")]
  9736. public static extern short cnc_startdrawpos(ushort FlibHndl);
  9737. /* Stop drawing position */
  9738. [DllImport("FWLIB32.dll", EntryPoint = "cnc_stopdrawpos")]
  9739. public static extern short cnc_stopdrawpos(ushort FlibHndl);
  9740. /* Start dynamic graphic */
  9741. [DllImport("FWLIB32.dll", EntryPoint = "cnc_startdyngrph")]
  9742. public static extern short cnc_startdyngrph(ushort FlibHndl);
  9743. /* Stop dynamic graphic */
  9744. [DllImport("FWLIB32.dll", EntryPoint = "cnc_stopdyngrph")]
  9745. public static extern short cnc_stopdyngrph(ushort FlibHndl);
  9746. /* Read graphic command data */
  9747. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgrphcmd")]
  9748. public static extern short cnc_rdgrphcmd(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  9749. /* Update graphic command read pointer */
  9750. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrgrphcmdptr")]
  9751. public static extern short cnc_wrgrphcmdptr(ushort FlibHndl, short a);
  9752. /* Read cancel flag */
  9753. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdgrphcanflg")]
  9754. public static extern short cnc_rdgrphcanflg(ushort FlibHndl, out short a);
  9755. /* Clear graphic command */
  9756. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clrgrphcmd")]
  9757. public static extern short cnc_clrgrphcmd(ushort FlibHndl);
  9758. /*---------------------------*/
  9759. /* CNC : Servo learning data */
  9760. /*---------------------------*/
  9761. /* Servo learning data read start */
  9762. [DllImport("FWLIB32.dll", EntryPoint = "cnc_svdtstartrd")]
  9763. public static extern short cnc_svdtstartrd(ushort FlibHndl, short a);
  9764. /* Servo learning data write start */
  9765. [DllImport("FWLIB32.dll", EntryPoint = "cnc_svdtstartwr")]
  9766. public static extern short cnc_svdtstartwr(ushort FlibHndl, short a);
  9767. /* Servo learning data read end */
  9768. [DllImport("FWLIB32.dll", EntryPoint = "cnc_svdtendrd")]
  9769. public static extern short cnc_svdtendrd(ushort FlibHndl);
  9770. /* Servo learning data write end */
  9771. [DllImport("FWLIB32.dll", EntryPoint = "cnc_svdtendwr")]
  9772. public static extern short cnc_svdtendwr(ushort FlibHndl);
  9773. /* Servo learning data read/write stop */
  9774. [DllImport("FWLIB32.dll", EntryPoint = "cnc_svdtstopexec")]
  9775. public static extern short cnc_svdtstopexec(ushort FlibHndl);
  9776. /* Servo learning data read from I/F buffer */
  9777. [DllImport("FWLIB32.dll", EntryPoint = "cnc_svdtrddata")]
  9778. public static extern short cnc_svdtrddata(ushort FlibHndl,
  9779. out short a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
  9780. /* Servo learning data write to I/F buffer */
  9781. [DllImport("FWLIB32.dll", EntryPoint = "cnc_svdtwrdata")]
  9782. public static extern short cnc_svdtwrdata(ushort FlibHndl,
  9783. out short a, ref int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
  9784. /*----------------------------*/
  9785. /* CNC : Servo Guide */
  9786. /*----------------------------*/
  9787. /* Servo Guide (Channel data set) */
  9788. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sdsetchnl")]
  9789. public static extern short cnc_sdsetchnl(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBCHAN b);
  9790. /* Servo Guide (Channel data clear) */
  9791. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sdclrchnl")]
  9792. public static extern short cnc_sdclrchnl(ushort FlibHndl);
  9793. /* Servo Guide (Sampling start) */
  9794. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sdstartsmpl")]
  9795. public static extern short cnc_sdstartsmpl(ushort FlibHndl, short a, int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
  9796. /* Servo Guide (Sampling cancel) */
  9797. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sdcancelsmpl")]
  9798. public static extern short cnc_sdcancelsmpl(ushort FlibHndl);
  9799. /* Servo Guide (read Sampling data) */
  9800. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sdreadsmpl")]
  9801. public static extern short cnc_sdreadsmpl(ushort FlibHndl,
  9802. out short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSD c);
  9803. /* Servo Guide (Sampling end) */
  9804. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sdendsmpl")]
  9805. public static extern short cnc_sdendsmpl(ushort FlibHndl);
  9806. /* Servo Guide (read 1 shot data) */
  9807. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sdread1shot")]
  9808. public static extern short cnc_sdread1shot(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  9809. /* Servo feedback data (Channel data set) */
  9810. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sfbsetchnl")]
  9811. public static extern short cnc_sfbsetchnl(ushort FlibHndl,
  9812. short a, int b, [In, MarshalAs(UnmanagedType.LPStruct)] IDBSFBCHAN c);
  9813. /* Servo feedback data (Channel data clear) */
  9814. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sfbclrchnl")]
  9815. public static extern short cnc_sfbclrchnl(ushort FlibHndl);
  9816. /* Servo feedback data (Sampling start) */
  9817. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sfbstartsmpl")]
  9818. public static extern short cnc_sfbstartsmpl(ushort FlibHndl, short a, int b);
  9819. /* Servo feedback data (Sampling cancel) */
  9820. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sfbcancelsmpl")]
  9821. public static extern short cnc_sfbcancelsmpl(ushort FlibHndl);
  9822. /* Servo feedback data (read Sampling data) */
  9823. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sfbreadsmpl")]
  9824. public static extern short cnc_sfbreadsmpl(ushort FlibHndl,
  9825. out short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSD c);
  9826. /* Servo feedback data (Sampling end) */
  9827. [DllImport("FWLIB32.dll", EntryPoint = "cnc_sfbendsmpl")]
  9828. public static extern short cnc_sfbendsmpl(ushort FlibHndl);
  9829. /*----------------------------*/
  9830. /* CNC : NC display function */
  9831. /*----------------------------*/
  9832. /* Start NC display */
  9833. [DllImport("FWLIB32.dll", EntryPoint = "cnc_startnccmd")]
  9834. public static extern short cnc_startnccmd(ushort FlibHndl);
  9835. /* Start NC display (2) */
  9836. [DllImport("FWLIB32.dll", EntryPoint = "cnc_startnccmd2")]
  9837. public static extern short cnc_startnccmd2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  9838. /* Stop NC display */
  9839. [DllImport("FWLIB32.dll", EntryPoint = "cnc_stopnccmd")]
  9840. public static extern short cnc_stopnccmd(ushort FlibHndl);
  9841. /* Get NC display mode */
  9842. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getdspmode")]
  9843. public static extern short cnc_getdspmode(ushort FlibHndl, out short a);
  9844. /*------------------------------------*/
  9845. /* CNC : Remote diagnostics function */
  9846. /*------------------------------------*/
  9847. /* Start remote diagnostics function */
  9848. [DllImport("FWLIB32.dll", EntryPoint = "cnc_startrmtdgn")]
  9849. public static extern short cnc_startrmtdgn(ushort FlibHndl);
  9850. /* Stop remote diagnostics function */
  9851. [DllImport("FWLIB32.dll", EntryPoint = "cnc_stoprmtdgn")]
  9852. public static extern short cnc_stoprmtdgn(ushort FlibHndl);
  9853. /* Read data from remote diagnostics I/F */
  9854. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdrmtdgn")]
  9855. public static extern short cnc_rdrmtdgn(ushort FlibHndl, out int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  9856. /* Write data to remote diagnostics I/F */
  9857. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrrmtdgn")]
  9858. public static extern short cnc_wrrmtdgn(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  9859. /* Set CommStatus of remote diagnostics I/F area */
  9860. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrcommstatus")]
  9861. public static extern short cnc_wrcommstatus(ushort FlibHndl, short a);
  9862. /* Check remote diagnostics I/F */
  9863. [DllImport("FWLIB32.dll", EntryPoint = "cnc_chkrmtdgn")]
  9864. public static extern short cnc_chkrmtdgn(ushort FlibHndl);
  9865. /*-------------------------*/
  9866. /* CNC : FS18-LN function */
  9867. /*-------------------------*/
  9868. /* read allowance */
  9869. [DllImport("FWLIB32.dll", EntryPoint = "cnc_allowance")]
  9870. public static extern short cnc_allowance(ushort FlibHndl,
  9871. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  9872. /* read allowanced state */
  9873. [DllImport("FWLIB32.dll", EntryPoint = "cnc_allowcnd")]
  9874. public static extern short cnc_allowcnd(ushort FlibHndl,
  9875. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCAXIS c);
  9876. /* set work zero */
  9877. [DllImport("FWLIB32.dll", EntryPoint = "cnc_workzero")]
  9878. public static extern short cnc_workzero(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b);
  9879. /* set slide position */
  9880. [DllImport("FWLIB32.dll", EntryPoint = "cnc_slide")]
  9881. public static extern short cnc_slide(ushort FlibHndl,
  9882. short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
  9883. /*----------------------------------*/
  9884. /* CNC: Teaching data I/F function */
  9885. /*----------------------------------*/
  9886. /* Teaching data get start */
  9887. [DllImport("FWLIB32.dll", EntryPoint = "cnc_startgetdgdat")]
  9888. public static extern short cnc_startgetdgdat(ushort FlibHndl);
  9889. /* Teaching data get stop */
  9890. [DllImport("FWLIB32.dll", EntryPoint = "cnc_stopgetdgdat")]
  9891. public static extern short cnc_stopgetdgdat(ushort FlibHndl);
  9892. /* Teaching data read */
  9893. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rddgdat")]
  9894. public static extern short cnc_rddgdat(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  9895. /* Teaching data read pointer write */
  9896. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrdgdatptr")]
  9897. public static extern short cnc_wrdgdatptr(ushort FlibHndl, short a);
  9898. /* Teaching data clear */
  9899. [DllImport("FWLIB32.dll", EntryPoint = "cnc_clrdgdat")]
  9900. public static extern short cnc_clrdgdat(ushort FlibHndl);
  9901. /*---------------------------------*/
  9902. /* CNC : C-EXE SRAM file function */
  9903. /*---------------------------------*/
  9904. /* open C-EXE SRAM file */
  9905. [DllImport("FWLIB32.dll", EntryPoint = "cnc_opencexefile")]
  9906. public static extern short cnc_opencexefile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, short c);
  9907. /* close C-EXE SRAM file */
  9908. [DllImport("FWLIB32.dll", EntryPoint = "cnc_closecexefile")]
  9909. public static extern short cnc_closecexefile(ushort FlibHndl);
  9910. /* read C-EXE SRAM file */
  9911. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdcexefile")]
  9912. public static extern short cnc_rdcexefile(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a, ref uint b);
  9913. /* write C-EXE SRAM file */
  9914. [DllImport("FWLIB32.dll", EntryPoint = "cnc_wrcexefile")]
  9915. public static extern short cnc_wrcexefile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref uint b);
  9916. /* read C-EXE SRAM disk directory */
  9917. [DllImport("FWLIB32.dll", EntryPoint = "cnc_cexedirectory")]
  9918. public static extern short cnc_cexedirectory(ushort FlibHndl,
  9919. [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] CFILEINFO d);
  9920. /*-----*/
  9921. /* PMC */
  9922. /*-----*/
  9923. /* read message from PMC to MMC */
  9924. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdmsg")]
  9925. public static extern short pmc_rdmsg(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  9926. /* write message from MMC to PMC */
  9927. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrmsg")]
  9928. public static extern short pmc_wrmsg(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  9929. /* read message from PMC to MMC(conditional) */
  9930. [DllImport("FWLIB32.dll", EntryPoint = "pmc_crdmsg")]
  9931. public static extern short pmc_crdmsg(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  9932. /* write message from MMC to PMC(conditional) */
  9933. [DllImport("FWLIB32.dll", EntryPoint = "pmc_cwrmsg")]
  9934. public static extern short pmc_cwrmsg(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  9935. /* read PMC data(area specified) */
  9936. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcrng")]
  9937. public static extern short pmc_rdpmcrng(ushort FlibHndl,
  9938. short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC0 f);
  9939. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcrng")]
  9940. public static extern short pmc_rdpmcrng(ushort FlibHndl,
  9941. short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC1 f);
  9942. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcrng")]
  9943. public static extern short pmc_rdpmcrng(ushort FlibHndl,
  9944. short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC2 f);
  9945. /* write PMC data(area specified) */
  9946. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrpmcrng")]
  9947. public static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC0 b);
  9948. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrpmcrng")]
  9949. public static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC1 b);
  9950. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrpmcrng")]
  9951. public static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC2 b);
  9952. /* read data from extended backup memory */
  9953. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdkpm")]
  9954. public static extern short pmc_rdkpm(ushort FlibHndl, uint a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ushort c);
  9955. /* write data to extended backup memory */
  9956. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrkpm")]
  9957. public static extern short pmc_wrkpm(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ushort c);
  9958. /* read data from extended backup memory 2 */
  9959. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdkpm2")]
  9960. public static extern short pmc_rdkpm2(ushort FlibHndl, uint a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, uint c);
  9961. /* write data to extended backup memory 2 */
  9962. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrkpm2")]
  9963. public static extern short pmc_wrkpm2(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, uint c);
  9964. /* read maximum size of extended backup memory */
  9965. [DllImport("FWLIB32.dll", EntryPoint = "pmc_kpmsiz")]
  9966. public static extern short pmc_kpmsiz(ushort FlibHndl, out uint a);
  9967. /* read informations of PMC data */
  9968. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcinfo")]
  9969. public static extern short pmc_rdpmcinfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCINF b);
  9970. /* read PMC parameter data table contorol data */
  9971. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdcntldata")]
  9972. public static extern short pmc_rdcntldata(ushort FlibHndl,
  9973. short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMCCNTL d);
  9974. /* write PMC parameter data table contorol data */
  9975. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrcntldata")]
  9976. public static extern short pmc_wrcntldata(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMCCNTL b);
  9977. /* read PMC parameter data table contorol data group number */
  9978. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdcntlgrp")]
  9979. public static extern short pmc_rdcntlgrp(ushort FlibHndl, out short a);
  9980. /* write PMC parameter data table contorol data group number */
  9981. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrcntlgrp")]
  9982. public static extern short pmc_wrcntlgrp(ushort FlibHndl, short a);
  9983. /* read PMC alarm message */
  9984. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdalmmsg")]
  9985. public static extern short pmc_rdalmmsg(ushort FlibHndl,
  9986. short a, ref short b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCALM d);
  9987. /* get detail error for pmc */
  9988. [DllImport("FWLIB32.dll", EntryPoint = "pmc_getdtailerr")]
  9989. public static extern short pmc_getdtailerr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCERR a);
  9990. /* read PMC memory data */
  9991. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcmem")]
  9992. public static extern short pmc_rdpmcmem(ushort FlibHndl,
  9993. short a, int b, int c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
  9994. /* write PMC memory data */
  9995. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrpmcmem")]
  9996. public static extern short pmc_wrpmcmem(ushort FlibHndl,
  9997. short a, int b, int c, [In, MarshalAs(UnmanagedType.AsAny)] Object d);
  9998. /* read PMC-SE memory data */
  9999. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcsemem")]
  10000. public static extern short pmc_rdpmcsemem(ushort FlibHndl,
  10001. short a, int b, int c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
  10002. /* write PMC-SE memory data */
  10003. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrpmcsemem")]
  10004. public static extern short pmc_wrpmcsemem(ushort FlibHndl,
  10005. short a, int b, int c, [In, MarshalAs(UnmanagedType.AsAny)] Object d);
  10006. /* read pmc title data */
  10007. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmctitle")]
  10008. public static extern short pmc_rdpmctitle(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCTITLE a);
  10009. /* read PMC parameter start */
  10010. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdprmstart")]
  10011. public static extern short pmc_rdprmstart(ushort FlibHndl);
  10012. /* read PMC parameter */
  10013. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcparam")]
  10014. public static extern short pmc_rdpmcparam(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  10015. /* read PMC parameter end */
  10016. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdprmend")]
  10017. public static extern short pmc_rdprmend(ushort FlibHndl);
  10018. /* write PMC parameter start */
  10019. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrprmstart")]
  10020. public static extern short pmc_wrprmstart(ushort FlibHndl);
  10021. /* write PMC parameter */
  10022. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrpmcparam")]
  10023. public static extern short pmc_wrpmcparam(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  10024. /* write PMC parameter end */
  10025. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wrprmend")]
  10026. public static extern short pmc_wrprmend(ushort FlibHndl);
  10027. /* read PMC data */
  10028. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcrng_ext")]
  10029. public static extern short pmc_rdpmcrng_ext(ushort FlibHndl,
  10030. short a, [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMCEXT b);
  10031. /* write PMC I/O link assigned data */
  10032. [DllImport("FWLIB32.dll", EntryPoint = "pmc_wriolinkdat")]
  10033. public static extern short pmc_wriolinkdat(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, uint c);
  10034. /* read PMC address information */
  10035. [DllImport("FWLIB32.dll", EntryPoint = "pmc_rdpmcaddr")]
  10036. public static extern short pmc_rdpmcaddr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCADR a);
  10037. /* select PMC unit */
  10038. [DllImport("FWLIB32.dll", EntryPoint = "pmc_select_pmc_unit")]
  10039. public static extern short pmc_select_pmc_unit(ushort FlibHndl, int a);
  10040. /* get current PMC unit */
  10041. [DllImport("FWLIB32.dll", EntryPoint = "pmc_get_current_pmc_unit")]
  10042. public static extern short pmc_get_current_pmc_unit(ushort FlibHndl, ref int a);
  10043. /* get number of PMC */
  10044. [DllImport("FWLIB32.dll", EntryPoint = "pmc_get_number_of_pmc")]
  10045. public static extern short pmc_get_number_of_pmc(ushort FlibHndl, ref int a);
  10046. /* get PMC unit types */
  10047. [DllImport("FWLIB32.dll", EntryPoint = "pmc_get_pmc_unit_types")]
  10048. public static extern short pmc_get_pmc_unit_types(ushort FlibHndl, int[] a, ref int b);
  10049. /* set PMC Timer type */
  10050. [DllImport("FWLIB32.dll", EntryPoint = "pmc_set_timer_type")]
  10051. public static extern short pmc_set_timer_type(ushort FlibHndl, ushort a, ushort b, ref short c);
  10052. /* get PMC Timer type */
  10053. [DllImport("FWLIB32.dll", EntryPoint = "pmc_get_timer_type")]
  10054. public static extern short pmc_get_timer_type(ushort FlibHndl, ushort a, ushort b, ref short c);
  10055. /*----------------------------*/
  10056. /* PMC : PROFIBUS function */
  10057. /*----------------------------*/
  10058. /* read PROFIBUS configration data */
  10059. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdconfig")]
  10060. public static extern short pmc_prfrdconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRFCNF a);
  10061. /* read bus parameter for master function */
  10062. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdbusprm")]
  10063. public static extern short pmc_prfrdbusprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBBUSPRM a);
  10064. /* write bus parameter for master function */
  10065. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrbusprm")]
  10066. public static extern short pmc_prfwrbusprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBBUSPRM a);
  10067. /* read slave parameter for master function */
  10068. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdslvprm")]
  10069. public static extern short pmc_prfrdslvprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM b);
  10070. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdslvprm")]
  10071. public static extern short pmc_prfrdslvprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM2 b);
  10072. /* write slave parameter for master function */
  10073. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrslvprm")]
  10074. public static extern short pmc_prfwrslvprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM b);
  10075. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrslvprm")]
  10076. public static extern short pmc_prfwrslvprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM2 b);
  10077. /* read allocation address for master function */
  10078. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdallcadr")]
  10079. public static extern short pmc_prfrdallcadr(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRFADR b);
  10080. /* set allocation address for master function */
  10081. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrallcadr")]
  10082. public static extern short pmc_prfwrallcadr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRFADR b);
  10083. /* read allocation address for slave function */
  10084. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdslvaddr")]
  10085. public static extern short pmc_prfrdslvaddr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVADR a);
  10086. /* set allocation address for slave function */
  10087. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrslvaddr")]
  10088. public static extern short pmc_prfwrslvaddr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVADR a);
  10089. /* read status for slave function */
  10090. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdslvstat")]
  10091. public static extern short pmc_prfrdslvstat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSLVST a);
  10092. /* Reads slave index data of master function */
  10093. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdslvid")]
  10094. public static extern short pmc_prfrdslvid(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVID b);
  10095. /* Writes slave index data of master function */
  10096. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrslvid")]
  10097. public static extern short pmc_prfwrslvid(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVID b);
  10098. /* Reads slave parameter of master function(2) */
  10099. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdslvprm2")]
  10100. public static extern short pmc_prfrdslvprm2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM3 b);
  10101. /* Writes slave parameter of master function(2) */
  10102. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrslvprm2")]
  10103. public static extern short pmc_prfwrslvprm2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM3 b);
  10104. /* Reads DI/DO parameter of master function */
  10105. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrddido")]
  10106. public static extern short pmc_prfrddido(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBDIDO b);
  10107. /* Writes DI/DO parameter of master function */
  10108. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrdido")]
  10109. public static extern short pmc_prfwrdido(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBDIDO b);
  10110. /* Reads indication address of master function */
  10111. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdindiadr")]
  10112. public static extern short pmc_prfrdindiadr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBINDEADR a);
  10113. /* Writes indication address of master function */
  10114. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwrindiadr")]
  10115. public static extern short pmc_prfwrindiadr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBINDEADR a);
  10116. /* Reads operation mode of master function */
  10117. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfrdopmode")]
  10118. public static extern short pmc_prfrdopmode(ushort FlibHndl, ref short a);
  10119. /* Writes operation mode of master function */
  10120. [DllImport("FWLIB32.dll", EntryPoint = "pmc_prfwropmode")]
  10121. public static extern short pmc_prfwropmode(ushort FlibHndl, short a, ref short b);
  10122. /*-----------------------------------------------*/
  10123. /* DS : Data server & Ethernet board function */
  10124. /*-----------------------------------------------*/
  10125. /* read the parameter of the Ethernet board */
  10126. [DllImport("FWLIB32.dll", EntryPoint = "etb_rdparam")]
  10127. public static extern short etb_rdparam(ushort FlibHndl,
  10128. short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_TCP b);
  10129. [DllImport("FWLIB32.dll", EntryPoint = "etb_rdparam")]
  10130. public static extern short etb_rdparam(ushort FlibHndl,
  10131. short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_HOST b);
  10132. [DllImport("FWLIB32.dll", EntryPoint = "etb_rdparam")]
  10133. public static extern short etb_rdparam(ushort FlibHndl,
  10134. short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_FTP b);
  10135. [DllImport("FWLIB32.dll", EntryPoint = "etb_rdparam")]
  10136. public static extern short etb_rdparam(ushort FlibHndl,
  10137. short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_ETB b);
  10138. /* write the parameter of the Ethernet board */
  10139. [DllImport("FWLIB32.dll", EntryPoint = "etb_wrparam")]
  10140. public static extern short etb_wrparam(ushort FlibHndl,
  10141. [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_TCP a);
  10142. [DllImport("FWLIB32.dll", EntryPoint = "etb_wrparam")]
  10143. public static extern short etb_wrparam(ushort FlibHndl,
  10144. [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_HOST a);
  10145. [DllImport("FWLIB32.dll", EntryPoint = "etb_wrparam")]
  10146. public static extern short etb_wrparam(ushort FlibHndl,
  10147. [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_FTP a);
  10148. /* read the error message of the Ethernet board */
  10149. [DllImport("FWLIB32.dll", EntryPoint = "etb_rderrmsg")]
  10150. public static extern short etb_rderrmsg(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBETMSG b);
  10151. /* read the mode of the Data Server */
  10152. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdmode")]
  10153. public static extern short ds_rdmode(ushort FlibHndl, ref short a);
  10154. /* write the mode of the Data Server */
  10155. [DllImport("FWLIB32.dll", EntryPoint = "ds_wrmode")]
  10156. public static extern short ds_wrmode(ushort FlibHndl, short a);
  10157. /* read information of the Data Server's HDD */
  10158. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdhddinfo")]
  10159. public static extern short ds_rdhddinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHDDINF a);
  10160. /* read the file list of the Data Server's HDD */
  10161. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdhdddir")]
  10162. public static extern short ds_rdhdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHDDDIR d);
  10163. /* delete the file of the Data Serve's HDD */
  10164. [DllImport("FWLIB32.dll", EntryPoint = "ds_delhddfile")]
  10165. public static extern short ds_delhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10166. /* copy the file of the Data Server's HDD */
  10167. [DllImport("FWLIB32.dll", EntryPoint = "ds_copyhddfile")]
  10168. public static extern short ds_copyhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  10169. /* change the file name of the Data Server's HDD */
  10170. [DllImport("FWLIB32.dll", EntryPoint = "ds_renhddfile")]
  10171. public static extern short ds_renhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  10172. /* execute the PUT command of the FTP */
  10173. [DllImport("FWLIB32.dll", EntryPoint = "ds_puthddfile")]
  10174. public static extern short ds_puthddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  10175. /* execute the MPUT command of the FTP */
  10176. [DllImport("FWLIB32.dll", EntryPoint = "ds_mputhddfile")]
  10177. public static extern short ds_mputhddfile(ushort hLib, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10178. /* read information of the host */
  10179. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdhostinfo")]
  10180. public static extern short ds_rdhostinfo(ushort FlibHndl, out int a, int b);
  10181. /* read the file list of the host */
  10182. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdhostdir")]
  10183. public static extern short ds_rdhostdir(ushort FlibHndl, short a, int b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHOSTDIR d, int e);
  10184. /* read the file list of the host 2 */
  10185. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdhostdir2")]
  10186. public static extern short ds_rdhostdir2(ushort FlibHndl, short a, int b, out short c, out int d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHOSTDIR e, int f);
  10187. /* delete the file of the host */
  10188. [DllImport("FWLIB32.dll", EntryPoint = "ds_delhostfile")]
  10189. public static extern short ds_delhostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b);
  10190. /* execute the GET command of the FTP */
  10191. [DllImport("FWLIB32.dll", EntryPoint = "ds_gethostfile")]
  10192. public static extern short ds_gethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  10193. /* execute the MGET command of the FTP */
  10194. [DllImport("FWLIB32.dll", EntryPoint = "ds_mgethostfile")]
  10195. public static extern short ds_mgethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10196. /* read the execution result */
  10197. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdresult")]
  10198. public static extern short ds_rdresult(ushort FlibHndl);
  10199. /* stop the execution of the command */
  10200. [DllImport("FWLIB32.dll", EntryPoint = "ds_cancel")]
  10201. public static extern short ds_cancel(ushort FlibHndl);
  10202. /* read the file from the Data Server */
  10203. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdncfile")]
  10204. public static extern short ds_rdncfile(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  10205. /* read the file from the Data Server 2 */
  10206. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdncfile2")]
  10207. public static extern short ds_rdncfile2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10208. /* write the file to the Data Server */
  10209. [DllImport("FWLIB32.dll", EntryPoint = "ds_wrncfile")]
  10210. public static extern short ds_wrncfile(ushort FlibHndl, short a, int b);
  10211. /* read the file name for the DNC operation in the Data Server's HDD */
  10212. [DllImport("FWLIB32.dll", EntryPoint = "ds_rddnchddfile")]
  10213. public static extern short ds_rddnchddfile(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  10214. /* write the file name for the DNC operation in the Data Server's HDD */
  10215. [DllImport("FWLIB32.dll", EntryPoint = "ds_wrdnchddfile")]
  10216. public static extern short ds_wrdnchddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10217. /* read the file name for the DNC operation in the host */
  10218. [DllImport("FWLIB32.dll", EntryPoint = "ds_rddnchostfile")]
  10219. public static extern short ds_rddnchostfile(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
  10220. /* write the file name for the DNC operation in the host */
  10221. [DllImport("FWLIB32.dll", EntryPoint = "ds_wrdnchostfile")]
  10222. public static extern short ds_wrdnchostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10223. /* read the connecting host number */
  10224. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdhostno")]
  10225. public static extern short ds_rdhostno(ushort FlibHndl, out short a);
  10226. /* read maintenance information */
  10227. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdmntinfo")]
  10228. public static extern short ds_rdmntinfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] DSMNTINFO b);
  10229. /* check the Data Server's HDD */
  10230. [DllImport("FWLIB32.dll", EntryPoint = "ds_checkhdd")]
  10231. public static extern short ds_checkhdd(ushort FlibHndl);
  10232. /* format the Data Server's HDD */
  10233. [DllImport("FWLIB32.dll", EntryPoint = "ds_formathdd")]
  10234. public static extern short ds_formathdd(ushort FlibHndl);
  10235. /* create the directory in the Data Server's HDD */
  10236. [DllImport("FWLIB32.dll", EntryPoint = "ds_makehdddir")]
  10237. public static extern short ds_makehdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10238. /* delete directory in the Data Server's HDD */
  10239. [DllImport("FWLIB32.dll", EntryPoint = "ds_delhdddir")]
  10240. public static extern short ds_delhdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10241. /* change the current directory */
  10242. [DllImport("FWLIB32.dll", EntryPoint = "ds_chghdddir")]
  10243. public static extern short ds_chghdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10244. /* execute the PUT command according to the list file */
  10245. [DllImport("FWLIB32.dll", EntryPoint = "ds_lputhddfile")]
  10246. public static extern short ds_lputhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10247. /* delete files according to the list file */
  10248. [DllImport("FWLIB32.dll", EntryPoint = "ds_ldelhddfile")]
  10249. public static extern short ds_ldelhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10250. /* execute the GET command according to the list file */
  10251. [DllImport("FWLIB32.dll", EntryPoint = "ds_lgethostfile")]
  10252. public static extern short ds_lgethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10253. /* read the directory for M198 operation */
  10254. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdm198hdddir")]
  10255. public static extern short ds_rdm198hdddir(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
  10256. /* write the directory for M198 operation */
  10257. [DllImport("FWLIB32.dll", EntryPoint = "ds_wrm198hdddir")]
  10258. public static extern short ds_wrm198hdddir(ushort FlibHndl);
  10259. /* read the connecting host number for the M198 operation */
  10260. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdm198host")]
  10261. public static extern short ds_rdm198host(ushort FlibHndl, out short a);
  10262. /* write the connecting host number for the M198 operation */
  10263. [DllImport("FWLIB32.dll", EntryPoint = "ds_wrm198host")]
  10264. public static extern short ds_wrm198host(ushort FlibHndl);
  10265. /* write the connecting host number */
  10266. [DllImport("FWLIB32.dll", EntryPoint = "ds_wrhostno")]
  10267. public static extern short ds_wrhostno(ushort FlibHndl, short a);
  10268. /* search string in data server program */
  10269. [DllImport("FWLIB32.dll", EntryPoint = "ds_searchword")]
  10270. public static extern short ds_searchword(ushort FlibHndl,
  10271. [In, MarshalAs(UnmanagedType.AsAny)] Object a);
  10272. /* read the searching result */
  10273. [DllImport("FWLIB32.dll", EntryPoint = "ds_searchresult")]
  10274. public static extern short ds_searchresult(ushort FlibHndl);
  10275. /* read file in the Data Server's HDD */
  10276. [DllImport("FWLIB32.dll", EntryPoint = "ds_rdfile")]
  10277. public static extern short ds_rdfile(ushort FlibHndl,
  10278. [In, MarshalAs(UnmanagedType.AsAny)] Object a,
  10279. [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  10280. /* write file in the Data Server's HDD */
  10281. [DllImport("FWLIB32.dll", EntryPoint = "ds_wrfile")]
  10282. public static extern short ds_wrfile(ushort FlibHndl,
  10283. [In, MarshalAs(UnmanagedType.AsAny)] Object a,
  10284. [In, MarshalAs(UnmanagedType.AsAny)] Object b);
  10285. /*--------------------------*/
  10286. /* HSSB multiple connection */
  10287. /*--------------------------*/
  10288. /* read number of node */
  10289. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdnodenum")]
  10290. public static extern short cnc_rdnodenum(out int a);
  10291. /* read node informations */
  10292. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdnodeinfo")]
  10293. public static extern short cnc_rdnodeinfo(int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNODE b);
  10294. /* set default node number */
  10295. [DllImport("FWLIB32.dll", EntryPoint = "cnc_setdefnode")]
  10296. public static extern short cnc_setdefnode(int a);
  10297. /* allocate library handle 2 */
  10298. [DllImport("FWLIB32.dll", EntryPoint = "cnc_allclibhndl2")]
  10299. public static extern short cnc_allclibhndl2(int node, out ushort FlibHndl);
  10300. /*---------------------*/
  10301. /* Ethernet connection */
  10302. /*---------------------*/
  10303. /* allocate library handle 3 */
  10304. [DllImport("FWLIB32.dll", EntryPoint = "cnc_allclibhndl3")]
  10305. public static extern short cnc_allclibhndl3([In, MarshalAs(UnmanagedType.AsAny)] Object ip,
  10306. ushort port, int timeout, out ushort FlibHndl);
  10307. /* allocate library handle 4 */
  10308. [DllImport("FWLIB32.dll", EntryPoint = "cnc_allclibhndl4")]
  10309. public static extern short cnc_allclibhndl4([In, MarshalAs(UnmanagedType.AsAny)] Object ip,
  10310. ushort port, int timeout, uint id, out ushort FlibHndl);
  10311. /* set timeout for socket */
  10312. [DllImport("FWLIB32.dll", EntryPoint = "cnc_settimeout")]
  10313. public static extern short cnc_settimeout(ushort FlibHndl, int a);
  10314. /* reset all socket connection */
  10315. [DllImport("FWLIB32.dll", EntryPoint = "cnc_resetconnect")]
  10316. public static extern short cnc_resetconnect(ushort FlibHndl);
  10317. /* get option state for FOCAS1/Ethernet */
  10318. [DllImport("FWLIB32.dll", EntryPoint = "cnc_getfocas1opt")]
  10319. public static extern short cnc_getfocas1opt(ushort FlibHndl, short a, out int b);
  10320. /* read Ethernet board information */
  10321. [DllImport("FWLIB32.dll", EntryPoint = "cnc_rdetherinfo")]
  10322. public static extern short cnc_rdetherinfo(ushort FlibHndl, out short a, out short b);
  10323. } // End for Focas1 class
  10324. }