From 76bd58d3ca0b7a6020aea13c59f31037be37edf4 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 08:59:36 +0100 Subject: [PATCH 01/18] Commit gitignore preliminare --- .gitignore | 351 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 351 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c94c9ec --- /dev/null +++ b/.gitignore @@ -0,0 +1,351 @@ +# ---> VisualStudio +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +#dll di OsaiCncLib... +EgwProxy/EgwProxy.dll + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# ---> C Sharp +# Build Folders (you can keep bin if you'd like, to store dlls and pdbs) +[Bb]in/ +[Oo]bj/ + +# mstest test results +TestResults + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +x64/ +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.log +*.vspscc +*.vssscc +.builds + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper* + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Publish Web Output +*.Publish.xml + +# NuGet Packages Directory +packages + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +[Bb]in +[Oo]bj +sql +TestResults +[Tt]est[Rr]esult* +*.Cache +ClientBin +[Ss]tyle[Cc]op.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML + +# esclusioni gestione IOB-WIN-PYTHON +IOB-WIN-PSER/logs/logfile.txt* +IOB-WIN-PSER/dist/logTest/* +IOB-WIN-PSER/dist/IOB-WIN-PSER/* +IOB-WIN-PSER/logs/*/*.txt +IOB-WIN-PSER/dist/CONF/*.cfg +IOB-WIN-PSER/dist/logs/*/*.txt +IOB-WIN-PSER/dist/*.exe +IOB-WIN-PSER/dist-nuitka/*.exe +IOB-WIN-PSER.build/ +IOB-WIN-PSER.dist/ +IOB-WIN-PSER.onefile-build/ + From a2171e643d67ab0842fdcab31639652428c02e7f Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 09:01:29 +0100 Subject: [PATCH 02/18] Aggiunta proxy iniziale: - FTP - Gomba - Icoel - MultiCcn - OSAI - SqlDB --- EgwProxy.Ftp.Test/App.config | 55 + EgwProxy.Ftp.Test/EgwProxy.Ftp.Test.csproj | 90 + EgwProxy.Ftp.Test/Program.cs | 513 + EgwProxy.Ftp.Test/Properties/AssemblyInfo.cs | 36 + EgwProxy.Ftp.Test/TestSetup.cs | 46 + EgwProxy.Ftp.Test/conf/.placeholder | 1 + .../conf/testSetup-ftp.steamware.net.json | 76 + EgwProxy.Ftp.Test/conf/testSetup.json | 44 + EgwProxy.Ftp.Test/packages.config | 7 + EgwProxy.Ftp.Test/test/FileProva.txt | 1 + EgwProxy.Ftp/EgwProxy.Ftp.csproj | 66 + EgwProxy.Ftp/Manager.cs | 530 + EgwProxy.Ftp/Properties/AssemblyInfo.cs | 36 + EgwProxy.Ftp/app.config | 11 + EgwProxy.Ftp/docfx.json | 69 + EgwProxy.Ftp/index.md | 17 + EgwProxy.Ftp/packages.config | 7 + EgwProxy.Ftp/toc.yml | 6 + EgwProxy.Gomba.Test/App.config | 20 + .../EgwProxy.Gomba.Test.csproj | 60 + EgwProxy.Gomba.Test/Program.cs | 107 + .../Properties/AssemblyInfo.cs | 36 + EgwProxy.Gomba/App.config | 29 + ...y.Gomba.GombaServ.gestWeightOut.datasource | 10 + ...mba.GombaServ.memWeightResponse.datasource | 10 + ...GombaServ.reqWeightListResponse.datasource | 10 + ...mba.GombaServ.reqWeightResponse.datasource | 10 + .../Connected Services/GombaServ/Reference.cs | 611 + .../GombaServ/Reference.svcmap | 32 + .../GombaServ/configuration.svcinfo | 11 + .../GombaServ/configuration91.svcinfo | 310 + .../GombaServ/lwpService.wsdl | 75 + .../Connected Services/GombaServ/ws.xsd | 70 + EgwProxy.Gomba/EgwProxy.Gomba.csproj | 116 + EgwProxy.Gomba/GombaWSDL.wsdl | 76 + EgwProxy.Gomba/Properties/AssemblyInfo.cs | 36 + EgwProxy.Gomba/docfx.json | 69 + EgwProxy.Gomba/index.md | 17 + EgwProxy.Gomba/index.pdf | Bin 0 -> 30974 bytes EgwProxy.Gomba/packages.config | 9 + EgwProxy.Gomba/toc.yml | 6 + EgwProxy.Icoel.DataLayer/App.config | 20 + .../Controllers/DbController.cs | 132 + .../DatabaseModels/CurrDataModel.cs | 19 + .../DatabaseModels/DettConferimentoModel.cs | 55 + .../DatabaseModels/DettConfezioniModel.cs | 69 + .../DatabaseModels/EntrataModel.cs | 66 + .../DatabaseModels/ProductsTotalsModel.cs | 35 + .../DatabaseModels/SyncStateModel.cs | 31 + EgwProxy.Icoel.DataLayer/DbConfig.cs | 71 + .../EgwProxy.Icoel.DataLayer.csproj | 138 + EgwProxy.Icoel.DataLayer/EntrataDbContext.cs | 46 + EgwProxy.Icoel.DataLayer/ExportDbContext.cs | 44 + EgwProxy.Icoel.DataLayer/MainDbContext.cs | 87 + .../Properties/AssemblyInfo.cs | 36 + .../SyncStateDbContext.cs | 48 + EgwProxy.Icoel.DataLayer/TrackerDbContext.cs | 49 + EgwProxy.Icoel.DataLayer/packages.config | 17 + EgwProxy.Icoel.Test/App.config | 51 + .../EgwProxy.Icoel.Test.csproj | 77 + EgwProxy.Icoel.Test/INI/BatchDetails.cs | 62 + EgwProxy.Icoel.Test/INI/IniFileCs.cs | 479 + EgwProxy.Icoel.Test/INI/Settaggi.cs | 70 + EgwProxy.Icoel.Test/Program.cs | 385 + .../Properties/AssemblyInfo.cs | 36 + EgwProxy.Icoel.Test/batch.ini | 6 + EgwProxy.Icoel.Test/conf.ini | 3 + EgwProxy.Icoel.Test/packages.config | 4 + EgwProxy.Icoel/App.config | 37 + EgwProxy.Icoel/Appunti.md | 107 + EgwProxy.Icoel/Compac/ComClient.cs | 253 + .../SizerService/Arrays.xsd | 107 + .../SizerService/Compac.Services.Core.xsd | 16 + .../SizerService/Compac.Services.Core1.xsd | 22 + .../SizerService/Compac.Services.Core2.xsd | 11 + .../Compac.Services.Sizer.Service.wsdl | 1241 + .../Compac.Services.Sizer.Service.xsd | 1457 + .../Compac.Services.Sizer.Service1.xsd | 373 + ...e.AbstractSamplingConfiguration.datasource | 10 + ...ueueNewBatch.SizerService.Batch.datasource | 10 + ...SizerService.GetVersionResponse.datasource | 10 + ...eueNewBatch.SizerService.Grower.datasource | 10 + ...ueueNewBatch.SizerService.Label.datasource | 10 + ...NewBatch.SizerService.LaneGroup.datasource | 10 + ...eueNewBatch.SizerService.Layout.datasource | 10 + ...eueNewBatch.SizerService.Outlet.datasource | 10 + ...queueNewBatch.SizerService.Pack.datasource | 10 + ...ueNewBatch.SizerService.Product.datasource | 10 + ...h.SizerService.SamplingProgress.datasource | 10 + ...tch.SizerService.ServiceVersion.datasource | 10 + ...ueNewBatch.SizerService.Variety.datasource | 10 + ...oap.SizerService.ServiceVersion.datasource | 0 .../SizerService/Reference.cs | 4635 +++ .../SizerService/Reference.svcmap | 40 + .../SizerService/System.xsd | 12 + .../SizerService/configuration.svcinfo | 12 + .../SizerService/configuration91.svcinfo | 374 + .../SizerService/service.wsdl | 2220 ++ .../SizerService/service.xsd | 42 + EgwProxy.Icoel/Connector.cs | 238 + EgwProxy.Icoel/DbProxy.cs | 42 + EgwProxy.Icoel/EgwProxy.Icoel.csproj | 175 + EgwProxy.Icoel/GrowerInfo.cs | 29 + EgwProxy.Icoel/Properties/AssemblyInfo.cs | 36 + EgwProxy.Icoel/api/index.md | 5 + EgwProxy.Icoel/articles/intro.md | 21 + EgwProxy.Icoel/articles/toc.md | 1 + EgwProxy.Icoel/docfx.json | 69 + EgwProxy.Icoel/index.md | 17 + EgwProxy.Icoel/packages.config | 5 + EgwProxy.Icoel/toc.yml | 6 + EgwProxy.MultiCncLib/App/App.Native.Ini.vb | 113 + .../CNC/CNC.FANUC/CNC.FANUC.vb | 2026 ++ .../CNC/CNC.FANUC/_/CNC.FANUC.Err.vb | 65 + .../CNC/CNC.FANUC/_/fwlib32.vb | 10969 ++++++ EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI.vb | 969 + .../CNC/CNC.OSAI/CNC.OSAI_SOAP.vb | 1154 + EgwProxy.MultiCncLib/CNC/CNC.Runtime.vb | 57 + .../CNC/CNC.SIEMENS/CNC.SIEMENS.vb | 1147 + EgwProxy.MultiCncLib/CNC/CNC/CNC.CNC.vb | 240 + EgwProxy.MultiCncLib/CndexLinkDotNet.dll | Bin 0 -> 46080 bytes EgwProxy.MultiCncLib/Config/Config.Options.vb | 294 + .../Config/Config.Settings.vb | 698 + .../EgwProxy.MultiCncLib.vbproj | 730 + .../ExtLib/CndexLinkDotNet.dll | Bin 0 -> 52736 bytes ...ens.Sinumerik.Operate.Services.Wrapper.dll | Bin 0 -> 996200 bytes .../Siemens.Sinumerik.Operate.Services.dll | Bin 0 -> 230248 bytes EgwProxy.MultiCncLib/Modules/Conversions.vb | 167 + EgwProxy.MultiCncLib/Modules/General.vb | 84 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 + .../My Project/Settings.Designer.vb | 73 + .../My Project/Settings.settings | 7 + .../CMSCncLib.OPENcontrol.AxesRefR.datasource | 10 + ...CMSCncLib.OPENcontrol.BootModeR.datasource | 10 + ...b.OPENcontrol.BootPhaseEnquiryR.datasource | 10 + ...SCncLib.OPENcontrol.BootRebootR.datasource | 10 + ...ncLib.OPENcontrol.BootShutDownR.datasource | 10 + ...ncLib.OPENcontrol.CheckHistoryR.datasource | 10 + .../CMSCncLib.OPENcontrol.CycleR.datasource | 10 + .../CMSCncLib.OPENcontrol.DncDataR.datasource | 10 + .../CMSCncLib.OPENcontrol.DncEofR.datasource | 10 + .../CMSCncLib.OPENcontrol.DncInitR.datasource | 10 + .../CMSCncLib.OPENcontrol.DncStopR.datasource | 10 + .../CMSCncLib.OPENcontrol.EseExR.datasource | 10 + .../CMSCncLib.OPENcontrol.EseR.datasource | 10 + .../CMSCncLib.OPENcontrol.ExeR.datasource | 10 + ...ENcontrol.GetActivePartProgramR.datasource | 10 + ...ntrol.GetAvailableCustomEventsR.datasource | 10 + ...Lib.OPENcontrol.GetAxOriginNumR.datasource | 10 + ...ncLib.OPENcontrol.GetAxesInfo3R.datasource | 10 + ...ib.OPENcontrol.GetAxesPositionR.datasource | 10 + ...cLib.OPENcontrol.GetBinaryFileR.datasource | 10 + ...MSCncLib.OPENcontrol.GetBlkNumR.datasource | 10 + ...ncLib.OPENcontrol.GetCNCRegKeyR.datasource | 10 + ...cLib.OPENcontrol.GetCodeNumberR.datasource | 10 + ...CncLib.OPENcontrol.GetDateTimeR.datasource | 10 + .../CMSCncLib.OPENcontrol.GetFileR.datasource | 10 + ...CMSCncLib.OPENcontrol.GetGCodeR.datasource | 10 + ...CMSCncLib.OPENcontrol.GetHWKeyR.datasource | 10 + ...CMSCncLib.OPENcontrol.GetMCodeR.datasource | 10 + ...cLib.OPENcontrol.GetMarkerInfoR.datasource | 10 + ...SCncLib.OPENcontrol.GetNcInfo1R.datasource | 10 + ...SCncLib.OPENcontrol.GetNcInfo2R.datasource | 10 + ...ENcontrol.GetOffsetTabRecordIIR.datasource | 10 + ...SCncLib.OPENcontrol.GetOptionsR.datasource | 10 + ...ENcontrol.GetOriginTabRecordIIR.datasource | 10 + ...cLib.OPENcontrol.GetPTechSizesR.datasource | 10 + ...PENcontrol.GetPartProgramLinesR.datasource | 10 + ...Lib.OPENcontrol.GetProcInInputR.datasource | 10 + ...b.OPENcontrol.GetProcVarDoubleR.datasource | 10 + ...Lib.OPENcontrol.GetProcVarWordR.datasource | 10 + ....OPENcontrol.GetProcessConfNumR.datasource | 10 + ...b.OPENcontrol.GetProcessStatusR.datasource | 10 + ...OPENcontrol.GetSelectedProcessR.datasource | 10 + ...ib.OPENcontrol.GetSerialNumberR.datasource | 10 + ...CncLib.OPENcontrol.GetServoParR.datasource | 10 + ...SCncLib.OPENcontrol.GetSysTickR.datasource | 10 + ...ncLib.OPENcontrol.GetToolNamesR.datasource | 10 + ...OPENcontrol.GetToolTabRecordIIR.datasource | 10 + ...OPENcontrol.GetUserTabRecordIIR.datasource | 10 + ...MSCncLib.OPENcontrol.GetVarJOGR.datasource | 10 + ...MSCncLib.OPENcontrol.GetVarRCMR.datasource | 10 + .../CMSCncLib.OPENcontrol.HoldR.datasource | 10 + ...MSCncLib.OPENcontrol.LoadPTechR.datasource | 10 + ...CncLib.OPENcontrol.LockTableIIR.datasource | 10 + ...cLib.OPENcontrol.LogFSAddDriveR.datasource | 10 + ...Ncontrol.LogFSChangeFileAttribR.datasource | 10 + ...Lib.OPENcontrol.LogFSCloseFileR.datasource | 10 + ...cLib.OPENcontrol.LogFSCopyFileR.datasource | 10 + ...Lib.OPENcontrol.LogFSCreateDirR.datasource | 10 + ...ib.OPENcontrol.LogFSCreateFileR.datasource | 10 + ...Lib.OPENcontrol.LogFSFindCloseR.datasource | 10 + ...Lib.OPENcontrol.LogFSFindFirstR.datasource | 10 + ...cLib.OPENcontrol.LogFSFindNextR.datasource | 10 + ....OPENcontrol.LogFSGetDriveListR.datasource | 10 + ....OPENcontrol.LogFSGetDrivePathR.datasource | 10 + ...OPENcontrol.LogFSGetFileAttribR.datasource | 10 + ...b.OPENcontrol.LogFSGetFileSizeR.datasource | 10 + ...ontrol.LogFSGetHiddenDriveListR.datasource | 10 + ...ncLib.OPENcontrol.LogFSGetInfoR.datasource | 10 + ...b.OPENcontrol.LogFSGetNumDriveR.datasource | 10 + ...Ncontrol.LogFSGetSecurityLevelR.datasource | 10 + ...OPENcontrol.LogFSLongFileNamesR.datasource | 10 + ...cLib.OPENcontrol.LogFSOpenFileR.datasource | 10 + ...ib.OPENcontrol.LogFSReadRecordR.datasource | 10 + ...ENcontrol.LogFSReloadDriveListR.datasource | 10 + ...Lib.OPENcontrol.LogFSRemoveDirR.datasource | 10 + ...b.OPENcontrol.LogFSRemoveDriveR.datasource | 10 + ...ib.OPENcontrol.LogFSRemoveFileR.datasource | 10 + ...CncLib.OPENcontrol.LogFSRenameR.datasource | 10 + ...OPENcontrol.LogFSSetFileAttribR.datasource | 10 + ...Ncontrol.LogFSSetSecurityLevelR.datasource | 10 + ...b.OPENcontrol.LogFSWriteRecordR.datasource | 10 + ....OPENcontrol.ManagePartProgramR.datasource | 10 + ...Lib.OPENcontrol.MonAddVariableR.datasource | 10 + ...ib.OPENcontrol.MonCloseChannelR.datasource | 10 + ....OPENcontrol.MonDeleteVariableR.datasource | 10 + ...Lib.OPENcontrol.MonGetVariableR.datasource | 10 + ...Lib.OPENcontrol.MonOpenChannelR.datasource | 10 + ...b.OPENcontrol.MonStartSamplingR.datasource | 10 + ...ib.OPENcontrol.MonStopSamplingR.datasource | 10 + ...cLib.OPENcontrol.PutBinaryFileR.datasource | 10 + .../CMSCncLib.OPENcontrol.PutFileR.datasource | 10 + ...Ncontrol.ReadCurrentAnomalyMsgR.datasource | 10 + ...PENcontrol.ReadCurrentEmergMsgR.datasource | 10 + ...PENcontrol.ReadCurrentErrorMsgR.datasource | 10 + ...SCncLib.OPENcontrol.ReadErrMsgR.datasource | 10 + ...Ncontrol.ReadHistoryAnomalyMsgR.datasource | 10 + ...PENcontrol.ReadHistoryEmergMsgR.datasource | 10 + ...PENcontrol.ReadHistoryErrorMsgR.datasource | 10 + ....OPENcontrol.ReadHistoryLogMsgR.datasource | 10 + ...OPENcontrol.ReadPartProgramMsgR.datasource | 10 + ...ENcontrol.ReadRemapDefinitionsR.datasource | 10 + ...cLib.OPENcontrol.ReadVarDoubleR.datasource | 10 + ...CncLib.OPENcontrol.ReadVarTextR.datasource | 10 + ...CncLib.OPENcontrol.ReadVarWordR.datasource | 10 + ...Lib.OPENcontrol.ReadWarningMsgR.datasource | 10 + .../CMSCncLib.OPENcontrol.ResetR.datasource | 10 + ...OPENcontrol.ResetSingleTableIIR.datasource | 10 + ...PENcontrol.RestoreBackupMemoryR.datasource | 10 + ...OPENcontrol.RestoreSingleTableR.datasource | 10 + ...b.OPENcontrol.SaveBackupMemoryR.datasource | 10 + ...ib.OPENcontrol.SaveSingleTableR.datasource | 10 + ...SCncLib.OPENcontrol.SaveTablesR.datasource | 10 + ...rol.SelectPartProgramFromDriveR.datasource | 10 + ....OPENcontrol.SelectPartProgramR.datasource | 10 + ...Lib.OPENcontrol.SelectProcAxisR.datasource | 10 + ...cLib.OPENcontrol.SelectProcessR.datasource | 10 + ...CncLib.OPENcontrol.SetDateTimeR.datasource | 10 + ...Lib.OPENcontrol.SetFeedManOverR.datasource | 10 + ...b.OPENcontrol.SetFeedRapidOverR.datasource | 10 + ...ib.OPENcontrol.SetFeedRateOverR.datasource | 10 + ...ncLib.OPENcontrol.SetIpAddressR.datasource | 10 + ...OPENcontrol.SetManMovDirectionR.datasource | 10 + ...ncLib.OPENcontrol.SetMdiStringR.datasource | 10 + ...ENcontrol.SetOffsetTabRecordIIR.datasource | 10 + ...ENcontrol.SetOriginTabRecordIIR.datasource | 10 + ...b.OPENcontrol.SetProcVarDoubleR.datasource | 10 + ...Lib.OPENcontrol.SetProcVarWordR.datasource | 10 + ...Lib.OPENcontrol.SetProcessModeR.datasource | 10 + ...CncLib.OPENcontrol.SetServoParR.datasource | 10 + ...b.OPENcontrol.SetSpeedRateOverR.datasource | 10 + ...OPENcontrol.SetToolTabRecordIIR.datasource | 10 + ...OPENcontrol.SetUserTabRecordIIR.datasource | 10 + ...MSCncLib.OPENcontrol.SetVarJOGR.datasource | 10 + ...MSCncLib.OPENcontrol.SetVarRCMR.datasource | 10 + ...MSCncLib.OPENcontrol.SetVarUASR.datasource | 10 + ...Lib.OPENcontrol.SkipPProgBlockR.datasource | 10 + ...Lib.OPENcontrol.SndProcInpDataR.datasource | 10 + ...CncLib.OPENcontrol.SyncroCycleR.datasource | 10 + ...cLib.OPENcontrol.UnLockTableIIR.datasource | 10 + ...Ncontrol.WriteRemapDefinitionsR.datasource | 10 + ...Lib.OPENcontrol.WriteVarDoubleR.datasource | 10 + ...ncLib.OPENcontrol.WriteVarTextR.datasource | 10 + ...ib.OPENcontrol.WriteVarWordBitR.datasource | 10 + ...ncLib.OPENcontrol.WriteVarWordR.datasource | 10 + ...b.OPENcontrol.BootPhaseEnquiryR.datasource | 0 .../OPENcontrol/OPENcontrol.wsdl | 5895 ++++ .../OPENcontrol/Reference.svcmap | 30 + .../OPENcontrol/Reference.vb | 29126 ++++++++++++++++ .../OPENcontrol/configuration.svcinfo | 10 + .../OPENcontrol/configuration91.svcinfo | 201 + EgwProxy.MultiCncLib/api/index.md | 10 + EgwProxy.MultiCncLib/app.config | 33 + EgwProxy.MultiCncLib/articles/intro.md | 9 + EgwProxy.MultiCncLib/articles/toc.md | 1 + EgwProxy.MultiCncLib/docfx.json | 69 + EgwProxy.MultiCncLib/index.md | 17 + EgwProxy.MultiCncLib/toc.yml | 6 + EgwProxy.OsaiCncLib/ApplicationEvents.vb | 1 + EgwProxy.OsaiCncLib/CndexLinkDotNet.dll | Bin 0 -> 41984 bytes EgwProxy.OsaiCncLib/Config/testSam.INI | 107 + .../EgwProxy.OsaiCncLib.XmlSerializers.dll | Bin 0 -> 840704 bytes .../EgwProxy.OsaiCncLib.vbproj | 784 + EgwProxy.OsaiCncLib/FrmMain.Designer.vb | 426 + EgwProxy.OsaiCncLib/FrmMain.resx | 150 + EgwProxy.OsaiCncLib/FrmMain.vb | 367 + EgwProxy.OsaiCncLib/Messages/testSam.msg | 131 + .../Modules/CndexLinkUserVB6.vb | 717 + EgwProxy.OsaiCncLib/Modules/ComCNOsai.vb | 1962 ++ EgwProxy.OsaiCncLib/Modules/ComCNOsaiVB6.vb | 604 + .../Modules/ComCnOsaiOpen_Series.vb | 1314 + EgwProxy.OsaiCncLib/Modules/IniRead.vb | 464 + EgwProxy.OsaiCncLib/Modules/IniReader.vb | 454 + EgwProxy.OsaiCncLib/Modules/L_File_aux.vb | 60 + EgwProxy.OsaiCncLib/Modules/Log.vb | 47 + EgwProxy.OsaiCncLib/Modules/M_aspect.vb | 126 + .../Modules/M_cn_connection.vb | 458 + EgwProxy.OsaiCncLib/Modules/M_machine.vb | 21 + .../Modules/M_state_machine.vb | 375 + EgwProxy.OsaiCncLib/Modules/Message.vb | 36 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/Resources.Designer.vb | 63 + EgwProxy.OsaiCncLib/My Project/Resources.resx | 117 + .../My Project/Settings.Designer.vb | 93 + .../My Project/Settings.settings | 12 + EgwProxy.OsaiCncLib/My Project/app.manifest | 22 + EgwProxy.OsaiCncLib/S10DLLPRJ.dll | Bin 0 -> 32768 bytes EgwProxy.OsaiCncLib/S10WLK32.DLL | Bin 0 -> 49152 bytes EgwProxy.OsaiCncLib/S10WLK32.LIB | Bin 0 -> 11210 bytes .../Service References/OPENcontrol.wsdl | 5895 ++++ .../CVCncLib.OpenControl.AxesRefR.datasource | 10 + .../CVCncLib.OpenControl.BootModeR.datasource | 10 + ...b.OpenControl.BootPhaseEnquiryR.datasource | 10 + ...VCncLib.OpenControl.BootRebootR.datasource | 10 + ...ncLib.OpenControl.BootShutDownR.datasource | 10 + ...ncLib.OpenControl.CheckHistoryR.datasource | 10 + .../CVCncLib.OpenControl.CycleR.datasource | 10 + .../CVCncLib.OpenControl.DncDataR.datasource | 10 + .../CVCncLib.OpenControl.DncEofR.datasource | 10 + .../CVCncLib.OpenControl.DncInitR.datasource | 10 + .../CVCncLib.OpenControl.DncStopR.datasource | 10 + .../CVCncLib.OpenControl.EseExR.datasource | 10 + .../CVCncLib.OpenControl.EseR.datasource | 10 + .../CVCncLib.OpenControl.ExeR.datasource | 10 + ...enControl.GetActivePartProgramR.datasource | 10 + ...ntrol.GetAvailableCustomEventsR.datasource | 10 + ...Lib.OpenControl.GetAxOriginNumR.datasource | 10 + ...ncLib.OpenControl.GetAxesInfo3R.datasource | 10 + ...ib.OpenControl.GetAxesPositionR.datasource | 10 + ...cLib.OpenControl.GetBinaryFileR.datasource | 10 + ...CVCncLib.OpenControl.GetBlkNumR.datasource | 10 + ...ncLib.OpenControl.GetCNCRegKeyR.datasource | 10 + ...cLib.OpenControl.GetCodeNumberR.datasource | 10 + ...CncLib.OpenControl.GetDateTimeR.datasource | 10 + .../CVCncLib.OpenControl.GetFileR.datasource | 10 + .../CVCncLib.OpenControl.GetGCodeR.datasource | 10 + .../CVCncLib.OpenControl.GetHWKeyR.datasource | 10 + .../CVCncLib.OpenControl.GetMCodeR.datasource | 10 + ...cLib.OpenControl.GetMarkerInfoR.datasource | 10 + ...VCncLib.OpenControl.GetNcInfo1R.datasource | 10 + ...VCncLib.OpenControl.GetNcInfo2R.datasource | 10 + ...enControl.GetOffsetTabRecordIIR.datasource | 10 + ...VCncLib.OpenControl.GetOptionsR.datasource | 10 + ...enControl.GetOriginTabRecordIIR.datasource | 10 + ...cLib.OpenControl.GetPTechSizesR.datasource | 10 + ...penControl.GetPartProgramLinesR.datasource | 10 + ...Lib.OpenControl.GetProcInInputR.datasource | 10 + ...b.OpenControl.GetProcVarDoubleR.datasource | 10 + ...Lib.OpenControl.GetProcVarWordR.datasource | 10 + ....OpenControl.GetProcessConfNumR.datasource | 10 + ...b.OpenControl.GetProcessStatusR.datasource | 10 + ...OpenControl.GetSelectedProcessR.datasource | 10 + ...ib.OpenControl.GetSerialNumberR.datasource | 10 + ...CncLib.OpenControl.GetServoParR.datasource | 10 + ...VCncLib.OpenControl.GetSysTickR.datasource | 10 + ...ncLib.OpenControl.GetToolNamesR.datasource | 10 + ...OpenControl.GetToolTabRecordIIR.datasource | 10 + ...OpenControl.GetUserTabRecordIIR.datasource | 10 + ...CVCncLib.OpenControl.GetVarJOGR.datasource | 10 + ...CVCncLib.OpenControl.GetVarRCMR.datasource | 10 + .../CVCncLib.OpenControl.HoldR.datasource | 10 + ...CVCncLib.OpenControl.LoadPTechR.datasource | 10 + ...CncLib.OpenControl.LockTableIIR.datasource | 10 + ...cLib.OpenControl.LogFSAddDriveR.datasource | 10 + ...nControl.LogFSChangeFileAttribR.datasource | 10 + ...Lib.OpenControl.LogFSCloseFileR.datasource | 10 + ...cLib.OpenControl.LogFSCopyFileR.datasource | 10 + ...Lib.OpenControl.LogFSCreateDirR.datasource | 10 + ...ib.OpenControl.LogFSCreateFileR.datasource | 10 + ...Lib.OpenControl.LogFSFindCloseR.datasource | 10 + ...Lib.OpenControl.LogFSFindFirstR.datasource | 10 + ...cLib.OpenControl.LogFSFindNextR.datasource | 10 + ....OpenControl.LogFSGetDriveListR.datasource | 10 + ....OpenControl.LogFSGetDrivePathR.datasource | 10 + ...OpenControl.LogFSGetFileAttribR.datasource | 10 + ...b.OpenControl.LogFSGetFileSizeR.datasource | 10 + ...ontrol.LogFSGetHiddenDriveListR.datasource | 10 + ...ncLib.OpenControl.LogFSGetInfoR.datasource | 10 + ...b.OpenControl.LogFSGetNumDriveR.datasource | 10 + ...nControl.LogFSGetSecurityLevelR.datasource | 10 + ...OpenControl.LogFSLongFileNamesR.datasource | 10 + ...cLib.OpenControl.LogFSOpenFileR.datasource | 10 + ...ib.OpenControl.LogFSReadRecordR.datasource | 10 + ...enControl.LogFSReloadDriveListR.datasource | 10 + ...Lib.OpenControl.LogFSRemoveDirR.datasource | 10 + ...b.OpenControl.LogFSRemoveDriveR.datasource | 10 + ...ib.OpenControl.LogFSRemoveFileR.datasource | 10 + ...CncLib.OpenControl.LogFSRenameR.datasource | 10 + ...OpenControl.LogFSSetFileAttribR.datasource | 10 + ...nControl.LogFSSetSecurityLevelR.datasource | 10 + ...b.OpenControl.LogFSWriteRecordR.datasource | 10 + ....OpenControl.ManagePartProgramR.datasource | 10 + ...Lib.OpenControl.MonAddVariableR.datasource | 10 + ...ib.OpenControl.MonCloseChannelR.datasource | 10 + ....OpenControl.MonDeleteVariableR.datasource | 10 + ...Lib.OpenControl.MonGetVariableR.datasource | 10 + ...Lib.OpenControl.MonOpenChannelR.datasource | 10 + ...b.OpenControl.MonStartSamplingR.datasource | 10 + ...ib.OpenControl.MonStopSamplingR.datasource | 10 + ...cLib.OpenControl.PutBinaryFileR.datasource | 10 + .../CVCncLib.OpenControl.PutFileR.datasource | 10 + ...nControl.ReadCurrentAnomalyMsgR.datasource | 10 + ...penControl.ReadCurrentEmergMsgR.datasource | 10 + ...penControl.ReadCurrentErrorMsgR.datasource | 10 + ...VCncLib.OpenControl.ReadErrMsgR.datasource | 10 + ...nControl.ReadHistoryAnomalyMsgR.datasource | 10 + ...penControl.ReadHistoryEmergMsgR.datasource | 10 + ...penControl.ReadHistoryErrorMsgR.datasource | 10 + ....OpenControl.ReadHistoryLogMsgR.datasource | 10 + ...OpenControl.ReadPartProgramMsgR.datasource | 10 + ...enControl.ReadRemapDefinitionsR.datasource | 10 + ...cLib.OpenControl.ReadVarDoubleR.datasource | 10 + ...CncLib.OpenControl.ReadVarTextR.datasource | 10 + ...CncLib.OpenControl.ReadVarWordR.datasource | 10 + ...Lib.OpenControl.ReadWarningMsgR.datasource | 10 + .../CVCncLib.OpenControl.ResetR.datasource | 10 + ...OpenControl.ResetSingleTableIIR.datasource | 10 + ...penControl.RestoreBackupMemoryR.datasource | 10 + ...OpenControl.RestoreSingleTableR.datasource | 10 + ...b.OpenControl.SaveBackupMemoryR.datasource | 10 + ...ib.OpenControl.SaveSingleTableR.datasource | 10 + ...VCncLib.OpenControl.SaveTablesR.datasource | 10 + ...rol.SelectPartProgramFromDriveR.datasource | 10 + ....OpenControl.SelectPartProgramR.datasource | 10 + ...Lib.OpenControl.SelectProcAxisR.datasource | 10 + ...cLib.OpenControl.SelectProcessR.datasource | 10 + ...CncLib.OpenControl.SetDateTimeR.datasource | 10 + ...Lib.OpenControl.SetFeedManOverR.datasource | 10 + ...b.OpenControl.SetFeedRapidOverR.datasource | 10 + ...ib.OpenControl.SetFeedRateOverR.datasource | 10 + ...ncLib.OpenControl.SetIpAddressR.datasource | 10 + ...OpenControl.SetManMovDirectionR.datasource | 10 + ...ncLib.OpenControl.SetMdiStringR.datasource | 10 + ...enControl.SetOffsetTabRecordIIR.datasource | 10 + ...enControl.SetOriginTabRecordIIR.datasource | 10 + ...b.OpenControl.SetProcVarDoubleR.datasource | 10 + ...Lib.OpenControl.SetProcVarWordR.datasource | 10 + ...Lib.OpenControl.SetProcessModeR.datasource | 10 + ...CncLib.OpenControl.SetServoParR.datasource | 10 + ...b.OpenControl.SetSpeedRateOverR.datasource | 10 + ...OpenControl.SetToolTabRecordIIR.datasource | 10 + ...OpenControl.SetUserTabRecordIIR.datasource | 10 + ...CVCncLib.OpenControl.SetVarJOGR.datasource | 10 + ...CVCncLib.OpenControl.SetVarRCMR.datasource | 10 + ...CVCncLib.OpenControl.SetVarUASR.datasource | 10 + ...Lib.OpenControl.SkipPProgBlockR.datasource | 10 + ...Lib.OpenControl.SndProcInpDataR.datasource | 10 + ...CncLib.OpenControl.SyncroCycleR.datasource | 10 + ...cLib.OpenControl.UnLockTableIIR.datasource | 10 + ...nControl.WriteRemapDefinitionsR.datasource | 10 + ...Lib.OpenControl.WriteVarDoubleR.datasource | 10 + ...ncLib.OpenControl.WriteVarTextR.datasource | 10 + ...ib.OpenControl.WriteVarWordBitR.datasource | 10 + ...ncLib.OpenControl.WriteVarWordR.datasource | 10 + .../OpenControl/OPENcontrol.wsdl | 5895 ++++ .../OpenControl/Reference.svcmap | 30 + .../OpenControl/Reference.vb | 29126 ++++++++++++++++ .../OpenControl/configuration.svcinfo | 10 + .../OpenControl/configuration91.svcinfo | 201 + ...easysuperv.OpenControl.AxesRefR.datasource | 10 + ...asysuperv.OpenControl.BootModeR.datasource | 10 + ...v.OpenControl.BootPhaseEnquiryR.datasource | 10 + ...ysuperv.OpenControl.BootRebootR.datasource | 10 + ...uperv.OpenControl.BootShutDownR.datasource | 10 + ...uperv.OpenControl.CheckHistoryR.datasource | 10 + .../easysuperv.OpenControl.CycleR.datasource | 10 + ...easysuperv.OpenControl.DncDataR.datasource | 10 + .../easysuperv.OpenControl.DncEofR.datasource | 10 + ...easysuperv.OpenControl.DncInitR.datasource | 10 + ...easysuperv.OpenControl.DncStopR.datasource | 10 + .../easysuperv.OpenControl.EseExR.datasource | 10 + .../easysuperv.OpenControl.EseR.datasource | 10 + .../easysuperv.OpenControl.ExeR.datasource | 10 + ...enControl.GetActivePartProgramR.datasource | 10 + ...ntrol.GetAvailableCustomEventsR.datasource | 10 + ...erv.OpenControl.GetAxOriginNumR.datasource | 10 + ...uperv.OpenControl.GetAxesInfo3R.datasource | 10 + ...rv.OpenControl.GetAxesPositionR.datasource | 10 + ...perv.OpenControl.GetBinaryFileR.datasource | 10 + ...sysuperv.OpenControl.GetBlkNumR.datasource | 10 + ...uperv.OpenControl.GetCNCRegKeyR.datasource | 10 + ...perv.OpenControl.GetCodeNumberR.datasource | 10 + ...superv.OpenControl.GetDateTimeR.datasource | 10 + ...easysuperv.OpenControl.GetFileR.datasource | 10 + ...asysuperv.OpenControl.GetGCodeR.datasource | 10 + ...asysuperv.OpenControl.GetHWKeyR.datasource | 10 + ...asysuperv.OpenControl.GetMCodeR.datasource | 10 + ...perv.OpenControl.GetMarkerInfoR.datasource | 10 + ...ysuperv.OpenControl.GetNcInfo1R.datasource | 10 + ...ysuperv.OpenControl.GetNcInfo2R.datasource | 10 + ...enControl.GetOffsetTabRecordIIR.datasource | 10 + ...ysuperv.OpenControl.GetOptionsR.datasource | 10 + ...enControl.GetOriginTabRecordIIR.datasource | 10 + ...perv.OpenControl.GetPTechSizesR.datasource | 10 + ...penControl.GetPartProgramLinesR.datasource | 10 + ...erv.OpenControl.GetProcInInputR.datasource | 10 + ...v.OpenControl.GetProcVarDoubleR.datasource | 10 + ...erv.OpenControl.GetProcVarWordR.datasource | 10 + ....OpenControl.GetProcessConfNumR.datasource | 10 + ...v.OpenControl.GetProcessStatusR.datasource | 10 + ...OpenControl.GetSelectedProcessR.datasource | 10 + ...rv.OpenControl.GetSerialNumberR.datasource | 10 + ...superv.OpenControl.GetServoParR.datasource | 10 + ...ysuperv.OpenControl.GetSysTickR.datasource | 10 + ...uperv.OpenControl.GetToolNamesR.datasource | 10 + ...OpenControl.GetToolTabRecordIIR.datasource | 10 + ...OpenControl.GetUserTabRecordIIR.datasource | 10 + ...sysuperv.OpenControl.GetVarJOGR.datasource | 10 + ...sysuperv.OpenControl.GetVarRCMR.datasource | 10 + .../easysuperv.OpenControl.HoldR.datasource | 10 + ...sysuperv.OpenControl.LoadPTechR.datasource | 10 + ...superv.OpenControl.LockTableIIR.datasource | 10 + ...perv.OpenControl.LogFSAddDriveR.datasource | 10 + ...nControl.LogFSChangeFileAttribR.datasource | 10 + ...erv.OpenControl.LogFSCloseFileR.datasource | 10 + ...perv.OpenControl.LogFSCopyFileR.datasource | 10 + ...erv.OpenControl.LogFSCreateDirR.datasource | 10 + ...rv.OpenControl.LogFSCreateFileR.datasource | 10 + ...erv.OpenControl.LogFSFindCloseR.datasource | 10 + ...erv.OpenControl.LogFSFindFirstR.datasource | 10 + ...perv.OpenControl.LogFSFindNextR.datasource | 10 + ....OpenControl.LogFSGetDriveListR.datasource | 10 + ....OpenControl.LogFSGetDrivePathR.datasource | 10 + ...OpenControl.LogFSGetFileAttribR.datasource | 10 + ...v.OpenControl.LogFSGetFileSizeR.datasource | 10 + ...ontrol.LogFSGetHiddenDriveListR.datasource | 10 + ...uperv.OpenControl.LogFSGetInfoR.datasource | 10 + ...v.OpenControl.LogFSGetNumDriveR.datasource | 10 + ...nControl.LogFSGetSecurityLevelR.datasource | 10 + ...OpenControl.LogFSLongFileNamesR.datasource | 10 + ...perv.OpenControl.LogFSOpenFileR.datasource | 10 + ...rv.OpenControl.LogFSReadRecordR.datasource | 10 + ...enControl.LogFSReloadDriveListR.datasource | 10 + ...erv.OpenControl.LogFSRemoveDirR.datasource | 10 + ...v.OpenControl.LogFSRemoveDriveR.datasource | 10 + ...rv.OpenControl.LogFSRemoveFileR.datasource | 10 + ...superv.OpenControl.LogFSRenameR.datasource | 10 + ...OpenControl.LogFSSetFileAttribR.datasource | 10 + ...nControl.LogFSSetSecurityLevelR.datasource | 10 + ...v.OpenControl.LogFSWriteRecordR.datasource | 10 + ....OpenControl.ManagePartProgramR.datasource | 10 + ...erv.OpenControl.MonAddVariableR.datasource | 10 + ...rv.OpenControl.MonCloseChannelR.datasource | 10 + ....OpenControl.MonDeleteVariableR.datasource | 10 + ...erv.OpenControl.MonGetVariableR.datasource | 10 + ...erv.OpenControl.MonOpenChannelR.datasource | 10 + ...v.OpenControl.MonStartSamplingR.datasource | 10 + ...rv.OpenControl.MonStopSamplingR.datasource | 10 + ...perv.OpenControl.PutBinaryFileR.datasource | 10 + ...easysuperv.OpenControl.PutFileR.datasource | 10 + ...nControl.ReadCurrentAnomalyMsgR.datasource | 10 + ...penControl.ReadCurrentEmergMsgR.datasource | 10 + ...penControl.ReadCurrentErrorMsgR.datasource | 10 + ...ysuperv.OpenControl.ReadErrMsgR.datasource | 10 + ...nControl.ReadHistoryAnomalyMsgR.datasource | 10 + ...penControl.ReadHistoryEmergMsgR.datasource | 10 + ...penControl.ReadHistoryErrorMsgR.datasource | 10 + ....OpenControl.ReadHistoryLogMsgR.datasource | 10 + ...OpenControl.ReadPartProgramMsgR.datasource | 10 + ...enControl.ReadRemapDefinitionsR.datasource | 10 + ...perv.OpenControl.ReadVarDoubleR.datasource | 10 + ...superv.OpenControl.ReadVarTextR.datasource | 10 + ...superv.OpenControl.ReadVarWordR.datasource | 10 + ...erv.OpenControl.ReadWarningMsgR.datasource | 10 + .../easysuperv.OpenControl.ResetR.datasource | 10 + ...OpenControl.ResetSingleTableIIR.datasource | 10 + ...penControl.RestoreBackupMemoryR.datasource | 10 + ...OpenControl.RestoreSingleTableR.datasource | 10 + ...v.OpenControl.SaveBackupMemoryR.datasource | 10 + ...rv.OpenControl.SaveSingleTableR.datasource | 10 + ...ysuperv.OpenControl.SaveTablesR.datasource | 10 + ...rol.SelectPartProgramFromDriveR.datasource | 10 + ....OpenControl.SelectPartProgramR.datasource | 10 + ...erv.OpenControl.SelectProcAxisR.datasource | 10 + ...perv.OpenControl.SelectProcessR.datasource | 10 + ...superv.OpenControl.SetDateTimeR.datasource | 10 + ...erv.OpenControl.SetFeedManOverR.datasource | 10 + ...v.OpenControl.SetFeedRapidOverR.datasource | 10 + ...rv.OpenControl.SetFeedRateOverR.datasource | 10 + ...uperv.OpenControl.SetIpAddressR.datasource | 10 + ...OpenControl.SetManMovDirectionR.datasource | 10 + ...uperv.OpenControl.SetMdiStringR.datasource | 10 + ...enControl.SetOffsetTabRecordIIR.datasource | 10 + ...enControl.SetOriginTabRecordIIR.datasource | 10 + ...v.OpenControl.SetProcVarDoubleR.datasource | 10 + ...erv.OpenControl.SetProcVarWordR.datasource | 10 + ...erv.OpenControl.SetProcessModeR.datasource | 10 + ...superv.OpenControl.SetServoParR.datasource | 10 + ...v.OpenControl.SetSpeedRateOverR.datasource | 10 + ...OpenControl.SetToolTabRecordIIR.datasource | 10 + ...OpenControl.SetUserTabRecordIIR.datasource | 10 + ...sysuperv.OpenControl.SetVarJOGR.datasource | 10 + ...sysuperv.OpenControl.SetVarRCMR.datasource | 10 + ...sysuperv.OpenControl.SetVarUASR.datasource | 10 + ...erv.OpenControl.SkipPProgBlockR.datasource | 10 + ...erv.OpenControl.SndProcInpDataR.datasource | 10 + ...superv.OpenControl.SyncroCycleR.datasource | 10 + ...perv.OpenControl.UnLockTableIIR.datasource | 10 + ...nControl.WriteRemapDefinitionsR.datasource | 10 + ...erv.OpenControl.WriteVarDoubleR.datasource | 10 + ...uperv.OpenControl.WriteVarTextR.datasource | 10 + ...rv.OpenControl.WriteVarWordBitR.datasource | 10 + ...uperv.OpenControl.WriteVarWordR.datasource | 10 + .../WebReference/AXORIGNUM1.datasource | 10 + .../WebReference/DRIVEBASICINFO1.datasource | 10 + .../WebReference/ERRMSG1.datasource | 10 + .../WebReference/FILEFINDDATA1.datasource | 10 + .../WebReference/GETBLKNUMDATA1.datasource | 10 + .../WebReference/GETINFO1DATA1.datasource | 10 + .../WebReference/GETINFO2DATA1.datasource | 10 + .../WebReference/GETINTDATA1.datasource | 10 + .../WebReference/INPUTINFO1.datasource | 10 + .../WebReference/MAGAZINETABLEII1.datasource | 10 + .../WebReference/MARKERINFO1.datasource | 10 + .../MONCUSTOMEVENTINFO1.datasource | 10 + .../WebReference/MONDRYRUN1.datasource | 10 + .../WebReference/MONENTEMOVI1.datasource | 10 + .../WebReference/MSGANOMALY1.datasource | 10 + .../WebReference/MSGEMERGENCY1.datasource | 10 + .../WebReference/MSGERROR1.datasource | 10 + .../WebReference/MSGLOGS1.datasource | 10 + .../WebReference/OFFSETTABLEII1.datasource | 10 + .../WebReference/OPENcontrol.wsdl | 8075 +++++ .../WebReference/ORIGINTABLEII1.datasource | 10 + .../WebReference/POCKETTABLEII1.datasource | 10 + .../WebReference/PROCDATA1.datasource | 10 + .../WebReference/REMAPDEF1.datasource | 10 + .../Web References/WebReference/Reference.map | 6 + .../Web References/WebReference/Reference.vb | 20797 +++++++++++ .../WebReference/SECURDATA1.datasource | 10 + .../WebReference/SECURITYLEVEL1.datasource | 10 + .../WebReference/TOOLTABLEII1.datasource | 10 + .../WebReference/USERTABLEII1.datasource | 10 + EgwProxy.OsaiCncLib/api/index.md | 10 + EgwProxy.OsaiCncLib/app.config | 48 + EgwProxy.OsaiCncLib/articles/intro.md | 9 + EgwProxy.OsaiCncLib/articles/toc.md | 1 + EgwProxy.OsaiCncLib/docfx.json | 69 + EgwProxy.OsaiCncLib/index.md | 18 + EgwProxy.OsaiCncLib/qq | 0 EgwProxy.OsaiCncLib/reg.bat | 1 + .../testSam.XmlSerializers.dll | Bin 0 -> 838656 bytes EgwProxy.OsaiCncLib/testSam.vshost.exe | Bin 0 -> 22696 bytes EgwProxy.OsaiCncLib/testSam.vshost.exe.config | 48 + EgwProxy.OsaiCncLib/toc.yml | 6 + EgwProxy.OsaiCncLib/ureg.bat | 1 + EgwProxy.SqlDb.Test/App.config | 25 + .../EgwProxy.SqlDb.Test.csproj | 105 + EgwProxy.SqlDb.Test/Program.cs | 296 + .../Properties/AssemblyInfo.cs | 36 + .../SqlFromDebug/PAMA/BackupDb.sql | Bin 0 -> 1062 bytes .../SqlFromDebug/PAMA/ExportAll.sql | Bin 0 -> 690 bytes .../SqlFromDebug/PAMA/GetMachineEvList.sql | Bin 0 -> 4796 bytes .../SqlFromDebug/PAMA/GetMachineFluxLog.sql | 107 + .../SqlFromDebug/PAMA/GetMachineProdData.sql | 166 + .../SqlFromDebug/PAMA/GetMachineSigLog.sql | Bin 0 -> 5748 bytes .../SqlFromDebug/PAMA/ImportAll.sql | Bin 0 -> 3680 bytes .../PAMA/MoonPro_IOB_ISF_Pama.sql | 36 + .../SqlFromDebug/PAMA/ResetPodlMes.sql | Bin 0 -> 1028 bytes .../SqlFromDebug/PAMA/SyncPodlToMachine.sql | Bin 0 -> 6816 bytes .../SqlFromDebug/PAMA/Test.sql | 98 + .../SqlFromDebug/PAMA/ext_stp_OrdState.sql | 49 + EgwProxy.SqlDb.Test/TestSetup.cs | 42 + EgwProxy.SqlDb.Test/conf/.placeholder | 1 + EgwProxy.SqlDb.Test/conf/testSetup.json | 71 + EgwProxy.SqlDb.Test/packages.config | 9 + EgwProxy.SqlDb.Test/postBuildTgt.bat | 74 + EgwProxy.SqlDb.Test/setupTgt.bat | 25 + EgwProxy.SqlDb/App.config | 15 + EgwProxy.SqlDb/Controllers/DbController.cs | 316 + EgwProxy.SqlDb/DbModels/ActListModel.cs | 35 + EgwProxy.SqlDb/DbModels/ActTypeModel.cs | 24 + EgwProxy.SqlDb/DbModels/MachFluxLogModel.cs | 34 + EgwProxy.SqlDb/DbModels/MachPODLModel.cs | 57 + EgwProxy.SqlDb/DbModels/MachProdDataModel.cs | 36 + EgwProxy.SqlDb/DbModels/MachSigLogModel.cs | 30 + EgwProxy.SqlDb/DbModels/MesPODLLastModel.cs | 57 + EgwProxy.SqlDb/DbModels/MesPODLReqModel.cs | 57 + EgwProxy.SqlDb/DbModels/SyncStateModel.cs | 26 + EgwProxy.SqlDb/EgwProxy.SqlDb.csproj | 162 + .../202303131052295_InitialDb.Designer.cs | 29 + .../Migrations/202303131052295_InitialDb.cs | 157 + .../Migrations/202303131052295_InitialDb.resx | 126 + .../202303131054149_AddStoredProc.Designer.cs | 29 + .../202303131054149_AddStoredProc.cs | 49 + .../202303131054149_AddStoredProc.resx | 126 + ...202303141853160_FixSigLogTable.Designer.cs | 29 + .../202303141853160_FixSigLogTable.cs | 45 + .../202303141853160_FixSigLogTable.resx | 126 + ...202303150807341_AddMacProdData.Designer.cs | 29 + .../202303150807341_AddMacProdData.cs | 32 + .../202303150807341_AddMacProdData.resx | 126 + .../Migrations/ConfigurationInit.cs | 40 + EgwProxy.SqlDb/MyDbInitializer.cs | 35 + EgwProxy.SqlDb/Properties/AssemblyInfo.cs | 36 + EgwProxy.SqlDb/SqlScript/AddFunc.sql | 24 + EgwProxy.SqlDb/StoredProc/stp_BackupDb.sql | 11 + EgwProxy.SqlDb/StoredProc/stp_ExportAll.sql | 7 + .../StoredProc/stp_GetMachineEvList.sql | 21 + .../StoredProc/stp_GetMachineFluxLog.sql | 11 + .../StoredProc/stp_GetMachineProdData.sql | 9 + .../StoredProc/stp_GetMachineSigLog.sql | 81 + EgwProxy.SqlDb/StoredProc/stp_ImportAll.sql | 7 + .../StoredProc/stp_ResetPodlMes.sql | 15 + .../StoredProc/stp_SyncPodlToMachine.sql | 16 + EgwProxy.SqlDb/SyncStateDbContext.cs | 111 + EgwProxy.SqlDb/docfx.json | 69 + EgwProxy.SqlDb/index.md | 17 + EgwProxy.SqlDb/packages.config | 5 + EgwProxy.SqlDb/toc.yml | 6 + 727 files changed, 158866 insertions(+) create mode 100644 EgwProxy.Ftp.Test/App.config create mode 100644 EgwProxy.Ftp.Test/EgwProxy.Ftp.Test.csproj create mode 100644 EgwProxy.Ftp.Test/Program.cs create mode 100644 EgwProxy.Ftp.Test/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.Ftp.Test/TestSetup.cs create mode 100644 EgwProxy.Ftp.Test/conf/.placeholder create mode 100644 EgwProxy.Ftp.Test/conf/testSetup-ftp.steamware.net.json create mode 100644 EgwProxy.Ftp.Test/conf/testSetup.json create mode 100644 EgwProxy.Ftp.Test/packages.config create mode 100644 EgwProxy.Ftp.Test/test/FileProva.txt create mode 100644 EgwProxy.Ftp/EgwProxy.Ftp.csproj create mode 100644 EgwProxy.Ftp/Manager.cs create mode 100644 EgwProxy.Ftp/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.Ftp/app.config create mode 100644 EgwProxy.Ftp/docfx.json create mode 100644 EgwProxy.Ftp/index.md create mode 100644 EgwProxy.Ftp/packages.config create mode 100644 EgwProxy.Ftp/toc.yml create mode 100644 EgwProxy.Gomba.Test/App.config create mode 100644 EgwProxy.Gomba.Test/EgwProxy.Gomba.Test.csproj create mode 100644 EgwProxy.Gomba.Test/Program.cs create mode 100644 EgwProxy.Gomba.Test/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.Gomba/App.config create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.gestWeightOut.datasource create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.memWeightResponse.datasource create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.reqWeightListResponse.datasource create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.reqWeightResponse.datasource create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/Reference.cs create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/Reference.svcmap create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/configuration.svcinfo create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/configuration91.svcinfo create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/lwpService.wsdl create mode 100644 EgwProxy.Gomba/Connected Services/GombaServ/ws.xsd create mode 100644 EgwProxy.Gomba/EgwProxy.Gomba.csproj create mode 100644 EgwProxy.Gomba/GombaWSDL.wsdl create mode 100644 EgwProxy.Gomba/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.Gomba/docfx.json create mode 100644 EgwProxy.Gomba/index.md create mode 100644 EgwProxy.Gomba/index.pdf create mode 100644 EgwProxy.Gomba/packages.config create mode 100644 EgwProxy.Gomba/toc.yml create mode 100644 EgwProxy.Icoel.DataLayer/App.config create mode 100644 EgwProxy.Icoel.DataLayer/Controllers/DbController.cs create mode 100644 EgwProxy.Icoel.DataLayer/DatabaseModels/CurrDataModel.cs create mode 100644 EgwProxy.Icoel.DataLayer/DatabaseModels/DettConferimentoModel.cs create mode 100644 EgwProxy.Icoel.DataLayer/DatabaseModels/DettConfezioniModel.cs create mode 100644 EgwProxy.Icoel.DataLayer/DatabaseModels/EntrataModel.cs create mode 100644 EgwProxy.Icoel.DataLayer/DatabaseModels/ProductsTotalsModel.cs create mode 100644 EgwProxy.Icoel.DataLayer/DatabaseModels/SyncStateModel.cs create mode 100644 EgwProxy.Icoel.DataLayer/DbConfig.cs create mode 100644 EgwProxy.Icoel.DataLayer/EgwProxy.Icoel.DataLayer.csproj create mode 100644 EgwProxy.Icoel.DataLayer/EntrataDbContext.cs create mode 100644 EgwProxy.Icoel.DataLayer/ExportDbContext.cs create mode 100644 EgwProxy.Icoel.DataLayer/MainDbContext.cs create mode 100644 EgwProxy.Icoel.DataLayer/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.Icoel.DataLayer/SyncStateDbContext.cs create mode 100644 EgwProxy.Icoel.DataLayer/TrackerDbContext.cs create mode 100644 EgwProxy.Icoel.DataLayer/packages.config create mode 100644 EgwProxy.Icoel.Test/App.config create mode 100644 EgwProxy.Icoel.Test/EgwProxy.Icoel.Test.csproj create mode 100644 EgwProxy.Icoel.Test/INI/BatchDetails.cs create mode 100644 EgwProxy.Icoel.Test/INI/IniFileCs.cs create mode 100644 EgwProxy.Icoel.Test/INI/Settaggi.cs create mode 100644 EgwProxy.Icoel.Test/Program.cs create mode 100644 EgwProxy.Icoel.Test/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.Icoel.Test/batch.ini create mode 100644 EgwProxy.Icoel.Test/conf.ini create mode 100644 EgwProxy.Icoel.Test/packages.config create mode 100644 EgwProxy.Icoel/App.config create mode 100644 EgwProxy.Icoel/Appunti.md create mode 100644 EgwProxy.Icoel/Compac/ComClient.cs create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Arrays.xsd create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core.xsd create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core1.xsd create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core2.xsd create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service.wsdl create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service.xsd create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service1.xsd create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.AbstractSamplingConfiguration.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Batch.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.GetVersionResponse.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Grower.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Label.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.LaneGroup.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Layout.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Outlet.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Pack.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Product.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.SamplingProgress.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.ServiceVersion.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Variety.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Icoel.Soap.SizerService.ServiceVersion.datasource create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Reference.cs create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/Reference.svcmap create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/System.xsd create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/configuration.svcinfo create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/configuration91.svcinfo create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/service.wsdl create mode 100644 EgwProxy.Icoel/Connected Services/SizerService/service.xsd create mode 100644 EgwProxy.Icoel/Connector.cs create mode 100644 EgwProxy.Icoel/DbProxy.cs create mode 100644 EgwProxy.Icoel/EgwProxy.Icoel.csproj create mode 100644 EgwProxy.Icoel/GrowerInfo.cs create mode 100644 EgwProxy.Icoel/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.Icoel/api/index.md create mode 100644 EgwProxy.Icoel/articles/intro.md create mode 100644 EgwProxy.Icoel/articles/toc.md create mode 100644 EgwProxy.Icoel/docfx.json create mode 100644 EgwProxy.Icoel/index.md create mode 100644 EgwProxy.Icoel/packages.config create mode 100644 EgwProxy.Icoel/toc.yml create mode 100644 EgwProxy.MultiCncLib/App/App.Native.Ini.vb create mode 100644 EgwProxy.MultiCncLib/CNC/CNC.FANUC/CNC.FANUC.vb create mode 100644 EgwProxy.MultiCncLib/CNC/CNC.FANUC/_/CNC.FANUC.Err.vb create mode 100644 EgwProxy.MultiCncLib/CNC/CNC.FANUC/_/fwlib32.vb create mode 100644 EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI.vb create mode 100644 EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb create mode 100644 EgwProxy.MultiCncLib/CNC/CNC.Runtime.vb create mode 100644 EgwProxy.MultiCncLib/CNC/CNC.SIEMENS/CNC.SIEMENS.vb create mode 100644 EgwProxy.MultiCncLib/CNC/CNC/CNC.CNC.vb create mode 100644 EgwProxy.MultiCncLib/CndexLinkDotNet.dll create mode 100644 EgwProxy.MultiCncLib/Config/Config.Options.vb create mode 100644 EgwProxy.MultiCncLib/Config/Config.Settings.vb create mode 100644 EgwProxy.MultiCncLib/EgwProxy.MultiCncLib.vbproj create mode 100644 EgwProxy.MultiCncLib/ExtLib/CndexLinkDotNet.dll create mode 100644 EgwProxy.MultiCncLib/ExtLib/Siemens.Sinumerik.Operate.Services.Wrapper.dll create mode 100644 EgwProxy.MultiCncLib/ExtLib/Siemens.Sinumerik.Operate.Services.dll create mode 100644 EgwProxy.MultiCncLib/Modules/Conversions.vb create mode 100644 EgwProxy.MultiCncLib/Modules/General.vb create mode 100644 EgwProxy.MultiCncLib/My Project/Application.Designer.vb create mode 100644 EgwProxy.MultiCncLib/My Project/Application.myapp create mode 100644 EgwProxy.MultiCncLib/My Project/AssemblyInfo.vb create mode 100644 EgwProxy.MultiCncLib/My Project/Resources.Designer.vb create mode 100644 EgwProxy.MultiCncLib/My Project/Resources.resx create mode 100644 EgwProxy.MultiCncLib/My Project/Settings.Designer.vb create mode 100644 EgwProxy.MultiCncLib/My Project/Settings.settings create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.AxesRefR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootModeR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootPhaseEnquiryR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootRebootR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootShutDownR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.CheckHistoryR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.CycleR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncDataR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncEofR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncInitR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncStopR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.EseExR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.EseR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ExeR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetActivePartProgramR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAvailableCustomEventsR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxOriginNumR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxesInfo3R.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxesPositionR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetBinaryFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetBlkNumR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetCNCRegKeyR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetCodeNumberR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetDateTimeR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetGCodeR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetHWKeyR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetMCodeR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetMarkerInfoR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetNcInfo1R.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetNcInfo2R.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOffsetTabRecordIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOptionsR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOriginTabRecordIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetPTechSizesR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetPartProgramLinesR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcInInputR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcVarDoubleR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcVarWordR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcessConfNumR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcessStatusR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSelectedProcessR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSerialNumberR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetServoParR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSysTickR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetToolNamesR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetToolTabRecordIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetUserTabRecordIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetVarJOGR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetVarRCMR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.HoldR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LoadPTechR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LockTableIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSAddDriveR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSChangeFileAttribR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCloseFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCopyFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCreateDirR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCreateFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindCloseR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindFirstR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindNextR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetDriveListR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetDrivePathR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetFileAttribR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetFileSizeR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetHiddenDriveListR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetInfoR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetNumDriveR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetSecurityLevelR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSLongFileNamesR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSOpenFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSReadRecordR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSReloadDriveListR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveDirR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveDriveR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRenameR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSSetFileAttribR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSSetSecurityLevelR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSWriteRecordR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ManagePartProgramR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonAddVariableR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonCloseChannelR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonDeleteVariableR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonGetVariableR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonOpenChannelR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonStartSamplingR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonStopSamplingR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.PutBinaryFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.PutFileR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentAnomalyMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentEmergMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentErrorMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadErrMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryAnomalyMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryEmergMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryErrorMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryLogMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadPartProgramMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadRemapDefinitionsR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarDoubleR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarTextR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarWordR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadWarningMsgR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ResetR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ResetSingleTableIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.RestoreBackupMemoryR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.RestoreSingleTableR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveBackupMemoryR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveSingleTableR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveTablesR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectPartProgramFromDriveR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectPartProgramR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectProcAxisR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectProcessR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetDateTimeR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedManOverR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedRapidOverR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedRateOverR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetIpAddressR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetManMovDirectionR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetMdiStringR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetOffsetTabRecordIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetOriginTabRecordIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcVarDoubleR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcVarWordR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcessModeR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetServoParR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetSpeedRateOverR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetToolTabRecordIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetUserTabRecordIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarJOGR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarRCMR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarUASR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SkipPProgBlockR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SndProcInpDataR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SyncroCycleR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.UnLockTableIIR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteRemapDefinitionsR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarDoubleR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarTextR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarWordBitR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarWordR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/CncLib.OPENcontrol.BootPhaseEnquiryR.datasource create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/OPENcontrol.wsdl create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/Reference.svcmap create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/Reference.vb create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/configuration.svcinfo create mode 100644 EgwProxy.MultiCncLib/Service References/OPENcontrol/configuration91.svcinfo create mode 100644 EgwProxy.MultiCncLib/api/index.md create mode 100644 EgwProxy.MultiCncLib/app.config create mode 100644 EgwProxy.MultiCncLib/articles/intro.md create mode 100644 EgwProxy.MultiCncLib/articles/toc.md create mode 100644 EgwProxy.MultiCncLib/docfx.json create mode 100644 EgwProxy.MultiCncLib/index.md create mode 100644 EgwProxy.MultiCncLib/toc.yml create mode 100644 EgwProxy.OsaiCncLib/ApplicationEvents.vb create mode 100644 EgwProxy.OsaiCncLib/CndexLinkDotNet.dll create mode 100644 EgwProxy.OsaiCncLib/Config/testSam.INI create mode 100644 EgwProxy.OsaiCncLib/EgwProxy.OsaiCncLib.XmlSerializers.dll create mode 100644 EgwProxy.OsaiCncLib/EgwProxy.OsaiCncLib.vbproj create mode 100644 EgwProxy.OsaiCncLib/FrmMain.Designer.vb create mode 100644 EgwProxy.OsaiCncLib/FrmMain.resx create mode 100644 EgwProxy.OsaiCncLib/FrmMain.vb create mode 100644 EgwProxy.OsaiCncLib/Messages/testSam.msg create mode 100644 EgwProxy.OsaiCncLib/Modules/CndexLinkUserVB6.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/ComCNOsai.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/ComCNOsaiVB6.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/ComCnOsaiOpen_Series.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/IniRead.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/IniReader.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/L_File_aux.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/Log.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/M_aspect.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/M_cn_connection.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/M_machine.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/M_state_machine.vb create mode 100644 EgwProxy.OsaiCncLib/Modules/Message.vb create mode 100644 EgwProxy.OsaiCncLib/My Project/Application.Designer.vb create mode 100644 EgwProxy.OsaiCncLib/My Project/Application.myapp create mode 100644 EgwProxy.OsaiCncLib/My Project/AssemblyInfo.vb create mode 100644 EgwProxy.OsaiCncLib/My Project/Resources.Designer.vb create mode 100644 EgwProxy.OsaiCncLib/My Project/Resources.resx create mode 100644 EgwProxy.OsaiCncLib/My Project/Settings.Designer.vb create mode 100644 EgwProxy.OsaiCncLib/My Project/Settings.settings create mode 100644 EgwProxy.OsaiCncLib/My Project/app.manifest create mode 100644 EgwProxy.OsaiCncLib/S10DLLPRJ.dll create mode 100644 EgwProxy.OsaiCncLib/S10WLK32.DLL create mode 100644 EgwProxy.OsaiCncLib/S10WLK32.LIB create mode 100644 EgwProxy.OsaiCncLib/Service References/OPENcontrol.wsdl create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.AxesRefR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootModeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootPhaseEnquiryR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootRebootR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootShutDownR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.CheckHistoryR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.CycleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncDataR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncEofR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncInitR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncStopR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.EseExR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.EseR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ExeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetActivePartProgramR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAvailableCustomEventsR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxOriginNumR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxesInfo3R.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxesPositionR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetBinaryFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetBlkNumR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetCNCRegKeyR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetCodeNumberR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetDateTimeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetGCodeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetHWKeyR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetMCodeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetMarkerInfoR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetNcInfo1R.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetNcInfo2R.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOffsetTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOptionsR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOriginTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetPTechSizesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetPartProgramLinesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcInInputR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcVarDoubleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcVarWordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcessConfNumR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcessStatusR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSelectedProcessR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSerialNumberR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetServoParR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSysTickR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetToolNamesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetToolTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetUserTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetVarJOGR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetVarRCMR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.HoldR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LoadPTechR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LockTableIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSAddDriveR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSChangeFileAttribR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCloseFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCopyFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCreateDirR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCreateFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindCloseR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindFirstR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindNextR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetDriveListR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetDrivePathR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetFileAttribR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetFileSizeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetHiddenDriveListR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetInfoR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetNumDriveR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetSecurityLevelR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSLongFileNamesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSOpenFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSReadRecordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSReloadDriveListR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveDirR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveDriveR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRenameR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSSetFileAttribR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSSetSecurityLevelR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSWriteRecordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ManagePartProgramR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonAddVariableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonCloseChannelR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonDeleteVariableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonGetVariableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonOpenChannelR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonStartSamplingR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonStopSamplingR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.PutBinaryFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.PutFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentAnomalyMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentEmergMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentErrorMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadErrMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryAnomalyMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryEmergMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryErrorMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryLogMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadPartProgramMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadRemapDefinitionsR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarDoubleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarTextR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarWordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadWarningMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ResetR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ResetSingleTableIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.RestoreBackupMemoryR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.RestoreSingleTableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveBackupMemoryR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveSingleTableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveTablesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectPartProgramFromDriveR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectPartProgramR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectProcAxisR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectProcessR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetDateTimeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedManOverR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedRapidOverR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedRateOverR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetIpAddressR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetManMovDirectionR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetMdiStringR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetOffsetTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetOriginTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcVarDoubleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcVarWordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcessModeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetServoParR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetSpeedRateOverR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetToolTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetUserTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarJOGR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarRCMR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarUASR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SkipPProgBlockR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SndProcInpDataR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SyncroCycleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.UnLockTableIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteRemapDefinitionsR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarDoubleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarTextR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarWordBitR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarWordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/OPENcontrol.wsdl create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/Reference.svcmap create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/Reference.vb create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/configuration.svcinfo create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/configuration91.svcinfo create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.AxesRefR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootModeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootPhaseEnquiryR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootRebootR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootShutDownR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.CheckHistoryR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.CycleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncDataR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncEofR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncInitR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncStopR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.EseExR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.EseR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ExeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetActivePartProgramR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAvailableCustomEventsR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxOriginNumR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxesInfo3R.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxesPositionR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetBinaryFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetBlkNumR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetCNCRegKeyR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetCodeNumberR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetDateTimeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetGCodeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetHWKeyR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetMCodeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetMarkerInfoR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetNcInfo1R.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetNcInfo2R.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOffsetTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOptionsR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOriginTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetPTechSizesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetPartProgramLinesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcInInputR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcVarDoubleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcVarWordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcessConfNumR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcessStatusR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSelectedProcessR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSerialNumberR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetServoParR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSysTickR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetToolNamesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetToolTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetUserTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetVarJOGR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetVarRCMR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.HoldR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LoadPTechR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LockTableIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSAddDriveR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSChangeFileAttribR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCloseFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCopyFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCreateDirR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCreateFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindCloseR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindFirstR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindNextR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetDriveListR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetDrivePathR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetFileAttribR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetFileSizeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetHiddenDriveListR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetInfoR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetNumDriveR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetSecurityLevelR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSLongFileNamesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSOpenFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSReadRecordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSReloadDriveListR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveDirR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveDriveR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRenameR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSSetFileAttribR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSSetSecurityLevelR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSWriteRecordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ManagePartProgramR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonAddVariableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonCloseChannelR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonDeleteVariableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonGetVariableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonOpenChannelR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonStartSamplingR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonStopSamplingR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.PutBinaryFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.PutFileR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentAnomalyMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentEmergMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentErrorMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadErrMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryAnomalyMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryEmergMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryErrorMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryLogMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadPartProgramMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadRemapDefinitionsR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarDoubleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarTextR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarWordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadWarningMsgR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ResetR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ResetSingleTableIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.RestoreBackupMemoryR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.RestoreSingleTableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveBackupMemoryR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveSingleTableR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveTablesR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectPartProgramFromDriveR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectPartProgramR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectProcAxisR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectProcessR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetDateTimeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedManOverR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedRapidOverR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedRateOverR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetIpAddressR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetManMovDirectionR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetMdiStringR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetOffsetTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetOriginTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcVarDoubleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcVarWordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcessModeR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetServoParR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetSpeedRateOverR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetToolTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetUserTabRecordIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarJOGR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarRCMR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarUASR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SkipPProgBlockR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SndProcInpDataR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SyncroCycleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.UnLockTableIIR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteRemapDefinitionsR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarDoubleR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarTextR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarWordBitR.datasource create mode 100644 EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarWordR.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/AXORIGNUM1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/DRIVEBASICINFO1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/ERRMSG1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/FILEFINDDATA1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/GETBLKNUMDATA1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/GETINFO1DATA1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/GETINFO2DATA1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/GETINTDATA1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/INPUTINFO1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MAGAZINETABLEII1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MARKERINFO1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MONCUSTOMEVENTINFO1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MONDRYRUN1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MONENTEMOVI1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MSGANOMALY1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MSGEMERGENCY1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MSGERROR1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/MSGLOGS1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/OFFSETTABLEII1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/OPENcontrol.wsdl create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/ORIGINTABLEII1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/POCKETTABLEII1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/PROCDATA1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/REMAPDEF1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/Reference.map create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/Reference.vb create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/SECURDATA1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/SECURITYLEVEL1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/TOOLTABLEII1.datasource create mode 100644 EgwProxy.OsaiCncLib/Web References/WebReference/USERTABLEII1.datasource create mode 100644 EgwProxy.OsaiCncLib/api/index.md create mode 100644 EgwProxy.OsaiCncLib/app.config create mode 100644 EgwProxy.OsaiCncLib/articles/intro.md create mode 100644 EgwProxy.OsaiCncLib/articles/toc.md create mode 100644 EgwProxy.OsaiCncLib/docfx.json create mode 100644 EgwProxy.OsaiCncLib/index.md create mode 100644 EgwProxy.OsaiCncLib/qq create mode 100644 EgwProxy.OsaiCncLib/reg.bat create mode 100644 EgwProxy.OsaiCncLib/testSam.XmlSerializers.dll create mode 100644 EgwProxy.OsaiCncLib/testSam.vshost.exe create mode 100644 EgwProxy.OsaiCncLib/testSam.vshost.exe.config create mode 100644 EgwProxy.OsaiCncLib/toc.yml create mode 100644 EgwProxy.OsaiCncLib/ureg.bat create mode 100644 EgwProxy.SqlDb.Test/App.config create mode 100644 EgwProxy.SqlDb.Test/EgwProxy.SqlDb.Test.csproj create mode 100644 EgwProxy.SqlDb.Test/Program.cs create mode 100644 EgwProxy.SqlDb.Test/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/BackupDb.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/ExportAll.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineEvList.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineFluxLog.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineProdData.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineSigLog.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/ImportAll.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/MoonPro_IOB_ISF_Pama.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/ResetPodlMes.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/SyncPodlToMachine.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/Test.sql create mode 100644 EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/ext_stp_OrdState.sql create mode 100644 EgwProxy.SqlDb.Test/TestSetup.cs create mode 100644 EgwProxy.SqlDb.Test/conf/.placeholder create mode 100644 EgwProxy.SqlDb.Test/conf/testSetup.json create mode 100644 EgwProxy.SqlDb.Test/packages.config create mode 100644 EgwProxy.SqlDb.Test/postBuildTgt.bat create mode 100644 EgwProxy.SqlDb.Test/setupTgt.bat create mode 100644 EgwProxy.SqlDb/App.config create mode 100644 EgwProxy.SqlDb/Controllers/DbController.cs create mode 100644 EgwProxy.SqlDb/DbModels/ActListModel.cs create mode 100644 EgwProxy.SqlDb/DbModels/ActTypeModel.cs create mode 100644 EgwProxy.SqlDb/DbModels/MachFluxLogModel.cs create mode 100644 EgwProxy.SqlDb/DbModels/MachPODLModel.cs create mode 100644 EgwProxy.SqlDb/DbModels/MachProdDataModel.cs create mode 100644 EgwProxy.SqlDb/DbModels/MachSigLogModel.cs create mode 100644 EgwProxy.SqlDb/DbModels/MesPODLLastModel.cs create mode 100644 EgwProxy.SqlDb/DbModels/MesPODLReqModel.cs create mode 100644 EgwProxy.SqlDb/DbModels/SyncStateModel.cs create mode 100644 EgwProxy.SqlDb/EgwProxy.SqlDb.csproj create mode 100644 EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.Designer.cs create mode 100644 EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.cs create mode 100644 EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.resx create mode 100644 EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.Designer.cs create mode 100644 EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.cs create mode 100644 EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.resx create mode 100644 EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.Designer.cs create mode 100644 EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.cs create mode 100644 EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.resx create mode 100644 EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.Designer.cs create mode 100644 EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.cs create mode 100644 EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.resx create mode 100644 EgwProxy.SqlDb/Migrations/ConfigurationInit.cs create mode 100644 EgwProxy.SqlDb/MyDbInitializer.cs create mode 100644 EgwProxy.SqlDb/Properties/AssemblyInfo.cs create mode 100644 EgwProxy.SqlDb/SqlScript/AddFunc.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_BackupDb.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_ExportAll.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_GetMachineEvList.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_GetMachineFluxLog.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_GetMachineProdData.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_GetMachineSigLog.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_ImportAll.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_ResetPodlMes.sql create mode 100644 EgwProxy.SqlDb/StoredProc/stp_SyncPodlToMachine.sql create mode 100644 EgwProxy.SqlDb/SyncStateDbContext.cs create mode 100644 EgwProxy.SqlDb/docfx.json create mode 100644 EgwProxy.SqlDb/index.md create mode 100644 EgwProxy.SqlDb/packages.config create mode 100644 EgwProxy.SqlDb/toc.yml diff --git a/EgwProxy.Ftp.Test/App.config b/EgwProxy.Ftp.Test/App.config new file mode 100644 index 0000000..b36029a --- /dev/null +++ b/EgwProxy.Ftp.Test/App.config @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Ftp.Test/EgwProxy.Ftp.Test.csproj b/EgwProxy.Ftp.Test/EgwProxy.Ftp.Test.csproj new file mode 100644 index 0000000..dfdd466 --- /dev/null +++ b/EgwProxy.Ftp.Test/EgwProxy.Ftp.Test.csproj @@ -0,0 +1,90 @@ + + + + + Debug + AnyCPU + {A655A6AC-5997-46F9-9752-8C621B80516C} + Exe + EgwProxy.Ftp.Test + EgwProxy.Ftp.Test + v4.6.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\FluentFTP.51.1.0\lib\net462\FluentFTP.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.3.1.32\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + + + + + ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + + + + + + + + + + + + + + + + + Always + + + Always + + + + + + + Always + + + + + + + + {35d95ed8-e48a-434d-a305-a83e48c8fc6f} + EgwProxy.Ftp + + + + \ No newline at end of file diff --git a/EgwProxy.Ftp.Test/Program.cs b/EgwProxy.Ftp.Test/Program.cs new file mode 100644 index 0000000..440e526 --- /dev/null +++ b/EgwProxy.Ftp.Test/Program.cs @@ -0,0 +1,513 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text; +using static System.Net.Mime.MediaTypeNames; + +namespace EgwProxy.Ftp.Test +{ + internal class Program + { + #region Protected Methods + + /// + /// legge conf in formato stringa + /// + /// + /// + protected static string ReadSetting(string key) + { + string answ = ""; + try + { + answ = $"{ConfigurationManager.AppSettings[key]}" ?? ""; + } + catch (Exception exc) + { + Console.Write("Eccezione in ReadSettings"); + Console.Write(exc.Message); + } + return answ; + } + + #endregion Protected Methods + + #region Private Fields + + /// + /// Helper separatore dash + /// + private const string separator = "------------------------"; + + private static Stopwatch sw = new Stopwatch(); + + #endregion Private Fields + + #region Private Methods + + /// + /// Programma principale + /// + /// + private static void Main(string[] args) + { + Console.WriteLine(separator); + Console.WriteLine("Test FTP Client"); + Console.WriteLine(separator); + Console.WriteLine(); + string exePath = System.Reflection.Assembly.GetExecutingAssembly().Location; + string BaseDirectory = System.IO.Path.GetDirectoryName(exePath); + string testFile = Path.Combine(BaseDirectory, ReadSetting("testFile")); + Manager ftpClient = new Manager("", "", "", "", false); + if (!string.IsNullOrEmpty(testFile)) + { + Console.WriteLine(separator); + Console.WriteLine($"Mode json ({testFile})"); + Console.WriteLine(separator); + Console.WriteLine(); + if (File.Exists(testFile)) + { + var rawData = File.ReadAllText(testFile); + if (!string.IsNullOrEmpty(rawData)) + { + TestSetup testConf = new TestSetup(); + try + { + testConf = JsonConvert.DeserializeObject(rawData); + } + catch + { } + // setup server + ftpClient = new Manager(testConf.server, testConf.user, testConf.password, testConf.rawCert, testConf.skipCert); + serverTest(ftpClient); + + bool doRepeat = true; + while (doRepeat) + { + // eseguo per ogni step + foreach (var item in testConf.steps) + { + Console.WriteLine($"------ Step {item.id} | {item.description} ------"); + string esitoStep = ""; + switch (item.action) + { + case stepType.checkDir: + if (item.paramList != null && item.paramList.Count > 0) + { + string dir2check = item.paramList[0]; + var dirCheckExists = ftpClient.DirExists(dir2check); + esitoStep = dirCheckExists ? $"Directory {dir2check} found!" : $"Directory {dir2check} NOT found!"; + } + else + { + esitoStep = "Error: missing parameter!"; + } + break; + + case stepType.checkFile: + if (item.paramList != null && item.paramList.Count > 0) + { + string file2check = item.paramList[0]; + var dirCheckExists = ftpClient.FileExists(file2check); + esitoStep = dirCheckExists ? $"File {file2check} found!" : $"File {file2check} NOT found!"; + } + else + { + esitoStep = "Error: missing parameter!"; + } + break; + + case stepType.createDir: + if (item.paramList != null && item.paramList.Count > 0) + { + string dir2check = item.paramList[0]; + var preTest = ftpClient.DirExists(dir2check); + if (preTest) + { + esitoStep = "Error: Folder already exists!"; + } + else + { + var dirCreate = ftpClient.CreateDir(dir2check); + esitoStep = dirCreate ? $"Directory {dir2check} created!" : $"Error: {dir2check} NOT created!"; + } + } + else + { + esitoStep = "Error: missing parameter!"; + } + break; + + case stepType.delDir: + if (item.paramList != null && item.paramList.Count > 0) + { + string dir2check = item.paramList[0]; + var preTest = ftpClient.DirExists(dir2check); + if (preTest) + { + var dirDelete = ftpClient.DeleteDir(dir2check); + esitoStep = dirDelete ? $"Directory {dir2check} deleted!" : $"Error: {dir2check} NOT deleted!"; + } + else + { + esitoStep = "Error: Folder doesn't exists, delete not possible!"; + } + } + else + { + esitoStep = "Error: missing parameter!"; + } + break; + + case stepType.delFile: + if (item.paramList != null && item.paramList.Count > 0) + { + string file2check = item.paramList[0]; + var preTest = ftpClient.FileExists(file2check); + if (preTest) + { + var dirDelete = ftpClient.DeleteFile(file2check); + esitoStep = dirDelete ? $"File {file2check} deleted!" : $"Error: {file2check} NOT deleted!"; + } + else + { + esitoStep = "Error: File doesn't exists, delete not possible!"; + } + } + else + { + esitoStep = "Error: missing parameter!"; + } + break; + + case stepType.downloadDir: + if (item.paramList != null && item.paramList.Count > 1) + { + string dir2check = item.paramList[0]; + string localDir = Path.Combine(BaseDirectory, item.paramList[1]); + var preTest = ftpClient.DirExists(dir2check); + if (preTest) + { + var dirDelete = ftpClient.GetDir(localDir, dir2check); + esitoStep = dirDelete ? $"Directory {dir2check} downloaded!" : $"Error: {dir2check} NOT downloaded!"; + } + else + { + esitoStep = "Error: Folder doesn't exists, download not possible!"; + } + } + else + { + esitoStep = "Error: missing parameters!"; + } + break; + + case stepType.downloadFile: + if (item.paramList != null && item.paramList.Count > 1) + { + string dir2check = item.paramList[0]; + string localDir = Path.Combine(BaseDirectory, item.paramList[1]); + var preTest = ftpClient.DirExists(dir2check); + if (preTest) + { + var dirDelete = ftpClient.GetDir(localDir, dir2check); + esitoStep = dirDelete ? $"Directory {dir2check} downloaded!" : $"Error: {dir2check} NOT downloaded!"; + } + else + { + esitoStep = "Error: Folder doesn't exists, download not possible!"; + } + } + else + { + esitoStep = "Error: missing parameters!"; + } + break; + + case stepType.uploadDir: + if (item.paramList != null && item.paramList.Count > 1) + { + string remoteDir = item.paramList[0]; + string localDir = Path.Combine(BaseDirectory, item.paramList[1]); + var dirUploaded = ftpClient.SendDir(localDir, remoteDir); + esitoStep = dirUploaded ? $"Directory {remoteDir} uploaded!" : $"Error: {remoteDir} NOT uploaded!"; + } + else + { + esitoStep = "Error: missing parameters!"; + } + break; + + case stepType.uploadFile: + if (item.paramList != null && item.paramList.Count > 1) + { + string remotePath = item.paramList[0]; + string localPath = Path.Combine(BaseDirectory, item.paramList[1]); + var fileUploaded = ftpClient.SendFile(localPath, remotePath); + esitoStep = fileUploaded ? $"File {remotePath} uploaded!" : $"Error: {remotePath} NOT uploaded!"; + } + else + { + esitoStep = "Error: missing parameters!"; + } + break; + + case stepType.listContent: + if (item.paramList != null && item.paramList.Count > 0) + { + string remoteDir = item.paramList[0]; + var preTest = ftpClient.DirExists(remoteDir); + if (preTest) + { + var listResult = ftpClient.ListDir(remoteDir, false); + Console.WriteLine($"Content of dir {remoteDir}:"); + foreach (var itemList in listResult) + { + Console.WriteLine(itemList); + } + } + else + { + esitoStep = "Error: Folder doesn't exists, list not possible!"; + } + } + else + { + esitoStep = "Error: missing parameter!"; + } + break; + + case stepType.genRandomDir: + if (item.paramList != null && item.paramList.Count > 0) + { + sw.Restart(); + // crea una struttura ricorsiva di 3 livelli con 20 file + // con contenuto random ogni livello + string localDir = Path.Combine(BaseDirectory, item.paramList[0]); + if (!Directory.Exists(localDir)) + { + Directory.CreateDirectory(localDir); + } + // ora vado a creare 3 livelli di folder + int numDepth = 3; + int numFile = 20; + int numRows = 1000; + string baseDir = localDir; + for (int iDir = 0; iDir < numDepth; iDir++) + { + DateTime adesso = DateTime.Now; + string newSub = $"{adesso:HHmmss_fff}"; + // sposto puntamento folder... + baseDir = Path.Combine(baseDir, newSub); + if (!Directory.Exists(baseDir)) + { + Directory.CreateDirectory(baseDir); + } + for (int iFile = 0; iFile < numFile; iFile++) + { + string filePath = Path.Combine(baseDir, $"File_{iFile:000}.txt"); + using (StreamWriter writer = new StreamWriter(filePath)) + { + StringBuilder sb = new StringBuilder(); + // compongo un testo di numRow righe da GUID... + for (int i = 0; i < numRows; i++) + { + var newId = Guid.NewGuid(); + sb.AppendLine($"{DateTime.Now:HH:mm:ss.ffffff} | {newId} | {newId}"); + } + writer.WriteLine(sb.ToString()); + } + } + } + sw.Stop(); + esitoStep = $"Completata generazione test data: {sw.ElapsedMilliseconds:N1} ms"; + } + break; + + case stepType.mirrorDirL2R: + if (item.paramList != null && item.paramList.Count > 1) + { + sw.Restart(); + string localDir = Path.Combine(BaseDirectory, item.paramList[0]); + string remoteDir = item.paramList[1]; + var preTest = ftpClient.DirExists(remoteDir); + if (!preTest) + { + ftpClient.CreateDir(remoteDir); + } + + var mirrorDone = ftpClient.SendDir(localDir, remoteDir, FluentFTP.FtpFolderSyncMode.Mirror); + esitoStep = mirrorDone ? $"Directory {localDir} mirrored L2R!" : $"Error: {remoteDir} NOT mirrored!"; + } + else + { + esitoStep = "Error: missing parameters!"; + } + sw.Stop(); + esitoStep = $"Completato mirror L2R: {sw.ElapsedMilliseconds:N1} ms"; + break; + + case stepType.mirrorDirR2L: + if (item.paramList != null && item.paramList.Count > 1) + { + sw.Restart(); + string remoteDir = item.paramList[0]; + string localDir = Path.Combine(BaseDirectory, item.paramList[1]); + var preTest = ftpClient.DirExists(remoteDir); + if (preTest) + { + var mirrorDone = ftpClient.GetDir(localDir, remoteDir, FluentFTP.FtpFolderSyncMode.Mirror); + esitoStep = mirrorDone ? $"Directory {remoteDir} mirrored R2L!" : $"Error: {remoteDir} NOT mirrored!"; + } + else + { + esitoStep = "Dir remota non trovata!"; + } + } + else + { + esitoStep = "Error: missing parameters!"; + } + sw.Stop(); + esitoStep = $"Completato mirror R2L: {sw.ElapsedMilliseconds:N1} ms"; + break; + + case stepType.delFileList: + if (item.paramList != null && item.paramList.Count > 1) + { + sw.Restart(); + string remoteDir = item.paramList[0]; + string fileSearch= item.paramList[1]; + List resList = ftpClient.GetRemoteList(remoteDir, true); + // cerco solo i file di tipo fileSearch + List resListFilt = new List(); + foreach (var flItem in resList) + { + if(flItem.Type == FluentFTP.FtpObjectType.File && flItem.Name.EndsWith(fileSearch)) + { + resListFilt.Add(flItem); + } + } + // elimino quelli trovati + if (resListFilt.Count>0) + { + var fList = resListFilt.Select(x => x.FullName).ToList(); + var numDel = ftpClient.DeleteFileList(fList); + // indico esito eliminazione + esitoStep = $"Eliminati {numDel}/{resListFilt.Count} file"; + } + else + { + esitoStep = "File non trovati!"; + } + } + else + { + esitoStep = "Error: missing parameters!"; + } + sw.Stop(); + esitoStep += $"{Environment.NewLine}Completato GetRemotList : {sw.ElapsedMilliseconds:N1} ms"; + break; + + default: + break; + } + + Console.WriteLine(esitoStep); + Console.WriteLine($"------ Done Step {item.id} ------"); + Console.WriteLine(); + Console.WriteLine("Press a key to continue..."); + Console.ReadKey(); + } + Console.WriteLine(); + Console.WriteLine("Do you want to repeat from the beginnning? esc to close"); + ConsoleKeyInfo answ = Console.ReadKey(); + doRepeat = answ.Key != ConsoleKey.Escape; + } + } + } + } + // test base su server steamware + else + { + Console.WriteLine(separator); + Console.WriteLine("Mode: base"); + Console.WriteLine(separator); + Console.WriteLine(); + + string sSkipCert = ReadSetting("skipCert"); + bool skipCert = false; + bool.TryParse(sSkipCert, out skipCert); + ftpClient = new Manager(ReadSetting("server"), ReadSetting("userName"), ReadSetting("passwd"), ReadSetting("rawCert"), skipCert); + serverTest(ftpClient); + + Console.WriteLine("--- Folder ---"); + var testExists = ftpClient.DirExists($"data/test_folder"); + if (testExists) + { + Console.WriteLine("Folder already exists!"); + } + else + { + Console.WriteLine("--- Create folder ---"); + var testCreate = ftpClient.CreateDir($"data/test_folder"); + Console.WriteLine(); + } + + Console.WriteLine("Contenuto folder remota: "); + var folderContent = ftpClient.ListDir("data/", true); + foreach (var item in folderContent) + { + Console.WriteLine(item); + } + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + Console.ReadKey(); + + Console.WriteLine("--- Upload file ---"); + ftpClient.SendFile("test/FileProva.txt", "data/test_folder/FileProva.txt"); + Console.WriteLine("Contenuto folder remota: "); + folderContent = ftpClient.ListDir("data/", true); + foreach (var item in folderContent) + { + Console.WriteLine(item); + } + + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + Console.ReadKey(); + + Console.WriteLine("--- Download File ---"); + + ftpClient.GetFile("test/FileProva_02.txt", "data/test_folder/FileProva.txt"); + Console.WriteLine("Contenuto folder remota: "); + folderContent = ftpClient.ListDir("data/", true); + foreach (var item in folderContent) + { + Console.WriteLine(item); + } + + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + Console.ReadKey(); + } + } + + private static void serverTest(Manager ftpClient) + { + Console.WriteLine(separator); + var testServer = ftpClient.ServerOk(); + Console.WriteLine($"Test connessione: esito {testServer}"); + var srvType = ftpClient.ServerType(); + Console.WriteLine($"Server: {srvType}"); + Console.WriteLine(separator); + Console.WriteLine(); + } + + #endregion Private Methods + } +} \ No newline at end of file diff --git a/EgwProxy.Ftp.Test/Properties/AssemblyInfo.cs b/EgwProxy.Ftp.Test/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..2230165 --- /dev/null +++ b/EgwProxy.Ftp.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("EgwProxy.Ftp.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.Ftp.Test")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a655a6ac-5997-46f9-9752-8c621b80516c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.Ftp.Test/TestSetup.cs b/EgwProxy.Ftp.Test/TestSetup.cs new file mode 100644 index 0000000..fc7f167 --- /dev/null +++ b/EgwProxy.Ftp.Test/TestSetup.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.Ftp.Test +{ + public class TestSetup + { + public string server { get; set; } = ""; + public string user { get; set; } = ""; + public string password { get; set; } = ""; + public string rawCert { get; set; } = ""; + public bool skipCert { get; set; } = false; + public List steps { get; set; } + } + + public class singleStep + { + public string id { get; set; } = "00"; + public string description { get; set; } = "00"; + public stepType action { get; set; } = stepType.checkDir; + + public List paramList { get; set; } = new List(); + } + + public enum stepType + { + checkDir, + checkFile, + createDir, + delDir, + delFile, + delFileList, + downloadDir, + downloadFile, + genRandomDir, + listContent, + mirrorDirL2R, + mirrorDirR2L, + uploadDir, + uploadFile + } + +} diff --git a/EgwProxy.Ftp.Test/conf/.placeholder b/EgwProxy.Ftp.Test/conf/.placeholder new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/EgwProxy.Ftp.Test/conf/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/EgwProxy.Ftp.Test/conf/testSetup-ftp.steamware.net.json b/EgwProxy.Ftp.Test/conf/testSetup-ftp.steamware.net.json new file mode 100644 index 0000000..f50719b --- /dev/null +++ b/EgwProxy.Ftp.Test/conf/testSetup-ftp.steamware.net.json @@ -0,0 +1,76 @@ +{ + "server": "ftp.steamware.net", + "user": "testftpuser", + "password": "we4reFromB3rghem!", + "rawCert": "", + "skipCert": true, + "steps": [ + { + "id": "01", + "description": "Test base directory", + "action": "checkDir", + "paramList": [ + "data/" + ] + }, + { + "id": "02", + "description": "Create directory", + "action": "createDir", + "paramList": [ + "data/test_directory" + ] + }, + { + "id": "03", + "description": "Upload File", + "action": "uploadFile", + "paramList": [ + "data/test_directory/FileProva.txt", + "test/FileProva.txt" + ] + }, + { + "id": "04", + "description": "Browse Directory", + "action": "listContent", + "paramList": [ + "data/test_directory/" + ] + }, + { + "id": "05", + "description": "Upload File", + "action": "uploadFile", + "paramList": [ + "data/test_directory/FileProva_02.txt", + "test/FileProva.txt" + ] + }, + { + "id": "06", + "description": "Browse Directory", + "action": "listContent", + "paramList": [ + "data/test_directory/" + ] + }, + { + "id": "07", + "description": "Download Directory", + "action": "downloadDir", + "paramList": [ + "data/test_directory/", + "temp/mirror" + ] + }, + { + "id": "08", + "description": "Delete Remote Directory", + "action": "delDir", + "paramList": [ + "data/test_directory/" + ] + } + ] +} \ No newline at end of file diff --git a/EgwProxy.Ftp.Test/conf/testSetup.json b/EgwProxy.Ftp.Test/conf/testSetup.json new file mode 100644 index 0000000..b70e093 --- /dev/null +++ b/EgwProxy.Ftp.Test/conf/testSetup.json @@ -0,0 +1,44 @@ +{ + "server": "egw-tscale-04", + "user": "testftpuser", + "password": "we4reFromB3rghem!", + "rawCert": "", + "skipCert": true, + "steps": [ + { + "id": "01", + "description": "Generate Local Folder Data", + "action": "delFileList", + "paramList": [ + "ftpdata/syncfolder/", + "File_000.txt" + ] + }, + //{ + // "id": "02", + // "description": "Mirror Local 2 Remote Directory", + // "action": "mirrorDirL2R", + // "paramList": [ + // "temp\\localsource", + // "ftpdata/syncfolder" + // ] + //}, + { + "id": "03", + "description": "Mirror Remote 2 Local Directory", + "action": "mirrorDirR2L", + "paramList": [ + "ftpdata/syncfolder", + "temp\\localdest" + ] + }, + //{ + // "id": "04", + // "description": "Delete Remote Directory", + // "action": "delDir", + // "paramList": [ + // "ftpdata/syncfolder" + // ] + //} + ] +} \ No newline at end of file diff --git a/EgwProxy.Ftp.Test/packages.config b/EgwProxy.Ftp.Test/packages.config new file mode 100644 index 0000000..c69414f --- /dev/null +++ b/EgwProxy.Ftp.Test/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Ftp.Test/test/FileProva.txt b/EgwProxy.Ftp.Test/test/FileProva.txt new file mode 100644 index 0000000..94a4fa6 --- /dev/null +++ b/EgwProxy.Ftp.Test/test/FileProva.txt @@ -0,0 +1 @@ +File di prova \ No newline at end of file diff --git a/EgwProxy.Ftp/EgwProxy.Ftp.csproj b/EgwProxy.Ftp/EgwProxy.Ftp.csproj new file mode 100644 index 0000000..d885fbb --- /dev/null +++ b/EgwProxy.Ftp/EgwProxy.Ftp.csproj @@ -0,0 +1,66 @@ + + + + + Debug + AnyCPU + {35D95ED8-E48A-434D-A305-A83E48C8FC6F} + Library + Properties + EgwProxy.Ftp + EgwProxy.Ftp + v4.6.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\FluentFTP.51.1.0\lib\net462\FluentFTP.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.3.1.32\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\NLog.5.3.1\lib\net46\NLog.dll + + + + + + + ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Ftp/Manager.cs b/EgwProxy.Ftp/Manager.cs new file mode 100644 index 0000000..524f3ea --- /dev/null +++ b/EgwProxy.Ftp/Manager.cs @@ -0,0 +1,530 @@ +using FluentFTP; +using NLog; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Security; + +namespace EgwProxy.Ftp +{ + /// + /// Client per operazioni FTP, basato su FluentFTP: https://github.com/robinrodricks/FluentFTP https://github.com/robinrodricks/FluentFTP/wiki/Quick-Start-Example + /// + public class Manager + { + #region Public Constructors + + /// + /// Inizializzazione di oggetto per comunicazione FTP + /// + /// + /// + /// + /// + /// + public Manager(string server, string userName, string passwd, string rawCert, bool skipCert) + { + _server = server; + _userName = userName; + _passwd = passwd; + _skipCert = skipCert; + _rawCert = rawCert; + if (!string.IsNullOrEmpty(server)) + { + // se ho user/pwd è autenticato... + if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(passwd)) + { + client = new FtpClient(server, userName, passwd); + } + //.. altrimenti anonimo... + else + { + client = new FtpClient(server); + } + client.Config.RetryAttempts = 3; + IsConfigured = true; + } + } + + #endregion Public Constructors + + #region Public Properties + + public bool IsConfigured { get; set; } = false; + + #endregion Public Properties + + #region Public Methods + + /// + /// Creazione directory remota + /// + /// Nome directory remota da creare (ad es: @"/public_html/videos") + public bool CreateDir(string remoteDir) + { + bool answ = false; + try + { + tryConnect(); + // upload della folder + files, cancellazione extra files = mirroring + answ = client.CreateDirectory(remoteDir); + } + catch (Exception exc) + { + Log.Error($"Eccezione in CreateDir{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Eliminazionedirectory remota + /// + /// Nome directory remota da eliminare + public bool DeleteDir(string remoteDir) + { + bool answ = false; + try + { + tryConnect(); + // Elimina folder + client.DeleteDirectory(remoteDir); + answ = true; + } + catch (Exception exc) + { + Log.Error($"Eccezione in DeleteDir{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Eliminazione file remoto + /// + /// Nome file remoto da eliminare + public bool DeleteFile(string remoteFile) + { + bool answ = false; + tryConnect(); + try + { + // Elimina folder + client.DeleteFile(remoteFile); + answ = true; + } + catch (Exception exc) + { + Log.Error($"Eccezione in DeleteFile{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Eliminazione lista di files remoti + /// + /// Lista file remoti da eliminare + public int DeleteFileList(List remFileList) + { + int numDone = 0; + tryConnect(); + try + { + foreach (var remoteFile in remFileList) + { + // Elimina folder + client.DeleteFile(remoteFile); + // verifico se sia presente... + bool fExist = client.FileExists(remoteFile); + if (!fExist) + { + numDone++; + } + } + } + catch (Exception exc) + { + Log.Error($"Eccezione in DeleteFileList{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return numDone; + } + + /// + /// Verifica esistenza directory su server FTP remoto + /// + /// Percorso remoto da testare (ad es "/htdocs/extras/") + /// + public bool DirExists(string remotePath) + { + bool answ = false; + try + { + tryConnect(); + answ = client.DirectoryExists(remotePath); + } + catch (Exception exc) + { + Log.Error($"Eccezione in DirExists{Environment.NewLine}{exc}"); + } + // c chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Verifica esistenza file su server FTP remoto + /// + /// Percorso remoto da testare (ad es "/htdocs/big2.txt") + /// + public bool FileExists(string remotePath) + { + bool answ = false; + try + { + tryConnect(); + answ = client.FileExists(remotePath); + } + catch (Exception exc) + { + Log.Error($"Eccezione in FileExists{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Scaricamento intera directory, modalità MIRROR + /// + /// Path directory da inviare (ad es:@"C:\website\videos\") + /// Nome remoto file per caricamento (ad es: @"/public_html/videos") + /// Modalità di sync (default = mirror) + public bool GetDir(string localDir, string remoteDir, FtpFolderSyncMode syncMode = FtpFolderSyncMode.Mirror) + { + bool answ = false; + try + { + tryConnect(); + // download della folder secondo modalità sync + var result = client.DownloadDirectory(localDir, remoteDir, syncMode); + //answ = (result != null && result.Count > 0); + answ = result != null && result.Where(x => !x.IsSuccess).Count() == 0; + } + catch (Exception exc) + { + Log.Error($"Eccezione in GetDir{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Download singolo file + /// + /// Path locale del file da inviare (ad es: @"C:\MyVideo.mp4") + /// NOme remoto file per caricamento (ad es: "/htdocs/MyVideo.mp4") + public bool GetFile(string fileName, string remoteName) + { + bool answ = false; + try + { + tryConnect(); + // effettuo caricamento puntuale + var result = client.DownloadFile(fileName, remoteName); + answ = result == FtpStatus.Success; + } + catch (Exception exc) + { + Log.Error($"Eccezione in GetFile{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Mostra contenuto directory remota + /// + /// Nome directory remota da leggere con (ad es: @"/public_html/videos") + /// Indica se fare search ricorsivo + public List GetRemoteList(string remoteDir, bool recurse) + { + List answ = new List(); + try + { + tryConnect(); + // recupero listing remoto directory + FtpListItem[] dirContent; + if (recurse) + { + dirContent = client.GetListing(remoteDir, FtpListOption.Recursive); + } + else + { + dirContent = client.GetListing(remoteDir); + } + answ = dirContent.ToList(); + } + catch (Exception exc) + { + Log.Error($"Eccezione in GetRemoteList{Environment.NewLine}{exc}"); + } + client.Disconnect(); + // chiudo! + return answ; + } + + /// + /// Mostra contenuto directory remota + /// + /// Nome directory remota da leggere (ad es: @"/public_html/videos") + /// Indica se fare search ricorsivo + public List ListDir(string remoteDir, bool recurse) + { + List answ = new List(); + try + { + tryConnect(); + // upload della folder + files, cancellazione extra files = mirroring + FtpListItem[] dirContent; + if (recurse) + { + dirContent = client.GetListing(remoteDir, FtpListOption.Recursive); + } + else + { + dirContent = client.GetListing(remoteDir); + } + answ = dirContent.Select(x => $"{x.Type} - {x.Name}").ToList(); + } + catch (Exception exc) + { + Log.Error($"Eccezione in ListDir{Environment.NewLine}{exc}"); + } + client.Disconnect(); + // chiudo! + return answ; + } + + /// + /// Caricamento intera directory, modalità MIRROR + /// + /// Path directory da inviare (ad es:@"C:\website\videos\") + /// Nome remoto file per caricamento (ad es: @"/public_html/videos") + /// Modalità di sync (default = mirror) + public List MirrorLocalDir(string localDir, string remoteDir, FtpFolderSyncMode syncMode = FtpFolderSyncMode.Mirror) + { + List jobResult = new List(); + try + { + tryConnect(); + jobResult = client.UploadDirectory(localDir, remoteDir, syncMode); + //answ = (result != null && result.Count > 0); + } + catch (Exception exc) + { + Log.Error($"Eccezione in MirrorLocalDir{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return jobResult; + } + + /// + /// Scaricamento intera directory, modalità MIRROR, con restituzione elenco esiti + /// + /// Path directory da inviare (ad es:@"C:\website\videos\") + /// Nome remoto file per caricamento (ad es: @"/public_html/videos") + /// Modalità di sync (default = mirror) + public List MirrorRemoteDir(string localDir, string remoteDir, FtpFolderSyncMode syncMode = FtpFolderSyncMode.Mirror) + { + List jobResult = new List(); + try + { + tryConnect(); + jobResult = client.DownloadDirectory(localDir, remoteDir, syncMode); + } + catch (Exception exc) + { + Log.Error($"Eccezione in mirrorRemoteDir{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return jobResult; + } + + /// + /// Caricamento intera directory, modalità MIRROR + /// + /// Path directory da inviare (ad es:@"C:\website\videos\") + /// Nome remoto file per caricamento (ad es: @"/public_html/videos") + /// Modalità di sync (default = mirror) + public bool SendDir(string localDir, string remoteDir, FtpFolderSyncMode syncMode = FtpFolderSyncMode.Mirror) + { + bool answ = false; + try + { + tryConnect(); + //var result = client.UploadDirectory(localDir, remoteDir, FtpFolderSyncMode.Mirror, FtpRemoteExists.OverwriteInPlace, FtpVerify.Retry); + // upload della folder + files, cancellazione extra files = mirroring + var result = client.UploadDirectory(localDir, remoteDir, syncMode); + //answ = (result != null && result.Count > 0); + answ = result != null && result.Where(x => !x.IsSuccess).Count() == 0; + } + catch (Exception exc) + { + Log.Error($"Eccezione in SendDir{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Caricamento singolo file + /// + /// Path locale del file da inviare (ad es: @"C:\MyVideo.mp4") + /// NOme remoto file per caricamento (ad es: "/htdocs/MyVideo.mp4") + public bool SendFile(string fileName, string remoteName) + { + bool answ = false; + try + { + tryConnect(); + tryConnect(); + // effettuo caricamento puntuale + var result = client.UploadFile(fileName, remoteName); + answ = result == FtpStatus.Success; + // se insuccesso --> controllo se ci sia file... + if (!answ) + { + answ = FileExists(remoteName); + } + } + catch (Exception exc) + { + Log.Error($"Eccezione in SendFile{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Verifica connessione con server FTP remoto + /// + /// + public bool ServerOk() + { + bool answ = false; + try + { + tryConnect(); + answ = client.IsConnected; + } + catch (Exception exc) + { + Log.Error($"Eccezione in ServerOk{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + /// + /// Restituisce tipo server remoto + /// + /// + public string ServerType() + { + string answ = ""; + try + { + tryConnect(); + FtpServer srvType = client.ServerType; + answ = $"{srvType}"; + } + catch (Exception exc) + { + Log.Error($"Eccezione in ServerType{Environment.NewLine}{exc}"); + } + // chiudo! + client.Disconnect(); + return answ; + } + + #endregion Public Methods + + #region Protected Fields + + protected bool _skipCert = false; + + #endregion Protected Fields + + #region Protected Properties + + protected string _passwd { get; set; } = ""; + protected string _rawCert { get; set; } = ""; + protected string _server { get; set; } = ""; + protected string _userName { get; set; } = ""; + + #endregion Protected Properties + + #region Private Fields + + private static Logger Log = LogManager.GetCurrentClassLogger(); + + #endregion Private Fields + + #region Private Properties + + private FtpClient client { get; set; } = new FtpClient(); + + #endregion Private Properties + + #region Private Methods + + private void Client_ValidateCertificate(FluentFTP.Client.BaseClient.BaseFtpClient control, FtpSslValidationEventArgs e) + { + if (e.PolicyErrors == SslPolicyErrors.None || _skipCert || e.Certificate.GetRawCertDataString() == _rawCert) + { + e.Accept = true; + } + else + { + Log.Error($"{e.PolicyErrors}"); + Log.Error($"Cert:{Environment.NewLine}{e.Certificate}"); + Log.Error($"RawString:{Environment.NewLine}{e.Certificate.GetRawCertDataString()}"); + throw new Exception($"{e.PolicyErrors}{Environment.NewLine}{e.Certificate.GetRawCertDataString()}"); + } + } + + private void tryConnect() + { + // connect to the server and automatically detect working FTP settings + if (!client.IsConnected) + { + var profiles = client.AutoDetect(true, true); +#if false + // if any profiles are found, print the code to the console + if (profiles.Count > 0) + { + var code = profiles[0].ToCode(); + Console.WriteLine(code); + } +#endif + client.ValidateCertificate += Client_ValidateCertificate; + client.AutoConnect(); + } + } + + #endregion Private Methods + } +} \ No newline at end of file diff --git a/EgwProxy.Ftp/Properties/AssemblyInfo.cs b/EgwProxy.Ftp/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..abba72d --- /dev/null +++ b/EgwProxy.Ftp/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("EgwProxy.Ftp")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.Ftp")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("35d95ed8-e48a-434d-a305-a83e48c8fc6f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.Ftp/app.config b/EgwProxy.Ftp/app.config new file mode 100644 index 0000000..48bfc70 --- /dev/null +++ b/EgwProxy.Ftp/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Ftp/docfx.json b/EgwProxy.Ftp/docfx.json new file mode 100644 index 0000000..435e349 --- /dev/null +++ b/EgwProxy.Ftp/docfx.json @@ -0,0 +1,69 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "*.csproj", + "*.vbproj" + ], + "cwd": ".", + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "obj/api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml" + ], + "cwd": "obj" + }, + { + "files": [ + "api/*.md", + "articles/**.md", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ] + } +} \ No newline at end of file diff --git a/EgwProxy.Ftp/index.md b/EgwProxy.Ftp/index.md new file mode 100644 index 0000000..2610c65 --- /dev/null +++ b/EgwProxy.Ftp/index.md @@ -0,0 +1,17 @@ +# EgwProxy.Ftp Library + +Documentazione relativa alla libreria di interfaccia via FTP con server generici. + +Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo + +https://nexus.steamware.net/#browse/browse:nuget-hosted + +Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi. + +## Articles + +Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles + +## Api + +Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation \ No newline at end of file diff --git a/EgwProxy.Ftp/packages.config b/EgwProxy.Ftp/packages.config new file mode 100644 index 0000000..0f8c9cd --- /dev/null +++ b/EgwProxy.Ftp/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Ftp/toc.yml b/EgwProxy.Ftp/toc.yml new file mode 100644 index 0000000..7eee9ff --- /dev/null +++ b/EgwProxy.Ftp/toc.yml @@ -0,0 +1,6 @@ + +- name: Articles + href: articles/ +- name: API Documentation + href: obj/api/ + homepage: api/index.md diff --git a/EgwProxy.Gomba.Test/App.config b/EgwProxy.Gomba.Test/App.config new file mode 100644 index 0000000..ac0e9a0 --- /dev/null +++ b/EgwProxy.Gomba.Test/App.config @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba.Test/EgwProxy.Gomba.Test.csproj b/EgwProxy.Gomba.Test/EgwProxy.Gomba.Test.csproj new file mode 100644 index 0000000..f60eb4d --- /dev/null +++ b/EgwProxy.Gomba.Test/EgwProxy.Gomba.Test.csproj @@ -0,0 +1,60 @@ + + + + + Debug + AnyCPU + {2B7F1536-61D1-4F05-AF8D-62A52D114479} + Exe + EgwProxy.Gomba.Test + EgwProxy.Gomba.Test + v4.6.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + {cc377124-1b94-40c1-b552-d6d42eb2bf27} + EgwProxy.Gomba + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba.Test/Program.cs b/EgwProxy.Gomba.Test/Program.cs new file mode 100644 index 0000000..3b48be8 --- /dev/null +++ b/EgwProxy.Gomba.Test/Program.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.Gomba.Test +{ + internal class Program + { + static void Main(string[] args) + { + // gestire da conf se saltare certificato + ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; + + string linea = "-----------------------------"; + Console.WriteLine(linea); + Console.WriteLine("Test comunicazione Gomba"); + Console.WriteLine(linea); + Console.WriteLine(); + + string escimi = "N"; + GombaServ.lwpServiceClient gombaConn; + // init proxy SOAP + if (false) + { + //gombaConn = new GombaServ.lwpServiceClient(); + } + else + { + //gombaConn = new GombaServ.lwpServiceClient("lwpServicePort", new System.ServiceModel.EndpointAddress("https://172.28.31.56:8000/ws")); + gombaConn = new GombaServ.lwpServiceClient("lwpServicePort", new System.ServiceModel.EndpointAddress("https://308gomba:8000/ws")); + } + + Console.WriteLine("Premere un tasto per iniziare test."); + escimi = Console.ReadLine().ToUpper(); + + int idxReq = 10; + // lettura + while (escimi != "E") + { + string pesata = ""; + Console.WriteLine($"{linea} {DateTime.Now:HH:mm:ss.fff} {linea}"); + try + { + string dataFrom = "01/01/2023"; + string dataTo = DateTime.Today.AddDays(1).ToString("dd/MM/yyyy"); + var results = gombaConn.reqWeightList("ALL", dataFrom, dataTo); + foreach (var item in results) + { + pesata = $"rm: {item.rm} | DI: {item.dateIn} | DO: {item.dateOut} | BI: {item.balanceIn} | BO: {item.balanceOut} | WI: {item.weightIn} | WO: {item.weightOut} | Feed: {item.feedback} | note: {item.notes}"; + //pesata = $"rm: {item.rm} | DI: {item.dateIn} | DO: {item.dateOut} | BI: {item.balanceIn} | BO: {item.balanceOut} | WI: {item.weightIn} | WO: {item.weightOut} | net: {item.net} | MI: {item.idMemIn} | MO: {item.idMemOut} | Feed: {item.feedback} | note: {item.notes}"; + Console.WriteLine(pesata); + } + } + catch (Exception exc) + { + Console.WriteLine($"Errore:{Environment.NewLine}{exc}"); + } + Console.WriteLine($"{linea} {DateTime.Now:HH:mm:ss.fff} {linea}"); + Console.WriteLine(); + Console.WriteLine(); + Console.WriteLine(); + Console.WriteLine("Cosa vuoi fare ora? I = pesata IN, O= pesata OUT, E = uscita, altrimenti rilettura"); + escimi = Console.ReadLine().ToUpper(); + + DateTime adesso = DateTime.Now; + // invio pesata + if (escimi == "I") + { + try + { + var answ = gombaConn.memWeight("IN", $"ODL000000{idxReq}", "TEST", "INGRESSO", "15000", "PROVA IN", $"{adesso:yyyy/MM/dd}", $"{adesso:HH:mm:ss}"); + bool pesoOk = answ.feedback == "C"; + pesata = $"rm: {answ.rm} | DI: {answ.dateIn} | DO: {answ.dateOut} | BI: {answ.balanceIn} | BO: {answ.balanceOut} | WI: {answ.weightIn} | WO: {answ.weightOut} | Feed: {answ.feedback} | note: {answ.notes}"; + Console.WriteLine(pesata); + Console.WriteLine(); + } + catch (Exception exc) + { + Console.WriteLine($"Errore:{Environment.NewLine}{exc}"); + } + } + else if (escimi == "O") + { + try + { + var answ = gombaConn.memWeight("OUT", $"ODL000000{idxReq}", "TEST", "USCITA", "15000", "PROVA OUT", $"{adesso:yyyy/MM/dd}", $"{adesso:HH:mm:ss}"); + bool pesoOk = answ.feedback == "C"; + pesata = $"rm: {answ.rm} | DI: {answ.dateIn} | DO: {answ.dateOut} | BI: {answ.balanceIn} | BO: {answ.balanceOut} | WI: {answ.weightIn} | WO: {answ.weightOut} | Feed: {answ.feedback} | note: {answ.notes}"; + Console.WriteLine(pesata); + Console.WriteLine(); + if (pesoOk) + { + idxReq++; + } + } + catch (Exception exc) + { + Console.WriteLine($"Errore:{Environment.NewLine}{exc}"); + } + } + } + } + } +} diff --git a/EgwProxy.Gomba.Test/Properties/AssemblyInfo.cs b/EgwProxy.Gomba.Test/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5a3fe1e --- /dev/null +++ b/EgwProxy.Gomba.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("EgwProxy.Gomba.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.Gomba.Test")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("2b7f1536-61d1-4f05-af8d-62a52d114479")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.Gomba/App.config b/EgwProxy.Gomba/App.config new file mode 100644 index 0000000..bae7545 --- /dev/null +++ b/EgwProxy.Gomba/App.config @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.gestWeightOut.datasource b/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.gestWeightOut.datasource new file mode 100644 index 0000000..11614ea --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.gestWeightOut.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Gomba.GombaServ.gestWeightOut, Connected Services.GombaServ.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.memWeightResponse.datasource b/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.memWeightResponse.datasource new file mode 100644 index 0000000..4cd0b77 --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.memWeightResponse.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Gomba.GombaServ.memWeightResponse, Connected Services.GombaServ.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.reqWeightListResponse.datasource b/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.reqWeightListResponse.datasource new file mode 100644 index 0000000..6d5160f --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.reqWeightListResponse.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Gomba.GombaServ.reqWeightListResponse, Connected Services.GombaServ.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.reqWeightResponse.datasource b/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.reqWeightResponse.datasource new file mode 100644 index 0000000..3377bef --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/EgwProxy.Gomba.GombaServ.reqWeightResponse.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Gomba.GombaServ.reqWeightResponse, Connected Services.GombaServ.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/Reference.cs b/EgwProxy.Gomba/Connected Services/GombaServ/Reference.cs new file mode 100644 index 0000000..bea423e --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/Reference.cs @@ -0,0 +1,611 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace EgwProxy.Gomba.GombaServ { + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ServiceModel.ServiceContractAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", ConfigurationName="GombaServ.lwpService")] + public interface lwpService { + + // CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'. + [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/memWeightResponse")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [return: System.ServiceModel.MessageParameterAttribute(Name="return")] + EgwProxy.Gomba.GombaServ.memWeightResponse memWeight(EgwProxy.Gomba.GombaServ.memWeightRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/memWeightResponse")] + System.Threading.Tasks.Task memWeightAsync(EgwProxy.Gomba.GombaServ.memWeightRequest request); + + // CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'. + [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListResponse")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [return: System.ServiceModel.MessageParameterAttribute(Name="return")] + EgwProxy.Gomba.GombaServ.reqWeightListResponse reqWeightList(EgwProxy.Gomba.GombaServ.reqWeightListRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListResponse")] + System.Threading.Tasks.Task reqWeightListAsync(EgwProxy.Gomba.GombaServ.reqWeightListRequest request); + + // CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'. + [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightResponse")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [return: System.ServiceModel.MessageParameterAttribute(Name="return")] + EgwProxy.Gomba.GombaServ.reqWeightResponse reqWeight(EgwProxy.Gomba.GombaServ.reqWeightRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightResponse")] + System.Threading.Tasks.Task reqWeightAsync(EgwProxy.Gomba.GombaServ.reqWeightRequest request); + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3761.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://servicesImpl.webServices.gomba.com/")] + public partial class gestWeightOut : object, System.ComponentModel.INotifyPropertyChanged { + + private string balanceInField; + + private string balanceOutField; + + private string cod1Field; + + private string cod2Field; + + private string cod3Field; + + private string cod4Field; + + private string cod5Field; + + private string cod6Field; + + private System.DateTime dateInField; + + private bool dateInFieldSpecified; + + private System.DateTime dateOutField; + + private bool dateOutFieldSpecified; + + private string feedbackField; + + private string idMemInField; + + private string idMemOutField; + + private string netField; + + private string notesField; + + private string rmField; + + private string weightInField; + + private string weightOutField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)] + public string balanceIn { + get { + return this.balanceInField; + } + set { + this.balanceInField = value; + this.RaisePropertyChanged("balanceIn"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)] + public string balanceOut { + get { + return this.balanceOutField; + } + set { + this.balanceOutField = value; + this.RaisePropertyChanged("balanceOut"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=2)] + public string cod1 { + get { + return this.cod1Field; + } + set { + this.cod1Field = value; + this.RaisePropertyChanged("cod1"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=3)] + public string cod2 { + get { + return this.cod2Field; + } + set { + this.cod2Field = value; + this.RaisePropertyChanged("cod2"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=4)] + public string cod3 { + get { + return this.cod3Field; + } + set { + this.cod3Field = value; + this.RaisePropertyChanged("cod3"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=5)] + public string cod4 { + get { + return this.cod4Field; + } + set { + this.cod4Field = value; + this.RaisePropertyChanged("cod4"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=6)] + public string cod5 { + get { + return this.cod5Field; + } + set { + this.cod5Field = value; + this.RaisePropertyChanged("cod5"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=7)] + public string cod6 { + get { + return this.cod6Field; + } + set { + this.cod6Field = value; + this.RaisePropertyChanged("cod6"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=8)] + public System.DateTime dateIn { + get { + return this.dateInField; + } + set { + this.dateInField = value; + this.RaisePropertyChanged("dateIn"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool dateInSpecified { + get { + return this.dateInFieldSpecified; + } + set { + this.dateInFieldSpecified = value; + this.RaisePropertyChanged("dateInSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=9)] + public System.DateTime dateOut { + get { + return this.dateOutField; + } + set { + this.dateOutField = value; + this.RaisePropertyChanged("dateOut"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool dateOutSpecified { + get { + return this.dateOutFieldSpecified; + } + set { + this.dateOutFieldSpecified = value; + this.RaisePropertyChanged("dateOutSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=10)] + public string feedback { + get { + return this.feedbackField; + } + set { + this.feedbackField = value; + this.RaisePropertyChanged("feedback"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=11)] + public string idMemIn { + get { + return this.idMemInField; + } + set { + this.idMemInField = value; + this.RaisePropertyChanged("idMemIn"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=12)] + public string idMemOut { + get { + return this.idMemOutField; + } + set { + this.idMemOutField = value; + this.RaisePropertyChanged("idMemOut"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=13)] + public string net { + get { + return this.netField; + } + set { + this.netField = value; + this.RaisePropertyChanged("net"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=14)] + public string notes { + get { + return this.notesField; + } + set { + this.notesField = value; + this.RaisePropertyChanged("notes"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=15)] + public string rm { + get { + return this.rmField; + } + set { + this.rmField = value; + this.RaisePropertyChanged("rm"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=16)] + public string weightIn { + get { + return this.weightInField; + } + set { + this.weightInField = value; + this.RaisePropertyChanged("weightIn"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=17)] + public string weightOut { + get { + return this.weightOutField; + } + set { + this.weightOutField = value; + this.RaisePropertyChanged("weightOut"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(WrapperName="memWeight", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] + public partial class memWeightRequest { + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string type; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=1)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string rm; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=2)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string cod1; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=3)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string cod2; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=4)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string cod3; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=5)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string cod4; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=6)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string cod5; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=7)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string cod6; + + public memWeightRequest() { + } + + public memWeightRequest(string type, string rm, string cod1, string cod2, string cod3, string cod4, string cod5, string cod6) { + this.type = type; + this.rm = rm; + this.cod1 = cod1; + this.cod2 = cod2; + this.cod3 = cod3; + this.cod4 = cod4; + this.cod5 = cod5; + this.cod6 = cod6; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(WrapperName="memWeightResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] + public partial class memWeightResponse { + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public EgwProxy.Gomba.GombaServ.gestWeightOut @return; + + public memWeightResponse() { + } + + public memWeightResponse(EgwProxy.Gomba.GombaServ.gestWeightOut @return) { + this.@return = @return; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightList", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] + public partial class reqWeightListRequest { + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string type; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=1)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string dateStart; + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=2)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string dateEnd; + + public reqWeightListRequest() { + } + + public reqWeightListRequest(string type, string dateStart, string dateEnd) { + this.type = type; + this.dateStart = dateStart; + this.dateEnd = dateEnd; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightListResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] + public partial class reqWeightListResponse { + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] + [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public EgwProxy.Gomba.GombaServ.gestWeightOut[] @return; + + public reqWeightListResponse() { + } + + public reqWeightListResponse(EgwProxy.Gomba.GombaServ.gestWeightOut[] @return) { + this.@return = @return; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(WrapperName="reqWeight", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] + public partial class reqWeightRequest { + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public string rm; + + public reqWeightRequest() { + } + + public reqWeightRequest(string rm) { + this.rm = rm; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] + public partial class reqWeightResponse { + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] + [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] + public EgwProxy.Gomba.GombaServ.gestWeightOut @return; + + public reqWeightResponse() { + } + + public reqWeightResponse(EgwProxy.Gomba.GombaServ.gestWeightOut @return) { + this.@return = @return; + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public interface lwpServiceChannel : EgwProxy.Gomba.GombaServ.lwpService, System.ServiceModel.IClientChannel { + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public partial class lwpServiceClient : System.ServiceModel.ClientBase, EgwProxy.Gomba.GombaServ.lwpService { + + public lwpServiceClient() { + } + + public lwpServiceClient(string endpointConfigurationName) : + base(endpointConfigurationName) { + } + + public lwpServiceClient(string endpointConfigurationName, string remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public lwpServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public lwpServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : + base(binding, remoteAddress) { + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + EgwProxy.Gomba.GombaServ.memWeightResponse EgwProxy.Gomba.GombaServ.lwpService.memWeight(EgwProxy.Gomba.GombaServ.memWeightRequest request) { + return base.Channel.memWeight(request); + } + + public EgwProxy.Gomba.GombaServ.gestWeightOut memWeight(string type, string rm, string cod1, string cod2, string cod3, string cod4, string cod5, string cod6) { + EgwProxy.Gomba.GombaServ.memWeightRequest inValue = new EgwProxy.Gomba.GombaServ.memWeightRequest(); + inValue.type = type; + inValue.rm = rm; + inValue.cod1 = cod1; + inValue.cod2 = cod2; + inValue.cod3 = cod3; + inValue.cod4 = cod4; + inValue.cod5 = cod5; + inValue.cod6 = cod6; + EgwProxy.Gomba.GombaServ.memWeightResponse retVal = ((EgwProxy.Gomba.GombaServ.lwpService)(this)).memWeight(inValue); + return retVal.@return; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task EgwProxy.Gomba.GombaServ.lwpService.memWeightAsync(EgwProxy.Gomba.GombaServ.memWeightRequest request) { + return base.Channel.memWeightAsync(request); + } + + public System.Threading.Tasks.Task memWeightAsync(string type, string rm, string cod1, string cod2, string cod3, string cod4, string cod5, string cod6) { + EgwProxy.Gomba.GombaServ.memWeightRequest inValue = new EgwProxy.Gomba.GombaServ.memWeightRequest(); + inValue.type = type; + inValue.rm = rm; + inValue.cod1 = cod1; + inValue.cod2 = cod2; + inValue.cod3 = cod3; + inValue.cod4 = cod4; + inValue.cod5 = cod5; + inValue.cod6 = cod6; + return ((EgwProxy.Gomba.GombaServ.lwpService)(this)).memWeightAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + EgwProxy.Gomba.GombaServ.reqWeightListResponse EgwProxy.Gomba.GombaServ.lwpService.reqWeightList(EgwProxy.Gomba.GombaServ.reqWeightListRequest request) { + return base.Channel.reqWeightList(request); + } + + public EgwProxy.Gomba.GombaServ.gestWeightOut[] reqWeightList(string type, string dateStart, string dateEnd) { + EgwProxy.Gomba.GombaServ.reqWeightListRequest inValue = new EgwProxy.Gomba.GombaServ.reqWeightListRequest(); + inValue.type = type; + inValue.dateStart = dateStart; + inValue.dateEnd = dateEnd; + EgwProxy.Gomba.GombaServ.reqWeightListResponse retVal = ((EgwProxy.Gomba.GombaServ.lwpService)(this)).reqWeightList(inValue); + return retVal.@return; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task EgwProxy.Gomba.GombaServ.lwpService.reqWeightListAsync(EgwProxy.Gomba.GombaServ.reqWeightListRequest request) { + return base.Channel.reqWeightListAsync(request); + } + + public System.Threading.Tasks.Task reqWeightListAsync(string type, string dateStart, string dateEnd) { + EgwProxy.Gomba.GombaServ.reqWeightListRequest inValue = new EgwProxy.Gomba.GombaServ.reqWeightListRequest(); + inValue.type = type; + inValue.dateStart = dateStart; + inValue.dateEnd = dateEnd; + return ((EgwProxy.Gomba.GombaServ.lwpService)(this)).reqWeightListAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + EgwProxy.Gomba.GombaServ.reqWeightResponse EgwProxy.Gomba.GombaServ.lwpService.reqWeight(EgwProxy.Gomba.GombaServ.reqWeightRequest request) { + return base.Channel.reqWeight(request); + } + + public EgwProxy.Gomba.GombaServ.gestWeightOut reqWeight(string rm) { + EgwProxy.Gomba.GombaServ.reqWeightRequest inValue = new EgwProxy.Gomba.GombaServ.reqWeightRequest(); + inValue.rm = rm; + EgwProxy.Gomba.GombaServ.reqWeightResponse retVal = ((EgwProxy.Gomba.GombaServ.lwpService)(this)).reqWeight(inValue); + return retVal.@return; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task EgwProxy.Gomba.GombaServ.lwpService.reqWeightAsync(EgwProxy.Gomba.GombaServ.reqWeightRequest request) { + return base.Channel.reqWeightAsync(request); + } + + public System.Threading.Tasks.Task reqWeightAsync(string rm) { + EgwProxy.Gomba.GombaServ.reqWeightRequest inValue = new EgwProxy.Gomba.GombaServ.reqWeightRequest(); + inValue.rm = rm; + return ((EgwProxy.Gomba.GombaServ.lwpService)(this)).reqWeightAsync(inValue); + } + } +} diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/Reference.svcmap b/EgwProxy.Gomba/Connected Services/GombaServ/Reference.svcmap new file mode 100644 index 0000000..1c1042d --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/Reference.svcmap @@ -0,0 +1,32 @@ + + + + false + true + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/configuration.svcinfo b/EgwProxy.Gomba/Connected Services/GombaServ/configuration.svcinfo new file mode 100644 index 0000000..8a2ab72 --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/configuration.svcinfo @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/configuration91.svcinfo b/EgwProxy.Gomba/Connected Services/GombaServ/configuration91.svcinfo new file mode 100644 index 0000000..d326a0a --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/configuration91.svcinfo @@ -0,0 +1,310 @@ + + + + + + + lwpServicePortBinding + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + Transport + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Collection) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + lwpServicePortBinding1 + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + None + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Collection) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + + + https://308gomba:8000/ws + + + + + + basicHttpBinding + + + lwpServicePortBinding + + + GombaServ.lwpService + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + lwpServicePort + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/lwpService.wsdl b/EgwProxy.Gomba/Connected Services/GombaServ/lwpService.wsdl new file mode 100644 index 0000000..faad4b6 --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/lwpService.wsdl @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/Connected Services/GombaServ/ws.xsd b/EgwProxy.Gomba/Connected Services/GombaServ/ws.xsd new file mode 100644 index 0000000..b79d666 --- /dev/null +++ b/EgwProxy.Gomba/Connected Services/GombaServ/ws.xsd @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/EgwProxy.Gomba.csproj b/EgwProxy.Gomba/EgwProxy.Gomba.csproj new file mode 100644 index 0000000..becf07c --- /dev/null +++ b/EgwProxy.Gomba/EgwProxy.Gomba.csproj @@ -0,0 +1,116 @@ + + + + + Debug + AnyCPU + {CC377124-1B94-40C1-B552-D6D42EB2BF27} + Library + EgwProxy.Gomba + EgwProxy.Gomba + v4.6.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + ..\packages\System.Runtime.Serialization.Primitives.4.3.0\lib\net46\System.Runtime.Serialization.Primitives.dll + + + ..\packages\System.Runtime.Serialization.Xml.4.3.0\lib\net46\System.Runtime.Serialization.Xml.dll + + + + ..\packages\System.ServiceModel.Http.4.6.0\lib\net461\System.ServiceModel.Http.dll + + + ..\packages\System.ServiceModel.NetTcp.4.6.0\lib\net461\System.ServiceModel.NetTcp.dll + + + ..\packages\System.ServiceModel.Primitives.4.6.0\lib\net461\System.ServiceModel.Primitives.dll + + + ..\packages\System.ServiceModel.Security.4.6.0\lib\net461\System.ServiceModel.Security.dll + + + + + + + + + + + True + True + Reference.svcmap + + + + + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + + Designer + + + + + + + + + + + + + + + + + + WCF Proxy Generator + Reference.cs + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/GombaWSDL.wsdl b/EgwProxy.Gomba/GombaWSDL.wsdl new file mode 100644 index 0000000..6681006 --- /dev/null +++ b/EgwProxy.Gomba/GombaWSDL.wsdl @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/Properties/AssemblyInfo.cs b/EgwProxy.Gomba/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..67807ac --- /dev/null +++ b/EgwProxy.Gomba/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("EgwProxy.Gomba")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.Gomba")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("cc377124-1b94-40c1-b552-d6d42eb2bf27")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.Gomba/docfx.json b/EgwProxy.Gomba/docfx.json new file mode 100644 index 0000000..435e349 --- /dev/null +++ b/EgwProxy.Gomba/docfx.json @@ -0,0 +1,69 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "*.csproj", + "*.vbproj" + ], + "cwd": ".", + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "obj/api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml" + ], + "cwd": "obj" + }, + { + "files": [ + "api/*.md", + "articles/**.md", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ] + } +} \ No newline at end of file diff --git a/EgwProxy.Gomba/index.md b/EgwProxy.Gomba/index.md new file mode 100644 index 0000000..4f6c0d8 --- /dev/null +++ b/EgwProxy.Gomba/index.md @@ -0,0 +1,17 @@ +# EgwProxy.Gomba Library + +Documentazione relativa alla libreria di interfaccia via webservice SOAP/XML con le bilance GOMBA (ex IMI Remosa). + +Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo + +https://nexus.steamware.net/#browse/browse:nuget-hosted + +Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi. + +## Articles + +Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles + +## Api + +Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation \ No newline at end of file diff --git a/EgwProxy.Gomba/index.pdf b/EgwProxy.Gomba/index.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a89cc4328776a2f2604d70657e281161878e4d0f GIT binary patch literal 30974 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 + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba/toc.yml b/EgwProxy.Gomba/toc.yml new file mode 100644 index 0000000..7eee9ff --- /dev/null +++ b/EgwProxy.Gomba/toc.yml @@ -0,0 +1,6 @@ + +- name: Articles + href: articles/ +- name: API Documentation + href: obj/api/ + homepage: api/index.md diff --git a/EgwProxy.Icoel.DataLayer/App.config b/EgwProxy.Icoel.DataLayer/App.config new file mode 100644 index 0000000..46b80da --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/App.config @@ -0,0 +1,20 @@ + + + + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel.DataLayer/Controllers/DbController.cs b/EgwProxy.Icoel.DataLayer/Controllers/DbController.cs new file mode 100644 index 0000000..98ab5ff --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/Controllers/DbController.cs @@ -0,0 +1,132 @@ +using NLog; +using System; +using System.Collections.Generic; +using System.Linq; + +/*------------------------------------------------ + * Aggiunto fix come da link seguente: + * + * https://stackoverflow.com/questions/14033193/entity-framework-provider-type-could-not-be-loaded + * + * I solved this by adding an using stament on top of my DBContext class, like so: + * using SqlProviderServices= System.Data.Entity.SqlServer.SqlProviderServices; + * + */ + +namespace EgwProxy.Icoel.DataLayer.Controllers +{ + /// + /// Controller accesso dati DB vari x ICOEL + /// + public class DbController : IDisposable + { +#if false + private static EntrataDbContext dbEntrataCtx; + private static ExportDbContext dbExportCtx; + private static TrackerDbContext dbTrackerCtx; +#endif + + #region Public Constructors + + /// + /// Avvio dell'oggetto gestione DB con stringa di connessione specifica + /// + /// Connessione DB locale di SYNC + public DbController(string connSyncState) + { + dbSyncStateCtx = new SyncStateDbContext(connSyncState); + Log.Info("Avviata classe dbSyncStateCtx"); + } + + #endregion Public Constructors + + #region Public Methods + + /// + /// Recupera la tab di CurrData corrente + /// + /// + public List CurrDataGetAll() + { + List dbResult = new List(); + + dbResult = dbSyncStateCtx + .DbSetCurrData + .ToList(); + + return dbResult; + } + + /// + /// Dispose classe + /// + public void Dispose() + { + // Clear database context +#if false + dbEntrataCtx.Dispose(); + dbExportCtx.Dispose(); + dbTrackerCtx.Dispose(); +#endif + dbSyncStateCtx.Dispose(); + } + + /// + /// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi + /// restitusice in output la tab di SyncState x verificare lo stato + /// + /// + public List SyncStateDoExportAll() + { + List dbResult = new List(); + + dbResult = dbSyncStateCtx + .Database + .SqlQuery("EXEC stp_ExportAll") + .ToList(); + + return dbResult; + } + + /// + /// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi + /// restitusice in output la tab di SyncState x verificare lo stato + /// + /// + public List SyncStateDoImportAll() + { + List dbResult = new List(); + + dbResult = dbSyncStateCtx + .Database + .SqlQuery("EXEC stp_ImportAll") + .ToList(); + + return dbResult; + } + + /// + /// recupera la tab di SyncState corrente + /// + /// + public List SyncStateGetAll() + { + List dbResult = new List(); + + dbResult = dbSyncStateCtx + .DbSetSyncState + .ToList(); + + return dbResult; + } + + #endregion Public Methods + + #region Private Fields + + private static SyncStateDbContext dbSyncStateCtx; + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + #endregion Private Fields + } +} \ No newline at end of file diff --git a/EgwProxy.Icoel.DataLayer/DatabaseModels/CurrDataModel.cs b/EgwProxy.Icoel.DataLayer/DatabaseModels/CurrDataModel.cs new file mode 100644 index 0000000..f6fb657 --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/DatabaseModels/CurrDataModel.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity.Spatial; + +namespace EgwProxy.Icoel.DataLayer.DatabaseModels +{ + + [Table("CurrData")] + public partial class CurrDataModel + { + [Key] + [StringLength(50)] + public string Topic { get; set; } + + public decimal CurrVal { get; set; } = 0; + } +} diff --git a/EgwProxy.Icoel.DataLayer/DatabaseModels/DettConferimentoModel.cs b/EgwProxy.Icoel.DataLayer/DatabaseModels/DettConferimentoModel.cs new file mode 100644 index 0000000..e1bad12 --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/DatabaseModels/DettConferimentoModel.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity.Spatial; + +namespace EgwProxy.Icoel.DataLayer.DatabaseModels +{ + + [Table("DettagliConferimentoMES")] + public partial class DettConferimentoModel + { + [Key] + [Column(Order = 0)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long PackId { get; set; } + + [Key] + [Column(Order = 1)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long FillingId { get; set; } + + [Key] + [Column(Order = 2)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public int FilligRow { get; set; } + + [Key] + [Column(Order = 3)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long ScaricoId { get; set; } + + public string CODBARRE { get; set; } + + public string CODICE_FORNITORE { get; set; } + + public string NOME_FORNITORE { get; set; } + + public string CODICE_PRODOTTO { get; set; } + + public string DESCRIZIONE_PRODOTTO { get; set; } + + public string CODICE_PRODOTTO_GREZZO { get; set; } + + public string DESCRIZIONE_PRODOTTO_GREZZO { get; set; } + + public string SIGLA_LOTTO { get; set; } + + public string NUMERO_LOTTO { get; set; } + + public string DATA_ENTRATA { get; set; } + + public string QUANTITA_ENTRATA { get; set; } + } +} diff --git a/EgwProxy.Icoel.DataLayer/DatabaseModels/DettConfezioniModel.cs b/EgwProxy.Icoel.DataLayer/DatabaseModels/DettConfezioniModel.cs new file mode 100644 index 0000000..e1d3aeb --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/DatabaseModels/DettConfezioniModel.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity.Spatial; + +namespace EgwProxy.Icoel.DataLayer.DatabaseModels +{ + + [Table("DettagliConfezioniMES")] + public partial class DettConfezioniModel + { + [Key] + [Column("Pack Id", Order = 0)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Pack_Id { get; set; } + + [StringLength(50)] + public string EAN { get; set; } + + [Key] + [Column("Batch Id", Order = 1)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Batch_Id { get; set; } + + public string BatchName { get; set; } + + [Key] + [Column(Order = 2)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public int Lane1SizerBatchId { get; set; } + + [Key] + [Column(Order = 3)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public int Lane2SizerBatchId { get; set; } + + [Key] + [Column("End Time", Order = 4, TypeName = "datetime2")] + public DateTime End_Time { get; set; } + + [Key] + [Column(Order = 5)] + public Guid SizerProductGUID { get; set; } + + [Column("Product Name")] + public string Product_Name { get; set; } + + [Key] + [Column(Order = 6)] + public Guid SizerPackGUID { get; set; } + + [Column("Pack Name")] + [StringLength(50)] + public string Pack_Name { get; set; } + + [Key] + [Column(Order = 7)] + public decimal PesoDecigram { get; set; } + + [StringLength(10)] + public string FillingMode { get; set; } + + [Key] + [Column(Order = 8)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public int Quantity { get; set; } + } +} diff --git a/EgwProxy.Icoel.DataLayer/DatabaseModels/EntrataModel.cs b/EgwProxy.Icoel.DataLayer/DatabaseModels/EntrataModel.cs new file mode 100644 index 0000000..d389d6e --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/DatabaseModels/EntrataModel.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity.Spatial; + +namespace EgwProxy.Icoel.DataLayer.DatabaseModels +{ + + [Table("ENTRATACILIEGIE")] + public partial class EntrataModel + { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long ID_CHIAVE { get; set; } + + [StringLength(20)] + public string CODBARRE { get; set; } + + public double? CODICE_FORNITORE { get; set; } + + [StringLength(5)] + public string CODICE_LUOGO_PRODUZIONE { get; set; } + + [StringLength(50)] + public string NOME_FORNITORE { get; set; } + + [StringLength(50)] + public string INDIRIZZO_FORNITORE { get; set; } + + [StringLength(50)] + public string COMUNE_FORNITORE { get; set; } + + [StringLength(50)] + public string NOME_LUOGO_PRODUZIONE { get; set; } + + [StringLength(50)] + public string INDIRIZZO_LUOGO_PRODUZIONE { get; set; } + + [StringLength(50)] + public string COMUNE_LUOGO_PRODUZIONE { get; set; } + + [StringLength(10)] + public string CODICE_PRODOTTO { get; set; } + + [StringLength(50)] + public string DESCRIZIONE_PRODOTTO { get; set; } + + [StringLength(10)] + public string CODICE_PRODOTTO_GREZZO { get; set; } + + [StringLength(50)] + public string DESCRIZIONE_PRODOTTO_GREZZO { get; set; } + + [StringLength(50)] + public string SIGLA_LOTTO { get; set; } + + [StringLength(10)] + public string NUMERO_LOTTO { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? DATA_ENTRATA { get; set; } + + public double? QUANTITA_ENTRATA { get; set; } + } +} diff --git a/EgwProxy.Icoel.DataLayer/DatabaseModels/ProductsTotalsModel.cs b/EgwProxy.Icoel.DataLayer/DatabaseModels/ProductsTotalsModel.cs new file mode 100644 index 0000000..8a37d14 --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/DatabaseModels/ProductsTotalsModel.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity.Spatial; + +namespace EgwProxy.Icoel.DataLayer.DatabaseModels +{ + + [Table("ProductsTotals")] + public partial class ProductsTotalsModel + { + [Key] + [Column(Order = 0)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public int SizerBatchId { get; set; } + + [Key] + [Column(Order = 1)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public int Index { get; set; } + + public string Nome { get; set; } + + public string Qualities { get; set; } + + public string Grado { get; set; } + + public string Calibro { get; set; } + + public int NumeroFrutti { get; set; } + + public string Decigrammi { get; set; } + } +} diff --git a/EgwProxy.Icoel.DataLayer/DatabaseModels/SyncStateModel.cs b/EgwProxy.Icoel.DataLayer/DatabaseModels/SyncStateModel.cs new file mode 100644 index 0000000..b37fa32 --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/DatabaseModels/SyncStateModel.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity.Spatial; + +namespace EgwProxy.Icoel.DataLayer.DatabaseModels +{ + + [Table("SyncState")] + public partial class SyncStateModel + { + [Key] + [StringLength(50)] + public string TableName { get; set; } + + public long LastIdx { get; set; } + + public long LastIdxIn { get; set; } + + public long LastIdxOut { get; set; } + + public long NumRec { get; set; } + + public long NumRecIn { get; set; } + + public long NumRecOut { get; set; } + + public DateTime LastUpdate { get; set; } = DateTime.Today; + } +} diff --git a/EgwProxy.Icoel.DataLayer/DbConfig.cs b/EgwProxy.Icoel.DataLayer/DbConfig.cs new file mode 100644 index 0000000..b86128a --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/DbConfig.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.Icoel.DataLayer +{ + public static class DbConfig + { + #region Public Fields + + public static string DATABASE_NAME = "EgtBwDb"; + + public static int DATABASE_PROCESS_TIMEOUT = 5; + public static string DATABASE_PWD = "viacremasca"; + + // Database config + public static string DATABASE_SERV = "127.0.0.1"; + + public static string DATABASE_USER = "EgtUser"; + + #endregion Public Fields + + #region Public Properties + + /// + /// DB Connection string per azioni amministrative + /// + public static string ADMIN_CONNECTION_STRING { get; set; } = ""; + + /// + /// DB Connection string + /// + public static string CONNECTION_STRING { get; set; } = ""; + + #endregion Public Properties + + #region Public Methods + + /// + /// Metodo di init standard per DB in rete con Master_Key + /// + /// Indirizzo del server (tipicamente indirizzo di rete) + /// Numero chiave + /// Codice/pwd associato a chaive + /// Numero di chiave master con cui è creato il DB + public static void InitDb(string server, string nKey, string sKey, string masterKey = "") + { + // se nulla metto amster come nKey... + masterKey = string.IsNullOrEmpty(masterKey) ? nKey : masterKey; + DATABASE_SERV = server; + DATABASE_NAME = $"EgtBwDb_{masterKey}"; + DATABASE_USER = $"user_{nKey}"; + DATABASE_PWD = $"pwd_{sKey}"; + CONNECTION_STRING = $"server={DATABASE_SERV};port=3306;database={DATABASE_NAME};uid={DATABASE_USER};pwd={DATABASE_PWD};sslmode=None"; + // stringa admin con utente root egalware... + ADMIN_CONNECTION_STRING = $"server={DATABASE_SERV};port=3306;database=mysql;uid=root;pwd=Egalware_24068!;sslmode=None;CHARSET=utf8"; + } + +#if false + public static bool CheckUser(string nKey, string sKey, bool isNetwork) + { + // esecuzione script di install locale + return Controllers.DbController.man.checkCreateUser(DATABASE_USER, DATABASE_PWD, isNetwork); + } +#endif + + #endregion Public Methods + } +} diff --git a/EgwProxy.Icoel.DataLayer/EgwProxy.Icoel.DataLayer.csproj b/EgwProxy.Icoel.DataLayer/EgwProxy.Icoel.DataLayer.csproj new file mode 100644 index 0000000..90117ab --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/EgwProxy.Icoel.DataLayer.csproj @@ -0,0 +1,138 @@ + + + + + + Debug + AnyCPU + {E36544CB-D699-48D8-9F81-C2758E7C7D19} + Library + Properties + EgwProxy.Icoel.DataLayer + EgwProxy.Icoel.DataLayer + v4.6.2 + 512 + true + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll + + + ..\packages\NLog.5.2.3\lib\net46\NLog.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + + + + + + ..\packages\System.IO.4.3.0\lib\net462\System.IO.dll + + + ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + True + True + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + + + + + ..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll + + + ..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll + + + ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll + + + ..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll + + + + + + ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel.DataLayer/EntrataDbContext.cs b/EgwProxy.Icoel.DataLayer/EntrataDbContext.cs new file mode 100644 index 0000000..58e851d --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/EntrataDbContext.cs @@ -0,0 +1,46 @@ +using EgwProxy.Icoel.DataLayer.DatabaseModels; +using NLog; +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; +using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices; + +namespace EgwProxy.Icoel.DataLayer +{ + /// + /// Classe per accesso dati accettazione merce Agrimatica (via ICOEL) + /// + public partial class EntrataDbContext : DbContext + { + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + /// + /// Costruttore implicito + /// + public EntrataDbContext() : base("name=EntrataFrontiera") + { + Log.Info("Init 01 EntrataDbContext - DONE"); + } + + /// + /// Costruttore da connectionString + /// + /// + public EntrataDbContext(string connectionString) : base(connectionString) + { + Log.Info("Init 02 EntrataDbContext - DONE"); + } + /// + /// DbSet record entrata merce + /// + public virtual DbSet DbSetEntrataMerce { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + modelBuilder.Entity() + .Property(e => e.DATA_ENTRATA) + .HasPrecision(0); + } + } +} diff --git a/EgwProxy.Icoel.DataLayer/ExportDbContext.cs b/EgwProxy.Icoel.DataLayer/ExportDbContext.cs new file mode 100644 index 0000000..5402b3b --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/ExportDbContext.cs @@ -0,0 +1,44 @@ +using EgwProxy.Icoel.DataLayer.DatabaseModels; +using NLog; +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; +using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices; + +namespace EgwProxy.Icoel.DataLayer +{ + /// + /// Classe per accesso dati Tacker ICOEL + /// + public partial class ExportDbContext : DbContext + { + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + /// + /// Costruttore implicito + /// + public ExportDbContext() : base("name=ExportIcoel") + { + Log.Info("Init 01 ExportDbContext - DONE"); + } + + /// + /// Costruttore da connectionString + /// + /// + public ExportDbContext(string connectionString) : base(connectionString) + { + Log.Info("Init 02 ExportDbContext - DONE"); + } + + /// + /// DbSet dati prodotti + /// + public virtual DbSet DbSetProductsTotals { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + } + } +} diff --git a/EgwProxy.Icoel.DataLayer/MainDbContext.cs b/EgwProxy.Icoel.DataLayer/MainDbContext.cs new file mode 100644 index 0000000..66793f1 --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/MainDbContext.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.Icoel.DataLayer +{ + public class MainDbContext : DbContext + { + #region Private Fields + + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + #endregion Private Fields + + #region Public Constructors + + // Il contesto è stato configurato per utilizzare una stringa di connessione 'BBMModel' dal file di configurazione + // dell'applicazione (App.config o Web.config). Per impostazione predefinita, la stringa di connessione è destinata al + // database 'BBMModel' nell'istanza di LocalDb. + // + // Per destinarla a un database o un provider di database differente, modificare la stringa di connessione 'BBMModel' + // nel file di configurazione dell'applicazione. + [Obsolete("This constructor should never be used directly, and is only needed to generate entityframework stuff. Connection string can be adapted as pleased.")] + //public DatabaseContext() : base("BBMModel") + public MainDbContext() : base("Data Source=SQLSTEAM;Initial Catalog=SHERPA.BBM;User ID=sa;Password=keyhammer;integrated security=False;MultipleActiveResultSets=True;App=EntityFramework") + { + } + + public MainDbContext(string connectionString) : base(connectionString) + { + Log.Info($"init MainDbContext - start"); + + try + { + Database.CreateIfNotExists(); + Log.Error("CreateIfNotExists - DONE"); + + //Database.SetInitializer(new MigrateDatabaseToLatestVersion()); + Database.SetInitializer(null); + Database.Initialize(false); + } + catch (Exception exc) + { + Log.Error($"Eccezione in fase init MainDbContext, connectionString: {connectionString}{Environment.NewLine}{exc}"); + } + Log.Error("init MainDbContext - DONE"); + } + + #endregion Public Constructors + + // Aggiungere DbSet per ogni tipo di entità che si desidera includere nel modello. Per ulteriori informazioni + // sulla configurazione e sull'utilizzo di un modello Code, vedere http://go.microsoft.com/fwlink/?LinkId=390109. + + #region Public Properties + + public virtual DbSet DbSetBaskets { get; set; } + public virtual DbSet DbSetCompanies { get; set; } + public virtual DbSet DbSetCounters { get; set; } + public virtual DbSet DbSetCustomers { get; set; } + public virtual DbSet DbSetDocs { get; set; } + + public virtual DbSet DbSetFatt2Doc { get; set; } + + public virtual DbSet DbSetItems { get; set; } + + public virtual DbSet DbSetNegotiations { get; set; } + + public virtual DbSet DbSetResources { get; set; } + + #endregion Public Properties + + #region Protected Methods + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + // Precision attribute for decimals + Precision.ConfigureModelBuilder(modelBuilder); + } + + #endregion Protected Methods + } + +} diff --git a/EgwProxy.Icoel.DataLayer/Properties/AssemblyInfo.cs b/EgwProxy.Icoel.DataLayer/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..374243d --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Le informazioni generali relative a un assembly sono controllate dal seguente +// set di attributi. Modificare i valori di questi attributi per modificare le informazioni +// associate a un assembly. +[assembly: AssemblyTitle("EgwProxy.Icoel.DataLayer")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.Icoel.DataLayer")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili +// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da +// COM, impostare su true l'attributo ComVisible per tale tipo. +[assembly: ComVisible(false)] + +// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi +[assembly: Guid("e36544cb-d699-48d8-9f81-c2758e7c7d19")] + +// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori: +// +// Versione principale +// Versione secondaria +// Numero di build +// Revisione +// +// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build +// usando l'asterisco '*' come illustrato di seguito: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.Icoel.DataLayer/SyncStateDbContext.cs b/EgwProxy.Icoel.DataLayer/SyncStateDbContext.cs new file mode 100644 index 0000000..fd40184 --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/SyncStateDbContext.cs @@ -0,0 +1,48 @@ +using EgwProxy.Icoel.DataLayer.DatabaseModels; +using NLog; +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; + +namespace EgwProxy.Icoel.DataLayer +{ + /// + /// Classe per accesso dati SyncState del DB + /// + public partial class SyncStateDbContext : DbContext + { + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + /// + /// Costruttore implicito + /// + public SyncStateDbContext() : base("name=SyncState") + { + Log.Info("Init 01 SyncStateDbContext - DONE"); + } + + /// + /// Costruttore da connectionString + /// + /// + public SyncStateDbContext(string connectionString) : base(connectionString) + { + Log.Info("Init 02 SyncStateDbContext - DONE"); + } + + /// + /// DbSet dei dati stato sync DB esterni <--> locale + /// + public virtual DbSet DbSetSyncState { get; set; } + + /// + /// DbSet CurrData + /// + public virtual DbSet DbSetCurrData { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + } + } +} diff --git a/EgwProxy.Icoel.DataLayer/TrackerDbContext.cs b/EgwProxy.Icoel.DataLayer/TrackerDbContext.cs new file mode 100644 index 0000000..c8800f5 --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/TrackerDbContext.cs @@ -0,0 +1,49 @@ +using EgwProxy.Icoel.DataLayer.DatabaseModels; +using NLog; +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; +using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices; + +namespace EgwProxy.Icoel.DataLayer +{ + /// + /// Classe per accesso dati Tacker ICOEL + /// + public partial class TrackerDbContext : DbContext + { + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + /// + /// Costruttore implicito + /// + public TrackerDbContext() : base("name=TrackerLotti") + { + Log.Info("Init 01 TrackerDbContext - DONE"); + } + + /// + /// Costruttore da connectionString + /// + /// + public TrackerDbContext(string connectionString) : base(connectionString) + { + Log.Info("Init 02 TrackerDbContext - DONE"); + } + + /// + /// DbSet dai dati conferimento <--> pack di uscita + /// + public virtual DbSet DbSetConferimento { get; set; } + + /// + /// DbSet dai dati conferimento <--> confezioni + /// + public virtual DbSet DbSetConfezioni { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + } + } +} diff --git a/EgwProxy.Icoel.DataLayer/packages.config b/EgwProxy.Icoel.DataLayer/packages.config new file mode 100644 index 0000000..eb9d555 --- /dev/null +++ b/EgwProxy.Icoel.DataLayer/packages.config @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel.Test/App.config b/EgwProxy.Icoel.Test/App.config new file mode 100644 index 0000000..504f8ea --- /dev/null +++ b/EgwProxy.Icoel.Test/App.config @@ -0,0 +1,51 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EgwProxy.Icoel.Test/EgwProxy.Icoel.Test.csproj b/EgwProxy.Icoel.Test/EgwProxy.Icoel.Test.csproj new file mode 100644 index 0000000..9375929 --- /dev/null +++ b/EgwProxy.Icoel.Test/EgwProxy.Icoel.Test.csproj @@ -0,0 +1,77 @@ + + + + + Debug + AnyCPU + {A655A6AC-5997-46F9-9752-8C621B80516C} + Exe + EgwProxy.Icoel.Test + EgwProxy.Icoel.Test + v4.6.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + + + + + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + + + + + + + {e36544cb-d699-48d8-9f81-c2758e7c7d19} + EgwProxy.Icoel.DataLayer + + + {c45f5e6e-866b-4a34-a598-29aab2d178ad} + EgwProxy.Icoel + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel.Test/INI/BatchDetails.cs b/EgwProxy.Icoel.Test/INI/BatchDetails.cs new file mode 100644 index 0000000..581f3fb --- /dev/null +++ b/EgwProxy.Icoel.Test/INI/BatchDetails.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.Icoel.INI +{ + class BatchDetails + { + private const string NameFile = "batch.ini"; + private readonly IniFile _sett; + + + public BatchDetails() + { + _sett = new IniFile(); + } + public string GrowerCode + { + get { return _sett.GetKeyValue("Batch", "GrowerCode"); } + set { _sett.SetKeyValue("Batch", "GrowerCode", value); } + } + + public string GrowerName + { + get { return _sett.GetKeyValue("Batch", "GrowerName"); } + set { _sett.SetKeyValue("Batch", "GrowerName", value); } + } + public string Comment1 + { + get { return _sett.GetKeyValue("Batch", "Comment1"); } + set { _sett.SetKeyValue("Batch", "Comment1", value); } + } + public string Comment2 + { + get { return _sett.GetKeyValue("Batch", "Comment2"); } + set { _sett.SetKeyValue("Batch", "Comment2", value); } + } + public string Comment3 + { + get { return _sett.GetKeyValue("Batch", "Comment3"); } + set { _sett.SetKeyValue("Batch", "Comment3", value); } + } + + public void Load() + { + if (!File.Exists(NameFile)) + { + var fs = File.Create(NameFile); + fs.Close(); + } + _sett.Load(NameFile, false); + } + + public void Save() + { + _sett.Save(NameFile); + } + } +} diff --git a/EgwProxy.Icoel.Test/INI/IniFileCs.cs b/EgwProxy.Icoel.Test/INI/IniFileCs.cs new file mode 100644 index 0000000..5726dc2 --- /dev/null +++ b/EgwProxy.Icoel.Test/INI/IniFileCs.cs @@ -0,0 +1,479 @@ +/* +Date: 08\23\2010 - Ludvik Jerabek - Initial Release +Version: 1.0 +Comment: Allow INI manipulation in .NET +License: CPOL + +Revisions: + +08\23\2010 - Ludvik Jerabek - Initial Release +11\12\2010 - Ludvik Jerabek - Fixed section regex matching on key values with brackets +06\20\2015 - Ludvik Jerabek - Fixed key parsing regex to account for keys with spaces in names + + +**DISCLAIMER** +THIS MATERIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, +EITHER EXPRESS OR IMPLIED, INCLUDING, BUT Not LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE, OR NON-INFRINGEMENT. SOME JURISDICTIONS DO NOT ALLOW THE +EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT +APPLY TO YOU. IN NO EVENT WILL I BE LIABLE TO ANY PARTY FOR ANY +DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES FOR ANY +USE OF THIS MATERIAL INCLUDING, WITHOUT LIMITATION, ANY LOST +PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS OR OTHER DATA ON +YOUR INFORMATION HANDLING SYSTEM OR OTHERWISE, EVEN If WE ARE +EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +*/ + +using System.IO; +using System.Text.RegularExpressions; +using System.Collections; +using System.Diagnostics; +using System; + +// IniFile class used to read and write ini files by loading the file into memory +public class IniFile +{ + // List of IniSection objects keeps track of all the sections in the INI file + private Hashtable m_sections; + + // Public constructor + public IniFile() + { + m_sections = new Hashtable(StringComparer.InvariantCultureIgnoreCase); + } + + // Loads the Reads the data in the ini file into the IniFile object + public void Load(string sFileName ) + { + Load(sFileName, false); + } + + // Loads the Reads the data in the ini file into the IniFile object + public void Load(string sFileName, bool bMerge ) + { + if (!bMerge) + { + RemoveAllSections(); + } + // Clear the object... + IniSection tempsection = null; + StreamReader oReader = new StreamReader(sFileName); + Regex regexcomment = new Regex("^([\\s]*#.*)", (RegexOptions.Singleline | RegexOptions.IgnoreCase)); + Regex regexsection = new Regex("^[\\s]*\\[[\\s]*([^\\[\\s].*[^\\s\\]])[\\s]*\\][\\s]*$", (RegexOptions.Singleline | RegexOptions.IgnoreCase)); + Regex regexkey = new Regex("^\\s*([^=]*[^\\s=])\\s*=(.*)", (RegexOptions.Singleline | RegexOptions.IgnoreCase)); + + while (!oReader.EndOfStream) + { + string line = oReader.ReadLine(); + if (line != string.Empty) + { + Match m = null; + if (regexcomment.Match(line).Success) + { + m = regexcomment.Match(line); + Trace.WriteLine(string.Format("Skipping Comment: {0}", m.Groups[0].Value)); + } + else if (regexsection.Match(line).Success) + { + m = regexsection.Match(line); + Trace.WriteLine(string.Format("Adding section [{0}]", m.Groups[1].Value)); + tempsection = AddSection(m.Groups[1].Value); + } + else if ( regexkey.Match(line).Success && tempsection != null) + { + m = regexkey.Match(line); + Trace.WriteLine(string.Format("Adding Key [{0}]=[{1}]", m.Groups[1].Value, m.Groups[2].Value)); + tempsection.AddKey(m.Groups[1].Value).Value = m.Groups[2].Value; + } + else if ( tempsection != null ) + { + // Handle Key without Value + Trace.WriteLine(string.Format("Adding Key [{0}]", line)); + tempsection.AddKey(line); + } + else + { + // This should not occur unless the tempsection is not created yet... + Trace.WriteLine(string.Format("Skipping unknown type of data: {0}", line)); + } + } + } + oReader.Close(); + } + + // Used to save the data back to the file or your choice + public void Save(string sFileName) + { + StreamWriter oWriter = new StreamWriter(sFileName, false); + foreach (IniSection s in Sections) + { + Trace.WriteLine(string.Format("Writing Section: [{0}]", s.Name)); + oWriter.WriteLine(string.Format("[{0}]", s.Name)); + foreach (IniSection.IniKey k in s.Keys) + { + if (k.Value != string.Empty) + { + Trace.WriteLine(string.Format("Writing Key: {0}={1}", k.Name, k.Value)); + oWriter.WriteLine(string.Format("{0}={1}", k.Name, k.Value)); + } + else + { + Trace.WriteLine(string.Format("Writing Key: {0}", k.Name)); + oWriter.WriteLine(string.Format("{0}", k.Name)); + } + } + } + oWriter.Close(); + } + + // Gets all the sections names + public System.Collections.ICollection Sections + { + get + { + return m_sections.Values; + } + } + + // Adds a section to the IniFile object, returns a IniSection object to the new or existing object + public IniSection AddSection(string sSection ) + { + IniSection s = null; + sSection = sSection.Trim(); + // Trim spaces + if (m_sections.ContainsKey(sSection)) + { + s = (IniSection)m_sections[sSection]; + } + else + { + s = new IniSection(this, sSection); + m_sections[sSection] = s; + } + return s; + } + + // Removes a section by its name sSection, returns trus on success + public bool RemoveSection(string sSection) + { + sSection = sSection.Trim(); + return RemoveSection(GetSection(sSection)); + } + + // Removes section by object, returns trus on success + public bool RemoveSection(IniSection Section) + { + if (Section != null) + { + try + { + m_sections.Remove(Section.Name); + return true; + } + catch( Exception ex ) + { + Trace.WriteLine(ex.Message); + } + } + return false; + } + + // Removes all existing sections, returns trus on success + public bool RemoveAllSections() + { + m_sections.Clear(); + return (m_sections.Count == 0); + } + + // Returns an IniSection to the section by name, NULL if it was not found + public IniSection GetSection(string sSection) + { + sSection = sSection.Trim(); + // Trim spaces + if (m_sections.ContainsKey(sSection)) + { + return (IniSection)m_sections[sSection]; + } + return null; + } + + // Returns a KeyValue in a certain section + public string GetKeyValue(string sSection, string sKey) + { + IniSection s = GetSection(sSection); + if (s != null) + { + IniSection.IniKey k = s.GetKey(sKey); + if (k != null) + { + return k.Value; + } + } + return string.Empty; + } + + // Sets a KeyValuePair in a certain section + public bool SetKeyValue(string sSection, string sKey, string sValue) + { + IniSection s = AddSection(sSection); + if (s != null) + { + IniSection.IniKey k = s.AddKey(sKey); + if (k != null) + { + k.Value = sValue; + return true; + } + } + return false; + } + + // Renames an existing section returns true on success, false if the section didn't exist or there was another section with the same sNewSection + public bool RenameSection(string sSection, string sNewSection) + { + // Note string trims are done in lower calls. + bool bRval = false; + IniSection s = GetSection(sSection); + if (s != null) + { + bRval = s.SetName(sNewSection); + } + return bRval; + } + + // Renames an existing key returns true on success, false if the key didn't exist or there was another section with the same sNewKey + public bool RenameKey(string sSection, string sKey, string sNewKey) + { + // Note string trims are done in lower calls. + IniSection s = GetSection(sSection); + if (s != null) + { + IniSection.IniKey k = s.GetKey(sKey); + if (k != null) + { + return k.SetName(sNewKey); + } + } + return false; + } + + // IniSection class + public class IniSection + { + // IniFile IniFile object instance + private IniFile m_pIniFile; + // Name of the section + private string m_sSection; + // List of IniKeys in the section + private Hashtable m_keys; + + // Constuctor so objects are internally managed + protected internal IniSection(IniFile parent, string sSection) + { + m_pIniFile = parent; + m_sSection = sSection; + m_keys = new Hashtable(StringComparer.InvariantCultureIgnoreCase); + } + + // Returns and hashtable of keys associated with the section + public System.Collections.ICollection Keys + { + get + { + return m_keys.Values; + } + } + + // Returns the section name + public string Name + { + get + { + return m_sSection; + } + } + + // Adds a key to the IniSection object, returns a IniKey object to the new or existing object + public IniKey AddKey(string sKey) + { + sKey = sKey.Trim(); + IniSection.IniKey k = null; + if (sKey.Length != 0) + { + if (m_keys.ContainsKey(sKey)) + { + k = (IniKey)m_keys[sKey]; + } + else + { + k = new IniSection.IniKey(this, sKey); + m_keys[sKey] = k; + } + } + return k; + } + + // Removes a single key by string + public bool RemoveKey(string sKey) + { + return RemoveKey(GetKey(sKey)); + } + + // Removes a single key by IniKey object + public bool RemoveKey(IniKey Key) + { + if (Key != null) + { + try + { + m_keys.Remove(Key.Name); + return true; + } + catch (Exception ex) + { + Trace.WriteLine(ex.Message); + } + } + return false; + } + + // Removes all the keys in the section + public bool RemoveAllKeys() + { + m_keys.Clear(); + return (m_keys.Count == 0); + } + + // Returns a IniKey object to the key by name, NULL if it was not found + public IniKey GetKey(string sKey) + { + sKey = sKey.Trim(); + if (m_keys.ContainsKey(sKey)) + { + return (IniKey)m_keys[sKey]; + } + return null; + } + + // Sets the section name, returns true on success, fails if the section + // name sSection already exists + public bool SetName(string sSection) + { + sSection = sSection.Trim(); + if (sSection.Length != 0) + { + // Get existing section if it even exists... + IniSection s = m_pIniFile.GetSection(sSection); + if (s != this && s != null) return false; + try + { + // Remove the current section + m_pIniFile.m_sections.Remove(m_sSection); + // Set the new section name to this object + m_pIniFile.m_sections[sSection] = this; + // Set the new section name + m_sSection = sSection; + return true; + } + catch (Exception ex) + { + Trace.WriteLine(ex.Message); + } + } + return false; + } + + // Returns the section name + public string GetName() + { + return m_sSection; + } + + // IniKey class + public class IniKey + { + // Name of the Key + private string m_sKey; + // Value associated + private string m_sValue; + // Pointer to the parent CIniSection + private IniSection m_section; + + // Constuctor so objects are internally managed + protected internal IniKey(IniSection parent, string sKey) + { + m_section = parent; + m_sKey = sKey; + } + + // Returns the name of the Key + public string Name + { + get + { + return m_sKey; + } + } + + // Sets or Gets the Value of the key + public string Value + { + get + { + return m_sValue; + } + set + { + m_sValue = value; + } + } + + // Sets the Value of the key + public void SetValue(string sValue) + { + m_sValue = sValue; + } + // Returns the Value of the Key + public string GetValue() + { + return m_sValue; + } + + // Sets the key name + // Returns true on success, fails if the section name sKey already exists + public bool SetName(string sKey) + { + sKey = sKey.Trim(); + if (sKey.Length != 0) + { + IniKey k = m_section.GetKey(sKey); + if (k != this && k != null) return false; + try + { + // Remove the current key + m_section.m_keys.Remove(m_sKey); + // Set the new key name to this object + m_section.m_keys[sKey] = this; + // Set the new key name + m_sKey = sKey; + return true; + } + catch (Exception ex) + { + Trace.WriteLine(ex.Message); + } + } + return false; + } + + // Returns the name of the Key + public string GetName() + { + return m_sKey; + } + } // End of IniKey class + } // End of IniSection class +} // End of IniFile class + + diff --git a/EgwProxy.Icoel.Test/INI/Settaggi.cs b/EgwProxy.Icoel.Test/INI/Settaggi.cs new file mode 100644 index 0000000..f198edd --- /dev/null +++ b/EgwProxy.Icoel.Test/INI/Settaggi.cs @@ -0,0 +1,70 @@ +using System.IO; + +namespace EgwProxy.Icoel.Test.INI +{ + public class Settaggi + { + #region Public Constructors + + public Settaggi() + { + _sett = new IniFile(); + } + + #endregion Public Constructors + + #region Public Properties + + public string IndirizzoIpSizer + { + get { return _sett.GetKeyValue("Sizer", "IndirizzoIp"); } + set { _sett.SetKeyValue("Sizer", "IndirizzoIp", value); } + } + + public string IndirizzoIpSizerClient + { + get { return _sett.GetKeyValue("Sizer", "IndirizzoIpTracciabilità"); } + set { _sett.SetKeyValue("Sizer", "IndirizzoIpTracciabilità", value); } + } + + public string SizerTcpPort + { + get { return _sett.GetKeyValue("Sizer", "TcpPort"); } + set { _sett.SetKeyValue("Sizer", "TcpPort", value); } + } + + public string TcpPortSizerClient + { + get { return _sett.GetKeyValue("Sizer", "TcpPortTracciabilità"); } + set { _sett.SetKeyValue("Sizer", "TcpPortTracciabilità", value); } + } + + #endregion Public Properties + + #region Public Methods + + public void Load() + { + if (!File.Exists(NameFile)) + { + var fs = File.Create(NameFile); + fs.Close(); + } + _sett.Load(NameFile, false); + } + + public void Save() + { + _sett.Save(NameFile); + } + + #endregion Public Methods + + #region Private Fields + + private const string NameFile = "conf.ini"; + private readonly IniFile _sett; + + #endregion Private Fields + } +} \ No newline at end of file diff --git a/EgwProxy.Icoel.Test/Program.cs b/EgwProxy.Icoel.Test/Program.cs new file mode 100644 index 0000000..0b49945 --- /dev/null +++ b/EgwProxy.Icoel.Test/Program.cs @@ -0,0 +1,385 @@ +using EgwProxy.Icoel.DataLayer.DatabaseModels; +using EgwProxy.Icoel.SizerService; +//using EgwProxy.Icoel.Test.INI; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Diagnostics; + +namespace EgwProxy.Icoel.Test +{ + internal class Program + { + #region Internal Methods + + /// + /// Mostra tutte le metriche di performance ricevute + /// + /// + internal static void DisplayPerfMeter(Dictionary perfMeter) + { + // mostra tutti i parametri rilevati... + foreach (var item in perfMeter) + { + Console.WriteLine($"{item.Key} | {item.Value:N2}"); + } + } + /// + /// Mostra tutte le metriche di performance ricevute + /// + /// + internal static void DisplayCurrBatch(Dictionary currData) + { + // mostra tutti i parametri rilevati... + foreach (var item in currData) + { + Console.WriteLine($"{item.Key} | {item.Value}"); + } + } + + + + /// + /// Generazione di una list di info sui dati variety + /// + /// + /// + internal static void DisplayVariety(Variety[] varietyData) + { + foreach (var item in varietyData) + { + Console.WriteLine("--------------------------"); + Console.WriteLine($"Variety Id: {item.Id} | Variety Name: {item.Name}"); + Console.WriteLine(" - Qualities"); + foreach (var quality in item.Qualities) + { + Console.WriteLine($" Name: {quality.Name}"); + } + Console.WriteLine(" - Grades"); + foreach (var grade in item.Grades) + { + Console.WriteLine($" Name: {grade.Name}"); + } + Console.WriteLine(" - Sizes"); + foreach (var size in item.SizingMaps) + { + Console.WriteLine($" Name: {size.Name}"); + } + } + } + + /// + /// Generazione di una list di info sui dati variety + /// + /// + /// + internal static void DisplayVarietyLayout(Dictionary varietyData) + { + foreach (var item in varietyData) + { + Console.WriteLine("--------------------------"); + Console.WriteLine($"Variety Id: {item.Key.Id} | Variety Name: {item.Key.Name}"); + Console.WriteLine(" - Qualities"); + foreach (var quality in item.Key.Qualities) + { + Console.WriteLine($" Name: {quality.Name}"); + } + Console.WriteLine(" - Grades"); + foreach (var grade in item.Key.Grades) + { + Console.WriteLine($" Name: {grade.Name}"); + } + Console.WriteLine(" - Sizes"); + foreach (var size in item.Key.SizingMaps) + { + Console.WriteLine($" Name: {size.Name}"); + } + Console.WriteLine(" - LAYOUTS"); + foreach (var layout in item.Value) + { + Console.WriteLine($" Id: {layout.Id} | Name: {layout.Name}"); + Console.WriteLine(" - Products"); + foreach (var product in layout.Products) + { + Console.WriteLine($" Id: {product.Id} | Name: {product.Name} | DisplayName: {product.DisplayName} | Pack: {product.Pack}"); + } + } + } + } + + /// + /// Mostra elenco variety e quanod utente seleziona restituisce varGuid + /// + /// + internal static Guid selLayout(Connector IcoelSizer, Guid varGuid) + { + int idxLay = -1; + Guid layGuid = Guid.NewGuid(); + + // recupero layout della varietà + var layoutList = IcoelSizer.GetLayoutForVariety(varGuid); + + Console.WriteLine("--------------------"); + Console.WriteLine("Layout disponibili:"); + Console.WriteLine("--------------------"); + DisplayLayout(layoutList); + // recupero layout x varietà + while (idxLay <= 0) + { + Console.WriteLine(""); + Console.WriteLine("indicare layout"); + var rawData = Console.ReadLine(); + if (!string.IsNullOrEmpty(rawData)) + { + int.TryParse(rawData, out idxLay); + // verifico sia valida.. + if (layoutList.Length >= idxLay && idxLay > 0) + { + layGuid = layoutList[idxLay - 1].Id; + } + else + { + idxLay = -1; + } + } + } + return layGuid; + } + + /// + /// Mostra elenco variety e quanod utente seleziona restituisce varGuid + /// + /// + internal static Guid selVariety(Connector IcoelSizer) + { + int idxVar = -1; + Guid varGuid = Guid.NewGuid(); + var varList = IcoelSizer.GetVarietyList(true); + + Console.WriteLine("--------------------"); + Console.WriteLine("Varietà disponibili:"); + Console.WriteLine("--------------------"); + DisplayVariety(varList); + // chiedo di selezionare + while (idxVar <= 0) + { + Console.WriteLine(""); + Console.WriteLine("indicare varietà richiesta (#)"); + var rawData = Console.ReadLine(); + if (!string.IsNullOrEmpty(rawData)) + { + int.TryParse(rawData, out idxVar); + // verifico sia valida.. + if (varList.Length >= idxVar && idxVar > 0) + { + varGuid = varList[idxVar - 1].Id; + } + else + { + idxVar = -1; + } + } + } + return varGuid; + } + + #endregion Internal Methods + + #region Private Methods + + /// + /// Generazione di una list di layout dato elenco + /// + /// + /// + internal static void DisplayLayout(Layout[] layoutList) + { + foreach (var layout in layoutList) + { + Console.WriteLine($" Id: {layout.Id} | Name: {layout.Name}"); + Console.WriteLine(" - Products"); + foreach (var product in layout.Products) + { + Console.WriteLine($" Id: {product.Id} | Name: {product.Name} | DisplayName: {product.DisplayName} | Pack: {product.Pack}"); + } + } + } + + /// + /// legge conf in formato stringa + /// + /// + /// + protected static string ReadSetting(string key) + { + string answ = ""; + try + { + answ = $"{ConfigurationManager.AppSettings[key]}" ?? ""; + } + catch (Exception exc) + { + Console.Write("Eccezione in ReadSettings"); + Console.Write(exc.Message); + } + return answ; + } + + /// + /// Programma principale + /// + /// + private static void Main(string[] args) + { + // leggo conf da file ini (ip/port) + Console.WriteLine("Loading Files..."); + string userInput = ""; + + Console.WriteLine("------------ Test DB ------------"); + EgwProxy.Icoel.DbProxy dbProxy = new DbProxy(ReadSetting("SyncState")); + Console.WriteLine(); + Console.WriteLine("--- SyncState ---"); + bool needRedo = true; + int numTry = 1; + //int numTry = 3; + var elencoSyncState = dbProxy.DataController.SyncStateGetAll(); + while (needRedo && numTry >= 0) + { + Console.WriteLine(" --- PRE --- "); + if (elencoSyncState != null) + { + foreach (var item in elencoSyncState) + { + Console.WriteLine($"TAB: {item.TableName} | IdxIN / IdxLocal {item.LastIdxIn} / {item.LastIdx} | NumIn / NumLocal {item.NumRecIn} / {item.NumRec}"); + // verifico se serva redo.. + } + } + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + Console.ReadKey(); + Stopwatch sw = new Stopwatch(); + sw.Start(); + elencoSyncState = dbProxy.DataController.SyncStateDoImportAll(); + sw.Stop(); + Console.WriteLine($" process time: {sw.ElapsedMilliseconds} ms "); + Console.WriteLine(" --- POST --- "); + if (elencoSyncState != null) + { + foreach (var item in elencoSyncState) + { + Console.WriteLine($"TAB: {item.TableName} | IdxIN / IdxLocal {item.LastIdxIn} / {item.LastIdx} | NumIn / NumLocal {item.NumRecIn} / {item.NumRec}"); + // verifico se serva redo.. + } + } + // processo + needRedo = testNeedRedo(elencoSyncState); + numTry--; + } + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + Console.ReadKey(); + + // oggetto x connessione al sizer icoel + Connector IcoelSizer = new Connector(ReadSetting("IndirizzoIpSizer"), ReadSetting("SizerTcpPort")); + //Connector IcoelSizer = new Connector(setup.IndirizzoIpSizer, setup.SizerTcpPort); + + Console.WriteLine("------------ Parametri CurrBatch rilevati ------------"); + var cBatch = IcoelSizer.GetCurrBatchData(); + if (cBatch != null) + { + DisplayCurrBatch(cBatch); + } + + // ora effettua un pò di letture/scritture + try + { + + Console.WriteLine("------------ TUTTE variety ------------"); + var varList = IcoelSizer.GetVarietyList(false); + var varietyData = IcoelSizer.GetLayoutForVarietyList(varList); + if (varietyData != null) + { + DisplayVarietyLayout(varietyData); + } + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + userInput = Console.ReadLine(); + + + Console.WriteLine("------------ Parametri velocità rilevati ------------"); + var perfMeter = IcoelSizer.GetPerfMeters(); + if (perfMeter != null) + { + DisplayPerfMeter(perfMeter); + } + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + userInput = Console.ReadLine(); + + // solo attive + Console.WriteLine("------------ solo attive ------------"); + varList = IcoelSizer.GetVarietyList(); + varietyData = IcoelSizer.GetLayoutForVarietyList(varList); + if (varietyData != null) + { + DisplayVarietyLayout(varietyData); + } + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + userInput = Console.ReadLine(); + + Console.WriteLine("------------ BATCH correnti ------------"); + var currBatch = IcoelSizer.GetCurrentBatch(); + foreach (var item in currBatch) + { + string lato = item.Key == 1 ? "SX" : "DX"; + Console.WriteLine($"[{item.Key}-{lato}] Grower code: {item.Value.GrowerCode} | Layout Name: {item.Value.LayoutName} | Totalling: [{item.Value.TotallingVarietyCode}] {item.Value.TotallingVariety} | Sizing: {item.Value.SizingProfileName} | Start {item.Value.StartTime} | End {item.Value.EndTime}"); + } + Console.WriteLine(); + Console.WriteLine("Premere un tasto x continuare..."); + userInput = Console.ReadLine(); + + Console.WriteLine("------------ Prova invio BATCH ------------"); + // recupero GUID x variety e layout + var varGuid = selVariety(IcoelSizer); + var layGuid = selLayout(IcoelSizer, varGuid); + + GrowerInfo GrowerData = new GrowerInfo(); + IcoelSizer.EnqueueBatch(GrowerData, varGuid, layGuid); + + currBatch = IcoelSizer.GetCurrentBatch(); + foreach (var item in currBatch) + { + string lato = item.Key == 1 ? "SX" : "DX"; + Console.WriteLine($"[{item.Key}-{lato}] Grower code: {item.Value.GrowerCode} | Layout Name: {item.Value.LayoutName} | Totalling: [{item.Value.TotallingVarietyCode}] {item.Value.TotallingVariety} | Sizing: {item.Value.SizingProfileName} | Start {item.Value.StartTime} | End {item.Value.EndTime}"); + } + Console.WriteLine("Test completato"); + Console.WriteLine("Premere un tasto x chiudere"); + Console.ReadKey(); + } + catch (Exception ex) + { + Console.WriteLine("ECCEZIONE" + ex.Message + ex.StackTrace); + Console.ReadKey(); + } + } + /// + /// Verifico necessità di rifare sync + /// + /// + /// + /// + private static bool testNeedRedo(List elencoSyncState) + { + bool answ = false; + foreach (var item in elencoSyncState) + { + answ = answ || (item.NumRecIn > item.NumRec || item.LastIdxIn > item.LastIdx); + } + return answ; + } + + + #endregion Private Methods + } +} \ No newline at end of file diff --git a/EgwProxy.Icoel.Test/Properties/AssemblyInfo.cs b/EgwProxy.Icoel.Test/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..339a1f6 --- /dev/null +++ b/EgwProxy.Icoel.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("EgwProxy.Icoel.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.Icoel.Test")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a655a6ac-5997-46f9-9752-8c621b80516c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.Icoel.Test/batch.ini b/EgwProxy.Icoel.Test/batch.ini new file mode 100644 index 0000000..a7e6ca8 --- /dev/null +++ b/EgwProxy.Icoel.Test/batch.ini @@ -0,0 +1,6 @@ +[Batch] +GrowerCode=02 +GrowerName=Egalware +Comment1=Prova Invio +Comment2=Console app +Comment3=Selezionato Variety e layout \ No newline at end of file diff --git a/EgwProxy.Icoel.Test/conf.ini b/EgwProxy.Icoel.Test/conf.ini new file mode 100644 index 0000000..ebbeb53 --- /dev/null +++ b/EgwProxy.Icoel.Test/conf.ini @@ -0,0 +1,3 @@ +[Sizer] +IndirizzoIp=192.168.137.50 +TcpPort=8001 \ No newline at end of file diff --git a/EgwProxy.Icoel.Test/packages.config b/EgwProxy.Icoel.Test/packages.config new file mode 100644 index 0000000..42c4488 --- /dev/null +++ b/EgwProxy.Icoel.Test/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/App.config b/EgwProxy.Icoel/App.config new file mode 100644 index 0000000..e650892 --- /dev/null +++ b/EgwProxy.Icoel/App.config @@ -0,0 +1,37 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Appunti.md b/EgwProxy.Icoel/Appunti.md new file mode 100644 index 0000000..ae37551 --- /dev/null +++ b/EgwProxy.Icoel/Appunti.md @@ -0,0 +1,107 @@ +# Appunti impiego connesisoni ICOEL + +## Icoel SOAP + +Oltre ai metodi legati al batch, ci sono questi metodi x recuperare informazioni specifiche di produttività + +| Metodo | Descrizione | +| ---------- | ---------- | +| GetMachineTonnesPH() | valore tonnellate/ora di velocità impianto | +| GetMachineTotalFPM() | valore frutti per minuto | +| GetMachineRodsPM() | velocità catena (carrellini / minuto) | +| GetMachineCupfill() | percentuale riempimento carrellini (100% = 1 frutto x ogni carrellino) | + + +## Icoel DB + +Appunti sulla gestione tabelle di frontiera + +### Products total + +/****** Script for SelectTopNRows command from SSMS ******/ +SELECT TOP (1000) [SizerBatchId] + ,[Index] + ,[Nome] + ,[Qualities] + ,[Grado] + ,[Calibro] + ,[NumeroFrutti] + ,[Decigrammi] + FROM [IcoelExport].[dbo].[ProductsTotals] + + +### Entrata Ciliegie + +SELECT * +FROM [frontiera].[dbo].[ENTRATACILIEGIE] + + + -- utilizzare codice e descrizione prodotto... + +### Fine lavorazione +select top 100 * +from ProductsTotals + +/* +SizerBatch id = id del batch da WS SOAP +Index = indice di prodotto FINITO, di cui ho il NOME +- prodotti da matrice: colonne = gradi, righe = taglie(sizes) +- grado a colore rosso +- do il nome prodotto rosse 26- (che sono da 22 a 26 in grado A) +- colonna qualities = è la "somma dei qualities" ovvero le colonne che passano nelcontrollo prodotto +- codice in 3 parametri, che sono a,b,c + - a = qualità interna (SEMPRE NULL x le ciliegie) + - b grado = qualità esterna del frutto, es rosse, nere, con stelo... ricircolo = scarto per cattiva disposizione + - c : calibri che mi definiscono la dimensione, tipicamente 22..32 + + + si scrive tutto quando è chiuso il lotto + inizialmente 1 solo lotto x entrambe le linee +*/ + +### Conferimento MES + + +SELECT * +FROM DettagliConferimentoMES +where FillingId = 31729 +order by PackId + + +/* +Numero lotto = sigla giorno +sigla lotto: incrementale giornaliero + +in particoalre x il prodotto grosso --> seleziono da + fornitori (es fornitori grossi) + +PackId = id univoco scatoletta +FillingId / FillingRow NON USATI: li posso ignorare, si applicano al caso "travaso" da bins ingresso / bins uscita "tipizzati" --> serve x precalibrare +scaricoId = operazione di scannerizzazione ( è il barcode letto) +codice a barre è letto x ogni etichetta di conferimento +codice e nome fornitore = grower +codice e descrizione prodotto : sono il GREZZO specifico +cdice prodotto grezzo è il "ceppo" / famiglia +sigla e numero lotto: colonna di entrata ciliegie (frontiera) +idem x data e qta entrata + + +*/ + +### Confezioni Mes + + +SELECT * +FROM DettagliConfezioniMES + + +pack id = singola cassetta/scatoal/cartone +ean = barcode in uscita +batch id / batch name = dati tracciabilità, legato ai lotti in entrata sul sizer +lane [1/2]sizerBatchId = lotti del sizer +pesoDecigram = peso netto confezionato (tolleranza +/-10g...20gr) + +tabella scritta dal momento in cui arriva il cartone/cassetta per iniziare riempimento + +dati live li vediamo dal sizer + +*/ \ No newline at end of file diff --git a/EgwProxy.Icoel/Compac/ComClient.cs b/EgwProxy.Icoel/Compac/ComClient.cs new file mode 100644 index 0000000..3f5ee6e --- /dev/null +++ b/EgwProxy.Icoel/Compac/ComClient.cs @@ -0,0 +1,253 @@ +using EgwProxy.Icoel.SizerService; +using System; +using System.Collections.Generic; +using System.Runtime.Serialization; +using System.ServiceModel; + +namespace EgwProxy.Icoel.Compac +{ + /// + /// Classe di comunicazione x + /// + public class ComClient : IDisposable + { + #region Public Constructors + + /// + /// Oggetto client comunicazione con sizer ICOEL per invio/recupero informazioni di + /// produzione (batch) + /// + /// Indirizzo IP del server SIZER + /// Porta di connessione del sizer (def: 8001) + public ComClient(string sizerIp, string port) + { + // Salvo IP e porta + ipAddress = sizerIp; + tcpPort = port; + + // inizializzazione servizio comunicazione + var url = "http://" + sizerIp + ":" + port + "/SizerService/"; + EndpointAddress epa = new EndpointAddress(new Uri(url)); + SSClient = new SizerServiceClient("WSHttpBinding_ISizerService", epa); + } + + #endregion Public Constructors + + #region Public Properties + + /// + /// Status di connessione del client + /// + public bool connected + { + get + { + bool answ = false; + if (SSClient != null) + { + answ = SSClient.State == CommunicationState.Opened; + } + return answ; + } + } + + #endregion Public Properties + + #region Public Methods + + /// + /// Dispose dell'oggetto + /// + public void Dispose() + { + Close(); + } + + #endregion Public Methods + + #region Internal Properties + + /// + /// Inidirizzo IP + /// + internal string ipAddress { get; set; } = "127.0.0.1"; + + /// + /// Porta del webservice (SOAP) + /// + internal string tcpPort { get; set; } = "8001"; + + #endregion Internal Properties + + #region Internal Methods + + /// + /// Verifica del grower da codice/nome con eventuale creazione se mancante + /// + /// Codice del produttore + /// Denominazione del produttore + internal void CheckGrower(string growerCode, string growerName) + { + var grower = SSClient.GetGrower(growerCode); + + if (grower == null) + { + var nuovo = new Grower() { Code = growerCode, Name = growerName }; + + SSClient.AddGrower(nuovo); + } + } + + /// + /// Effettua chiusura del proxy di comunicazione + /// + internal void Close() + { + if (SSClient.State != CommunicationState.Closed) + { + SSClient.Close(); + } + } + + /// + /// Elenco dei layout attivi della varietà + /// + /// Guid della varietà + /// Oggetto Lyout attivo + internal Layout GetActiveLayout(Guid VarietyId) + { + return SSClient.GetActiveLayout(VarietyId); + } + + /// + /// Elenco varietà attive + /// + /// Array Variety attive + internal Variety[] GetActiveVarieties() + { + return SSClient.GetActiveVarieties(); + } + + /// + /// Elenco varietà (tutte) + /// + /// + internal Variety[] GetAllVarieties() + { + return SSClient.GetAllVarieties(); + } + + /// + /// Recupera il batch corrente (se monolinea) + /// + /// Batch corrente (singolo) + internal Batch GetCurrentBatch() + { + return SSClient.GetCurrentBatch(); + } + + /// + /// Recupera il batch corrente data la linea + /// + /// Numero della linea 1=sx/2=dx + /// Batch della linea selezionata + internal Batch GetCurrentBatchByLane(int lineNum) + { + return SSClient.GetCurrentBatchByLane(lineNum); + } + + /// + /// Elenco dei layout della varietà + /// + /// Guid della varietà + /// Layout della Variety + internal Layout[] GetLayouts(Guid VarietyId) + { + return SSClient.GetLayouts(VarietyId); + } + + /// + /// Effettua chiamata per mettere in coda il lotto richiesto + /// + /// Oggetto Batch completamente popolato da accodare in richiesta + internal void MettiLottoInCoda(Batch batch) + { + SSClient.AddBatch(batch); + } + + /// + /// Recupera elenco parametri performance impianto + /// + /// Dizionario delle variabili di performance dell'impianto in formato Dictionary + internal Dictionary GetPerfMeters() + { + Dictionary answ = new Dictionary(); + // velocità processo indicata in tonnellate /oOra + double velTonnOra = SSClient.GetMachineTonnesPH(); + // velocità espressa in frutti/minuto + double velFruttiMinuto = SSClient.GetMachineTotalFPM(); + // percentuale riempimento carrellini + double percRiemp = SSClient.GetMachineCupfill(); + // Numero confezioni/ora + double numPackOra = SSClient.GetMachinePacksPH(); + + // accodo i valori ricavati + answ.Add("NumPacksOra", numPackOra); + answ.Add("PercRiemp", percRiemp); + answ.Add("VelFruttiMinuto", velFruttiMinuto); + answ.Add("VelTonnOra", velTonnOra); + return answ; + } + + + #endregion Internal Methods + + #region Private Properties + + /// + /// Client che inoltra le richieste al Sizer + /// + private SizerServiceClient SSClient { get; set; } + + #endregion Private Properties + } + + [Serializable] + internal class IcoelSizerException : Exception + { + #region Public Constructors + + public IcoelSizerException() + { + } + + public IcoelSizerException(Exception ex) + { + this.ex = ex; + } + + public IcoelSizerException(string message) : base(message) + { + } + + public IcoelSizerException(string message, Exception innerException) : base(message, innerException) + { + } + + #endregion Public Constructors + + #region Protected Constructors + + protected IcoelSizerException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + + #endregion Protected Constructors + + #region Private Fields + + private Exception ex; + + #endregion Private Fields + } +} \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Arrays.xsd b/EgwProxy.Icoel/Connected Services/SizerService/Arrays.xsd new file mode 100644 index 0000000..97e2430 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Arrays.xsd @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core.xsd b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core.xsd new file mode 100644 index 0000000..93412a5 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core.xsd @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core1.xsd b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core1.xsd new file mode 100644 index 0000000..0cd90fe --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core1.xsd @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core2.xsd b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core2.xsd new file mode 100644 index 0000000..ad64123 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Core2.xsd @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service.wsdl b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service.wsdl new file mode 100644 index 0000000..79cbb4a --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service.wsdl @@ -0,0 +1,1241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service.xsd b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service.xsd new file mode 100644 index 0000000..6c4cbd1 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service.xsd @@ -0,0 +1,1457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service1.xsd b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service1.xsd new file mode 100644 index 0000000..155093c --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Compac.Services.Sizer.Service1.xsd @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.AbstractSamplingConfiguration.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.AbstractSamplingConfiguration.datasource new file mode 100644 index 0000000..78740e5 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.AbstractSamplingConfiguration.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Batch.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Batch.datasource new file mode 100644 index 0000000..450c8e6 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Batch.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.Batch, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.GetVersionResponse.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.GetVersionResponse.datasource new file mode 100644 index 0000000..f2582c0 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.GetVersionResponse.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.GetVersionResponse, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Grower.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Grower.datasource new file mode 100644 index 0000000..bb5d473 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Grower.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.Grower, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Label.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Label.datasource new file mode 100644 index 0000000..646b7b2 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Label.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.Label, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.LaneGroup.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.LaneGroup.datasource new file mode 100644 index 0000000..1ef99a0 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.LaneGroup.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.LaneGroup, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Layout.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Layout.datasource new file mode 100644 index 0000000..ea0f191 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Layout.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.Layout, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Outlet.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Outlet.datasource new file mode 100644 index 0000000..78c94bb --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Outlet.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.Outlet, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Pack.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Pack.datasource new file mode 100644 index 0000000..d3d04cc --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Pack.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.Pack, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Product.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Product.datasource new file mode 100644 index 0000000..07b6192 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Product.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.Product, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.SamplingProgress.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.SamplingProgress.datasource new file mode 100644 index 0000000..a68164b --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.SamplingProgress.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.SamplingProgress, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.ServiceVersion.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.ServiceVersion.datasource new file mode 100644 index 0000000..30c126b --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.ServiceVersion.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.ServiceVersion, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Variety.datasource b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Variety.datasource new file mode 100644 index 0000000..cf69355 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/EnqueueNewBatch.SizerService.Variety.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.Icoel.SizerService.Variety, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Icoel.Soap.SizerService.ServiceVersion.datasource b/EgwProxy.Icoel/Connected Services/SizerService/Icoel.Soap.SizerService.ServiceVersion.datasource new file mode 100644 index 0000000..e69de29 diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Reference.cs b/EgwProxy.Icoel/Connected Services/SizerService/Reference.cs new file mode 100644 index 0000000..3ab773f --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Reference.cs @@ -0,0 +1,4635 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace EgwProxy.Icoel.SizerService { + using System.Runtime.Serialization; + using System; + + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="ServiceVersion", Namespace="http://schemas.datacontract.org/2004/07/Compac.Services.Core")] + [System.SerializableAttribute()] + public partial class ServiceVersion : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Version InterfaceVersionField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string ProviderNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string ProviderVersionField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Version InterfaceVersion { + get { + return this.InterfaceVersionField; + } + set { + if ((object.ReferenceEquals(this.InterfaceVersionField, value) != true)) { + this.InterfaceVersionField = value; + this.RaisePropertyChanged("InterfaceVersion"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string ProviderName { + get { + return this.ProviderNameField; + } + set { + if ((object.ReferenceEquals(this.ProviderNameField, value) != true)) { + this.ProviderNameField = value; + this.RaisePropertyChanged("ProviderName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string ProviderVersion { + get { + return this.ProviderVersionField; + } + set { + if ((object.ReferenceEquals(this.ProviderVersionField, value) != true)) { + this.ProviderVersionField = value; + this.RaisePropertyChanged("ProviderVersion"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Batch", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Batch : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private bool AvoidLayoutChangeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private bool AvoidSavingOldLayoutsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string[] CommentsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.DateTime EndTimeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string GrowerCodeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int IdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private bool IsFinalizedField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.LaneGroup[] LaneGroupsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Guid LayoutIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string LayoutNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private bool OverrideLayoutConflictsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string SampleNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string SizingProfileNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.DateTime StartTimeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string TotallingVarietyField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string TotallingVarietyCodeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Guid VarietyIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string VarietyNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int VisionMapField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public bool AvoidLayoutChange { + get { + return this.AvoidLayoutChangeField; + } + set { + if ((this.AvoidLayoutChangeField.Equals(value) != true)) { + this.AvoidLayoutChangeField = value; + this.RaisePropertyChanged("AvoidLayoutChange"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public bool AvoidSavingOldLayouts { + get { + return this.AvoidSavingOldLayoutsField; + } + set { + if ((this.AvoidSavingOldLayoutsField.Equals(value) != true)) { + this.AvoidSavingOldLayoutsField = value; + this.RaisePropertyChanged("AvoidSavingOldLayouts"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string[] Comments { + get { + return this.CommentsField; + } + set { + if ((object.ReferenceEquals(this.CommentsField, value) != true)) { + this.CommentsField = value; + this.RaisePropertyChanged("Comments"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.DateTime EndTime { + get { + return this.EndTimeField; + } + set { + if ((this.EndTimeField.Equals(value) != true)) { + this.EndTimeField = value; + this.RaisePropertyChanged("EndTime"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string GrowerCode { + get { + return this.GrowerCodeField; + } + set { + if ((object.ReferenceEquals(this.GrowerCodeField, value) != true)) { + this.GrowerCodeField = value; + this.RaisePropertyChanged("GrowerCode"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int Id { + get { + return this.IdField; + } + set { + if ((this.IdField.Equals(value) != true)) { + this.IdField = value; + this.RaisePropertyChanged("Id"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public bool IsFinalized { + get { + return this.IsFinalizedField; + } + set { + if ((this.IsFinalizedField.Equals(value) != true)) { + this.IsFinalizedField = value; + this.RaisePropertyChanged("IsFinalized"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.LaneGroup[] LaneGroups { + get { + return this.LaneGroupsField; + } + set { + if ((object.ReferenceEquals(this.LaneGroupsField, value) != true)) { + this.LaneGroupsField = value; + this.RaisePropertyChanged("LaneGroups"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Guid LayoutId { + get { + return this.LayoutIdField; + } + set { + if ((this.LayoutIdField.Equals(value) != true)) { + this.LayoutIdField = value; + this.RaisePropertyChanged("LayoutId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string LayoutName { + get { + return this.LayoutNameField; + } + set { + if ((object.ReferenceEquals(this.LayoutNameField, value) != true)) { + this.LayoutNameField = value; + this.RaisePropertyChanged("LayoutName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public bool OverrideLayoutConflicts { + get { + return this.OverrideLayoutConflictsField; + } + set { + if ((this.OverrideLayoutConflictsField.Equals(value) != true)) { + this.OverrideLayoutConflictsField = value; + this.RaisePropertyChanged("OverrideLayoutConflicts"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string SampleName { + get { + return this.SampleNameField; + } + set { + if ((object.ReferenceEquals(this.SampleNameField, value) != true)) { + this.SampleNameField = value; + this.RaisePropertyChanged("SampleName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string SizingProfileName { + get { + return this.SizingProfileNameField; + } + set { + if ((object.ReferenceEquals(this.SizingProfileNameField, value) != true)) { + this.SizingProfileNameField = value; + this.RaisePropertyChanged("SizingProfileName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.DateTime StartTime { + get { + return this.StartTimeField; + } + set { + if ((this.StartTimeField.Equals(value) != true)) { + this.StartTimeField = value; + this.RaisePropertyChanged("StartTime"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string TotallingVariety { + get { + return this.TotallingVarietyField; + } + set { + if ((object.ReferenceEquals(this.TotallingVarietyField, value) != true)) { + this.TotallingVarietyField = value; + this.RaisePropertyChanged("TotallingVariety"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string TotallingVarietyCode { + get { + return this.TotallingVarietyCodeField; + } + set { + if ((object.ReferenceEquals(this.TotallingVarietyCodeField, value) != true)) { + this.TotallingVarietyCodeField = value; + this.RaisePropertyChanged("TotallingVarietyCode"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Guid VarietyId { + get { + return this.VarietyIdField; + } + set { + if ((this.VarietyIdField.Equals(value) != true)) { + this.VarietyIdField = value; + this.RaisePropertyChanged("VarietyId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string VarietyName { + get { + return this.VarietyNameField; + } + set { + if ((object.ReferenceEquals(this.VarietyNameField, value) != true)) { + this.VarietyNameField = value; + this.RaisePropertyChanged("VarietyName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int VisionMap { + get { + return this.VisionMapField; + } + set { + if ((this.VisionMapField.Equals(value) != true)) { + this.VisionMapField = value; + this.RaisePropertyChanged("VisionMap"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="LaneGroup", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class LaneGroup : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int[] LanesField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int[] Lanes { + get { + return this.LanesField; + } + set { + if ((object.ReferenceEquals(this.LanesField, value) != true)) { + this.LanesField = value; + this.RaisePropertyChanged("Lanes"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + [System.SerializableAttribute()] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.ServiceVersion))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.ServiceEvent))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Version))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(int[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(double[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(string[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Guid[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Batch[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Batch))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.LaneGroup[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.LaneGroup))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Layout[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Layout))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Outlet))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Product))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Element[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Element))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Pack))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.PackBoxType))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.PackControl))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.PackingStyle))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.PackTargetFill))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.PackFillMode))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Product[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Variety))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Grade[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Grade))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Quality[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Quality))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.SizingMap[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.SizingMap))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.QualityGradePair[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.QualityGradePair))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Size[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Size))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Variety[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Pack[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Label[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Label))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Outlet[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.AlarmPriority))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Grower))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Grower[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.ElementSamplingConfiguration))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.SamplingMeasurementUnit))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.Ratio))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.RatioMeasurementUnit))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.ProductSamplingConfiguration))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.SamplingProgress[]))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.SamplingProgress))] + public partial class ArgumentFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string MessageField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private object ValueField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Message { + get { + return this.MessageField; + } + set { + if ((object.ReferenceEquals(this.MessageField, value) != true)) { + this.MessageField = value; + this.RaisePropertyChanged("Message"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public object Value { + get { + return this.ValueField; + } + set { + if ((object.ReferenceEquals(this.ValueField, value) != true)) { + this.ValueField = value; + this.RaisePropertyChanged("Value"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="ServiceEvent", Namespace="http://schemas.datacontract.org/2004/07/Compac.Services.Core")] + [System.SerializableAttribute()] + public partial class ServiceEvent : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Collections.Generic.Dictionary EventArgsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string EventNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.DateTime EventTimeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int IdField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Collections.Generic.Dictionary EventArgs { + get { + return this.EventArgsField; + } + set { + if ((object.ReferenceEquals(this.EventArgsField, value) != true)) { + this.EventArgsField = value; + this.RaisePropertyChanged("EventArgs"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string EventName { + get { + return this.EventNameField; + } + set { + if ((object.ReferenceEquals(this.EventNameField, value) != true)) { + this.EventNameField = value; + this.RaisePropertyChanged("EventName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.DateTime EventTime { + get { + return this.EventTimeField; + } + set { + if ((this.EventTimeField.Equals(value) != true)) { + this.EventTimeField = value; + this.RaisePropertyChanged("EventTime"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int Id { + get { + return this.IdField; + } + set { + if ((this.IdField.Equals(value) != true)) { + this.IdField = value; + this.RaisePropertyChanged("Id"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Outlet", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Outlet : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Guid CurrentProductIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private double DeliveredFruitPerMinuteField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int IdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int LastDeliveredBatchIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int MaxRateSquareCMPerMinuteField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Nullable PendingProductIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string StatusField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Guid CurrentProductId { + get { + return this.CurrentProductIdField; + } + set { + if ((this.CurrentProductIdField.Equals(value) != true)) { + this.CurrentProductIdField = value; + this.RaisePropertyChanged("CurrentProductId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public double DeliveredFruitPerMinute { + get { + return this.DeliveredFruitPerMinuteField; + } + set { + if ((this.DeliveredFruitPerMinuteField.Equals(value) != true)) { + this.DeliveredFruitPerMinuteField = value; + this.RaisePropertyChanged("DeliveredFruitPerMinute"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int Id { + get { + return this.IdField; + } + set { + if ((this.IdField.Equals(value) != true)) { + this.IdField = value; + this.RaisePropertyChanged("Id"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int LastDeliveredBatchId { + get { + return this.LastDeliveredBatchIdField; + } + set { + if ((this.LastDeliveredBatchIdField.Equals(value) != true)) { + this.LastDeliveredBatchIdField = value; + this.RaisePropertyChanged("LastDeliveredBatchId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int MaxRateSquareCMPerMinute { + get { + return this.MaxRateSquareCMPerMinuteField; + } + set { + if ((this.MaxRateSquareCMPerMinuteField.Equals(value) != true)) { + this.MaxRateSquareCMPerMinuteField = value; + this.RaisePropertyChanged("MaxRateSquareCMPerMinute"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Nullable PendingProductId { + get { + return this.PendingProductIdField; + } + set { + if ((this.PendingProductIdField.Equals(value) != true)) { + this.PendingProductIdField = value; + this.RaisePropertyChanged("PendingProductId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Status { + get { + return this.StatusField; + } + set { + if ((object.ReferenceEquals(this.StatusField, value) != true)) { + this.StatusField = value; + this.RaisePropertyChanged("Status"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Product", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Product : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string DisplayNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Element[] ElementsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Guid IdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Pack PackField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string SpecialInstructionsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.PackTargetFill TargetFillField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string DisplayName { + get { + return this.DisplayNameField; + } + set { + if ((object.ReferenceEquals(this.DisplayNameField, value) != true)) { + this.DisplayNameField = value; + this.RaisePropertyChanged("DisplayName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Element[] Elements { + get { + return this.ElementsField; + } + set { + if ((object.ReferenceEquals(this.ElementsField, value) != true)) { + this.ElementsField = value; + this.RaisePropertyChanged("Elements"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Guid Id { + get { + return this.IdField; + } + set { + if ((this.IdField.Equals(value) != true)) { + this.IdField = value; + this.RaisePropertyChanged("Id"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Pack Pack { + get { + return this.PackField; + } + set { + if ((object.ReferenceEquals(this.PackField, value) != true)) { + this.PackField = value; + this.RaisePropertyChanged("Pack"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string SpecialInstructions { + get { + return this.SpecialInstructionsField; + } + set { + if ((object.ReferenceEquals(this.SpecialInstructionsField, value) != true)) { + this.SpecialInstructionsField = value; + this.RaisePropertyChanged("SpecialInstructions"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.PackTargetFill TargetFill { + get { + return this.TargetFillField; + } + set { + if ((object.ReferenceEquals(this.TargetFillField, value) != true)) { + this.TargetFillField = value; + this.RaisePropertyChanged("TargetFill"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Layout", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Layout : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Collections.Generic.Dictionary AssignmentsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Guid IdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Product[] ProductsField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Collections.Generic.Dictionary Assignments { + get { + return this.AssignmentsField; + } + set { + if ((object.ReferenceEquals(this.AssignmentsField, value) != true)) { + this.AssignmentsField = value; + this.RaisePropertyChanged("Assignments"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Guid Id { + get { + return this.IdField; + } + set { + if ((this.IdField.Equals(value) != true)) { + this.IdField = value; + this.RaisePropertyChanged("Id"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Product[] Products { + get { + return this.ProductsField; + } + set { + if ((object.ReferenceEquals(this.ProductsField, value) != true)) { + this.ProductsField = value; + this.RaisePropertyChanged("Products"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Element", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Element : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string GradeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string LabelField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string QualityField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string SizeField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Grade { + get { + return this.GradeField; + } + set { + if ((object.ReferenceEquals(this.GradeField, value) != true)) { + this.GradeField = value; + this.RaisePropertyChanged("Grade"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Label { + get { + return this.LabelField; + } + set { + if ((object.ReferenceEquals(this.LabelField, value) != true)) { + this.LabelField = value; + this.RaisePropertyChanged("Label"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Quality { + get { + return this.QualityField; + } + set { + if ((object.ReferenceEquals(this.QualityField, value) != true)) { + this.QualityField = value; + this.RaisePropertyChanged("Quality"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Size { + get { + return this.SizeField; + } + set { + if ((object.ReferenceEquals(this.SizeField, value) != true)) { + this.SizeField = value; + this.RaisePropertyChanged("Size"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Pack", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Pack : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.PackBoxType BoxTypeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Guid IdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.PackControl PackControlField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.PackingStyle StyleField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.PackTargetFill TargetFillField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int UserCodeField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.PackBoxType BoxType { + get { + return this.BoxTypeField; + } + set { + if ((object.ReferenceEquals(this.BoxTypeField, value) != true)) { + this.BoxTypeField = value; + this.RaisePropertyChanged("BoxType"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Guid Id { + get { + return this.IdField; + } + set { + if ((this.IdField.Equals(value) != true)) { + this.IdField = value; + this.RaisePropertyChanged("Id"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.PackControl PackControl { + get { + return this.PackControlField; + } + set { + if ((object.ReferenceEquals(this.PackControlField, value) != true)) { + this.PackControlField = value; + this.RaisePropertyChanged("PackControl"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.PackingStyle Style { + get { + return this.StyleField; + } + set { + if ((object.ReferenceEquals(this.StyleField, value) != true)) { + this.StyleField = value; + this.RaisePropertyChanged("Style"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.PackTargetFill TargetFill { + get { + return this.TargetFillField; + } + set { + if ((object.ReferenceEquals(this.TargetFillField, value) != true)) { + this.TargetFillField = value; + this.RaisePropertyChanged("TargetFill"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int UserCode { + get { + return this.UserCodeField; + } + set { + if ((this.UserCodeField.Equals(value) != true)) { + this.UserCodeField = value; + this.RaisePropertyChanged("UserCode"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="PackBoxType", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class PackBoxType : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string DisplayNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string TypeField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string DisplayName { + get { + return this.DisplayNameField; + } + set { + if ((object.ReferenceEquals(this.DisplayNameField, value) != true)) { + this.DisplayNameField = value; + this.RaisePropertyChanged("DisplayName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Type { + get { + return this.TypeField; + } + set { + if ((object.ReferenceEquals(this.TypeField, value) != true)) { + this.TypeField = value; + this.RaisePropertyChanged("Type"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="PackControl", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class PackControl : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int NumberOfStepsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int PackChangeTimeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int PackLengthField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int StepDelayField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int NumberOfSteps { + get { + return this.NumberOfStepsField; + } + set { + if ((this.NumberOfStepsField.Equals(value) != true)) { + this.NumberOfStepsField = value; + this.RaisePropertyChanged("NumberOfSteps"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int PackChangeTime { + get { + return this.PackChangeTimeField; + } + set { + if ((this.PackChangeTimeField.Equals(value) != true)) { + this.PackChangeTimeField = value; + this.RaisePropertyChanged("PackChangeTime"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int PackLength { + get { + return this.PackLengthField; + } + set { + if ((this.PackLengthField.Equals(value) != true)) { + this.PackLengthField = value; + this.RaisePropertyChanged("PackLength"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int StepDelay { + get { + return this.StepDelayField; + } + set { + if ((this.StepDelayField.Equals(value) != true)) { + this.StepDelayField = value; + this.RaisePropertyChanged("StepDelay"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="PackingStyle", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class PackingStyle : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string DisplayNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string DisplayName { + get { + return this.DisplayNameField; + } + set { + if ((object.ReferenceEquals(this.DisplayNameField, value) != true)) { + this.DisplayNameField = value; + this.RaisePropertyChanged("DisplayName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="PackTargetFill", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class PackTargetFill : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.PackFillMode FillModeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int QuantityField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private decimal WeightDecigramField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.PackFillMode FillMode { + get { + return this.FillModeField; + } + set { + if ((this.FillModeField.Equals(value) != true)) { + this.FillModeField = value; + this.RaisePropertyChanged("FillMode"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int Quantity { + get { + return this.QuantityField; + } + set { + if ((this.QuantityField.Equals(value) != true)) { + this.QuantityField = value; + this.RaisePropertyChanged("Quantity"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public decimal WeightDecigram { + get { + return this.WeightDecigramField; + } + set { + if ((this.WeightDecigramField.Equals(value) != true)) { + this.WeightDecigramField = value; + this.RaisePropertyChanged("WeightDecigram"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="PackFillMode", Namespace="uri:Compac.Services.Sizer.Service")] + public enum PackFillMode : int { + + [System.Runtime.Serialization.EnumMemberAttribute()] + Weight = 0, + + [System.Runtime.Serialization.EnumMemberAttribute()] + Quantity = 1, + + [System.Runtime.Serialization.EnumMemberAttribute()] + WeightAndQuantity = 2, + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Variety", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Variety : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Grade[] GradesField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Guid IdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Quality[] QualitiesField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.SizingMap[] SizingMapsField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Grade[] Grades { + get { + return this.GradesField; + } + set { + if ((object.ReferenceEquals(this.GradesField, value) != true)) { + this.GradesField = value; + this.RaisePropertyChanged("Grades"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Guid Id { + get { + return this.IdField; + } + set { + if ((this.IdField.Equals(value) != true)) { + this.IdField = value; + this.RaisePropertyChanged("Id"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Quality[] Qualities { + get { + return this.QualitiesField; + } + set { + if ((object.ReferenceEquals(this.QualitiesField, value) != true)) { + this.QualitiesField = value; + this.RaisePropertyChanged("Qualities"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.SizingMap[] SizingMaps { + get { + return this.SizingMapsField; + } + set { + if ((object.ReferenceEquals(this.SizingMapsField, value) != true)) { + this.SizingMapsField = value; + this.RaisePropertyChanged("SizingMaps"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Grade", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Grade : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Quality", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Quality : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="SizingMap", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class SizingMap : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.QualityGradePair[] CoveredQualityGradesField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Size[] SizesField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.QualityGradePair[] CoveredQualityGrades { + get { + return this.CoveredQualityGradesField; + } + set { + if ((object.ReferenceEquals(this.CoveredQualityGradesField, value) != true)) { + this.CoveredQualityGradesField = value; + this.RaisePropertyChanged("CoveredQualityGrades"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Size[] Sizes { + get { + return this.SizesField; + } + set { + if ((object.ReferenceEquals(this.SizesField, value) != true)) { + this.SizesField = value; + this.RaisePropertyChanged("Sizes"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="QualityGradePair", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class QualityGradePair : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string GradeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string QualityField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Grade { + get { + return this.GradeField; + } + set { + if ((object.ReferenceEquals(this.GradeField, value) != true)) { + this.GradeField = value; + this.RaisePropertyChanged("Grade"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Quality { + get { + return this.QualityField; + } + set { + if ((object.ReferenceEquals(this.QualityField, value) != true)) { + this.QualityField = value; + this.RaisePropertyChanged("Quality"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Size", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Size : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Collections.Generic.Dictionary SettingsField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Collections.Generic.Dictionary Settings { + get { + return this.SettingsField; + } + set { + if ((object.ReferenceEquals(this.SettingsField, value) != true)) { + this.SettingsField = value; + this.RaisePropertyChanged("Settings"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Label", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Label : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string DisplayNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string DisplayName { + get { + return this.DisplayNameField; + } + set { + if ((object.ReferenceEquals(this.DisplayNameField, value) != true)) { + this.DisplayNameField = value; + this.RaisePropertyChanged("DisplayName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="AlarmPriority", Namespace="uri:Compac.Services.Sizer.Service")] + public enum AlarmPriority : int { + + [System.Runtime.Serialization.EnumMemberAttribute()] + Low = 0, + + [System.Runtime.Serialization.EnumMemberAttribute()] + Medium = 1, + + [System.Runtime.Serialization.EnumMemberAttribute()] + High = 2, + + [System.Runtime.Serialization.EnumMemberAttribute()] + Critical = 3, + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Grower", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Grower : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string Address1Field; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string Address2Field; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string CodeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string ContactNameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string CountryField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string EmailAddressField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string FaxField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string MobileField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string PhoneField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string StateField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string TownCityField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string TraceabilityIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string ZipCodeField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Address1 { + get { + return this.Address1Field; + } + set { + if ((object.ReferenceEquals(this.Address1Field, value) != true)) { + this.Address1Field = value; + this.RaisePropertyChanged("Address1"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Address2 { + get { + return this.Address2Field; + } + set { + if ((object.ReferenceEquals(this.Address2Field, value) != true)) { + this.Address2Field = value; + this.RaisePropertyChanged("Address2"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Code { + get { + return this.CodeField; + } + set { + if ((object.ReferenceEquals(this.CodeField, value) != true)) { + this.CodeField = value; + this.RaisePropertyChanged("Code"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string ContactName { + get { + return this.ContactNameField; + } + set { + if ((object.ReferenceEquals(this.ContactNameField, value) != true)) { + this.ContactNameField = value; + this.RaisePropertyChanged("ContactName"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Country { + get { + return this.CountryField; + } + set { + if ((object.ReferenceEquals(this.CountryField, value) != true)) { + this.CountryField = value; + this.RaisePropertyChanged("Country"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string EmailAddress { + get { + return this.EmailAddressField; + } + set { + if ((object.ReferenceEquals(this.EmailAddressField, value) != true)) { + this.EmailAddressField = value; + this.RaisePropertyChanged("EmailAddress"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Fax { + get { + return this.FaxField; + } + set { + if ((object.ReferenceEquals(this.FaxField, value) != true)) { + this.FaxField = value; + this.RaisePropertyChanged("Fax"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Mobile { + get { + return this.MobileField; + } + set { + if ((object.ReferenceEquals(this.MobileField, value) != true)) { + this.MobileField = value; + this.RaisePropertyChanged("Mobile"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Phone { + get { + return this.PhoneField; + } + set { + if ((object.ReferenceEquals(this.PhoneField, value) != true)) { + this.PhoneField = value; + this.RaisePropertyChanged("Phone"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string State { + get { + return this.StateField; + } + set { + if ((object.ReferenceEquals(this.StateField, value) != true)) { + this.StateField = value; + this.RaisePropertyChanged("State"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string TownCity { + get { + return this.TownCityField; + } + set { + if ((object.ReferenceEquals(this.TownCityField, value) != true)) { + this.TownCityField = value; + this.RaisePropertyChanged("TownCity"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string TraceabilityId { + get { + return this.TraceabilityIdField; + } + set { + if ((object.ReferenceEquals(this.TraceabilityIdField, value) != true)) { + this.TraceabilityIdField = value; + this.RaisePropertyChanged("TraceabilityId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string ZipCode { + get { + return this.ZipCodeField; + } + set { + if ((object.ReferenceEquals(this.ZipCodeField, value) != true)) { + this.ZipCodeField = value; + this.RaisePropertyChanged("ZipCode"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="AbstractSamplingConfiguration", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.ElementSamplingConfiguration))] + [System.Runtime.Serialization.KnownTypeAttribute(typeof(EgwProxy.Icoel.SizerService.ProductSamplingConfiguration))] + public partial class AbstractSamplingConfiguration : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="ElementSamplingConfiguration", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class ElementSamplingConfiguration : EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration { + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int BatchIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Element[] ElementsField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Nullable LimitField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.SamplingMeasurementUnit LimitUnitField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Ratio RatioField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.RatioMeasurementUnit RatioRightUnitField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int[] LaneNumbersField; + + [System.Runtime.Serialization.DataMemberAttribute()] + public int BatchId { + get { + return this.BatchIdField; + } + set { + if ((this.BatchIdField.Equals(value) != true)) { + this.BatchIdField = value; + this.RaisePropertyChanged("BatchId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Element[] Elements { + get { + return this.ElementsField; + } + set { + if ((object.ReferenceEquals(this.ElementsField, value) != true)) { + this.ElementsField = value; + this.RaisePropertyChanged("Elements"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Nullable Limit { + get { + return this.LimitField; + } + set { + if ((this.LimitField.Equals(value) != true)) { + this.LimitField = value; + this.RaisePropertyChanged("Limit"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.SamplingMeasurementUnit LimitUnit { + get { + return this.LimitUnitField; + } + set { + if ((this.LimitUnitField.Equals(value) != true)) { + this.LimitUnitField = value; + this.RaisePropertyChanged("LimitUnit"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Ratio Ratio { + get { + return this.RatioField; + } + set { + if ((object.ReferenceEquals(this.RatioField, value) != true)) { + this.RatioField = value; + this.RaisePropertyChanged("Ratio"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.RatioMeasurementUnit RatioRightUnit { + get { + return this.RatioRightUnitField; + } + set { + if ((this.RatioRightUnitField.Equals(value) != true)) { + this.RatioRightUnitField = value; + this.RaisePropertyChanged("RatioRightUnit"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute(Order=6)] + public int[] LaneNumbers { + get { + return this.LaneNumbersField; + } + set { + if ((object.ReferenceEquals(this.LaneNumbersField, value) != true)) { + this.LaneNumbersField = value; + this.RaisePropertyChanged("LaneNumbers"); + } + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="SamplingMeasurementUnit", Namespace="uri:Compac.Services.Sizer.Service")] + public enum SamplingMeasurementUnit : int { + + [System.Runtime.Serialization.EnumMemberAttribute()] + Pieces = 0, + + [System.Runtime.Serialization.EnumMemberAttribute()] + Decigrams = 1, + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="Ratio", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class Ratio : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int NumeratorField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int DenominatorField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int Numerator { + get { + return this.NumeratorField; + } + set { + if ((this.NumeratorField.Equals(value) != true)) { + this.NumeratorField = value; + this.RaisePropertyChanged("Numerator"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute(Order=1)] + public int Denominator { + get { + return this.DenominatorField; + } + set { + if ((this.DenominatorField.Equals(value) != true)) { + this.DenominatorField = value; + this.RaisePropertyChanged("Denominator"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="RatioMeasurementUnit", Namespace="uri:Compac.Services.Sizer.Service")] + public enum RatioMeasurementUnit : int { + + [System.Runtime.Serialization.EnumMemberAttribute()] + Pieces = 0, + + [System.Runtime.Serialization.EnumMemberAttribute()] + CartonEquivalents = 1, + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="ProductSamplingConfiguration", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class ProductSamplingConfiguration : EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration { + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int BatchIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private int[] LaneNumbersField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Nullable LimitField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.SamplingMeasurementUnit LimitUnitField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Guid ProductIdField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.Ratio RatioField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.RatioMeasurementUnit RatioRightUnitField; + + [System.Runtime.Serialization.DataMemberAttribute()] + public int BatchId { + get { + return this.BatchIdField; + } + set { + if ((this.BatchIdField.Equals(value) != true)) { + this.BatchIdField = value; + this.RaisePropertyChanged("BatchId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public int[] LaneNumbers { + get { + return this.LaneNumbersField; + } + set { + if ((object.ReferenceEquals(this.LaneNumbersField, value) != true)) { + this.LaneNumbersField = value; + this.RaisePropertyChanged("LaneNumbers"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Nullable Limit { + get { + return this.LimitField; + } + set { + if ((this.LimitField.Equals(value) != true)) { + this.LimitField = value; + this.RaisePropertyChanged("Limit"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.SamplingMeasurementUnit LimitUnit { + get { + return this.LimitUnitField; + } + set { + if ((this.LimitUnitField.Equals(value) != true)) { + this.LimitUnitField = value; + this.RaisePropertyChanged("LimitUnit"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Guid ProductId { + get { + return this.ProductIdField; + } + set { + if ((this.ProductIdField.Equals(value) != true)) { + this.ProductIdField = value; + this.RaisePropertyChanged("ProductId"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.Ratio Ratio { + get { + return this.RatioField; + } + set { + if ((object.ReferenceEquals(this.RatioField, value) != true)) { + this.RatioField = value; + this.RaisePropertyChanged("Ratio"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.RatioMeasurementUnit RatioRightUnit { + get { + return this.RatioRightUnitField; + } + set { + if ((this.RatioRightUnitField.Equals(value) != true)) { + this.RatioRightUnitField = value; + this.RaisePropertyChanged("RatioRightUnit"); + } + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] + [System.Runtime.Serialization.DataContractAttribute(Name="SamplingProgress", Namespace="uri:Compac.Services.Sizer.Service")] + [System.SerializableAttribute()] + public partial class SamplingProgress : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged { + + [System.NonSerializedAttribute()] + private System.Runtime.Serialization.ExtensionDataObject extensionDataField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private decimal CurrentCountField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private string NameField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private System.Nullable TargetCountField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] + private EgwProxy.Icoel.SizerService.SamplingMeasurementUnit UnitField; + + [global::System.ComponentModel.BrowsableAttribute(false)] + public System.Runtime.Serialization.ExtensionDataObject ExtensionData { + get { + return this.extensionDataField; + } + set { + this.extensionDataField = value; + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public decimal CurrentCount { + get { + return this.CurrentCountField; + } + set { + if ((this.CurrentCountField.Equals(value) != true)) { + this.CurrentCountField = value; + this.RaisePropertyChanged("CurrentCount"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public string Name { + get { + return this.NameField; + } + set { + if ((object.ReferenceEquals(this.NameField, value) != true)) { + this.NameField = value; + this.RaisePropertyChanged("Name"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public System.Nullable TargetCount { + get { + return this.TargetCountField; + } + set { + if ((this.TargetCountField.Equals(value) != true)) { + this.TargetCountField = value; + this.RaisePropertyChanged("TargetCount"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] + public EgwProxy.Icoel.SizerService.SamplingMeasurementUnit Unit { + get { + return this.UnitField; + } + set { + if ((this.UnitField.Equals(value) != true)) { + this.UnitField = value; + this.RaisePropertyChanged("Unit"); + } + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ServiceModel.ServiceContractAttribute(Namespace="urn:clr:Compac.Services.Sizer.Service", ConfigurationName="SizerService.ISizerService")] + public interface ISizerService { + + // CODEGEN: Generating message contract since the wrapper namespace (urn:clr:Compac.Services.Core) of message GetVersionRequest does not match the default value (urn:clr:Compac.Services.Sizer.Service) + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Core/ICompacService/GetVersion", ReplyAction="urn:clr:Compac.Services.Core/ICompacService/GetVersionResponse")] + EgwProxy.Icoel.SizerService.GetVersionResponse GetVersion(EgwProxy.Icoel.SizerService.GetVersionRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Core/ICompacService/GetVersion", ReplyAction="urn:clr:Compac.Services.Core/ICompacService/GetVersionResponse")] + System.Threading.Tasks.Task GetVersionAsync(EgwProxy.Icoel.SizerService.GetVersionRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSerialNo", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSerialNoResponse")] + string GetSerialNo(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSerialNo", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSerialNoResponse")] + System.Threading.Tasks.Task GetSerialNoAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineName", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineNameResponse")] + string GetMachineName(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineName", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineNameResponse")] + System.Threading.Tasks.Task GetMachineNameAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetPackhouseName", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetPackhouseNameResponse")] + string GetPackhouseName(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetPackhouseName", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetPackhouseNameResponse")] + System.Threading.Tasks.Task GetPackhouseNameAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNumberOfPackersForOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNumberOfPackersForOutletRe" + + "sponse")] + int GetNumberOfPackersForOutlet(int outlet); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNumberOfPackersForOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNumberOfPackersForOutletRe" + + "sponse")] + System.Threading.Tasks.Task GetNumberOfPackersForOutletAsync(int outlet); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNumberOfPackersForOutlets", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNumberOfPackersForOutletsR" + + "esponse")] + int[] GetNumberOfPackersForOutlets(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNumberOfPackersForOutlets", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNumberOfPackersForOutletsR" + + "esponse")] + System.Threading.Tasks.Task GetNumberOfPackersForOutletsAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetExactNumberOfPackersForOut" + + "let", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetExactNumberOfPackersForOut" + + "letResponse")] + double GetExactNumberOfPackersForOutlet(int outlet); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetExactNumberOfPackersForOut" + + "let", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetExactNumberOfPackersForOut" + + "letResponse")] + System.Threading.Tasks.Task GetExactNumberOfPackersForOutletAsync(int outlet); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetExactNumberOfPackersForOut" + + "lets", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetExactNumberOfPackersForOut" + + "letsResponse")] + double[] GetExactNumberOfPackersForOutlets(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetExactNumberOfPackersForOut" + + "lets", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetExactNumberOfPackersForOut" + + "letsResponse")] + System.Threading.Tasks.Task GetExactNumberOfPackersForOutletsAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetTotalNumberOfOutletPackers" + + "", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetTotalNumberOfOutletPackers" + + "Response")] + int GetTotalNumberOfOutletPackers(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetTotalNumberOfOutletPackers" + + "", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetTotalNumberOfOutletPackers" + + "Response")] + System.Threading.Tasks.Task GetTotalNumberOfOutletPackersAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetTotalNumberOfOutletPackers" + + "", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetTotalNumberOfOutletPackers" + + "Response")] + void SetTotalNumberOfOutletPackers(int number); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetTotalNumberOfOutletPackers" + + "", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetTotalNumberOfOutletPackers" + + "Response")] + System.Threading.Tasks.Task SetTotalNumberOfOutletPackersAsync(int number); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletGroup", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletGroupResponse")] + void SetOutletGroup(int[] outlets); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletGroup", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletGroupResponse")] + System.Threading.Tasks.Task SetOutletGroupAsync(int[] outlets); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetQueuedBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetQueuedBatchesResponse")] + EgwProxy.Icoel.SizerService.Batch[] GetQueuedBatches(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetQueuedBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetQueuedBatchesResponse")] + System.Threading.Tasks.Task GetQueuedBatchesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchInQueue", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchInQueueResponse")] + EgwProxy.Icoel.SizerService.Batch GetNextBatchInQueue(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchInQueue", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchInQueueResponse")] + System.Threading.Tasks.Task GetNextBatchInQueueAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchesResponse")] + EgwProxy.Icoel.SizerService.Batch[] GetNextBatches(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchesResponse")] + System.Threading.Tasks.Task GetNextBatchesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchByLaneGroup", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchByLaneGroupRespon" + + "se")] + EgwProxy.Icoel.SizerService.Batch GetNextBatchByLaneGroup(EgwProxy.Icoel.SizerService.LaneGroup laneGroup); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchByLaneGroup", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetNextBatchByLaneGroupRespon" + + "se")] + System.Threading.Tasks.Task GetNextBatchByLaneGroupAsync(EgwProxy.Icoel.SizerService.LaneGroup laneGroup); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void AddBatch(EgwProxy.Icoel.SizerService.Batch batch); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchResponse")] + System.Threading.Tasks.Task AddBatchAsync(EgwProxy.Icoel.SizerService.Batch batch); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchesResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchesArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void AddBatches(EgwProxy.Icoel.SizerService.Batch[] batches); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchesResponse")] + System.Threading.Tasks.Task AddBatchesAsync(EgwProxy.Icoel.SizerService.Batch[] batches); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ClearBatchQueue", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ClearBatchQueueResponse")] + void ClearBatchQueue(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ClearBatchQueue", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ClearBatchQueueResponse")] + System.Threading.Tasks.Task ClearBatchQueueAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveNextBatchInQueue", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveNextBatchInQueueRespons" + + "e")] + void RemoveNextBatchInQueue(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveNextBatchInQueue", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveNextBatchInQueueRespons" + + "e")] + System.Threading.Tasks.Task RemoveNextBatchInQueueAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveNextBatchInQueueForLane" + + "Group", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveNextBatchInQueueForLane" + + "GroupResponse")] + void RemoveNextBatchInQueueForLaneGroup(EgwProxy.Icoel.SizerService.LaneGroup laneGroup, bool removeWholeBatch); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveNextBatchInQueueForLane" + + "Group", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveNextBatchInQueueForLane" + + "GroupResponse")] + System.Threading.Tasks.Task RemoveNextBatchInQueueForLaneGroupAsync(EgwProxy.Icoel.SizerService.LaneGroup laneGroup, bool removeWholeBatch); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueue", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueueResponse" + + "")] + int StartNextBatchInQueue(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueue", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueueResponse" + + "")] + System.Threading.Tasks.Task StartNextBatchInQueueAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueueForLaneG" + + "roup", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueueForLaneG" + + "roupResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueueForLaneG" + + "roupArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + int StartNextBatchInQueueForLaneGroup(EgwProxy.Icoel.SizerService.LaneGroup laneGroup); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueueForLaneG" + + "roup", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/StartNextBatchInQueueForLaneG" + + "roupResponse")] + System.Threading.Tasks.Task StartNextBatchInQueueForLaneGroupAsync(EgwProxy.Icoel.SizerService.LaneGroup laneGroup); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentCartonEquivalentWei" + + "ght", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentCartonEquivalentWei" + + "ghtResponse")] + double GetCurrentCartonEquivalentWeight(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentCartonEquivalentWei" + + "ght", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentCartonEquivalentWei" + + "ghtResponse")] + System.Threading.Tasks.Task GetCurrentCartonEquivalentWeightAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetCurrentCartonEquivalentWei" + + "ght", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetCurrentCartonEquivalentWei" + + "ghtResponse")] + void SetCurrentCartonEquivalentWeight(double cartonEquivalentWeight); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetCurrentCartonEquivalentWei" + + "ght", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetCurrentCartonEquivalentWei" + + "ghtResponse")] + System.Threading.Tasks.Task SetCurrentCartonEquivalentWeightAsync(double cartonEquivalentWeight); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneSizeFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneSizeFPMResponse")] + System.Collections.Generic.Dictionary GetLaneSizeFPM(int laneIndex); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneSizeFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneSizeFPMResponse")] + System.Threading.Tasks.Task> GetLaneSizeFPMAsync(int laneIndex); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesSizeFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesSizeFPMResponse")] + System.Collections.Generic.Dictionary[] GetLanesSizeFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesSizeFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesSizeFPMResponse")] + System.Threading.Tasks.Task[]> GetLanesSizeFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneGradeFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneGradeFPMResponse")] + System.Collections.Generic.Dictionary GetLaneGradeFPM(int laneIndex); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneGradeFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneGradeFPMResponse")] + System.Threading.Tasks.Task> GetLaneGradeFPMAsync(int laneIndex); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesGradeFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesGradeFPMResponse")] + System.Collections.Generic.Dictionary[] GetLanesGradeFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesGradeFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesGradeFPMResponse")] + System.Threading.Tasks.Task[]> GetLanesGradeFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ForceChangeOnStage", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ForceChangeOnStageResponse")] + bool ForceChangeOnStage(string stageName, int toBatchId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ForceChangeOnStage", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ForceChangeOnStageResponse")] + System.Threading.Tasks.Task ForceChangeOnStageAsync(string stageName, int toBatchId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSizingProfileNames", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSizingProfileNamesResponse" + + "")] + string[] GetSizingProfileNames(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSizingProfileNames", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSizingProfileNamesResponse" + + "")] + System.Threading.Tasks.Task GetSizingProfileNamesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyNames", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyNamesResponse")] + string[] GetVarietyNames(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyNames", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyNamesResponse")] + System.Threading.Tasks.Task GetVarietyNamesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLayouts", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLayoutsResponse")] + EgwProxy.Icoel.SizerService.Layout[] GetLayouts(System.Guid varietyID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLayouts", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLayoutsResponse")] + System.Threading.Tasks.Task GetLayoutsAsync(System.Guid varietyID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyByName", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyByNameResponse")] + EgwProxy.Icoel.SizerService.Variety GetVarietyByName(string varietyName); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyByName", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyByNameResponse")] + System.Threading.Tasks.Task GetVarietyByNameAsync(string varietyName); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyById", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyByIdResponse")] + EgwProxy.Icoel.SizerService.Variety GetVarietyById(System.Guid varietyID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyById", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetVarietyByIdResponse")] + System.Threading.Tasks.Task GetVarietyByIdAsync(System.Guid varietyID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveVariety", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveVarietyResponse")] + EgwProxy.Icoel.SizerService.Variety GetActiveVariety(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveVariety", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveVarietyResponse")] + System.Threading.Tasks.Task GetActiveVarietyAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveVarieties", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveVarietiesResponse")] + EgwProxy.Icoel.SizerService.Variety[] GetActiveVarieties(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveVarieties", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveVarietiesResponse")] + System.Threading.Tasks.Task GetActiveVarietiesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllVarieties", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllVarietiesResponse")] + EgwProxy.Icoel.SizerService.Variety[] GetAllVarieties(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllVarieties", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllVarietiesResponse")] + System.Threading.Tasks.Task GetAllVarietiesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLayoutResponse")] + EgwProxy.Icoel.SizerService.Layout GetLayout(System.Guid varietyID, System.Guid layoutID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLayoutResponse")] + System.Threading.Tasks.Task GetLayoutAsync(System.Guid varietyID, System.Guid layoutID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveLayoutResponse")] + EgwProxy.Icoel.SizerService.Layout GetActiveLayout(System.Guid varietyID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveLayoutResponse")] + System.Threading.Tasks.Task GetActiveLayoutAsync(System.Guid varietyID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductResponse")] + EgwProxy.Icoel.SizerService.Product GetProduct(System.Guid productGuid); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductResponse")] + System.Threading.Tasks.Task GetProductAsync(System.Guid productGuid); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveProducts", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveProductsResponse")] + EgwProxy.Icoel.SizerService.Product[] GetActiveProducts(System.Guid varietyID, System.Guid layoutID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveProducts", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveProductsResponse")] + System.Threading.Tasks.Task GetActiveProductsAsync(System.Guid varietyID, System.Guid layoutID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllProducts", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllProductsResponse")] + EgwProxy.Icoel.SizerService.Product[] GetAllProducts(System.Guid varietyID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllProducts", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllProductsResponse")] + System.Threading.Tasks.Task GetAllProductsAsync(System.Guid varietyID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProductResponse")] + void RemoveProduct(System.Guid varietyID, System.Guid layoutID, System.Guid productID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProductResponse")] + System.Threading.Tasks.Task RemoveProductAsync(System.Guid varietyID, System.Guid layoutID, System.Guid productID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/CreateLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/CreateLayoutResponse")] + EgwProxy.Icoel.SizerService.Layout CreateLayout(System.Guid varietyID, string layoutName); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/CreateLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/CreateLayoutResponse")] + System.Threading.Tasks.Task CreateLayoutAsync(System.Guid varietyID, string layoutName); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteLayoutResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteLayoutArgumentFaultFaul" + + "t", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void DeleteLayout(System.Guid varietyID, System.Guid layoutID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteLayoutResponse")] + System.Threading.Tasks.Task DeleteLayoutAsync(System.Guid varietyID, System.Guid layoutID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateLayoutResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateLayoutArgumentFaultFaul" + + "t", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + EgwProxy.Icoel.SizerService.Layout UpdateLayout(System.Guid varietyID, EgwProxy.Icoel.SizerService.Layout layout); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateLayoutResponse")] + System.Threading.Tasks.Task UpdateLayoutAsync(System.Guid varietyID, EgwProxy.Icoel.SizerService.Layout layout); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateLayoutResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateLayoutArgumentFaultFa" + + "ult", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + EgwProxy.Icoel.SizerService.Layout ActivateLayout(System.Guid varietyID, System.Guid layoutID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateLayout", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateLayoutResponse")] + System.Threading.Tasks.Task ActivateLayoutAsync(System.Guid varietyID, System.Guid layoutID); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllPacks", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllPacksResponse")] + EgwProxy.Icoel.SizerService.Pack[] GetAllPacks(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllPacks", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllPacksResponse")] + System.Threading.Tasks.Task GetAllPacksAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllLabels", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllLabelsResponse")] + EgwProxy.Icoel.SizerService.Label[] GetAllLabels(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllLabels", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllLabelsResponse")] + System.Threading.Tasks.Task GetAllLabelsAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveLabels", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveLabelsResponse")] + EgwProxy.Icoel.SizerService.Label[] GetActiveLabels(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveLabels", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetActiveLabelsResponse")] + System.Threading.Tasks.Task GetActiveLabelsAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProductResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProductArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void AddProduct(System.Guid varietyID, EgwProxy.Icoel.SizerService.Product product); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProductResponse")] + System.Threading.Tasks.Task AddProductAsync(System.Guid varietyID, EgwProxy.Icoel.SizerService.Product product); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateProductResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateProductArgumentFaultFau" + + "lt", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void UpdateProduct(EgwProxy.Icoel.SizerService.Product product); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateProductResponse")] + System.Threading.Tasks.Task UpdateProductAsync(EgwProxy.Icoel.SizerService.Product product); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteProductResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteProductArgumentFaultFau" + + "lt", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void DeleteProduct(System.Guid productID, bool force); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteProduct", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteProductResponse")] + System.Threading.Tasks.Task DeleteProductAsync(System.Guid productID, bool force); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateProducts", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateProductsResponse")] + void ActivateProducts(System.Guid varietyID, System.Guid layoutID, System.Guid[] productGuids); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateProducts", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ActivateProductsResponse")] + System.Threading.Tasks.Task ActivateProductsAsync(System.Guid varietyID, System.Guid layoutID, System.Guid[] productGuids); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutlets", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletsResponse")] + EgwProxy.Icoel.SizerService.Outlet[] GetOutlets(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutlets", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletsResponse")] + System.Threading.Tasks.Task GetOutletsAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductAtOutletResponse")] + EgwProxy.Icoel.SizerService.Product GetProductAtOutlet(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductAtOutletResponse")] + System.Threading.Tasks.Task GetProductAtOutletAsync(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchAtOutletResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchAtOutletArgumentFault" + + "Fault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + EgwProxy.Icoel.SizerService.Batch GetBatchAtOutlet(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchAtOutletResponse")] + System.Threading.Tasks.Task GetBatchAtOutletAsync(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesAtOutletResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesAtOutletArgumentFau" + + "ltFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + EgwProxy.Icoel.SizerService.Batch[] GetBatchesAtOutlet(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesAtOutletResponse")] + System.Threading.Tasks.Task GetBatchesAtOutletAsync(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesForProductAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesForProductAtOutletR" + + "esponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesForProductAtOutletA" + + "rgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + EgwProxy.Icoel.SizerService.Batch[] GetBatchesForProductAtOutlet(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesForProductAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchesForProductAtOutletR" + + "esponse")] + System.Threading.Tasks.Task GetBatchesForProductAtOutletAsync(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductUserData", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductUserDataResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductUserDataArgumentFau" + + "ltFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + string GetProductUserData(System.Guid productId, string category, string field); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductUserData", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductUserDataResponse")] + System.Threading.Tasks.Task GetProductUserDataAsync(System.Guid productId, string category, string field); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeProductAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeProductAtOutletResponse" + + "")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeProductAtOutletArgument" + + "FaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void ChangeProductAtOutlet(int outletId, System.Guid productID, bool force); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeProductAtOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeProductAtOutletResponse" + + "")] + System.Threading.Tasks.Task ChangeProductAtOutletAsync(int outletId, System.Guid productID, bool force); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletEnabled", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletEnabledResponse")] + void SetOutletEnabled(int outletId, bool enabled, bool disableOnPackBoundary); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletEnabled", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletEnabledResponse")] + System.Threading.Tasks.Task SetOutletEnabledAsync(int outletId, bool enabled, bool disableOnPackBoundary); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ResetOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ResetOutletResponse")] + void ResetOutlet(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ResetOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ResetOutletResponse")] + System.Threading.Tasks.Task ResetOutletAsync(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/CycleOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/CycleOutletResponse")] + void CycleOutlet(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/CycleOutlet", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/CycleOutletResponse")] + System.Threading.Tasks.Task CycleOutletAsync(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductsInNextAvailableOut" + + "letStrategy", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductsInNextAvailableOut" + + "letStrategyResponse")] + EgwProxy.Icoel.SizerService.Product[] GetProductsInNextAvailableOutletStrategy(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductsInNextAvailableOut" + + "letStrategy", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetProductsInNextAvailableOut" + + "letStrategyResponse")] + System.Threading.Tasks.Task GetProductsInNextAvailableOutletStrategyAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProductToNextAvailableOutl" + + "etStrategy", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProductToNextAvailableOutl" + + "etStrategyResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProductToNextAvailableOutl" + + "etStrategyArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void AddProductToNextAvailableOutletStrategy(System.Guid productId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProductToNextAvailableOutl" + + "etStrategy", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddProductToNextAvailableOutl" + + "etStrategyResponse")] + System.Threading.Tasks.Task AddProductToNextAvailableOutletStrategyAsync(System.Guid productId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProductFromNextAvailabl" + + "eOutletStrategy", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProductFromNextAvailabl" + + "eOutletStrategyResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProductFromNextAvailabl" + + "eOutletStrategyArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void RemoveProductFromNextAvailableOutletStrategy(System.Guid productId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProductFromNextAvailabl" + + "eOutletStrategy", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RemoveProductFromNextAvailabl" + + "eOutletStrategyResponse")] + System.Threading.Tasks.Task RemoveProductFromNextAvailableOutletStrategyAsync(System.Guid productId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletFPMResponse")] + double GetOutletFPM(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletFPMResponse")] + System.Threading.Tasks.Task GetOutletFPMAsync(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletsFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletsFPMResponse")] + double[] GetOutletsFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletsFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetOutletsFPMResponse")] + System.Threading.Tasks.Task GetOutletsFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRodsPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRodsPMResponse")] + int[] GetMachineRodsPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRodsPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRodsPMResponse")] + System.Threading.Tasks.Task GetMachineRodsPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRecycleFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRecycleFPMResponse")] + int GetMachineRecycleFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRecycleFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRecycleFPMResponse")] + System.Threading.Tasks.Task GetMachineRecycleFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRejectFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRejectFPMResponse")] + int GetMachineRejectFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRejectFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineRejectFPMResponse")] + System.Threading.Tasks.Task GetMachineRejectFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineMissedFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineMissedFPMResponse")] + int GetMachineMissedFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineMissedFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineMissedFPMResponse")] + System.Threading.Tasks.Task GetMachineMissedFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineDroppedFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineDroppedFPMResponse")] + int GetMachineDroppedFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineDroppedFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineDroppedFPMResponse")] + System.Threading.Tasks.Task GetMachineDroppedFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachinePackedFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachinePackedFPMResponse")] + int GetMachinePackedFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachinePackedFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachinePackedFPMResponse")] + System.Threading.Tasks.Task GetMachinePackedFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineAFW", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineAFWResponse")] + double GetMachineAFW(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineAFW", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineAFWResponse")] + System.Threading.Tasks.Task GetMachineAFWAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAFW", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAFWResponse")] + double GetAFW(int batchId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAFW", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAFWResponse")] + System.Threading.Tasks.Task GetAFWAsync(int batchId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineAVC", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineAVCResponse")] + int GetMachineAVC(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineAVC", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineAVCResponse")] + System.Threading.Tasks.Task GetMachineAVCAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachinePacksPH", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachinePacksPHResponse")] + int GetMachinePacksPH(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachinePacksPH", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachinePacksPHResponse")] + System.Threading.Tasks.Task GetMachinePacksPHAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineCupfill", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineCupfillResponse")] + double GetMachineCupfill(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineCupfill", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineCupfillResponse")] + System.Threading.Tasks.Task GetMachineCupfillAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesCupfill", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesCupfillResponse")] + double GetLanesCupfill(int lane); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesCupfill", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLanesCupfillResponse")] + System.Threading.Tasks.Task GetLanesCupfillAsync(int lane); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCupfillForAllLanes", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCupfillForAllLanesResponse" + + "")] + double[] GetCupfillForAllLanes(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCupfillForAllLanes", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCupfillForAllLanesResponse" + + "")] + System.Threading.Tasks.Task GetCupfillForAllLanesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletsMaxRateSquareCMPerM" + + "inute", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletsMaxRateSquareCMPerM" + + "inuteResponse")] + void SetOutletsMaxRateSquareCMPerMinute(System.Collections.Generic.Dictionary newRates); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletsMaxRateSquareCMPerM" + + "inute", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetOutletsMaxRateSquareCMPerM" + + "inuteResponse")] + System.Threading.Tasks.Task SetOutletsMaxRateSquareCMPerMinuteAsync(System.Collections.Generic.Dictionary newRates); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineTonnesPH", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineTonnesPHResponse")] + int GetMachineTonnesPH(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineTonnesPH", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineTonnesPHResponse")] + System.Threading.Tasks.Task GetMachineTonnesPHAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseAlarm", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseAlarmResponse")] + void RaiseAlarm(string alarm, string details); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseAlarm", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseAlarmResponse")] + System.Threading.Tasks.Task RaiseAlarmAsync(string alarm, string details); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseAlarmWithPriority", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseAlarmWithPriorityRespons" + + "e")] + void RaiseAlarmWithPriority(string alarm, string details, EgwProxy.Icoel.SizerService.AlarmPriority priority); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseAlarmWithPriority", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseAlarmWithPriorityRespons" + + "e")] + System.Threading.Tasks.Task RaiseAlarmWithPriorityAsync(string alarm, string details, EgwProxy.Icoel.SizerService.AlarmPriority priority); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseEvent", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseEventResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseEventArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void RaiseEvent(EgwProxy.Icoel.SizerService.ServiceEvent eventDetails); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseEvent", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/RaiseEventResponse")] + System.Threading.Tasks.Task RaiseEventAsync(EgwProxy.Icoel.SizerService.ServiceEvent eventDetails); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneGroups", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneGroupsResponse")] + EgwProxy.Icoel.SizerService.LaneGroup[] GetLaneGroups(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneGroups", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetLaneGroupsResponse")] + System.Threading.Tasks.Task GetLaneGroupsAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchResponse")] + EgwProxy.Icoel.SizerService.Batch GetBatch(int id); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchResponse")] + System.Threading.Tasks.Task GetBatchAsync(int id); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchResponse")] + EgwProxy.Icoel.SizerService.Batch GetCurrentBatch(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchResponse")] + System.Threading.Tasks.Task GetCurrentBatchAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchesResponse")] + EgwProxy.Icoel.SizerService.Batch[] GetCurrentBatches(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchesResponse")] + System.Threading.Tasks.Task GetCurrentBatchesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchByLane", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchByLaneResponse" + + "")] + EgwProxy.Icoel.SizerService.Batch GetCurrentBatchByLane(int lane); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchByLane", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchByLaneResponse" + + "")] + System.Threading.Tasks.Task GetCurrentBatchByLaneAsync(int lane); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchByLaneGroup", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchByLaneGroupRes" + + "ponse")] + EgwProxy.Icoel.SizerService.Batch GetCurrentBatchByLaneGroup(EgwProxy.Icoel.SizerService.LaneGroup laneGroup); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchByLaneGroup", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetCurrentBatchByLaneGroupRes" + + "ponse")] + System.Threading.Tasks.Task GetCurrentBatchByLaneGroupAsync(EgwProxy.Icoel.SizerService.LaneGroup laneGroup); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/IsCurrentBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/IsCurrentBatchResponse")] + bool IsCurrentBatch(int id); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/IsCurrentBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/IsCurrentBatchResponse")] + System.Threading.Tasks.Task IsCurrentBatchAsync(int id); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchLaneGroups", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchLaneGroupsResponse")] + EgwProxy.Icoel.SizerService.LaneGroup[] GetBatchLaneGroups(int id); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchLaneGroups", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchLaneGroupsResponse")] + System.Threading.Tasks.Task GetBatchLaneGroupsAsync(int id); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchLanes", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchLanesResponse")] + int[] GetBatchLanes(int id); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchLanes", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetBatchLanesResponse")] + System.Threading.Tasks.Task GetBatchLanesAsync(int id); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeBatchResponse")] + int ChangeBatch(EgwProxy.Icoel.SizerService.Batch batch); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeBatchResponse")] + System.Threading.Tasks.Task ChangeBatchAsync(EgwProxy.Icoel.SizerService.Batch batch); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeBatchByLane", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeBatchByLaneResponse")] + int ChangeBatchByLane(EgwProxy.Icoel.SizerService.Batch batch, EgwProxy.Icoel.SizerService.LaneGroup[] laneGroups); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeBatchByLane", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ChangeBatchByLaneResponse")] + System.Threading.Tasks.Task ChangeBatchByLaneAsync(EgwProxy.Icoel.SizerService.Batch batch, EgwProxy.Icoel.SizerService.LaneGroup[] laneGroups); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SecondsToBallArrivingOnLastBa" + + "tchChange", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SecondsToBallArrivingOnLastBa" + + "tchChangeResponse")] + int SecondsToBallArrivingOnLastBatchChange(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SecondsToBallArrivingOnLastBa" + + "tchChange", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SecondsToBallArrivingOnLastBa" + + "tchChangeResponse")] + System.Threading.Tasks.Task SecondsToBallArrivingOnLastBatchChangeAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchLanes", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchLanesResponse")] + void AddBatchLanes(EgwProxy.Icoel.SizerService.Batch batch, EgwProxy.Icoel.SizerService.LaneGroup[] laneGroups); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchLanes", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddBatchLanesResponse")] + System.Threading.Tasks.Task AddBatchLanesAsync(EgwProxy.Icoel.SizerService.Batch batch, EgwProxy.Icoel.SizerService.LaneGroup[] laneGroups); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ClearBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ClearBatchesResponse")] + void ClearBatches(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/ClearBatches", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/ClearBatchesResponse")] + System.Threading.Tasks.Task ClearBatchesAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetBatchDetails", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetBatchDetailsResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetBatchDetailsArgumentFaultF" + + "ault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void SetBatchDetails(EgwProxy.Icoel.SizerService.Batch batch); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetBatchDetails", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetBatchDetailsResponse")] + System.Threading.Tasks.Task SetBatchDetailsAsync(EgwProxy.Icoel.SizerService.Batch batch); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/FlushTotals", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/FlushTotalsResponse")] + void FlushTotals(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/FlushTotals", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/FlushTotalsResponse")] + System.Threading.Tasks.Task FlushTotalsAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetGrower", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetGrowerResponse")] + EgwProxy.Icoel.SizerService.Grower GetGrower(string growerCode); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetGrower", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetGrowerResponse")] + System.Threading.Tasks.Task GetGrowerAsync(string growerCode); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllGrowers", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllGrowersResponse")] + EgwProxy.Icoel.SizerService.Grower[] GetAllGrowers(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllGrowers", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetAllGrowersResponse")] + System.Threading.Tasks.Task GetAllGrowersAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrower", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrowerResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrowerArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void AddGrower(EgwProxy.Icoel.SizerService.Grower grower); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrower", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrowerResponse")] + System.Threading.Tasks.Task AddGrowerAsync(EgwProxy.Icoel.SizerService.Grower grower); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrowers", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrowersResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrowersArgumentFaultFault", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void AddGrowers(EgwProxy.Icoel.SizerService.Grower[] growers); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrowers", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/AddGrowersResponse")] + System.Threading.Tasks.Task AddGrowersAsync(EgwProxy.Icoel.SizerService.Grower[] growers); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteGrower", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteGrowerResponse")] + void DeleteGrower(string growerCode); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteGrower", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/DeleteGrowerResponse")] + System.Threading.Tasks.Task DeleteGrowerAsync(string growerCode); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateGrower", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateGrowerResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(EgwProxy.Icoel.SizerService.ArgumentFault), Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateGrowerArgumentFaultFaul" + + "t", Name="ArgumentFault", Namespace="http://Compac.Services.Core")] + void UpdateGrower(EgwProxy.Icoel.SizerService.Grower grower); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateGrower", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/UpdateGrowerResponse")] + System.Threading.Tasks.Task UpdateGrowerAsync(EgwProxy.Icoel.SizerService.Grower grower); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineTotalFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineTotalFPMResponse")] + int GetMachineTotalFPM(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineTotalFPM", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetMachineTotalFPMResponse")] + System.Threading.Tasks.Task GetMachineTotalFPMAsync(); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/MatchesCurrentBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/MatchesCurrentBatchResponse")] + bool MatchesCurrentBatch(int batchId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/MatchesCurrentBatch", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/MatchesCurrentBatchResponse")] + System.Threading.Tasks.Task MatchesCurrentBatchAsync(int batchId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSamplingConfiguration", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSamplingConfigurationRespo" + + "nse")] + EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration GetSamplingConfiguration(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSamplingConfiguration", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSamplingConfigurationRespo" + + "nse")] + System.Threading.Tasks.Task GetSamplingConfigurationAsync(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetSamplingConfiguration", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetSamplingConfigurationRespo" + + "nse")] + void SetSamplingConfiguration(int outletId, EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration config); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetSamplingConfiguration", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/SetSamplingConfigurationRespo" + + "nse")] + System.Threading.Tasks.Task SetSamplingConfigurationAsync(int outletId, EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration config); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSamplingProgress", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSamplingProgressResponse")] + EgwProxy.Icoel.SizerService.SamplingProgress[] GetSamplingProgress(int outletId); + + [System.ServiceModel.OperationContractAttribute(Action="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSamplingProgress", ReplyAction="urn:clr:Compac.Services.Sizer.Service/ISizerService/GetSamplingProgressResponse")] + System.Threading.Tasks.Task GetSamplingProgressAsync(int outletId); + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(WrapperName="GetVersion", WrapperNamespace="urn:clr:Compac.Services.Core", IsWrapped=true)] + public partial class GetVersionRequest { + + public GetVersionRequest() { + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(WrapperName="GetVersionResponse", WrapperNamespace="urn:clr:Compac.Services.Core", IsWrapped=true)] + public partial class GetVersionResponse { + + [System.ServiceModel.MessageBodyMemberAttribute(Namespace="urn:clr:Compac.Services.Core", Order=0)] + public EgwProxy.Icoel.SizerService.ServiceVersion GetVersionResult; + + public GetVersionResponse() { + } + + public GetVersionResponse(EgwProxy.Icoel.SizerService.ServiceVersion GetVersionResult) { + this.GetVersionResult = GetVersionResult; + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public interface ISizerServiceChannel : EgwProxy.Icoel.SizerService.ISizerService, System.ServiceModel.IClientChannel { + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public partial class SizerServiceClient : System.ServiceModel.ClientBase, EgwProxy.Icoel.SizerService.ISizerService { + + public SizerServiceClient() { + } + + public SizerServiceClient(string endpointConfigurationName) : + base(endpointConfigurationName) { + } + + public SizerServiceClient(string endpointConfigurationName, string remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public SizerServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public SizerServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : + base(binding, remoteAddress) { + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + EgwProxy.Icoel.SizerService.GetVersionResponse EgwProxy.Icoel.SizerService.ISizerService.GetVersion(EgwProxy.Icoel.SizerService.GetVersionRequest request) { + return base.Channel.GetVersion(request); + } + + public EgwProxy.Icoel.SizerService.ServiceVersion GetVersion() { + EgwProxy.Icoel.SizerService.GetVersionRequest inValue = new EgwProxy.Icoel.SizerService.GetVersionRequest(); + EgwProxy.Icoel.SizerService.GetVersionResponse retVal = ((EgwProxy.Icoel.SizerService.ISizerService)(this)).GetVersion(inValue); + return retVal.GetVersionResult; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task EgwProxy.Icoel.SizerService.ISizerService.GetVersionAsync(EgwProxy.Icoel.SizerService.GetVersionRequest request) { + return base.Channel.GetVersionAsync(request); + } + + public System.Threading.Tasks.Task GetVersionAsync() { + EgwProxy.Icoel.SizerService.GetVersionRequest inValue = new EgwProxy.Icoel.SizerService.GetVersionRequest(); + return ((EgwProxy.Icoel.SizerService.ISizerService)(this)).GetVersionAsync(inValue); + } + + public string GetSerialNo() { + return base.Channel.GetSerialNo(); + } + + public System.Threading.Tasks.Task GetSerialNoAsync() { + return base.Channel.GetSerialNoAsync(); + } + + public string GetMachineName() { + return base.Channel.GetMachineName(); + } + + public System.Threading.Tasks.Task GetMachineNameAsync() { + return base.Channel.GetMachineNameAsync(); + } + + public string GetPackhouseName() { + return base.Channel.GetPackhouseName(); + } + + public System.Threading.Tasks.Task GetPackhouseNameAsync() { + return base.Channel.GetPackhouseNameAsync(); + } + + public int GetNumberOfPackersForOutlet(int outlet) { + return base.Channel.GetNumberOfPackersForOutlet(outlet); + } + + public System.Threading.Tasks.Task GetNumberOfPackersForOutletAsync(int outlet) { + return base.Channel.GetNumberOfPackersForOutletAsync(outlet); + } + + public int[] GetNumberOfPackersForOutlets() { + return base.Channel.GetNumberOfPackersForOutlets(); + } + + public System.Threading.Tasks.Task GetNumberOfPackersForOutletsAsync() { + return base.Channel.GetNumberOfPackersForOutletsAsync(); + } + + public double GetExactNumberOfPackersForOutlet(int outlet) { + return base.Channel.GetExactNumberOfPackersForOutlet(outlet); + } + + public System.Threading.Tasks.Task GetExactNumberOfPackersForOutletAsync(int outlet) { + return base.Channel.GetExactNumberOfPackersForOutletAsync(outlet); + } + + public double[] GetExactNumberOfPackersForOutlets() { + return base.Channel.GetExactNumberOfPackersForOutlets(); + } + + public System.Threading.Tasks.Task GetExactNumberOfPackersForOutletsAsync() { + return base.Channel.GetExactNumberOfPackersForOutletsAsync(); + } + + public int GetTotalNumberOfOutletPackers() { + return base.Channel.GetTotalNumberOfOutletPackers(); + } + + public System.Threading.Tasks.Task GetTotalNumberOfOutletPackersAsync() { + return base.Channel.GetTotalNumberOfOutletPackersAsync(); + } + + public void SetTotalNumberOfOutletPackers(int number) { + base.Channel.SetTotalNumberOfOutletPackers(number); + } + + public System.Threading.Tasks.Task SetTotalNumberOfOutletPackersAsync(int number) { + return base.Channel.SetTotalNumberOfOutletPackersAsync(number); + } + + public void SetOutletGroup(int[] outlets) { + base.Channel.SetOutletGroup(outlets); + } + + public System.Threading.Tasks.Task SetOutletGroupAsync(int[] outlets) { + return base.Channel.SetOutletGroupAsync(outlets); + } + + public EgwProxy.Icoel.SizerService.Batch[] GetQueuedBatches() { + return base.Channel.GetQueuedBatches(); + } + + public System.Threading.Tasks.Task GetQueuedBatchesAsync() { + return base.Channel.GetQueuedBatchesAsync(); + } + + public EgwProxy.Icoel.SizerService.Batch GetNextBatchInQueue() { + return base.Channel.GetNextBatchInQueue(); + } + + public System.Threading.Tasks.Task GetNextBatchInQueueAsync() { + return base.Channel.GetNextBatchInQueueAsync(); + } + + public EgwProxy.Icoel.SizerService.Batch[] GetNextBatches() { + return base.Channel.GetNextBatches(); + } + + public System.Threading.Tasks.Task GetNextBatchesAsync() { + return base.Channel.GetNextBatchesAsync(); + } + + public EgwProxy.Icoel.SizerService.Batch GetNextBatchByLaneGroup(EgwProxy.Icoel.SizerService.LaneGroup laneGroup) { + return base.Channel.GetNextBatchByLaneGroup(laneGroup); + } + + public System.Threading.Tasks.Task GetNextBatchByLaneGroupAsync(EgwProxy.Icoel.SizerService.LaneGroup laneGroup) { + return base.Channel.GetNextBatchByLaneGroupAsync(laneGroup); + } + + public void AddBatch(EgwProxy.Icoel.SizerService.Batch batch) { + base.Channel.AddBatch(batch); + } + + public System.Threading.Tasks.Task AddBatchAsync(EgwProxy.Icoel.SizerService.Batch batch) { + return base.Channel.AddBatchAsync(batch); + } + + public void AddBatches(EgwProxy.Icoel.SizerService.Batch[] batches) { + base.Channel.AddBatches(batches); + } + + public System.Threading.Tasks.Task AddBatchesAsync(EgwProxy.Icoel.SizerService.Batch[] batches) { + return base.Channel.AddBatchesAsync(batches); + } + + public void ClearBatchQueue() { + base.Channel.ClearBatchQueue(); + } + + public System.Threading.Tasks.Task ClearBatchQueueAsync() { + return base.Channel.ClearBatchQueueAsync(); + } + + public void RemoveNextBatchInQueue() { + base.Channel.RemoveNextBatchInQueue(); + } + + public System.Threading.Tasks.Task RemoveNextBatchInQueueAsync() { + return base.Channel.RemoveNextBatchInQueueAsync(); + } + + public void RemoveNextBatchInQueueForLaneGroup(EgwProxy.Icoel.SizerService.LaneGroup laneGroup, bool removeWholeBatch) { + base.Channel.RemoveNextBatchInQueueForLaneGroup(laneGroup, removeWholeBatch); + } + + public System.Threading.Tasks.Task RemoveNextBatchInQueueForLaneGroupAsync(EgwProxy.Icoel.SizerService.LaneGroup laneGroup, bool removeWholeBatch) { + return base.Channel.RemoveNextBatchInQueueForLaneGroupAsync(laneGroup, removeWholeBatch); + } + + public int StartNextBatchInQueue() { + return base.Channel.StartNextBatchInQueue(); + } + + public System.Threading.Tasks.Task StartNextBatchInQueueAsync() { + return base.Channel.StartNextBatchInQueueAsync(); + } + + public int StartNextBatchInQueueForLaneGroup(EgwProxy.Icoel.SizerService.LaneGroup laneGroup) { + return base.Channel.StartNextBatchInQueueForLaneGroup(laneGroup); + } + + public System.Threading.Tasks.Task StartNextBatchInQueueForLaneGroupAsync(EgwProxy.Icoel.SizerService.LaneGroup laneGroup) { + return base.Channel.StartNextBatchInQueueForLaneGroupAsync(laneGroup); + } + + public double GetCurrentCartonEquivalentWeight() { + return base.Channel.GetCurrentCartonEquivalentWeight(); + } + + public System.Threading.Tasks.Task GetCurrentCartonEquivalentWeightAsync() { + return base.Channel.GetCurrentCartonEquivalentWeightAsync(); + } + + public void SetCurrentCartonEquivalentWeight(double cartonEquivalentWeight) { + base.Channel.SetCurrentCartonEquivalentWeight(cartonEquivalentWeight); + } + + public System.Threading.Tasks.Task SetCurrentCartonEquivalentWeightAsync(double cartonEquivalentWeight) { + return base.Channel.SetCurrentCartonEquivalentWeightAsync(cartonEquivalentWeight); + } + + public System.Collections.Generic.Dictionary GetLaneSizeFPM(int laneIndex) { + return base.Channel.GetLaneSizeFPM(laneIndex); + } + + public System.Threading.Tasks.Task> GetLaneSizeFPMAsync(int laneIndex) { + return base.Channel.GetLaneSizeFPMAsync(laneIndex); + } + + public System.Collections.Generic.Dictionary[] GetLanesSizeFPM() { + return base.Channel.GetLanesSizeFPM(); + } + + public System.Threading.Tasks.Task[]> GetLanesSizeFPMAsync() { + return base.Channel.GetLanesSizeFPMAsync(); + } + + public System.Collections.Generic.Dictionary GetLaneGradeFPM(int laneIndex) { + return base.Channel.GetLaneGradeFPM(laneIndex); + } + + public System.Threading.Tasks.Task> GetLaneGradeFPMAsync(int laneIndex) { + return base.Channel.GetLaneGradeFPMAsync(laneIndex); + } + + public System.Collections.Generic.Dictionary[] GetLanesGradeFPM() { + return base.Channel.GetLanesGradeFPM(); + } + + public System.Threading.Tasks.Task[]> GetLanesGradeFPMAsync() { + return base.Channel.GetLanesGradeFPMAsync(); + } + + public bool ForceChangeOnStage(string stageName, int toBatchId) { + return base.Channel.ForceChangeOnStage(stageName, toBatchId); + } + + public System.Threading.Tasks.Task ForceChangeOnStageAsync(string stageName, int toBatchId) { + return base.Channel.ForceChangeOnStageAsync(stageName, toBatchId); + } + + public string[] GetSizingProfileNames() { + return base.Channel.GetSizingProfileNames(); + } + + public System.Threading.Tasks.Task GetSizingProfileNamesAsync() { + return base.Channel.GetSizingProfileNamesAsync(); + } + + public string[] GetVarietyNames() { + return base.Channel.GetVarietyNames(); + } + + public System.Threading.Tasks.Task GetVarietyNamesAsync() { + return base.Channel.GetVarietyNamesAsync(); + } + + public EgwProxy.Icoel.SizerService.Layout[] GetLayouts(System.Guid varietyID) { + return base.Channel.GetLayouts(varietyID); + } + + public System.Threading.Tasks.Task GetLayoutsAsync(System.Guid varietyID) { + return base.Channel.GetLayoutsAsync(varietyID); + } + + public EgwProxy.Icoel.SizerService.Variety GetVarietyByName(string varietyName) { + return base.Channel.GetVarietyByName(varietyName); + } + + public System.Threading.Tasks.Task GetVarietyByNameAsync(string varietyName) { + return base.Channel.GetVarietyByNameAsync(varietyName); + } + + public EgwProxy.Icoel.SizerService.Variety GetVarietyById(System.Guid varietyID) { + return base.Channel.GetVarietyById(varietyID); + } + + public System.Threading.Tasks.Task GetVarietyByIdAsync(System.Guid varietyID) { + return base.Channel.GetVarietyByIdAsync(varietyID); + } + + public EgwProxy.Icoel.SizerService.Variety GetActiveVariety() { + return base.Channel.GetActiveVariety(); + } + + public System.Threading.Tasks.Task GetActiveVarietyAsync() { + return base.Channel.GetActiveVarietyAsync(); + } + + public EgwProxy.Icoel.SizerService.Variety[] GetActiveVarieties() { + return base.Channel.GetActiveVarieties(); + } + + public System.Threading.Tasks.Task GetActiveVarietiesAsync() { + return base.Channel.GetActiveVarietiesAsync(); + } + + public EgwProxy.Icoel.SizerService.Variety[] GetAllVarieties() { + return base.Channel.GetAllVarieties(); + } + + public System.Threading.Tasks.Task GetAllVarietiesAsync() { + return base.Channel.GetAllVarietiesAsync(); + } + + public EgwProxy.Icoel.SizerService.Layout GetLayout(System.Guid varietyID, System.Guid layoutID) { + return base.Channel.GetLayout(varietyID, layoutID); + } + + public System.Threading.Tasks.Task GetLayoutAsync(System.Guid varietyID, System.Guid layoutID) { + return base.Channel.GetLayoutAsync(varietyID, layoutID); + } + + public EgwProxy.Icoel.SizerService.Layout GetActiveLayout(System.Guid varietyID) { + return base.Channel.GetActiveLayout(varietyID); + } + + public System.Threading.Tasks.Task GetActiveLayoutAsync(System.Guid varietyID) { + return base.Channel.GetActiveLayoutAsync(varietyID); + } + + public EgwProxy.Icoel.SizerService.Product GetProduct(System.Guid productGuid) { + return base.Channel.GetProduct(productGuid); + } + + public System.Threading.Tasks.Task GetProductAsync(System.Guid productGuid) { + return base.Channel.GetProductAsync(productGuid); + } + + public EgwProxy.Icoel.SizerService.Product[] GetActiveProducts(System.Guid varietyID, System.Guid layoutID) { + return base.Channel.GetActiveProducts(varietyID, layoutID); + } + + public System.Threading.Tasks.Task GetActiveProductsAsync(System.Guid varietyID, System.Guid layoutID) { + return base.Channel.GetActiveProductsAsync(varietyID, layoutID); + } + + public EgwProxy.Icoel.SizerService.Product[] GetAllProducts(System.Guid varietyID) { + return base.Channel.GetAllProducts(varietyID); + } + + public System.Threading.Tasks.Task GetAllProductsAsync(System.Guid varietyID) { + return base.Channel.GetAllProductsAsync(varietyID); + } + + public void RemoveProduct(System.Guid varietyID, System.Guid layoutID, System.Guid productID) { + base.Channel.RemoveProduct(varietyID, layoutID, productID); + } + + public System.Threading.Tasks.Task RemoveProductAsync(System.Guid varietyID, System.Guid layoutID, System.Guid productID) { + return base.Channel.RemoveProductAsync(varietyID, layoutID, productID); + } + + public EgwProxy.Icoel.SizerService.Layout CreateLayout(System.Guid varietyID, string layoutName) { + return base.Channel.CreateLayout(varietyID, layoutName); + } + + public System.Threading.Tasks.Task CreateLayoutAsync(System.Guid varietyID, string layoutName) { + return base.Channel.CreateLayoutAsync(varietyID, layoutName); + } + + public void DeleteLayout(System.Guid varietyID, System.Guid layoutID) { + base.Channel.DeleteLayout(varietyID, layoutID); + } + + public System.Threading.Tasks.Task DeleteLayoutAsync(System.Guid varietyID, System.Guid layoutID) { + return base.Channel.DeleteLayoutAsync(varietyID, layoutID); + } + + public EgwProxy.Icoel.SizerService.Layout UpdateLayout(System.Guid varietyID, EgwProxy.Icoel.SizerService.Layout layout) { + return base.Channel.UpdateLayout(varietyID, layout); + } + + public System.Threading.Tasks.Task UpdateLayoutAsync(System.Guid varietyID, EgwProxy.Icoel.SizerService.Layout layout) { + return base.Channel.UpdateLayoutAsync(varietyID, layout); + } + + public EgwProxy.Icoel.SizerService.Layout ActivateLayout(System.Guid varietyID, System.Guid layoutID) { + return base.Channel.ActivateLayout(varietyID, layoutID); + } + + public System.Threading.Tasks.Task ActivateLayoutAsync(System.Guid varietyID, System.Guid layoutID) { + return base.Channel.ActivateLayoutAsync(varietyID, layoutID); + } + + public EgwProxy.Icoel.SizerService.Pack[] GetAllPacks() { + return base.Channel.GetAllPacks(); + } + + public System.Threading.Tasks.Task GetAllPacksAsync() { + return base.Channel.GetAllPacksAsync(); + } + + public EgwProxy.Icoel.SizerService.Label[] GetAllLabels() { + return base.Channel.GetAllLabels(); + } + + public System.Threading.Tasks.Task GetAllLabelsAsync() { + return base.Channel.GetAllLabelsAsync(); + } + + public EgwProxy.Icoel.SizerService.Label[] GetActiveLabels() { + return base.Channel.GetActiveLabels(); + } + + public System.Threading.Tasks.Task GetActiveLabelsAsync() { + return base.Channel.GetActiveLabelsAsync(); + } + + public void AddProduct(System.Guid varietyID, EgwProxy.Icoel.SizerService.Product product) { + base.Channel.AddProduct(varietyID, product); + } + + public System.Threading.Tasks.Task AddProductAsync(System.Guid varietyID, EgwProxy.Icoel.SizerService.Product product) { + return base.Channel.AddProductAsync(varietyID, product); + } + + public void UpdateProduct(EgwProxy.Icoel.SizerService.Product product) { + base.Channel.UpdateProduct(product); + } + + public System.Threading.Tasks.Task UpdateProductAsync(EgwProxy.Icoel.SizerService.Product product) { + return base.Channel.UpdateProductAsync(product); + } + + public void DeleteProduct(System.Guid productID, bool force) { + base.Channel.DeleteProduct(productID, force); + } + + public System.Threading.Tasks.Task DeleteProductAsync(System.Guid productID, bool force) { + return base.Channel.DeleteProductAsync(productID, force); + } + + public void ActivateProducts(System.Guid varietyID, System.Guid layoutID, System.Guid[] productGuids) { + base.Channel.ActivateProducts(varietyID, layoutID, productGuids); + } + + public System.Threading.Tasks.Task ActivateProductsAsync(System.Guid varietyID, System.Guid layoutID, System.Guid[] productGuids) { + return base.Channel.ActivateProductsAsync(varietyID, layoutID, productGuids); + } + + public EgwProxy.Icoel.SizerService.Outlet[] GetOutlets() { + return base.Channel.GetOutlets(); + } + + public System.Threading.Tasks.Task GetOutletsAsync() { + return base.Channel.GetOutletsAsync(); + } + + public EgwProxy.Icoel.SizerService.Product GetProductAtOutlet(int outletId) { + return base.Channel.GetProductAtOutlet(outletId); + } + + public System.Threading.Tasks.Task GetProductAtOutletAsync(int outletId) { + return base.Channel.GetProductAtOutletAsync(outletId); + } + + public EgwProxy.Icoel.SizerService.Batch GetBatchAtOutlet(int outletId) { + return base.Channel.GetBatchAtOutlet(outletId); + } + + public System.Threading.Tasks.Task GetBatchAtOutletAsync(int outletId) { + return base.Channel.GetBatchAtOutletAsync(outletId); + } + + public EgwProxy.Icoel.SizerService.Batch[] GetBatchesAtOutlet(int outletId) { + return base.Channel.GetBatchesAtOutlet(outletId); + } + + public System.Threading.Tasks.Task GetBatchesAtOutletAsync(int outletId) { + return base.Channel.GetBatchesAtOutletAsync(outletId); + } + + public EgwProxy.Icoel.SizerService.Batch[] GetBatchesForProductAtOutlet(int outletId) { + return base.Channel.GetBatchesForProductAtOutlet(outletId); + } + + public System.Threading.Tasks.Task GetBatchesForProductAtOutletAsync(int outletId) { + return base.Channel.GetBatchesForProductAtOutletAsync(outletId); + } + + public string GetProductUserData(System.Guid productId, string category, string field) { + return base.Channel.GetProductUserData(productId, category, field); + } + + public System.Threading.Tasks.Task GetProductUserDataAsync(System.Guid productId, string category, string field) { + return base.Channel.GetProductUserDataAsync(productId, category, field); + } + + public void ChangeProductAtOutlet(int outletId, System.Guid productID, bool force) { + base.Channel.ChangeProductAtOutlet(outletId, productID, force); + } + + public System.Threading.Tasks.Task ChangeProductAtOutletAsync(int outletId, System.Guid productID, bool force) { + return base.Channel.ChangeProductAtOutletAsync(outletId, productID, force); + } + + public void SetOutletEnabled(int outletId, bool enabled, bool disableOnPackBoundary) { + base.Channel.SetOutletEnabled(outletId, enabled, disableOnPackBoundary); + } + + public System.Threading.Tasks.Task SetOutletEnabledAsync(int outletId, bool enabled, bool disableOnPackBoundary) { + return base.Channel.SetOutletEnabledAsync(outletId, enabled, disableOnPackBoundary); + } + + public void ResetOutlet(int outletId) { + base.Channel.ResetOutlet(outletId); + } + + public System.Threading.Tasks.Task ResetOutletAsync(int outletId) { + return base.Channel.ResetOutletAsync(outletId); + } + + public void CycleOutlet(int outletId) { + base.Channel.CycleOutlet(outletId); + } + + public System.Threading.Tasks.Task CycleOutletAsync(int outletId) { + return base.Channel.CycleOutletAsync(outletId); + } + + public EgwProxy.Icoel.SizerService.Product[] GetProductsInNextAvailableOutletStrategy() { + return base.Channel.GetProductsInNextAvailableOutletStrategy(); + } + + public System.Threading.Tasks.Task GetProductsInNextAvailableOutletStrategyAsync() { + return base.Channel.GetProductsInNextAvailableOutletStrategyAsync(); + } + + public void AddProductToNextAvailableOutletStrategy(System.Guid productId) { + base.Channel.AddProductToNextAvailableOutletStrategy(productId); + } + + public System.Threading.Tasks.Task AddProductToNextAvailableOutletStrategyAsync(System.Guid productId) { + return base.Channel.AddProductToNextAvailableOutletStrategyAsync(productId); + } + + public void RemoveProductFromNextAvailableOutletStrategy(System.Guid productId) { + base.Channel.RemoveProductFromNextAvailableOutletStrategy(productId); + } + + public System.Threading.Tasks.Task RemoveProductFromNextAvailableOutletStrategyAsync(System.Guid productId) { + return base.Channel.RemoveProductFromNextAvailableOutletStrategyAsync(productId); + } + + public double GetOutletFPM(int outletId) { + return base.Channel.GetOutletFPM(outletId); + } + + public System.Threading.Tasks.Task GetOutletFPMAsync(int outletId) { + return base.Channel.GetOutletFPMAsync(outletId); + } + + public double[] GetOutletsFPM() { + return base.Channel.GetOutletsFPM(); + } + + public System.Threading.Tasks.Task GetOutletsFPMAsync() { + return base.Channel.GetOutletsFPMAsync(); + } + + public int[] GetMachineRodsPM() { + return base.Channel.GetMachineRodsPM(); + } + + public System.Threading.Tasks.Task GetMachineRodsPMAsync() { + return base.Channel.GetMachineRodsPMAsync(); + } + + public int GetMachineRecycleFPM() { + return base.Channel.GetMachineRecycleFPM(); + } + + public System.Threading.Tasks.Task GetMachineRecycleFPMAsync() { + return base.Channel.GetMachineRecycleFPMAsync(); + } + + public int GetMachineRejectFPM() { + return base.Channel.GetMachineRejectFPM(); + } + + public System.Threading.Tasks.Task GetMachineRejectFPMAsync() { + return base.Channel.GetMachineRejectFPMAsync(); + } + + public int GetMachineMissedFPM() { + return base.Channel.GetMachineMissedFPM(); + } + + public System.Threading.Tasks.Task GetMachineMissedFPMAsync() { + return base.Channel.GetMachineMissedFPMAsync(); + } + + public int GetMachineDroppedFPM() { + return base.Channel.GetMachineDroppedFPM(); + } + + public System.Threading.Tasks.Task GetMachineDroppedFPMAsync() { + return base.Channel.GetMachineDroppedFPMAsync(); + } + + public int GetMachinePackedFPM() { + return base.Channel.GetMachinePackedFPM(); + } + + public System.Threading.Tasks.Task GetMachinePackedFPMAsync() { + return base.Channel.GetMachinePackedFPMAsync(); + } + + public double GetMachineAFW() { + return base.Channel.GetMachineAFW(); + } + + public System.Threading.Tasks.Task GetMachineAFWAsync() { + return base.Channel.GetMachineAFWAsync(); + } + + public double GetAFW(int batchId) { + return base.Channel.GetAFW(batchId); + } + + public System.Threading.Tasks.Task GetAFWAsync(int batchId) { + return base.Channel.GetAFWAsync(batchId); + } + + public int GetMachineAVC() { + return base.Channel.GetMachineAVC(); + } + + public System.Threading.Tasks.Task GetMachineAVCAsync() { + return base.Channel.GetMachineAVCAsync(); + } + + public int GetMachinePacksPH() { + return base.Channel.GetMachinePacksPH(); + } + + public System.Threading.Tasks.Task GetMachinePacksPHAsync() { + return base.Channel.GetMachinePacksPHAsync(); + } + + public double GetMachineCupfill() { + return base.Channel.GetMachineCupfill(); + } + + public System.Threading.Tasks.Task GetMachineCupfillAsync() { + return base.Channel.GetMachineCupfillAsync(); + } + + public double GetLanesCupfill(int lane) { + return base.Channel.GetLanesCupfill(lane); + } + + public System.Threading.Tasks.Task GetLanesCupfillAsync(int lane) { + return base.Channel.GetLanesCupfillAsync(lane); + } + + public double[] GetCupfillForAllLanes() { + return base.Channel.GetCupfillForAllLanes(); + } + + public System.Threading.Tasks.Task GetCupfillForAllLanesAsync() { + return base.Channel.GetCupfillForAllLanesAsync(); + } + + public void SetOutletsMaxRateSquareCMPerMinute(System.Collections.Generic.Dictionary newRates) { + base.Channel.SetOutletsMaxRateSquareCMPerMinute(newRates); + } + + public System.Threading.Tasks.Task SetOutletsMaxRateSquareCMPerMinuteAsync(System.Collections.Generic.Dictionary newRates) { + return base.Channel.SetOutletsMaxRateSquareCMPerMinuteAsync(newRates); + } + + public int GetMachineTonnesPH() { + return base.Channel.GetMachineTonnesPH(); + } + + public System.Threading.Tasks.Task GetMachineTonnesPHAsync() { + return base.Channel.GetMachineTonnesPHAsync(); + } + + public void RaiseAlarm(string alarm, string details) { + base.Channel.RaiseAlarm(alarm, details); + } + + public System.Threading.Tasks.Task RaiseAlarmAsync(string alarm, string details) { + return base.Channel.RaiseAlarmAsync(alarm, details); + } + + public void RaiseAlarmWithPriority(string alarm, string details, EgwProxy.Icoel.SizerService.AlarmPriority priority) { + base.Channel.RaiseAlarmWithPriority(alarm, details, priority); + } + + public System.Threading.Tasks.Task RaiseAlarmWithPriorityAsync(string alarm, string details, EgwProxy.Icoel.SizerService.AlarmPriority priority) { + return base.Channel.RaiseAlarmWithPriorityAsync(alarm, details, priority); + } + + public void RaiseEvent(EgwProxy.Icoel.SizerService.ServiceEvent eventDetails) { + base.Channel.RaiseEvent(eventDetails); + } + + public System.Threading.Tasks.Task RaiseEventAsync(EgwProxy.Icoel.SizerService.ServiceEvent eventDetails) { + return base.Channel.RaiseEventAsync(eventDetails); + } + + public EgwProxy.Icoel.SizerService.LaneGroup[] GetLaneGroups() { + return base.Channel.GetLaneGroups(); + } + + public System.Threading.Tasks.Task GetLaneGroupsAsync() { + return base.Channel.GetLaneGroupsAsync(); + } + + public EgwProxy.Icoel.SizerService.Batch GetBatch(int id) { + return base.Channel.GetBatch(id); + } + + public System.Threading.Tasks.Task GetBatchAsync(int id) { + return base.Channel.GetBatchAsync(id); + } + + public EgwProxy.Icoel.SizerService.Batch GetCurrentBatch() { + return base.Channel.GetCurrentBatch(); + } + + public System.Threading.Tasks.Task GetCurrentBatchAsync() { + return base.Channel.GetCurrentBatchAsync(); + } + + public EgwProxy.Icoel.SizerService.Batch[] GetCurrentBatches() { + return base.Channel.GetCurrentBatches(); + } + + public System.Threading.Tasks.Task GetCurrentBatchesAsync() { + return base.Channel.GetCurrentBatchesAsync(); + } + + public EgwProxy.Icoel.SizerService.Batch GetCurrentBatchByLane(int lane) { + return base.Channel.GetCurrentBatchByLane(lane); + } + + public System.Threading.Tasks.Task GetCurrentBatchByLaneAsync(int lane) { + return base.Channel.GetCurrentBatchByLaneAsync(lane); + } + + public EgwProxy.Icoel.SizerService.Batch GetCurrentBatchByLaneGroup(EgwProxy.Icoel.SizerService.LaneGroup laneGroup) { + return base.Channel.GetCurrentBatchByLaneGroup(laneGroup); + } + + public System.Threading.Tasks.Task GetCurrentBatchByLaneGroupAsync(EgwProxy.Icoel.SizerService.LaneGroup laneGroup) { + return base.Channel.GetCurrentBatchByLaneGroupAsync(laneGroup); + } + + public bool IsCurrentBatch(int id) { + return base.Channel.IsCurrentBatch(id); + } + + public System.Threading.Tasks.Task IsCurrentBatchAsync(int id) { + return base.Channel.IsCurrentBatchAsync(id); + } + + public EgwProxy.Icoel.SizerService.LaneGroup[] GetBatchLaneGroups(int id) { + return base.Channel.GetBatchLaneGroups(id); + } + + public System.Threading.Tasks.Task GetBatchLaneGroupsAsync(int id) { + return base.Channel.GetBatchLaneGroupsAsync(id); + } + + public int[] GetBatchLanes(int id) { + return base.Channel.GetBatchLanes(id); + } + + public System.Threading.Tasks.Task GetBatchLanesAsync(int id) { + return base.Channel.GetBatchLanesAsync(id); + } + + public int ChangeBatch(EgwProxy.Icoel.SizerService.Batch batch) { + return base.Channel.ChangeBatch(batch); + } + + public System.Threading.Tasks.Task ChangeBatchAsync(EgwProxy.Icoel.SizerService.Batch batch) { + return base.Channel.ChangeBatchAsync(batch); + } + + public int ChangeBatchByLane(EgwProxy.Icoel.SizerService.Batch batch, EgwProxy.Icoel.SizerService.LaneGroup[] laneGroups) { + return base.Channel.ChangeBatchByLane(batch, laneGroups); + } + + public System.Threading.Tasks.Task ChangeBatchByLaneAsync(EgwProxy.Icoel.SizerService.Batch batch, EgwProxy.Icoel.SizerService.LaneGroup[] laneGroups) { + return base.Channel.ChangeBatchByLaneAsync(batch, laneGroups); + } + + public int SecondsToBallArrivingOnLastBatchChange() { + return base.Channel.SecondsToBallArrivingOnLastBatchChange(); + } + + public System.Threading.Tasks.Task SecondsToBallArrivingOnLastBatchChangeAsync() { + return base.Channel.SecondsToBallArrivingOnLastBatchChangeAsync(); + } + + public void AddBatchLanes(EgwProxy.Icoel.SizerService.Batch batch, EgwProxy.Icoel.SizerService.LaneGroup[] laneGroups) { + base.Channel.AddBatchLanes(batch, laneGroups); + } + + public System.Threading.Tasks.Task AddBatchLanesAsync(EgwProxy.Icoel.SizerService.Batch batch, EgwProxy.Icoel.SizerService.LaneGroup[] laneGroups) { + return base.Channel.AddBatchLanesAsync(batch, laneGroups); + } + + public void ClearBatches() { + base.Channel.ClearBatches(); + } + + public System.Threading.Tasks.Task ClearBatchesAsync() { + return base.Channel.ClearBatchesAsync(); + } + + public void SetBatchDetails(EgwProxy.Icoel.SizerService.Batch batch) { + base.Channel.SetBatchDetails(batch); + } + + public System.Threading.Tasks.Task SetBatchDetailsAsync(EgwProxy.Icoel.SizerService.Batch batch) { + return base.Channel.SetBatchDetailsAsync(batch); + } + + public void FlushTotals() { + base.Channel.FlushTotals(); + } + + public System.Threading.Tasks.Task FlushTotalsAsync() { + return base.Channel.FlushTotalsAsync(); + } + + public EgwProxy.Icoel.SizerService.Grower GetGrower(string growerCode) { + return base.Channel.GetGrower(growerCode); + } + + public System.Threading.Tasks.Task GetGrowerAsync(string growerCode) { + return base.Channel.GetGrowerAsync(growerCode); + } + + public EgwProxy.Icoel.SizerService.Grower[] GetAllGrowers() { + return base.Channel.GetAllGrowers(); + } + + public System.Threading.Tasks.Task GetAllGrowersAsync() { + return base.Channel.GetAllGrowersAsync(); + } + + public void AddGrower(EgwProxy.Icoel.SizerService.Grower grower) { + base.Channel.AddGrower(grower); + } + + public System.Threading.Tasks.Task AddGrowerAsync(EgwProxy.Icoel.SizerService.Grower grower) { + return base.Channel.AddGrowerAsync(grower); + } + + public void AddGrowers(EgwProxy.Icoel.SizerService.Grower[] growers) { + base.Channel.AddGrowers(growers); + } + + public System.Threading.Tasks.Task AddGrowersAsync(EgwProxy.Icoel.SizerService.Grower[] growers) { + return base.Channel.AddGrowersAsync(growers); + } + + public void DeleteGrower(string growerCode) { + base.Channel.DeleteGrower(growerCode); + } + + public System.Threading.Tasks.Task DeleteGrowerAsync(string growerCode) { + return base.Channel.DeleteGrowerAsync(growerCode); + } + + public void UpdateGrower(EgwProxy.Icoel.SizerService.Grower grower) { + base.Channel.UpdateGrower(grower); + } + + public System.Threading.Tasks.Task UpdateGrowerAsync(EgwProxy.Icoel.SizerService.Grower grower) { + return base.Channel.UpdateGrowerAsync(grower); + } + + public int GetMachineTotalFPM() { + return base.Channel.GetMachineTotalFPM(); + } + + public System.Threading.Tasks.Task GetMachineTotalFPMAsync() { + return base.Channel.GetMachineTotalFPMAsync(); + } + + public bool MatchesCurrentBatch(int batchId) { + return base.Channel.MatchesCurrentBatch(batchId); + } + + public System.Threading.Tasks.Task MatchesCurrentBatchAsync(int batchId) { + return base.Channel.MatchesCurrentBatchAsync(batchId); + } + + public EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration GetSamplingConfiguration(int outletId) { + return base.Channel.GetSamplingConfiguration(outletId); + } + + public System.Threading.Tasks.Task GetSamplingConfigurationAsync(int outletId) { + return base.Channel.GetSamplingConfigurationAsync(outletId); + } + + public void SetSamplingConfiguration(int outletId, EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration config) { + base.Channel.SetSamplingConfiguration(outletId, config); + } + + public System.Threading.Tasks.Task SetSamplingConfigurationAsync(int outletId, EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration config) { + return base.Channel.SetSamplingConfigurationAsync(outletId, config); + } + + public EgwProxy.Icoel.SizerService.SamplingProgress[] GetSamplingProgress(int outletId) { + return base.Channel.GetSamplingProgress(outletId); + } + + public System.Threading.Tasks.Task GetSamplingProgressAsync(int outletId) { + return base.Channel.GetSamplingProgressAsync(outletId); + } + } +} diff --git a/EgwProxy.Icoel/Connected Services/SizerService/Reference.svcmap b/EgwProxy.Icoel/Connected Services/SizerService/Reference.svcmap new file mode 100644 index 0000000..b3c0c55 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/Reference.svcmap @@ -0,0 +1,40 @@ + + + + false + true + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/System.xsd b/EgwProxy.Icoel/Connected Services/SizerService/System.xsd new file mode 100644 index 0000000..5a03057 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/System.xsd @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/configuration.svcinfo b/EgwProxy.Icoel/Connected Services/SizerService/configuration.svcinfo new file mode 100644 index 0000000..0edfef1 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/configuration.svcinfo @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/configuration91.svcinfo b/EgwProxy.Icoel/Connected Services/SizerService/configuration91.svcinfo new file mode 100644 index 0000000..719c525 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/configuration91.svcinfo @@ -0,0 +1,374 @@ + + + + + + + NetNamedPipeBinding_ISizerService + + + + + + + + + + + + + + + False + + + Buffered + + + OleTransactions + + + StrongWildcard + + + + + + 65536 + + + 0 + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.ServiceModel.Configuration.NetNamedPipeSecurityElement + + + None + + + System.ServiceModel.Configuration.NamedPipeTransportSecurityElement + + + EncryptAndSign + + + + + + + WSHttpBinding_ISizerService + + + + + + + + + + + + + + + + + + False + + + StrongWildcard + + + + + + + + + Text + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement + + + True + + + 00:10:00 + + + False + + + System.Text.UTF8Encoding + + + + + + + + + System.ServiceModel.Configuration.WSHttpSecurityElement + + + None + + + System.ServiceModel.Configuration.WSHttpTransportSecurityElement + + + Windows + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Raccolta) + + + + + + System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement + + + Windows + + + True + + + Default + + + True + + + + + + + + + http://localhost:8001/SizerService/ + + + + + + wsHttpBinding + + + WSHttpBinding_ISizerService + + + SizerService.ISizerService + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + WSHttpBinding_ISizerService + + + + + + + + + + + + + net.pipe://localhost/Compac/8001/SizerService + + + + + + netNamedPipeBinding + + + NetNamedPipeBinding_ISizerService + + + SizerService.ISizerService + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + NetNamedPipeBinding_ISizerService + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/service.wsdl b/EgwProxy.Icoel/Connected Services/SizerService/service.wsdl new file mode 100644 index 0000000..36bbd2a --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/service.wsdl @@ -0,0 +1,2220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://localhost:8001/SizerService/ + + + + + + net.pipe://localhost/Compac/8001/SizerService + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connected Services/SizerService/service.xsd b/EgwProxy.Icoel/Connected Services/SizerService/service.xsd new file mode 100644 index 0000000..b4d5ff0 --- /dev/null +++ b/EgwProxy.Icoel/Connected Services/SizerService/service.xsd @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/Connector.cs b/EgwProxy.Icoel/Connector.cs new file mode 100644 index 0000000..a25cd86 --- /dev/null +++ b/EgwProxy.Icoel/Connector.cs @@ -0,0 +1,238 @@ +using EgwProxy.Icoel.Compac; +using EgwProxy.Icoel.SizerService; +using System; +using System.Collections.Generic; + +namespace EgwProxy.Icoel +{ + /// + /// Connettore proxy x servizi rest di Icoel + /// + public class Connector + { + #region Public Constructors + + /// + /// Inizializazzione classe con salvataggio ip/porta del webservice del sizer + /// + /// Indirizzo IP del sizer + /// POrta del sizer (default 8001) + public Connector(string ipAddress, string tcpPort) + { + this.ipAddress = ipAddress; + this.tcpPort = tcpPort; + } + + #endregion Public Constructors + + #region Public Methods + + /// + /// Verifica il fornitore e se non ci fosse crea + /// + /// Struttura GrowerInfo del fornitore + public void CheckGrower(GrowerInfo GrowerData) + { + using (var Client = new ComClient(ipAddress, tcpPort)) + { + Client.CheckGrower(GrowerData.GrowerCode, GrowerData.GrowerName); + } + } + /// + /// Recupera array varie velocità rilevate + /// + /// Dictionary delle velocità rilevate sul sizer + public Dictionary GetPerfMeters() + { + Dictionary answ = new Dictionary(); + using (var Client = new ComClient(ipAddress, tcpPort)) + { + answ = Client.GetPerfMeters(); + } + return answ; + } + + + /// + /// Recupera array dei batch sulle 2 linee: ID batch + layout + varietà x ogni linea... + /// + /// Dictionary dei dati correnti x linea (batch, layout, variety) rilevate sul sizer + public Dictionary GetCurrBatchData() + { + Dictionary answ = new Dictionary(); + var batchData = GetCurrentBatch(); + foreach (var item in batchData) + { + answ.Add($"L{item.Key}_Batch", $"{item.Value.Id} | {item.Value.Name} | {item.Value.StartTime}"); + answ.Add($"L{item.Key}_Grower", $"{item.Value.GrowerCode}"); + answ.Add($"L{item.Key}_Layout", $"{item.Value.LayoutId} | {item.Value.LayoutName}"); + answ.Add($"L{item.Key}_Variety", $"{item.Value.VarietyId} | {item.Value.VarietyName}"); + } + return answ; + } + + /// + /// Invia un lotto in coda produzione sul sizer + /// + /// Batch da accodare + public void EnqueueBatch(GrowerInfo GrowerData, Guid varGuid, Guid layGuid) + { + using (var Client = new ComClient(ipAddress, tcpPort)) + { + // va bene anche se vuoto! come lo torna ora... + string sizingProfile = Client.GetCurrentBatch().SizingProfileName; + //var rawData = Client.GetCurrentBatchByLane(1); + //var rawData2 = Client.GetCurrentBatchByLane(2); + Batch newBatch = CreateBatch(GrowerData, varGuid, layGuid, sizingProfile); + Client.MettiLottoInCoda(newBatch); + } + } + + /// + /// Recupera elenco dei Batch correnti + /// + /// Dizionario dei batch sulle due linee (1=SX, 2=DX) + public Dictionary GetCurrentBatch() + { + Dictionary outVal = new Dictionary(); + using (var Client = new ComClient(ipAddress, tcpPort)) + { + //Client.GetCurrentBatch(); + for (int i = 1; i <= 2; i++) + { + var batch = Client.GetCurrentBatchByLane(i); + outVal.Add(i, batch); + } + } + return outVal; + } + + /// + /// Restituisce un dictionary di varietà e relativi layout + /// + /// Dizionario: key=Variety, value=Layout[] associati + public Dictionary GetLayoutAndVariety() + { + Dictionary outVal = new Dictionary(); + using (var Client = new ComClient(ipAddress, tcpPort)) + { + Variety[] varietiesList = Client.GetActiveVarieties(); + foreach (var item in varietiesList) + { + // recupero layout della varietà + var layoutList = Client.GetLayouts(item.Id); + outVal.Add(item, layoutList); + } + } + // restituisco dati + return outVal; + } + + /// + /// Restituisce un array di Layout validi data Guid della Variety + /// + /// + /// Array di Layout della varietà dato suo Guid + public Layout[] GetLayoutForVariety(Guid varGuid) + { + Layout[] outVal = new Layout[1]; + using (var Client = new ComClient(ipAddress, tcpPort)) + { + // recupero layout della varietà + var layoutList = Client.GetLayouts(varGuid); + outVal = layoutList; + } + // restituisco dati + return outVal; + } + + /// + /// Restituisce un dictionary di layout validi x un array di varietà fornito + /// + /// Array varietà di cui ottenere i layout + /// Dizionario: key=Variety, value=Layout[] associati + public Dictionary GetLayoutForVarietyList(Variety[] varietiesList) + { + Dictionary outVal = new Dictionary(); + using (var Client = new ComClient(ipAddress, tcpPort)) + { + foreach (var item in varietiesList) + { + // recupero layout della varietà + var layoutList = Client.GetLayouts(item.Id); + outVal.Add(item, layoutList); + } + } + // restituisco dati + return outVal; + } + + /// + /// Restituisce elenco delle Variety + /// + /// Solo attive (true) o tutte (false) + /// Elenco delel Variety trovate + public Variety[] GetVarietyList(bool onlyActive = true) + { + Variety[] varietiesList; + using (var cClient = new ComClient(ipAddress, tcpPort)) + { + if (onlyActive) + { + varietiesList = cClient.GetActiveVarieties(); + } + else + { + varietiesList = cClient.GetAllVarieties(); + } + } + return varietiesList; + } + + #endregion Public Methods + + #region Private Properties + + /// + /// Inidirizzo IP + /// + private string ipAddress { get; set; } = "127.0.0.1"; + + /// + /// Porta del webservice (SOAP) + /// + private string tcpPort { get; set; } = "8001"; + + #endregion Private Properties + + #region Private Methods + + /// + /// Genera un obj batch dati i parametri necessari + /// + /// + /// + /// + /// + /// Oggetto Batch creato + private Batch CreateBatch(GrowerInfo GrowerData, Guid VarietyId, Guid LayoutId, string SizingProfileName) + { + var batch = new Batch(); + + batch.AvoidLayoutChange = true; + batch.AvoidSavingOldLayouts = true; + + batch.GrowerCode = GrowerData.GrowerCode; + batch.Comments = new string[GrowerData.Comments.Count]; + batch.Comments = GrowerData.Comments.ToArray(); + + batch.VarietyId = VarietyId; + batch.LayoutId = LayoutId; + batch.SizingProfileName = SizingProfileName; + + return batch; + } + + #endregion Private Methods + } +} \ No newline at end of file diff --git a/EgwProxy.Icoel/DbProxy.cs b/EgwProxy.Icoel/DbProxy.cs new file mode 100644 index 0000000..a9045a6 --- /dev/null +++ b/EgwProxy.Icoel/DbProxy.cs @@ -0,0 +1,42 @@ +using EgwProxy.Icoel.DataLayer.Controllers; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.Icoel +{ + /// + /// Proxy connessione DB + /// + public class DbProxy + { + /// + /// Controller DB esposto + /// + public DbController DataController { get; set; } + +#if false + /// + /// Inizializzazione proxy + /// + /// stringa connesisone DB Entrata + /// stringa connesisone DB Tracker + /// stringa connesisone DB Export + /// Connessione DB locale di SYNC + public DbProxy(string connEntrata, string connTracker, string connExport, string connSyncState) + { + DataController = new DbController(connEntrata, connTracker, connExport, connSyncState); + } +#endif + /// + /// Inizializzazione proxy + /// + /// Connessione DB locale di SYNC + public DbProxy(string connSyncState) + { + DataController = new DbController(connSyncState); + } + } +} diff --git a/EgwProxy.Icoel/EgwProxy.Icoel.csproj b/EgwProxy.Icoel/EgwProxy.Icoel.csproj new file mode 100644 index 0000000..dc64376 --- /dev/null +++ b/EgwProxy.Icoel/EgwProxy.Icoel.csproj @@ -0,0 +1,175 @@ + + + + + Debug + AnyCPU + {C45F5E6E-866B-4A34-A598-29AAB2D178AD} + Library + EgwProxy.Icoel + EgwProxy.Icoel + v4.6.2 + 512 + true + true + + + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + ..\packages\NLog.5.2.3\lib\net46\NLog.dll + + + + + + + ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + True + + + + + + + + + + + + + + + + + True + True + Reference.svcmap + + + + + + + + + + + Designer + + + Designer + + + Designer + + + Designer + + + + Designer + + + Designer + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + + Designer + + + Designer + + + + + + + + + + + + + + + + + + + + + WCF Proxy Generator + Reference.cs + + + + + {e36544cb-d699-48d8-9f81-c2758e7c7d19} + EgwProxy.Icoel.DataLayer + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/GrowerInfo.cs b/EgwProxy.Icoel/GrowerInfo.cs new file mode 100644 index 0000000..68566c7 --- /dev/null +++ b/EgwProxy.Icoel/GrowerInfo.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; + +namespace EgwProxy.Icoel +{ + /// + /// Classe rappresentazione dati del Grower + /// + public class GrowerInfo + { + #region Public Properties + + /// + /// Lista di commenti + /// + public List Comments { get; set; } = new List() { "Commento 01", "Commento 02", "Commento 01" }; + + /// + /// Codice univoco fornitore + /// + public string GrowerCode { get; set; } = "02"; + + /// + /// Denominazione del fornitore + /// + public string GrowerName { get; set; } = "Egalware"; + + #endregion Public Properties + } +} \ No newline at end of file diff --git a/EgwProxy.Icoel/Properties/AssemblyInfo.cs b/EgwProxy.Icoel/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c9fa1c3 --- /dev/null +++ b/EgwProxy.Icoel/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Le informazioni generali relative a un assembly sono controllate dal seguente +// set di attributi. Modificare i valori di questi attributi per modificare le informazioni +// associate a un assembly. +[assembly: AssemblyTitle("EgwProxy.Icoel")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.Icoel")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili +// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da +// COM, impostare su true l'attributo ComVisible per tale tipo. +[assembly: ComVisible(false)] + +// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi +[assembly: Guid("c45f5e6e-866b-4a34-a598-29aab2d178ad")] + +// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori: +// +// Versione principale +// Versione secondaria +// Numero di build +// Revisione +// +// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build +// usando l'asterisco '*' come illustrato di seguito: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.Icoel/api/index.md b/EgwProxy.Icoel/api/index.md new file mode 100644 index 0000000..115b5eb --- /dev/null +++ b/EgwProxy.Icoel/api/index.md @@ -0,0 +1,5 @@ +# EgwProxy.Icoel + +Libreria di comunicazione con servizi ICOEL (SOAP) + +Impiegare il menù laterale per navigare nel codice del progetto. \ No newline at end of file diff --git a/EgwProxy.Icoel/articles/intro.md b/EgwProxy.Icoel/articles/intro.md new file mode 100644 index 0000000..220bb53 --- /dev/null +++ b/EgwProxy.Icoel/articles/intro.md @@ -0,0 +1,21 @@ +# Logica di funzionamento impianto ICOEL: + +L'impianto Icoel prevede di comunicare in 3 modalità: +1. OPC-UA per dati RealTime di processo/automazione +2. SOAP API per informazioni scambiate riguardo al setup dei batch da produrre (messa in coda) ed in produzione +3. DB per dati produttivita "nrear-realtime" e tracciatura + +La presente libreria si occupa della modalità SOAP. + + +## Modalità impiego libreria + +La libreria va chiamata inizializzando un oggetto Connector, e poi invocando i suoi metodi messi a disposizione che si occupano di + - aprire canale di comunicazione + - effettuare chiamate + - chiudere canale + + +## Demo funzionamento + +Per un esempio di funzionamento si rimanda all'applicativo console EgwProxy.Icoel.Test diff --git a/EgwProxy.Icoel/articles/toc.md b/EgwProxy.Icoel/articles/toc.md new file mode 100644 index 0000000..89dec33 --- /dev/null +++ b/EgwProxy.Icoel/articles/toc.md @@ -0,0 +1 @@ +#[Introduction](intro.md) diff --git a/EgwProxy.Icoel/docfx.json b/EgwProxy.Icoel/docfx.json new file mode 100644 index 0000000..435e349 --- /dev/null +++ b/EgwProxy.Icoel/docfx.json @@ -0,0 +1,69 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "*.csproj", + "*.vbproj" + ], + "cwd": ".", + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "obj/api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml" + ], + "cwd": "obj" + }, + { + "files": [ + "api/*.md", + "articles/**.md", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ] + } +} \ No newline at end of file diff --git a/EgwProxy.Icoel/index.md b/EgwProxy.Icoel/index.md new file mode 100644 index 0000000..49fbf9b --- /dev/null +++ b/EgwProxy.Icoel/index.md @@ -0,0 +1,17 @@ +# EgwProxy.Icoel Library + +Documentazione relativa alla libreria di interfaccia con il Sizer di ICOEL per le operazioni di R/W dei dati di batch di produzione. + +Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo + +https://nexus.steamware.net/#browse/browse:nuget-hosted + +Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi. + +## Articles + +Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles + +## Api + +Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation \ No newline at end of file diff --git a/EgwProxy.Icoel/packages.config b/EgwProxy.Icoel/packages.config new file mode 100644 index 0000000..21f93e4 --- /dev/null +++ b/EgwProxy.Icoel/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel/toc.yml b/EgwProxy.Icoel/toc.yml new file mode 100644 index 0000000..7eee9ff --- /dev/null +++ b/EgwProxy.Icoel/toc.yml @@ -0,0 +1,6 @@ + +- name: Articles + href: articles/ +- name: API Documentation + href: obj/api/ + homepage: api/index.md diff --git a/EgwProxy.MultiCncLib/App/App.Native.Ini.vb b/EgwProxy.MultiCncLib/App/App.Native.Ini.vb new file mode 100644 index 0000000..67bbb0a --- /dev/null +++ b/EgwProxy.MultiCncLib/App/App.Native.Ini.vb @@ -0,0 +1,113 @@ +Namespace App + Namespace Native + Public Class Ini + ' API functions + Private Declare Ansi Function GetPrivateProfileString _ + Lib "kernel32.dll" Alias "GetPrivateProfileStringA" _ + (ByVal lpApplicationName As String, _ + ByVal lpKeyName As String, ByVal lpDefault As String, _ + ByVal lpReturnedString As System.Text.StringBuilder, _ + ByVal nSize As Integer, ByVal lpFileName As String) _ + As Integer + + Private Declare Ansi Function WritePrivateProfileString _ + Lib "kernel32.dll" Alias "WritePrivateProfileStringA" _ + (ByVal lpApplicationName As String, _ + ByVal lpKeyName As String, ByVal lpString As String, _ + ByVal lpFileName As String) As Integer + + Private Declare Ansi Function GetPrivateProfileInt _ + Lib "kernel32.dll" Alias "GetPrivateProfileIntA" _ + (ByVal lpApplicationName As String, _ + ByVal lpKeyName As String, ByVal nDefault As Integer, _ + ByVal lpFileName As String) As Integer + + Private Declare Ansi Function FlushPrivateProfileString _ + Lib "kernel32.dll" Alias "WritePrivateProfileStringA" _ + (ByVal lpApplicationName As Integer, _ + ByVal lpKeyName As Integer, ByVal lpString As Integer, _ + ByVal lpFileName As String) As Integer + + Dim strFilename As String + + ' Constructor, accepting a filename + Public Sub New(ByVal Filename As String) + + strFilename = Filename + + End Sub + + ' Read-only filename property + ReadOnly Property FileName() As String + Get + Return strFilename + End Get + End Property + + Public Function GetString(ByVal Section As String, ByVal Key As String, ByVal [Default] As String) As String + + ' Returns a string from your INI file + Dim intCharCount As Integer + Dim objResult As New System.Text.StringBuilder(256) + + intCharCount = GetPrivateProfileString(Section, Key, _ + [Default], objResult, objResult.Capacity, strFilename) + + If intCharCount > 0 Then + Return Left(objResult.ToString, intCharCount) + Else + Return "" + End If + + End Function + + Public Function GetInteger(ByVal Section As String, ByVal Key As String, ByVal [Default] As Integer) As Integer + + ' Returns an integer from your INI file + Return GetPrivateProfileInt(Section, Key, _ + [Default], strFilename) + + End Function + + Public Function GetBoolean(ByVal Section As String, ByVal Key As String, ByVal [Default] As Boolean) As Boolean + + ' Returns a boolean from your INI file + Return (GetPrivateProfileInt(Section, Key, _ + CInt([Default]), strFilename) = 1) + + End Function + + Public Sub WriteString(ByVal Section As String, ByVal Key As String, ByVal Value As String) + + ' Writes a string to your INI file + WritePrivateProfileString(Section, Key, Value, strFilename) + Flush() + + End Sub + + Public Sub WriteInteger(ByVal Section As String, ByVal Key As String, ByVal Value As Integer) + + ' Writes an integer to your INI file + WriteString(Section, Key, CStr(Value)) + Flush() + + End Sub + + Public Sub WriteBoolean(ByVal Section As String, ByVal Key As String, ByVal Value As Boolean) + + ' Writes a boolean to your INI file + WriteString(Section, Key, CStr(CInt(Value))) + Flush() + + End Sub + + Private Sub Flush() + + ' Stores all the cached changes to your INI file + FlushPrivateProfileString(0, 0, 0, strFilename) + + End Sub + End Class + + End Namespace +End Namespace \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/CNC/CNC.FANUC/CNC.FANUC.vb b/EgwProxy.MultiCncLib/CNC/CNC.FANUC/CNC.FANUC.vb new file mode 100644 index 0000000..23a6d89 --- /dev/null +++ b/EgwProxy.MultiCncLib/CNC/CNC.FANUC/CNC.FANUC.vb @@ -0,0 +1,2026 @@ +Imports EgwProxy.MultiCncLib.Config.Settings + +Namespace CNC + + Partial Public Class FANUC + Inherits CNC + + Const N_BYTE_TYPE = 0 + Const N_WORD_TYPE = 1 + Const N_DWORD_TYPE = 2 + Public Const G_PARAM = 0 + Public Const F_PARAM = 1 + Public Const Y_PARAM = 2 + Public Const X_PARAM = 3 + Public Const A_PARAM = 4 + Public Const R_PARAM = 5 + Public Const T_PARAM = 6 + Public Const K_PARAM = 7 + Public Const C_PARAM = 8 + Public Const D_PARAM = 9 + Public Const M_PARAM = 10 + Public Const N_PARAM = 11 + Public Const E_PARAM = 12 + Public Const Z_PARAM = 13 + Public Const CM_PARAM = 100 + + Const F_MAX_ITEM = 8 + Const F_MAX_MACRO = 5 + + + Public Enum MemType + G = 0 + F = 1 + Y = 2 + X = 3 + A = 4 + R = 5 + T = 6 + K = 7 + C = 8 + D = 9 + M = 10 + N = 11 + E = 12 + Z = 13 + CM = 100 + End Enum + + Private _connectionType As ConnectionType + Private _szIp As String + Private _nPortIp As Integer + Private _CncScreen_connectionType As ConnectionType + Private _nPathActive As Integer + Private _nMaxPath As Integer + Private _bMultiProcess As Boolean + Friend focas As Focas1 + Friend nLibHandle(1) As Integer + 'Private _err As New Err + + Private CncScreen_ProcessName As String + + Public Enum ConnectionType + Ethernet = 0 + Hssb = 1 + End Enum + + Private _Is16Series As Boolean + Public ReadOnly Property Is16Series() As Boolean + Get + Return _Is16Series + End Get + End Property + Private _Is30Series As Boolean = Not _Is16Series + Public ReadOnly Property Is30Series() As Boolean + Get + Return _Is30Series + End Get + End Property + + Public Overrides Property Licenza() As Integer + Get + Dim uiLicence As UInteger + 'leggo dal cn il valore + Me.F_RW_DWord(R, MemType.D, 7222, uiLicence) + Return UnsignedToInteger(uiLicence) + End Get + Set(ByVal value As Integer) + 'setto sul cn il valore + Dim uiLicence As UInteger = IntegerToUnsigned(value) + Me.F_RW_DWord(W, MemType.D, 7222, uiLicence) + End Set + End Property + + Public Overrides Property LicenzaScaduta() As Boolean + Get + Dim bLicenzaScaduta As Boolean + 'leggo dal cn il valore + Me.F_RW_Boolean(R, MemType.D, 7217, 5, bLicenzaScaduta) + Return bLicenzaScaduta + End Get + Set(ByVal value As Boolean) + 'setto sul cn il valore + Me.F_RW_Boolean(W, MemType.D, 7217, 5, value) + End Set + End Property + + Public Sub New(ByRef connectionType As ConnectionType, Optional ByRef szIp As String = "192.168.1.1", + Optional ByRef nPortIp As Integer = 8193, Optional ByRef CncScreenHssb As ConnectionType = FANUC.ConnectionType.Ethernet) + MyBase.New() + _Type = NcType.FANUC + + Try + focas = New Focas1 + Catch ex As Exception + MsgBox(ex.Message) + End Try + + _connectionType = connectionType + _szIp = szIp + _nPortIp = nPortIp + _CncScreen_connectionType = CncScreenHssb + + 'Inizializzo le variabili + Me._Descrizione = "NC FANUC" & vbNewLine + Select Case _connectionType + Case FANUC.ConnectionType.Ethernet + Me._Descrizione = Me._Descrizione & "Connection type: Ethernet" & vbNewLine & + "Ip address: " & _szIp & vbNewLine & + "Port: " & _nPortIp + Case FANUC.ConnectionType.Hssb + Me._Descrizione = Me._Descrizione & "Connection type: HSSB" & vbNewLine & + "Hssb node: " & Hssb_node.ToString + Case Else + Me._Descrizione = Me._Descrizione & "Connection type: " & _connectionType.ToString & " !!!" + End Select + + Select Case _CncScreen_connectionType + Case FANUC.ConnectionType.Ethernet + Me.CncScreen_ProcessName = "CNCScrnE" + Case FANUC.ConnectionType.Hssb + Me.CncScreen_ProcessName = "CNCScrn" + End Select + + End Sub + + Public Overrides Sub Connect(Optional ByRef szStatus As String = "") + Dim i As Integer + Dim nReturn As Integer + + Select Case _connectionType + Case ConnectionType.Ethernet + szStatus = "TRY cnc_allclibhndl3 Connect CNC.FANUC Ip=" & _szIp & " Port=" & _nPortIp + nReturn = Focas1.cnc_allclibhndl3(_szIp, _nPortIp, 5, nLibHandle(1)) + If F_CheckRetError_Cnc(nReturn, "cnc_allclibhndl3 Connect CNC.FANUC") Then + szStatus = "ERR cnc_allclibhndl3 Connect CNC.FANUC Return=" & nReturn + Focas1.cnc_freelibhndl(nLibHandle(1)) + _bConnected = False + Throw New NcException("ERR cnc_allclibhndl3 Connect CNC.FANUC") + Exit Sub + Else + 'leggo la serie del cnc + szStatus = "TRY F_GetCncSeries Connect CNC.FANUC" + F_GetCncSeries() + 'leggo il numero di processi e setto il primo + szStatus = "TRY cnc_getpath Connect CNC.FANUC" + nReturn = Focas1.cnc_getpath(nLibHandle(1), _nPathActive, _nMaxPath) + If F_CheckRetError_Cnc(nReturn, "cnc_getpath Connect CNC.FANUC") Then + szStatus = "ERR cnc_getpath Connect CNC.FANUC Return=" & nReturn + Focas1.cnc_freelibhndl(nLibHandle(1)) + _bConnected = False + Throw New NcException("ERR cnc_getpath Connect CNC.FANUC") + Exit Sub + Else + If _nMaxPath > 1 Then + _bMultiProcess = True + nReturn = Focas1.cnc_setpath(nLibHandle(1), 1) + If F_CheckRetError_Cnc(nReturn, "cnc_setpath Connect CNC.FANUC") Then + szStatus = "ERR cnc_setpath Connect CNC.FANUC Return=" & nReturn + Focas1.cnc_freelibhndl(nLibHandle(1)) + _bConnected = False + Throw New NcException("ERR cnc_setpath Connect CNC.FANUC") + Exit Sub + Else + ReDim Preserve nLibHandle(_nMaxPath) + For i = 2 To _nMaxPath + szStatus = "TRY cnc_allclibhndl3 Connect CNC.FANUC to Path " & i & " Ip=" & _szIp & " Port=" & _nPortIp + nReturn = Focas1.cnc_allclibhndl3(_szIp, _nPortIp, 5, nLibHandle(i)) + If F_CheckRetError_Cnc(nReturn, "cnc_allclibhndl3 Connect CNC.FANUC to Path " & i) Then + szStatus = "ERR cnc_allclibhndl3 Connect CNC.FANUC to Path " & i & " Return=" & nReturn + Focas1.cnc_freelibhndl(nLibHandle(i)) + _bConnected = False + Throw New NcException("ERR cnc_allclibhndl3 Connect CNC.FANUC to Path " & i) + Exit Sub + Else + nReturn = Focas1.cnc_setpath(nLibHandle(i), i) + If F_CheckRetError_Cnc(nReturn, "cnc_setpath Connect CNC.FANUCto Path " & i) Then + szStatus = "ERR cnc_setpath Connect CNC.FANUC to Path " & i & " Return=" & nReturn + Focas1.cnc_freelibhndl(nLibHandle(i)) + _bConnected = False + Throw New NcException("ERR cnc_setpath Connect CNC.FANUC to Path " & i) + Exit Sub + Else + _bConnected = True + End If + End If + Next i + End If + + Else + _bConnected = True + End If + End If + + End If + + Case ConnectionType.Hssb + Hssb_node = HSSB_DEFAULT_NODE + + szStatus = "TRY cnc_allclibhndl2 Connect CNC.FANUC" + nReturn = Focas1.cnc_allclibhndl2(Hssb_node, nLibHandle(1)) + If F_CheckRetError_Cnc(nReturn, "cnc_allclibhndl2 Connect CNC.FANUC") Then + szStatus = "ERR cnc_allclibhndl2 Connect CNC.FANUC Return=" & nReturn + Focas1.cnc_freelibhndl(nLibHandle(1)) + _bConnected = False + Throw New NcException("ERR cnc_allclibhndl2 Connect CNC.FANUC") + Exit Sub + Else + _bConnected = True + End If + End Select + + End Sub + + Public Overrides Sub Disconnect(Optional ByRef szStatus As String = "") + Dim i As Integer + Dim nReturn As Integer + + For i = 1 To UBound(nLibHandle) + nReturn = Focas1.cnc_freelibhndl(nLibHandle(i)) + If nReturn <> Focas1.EW_OK Then + _bConnected = False '? + Else + _bConnected = False + End If + Next i + End Sub + + ''' + ''' Get class series of CNC: 16 or 30 + ''' + ''' Series + ''' After, use Is16Series and Is30Series for discriminate + Public Function F_GetCncSeries() As Integer + Dim nReturn As Integer + Dim nOdb As Focas1.ODBSYS + Dim nSeries As Integer + + nOdb = New Focas1.ODBSYS + nReturn = Focas1.cnc_sysinfo(nLibHandle(1), nOdb) + If F_CheckRetError_Cnc(nReturn, "cnc_sysinfo F_GetCncSeries CNC.FANUC") Then + Throw New NcException("ERR cnc_sysinfo F_GetCncSeries CNC.FANUC") + Else + nSeries = Val(nOdb.cnc_type) + If nSeries >= 30 Then + _Is16Series = False + _Is30Series = True + Else + _Is16Series = True + _Is30Series = False + End If + End If + + Return nSeries + End Function + + ''' + ''' Legge le memorie di configurazione dal cn + ''' + Public Overrides Sub GetStaticData() + Dim usValue As UShort + Dim uiValue As UInteger + Dim cVal As Byte + + If Not bStaticDataReaded Then + + Try + 'Matricola + F_RW_Word(R, MemType.D, 4018, usValue) + Me._Matricola = usValue + 'Teste + F_RW_Word(R, MemType.D, 4032, usValue) + Me._Teste = usValue + 'Magazzini + F_RW_Word(R, MemType.D, 4036, usValue) + Me._Magazzini = usValue + + 'Manine per Magazzino + ReDim Me._ManineMagazzino(Me._Magazzini - 1) + Select Case Settings.MemoryMapping + Case MemoryMapping.ElsManager + Dim usValueA(8 - 1) As UShort + Dim cValueB(12 - 1) As Byte + F_RW_Word(R, MemType.D, 4038, usValueA) + F_RW_Byte(R, MemType.D, 6780, cValueB) + For i = 0 To Me._Magazzini - 1 + If i < 8 Then + _ManineMagazzino(i) = CInt(usValueA(i)) + Else + _ManineMagazzino(i) = CInt(cValueB(i)) + End If + Next + Case MemoryMapping.ToolManager, + MemoryMapping.ToolTable, + MemoryMapping.Default + Dim cValue(20 - 1) As Byte + F_RW_Byte(False, MemType.D, 3040, cValue) + For i = 0 To Me._Magazzini - 1 + Me._ManineMagazzino(i) = CInt(cValue(i)) + Next + End Select + + 'Magazzini Con Attrezzaggio Automatico (maschera) + F_RW_DWord(R, MemType.D, 8819, uiValue) + Me._MagazziniConAttrezzaggioAutomatico = UnsignedToInteger(uiValue) + + 'MaxUtensili + Dim odbtlinf As Focas1.ODBTLINF = New Focas1.ODBTLINF + 'Reads the memory type of tool offset, and the available number of it. + Focas1.cnc_rdtofsinfo(nLibHandle(1), odbtlinf) + If F_CheckRetError_Cnc(Focas1.cnc_rdtofsinfo(nLibHandle(1), odbtlinf), "cnc_rdtofsinfo GetStaticData CNC.FANUC") Then + Throw New NcException("ERR cnc_rdtofsinfo GetStaticData CNC.FANUC") + End If + + Me._MaxUtensiliGestibili = odbtlinf.use_no + Me._MaxIdUtensile = odbtlinf.use_no + + 'ZoomSpeed + Select Case Settings.MemoryMapping + Case MemoryMapping.ElsManager + F_RW_Byte(R, MemType.D, 6792, cVal) + Case MemoryMapping.ToolManager, + MemoryMapping.ToolTable, + MemoryMapping.Default + F_RW_Byte(R, MemType.D, 3330, cVal) + End Select + If cVal > 0 And cVal <= 100 Then + Me._ZoomSpeed = cVal + Else + Me._ZoomSpeed = 1 + End If + + bStaticDataReaded = True + + Catch ex As NcException + Me.CncException(ex.Message) + End Try + + End If + End Sub + + ''' + ''' Legge il numero del processo attivo + ''' + ''' Processo attivo + Public Function GetActivePath() As Integer + Dim bValue As Boolean + Dim nPathIdx As Integer + + nPathIdx = 1 + + F_RW_Boolean(R, MemType.G, 63, 0, bValue) + If bValue Then nPathIdx = nPathIdx + 1 + + F_RW_Boolean(R, MemType.G, 62, 7, bValue) + If bValue Then nPathIdx = nPathIdx + 2 + + F_RW_Boolean(R, MemType.G, 408, 1, bValue) + If bValue Then nPathIdx = nPathIdx + 4 + + F_RW_Boolean(R, MemType.G, 408, 2, bValue) + If bValue Then nPathIdx = nPathIdx + 8 + + Return nPathIdx + + ''leggo il numero del processo attivo + 'Dim nReturn, nPathActive, nMaxPath As Integer + 'nReturn = Focas1.cnc_getpath(FANUC_ref.nLibHandle(1), nPathActive, nMaxPath) + 'If nPathActive < 1 Or nPathActive > nMaxPath Then nPathActive = 1 + + '21/07/2015 Il codice sopra è ereditato da OpPaneled è funzionante + ' verificare se questo sopra commentato possa sostituirlo ed è più efficiente + End Function + + ''' + ''' Legge o scrive Boolean da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Bit della memoria + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Function F_RW_Boolean(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByVal MemBit As Integer, ByRef Value As Boolean) As Boolean + Dim iodb0 As Focas1.IODBPMC0 + Dim nlength As Integer + Dim nReturn As Integer + Dim nValue As Short + + iodb0 = New Focas1.IODBPMC0 + iodb0.type_a = MemType + iodb0.type_d = N_BYTE_TYPE + iodb0.datano_s = MemIndex + iodb0.datano_e = MemIndex + nlength = 8 + 1 + + 'leggo la memoria + nReturn = Focas1.pmc_rdpmcrng(nLibHandle(1), iodb0.type_a, iodb0.type_d, iodb0.datano_s, iodb0.datano_e, nlength, iodb0) + If F_CheckRetError_Pmc(nReturn, "pmc_rdpmcrng F_RW_Boolean CNC.FANUC") Then + Throw New NcException("ERR pmc_rdpmcrng F_RW_Boolean CNC.FANUC") + Return False + Else + nValue = iodb0.cdata(0) + + If bWrite Then ' *** Write + If Value Then 'True + nValue = nValue Or (2 ^ MemBit) + Else 'False + nValue = nValue And Not (2 ^ MemBit) + End If + iodb0.cdata(0) = nValue + nReturn = Focas1.pmc_wrpmcrng(nLibHandle(1), nlength, iodb0) + If nReturn = Focas1.EW_SOCKET Then + Throw New NcException("ERR pmc_wrpmcrng CNC.FANUC") + Return False + ElseIf nReturn <> Focas1.EW_OK Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR pmc_wrpmcrng on F_RW_Boolean CNC.FANUC", "Return=" & nReturn, True) + Return False + End If + + Else ' ************* Read + If (nValue And (2 ^ MemBit)) = (2 ^ MemBit) Then 'True + Value = True + Else 'False + Value = False + End If + End If + End If + + Return True + End Function + + ''' + ''' Legge o scrive Byte da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Byte(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value() As Byte) As Boolean + Dim iodb0 As Focas1.IODBPMC0 + Dim nlength As Integer + Dim nReturn As Integer + Dim nQta As Integer + Dim nBlock As Integer + Dim nMod As Integer + + If Value Is Nothing Then Throw New InvalidOperationException + + 'Calcolo la dimesione dell'array + nBlock = Value.Length \ F_MAX_ITEM + nMod = Value.Length Mod F_MAX_ITEM + If nMod > 0 Then nBlock += 1 + + For b = 0 To nBlock - 1 + If b < nBlock - 1 Then + nQta = F_MAX_ITEM + Else + nQta = IIf(nMod > 0, nMod, F_MAX_ITEM) + End If + + 'Setto il tipo di memoria + iodb0 = New Focas1.IODBPMC0 + iodb0.type_a = MemType + iodb0.type_d = N_BYTE_TYPE + iodb0.datano_s = MemIndex + b * F_MAX_ITEM + iodb0.datano_e = MemIndex + b * F_MAX_ITEM + nQta - 1 + nlength = 8 + nQta + + If bWrite Then ' *** Write + ReDim iodb0.cdata(8 - 1) + For i = 0 To nQta - 1 + iodb0.cdata(i) = Value(i + b * F_MAX_ITEM) + Next + nReturn = Focas1.pmc_wrpmcrng(nLibHandle(1), nlength, iodb0) + If F_CheckRetError_Pmc(nReturn, "pmc_wrpmcrng F_RW_Byte CNC.FANUC") Then + Throw New NcException("ERR pmc_wrpmcrng F_RW_Byte CNC.FANUC") + Return False + End If + + Else ' ************* Read + nReturn = Focas1.pmc_rdpmcrng(nLibHandle(1), iodb0.type_a, iodb0.type_d, iodb0.datano_s, iodb0.datano_e, nlength, iodb0) + If F_CheckRetError_Pmc(nReturn, "pmc_rdpmcrng F_RW_Byte CNC.FANUC") Then + Throw New NcException("ERR pmc_rdpmcrng F_RW_Byte CNC.FANUC") + Return False + Else + For i = 0 To nQta - 1 + Value(i + b * F_MAX_ITEM) = iodb0.cdata(i) + Next + End If + End If + Next + + Return True + End Function + + ''' + ''' Legge o scrive Byte da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Valore da scrivere su scrittura o letto su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Byte(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value As Byte) As Boolean + Dim bRet As Boolean + Dim cValue(0) As Byte + If bWrite Then cValue(0) = Value + bRet = F_RW_Byte(bWrite, MemType, MemIndex, cValue) + If Not bWrite Then Value = cValue(0) + Return bRet + End Function + + ''' + ''' Legge o scrive Word da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Word(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value() As UShort) As Boolean + Dim iodb1 As Focas1.IODBPMC1 + Dim nlength As Integer + Dim nReturn As Integer + Dim nQta As Integer + Dim nBlock As Integer + Dim nMod As Integer + + If Value Is Nothing Then Throw New InvalidOperationException + + 'Calcolo la dimesione dell'array + nBlock = Value.Length \ F_MAX_ITEM + nMod = Value.Length Mod F_MAX_ITEM + If nMod > 0 Then nBlock += 1 + + For b = 0 To nBlock - 1 + If b < nBlock - 1 Then + nQta = F_MAX_ITEM + Else + nQta = IIf(nMod > 0, nMod, F_MAX_ITEM) + End If + + 'Setto il tipo di memoria + iodb1 = New Focas1.IODBPMC1 + iodb1.type_a = MemType + iodb1.type_d = N_WORD_TYPE + iodb1.datano_s = MemIndex + (b * F_MAX_ITEM * 2) + iodb1.datano_e = MemIndex + (b * F_MAX_ITEM * 2) + (nQta * 2) - 1 + nlength = 8 + (nQta * 2) + + If bWrite Then ' *** Write + ReDim iodb1.idata(8 - 1) + For i = 0 To nQta - 1 + iodb1.idata(i) = Value(i + b * F_MAX_ITEM) + Next + nReturn = Focas1.pmc_wrpmcrng(nLibHandle(1), nlength, iodb1) + If F_CheckRetError_Pmc(nReturn, "pmc_wrpmcrng F_RW_Word CNC.FANUC") Then + Throw New NcException("ERR pmc_wrpmcrng F_RW_Word CNC.FANUC") + Return False + End If + + Else ' ************* Read + nReturn = Focas1.pmc_rdpmcrng(nLibHandle(1), iodb1.type_a, iodb1.type_d, iodb1.datano_s, iodb1.datano_e, nlength, iodb1) + If F_CheckRetError_Pmc(nReturn, "pmc_rdpmcrng F_RW_Word CNC.FANUC") Then + Throw New NcException("ERR pmc_rdpmcrng F_RW_Word CNC.FANUC") + Return False + Else + For i = 0 To nQta - 1 + Value(i + b * F_MAX_ITEM) = iodb1.idata(i) + Next + End If + End If + Next + + Return True + End Function + + ''' + ''' Legge o scrive Short da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Short(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value() As Short) As Boolean + Dim bReturn As Boolean + Dim usValue(Value.Length - 1) As UShort + + If bWrite Then ' *** Write + For i = 0 To Value.Length - 1 + usValue(i) = ShortToUnsigned(Value(i)) + Next + bReturn = F_RW_Word(bWrite, MemType, MemIndex, usValue) + + Else ' ************* Read + bReturn = F_RW_Word(bWrite, MemType, MemIndex, usValue) + For i = 0 To Value.Length - 1 + Value(i) = UnsignedToShort(usValue(i)) + Next + End If + + Return bReturn + End Function + + ''' + ''' Legge o scrive Word da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Valore da scrivere su scrittura o letto su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Word(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value As UShort) As Boolean + Dim bRet As Boolean + Dim usValue(0) As UShort + If bWrite Then usValue(0) = Value + bRet = F_RW_Word(bWrite, MemType, MemIndex, usValue) + If Not bWrite Then Value = usValue(0) + Return bRet + End Function + + ''' + ''' Legge o scrive Short da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Valore da scrivere su scrittura o letto su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Short(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value As Short) As Boolean + Dim bRet As Boolean + Dim sValue(0) As Short + If bWrite Then sValue(0) = Value + bRet = F_RW_Short(bWrite, MemType, MemIndex, sValue) + If Not bWrite Then Value = sValue(0) + Return bRet + End Function + + ''' + ''' Legge DWord da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_DWord(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value() As UInteger) As Boolean + Dim iodb2 As Focas1.IODBPMC2 + Dim nlength As Integer + Dim nReturn As Integer + Dim nQta As Integer + Dim nBlock As Integer + Dim nMod As Integer + + If Value Is Nothing Then Throw New InvalidOperationException + + 'Calcolo la dimesione dell'array + nBlock = Value.Length \ F_MAX_ITEM + nMod = Value.Length Mod F_MAX_ITEM + If nMod > 0 Then nBlock += 1 + + For b = 0 To nBlock - 1 + If b < nBlock - 1 Then + nQta = F_MAX_ITEM + Else + nQta = IIf(nMod > 0, nMod, F_MAX_ITEM) + End If + + 'Setto il tipo di memoria + iodb2 = New Focas1.IODBPMC2 + iodb2.type_a = MemType + iodb2.type_d = N_DWORD_TYPE + iodb2.datano_s = MemIndex + (b * F_MAX_ITEM * 4) + iodb2.datano_e = MemIndex + (b * F_MAX_ITEM * 4) + (nQta * 4) - 1 + nlength = 8 + (nQta * 4) + + If bWrite Then ' *** Write + ReDim iodb2.ldata(8 - 1) + For i = 0 To nQta - 1 + iodb2.ldata(i) = Value(i + b * F_MAX_ITEM) + Next + nReturn = Focas1.pmc_wrpmcrng(nLibHandle(1), nlength, iodb2) + If F_CheckRetError_Pmc(nReturn, "pmc_wrpmcrng F_RW_DWord CNC.FANUC") Then + Throw New NcException("ERR pmc_wrpmcrng F_RW_DWord CNC.FANUC") + Return False + End If + + Else ' ************* Read + nReturn = Focas1.pmc_rdpmcrng(nLibHandle(1), iodb2.type_a, iodb2.type_d, iodb2.datano_s, iodb2.datano_e, nlength, iodb2) + If F_CheckRetError_Pmc(nReturn, "pmc_rdpmcrng F_RW_DWord CNC.FANUC") Then + Throw New NcException("ERR pmc_rdpmcrng F_RW_DWord CNC.FANUC") + Return False + Else + For i = 0 To nQta - 1 + Value(i + b * F_MAX_ITEM) = iodb2.ldata(i) + Next + End If + End If + Next + + Return True + End Function + + ''' + ''' Legge DWord da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Valore da scrivere su scrittura o letto su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_DWord(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value As UInteger) As Boolean + Dim bRet As Boolean + Dim uiValue(0) As UInteger + If bWrite Then uiValue(0) = Value + bRet = F_RW_DWord(bWrite, MemType, MemIndex, uiValue) + If Not bWrite Then Value = uiValue(0) + Return bRet + End Function + + ''' + ''' Legge Integer da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Integer(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value() As Integer) As Boolean + Dim iodb2 As Focas1.IODBPMC2 + Dim nlength As Integer + Dim nReturn As Integer + Dim nQta As Integer + Dim nBlock As Integer + Dim nMod As Integer + + If Value Is Nothing Then Throw New InvalidOperationException + + 'Calcolo la dimesione dell'array + nBlock = Value.Length \ F_MAX_ITEM + nMod = Value.Length Mod F_MAX_ITEM + If nMod > 0 Then nBlock += 1 + + For b = 0 To nBlock - 1 + If b < nBlock - 1 Then + nQta = F_MAX_ITEM + Else + nQta = IIf(nMod > 0, nMod, F_MAX_ITEM) + End If + + 'Setto il tipo di memoria + iodb2 = New Focas1.IODBPMC2 + iodb2.type_a = MemType + iodb2.type_d = N_DWORD_TYPE + iodb2.datano_s = MemIndex + (b * F_MAX_ITEM * 4) + iodb2.datano_e = MemIndex + (b * F_MAX_ITEM * 4) + (nQta * 4) - 1 + nlength = 8 + (nQta * 4) + + If bWrite Then ' *** Write + ReDim iodb2.ldata(8 - 1) + For i = 0 To nQta - 1 + iodb2.ldata(i) = Value(i + b * F_MAX_ITEM) + Next + nReturn = Focas1.pmc_wrpmcrng(nLibHandle(1), nlength, iodb2) + If F_CheckRetError_Pmc(nReturn, "pmc_wrpmcrng F_RW_Integer CNC.FANUC") Then + Throw New NcException("ERR pmc_wrpmcrng F_RW_Integer CNC.FANUC") + Return False + End If + + Else ' ************* Read + nReturn = Focas1.pmc_rdpmcrng(nLibHandle(1), iodb2.type_a, iodb2.type_d, iodb2.datano_s, iodb2.datano_e, nlength, iodb2) + If F_CheckRetError_Pmc(nReturn, "pmc_rdpmcrng F_RW_Integer CNC.FANUC") Then + Throw New NcException("ERR pmc_rdpmcrng F_RW_Integer CNC.FANUC") + Return False + Else + For i = 0 To nQta - 1 + Value(i + b * F_MAX_ITEM) = WordsToInteger(iodb2.ldata(i) And &HFFFF, (iodb2.ldata(i) And &HFFFF0000) >> 16) + Next + End If + End If + Next + + Return True + End Function + + ''' + ''' Legge Integer da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Fanuc + ''' Indice di memoria + ''' Valore da scrivere su scrittura o letto su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Integer(ByVal bWrite As Boolean, ByVal MemType As MemType, ByVal MemIndex As Integer, ByRef Value As Integer) As Boolean + Dim bRet As Boolean + Dim iValue(0) As Integer + If bWrite Then iValue(0) = Value + bRet = F_RW_Integer(bWrite, MemType, MemIndex, iValue) + If Not bWrite Then Value = iValue(0) + Return bRet + End Function + + ''' + ''' Legge o scrive Length and Radius Offset da tabella Utensili CN + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Numero dell'offset utensile + Public Overloads Sub F_RW_ToolOffset(ByVal bWrite As Boolean, ByVal ToolOffsetNumber As Integer, ByRef CutterRadius_Wear As Double, ByRef CutterRadius_Geometry As Double, ByRef ToolLenght_Wear As Double, ByRef ToolLenght_Geometry As Double) + Dim iodbpsd_1 As Focas1.IODBPSD_1 + Dim odbtofs As Focas1.ODBTOFS + Dim nReturn As Integer + Dim bNcInInch As Boolean + Dim bTtInInch As Boolean + Dim valid_fig As Short + Dim dec_fig_in(31) As Short + Dim dec_fig_out(31) As Short + + iodbpsd_1 = New Focas1.IODBPSD_1 + odbtofs = New Focas1.ODBTOFS + + 'Leggo se il CN è impostato in Inch (parametro 0.2) + nReturn = Focas1.cnc_rdparam(nLibHandle(1), 0, 0, 4 + 1, iodbpsd_1) + If F_CheckRetError_Cnc(nReturn, "cnc_rdparam F_RW_LengthOffset CNC.FANUC") Then + Throw New NcException("ERR cnc_rdparam F_RW_LengthOffset CNC.FANUC") + End If + bNcInInch = (iodbpsd_1.cdata And MASK_BIT2) = MASK_BIT2 + + 'Leggo se ToolTable è impostato in Inch + bTtInInch = Config.Options.CurrentOptions.ToolTable_Inch + + 'leggo le cifre decimali + nReturn = Focas1.cnc_getfigure(nLibHandle(1), 1, valid_fig, dec_fig_in, dec_fig_out) + If F_CheckRetError_Cnc(nReturn, "cnc_getfigure F_RW_LengthOffset CNC.FANUC") Then + Throw New NcException("ERR cnc_getfigure F_RW_LengthOffset CNC.FANUC") + End If + + If bWrite Then ' *** Write + For i = 0 To 3 + Dim dblTmp As Double + Dim nTmp As Integer + Select Case i + Case 0 : dblTmp = CutterRadius_Wear + Case 1 : dblTmp = CutterRadius_Geometry + Case 2 : dblTmp = ToolLenght_Wear + Case 3 : dblTmp = ToolLenght_Geometry + End Select + 'moltiplico per le cifre decimali + dblTmp *= 10 ^ dec_fig_in(0) + 'riporto all'unità di misura di Nc + If bNcInInch And Not bTtInInch Then + nTmp = dblTmp / 25.4 + ElseIf Not bNcInInch And bTtInInch Then + nTmp = dblTmp * 25.4 + Else + nTmp = dblTmp + End If + nReturn = Focas1.cnc_wrtofs(nLibHandle(1), ToolOffsetNumber, i, 8, nTmp) + If F_CheckRetError_Pmc(nReturn, "cnc_wrtofs F_RW_ToolOffset CNC.FANUC") Then + Throw New NcException("ERR cnc_wrtofs F_RW_ToolOffset CNC.FANUC") + End If + Next + + Else ' ************* Read + For i = 0 To 3 + nReturn = Focas1.cnc_rdtofs(nLibHandle(1), ToolOffsetNumber, i, 8, odbtofs) + If F_CheckRetError_Pmc(nReturn, "cnc_rdtofs F_RW_ToolOffset CNC.FANUC") OrElse (odbtofs.datano <> ToolOffsetNumber Or odbtofs.type <> i) Then + Throw New NcException("ERR cnc_rdtofs F_RW_ToolOffset CNC.FANUC") + Else + Dim dblTmp As Double + 'riporto all'unità di misura di ToolTable + If bNcInInch And Not bTtInInch Then + dblTmp = odbtofs.data * 25.4 + ElseIf Not bNcInInch And bTtInInch Then + dblTmp = odbtofs.data / 25.4 + Else + dblTmp = odbtofs.data + End If + 'divido per le cifre decimali + dblTmp /= 10 ^ dec_fig_in(0) + 'memorizzo il dato + Select Case i + Case 0 : CutterRadius_Wear = dblTmp + Case 1 : CutterRadius_Geometry = dblTmp + Case 2 : ToolLenght_Wear = dblTmp + Case 3 : ToolLenght_Geometry = dblTmp + End Select + End If + Next + + End If + + End Sub + + ''' + ''' Cancella la tabella Utensili CN + ''' + Public Sub F_Clear_ToolOffsets() + + 'Memo di tipo C + + Dim nMaxUt As Integer + Dim iodbto_1_3 As Focas1.IODBTO_1_3 + Dim ofs_3 As Focas1.OFS_3 'OFS_3 Modificato per permettere di eleiminare tutti e 100 gli utensili + Dim nReturn As Integer + + iodbto_1_3 = New Focas1.IODBTO_1_3 + ofs_3 = New Focas1.OFS_3 + + nMaxUt = EgwProxy.MultiCncLib.CNC.Runtime.NC.MaxIdUtensile + + Dim n As Integer + n = nMaxUt \ 100 + n += IIf(nMaxUt Mod 100, 1, 0) + + + For j = 1 To n + + iodbto_1_3.datano_s = ((j - 1) * 100) + 1 + If nMaxUt < iodbto_1_3.datano_s + 100 Then + iodbto_1_3.datano_e = nMaxUt + Else + iodbto_1_3.datano_e = iodbto_1_3.datano_s + 99 + End If + iodbto_1_3.ofs = ofs_3 + + For i As Integer = 0 To 3 + iodbto_1_3.type = i + nReturn = Focas1.cnc_wrtofsr(nLibHandle(1), 8 + 4 * (iodbto_1_3.datano_e - iodbto_1_3.datano_s + 1), iodbto_1_3) + If F_CheckRetError_Pmc(nReturn, "cnc_wrtofsr F_Clear_ToolOffsets CNC.FANUC") Then + Throw New NcException("ERR cnc_wrtofsr F_Clear_ToolOffsets CNC.FANUC") + End If + Next + Next + + + End Sub + + + ''' + ''' Legge o scrive Parametri Interi + ''' + ''' Se True SCRIVE, se False LEGGE + ''' 0: assigns no axis, -1: assigns all axes + ''' Indice di memoria + ''' 1 byte, 2 word, 3 dword + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Param_Integer(ByVal bWrite As Boolean, ByVal Axis As Integer, ByVal ParamIndex As Integer, ByVal Size As Integer, ByRef Value() As Object) As Boolean + Dim iodbpsd1 As Focas1.IODBPSD_1 = Nothing + Dim iodbpsd3 As Focas1.IODBPSD_3 = Nothing + Dim nOdb As Focas1.ODBSYS + Dim nlength As Integer + Dim nQta As Integer + Dim nReturn As Integer + Dim nMemSize As Integer + + If bWrite And Value Is Nothing Then Throw New InvalidOperationException + + 'Seleziono la dimensione della memoria + Select Case Size + Case 1 : nMemSize = 1 + Case 2 : nMemSize = 2 + Case 3 : nMemSize = 4 + Case Else : Throw New InvalidOperationException + End Select + + 'Setto se parametro singolo o su ogni asse + If Axis >= 0 Then + iodbpsd1 = New Focas1.IODBPSD_1 + nQta = 1 + nlength = 4 + (nMemSize * nQta) + Else 'If Axis = -1 Then + iodbpsd3 = New Focas1.IODBPSD_3 + nOdb = New Focas1.ODBSYS + nReturn = Focas1.cnc_sysinfo(nLibHandle(1), nOdb) + nQta = nOdb.axes.Length + nlength = 4 + (nMemSize * nQta) + End If + + If bWrite Then ' *** Write + If nQta = 1 Then + iodbpsd1.datano = ParamIndex + Select Case Size + Case 1 : iodbpsd1.cdata = Value(0) + Case 2 : iodbpsd1.idata = Value(0) + Case 3 : iodbpsd1.ldata = Value(0) + End Select + Else + iodbpsd3.datano = ParamIndex + For i = 0 To nQta - 1 + Select Case Size + Case 1 : iodbpsd3.cdatas(i) = Value(i) + Case 2 : iodbpsd3.idatas(i) = Value(i) + Case 3 : iodbpsd3.ldatas(i) = Value(i) + End Select + Next + End If + + If nQta = 1 Then + nReturn = Focas1.cnc_wrparam(nLibHandle(1), nlength, iodbpsd1) + Else + nReturn = Focas1.cnc_wrparam(nLibHandle(1), nlength, iodbpsd3) + End If + If F_CheckRetError_Cnc(nReturn, "cnc_wrparam F_RW_Param_DWord CNC.FANUC") Then + Throw New NcException("ERR cnc_wrparam F_RW_Param_DWord CNC.FANUC") + Return False + End If + + Else ' ************* Read + If nQta = 1 Then + nReturn = Focas1.cnc_rdparam(nLibHandle(1), ParamIndex, Axis, nlength, iodbpsd1) + Else + nReturn = Focas1.cnc_rdparam(nLibHandle(1), ParamIndex, Axis, nlength, iodbpsd3) + End If + If F_CheckRetError_Pmc(nReturn, "cnc_rdparam F_RW_Param_DWord CNC.FANUC") Then + Throw New NcException("ERR cnc_rdparam F_RW_Param_DWord CNC.FANUC") + Return False + Else + If nQta = 1 Then + Select Case Size + Case 1 : Value(0) = iodbpsd1.cdata + Case 2 : Value(0) = iodbpsd1.idata + Case 3 : Value(0) = iodbpsd1.ldata + End Select + Else + For i = 0 To nQta - 1 + Select Case Size + Case 1 : Value(i) = iodbpsd3.cdatas + Case 2 : Value(i) = iodbpsd3.idatas + Case 3 : Value(i) = iodbpsd3.ldatas + End Select + Next + End If + End If + End If + + Return True + End Function + + ''' + ''' Legge o scrive Parametri Interi + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' 1 byte, 2 word, 3 dword + ''' Valore da scrivere su scrittura o letto su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Param_Integer(ByVal bWrite As Boolean, ByVal MemIndex As Integer, ByVal Size As Integer, ByRef Value As Object) As Boolean + Dim bRet As Boolean + Dim oValue(0) As Object + If bWrite Then oValue(0) = Value + bRet = F_RW_Param_Integer(bWrite, 0, MemIndex, Size, oValue) + If Not bWrite Then Value = oValue(0) + Return bRet + End Function + + + + ''' + ''' Legge una variabile macro (#) + ''' + ''' Indirizzo da leggere + ''' Valore letto (restituito per riferimento) + ''' Boolean di eseguito/errore + Public Function F_Read_macro(ByVal nVar As Integer, ByRef dValue As Double) As Boolean + + Const ONE_DATA_ONLY As Integer = 1 + + Const CUSTOM_MACRO_SIZE As Integer = 10 + + Dim ODBM As Focas1.ODBM + Dim MacroInfo3 As Focas1.IODBMRN3 = Nothing + Dim values() As Double + + Dim n_ret_code As Short + + Dim sz_routine As String = "-", sz_temp As String = "", d As Double = 0.0 + + 'Try + ' If nVar >= 10000 Then ' if var like 98xxx then use the other read routine .... ( :(( no comment ) + ' 'If nVar >= &H8000 Then ' if var like 98xxx then use the other read routine .... ( :(( no comment ) + ' n_ret_code = Focas1.cnc_rdmacror3(nLibHandle(1), nVar, ONE_DATA_ONLY, MacroInfo3) + ' If (n_ret_code = Focas1.EW_OK) Then ' no Fanuc error + ' dValue = MacroInfo3.mcr_val + ' Else + ' 'Error reading parameter : + ' dValue = 0.0 + ' Return False + ' End If ' no Fanuc error + ' Else ' good ole boys + ' ' cnc_rdmacro : read custom macro variable + ' n_ret_code = Focas1.cnc_rdmacro(nLibHandle(1), nVar, CUSTOM_MACRO_SIZE, ODBM) + ' If (n_ret_code = Focas1.EW_OK) Then ' no Fanuc error + ' If ODBM.mcr_val = 0 And ODBM.dec_val = -1 Then ' variabile non definita + ' dValue = 0 '"Null" + ' Else + ' dValue = ODBM.mcr_val * (10 ^ -(ODBM.dec_val)) + ' End If + ' Else + ' 'Error reading parameter : + ' dValue = 0.0 + ' Return False + ' End If ' no Fanuc error + ' End If ' var > 8000h + 'Catch ex As Exception + + ' dValue = 0.0 + ' Return False + 'End Try + + Try + If (nVar >= 98000) And (nVar <= 98499) Then ' if var like 98xxx then use the other read routine .... ( :(( no comment ) + n_ret_code = Focas1.cnc_rdmacror3(nLibHandle(1), nVar, ONE_DATA_ONLY, MacroInfo3) + If (n_ret_code = Focas1.EW_OK) Then ' no Fanuc error + dValue = MacroInfo3.mcr_val + Else + dValue = -999999.999 + Return False + End If ' no Fanuc error + ElseIf (((nVar >= 10000) And (nVar <= 85535)) Or + ((nVar >= 200000) And (nVar <= 986432)) Or + ((nVar >= 2000000) And (nVar <= 3999999))) Then + ReDim values(1) + n_ret_code = Focas1.cnc_rdpmacror2(nLibHandle(1), nVar, ONE_DATA_ONLY, 0, values) + + If (n_ret_code = Focas1.EW_OK) Then ' no Fanuc error + + dValue = values(0) + Else + dValue = -999999.999 + Return False + End If ' no Fanuc error + Else ' good ole boys + ' cnc_rdmacro : read custom macro variable + 'n_var_int = CShort(nVar) + n_ret_code = Focas1.cnc_rdmacro(nLibHandle(1), nVar, CUSTOM_MACRO_SIZE, ODBM) + If (n_ret_code = Focas1.EW_OK) Then ' no Fanuc error + If ODBM.mcr_val = 0 And ODBM.dec_val = -1 Then ' variabile non definita + dValue = 0 '"Null" + Else + dValue = ODBM.mcr_val * (10 ^ -(ODBM.dec_val)) + End If + Else + 'Error reading parameter : + dValue = -999999.999 + Return False + End If ' no Fanuc error + End If ' var > 98000 + Catch ex As Exception + dValue = -999999.999 + Return False + End Try + End Function + + ''' + ''' Legge o scrive le variabile Custom Macro + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Macro_Short(ByVal bWrite As Boolean, ByVal MacroIndex As Integer, ByRef Value() As Short) As Boolean + Dim iodbmr As Focas1.IODBMR + Dim nlength As Integer + Dim nReturn As Integer + Dim nQta As Integer + Dim nBlock As Integer + Dim nMod As Integer + Dim nActivePath As Integer + + If Value Is Nothing Then Throw New InvalidOperationException + + nActivePath = GetActivePath() + + 'Calcolo la dimesione dell'array + nBlock = Value.Length \ F_MAX_MACRO + nMod = Value.Length Mod F_MAX_MACRO + If nMod > 0 Then nBlock += 1 + + For b = 0 To nBlock - 1 + If b < nBlock - 1 Then + nQta = F_MAX_MACRO + Else + nQta = IIf(nMod > 0, nMod, F_MAX_MACRO) + End If + + 'Setto il tipo di memoria + iodbmr = New Focas1.IODBMR + iodbmr.datano_s = MacroIndex + (b * F_MAX_MACRO) + iodbmr.datano_e = MacroIndex + (b * F_MAX_MACRO) + nQta - 1 + nlength = 8 + (nQta * 8) + + If bWrite Then ' *** Write + iodbmr.data = New Focas1.IODBMR1 + iodbmr.data.data1 = New Focas1.IODBMR_data + iodbmr.data.data2 = New Focas1.IODBMR_data + iodbmr.data.data3 = New Focas1.IODBMR_data + iodbmr.data.data4 = New Focas1.IODBMR_data + iodbmr.data.data5 = New Focas1.IODBMR_data + + If nQta >= 1 Then iodbmr.data.data1.mcr_val = Value(0 + b * F_MAX_MACRO) + If nQta >= 2 Then iodbmr.data.data2.mcr_val = Value(1 + b * F_MAX_MACRO) + If nQta >= 3 Then iodbmr.data.data3.mcr_val = Value(2 + b * F_MAX_MACRO) + If nQta >= 4 Then iodbmr.data.data4.mcr_val = Value(3 + b * F_MAX_MACRO) + If nQta >= 5 Then iodbmr.data.data5.mcr_val = Value(4 + b * F_MAX_MACRO) + + nReturn = Focas1.cnc_wrmacror(nLibHandle(nActivePath), MacroIndex, iodbmr) + If F_CheckRetError_Cnc(nReturn, "cnc_wrmacror F_RW_Macro_Short CNC.FANUC") Then + Throw New NcException("ERR cnc_wrmacror F_RW_Macro_Short CNC.FANUC") + Return False + End If + + Else ' ************* Read + nReturn = Focas1.cnc_rdmacror(nLibHandle(nActivePath), iodbmr.datano_s, iodbmr.datano_e, nlength, iodbmr) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdmacror F_RW_Macro_Short CNC.FANUC") Then + Throw New NcException("ERR cnc_rdmacror F_RW_Macro_Short CNC.FANUC") + Return False + Else + If nQta >= 1 Then Value(0 + b * F_MAX_MACRO) = iodbmr.data.data1.mcr_val / (10 ^ iodbmr.data.data1.dec_val) + If nQta >= 2 Then Value(1 + b * F_MAX_MACRO) = iodbmr.data.data2.mcr_val / (10 ^ iodbmr.data.data2.dec_val) + If nQta >= 3 Then Value(2 + b * F_MAX_MACRO) = iodbmr.data.data3.mcr_val / (10 ^ iodbmr.data.data3.dec_val) + If nQta >= 4 Then Value(3 + b * F_MAX_MACRO) = iodbmr.data.data4.mcr_val / (10 ^ iodbmr.data.data4.dec_val) + If nQta >= 5 Then Value(4 + b * F_MAX_MACRO) = iodbmr.data.data5.mcr_val / (10 ^ iodbmr.data.data5.dec_val) + End If + End If + Next + + Return True + End Function + + ''' + ''' Legge o scrive le variabile Custom Macro + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Macro_Short(ByVal bWrite As Boolean, ByVal MacroIndex As Integer, ByRef Value As Short) As Boolean + Dim bRet As Boolean + Dim sValue(0) As Short + If bWrite Then sValue(0) = Value + bRet = F_RW_Macro_Short(bWrite, MacroIndex, sValue) + If Not bWrite Then Value = sValue(0) + Return bRet + End Function + + Private Function GetNumDec(ByVal dVal As Double) As Short + ' Determino il numero di decimali più adatto, in base al valore + ' (per evitare l'overflow durante le operazioni di moltiplicazione) + If dVal < -99999999 Or dVal > 99999999 Then + GetNumDec = 0 + ElseIf dVal < -9999999 Or dVal > 9999999 Then + GetNumDec = 1 + ElseIf dVal < -999999 Or dVal > 999999 Then + GetNumDec = 2 + ElseIf dVal < -99999 Or dVal > 99999 Then + GetNumDec = 3 + ElseIf dVal < -9999 Or dVal > 9999 Then + GetNumDec = 4 + ElseIf dVal < -999 Or dVal > 999 Then + GetNumDec = 5 + ElseIf dVal < -99 Or dVal > 99 Then + GetNumDec = 6 + ElseIf dVal < -9 Or dVal > 9 Then + GetNumDec = 7 + Else + GetNumDec = 8 + End If + End Function + + + ''' + ''' Legge o scrive le variabile Custom Macro + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Macro_Double(ByVal bWrite As Boolean, ByVal MacroIndex As Integer, ByRef Value() As Double) As Boolean + Dim iodbmr As Focas1.IODBMR + Dim nlength As Integer + Dim nReturn As Integer + Dim nQta As Integer + Dim nBlock As Integer + Dim nMod As Integer + Dim nActivePath As Integer + + If Value Is Nothing Then Throw New InvalidOperationException + + nActivePath = GetActivePath() + + 'Calcolo la dimesione dell'array + nBlock = Value.Length \ F_MAX_MACRO + nMod = Value.Length Mod F_MAX_MACRO + If nMod > 0 Then nBlock += 1 + + For b = 0 To nBlock - 1 + If b < nBlock - 1 Then + nQta = F_MAX_MACRO + Else + nQta = IIf(nMod > 0, nMod, F_MAX_MACRO) + End If + + 'Setto il tipo di memoria + iodbmr = New Focas1.IODBMR + iodbmr.datano_s = MacroIndex + (b * F_MAX_MACRO) + iodbmr.datano_e = MacroIndex + (b * F_MAX_MACRO) + nQta - 1 + nlength = 8 + (nQta * 8) + + If bWrite Then ' *** Write + iodbmr.data = New Focas1.IODBMR1 + iodbmr.data.data1 = New Focas1.IODBMR_data + iodbmr.data.data2 = New Focas1.IODBMR_data + iodbmr.data.data3 = New Focas1.IODBMR_data + iodbmr.data.data4 = New Focas1.IODBMR_data + iodbmr.data.data5 = New Focas1.IODBMR_data + + ' Determino il numero di decimali più adatto, in base al valore + ' (per evitare l'overflow durante le operazioni di moltiplicazione) + If nQta >= 1 Then iodbmr.data.data1.dec_val = GetNumDec(Value(0 + b * F_MAX_MACRO)) + If nQta >= 2 Then iodbmr.data.data2.dec_val = GetNumDec(Value(1 + b * F_MAX_MACRO)) + If nQta >= 3 Then iodbmr.data.data3.dec_val = GetNumDec(Value(2 + b * F_MAX_MACRO)) + If nQta >= 4 Then iodbmr.data.data4.dec_val = GetNumDec(Value(3 + b * F_MAX_MACRO)) + If nQta >= 5 Then iodbmr.data.data5.dec_val = GetNumDec(Value(4 + b * F_MAX_MACRO)) + + If nQta >= 1 Then iodbmr.data.data1.mcr_val = Value(0 + b * F_MAX_MACRO) * (10 ^ iodbmr.data.data1.dec_val) + If nQta >= 2 Then iodbmr.data.data2.mcr_val = Value(1 + b * F_MAX_MACRO) * (10 ^ iodbmr.data.data2.dec_val) + If nQta >= 3 Then iodbmr.data.data3.mcr_val = Value(2 + b * F_MAX_MACRO) * (10 ^ iodbmr.data.data3.dec_val) + If nQta >= 4 Then iodbmr.data.data4.mcr_val = Value(3 + b * F_MAX_MACRO) * (10 ^ iodbmr.data.data4.dec_val) + If nQta >= 5 Then iodbmr.data.data5.mcr_val = Value(4 + b * F_MAX_MACRO) * (10 ^ iodbmr.data.data5.dec_val) + + nReturn = Focas1.cnc_wrmacror(nLibHandle(nActivePath), MacroIndex, iodbmr) + + If F_CheckRetError_Cnc(nReturn, "cnc_wrmacror F_RW_Macro_Double CNC.FANUC") Then + Throw New NcException("ERR cnc_wrmacror F_RW_Macro_Double CNC.FANUC") + Return False + End If + + Else ' ************* Read + nReturn = Focas1.cnc_rdmacror(nLibHandle(nActivePath), iodbmr.datano_s, iodbmr.datano_e, nlength, iodbmr) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdmacror F_RW_Macro_Double CNC.FANUC") Then + Throw New NcException("ERR cnc_rdmacror F_RW_Macro_Double CNC.FANUC") + Return False + Else + If nQta >= 1 Then Value(0 + b * F_MAX_MACRO) = iodbmr.data.data1.mcr_val / (10 ^ iodbmr.data.data1.dec_val) + If nQta >= 2 Then Value(1 + b * F_MAX_MACRO) = iodbmr.data.data2.mcr_val / (10 ^ iodbmr.data.data2.dec_val) + If nQta >= 3 Then Value(2 + b * F_MAX_MACRO) = iodbmr.data.data3.mcr_val / (10 ^ iodbmr.data.data3.dec_val) + If nQta >= 4 Then Value(3 + b * F_MAX_MACRO) = iodbmr.data.data4.mcr_val / (10 ^ iodbmr.data.data4.dec_val) + If nQta >= 5 Then Value(4 + b * F_MAX_MACRO) = iodbmr.data.data5.mcr_val / (10 ^ iodbmr.data.data5.dec_val) + End If + End If + Next + + Return True + End Function + + ''' + ''' Legge o scrive le variabile Custom Macro + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_Macro_Double(ByVal bWrite As Boolean, ByVal MacroIndex As Integer, ByRef Value As Double) As Boolean + Dim bRet As Boolean + Dim sValue(0) As Double + If bWrite Then sValue(0) = Value + bRet = F_RW_Macro_Double(bWrite, MacroIndex, sValue) + If Not bWrite Then Value = sValue(0) + Return bRet + End Function + + ''' + ''' Legge o scrive le variabile P Code Macro + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_PCodeMacro_Short(ByVal bWrite As Boolean, ByVal MacroIndex As Integer, ByRef Value() As Short) As Boolean + Dim iodbpr As Focas1.IODBPR + Dim nlength As Integer + Dim nReturn As Integer + Dim nQta As Integer + Dim nBlock As Integer + Dim nMod As Integer + Dim nActivePath As Integer + + If Value Is Nothing Then Throw New InvalidOperationException + + nActivePath = GetActivePath() + + 'Calcolo la dimesione dell'array + nBlock = Value.Length \ F_MAX_MACRO + nMod = Value.Length Mod F_MAX_MACRO + If nMod > 0 Then nBlock += 1 + + For b = 0 To nBlock - 1 + If b < nBlock - 1 Then + nQta = F_MAX_MACRO + Else + nQta = IIf(nMod > 0, nMod, F_MAX_MACRO) + End If + + 'Setto il tipo di memoria + iodbpr = New Focas1.IODBPR + iodbpr.datano_s = MacroIndex + (b * F_MAX_MACRO) + iodbpr.datano_e = MacroIndex + (b * F_MAX_MACRO) + nQta - 1 + nlength = 12 + (nQta * 8) + + If bWrite Then ' *** Write + iodbpr.data = New Focas1.IODBPR1 + iodbpr.data.data1 = New Focas1.IODBPR_data + iodbpr.data.data2 = New Focas1.IODBPR_data + iodbpr.data.data3 = New Focas1.IODBPR_data + iodbpr.data.data4 = New Focas1.IODBPR_data + iodbpr.data.data5 = New Focas1.IODBPR_data + + If nQta >= 1 Then iodbpr.data.data1.mcr_val = Value(0 + b * F_MAX_MACRO) + If nQta >= 2 Then iodbpr.data.data2.mcr_val = Value(1 + b * F_MAX_MACRO) + If nQta >= 3 Then iodbpr.data.data3.mcr_val = Value(2 + b * F_MAX_MACRO) + If nQta >= 4 Then iodbpr.data.data4.mcr_val = Value(3 + b * F_MAX_MACRO) + If nQta >= 5 Then iodbpr.data.data5.mcr_val = Value(4 + b * F_MAX_MACRO) + + nReturn = Focas1.cnc_wrpmacror(nLibHandle(nActivePath), MacroIndex, iodbpr) + If F_CheckRetError_Cnc(nReturn, "cnc_wrpmacror F_RW_PCodeMacro_Short CNC.FANUC") Then + Throw New NcException("ERR cnc_wrpmacror F_RW_PCodeMacro_Short CNC.FANUC") + Return False + End If + + Else ' ************* Read + nReturn = Focas1.cnc_rdpmacror(nLibHandle(nActivePath), iodbpr.datano_s, iodbpr.datano_e, nlength, iodbpr) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdmacror F_RW_Macro_Short CNC.FANUC") Then + Throw New NcException("ERR cnc_rdmacror F_RW_Macro_Short CNC.FANUC") + Return False + Else + If nQta >= 1 Then Value(0 + b * F_MAX_MACRO) = iodbpr.data.data1.mcr_val / (10 ^ iodbpr.data.data1.dec_val) + If nQta >= 2 Then Value(1 + b * F_MAX_MACRO) = iodbpr.data.data2.mcr_val / (10 ^ iodbpr.data.data2.dec_val) + If nQta >= 3 Then Value(2 + b * F_MAX_MACRO) = iodbpr.data.data3.mcr_val / (10 ^ iodbpr.data.data3.dec_val) + If nQta >= 4 Then Value(3 + b * F_MAX_MACRO) = iodbpr.data.data4.mcr_val / (10 ^ iodbpr.data.data4.dec_val) + If nQta >= 5 Then Value(4 + b * F_MAX_MACRO) = iodbpr.data.data5.mcr_val / (10 ^ iodbpr.data.data5.dec_val) + End If + End If + Next + + Return True + End Function + + + ''' + ''' Legge o scrive le variabile P Code Macro + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Function F_RW_PCodeMacro_Short(ByVal bWrite As Boolean, ByVal MacroIndex As Integer, ByRef Value As Short) As Boolean + Dim bRet As Boolean + Dim sValue(0) As Short + If bWrite Then sValue(0) = Value + bRet = F_RW_PCodeMacro_Short(bWrite, MacroIndex, sValue) + If Not bWrite Then Value = sValue(0) + Return bRet + End Function + + + Public Overloads Function F_CheckRetError_Cnc(ByVal nReturn As Short, ByVal Position As String) As Boolean + Dim szErrorDesc As String + + If nReturn <> Focas1.EW_OK Then + 'Seleziono il messaggio + Select Case nReturn + Case Focas1.EW_PROTOCOL : szErrorDesc = "Protocol error (Ethernet version only)" + Case Focas1.EW_SOCKET : szErrorDesc = "Socket error (Ethernet version only)" + Case Focas1.EW_NODLL : szErrorDesc = "DLL file error" + Case Focas1.EW_BUS : szErrorDesc = "Bus error (HSSB version only)" + Case Focas1.EW_SYSTEM2 : szErrorDesc = "System error (2) (HSSB version only)" + Case Focas1.EW_HSSB : szErrorDesc = "Communication error of HSSB (HSSB version only)" + Case Focas1.EW_HANDLE : szErrorDesc = "Handle number error" + Case Focas1.EW_VERSION : szErrorDesc = "Version mismatch between the CNC/PMC and library" + Case Focas1.EW_UNEXP : szErrorDesc = "Abnormal library state" + Case Focas1.EW_SYSTEM : szErrorDesc = "System error (HSSB version only)" + Case Focas1.EW_PARITY : szErrorDesc = "Shared RAM parity error (HSSB version only)" + Case Focas1.EW_MMCSYS : szErrorDesc = "FANUC drivers installation error (HSSB version only)" + Case Focas1.EW_RESET : szErrorDesc = "Reset or stop request" + Case Focas1.EW_BUSY : szErrorDesc = "Busy" + Case Focas1.EW_OK : szErrorDesc = "Normal termination" + Case Focas1.EW_FUNC : szErrorDesc = "Error(function is not executed, or not available)" + Case Focas1.EW_LENGTH : szErrorDesc = "Error(data block length error, error of number of data)" + Case Focas1.EW_NUMBER : szErrorDesc = "Error(data number error)" + Case Focas1.EW_ATTRIB : szErrorDesc = "Error(data attribute error)" + Case Focas1.EW_DATA : szErrorDesc = "Error(data error)" + Case Focas1.EW_NOOPT : szErrorDesc = "Error(no option)" + Case Focas1.EW_PROT : szErrorDesc = "Error(write protection)" + Case Focas1.EW_OVRFLOW : szErrorDesc = "Error(memory overflow)" + Case Focas1.EW_PARAM : szErrorDesc = "Error(CNC parameter error)" + Case Focas1.EW_BUFFER : szErrorDesc = "Error(buffer empty/full)" + Case Focas1.EW_PATH : szErrorDesc = "Error(path number error)" + Case Focas1.EW_MODE : szErrorDesc = "Error(CNC mode error)" + Case Focas1.EW_REJECT : szErrorDesc = "Error(CNC execution rejection)" + Case Focas1.EW_DTSRVR : szErrorDesc = "Error(Data server error)" + Case Focas1.EW_ALARM : szErrorDesc = "Error(alarm)" + Case Focas1.EW_STOP : szErrorDesc = "Error(stop)" + Case Focas1.EW_PASSWD : szErrorDesc = "Error(State of data protection)" + Case Else : szErrorDesc = "- ERRORE CNC INESISTENTE -" + End Select + + 'Stampo il messaggio + 'If Config.Settings.Settings.Debug > 0 Then + ' impostato a true x mostrare errore + If False Then + 'If nReturn <> Focas1.EW_SOCKET Then 'tranne su errore di connessione + 'EgwProxy.MultiCncLib.App.Runtime..Log.WW("ERR pmc_wrpmcrng on F_RW_DWord CNC.FANUC", "Return=" & nReturn, True) + MsgBox(szErrorDesc & vbLf & "Occurred in: " & Position, MsgBoxStyle.Exclamation + MsgBoxStyle.ApplicationModal, "Error on Fanuc CNC Data Window") + 'End If + End If + + Return True 'presenza errore + End If + + Return False 'assenza errori + End Function + + Public Overloads Function F_CheckRetError_Pmc(ByVal nReturn As Short, ByVal Position As String) As Boolean + Dim szErrorDesc As String + + If nReturn <> Focas1.EW_OK Then + 'Seleziono il messaggio + Select Case nReturn + Case Focas1.EW_PROTOCOL : szErrorDesc = "Protocol error (Ethernet version only)" + Case Focas1.EW_SOCKET : szErrorDesc = "Socket error (Ethernet version only)" + Case Focas1.EW_NODLL : szErrorDesc = "DLL file error" + Case Focas1.EW_BUS : szErrorDesc = "Bus error (HSSB version only)" + Case Focas1.EW_SYSTEM2 : szErrorDesc = "System error (2) (HSSB version only)" + Case Focas1.EW_HSSB : szErrorDesc = "Communication error of HSSB (HSSB version only)" + Case Focas1.EW_HANDLE : szErrorDesc = "Handle number error" + Case Focas1.EW_VERSION : szErrorDesc = "Version mismatch between the CNC/PMC and library" + Case Focas1.EW_UNEXP : szErrorDesc = "Abnormal library state" + Case Focas1.EW_SYSTEM : szErrorDesc = "System error (HSSB version only)" + Case Focas1.EW_PARITY : szErrorDesc = "Shared RAM parity error (HSSB version only)" + Case Focas1.EW_MMCSYS : szErrorDesc = "FANUC drivers installation error (HSSB version only)" + Case Focas1.EW_OK : szErrorDesc = "Normal termination" + Case Focas1.EW_NOPMC : szErrorDesc = "Error(No PMC)" + Case Focas1.EW_LENGTH : szErrorDesc = "Error(data block length error)" + Case Focas1.EW_RANGE : szErrorDesc = "Error(address range error)" + Case Focas1.EW_TYPE : szErrorDesc = "Error(address type/data type error)" + Case Focas1.EW_DATA : szErrorDesc = "Error(data error)" + Case Focas1.EW_NOOPT : szErrorDesc = "Error(no option)" + Case Focas1.EW_BUFFER : szErrorDesc = "Error(buffer empty/full)" + Case Focas1.EW_PASSWD : szErrorDesc = "Error(State of data protection)" + Case Else : szErrorDesc = "- ERRORE PMC INESISTENTE -" + End Select + + ''Stampo il messaggio + 'If (Config.Settings.Settings.Debug > 0) Then + ' 'If nReturn <> Focas1.EW_SOCKET Then 'tranne su errore di connessione + ' 'EgwProxy.MultiCncLib.App.Runtime..Log.WW("ERR pmc_wrpmcrng on F_RW_DWord CNC.FANUC", "Return=" & nReturn, True) + ' MsgBox(szErrorDesc & vbLf & "Occurred in: " & Position, MsgBoxStyle.Exclamation + MsgBoxStyle.ApplicationModal, "Error on Fanuc CNC Data Window") + ' 'End If + 'End If + Return True 'presenza errore + End If + + Return False 'assenza errori + End Function + +#Region "Funzioni specifiche IOT" + + + Public Function getSysInfo() As Focas1.ODBSYS + ' RIFERIMENTO: + '... + + Dim nPathIdx As Integer + Dim nReturn As Integer + + Dim sysInfo As Focas1.ODBSYS + + sysInfo = New Focas1.ODBSYS + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_sysinfo(nLibHandle(nPathIdx), sysInfo) + + If F_CheckRetError_Cnc(nReturn, "cnc_sysinfo CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_sysinfo CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return sysInfo + + End Function + + ''' + ''' restituisce il PROGRAM NAME principale (compreso di PATH!!!) + ''' + ''' + Public Function getPrgNameMain() As Char() + ' RIFERIMENTO: + '... + + Dim nPathIdx As Integer + Dim nReturn As Integer + + Dim prgName(244) As Char + Dim prgNum As Focas1.ODBPRO + + ' Fill array with a character. + For index As Integer = 0 To 243 + prgName(index) = "" + Next + + prgNum = New Focas1.ODBPRO + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_pdf_rdmain(nLibHandle(nPathIdx), prgName) + + If F_CheckRetError_Cnc(nReturn, "cnc_pdf_rdmain CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_pdf_rdmain CNC.FANUC.EgwProxy.MultiCncLib") + End If + ElseIf Is16Series Then + ' leggo tutto!!! + nReturn = Focas1.cnc_rdprgnum(nLibHandle(nPathIdx), prgNum) + prgName = "O" & prgNum.mdata.ToString() + + + If F_CheckRetError_Cnc(nReturn, "cnc_pdf_rdmain CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_pdf_rdmain CNC.FANUC.EgwProxy.MultiCncLib") + End If + + End If + + + Return prgName + + End Function + + ''' + ''' Retituisce nome programma (o SUB program) in esecuzione... + ''' + ''' + Public Function getPrgName() As Focas1.ODBEXEPRG + ' RIFERIMENTO: + '... + + Dim nPathIdx As Integer + Dim nReturn As Integer + + Dim prgName As Focas1.ODBEXEPRG + + prgName = New Focas1.ODBEXEPRG + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_exeprgname(nLibHandle(nPathIdx), prgName) + + + If F_CheckRetError_Cnc(nReturn, "cnc_exeprgname CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_exeprgname CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return prgName + + End Function + + Public Function getAllAxisPos() As Focas1.ODBPOS + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Position\cnc_rdposition.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim posizAssi As Focas1.ODBPOS + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_rdposition(nLibHandle(nPathIdx), -1, nNumAxisRead, posizAssi) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdposition RefreshAxisPosition CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rdposition RefreshAxisPosition CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return posizAssi + + End Function + + Public Function getAllAxisLoad() As Focas1.ODBSVLOAD + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Position\cnc_rdsvmeter.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim caricoAssi As Focas1.ODBSVLOAD + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_rdsvmeter(nLibHandle(nPathIdx), nNumAxisRead, caricoAssi) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdsvmeter RefreshAxisMeter CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rdsvmeter RefreshAxisMeter CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return caricoAssi + + End Function + + Public Function getGlobalFeedrate() As Focas1.ODBACT + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Position\cnc_actf.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim feedData As Focas1.ODBACT + ' inizializzo + feedData = New Focas1.ODBACT + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo feed globale + nReturn = Focas1.cnc_actf(nLibHandle(nPathIdx), feedData) + + If F_CheckRetError_Cnc(nReturn, "cnc_actf RefreshActFeedRate CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_actf RefreshActFeedRate CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return feedData + + End Function + + Public Function getSpindleLoad() As Focas1.ODBSPN + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Position\cnc_rdspload.htm + ' RICHIEDE DRIVER ESTESO!!! NON VA!!! + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim allData As Focas1.ODBSPN + ' inizializzo + allData = New Focas1.ODBSPN + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo feed globale + nReturn = Focas1.cnc_rdspload(nLibHandle(nPathIdx), -1, allData) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdspload RefreshAllSpindleLoad CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rdspload RefreshAllSpindleLoad CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return allData + + End Function + + Public Function getAllDynData() As Focas1.ODBDY2_1 + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Position\cnc_rddynamic2.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim allData As Focas1.ODBDY2_1 + ' inizializzo + allData = New Focas1.ODBDY2_1 + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + nReturn = Focas1.cnc_rddynamic2(nLibHandle(nPathIdx), 1, 28 + 4 * (4 * 1), allData) + '!!! non funziona: con -1 LEGGE 1 SOLO ASSE!!! + 'nReturn = Focas1.cnc_rddynamic2(nLibHandle(nPathIdx), -1, 28 + 4 * (4 * nNumAxisRead), allData) + + If F_CheckRetError_Cnc(nReturn, "cnc_rddynamic2 RefreshAllData CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rddynamic2 RefreshAllData CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return allData + + End Function + + Public Function getCncAlarm() As Focas1.ODBALMMSG2 + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Misc\cnc_rdalmmsg2.htm + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Misc\cnc_rdalminfo.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim allData As Focas1.ODBALMMSG2 + ' inizializzo + allData = New Focas1.ODBALMMSG2 + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + ' vettore num allarmi MAX da leggere...... + Dim numAllarmi As Int16 + numAllarmi = 512 + + If Is30Series Then + + Try + ' leggo tutto!!! + nReturn = Focas1.cnc_rdalmmsg2(nLibHandle(nPathIdx), -1, numAllarmi, allData) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdalmmsg2 GetCncAlarm CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rdalmmsg2 GetCncAlarm CNC.FANUC.EgwProxy.MultiCncLib") + Return New Focas1.ODBALMMSG2 + End If + Catch ex As Exception + + End Try + + End If + + Return allData + + End Function + + Public Function getPathGCodeMod() As Focas1.ODBGCD + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Misc\cnc_rdgcode.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim actGCode As Focas1.ODBGCD + ' inizializzo + actGCode = New Focas1.ODBGCD + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo tutto!!! 0-27 (28 elementi) + nReturn = Focas1.cnc_rdgcode(nLibHandle(nPathIdx), -1, 1, 37, actGCode) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdgcode RefreshPathGCode CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rdgcode RefreshPathGCode CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return actGCode + + End Function + + Public Function getPathGCode1Shot() As Focas1.ODBGCD + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Misc\cnc_rdgcode.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim actGCode As Focas1.ODBGCD + ' inizializzo + actGCode = New Focas1.ODBGCD + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo tutto!!! 0-27 (28 elementi) + nReturn = Focas1.cnc_rdgcode(nLibHandle(nPathIdx), -2, 1, 4, actGCode) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdgcode RefreshPathGCode CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rdgcode RefreshPathGCode CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return actGCode + + End Function + + Public Function getPathTTCoord() As Focas1.ODB5AXMAN + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Position\cnc_rd5axmandt.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim ttCoord As Focas1.ODB5AXMAN + ' inizializzo + ttCoord = New Focas1.ODB5AXMAN + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_rd5axmandt(nLibHandle(nPathIdx), ttCoord) + + If F_CheckRetError_Cnc(nReturn, "cnc_rd3dtooltip RefreshPathTTCoord CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rd3dtooltip RefreshPathTTCoord CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return ttCoord + + End Function + + Public Function getSpindleSpeed() As Focas1.ODBSPEED + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Position\cnc_rdspeed.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim speedAssi As Focas1.ODBSPEED + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_rdspeed(nLibHandle(nPathIdx), -1, speedAssi) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdspeed RefreshAxisSpeed CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rdspeed RefreshAxisSpeed CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return speedAssi + + End Function + +#End Region + + End Class + +End Namespace \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/CNC/CNC.FANUC/_/CNC.FANUC.Err.vb b/EgwProxy.MultiCncLib/CNC/CNC.FANUC/_/CNC.FANUC.Err.vb new file mode 100644 index 0000000..8a0b9fb --- /dev/null +++ b/EgwProxy.MultiCncLib/CNC/CNC.FANUC/_/CNC.FANUC.Err.vb @@ -0,0 +1,65 @@ +Namespace CNC + + Partial Public Class FANUC + 'Private Class Err + + ' Private _Errors As Dictionary(Of Integer, String) 'Hashtable + + ' Public Sub New() + ' _Errors = New Dictionary(Of Integer, String) 'Hashtable + ' _Errors.Add(Focas1.EW_PROTOCOL, "protocol error") '-17 + ' _Errors.Add(Focas1.EW_SOCKET, "Windows socket error") '-16 + ' _Errors.Add(Focas1.EW_NODLL, "DLL not exist error") '-15 + ' _Errors.Add(Focas1.EW_BUS, "bus error") '-11 + ' _Errors.Add(Focas1.EW_SYSTEM2, "system error") '-10 + ' _Errors.Add(Focas1.EW_HSSB, "hssb communication error") '-9 + ' _Errors.Add(Focas1.EW_HANDLE, "Windows library handle error") '-8 + ' _Errors.Add(Focas1.EW_VERSION, "CNC/PMC version missmatch") '-7 + ' _Errors.Add(Focas1.EW_UNEXP, "abnormal error") '-6 + ' _Errors.Add(Focas1.EW_SYSTEM, "system error") '-5 + ' _Errors.Add(Focas1.EW_PARITY, "shared RAM parity error") '-4 + ' _Errors.Add(Focas1.EW_MMCSYS, "emm386 or mmcsys install error") '-3 + ' _Errors.Add(Focas1.EW_RESET, "reset or stop occured error") '-2 + ' _Errors.Add(Focas1.EW_BUSY, "busy error") '-1 + ' _Errors.Add(Focas1.EW_OK, "no problem") '0 + ' '_Errors.Add(Focas1.EW_FUNC, "command prepare error") '1 + ' '_Errors.Add(Focas1.EW_NOPMC, "pmc not exist") '1 + ' _Errors.Add(1, "command prepare error OR pmc not exist") '1 + ' _Errors.Add(Focas1.EW_LENGTH, "data block length error") '2 + ' '_Errors.Add(Focas1.EW_NUMBER, "data number error") '3 + ' '_Errors.Add(Focas1.EW_RANGE, "address range error") '3 + ' _Errors.Add(3, "data number error OR address range error") '3 + ' '_Errors.Add(Focas1.EW_ATTRIB, "data attribute error") '4 + ' '_Errors.Add(Focas1.EW_TYPE, "data type error") '4 + ' _Errors.Add(4, "data attribute error OR data type error") '4 + ' _Errors.Add(Focas1.EW_DATA, "data error") '5 + ' _Errors.Add(Focas1.EW_NOOPT, "no option error") '6 + ' _Errors.Add(Focas1.EW_PROT, "write protect error") '7 + ' _Errors.Add(Focas1.EW_OVRFLOW, "memory overflow error") '8 + ' _Errors.Add(Focas1.EW_PARAM, "cnc parameter not correct error") '9 + ' _Errors.Add(Focas1.EW_BUFFER, "buffer error") '10 + ' _Errors.Add(Focas1.EW_PATH, "path error") '11 + ' _Errors.Add(Focas1.EW_MODE, "cnc mode error") '12 + ' _Errors.Add(Focas1.EW_REJECT, "execution rejected error") '13 + ' _Errors.Add(Focas1.EW_DTSRVR, "data server error") '14 + ' _Errors.Add(Focas1.EW_ALARM, "alarm has been occurred") '15 + ' _Errors.Add(Focas1.EW_STOP, "CNC is not running") '16 + ' _Errors.Add(Focas1.EW_PASSWD, "protection data error") '17 + ' End Sub + + ' ''' + ' ''' Restituisce una stringa con la descrizione dell'errore + ' ''' + ' Public Function GetInfo(ByVal nError As Integer) As String + ' Try + ' Return String.Format("({0}) ""{1}""", nError, _Errors(nError)) 'es: (0) "no problem" + ' Catch ex As Exception + ' Return "!!! Error Info not available !!!" + ' End Try + ' End Function + + 'End Class + End Class + +End Namespace + diff --git a/EgwProxy.MultiCncLib/CNC/CNC.FANUC/_/fwlib32.vb b/EgwProxy.MultiCncLib/CNC/CNC.FANUC/_/fwlib32.vb new file mode 100644 index 0000000..5546971 --- /dev/null +++ b/EgwProxy.MultiCncLib/CNC/CNC.FANUC/_/fwlib32.vb @@ -0,0 +1,10969 @@ +'------------------------------------------------------- +' fwlib32.vb +' +' CNC/PMC Data Window Library for FOCAS1/Ethernet +' +' Copyright (C) 2003 by FANUC LTD. All rights reserved. +' +'------------------------------------------------------- +Imports System +Imports System.Runtime.InteropServices + + +Public Class Focas1 + ' Axis define +#If FS30D Then + Public Const MAX_AXIS = 32 +#Else + #If M_AXIS2 Then + Public Const MAX_AXIS = 24 + #Else + #If FS15D Then + Public Const MAX_AXIS = 10 + #Else + Public Const MAX_AXIS = 8 + #End If + #End If +#End If + + Public Const ALL_AXES = (-1) + Public Const ALL_SPINDLES = (-1) + + ' Error Codes + Public Const EW_PROTOCOL = (-17) ' protocol error + Public Const EW_SOCKET = (-16) ' Windows socket error + Public Const EW_NODLL = (-15) ' DLL not exist error + Public Const EW_BUS = (-11) ' bus error + Public Const EW_SYSTEM2 = (-10) ' system error + Public Const EW_HSSB = (-9) ' hssb communication error + Public Const EW_HANDLE = (-8) ' Windows library handle error + Public Const EW_VERSION = (-7) ' CNC/PMC version missmatch + Public Const EW_UNEXP = (-6) ' abnormal error + Public Const EW_SYSTEM = (-5) ' system error + Public Const EW_PARITY = (-4) ' shared RAM parity error + Public Const EW_MMCSYS = (-3) ' emm386 or mmcsys install error + Public Const EW_RESET = (-2) ' reset or stop occured error + Public Const EW_BUSY = (-1) ' busy error + Public Const EW_OK = 0 ' no problem + Public Const EW_FUNC = 1 ' command prepare error + Public Const EW_NOPMC = 1 ' pmc not exist + Public Const EW_LENGTH = 2 ' data block length error + Public Const EW_NUMBER = 3 ' data number error + Public Const EW_RANGE = 3 ' address range error + Public Const EW_ATTRIB = 4 ' data attribute error + Public Const EW_TYPE = 4 ' data type error + Public Const EW_DATA = 5 ' data error + Public Const EW_NOOPT = 6 ' no option error + Public Const EW_PROT = 7 ' write protect error + Public Const EW_OVRFLOW = 8 ' memory overflow error + Public Const EW_PARAM = 9 ' cnc parameter not correct error + Public Const EW_BUFFER = 10 ' buffer error + Public Const EW_PATH = 11 ' path error + Public Const EW_MODE = 12 ' cnc mode error + Public Const EW_REJECT = 13 ' execution rejected error + Public Const EW_DTSRVR = 14 ' data server error + Public Const EW_ALARM = 15 ' alarm has been occurred + Public Const EW_STOP = 16 ' CNC is not running + Public Const EW_PASSWD = 17 ' protection data error + + ' Result codes of DNC operation + + Public Const DNC_NORMAL = (-1) ' normal completed + Public Const DNC_CANCEL = (-32768) ' DNC operation was canceled by CNC + Public Const DNC_OPENERR = (-514) ' file open error + Public Const DNC_NOFILE = (-516) ' file not found + Public Const DNC_READERR = (-517) ' read error + + '-------------------- + ' + ' Structure Template + ' + '-------------------- + '------------------------------------- + ' CNC: Control axis / spindle related + '------------------------------------- + + ' cnc_actf:read actual axis feedrate(F) + ' cnc_acts:read actual spindle speed(S) + + Public Structure ODBACT + + Public dummy As Short() ' dummy + Public data As Integer ' actual feed / actual spindle + End Structure 'ODBACT + + ' cnc_acts2:read actual spindle speed(S) + ' (All or specified ) + + Public Structure ODBACT2 + Public datano As Short ' spindle number + Public type As Short ' dummy + + Public data As Integer() ' spindle data + End Structure 'ODBACT2 + + ' cnc_absolute:read absolute axis position + ' cnc_machine:read machine axis position + ' cnc_relative:read relative axis position + ' cnc_distance:read distance to go + ' cnc_skip:read skip position + ' cnc_srvdelay:read servo delay value + ' cnc_accdecdly:read acceleration/deceleration delay value + ' cnc_absolute2:read absolute axis position 2 + ' cnc_relative2:read relative axis position 2 + + Public Structure ODBAXIS + Public dummy As Short ' dummy + Public type As Short ' axis number + + Public data As Integer() ' data value + End Structure 'ODBAXIS + + ' cnc_rddynamic:read all dynamic data + + Public Structure FAXIS + + Public absolute As Integer() ' absolute position + + Public machine As Integer() ' machine position + + Public relative As Integer() ' relative position + + Public distance As Integer() ' distance to go + End Structure 'FAXIS + + Public Structure OAXIS + Public absolute As Integer ' absolute position + Public machine As Integer ' machine position + Public relative As Integer ' relative position + Public distance As Integer ' distance to go + End Structure +#If ONO8D = Nothing Then + + Public Structure ODBDY_1 + Public dummy As Short + Public axis As Short ' axis number + Public alarm As Short ' alarm status + Public prgnum As Short ' current program number + Public prgmnum As Short ' main program number + Public seqnum As Integer ' current sequence number + Public actf As Integer ' actual feedrate + Public acts As Integer ' actual spindle speed + Public pos As FAXIS + End Structure + + + Public Structure ODBDY_2 + Public dummy As Short + Public axis As Short ' axis number + Public alarm As Short ' alarm status + Public prgnum As Short ' current program number + Public prgmnum As Short ' main program number + Public seqnum As Integer ' current sequence number + Public actf As Integer ' actual feedrate + Public acts As Integer ' actual spindle speed + Public pos As OAXIS + End Structure +#Else + _ + Public Structure ODBDY_1 + Public dummy As Short + Public axis As Short ' axis number + Public alarm As Short ' alarm status + Public prgnum As Integer ' current program number + Public prgmnum As Integer ' main program number + Public seqnum As Integer ' current sequence number + Public actf As Integer ' actual feedrate + Public acts As Integer ' actual spindle speed + Public pos As FAXIS + End Structure + _ + Public Structure ODBDY_2 + Public dummy As Short + Public axis As Short ' axis number + Public alarm As Short ' alarm status + Public prgnum As Integer ' current program number + Public prgmnum As Integer ' main program number + Public seqnum As Integer ' current sequence number + Public actf As Integer ' actual feedrate + Public acts As Integer ' actual spindle speed + Public pos As OAXIS + End Structure +#End If + + ' cnc_rddynamic2:read all dynamic data + + Public Structure ODBDY2_1 + Public dummy As Short + Public axis As Short ' axis number + Public alarm As Integer ' alarm status + Public prgnum As Integer ' current program number + Public prgmnum As Integer ' main program number + Public seqnum As Integer ' current sequence number + Public actf As Integer ' actual feedrate + Public acts As Integer ' actual spindle speed + Public pos As FAXIS + End Structure + + Public Structure ODBDY2_2 + Public dummy As Short + Public axis As Short ' axis number + Public alarm As Integer ' alarm status + Public prgnum As Integer ' current program number + Public prgmnum As Integer ' main program number + Public seqnum As Integer ' current sequence number + Public actf As Integer ' actual feedrate + Public acts As Integer ' actual spindle speed + Public pos As OAXIS ' In case of 1 axis + End Structure + + ' cnc_wrrelpos:set origin / preset relative axis position + + Public Structure IDBWRR + Public datano As Short ' dummy + Public type As Short ' axis number + + Public data As Integer() ' preset data + End Structure + + ' cnc_prstwkcd:preset work coordinate + + Public Structure IDBWRA + Public datano As Short ' dummy + Public type As Short ' axis number + + Public data As Integer() ' preset data + End Structure + + ' cnc_rdmovrlap:read manual overlapped motion value + + Public Structure IODBOVL + Public datano As Short ' dummy + Public type As Short ' axis number + + Public data As Integer() ' data value:[2][MAX_AXIS] + End Structure + + ' cnc_rdspload:read load information of serial spindle + ' cnc_rdspmaxrpm:read maximum r.p.m. ratio of serial spindle + ' cnc_rdspgear:read gear ratio of serial spindle + + Public Structure ODBSPN + Public datano As Short ' dummy + Public type As Short ' axis number + + Public data As Short() ' preset data + End Structure + + ' cnc_rdposition:read tool position + + Public Structure POSELM + Public data As Integer ' position data + Public dec As Short ' place of decimal point of position data + Public unit As Short ' unit of position data + Public disp As Short ' status of display + Public name As Char ' axis name + Public suff As Char ' axis name preffix + End Structure + + + Public Structure POSELMALL + Public abs As POSELM + Public mach As POSELM + Public rel As POSELM + Public dist As POSELM + End Structure +#If FS30D Then + + Public Structure ODBPOS + Public p1 As POSELMALL + Public p2 As POSELMALL + Public p3 As POSELMALL + Public p4 As POSELMALL + Public p5 As POSELMALL + Public p6 As POSELMALL + Public p7 As POSELMALL + Public p8 As POSELMALL + Public p9 As POSELMALL + Public p10 As POSELMALL + Public p11 As POSELMALL + Public p12 As POSELMALL + Public p13 As POSELMALL + Public p14 As POSELMALL + Public p15 As POSELMALL + Public p16 As POSELMALL + Public p17 As POSELMALL + Public p18 As POSELMALL + Public p19 As POSELMALL + Public p20 As POSELMALL + Public p21 As POSELMALL + Public p22 As POSELMALL + Public p23 As POSELMALL + Public p24 As POSELMALL + Public p25 As POSELMALL + Public p26 As POSELMALL + Public p27 As POSELMALL + Public p28 As POSELMALL + Public p29 As POSELMALL + Public p30 As POSELMALL + Public p31 As POSELMALL + Public p32 As POSELMALL + ' In case of 32 axes. + ' if you need the more information, you must be add the member. + End Structure +#Else + #If M_AXIS2 Then + _ + Public Structure ODBPOS + Public p1 As POSELMALL + Public p2 As POSELMALL + Public p3 As POSELMALL + Public p4 As POSELMALL + Public p5 As POSELMALL + Public p6 As POSELMALL + Public p7 As POSELMALL + Public p8 As POSELMALL + Public p9 As POSELMALL + Public p10 As POSELMALL + Public p11 As POSELMALL + Public p12 As POSELMALL + Public p13 As POSELMALL + Public p14 As POSELMALL + Public p15 As POSELMALL + Public p16 As POSELMALL + Public p17 As POSELMALL + Public p18 As POSELMALL + Public p19 As POSELMALL + Public p20 As POSELMALL + Public p21 As POSELMALL + Public p22 As POSELMALL + Public p23 As POSELMALL + Public p24 As POSELMALL + ' In case of 24 axes. + ' if you need the more information, you must be add the member. + End Structure + #Else + #If FS15D Then + _ + Public Structure ODBPOS + Public p1 As POSELMALL + Public p2 As POSELMALL + Public p3 As POSELMALL + Public p4 As POSELMALL + Public p5 As POSELMALL + Public p6 As POSELMALL + Public p7 As POSELMALL + Public p8 As POSELMALL + Public p9 As POSELMALL + Public p10 As POSELMALL + ' In case of 10 axes. + ' if you need the more information, you must be add the member. + End Structure + #Else + _ + Public Structure ODBPOS + Public p1 As POSELMALL + Public p2 As POSELMALL + Public p3 As POSELMALL + Public p4 As POSELMALL + Public p5 As POSELMALL + Public p6 As POSELMALL + Public p7 As POSELMALL + Public p8 As POSELMALL + ' In case of 8 axes. + ' if you need the more information, you must be add the member. + End Structure + #End If + #End If +#End If + + ' cnc_rdhndintrpt:read handle interruption + + Public Structure ODBHND_data + Public input As POSELM ' input unit + Public output As POSELM ' output unit + End Structure +#If FS30D Then + + Public Structure ODBHND + Public p1 As ODBHND_data + Public p2 As ODBHND_data + Public p3 As ODBHND_data + Public p4 As ODBHND_data + Public p5 As ODBHND_data + Public p6 As ODBHND_data + Public p7 As ODBHND_data + Public p8 As ODBHND_data + Public p9 As ODBHND_data + Public p10 As ODBHND_data + Public p11 As ODBHND_data + Public p12 As ODBHND_data + Public p13 As ODBHND_data + Public p14 As ODBHND_data + Public p15 As ODBHND_data + Public p16 As ODBHND_data + Public p17 As ODBHND_data + Public p18 As ODBHND_data + Public p19 As ODBHND_data + Public p20 As ODBHND_data + Public p21 As ODBHND_data + Public p22 As ODBHND_data + Public p23 As ODBHND_data + Public p24 As ODBHND_data + Public p25 As ODBHND_data + Public p26 As ODBHND_data + Public p27 As ODBHND_data + Public p28 As ODBHND_data + Public p29 As ODBHND_data + Public p30 As ODBHND_data + Public p31 As ODBHND_data + Public p32 As ODBHND_data + ' In case of 32 axes. + ' if you need the more information, you must be add the member. + End Structure +#Else +#If M_AXIS2 Then + _ + Public Structure ODBHND + Public p1 As ODBHND_data + Public p2 As ODBHND_data + Public p3 As ODBHND_data + Public p4 As ODBHND_data + Public p5 As ODBHND_data + Public p6 As ODBHND_data + Public p7 As ODBHND_data + Public p8 As ODBHND_data + Public p9 As ODBHND_data + Public p10 As ODBHND_data + Public p11 As ODBHND_data + Public p12 As ODBHND_data + Public p13 As ODBHND_data + Public p14 As ODBHND_data + Public p15 As ODBHND_data + Public p16 As ODBHND_data + Public p17 As ODBHND_data + Public p18 As ODBHND_data + Public p19 As ODBHND_data + Public p20 As ODBHND_data + Public p21 As ODBHND_data + Public p22 As ODBHND_data + Public p23 As ODBHND_data + Public p24 As ODBHND_data + ' In case of 24 axes. + ' if you need the more information, you must be add the member. + End Structure +#Else +#If FS15D Then + _ + Public Structure ODBHND + Public p1 As ODBHND_data + Public p2 As ODBHND_data + Public p3 As ODBHND_data + Public p4 As ODBHND_data + Public p5 As ODBHND_data + Public p6 As ODBHND_data + Public p7 As ODBHND_data + Public p8 As ODBHND_data + Public p9 As ODBHND_data + Public p10 As ODBHND_data + ' In case of 10 axes. + ' if you need the more information, you must be add the member. + End Structure +#Else + _ + Public Structure ODBHND + Public p1 As ODBHND_data + Public p2 As ODBHND_data + Public p3 As ODBHND_data + Public p4 As ODBHND_data + Public p5 As ODBHND_data + Public p6 As ODBHND_data + Public p7 As ODBHND_data + Public p8 As ODBHND_data + ' In case of 8 axes. + ' if you need the more information, you must be add the member. + End Structure +#End If +#End If +#End If + + ' cnc_rdspeed:read current speed + + Public Structure SPEEDELM + Public data As Integer ' speed data + Public dec As Short ' decimal position + Public unit As Short ' data unit + Public disp As Short ' display flag + Public name As Byte ' name of data + Public suff As Byte ' suffix + End Structure + + + Public Structure ODBSPEED + Public actf As SPEEDELM ' actual feed rate + Public acts As SPEEDELM ' actual spindle speed + End Structure + + ' cnc_rdsvmeter:read servo load meter + ' cnc_rdspmeter:read spindle load meter + + Public Structure LOADELM + Public data As Integer ' load meter + Public dec As Short ' decimal position + Public unit As Short ' unit + Public name As Byte ' name of data + Public suff1 As Byte ' suffix + Public suff2 As Byte ' suffix + Public reserve As Byte ' reserve + End Structure +#If FS30D Then + + Public Structure ODBSVLOAD + Public svload1 As LOADELM ' servo load meter + Public svload2 As LOADELM ' servo load meter + Public svload3 As LOADELM ' servo load meter + Public svload4 As LOADELM ' servo load meter + Public svload5 As LOADELM ' servo load meter + Public svload6 As LOADELM ' servo load meter + Public svload7 As LOADELM ' servo load meter + Public svload8 As LOADELM ' servo load meter + Public svload9 As LOADELM ' servo load meter + Public svload10 As LOADELM ' servo load meter + Public svload11 As LOADELM ' servo load meter + Public svload12 As LOADELM ' servo load meter + Public svload13 As LOADELM ' servo load meter + Public svload14 As LOADELM ' servo load meter + Public svload15 As LOADELM ' servo load meter + Public svload16 As LOADELM ' servo load meter + Public svload17 As LOADELM ' servo load meter + Public svload18 As LOADELM ' servo load meter + Public svload19 As LOADELM ' servo load meter + Public svload20 As LOADELM ' servo load meter + Public svload21 As LOADELM ' servo load meter + Public svload22 As LOADELM ' servo load meter + Public svload23 As LOADELM ' servo load meter + Public svload24 As LOADELM ' servo load meter + Public svload25 As LOADELM ' servo load meter + Public svload26 As LOADELM ' servo load meter + Public svload27 As LOADELM ' servo load meter + Public svload28 As LOADELM ' servo load meter + Public svload29 As LOADELM ' servo load meter + Public svload30 As LOADELM ' servo load meter + Public svload31 As LOADELM ' servo load meter + Public svload32 As LOADELM ' servo load meter + End Structure +#Else +#If M_AXIS2 Then + _ + Public Structure ODBSVLOAD + Public svload1 As LOADELM ' servo load meter + Public svload2 As LOADELM ' servo load meter + Public svload3 As LOADELM ' servo load meter + Public svload4 As LOADELM ' servo load meter + Public svload5 As LOADELM ' servo load meter + Public svload6 As LOADELM ' servo load meter + Public svload7 As LOADELM ' servo load meter + Public svload8 As LOADELM ' servo load meter + Public svload9 As LOADELM ' servo load meter + Public svload10 As LOADELM ' servo load meter + Public svload11 As LOADELM ' servo load meter + Public svload12 As LOADELM ' servo load meter + Public svload13 As LOADELM ' servo load meter + Public svload14 As LOADELM ' servo load meter + Public svload15 As LOADELM ' servo load meter + Public svload16 As LOADELM ' servo load meter + Public svload17 As LOADELM ' servo load meter + Public svload18 As LOADELM ' servo load meter + Public svload19 As LOADELM ' servo load meter + Public svload20 As LOADELM ' servo load meter + Public svload21 As LOADELM ' servo load meter + Public svload22 As LOADELM ' servo load meter + Public svload23 As LOADELM ' servo load meter + Public svload24 As LOADELM ' servo load meter + End Structure +#Else +#If FS15D Then + _ + Public Structure ODBSVLOAD + Public svload1 As LOADELM ' servo load meter + Public svload2 As LOADELM ' servo load meter + Public svload3 As LOADELM ' servo load meter + Public svload4 As LOADELM ' servo load meter + Public svload5 As LOADELM ' servo load meter + Public svload6 As LOADELM ' servo load meter + Public svload7 As LOADELM ' servo load meter + Public svload8 As LOADELM ' servo load meter + Public svload9 As LOADELM ' servo load meter + Public svload10 As LOADELM ' servo load meter + End Structure +#Else + _ + Public Structure ODBSVLOAD + Public svload1 As LOADELM ' servo load meter + Public svload2 As LOADELM ' servo load meter + Public svload3 As LOADELM ' servo load meter + Public svload4 As LOADELM ' servo load meter + Public svload5 As LOADELM ' servo load meter + Public svload6 As LOADELM ' servo load meter + Public svload7 As LOADELM ' servo load meter + Public svload8 As LOADELM ' servo load meter + End Structure +#End If +#End If +#End If + + + Public Structure ODBSPLOAD_data + Public spload As LOADELM ' spindle load meter + Public spspeed As LOADELM ' spindle speed + End Structure + + Public Structure ODBSPLOAD + Public spload1 As ODBSPLOAD_data ' spindle load + Public spload2 As ODBSPLOAD_data ' spindle load + Public spload3 As ODBSPLOAD_data ' spindle load + Public spload4 As ODBSPLOAD_data ' spindle load + End Structure + + ' cnc_rdexecpt:read execution program pointer + + Public Structure PRGPNT + Public prog_no As Integer ' program number + Public blk_no As Integer ' block number + End Structure + + ' cnc_rd5axmandt:read manual feed for 5-axis machining + + Public Structure ODB5AXMAN + Public type1 As Short + Public type2 As Short + Public type3 As Short + Public data1 As Integer + Public data2 As Integer + Public data3 As Integer + Public c1 As Integer + Public c2 As Integer + Public dummy As Integer + Public td As Integer + Public r1 As Integer + Public r2 As Integer + Public vr As Integer + Public h1 As Integer + Public h2 As Integer + End Structure + + '---------------------- + ' CNC: Program related + '---------------------- + + ' cnc_rddncdgndt:read the diagnosis data of DNC operation + + Public Structure ODBDNCDGN + Public ctrl_word As Short + Public can_word As Short + + Public nc_file As Char() + Public read_ptr As Short + Public write_ptr As Short + Public empty_cnt As Short + Public total_size As Integer + End Structure + + ' cnc_upload:upload NC program + ' cnc_cupload:upload NC program(conditional) + + Public Structure ODBUP + + Public dummy As Short() ' dummy + + Public data As String ' data + End Structure ' In case that the number of data is 256 + + ' cnc_buff:read buffer status for downloading/verification NC program + + Public Structure ODBBUF + + Public dummy As Short() ' dummy + Public data As Short ' buffer status + End Structure + + ' cnc_rdprogdir:read program directory + + Public Structure PRGDIR + + Public prg_data As Char() ' directory data + End Structure ' In case that the number of data is 256 + + ' cnc_rdproginfo:read program information + + Public Structure ODBNC_1 + Public reg_prg As Short ' registered program number + Public unreg_prg As Short ' unregistered program number + Public used_mem As Integer ' used memory area + Public unused_mem As Integer ' unused memory area + End Structure + + + Public Structure ODBNC_2 + + Public asc As Char() ' ASCII string type + End Structure + + ' cnc_rdprgnum:read program number under execution +#If ONO8D = Nothing Then + + Public Structure ODBPRO + + Public dummy As Short() ' dummy + Public data As Short ' running program number + Public mdata As Short ' main program number + End Structure +#Else + _ + Public Structure ODBPRO + _ + Public dummy As Short() ' dummy + Public data As Integer ' running program number + Public mdata As Integer ' main program number + End Structure +#End If + + ' cnc_exeprgname:read program name under execution + + Public Structure ODBEXEPRG + + Public name As Char() ' running program name + Public o_num As Integer ' running program number + End Structure + + ' cnc_rdseqnum:read sequence number under execution + + Public Structure ODBSEQ + + Public dummy As Short() ' dummy + Public data As Integer ' sequence number + End Structure + + ' cnc_rdmdipntr:read execution pointer for MDI operation +#If ONO8D = Nothing Then + + Public Structure ODBMDIP + Public mdiprog As Short ' exec. program number + Public mdipntr As Integer ' exec. pointer + Public crntprog As Short ' prepare program number + Public crntpntr As Integer ' prepare pointer + End Structure +#Else + _ + Public Structure ODBMDIP + Public mdiprog As Integer ' exec. program number + Public mdipntr As Integer ' exec. pointer + Public crntprog As Integer ' prepare program number + Public crntpntr As Integer ' prepare pointer + End Structure +#End If + + ' cnc_rdaxisdata:read various axis data + + Public Structure ODBAXDT_data + + Public name As String ' data + Public data As Integer ' position data + Public dec As Short ' decimal position + Public unit As Short ' data unit + Public flag As Short ' flags + Public reserve As Short ' reserve + End Structure + + + Public Structure ODBAXDT + Public data1 As ODBAXDT_data + Public data2 As ODBAXDT_data + Public data3 As ODBAXDT_data + Public data4 As ODBAXDT_data + Public data5 As ODBAXDT_data + Public data6 As ODBAXDT_data + Public data7 As ODBAXDT_data + Public data8 As ODBAXDT_data + Public data9 As ODBAXDT_data + Public data10 As ODBAXDT_data + Public data11 As ODBAXDT_data + Public data12 As ODBAXDT_data + Public data13 As ODBAXDT_data + Public data14 As ODBAXDT_data + Public data15 As ODBAXDT_data + Public data16 As ODBAXDT_data + Public data17 As ODBAXDT_data + Public data18 As ODBAXDT_data + Public data19 As ODBAXDT_data + Public data20 As ODBAXDT_data + Public data21 As ODBAXDT_data + Public data22 As ODBAXDT_data + Public data23 As ODBAXDT_data + Public data24 As ODBAXDT_data + Public data25 As ODBAXDT_data + Public data26 As ODBAXDT_data + Public data27 As ODBAXDT_data + Public data28 As ODBAXDT_data + Public data29 As ODBAXDT_data + Public data30 As ODBAXDT_data + Public data31 As ODBAXDT_data + Public data32 As ODBAXDT_data + Public data33 As ODBAXDT_data + Public data34 As ODBAXDT_data + Public data35 As ODBAXDT_data + Public data36 As ODBAXDT_data + Public data37 As ODBAXDT_data + Public data38 As ODBAXDT_data + Public data39 As ODBAXDT_data + Public data40 As ODBAXDT_data + Public data41 As ODBAXDT_data + Public data42 As ODBAXDT_data + Public data43 As ODBAXDT_data + Public data44 As ODBAXDT_data + Public data45 As ODBAXDT_data + Public data46 As ODBAXDT_data + Public data47 As ODBAXDT_data + Public data48 As ODBAXDT_data + Public data49 As ODBAXDT_data + Public data50 As ODBAXDT_data + Public data51 As ODBAXDT_data + Public data52 As ODBAXDT_data + Public data53 As ODBAXDT_data + Public data54 As ODBAXDT_data + Public data55 As ODBAXDT_data + Public data56 As ODBAXDT_data + Public data57 As ODBAXDT_data + Public data58 As ODBAXDT_data + Public data59 As ODBAXDT_data + Public data60 As ODBAXDT_data + Public data61 As ODBAXDT_data + Public data62 As ODBAXDT_data + Public data63 As ODBAXDT_data + Public data64 As ODBAXDT_data + Public data65 As ODBAXDT_data + Public data66 As ODBAXDT_data + Public data67 As ODBAXDT_data + Public data68 As ODBAXDT_data + Public data69 As ODBAXDT_data + Public data70 As ODBAXDT_data + Public data71 As ODBAXDT_data + Public data72 As ODBAXDT_data + Public data73 As ODBAXDT_data + Public data74 As ODBAXDT_data + Public data75 As ODBAXDT_data + Public data76 As ODBAXDT_data + Public data77 As ODBAXDT_data + Public data78 As ODBAXDT_data + Public data79 As ODBAXDT_data + Public data80 As ODBAXDT_data + Public data81 As ODBAXDT_data + Public data82 As ODBAXDT_data + Public data83 As ODBAXDT_data + Public data84 As ODBAXDT_data + Public data85 As ODBAXDT_data + Public data86 As ODBAXDT_data + Public data87 As ODBAXDT_data + Public data88 As ODBAXDT_data + Public data89 As ODBAXDT_data + Public data90 As ODBAXDT_data + Public data91 As ODBAXDT_data + Public data92 As ODBAXDT_data + Public data93 As ODBAXDT_data + Public data94 As ODBAXDT_data + Public data95 As ODBAXDT_data + Public data96 As ODBAXDT_data + Public data97 As ODBAXDT_data + Public data98 As ODBAXDT_data + Public data99 As ODBAXDT_data + Public data100 As ODBAXDT_data + Public data101 As ODBAXDT_data + Public data102 As ODBAXDT_data + Public data103 As ODBAXDT_data + Public data104 As ODBAXDT_data + Public data105 As ODBAXDT_data + Public data106 As ODBAXDT_data + Public data107 As ODBAXDT_data + Public data108 As ODBAXDT_data + Public data109 As ODBAXDT_data + Public data110 As ODBAXDT_data + Public data111 As ODBAXDT_data + Public data112 As ODBAXDT_data + Public data113 As ODBAXDT_data + Public data114 As ODBAXDT_data + Public data115 As ODBAXDT_data + Public data116 As ODBAXDT_data + Public data117 As ODBAXDT_data + Public data118 As ODBAXDT_data + Public data119 As ODBAXDT_data + Public data120 As ODBAXDT_data + Public data121 As ODBAXDT_data + Public data122 As ODBAXDT_data + Public data123 As ODBAXDT_data + Public data124 As ODBAXDT_data + Public data125 As ODBAXDT_data + Public data126 As ODBAXDT_data + Public data127 As ODBAXDT_data + Public data128 As ODBAXDT_data + End Structure + + ' cnc_rdspcss:read constant surface speed data + + Public Structure ODBCSS + Public srpm As Integer ' order spindle speed + Public sspm As Integer ' order constant spindle speed + Public smax As Integer ' order maximum spindle speed + End Structure + + ' cnc_rdpdf_drive:read program drive directory + + Public Structure ODBPDFDRV + Public max_num As Short ' maximum drive number + Public dummy As Short + + Public drive1 As String + + Public drive2 As String + + Public drive3 As String + + Public drive4 As String + + Public drive5 As String + + Public drive6 As String + + Public drive7 As String + + Public drive8 As String + + Public drive9 As String + + Public drive10 As String + + Public drive11 As String + + Public drive12 As String + + Public drive13 As String + + Public drive14 As String + + Public drive15 As String + + Public drive16 As String + End Structure + + ' cnc_rdpdf_inf:read program drive information + + Public Structure ODBPDFINF + Public used_page As Integer ' used capacity + Public all_page As Integer ' all capacity + Public used_dir As Integer ' used directory number + Public all_dir As Integer ' all directory number + End Structure + + ' cnc_rdpdf_subdir:read directory (sub directories) + + Public Structure IDBPDFSDIR + + Public path As String ' path name + Public req_num As Short ' entry number + Public dummy As Short + End Structure + + ' cnc_rdpdf_subdir:read directory (sub directories) + + Public Structure ODBPDFSDIR + Public sub_exist As Short ' existence of sub directory + Public dummy As Short + + Public d_f As String ' directory name + End Structure + + ' cnc_rdpdf_alldir:read directory (all files) + + Public Structure IDBPDFADIR + + Public path As String ' path name + Public req_num As Short ' entry number + Public size_kind As Short ' kind of size + Public type As Short ' kind of format + Public dummy As Short + End Structure + + ' cnc_rdpdf_alldir:read directory (all files) + + Public Structure ODBPDFADIR + Public data_kind As Short ' kinf of data + Public year As Short ' last date and time + Public mon As Short ' last date and time + Public day As Short ' last date and time + Public hour As Short ' last date and time + Public min As Short ' last date and time + Public sec As Short ' last date and time + Public dummy As Short + Public dummy2 As Integer + Public size As Integer ' size + Public attr As Integer ' attribute + + Public d_f As String ' path name + + Public comment As String ' comment + + Public o_time As String ' comment + End Structure + + ' cnc_rdpdf_subdirn:read file count the directory has + + Public Structure ODBPDFNFIL + Public dir_num As Short ' directory + Public file_num As Short ' file + End Structure + + ' cnc_wrpdf_attr:change attribute of program file and directory + + Public Structure IDBPDFTDIR + Public slct As Integer ' selection + Public attr As Integer ' data + End Structure + + '--------------------------- + ' CNC: NC file data related + '--------------------------- + + ' cnc_rdtofs:read tool offset value + + Public Structure ODBTOFS + Public datano As Short ' data number + Public type As Short ' data type + Public data As Integer ' data + End Structure + + ' cnc_rdtofsr:read tool offset value(area specified) + ' cnc_wrtofsr:write tool offset value(area specified) + + Public Structure OFS_1 + + Public m_ofs As Integer() ' M Each + + Public m_ofs_a As Integer() ' M-A All + + Public t_tip As Short() ' T Each, 2-byte + + Public t_ofs As Integer() ' T Each, 4-byte + End Structure ' In case that the number of data is 5 + + Public Structure OFS_2 + + Public m_ofs_b As Integer() ' M-B All + End Structure ' In case that the number of data is 5 + + Public Structure OFS_3 + ' _ + + Public m_ofs_c As Integer() ' M-C All + End Structure ' In case that the number of data is 5 + + Public Structure T_OFS_A + Public tip As Short + + Public data As Integer() + End Structure ' T-A All + + Public Structure T_OFS_A_data + Public data1 As T_OFS_A + Public data2 As T_OFS_A + Public data3 As T_OFS_A + Public data4 As T_OFS_A + Public data5 As T_OFS_A + End Structure ' In case that the number of data is 5 + + Public Structure T_OFS_B + Public tip As Short + + Public data As Integer() + End Structure ' T-B All + + Public Structure T_OFS_B_data + Public data1 As T_OFS_B + Public data2 As T_OFS_B + Public data3 As T_OFS_B + Public data4 As T_OFS_B + Public data5 As T_OFS_B + End Structure ' In case that the number of data is 5 + + Public Structure IODBTO_1_1 + Public datano_s As Short ' start offset number + Public type As Short ' offset type + Public datano_e As Short ' end offset number + Public ofs As OFS_1 + End Structure + + Public Structure IODBTO_1_2 + Public datano_s As Short ' start offset number + Public type As Short ' offset type + Public datano_e As Short ' end offset number + Public ofs As OFS_2 + End Structure + + Public Structure IODBTO_1_3 + Public datano_s As Short ' start offset number + Public type As Short ' offset type + Public datano_e As Short ' end offset number + Public ofs As OFS_3 + End Structure + + Public Structure IODBTO_2 + Public datano_s As Short ' start offset number + Public type As Short ' offset type + Public datano_e As Short ' end offset number + Public tofsa As T_OFS_A_data + End Structure + + Public Structure IODBTO_3 + Public datano_s As Short ' start offset number + Public type As Short ' offset type + Public datano_e As Short ' end offset number + Public tofsb As T_OFS_B_data + End Structure + + ' cnc_rdzofs:read work zero offset value + ' cnc_wrzofs:write work zero offset value + + Public Structure IODBZOFS + Public datano As Short ' offset NO. + Public type As Short ' axis number + + Public data As Integer() ' data value + End Structure + + ' cnc_rdzofsr:read work zero offset value(area specified) + ' cnc_wrzofsr:write work zero offset value(area specified) + + Public Structure IODBZOR + Public datano_s As Short ' start offset number + Public type As Short ' axis number + Public datano_e As Short ' end offset number + + Public data As Integer() ' offset value + End Structure ' In case that the number of axes is MAX_AXIS, the number of data is 7 + + ' cnc_rdmsptype:read mesured point value + ' cnc_wrmsptype:write mesured point value + + Public Structure IODBMSTP + Public datano_s As Short ' start offset number + Public dummy As Short ' dummy + Public datano_e As Short ' end offset number + + Public data As SByte() ' mesured point value + End Structure + + ' cnc_rdparam:read parameter + ' cnc_wrparam:write parameter + ' cnc_rdset:read setting data + ' cnc_wrset:write setting data + ' cnc_rdparar:read parameter(area specified) + ' cnc_wrparas:write parameter(plural specified) + ' cnc_rdsetr:read setting data(area specified) + ' cnc_wrsets:write setting data(plural specified) + + Public Structure REALPRM + Public prm_val As Integer ' data of real parameter + Public dec_val As Integer ' decimal point of real parameter + End Structure +#If FS30D Then + + Public Structure REALPRMS + Public rdata1 As REALPRM + Public rdata2 As REALPRM + Public rdata3 As REALPRM + Public rdata4 As REALPRM + Public rdata5 As REALPRM + Public rdata6 As REALPRM + Public rdata7 As REALPRM + Public rdata8 As REALPRM + Public rdata9 As REALPRM + Public rdata10 As REALPRM + Public rdata11 As REALPRM + Public rdata12 As REALPRM + Public rdata13 As REALPRM + Public rdata14 As REALPRM + Public rdata15 As REALPRM + Public rdata16 As REALPRM + Public rdata17 As REALPRM + Public rdata18 As REALPRM + Public rdata19 As REALPRM + Public rdata20 As REALPRM + Public rdata21 As REALPRM + Public rdata22 As REALPRM + Public rdata23 As REALPRM + Public rdata24 As REALPRM + Public rdata25 As REALPRM + Public rdata26 As REALPRM + Public rdata27 As REALPRM + Public rdata28 As REALPRM + Public rdata29 As REALPRM + Public rdata30 As REALPRM + Public rdata31 As REALPRM + Public rdata32 As REALPRM + End Structure ' In case that the number of alarm is 32 +#Else +#If M_AXIS2 Then + _ + Public Structure REALPRMS + Public rdata1 As REALPRM + Public rdata2 As REALPRM + Public rdata3 As REALPRM + Public rdata4 As REALPRM + Public rdata5 As REALPRM + Public rdata6 As REALPRM + Public rdata7 As REALPRM + Public rdata8 As REALPRM + Public rdata9 As REALPRM + Public rdata10 As REALPRM + Public rdata11 As REALPRM + Public rdata12 As REALPRM + Public rdata13 As REALPRM + Public rdata14 As REALPRM + Public rdata15 As REALPRM + Public rdata16 As REALPRM + Public rdata17 As REALPRM + Public rdata18 As REALPRM + Public rdata19 As REALPRM + Public rdata20 As REALPRM + Public rdata21 As REALPRM + Public rdata22 As REALPRM + Public rdata23 As REALPRM + Public rdata24 As REALPRM + End Structure ' In case that the number of alarm is 24 +#Else +#If FS15D Then + _ + Public Structure REALPRMS + Public rdata1 As REALPRM + Public rdata2 As REALPRM + Public rdata3 As REALPRM + Public rdata4 As REALPRM + Public rdata5 As REALPRM + Public rdata6 As REALPRM + Public rdata7 As REALPRM + Public rdata8 As REALPRM + Public rdata9 As REALPRM + Public rdata10 As REALPRM + End Structure ' In case that the number of alarm is 10 +#Else + _ + Public Structure REALPRMS + Public rdata1 As REALPRM + Public rdata2 As REALPRM + Public rdata3 As REALPRM + Public rdata4 As REALPRM + Public rdata5 As REALPRM + Public rdata6 As REALPRM + Public rdata7 As REALPRM + Public rdata8 As REALPRM + End Structure ' In case that the number of alarm is 8 +#End If +#End If +#End If + + + Public Structure IODBPSD_1 + + Public datano As Short ' data number + + Public type As Short ' axis number + + Public cdata As Byte ' parameter / setting data + + Public idata As Short + + Public ldata As Integer + End Structure + + Public Structure IODBPSD_2 + Public datano As Short ' data number + Public type As Short ' axis number + Public rdata As REALPRM + End Structure + + Public Structure IODBPSD_3 + + Public datano As Short ' data number + + Public type As Short ' axis number + + Public cdatas As Byte() + + Public idatas As Short() + + Public ldatas As Integer() + End Structure + + Public Structure IODBPSD_4 + Public datano As Short ' data number + Public type As Short ' axis number + Public rdatas As REALPRMS + End Structure + + Public Structure IODBPSD_A + Public data1 As IODBPSD_1 + Public data2 As IODBPSD_1 + Public data3 As IODBPSD_1 + Public data4 As IODBPSD_1 + Public data5 As IODBPSD_1 + Public data6 As IODBPSD_1 + Public data7 As IODBPSD_1 + End Structure ' (sample) must be modified + + Public Structure IODBPSD_B + Public data1 As IODBPSD_2 + Public data2 As IODBPSD_2 + Public data3 As IODBPSD_2 + Public data4 As IODBPSD_2 + Public data5 As IODBPSD_2 + Public data6 As IODBPSD_2 + Public data7 As IODBPSD_2 + End Structure ' (sample) must be modified + + Public Structure IODBPSD_C + Public data1 As IODBPSD_3 + Public data2 As IODBPSD_3 + Public data3 As IODBPSD_3 + Public data4 As IODBPSD_3 + Public data5 As IODBPSD_3 + Public data6 As IODBPSD_3 + Public data7 As IODBPSD_3 + End Structure ' (sample) must be modified + + Public Structure IODBPSD_D + Public data1 As IODBPSD_4 + Public data2 As IODBPSD_4 + Public data3 As IODBPSD_4 + Public data4 As IODBPSD_4 + Public data5 As IODBPSD_4 + Public data6 As IODBPSD_4 + Public data7 As IODBPSD_4 + End Structure ' (sample) must be modified + + ' cnc_rdparam_ext:read parameAers + ' cnc_rddiag_ext:read diagnosis data + ' cnc_start_async_wrparam:async parameter write start + + Public Structure IODBPRMNO + + Public prm As Integer() + End Structure + + Public Structure IODBPRM_data + Public prm_val As Integer ' parameter / setting data + Public dec_val As Integer + End Structure + + Public Structure IODBPRM1 + Public data1 As IODBPRM_data + Public data2 As IODBPRM_data + Public data3 As IODBPRM_data + Public data4 As IODBPRM_data + Public data5 As IODBPRM_data + Public data6 As IODBPRM_data + Public data7 As IODBPRM_data + Public data8 As IODBPRM_data + Public data9 As IODBPRM_data + Public data10 As IODBPRM_data + Public data11 As IODBPRM_data + Public data12 As IODBPRM_data + Public data13 As IODBPRM_data + Public data14 As IODBPRM_data + Public data15 As IODBPRM_data + Public data16 As IODBPRM_data + Public data17 As IODBPRM_data + Public data18 As IODBPRM_data + Public data19 As IODBPRM_data + Public data20 As IODBPRM_data + Public data21 As IODBPRM_data + Public data22 As IODBPRM_data + Public data23 As IODBPRM_data + Public data24 As IODBPRM_data + Public data25 As IODBPRM_data + Public data26 As IODBPRM_data + Public data27 As IODBPRM_data + Public data28 As IODBPRM_data + Public data29 As IODBPRM_data + Public data30 As IODBPRM_data + Public data31 As IODBPRM_data + Public data32 As IODBPRM_data + End Structure + + Public Structure IODBPRM2 + Public datano As Integer ' data number + Public type As Short ' data type + Public axis As Short ' axis information + Public info As Short ' misc information + Public unit As Short ' unit information + Public data As IODBPRM1 + End Structure + + Public Structure IODBPRM + Public prm1 As IODBPRM2 + Public prm2 As IODBPRM2 + Public prm3 As IODBPRM2 + Public prm4 As IODBPRM2 + Public prm5 As IODBPRM2 + Public prm6 As IODBPRM2 + Public prm7 As IODBPRM2 + Public prm8 As IODBPRM2 + Public prm9 As IODBPRM2 + Public prm10 As IODBPRM2 + End Structure ' In case that the number of alarm is 10 + + ' cnc_rdpitchr:read pitch error compensation data(area specified) + ' cnc_wrpitchr:write pitch error compensation data(area specified) + + Public Structure IODBPI + Public datano_s As Short ' start pitch number + Public dummy As Short ' dummy + Public datano_e As Short ' end pitch number + + Public data As SByte() ' offset value + End Structure ' In case that the number of data is 5 + + ' cnc_rdmacro:read custom macro variable + + Public Structure ODBM + Public datano As Short ' variable number + Public dummy As Short ' dummy + Public mcr_val As Integer ' macro variable + Public dec_val As Short ' decimal point + End Structure + + ' cnc_rdmacror:read custom macro variables(area specified) + ' cnc_wrmacror:write custom macro variables(area specified) + + Public Structure IODBMR_data + Public mcr_val As Integer ' macro variable + Public dec_val As Short ' decimal point + End Structure + + Public Structure IODBMR1 + Public data1 As IODBMR_data + Public data2 As IODBMR_data + Public data3 As IODBMR_data + Public data4 As IODBMR_data + Public data5 As IODBMR_data + End Structure ' In case that the number of data is 5 + + Public Structure IODBMR + Public datano_s As Short ' start macro number + Public dummy As Short ' dummy + Public datano_e As Short ' end macro number + Public data As IODBMR1 + End Structure + + ' cnc_rdpmacro:read P code macro variable + + Public Structure ODBPM + Public datano As Integer ' variable number + Public dummy As Short ' dummy + Public mcr_val As Integer ' macro variable + Public dec_val As Short ' decimal point + End Structure + + ' cnc_rdpmacror:read P code macro variables(area specified) + ' cnc_wrpmacror:write P code macro variables(area specified) + Public Structure IODBPR_data + Public mcr_val As Integer ' macro variable + Public dec_val As Short ' decimal point + End Structure + + Public Structure IODBPR1 + Public data1 As IODBPR_data + Public data2 As IODBPR_data + Public data3 As IODBPR_data + Public data4 As IODBPR_data + Public data5 As IODBPR_data + End Structure ' In case that the number of data is 5 + + Public Structure IODBPR + Public datano_s As Integer ' start macro number + Public dummy As Short ' dummy + Public datano_e As Integer ' end macro number + Public data As IODBPR1 + End Structure + + ' cnc_rdtofsinfo:read tool offset information + + Public Structure ODBTLINF + Public ofs_type As Short + Public use_no As Short + End Structure + + ' cnc_rdtofsinfo2:read tool offset information(2) + + Public Structure ODBTLINF2 + Public ofs_type As Short + Public use_no As Short + Public ofs_enable As Short + End Structure + + ' cnc_rdmacroinfo:read custom macro variable information + + Public Structure ODBMVINF + Public use_no1 As Short + Public use_no2 As Short + End Structure + + ' cnc_rdpmacroinfo:read P code macro variable information + + Public Structure ODBPMINF + Public use_no1 As Short +#If PCD_UWORD Then + Public use_no2 As Short ' C# ushort +#Else + Public use_no2 As Short +#End If + Public v2_type As Short + End Structure + + ' cnc_tofs_rnge:read validity of tool offset + + Public Structure ODBDATRNG + Public data_min As Integer ' lower limit + Public data_max As Integer ' upper limit + Public status As Integer ' status of setting + End Structure + + ' cnc_rdhsprminfo:read the information for function cnc_rdhsparam() + + Public Structure HSPINFO_data + + Public data1 As Byte() + + Public data2 As Byte() + + Public data3 As Byte() + + Public data4 As Byte() + + Public data5 As Byte() + + Public data6 As Byte() + + Public data7 As Byte() + + Public data8 As Byte() + End Structure + + + Public Structure HSPINFO + Public prminfo1 As HSPINFO_data + Public prminfo2 As HSPINFO_data + Public prminfo3 As HSPINFO_data + Public prminfo4 As HSPINFO_data + Public prminfo5 As HSPINFO_data + Public prminfo6 As HSPINFO_data + Public prminfo7 As HSPINFO_data + Public prminfo8 As HSPINFO_data + Public prminfo9 As HSPINFO_data + Public prminfo10 As HSPINFO_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdhsparam:read parameters at the high speed + + Public Structure HSPDATA_1 + + Public cdatas1 As Byte() + + Public cdatas2 As Byte() + + Public cdatas3 As Byte() + + Public cdatas4 As Byte() + + Public cdatas5 As Byte() + + Public cdatas6 As Byte() + + Public cdatas7 As Byte() + + Public cdatas8 As Byte() + + Public cdatas9 As Byte() + + Public cdatas10 As Byte() + End Structure ' In case that the number of data is 10 + + + Public Structure HSPDATA_2 + + Public idatas1 As Short() + + Public idatas2 As Short() + + Public idatas3 As Short() + + Public idatas4 As Short() + + Public idatas5 As Short() + + Public idatas6 As Short() + + Public idatas7 As Short() + + Public idatas8 As Short() + + Public idatas9 As Short() + + Public idatas10 As Short() + End Structure ' In case that the number of data is 10 + + + Public Structure HSPDATA_3 + + Public ldatas1 As Integer() + + Public ldatas2 As Integer() + + Public ldatas3 As Integer() + + Public ldatas4 As Integer() + + Public ldatas5 As Integer() + + Public ldatas6 As Integer() + + Public ldatas7 As Integer() + + Public ldatas8 As Integer() + + Public ldatas9 As Integer() + + Public ldatas10 As Integer() + End Structure ' In case that the number of data is 10 + + '---------------------------------------- + ' CNC: Tool life management data related + '---------------------------------------- + + ' cnc_rdgrpid:read tool life management data(tool group number) + + Public Structure ODBTLIFE1 + Public dummy As Short ' dummy + Public type As Short ' data type + Public data As Integer ' data + End Structure + + ' cnc_rdngrp:read tool life management data(number of tool groups) + + Public Structure ODBTLIFE2 + + Public dummy As Short() ' dummy + Public data As Integer ' data + End Structure + + ' cnc_rdntool:read tool life management data(number of tools) + ' cnc_rdlife:read tool life management data(tool life) + ' cnc_rdcount:read tool life management data(tool lift counter) + + Public Structure ODBTLIFE3 + Public datano As Short ' data number + Public dummy As Short ' dummy + Public data As Integer ' data + End Structure + + ' cnc_rd1length:read tool life management data(tool length number-1) + ' cnc_rd2length:read tool life management data(tool length number-2) + ' cnc_rd1radius:read tool life management data(cutter compensation no.-1) + ' cnc_rd2radius:read tool life management data(cutter compensation no.-2) + ' cnc_t1info:read tool life management data(tool information-1) + ' cnc_t2info:read tool life management data(tool information-2) + ' cnc_toolnum:read tool life management data(tool number) + + Public Structure ODBTLIFE4 + Public datano As Short ' data number + Public type As Short ' data type + Public data As Integer ' data + End Structure + + ' cnc_rdgrpid2:read tool life management data(tool group number) 2 + + Public Structure ODBTLIFE5 + Public dummy As Integer ' dummy + Public type As Integer ' data type + Public data As Integer ' data + End Structure + + ' cnc_rdtoolrng:read tool life management data(tool number, tool life, tool life counter)(area specified) + + Public Structure IODBTR_data + Public ntool As Integer ' tool number + Public life As Integer ' tool life + Public count As Integer ' tool life counter + End Structure + + Public Structure IODBTR1 + Public data1 As IODBTR_data + Public data2 As IODBTR_data + Public data3 As IODBTR_data + Public data4 As IODBTR_data + Public data5 As IODBTR_data + End Structure ' In case that the number of data is 5 + + Public Structure IODBTR + Public datano_s As Short ' start group number + Public dummy As Short ' dummy + Public datano_e As Short ' end group number + Public data As IODBTR1 + End Structure + + ' cnc_rdtoolgrp:read tool life management data(all data within group) + + Public Structure ODBTG_data + Public tuse_num As Integer ' tool number + Public tool_num As Integer ' tool life + Public length_num As Integer ' tool life counter + Public radius_num As Integer ' tool life counter + Public tinfo As Integer ' tool life counter + End Structure + + Public Structure ODBTG1 + Public data1 As ODBTG_data + Public data2 As ODBTG_data + Public data3 As ODBTG_data + Public data4 As ODBTG_data + Public data5 As ODBTG_data + End Structure ' In case that the number of data is 5 + + Public Structure ODBTG + Public grp_num As Short ' start group number + + Public dummy As Short() ' dummy + Public ntool As Integer ' tool number + Public life As Integer ' tool life + Public count As Integer ' tool life counter + Public data As ODBTG1 + End Structure + + ' cnc_wrcountr:write tool life management data(tool life counter) (area specified) + + Public Structure IDBWRC_data + + Public dummy As Integer() ' dummy + Public count As Integer ' tool life counter + End Structure + + Public Structure IDBWRC1 + Public data1 As IDBWRC_data + Public data2 As IDBWRC_data + Public data3 As IDBWRC_data + Public data4 As IDBWRC_data + Public data5 As IDBWRC_data + End Structure ' In case that the number of data is 5 + + Public Structure IDBWRC + Public datano_s As Short ' start group number + Public dummy As Short ' dummy + Public datano_e As Short ' end group number + Public data As IDBWRC1 + End Structure + + ' cnc_rdusegrpid:read tool life management data(used tool group number) + + Public Structure ODBUSEGR + Public datano As Short ' dummy + Public type As Short ' dummy + Public iNext As Integer ' next use group number + Public use As Integer ' using group number + Public slct As Integer ' selecting group number + End Structure + + ' cnc_rdmaxgrp:read tool life management data(max. number of tool groups) + ' cnc_rdmaxtool:read tool life management data(maximum number of tool within group) + + Public Structure ODBLFNO + Public datano As Short ' dummy + Public type As Short ' dummy + Public data As Short ' number of data + End Structure + + ' cnc_rdusetlno:read tool life management data(used tool no within group) + + Public Structure ODBTLUSE + Public s_grp As Short ' start group number + Public dummy As Short ' dummy + Public e_grp As Short ' end group number + + Public data As Integer() ' tool using number + End Structure ' In case that the number of group is 5 + + ' cnc_rd1tlifedata:read tool life management data(tool data1) + ' cnc_rd2tlifedata:read tool life management data(tool data2) + ' cnc_wr1tlifedata:write tool life management data(tool data1) + ' cnc_wr2tlifedata:write tool life management data(tool data2) + + Public Structure IODBTD + Public datano As Short ' tool group number + Public type As Short ' tool using number + Public tool_num As Integer ' tool number + Public h_code As Integer ' H code + Public d_code As Integer ' D code + Public tool_inf As Integer ' tool information + End Structure + + ' cnc_rd1tlifedat2:read tool life management data(tool data1) 2 + ' cnc_wr1tlifedat2:write tool life management data(tool data1) 2 + + Public Structure IODBTD2 + Public datano As Short ' tool group number + Public dummy As Short ' dummy + Public type As Integer ' tool using number + Public tool_num As Integer ' tool number + Public h_code As Integer ' H code + Public d_code As Integer ' D code + Public tool_inf As Integer ' tool information + End Structure + + ' cnc_rdgrpinfo:read tool life management data(tool group information) + ' cnc_wrgrpinfo:write tool life management data(tool group information) + + Public Structure IODBTGI_data + Public n_tool As Integer ' number of tool + Public count_value As Integer ' tool life + Public counter As Integer ' tool life counter + Public count_type As Integer ' tool life counter type + End Structure + + Public Structure IODBTGI1 + Public data1 As IODBTGI_data + Public data2 As IODBTGI_data + Public data3 As IODBTGI_data + Public data4 As IODBTGI_data + Public data5 As IODBTGI_data + End Structure ' In case that the number of data is 5 + + Public Structure IODBTGI + Public s_grp As Short ' start group number + Public dummy As Short ' dummy + Public e_grp As Short ' end group number + Public data As IODBTGI1 + End Structure + + ' cnc_rdgrpinfo2:read tool life management data(tool group information 2) + ' cnc_wrgrpinfo2:write tool life management data(tool group information 2) + + Public Structure IODBTGI2 + Public s_grp As Short ' start group number + Public dummy As Short ' dummy + Public e_grp As Short ' end group number + + Public opt_grpno As Integer() ' optional group number of tool + End Structure ' In case that the number of group is 5 + + ' cnc_rdgrpinfo3:read tool life management data(tool group information 3) + ' cnc_wrgrpinfo3:write tool life management data(tool group information 3) + + Public Structure IODBTGI3 + Public s_grp As Short ' start group number + Public dummy As Short ' dummy + Public e_grp As Short ' end group number + + Public life_rest As Integer() ' tool life rest count + End Structure ' In case that the number of group is 5 + + ' cnc_rdgrpinfo4:read tool life management data(tool group information 4) + + Public Structure IODBTGI4 + Public grp_no As Short + Public n_tool As Integer + Public count_value As Integer + Public counter As Integer + Public count_type As Integer + Public opt_grpno As Integer + Public life_rest As Integer + End Structure + + ' cnc_instlifedt:insert tool life management data(tool data) + + Public Structure IDBITD + Public datano As Short ' tool group number + Public type As Short ' tool using number + Public data As Integer ' tool number + End Structure + + ' cnc_rdtlinfo:read tool life management data + + Public Structure ODBTLINFO + Public max_group As Integer ' maximum number of tool groups + Public max_tool As Integer ' maximum number of tool within group + Public max_minute As Integer ' maximum number of life count (minutes) + Public max_cycle As Integer ' maximum number of life count (cycles) + End Structure + + ' cnc_rdtlusegrp:read tool life management data(used tool group number) + + Public Structure ODBUSEGRP + Public iNext As Integer ' next use group number + Public use As Integer ' using group number + Public slct As Integer ' selecting group number + Public opt_next As Integer ' next use optional group number + Public opt_use As Integer ' using optional group number + Public opt_slct As Integer ' selecting optional group number + End Structure + + ' cnc_rdtlgrp:read tool life management data(tool group information 2) + + Public Structure IODBTLGRP_data + Public ntool As Integer ' number of all tool + Public nfree As Integer ' number of free tool + Public life As Integer ' tool life + Public count As Integer ' tool life counter + Public use_tool As Integer ' using tool number + Public opt_grpno As Integer ' optional group number + Public life_rest As Integer ' tool life rest count + Public rest_sig As Short ' tool life rest signal + Public count_type As Short ' tool life counter type + End Structure + + Public Structure IODBTLGRP + Public data1 As IODBTLGRP_data + Public data2 As IODBTLGRP_data + Public data3 As IODBTLGRP_data + Public data4 As IODBTLGRP_data + Public data5 As IODBTLGRP_data + End Structure ' In case that the number of group is 5 + + ' cnc_rdtltool:read tool life management data (tool data1) + + Public Structure IODBTLTOOL_data + Public tool_num As Integer ' tool number + Public h_code As Integer ' H code + Public d_code As Integer ' D code + Public tool_inf As Integer ' tool information + End Structure + + Public Structure IODBTLTOOL + Public data1 As IODBTLTOOL_data + Public data2 As IODBTLTOOL_data + Public data3 As IODBTLTOOL_data + Public data4 As IODBTLTOOL_data + Public data5 As IODBTLTOOL_data + End Structure ' In case that the number of group is 5 + + + Public Structure ODBEXGP_data + Public grp_no As Integer ' group number + Public opt_grpno As Integer ' optional group number + End Structure + + + Public Structure ODBEXGP + Public data1 As ODBEXGP_data + Public data2 As ODBEXGP_data + Public data3 As ODBEXGP_data + Public data4 As ODBEXGP_data + Public data5 As ODBEXGP_data + Public data6 As ODBEXGP_data + Public data7 As ODBEXGP_data + Public data8 As ODBEXGP_data + Public data9 As ODBEXGP_data + Public data10 As ODBEXGP_data + Public data11 As ODBEXGP_data + Public data12 As ODBEXGP_data + Public data13 As ODBEXGP_data + Public data14 As ODBEXGP_data + Public data15 As ODBEXGP_data + Public data16 As ODBEXGP_data + Public data17 As ODBEXGP_data + Public data18 As ODBEXGP_data + Public data19 As ODBEXGP_data + Public data20 As ODBEXGP_data + Public data21 As ODBEXGP_data + Public data22 As ODBEXGP_data + Public data23 As ODBEXGP_data + Public data24 As ODBEXGP_data + Public data25 As ODBEXGP_data + Public data26 As ODBEXGP_data + Public data27 As ODBEXGP_data + Public data28 As ODBEXGP_data + Public data29 As ODBEXGP_data + Public data30 As ODBEXGP_data + Public data31 As ODBEXGP_data + Public data32 As ODBEXGP_data + End Structure + + '----------------------------------- + ' CNC: Tool management data related + '----------------------------------- + + ' cnc_regtool:new registration of tool management data + ' cnc_rdtool:lead of tool management data + ' cnc_wrtool:write of tool management data + + Public Structure IODBTLMNG_data + Public T_code As Integer + Public life_count As Integer + Public max_life As Integer + Public rest_life As Integer + Public life_stat As Byte + Public cust_bits As Byte + Public tool_info As Short ' C# ushort + Public H_code As Short + Public D_code As Short + Public spindle_speed As Integer + Public feedrate As Integer + Public magazine As Short + Public pot As Short + Public G_code As Short + Public W_code As Short + Public gno As Short + Public m_ofs As Short + + Public reserved As Integer() + Public custom1 As Integer + Public custom2 As Integer + Public custom3 As Integer + Public custom4 As Integer + Public custom5 As Integer + Public custom6 As Integer + Public custom7 As Integer + Public custom8 As Integer + Public custom9 As Integer + Public custom10 As Integer + Public custom11 As Integer + Public custom12 As Integer + Public custom13 As Integer + Public custom14 As Integer + Public custom15 As Integer + Public custom16 As Integer + Public custom17 As Integer + Public custom18 As Integer + Public custom19 As Integer + Public custom20 As Integer + End Structure + + Public Structure IODBTLMNG + Public data1 As IODBTLMNG_data + Public data2 As IODBTLMNG_data + Public data3 As IODBTLMNG_data + Public data4 As IODBTLMNG_data + Public data5 As IODBTLMNG_data + End Structure ' In case that the number of group is 5 + + ' cnc_regtool_f2:new registration of tool management data + ' cnc_rdtool_f2:lead of tool management data + + Public Structure IODBTLMNG_F2_data + Public T_code As Integer + Public life_count As Integer + Public max_life As Integer + Public rest_life As Integer + Public life_stat As Byte + Public cust_bits As Byte + Public tool_info As Short ' C# ushort + Public H_code As Short + Public D_code As Short + Public spindle_speed As Integer + Public feedrate As Integer + Public magazine As Short + Public pot As Short + Public G_code As Short + Public W_code As Short + Public gno As Short + Public m_ofs As Short + + Public reserved As Integer() + Public custom1 As Integer + Public custom2 As Integer + Public custom3 As Integer + Public custom4 As Integer + Public custom5 As Integer + Public custom6 As Integer + Public custom7 As Integer + Public custom8 As Integer + Public custom9 As Integer + Public custom10 As Integer + Public custom11 As Integer + Public custom12 As Integer + Public custom13 As Integer + Public custom14 As Integer + Public custom15 As Integer + Public custom16 As Integer + Public custom17 As Integer + Public custom18 As Integer + Public custom19 As Integer + Public custom20 As Integer + Public custom21 As Integer + Public custom22 As Integer + Public custom23 As Integer + Public custom24 As Integer + Public custom25 As Integer + Public custom26 As Integer + Public custom27 As Integer + Public custom28 As Integer + Public custom29 As Integer + Public custom30 As Integer + Public custom31 As Integer + Public custom32 As Integer + Public custom33 As Integer + Public custom34 As Integer + Public custom35 As Integer + Public custom36 As Integer + Public custom37 As Integer + Public custom38 As Integer + Public custom39 As Integer + Public custom40 As Integer + End Structure + + Public Structure IODBTLMNG_F2 + Public data1 As IODBTLMNG_F2_data + Public data2 As IODBTLMNG_F2_data + Public data3 As IODBTLMNG_F2_data + Public data4 As IODBTLMNG_F2_data + Public data5 As IODBTLMNG_F2_data + End Structure ' In case that the number of group is 5 + + ' cnc_wrtool2:write of individual data of tool management data + + Public Structure IDBTLM_item + + Public data1 As SByte + + Public data2 As Short + + Public data4 As Integer + End Structure + + Public Structure IDBTLM + Public data_id As Short + Public item As IDBTLM_item + End Structure + + ' cnc_regmagazine:new registration of magazine management data + ' cnc_rdmagazine:lead of magazine management data + + Public Structure IODBTLMAG_data + Public magazine As Short + Public pot As Short + Public tool_index As Short + End Structure + + Public Structure IODBTLMAG + Public data1 As IODBTLMAG_data + Public data2 As IODBTLMAG_data + Public data3 As IODBTLMAG_data + Public data4 As IODBTLMAG_data + Public data5 As IODBTLMAG_data + End Structure ' In case that the number of group is 5 + + ' cnc_delmagazine:deletion of magazine management data + + Public Structure IODBTLMAG2_data + Public magazine As Short + Public pot As Short + End Structure + + Public Structure IODBTLMAG2 + Public data1 As IODBTLMAG2_data + Public data2 As IODBTLMAG2_data + Public data3 As IODBTLMAG2_data + Public data4 As IODBTLMAG2_data + Public data5 As IODBTLMAG2_data + End Structure ' In case that the number of group is 5 + + + '------------------------------------- + ' CNC: Operation history data related + '------------------------------------- + + ' cnc_rdophistry:read operation history data + + Public Structure REC_ALM + Public rec_type As Short ' record type + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As SByte ' axis number + Public dummy As SByte + End Structure + + Public Structure REC_MDI + Public rec_type As Short ' record type + Public key_code As Byte ' key code + Public pw_flag As Byte ' power on flag + + Public dummy As SByte() + End Structure + + Public Structure REC_SGN + Public rec_type As Short ' record type + Public sig_name As SByte ' signal name + Public sig_old As Byte ' old signal bit pattern + Public sig_new As Byte ' new signal bit pattern + Public dummy As SByte + Public sig_no As Short ' signal number + End Structure + + Public Structure REC_DATE + Public rec_type As Short ' record type + Public year As SByte ' year + Public month As SByte ' month + Public day As SByte ' day + Public pw_flag As SByte ' power on flag + + Public dummy As SByte() + End Structure + + Public Structure REC_TIME + Public rec_type As Short ' record flag + Public hour As SByte ' hour + Public minute As SByte ' minute + Public second As SByte ' second + Public pw_flag As SByte ' power on flag + + Public dummy As SByte() + End Structure + + Public Structure ODBHIS_data + ' record type + + Public rec_type As Short ' record type + + ' alarm record + + Public alm_rec_type As Short ' record type + + Public alm_alm_grp As Short ' alarm group + + Public alm_alm_no As Short ' alarm number + + Public alm_axis_no As SByte ' axis number + + Public alm_dummy As SByte + + ' mdi record + + Public mdi_rec_type As Short ' record type + + Public mdi_key_code As Byte ' key code + + Public mdi_pw_flag As Byte ' power on flag + + Public mdi_dummy1 As SByte + + Public mdi_dummy2 As SByte + + Public mdi_dummy3 As SByte + + Public mdi_dummy4 As SByte + + ' sign record + + Public sgn_rec_type As Short ' record type + + Public sgn_sig_name As SByte ' signal name + + Public sgn_sig_old As Byte ' old signal bit pattern + + Public sgn_sig_new As Byte ' new signal bit pattern + + Public sgn_dummy As SByte + + Public sgn_sig_no As Short ' signal number + + ' date record + + Public date_rec_type As Short ' record type + + Public date_year As SByte ' year + + Public date_month As SByte ' month + + Public date_day As SByte ' day + + Public date_pw_flag As SByte ' power on flag + + Public date_dummy1 As SByte + + Public date_dummy2 As SByte + + ' time record + + Public time_rec_type As Short ' record flag + + Public time_hour As SByte ' hour + + Public time_minute As SByte ' minute + + Public time_second As SByte ' second + + Public time_pw_flag As SByte ' power on flag + + Public time_dummy1 As SByte + + Public time_dummy2 As SByte + End Structure + + Public Structure ODBHIS1 + Public data1 As ODBHIS_data + Public data2 As ODBHIS_data + Public data3 As ODBHIS_data + Public data4 As ODBHIS_data + Public data5 As ODBHIS_data + Public data6 As ODBHIS_data + Public data7 As ODBHIS_data + Public data8 As ODBHIS_data + Public data9 As ODBHIS_data + Public data10 As ODBHIS_data + End Structure ' In case that the number of data is 10 + + Public Structure ODBHIS + Public s_no As Short ' start number C# ushort + Public type As Short ' dummy + Public e_no As Short ' end number C# ushort + Public data As ODBHIS1 + End Structure + + ' cnc_rdophistry2:read operation history data + + Public Structure REC_MDI2 + Public key_code As Byte ' key code + Public pw_flag As Byte ' power on flag + Public dummy As Short + End Structure + + Public Structure REC_MDI2_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_MDI2 + End Structure + + Public Structure REC_SGN2 + Public sig_name As Short ' signal name + Public sig_no As Short ' signal number + Public sig_old As Byte ' old signal bit pattern + Public sig_new As Byte ' new signal bit pattern + Public dummy As Short + End Structure + + Public Structure REC_SGN2_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_SGN2 + End Structure + + Public Structure REC_ALM2 + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As Short ' axis number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public dummy As Short + End Structure + + Public Structure REC_ALM2_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_ALM2 + End Structure + + Public Structure REC_DATE2 + Public evnt_type As Short ' event type + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public dummy As Short + End Structure + + Public Structure REC_DATE2_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_DATE2 + End Structure + + Public Structure ODBOPHIS + + Public rec_mdi As REC_MDI2_data + + Public rec_sgn As REC_SGN2_data + + Public rec_alm As REC_ALM2_data + + Public rec_date As REC_DATE2_data + End Structure + + ' cnc_rdophistry4:read operation history data + + Public Structure REC_MDI4 + Public key_code As Char ' key code + Public pw_flag As Char ' power on flag + Public pth_no As Short ' path index + Public ex_flag As Short ' kxternal key flag + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + End Structure + + Public Structure REC_MDI4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_MDI4 + End Structure + + Public Structure REC_SGN4 + Public sig_name As Short ' signal name + Public sig_no As Short ' signal number + Public sig_old As Char ' old signal bit pattern + Public sig_new As Char ' new signal bit pattern + Public pmc_no As Short ' pmc index + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public dummy As Short + End Structure + + Public Structure REC_SGN4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_SGN4 + End Structure + + Public Structure REC_ALM4 + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As Short ' axis number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public pth_no As Short ' path index + End Structure + + Public Structure REC_ALM4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_ALM4 + End Structure + + Public Structure REC_DATE4 + Public evnt_type As Short ' event type + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public dummy As Short + End Structure + + Public Structure REC_DATE4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_DATE4 + End Structure + + Public Structure REC_IAL4 + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As Short ' axis number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public pth_no As Short ' path index + Public sys_alm As Short ' sys alarm + Public dsp_flg As Short ' message dsp flag + Public axis_num As Short ' axis num + + Public g_modal As Integer() ' G code Modal + + Public g_dp As Char() ' #7:1 Block #6`#0 dp + + Public a_modal As Integer() ' B,D,E,F,H,M,N,O,S,T code Modal + + Public a_dp As Char() ' #7:1 Block #6`#0 dp + + Public abs_pos As Integer() ' Abs pos + + Public abs_dp As Char() ' Abs dp + + Public mcn_pos As Integer() ' Mcn pos + + Public mcn_dp As Char() ' Mcn dp + End Structure + + Public Structure REC_IAL4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_IAL4 + End Structure + + Public Structure REC_MAL4 + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As Short ' axis number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public pth_no As Short ' path index + Public sys_alm As Short ' sys alarm + Public dsp_flg As Short ' message dsp flag + Public axis_num As Short ' axis num + + Public alm_msg As Char() ' alarm message + + Public g_modal As Integer() ' G code Modal + + Public g_dp As Char() ' #7:1 Block #6`#0 dp + + Public a_modal As Integer() ' B,D,E,F,H,M,N,O,S,T code Modal + + Public a_dp As Char() ' #7:1 Block #6`#0 dp + + Public abs_pos As Integer() ' Abs pos + + Public abs_dp As Char() ' Abs dp + + Public mcn_pos As Integer() ' Mcn pos + + Public mcn_dp As Char() ' Mcn dp + End Structure + + Public Structure REC_MAL4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_MAL4 + End Structure + + Public Structure REC_OPM4 + Public dsp_flg As Short ' Dysplay flag(ON/OFF) + Public om_no As Short ' message number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + + Public ope_msg As Char() ' alarm message + End Structure + + Public Structure REC_OPM4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_OPM4 + End Structure + + Public Structure REC_OFS4 + Public ofs_grp As Short ' Tool offset group + Public ofs_no As Short ' Tool offset number + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public pth_no As Short ' path index + Public ofs_old As Integer ' old data + Public ofs_new As Integer ' new data + Public old_dp As Short ' old data decimal point + Public new_dp As Short ' new data decimal point + End Structure + + Public Structure REC_OFS4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_OFS4 + End Structure + + Public Structure REC_PRM4 + Public prm_grp As Short ' paramater group + Public prm_num As Short ' paramater number + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public prm_len As Short ' paramater data length + Public prm_no As Integer ' paramater no + Public prm_old As Integer ' old data + Public prm_new As Integer ' new data + Public old_dp As Short ' old data decimal point + Public new_dp As Short ' new data decimal point + End Structure + + Public Structure REC_PRM4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_PRM4 + End Structure + + Public Structure REC_WOF4 + Public ofs_grp As Short ' Work offset group + Public ofs_no As Short ' Work offset number + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public pth_no As Short ' path index + Public axis_no As Short ' path axis num + Public dummy As Short + Public ofs_old As Integer ' old data + Public ofs_new As Integer ' new data + Public old_dp As Short ' old data decimal point + Public new_dp As Short ' new data decimal point + End Structure + + Public Structure REC_WOF4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_WOF4 + End Structure + + Public Structure REC_MAC4 + Public mac_no As Short ' macro val number + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public pth_no As Short ' path index + Public mac_old As Integer ' old data + Public mac_new As Integer ' new data + Public old_dp As Short ' old data decimal point + Public new_dp As Short ' new data decimal point + End Structure + + Public Structure REC_MAC4_data + Public rec_len As Short ' length + Public rec_type As Short ' record type + Public data As REC_MAC4 + End Structure + + + Public Structure ODBOPHIS4_1 + Public rec_mdi1 As REC_MDI4_data + Public rec_mdi2 As REC_MDI4_data + Public rec_mdi3 As REC_MDI4_data + Public rec_mdi4 As REC_MDI4_data + Public rec_mdi5 As REC_MDI4_data + Public rec_mdi6 As REC_MDI4_data + Public rec_mdi7 As REC_MDI4_data + Public rec_mdi8 As REC_MDI4_data + Public rec_mdi9 As REC_MDI4_data + Public rec_mdi10 As REC_MDI4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_2 + Public rec_sgn1 As REC_SGN4_data + Public rec_sgn2 As REC_SGN4_data + Public rec_sgn3 As REC_SGN4_data + Public rec_sgn4 As REC_SGN4_data + Public rec_sgn5 As REC_SGN4_data + Public rec_sgn6 As REC_SGN4_data + Public rec_sgn7 As REC_SGN4_data + Public rec_sgn8 As REC_SGN4_data + Public rec_sgn9 As REC_SGN4_data + Public rec_sgn10 As REC_SGN4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_3 + Public rec_alm1 As REC_ALM4_data + Public rec_alm2 As REC_ALM4_data + Public rec_alm3 As REC_ALM4_data + Public rec_alm4 As REC_ALM4_data + Public rec_alm5 As REC_ALM4_data + Public rec_alm6 As REC_ALM4_data + Public rec_alm7 As REC_ALM4_data + Public rec_alm8 As REC_ALM4_data + Public rec_alm9 As REC_ALM4_data + Public rec_alm10 As REC_ALM4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_4 + Public rec_date1 As REC_DATE4_data + Public rec_date2 As REC_DATE4_data + Public rec_date3 As REC_DATE4_data + Public rec_date4 As REC_DATE4_data + Public rec_date5 As REC_DATE4_data + Public rec_date6 As REC_DATE4_data + Public rec_date7 As REC_DATE4_data + Public rec_date8 As REC_DATE4_data + Public rec_date9 As REC_DATE4_data + Public rec_date10 As REC_DATE4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_5 + Public rec_ial1 As REC_IAL4_data + Public rec_ial2 As REC_IAL4_data + Public rec_ial3 As REC_IAL4_data + Public rec_ial4 As REC_IAL4_data + Public rec_ial5 As REC_IAL4_data + Public rec_ial6 As REC_IAL4_data + Public rec_ial7 As REC_IAL4_data + Public rec_ial8 As REC_IAL4_data + Public rec_ial9 As REC_IAL4_data + Public rec_ial10 As REC_IAL4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_6 + Public rec_mal1 As REC_MAL4_data + Public rec_mal2 As REC_MAL4_data + Public rec_mal3 As REC_MAL4_data + Public rec_mal4 As REC_MAL4_data + Public rec_mal5 As REC_MAL4_data + Public rec_mal6 As REC_MAL4_data + Public rec_mal7 As REC_MAL4_data + Public rec_mal8 As REC_MAL4_data + Public rec_mal9 As REC_MAL4_data + Public rec_mal10 As REC_MAL4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_7 + Public rec_opm1 As REC_OPM4_data + Public rec_opm2 As REC_OPM4_data + Public rec_opm3 As REC_OPM4_data + Public rec_opm4 As REC_OPM4_data + Public rec_opm5 As REC_OPM4_data + Public rec_opm6 As REC_OPM4_data + Public rec_opm7 As REC_OPM4_data + Public rec_opm8 As REC_OPM4_data + Public rec_opm9 As REC_OPM4_data + Public rec_opm10 As REC_OPM4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_8 + Public rec_ofs1 As REC_OFS4_data + Public rec_ofs2 As REC_OFS4_data + Public rec_ofs3 As REC_OFS4_data + Public rec_ofs4 As REC_OFS4_data + Public rec_ofs5 As REC_OFS4_data + Public rec_ofs6 As REC_OFS4_data + Public rec_ofs7 As REC_OFS4_data + Public rec_ofs8 As REC_OFS4_data + Public rec_ofs9 As REC_OFS4_data + Public rec_ofs10 As REC_OFS4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_9 + Public rec_prm1 As REC_PRM4_data + Public rec_prm2 As REC_PRM4_data + Public rec_prm3 As REC_PRM4_data + Public rec_prm4 As REC_PRM4_data + Public rec_prm5 As REC_PRM4_data + Public rec_prm6 As REC_PRM4_data + Public rec_prm7 As REC_PRM4_data + Public rec_prm8 As REC_PRM4_data + Public rec_prm9 As REC_PRM4_data + Public rec_prm10 As REC_PRM4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_10 + Public rec_wof1 As REC_WOF4_data + Public rec_wof2 As REC_WOF4_data + Public rec_wof3 As REC_WOF4_data + Public rec_wof4 As REC_WOF4_data + Public rec_wof5 As REC_WOF4_data + Public rec_wof6 As REC_WOF4_data + Public rec_wof7 As REC_WOF4_data + Public rec_wof8 As REC_WOF4_data + Public rec_wof9 As REC_WOF4_data + Public rec_wof10 As REC_WOF4_data + End Structure ' In case that the number of data is 10 + + + Public Structure ODBOPHIS4_11 + Public rec_mac1 As REC_MAC4_data + Public rec_mac2 As REC_MAC4_data + Public rec_mac3 As REC_MAC4_data + Public rec_mac4 As REC_MAC4_data + Public rec_mac5 As REC_MAC4_data + Public rec_mac6 As REC_MAC4_data + Public rec_mac7 As REC_MAC4_data + Public rec_mac8 As REC_MAC4_data + Public rec_mac9 As REC_MAC4_data + Public rec_mac10 As REC_MAC4_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdalmhistry:read alarm history data + + Public Structure ALM_HIS_data + Public dummy As Short + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As Byte ' axis number + Public year As Byte ' year + Public month As Byte ' month + Public day As Byte ' day + Public hour As Byte ' hour + Public minute As Byte ' minute + Public second As Byte ' second + Public dummy2 As Byte + Public len_msg As Short ' alarm message length + + Public alm_msg As String ' alarm message + End Structure + + Public Structure ALM_HIS1 + Public data1 As ALM_HIS_data + Public data2 As ALM_HIS_data + Public data3 As ALM_HIS_data + Public data4 As ALM_HIS_data + Public data5 As ALM_HIS_data + Public data6 As ALM_HIS_data + Public data7 As ALM_HIS_data + Public data8 As ALM_HIS_data + Public data9 As ALM_HIS_data + Public data10 As ALM_HIS_data + End Structure ' In case that the number of data is 10 + + Public Structure ODBAHIS + Public s_no As Short ' start number C# ushort + Public type As Short ' dummy + Public e_no As Short ' end number C# ushort + Public alm_his As ALM_HIS1 + End Structure + + ' cnc_rdalmhistry2:read alarm history data + + Public Structure ALM_HIS2_data + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As Short ' axis number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public len_msg As Short ' alarm message length + + Public alm_msg As String ' alarm message + End Structure + + Public Structure ALM_HIS2 + Public data1 As ALM_HIS2_data + Public data2 As ALM_HIS2_data + Public data3 As ALM_HIS2_data + Public data4 As ALM_HIS2_data + Public data5 As ALM_HIS2_data + Public data6 As ALM_HIS2_data + Public data7 As ALM_HIS2_data + Public data8 As ALM_HIS2_data + Public data9 As ALM_HIS2_data + Public data10 As ALM_HIS2_data + End Structure ' In case that the number of data is 10 + + Public Structure ODBAHIS2 + Public s_no As Short ' start number C# ushort + Public e_no As Short ' end number C# ushort + Public alm_his As ALM_HIS2 + End Structure + + ' cnc_rdalmhistry3:read alarm history data + + Public Structure ALM_HIS3_data + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As Short ' axis number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public len_msg As Short ' alarm message length + Public pth_no As Short ' path index + Public dummy As Short + + Public alm_msg As String ' alarm message + End Structure + + Public Structure ALM_HIS3 + Public data1 As ALM_HIS3_data + Public data2 As ALM_HIS3_data + Public data3 As ALM_HIS3_data + Public data4 As ALM_HIS3_data + Public data5 As ALM_HIS3_data + Public data6 As ALM_HIS3_data + Public data7 As ALM_HIS3_data + Public data8 As ALM_HIS3_data + Public data9 As ALM_HIS3_data + Public data10 As ALM_HIS3_data + End Structure ' In case that the number of data is 10 + + Public Structure ODBAHIS3 + Public s_no As Short ' start number C# ushort + Public e_no As Short ' end number C# ushort + Public alm_his As ALM_HIS3 + End Structure + + ' cnc_rdalmhistry5:read alarm history data + + Public Structure ALM_HIS5_data + Public alm_grp As Short ' alarm group + Public alm_no As Short ' alarm number + Public axis_no As Short ' axis number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' minute + Public second As Short ' second + Public len_msg As Short ' alarm message length + Public pth_no As Short ' path index + Public sys_alm As Short ' sys alarm + Public dsp_flg As Short ' message dsp flag + Public axis_num As Short ' sum axis num + + Public alm_msg As String ' alarm message + + Public g_modal As Integer() ' G code Modal + + Public g_dp As Char() ' #7:1 Block #6`#0 dp + + Public a_modal As Integer() ' B,D,E,F,H,M,N,O,S,T code Modal + + Public a_dp As Char() ' #7:1 Block #6`#0 dp + + Public abs_pos As Integer() ' Abs pos + + Public abs_dp As Char() ' Abs dp + + Public mcn_pos As Integer() ' Mcn pos + + Public mcn_dp As Char() ' Mcn dp + End Structure + + Public Structure ALM_HIS5 + Public data1 As ALM_HIS5_data + Public data2 As ALM_HIS5_data + Public data3 As ALM_HIS5_data + Public data4 As ALM_HIS5_data + Public data5 As ALM_HIS5_data + Public data6 As ALM_HIS5_data + Public data7 As ALM_HIS5_data + Public data8 As ALM_HIS5_data + Public data9 As ALM_HIS5_data + Public data10 As ALM_HIS5_data + End Structure ' In case that the number of data is 10 + + Public Structure ODBAHIS5 + Public s_no As Short ' start number C# ushort + Public e_no As Short ' end number C# ushort + Public alm_his As ALM_HIS5 + End Structure + + ' cnc_rdomhistry2:read operater message history data + + Public Structure ODBOMHIS2_data + Public dsp_flg As Short ' Dysplay flag(ON/OFF) + Public om_no As Short ' operater message number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' Hour + Public minute As Short ' Minute + Public second As Short ' Second + + Public alm_msg As String ' Messege + End Structure + + Public Structure OPM_HIS + Public data1 As ODBOMHIS2_data + Public data2 As ODBOMHIS2_data + Public data3 As ODBOMHIS2_data + Public data4 As ODBOMHIS2_data + Public data5 As ODBOMHIS2_data + Public data6 As ODBOMHIS2_data + Public data7 As ODBOMHIS2_data + Public data8 As ODBOMHIS2_data + Public data9 As ODBOMHIS2_data + Public data10 As ODBOMHIS2_data + End Structure + + Public Structure ODBOMHIS2 + Public s_no As Short ' start number + Public e_no As Short ' end number + Public opm_his As OPM_HIS + End Structure + + ' cnc_rdhissgnl:read signals related operation history + ' cnc_wrhissgnl:write signals related operation history + + Public Structure IODBSIG_data + Public ent_no As Short ' entry number + Public sig_no As Short ' signal number + Public sig_name As Byte ' signal name + Public mask_pat As Byte ' signal mask pattern + End Structure + + Public Structure IODBSIG1 + Public data1 As IODBSIG_data + Public data2 As IODBSIG_data + Public data3 As IODBSIG_data + Public data4 As IODBSIG_data + Public data5 As IODBSIG_data + Public data6 As IODBSIG_data + Public data7 As IODBSIG_data + Public data8 As IODBSIG_data + Public data9 As IODBSIG_data + Public data10 As IODBSIG_data + Public data11 As IODBSIG_data + Public data12 As IODBSIG_data + Public data13 As IODBSIG_data + Public data14 As IODBSIG_data + Public data15 As IODBSIG_data + Public data16 As IODBSIG_data + Public data17 As IODBSIG_data + Public data18 As IODBSIG_data + Public data19 As IODBSIG_data + Public data20 As IODBSIG_data + End Structure + + Public Structure IODBSIG + Public datano As Short ' dummy + Public type As Short ' dummy + Public data As IODBSIG1 + End Structure + + ' cnc_rdhissgnl2:read signals related operation history 2 + ' cnc_wrhissgnl2:write signals related operation history 2 + + Public Structure _IODBSIG2_data + Public ent_no As Short ' entry number + Public sig_no As Short ' signal number + Public sig_name As Byte ' signal name + Public mask_pat As Byte ' signal mask pattern + End Structure + + Public Structure IODBSIG2_data + Public data1 As _IODBSIG2_data + Public data2 As _IODBSIG2_data + Public data3 As _IODBSIG2_data + Public data4 As _IODBSIG2_data + Public data5 As _IODBSIG2_data + Public data6 As _IODBSIG2_data + Public data7 As _IODBSIG2_data + Public data8 As _IODBSIG2_data + Public data9 As _IODBSIG2_data + Public data10 As _IODBSIG2_data + Public data11 As _IODBSIG2_data + Public data12 As _IODBSIG2_data + Public data13 As _IODBSIG2_data + Public data14 As _IODBSIG2_data + Public data15 As _IODBSIG2_data + Public data16 As _IODBSIG2_data + Public data17 As _IODBSIG2_data + Public data18 As _IODBSIG2_data + Public data19 As _IODBSIG2_data + Public data20 As _IODBSIG2_data + Public data21 As _IODBSIG2_data + Public data22 As _IODBSIG2_data + Public data23 As _IODBSIG2_data + Public data24 As _IODBSIG2_data + Public data25 As _IODBSIG2_data + Public data26 As _IODBSIG2_data + Public data27 As _IODBSIG2_data + Public data28 As _IODBSIG2_data + Public data29 As _IODBSIG2_data + Public data30 As _IODBSIG2_data + Public data31 As _IODBSIG2_data + Public data32 As _IODBSIG2_data + Public data33 As _IODBSIG2_data + Public data34 As _IODBSIG2_data + Public data35 As _IODBSIG2_data + Public data36 As _IODBSIG2_data + Public data37 As _IODBSIG2_data + Public data38 As _IODBSIG2_data + Public data39 As _IODBSIG2_data + Public data40 As _IODBSIG2_data + Public data41 As _IODBSIG2_data + Public data42 As _IODBSIG2_data + Public data43 As _IODBSIG2_data + Public data44 As _IODBSIG2_data + Public data45 As _IODBSIG2_data + End Structure + + Public Structure IODBSIG2 + Public datano As Short ' dummy + Public type As Short ' dummy + Public data As IODBSIG2_data + End Structure + + ' cnc_rdhissgnl3:read signals related operation history + ' cnc_wrhissgnl3:write signals related operation history + + Public Structure _IODBSIG3_data + Public ent_no As Short ' entry number + Public pmc_no As Short ' pmc number + Public sig_no As Short ' signal number + Public sig_name As Byte ' signal name + Public mask_pat As Byte ' signal mask pattern + End Structure + + Public Structure IODBSIG3_data + Public data1 As _IODBSIG3_data + Public data2 As _IODBSIG3_data + Public data3 As _IODBSIG3_data + Public data4 As _IODBSIG3_data + Public data5 As _IODBSIG3_data + Public data6 As _IODBSIG3_data + Public data7 As _IODBSIG3_data + Public data8 As _IODBSIG3_data + Public data9 As _IODBSIG3_data + Public data10 As _IODBSIG3_data + Public data11 As _IODBSIG3_data + Public data12 As _IODBSIG3_data + Public data13 As _IODBSIG3_data + Public data14 As _IODBSIG3_data + Public data15 As _IODBSIG3_data + Public data16 As _IODBSIG3_data + Public data17 As _IODBSIG3_data + Public data18 As _IODBSIG3_data + Public data19 As _IODBSIG3_data + Public data20 As _IODBSIG3_data + Public data21 As _IODBSIG3_data + Public data22 As _IODBSIG3_data + Public data23 As _IODBSIG3_data + Public data24 As _IODBSIG3_data + Public data25 As _IODBSIG3_data + Public data26 As _IODBSIG3_data + Public data27 As _IODBSIG3_data + Public data28 As _IODBSIG3_data + Public data29 As _IODBSIG3_data + Public data30 As _IODBSIG3_data + Public data31 As _IODBSIG3_data + Public data32 As _IODBSIG3_data + Public data33 As _IODBSIG3_data + Public data34 As _IODBSIG3_data + Public data35 As _IODBSIG3_data + Public data36 As _IODBSIG3_data + Public data37 As _IODBSIG3_data + Public data38 As _IODBSIG3_data + Public data39 As _IODBSIG3_data + Public data40 As _IODBSIG3_data + Public data41 As _IODBSIG3_data + Public data42 As _IODBSIG3_data + Public data43 As _IODBSIG3_data + Public data44 As _IODBSIG3_data + Public data45 As _IODBSIG3_data + Public data46 As _IODBSIG3_data + Public data47 As _IODBSIG3_data + Public data48 As _IODBSIG3_data + Public data49 As _IODBSIG3_data + Public data50 As _IODBSIG3_data + Public data51 As _IODBSIG3_data + Public data52 As _IODBSIG3_data + Public data53 As _IODBSIG3_data + Public data54 As _IODBSIG3_data + Public data55 As _IODBSIG3_data + Public data56 As _IODBSIG3_data + Public data57 As _IODBSIG3_data + Public data58 As _IODBSIG3_data + Public data59 As _IODBSIG3_data + Public data60 As _IODBSIG3_data + End Structure + + Public Structure IODBSIG3 + Public datano As Short ' dummy + Public type As Short ' dummy + Public data As IODBSIG3_data + End Structure + + '------------- + ' CNC: Others + '------------- + + ' cnc_sysinfo:read CNC system information + + Public Structure ODBSYS + Public addinfo As Short + Public max_axis As Short + + Public cnc_type As Char() + + Public mt_type As Char() + + Public series As Char() + + Public version As Char() + + Public axes As Char() + End Structure + +#If FS15D Then + ' cnc_statinfo:read CNC status information + _ + Public Structure ODBST + _ + Public dummy As Short() ' dummy + Public aut As Short ' selected automatic mode + Public manual As Short ' selected manual mode + Public run As Short ' running status + Public edit As Short ' editting status + Public motion As Short ' axis, dwell status + Public mstb As Short ' m, s, t, b status + Public emergency As Short ' emergency stop status + Public write As Short ' writting status + Public labelskip As Short ' label skip status + Public alarm As Short ' alarm status + Public warning As Short ' warning status + Public battery As Short ' battery status + End Structure +#Else + ' cnc_statinfo:read CNC status information + + Public Structure ODBST + Public dummy As Short ' dummy + Public tmmode As Short ' T/M mode + Public aut As Short ' selected automatic mode + Public run As Short ' running status + Public motion As Short ' axis, dwell status + Public mstb As Short ' m, s, t, b status + Public emergency As Short ' emergency stop status + Public alarm As Short ' alarm status + Public edit As Short ' editting status + End Structure +#End If + + ' cnc_alarm:read alarm status + + Public Structure ODBALM + + Public dummy As Short() + Public data As Short ' C# ushort + End Structure + + ' cnc_rdalminfo:read alarm information +#If M_AXIS2 Then + _ + Public Structure ALMINFO1_data + Public axis As Integer + Public alm_no As Short + End Structure + + _ + Public Structure ALMINFO2_data + Public axis As Integer + Public alm_no As Short + Public msg_len As Short + _ + Public alm_msg As String ' alarm message + End Structure +#Else + + Public Structure ALMINFO1_data + Public axis As Short + Public alm_no As Short + End Structure + + + Public Structure ALMINFO2_data + Public axis As Short + Public alm_no As Short + Public msg_len As Short + + Public alm_msg As String ' alarm message + End Structure +#End If + + Public Structure ALMINFO_1 + Public msg1 As ALMINFO1_data + Public msg2 As ALMINFO1_data + Public msg3 As ALMINFO1_data + Public msg4 As ALMINFO1_data + Public msg5 As ALMINFO1_data + Public data_end As Short + End Structure ' In case that the number of alarm is 5 + + + Public Structure ALMINFO_2 + Public msg1 As ALMINFO2_data + Public msg2 As ALMINFO2_data + Public msg3 As ALMINFO2_data + Public msg4 As ALMINFO2_data + Public msg5 As ALMINFO2_data + Public dataend As Short + End Structure ' In case that the number of alarm is 5 + + ' cnc_rdalmmsg:read alarm messages + + Public Structure ODBALMMSG_data + Public alm_no As Integer + Public type As Short + Public axis As Short + Public dummy As Short + Public msg_len As Short + + Public alm_msg As String ' alarm message + End Structure + + Public Structure ODBALMMSG + Public msg1 As ODBALMMSG_data + Public msg2 As ODBALMMSG_data + Public msg3 As ODBALMMSG_data + Public msg4 As ODBALMMSG_data + Public msg5 As ODBALMMSG_data + Public msg6 As ODBALMMSG_data + Public msg7 As ODBALMMSG_data + Public msg8 As ODBALMMSG_data + Public msg9 As ODBALMMSG_data + Public msg10 As ODBALMMSG_data + End Structure ' In case that the number of alarm is 10 + + ' cnc_rdalmmsg2:read alarm messages + + Public Structure ODBALMMSG2_data + Public alm_no As Integer + Public type As Short + Public axis As Short + Public dummy As Short + Public msg_len As Short + + Public alm_msg As String ' alarm message + End Structure + + Public Structure ODBALMMSG2 + Public msg1 As ODBALMMSG2_data + Public msg2 As ODBALMMSG2_data + Public msg3 As ODBALMMSG2_data + Public msg4 As ODBALMMSG2_data + Public msg5 As ODBALMMSG2_data + Public msg6 As ODBALMMSG2_data + Public msg7 As ODBALMMSG2_data + Public msg8 As ODBALMMSG2_data + Public msg9 As ODBALMMSG2_data + Public msg10 As ODBALMMSG2_data + End Structure ' In case that the number of alarm is 10 + + ' cnc_modal:read modal data + + Public Structure MODAL_AUX_data + Public aux_data As Integer + Public flag1 As Byte + Public flag2 As Byte + End Structure + + Public Structure MODAL_RAUX1_data + Public data1 As MODAL_AUX_data + Public data2 As MODAL_AUX_data + Public data3 As MODAL_AUX_data + Public data4 As MODAL_AUX_data + Public data5 As MODAL_AUX_data + Public data6 As MODAL_AUX_data + Public data7 As MODAL_AUX_data + Public data8 As MODAL_AUX_data + Public data9 As MODAL_AUX_data + Public data10 As MODAL_AUX_data + Public data11 As MODAL_AUX_data + Public data12 As MODAL_AUX_data + Public data13 As MODAL_AUX_data + Public data14 As MODAL_AUX_data + Public data15 As MODAL_AUX_data + Public data16 As MODAL_AUX_data + Public data17 As MODAL_AUX_data + Public data18 As MODAL_AUX_data + Public data19 As MODAL_AUX_data + Public data20 As MODAL_AUX_data + Public data21 As MODAL_AUX_data + Public data22 As MODAL_AUX_data + Public data23 As MODAL_AUX_data + Public data24 As MODAL_AUX_data + Public data25 As MODAL_AUX_data + Public data26 As MODAL_AUX_data + Public data27 As MODAL_AUX_data + End Structure +#If FS30D Then + + Public Structure MODAL_RAUX2_data + Public data1 As MODAL_AUX_data + Public data2 As MODAL_AUX_data + Public data3 As MODAL_AUX_data + Public data4 As MODAL_AUX_data + Public data5 As MODAL_AUX_data + Public data6 As MODAL_AUX_data + Public data7 As MODAL_AUX_data + Public data8 As MODAL_AUX_data + Public data9 As MODAL_AUX_data + Public data10 As MODAL_AUX_data + Public data11 As MODAL_AUX_data + Public data12 As MODAL_AUX_data + Public data13 As MODAL_AUX_data + Public data14 As MODAL_AUX_data + Public data15 As MODAL_AUX_data + Public data16 As MODAL_AUX_data + Public data17 As MODAL_AUX_data + Public data18 As MODAL_AUX_data + Public data19 As MODAL_AUX_data + Public data20 As MODAL_AUX_data + Public data21 As MODAL_AUX_data + Public data22 As MODAL_AUX_data + Public data23 As MODAL_AUX_data + Public data24 As MODAL_AUX_data + Public data25 As MODAL_AUX_data + Public data26 As MODAL_AUX_data + Public data27 As MODAL_AUX_data + Public data28 As MODAL_AUX_data + Public data29 As MODAL_AUX_data + Public data30 As MODAL_AUX_data + Public data31 As MODAL_AUX_data + Public data32 As MODAL_AUX_data + End Structure +#Else +#If M_AXIS2 Then + _ + Public Structure MODAL_RAUX2_data + Public data1 As MODAL_AUX_data + Public data2 As MODAL_AUX_data + Public data3 As MODAL_AUX_data + Public data4 As MODAL_AUX_data + Public data5 As MODAL_AUX_data + Public data6 As MODAL_AUX_data + Public data7 As MODAL_AUX_data + Public data8 As MODAL_AUX_data + Public data9 As MODAL_AUX_data + Public data10 As MODAL_AUX_data + Public data11 As MODAL_AUX_data + Public data12 As MODAL_AUX_data + Public data13 As MODAL_AUX_data + Public data14 As MODAL_AUX_data + Public data15 As MODAL_AUX_data + Public data16 As MODAL_AUX_data + Public data17 As MODAL_AUX_data + Public data18 As MODAL_AUX_data + Public data19 As MODAL_AUX_data + Public data20 As MODAL_AUX_data + Public data21 As MODAL_AUX_data + Public data22 As MODAL_AUX_data + Public data23 As MODAL_AUX_data + Public data24 As MODAL_AUX_data + End Structure +#Else +#If FS15D Then + _ + Public Structure MODAL_RAUX2_data + Public data1 As MODAL_AUX_data + Public data2 As MODAL_AUX_data + Public data3 As MODAL_AUX_data + Public data4 As MODAL_AUX_data + Public data5 As MODAL_AUX_data + Public data6 As MODAL_AUX_data + Public data7 As MODAL_AUX_data + Public data8 As MODAL_AUX_data + Public data9 As MODAL_AUX_data + Public data10 As MODAL_AUX_data + End Structure +#Else + _ + Public Structure MODAL_RAUX2_data + Public data1 As MODAL_AUX_data + Public data2 As MODAL_AUX_data + Public data3 As MODAL_AUX_data + Public data4 As MODAL_AUX_data + Public data5 As MODAL_AUX_data + Public data6 As MODAL_AUX_data + Public data7 As MODAL_AUX_data + Public data8 As MODAL_AUX_data + End Structure +#End If +#End If +#End If + + + Public Structure ODBMDL_1 + + Public datano As Short + + Public type As Short + + Public g_data As Char + End Structure + + Public Structure ODBMDL_2 + + Public datano As Short + + Public type As Short + + Public g_1shot As Byte() + + Public g_rdata As Byte() + End Structure + + Public Structure ODBMDL_3 + Public datano As Short + Public type As Short + Public aux As MODAL_AUX_data + End Structure + + Public Structure ODBMDL_4 + Public datano As Short + Public type As Short + Public raux1 As MODAL_RAUX1_data + End Structure + + Public Structure ODBMDL_5 + Public datano As Short + Public type As Short + Public raux2 As MODAL_RAUX2_data + End Structure + + ' cnc_rdgcode: read G code + + Public Structure ODBGCD_data + Public group As Short + Public flag As Short + + Public code As String + End Structure + + Public Structure ODBGCD + Public gcd0 As ODBGCD_data + Public gcd1 As ODBGCD_data + Public gcd2 As ODBGCD_data + Public gcd3 As ODBGCD_data + Public gcd4 As ODBGCD_data + Public gcd5 As ODBGCD_data + Public gcd6 As ODBGCD_data + Public gcd7 As ODBGCD_data + Public gcd8 As ODBGCD_data + Public gcd9 As ODBGCD_data + Public gcd10 As ODBGCD_data + Public gcd11 As ODBGCD_data + Public gcd12 As ODBGCD_data + Public gcd13 As ODBGCD_data + Public gcd14 As ODBGCD_data + Public gcd15 As ODBGCD_data + Public gcd16 As ODBGCD_data + Public gcd17 As ODBGCD_data + Public gcd18 As ODBGCD_data + Public gcd19 As ODBGCD_data + Public gcd20 As ODBGCD_data + Public gcd21 As ODBGCD_data + Public gcd22 As ODBGCD_data + Public gcd23 As ODBGCD_data + Public gcd24 As ODBGCD_data + Public gcd25 As ODBGCD_data + Public gcd26 As ODBGCD_data + Public gcd27 As ODBGCD_data + End Structure + + ' cnc_rdcommand: read command value + + Public Structure ODBCMD_data + Public adrs As Byte + Public num As Byte + Public flag As Short + Public cmd_val As Integer + Public dec_val As Integer + End Structure + + Public Structure ODBCMD + Public cmd0 As ODBCMD_data + Public cmd1 As ODBCMD_data + Public cmd2 As ODBCMD_data + Public cmd3 As ODBCMD_data + Public cmd4 As ODBCMD_data + Public cmd5 As ODBCMD_data + Public cmd6 As ODBCMD_data + Public cmd7 As ODBCMD_data + Public cmd8 As ODBCMD_data + Public cmd9 As ODBCMD_data + Public cmd10 As ODBCMD_data + Public cmd11 As ODBCMD_data + Public cmd12 As ODBCMD_data + Public cmd13 As ODBCMD_data + Public cmd14 As ODBCMD_data + Public cmd15 As ODBCMD_data + Public cmd16 As ODBCMD_data + Public cmd17 As ODBCMD_data + Public cmd18 As ODBCMD_data + Public cmd19 As ODBCMD_data + Public cmd20 As ODBCMD_data + Public cmd21 As ODBCMD_data + Public cmd22 As ODBCMD_data + Public cmd23 As ODBCMD_data + Public cmd24 As ODBCMD_data + Public cmd25 As ODBCMD_data + Public cmd26 As ODBCMD_data + Public cmd27 As ODBCMD_data + Public cmd28 As ODBCMD_data + Public cmd29 As ODBCMD_data + End Structure + + ' cnc_diagnoss:read diagnosis data + ' cnc_diagnosr:read diagnosis data(area specified) + + Public Structure REALDGN + Public dgn_val As Integer ' data of real diagnoss + Public dec_val As Integer ' decimal point of real diagnoss + End Structure +#If FS30D Then + + Public Structure REALDGNS + Public rdata1 As REALDGN + Public rdata2 As REALDGN + Public rdata3 As REALDGN + Public rdata4 As REALDGN + Public rdata5 As REALDGN + Public rdata6 As REALDGN + Public rdata7 As REALDGN + Public rdata8 As REALDGN + Public rdata9 As REALDGN + Public rdata10 As REALDGN + Public rdata11 As REALDGN + Public rdata12 As REALDGN + Public rdata13 As REALDGN + Public rdata14 As REALDGN + Public rdata15 As REALDGN + Public rdata16 As REALDGN + Public rdata17 As REALDGN + Public rdata18 As REALDGN + Public rdata19 As REALDGN + Public rdata20 As REALDGN + Public rdata21 As REALDGN + Public rdata22 As REALDGN + Public rdata23 As REALDGN + Public rdata24 As REALDGN + Public rdata25 As REALDGN + Public rdata26 As REALDGN + Public rdata27 As REALDGN + Public rdata28 As REALDGN + Public rdata29 As REALDGN + Public rdata30 As REALDGN + Public rdata31 As REALDGN + Public rdata32 As REALDGN + End Structure ' In case that the number of alarm is 24 +#Else +#If M_AXIS2 Then + _ + Public Structure REALDGNS + Public rdata1 As REALDGN + Public rdata2 As REALDGN + Public rdata3 As REALDGN + Public rdata4 As REALDGN + Public rdata5 As REALDGN + Public rdata6 As REALDGN + Public rdata7 As REALDGN + Public rdata8 As REALDGN + Public rdata9 As REALDGN + Public rdata10 As REALDGN + Public rdata11 As REALDGN + Public rdata12 As REALDGN + Public rdata13 As REALDGN + Public rdata14 As REALDGN + Public rdata15 As REALDGN + Public rdata16 As REALDGN + Public rdata17 As REALDGN + Public rdata18 As REALDGN + Public rdata19 As REALDGN + Public rdata20 As REALDGN + Public rdata21 As REALDGN + Public rdata22 As REALDGN + Public rdata23 As REALDGN + Public rdata24 As REALDGN + End Structure ' In case that the number of alarm is 24 +#Else +#If FS15D Then + _ + Public Structure REALDGNS + Public rdata1 As REALDGN + Public rdata2 As REALDGN + Public rdata3 As REALDGN + Public rdata4 As REALDGN + Public rdata5 As REALDGN + Public rdata6 As REALDGN + Public rdata7 As REALDGN + Public rdata8 As REALDGN + Public rdata9 As REALDGN + Public rdata10 As REALDGN + End Structure ' In case that the number of alarm is 10 +#Else + _ + Public Structure REALDGNS + Public rdata1 As REALDGN + Public rdata2 As REALDGN + Public rdata3 As REALDGN + Public rdata4 As REALDGN + Public rdata5 As REALDGN + Public rdata6 As REALDGN + Public rdata7 As REALDGN + Public rdata8 As REALDGN + End Structure ' In case that the number of alarm is 8 +#End If +#End If +#End If + + + Public Structure ODBDGN_1 + + Public datano As Short ' data number + + Public type As Short ' axis number + + Public cdata As Byte ' parameter / setting data + + Public idata As Short + + Public ldata As Integer + End Structure + + Public Structure ODBDGN_2 + Public datano As Short ' data number + Public type As Short ' axis number + Public rdata As REALDGN + End Structure + + Public Structure ODBDGN_3 + + Public datano As Short ' data number + + Public type As Short ' axis number + + Public cdatas As Byte() + + Public idatas As Short() + + Public ldatas As Integer() + End Structure + + Public Structure ODBDGN_4 + Public datano As Short ' data number + Public type As Short ' axis number + Public rdatas As REALDGNS + End Structure + + Public Structure ODBDGN_A + Public data1 As ODBDGN_1 + Public data2 As ODBDGN_1 + Public data3 As ODBDGN_1 + Public data4 As ODBDGN_1 + Public data5 As ODBDGN_1 + Public data6 As ODBDGN_1 + Public data7 As ODBDGN_1 + End Structure ' (sample) must be modified + + Public Structure ODBDGN_B + Public data1 As ODBDGN_2 + Public data2 As ODBDGN_2 + Public data3 As ODBDGN_2 + Public data4 As ODBDGN_2 + Public data5 As ODBDGN_2 + Public data6 As ODBDGN_2 + Public data7 As ODBDGN_2 + End Structure ' (sample) must be modified + + Public Structure ODBDGN_C + Public data1 As ODBDGN_3 + Public data2 As ODBDGN_3 + Public data3 As ODBDGN_3 + Public data4 As ODBDGN_3 + Public data5 As ODBDGN_3 + Public data6 As ODBDGN_3 + Public data7 As ODBDGN_3 + End Structure ' (sample) must be modified + + Public Structure ODBDGN_D + Public data1 As ODBDGN_4 + Public data2 As ODBDGN_4 + Public data3 As ODBDGN_4 + Public data4 As ODBDGN_4 + Public data5 As ODBDGN_4 + Public data6 As ODBDGN_4 + Public data7 As ODBDGN_4 + End Structure ' (sample) must be modified + + ' cnc_adcnv:read A/D conversion data + + Public Structure ODBAD + Public datano As Short ' input analog voltage type + Public type As Short ' analog voltage type + Public data As Short ' digital voltage data + End Structure + +#If FS15D Then + ' cnc_rdopmsg:read operator's message + _ + Public Structure OPMSG_data + Public datano As Short ' operator's message number + Public type As Short ' operator's message type + Public char_num As Short ' message string length + _ + Public data As String ' operator's message string + End Structure ' In case that the data length is 129 +#Else + + Public Structure OPMSG_data + Public datano As Short ' operator's message number + Public type As Short ' operator's message type + Public char_num As Short ' message string length + + Public data As String ' operator's message string + End Structure ' In case that the data length is 256 +#End If + + Public Structure OPMSG + Public msg1 As OPMSG_data + Public msg2 As OPMSG_data + Public msg3 As OPMSG_data + Public msg4 As OPMSG_data + Public msg5 As OPMSG_data + End Structure + + ' cnc_rdopmsg2:read operator's message + + Public Structure OPMSG2_data + Public datano As Short ' operator's message number + Public type As Short ' operator's message type + Public char_num As Short ' message string length + + Public data As String ' operator's message string + End Structure ' In case that the data length is 64 + + Public Structure OPMSG2 + Public msg1 As OPMSG2_data + Public msg2 As OPMSG2_data + Public msg3 As OPMSG2_data + Public msg4 As OPMSG2_data + Public msg5 As OPMSG2_data + End Structure + + ' cnc_rdopmsg3:read operator's message + + Public Structure OPMSG3_data + Public datano As Short ' operator's message number + Public type As Short ' operator's message type + Public char_num As Short ' message string length + + Public data As String ' operator's message string + End Structure ' In case that the data length is 256 + + Public Structure OPMSG3 + Public msg1 As OPMSG3_data + Public msg2 As OPMSG3_data + Public msg3 As OPMSG3_data + Public msg4 As OPMSG3_data + Public msg5 As OPMSG3_data + End Structure + + ' cnc_sysconfig:read CNC configuration information + + Public Structure ODBSYSC + + Public slot_no_p As Byte() + + Public slot_no_l As Byte() + + Public mod_id As Short() + + Public soft_id As Short() + + Public s_series1 As String + + Public s_series2 As String + + Public s_series3 As String + + Public s_series4 As String + + Public s_series5 As String + + Public s_series6 As String + + Public s_series7 As String + + Public s_series8 As String + + Public s_series9 As String + + Public s_series10 As String + + Public s_series11 As String + + Public s_series12 As String + + Public s_series13 As String + + Public s_series14 As String + + Public s_series15 As String + + Public s_series16 As String + + Public s_version1 As String + + Public s_version2 As String + + Public s_version3 As String + + Public s_version4 As String + + Public s_version5 As String + + Public s_version6 As String + + Public s_version7 As String + + Public s_version8 As String + + Public s_version9 As String + + Public s_version10 As String + + Public s_version11 As String + + Public s_version12 As String + + Public s_version13 As String + + Public s_version14 As String + + Public s_version15 As String + + Public s_version16 As String + + Public dummy As Byte() + Public m_rom As Short + Public s_rom As Short + + Public svo_soft As Char() + + Public pmc_soft As Char() + + Public lad_soft As Char() + + Public mcr_soft As Char() + + Public spl1_soft As Char() + + Public spl2_soft As Char() + Public frmmin As Short + Public drmmin As Short + Public srmmin As Short + Public pmcmin As Short + Public crtmin As Short + Public sv1min As Short + Public sv3min As Short + Public sicmin As Short + Public posmin As Short + Public drmmrc As Short + Public drmarc As Short + Public pmcmrc As Short + Public dmaarc As Short + Public iopt As Short + Public hdiio As Short + Public frmsub As Short + Public drmsub As Short + Public srmsub As Short + Public sv5sub As Short + Public sv7sub As Short + Public sicsub As Short + Public possub As Short + Public hamsub As Short + Public gm2gr1 As Short + Public crtgr2 As Short + Public gm1gr2 As Short + Public gm2gr2 As Short + Public cmmrb As Short + Public sv5axs As Short + Public sv7axs As Short + Public sicaxs As Short + Public posaxs As Short + Public hanaxs As Short + Public romr64 As Short + Public srmr64 As Short + Public dr1r64 As Short + Public dr2r64 As Short + Public iopio2 As Short + Public hdiio2 As Short + Public cmmrb2 As Short + Public romfap As Short + Public srmfap As Short + Public drmfap As Short + End Structure + + ' cnc_rdprstrinfo:read program restart information + + Public Structure ODBPRS + Public datano As Short ' dummy + Public type As Short ' dummy + + Public data_info As Short() ' data setting information + Public rstr_bc As Integer ' block counter + + Public rstr_m As Integer() ' M code value + + Public rstr_t As Integer() ' T code value + Public rstr_s As Integer ' S code value + Public rstr_b As Integer ' B code value + + Public dest As Integer() ' program re-start position + + Public dist As Integer() ' program re-start distance + End Structure + +#If FS15D Then + ' cnc_rdopnlsgnl:read output signal image of software operator's panel + ' cnc_wropnlsgnl:write output signal of software operator's panel + _ + Public Structure IODBSGNL + Public datano As Short ' dummy + Public type As Short ' data select flag + Public mode As Short ' mode signal + Public hndl_ax As Short ' Manual handle feed axis selection signal + Public hndl_mv As Short ' Manual handle feed travel distance selection signal + Public rpd_ovrd As Short ' rapid traverse override signal + Public jog_ovrd As Short ' manual feedrate override signal + Public feed_ovrd As Short ' feedrate override signal + Public spdl_ovrd As Short ' spindle override signal + Public blck_del As Short ' optional block skip signal + Public sngl_blck As Short ' single block signal + Public machn_lock As Short' machine lock signal + Public dry_run As Short ' dry run signal + Public mem_prtct As Short ' memory protection signal + Public feed_hold As Short ' automatic operation halt signal + Public manual_rpd As Short' (not used) + _ + Public dummy As Short() ' (not used) + End Structure +#Else + ' cnc_rdopnlsgnl:read output signal image of software operator's panel + ' cnc_wropnlsgnl:write output signal of software operator's panel + + Public Structure IODBSGNL + Public datano As Short ' dummy + Public type As Short ' data select flag + Public mode As Short ' mode signal + Public hndl_ax As Short ' Manual handle feed axis selection signal + Public hndl_mv As Short ' Manual handle feed travel distance selection signal + Public rpd_ovrd As Short ' rapid traverse override signal + Public jog_ovrd As Short ' manual feedrate override signal + Public feed_ovrd As Short ' feedrate override signal + Public spdl_ovrd As Short ' (not used) + Public blck_del As Short ' optional block skip signal + Public sngl_blck As Short ' single block signal + Public machn_lock As Short ' machine lock signal + Public dry_run As Short ' dry run signal + Public mem_prtct As Short ' memory protection signal + Public feed_hold As Short ' automatic operation halt signal + End Structure +#End If + + ' cnc_rdopnlgnrl:read general signal image of software operator's panel + ' cnc_wropnlgnrl:write general signal image of software operator's panel + + Public Structure IODBGNRL + Public datano As Short ' dummy + Public type As Short ' data select flag + Public sgnal As Byte ' general signal + End Structure + + ' cnc_rdopnlgsname:read general signal name of software operator's panel + ' cnc_wropnlgsname:write general signal name of software operator's panel + + Public Structure IODBRDNA + Public datano As Short ' dummy + Public type As Short ' data select flag + + Public sgnl1_name As String ' general signal 1 name + + Public sgnl2_name As String ' general signal 2 name + + Public sgnl3_name As String ' general signal 3 name + + Public sgnl4_name As String ' general signal 4 name + + Public sgnl5_name As String ' general signal 5 name + + Public sgnl6_name As String ' general signal 6 name + + Public sgnl7_name As String ' general signal 7 name + + Public sgnl8_name As String ' general signal 8 name + End Structure + + ' cnc_getdtailerr:get detail error + + Public Structure ODBERR + Public err_no As Short + Public err_dtno As Short + End Structure + + + ' cnc_rdparainfo:read informations of CNC parameter + + Public Structure ODBPARAIF_info + Public prm_no As Short + Public prm_type As Short + End Structure + + Public Structure ODBPARAIF1 + Public info1 As ODBPARAIF_info + Public info2 As ODBPARAIF_info + Public info3 As ODBPARAIF_info + Public info4 As ODBPARAIF_info + Public info5 As ODBPARAIF_info + Public info6 As ODBPARAIF_info + Public info7 As ODBPARAIF_info + Public info8 As ODBPARAIF_info + Public info9 As ODBPARAIF_info + Public info10 As ODBPARAIF_info + End Structure ' In case that the number of data is 10 + + Public Structure ODBPARAIF + Public info_no As Short ' C# ushort + Public prev_no As Short + Public next_no As Short + Public info As ODBPARAIF1 + End Structure + + ' cnc_rdsetinfo:read informations of CNC setting data + + Public Structure ODBSETIF_info + Public set_no As Short + Public set_type As Short + End Structure + + Public Structure ODBSETIF1 + Public info1 As ODBSETIF_info + Public info2 As ODBSETIF_info + Public info3 As ODBSETIF_info + Public info4 As ODBSETIF_info + Public info5 As ODBSETIF_info + Public info6 As ODBSETIF_info + Public info7 As ODBSETIF_info + Public info8 As ODBSETIF_info + Public info9 As ODBSETIF_info + Public info10 As ODBSETIF_info + End Structure ' In case that the number of data is 10 + + Public Structure ODBSETIF + Public info_no As Short 'C# ushort + Public prev_no As Short + Public next_no As Short + Public info As ODBSETIF1 + End Structure + + ' cnc_rddiaginfo:read informations of CNC diagnose data + + Public Structure ODBDIAGIF_info + Public diag_no As Short + Public diag_type As Short + End Structure + + Public Structure ODBDIAGIF1 + Public info1 As ODBDIAGIF_info + Public info2 As ODBDIAGIF_info + Public info3 As ODBDIAGIF_info + Public info4 As ODBDIAGIF_info + Public info5 As ODBDIAGIF_info + Public info6 As ODBDIAGIF_info + Public info7 As ODBDIAGIF_info + Public info8 As ODBDIAGIF_info + Public info9 As ODBDIAGIF_info + Public info10 As ODBDIAGIF_info + End Structure ' In case that the number of data is 10 + + Public Structure ODBDIAGIF + Public info_no As Short ' C# ushort + Public prev_no As Short + Public next_no As Short + Public info As ODBDIAGIF1 + End Structure + + ' cnc_rdparanum:read maximum, minimum and total number of CNC parameter + + Public Structure ODBPARANUM + Public para_min As Short ' C# ushort + Public para_max As Short ' C# ushort + Public total_no As Short ' C# ushort + End Structure + + ' cnc_rdsetnum:read maximum, minimum and total number of CNC setting data + + Public Structure ODBSETNUM + Public set_min As Short ' C# ushort + Public set_max As Short ' C# ushort + Public total_no As Short ' C# ushort + End Structure + + ' cnc_rddiagnum:read maximum, minimum and total number of CNC diagnose data + + Public Structure ODBDIAGNUM + Public diag_min As Short ' C# ushort + Public diag_max As Short ' C# ushort + Public total_no As Short ' C# ushort + End Structure + + ' cnc_rdfrominfo:read F-ROM information on CNC + + Public Structure ODBFINFO_info + + Public sysname As String ' F-ROM SYSTEM data Name + Public fromsize As Integer ' F-ROM Size + End Structure + + Public Structure ODBFINFO1 + Public info1 As ODBFINFO_info + Public info2 As ODBFINFO_info + Public info3 As ODBFINFO_info + Public info4 As ODBFINFO_info + Public info5 As ODBFINFO_info + Public info6 As ODBFINFO_info + Public info7 As ODBFINFO_info + Public info8 As ODBFINFO_info + Public info9 As ODBFINFO_info + Public info10 As ODBFINFO_info + Public info11 As ODBFINFO_info + Public info12 As ODBFINFO_info + Public info13 As ODBFINFO_info + Public info14 As ODBFINFO_info + Public info15 As ODBFINFO_info + Public info16 As ODBFINFO_info + Public info17 As ODBFINFO_info + Public info18 As ODBFINFO_info + Public info19 As ODBFINFO_info + Public info20 As ODBFINFO_info + Public info21 As ODBFINFO_info + Public info22 As ODBFINFO_info + Public info23 As ODBFINFO_info + Public info24 As ODBFINFO_info + Public info25 As ODBFINFO_info + Public info26 As ODBFINFO_info + Public info27 As ODBFINFO_info + Public info28 As ODBFINFO_info + Public info29 As ODBFINFO_info + Public info30 As ODBFINFO_info + Public info31 As ODBFINFO_info + Public info32 As ODBFINFO_info + End Structure + + Public Structure ODBFINFO + + Public slotname As String ' Slot Name + Public fromnum As Integer ' Number of F-ROM SYSTEM data + Public info As ODBFINFO1 + End Structure + + ' cnc_getfrominfo:read F-ROM information on CNC + + Public Structure ODBFINFORM_info + + Public sysname As String ' F-ROM SYSTEM data Name + Public fromsize As Integer ' F-ROM Size + Public fromattrib As Integer ' F-ROM data attribute + End Structure + + Public Structure ODBFINFORM1 + Public info1 As ODBFINFORM_info + Public info2 As ODBFINFORM_info + Public info3 As ODBFINFORM_info + Public info4 As ODBFINFORM_info + Public info5 As ODBFINFORM_info + Public info6 As ODBFINFORM_info + Public info7 As ODBFINFORM_info + Public info8 As ODBFINFORM_info + Public info9 As ODBFINFORM_info + Public info10 As ODBFINFORM_info + Public info11 As ODBFINFORM_info + Public info12 As ODBFINFORM_info + Public info13 As ODBFINFORM_info + Public info14 As ODBFINFORM_info + Public info15 As ODBFINFORM_info + Public info16 As ODBFINFORM_info + Public info17 As ODBFINFORM_info + Public info18 As ODBFINFORM_info + Public info19 As ODBFINFORM_info + Public info20 As ODBFINFORM_info + Public info21 As ODBFINFORM_info + Public info22 As ODBFINFORM_info + Public info23 As ODBFINFORM_info + Public info24 As ODBFINFORM_info + Public info25 As ODBFINFORM_info + Public info26 As ODBFINFORM_info + Public info27 As ODBFINFORM_info + Public info28 As ODBFINFORM_info + Public info29 As ODBFINFORM_info + Public info30 As ODBFINFORM_info + Public info31 As ODBFINFORM_info + Public info32 As ODBFINFORM_info + End Structure + + Public Structure ODBFINFORM + Public slotno As Integer ' Slot Number + + Public slotname As String ' Slot Name + Public fromnum As Integer ' Number of F-ROM SYSTEM data + Public info As ODBFINFORM1 + End Structure + + ' cnc_rdsraminfo:read S-RAM information on CNC + ' cnc_getsraminfo:read S-RAM information on CNC + + Public Structure ODBSINFO_info + + Public sramname As String ' S-RAM data Name + Public sramsize As Integer ' S-RAM data Size + Public divnumber As Short ' Division number of S-RAM file + + Public fname1 As String ' S-RAM data Name1 + + Public fname2 As String ' S-RAM data Name2 + + Public fname3 As String ' S-RAM data Name3 + + Public fname4 As String ' S-RAM data Name4 + + Public fname5 As String ' S-RAM data Name5 + + Public fname6 As String ' S-RAM data Name6 + End Structure + + Public Structure ODBSINFO1 + Public info1 As ODBSINFO_info + Public info2 As ODBSINFO_info + Public info3 As ODBSINFO_info + Public info4 As ODBSINFO_info + Public info5 As ODBSINFO_info + Public info6 As ODBSINFO_info + Public info7 As ODBSINFO_info + Public info8 As ODBSINFO_info + End Structure + + Public Structure ODBSINFO + Public sramnum As Integer ' Number of S-RAM data + Public info As ODBSINFO1 + End Structure + + ' cnc_rdsramaddr:read S-RAM address on CNC + + Public Structure SRAMADDR + Public type As Short ' SRAM data type + Public size As Integer ' SRAM data size + Public offset As Integer ' offset from top address of SRAM + End Structure + + ' cnc_dtsvrdpgdir:read file directory in Data Server + + Public Structure ODBDSDIR_data + + Public file_name As String + + Public comment As String + Public size As Integer + + Public sDate As String + End Structure + + Public Structure ODBDSDIR1 + Public data1 As ODBDSDIR_data + Public data2 As ODBDSDIR_data + Public data3 As ODBDSDIR_data + Public data4 As ODBDSDIR_data + Public data5 As ODBDSDIR_data + Public data6 As ODBDSDIR_data + Public data7 As ODBDSDIR_data + Public data8 As ODBDSDIR_data + Public data9 As ODBDSDIR_data + Public data10 As ODBDSDIR_data + Public data11 As ODBDSDIR_data + Public data12 As ODBDSDIR_data + Public data13 As ODBDSDIR_data + Public data14 As ODBDSDIR_data + Public data15 As ODBDSDIR_data + Public data16 As ODBDSDIR_data + Public data17 As ODBDSDIR_data + Public data18 As ODBDSDIR_data + Public data19 As ODBDSDIR_data + Public data20 As ODBDSDIR_data + Public data21 As ODBDSDIR_data + Public data22 As ODBDSDIR_data + Public data23 As ODBDSDIR_data + Public data24 As ODBDSDIR_data + Public data25 As ODBDSDIR_data + Public data26 As ODBDSDIR_data + Public data27 As ODBDSDIR_data + Public data28 As ODBDSDIR_data + Public data29 As ODBDSDIR_data + Public data30 As ODBDSDIR_data + Public data31 As ODBDSDIR_data + Public data32 As ODBDSDIR_data + End Structure + + Public Structure ODBDSDIR + Public file_num As Integer + Public remainder As Integer + Public data_num As Short + Public data As ODBDSDIR1 + End Structure + + ' cnc_dtsvrdset:read setting data for Data Server + ' cnc_dtsvwrset:write setting data for Data Server + + Public Structure IODBDSSET + + Public host_ip As String + + Public host_uname As String + + Public host_passwd As String + + Public host_dir As String + + Public dtsv_mac As String + + Public dtsv_ip As String + + Public dtsv_mask As String + End Structure + + ' cnc_dtsvmntinfo:read maintenance information for Data Server + + Public Structure ODBDSMNT + Public empty_cnt As Integer + Public total_size As Integer + Public read_ptr As Integer + Public write_ptr As Integer + End Structure + + ' cnc_rdposerrs2:read the position deviation S1 and S2 + + Public Structure ODBPSER + Public poserr1 As Integer + Public poserr2 As Integer + End Structure + + ' cnc_rdctrldi:read the control input signal + + Public Structure ODBSPDI_data + Public sgnl1 As Byte + Public sgnl2 As Byte + Public sgnl3 As Byte + Public sgnl4 As Byte + End Structure + + Public Structure ODBSPDI + Public di1 As ODBSPDI_data + Public di2 As ODBSPDI_data + Public di3 As ODBSPDI_data + Public di4 As ODBSPDI_data + End Structure + + ' cnc_rdctrldo:read the control output signal + + Public Structure ODBSPDO_data + Public sgnl1 As Byte + Public sgnl2 As Byte + Public sgnl3 As Byte + Public sgnl4 As Byte + End Structure + + Public Structure ODBSPDO + Public do1 As ODBSPDO_data + Public do2 As ODBSPDO_data + Public do3 As ODBSPDO_data + Public do4 As ODBSPDO_data + End Structure + + ' cnc_rdwaveprm:read the parameter of wave diagnosis + ' cnc_wrwaveprm:write the parameter of wave diagnosis + + Public Structure IODBWAVE_io + Public adr As Byte + Public bit As Byte + Public no As Short + End Structure + + Public Structure IODBWAVE_axis + Public axis As Short + End Structure + + Public Structure IODBWAVE_u + + Public io As IODBWAVE_io + + Public axis As IODBWAVE_axis + End Structure + + Public Structure IODBWAVE_ch_data + Public kind As Short + Public u As IODBWAVE_u + End Structure + + Public Structure IODBWAVE_ch + Public ch1 As IODBWAVE_ch_data + Public ch2 As IODBWAVE_ch_data + Public ch3 As IODBWAVE_ch_data + Public ch4 As IODBWAVE_ch_data + Public ch5 As IODBWAVE_ch_data + Public ch6 As IODBWAVE_ch_data + Public ch7 As IODBWAVE_ch_data + Public ch8 As IODBWAVE_ch_data + Public ch9 As IODBWAVE_ch_data + Public ch10 As IODBWAVE_ch_data + Public ch11 As IODBWAVE_ch_data + Public ch12 As IODBWAVE_ch_data + End Structure + + Public Structure IODBWAVE + Public condition As Short + Public trg_adr As Char + Public trg_bit As Byte + Public trg_no As Short + Public delay As Short + Public t_range As Short + Public ch As IODBWAVE_ch + End Structure + + ' cnc_rdwaveprm2:read the parameter of wave diagnosis 2 + ' cnc_wrwaveprm2:write the parameter of wave diagnosis 2 + + Public Structure IODBWVPRM_io + Public adr As Byte + Public bit As Byte + Public no As Short + End Structure + + Public Structure IODBWVPRM_axis + Public axis As Short + End Structure + + Public Structure IODBWVPRM_u + + Public io As IODBWVPRM_io + + Public axis As IODBWVPRM_axis + End Structure + + Public Structure IODBWVPRM_ch_data + Public kind As Short + Public u As IODBWVPRM_u + Public reserve2 As Integer + End Structure + + Public Structure IODBWVPRM_ch + Public ch1 As IODBWVPRM_ch_data + Public ch2 As IODBWVPRM_ch_data + Public ch3 As IODBWVPRM_ch_data + Public ch4 As IODBWVPRM_ch_data + Public ch5 As IODBWVPRM_ch_data + Public ch6 As IODBWVPRM_ch_data + Public ch7 As IODBWVPRM_ch_data + Public ch8 As IODBWVPRM_ch_data + Public ch9 As IODBWVPRM_ch_data + Public ch10 As IODBWVPRM_ch_data + Public ch11 As IODBWVPRM_ch_data + Public ch12 As IODBWVPRM_ch_data + End Structure + + Public Structure IODBWVPRM + Public condition As Short + Public trg_adr As Byte + Public trg_bit As Byte + Public trg_no As Short + Public reserve1 As Short + Public delay As Integer + Public t_range As Integer + Public ch As IODBWVPRM_ch + End Structure + + ' cnc_rdwavedata:read the data of wave diagnosis + + Public Structure ODBWVDT_io + Public adr As Byte + Public bit As Byte + Public no As Short + End Structure + + Public Structure ODBWVDT_axis + Public axis As Short + End Structure + + Public Structure ODBWVDT_u + + Public io As ODBWVDT_io + + Public axis As ODBWVDT_axis + End Structure + + Public Structure ODBWVDT + Public channel As Short + Public kind As Short + Public u As ODBWVDT_u + Public year As Byte + Public month As Byte + Public day As Byte + Public hour As Byte + Public minute As Byte + Public second As Byte + Public t_cycle As Short + + Public data As Short() + End Structure + + ' cnc_rdrmtwaveprm:read the parameter of wave diagnosis for remort diagnosis + ' cnc_wrrmtwaveprm:write the parameter of wave diagnosis for remort diagnosis + + Public Structure IODBRMTPRM_alm + Public no As Short + Public axis As SByte + Public type As Byte + End Structure + + Public Structure IODBRMTPRM_io + Public adr As Char + Public bit As Byte + Public no As Short + End Structure + + Public Structure IODBRMTPRM_trg + + Public alm As IODBRMTPRM_alm + + Public io As IODBRMTPRM_alm + End Structure + + Public Structure IODBRMTPRM_smpl + Public adr As Char + Public bit As Byte + Public no As Short + End Structure + + Public Structure IODBRMTPRM1 + Public ampl1 As IODBRMTPRM_smpl + Public ampl2 As IODBRMTPRM_smpl + Public ampl3 As IODBRMTPRM_smpl + Public ampl4 As IODBRMTPRM_smpl + Public ampl5 As IODBRMTPRM_smpl + Public ampl6 As IODBRMTPRM_smpl + Public ampl7 As IODBRMTPRM_smpl + Public ampl8 As IODBRMTPRM_smpl + Public ampl9 As IODBRMTPRM_smpl + Public ampl10 As IODBRMTPRM_smpl + Public ampl11 As IODBRMTPRM_smpl + Public ampl12 As IODBRMTPRM_smpl + Public ampl13 As IODBRMTPRM_smpl + Public ampl14 As IODBRMTPRM_smpl + Public ampl15 As IODBRMTPRM_smpl + Public ampl16 As IODBRMTPRM_smpl + Public ampl17 As IODBRMTPRM_smpl + Public ampl18 As IODBRMTPRM_smpl + Public ampl19 As IODBRMTPRM_smpl + Public ampl20 As IODBRMTPRM_smpl + Public ampl21 As IODBRMTPRM_smpl + Public ampl22 As IODBRMTPRM_smpl + Public ampl23 As IODBRMTPRM_smpl + Public ampl24 As IODBRMTPRM_smpl + Public ampl25 As IODBRMTPRM_smpl + Public ampl26 As IODBRMTPRM_smpl + Public ampl27 As IODBRMTPRM_smpl + Public ampl28 As IODBRMTPRM_smpl + Public ampl29 As IODBRMTPRM_smpl + Public ampl30 As IODBRMTPRM_smpl + Public ampl31 As IODBRMTPRM_smpl + Public ampl32 As IODBRMTPRM_smpl + End Structure + + Public Structure IODBRMTPRM + Public condition As Short + Public reserve As Short + Public trg As IODBRMTPRM_trg + Public delay As Integer + Public wv_intrvl As Short + Public io_intrvl As Short + Public kind1 As Short + Public kind2 As Short + Public ampl As IODBRMTPRM1 + End Structure + + ' cnc_rdrmtwavedt:read the data of wave diagnosis for remort diagnosis + + Public Structure ODBRMTDT + Public channel As Short + Public kind As Short + Public year As Byte + Public month As Byte + Public day As Byte + Public hour As Byte + Public minute As Byte + Public second As Byte + Public t_intrvl As Short + Public trg_data As Short + Public ins_ptr As Integer + Public t_delta As Short + + Public data As Short() + End Structure + + ' cnc_rdsavsigadr:read of address for PMC signal batch save + ' cnc_wrsavsigadr:write of address for PMC signal batch save + + Public Structure IODBSIGAD + Public adr As Byte + Public reserve As Byte + Public no As Short + Public size As Short + End Structure + + ' cnc_rdmgrpdata:read M-code group data + + Public Structure ODBMGRP_data + Public m_code As Integer + Public grp_no As Short + + Public m_name As String + Public dummy As Byte + End Structure + + Public Structure ODBMGRP + Public mgrp1 As ODBMGRP_data + Public mgrp2 As ODBMGRP_data + Public mgrp3 As ODBMGRP_data + Public mgrp4 As ODBMGRP_data + Public mgrp5 As ODBMGRP_data + Public mgrp6 As ODBMGRP_data + Public mgrp7 As ODBMGRP_data + Public mgrp8 As ODBMGRP_data + Public mgrp9 As ODBMGRP_data + Public mgrp10 As ODBMGRP_data + End Structure + + ' cnc_wrmgrpdata:write M-code group data + + Public Structure IDBMGRP + Public s_no As Short + Public dummy As Short + Public num As Short + + Public group As Short() + End Structure + + ' cnc_rdexecmcode:read executing M-code group data + + Public Structure ODBEXEM_data + Public no As Integer + Public flag As Short + End Structure + + Public Structure ODBEXEM1 + Public m_code1 As ODBEXEM_data + Public m_code2 As ODBEXEM_data + Public m_code3 As ODBEXEM_data + Public m_code4 As ODBEXEM_data + Public m_code5 As ODBEXEM_data + End Structure + + Public Structure ODBEXEM + Public grp_no As Short + Public mem_no As Short + Public m_code As ODBEXEM1 + + Public m_name As String + Public dummy As Byte + End Structure + + ' cnc_rdrstrmcode:read program restart M-code group data + + Public Structure M_CODE_data + Public no As Integer + Public flag As Short + End Structure + + Public Structure M_CODE1 + Public m_code1 As M_CODE_data + Public m_code2 As M_CODE_data + Public m_code3 As M_CODE_data + Public m_code4 As M_CODE_data + Public m_code5 As M_CODE_data + End Structure + + Public Structure ODBRSTRM + Public grp_no As Short + Public mem_no As Short + Public m_code As M_CODE1 + End Structure + + ' cnc_rdproctime:read processing time stamp data + + Public Structure ODBPTIME_data + Public prg_no As Integer + Public hour As Short + Public minute As Byte + Public second As Byte + End Structure + + Public Structure ODBPTIME1 + Public data1 As ODBPTIME_data + Public data2 As ODBPTIME_data + Public data3 As ODBPTIME_data + Public data4 As ODBPTIME_data + Public data5 As ODBPTIME_data + Public data6 As ODBPTIME_data + Public data7 As ODBPTIME_data + Public data8 As ODBPTIME_data + Public data9 As ODBPTIME_data + Public data10 As ODBPTIME_data + End Structure ' In case that the number of data is 10 + + Public Structure ODBPTIME + Public num As Short + Public data As ODBPTIME1 + End Structure + + ' cnc_rdprgdirtime:read program directory for processing time data + + Public Structure PRGDIRTM_data + Public prg_no As Integer + + Public m_name As String + + Public cuttime As String + End Structure + + Public Structure PRGDIRTM + Public data1 As PRGDIRTM_data + Public data2 As PRGDIRTM_data + Public data3 As PRGDIRTM_data + Public data4 As PRGDIRTM_data + Public data5 As PRGDIRTM_data + Public data6 As PRGDIRTM_data + Public data7 As PRGDIRTM_data + Public data8 As PRGDIRTM_data + Public data9 As PRGDIRTM_data + Public data10 As PRGDIRTM_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdprogdir2:read program directory 2 +#If ONO8D = Nothing Then + + Public Structure PRGDIR2_data + Public number As Short + Public length As Integer + + Public comment As String + Public dummy As Byte + End Structure +#Else + _ + Public Structure PRGDIR2_data + Public number As Integer + Public length As Integer + _ + Public comment As String + Public dummy As Byte + End Structure +#End If + + Public Structure PRGDIR2 + Public dir1 As PRGDIR2_data + Public dir2 As PRGDIR2_data + Public dir3 As PRGDIR2_data + Public dir4 As PRGDIR2_data + Public dir5 As PRGDIR2_data + Public dir6 As PRGDIR2_data + Public dir7 As PRGDIR2_data + Public dir8 As PRGDIR2_data + Public dir9 As PRGDIR2_data + Public dir10 As PRGDIR2_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdprogdir3:read program directory 3 + + Public Structure DIR3_MDATE + Public year As Short + Public month As Short + Public day As Short + Public hour As Short + Public minute As Short + Public dummy As Short + End Structure + + Public Structure DIR3_CDATE + Public year As Short + Public month As Short + Public day As Short + Public hour As Short + Public minute As Short + Public dummy As Short + End Structure + + Public Structure PRGDIR3_data + Public number As Integer + Public length As Integer + Public page As Integer + + Public comment As String + Public mdate As DIR3_MDATE + Public cdate1 As DIR3_CDATE + End Structure + + Public Structure PRGDIR3 + Public dir1 As PRGDIR3_data + Public dir2 As PRGDIR3_data + Public dir3 As PRGDIR3_data + Public dir4 As PRGDIR3_data + Public dir5 As PRGDIR3_data + Public dir6 As PRGDIR3_data + Public dir7 As PRGDIR3_data + Public dir8 As PRGDIR3_data + Public dir9 As PRGDIR3_data + Public dir10 As PRGDIR3_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdprogdir4:read program directory 4 + + Public Structure DIR4_MDATE + Public year As Short + Public month As Short + Public day As Short + Public hour As Short + Public minute As Short + Public dummy As Short + End Structure + + Public Structure DIR4_CDATE + Public year As Short + Public month As Short + Public day As Short + Public hour As Short + Public minute As Short + Public dummy As Short + End Structure + + Public Structure PRGDIR4_data + Public number As Integer + Public length As Integer + Public page As Integer + + Public comment As String + Public mdate As DIR3_MDATE + Public cdate1 As DIR3_CDATE + End Structure + + Public Structure PRGDIR4 + Public dir1 As PRGDIR4_data + Public dir2 As PRGDIR4_data + Public dir3 As PRGDIR4_data + Public dir4 As PRGDIR4_data + Public dir5 As PRGDIR4_data + Public dir6 As PRGDIR4_data + Public dir7 As PRGDIR4_data + Public dir8 As PRGDIR4_data + Public dir9 As PRGDIR4_data + Public dir10 As PRGDIR4_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdcomparam:read communication parameter for DNC1, DNC2, OSI-Ethernet + ' cnc_wrcomparam:write communication parameter for DNC1, DNC2, OSI-Ethernet + + Public Structure IODBCPRM + + Public NcApli As String + Public Dummy1 As Byte + + Public HostApli As String + Public Dummy2 As Byte + Public StatPstv As Integer ' C# uint + Public StatNgtv As Integer ' C# uint + Public Statmask As Integer ' C# uint + Public AlarmStat As Integer ' C# uint + Public PsclHaddr As Integer ' C# uint + Public PsclLaddr As Integer ' C# uint + Public SvcMode1 As Short ' C# ushort + Public SvcMode2 As Short ' C# ushort + Public FileTout As Integer + Public RemTout As Integer + End Structure + + ' cnc_rdintchk:read interference check + ' cnc_wrintchk:write interference check + + Public Structure IODBINT + Public datano_s As Short ' start offset No. + Public type As Short ' kind of position + Public datano_e As Short ' end offset No. + + Public data As Integer() ' position value of area for not attach + End Structure + + ' cnc_rdwkcdshft:read work coordinate shift + ' cnc_wrwkcdshft:write work coordinate shift + ' cnc_rdwkcdsfms:read work coordinate shift measure + ' cnc_wrwkcdsfms:write work coordinate shift measure + + Public Structure IODBWCSF + Public datano As Short ' datano + Public type As Short ' axis number + + Public data As Integer() ' data + End Structure + + ' cnc_rdomhisinfo:read operator message history information + + Public Structure ODBOMIF + Public om_max As Short ' maximum operator message history C# ushort + Public om_sum As Short ' actually operator message history C# ushort + Public om_char As Short ' maximum character (include NULL) C# ushort + End Structure + + ' cnc_rdomhistry:read operator message history + + Public Structure ODBOMHIS_data + Public om_no As Short ' operator message number + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' mimute + Public second As Short ' second + + Public om_msg As String + End Structure + + Public Structure ODBOMHIS + Public omhis1 As ODBOMHIS_data + Public omhis2 As ODBOMHIS_data + Public omhis3 As ODBOMHIS_data + Public omhis4 As ODBOMHIS_data + Public omhis5 As ODBOMHIS_data + Public omhis6 As ODBOMHIS_data + Public omhis7 As ODBOMHIS_data + Public omhis8 As ODBOMHIS_data + Public omhis9 As ODBOMHIS_data + Public omhis10 As ODBOMHIS_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdbtofsr:read b-axis tool offset value(area specified) + ' cnc_wrbtofsr:write b-axis tool offset value(area specified) + + Public Structure IODBBTO + Public datano_s As Short ' start offset number + Public type As Short ' offset type + Public datano_e As Short ' end offset number + + Public ofs As Integer() ' offset + End Structure ' In case that the number of data is 9 (B type) + + ' cnc_rdbtofsinfo:read b-axis tool offset information + + Public Structure ODBBTLINF + Public ofs_type As Short ' memory type + Public use_no As Short ' sum of b-axis offset + Public sub_no As Short ' sub function number of offset cancel + End Structure + + ' cnc_rdbaxis:read b-axis command + + Public Structure ODBBAXIS + Public flag As Short ' b-axis command exist or not + Public command As Short ' b-axis command + Public speed As Short ' b-axis speed C# ushort + Public sub_data As Integer ' b-axis sub data + End Structure + + ' cnc_rdsyssoft:read CNC system soft series and version + + Public Structure ODBSYSS + + Public slot_no_p As Byte() + + Public slot_no_l As Byte() + + Public module_id As Short() + + Public soft_id As Short() + + Public soft_series1 As String + + Public soft_series2 As String + + Public soft_series3 As String + + Public soft_series4 As String + + Public soft_series5 As String + + Public soft_series6 As String + + Public soft_series7 As String + + Public soft_series8 As String + + Public soft_series9 As String + + Public soft_series10 As String + + Public soft_series11 As String + + Public soft_series12 As String + + Public soft_series13 As String + + Public soft_series14 As String + + Public soft_series15 As String + + Public soft_series16 As String + + Public soft_version1 As String + + Public soft_version2 As String + + Public soft_version3 As String + + Public soft_version4 As String + + Public soft_version5 As String + + Public soft_version6 As String + + Public soft_version7 As String + + Public soft_version8 As String + + Public soft_version9 As String + + Public soft_version10 As String + + Public soft_version11 As String + + Public soft_version12 As String + + Public soft_version13 As String + + Public soft_version14 As String + + Public soft_version15 As String + + Public soft_version16 As String + Public soft_inst As Short + + Public boot_ser As String + + Public boot_ver As String + + Public servo_ser As String + + Public servo_ver As String + + Public pmc_ser As String + + Public pmc_ver As String + + Public ladder_ser As String + + Public ladder_ver As String + + Public mcrlib_ser As String + + Public mcrlib_ver As String + + Public mcrapl_ser As String + + Public mcrapl_ver As String + + Public spl1_ser As String + + Public spl1_ver As String + + Public spl2_ser As String + + Public spl2_ver As String + + Public spl3_ser As String + + Public spl3_ver As String + + Public c_exelib_ser As String + + Public c_exelib_ver As String + + Public c_exeapl_ser As String + + Public c_exeapl_ver As String + + Public int_vga_ser As String + + Public int_vga_ver As String + + Public out_vga_ser As String + + Public out_vga_ver As String + + Public pmm_ser As String + + Public pmm_ver As String + + Public pmc_mng_ser As String + + Public pmc_mng_ver As String + + Public pmc_shin_ser As String + + Public pmc_shin_ver As String + + Public pmc_shout_ser As String + + Public pmc_shout_ver As String + + Public pmc_c_ser As String + + Public pmc_c_ver As String + + Public pmc_edit_ser As String + + Public pmc_edit_ver As String + + Public lddr_mng_ser As String + + Public lddr_mng_ver As String + + Public lddr_apl_ser As String + + Public lddr_apl_ver As String + + Public spl4_ser As String + + Public spl4_ver As String + + Public mcr2_ser As String + + Public mcr2_ver As String + + Public mcr3_ser As String + + Public mcr3_ver As String + + Public eth_boot_ser As String + + Public eth_boot_ver As String + + Public reserve As Byte() + End Structure + + ' cnc_rdsyssoft2:read CNC system soft series and version (2) + + Public Structure ODBSYSS2 + + Public slot_no_p As Byte() + + Public slot_no_l As Byte() + + Public module_id As Short() + + Public soft_id As Short() + + Public soft_series1 As String + + Public soft_series2 As String + + Public soft_series3 As String + + Public soft_series4 As String + + Public soft_series5 As String + + Public soft_series6 As String + + Public soft_series7 As String + + Public soft_series8 As String + + Public soft_series9 As String + + Public soft_series10 As String + + Public soft_series11 As String + + Public soft_series12 As String + + Public soft_series13 As String + + Public soft_series14 As String + + Public soft_series15 As String + + Public soft_series16 As String + + Public soft_version1 As String + + Public soft_version2 As String + + Public soft_version3 As String + + Public soft_version4 As String + + Public soft_version5 As String + + Public soft_version6 As String + + Public soft_version7 As String + + Public soft_version8 As String + + Public soft_version9 As String + + Public soft_version10 As String + + Public soft_version11 As String + + Public soft_version12 As String + + Public soft_version13 As String + + Public soft_version14 As String + + Public soft_version15 As String + + Public soft_version16 As String + Public soft_inst As Short + + Public boot_ser As String + + Public boot_ver As String + + Public servo_ser As String + + Public servo_ver As String + + Public pmc_ser As String + + Public pmc_ver As String + + Public ladder_ser As String + + Public ladder_ver As String + + Public mcrlib_ser As String + + Public mcrlib_ver As String + + Public mcrapl_ser As String + + Public mcrapl_ver As String + + Public spl1_ser As String + + Public spl1_ver As String + + Public spl2_ser As String + + Public spl2_ver As String + + Public spl3_ser As String + + Public spl3_ver As String + + Public c_exelib_ser As String + + Public c_exelib_ver As String + + Public c_exeapl_ser As String + + Public c_exeapl_ver As String + + Public int_vga_ser As String + + Public int_vga_ver As String + + Public out_vga_ser As String + + Public out_vga_ver As String + + Public pmm_ser As String + + Public pmm_ver As String + + Public pmc_mng_ser As String + + Public pmc_mng_ver As String + + Public pmc_shin_ser As String + + Public pmc_shin_ver As String + + Public pmc_shout_ser As String + + Public pmc_shout_ver As String + + Public pmc_c_ser As String + + Public pmc_c_ver As String + + Public pmc_edit_ser As String + + Public pmc_edit_ver As String + + Public lddr_mng_ser As String + + Public lddr_mng_ver As String + + Public lddr_apl_ser As String + + Public lddr_apl_ver As String + + Public spl4_ser As String + + Public spl4_ver As String + + Public mcr2_ser As String + + Public mcr2_ver As String + + Public mcr3_ser As String + + Public mcr3_ver As String + + Public eth_boot_ser As String + + Public eth_boot_ver As String + + Public reserve As Byte() + + Public embEthe_ser As String + + Public embEthe_ver As String + + Public reserve2 As Byte() + End Structure + + '@cnc_rdsyssoft3:read CNC system soft series and version (3) + + Public Structure ODBSYSS3_data + Public soft_id As Short + + Public soft_series As Char() + + Public soft_edition As Char() + End Structure + + + Public Structure ODBSYSS3 + Public p1 As ODBSYSS3_data + Public p2 As ODBSYSS3_data + Public p3 As ODBSYSS3_data + Public p4 As ODBSYSS3_data + Public p5 As ODBSYSS3_data + Public p6 As ODBSYSS3_data + Public p7 As ODBSYSS3_data + Public p8 As ODBSYSS3_data + Public p9 As ODBSYSS3_data + Public p10 As ODBSYSS3_data + Public p11 As ODBSYSS3_data + Public p12 As ODBSYSS3_data + Public p13 As ODBSYSS3_data + Public p14 As ODBSYSS3_data + Public p15 As ODBSYSS3_data + Public p16 As ODBSYSS3_data + Public p17 As ODBSYSS3_data + Public p18 As ODBSYSS3_data + Public p19 As ODBSYSS3_data + Public p20 As ODBSYSS3_data + Public p21 As ODBSYSS3_data + Public p22 As ODBSYSS3_data + Public p23 As ODBSYSS3_data + Public p24 As ODBSYSS3_data + Public p25 As ODBSYSS3_data + Public p26 As ODBSYSS3_data + Public p27 As ODBSYSS3_data + Public p28 As ODBSYSS3_data + Public p29 As ODBSYSS3_data + Public p30 As ODBSYSS3_data + Public p31 As ODBSYSS3_data + Public p32 As ODBSYSS3_data + Public p33 As ODBSYSS3_data + Public p34 As ODBSYSS3_data + Public p35 As ODBSYSS3_data + Public p36 As ODBSYSS3_data + Public p37 As ODBSYSS3_data + Public p38 As ODBSYSS3_data + Public p39 As ODBSYSS3_data + Public p40 As ODBSYSS3_data + End Structure + + ' cnc_rdsyshard:read CNC system hard info + + Public Structure ODBSYSH_data + Public id1 As Integer + Public id2 As Integer + Public group_id As Short + Public hard_id As Short + Public hard_num As Short + Public slot_no As Short + Public id1_format As Short + Public id2_format As Short + End Structure + + Public Structure ODBSYSH + Public data1 As ODBSYSH_data + Public data2 As ODBSYSH_data + Public data3 As ODBSYSH_data + Public data4 As ODBSYSH_data + Public data5 As ODBSYSH_data + Public data6 As ODBSYSH_data + Public data7 As ODBSYSH_data + Public data8 As ODBSYSH_data + Public data9 As ODBSYSH_data + Public data10 As ODBSYSH_data + Public data11 As ODBSYSH_data + Public data12 As ODBSYSH_data + Public data13 As ODBSYSH_data + Public data14 As ODBSYSH_data + Public data15 As ODBSYSH_data + Public data16 As ODBSYSH_data + Public data17 As ODBSYSH_data + Public data18 As ODBSYSH_data + Public data19 As ODBSYSH_data + Public data20 As ODBSYSH_data + Public data21 As ODBSYSH_data + Public data22 As ODBSYSH_data + Public data23 As ODBSYSH_data + Public data24 As ODBSYSH_data + Public data25 As ODBSYSH_data + End Structure + + ' cnc_rdmdlconfig:read CNC module configuration information + + Public Structure ODBMDLC + Public from As Short + Public dram As Short + Public sram As Short + Public pmc As Short + Public crtc As Short + Public servo12 As Short + Public servo34 As Short + Public servo56 As Short + Public servo78 As Short + Public sic As Short + Public pos_lsi As Short + Public hi_aio As Short + + Public reserve As Short() + Public drmmrc As Short + Public drmarc As Short + Public pmcmrc As Short + Public dmaarc As Short + Public iopt As Short + Public hdiio As Short + Public gm2gr1 As Short + Public crtgr2 As Short + Public gm1gr2 As Short + Public gm2gr2 As Short + Public cmmrb As Short + Public sv5axs As Short + Public sv7axs As Short + Public sicaxs As Short + Public posaxs As Short + Public hamaxs As Short + Public romr64 As Short + Public srmr64 As Short + Public dr1r64 As Short + Public dr2r64 As Short + Public iopio2 As Short + Public hdiio2 As Short + Public cmmrb2 As Short + Public romfap As Short + Public srmfap As Short + Public drmfap As Short + Public drmare As Short + Public pmcmre As Short + Public dmaare As Short + Public frmbgg As Short + Public drmbgg As Short + Public asrbgg As Short + Public edtpsc As Short + Public slcpsc As Short + + Public reserve2 As Short() + End Structure + + ' cnc_rdpscdproc:read processing condition file (processing data) + ' cnc_wrpscdproc:write processing condition file (processing data) + + Public Structure IODBPSCD_data + Public slct As Short + Public feed As Integer + Public power As Short + Public freq As Short + Public duty As Short + Public g_press As Short + Public g_kind As Short + Public g_ready_t As Short + Public displace As Short + Public supple As Integer + Public edge_slt As Short + Public appr_slt As Short + + Public reserve As Short() + End Structure + + Public Structure IODBPSCD + Public data1 As IODBPSCD_data + Public data2 As IODBPSCD_data + Public data3 As IODBPSCD_data + Public data4 As IODBPSCD_data + Public data5 As IODBPSCD_data + Public data6 As IODBPSCD_data + Public data7 As IODBPSCD_data + Public data8 As IODBPSCD_data + Public data9 As IODBPSCD_data + Public data10 As IODBPSCD_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdpscdpirc:read processing condition file (piercing data) + ' cnc_wrpscdpirc:write processing condition file (piercing data) + + Public Structure IODBPIRC_data + Public slct As Short + Public power As Short + Public freq As Short + Public duty As Short + Public i_freq As Short + Public i_duty As Short + Public step_t As Short + Public step_sum As Short + Public pier_t As Integer + Public g_press As Short + Public g_kind As Short + Public g_time As Short + Public def_pos As Short + + Public reserve As Short() + End Structure + + Public Structure IODBPIRC + Public data1 As IODBPIRC_data + Public data2 As IODBPIRC_data + Public data3 As IODBPIRC_data + End Structure + + ' cnc_rdpscdedge:read processing condition file (edging data) + ' cnc_wrpscdedge:write processing condition file (edging data) + + Public Structure IODBEDGE_data + Public slct As Short + Public angle As Short + Public power As Short + Public freq As Short + Public duty As Short + Public pier_t As Integer + Public g_press As Short + Public g_kind As Short + Public r_len As Integer + Public r_feed As Short + Public r_freq As Short + Public r_duty As Short + + Public reserve As Short() + End Structure + + Public Structure IODBEDGE + Public data1 As IODBEDGE_data + Public data2 As IODBEDGE_data + Public data3 As IODBEDGE_data + Public data4 As IODBEDGE_data + Public data5 As IODBEDGE_data + End Structure + + ' cnc_rdpscdslop:read processing condition file (slope data) + ' cnc_wrpscdslop:write processing condition file (slope data) + + Public Structure IODBSLOP_data + Public slct As Integer + Public upleng As Integer + + Public upsp As Short() + Public dwleng As Integer + + Public dwsp As Short() + + Public reserve As Short() + End Structure + + Public Structure IODBSLOP + Public data1 As IODBSLOP_data + Public data2 As IODBSLOP_data + Public data3 As IODBSLOP_data + Public data4 As IODBSLOP_data + Public data5 As IODBSLOP_data + End Structure + + ' cnc_rdlpwrdty:read power controll duty data + ' cnc_wrlpwrdty:write power controll duty data + + Public Structure IODBLPWDT + Public slct As Short + Public dty_const As Short + Public dty_min As Short + + Public reserve As Short() + End Structure + + ' cnc_rdlpwrdat:read laser power data + + Public Structure ODBLOPDT + Public slct As Short + Public pwr_mon As Short + Public pwr_ofs As Short + Public pwr_act As Short + Public feed_act As Integer + + Public reserve As Short() + End Structure + + ' cnc_rdlagslt:read laser assist gas selection + ' cnc_wrlagslt:write laser assist gas selection + + Public Structure IODBLAGSL + Public slct As Short + Public ag_slt As Short + Public agflow_slt As Short + + Public reserve As Short() + End Structure + + ' cnc_rdlagst:read laser assist gas flow + ' cnc_wrlagst:write laser assist gas flow + + Public Structure GASFLOW + Public slct As Short + Public pre_time As Short + Public pre_press As Short + Public proc_press As Short + Public end_time As Short + Public end_press As Short + + Public reserve As Short() + End Structure + + Public Structure IODBLAGST + Public data1 As GASFLOW + Public data2 As GASFLOW + Public data3 As GASFLOW + End Structure + + ' cnc_rdledgprc:read laser power for edge processing + ' cnc_wrledgprc:write laser power for edge processing + + Public Structure IODBLEGPR + Public slct As Short + Public power As Short + Public freq As Short + Public duty As Short + + Public reserve As Short() + End Structure + + ' cnc_rdlprcprc:read laser power for piercing + ' cnc_wrlprcprc:write laser power for piercing + + Public Structure IODBLPCPR + Public slct As Short + Public power As Short + Public freq As Short + Public duty As Short + Public time As Integer + + Public reserve As Short() + End Structure + + ' cnc_rdlcmddat:read laser command data + + Public Structure ODBLCMDT + Public slct As Short + Public feed As Integer + Public power As Short + Public freq As Short + Public duty As Short + Public g_kind As Short + Public g_ready_t As Short + Public g_press As Short + Public error1 As Short + Public dsplc As Integer + + Public reserve As Short() + End Structure + + ' cnc_rdlactnum:read active number + + Public Structure ODBLACTN + Public slct As Short + Public act_proc As Short + Public act_pirce As Short + Public act_slop As Short + + Public reserve As Short() + End Structure + + ' cnc_rdlcmmt:read laser comment + + Public Structure ODBLCMMT + + Public comment As String + End Structure + + ' cnc_rdpwofsthis:read power correction factor history data + + Public Structure ODBPWOFST_data + Public pwratio As Integer + Public rfvolt As Integer + Public year As Short ' C# ushort + Public month As Short ' C# ushort + Public day As Short ' C# ushort + Public hour As Short ' C# ushort + Public minute As Short ' C# ushort + Public second As Short ' C# ushort + End Structure + + Public Structure ODBPWOFST + Public data1 As ODBPWOFST_data + Public data2 As ODBPWOFST_data + Public data3 As ODBPWOFST_data + Public data4 As ODBPWOFST_data + Public data5 As ODBPWOFST_data + Public data6 As ODBPWOFST_data + Public data7 As ODBPWOFST_data + Public data8 As ODBPWOFST_data + Public data9 As ODBPWOFST_data + Public data10 As ODBPWOFST_data + Public data11 As ODBPWOFST_data + Public data12 As ODBPWOFST_data + Public data13 As ODBPWOFST_data + Public data14 As ODBPWOFST_data + Public data15 As ODBPWOFST_data + Public data16 As ODBPWOFST_data + Public data17 As ODBPWOFST_data + Public data18 As ODBPWOFST_data + Public data19 As ODBPWOFST_data + Public data20 As ODBPWOFST_data + Public data21 As ODBPWOFST_data + Public data22 As ODBPWOFST_data + Public data23 As ODBPWOFST_data + Public data24 As ODBPWOFST_data + Public data25 As ODBPWOFST_data + Public data26 As ODBPWOFST_data + Public data27 As ODBPWOFST_data + Public data28 As ODBPWOFST_data + Public data29 As ODBPWOFST_data + Public data30 As ODBPWOFST_data + End Structure + + ' cnc_rdmngtime:read management time + ' cnc_wrmngtime:write management time + + Public Structure IODBMNGTIME_data + Public life As Integer ' C# uint + Public tota As Integer ' C# uint + End Structure + + Public Structure IODBMNGTIME + Public data1 As IODBMNGTIME_data + Public data2 As IODBMNGTIME_data + Public data3 As IODBMNGTIME_data + Public data4 As IODBMNGTIME_data + Public data5 As IODBMNGTIME_data + Public data6 As IODBMNGTIME_data + Public data7 As IODBMNGTIME_data + Public data8 As IODBMNGTIME_data + Public data9 As IODBMNGTIME_data + Public data10 As IODBMNGTIME_data + End Structure ' In case that the number of data is 10 + + ' cnc_rddischarge:read data related to electrical discharge at power correction ends + + Public Structure ODBDISCHRG + Public aps As Short ' C# ushort + Public year As Short ' C# ushort + Public month As Short ' C# ushort + Public day As Short ' C# ushort + Public hour As Short ' C# ushort + Public minute As Short ' C# ushort + Public second As Short ' C# ushort + Public hpc As Short + Public hfq As Short + Public hdt As Short + Public hpa As Short + Public hce As Integer + + Public rfi As Integer() + + Public rfv As Integer() + + Public dci As Integer() + + Public dcv As Integer() + + Public dcw As Integer() + End Structure + + ' cnc_rddischrgalm:read alarm history data related to electrical discharg + + Public Structure ODBDISCHRGALM_data + Public year As Short ' C# ushort + Public month As Short ' C# ushort + Public day As Short ' C# ushort + Public hour As Short ' C# ushort + Public minute As Short ' C# ushort + Public second As Short ' C# ushort + Public almnum As Integer + Public psec As Integer ' C# uint + Public hpc As Short + Public hfq As Short + Public hdt As Short + Public hpa As Short + Public hce As Integer + Public asq As Short ' C# ushort + Public psu As Short ' C# ushort + Public aps As Short ' C# ushort + Public dummy As Short + + Public rfi As Integer() + + Public rfv As Integer() + + Public dci As Integer() + + Public dcv As Integer() + + Public dcw As Integer() + + Public almcd As Short() + End Structure + + Public Structure ODBDISCHRGALM + Public data1 As ODBDISCHRGALM_data + Public data2 As ODBDISCHRGALM_data + Public data3 As ODBDISCHRGALM_data + Public data4 As ODBDISCHRGALM_data + Public data5 As ODBDISCHRGALM_data + End Structure + + ' cnc_gettimer:get date and time from cnc + ' cnc_settimer:set date and time for cnc + + Public Structure TIMER_DATE + Public year As Short + Public month As Short + Public date1 As Short + End Structure + + Public Structure TIMER_TIME + Public hour As Short + Public minute As Short + Public second As Short + End Structure + + Public Structure IODBTIMER + + Public type As Short + + Public dummy As Short + + Public date1 As TIMER_DATE + + Public time As TIMER_TIME + End Structure + + ' cnc_rdtimer:read timer data from cnc + ' cnc_wrtimer:write timer data for cnc + + Public Structure IODBTIME + Public minute As Integer + Public msec As Integer + End Structure + + ' cnc_rdtlctldata: read tool controll data + ' cnc_wrtlctldata: write tool controll data + + Public Structure IODBTLCTL + Public slct As Short + Public used_tool As Short + Public turret_indx As Short + Public zero_tl_no As Integer + Public t_axis_move As Integer + + Public total_punch As Integer() + + Public reserve As Short() + End Structure + + ' cnc_rdtooldata: read tool data + ' cnc_wrtooldata: read tool data + + Public Structure IODBTLDT_data + Public slct As Short + Public tool_no As Integer + Public x_axis_ofs As Integer + Public y_axis_ofs As Integer + Public turret_pos As Integer + Public chg_tl_no As Integer + Public punch_count As Integer + Public tool_life As Integer + Public m_tl_radius As Integer + Public m_tl_angle As Integer + Public tl_shape As Byte + Public tl_size_i As Integer + Public tl_size_j As Integer + Public tl_angle As Integer + + Public reserve As Integer() + End Structure + + Public Structure IODBTLDT + Public data1 As IODBTLDT_data + Public data2 As IODBTLDT_data + Public data3 As IODBTLDT_data + Public data4 As IODBTLDT_data + Public data5 As IODBTLDT_data + Public data6 As IODBTLDT_data + Public data7 As IODBTLDT_data + Public data8 As IODBTLDT_data + Public data9 As IODBTLDT_data + Public data10 As IODBTLDT_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdmultitldt: read multi tool data + ' cnc_wrmultitldt: write multi tool data + + Public Structure IODBMLTTL_data + Public slct As Short + Public m_tl_no As Short + Public m_tl_radius As Integer + Public m_tl_angle As Integer + Public x_axis_ofs As Integer + Public y_axis_ofs As Integer + Public tl_shape As Byte + Public tl_size_i As Integer + Public tl_size_j As Integer + Public tl_angle As Integer + + Public reserve As Integer() + End Structure + + Public Structure IODBMLTTL + Public data1 As IODBMLTTL_data + Public data2 As IODBMLTTL_data + Public data3 As IODBMLTTL_data + Public data4 As IODBMLTTL_data + Public data5 As IODBMLTTL_data + Public data6 As IODBMLTTL_data + Public data7 As IODBMLTTL_data + Public data8 As IODBMLTTL_data + Public data9 As IODBMLTTL_data + Public data10 As IODBMLTTL_data + End Structure ' In case that the number of data is 10 + + ' cnc_rdmtapdata: read multi tap data + ' cnc_wrmtapdata: write multi tap data + + Public Structure IODBMTAP_data + Public slct As Short + Public tool_no As Integer + Public x_axis_ofs As Integer + Public y_axis_ofs As Integer + Public punch_count As Integer + Public tool_life As Integer + + Public reserve As Integer() + End Structure + + Public Structure IODBMTAP + Public data1 As IODBMTAP_data + Public data2 As IODBMTAP_data + Public data3 As IODBMTAP_data + Public data4 As IODBMTAP_data + Public data5 As IODBMTAP_data + Public data6 As IODBMTAP_data + Public data7 As IODBMTAP_data + Public data8 As IODBMTAP_data + Public data9 As IODBMTAP_data + Public data10 As IODBMTAP_data + End Structure + + ' cnc_rdtoolinfo: read tool information + + Public Structure ODBPTLINF + Public tld_max As Short + Public mlt_max As Short + Public reserve As Short + + Public tld_size As Short() + + Public mlt_size As Short() + + Public reserves As Short() + End Structure + + ' cnc_rdsafetyzone: read safetyzone data + ' cnc_wrsafetyzone: write safetyzone data + + Public Structure IODBSAFE_data + Public slct As Short + + Public data As Integer() + End Structure + + Public Structure IODBSAFE + Public data1 As IODBSAFE_data + Public data2 As IODBSAFE_data + Public data3 As IODBSAFE_data + Public data4 As IODBSAFE_data + End Structure ' In case that the number of data is 4 + + ' cnc_rdtoolzone: read toolzone data + ' cnc_wrtoolzone: write toolzone data + + Public Structure IODBTLZN_data + Public slct As Short + + Public data As Integer() + End Structure + + Public Structure IODBTLZN + Public data1 As IODBTLZN_data + Public data2 As IODBTLZN_data + Public data3 As IODBTLZN_data + Public data4 As IODBTLZN_data + Public data5 As IODBTLZN_data + Public data6 As IODBTLZN_data + Public data7 As IODBTLZN_data + Public data8 As IODBTLZN_data + Public data9 As IODBTLZN_data + Public data10 As IODBTLZN_data + Public data11 As IODBTLZN_data + Public data12 As IODBTLZN_data + End Structure ' In case that the number of data is 12 + + ' cnc_rdacttlzone: read active toolzone data + + Public Structure ODBACTTLZN + Public act_no As Short + + Public data As Integer() + End Structure + + ' cnc_rdbrstrinfo:read block restart information + + Public Structure ODBBRS + + Public dest As Integer() + + Public dist As Integer() + End Structure ' In case that the number of axes is MAX_AXIS + + ' cnc_rdradofs:read tool radius offset for position data + + Public Structure ODBROFS + Public mode As Short + + Public pln_axes As Short() + + Public ofsvct As Integer() + End Structure + + ' cnc_rdlenofs:read tool length offset for position data + + Public Structure ODBLOFS + Public mode As Short + + Public ofsvct As Integer() + End Structure ' In case that the number of axes is MAX_AXIS + + ' cnc_rdfixcycle:read fixed cycle for position data + + Public Structure ODBFIX + Public mode As Short + + Public pln_axes As Short() + Public drl_axes As Short + Public i_pos As Integer + Public r_pos As Integer + Public z_pos As Integer + Public cmd_cnt As Integer + Public act_cnt As Integer + Public cut As Integer + + Public shift As Integer() + End Structure + + ' cnc_rdcdrotate:read coordinate rotate for position data + + Public Structure ODBROT + Public mode As Short + + Public pln_axes As Short() + + Public center As Integer() + Public angle As Integer + End Structure + + ' cnc_rd3dcdcnv:read 3D coordinate convert for position data + + Public Structure ODB3DCD + Public mode As Short + Public dno As Short + + Public cd_axes As Short() + + Public center As Integer() + + Public direct As Integer() + + Public angle As Integer() + End Structure + + ' cnc_rdmirimage:read programable mirror image for position data + + Public Structure ODBMIR + Public mode As Short + Public mir_flag As Integer + + Public mir_pos As Integer() + End Structure ' In case that the number of axes is MAX_AXIS + + ' cnc_rdscaling:read scaling data for position data + + Public Structure ODBSCL + Public mode As Short + + Public center As Integer() + + Public magnif As Integer() + End Structure ' In case that the number of axes is MAX_AXIS + + ' cnc_rd3dtofs:read 3D tool offset for position data + + Public Structure ODB3DTO + Public mode As Short + + Public ofs_axes As Short() + + Public ofsvct As Integer() + End Structure + + ' cnc_rdposofs:read tool position offset for position data + + Public Structure ODBPOFS + Public mode As Short + + Public ofsvct As Integer() + End Structure ' In case that the number of axes is MAX_AXIS + + ' cnc_rdhpccset:read hpcc setting data + ' cnc_wrhpccset:write hpcc setting data + + Public Structure IODBHPST + Public slct As Short + Public hpcc As Short + Public multi As Short + Public ovr1 As Short + Public ign_f As Short + Public foward As Short + Public max_f As Integer + Public ovr2 As Short + Public ovr3 As Short + Public ovr4 As Short + + Public reserve As Integer() + End Structure + + ' cnc_rdhpcctupr:read hpcc tuning data ( parameter input ) + ' cnc_wrhpcctupr:write hpcc tuning data ( parameter input ) + + Public Structure IODBHPPR_tune + Public slct As Short + Public diff As Short + Public fine As Short + Public acc_lv As Short + Public max_f As Integer + Public bipl As Short + Public aipl As Short + Public corner As Integer + Public clamp As Short + Public radius As Integer + Public max_cf As Integer + Public min_cf As Integer + Public foward As Integer + + Public reserve As Integer() + End Structure + + Public Structure IODBHPPR + Public tune1 As IODBHPPR_tune + Public tune2 As IODBHPPR_tune + Public tune3 As IODBHPPR_tune + End Structure + + ' cnc_rdhpcctuac:read hpcc tuning data ( acc input ) + ' cnc_wrhpcctuac:write hpcc tuning data ( acc input ) + + Public Structure IODBHPAC_tune + Public slct As Short + Public diff As Short + Public fine As Short + Public acc_lv As Short + Public bipl As Integer + Public aipl As Short + Public corner As Integer + Public clamp As Integer + Public c_acc As Integer + Public foward As Integer + + Public reserve As Integer() + End Structure + + Public Structure IODBHPAC + Public tune1 As IODBHPAC_tune + Public tune2 As IODBHPAC_tune + Public tune3 As IODBHPAC_tune + End Structure + + ' cnc_rd3dtooltip:read tip of tool for 3D handle + ' cnc_rd3dmovrlap:read move overrlap of tool for 3D handle + + Public Structure ODB3DHDL_data + + Public axes As Short() + + Public data As Integer() + End Structure + + Public Structure ODB3DHDL + Public data1 As ODB3DHDL_data + Public data2 As ODB3DHDL_data + End Structure + + ' cnc_rd3dpulse:read pulse for 3D handle + + Public Structure ODB3DPLS_data + Public right_angle_x As Integer + Public right_angle_y As Integer + Public tool_axis As Integer + Public tool_tip_a_b As Integer + Public tool_tip_c As Integer + End Structure + + Public Structure ODB3DPLS + Public pls1 As ODB3DPLS_data + Public pls2 As ODB3DPLS_data + End Structure + + ' cnc_rdaxisname: read axis name + + Public Structure ODBAXISNAME_data + Public name As Byte ' axis name + Public suff As Byte ' suffix + End Structure +#If FS30D Then + + Public Structure ODBAXISNAME + Public data1 As ODBAXISNAME_data + Public data2 As ODBAXISNAME_data + Public data3 As ODBAXISNAME_data + Public data4 As ODBAXISNAME_data + Public data5 As ODBAXISNAME_data + Public data6 As ODBAXISNAME_data + Public data7 As ODBAXISNAME_data + Public data8 As ODBAXISNAME_data + Public data9 As ODBAXISNAME_data + Public data10 As ODBAXISNAME_data + Public data11 As ODBAXISNAME_data + Public data12 As ODBAXISNAME_data + Public data13 As ODBAXISNAME_data + Public data14 As ODBAXISNAME_data + Public data15 As ODBAXISNAME_data + Public data16 As ODBAXISNAME_data + Public data17 As ODBAXISNAME_data + Public data18 As ODBAXISNAME_data + Public data19 As ODBAXISNAME_data + Public data20 As ODBAXISNAME_data + Public data21 As ODBAXISNAME_data + Public data22 As ODBAXISNAME_data + Public data23 As ODBAXISNAME_data + Public data24 As ODBAXISNAME_data + Public data25 As ODBAXISNAME_data + Public data26 As ODBAXISNAME_data + Public data27 As ODBAXISNAME_data + Public data28 As ODBAXISNAME_data + Public data29 As ODBAXISNAME_data + Public data30 As ODBAXISNAME_data + Public data31 As ODBAXISNAME_data + Public data32 As ODBAXISNAME_data + End Structure +#Else +#If M_AXIS2 Then + _ + Public Structure ODBAXISNAME + Public data1 As ODBAXISNAME_data + Public data2 As ODBAXISNAME_data + Public data3 As ODBAXISNAME_data + Public data4 As ODBAXISNAME_data + Public data5 As ODBAXISNAME_data + Public data6 As ODBAXISNAME_data + Public data7 As ODBAXISNAME_data + Public data8 As ODBAXISNAME_data + Public data9 As ODBAXISNAME_data + Public data10 As ODBAXISNAME_data + Public data11 As ODBAXISNAME_data + Public data12 As ODBAXISNAME_data + Public data13 As ODBAXISNAME_data + Public data14 As ODBAXISNAME_data + Public data15 As ODBAXISNAME_data + Public data16 As ODBAXISNAME_data + Public data17 As ODBAXISNAME_data + Public data18 As ODBAXISNAME_data + Public data19 As ODBAXISNAME_data + Public data20 As ODBAXISNAME_data + Public data21 As ODBAXISNAME_data + Public data22 As ODBAXISNAME_data + Public data23 As ODBAXISNAME_data + Public data24 As ODBAXISNAME_data + End Structure +#Else +#If FS15D Then + _ + Public Structure ODBAXISNAME + Public data1 As ODBAXISNAME_data + Public data2 As ODBAXISNAME_data + Public data3 As ODBAXISNAME_data + Public data4 As ODBAXISNAME_data + Public data5 As ODBAXISNAME_data + Public data6 As ODBAXISNAME_data + Public data7 As ODBAXISNAME_data + Public data8 As ODBAXISNAME_data + Public data9 As ODBAXISNAME_data + Public data10 As ODBAXISNAME_data + End Structure +#Else + _ + Public Structure ODBAXISNAME + Public data1 As ODBAXISNAME_data + Public data2 As ODBAXISNAME_data + Public data3 As ODBAXISNAME_data + Public data4 As ODBAXISNAME_data + Public data5 As ODBAXISNAME_data + Public data6 As ODBAXISNAME_data + Public data7 As ODBAXISNAME_data + Public data8 As ODBAXISNAME_data + End Structure +#End If +#End If +#End If + + ' cnc_rdspdlname: read spindle name + + Public Structure ODBSPDLNAME_data + Public name As Byte ' spindle name + Public suff1 As Byte ' suffix + Public suff2 As Byte ' suffix + Public suff3 As Byte ' suffix + End Structure + + Public Structure ODBSPDLNAME + Public data1 As ODBSPDLNAME_data + Public data2 As ODBSPDLNAME_data + Public data3 As ODBSPDLNAME_data + Public data4 As ODBSPDLNAME_data + End Structure + + ' cnc_exaxisname: read spindle name + + Public Structure ODBEXAXISNAME + + Public axname1 As String + + Public axname2 As String + + Public axname3 As String + + Public axname4 As String + + Public axname5 As String + + Public axname6 As String + + Public axname7 As String + + Public axname8 As String + + Public axname9 As String + + Public axname10 As String + + Public axname11 As String + + Public axname12 As String + + Public axname13 As String + + Public axname14 As String + + Public axname15 As String + + Public axname16 As String + + Public axname17 As String + + Public axname18 As String + + Public axname19 As String + + Public axname20 As String + + Public axname21 As String + + Public axname22 As String + + Public axname23 As String + + Public axname24 As String + + Public axname25 As String + + Public axname26 As String + + Public axname27 As String + + Public axname28 As String + + Public axname29 As String + + Public axname30 As String + + Public axname31 As String + + Public axname32 As String + End Structure + + ' cnc_wrunsolicprm: Set the unsolicited message parameters + ' cnc_rdunsolicprm: Get the unsolicited message parameters + + Public Structure IODBUNSOLIC_pmc + Public type As Short + Public rdaddr As Short + Public rdno As Short + Public rdsize As Short + End Structure + + Public Structure IODBUNSOLIC_dmy + Public type As Short + Public dummy1 As Integer + Public dummy2 As Short + End Structure + + Public Structure IODBUNSOLIC_rddata + + Public pmc As IODBUNSOLIC_pmc + + Public dmy As IODBUNSOLIC_dmy + End Structure + + + Public Structure IODBUNSOLIC + + Public ipaddr As String + Public port As Short ' C# ushort + Public reqaddr As Short + Public pmcno As Short + Public retry As Short + Public timeout As Short + Public alivetime As Short + Public setno As Short + Public rddata1 As IODBUNSOLIC_rddata + Public rddata2 As IODBUNSOLIC_rddata + Public rddata3 As IODBUNSOLIC_rddata + End Structure + + ' cnc_rdunsolicmsg: Reads the unsolicited message data + + Public Structure IDBUNSOLICMSG_msg + Public rdsize As Short + + Public data As Object + End Structure + + Public Structure IDBUNSOLICMSG1 + Public msg1 As IDBUNSOLICMSG_msg + Public msg2 As IDBUNSOLICMSG_msg + Public msg3 As IDBUNSOLICMSG_msg + End Structure + + Public Structure IDBUNSOLICMSG + Public getno As Short + Public msg As IDBUNSOLICMSG1 + End Structure + + ' cnc_rdpm_cncitem: read cnc maintenance item + ' cnc_rdpm_mcnitem: read machine specific maintenance item + ' cnc_wrpm_mcnitem: write machine specific maintenance item + + Public Structure IODBITEM + + Public name1 As String + + Public name2 As String + + Public name3 As String + + Public name4 As String + + Public name5 As String + + Public name6 As String + + Public name7 As String + + Public name8 As String + + Public name9 As String + + Public name10 As String + End Structure + + ' cnc_rdpm_item:read maintenance item status + + Public Structure IODBPMAINTE_data + + Public name As String ' name + Public type As Integer ' life count type + Public total As Integer ' total life time (minite basis) + Public remain As Integer ' life rest time + Public stat As Integer ' life state + End Structure + + + Public Structure IODBPMAINTE + Public data1 As IODBPMAINTE_data + Public data2 As IODBPMAINTE_data + Public data3 As IODBPMAINTE_data + Public data4 As IODBPMAINTE_data + Public data5 As IODBPMAINTE_data + Public data6 As IODBPMAINTE_data + Public data7 As IODBPMAINTE_data + Public data8 As IODBPMAINTE_data + Public data9 As IODBPMAINTE_data + Public data10 As IODBPMAINTE_data + End Structure + + ' cnc_sysinfo_ex:read CNC system path information + + Public Structure ODBSYSEX_path + Public system As Short + Public group As Short + Public attrib As Short + Public ctrl_axis As Short + Public ctrl_srvo As Short + Public ctrl_spdl As Short + Public mchn_no As Short + Public reserved As Short + End Structure + + + Public Structure ODBSYSEX_data + Public data1 As ODBSYSEX_path + Public data2 As ODBSYSEX_path + Public data3 As ODBSYSEX_path + Public data4 As ODBSYSEX_path + Public data5 As ODBSYSEX_path + Public data6 As ODBSYSEX_path + Public data7 As ODBSYSEX_path + Public data8 As ODBSYSEX_path + Public data9 As ODBSYSEX_path + Public data10 As ODBSYSEX_path + End Structure + + + Public Structure ODBSYSEX + Public max_axis As Short + Public max_spdl As Short + Public max_path As Short + Public max_mchn As Short + Public ctrl_axis As Short + Public ctrl_srvo As Short + Public ctrl_spdl As Short + Public ctrl_path As Short + Public ctrl_mchn As Short + + Public reserved As Short() + Public path As ODBSYSEX_data + End Structure + + '------------------ + ' CNC : SERCOS I/F + '------------------ + + ' cnc_srcsrdidinfo:Read ID information of SERCOS I/F + ' cnc_srcswridinfo:Write ID information of SERCOS I/F + + Public Structure IODBIDINF + Public id_no As Integer + Public drv_no As Short + Public acc_element As Short + Public err_general As Short + Public err_id_no As Short + Public err_id_name As Short + Public err_attr As Short + Public err_unit As Short + Public err_min_val As Short + Public err_max_val As Short + Public id_name_len As Short + Public id_name_max As Short + + Public id_name As String + Public attr As Integer + Public unit_len As Short + Public unit_max As Short + + Public unit As Byte() + Public min_val As Integer + Public max_val As Integer + End Structure + + ' cnc_srcsrdexstat:Get execution status of reading/writing operation data of SERCOS I/F + + Public Structure ODBSRCSST + Public acc_element As Short + Public err_general As Short + Public err_id_no As Short + Public err_attr As Short + Public err_op_data As Short + End Structure + + ' cnc_srcsrdlayout:Read drive assign of SERCOS I/F + + Public Structure ODBSRCSLYT + + Public spndl As Short() + + Public servo As Short() + + Public axis_name As String + End Structure + + '---------------------------- + ' CNC : Servo Guide + '---------------------------- + ' cnc_sdsetchnl:Servo Guide (Channel data set) + + Public Structure IDBCHAN_data + Public chno As Byte + Public axis As SByte + Public datanum As Integer + Public datainf As Short ' C# ushort + Public dataadr As Short + End Structure + + Public Structure IDBCHAN + Public data1 As IDBCHAN_data + Public data2 As IDBCHAN_data + Public data3 As IDBCHAN_data + Public data4 As IDBCHAN_data + Public data5 As IDBCHAN_data + Public data6 As IDBCHAN_data + Public data7 As IDBCHAN_data + Public data8 As IDBCHAN_data + End Structure + + ' cnc_sdsetchnl:Servo Guide (read Sampling data) + ' cnc_sfbreadsmpl:Servo feedback data (read Sampling data) + + Public Structure ODBSD + Public chadata As IntPtr + Public count As IntPtr + End Structure + + ' cnc_sfbsetchnl:Servo feedback data (Channel data set) + + Public Structure IDBSFBCHAN + Public chno As Byte + Public axis As SByte + Public shift As Short ' C# ushort + End Structure + + + '------------------------- + ' CNC : FS18-LN function + '------------------------- + + ' cnc_allowcnd:read allowanced state + + Public Structure ODBCAXIS + Public dummy As Short ' dummy + Public type As Short ' axis number + + Public data As SByte() ' data value + End Structure + + + '--------------------------------- + ' CNC : C-EXE SRAM file function + '--------------------------------- + + ' read C-EXE SRAM disk directory + + Public Structure CFILEINFO_data + + Public fname As String ' file name + Public file_size As Integer ' file size (bytes) + Public file_attr As Integer ' attribute + Public year As Short ' year + Public month As Short ' month + Public day As Short ' day + Public hour As Short ' hour + Public minute As Short ' mimute + Public second As Short ' second + End Structure + + Public Structure CFILEINFO + Public data1 As CFILEINFO_data + Public data2 As CFILEINFO_data + Public data3 As CFILEINFO_data + Public data4 As CFILEINFO_data + Public data5 As CFILEINFO_data + Public data6 As CFILEINFO_data + Public data7 As CFILEINFO_data + Public data8 As CFILEINFO_data + Public data9 As CFILEINFO_data + Public data10 As CFILEINFO_data + End Structure + + '----- + ' PMC + '----- + + ' pmc_rdpmcrng:read PMC data(area specified) + ' pmc_wrpmcrng:write PMC data(area specified) + + Public Structure IODBPMC0 + + Public type_a As Short ' PMC address type + + Public type_d As Short ' PMC data type + + Public datano_s As Short ' start PMC address + + Public datano_e As Short ' end PMC address + + Public cdata As Byte() ' PMC data + End Structure ' In case that the number of data is 8 + + Public Structure IODBPMC1 + + Public type_a As Short ' PMC address type + + Public type_d As Short ' PMC data type + + Public datano_s As Short ' start PMC address + + Public datano_e As Short ' end PMC address + + Public idata As UShort() + End Structure ' In case that the number of data is 8 + + Public Structure IODBPMC2 + + Public type_a As Short ' PMC address type + + Public type_d As Short ' PMC data type + + Public datano_s As Short ' start PMC address + + Public datano_e As Short ' end PMC address + + Public ldata As UInteger() + End Structure ' In case that the number of data is 8 + + ' pmc_rdpmcinfo:read informations of PMC data + + Public Structure ODBPMCINF_info + Public pmc_adr As Char + Public adr_attr As Byte + Public top_num As Short ' C# ushort + Public last_num As Short ' C# ushort + End Structure + + Public Structure ODBPMCINF1 + Public info1 As ODBPMCINF_info + Public info2 As ODBPMCINF_info + Public info3 As ODBPMCINF_info + Public info4 As ODBPMCINF_info + Public info5 As ODBPMCINF_info + Public info6 As ODBPMCINF_info + Public info7 As ODBPMCINF_info + Public info8 As ODBPMCINF_info + Public info9 As ODBPMCINF_info + Public info10 As ODBPMCINF_info + Public info11 As ODBPMCINF_info + Public info12 As ODBPMCINF_info + Public info13 As ODBPMCINF_info + Public info14 As ODBPMCINF_info + Public info15 As ODBPMCINF_info + Public info16 As ODBPMCINF_info + Public info17 As ODBPMCINF_info + Public info18 As ODBPMCINF_info + Public info19 As ODBPMCINF_info + Public info20 As ODBPMCINF_info + Public info21 As ODBPMCINF_info + Public info22 As ODBPMCINF_info + Public info23 As ODBPMCINF_info + Public info24 As ODBPMCINF_info + Public info25 As ODBPMCINF_info + Public info26 As ODBPMCINF_info + Public info27 As ODBPMCINF_info + Public info28 As ODBPMCINF_info + Public info29 As ODBPMCINF_info + Public info30 As ODBPMCINF_info + Public info31 As ODBPMCINF_info + Public info32 As ODBPMCINF_info + Public info33 As ODBPMCINF_info + Public info34 As ODBPMCINF_info + Public info35 As ODBPMCINF_info + Public info36 As ODBPMCINF_info + Public info37 As ODBPMCINF_info + Public info38 As ODBPMCINF_info + Public info39 As ODBPMCINF_info + Public info40 As ODBPMCINF_info + Public info41 As ODBPMCINF_info + Public info42 As ODBPMCINF_info + Public info43 As ODBPMCINF_info + Public info44 As ODBPMCINF_info + Public info45 As ODBPMCINF_info + Public info46 As ODBPMCINF_info + Public info47 As ODBPMCINF_info + Public info48 As ODBPMCINF_info + Public info49 As ODBPMCINF_info + Public info50 As ODBPMCINF_info + Public info51 As ODBPMCINF_info + Public info52 As ODBPMCINF_info + Public info53 As ODBPMCINF_info + Public info54 As ODBPMCINF_info + Public info55 As ODBPMCINF_info + Public info56 As ODBPMCINF_info + Public info57 As ODBPMCINF_info + Public info58 As ODBPMCINF_info + Public info59 As ODBPMCINF_info + Public info60 As ODBPMCINF_info + Public info61 As ODBPMCINF_info + Public info62 As ODBPMCINF_info + Public info63 As ODBPMCINF_info + Public info64 As ODBPMCINF_info + End Structure + + Public Structure ODBPMCINF + Public datano As Short + Public info As ODBPMCINF1 + End Structure + + ' pmc_rdcntldata:read PMC parameter data table control data + ' pmc_wrcntldata:write PMC parameter data table control data + + Public Structure IODBPMCCNTL_info + Public tbl_prm As Byte + Public data_type As Byte + Public data_size As Short ' C# ushort + Public data_dsp As Short ' C# ushort + Public dummy As Short + End Structure + + Public Structure IODBPMCCNTL1 + Public info1 As IODBPMCCNTL_info + Public info2 As IODBPMCCNTL_info + Public info3 As IODBPMCCNTL_info + Public info4 As IODBPMCCNTL_info + Public info5 As IODBPMCCNTL_info + Public info6 As IODBPMCCNTL_info + Public info7 As IODBPMCCNTL_info + Public info8 As IODBPMCCNTL_info + Public info9 As IODBPMCCNTL_info + Public info10 As IODBPMCCNTL_info + Public info11 As IODBPMCCNTL_info + Public info12 As IODBPMCCNTL_info + Public info13 As IODBPMCCNTL_info + Public info14 As IODBPMCCNTL_info + Public info15 As IODBPMCCNTL_info + Public info16 As IODBPMCCNTL_info + Public info17 As IODBPMCCNTL_info + Public info18 As IODBPMCCNTL_info + Public info19 As IODBPMCCNTL_info + Public info20 As IODBPMCCNTL_info + Public info21 As IODBPMCCNTL_info + Public info22 As IODBPMCCNTL_info + Public info23 As IODBPMCCNTL_info + Public info24 As IODBPMCCNTL_info + Public info25 As IODBPMCCNTL_info + Public info26 As IODBPMCCNTL_info + Public info27 As IODBPMCCNTL_info + Public info28 As IODBPMCCNTL_info + Public info29 As IODBPMCCNTL_info + Public info30 As IODBPMCCNTL_info + Public info31 As IODBPMCCNTL_info + Public info32 As IODBPMCCNTL_info + Public info33 As IODBPMCCNTL_info + Public info34 As IODBPMCCNTL_info + Public info35 As IODBPMCCNTL_info + Public info36 As IODBPMCCNTL_info + Public info37 As IODBPMCCNTL_info + Public info38 As IODBPMCCNTL_info + Public info39 As IODBPMCCNTL_info + Public info40 As IODBPMCCNTL_info + Public info41 As IODBPMCCNTL_info + Public info42 As IODBPMCCNTL_info + Public info43 As IODBPMCCNTL_info + Public info44 As IODBPMCCNTL_info + Public info45 As IODBPMCCNTL_info + Public info46 As IODBPMCCNTL_info + Public info47 As IODBPMCCNTL_info + Public info48 As IODBPMCCNTL_info + Public info49 As IODBPMCCNTL_info + Public info50 As IODBPMCCNTL_info + Public info51 As IODBPMCCNTL_info + Public info52 As IODBPMCCNTL_info + Public info53 As IODBPMCCNTL_info + Public info54 As IODBPMCCNTL_info + Public info55 As IODBPMCCNTL_info + Public info56 As IODBPMCCNTL_info + Public info57 As IODBPMCCNTL_info + Public info58 As IODBPMCCNTL_info + Public info59 As IODBPMCCNTL_info + Public info60 As IODBPMCCNTL_info + Public info61 As IODBPMCCNTL_info + Public info62 As IODBPMCCNTL_info + Public info63 As IODBPMCCNTL_info + Public info64 As IODBPMCCNTL_info + Public info65 As IODBPMCCNTL_info + Public info66 As IODBPMCCNTL_info + Public info67 As IODBPMCCNTL_info + Public info68 As IODBPMCCNTL_info + Public info69 As IODBPMCCNTL_info + Public info70 As IODBPMCCNTL_info + Public info71 As IODBPMCCNTL_info + Public info72 As IODBPMCCNTL_info + Public info73 As IODBPMCCNTL_info + Public info74 As IODBPMCCNTL_info + Public info75 As IODBPMCCNTL_info + Public info76 As IODBPMCCNTL_info + Public info77 As IODBPMCCNTL_info + Public info78 As IODBPMCCNTL_info + Public info79 As IODBPMCCNTL_info + Public info80 As IODBPMCCNTL_info + Public info81 As IODBPMCCNTL_info + Public info82 As IODBPMCCNTL_info + Public info83 As IODBPMCCNTL_info + Public info84 As IODBPMCCNTL_info + Public info85 As IODBPMCCNTL_info + Public info86 As IODBPMCCNTL_info + Public info87 As IODBPMCCNTL_info + Public info88 As IODBPMCCNTL_info + Public info89 As IODBPMCCNTL_info + Public info90 As IODBPMCCNTL_info + Public info91 As IODBPMCCNTL_info + Public info92 As IODBPMCCNTL_info + Public info93 As IODBPMCCNTL_info + Public info94 As IODBPMCCNTL_info + Public info95 As IODBPMCCNTL_info + Public info96 As IODBPMCCNTL_info + Public info97 As IODBPMCCNTL_info + Public info98 As IODBPMCCNTL_info + Public info99 As IODBPMCCNTL_info + Public info100 As IODBPMCCNTL_info + End Structure + + Public Structure IODBPMCCNTL + Public datano_s As Short + Public dummy As Short + Public datano_e As Short + Public info As IODBPMCCNTL1 + End Structure + + ' pmc_rdalmmsg:read PMC alarm message + + Public Structure ODBPMCALM_data + + Public almmsg As String ' alarm message + End Structure + + Public Structure ODBPMCALM + Public msg1 As ODBPMCALM_data + Public msg2 As ODBPMCALM_data + Public msg3 As ODBPMCALM_data + Public msg4 As ODBPMCALM_data + Public msg5 As ODBPMCALM_data + Public msg6 As ODBPMCALM_data + Public msg7 As ODBPMCALM_data + Public msg8 As ODBPMCALM_data + Public msg9 As ODBPMCALM_data + Public msg10 As ODBPMCALM_data + End Structure ' In case that the number of data is 10 + + ' pmc_getdtailerr:get detail error for pmc + + Public Structure ODBPMCERR + Public err_no As Short + Public err_dtno As Short + End Structure + + ' pmc_rdpmctitle:read pmc title data + + Public Structure ODBPMCTITLE + + Public mtb As String + + Public machine As String + + Public type As String + + Public prgno As String + + Public prgvers As String + + Public prgdraw As String + + Public date1 As String + + Public design As String + + Public written As String + + Public remarks As String + End Structure + + ' pmc_rdpmcrng_ext:read PMC data + + Public Structure IODBPMCEXT + Public type_a As Short ' PMC address type + Public type_d As Short ' PMC data type + Public datano_s As Short ' start PMC address + Public datano_e As Short ' end PMC address + Public err_code As Short ' error code + Public reserved As Short ' reserved + + Public data As Object ' pointer to buffer + End Structure + + ' pmc_rdpmcaddr:read PMC address information + + Public Structure ODBPMCADR_info + Public pmc_adr As Byte + Public adr_attr As Byte + Public offset As Short ' C# ushort + Public top As Short ' C# ushort + Public num As Short ' C# ushort + End Structure + + Public Structure ODBPMCADR1 + Public info1 As ODBPMCADR_info + Public info2 As ODBPMCADR_info + Public info3 As ODBPMCADR_info + Public info4 As ODBPMCADR_info + Public info5 As ODBPMCADR_info + Public info6 As ODBPMCADR_info + Public info7 As ODBPMCADR_info + Public info8 As ODBPMCADR_info + Public info9 As ODBPMCADR_info + Public info10 As ODBPMCADR_info + Public info11 As ODBPMCADR_info + Public info12 As ODBPMCADR_info + Public info13 As ODBPMCADR_info + Public info14 As ODBPMCADR_info + Public info15 As ODBPMCADR_info + Public info16 As ODBPMCADR_info + Public info17 As ODBPMCADR_info + Public info18 As ODBPMCADR_info + Public info19 As ODBPMCADR_info + Public info20 As ODBPMCADR_info + Public info21 As ODBPMCADR_info + Public info22 As ODBPMCADR_info + Public info23 As ODBPMCADR_info + Public info24 As ODBPMCADR_info + Public info25 As ODBPMCADR_info + Public info26 As ODBPMCADR_info + Public info27 As ODBPMCADR_info + Public info28 As ODBPMCADR_info + Public info29 As ODBPMCADR_info + Public info30 As ODBPMCADR_info + Public info31 As ODBPMCADR_info + Public info32 As ODBPMCADR_info + Public info33 As ODBPMCADR_info + Public info34 As ODBPMCADR_info + Public info35 As ODBPMCADR_info + Public info36 As ODBPMCADR_info + Public info37 As ODBPMCADR_info + Public info38 As ODBPMCADR_info + Public info39 As ODBPMCADR_info + Public info40 As ODBPMCADR_info + Public info41 As ODBPMCADR_info + Public info42 As ODBPMCADR_info + Public info43 As ODBPMCADR_info + Public info44 As ODBPMCADR_info + Public info45 As ODBPMCADR_info + Public info46 As ODBPMCADR_info + Public info47 As ODBPMCADR_info + Public info48 As ODBPMCADR_info + Public info49 As ODBPMCADR_info + Public info50 As ODBPMCADR_info + Public info51 As ODBPMCADR_info + Public info52 As ODBPMCADR_info + Public info53 As ODBPMCADR_info + Public info54 As ODBPMCADR_info + Public info55 As ODBPMCADR_info + Public info56 As ODBPMCADR_info + Public info57 As ODBPMCADR_info + Public info58 As ODBPMCADR_info + Public info59 As ODBPMCADR_info + Public info60 As ODBPMCADR_info + Public info61 As ODBPMCADR_info + Public info62 As ODBPMCADR_info + Public info63 As ODBPMCADR_info + Public info64 As ODBPMCADR_info + End Structure + + Public Structure ODBPMCADR + Public io_adr As Integer ' C# uint + Public datano As Short + Public info As ODBPMCADR1 + End Structure + + + '-------------------------- + ' PROFIBUS function + '-------------------------- + + ' pmc_prfrdconfig:read PROFIBUS configration data + + Public Structure ODBPRFCNF + + Public master_ser As String + + Public master_ver As String + + Public slave_ser As String + + Public slave_ver As String + + Public cntl_ser As String + + Public cntl_ver As String + End Structure + + ' pmc_prfrdbusprm:read bus parameter for master function + ' pmc_prfwrbusprm:write bus parameter for master function + + Public Structure IODBBUSPRM + Public fdl_add As SByte + Public baudrate As SByte + Public tsl As Short ' C# ushort + Public min_tsdr As Short ' C# ushort + Public max_tsdr As Short ' C# ushort + Public tqui As Byte + Public tset As Byte + Public ttr As Integer + Public gap As SByte + Public hsa As SByte + Public max_retry As SByte + Public bp_flag As Byte + Public min_slv_int As Short ' C# ushort + Public poll_tout As Short ' C# ushort + Public data_cntl As Short ' C# ushort + + Public reserve1 As Byte() + + Public cls2_name As Byte() + Public user_dlen As Short + + Public user_data As Byte() + + Public reserve2 As Byte() + End Structure + + ' pmc_prfrdslvprm:read slave parameter for master function + ' pmc_prfwrslvprm:write slave parameter for master function + + Public Structure IODBSLVPRM + Public dis_enb As Short + Public ident_no As Short ' C# ushort + Public slv_flag As Byte + Public slv_type As Byte + + Public reserve1 As Byte() + Public slv_stat As Byte + Public wd_fact1 As Byte + Public wd_fact2 As Byte + Public min_tsdr As Byte + Public reserve2 As Char + Public grp_ident As Byte + Public user_plen As Short + + Public user_pdata As Byte() + Public cnfg_dlen As Short + + Public cnfg_data As Byte() + Public slv_ulen As Short + + Public slv_udata As Byte() + + Public reserve3 As Byte() + End Structure + + + Public Structure IODBSLVPRM2 + Public dis_enb As Short + Public ident_no As Short ' C# ushort + Public slv_flag As Byte + Public slv_type As Byte + + Public reserve1 As Byte() + Public slv_stat As Byte + Public wd_fact1 As Byte + Public wd_fact2 As Byte + Public min_tsdr As Byte + Public reserve2 As SByte + Public grp_ident As Byte + Public user_plen As Short + + Public user_pdata As Byte() + Public cnfg_dlen As Short + + Public cnfg_data As Byte() + Public slv_ulen As Short + + Public slv_udata As Byte() + + Public reserve3 As Byte() + End Structure + + ' pmc_prfrdallcadr:read allocation address for master function + ' pmc_prfwrallcadr:set allocation address for master function + + Public Structure IODBPRFADR + Public di_size As Byte + Public di_type As Byte + Public di_addr As Short ' C# ushort + Public reserve1 As Short + Public do_size As Byte + Public do_type As Byte + Public do_addr As Short ' C# ushort + Public reserve2 As Short + Public dgn_size As Byte + Public dgn_type As Byte + Public dgn_addr As Short ' C# ushort + End Structure + + ' pmc_prfrdslvaddr:read allocation address for slave function + ' pmc_prfwrslvaddr:set allocation address for slave function + + Public Structure IODBSLVADR + Public slave_no As Byte + Public di_size As Byte + Public di_type As Byte + Public di_addr As Short ' C# ushort + Public do_size As Byte + Public do_type As Byte + Public do_addr As Short ' C# ushort + + Public reserve As Byte() + End Structure + + ' pmc_prfrdslvstat:read status for slave function + + Public Structure ODBSLVST + Public cnfg_stat As Byte + Public prm_stat As Byte + Public wdg_stat As SByte + Public live_stat As Byte + Public ident_no As Short + End Structure + + ' pmc_prfwrslvid:Writes slave index data of master function + + Public Structure IODBSLVID + Public dis_enb As Short + Public slave_no As Short + Public nsl As Short + Public dgn_size As Byte + Public dgn_type As Char + Public dgn_addr As Short + End Structure + + ' pmc_prfrdslvprm2:Reads slave parameter of master function(2) + ' pmc_prfwrslvprm2:Writes slave parameter of master function(2) + + Public Structure IODBSLVPRM3 + Public ident_no As Short + Public slv_flag As Byte + Public slv_type As Byte + + Public reserve1 As Byte() + Public slv_stat As Byte + Public wd_fact1 As Byte + Public wd_fact2 As Byte + Public min_tsdr As Byte + Public reserve2 As Char + Public grp_ident As Byte + Public user_plen As Short + + Public user_pdata As Byte() + Public slv_ulen As Short + + Public slv_udata As Byte() + End Structure + + ' pmc_prfrddido:Reads DI/DO parameter of master function + ' pmc_prfwrdido:Writes DI/DO parameter of master function + + Public Structure IODBDIDO + Public slave_no As Short + Public slot_no As Short + Public di_size As Byte + Public di_type As Char + Public di_addr As Short + Public do_size As Byte + Public do_type As Char + Public do_addr As Short + Public shift As Short + Public module_dlen As Byte + + Public module_data As Byte() + End Structure + + ' pmc_prfrdindiadr:Reads indication address of master function + ' pmc_prfwrindiadr:Writes indication address of master function + + Public Structure IODBINDEADR + Public dummy As Byte + Public indi_type As Char + 'Public indi_type As Byte + Public indi_addr As Short + End Structure + + '----------------------------------------------- + ' DS : Data server & Ethernet board function + '----------------------------------------------- + + ' etb_rdparam : read@the parameter of the Ethernet board + ' etb_wrparam : write the parameter of the Ethernet board + + Public Structure TCPPRM + + Public OwnIPAddress As String + + Public SubNetMask As String + + Public RouterIPAddress As String + End Structure + + + Public Structure HOSTPRM + Public DataServerPort As Short + + Public DataServerIPAddress As String + + Public DataServerUserName As String + + Public DataServerPassword As String + + Public DataServerLoginDirectory As String + End Structure + + + Public Structure FTPPRM + + Public FTPServerUserName As String + + Public FTPServerPassword As String + + Public FTPServerLoginDirectory As String + End Structure + + + Public Structure ETBPRM + + Public OwnMACAddress As String + Public MaximumChannel As Short + Public HDDExistence As Short + Public NumberOfScreens As Short + End Structure + + + + Public Structure IODBETP_TCP + Public ParameterType As Short + Public tcp As TCPPRM + End Structure + + + Public Structure IODBETP_HOST + Public ParameterType As Short + Public host As HOSTPRM + End Structure + + + Public Structure IODBETP_FTP + Public ParameterType As Short + Public ftp As FTPPRM + End Structure + + + Public Structure IODBETP_ETB + Public ParameterType As Short + Public etb As ETBPRM + End Structure + + + Public Structure ODBETMSG + + Public title As String + + Public message As String + End Structure + + ' ds_rdhddinfo : read information of the Data Server's HDD + + Public Structure ODBHDDINF + Public file_num As Integer + Public remainder_l As Integer + Public remainder_h As Integer + + Public current_dir As Byte() + End Structure + + + Public Structure ODBHDDDIR_data + + Public file_name As String + + Public comment As String + Public attribute As Short + Public reserved As Short + Public size As Integer + + Public dates As String + End Structure + + Public Structure ODBHDDDIR + Public data1 As ODBHDDDIR_data + Public data2 As ODBHDDDIR_data + Public data3 As ODBHDDDIR_data + Public data4 As ODBHDDDIR_data + Public data5 As ODBHDDDIR_data + Public data6 As ODBHDDDIR_data + Public data7 As ODBHDDDIR_data + Public data8 As ODBHDDDIR_data + Public data9 As ODBHDDDIR_data + Public data10 As ODBHDDDIR_data + Public data11 As ODBHDDDIR_data + Public data12 As ODBHDDDIR_data + Public data13 As ODBHDDDIR_data + Public data14 As ODBHDDDIR_data + Public data15 As ODBHDDDIR_data + Public data16 As ODBHDDDIR_data + Public data17 As ODBHDDDIR_data + Public data18 As ODBHDDDIR_data + Public data19 As ODBHDDDIR_data + Public data20 As ODBHDDDIR_data + Public data21 As ODBHDDDIR_data + Public data22 As ODBHDDDIR_data + Public data23 As ODBHDDDIR_data + Public data24 As ODBHDDDIR_data + Public data25 As ODBHDDDIR_data + Public data26 As ODBHDDDIR_data + Public data27 As ODBHDDDIR_data + Public data28 As ODBHDDDIR_data + Public data29 As ODBHDDDIR_data + Public data30 As ODBHDDDIR_data + Public data31 As ODBHDDDIR_data + Public data32 As ODBHDDDIR_data + End Structure + + ' ds_rdhostdir : read the file list of the host + + Public Structure ODBHOSTDIR_data + + Public host_file As String + 'Public host_file As Char() + End Structure + + Public Structure ODBHOSTDIR + Public data1 As ODBHOSTDIR_data + Public data2 As ODBHOSTDIR_data + Public data3 As ODBHOSTDIR_data + Public data4 As ODBHOSTDIR_data + Public data5 As ODBHOSTDIR_data + Public data6 As ODBHOSTDIR_data + Public data7 As ODBHOSTDIR_data + Public data8 As ODBHOSTDIR_data + Public data9 As ODBHOSTDIR_data + Public data10 As ODBHOSTDIR_data + Public data11 As ODBHOSTDIR_data + Public data12 As ODBHOSTDIR_data + Public data13 As ODBHOSTDIR_data + Public data14 As ODBHOSTDIR_data + Public data15 As ODBHOSTDIR_data + Public data16 As ODBHOSTDIR_data + Public data17 As ODBHOSTDIR_data + Public data18 As ODBHOSTDIR_data + Public data19 As ODBHOSTDIR_data + Public data20 As ODBHOSTDIR_data + Public data21 As ODBHOSTDIR_data + Public data22 As ODBHOSTDIR_data + Public data23 As ODBHOSTDIR_data + Public data24 As ODBHOSTDIR_data + Public data25 As ODBHOSTDIR_data + Public data26 As ODBHOSTDIR_data + Public data27 As ODBHOSTDIR_data + Public data28 As ODBHOSTDIR_data + Public data29 As ODBHOSTDIR_data + Public data30 As ODBHOSTDIR_data + Public data31 As ODBHOSTDIR_data + Public data32 As ODBHOSTDIR_data + End Structure + + ' ds_rdmntinfo : read maintenance information + + Public Structure DSMNTINFO + Public empty_cnt As Short + Public total_size As Integer + Public ReadPtr As Short + Public WritePtr As Short + End Structure + + + '-------------------------- + ' HSSB multiple connection + '-------------------------- + + ' cnc_rdnodeinfo:read node informations + + Public Structure ODBNODE + Public node_no As Integer + Public io_base As Integer + Public status As Integer + Public cnc_type As Integer + + Public node_name As String + End Structure + + + '------------------------------------- + ' CNC: Control axis / spindle related + '------------------------------------- + + ' read actual axis feedrate(F) + Declare Function cnc_actf Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBACT) As Short + + ' read absolute axis position + Declare Function cnc_absolute Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read machine axis position + Declare Function cnc_machine Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read relative axis position + Declare Function cnc_relative Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read distance to go + Declare Function cnc_distance Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read skip position + Declare Function cnc_skip Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read servo delay value + Declare Function cnc_srvdelay Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read acceleration/deceleration delay value + Declare Function cnc_accdecdly Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read all dynamic data +#If ONO8D = Nothing Then + Declare Function cnc_rddynamic Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBDY_1) As Short + Declare Function cnc_rddynamic Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBDY_2) As Short +#Else + Declare Function cnc_rddynamico8 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBDY_1) As Short + Declare Function cnc_rddynamico8 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBDY_2) As Short +#End If + + ' read all dynamic data + Declare Function cnc_rddynamic2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBDY2_1) As Short + Declare Function cnc_rddynamic2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBDY2_2) As Short + + ' read actual spindle speed(S) + Declare Function cnc_acts Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBACT) As Short + + ' read actual spindle speed(S) (All or spesified) + Declare Function cnc_acts2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBACT2) As Short + + ' set origin / preset relative axis position + Declare Function cnc_wrrelpos Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IDBWRR) As Short + + ' preset work coordinate + Declare Function cnc_prstwkcd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IDBWRA) As Short + + ' read manual overlapped motion value + Declare Function cnc_rdmovrlap Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As IODBOVL) As Short + + ' cancel manual overlapped motion value + Declare Function cnc_canmovrlap Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read load information of serial spindle + Declare Function cnc_rdspload Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBSPN) As Short + + ' read maximum r.p.m. ratio of serial spindle + Declare Function cnc_rdspmaxrpm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBSPN) As Short + + ' read gear ratio of serial spindle + Declare Function cnc_rdspgear Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBSPN) As Short + + ' read absolute axis position 2 + Declare Function cnc_absolute2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read relative axis position 2 + Declare Function cnc_relative2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' set wire vertival position + Declare Function cnc_setvrtclpos Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' set wire threading position + Declare Function cnc_setthrdngpos Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read tool position + Declare Function cnc_rdposition Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBPOS) As Short + + ' read current speed + Declare Function cnc_rdspeed Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBSPEED) As Short + + ' read servo load meter + Declare Function cnc_rdsvmeter Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As ODBSVLOAD) As Short + + ' read spindle load meter + Declare Function cnc_rdspmeter Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBSPLOAD) As Short + + ' read handle interruption + Declare Function cnc_rdhndintrpt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBHND) As Short + + ' read manual feed for 5-axis machining + Declare Function cnc_rd5axmandt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODB5AXMAN) As Short + + ' read amount of machine axes movement of manual feed for 5-axis machining + Declare Function cnc_rd5axovrlap Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' clear pulse values of manual feed for 5-axis machining + Declare Function cnc_clr5axpls Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read constant surface speed + Declare Function cnc_rdspcss Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBCSS) As Short + + ' read execution program pointer + Declare Function cnc_rdexecpt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As PRGPNT, ByRef b As PRGPNT) As Short + + ' read various axis data + Declare Function cnc_rdaxisdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b() As Short, ByVal c As Short, ByRef d As Short, ByRef c As ODBAXDT) As Short + + '---------------------- + ' CNC: Program related + '---------------------- + + ' start downloading NC program + Declare Function cnc_dwnstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' download NC program + Declare Function cnc_download Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Short) As Short + + ' download NC program(conditional) + Declare Function cnc_cdownload Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Short) As Short + + ' end of downloading NC program + Declare Function cnc_dwnend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' end of downloading NC program 2 + Declare Function cnc_dwnend2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' start downloading NC program 3 + Declare Function cnc_dwnstart3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' start downloading NC program 3 special + Declare Function cnc_dwnstart3_f Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As String, ByVal c As String) As Short + + ' download NC program 3 + Declare Function cnc_download3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByVal b As String) As Short + + ' end of downloading NC program 3 + Declare Function cnc_dwnend3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start downloading NC program 4 + Declare Function cnc_dwnstart4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As String) As Short + + ' download NC program 4 + Declare Function cnc_download4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByVal b As String) As Short + + ' end of downloading NC program 4 + Declare Function cnc_dwnend4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start verification of NC program + Declare Function cnc_vrfstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' verify NC program + Declare Function cnc_verify Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Short) As Short + + ' verify NC program(conditional) + Declare Function cnc_cverify Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Short) As Short + + ' end of verification + Declare Function cnc_vrfend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start verification of NC program + Declare Function cnc_vrfstart4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' verify NC program + Declare Function cnc_verify4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, <[In], Out> ByVal a() As Char) As Short + + ' end of verification + Declare Function cnc_vrfend4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start downloading DNC program + Declare Function cnc_dncstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' download DNC program + Declare Function cnc_dnc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer) As Short + + ' download DNC program(conditional) + Declare Function cnc_cdnc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer) As Short + + ' end of downloading DNC program + Declare Function cnc_dncend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start downloading DNC program 2 + Declare Function cnc_dncstart2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char) As Short + + ' download DNC program 2 + Declare Function cnc_dnc2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByVal b As String) As Short + + ' end of downloading DNC program 2 + Declare Function cnc_dncend2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read the diagnosis data of DNC operation + Declare Function cnc_rddncdgndt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBDNCDGN) As Short + + ' start uploading NC program +#If ONO8D = Nothing Then + Declare Function cnc_upstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short +#Else + Declare Function cnc_upstart Lib "FWLIB32.DLL" Alias "cnc_upstarto8" _ + ( ByVal FlibHndl As Integer, ByVal a As Integer ) As Short +#End If + + ' upload NC program + Declare Function cnc_upload Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBUP, ByRef b As Integer) As Short + + ' upload NC program(conditional) + Declare Function cnc_cupload Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBUP, ByRef b As Integer) As Short + + ' end of uploading NC program + Declare Function cnc_upend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start uploading NC program 3 + Declare Function cnc_upstart3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByVal c As Integer) As Short + + ' start uploading NC program special 3 + Declare Function cnc_upstart3_f Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As String, ByVal c As String) As Short + + ' upload NC program 3 + Declare Function cnc_upload3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, <[In], Out> ByVal c() As Char) As Short + + ' end of uploading NC program 3 + Declare Function cnc_upend3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start uploading NC program 4 + Declare Function cnc_upstart4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As String) As Short + + ' upload NC program 4 + Declare Function cnc_upload4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, <[In], Out> ByVal b() As Char) As Short + + ' end of uploading NC program 4 + Declare Function cnc_upend4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read buffer status for downloading/verification NC program + Declare Function cnc_buff Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBBUF) As Short + + ' search specified program +#If ONO8D = Nothing Then + Declare Function cnc_search Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short +#Else + Declare Function cnc_search Lib "FWLIB32.DLL" Alias "cnc_searcho8" _ + ( ByVal FlibHndl As Integer, ByVal a As Integer ) As Short +#End If + + ' search specified program + Declare Function cnc_search2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' delete all programs + Declare Function cnc_delall Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' delete specified program +#If ONO8D = Nothing Then + Declare Function cnc_delete Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short +#Else + Declare Function cnc_delete Lib "FWLIB32.DLL" Alias "cnc_deleteo8" _ + ( ByVal FlibHndl As Integer, ByVal a As Integer ) As Short +#End If + + ' delete program (area specified) + Declare Function cnc_delrange Lib "FWLIB32.DLL" Alias "cnc_delrange" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer) As Short + + ' read program directory +#If ONO8D = Nothing Then + Declare Function cnc_rdprogdir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Integer, ByRef e As PRGDIR) As Short +#Else + Declare Function cnc_rdprogdir Lib "FWLIB32.DLL" Alias "cnc_rdprogdiro8" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Integer, ByRef e As PRGDIR) As Short +#End If + + ' read program information + Declare Function cnc_rdproginfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBNC_1) As Short + Declare Function cnc_rdproginfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBNC_2) As Short + + ' read program number under execution +#If ONO8D = Nothing Then + Declare Function cnc_rdprgnum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPRO) As Short +#Else + Declare Function cnc_rdprgnum Lib "FWLIB32.DLL" Alias "cnc_rdprgnumo8" _ + ( ByVal FlibHndl As Integer, ByRef a As ODBPRO ) As Short +#End If + + ' read program name under execution + Declare Function cnc_exeprgname Lib "FWLIB32.DLL" Alias "cnc_exeprgname" _ + (ByVal FlibHndl As Integer, ByRef a As ODBEXEPRG) As Short + + ' read sequence number under execution + Declare Function cnc_rdseqnum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSEQ) As Short + + ' search specified sequence number + Declare Function cnc_seqsrch Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' search specified sequence number (2) + Declare Function cnc_seqsrch2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' rewind cursor of NC program + Declare Function cnc_rewind Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read block counter + Declare Function cnc_rdblkcount Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + '' read program under execution + 'Declare Function cnc_rdexecprog Lib "FWLIB32.DLL" _ + ' (ByVal FlibHndl As Integer, ByRef a As Integer, ByRef b As Short, <[In], Out> ByVal c() As Char) As Short + ' read program under execution + Declare Function cnc_rdexecprog Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByRef b As Integer, <[In](), Out()> ByVal c() As Char) As Short + + ' read program for MDI operation + Declare Function cnc_rdmdiprog Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal c() As Char) As Short + + ' write program for MDI operation + Declare Function cnc_wrmdiprog Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As String) As Short + + ' read execution pointer for MDI operation +#If ONO8D = Nothing Then + Declare Function cnc_rdmdipntr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBMDIP) As Short +#Else + Declare Function cnc_rdmdipntr Lib "FWLIB32.DLL" Alias "cnc_rdmdipntro8" _ + ( ByVal FlibHndl As Integer, ByRef a As ODBMDIP ) As Short +#End If + + ' write execution pointer for MDI operation + Declare Function cnc_wrmdipntr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' register new program + Declare Function cnc_newprog Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' copy program + Declare Function cnc_copyprog Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer) As Short + + ' rename program + Declare Function cnc_renameprog Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer) As Short + + ' condense program + Declare Function cnc_condense Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer) As Short + + ' merge program + Declare Function cnc_mergeprog Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByVal c As Integer, ByVal d As Integer) As Short + + ' read current program and its pointer + Declare Function cnc_rdactpt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByRef b As Integer) As Short + + ' read current program and its pointer and UV macro pointer + Declare Function cnc_rduvactpt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByRef b As Integer, ByRef c As Integer) As Short + + ' set current program and its pointer + Declare Function cnc_wractpt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Short, ByRef c As Integer) As Short + + ' line edit (read program) + Declare Function cnc_rdprogline Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByVal b As Integer, <[In], Out> ByVal c() As Char, ByRef d As Integer, ByRef e As Integer) As Short + + ' line edit (read program) + Declare Function cnc_rdprogline2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByVal b As Integer, <[In], Out> ByVal c() As Char, ByRef d As Integer, ByRef e As Integer) As Short + + ' line edit (write program) + Declare Function cnc_wrprogline Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As String, ByVal d As Integer) As Short + + ' line edit (delete line in program) + Declare Function cnc_delprogline Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As Integer) As Short + + ' line edit (search string) + Declare Function cnc_searchword Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByVal b As Integer, ByVal c As Short, ByVal d As Short, ByVal e As Integer, ByVal f As String) As Short + + ' line edit (search string) + Declare Function cnc_searchresult Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' line edit (read program by file name) + Declare Function cnc_rdpdf_line Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer, <[In], Out> ByVal c() As Char, ByRef d As Integer, ByRef e As Integer) As Short + + ' program lock + Declare Function cnc_setpglock Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' program unlock + Declare Function cnc_resetpglock Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' read the status of the program lock + Declare Function cnc_rdpglockstat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByRef b As Integer) As Short + + ' create file or directory + Declare Function cnc_pdf_add Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' condense program file + Declare Function cnc_pdf_cond Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' change attribute of program file and directory + Declare Function cnc_wrpdf_attr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByRef b As IDBPDFTDIR) As Short + + ' copy program file + Declare Function cnc_pdf_copy Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' delete file or directory + Declare Function cnc_pdf_del Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' line edit (write program by file name) + Declare Function cnc_wrpdf_line Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer, ByVal c As String, ByVal d As Integer) As Short + + ' line edit (delete line by file name) + Declare Function cnc_pdf_delline Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer, ByVal c As Integer) As Short + + ' move program file + Declare Function cnc_pdf_move Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' read current program and its pointer + Declare Function cnc_pdf_rdactpt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char, ByRef b As Integer) As Short + + ' read selected file name + Declare Function cnc_pdf_rdmain Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char) As Short + + ' rename file or directory + Declare Function cnc_pdf_rename Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' line edit (search string) + Declare Function cnc_pdf_searchword Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As String) As Short + + ' line edit (search string) + Declare Function cnc_pdf_searchresult Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' select program file + Declare Function cnc_pdf_slctmain Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' set current program and its pointer + Declare Function cnc_pdf_wractpt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Short, ByRef c As Integer) As Short + + ' read program drive information + Declare Function cnc_rdpdf_inf Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Short, ByRef c As ODBPDFINF) As Short + + ' read program drive directory + Declare Function cnc_rdpdf_drive Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPDFDRV) As Short + + ' read current directory + Declare Function cnc_rdpdf_curdir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, <[In], Out> ByVal b() As Char) As Short + + ' set current directory + Declare Function cnc_wrpdf_curdir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, <[In], Out> ByVal b() As Char) As Short + + ' read directory (sub directories) + Declare Function cnc_rdpdf_subdir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As IDBPDFSDIR, ByRef b As ODBPDFSDIR) As Short + + ' read directory (all files) + Declare Function cnc_rdpdf_alldir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As IDBPDFADIR, ByRef c As ODBPDFADIR) As Short + + ' read file count in directory + Declare Function cnc_rdpdf_subdirn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByRef b As ODBPDFNFIL) As Short + + '--------------------------- + ' CNC: NC file data related + '--------------------------- + + ' read tool offset value + Declare Function cnc_rdtofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ODBTOFS) As Short + + ' write tool offset value + Declare Function cnc_wrtofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Integer) As Short + + ' read tool offset value(area specified) + Declare Function cnc_rdtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBTO_1_1) As Short + Declare Function cnc_rdtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBTO_1_2) As Short + Declare Function cnc_rdtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBTO_1_3) As Short + Declare Function cnc_rdtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBTO_2) As Short + Declare Function cnc_rdtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBTO_3) As Short + + ' write tool offset value(area specified) + Declare Function cnc_wrtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTO_1_1) As Short + Declare Function cnc_wrtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTO_1_2) As Short + Declare Function cnc_wrtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTO_1_3) As Short + Declare Function cnc_wrtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTO_2) As Short + Declare Function cnc_wrtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTO_3) As Short + + ' read work zero offset value + Declare Function cnc_rdzofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBZOFS) As Short + + ' write work zero offset value + Declare Function cnc_wrzofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBZOFS) As Short + + ' read work zero offset value(area specified) + Declare Function cnc_rdzofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBZOR) As Short + + ' write work zero offset value(area specified) + Declare Function cnc_wrzofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBZOR) As Short + + ' read mesured point value + Declare Function cnc_rdmsptype Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBMSTP) As Short + + ' write mesured point value + Declare Function cnc_wrmsptype Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef d As IODBMSTP) As Short + + ' read parameter + Declare Function cnc_rdparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPSD_1) As Short + Declare Function cnc_rdparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPSD_2) As Short + Declare Function cnc_rdparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPSD_3) As Short + Declare Function cnc_rdparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPSD_4) As Short + + ' write parameter + Declare Function cnc_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_1) As Short + Declare Function cnc_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_2) As Short + Declare Function cnc_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_3) As Short + Declare Function cnc_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_4) As Short + + ' read parameter + Declare Function cnc_rdparam3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBPSD_1) As Short + Declare Function cnc_rdparam3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBPSD_2) As Short + Declare Function cnc_rdparam3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBPSD_3) As Short + Declare Function cnc_rdparam3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBPSD_4) As Short + + ' read parameter(area specified) + Declare Function cnc_rdparar Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As IODBPSD_A) As Short + Declare Function cnc_rdparar Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As IODBPSD_B) As Short + Declare Function cnc_rdparar Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As IODBPSD_C) As Short + Declare Function cnc_rdparar Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As IODBPSD_D) As Short + + ' write parameter(area specified) + Declare Function cnc_wrparas Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_A) As Short + Declare Function cnc_wrparas Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_B) As Short + Declare Function cnc_wrparas Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_C) As Short + Declare Function cnc_wrparas Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_D) As Short + + ' read setting data + Declare Function cnc_rdset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPSD_1) As Short + Declare Function cnc_rdset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPSD_2) As Short + Declare Function cnc_rdset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPSD_3) As Short + Declare Function cnc_rdset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPSD_4) As Short + + ' write setting data + Declare Function cnc_wrset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_1) As Short + Declare Function cnc_wrset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_2) As Short + Declare Function cnc_wrset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_3) As Short + Declare Function cnc_wrset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_4) As Short + + ' read setting data(area specified) + Declare Function cnc_rdsetr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As IODBPSD_A) As Short + Declare Function cnc_rdsetr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As IODBPSD_B) As Short + Declare Function cnc_rdsetr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As IODBPSD_C) As Short + Declare Function cnc_rdsetr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As IODBPSD_D) As Short + + ' write setting data(area specified) + Declare Function cnc_wrsets Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_A) As Short + Declare Function cnc_wrsets Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_B) As Short + Declare Function cnc_wrsets Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_C) As Short + Declare Function cnc_wrsets Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPSD_D) As Short + + ' read parameters + Declare Function cnc_rdparam_ext Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBPRMNO, ByVal b As Short, ByRef c As IODBPRM) As Short + + ' async parameter write start + Declare Function cnc_start_async_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBPRM) As Short + + ' async parameter write end + Declare Function cnc_end_async_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read cause of busy for async parameter write + Declare Function cnc_async_busy_state Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read diagnosis data + Declare Function cnc_rddiag_ext Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBPRMNO, ByVal b As Short, ByRef c As IODBPRM) As Short + + ' read pitch error compensation data(area specified) + Declare Function cnc_rdpitchr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPI) As Short + + ' write pitch error compensation data(area specified) + Declare Function cnc_wrpitchr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPI) As Short + + ' read custom macro variable + Declare Function cnc_rdmacro Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBM) As Short + + ' write custom macro variable + Declare Function cnc_wrmacro Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Integer, ByVal d As Short) As Short + + ' read custom macro variables(area specified) + Declare Function cnc_rdmacror Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBMR) As Short + + ' write custom macro variables(area specified) + Declare Function cnc_wrmacror Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBMR) As Short + + ' read custom macro variables(IEEE double version) + Declare Function cnc_rdmacror2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, <[In], Out> ByRef c() As Double) As Short + + ' write custom macro variables(IEEE double version) + Declare Function cnc_wrmacror2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, <[In], Out> ByVal c() As Double) As Short + + ' read P code macro variable + Declare Function cnc_rdpmacro Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As ODBPM) As Short + + ' write P code macro variable + Declare Function cnc_wrpmacro Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As Short) As Short + + ' read P code macro variables(area specified) + Declare Function cnc_rdpmacror Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByRef d As IODBPR) As Short + + ' write P code macro variables(area specified) + Declare Function cnc_wrpmacror Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As IODBPR) As Short + + ' read P code macro variables(IEEE double version) + Declare Function cnc_rdpmacror2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, ByVal c As Short, <[In], Out> ByVal d() As Double) As Short + + ' write P code macro variables(IEEE double version) + Declare Function cnc_wrpmacror2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, ByVal c As Short, <[In], Out> ByVal d() As Double) As Short + + ' read tool offset information + Declare Function cnc_rdtofsinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBTLINF) As Short + + ' read tool offset information(2) + Declare Function cnc_rdtofsinfo2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBTLINF2) As Short + + ' read work zero offset information + Declare Function cnc_rdzofsinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read pitch error compensation data information + Declare Function cnc_rdpitchinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read custom macro variable information + Declare Function cnc_rdmacroinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBMVINF) As Short + + ' read P code macro variable information + Declare Function cnc_rdpmacroinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPMINF) As Short + + ' read validity of tool offset + Declare Function cnc_tofs_rnge Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByRef c As ODBDATRNG) As Short + + ' read validity of work zero offset + Declare Function cnc_zofs_rnge Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByRef c As ODBDATRNG) As Short + + ' read validity of work zero offset + Declare Function cnc_wksft_rnge Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As ODBDATRNG) As Short + + ' read the information for function cnc_rdhsparam() + Declare Function cnc_rdhsprminfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As HSPINFO_data) As Short + + ' read parameters at the high speed + Declare Function cnc_rdhsparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As HSPINFO, ByRef c As HSPDATA_1) As Short + + Declare Function cnc_rdhsparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As HSPINFO, ByRef c As HSPDATA_2) As Short + + Declare Function cnc_rdhsparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As HSPINFO, ByRef c As HSPDATA_3) As Short + + + '---------------------------------------- + ' CNC: Tool life management data related + '---------------------------------------- + + ' read tool life management data(tool group number) + Declare Function cnc_rdgrpid Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBTLIFE1) As Short + + ' read tool life management data(number of tool groups) + Declare Function cnc_rdngrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBTLIFE2) As Short + + ' read tool life management data(number of tools) + Declare Function cnc_rdntool Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBTLIFE3) As Short + + ' read tool life management data(tool life) + Declare Function cnc_rdlife Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBTLIFE3) As Short + + ' read tool life management data(tool lift counter) + Declare Function cnc_rdcount Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBTLIFE3) As Short + + ' read tool life management data(tool length number-1) + Declare Function cnc_rd1length Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBTLIFE4) As Short + + ' read tool life management data(tool length number-2) + Declare Function cnc_rd2length Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBTLIFE4) As Short + + ' read tool life management data(cutter compensation no.-1) + Declare Function cnc_rd1radius Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBTLIFE4) As Short + + ' read tool life management data(cutter compensation no.-2) + Declare Function cnc_rd2radius Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBTLIFE4) As Short + + ' read tool life management data(tool information-1) + Declare Function cnc_t1info Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBTLIFE4) As Short + + ' read tool life management data(tool information-2) + Declare Function cnc_t2info Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBTLIFE4) As Short + + ' read tool life management data(tool number) + Declare Function cnc_toolnum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBTLIFE4) As Short + + ' read tool life management data(tool number, tool life, tool life counter)(area specified) + Declare Function cnc_rdtoolrng Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBTR) As Short + + ' read tool life management data(all data within group) + Declare Function cnc_rdtoolgrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBTG) As Short + + ' write tool life management data(tool life counter) (area specified) + Declare Function cnc_wrcountr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IDBWRC) As Short + + ' read tool life management data(used tool group number) + Declare Function cnc_rdusegrpid Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBUSEGR) As Short + + ' read tool life management data(max. number of tool groups) + Declare Function cnc_rdmaxgrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBLFNO) As Short + + ' read tool life management data(maximum number of tool within group) + Declare Function cnc_rdmaxtool Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBLFNO) As Short + + ' read tool life management data(used tool no. within group) + Declare Function cnc_rdusetlno Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ODBTLUSE) As Short + + ' read tool life management data(tool data1) + Declare Function cnc_rd1tlifedata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As IODBTD) As Short + + ' read tool life management data(tool data2) + Declare Function cnc_rd2tlifedata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As IODBTD) As Short + + ' write tool life management data(tool data1) + Declare Function cnc_wr1tlifedata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBTD) As Short + + ' write tool life management data(tool data2) + Declare Function cnc_wr2tlifedata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBTD) As Short + + ' read tool life management data(tool group information) + Declare Function cnc_rdgrpinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBTGI) As Short + + ' read tool life management data(tool group information 2) + Declare Function cnc_rdgrpinfo2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBTGI2) As Short + + ' read tool life management data(tool group information 3) + Declare Function cnc_rdgrpinfo3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBTGI3) As Short + + ' read tool life management data(tool group information 4) + Declare Function cnc_rdgrpinfo4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As Short, ByRef e As IODBTGI4) As Short + + ' write tool life management data(tool group information) + Declare Function cnc_wrgrpinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTGI) As Short + + ' write tool life management data(tool group information 2) + Declare Function cnc_wrgrpinfo2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTGI2) As Short + + ' write tool life management data(tool group information 3) + Declare Function cnc_wrgrpinfo3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTGI3) As Short + + ' delete tool life management data(tool group) + Declare Function cnc_deltlifegrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' insert tool life management data(tool data) + Declare Function cnc_instlifedt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IDBITD) As Short + + ' delete tool life management data(tool data) + Declare Function cnc_deltlifedt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short) As Short + + ' clear tool life management data(tool life counter, tool information)(area specified) + Declare Function cnc_clrcntinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short) As Short + + ' read tool life management data(tool group number) 2 + Declare Function cnc_rdgrpid2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As ODBTLIFE5) As Short + + ' read tool life management data(tool data1) 2 + Declare Function cnc_rd1tlifedat2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As IODBTD2) As Short + + ' write tool life management data(tool data1) 2 + Declare Function cnc_wr1tlifedat2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBTD2) As Short + + ' read tool life management data + Declare Function cnc_rdtlinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBTLINFO) As Short + + ' read tool life management data(used tool group number) + Declare Function cnc_rdtlusegrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBUSEGRP) As Short + + ' read tool life management data(tool group information 2) + Declare Function cnc_rdtlgrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Short, ByRef c As IODBTLGRP) As Short + + ' read tool life management data (tool data1) + Declare Function cnc_rdtltool Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByRef c As Short, ByRef d As IODBTLTOOL) As Short + + Declare Function cnc_rdexchgtgrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef b As Short, ByRef c As ODBEXGP) As Short + + '----------------------------------- + ' CNC: Tool management data related + '----------------------------------- + + ' new registration of tool management data + Declare Function cnc_regtool Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBTLMNG) As Short + + ' new registration of tool management data + Declare Function cnc_regtool_f2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBTLMNG_F2) As Short + + ' deletion of tool management data + Declare Function cnc_deltool Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short) As Short + + ' lead of tool management data + Declare Function cnc_rdtool Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBTLMNG) As Short + + ' lead of tool management data + Declare Function cnc_rdtool_f2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBTLMNG_F2) As Short + + ' write of tool management data + Declare Function cnc_wrtool Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTLMNG) As Short + + ' write of individual data of tool management data + Declare Function cnc_wrtool2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IDBTLM) As Short + + ' write tool management data + Declare Function cnc_wrtool_f2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTLMNG_F2_data) As Short + + ' new registration of magazine management data + Declare Function cnc_regmagazine Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As IODBTLMAG) As Short + + ' deletion of magazine management data + Declare Function cnc_delmagazine Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As IODBTLMAG2) As Short + + ' lead of magazine management data + Declare Function cnc_rdmagazine Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As IODBTLMAG) As Short + + ' Individual write of magazine management data + Declare Function cnc_wrmagazine Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short) As Short + + + '------------------------------------- + ' CNC: Operation history data related + '------------------------------------- + + ' stop logging operation history data + Declare Function cnc_stopophis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' restart logging operation history data + Declare Function cnc_startophis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read number of operation history data + Declare Function cnc_rdophisno Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read operation history data + Declare Function cnc_rdophistry Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByRef d As ODBHIS) As Short + + ' read operation history data + Declare Function cnc_rdophistry2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, <[In], Out> ByVal d() As ODBOPHIS) As Short + + ' read operation history data F30i + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_1) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_2) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_3) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_4) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_5) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_6) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_7) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_8) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_9) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_10) As Short + + Declare Function cnc_rdophistry4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByRef b As Integer, ByRef c As Integer, ByRef d As ODBOPHIS4_11) As Short + + ' read number of alarm history data + Declare Function cnc_rdalmhisno Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read alarm history data + Declare Function cnc_rdalmhistry Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByRef d As ODBAHIS) As Short + + ' read alarm history data + Declare Function cnc_rdalmhistry_w Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByVal c As Integer, ByRef d As ODBAHIS) As Short + + ' read alarm history data + Declare Function cnc_rdalmhistry2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByRef d As ODBAHIS2) As Short + + ' read alarm history data F30i + Declare Function cnc_rdalmhistry3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByRef d As ODBAHIS3) As Short + + ' read alarm history data F30i + Declare Function cnc_rdalmhistry5 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByRef d As ODBAHIS5) As Short + + ' clear operation history data + Declare Function cnc_clearophis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read signals related operation history + Declare Function cnc_rdhissgnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSIG) As Short + + ' read signals related operation history 2 + Declare Function cnc_rdhissgnl2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSIG2) As Short + + ' read signals related operation history 3 + Declare Function cnc_rdhissgnl3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSIG3) As Short + + ' write signals related operation history + Declare Function cnc_wrhissgnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSIG) As Short + + ' write signals related operation history 2 + Declare Function cnc_wrhissgnl2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSIG2) As Short + + ' write signals related operation history for F30i + Declare Function cnc_wrhissgnl3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSIG3) As Short + + ' read number of operater message history data + Declare Function cnc_rdomhisno Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + '------------- + ' CNC: Others + '------------- + + ' read CNC system information + Declare Function cnc_sysinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSYS) As Short + + ' read CNC status information + Declare Function cnc_statinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBST) As Short + + ' read alarm status + Declare Function cnc_alarm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBALM) As Short + + ' read alarm status + Declare Function cnc_alarm2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read alarm information + Declare Function cnc_rdalminfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ALMINFO_1) As Short + + Declare Function cnc_rdalminfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ALMINFO_2) As Short + + ' read alarm message + Declare Function cnc_rdalmmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBALMMSG) As Short + + ' read alarm message (2) + Declare Function cnc_rdalmmsg2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBALMMSG2) As Short + + ' clear CNC alarm + Declare Function cnc_clralm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read modal data + Declare Function cnc_modal Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBMDL_1) As Short + Declare Function cnc_modal Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBMDL_2) As Short + Declare Function cnc_modal Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBMDL_3) As Short + Declare Function cnc_modal Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBMDL_4) As Short + Declare Function cnc_modal Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBMDL_5) As Short + + ' read G code + Declare Function cnc_rdgcode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As Short, ByRef d As ODBGCD) As Short + + ' read command value + Declare Function cnc_rdcommand Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As Short, ByRef d As ODBCMD) As Short + + ' read diagnosis data + Declare Function cnc_diagnoss Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ODBDGN_1) As Short + Declare Function cnc_diagnoss Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ODBDGN_2) As Short + Declare Function cnc_diagnoss Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ODBDGN_3) As Short + Declare Function cnc_diagnoss Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ODBDGN_4) As Short + + ' read diagnosis data(area specified) + Declare Function cnc_diagnosr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As ODBDGN_A) As Short + Declare Function cnc_diagnosr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As ODBDGN_B) As Short + Declare Function cnc_diagnosr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As ODBDGN_C) As Short + Declare Function cnc_diagnosr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByRef a As Short, ByVal b As Short, ByRef c As Short, ByRef d As Short, ByRef e As ODBDGN_D) As Short + + ' read A/D conversion data + Declare Function cnc_adcnv Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAD) As Short + + ' read operator's message + Declare Function cnc_rdopmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As OPMSG) As Short + + ' read operator's message + Declare Function cnc_rdopmsg2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As OPMSG2) As Short + + ' read operator's message + Declare Function cnc_rdopmsg3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As OPMSG3) As Short + + ' set path number(for 4 axes lathes, multi-path) + Declare Function cnc_setpath Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' get path number(for 4 axes lathes, multi-path) + Declare Function cnc_getpath Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As Short) As Short + + ' allocate library handle + Declare Function cnc_allclibhndl Lib "FWLIB32.DLL" _ + (ByRef FlibHndl As Integer) As Short + + ' free library handle + Declare Function cnc_freelibhndl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' get library option + Declare Function cnc_getlibopt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, <[In], Out> ByVal b() As Char, ByRef c As Integer) As Short + + ' set library option + Declare Function cnc_setlibopt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b() As Char, ByVal c As Integer) As Short + + ' get custom macro type + Declare Function cnc_getmactype Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' set custom macro type + Declare Function cnc_setmactype Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' get P code macro type + Declare Function cnc_getpmactype Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' set P code macro type + Declare Function cnc_setpmactype Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' get screen status + Declare Function cnc_getcrntscrn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' change screen mode + Declare Function cnc_slctscrn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read CNC configuration information + Declare Function cnc_sysconfig Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSYSC) As Short + + ' read program restart information + Declare Function cnc_rdprstrinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPRS) As Short + + ' search sequence number for program restart + Declare Function cnc_rstrseqsrch Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c As Short, ByVal d As Short) As Short + + ' search sequence number for program restart 2 + Declare Function cnc_rstrseqsrch2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByVal b As Integer, ByVal c As Short, ByVal d As Short, ByVal e As Integer) As Short + + ' read output signal image of software operator's panel + Declare Function cnc_rdopnlsgnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSGNL) As Short + + ' write output signal of software operator's panel + Declare Function cnc_wropnlsgnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSGNL) As Short + + ' read general signal image of software operator's panel + Declare Function cnc_rdopnlgnrl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBGNRL) As Short + + ' write general signal image of software operator's panel + Declare Function cnc_wropnlgnrl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBGNRL) As Short + + ' read general signal name of software operator's panel + Declare Function cnc_rdopnlgsname Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBRDNA) As Short + + ' write general signal name of software operator's panel + Declare Function cnc_wropnlgsname Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBRDNA) As Short + + ' get detail error + Declare Function cnc_getdtailerr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBERR) As Short + + ' read informations of CNC parameter + Declare Function cnc_rdparainfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As ODBPARAIF) As Short + + ' read informations of CNC setting data + Declare Function cnc_rdsetinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As ODBSETIF) As Short + + ' read informations of CNC diagnose data + Declare Function cnc_rddiaginfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As ODBDIAGIF) As Short + + ' read maximum, minimum and total number of CNC parameter + Declare Function cnc_rdparanum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPARANUM) As Short + + ' read maximum, minimum and total number of CNC setting data + Declare Function cnc_rdsetnum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSETNUM) As Short + + ' read maximum, minimum and total number of CNC diagnose data + Declare Function cnc_rddiagnum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBDIAGNUM) As Short + + ' get maximum valid figures and number of decimal places + Declare Function cnc_getfigure Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByRef b As Short, <[In], Out> ByVal c() As Short, <[In], Out> ByVal d() As Short) As Short + + ' read F-ROM information on CNC + Declare Function cnc_rdfrominfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBFINFO) As Short + + ' start of reading F-ROM data from CNC + Declare Function cnc_fromsvstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As String, ByVal c As Integer) As Short + + ' read F-ROM data from CNC + Declare Function cnc_fromsave Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Byte, ByRef c As Integer) As Short + + ' end of reading F-ROM data from CNC + Declare Function cnc_fromsvend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start of writing F-ROM data to CNC + Declare Function cnc_fromldstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer) As Short + + ' write F-ROM data to CNC + Declare Function cnc_fromload Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal b() As Byte, ByRef b As Integer) As Short + + ' end of writing F-ROM data to CNC + Declare Function cnc_fromldend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' delete F-ROM data on CNC + Declare Function cnc_fromdelete Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As String, ByVal c As Integer) As Short + + ' read S-RAM information on CNC + Declare Function cnc_rdsraminfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSINFO) As Short + + ' start of reading S-RAM data from CNC + Declare Function cnc_srambkstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer) As Short + + ' read S-RAM data from CNC + Declare Function cnc_srambackup Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Byte, ByRef c As Integer) As Short + + ' end of reading S-RAM data from CNC + Declare Function cnc_srambkend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read F-ROM information on CNC + Declare Function cnc_getfrominfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBFINFORM) As Short + + ' start of reading F-ROM data from CNC + Declare Function cnc_fromgetstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As String) As Short + + ' read F-ROM data from CNC + Declare Function cnc_fromget Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Byte, ByRef c As Integer) As Short + + ' end of reading F-ROM data from CNC + Declare Function cnc_fromgetend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start of writing F-ROM data to CNC + Declare Function cnc_fromputstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' write F-ROM data to CNC + Declare Function cnc_fromput Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a() As Byte, ByRef b As Integer) As Short + + ' end of writing F-ROM data to CNC + Declare Function cnc_fromputend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' delete F-ROM data on CNC + Declare Function cnc_fromremove Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As String) As Short + + ' read S-RAM information on CNC + Declare Function cnc_getsraminfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSINFO) As Short + + ' start of reading S-RAM data from CNC + Declare Function cnc_sramgetstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' start of reading S-RAM data from CNC (2) + Declare Function cnc_sramgetstart2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read S-RAM data from CNC + Declare Function cnc_sramget Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Byte, ByRef c As Integer) As Short + + ' read S-RAM data from CNC (2) + Declare Function cnc_sramget2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Byte, ByRef c As Integer) As Short + + ' end of reading S-RAM data from CNC + Declare Function cnc_sramgetend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' end of reading S-RAM data from CNC (2) + Declare Function cnc_sramgetend2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read number of S-RAM data kind on CNC + Declare Function cnc_rdsramnum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read S-RAM data address information on CNC + Declare Function cnc_rdsramaddr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As SRAMADDR) As Short + + ' get current NC data protection information + Declare Function cnc_getlockstat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, <[In], Out> ByVal b() As Byte) As Short + + ' change NC data protection status + Declare Function cnc_chgprotbit Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, <[In], Out> ByVal b() As Byte, ByVal c As Integer) As Short + + ' transfer a file from host computer to CNC by FTP + Declare Function cnc_dtsvftpget Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' transfer a file from CNC to host computer by FTP + Declare Function cnc_dtsvftpput Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' get transfer status for FTP + Declare Function cnc_dtsvftpstat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read file directory in Data Server + Declare Function cnc_dtsvrdpgdir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Short, ByRef c As ODBDSDIR) As Short + + ' delete files in Data Server + Declare Function cnc_dtsvdelete Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' down load from CNC (transfer a file from CNC to MMC) + Declare Function cnc_dtsvdownload Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' up load to CNC (transfer a file from MMC to CNC) + Declare Function cnc_dtsvupload Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' close upload/download between Data Server and CNC + Declare Function cnc_dtsvcnclupdn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' get transfer status for up/down load + Declare Function cnc_dtsvupdnstat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' get file name for DNC operation in Data Server + Declare Function cnc_dtsvgetdncpg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char) As Short + + ' set program number of DNC oparation to CNC + Declare Function cnc_dtsvsetdncpg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read setting data for Data Server + Declare Function cnc_dtsvrdset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBDSSET) As Short + + ' write setting data for Data Server + Declare Function cnc_dtsvwrset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBDSSET) As Short + + ' check hard disk in Data Server + Declare Function cnc_dtsvchkdsk Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' format hard disk in Data Server + Declare Function cnc_dtsvhdformat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' save interface area in Data Server + Declare Function cnc_dtsvsavecram Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' get interface area in Data Server + Declare Function cnc_dtsvrdcram Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, <[In], Out> ByVal c() As Byte) As Short + + ' read maintenance information for Data Server + Declare Function cnc_dtsvmntinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBDSMNT) As Short + + ' get Data Server mode + Declare Function cnc_dtsvgetmode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' set Data Server mode + Declare Function cnc_dtsvsetmode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read error message for Data Server + Declare Function cnc_dtsvrderrmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, <[In], Out> ByVal b() As Char) As Short + + ' transfar file from Pc to Data Server + Declare Function cnc_dtsvwrfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String, ByVal c As Short) As Short + + ' transfar file from Data Server to Pc + Declare Function cnc_dtsvrdfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String, ByVal c As Short) As Short + + ' read the loop gain for each axis + Declare Function cnc_rdloopgain Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read the actual current for each axis + Declare Function cnc_rdcurrent Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read the actual speed for each axis + Declare Function cnc_rdsrvspeed Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read the operation mode + Declare Function cnc_rdopmode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read the position deviation S + Declare Function cnc_rdposerrs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read the position deviation S1 and S2 + Declare Function cnc_rdposerrs2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPSER) As Short + + ' read the position deviation Z in the rigid tap mode + Declare Function cnc_rdposerrz Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read the synchronous error in the synchronous control mode + Declare Function cnc_rdsynerrsy Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read the synchronous error in the rigid tap mode + Declare Function cnc_rdsynerrrg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read the spindle alarm + Declare Function cnc_rdspdlalm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Byte) As Short + + ' read the control input signal + Declare Function cnc_rdctrldi Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSPDI) As Short + + ' read the control output signal + Declare Function cnc_rdctrldo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSPDO) As Short + + ' read the number of controled spindle + Declare Function cnc_rdnspdl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read data from FANUC BUS + Declare Function cnc_rdfbusmem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Integer, ByVal d As Integer, <[In], Out> ByVal e() As Byte) As Short + + ' write data to FANUC BUS + Declare Function cnc_wrfbusmem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Integer, ByVal d As Integer, ByVal e() As Byte) As Short + + ' read the parameter of wave diagnosis + Declare Function cnc_rdwaveprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBWAVE) As Short + + ' write the parameter of wave diagnosis + Declare Function cnc_wrwaveprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBWAVE) As Short + + ' read the parameter of wave diagnosis 2 + Declare Function cnc_rdwaveprm2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBWVPRM) As Short + + ' write the parameter of wave diagnosis 2 + Declare Function cnc_wrwaveprm2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBWVPRM) As Short + + ' start the sampling for wave diagnosis + Declare Function cnc_wavestart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' stop the sampling for wave diagnosis + Declare Function cnc_wavestop Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read the status of wave diagnosis + Declare Function cnc_wavestat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read the data of wave diagnosis + Declare Function cnc_rdwavedata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Integer, ByRef d As Integer, ByRef e As ODBWVDT) As Short + + ' read the parameter of wave diagnosis for remort diagnosis + Declare Function cnc_rdrmtwaveprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBRMTPRM, ByVal b As Short) As Short + + ' write the parameter of wave diagnosis for remort diagnosis + Declare Function cnc_wrrmtwaveprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBRMTPRM) As Short + + ' start the sampling for wave diagnosis for remort diagnosis + Declare Function cnc_rmtwavestart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' stop the sampling for wave diagnosis for remort diagnosis + Declare Function cnc_rmtwavestop Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read the status of wave diagnosis for remort diagnosis + Declare Function cnc_rmtwavestat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read the data of wave diagnosis for remort diagnosis + Declare Function cnc_rdrmtwavedt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As Integer, ByRef d As ODBRMTDT) As Short + + ' read of address for PMC signal batch save + Declare Function cnc_rdsavsigadr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSIGAD, ByVal b As Short) As Short + + ' write of address for PMC signal batch save + Declare Function cnc_wrsavsigadr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSIGAD, ByRef b As Short) As Short + + ' read of data for PMC signal batch save + Declare Function cnc_rdsavsigdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, <[In], Out> ByVal c() As Byte, ByRef d As Short) As Short + + ' read M-code group data + Declare Function cnc_rdmgrpdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBMGRP) As Short + + ' write M-code group data + Declare Function cnc_wrmgrpdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IDBMGRP) As Short + + ' read executing M-code group data + Declare Function cnc_rdexecmcode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBEXEM) As Short + + ' read program restart M-code group data + Declare Function cnc_rdrstrmcode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBRSTRM) As Short + + ' read processing time stamp data + Declare Function cnc_rdproctime Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPTIME) As Short + + ' read MDI program stat + Declare Function cnc_rdmdiprgstat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read program directory for processing time data + Declare Function cnc_rdprgdirtime Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByRef b As Short, ByRef c As PRGDIRTM) As Short + + ' read program directory 2 +#If ONO8D = Nothing Then + Declare Function cnc_rdprogdir2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As Short, ByRef d As PRGDIR2) As Short +#Else + Declare Function cnc_rdprogdir2 Lib "FWLIB32.DLL" Alias "cnc_rdprogdir2o8" _ + ( ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As Short, ByRef d As PRGDIR2 ) As Short +#End If + + ' read program directory 3 + Declare Function cnc_rdprogdir3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Integer, ByRef c As Short, ByRef d As PRGDIR3) As Short + + ' read program directory 4 + Declare Function cnc_rdprogdir4 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As Short, ByRef d As PRGDIR4) As Short + + ' read DNC file name for DNC1, DNC2, OSI-Ethernet + Declare Function cnc_rddncfname Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char) As Short + + ' write DNC file name for DNC1, DNC2, OSI-Ethernet + Declare Function cnc_wrdncfname Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read communication parameter for DNC1, DNC2, OSI-Ethernet + Declare Function cnc_rdcomparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBCPRM) As Short + + ' write communication parameter for DNC1, DNC2, OSI-Ethernet + Declare Function cnc_wrcomparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBCPRM) As Short + + ' read log message for DNC2 + Declare Function cnc_rdcomlogmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char) As Short + + ' read operator message for DNC1, DNC2 + Declare Function cnc_rdcomopemsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char) As Short + + ' read recieve message for OSI-Ethernet + Declare Function cnc_rdrcvmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char) As Short + + ' read send message for OSI-Ethernet + Declare Function cnc_rdsndmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Char) As Short + + ' send message for OSI-Ethernet + Declare Function cnc_sendmessage Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' clear message buffer for OSI-Ethernet + Declare Function cnc_clrmsgbuff Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read message recieve status for OSI-Ethernet + Declare Function cnc_rdrcvstat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read interference check + Declare Function cnc_rdintchk Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBINT) As Short + + ' write interference check + Declare Function cnc_wrintchk Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBINT) As Short + + ' read interference check information + Declare Function cnc_rdintinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read work coordinate shift + Declare Function cnc_rdwkcdshft Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As IODBWCSF) As Short + + ' write work coordinate shift + Declare Function cnc_wrwkcdshft Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBWCSF) As Short + + ' read work coordinate shift measure + Declare Function cnc_rdwkcdsfms Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As IODBWCSF) As Short + + ' write work coordinate shift measure + Declare Function cnc_wrwkcdsfms Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBWCSF) As Short + + ' stop the sampling for operator message history + Declare Function cnc_stopomhis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' start the sampling for operator message history + Declare Function cnc_startomhis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read operator message history information + Declare Function cnc_rdomhisinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBOMIF) As Short + + ' read operator message history + Declare Function cnc_rdomhistry Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Integer, ByRef c As ODBOMHIS) As Short + + ' read operater message history data F30i + Declare Function cnc_rdomhistry2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As ODBOMHIS2) As Short + + ' write external key operation history for F30i + Declare Function cnc_wrkeyhistry Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Byte) As Short + + ' clear operator message history + Declare Function cnc_clearomhis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read b-axis tool offset value(area specified) + Declare Function cnc_rdbtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBBTO) As Short + + ' write b-axis tool offset value(area specified) + Declare Function cnc_wrbtofsr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBBTO) As Short + + ' read b-axis tool offset information + Declare Function cnc_rdbtofsinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBBTLINF) As Short + + ' read b-axis command + Declare Function cnc_rdbaxis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBBAXIS) As Short + + ' read CNC system soft series and version + Declare Function cnc_rdsyssoft Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSYSS) As Short + + ' read CNC system soft series and version (2) + Declare Function cnc_rdsyssoft2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSYSS2) As Short + + ' read CNC module configuration information + Declare Function cnc_rdmdlconfig Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBMDLC) As Short + + ' read CNC module configuration information 2 + Declare Function cnc_rdmdlconfig2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As SByte) As Short + + ' read processing condition file (processing data) + Declare Function cnc_rdpscdproc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBPSCD) As Short + + ' write processing condition file (processing data) + Declare Function cnc_wrpscdproc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBPSCD) As Short + + ' read processing condition file (piercing data) + Declare Function cnc_rdpscdpirc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBPIRC) As Short + + ' write processing condition file (piercing data) + Declare Function cnc_wrpscdpirc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBPIRC) As Short + + ' read processing condition file (edging data) + Declare Function cnc_rdpscdedge Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBEDGE) As Short + + ' write processing condition file (edging data) + Declare Function cnc_wrpscdedge Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBEDGE) As Short + + ' read processing condition file (slope data) + Declare Function cnc_rdpscdslop Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBSLOP) As Short + + ' write processing condition file (slope data) + Declare Function cnc_wrpscdslop Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBSLOP) As Short + + ' read power controll duty data + Declare Function cnc_rdlpwrdty Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLPWDT) As Short + + ' write power controll duty data + Declare Function cnc_wrlpwrdty Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLPWDT) As Short + + ' read laser power data + Declare Function cnc_rdlpwrdat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBLOPDT) As Short + + ' read power complement + Declare Function cnc_rdlpwrcpst Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write power complement + Declare Function cnc_wrlpwrcpst Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read laser assist gas selection + Declare Function cnc_rdlagslt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLAGSL) As Short + + ' write laser assist gas selection + Declare Function cnc_wrlagslt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLAGSL) As Short + + ' read laser assist gas flow + Declare Function cnc_rdlagst Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLAGST) As Short + + ' write laser assist gas flow + Declare Function cnc_wrlagst Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLAGST) As Short + + ' read laser power for edge processing + Declare Function cnc_rdledgprc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLEGPR) As Short + + ' write laser power for edge processing + Declare Function cnc_wrledgprc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLEGPR) As Short + + ' read laser power for piercing + Declare Function cnc_rdlprcprc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLPCPR) As Short + + ' write laser power for piercing + Declare Function cnc_wrlprcprc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBLPCPR) As Short + + ' read laser command data + Declare Function cnc_rdlcmddat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBLCMDT) As Short + + ' read displacement + Declare Function cnc_rdldsplc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write displacement + Declare Function cnc_wrldsplc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read error for axis z + Declare Function cnc_rdlerrz Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read active number + Declare Function cnc_rdlactnum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBLACTN) As Short + + ' read laser comment + Declare Function cnc_rdlcmmt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBLCMMT) As Short + + ' read laser power select + Declare Function cnc_rdlpwrslt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write laser power select + Declare Function cnc_wrlpwrslt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read laser power controll + Declare Function cnc_rdlpwrctrl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write laser power controll + Declare Function cnc_wrlpwrctrl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read power correction factor history data + Declare Function cnc_rdpwofsthis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, ByRef c As ODBPWOFST) As Short + + ' read management time + Declare Function cnc_rdmngtime Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, ByRef c As IODBMNGTIME) As Short + + ' write management time + Declare Function cnc_wrmngtime Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As IODBMNGTIME) As Short + + ' read data related to electrical discharge at power correction ends + Declare Function cnc_rddischarge Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBDISCHRG) As Short + + ' read alarm history data related to electrical discharg + Declare Function cnc_rddischrgalm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, ByRef c As ODBDISCHRGALM) As Short + + ' get date and time from cnc + Declare Function cnc_gettimer Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBTIMER) As Short + + ' set date and time for cnc + Declare Function cnc_settimer Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBTIMER) As Short + + ' read timer data from cnc + Declare Function cnc_rdtimer Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTIME) As Short + + ' write timer data for cnc + Declare Function cnc_wrtimer Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBTIME) As Short + + ' read tool controll data + Declare Function cnc_rdtlctldata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBTLCTL) As Short + + ' write tool controll data + Declare Function cnc_wrtlctldata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBTLCTL) As Short + + ' read tool data + Declare Function cnc_rdtooldata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBTLDT) As Short + + ' read tool data + Declare Function cnc_wrtooldata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBTLDT) As Short + + ' read multi tool data + Declare Function cnc_rdmultitldt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBMLTTL) As Short + + ' write multi tool data + Declare Function cnc_wrmultitldt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBMLTTL) As Short + + ' read multi tap data + Declare Function cnc_rdmtapdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBMTAP) As Short + + ' write multi tap data + Declare Function cnc_wrmtapdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBMTAP) As Short + + ' read multi-piece machining number + Declare Function cnc_rdmultipieceno Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read tool information + Declare Function cnc_rdtoolinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPTLINF) As Short + + ' read safetyzone data + Declare Function cnc_rdsafetyzone Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBSAFE) As Short + + ' write safetyzone data + Declare Function cnc_wrsafetyzone Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBSAFE) As Short + + ' read toolzone data + Declare Function cnc_rdtoolzone Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBTLZN) As Short + + ' write toolzone data + Declare Function cnc_wrtoolzone Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBTLZN) As Short + + ' read active toolzone data + Declare Function cnc_rdacttlzone Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBACTTLZN) As Short + + ' read setzone number + Declare Function cnc_rdsetzone Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write setzone number + Declare Function cnc_wrsetzone Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read block restart information + Declare Function cnc_rdbrstrinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBBRS) As Short + + ' read menu switch signal + Declare Function cnc_rdmenuswitch Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write menu switch signal + Declare Function cnc_wrmenuswitch Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short) As Short + + ' read tool radius offset for position data + Declare Function cnc_rdradofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBROFS) As Short + + ' read tool length offset for position data + Declare Function cnc_rdlenofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBLOFS) As Short + + ' read fixed cycle for position data + Declare Function cnc_rdfixcycle Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBFIX) As Short + + ' read coordinate rotate for position data + Declare Function cnc_rdcdrotate Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBROT) As Short + + ' read 3D coordinate convert for position data + Declare Function cnc_rd3dcdcnv Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODB3DCD) As Short + + ' read programable mirror image for position data + Declare Function cnc_rdmirimage Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBMIR) As Short + + ' read scaling for position data + Declare Function cnc_rdscaling Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSCL) As Short + + ' read 3D tool offset for position data + Declare Function cnc_rd3dtofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODB3DTO) As Short + + ' read tool position offset for position data + Declare Function cnc_rdposofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPOFS) As Short + + ' read hpcc setting data + Declare Function cnc_rdhpccset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBHPST) As Short + + ' write hpcc setting data + Declare Function cnc_wrhpccset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBHPST) As Short + + ' hpcc data auto setting data + Declare Function cnc_hpccatset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read hpcc tuning data ( parameter input ) + Declare Function cnc_rdhpcctupr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBHPPR) As Short + + ' write hpcc tuning data ( parameter input ) + Declare Function cnc_wrhpcctupr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBHPPR) As Short + + ' read hpcc tuning data ( acc input ) + Declare Function cnc_rdhpcctuac Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBHPAC) As Short + + ' write hpcc tuning data ( acc input ) + Declare Function cnc_wrhpcctuac Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBHPAC) As Short + + ' hpcc data auto tuning + Declare Function cnc_hpccattune Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short) As Short + + ' read hpcc fine level + Declare Function cnc_hpccactfine Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' select hpcc fine level + Declare Function cnc_hpccselfine Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read active fixture offset + Declare Function cnc_rdactfixofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBZOFS) As Short + + ' read fixture offset + Declare Function cnc_rdfixofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByVal d As Short, ByRef e As IODBZOR) As Short + + ' write fixture offset + Declare Function cnc_wrfixofs Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBZOR) As Short + + ' read tip of tool for 3D handle + Declare Function cnc_rd3dtooltip Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODB3DHDL) As Short + + ' read pulse for 3D handle + Declare Function cnc_rd3dpulse Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODB3DPLS) As Short + + ' read move overrlap of tool for 3D handle + Declare Function cnc_rd3dmovrlap Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODB3DHDL) As Short + + ' read change offset for 3D handle + Declare Function cnc_rd3dofschg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' clear pulse and change offset for 3D handle + Declare Function cnc_clr3dplsmov Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' cycle start + Declare Function cnc_start Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' reset CNC + Declare Function cnc_reset Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' reset CNC + Declare Function cnc_reset2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read axis name + Declare Function cnc_rdaxisname Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As ODBAXISNAME) As Short + + ' read spindle name + Declare Function cnc_rdspdlname Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As ODBSPDLNAME) As Short + + ' read extended axis name + Declare Function cnc_exaxisname Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBEXAXISNAME) As Short + + ' read SRAM variable area for C language executor + Declare Function cnc_rdcexesram Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, <[In], Out> ByVal b() As Byte, ByRef c As Integer) As Short + + ' write SRAM variable area for C language executor + Declare Function cnc_wrcexesram Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b() As Byte, ByRef c As Integer) As Short + + ' read maximum size and linear address of SRAM variable area for C language executor + Declare Function cnc_cexesraminfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As Integer, ByRef c As Integer) As Short + + ' read maximum size of SRAM variable area for C language executor + Declare Function cnc_cexesramsize Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read additional workpiece coordinate systems number + Declare Function cnc_rdcoordnum Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' converts from FANUC code to Shift JIS code + Declare Function cnc_ftosjis Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a() As Byte, <[In], Out> ByVal b() As Char) As Short + + ' Set the unsolicited message parameters + Declare Function cnc_wrunsolicprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBUNSOLIC) As Short + + ' Get the unsolicited message parameters + Declare Function cnc_rdunsolicprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBUNSOLIC) As Short + + ' Start of unsolicited message + Declare Function cnc_unsolicstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal hWnd As Integer, ByVal c As Integer, ByVal d As Short, ByRef e As Short) As Short + + ' End of unsolicited message + Declare Function cnc_unsolicstop Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' Reads the unsolicited message data + Declare Function cnc_rdunsolicmsg Lib "FWLIB32.DLL" _ + (ByVal a As Short, ByRef b As IDBUNSOLICMSG) As Short + + ' read cnc maintenance item + Declare Function cnc_rdpm_mcnitem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBITEM) As Short + + ' write machine specific maintenance item + Declare Function cnc_wrpm_mcnitem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As IODBITEM) As Short + + ' read machine specific maintenance item + Declare Function cnc_rdpm_cncitem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBITEM) As Short + + ' read maintenance item status + Declare Function cnc_rdpm_item Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As IODBPMAINTE) As Short + + ' write maintenance item status + Declare Function cnc_wrpm_item Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPMAINTE) As Short + + ' Display of optional message + Declare Function cnc_dispoptmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' Reading of answer for optional message display + Declare Function cnc_optmsgans Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' Get CNC Model + Declare Function cnc_getcncmodel Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read number of repeats + Declare Function cnc_rdrepeatval Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read CNC system hard info + Declare Function cnc_rdsyshard Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As ODBSYSH) As Short + + ' read CNC system soft series and version (3) + Declare Function cnc_rdsyssoft3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As Short, ByRef d As ODBSYSS3) As Short + + ' read digit of program number + Declare Function cnc_progdigit Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read CNC system path information + Declare Function cnc_sysinfo_ex Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSYSEX) As Short + + '------------------ + ' CNC : SERCOS I/F + '------------------ + + ' Get reservation of service channel for SERCOS I/F + Declare Function cnc_srcsrsvchnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Read ID information of SERCOS I/F + Declare Function cnc_srcsrdidinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Integer, ByVal b As Short, ByVal c As Short, ByRef d As IODBIDINF) As Short + + ' Write ID information of SERCOS I/F + Declare Function cnc_srcswridinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBIDINF) As Short + + ' Start of reading operation data from drive of SERCOS I/F + Declare Function cnc_srcsstartrd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Short) As Short + + ' Start of writing operation data to drive of SERCOS I/F + Declare Function cnc_srcsstartwrt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Short) As Short + + ' Stop of reading/writing operation data from/to drive of SERCOS I/F + Declare Function cnc_srcsstopexec Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Get execution status of reading/writing operation data of SERCOS I/F + Declare Function cnc_srcsrdexstat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSRCSST) As Short + + ' Read operation data from data buffer for SERCOS I/F + Declare Function cnc_srcsrdopdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, <[In], Out> ByVal c() As Byte) As Short + + ' Write operation data to data buffer for SERCOS I/F + Declare Function cnc_srcswropdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c() As Byte) As Short + + ' Free reservation of service channel for SERCOS I/F + Declare Function cnc_srcsfreechnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Read drive assign of SERCOS I/F + Declare Function cnc_srcsrdlayout Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSRCSLYT) As Short + + ' Read communication phase of drive of SERCOS I/F + Declare Function cnc_srcsrddrvcp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + + '---------------------------- + ' CNC : Graphic command data + '---------------------------- + + ' Start drawing position + Declare Function cnc_startdrawpos Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Stop drawing position + Declare Function cnc_stopdrawpos Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Start dynamic graphic + Declare Function cnc_startdyngrph Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Stop dynamic graphic + Declare Function cnc_stopdyngrph Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Read graphic command data + Declare Function cnc_rdgrphcmd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Short) As Short + + ' Update graphic command read pointer + Declare Function cnc_wrgrphcmdptr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' Read cancel flag + Declare Function cnc_rdgrphcanflg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' Clear graphic command + Declare Function cnc_clrgrphcmd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + + '--------------------------- + ' CNC : Servo learning data + '--------------------------- + + ' Servo learning data read start + Declare Function cnc_svdtstartrd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' Servo learning data write start + Declare Function cnc_svdtstartwr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' Servo learning data read end + Declare Function cnc_svdtendrd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Servo learning data write end + Declare Function cnc_svdtendwr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Servo learning data read/write stop + Declare Function cnc_svdtstopexec Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Servo learning data read from I/F buffer + Declare Function cnc_svdtrddata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As Integer, <[In], Out> ByVal c() As Byte) As Short + + ' Servo learning data write to I/F buffer + Declare Function cnc_svdtwrdata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As Integer, ByVal c() As Byte) As Short + + + '---------------------------- + ' CNC : Servo Guide + '---------------------------- + ' Servo Guide (Channel data set) + Declare Function cnc_sdsetchnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IDBCHAN) As Short + + ' Servo Guide (Channel data clear) + Declare Function cnc_sdclrchnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Servo Guide (Sampling start) + Declare Function cnc_sdstartsmpl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, <[In], Out> ByVal c() As Short) As Short + + ' Servo Guide (Sampling cancel) + Declare Function cnc_sdcancelsmpl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Servo Guide (read Sampling data) + Declare Function cnc_sdreadsmpl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByVal b As Integer, ByRef c As ODBSD) As Short + + ' Servo Guide (Sampling end) + Declare Function cnc_sdendsmpl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Servo Guide (read 1 shot data) + Declare Function cnc_sdread1shot Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal c() As Short) As Short + + ' Servo feedback data (Channel data set) + Declare Function cnc_sfbsetchnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As IDBSFBCHAN) As Short + + ' Servo feedback data (Channel data clear) + Declare Function cnc_sfbclrchnl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Servo feedback data (Sampling start) + Declare Function cnc_sfbstartsmpl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer) As Short + + ' Servo feedback data (Sampling cancel) + Declare Function cnc_sfbcancelsmpl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Servo feedback data (read Sampling data) + Declare Function cnc_sfbreadsmpl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByVal b As Integer, ByRef c As ODBSD) As Short + + ' Servo feedback data (Sampling end) + Declare Function cnc_sfbendsmpl Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + + '---------------------------- + ' CNC : NC display function + '---------------------------- + + ' Start NC display + Declare Function cnc_startnccmd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Start NC display (2) + Declare Function cnc_startnccmd2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' Stop NC display + Declare Function cnc_stopnccmd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Get NC display mode + Declare Function cnc_getdspmode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + + '------------------------------------ + ' CNC : Remote diagnostics function + '------------------------------------ + + ' Start remote diagnostics function + Declare Function cnc_startrmtdgn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Stop remote diagnostics function + Declare Function cnc_stoprmtdgn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Read data from remote diagnostics I/F + Declare Function cnc_rdrmtdgn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, <[In], Out> ByVal b() As Byte) As Short + + ' Write data to remote diagnostics I/F + Declare Function cnc_wrrmtdgn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByVal b() As Byte) As Short + + ' Set CommStatus of remote diagnostics I/F area + Declare Function cnc_wrcommstatus Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' Check remote diagnostics I/F + Declare Function cnc_chkrmtdgn Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + + '------------------------- + ' CNC : FS18-LN function + '------------------------- + + ' read allowance + Declare Function cnc_allowance Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + ' read allowanced state + Declare Function cnc_allowcnd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBCAXIS) As Short + + ' set work zero + Declare Function cnc_workzero Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBZOFS) As Short + + ' set slide position + Declare Function cnc_slide Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByRef c As ODBAXIS) As Short + + + '---------------------------------- + ' CNC: Teaching data I/F function + '---------------------------------- + + ' Teaching data get start + Declare Function cnc_startgetdgdat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Teaching data get stop + Declare Function cnc_stopgetdgdat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' Teaching data read + Declare Function cnc_rddgdat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Short) As Short + + ' Teaching data read pointer write + Declare Function cnc_wrdgdatptr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' Teaching data clear + Declare Function cnc_clrdgdat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + + '--------------------------------- + ' CNC : C-EXE SRAM file function + '--------------------------------- + + ' open C-EXE SRAM file + Declare Function cnc_opencexefile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Short, ByVal c As Short) As Short + + ' close C-EXE SRAM file + Declare Function cnc_closecexefile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read C-EXE SRAM file + Declare Function cnc_rdcexefile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In], Out> ByVal a() As Byte, ByRef b As Integer) As Short + + ' write C-EXE SRAM file + Declare Function cnc_wrcexefile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a() As Byte, ByRef b As Integer) As Short + + ' read C-EXE SRAM disk directory + Declare Function cnc_cexedirectory Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + <[In], Out> ByVal a() As Char, ByRef b As Short, ByVal c As Short, ByRef d As CFILEINFO) As Short + + + '----- + ' PMC + '----- + + ' read message from PMC to MMC + Declare Function pmc_rdmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Short) As Short + + ' write message from MMC to PMC + Declare Function pmc_wrmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b() As Short) As Short + + ' read message from PMC to MMC(conditional) + Declare Function pmc_crdmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In], Out> ByVal b() As Short) As Short + + ' write message from MMC to PMC(conditional) + Declare Function pmc_cwrmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b() As Short) As Short + + ' read PMC data(area specified) + Declare Function pmc_rdpmcrng Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByRef f As IODBPMC0) As Short + Declare Function pmc_rdpmcrng Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByRef f As IODBPMC1) As Short + Declare Function pmc_rdpmcrng Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Short, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByRef f As IODBPMC2) As Short + + ' write PMC data(area specified) + Declare Function pmc_wrpmcrng Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As IODBPMC0) As Short + Declare Function pmc_wrpmcrng Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As IODBPMC1) As Short + Declare Function pmc_wrpmcrng Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As IODBPMC2) As Short + + ' read data from extended backup memory + Declare Function pmc_rdkpm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, <[In], Out> ByVal b() As Byte, ByVal c As Integer) As Short + + ' write data to extended backup memory + Declare Function pmc_wrkpm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b() As Byte, ByVal c As Integer) As Short + + ' read data from extended backup memory 2 + Declare Function pmc_rdkpm2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, <[In], Out> ByVal b() As Byte, ByVal c As Integer) As Short + + ' write data to extended backup memory 2 + Declare Function pmc_wrkpm2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b() As Byte, ByVal c As Integer) As Short + + ' read maximum size of extended backup memory + Declare Function pmc_kpmsiz Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' read informations of PMC data + Declare Function pmc_rdpmcinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBPMCINF) As Short + + ' read PMC parameter data table contorol data + Declare Function pmc_rdcntldata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Short, ByVal c As Short, ByRef d As IODBPMCCNTL) As Short + + ' write PMC parameter data table contorol data + Declare Function pmc_wrcntldata Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPMCCNTL) As Short + + ' read PMC parameter data table contorol data group number + Declare Function pmc_rdcntlgrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write PMC parameter data table contorol data group number + Declare Function pmc_wrcntlgrp Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read PMC alarm message + Declare Function pmc_rdalmmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short, ByRef c As Short, ByRef d As ODBPMCALM) As Short + + ' get detail error for pmc + Declare Function pmc_getdtailerr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPMCERR) As Short + + ' read PMC memory data + Declare Function pmc_rdpmcmem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Integer, ByVal c As Integer, <[In], Out> ByVal d() As Byte) As Short + + ' write PMC memory data + Declare Function pmc_wrpmcmem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Integer, ByVal c As Integer, ByVal d() As Byte) As Short + + ' read PMC-SE memory data + Declare Function pmc_rdpmcsemem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Integer, ByVal c As Integer, <[In], Out> ByVal d() As Byte) As Short + + ' write PMC-SE memory data + Declare Function pmc_wrpmcsemem Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, + ByVal a As Short, ByVal b As Integer, ByVal c As Integer, ByVal d() As Byte) As Short + + ' read pmc title data + Declare Function pmc_rdpmctitle Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPMCTITLE) As Short + + ' read PMC parameter start + Declare Function pmc_rdprmstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read PMC parameter + Declare Function pmc_rdpmcparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByVal b() As Byte) As Short + + ' read PMC parameter end + Declare Function pmc_rdprmend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' write PMC parameter start + Declare Function pmc_wrprmstart Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' write PMC parameter + Declare Function pmc_wrpmcparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByVal b() As Byte) As Short + + ' write PMC parameter end + Declare Function pmc_wrprmend Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read PMC data + ' Declare Function pmc_rdpmcrng_ext Lib "FWLIB32.DLL" _ + ' ( ByVal FlibHndl As Integer, _ + ' ByVal a As Short, ByRef b As IODBPMCEXT ) As Short + + ' write PMC I/O link assigned data + ' Declare Function pmc_wriolinkdat Lib "FWLIB32.DLL" _ + ' ( ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b() As Byte, ByVal c As Integer ) As Short + + ' read PMC address information + Declare Function pmc_rdpmcaddr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPMCADR) As Short + + ' select PMC unit + Declare Function pmc_select_pmc_unit Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' get current PMC unit + Declare Function pmc_get_current_pmc_unit Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' get number of PMC + Declare Function pmc_get_number_of_pmc Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer) As Short + + ' get PMC unit types + Declare Function pmc_get_pmc_unit_types Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a() As Integer, ByVal b As Integer) As Short + + ' set PMC Timer type + Declare Function pmc_set_timer_type Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, ByVal c() As Short) As Short + + ' get PMC Timer type + Declare Function pmc_get_timer_type Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByVal b As Integer, <[In](), Out()> ByVal c() As Short) As Short + + '---------------------------- + ' PMC : PROFIBUS function + '---------------------------- + + ' read PROFIBUS configration data + Declare Function pmc_prfrdconfig Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBPRFCNF) As Short + + ' read bus parameter for master function + Declare Function pmc_prfrdbusprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBBUSPRM) As Short + + ' write bus parameter for master function + Declare Function pmc_prfwrbusprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBBUSPRM) As Short + + ' read slave parameter for master function + Declare Function pmc_prfrdslvprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSLVPRM) As Short + Declare Function pmc_prfrdslvprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSLVPRM2) As Short + + ' write slave parameter for master function + Declare Function pmc_prfwrslvprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSLVPRM) As Short + Declare Function pmc_prfwrslvprm Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSLVPRM2) As Short + + ' read allocation address for master function + Declare Function pmc_prfrdallcadr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPRFADR) As Short + + ' set allocation address for master function + Declare Function pmc_prfwrallcadr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBPRFADR) As Short + + ' read allocation address for slave function + Declare Function pmc_prfrdslvaddr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSLVADR) As Short + + ' set allocation address for slave function + Declare Function pmc_prfwrslvaddr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBSLVADR) As Short + + ' read status for slave function + Declare Function pmc_prfrdslvstat Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBSLVST) As Short + + ' Reads DI/DO parameter of master function + Declare Function pmc_prfrddido Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBDIDO) As Short + + ' Writes DI/DO parameter of master function + Declare Function pmc_prfwrdido Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBDIDO) As Short + + ' Reads slave index data of master function */ + Declare Function pmc_prfrdslvid Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSLVID) As Short + + ' Writes slave index data of master function + Declare Function pmc_prfwrslvid Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSLVID) As Short + + ' Reads slave parameter of master function(2) + Declare Function pmc_prfrdslvprm2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSLVPRM3) As Short + + ' Writes slave parameter of master function(2) + Declare Function pmc_prfwrslvprm2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBSLVPRM3) As Short + + ' Reads indication address of master function + Declare Function pmc_prfrdindiadr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBINDEADR) As Short + + ' Writes indication address of master function + Declare Function pmc_prfwrindiadr Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBINDEADR) As Short + + ' Reads operation mode of master function + Declare Function pmc_prfrdopmode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' Writes operation mode of master function + Declare Function pmc_prfwropmode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Short) As Short + + '-----------------------------------------------v + ' DS : Data server & Ethernet board function ' + '-----------------------------------------------' + + ' read the parameter of the Ethernet board */ + Declare Function etb_rdparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBETP_TCP) As Short + Declare Function etb_rdparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBETP_HOST) As Short + Declare Function etb_rdparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBETP_FTP) As Short + Declare Function etb_rdparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As IODBETP_ETB) As Short + + ' write the parameter of the Ethernet board */ + Declare Function etb_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBETP_TCP) As Short + Declare Function etb_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBETP_HOST) As Short + Declare Function etb_wrparam Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As IODBETP_FTP) As Short + + ' read the error message of the Ethernet board */ + Declare Function etb_rderrmsg Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As ODBETMSG) As Short + + ' read the mode of the Data Server + Declare Function ds_rdmode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write the mode of the Data Server + Declare Function ds_wrmode Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' read information of the Data Server's HDD + Declare Function ds_rdhddinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As ODBHDDINF) As Short + + ' read the file list of the Data Server's HDD + Declare Function ds_rdhdddir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer, ByRef c As Short, ByRef d As ODBHDDDIR) As Short + + ' delete the file of the Data Serve's HDD + Declare Function ds_delhddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' copy the file of the Data Server's HDD + Declare Function ds_copyhddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' change the file name of the Data Server's HDD */ + Declare Function ds_renhddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' execute the PUT command of the FTP + Declare Function ds_puthddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' execute the MPUT command of the FTP + Declare Function ds_mputhddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read information of the host + Declare Function ds_rdhostinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Integer, ByVal b As Integer) As Short + + ' read the file list of the host + Declare Function ds_rdhostdir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As Short, ByRef d As ODBHOSTDIR, ByVal e As Integer) As Short + + ' read the file list of the host 2 + Declare Function ds_rdhostdir2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer, ByRef c As Short, ByRef d As Integer, ByRef e As ODBHOSTDIR, ByVal f As Integer) As Short + + ' delete the file of the host + Declare Function ds_delhostfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As Integer) As Short + + ' execute the GET command of the FTP + Declare Function ds_gethostfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' execute the MGET command of the FTP + Declare Function ds_mgethostfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read the execution result + Declare Function ds_rdresult Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' stop the execution of the command + Declare Function ds_cancel Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read the file from the Data Server + Declare Function ds_rdncfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As String) As Short + + ' read the file from the Data Server 2 + Declare Function ds_rdncfile2 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' write the file to the Data Server + Declare Function ds_wrncfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByVal b As Integer) As Short + + ' read the file name for the DNC operation in the Data Server's HDD + Declare Function ds_rddnchddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, <[In](), Out()> ByVal a() As Char) As Short + '(ByVal FlibHndl As Integer, ByRef a As String) As Short + + ' write the file name for the DNC operation in the Data Server's HDD + Declare Function ds_wrdnchddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read the file name for the DNC operation in the host + Declare Function ds_rddnchostfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, <[In](), Out()> ByVal b() As Char) As Short + + ' write the file name for the DNC operation in the host + Declare Function ds_wrdnchostfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read the connecting host number + Declare Function ds_rdhostno Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' read maintenance information + Declare Function ds_rdmntinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As DSMNTINFO) As Short + + ' check the Data Server's HDD + Declare Function ds_checkhdd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' format the Data Server's HDD + Declare Function ds_formathdd Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' create the directory in the Data Server's HDD */ + Declare Function ds_makehdddir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' delete directory in the Data Server's HDD + Declare Function ds_delhdddir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' change the current directory + Declare Function ds_chghdddir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' execute the PUT command according to the list file + Declare Function ds_lputhddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' delete files according to the list file + Declare Function ds_ldelhddfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' execute the GET command according to the list file + Declare Function ds_lgethostfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read the directory for M198 operation + Declare Function ds_rdm198hdddir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + '(ByVal FlibHndl As Integer, ByVal a() As Byte) As Short + + ' write the directory for M198 operation + Declare Function ds_wrm198hdddir Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read the connecting host number for the M198 operation + Declare Function ds_rdm198host Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short) As Short + + ' write the connecting host number for the M198 operation + Declare Function ds_wrm198host Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' write the connecting host number + Declare Function ds_wrhostno Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short) As Short + + ' search string in data server program + Declare Function ds_searchword Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String) As Short + + ' read the searching result + Declare Function ds_searchresult Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' read file in the Data Server's HDD + Declare Function ds_rdfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + ' write file in the Data Server's HDD + Declare Function ds_wrfile Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As String, ByVal b As String) As Short + + '-------------------------- + ' HSSB multiple connection + '-------------------------- + + ' read number of node + Declare Function cnc_rdnodenum Lib "FWLIB32.DLL" _ + (ByRef a As Integer) As Short + + ' read node informations + Declare Function cnc_rdnodeinfo Lib "FWLIB32.DLL" _ + (ByVal a As Integer, ByRef b As ODBNODE) As Short + + ' set default node number + Declare Function cnc_setdefnode Lib "FWLIB32.DLL" _ + (ByVal a As Integer) As Short + + ' allocate library handle 2 + Declare Function cnc_allclibhndl2 Lib "FWLIB32.DLL" _ + (ByVal node As Integer, ByRef FlibHndl As Integer) As Short + + + '--------------------- + ' Ethernet connection + '--------------------- + + ' allocate library handle 3 + Declare Function cnc_allclibhndl3 Lib "FWLIB32.DLL" _ + (ByVal ip As String, ByVal port As Short, ByVal timeout As Integer, ByRef FlibHndl As Integer) As Short + + ' allocate library handle 4 + Declare Function cnc_allclibhndl4 Lib "FWLIB32.DLL" _ + (ByVal ip As String, ByVal port As Short, ByVal timeout As Integer, ByVal id As Integer, ByRef FlibHndl As Integer) As Short + + ' set timeout for socket + Declare Function cnc_settimeout Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer) As Short + + ' reset all socket connection + Declare Function cnc_resetconnect Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer) As Short + + ' get option state for FOCAS1/Ethernet + Declare Function cnc_getfocas1opt Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Short, ByRef b As Integer) As Short + + ' read Ethernet board information + Declare Function cnc_rdetherinfo Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByRef a As Short, ByRef b As Short) As Short + + ' + '-------------------------------------------------------- 28 - VI - 2019 cv ------------------------------ + ' + + ' cnc_rdmacror3 :read Custom macro names(area specified) + + Public Structure IODBMRN3 + Public mcr_val As Double + + Public name As String ' var name + End Structure + + + ' read custom macro variables:read Custom macro names(area specified) + Declare Function cnc_rdmacror3 Lib "FWLIB32.DLL" _ + (ByVal FlibHndl As Integer, ByVal a As Integer, ByRef b As Integer, ByRef c As IODBMRN3) As Short + +End Class 'Focas1 diff --git a/EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI.vb b/EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI.vb new file mode 100644 index 0000000..2affa70 --- /dev/null +++ b/EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI.vb @@ -0,0 +1,969 @@ +Imports Microsoft.Win32 + +Imports T_memType = System.Collections.Generic.Dictionary(Of System.Int32, System.Collections.Generic.Dictionary(Of System.Int32, System.Object)) +Imports T_memDim = System.Collections.Generic.Dictionary(Of System.Int32, System.Object) +Imports EgwProxy.MultiCncLib.Config.Settings + +Namespace CNC + + Partial Public Class OSAI + Inherits CNC + + 'Variabili per server Cndex (Osai) + Protected _szRemoteName As String + Protected _UserSession As Short + Protected _ErrClass As Integer + Protected _ErrNum As Integer + Friend Cndex As CndexLinkDotNet.Cndex + Private nReturn As Short + + Protected Const ERRORE = 0 + + Public Enum MemTypeWord + I_CODE = 0 + O_CODE = 1 + + MW_CODE = 20 + GW_CODE = 21 + SW_CODE = 22 + + PW_CODE = 62 + UW_CODE = 63 + End Enum + Public Enum MemTypeDouble + MD_CODE = 40 + GD_CODE = 41 + SD_CODE = 42 + PD_CODE = 43 + UD_CODE = 44 + L_CODE = 145 + End Enum + + Public Enum MemTypeText + LS_CODE = 18 + AA_CODE = 28 + A_CODE = 45 + SC_CODE = 50 + SYMO_A_CODE = 102 + End Enum + + Private nLicenzaTmp As Integer + Public Overrides Property Licenza() As Integer + Get + Return nLicenzaTmp + End Get + Set(ByVal value As Integer) + nLicenzaTmp = value + End Set + End Property + + Private bLicenzaScadutaTmp As Boolean + Public Overrides Property LicenzaScaduta() As Boolean + Get + Return bLicenzaScadutaTmp + End Get + Set(ByVal value As Boolean) + bLicenzaScadutaTmp = value + End Set + End Property + + Public Sub New(ByRef szRemoteName As String) + Me.New() + + Try + Cndex = New CndexLinkDotNet.Cndex + Catch ex As Exception + MsgBox(ex.Message) + End Try + + _szRemoteName = szRemoteName + End Sub + + Public Sub New() + MyBase.New() + _Type = NcType.OSAI_OPEN + + 'Inizializzo le variabili + Me._Descrizione = "NC OSAI" & vbNewLine + Me._Descrizione = Me._Descrizione & "RemoteName: " & _szRemoteName + End Sub + + Public Overrides Sub Connect(Optional ByRef szStatus As String = "") + Dim nReturn As Short + Dim pPhase As Short + Dim szReturn As String = "" + Dim sValue(0) As Short + Dim TimeStart As Date + + 'EgwProxy.MultiCncLib.App.Runtime.Log.WI("TRY OpenSession CNC.OSAI", "RemoteName=" & _szRemoteName, CLog.Lev.Secondary) + nReturn = Cndex.OpenSession_C(_szRemoteName, _UserSession, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("OpenSession_C({0},{1}) Connect CNC.OSAI", _szRemoteName, _UserSession), szReturn) Then + Throw New NcException(szReturn) + Else + 'EgwProxy.MultiCncLib.App.Runtime.Log.WI("OK OpenSession CNC.OSAI", , CLog.Lev.Secondary) + 'leggo in che fase di boot mi trovo + nReturn = Cndex.BootPhaseEnquiry_C(_UserSession, pPhase, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("BootPhaseEnquiry_C({0},{1}) Connect CNC.OSAI", _UserSession, pPhase), szReturn) Then + _bConnected = False + Throw New NcException(szReturn) + Else + 'verifico che il sistema si trovi in una fase operativa "stabile" + 'EgwProxy.MultiCncLib.App.Runtime.Log.WI("OK BootPhaseEnquiry CNC.OSAI", "Phase=" & pPhase, CLog.Lev.Secondary) + If pPhase = 4 Then 'SYSTEM_UP_PHASE + + 'leggo matricola e verifico che sia diversa da zero + TimeStart = Now + Do + Select Case Settings.MemoryMapping + Case MemoryMapping.ElsManager, + MemoryMapping.Default + 'Matricola + nReturn = O_RW_Short(False, MemTypeWord.MW_CODE, 3187, sValue) + + Case MemoryMapping.ToolManager, + MemoryMapping.ToolTable + 'Matricola + nReturn = O_RW_Short(False, MemTypeWord.MW_CODE, 3403, sValue) + End Select + + If sValue(0) > 0 Then + Threading.Thread.Sleep(500) + Exit Do + End If + + If (Now - TimeStart).Seconds > 30 Then + Select Case MsgBox("Matricola non inizializzata in 30 secondi: Verificare KMG o PLC", MsgBoxStyle.Exclamation + MsgBoxStyle.RetryCancel) + Case MsgBoxResult.Retry : TimeStart = Now + Case MsgBoxResult.Cancel : Exit Do + End Select + End If + 'EgwProxy.MultiCncLib.App.Runtime.Log.WI("OK Connect CNC.OSAI but SERIAL NUMBER NOT YET INITIALIZED", , CLog.Lev.Secondary) + 'Application.DoEvents() + Threading.Thread.Sleep(500) 'aspetto 500ms prima di ritentare + 'Application.DoEvents() + Loop + + _bConnected = True + 'EgwProxy.MultiCncLib.App.Runtime.Log.WI("OK Connect CNC.OSAI", "Connected=" & _bConnected, CLog.Lev.Secondary) + Else + _bConnected = False + 'EgwProxy.MultiCncLib.App.Runtime.Log.WI("OK Connect CNC.OSAI but PHASE NOT OK", "Phase=" & pPhase & " Connected=" & _bConnected, CLog.Lev.Secondary) + Throw New NcException("ERR BootPhase NOT OK CNC.OSAI") + End If + End If + End If + + End Sub + + Public Overrides Sub Disconnect(Optional ByRef szStatus As String = "") + Dim nReturn As Short + Dim bRet As Boolean + Dim szReturn As String = "" + + 'chiudo la sessione + nReturn = Cndex.CloseSession_C(_UserSession, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("CloseSession_C({0}) Disconnect CNC.OSAI", _UserSession), szReturn) Then + _bConnected = False '? + bRet = False + Throw New NcException(szReturn) + Else + _bConnected = False + bRet = True + End If + + End Sub + + ''' + ''' Legge le memorie di configurazione dal cn + ''' + Public Overrides Sub GetStaticData() + Dim sValue(0) As Short + + If Not bStaticDataReaded Then + 'Try + Select Case Settings.MemoryMapping + Case MemoryMapping.ElsManager, + MemoryMapping.Default + 'Matricola + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 3187, 1, sValue, _ErrClass, _ErrNum) + If nReturn = ERRORE Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR GetStaticData CNC.OSAI", "Return=" & nReturn & " ErrClass=" & _ErrClass & " ErrNum=0x" & Hex(_ErrNum)) + Else + Me._Matricola = sValue(0) + End If + 'Teste + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 3161, 1, sValue, _ErrClass, _ErrNum) + If nReturn = ERRORE Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR GetStaticData CNC.OSAI", "Return=" & nReturn & " ErrClass=" & _ErrClass & " ErrNum=0x" & Hex(_ErrNum)) + Else + Me._Teste = sValue(0) + End If + 'Magazzini + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 3163, 1, sValue, _ErrClass, _ErrNum) + If nReturn = ERRORE Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR GetStaticData CNC.OSAI", "Return=" & nReturn & " ErrClass=" & _ErrClass & " ErrNum=0x" & Hex(_ErrNum)) + Else + Me._Magazzini = sValue(0) + End If + 'Manine per Magazzino + ReDim Me._ManineMagazzino(Me._Magazzini - 1) + For i = 1 To Me._Magazzini + If i <= 8 Then + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 3164 + (i - 1), 1, sValue, _ErrClass, _ErrNum) + If nReturn = ERRORE Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR GetStaticData CNC.OSAI", "Return=" & nReturn & " ErrClass=" & _ErrClass & " ErrNum=0x" & Hex(_ErrNum)) + Else + Me._ManineMagazzino(i - 1) = sValue(0) + End If + Else '8-20 + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 3188 + (i - 1), 1, sValue, _ErrClass, _ErrNum) + If nReturn = ERRORE Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR GetStaticData CNC.OSAI", "Return=" & nReturn & " ErrClass=" & _ErrClass & " ErrNum=0x" & Hex(_ErrNum)) + Else + Me._ManineMagazzino(i - 1) = sValue(0) + End If + + End If + Next i + + Case MemoryMapping.ToolManager, + MemoryMapping.ToolTable + 'Matricola + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 3403, 1, sValue, _ErrClass, _ErrNum) + If nReturn = ERRORE Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR GetStaticData CNC.OSAI", "Return=" & nReturn & " ErrClass=" & _ErrClass & " ErrNum=0x" & Hex(_ErrNum)) + Else + Me._Matricola = sValue(0) + End If + 'Teste + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 3405, 1, sValue, _ErrClass, _ErrNum) + If nReturn = ERRORE Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR GetStaticData CNC.OSAI", "Return=" & nReturn & " ErrClass=" & _ErrClass & " ErrNum=0x" & Hex(_ErrNum)) + Else + Me._Teste = sValue(0) + End If + 'Magazzini + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 3407, 1, sValue, _ErrClass, _ErrNum) + If nReturn = ERRORE Then + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR GetStaticData CNC.OSAI", "Return=" & nReturn & " ErrClass=" & _ErrClass & " ErrNum=0x" & Hex(_ErrNum)) + Else + Me._Magazzini = sValue(0) + End If + 'Manine per Magazzino + Dim bPari As Boolean + Dim nTmp As Integer + ReDim Me._ManineMagazzino(Me._Magazzini - 1) + If Me._Magazzini Mod 2 = 0 Then 'pari + bPari = True + nTmp = Me._Magazzini / 2 + Else 'dispari + nTmp = Int(Me._Magazzini / 2) + 1 + End If + For i = 1 To nTmp + nReturn = Cndex.ReadVarWord_C(_UserSession, Cndex.MW_CODE, 0, 5520 + (i - 1), 1, sValue, _ErrClass, _ErrNum) + Me._ManineMagazzino(i * 2 - 2) = ShortToByte(sValue(0), LOW_ORDER) + If Not (Not bPari And i = nTmp) Then Me._ManineMagazzino(i * 2 - 1) = ShortToByte(sValue(0), HIGH_ORDER) + Next i + End Select + + Me._MaxUtensiliGestibili = 300 'TODO IMPLEMENTARE + Me._MaxIdUtensile = 300 'TODO IMPLEMENTARE + + 'ZoomSpeed + Select Case Settings.MemoryMapping + Case MemoryMapping.ElsManager + O_RW_Short(R, MemTypeWord.MW_CODE, 3921, sValue) + Case MemoryMapping.ToolManager + O_RW_Short(R, MemTypeWord.MW_CODE, 5670, sValue) + Case MemoryMapping.ToolTable + O_RW_Short(R, MemTypeWord.MW_CODE, 3425, sValue) + End Select + If sValue(0) > 0 And sValue(0) <= 100 Then + Me._ZoomSpeed = sValue(0) + Else + Me._ZoomSpeed = 1 + End If + + bStaticDataReaded = True + + 'Catch ex As NcException + ' Me.CncException(ex.Message) + 'End Try + + End If + End Sub + + + ''' + ''' Legge o scrive Boolean da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Bit della memoria + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overridable Overloads Function O_RW_Boolean(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByVal MemBit As Integer, ByRef Value As Boolean) As Boolean + Dim szReturn As String = "" + Dim nValue(0) As Short + + 'leggo la memoria + nReturn = Cndex.ReadVarWord_C(_UserSession, MemType, 0, MemIndex, nValue.Length, nValue, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarWord_C({0},{1},{2}) O_RW_Boolean CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + Else + If bWrite Then ' *** Write + If Value Then 'True + nValue(0) = nValue(0) Or UnsignedToShort(2 ^ MemBit) + Else 'False + nValue(0) = nValue(0) And Not UnsignedToShort(2 ^ MemBit) + End If + nReturn = Cndex.WriteVarWord_C(_UserSession, MemType, 0, MemIndex, nValue.Length, nValue, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("WriteVarWord_C({0},{1},{2}) O_RW_Boolean CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + If (nValue(0) And (2 ^ MemBit)) = (2 ^ MemBit) Then 'True + Value = True + Else 'False + Value = False + End If + End If + End If + + Return True + End Function + + ''' + ''' Legge o scrive Byte da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Ordine di partenza LOW_ORDER = 0 HIGH_ORDER = 1 + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overridable Overloads Function O_RW_Byte(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByVal MemOrderStart As Integer, ByRef Value() As Byte) As Boolean + Dim szReturn As String = "" + Dim bStartHigh As Boolean = MemOrderStart + Dim bEndDispari As Boolean = (Value.Length + MemOrderStart) Mod 2 + Dim cStart, cEnd As Byte + Dim ValueTmp(((Value.Length + MemOrderStart) \ 2) + ((Value.Length + MemOrderStart) Mod 2) - 1) As Short + + + If bWrite Then ' *** Write + 'se comincio con hi leggo la prima memo + If bStartHigh Then + Dim ValStartTmp(0) As Short + nReturn = Cndex.ReadVarWord_C(_UserSession, MemType, 0, MemIndex, ValStartTmp.Length, ValStartTmp, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarWord_C({0},{1},{2}) O_RW_Byte CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + Else + cStart = ShortToByte(ValStartTmp(0), LOW_ORDER) + End If + End If + + 'se finisco dispari, leggo l'ultima memo + If bEndDispari Then + Dim ValEndTmp(0) As Short + nReturn = Cndex.ReadVarWord_C(_UserSession, MemType, 0, MemIndex + ValueTmp.Length - 1, ValEndTmp.Length, ValEndTmp, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarWord_C({0},{1},{2}) O_RW_Byte CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + Else + cEnd = ShortToByte(ValEndTmp(0), HIGH_ORDER) + End If + End If + + For i = 0 To ValueTmp.Length - 1 + Dim cLow, cHigh As Byte + 'Low + If i = 0 AndAlso bStartHigh Then + cLow = cStart + Else + cLow = Value(i * 2 - MemOrderStart) + End If + 'High + If i = (ValueTmp.Length - 1) AndAlso bEndDispari Then + cHigh = cEnd + Else + cHigh = Value(i * 2 + 1 - MemOrderStart) + End If + + ValueTmp(i) = ByteToShort(cLow, cHigh) + Next + + nReturn = Cndex.WriteVarWord_C(_UserSession, MemType, 0, MemIndex, Value.Length, ValueTmp, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("WriteVarWord_C({0},{1},{2}) O_RW_DWord CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + nReturn = Cndex.ReadVarWord_C(_UserSession, MemType, 0, MemIndex, ValueTmp.Length, ValueTmp, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarWord_C({0},{1},{2}) O_RW_Byte CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + Else + For i = 0 To Value.Length - 1 + Value(i) = ShortToByte(ValueTmp((i + MemOrderStart) \ 2), (i + MemOrderStart) Mod 2) + Next + End If + End If + + Return True + End Function + + + ''' + ''' Legge o scrive Word da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overridable Overloads Function O_RW_Word(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As UShort) As Boolean + Dim szReturn As String = "" + Dim nValue(Value.Length - 1) As Short + + If bWrite Then ' *** Write + For i = 0 To Value.Length - 1 + nValue(i) = UnsignedToShort(Value(i)) + Next + nReturn = Cndex.WriteVarWord_C(_UserSession, MemType, 0, MemIndex, Value.Length, nValue, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("WriteVarWord_C({0},{1},{2}) O_RW_Word CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + nReturn = Cndex.ReadVarWord_C(_UserSession, MemType, 0, MemIndex, Value.Length, nValue, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarWord_C({0},{1},{2}) O_RW_Word CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + For i = 0 To Value.Length - 1 + Value(i) = ShortToUnsigned(nValue(i)) + Next + End If + + Return True + End Function + + + + ''' + ''' Legge o scrive Short da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overridable Overloads Function O_RW_Short(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As Short) As Boolean + Dim szReturn As String = "" + + If bWrite Then ' *** Write + nReturn = Cndex.WriteVarWord_C(_UserSession, MemType, 0, MemIndex, Value.Length, Value, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("WriteVarWord_C({0},{1},{2}) O_RW_Word CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + nReturn = Cndex.ReadVarWord_C(_UserSession, MemType, 0, MemIndex, Value.Length, Value, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarWord_C({0},{1},{2}) O_RW_Word CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + End If + + Return True + End Function + + + ''' + ''' Legge o scrive DWord da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overridable Overloads Function O_RW_DWord(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As UInteger) As Boolean + Dim szReturn As String = "" + Dim ValueTmp(Value.Length * 2 - 1) As Short + + If bWrite Then ' *** Write + For i = 0 To Value.Length - 1 + ValueTmp(i * 2) = DWordToShort(Value(i), LOW_ORDER) + ValueTmp(i * 2 + 1) = DWordToShort(Value(i), HIGH_ORDER) + Next + nReturn = Cndex.WriteVarWord_C(_UserSession, MemType, 0, MemIndex, ValueTmp.Length, ValueTmp, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("WriteVarWord_C({0},{1},{2}) O_RW_DWord CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + nReturn = Cndex.ReadVarWord_C(_UserSession, MemType, 0, MemIndex, ValueTmp.Length, ValueTmp, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarWord_C({0},{1},{2}) O_RW_DWord CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + Else + For i = 0 To Value.Length - 1 + Value(i) = ShortsToDWord(ValueTmp(i * 2), ValueTmp(i * 2 + 1)) + Next + End If + End If + + Return True + End Function + + + + ''' + ''' Legge o scrive DWord da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overridable Overloads Function O_RW_Integer(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As Integer) As Boolean + Dim szReturn As String = "" + Dim ValueTmp(Value.Length * 2 - 1) As Short + + If bWrite Then ' *** Write + For i = 0 To Value.Length - 1 + ValueTmp(i * 2) = IntegerToShort(Value(i), LOW_ORDER) + ValueTmp(i * 2 + 1) = IntegerToShort(Value(i), HIGH_ORDER) + Next + nReturn = Cndex.WriteVarWord_C(_UserSession, MemType, 0, MemIndex, ValueTmp.Length, ValueTmp, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("WriteVarWord_C({0},{1},{2}) O_RW_DWord CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + nReturn = Cndex.ReadVarWord_C(_UserSession, MemType, 0, MemIndex, ValueTmp.Length, ValueTmp, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarWord_C({0},{1},{2}) O_RW_DWord CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException(szReturn) + Return False + Else + For i = 0 To Value.Length - 1 + Value(i) = ShortsToInteger(ValueTmp(i * 2), ValueTmp(i * 2 + 1)) + Next + End If + End If + + Return True + End Function + + + + ''' + ''' Legge o scrive Double da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overridable Overloads Function O_RW_Double(ByVal bWrite As Boolean, ByVal MemType As MemTypeDouble, ByVal MemIndex As Integer, ByRef Value() As Double) As Boolean + Dim szReturn As String = "" + + If bWrite Then ' *** Write + nReturn = Cndex.WriteVarDouble_C(_UserSession, MemType, 0, MemIndex, Value.Length, Value, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("WriteVarDouble_C({0},{1},{2}) O_RW_Double CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException("ERR WriteVarDouble_C O_RW_Double CNC.OSAI") + Return False + End If + + Else ' ************* Read + nReturn = Cndex.ReadVarDouble_C(_UserSession, MemType, 0, MemIndex, Value.Length, Value, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarDouble_C({0},{1},{2}) O_RW_Double CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException("ERR ReadVarDouble_C O_RW_Double CNC.OSAI") + Return False + End If + End If + + Return True + End Function + + ''' + ''' Legge o scrive Stringhe da MEMORIE SC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' Lunghezza caratteri + ''' Stringa da scrivere su scrittura o leggere su lettura + ''' True se andata a buon fine + Public Overridable Overloads Function O_RW_Text(ByVal bWrite As Boolean, ByVal MemType As MemTypeText, ByVal MemIndex As Integer, ByVal MemLength As Integer, ByRef Value As String) As Boolean + Dim szReturn As String = "" + + If bWrite Then ' *** Write + nReturn = Cndex.WriteVarText_C(_UserSession, MemType, 1, MemIndex, MemLength, Value, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("WriteVarText_C({0},{1},{2}) O_RW_Text CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException("ERR WriteVarText_C O_RW_Text CNC.OSAI") + Return False + End If + + Else ' ************* Read + nReturn = Cndex.ReadVarText_C(_UserSession, MemType, 1, MemIndex, MemLength, Value, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("ReadVarText_C({0},{1},{2}) O_RW_Text CNC.OSAI", [Enum].GetName(MemType.GetType, MemType), MemIndex, Value), szReturn) Then + Throw New NcException("ERR ReadVarText_C O_RW_Text CNC.OSAI") + Return False + End If + End If + + Return True + End Function + + + ''' + ''' Legge o scrive Length and Radius Offset da tabella Utensili CN + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Numero dell'offset utensile + Public Overridable Function O_RW_ToolOffset(ByVal bWrite As Boolean, ByVal ToolOffsetNumber As Integer, ByRef CutterRadius_Wear As Double, ByRef CutterRadius_Geometry As Double, ByRef ToolLenght_Wear As Double, ByRef ToolLenght_Geometry As Double) As Boolean + Return False + End Function + + + + ''' + ''' Blocca l'accesso alla tabella dei correttori + ''' + ''' =True: Blocca la tabella, =False: Sblocca la tabella + ''' True se andata a buon fine + Public Overridable Function O_LockOffsetTable(ByVal Lock As Boolean) As Boolean + Return False + End Function + + + ''' + ''' Legge il numero del processo attivo + ''' + ''' Valore di ritorno del processo selezionato + ''' True se andata a buon fine + Public Overridable Overloads Function O_GetSelectedProcess(ByRef ProcessId As Short) As Boolean + Dim szReturn As String = "" + + nReturn = Cndex.GetSelectedProcess_C(_UserSession, ProcessId, _ErrClass, _ErrNum) + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, "GetSelectedProcess_C O_GetSelectedProcess CNC.OSAI", szReturn) Then + Throw New NcException("ERR GetSelectedProcess_C O_GetSelectedProcess CNC.OSAI") + Return False + End If + + Return True + End Function + + ''' + ''' Legge la riga del programma attivo + ''' + ''' Riga in esecuzione del programma attivo + ''' True se andata a buon fine + Public Overridable Overloads Function O_GetActiveLineProgram(ByRef Line As String) As Boolean + + Dim szReturn As String = "" + Dim ProcessId As Integer + Dim szLine1 As String = "" + Dim szLine2 As String = "" + Dim szLine3 As String = "" + Dim szLine4 As String = "" + Dim szLine5 As String = "" + Dim szLine6 As String = "" + Dim szLine7 As String = "" + Dim szLine8 As String = "" + + O_GetSelectedProcess(ProcessId) + + nReturn = Cndex.GetPartProgramLines_C(_UserSession, ProcessId, szLine1, szLine2, szLine3, szLine4, szLine5, szLine6, szLine7, szLine8, _ErrClass, _ErrNum) + Line = szLine2 + + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, "GetPartProgramLines_C O_GetActiveLineProgram CNC.OSAI", szReturn) Then + Throw New NcException("ERR GetPartProgramLines_C O_GetActiveLineProgram CNC.OSAI") + Return False + End If + + Return True + End Function + + ''' + ''' Legge la tabella assi + ''' + ''' Processo selezionato + ''' Valore di ritorno Assi del processo selezionato + ''' True se andata a buon fine + Public Overridable Function O_GetAxisTab(ByVal ProcessId As Short, ByRef AxisTable() As Char, ByRef AxisIdTable() As Short) As Boolean + Return True + End Function + + Public Overridable Function O_CheckRetError(ByVal nReturn As Short, ByVal ErrClass As Long, ByVal ErrNum As Long, ByVal Position As String, Optional ByRef szReturn As String = "") As Boolean + Dim szErrorClassDesc As String = String.Empty + Dim szErrorDesc As String = String.Empty + + 'Cndex 3.1.2 messages + + '' aggiornare dal manuale di programmazione 4606R.pdf + '' alcune classi di errori sono del cn e non sono specificate nel documento + + If nReturn = 0 Then + 'Seleziono il messaggio + Select Case ErrClass + Case 1 + szErrorClassDesc = "COM error class" + Select Case ErrNum + Case &H80080005 : szErrorDesc = "CO_E_SERVER_EXEC_FAILURE" + Case &H800706BA : szErrorDesc = "RPC_S_SERVER_UNAVAILABLE" + Case &H80070005 : szErrorDesc = "E_ACCESSDENIED" + Case &H80040154 : szErrorDesc = "REGDB_E_CLASSNOTREG" + Case &H80012 : szErrorDesc = "CO_S_NOTALLINTERFACES" + End Select + szErrorDesc = "0x" & Hex(ErrNum) & ": " & szErrorDesc + + Case 2 + szErrorClassDesc = "SERVER error class" + Select Case ErrNum + Case 1 : szErrorDesc = "Memory for dynamic allocations insufficient" + Case 2 : szErrorDesc = "Impossible to create synchronisation events" + Case 3 : szErrorDesc = "Session aborted and no longer usable" + Case 4 : szErrorDesc = "Session not open" + Case 5 : szErrorDesc = "Impossible to allocate a channel" + Case 6 : szErrorDesc = "Function of a non-existing process requested" + Case 7 : szErrorDesc = "Broadcasting command aborted" + Case 8 : szErrorDesc = "Buffer supplied by function in which the data supplied by the NC are copied is too small" + Case 9 : szErrorDesc = "Session already open" + Case 10 : szErrorDesc = "Broadcasting list invalid" + Case 11 : szErrorDesc = "Realtime command aborted" + Case 12 : szErrorDesc = "Function already active" + Case 13 : szErrorDesc = "Function not yet active" + Case 14 : szErrorDesc = "Reception thread ended" + Case 15 : szErrorDesc = "No reply to command received within allotted time" + Case 16 : szErrorDesc = "NC release to which you are connected is not compatible with communications with server" + Case 17 : szErrorDesc = "Cookie does not identify any communication session" + Case 18 : szErrorDesc = "Realtime thread cannot be created" + Case 19 : szErrorDesc = "No more sections available" + Case 20 : szErrorDesc = "Error in symbol acquisition" + Case 23 : szErrorDesc = "Internal object instance cannot be created" + Case 24 : szErrorDesc = "Broadcasting thread cannot be created" + Case 25 : szErrorDesc = "Function cannot be executed in the numerical control boot phase" + Case 26 : szErrorDesc = "Parameter wrong" + Case 27 : szErrorDesc = "Invalid buffer" + Case 29 : szErrorDesc = "Session identifier (UserSession) is invalid (session closed or never opened)" + Case 31 : szErrorDesc = "Session identifier is invalid (value out of range) or session has been closed automatically by Cndex server" + End Select + szErrorDesc = ErrNum.ToString & ": " & szErrorDesc + + Case 3 + szErrorClassDesc = "NETBIOS error class" + Select Case ErrNum + Case &H1 : szErrorDesc = "Illegal buffer length" + Case &H3 : szErrorDesc = "Illegal command" + Case &H5 : szErrorDesc = "Command timed out" + Case &H6 : szErrorDesc = "Message incomplete, issue another command" + Case &H7 : szErrorDesc = "Illegal buffer address" + Case &H8 : szErrorDesc = "Session number out of range" + Case &H9 : szErrorDesc = "No resource available" + Case &HA : szErrorDesc = "Session closed" + Case &HB : szErrorDesc = "Command cancelled" + Case &HD : szErrorDesc = "Duplicate name" + Case &HE : szErrorDesc = "Name table full" + Case &HF : szErrorDesc = "No deletions, name has active sessions" + Case &H11 : szErrorDesc = "Local session table full" + Case &H12 : szErrorDesc = "Remote session table full" + Case &H13 : szErrorDesc = "Illegal name number" + Case &H14 : szErrorDesc = "No callname" + Case &H15 : szErrorDesc = "Cannot put * in NCB_NAME" + Case &H16 : szErrorDesc = "Name in use on remote adapter" + Case &H17 : szErrorDesc = "Name deleted" + Case &H18 : szErrorDesc = "Session ended abnormally" + Case &H19 : szErrorDesc = "Name conflict detected" + Case &H21 : szErrorDesc = "Interface busy, IRET before retrying" + Case &H22 : szErrorDesc = "Too many commands outstanding, retry later" + Case &H23 : szErrorDesc = "Ncb_lana_num field invalid" + Case &H24 : szErrorDesc = "Command completed while cancel occurring" + Case &H26 : szErrorDesc = "Command not valid to cancel" + Case &H30 : szErrorDesc = "Name defined by another local process" + Case &H34 : szErrorDesc = "Environment undefined. RESET required" + Case &H35 : szErrorDesc = "Required OS resources exhausted" + Case &H36 : szErrorDesc = "Max number of applications exceeded" + Case &H37 : szErrorDesc = "No saps available for netbios" + Case &H38 : szErrorDesc = "Requested resources are not available" + Case &H39 : szErrorDesc = "Invalid ncb address or length > segment" + Case &H3B : szErrorDesc = "Invalid NCB DDID" + Case &H3C : szErrorDesc = "Lock of user area failed" + Case &H3F : szErrorDesc = "NETBIOS not loaded" + Case &H40 : szErrorDesc = "System error" + End Select + szErrorDesc = "0x" & Hex(ErrNum) & ": " & szErrorDesc + + Case 4 + szErrorClassDesc = "CNC error class" + Select Case ErrNum + 'Error codes for Real Time functions + Case &H101 : szErrorDesc = "Command unknown" + Case &H102 : szErrorDesc = "No channel available" + Case &H103 : szErrorDesc = "Tick requested not multiple of system tick" + Case &H104 : szErrorDesc = "Id channel wrong" + Case &H105 : szErrorDesc = "Data acquisition still underway" + Case &H106 : szErrorDesc = "Channel not configured" + Case &H107 : szErrorDesc = "Error on stop trigger" + Case &H108 : szErrorDesc = "Channel already configured for other types of data" + 'Error codes for Dry Run functions + Case &H200 : szErrorDesc = "Process not configured" + Case &H201 : szErrorDesc = "Axis not present in process" + Case &H202 : szErrorDesc = "Dry run not configured" + Case &H203 : szErrorDesc = "Dry run already being executed" + Case &H204 : szErrorDesc = "Dry run already in stop status" + End Select + szErrorDesc = "0x" & Hex(ErrNum) & ": " & szErrorDesc + + Case 10 + szErrorClassDesc = "DLL_INTERFACE error class" + Select Case ErrNum + Case 1 : szErrorDesc = "The server has been created more than once" + Case 2 : szErrorDesc = "An error has occurred during the creation of the Cndex server" + Case 3 : szErrorDesc = "A function has been called without having created the Cndex server" + Case 4 : szErrorDesc = "One or more function input parameters are not valid" + Case 5 : szErrorDesc = "Option A06 -CndexLink communication- for network communications with external applications is not enabled on the CNC you are trying to connect to" + End Select + szErrorDesc = ErrNum.ToString & ": " & szErrorDesc + + Case Else + szErrorDesc = ErrNum.ToString + End Select + szErrorClassDesc = ErrClass.ToString & ": " & szErrorClassDesc + + 'Stampo il messaggio + szReturn = "ERR " & szErrorClassDesc & " " & szErrorDesc & " - Occurred in: " & Position + Return True 'presenza errore + End If + + szReturn = "" + Return False 'assenza errori + End Function +#Region "area chiamate IOT (dummy/overridden)" + + ''' + ''' Chiama GenNcInfo x ottenere dati base del NC + ''' + ''' + ''' + Public Overridable Function O_GetNcInfo1(ByRef NcInfo As OPENcontrol.GETINFO1DATA) As Boolean + ' RIFERIMENTO: + ' CndexLinkUser.pdf | pag 148, 266 + + Dim szReturn As String = "" + Dim myGetNcInfo1R As CndexLinkDotNet.Cndex.GETINFO1DATA + Dim ProcessId As Short = 1 + + Try + ' forzato proc a 1... + 'O_GetSelectedProcess(ProcessId) + + ' init obj return + myGetNcInfo1R = New CndexLinkDotNet.Cndex.GETINFO1DATA + + Cndex.GetNcInfo1_C(_UserSession, ProcessId, myGetNcInfo1R, _ErrClass, _ErrNum) + + + If O_CheckRetError(nReturn, _ErrClass, _ErrNum, String.Format("O_GetNcInfo1({0}) errore CNC.OSAI", NcInfo), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + ' Assegno 1:1 variabili... + NcInfo.actualtool = myGetNcInfo1R.actual_tool + NcInfo.actualtooloff = myGetNcInfo1R.actual_tool_off + NcInfo.autojogret = myGetNcInfo1R.auto_jog_ret + NcInfo.axsel = myGetNcInfo1R.ax_sel + NcInfo.blockretrace = myGetNcInfo1R.block_retrace + NcInfo.disableslashedblk = myGetNcInfo1R.disable_slashed_blk + NcInfo.dryrun = myGetNcInfo1R.dry_run + NcInfo.feedmisunit = myGetNcInfo1R.feed_mis_unit + NcInfo.feedov = myGetNcInfo1R.feed_ov + NcInfo.forcerapidfeed = myGetNcInfo1R.force_rapid_feed + NcInfo.jogdir = myGetNcInfo1R.jog_dir + NcInfo.jogincr = myGetNcInfo1R.jog_incr + NcInfo.lastncerror = myGetNcInfo1R.last_nc_error + NcInfo.mainprogrname = myGetNcInfo1R.main_progr_name.ToString() + NcInfo.manfeedov = myGetNcInfo1R.man_feed_ov + NcInfo.modeselect = myGetNcInfo1R.mode_select + NcInfo.numaxsel = myGetNcInfo1R.num_ax_sel + NcInfo.optionalstop = myGetNcInfo1R.optional_stop + NcInfo.progrfeed = myGetNcInfo1R.progr_feed + NcInfo.progrspeed = myGetNcInfo1R.progr_speed + NcInfo.progrtool = myGetNcInfo1R.progr_tool + NcInfo.progrtooloff = myGetNcInfo1R.progr_tool_off + NcInfo.rapidfeed = myGetNcInfo1R.rapid_feed + NcInfo.rapidoverride = myGetNcInfo1R.rapid_override + NcInfo.rapfeedov = myGetNcInfo1R.rap_feed_ov + NcInfo.realfeed = myGetNcInfo1R.real_feed + NcInfo.realspeed = myGetNcInfo1R.real_speed + NcInfo.speedov = myGetNcInfo1R.speed_ov + NcInfo.status = myGetNcInfo1R.status + NcInfo.substatus = myGetNcInfo1R.substatus + + Catch ex As System.ServiceModel.CommunicationException + Throw New NcException(ex.Message) + Return False + End Try + + Return True + + End Function + ''' + ''' Chiama ReadCurrentErrorMsg x ottenere elenco errori + ''' + ''' + ''' + Public Overridable Function O_ReadCurrentErrorMsg(ByRef CurrMsgError As OPENcontrol.MSGERROR) As Boolean + Return True + End Function + ''' + ''' Chiama ReadCurrentEmergMsg x ottenere elenco errori + ''' + ''' + ''' + Public Overridable Function O_ReadCurrentEmergMsg(ByRef CurrMsgEmerg As OPENcontrol.MSGEMERGENCY) As Boolean + Return True + End Function + ''' + ''' Chiama ReadCurrentErrorMsg x ottenere elenco errori + ''' + ''' + ''' + Public Overridable Function O_ReadCurrentAnomalyMsg(ByRef CurrMsgAnomaly As OPENcontrol.MSGANOMALY) As Boolean + Return True + End Function + ''' + ''' Restituisce posizione assi (tutti) + ''' + ''' Tipo posizione richeista (1..6) + ''' Vettore posizioni richieste + ''' + Public Overridable Function getAllAxisPos(tipoPos As Int16, ByRef AxisPos As OPENcontrol.GETINTDATA()) As Boolean + Return True + End Function + ''' + ''' Elenco codici G del processo richiesto... + ''' + ''' + ''' + ''' + Public Overridable Function getPathGCodeMod(Processo As Int32, ByRef GCodeCurr As UShort()) As Boolean + Return True + End Function + +#End Region + + End Class + +End Namespace diff --git a/EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb b/EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb new file mode 100644 index 0000000..3256e76 --- /dev/null +++ b/EgwProxy.MultiCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb @@ -0,0 +1,1154 @@ +Imports EgwProxy.MultiCncLib.Config.Settings + +Namespace CNC + + Public Class OSAI_OPEN + Inherits OSAI + + 'Variabili per Web Service OPENcontrol + Protected _szIpAddress As String + Friend OPENws As OPENcontrol.OPENcontrolPortTypeClient + Private nReturn As Short + + Protected Const MAXRET = 3 + + Public Enum O_Table + TOOL_TABLE_ID = 1 + OFFSET_TABLE_ID = 2 + ORIGIN_TABLE_ID = 3 + USER_TABLE_ID = 4 + End Enum + + Public Overrides Property Licenza() As Integer + Get + Dim uiLicence(0) As UInteger + 'leggo dal cn il valore + Me.O_RW_DWord(R, MemTypeWord.GW_CODE, 303, uiLicence) + Return UnsignedToInteger(uiLicence(0)) + End Get + Set(ByVal value As Integer) + 'setto sul cn il valore + Dim uiLicence(0) As UInteger + uiLicence(0) = IntegerToUnsigned(value) + Me.O_RW_DWord(W, MemTypeWord.GW_CODE, 303, uiLicence) + End Set + End Property + + Public Overrides Property LicenzaScaduta() As Boolean + Get + Dim bLicenzaScaduta As Boolean + 'leggo dal cn il valore + Me.O_RW_Boolean(R, MemTypeWord.GW_CODE, 302, 0, bLicenzaScaduta) + Return bLicenzaScaduta + End Get + Set(ByVal value As Boolean) + 'setto sul cn il valore + Me.O_RW_Boolean(W, MemTypeWord.GW_CODE, 302, 0, value) + End Set + End Property + + Public Sub New(ByRef szIpAddress As String) + _Type = NcType.OSAI_OPEN + _szIpAddress = szIpAddress + + Dim conf As String = "OPENcontrol" + Dim url As String = "http://" & szIpAddress & ":8080" + + Try + OPENws = New OPENcontrol.OPENcontrolPortTypeClient(conf, url) + Catch ex As Exception + MsgBox(ex.Message) + End Try + + + 'Inizializzo le variabili + Me._Descrizione = "NC OSAI OPENcontrol" & vbNewLine + Me._Descrizione = Me._Descrizione & "IpAddress: " & _szIpAddress + End Sub + + Public Overrides Sub Connect(Optional ByRef szStatus As String = "") + Dim BootPhaseEnquiryR As New OPENcontrol.BootPhaseEnquiryR + Dim BootPhaseEnquiry As OPENcontrol.BootPhaseEnquiry + Dim szReturn As String = "" + Dim usValue(0) As UShort + Dim TimeStart As Date + + BootPhaseEnquiry = New OPENcontrol.BootPhaseEnquiry() + + 'leggo in che fase di boot mi trovo + Try + BootPhaseEnquiryR = OPENws.BootPhaseEnquiry(BootPhaseEnquiry) + Catch ex As System.ServiceModel.EndpointNotFoundException + _bConnected = False + Throw New NcException(ex.Message) + Catch ex As System.ServiceModel.CommunicationException + _bConnected = False + Throw New NcException(ex.Message) + End Try + + If O_CheckRetError(BootPhaseEnquiryR.retval, BootPhaseEnquiryR.ErrClass, BootPhaseEnquiryR.ErrNum, String.Format("BootPhaseEnquiry({0}) Connect CNC.OSAI_OPEN", BootPhaseEnquiry), szReturn) Then + _bConnected = False + Throw New NcException(szReturn) + Else + 'verifico che il sistema si trovi in una fase operativa "stabile" + If BootPhaseEnquiryR.Phase = 4 Then 'SYSTEM_UP_PHASE + + 'leggo matricola e verifico che sia diversa da zero + TimeStart = Now + Do + + nReturn = O_RW_Word(R, MemTypeWord.MW_CODE, 3403, usValue) + + If usValue(0) > 0 Then + Threading.Thread.Sleep(500) + Exit Do + End If + + If (Now - TimeStart).Seconds > 30 Then + Select Case MsgBox("Matricola non inizializzata in 30 secondi: Verificare inizializzazione PLC", MsgBoxStyle.Exclamation + MsgBoxStyle.RetryCancel) + Case MsgBoxResult.Retry : TimeStart = Now + Case MsgBoxResult.Cancel : Exit Do + End Select + End If + Threading.Thread.Sleep(500) 'aspetto 500ms prima di ritentare + Loop + + _bConnected = True + Else + _bConnected = False + Throw New NcException("ERR BootPhase NOT OK CNC.OSAI_OPEN") + End If + End If + + End Sub + + Public Overrides Sub Disconnect(Optional ByRef szStatus As String = "") + _bConnected = False + End Sub + + ''' + ''' Legge le memorie di configurazione dal cn + ''' + Public Overrides Sub GetStaticData() + Dim nValue(0) As Integer + Dim sValue(0) As Short + Dim ucValue(0) As Byte + + If Not bStaticDataReaded Then + Try + Select Case Settings.MemoryMapping + Case MemoryMapping.ElsManager + + Case MemoryMapping.Default, + MemoryMapping.ToolManager, + MemoryMapping.ToolTable + + 'Matricola + nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3403, sValue) + Me._Matricola = sValue(0) + 'Teste + nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3405, sValue) + Me._Teste = sValue(0) + 'Magazzini + nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3407, sValue) + Me._Magazzini = sValue(0) + 'Manine per Magazzino + ReDim Me._ManineMagazzino(Me._Magazzini - 1) + ReDim ucValue(19) + nReturn = O_RW_Byte(R, MemTypeWord.MW_CODE, 2900, LOW_ORDER, ucValue) + Array.Copy(ucValue, Me._ManineMagazzino, Me._ManineMagazzino.Length) + ReDim ucValue(0) + + 'Magazzini Con Attrezzaggio Automatico (maschera) + O_RW_Integer(R, MemTypeWord.MW_CODE, 4060, nValue) + Me._MagazziniConAttrezzaggioAutomatico = nValue(0) + End Select + + Me._MaxUtensiliGestibili = 300 'TODO IMPLEMENTARE + Me._MaxIdUtensile = 300 'TODO IMPLEMENTARE + + Select Case Settings.MemoryMapping + Case MemoryMapping.ElsManager + Case MemoryMapping.ToolManager + Case MemoryMapping.Default, + MemoryMapping.ToolTable + 'ZoomSpeed + nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3425, sValue) + If sValue(0) > 0 And sValue(0) <= 100 Then + Me._ZoomSpeed = sValue(0) + Else + Me._ZoomSpeed = 1 + End If + End Select + + bStaticDataReaded = True + + Catch ex As NcException + Me.CncException(ex.Message) + End Try + + End If + End Sub + + + ''' + ''' Legge o scrive Boolean da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Bit della memoria + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Overrides Function O_RW_Boolean(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByVal MemBit As Integer, ByRef Value As Boolean) As Boolean + Dim szReturn As String = "" + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + Dim myWriteVarWordBitR As OPENcontrol.WriteVarWordBitR + Dim myWriteVarWordBit As New OPENcontrol.WriteVarWordBit + myWriteVarWordBit.Code = MemType + myWriteVarWordBit.Index = MemIndex + myWriteVarWordBit.BitIndex = MemBit + myWriteVarWordBit.BitValue = IIf(Value, 1, 0) + myWriteVarWordBitR = OPENws.WriteVarWordBit(myWriteVarWordBit) + If O_CheckRetError(myWriteVarWordBitR.retval, myWriteVarWordBitR.ErrClass, myWriteVarWordBitR.ErrNum, String.Format("WriteVarWordBit({0},{1}) O_RW_Boolean CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + Dim myReadVarWordR As OPENcontrol.ReadVarWordR + Dim myReadVarWord As New OPENcontrol.ReadVarWord + myReadVarWord.Code = MemType + myReadVarWord.Index = MemIndex + myReadVarWord.NumVar = 1 + myReadVarWordR = OPENws.ReadVarWord(myReadVarWord) + If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Boolean CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + If (myReadVarWordR.Value(0) And (2 ^ MemBit)) = (2 ^ MemBit) Then 'True + Value = True + Else 'False + Value = False + End If + End If + + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + Catch ex As System.TimeoutException + Throw New NcException(ex.Message) + Return False + End Try + End Function + + ''' + ''' Legge o scrive Byte da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Ordine di partenza LOW_ORDER = 0 HIGH_ORDER = 1 + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Overrides Function O_RW_Byte(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByVal MemOrderStart As Integer, ByRef Value() As Byte) As Boolean + Dim szReturn As String = "" + Dim bStartHigh As Boolean = MemOrderStart + Dim bEndDispari As Boolean = (Value.Length + MemOrderStart) Mod 2 + Dim cStart, cEnd As Byte + Dim ValueTmp(((Value.Length + MemOrderStart) \ 2) + ((Value.Length + MemOrderStart) Mod 2) - 1) As UShort + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + 'se comincio con hi leggo la prima memo + If bStartHigh Then + Dim ValStartTmp(0) As UShort + O_RW_Word(R, MemType, MemIndex, ValStartTmp) + cStart = WordToByte(ValStartTmp(0), LOW_ORDER) + End If + + 'se finisco dispari, leggo l'ultima memo + If bEndDispari Then + Dim ValEndTmp(0) As UShort + O_RW_Word(R, MemType, MemIndex + ValueTmp.Length - 1, ValEndTmp) + cEnd = WordToByte(ValEndTmp(0), HIGH_ORDER) + End If + + For i = 0 To ValueTmp.Length - 1 + Dim cLow, cHigh As Byte + 'Low + If i = 0 AndAlso bStartHigh Then + cLow = cStart + Else + cLow = Value(i * 2 - MemOrderStart) + End If + 'High + If i = (ValueTmp.Length - 1) AndAlso bEndDispari Then + cHigh = cEnd + Else + cHigh = Value(i * 2 + 1 - MemOrderStart) + End If + + ValueTmp(i) = ByteToWord(cLow, cHigh) + Next + + O_RW_Word(W, MemType, MemIndex, ValueTmp) + + Else ' ************* Read + Dim myReadVarWordR As OPENcontrol.ReadVarWordR + Dim myReadVarWord As New OPENcontrol.ReadVarWord + myReadVarWord.Code = MemType + myReadVarWord.Index = MemIndex + myReadVarWord.NumVar = ValueTmp.Length + myReadVarWordR = OPENws.ReadVarWord(myReadVarWord) + If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Byte CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + For i = 0 To Value.Length - 1 + Value(i) = WordToByte(myReadVarWordR.Value((i + MemOrderStart) \ 2), (i + MemOrderStart) Mod 2) + Next + End If + + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + Catch ex As System.TimeoutException + Throw New NcException(ex.Message) + Return False + End Try + End Function + + ''' + ''' Legge o scrive Word da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Overrides Function O_RW_Word(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As UShort) As Boolean + Dim szReturn As String = "" + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + Dim myWriteVarWordR As OPENcontrol.WriteVarWordR + Dim myWriteVarWord As New OPENcontrol.WriteVarWord + myWriteVarWord.Code = MemType + myWriteVarWord.Index = MemIndex + myWriteVarWord.NumVar = Value.Length + ReDim myWriteVarWord.Value(Value.Length - 1) + Array.Copy(Value, myWriteVarWord.Value, Value.Length) + myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord) + If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_Word CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + Dim myReadVarWordR As OPENcontrol.ReadVarWordR + Dim myReadVarWord As New OPENcontrol.ReadVarWord + myReadVarWord.Code = MemType + myReadVarWord.Index = MemIndex + myReadVarWord.NumVar = Value.Length + myReadVarWordR = OPENws.ReadVarWord(myReadVarWord) + If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Word CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + Array.Copy(myReadVarWordR.Value, Value, Value.Length) + End If + + Return True + + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + Catch ex As System.TimeoutException + Throw New NcException(ex.Message) + Return False + End Try + End Function + + + ''' + ''' Legge o scrive Short da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Overrides Function O_RW_Short(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As Short) As Boolean + Dim szReturn As String = "" + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + Dim myWriteVarWordR As OPENcontrol.WriteVarWordR + Dim myWriteVarWord As New OPENcontrol.WriteVarWord + myWriteVarWord.Code = MemType + myWriteVarWord.Index = MemIndex + myWriteVarWord.NumVar = Value.Length + ReDim myWriteVarWord.Value(Value.Length - 1) + For i = 0 To Value.Length - 1 + myWriteVarWord.Value(i) = ShortToUnsigned(Value(i)) + Next + myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord) + If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_Short CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + Dim myReadVarWordR As OPENcontrol.ReadVarWordR + Dim myReadVarWord As New OPENcontrol.ReadVarWord + myReadVarWord.Code = MemType + myReadVarWord.Index = MemIndex + myReadVarWord.NumVar = Value.Length + myReadVarWordR = OPENws.ReadVarWord(myReadVarWord) + If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Short CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + For i = 0 To Value.Length - 1 + Value(i) = UnsignedToShort(myReadVarWordR.Value(i)) + Next + End If + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + Catch ex As System.TimeoutException + Throw New NcException(ex.Message) + Return False + End Try + End Function + + + ''' + ''' Legge o scrive Integer da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Overrides Function O_RW_DWord(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As UInteger) As Boolean + Dim szReturn As String = "" + Dim ValueTmp(Value.Length * 2 - 1) As UShort + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + Dim myWriteVarWordR As OPENcontrol.WriteVarWordR + Dim myWriteVarWord As New OPENcontrol.WriteVarWord + myWriteVarWord.Code = MemType + myWriteVarWord.Index = MemIndex + myWriteVarWord.NumVar = ValueTmp.Length + For i = 0 To Value.Length - 1 + ValueTmp(i * 2) = DWordToWord(Value(i), LOW_ORDER) + ValueTmp(i * 2 + 1) = DWordToWord(Value(i), HIGH_ORDER) + Next + ReDim myWriteVarWord.Value(ValueTmp.Length - 1) + Array.Copy(ValueTmp, myWriteVarWord.Value, ValueTmp.Length) + myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord) + If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + Dim myReadVarWordR As OPENcontrol.ReadVarWordR + Dim myReadVarWord As New OPENcontrol.ReadVarWord + myReadVarWord.Code = MemType + myReadVarWord.Index = MemIndex + myReadVarWord.NumVar = ValueTmp.Length + myReadVarWordR = OPENws.ReadVarWord(myReadVarWord) + If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + Else + For i = 0 To Value.Length - 1 + Value(i) = WordsToDWord(myReadVarWordR.Value(i * 2), myReadVarWordR.Value(i * 2 + 1)) + Next + End If + End If + + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + Catch ex As System.TimeoutException + Throw New NcException(ex.Message) + Return False + End Try + End Function + + + ''' + ''' Legge o scrive Integer da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Overrides Function O_RW_Integer(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As Integer) As Boolean + Dim szReturn As String = "" + Dim ValueTmp(Value.Length * 2 - 1) As UShort + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + Dim myWriteVarWordR As OPENcontrol.WriteVarWordR + Dim myWriteVarWord As New OPENcontrol.WriteVarWord + myWriteVarWord.Code = MemType + myWriteVarWord.Index = MemIndex + myWriteVarWord.NumVar = ValueTmp.Length + For i = 0 To Value.Length - 1 + ValueTmp(i * 2) = IntegerToWord(Value(i), LOW_ORDER) + ValueTmp(i * 2 + 1) = IntegerToWord(Value(i), HIGH_ORDER) + Next + ReDim myWriteVarWord.Value(ValueTmp.Length - 1) + Array.Copy(ValueTmp, myWriteVarWord.Value, ValueTmp.Length) + myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord) + If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarDWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + Dim myReadVarWordR As OPENcontrol.ReadVarWordR + Dim myReadVarWord As New OPENcontrol.ReadVarWord + myReadVarWord.Code = MemType + myReadVarWord.Index = MemIndex + myReadVarWord.NumVar = ValueTmp.Length + myReadVarWordR = OPENws.ReadVarWord(myReadVarWord) + If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarDWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + Else + For i = 0 To Value.Length - 1 + Value(i) = WordsToInteger(myReadVarWordR.Value(i * 2), myReadVarWordR.Value(i * 2 + 1)) + Next + End If + End If + + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + Catch ex As System.TimeoutException + Throw New NcException(ex.Message) + Return False + End Try + End Function + + ''' + ''' Legge o scrive Double da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo di memoria Osai + ''' Indice di memoria + ''' Matrice di valori da scrivere su scrittura o letti su lettura + ''' True se andata a buon fine + Public Overloads Overrides Function O_RW_Double(ByVal bWrite As Boolean, ByVal MemType As MemTypeDouble, ByVal MemIndex As Integer, ByRef Value() As Double) As Boolean + Dim szReturn As String = "" + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + Dim myWriteVarDoubleR As OPENcontrol.WriteVarDoubleR + Dim myWriteVarDouble As New OPENcontrol.WriteVarDouble + myWriteVarDouble.Code = MemType + myWriteVarDouble.Index = MemIndex + myWriteVarDouble.NumVar = Value.Length + ReDim myWriteVarDouble.Value(Value.Length - 1) + Array.Copy(Value, myWriteVarDouble.Value, Value.Length) + myWriteVarDoubleR = OPENws.WriteVarDouble(myWriteVarDouble) + If O_CheckRetError(myWriteVarDoubleR.retval, myWriteVarDoubleR.ErrClass, myWriteVarDoubleR.ErrNum, String.Format("WriteVarDouble({0},{1}) O_RW_Double CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + Dim myReadVarDoubleR As OPENcontrol.ReadVarDoubleR + Dim myReadVarDouble As New OPENcontrol.ReadVarDouble + myReadVarDouble.Code = MemType + myReadVarDouble.Index = MemIndex + myReadVarDouble.NumVar = Value.Length + myReadVarDoubleR = OPENws.ReadVarDouble(myReadVarDouble) + If O_CheckRetError(myReadVarDoubleR.retval, myReadVarDoubleR.ErrClass, myReadVarDoubleR.ErrNum, String.Format("ReadVarDouble({0},{1}) O_RW_Double CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + Array.Copy(myReadVarDoubleR.Value, Value, Value.Length) + End If + + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + Catch ex As System.TimeoutException + Throw New NcException(ex.Message) + Return False + End Try + End Function + + ''' + ''' Legge o scrive Stringhe da MEMORIE SC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Indice di memoria + ''' Lunghezza caratteri + ''' Stringa da scrivere su scrittura o leggere su lettura + ''' True se andata a buon fine + Public Overloads Overrides Function O_RW_Text(ByVal bWrite As Boolean, ByVal MemType As MemTypeText, ByVal MemIndex As Integer, ByVal MemLength As Integer, ByRef Value As String) As Boolean + Dim szReturn As String = "" + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + Dim myWriteVarTextR As OPENcontrol.WriteVarTextR + Dim myWriteVarText As New OPENcontrol.WriteVarText + myWriteVarText.Code = MemType + myWriteVarText.Index = MemIndex + myWriteVarText.Len = MemLength + myWriteVarText.Text = Value + myWriteVarText.Process = 1 'serve per le variabili SC + myWriteVarTextR = OPENws.WriteVarText(myWriteVarText) + If O_CheckRetError(myWriteVarTextR.retval, myWriteVarTextR.ErrClass, myWriteVarTextR.ErrNum, String.Format("WriteVarText({0},{1}) O_RW_Text CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + Dim myReadVarTextR As OPENcontrol.ReadVarTextR + Dim myReadVarText As New OPENcontrol.ReadVarText + myReadVarText.Code = MemType + myReadVarText.Index = MemIndex + myReadVarText.Size = MemLength + myReadVarText.Process = 1 'serve per le variabili SC + myReadVarTextR = OPENws.ReadVarText(myReadVarText) + If O_CheckRetError(myReadVarTextR.retval, myReadVarTextR.ErrClass, myReadVarTextR.ErrNum, String.Format("ReadVarText({0},{1}) O_RW_Text CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + Value = myReadVarTextR.Text + End If + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + Catch ex As System.TimeoutException + Throw New NcException(ex.Message) + Return False + End Try + + Return True + + End Function + + ''' + ''' Legge o scrive Length and Radius Offset da tabella Utensili CN + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Numero dell'offset utensile + Public Overrides Function O_RW_ToolOffset(ByVal bWrite As Boolean, ByVal ToolOffsetNumber As Integer, ByRef CutterRadius_Wear As Double, ByRef CutterRadius_Geometry As Double, ByRef ToolLenght_Wear As Double, ByRef ToolLenght_Geometry As Double) As Boolean + Dim szReturn As String = "" + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If bWrite Then ' *** Write + 'leggo il correttore per usarlo come template + Dim myGetOffsetTabRecordIIR As OPENcontrol.GetOffsetTabRecordIIR + Dim myGetOffsetTabRecordII As New OPENcontrol.GetOffsetTabRecordII + myGetOffsetTabRecordII.RecordNum = ToolOffsetNumber + myGetOffsetTabRecordIIR = OPENws.GetOffsetTabRecordII(myGetOffsetTabRecordII) + If O_CheckRetError(myGetOffsetTabRecordIIR.retval, myGetOffsetTabRecordIIR.ErrClass, myGetOffsetTabRecordIIR.ErrNum, String.Format("GetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Dim mySetOffsetTabRecordIIR As OPENcontrol.SetOffsetTabRecordIIR + Dim mySetOffsetTabRecordII As New OPENcontrol.SetOffsetTabRecordII + mySetOffsetTabRecordII.RecordNum = ToolOffsetNumber + mySetOffsetTabRecordII.RecordBuff = myGetOffsetTabRecordIIR.RecordBuff + 'modifico i valori che mi interesssano + mySetOffsetTabRecordII.RecordBuff.DiaVal(0).ActChangeVal = CutterRadius_Wear + mySetOffsetTabRecordII.RecordBuff.DiaVal(0).ValOrig = CutterRadius_Geometry + mySetOffsetTabRecordII.RecordBuff.LenVal(0).ActChangeVal = ToolLenght_Wear + mySetOffsetTabRecordII.RecordBuff.LenVal(0).ValOrig = ToolLenght_Geometry + + 'scrivo il correttore + mySetOffsetTabRecordIIR = OPENws.SetOffsetTabRecordII(mySetOffsetTabRecordII) + If O_CheckRetError(mySetOffsetTabRecordIIR.retval, mySetOffsetTabRecordIIR.ErrClass, mySetOffsetTabRecordIIR.ErrNum, String.Format("SetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Else ' ************* Read + Dim myGetOffsetTabRecordIIR As OPENcontrol.GetOffsetTabRecordIIR + Dim myGetOffsetTabRecordII As New OPENcontrol.GetOffsetTabRecordII + myGetOffsetTabRecordII.RecordNum = ToolOffsetNumber + myGetOffsetTabRecordIIR = OPENws.GetOffsetTabRecordII(myGetOffsetTabRecordII) + If O_CheckRetError(myGetOffsetTabRecordIIR.retval, myGetOffsetTabRecordIIR.ErrClass, myGetOffsetTabRecordIIR.ErrNum, String.Format("GetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + CutterRadius_Wear = myGetOffsetTabRecordIIR.RecordBuff.DiaVal(0).ActChangeVal + CutterRadius_Geometry = myGetOffsetTabRecordIIR.RecordBuff.DiaVal(0).ValOrig + ToolLenght_Wear = myGetOffsetTabRecordIIR.RecordBuff.LenVal(0).ActChangeVal + ToolLenght_Geometry = myGetOffsetTabRecordIIR.RecordBuff.LenVal(0).ValOrig + End If + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + + Return True + + End Function + + ''' + ''' Blocca l'accesso alla tabella dei correttori + ''' + ''' =True: Blocca la tabella, =False: Sblocca la tabella + ''' True se andata a buon fine + Public Overrides Function O_LockOffsetTable(ByVal Lock As Boolean) As Boolean + Static bLocked As Boolean + Dim szReturn As String = "" + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + If Lock Then + If Not bLocked Then + Dim myLockTableIIR As OPENcontrol.LockTableIIR + Dim myLockTableII As New OPENcontrol.LockTableII + myLockTableII.TableNum = O_Table.OFFSET_TABLE_ID + myLockTableIIR = OPENws.LockTableII(myLockTableII) + If O_CheckRetError(myLockTableIIR.retval, myLockTableIIR.ErrClass, myLockTableIIR.ErrNum, String.Format("LockTableII({0}) O_LockOffsetTable CNC.OSAI_OPEN", myLockTableII.TableNum), szReturn) Then + 'Throw New NcException(szReturn) + Return False + End If + bLocked = True + End If + Else + Dim myUnLockTableIIR As OPENcontrol.UnLockTableIIR + Dim myUnLockTableII As New OPENcontrol.UnLockTableII + myUnLockTableII.TableNum = O_Table.OFFSET_TABLE_ID + myUnLockTableIIR = OPENws.UnLockTableII(myUnLockTableII) + If O_CheckRetError(myUnLockTableIIR.retval, myUnLockTableIIR.ErrClass, myUnLockTableIIR.ErrNum, String.Format("UnLockTableII({0}) O_LockOffsetTable CNC.OSAI_OPEN", myUnLockTableII.TableNum), szReturn) Then + 'Throw New NcException(szReturn) + Return False + End If + bLocked = False + End If + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + End Function + + + ''' + ''' Legge il numero del processo attivo + ''' + ''' Valore di ritorno del processo selezionato + ''' True se andata a buon fine + Public Overloads Overrides Function O_GetSelectedProcess(ByRef ProcessId As Short) As Boolean + Dim szReturn As String = "" + Dim myGetSelectedProcessR As OPENcontrol.GetSelectedProcessR + Dim myGetSelectedProcess As New OPENcontrol.GetSelectedProcess + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + myGetSelectedProcessR = OPENws.GetSelectedProcess(myGetSelectedProcess) + If O_CheckRetError(myGetSelectedProcessR.retval, myGetSelectedProcessR.ErrClass, myGetSelectedProcessR.ErrNum, "GetSelectedProcess() O_GetSelectedProcess CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + ProcessId = UnsignedToShort(myGetSelectedProcessR.ProcNum) + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + End Function + + ''' + ''' Legge la riga del programma attivo + ''' + ''' Riga in esecuzione del programma attivo + ''' True se andata a buon fine + Public Overloads Overrides Function O_GetActiveLineProgram(ByRef Line As String) As Boolean + Dim szReturn As String = "" + Dim myGetPartProgramLinesR As OPENcontrol.GetPartProgramLinesR + Dim myGetPartProgramLines As New OPENcontrol.GetPartProgramLines + Dim ProcessId As Short + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + O_GetSelectedProcess(ProcessId) + + myGetPartProgramLines.ProcNum = ProcessId + myGetPartProgramLinesR = OPENws.GetPartProgramLines(myGetPartProgramLines) + If O_CheckRetError(myGetPartProgramLinesR.retval, myGetPartProgramLinesR.ErrClass, myGetPartProgramLinesR.ErrNum, "GetPartProgramLines() O_GetActiveLineProgram CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + Line = myGetPartProgramLinesR.PPLine2 + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + End Function + + + ''' + ''' Legge la tabella assi + ''' + ''' Processo selezionato + ''' Valore di ritorno Assi del processo selezionato + ''' True se andata a buon fine + Public Overloads Overrides Function O_GetAxisTab(ByVal ProcessId As Short, ByRef AxisTable() As Char, ByRef AxisIdTable() As Short) As Boolean + Dim szReturn As String = "" + Dim i, j As Integer + Dim myGetAxesInfo3R As OPENcontrol.GetAxesInfo3R + Dim myGetAxesInfo3 As New OPENcontrol.GetAxesInfo3 + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + myGetAxesInfo3.AxesNum = 64 + myGetAxesInfo3R = OPENws.GetAxesInfo3(myGetAxesInfo3) + If O_CheckRetError(myGetAxesInfo3R.retval, myGetAxesInfo3R.ErrClass, myGetAxesInfo3R.ErrNum, "GetAxesInfo3() O_RW_Word CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + For i = 0 To 63 + If myGetAxesInfo3R.AxOwnerList(i) = ProcessId Then + If (myGetAxesInfo3R.AxNameList(i) < Asc("a") Or myGetAxesInfo3R.AxNameList(i) > Asc("z")) And myGetAxesInfo3R.AxNameList(i) <> Asc("S") Then + AxisTable(j) = Chr(myGetAxesInfo3R.AxNameList(i)) + AxisIdTable(j) = i + 1 + j += 1 + End If + 'ElseIf myGetAxesInfo3R.AxOwnerList(i) = &HFFFF& Then 'Non esco perchè gli assi potrebbero non essere in fila + ' Exit For + End If + Next i + + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + End Function + +#Region "Funzioni specifiche IOT" + + Public Overloads Overrides Function O_GetNcInfo1(ByRef NcInfo As OPENcontrol.GETINFO1DATA) As Boolean + ' RIFERIMENTO: + ' CndexLinkUser.pdf | pag 148, 266 + + Dim szReturn As String = "" + Dim myGetNcInfo1R As OPENcontrol.GetNcInfo1R + Dim myGetNcInfo1 As New OPENcontrol.GetNcInfo1 + Dim ProcessId As Short + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + O_GetSelectedProcess(ProcessId) + + myGetNcInfo1.ProcNum = ProcessId + myGetNcInfo1R = OPENws.GetNcInfo1(myGetNcInfo1) + If O_CheckRetError(myGetNcInfo1R.retval, myGetNcInfo1R.ErrClass, myGetNcInfo1R.ErrNum, "GetNcInfo1() O_GetNcInfo1 CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + NcInfo = myGetNcInfo1R.GetInfo + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + + End Function + + Public Overloads Overrides Function O_ReadCurrentErrorMsg(ByRef CurrMsgError As OPENcontrol.MSGERROR) As Boolean + ' RIFERIMENTO: + ' CndexLinkUser.pdf | pag 162, 270 + + Dim szReturn As String = "" + Dim myReadCurrentErrorMsgR As OPENcontrol.ReadCurrentErrorMsgR + Dim myReadCurrentErrorMsg As New OPENcontrol.ReadCurrentErrorMsg + Dim ProcessId As Short + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + O_GetSelectedProcess(ProcessId) + + myReadCurrentErrorMsg.Process = ProcessId + myReadCurrentErrorMsgR = OPENws.ReadCurrentErrorMsg(myReadCurrentErrorMsg) + If O_CheckRetError(myReadCurrentErrorMsgR.retval, myReadCurrentErrorMsgR.ErrClass, myReadCurrentErrorMsgR.ErrNum, "ReadCurrentErrorMsg() O_ReadCurrentErrorMsg CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + CurrMsgError = myReadCurrentErrorMsgR.Data + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + + End Function + Public Overloads Overrides Function O_ReadCurrentEmergMsg(ByRef CurrMsgEmerg As OPENcontrol.MSGEMERGENCY) As Boolean + ' RIFERIMENTO: + ' CndexLinkUser.pdf | pag 163, 271 + + Dim szReturn As String = "" + Dim myReadCurrentEmergMsgR As OPENcontrol.ReadCurrentEmergMsgR + Dim myReadCurrentEmergMsg As New OPENcontrol.ReadCurrentEmergMsg + Dim ProcessId As Short + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + O_GetSelectedProcess(ProcessId) + + myReadCurrentEmergMsg.Process = ProcessId + myReadCurrentEmergMsgR = OPENws.ReadCurrentEmergMsg(myReadCurrentEmergMsg) + If O_CheckRetError(myReadCurrentEmergMsgR.retval, myReadCurrentEmergMsgR.ErrClass, myReadCurrentEmergMsgR.ErrNum, "ReadCurrentEmergMsg() O_ReadCurrentEmergMsg CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + CurrMsgEmerg = myReadCurrentEmergMsgR.Data + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + + End Function + Public Overloads Overrides Function O_ReadCurrentAnomalyMsg(ByRef CurrMsgAnomaly As OPENcontrol.MSGANOMALY) As Boolean + ' RIFERIMENTO: + ' CndexLinkUser.pdf | pag 164, 271 + + Dim szReturn As String = "" + Dim myReadCurrentAnomalyMsgR As OPENcontrol.ReadCurrentAnomalyMsgR + Dim myReadCurrentAnomalyMsg As New OPENcontrol.ReadCurrentAnomalyMsg + Dim ProcessId As Short + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + O_GetSelectedProcess(ProcessId) + + myReadCurrentAnomalyMsgR = OPENws.ReadCurrentAnomalyMsg(myReadCurrentAnomalyMsg) + If O_CheckRetError(myReadCurrentAnomalyMsgR.retval, myReadCurrentAnomalyMsgR.ErrClass, myReadCurrentAnomalyMsgR.ErrNum, "ReadCurrentAnomalyMsg() O_ReadCurrentAnomalyMsg CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + CurrMsgAnomaly = myReadCurrentAnomalyMsgR.Data + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + + End Function + Public Overloads Overrides Function getAllAxisPos(tipoPos As Int16, ByRef AxisPos As OPENcontrol.GETINTDATA()) As Boolean + ' RIFERIMENTO: + ' CndexLinkUser.pdf | pag 146, 266 + + Dim szReturn As String = "" + Dim myGetAxesPositionR As OPENcontrol.GetAxesPositionR + Dim myGetAxesPosition As New OPENcontrol.GetAxesPosition + Dim ProcessId As Short + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + O_GetSelectedProcess(ProcessId) + myGetAxesPosition.ProcNum = ProcessId + myGetAxesPosition.AxisName = "0" + myGetAxesPosition.NumAxis = AxisPos.Length + myGetAxesPosition.Select = tipoPos + + myGetAxesPositionR = OPENws.GetAxesPosition(myGetAxesPosition) + If O_CheckRetError(myGetAxesPositionR.retval, myGetAxesPositionR.ErrClass, myGetAxesPositionR.ErrNum, "GetAxesPosition() getAllAxisPos CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + AxisPos = myGetAxesPositionR.IntPos + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + + End Function + Public Overloads Overrides Function getPathGCodeMod(Processo As Int32, ByRef GCodeCurr As UShort()) As Boolean + ' RIFERIMENTO: + ' CndexLinkUser.pdf | pag 165 + + Dim szReturn As String = "" + Dim myGetGCodeR As OPENcontrol.GetGCodeR + Dim myGetGCode As New OPENcontrol.GetGCode + Dim ProcessId As UShort + Dim nRetry As Integer +Retry: nRetry += 1 + + Try + O_GetSelectedProcess(ProcessId) + 'myGetGCode.ProcNum = ProcessId + myGetGCode.ProcNum = Processo + + myGetGCodeR = OPENws.GetGCode(myGetGCode) + If O_CheckRetError(myGetGCodeR.retval, myGetGCodeR.ErrClass, myGetGCodeR.ErrNum, "ReadCurrentGCodes() O_ReadCurrentGCodes CNC.OSAI_OPEN", szReturn) Then + Throw New NcException(szReturn) + Return False + End If + + GCodeCurr = myGetGCodeR.GCode + + Return True + Catch ex As System.ServiceModel.CommunicationException + If nRetry < MAXRET Then GoTo Retry + Throw New NcException(ex.Message) + Return False + End Try + + End Function + +#If False Then + + + Public Function getCncAlarm() As Focas1.ODBALMMSG2 + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Misc\cnc_rdalmmsg2.htm + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Misc\cnc_rdalminfo.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim allData As Focas1.ODBALMMSG2 + ' inizializzo + allData = New Focas1.ODBALMMSG2 + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + ' vettore num allarmi MAX da leggere...... + Dim numAllarmi As Int16 + numAllarmi = 512 + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_rdalmmsg2(nLibHandle(nPathIdx), -1, numAllarmi, allData) + + If F_CheckRetError_Cnc(nReturn, "cnc_rdalmmsg2 GetCncAlarm CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rdalmmsg2 GetCncAlarm CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return allData + + End Function + + + + Public Function getPathTTCoord() As Focas1.ODB5AXMAN + ' RIFERIMENTO: + ' C:\Users\samuele\Documents\FOCAS A02B-0207-K737_04.20\Document\SpecE\Position\cnc_rd5axmandt.htm + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + + Dim ttCoord As Focas1.ODB5AXMAN + ' inizializzo + ttCoord = New Focas1.ODB5AXMAN + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + If Is30Series Then + + ' leggo tutto!!! + nReturn = Focas1.cnc_rd5axmandt(nLibHandle(nPathIdx), ttCoord) + + If F_CheckRetError_Cnc(nReturn, "cnc_rd3dtooltip RefreshPathTTCoord CNC.FANUC.EgwProxy.MultiCncLib") Then + Throw New NcException("ERR cnc_rd3dtooltip RefreshPathTTCoord CNC.FANUC.EgwProxy.MultiCncLib") + End If + End If + + Return ttCoord + + End Function + + +#End If + +#End Region + + + End Class + +End Namespace diff --git a/EgwProxy.MultiCncLib/CNC/CNC.Runtime.vb b/EgwProxy.MultiCncLib/CNC/CNC.Runtime.vb new file mode 100644 index 0000000..32d74a6 --- /dev/null +++ b/EgwProxy.MultiCncLib/CNC/CNC.Runtime.vb @@ -0,0 +1,57 @@ +Namespace CNC + + Public Class Runtime + Public Shared NC As EgwProxy.MultiCncLib.CNC.CNC + + + Public Shared Sub CreateNC(tipoNC As CNC.NcType, ipTarget As String, ipPort As String) + '************ Istanzio l'oggetto NC ***************** + Try + + Select Case tipoNC + + Case NC_FANUC + Dim ipFanuc As String + Dim portIpFanuc As String + Dim CncScreenHssb As String + + ' imposto IP e porta da chiamata + ipFanuc = ipTarget + portIpFanuc = ipPort + + CncScreenHssb = "0" + NC = New FANUC(0, ipFanuc, portIpFanuc, CncScreenHssb) + + 'Case NC_OSAI_OPEN + ' NC = New OSAI_OPEN(ipTarget) + + + 'Case NC_OSAI_CNDEX + ' NC = New OSAI(ipTarget) + + Case NC_SIEMENS + 'Try + ' NC = New SIEMENS + 'Catch ex As NcException + ' Dim exStr As String + ' exStr = ex.Message + ' 'NC.frmMain_ref.ExitApp() + ' 'frmMain.ExitApp() + ' 'End + 'End Try + End Select + + 'EgwProxy.MultiCncLib.App.Runtime.Log.WI("OK crating NC CNC.NC", , CLog.Lev.Principal) + Catch ex As Exception + Dim exStr As String + exStr = ex.Message + 'EgwProxy.MultiCncLib.App.Runtime.Log.WE("ERR crating NC CNC.NC", ex.Message, True) + End Try + + + End Sub + + + End Class + +End Namespace \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/CNC/CNC.SIEMENS/CNC.SIEMENS.vb b/EgwProxy.MultiCncLib/CNC/CNC.SIEMENS/CNC.SIEMENS.vb new file mode 100644 index 0000000..99f4723 --- /dev/null +++ b/EgwProxy.MultiCncLib/CNC/CNC.SIEMENS/CNC.SIEMENS.vb @@ -0,0 +1,1147 @@ +'INFO: La costante di precompilatore SIEMENS =0 salta la logica che richiede le librerie Siemens. =1 compila tutto + +#If SIEMENS Then + +' declaring namespace for SINUMERIK Interface +Imports Siemens.Sinumerik.Operate.Services + +Namespace CNC + + Partial Public Class SIEMENS + Inherits CNC + + Private m_DataSvcRW As DataSvc + Private m_DriveSVC As DrivesSvc + Private m_AlarmService As AlarmSvc + Private m_AlarmGuid As System.Guid + Private currAlarms As Alarm() + + Private itemRead() As Item + Private itemWrite As Item + + Public Overrides Property Licenza() As Integer + Get + Dim nLicence(0) As Integer + 'leggo dal cn il valore + Me.S_RW_Integer(R, 255, 120, nLicence) + Return nLicence(0) + End Get + Set(ByVal value As Integer) + 'setto sul cn il valore + Dim nLicence(0) As Integer + nLicence(0) = value + Me.S_RW_Integer(W, 255, 120, nLicence) + End Set + End Property + + Public Overrides Property LicenzaScaduta() As Boolean + Get + Dim bLicenzaScaduta As Boolean + 'leggo dal cn il valore + Me.S_RW_Boolean(R, 255, 92, 5, bLicenzaScaduta) + Return bLicenzaScaduta + End Get + Set(ByVal value As Boolean) + 'setto sul cn il valore + Me.S_RW_Boolean(W, 255, 92, 5, value) + End Set + End Property + + + Public Sub New() + MyBase.New() + _Type = NcType.SIEMENS + + ' commentato in blocco: c aspettiamo che il SINUMERIK HMI Control, che lancia l'adapter, si occupi della verifica dell'HMI siemens + ''verifico di aver prima avviato la Sinumerik HMI + 'If FindProcess("slsmhmihost") Is Nothing Then + ' 'MessageBox.Show("Sinumerik HMI process not found!" & vbNewLine & _ + ' ' "Run Sinumerik HMI before starting SINUMERIK HMI Control.", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Stop) + ' Throw New NcException("ERR Sinumerik HMI process not found CNC.SIEMENS") + 'End If + + Try + m_DataSvcRW = New DataSvc + m_DriveSVC = New DrivesSvc + m_AlarmService = New AlarmSvc("eng") + ' sottoscrivo allarmi... + m_AlarmGuid = m_AlarmService.Subscribe(New AlarmListChanged(AddressOf AlarmList)) + + Catch ex As System.IO.FileNotFoundException + ' intercetta l'exception se non lanciato sopra l'hmi + 'MessageBox.Show("SINUMERIK HMI Control must be run over Sinumerik Operate!" & vbNewLine & _ + '"Run SINUMERIK HMI Control through shortcut.", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Stop) + Throw New NcException("ERR SINUMERIK HMI Control must be run over Sinumerik Operate CNC.SIEMENS") + End Try + + End Sub + + Public Overrides Sub Connect(Optional ByRef szStatus As String = "") + Try + 'se non ho eccezioni dichiaro connessione avvenuta + _bConnected = True + 'Log.WI("OK Connect CNC.SIEMENS", "Connected=" & _bConnected, CLog.Lev.Secondary) + Catch ex As Exception + Throw New NcException("ERR Connect CNC.SIEMENS", ex) + End Try + + End Sub + + Public Overrides Sub Disconnect(Optional ByRef szStatus As String = "") + Try + 'dichiaro disconnessione avvenuta + _bConnected = False + 'Log.WI("OK Disconnect CNC.SIEMENS", "Connected=" & _bConnected, CLog.Lev.Secondary) + Catch ex As Exception + Throw New NcException("ERR Disconnect CNC.SIEMENS", ex) + End Try + End Sub + + ''' + ''' Legge le memorie di configurazione dal cn + ''' + Public Overrides Sub GetStaticData() + + If Not bStaticDataReaded Then + + Try + ReDim itemRead(2) + itemRead(0) = New Item("DB255.DBW0") 'Matricola + itemRead(1) = New Item("DB255.DBW8") 'Teste + itemRead(2) = New Item("DB255.DBW12") 'Magazzini + m_DataSvcRW.Read(itemRead) + Me._Matricola = itemRead(0).Value + Me._Teste = itemRead(1).Value + Me._Magazzini = itemRead(2).Value + + ReDim itemRead(0) + itemRead(0) = New Item("DB254.DBB40:[20]") 'Manine per Magazzino + m_DataSvcRW.Read(itemRead) + ReDim Me._ManineMagazzino(Me._Magazzini - 1) + For i = 0 To Me._Magazzini - 1 + Me._ManineMagazzino(i) = itemRead(0).Value(i) + Next + + 'Magazzini Con Attrezzaggio Automatico (maschera) + ReDim itemRead(0) + itemRead(0) = New Item("DB253.DBB19:[3]") 'Maschera Magazzini con attrezzaggio automatico + m_DataSvcRW.Read(itemRead) + Me._MagazziniConAttrezzaggioAutomatico = WordsToInteger(ByteToWord(itemRead(0).Value(0), itemRead(0).Value(1)), ByteToWord(itemRead(0).Value(2), 0)) + + ReDim itemRead(0) + itemRead(0) = New Item("/NC/_N_NC_TEA_ACX/$MN_MM_NUM_TOOL") 'Number of tools the NCK can manage + m_DataSvcRW.Read(itemRead) + Me._MaxUtensiliGestibili = itemRead(0).Value + Me._MaxIdUtensile = 32000 + + ReDim itemRead(0) + itemRead(0) = New Item("DB254.DBB390") 'ZoomSpeed + m_DataSvcRW.Read(itemRead) + If itemRead(0).Value > 0 And itemRead(0).Value <= 100 Then + Me._ZoomSpeed = itemRead(0).Value + Else + Me._ZoomSpeed = 1 + End If + + bStaticDataReaded = True + + Catch ex As InfrastructureException + Throw New NcException("ERR GetStaticData CNC.SIEMENS InfrastructureException", ex) + Catch ex As DataSvcException + Throw New NcException("ERR GetStaticData CNC.SIEMENS DataSvcException", ex) + End Try + + End If + End Sub + + ''' + ''' Legge la riga del programma attivo + ''' + ''' Numero processo + ''' Riga in esecuzione del programma attivo + ''' True se andata a buon fine + Public Overridable Overloads Function S_GetActiveLineProgram(ByVal Path As Integer, ByRef Line As String) As Boolean + Dim itemRead() As Item + Do + Try + ReDim itemRead(0) + If Path = 0 Then + itemRead(0) = New Item("/Channel/ProgramInfo/actBlock[u1,1]") 'Blocco programma attivo + Else + itemRead(0) = New Item("/Channel/ProgramInfo/actBlock[u" & Path & ",1]") + End If + + + m_DataSvcRW.Read(itemRead) + Line = itemRead(0).Value + + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + Return True + End Function + + ''' + ''' Legge o scrive Boolean da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Stringa di indirizzamento Siemens + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_Boolean(ByVal bWrite As Boolean, ByVal ItemPath As String, ByRef Value As Boolean) As Boolean + Dim itemRW As Item + + If bWrite Then ' *** Write + Try + itemRW = New Item(ItemPath) + 'set value + itemRW.Value = Value + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Boolean CNC.SIEMENS", ex.Message, True) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + Value = itemRW.Value + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Boolean CNC.SIEMENS", ex.Message, True) + Return False + End Try + End If + + Return True + End Function + + + + ''' + ''' Legge o scrive Boolean da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo memoria + ''' Memoria del DB contenente il valore + ''' Bit della Memoria del DB contenente il valore + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_Boolean(ByVal bWrite As Boolean, ByVal MemType As Integer, ByVal MemoryIndex As Integer, ByVal BitIndex As Integer, ByRef Value As Boolean) As Boolean + Dim itemRW As Item + Dim ItemPath As String + Dim cValue(0) As Byte + + ItemPath = "DB" & MemType.ToString & ".DBX" & MemoryIndex.ToString & "." & BitIndex.ToString + + If bWrite Then ' *** Write + Try + If MemType = MEM_S_M Then + 'leggo il byte + S_RW_Byte(R, MEM_S_M, MemoryIndex, cValue) + 'set value + cValue(0) = cValue(0) Or (2 ^ BitIndex) + 'riscrivo il byte + S_RW_Byte(W, MEM_S_M, MemoryIndex, cValue) + ElseIf MemType = MEM_S_E Then + 'leggo il byte + S_RW_Byte(R, MEM_S_E, MemoryIndex, cValue) + 'set value + cValue(0) = cValue(0) Or (2 ^ BitIndex) + 'riscrivo il byte + S_RW_Byte(W, MEM_S_E, MemoryIndex, cValue) + ElseIf MemType = MEM_S_A Then + 'leggo il byte + S_RW_Byte(R, MEM_S_A, MemoryIndex, cValue) + 'set value + cValue(0) = cValue(0) Or (2 ^ BitIndex) + 'riscrivo il byte + S_RW_Byte(W, MEM_S_A, MemoryIndex, cValue) + Else + itemRW = New Item(ItemPath) + 'set value + itemRW.Value = Value + + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + End If + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Boolean CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Boolean CNC.SIEMENS", ex.Message, True) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + + If MemType = MEM_S_M Then + 'leggo il byte + S_RW_Byte(R, MEM_S_M, MemoryIndex, cValue) + Value = ((cValue(0) And (2 ^ BitIndex)) = (2 ^ BitIndex)) + ElseIf MemType = MEM_S_E Then + 'leggo il byte + S_RW_Byte(R, MEM_S_E, MemoryIndex, cValue) + Value = ((cValue(0) And (2 ^ BitIndex)) = (2 ^ BitIndex)) + ElseIf MemType = MEM_S_A Then + 'leggo il byte + S_RW_Byte(R, MEM_S_A, MemoryIndex, cValue) + Value = ((cValue(0) And (2 ^ BitIndex)) = (2 ^ BitIndex)) + Else + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + Value = itemRW.Value + End If + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Boolean CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Boolean CNC.SIEMENS", ex.Message, True) + Return False + End Try + End If + + Return True + End Function + + + ''' + ''' Legge o scrive Byte da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo memoria + ''' Memoria del DB contenente il valore + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_Byte(ByVal bWrite As Boolean, ByVal MemType As Integer, ByVal MemoryIndex As Integer, ByRef Value() As Byte) As Boolean + Dim itemRW As Item + Dim ItemPath As String + + If MemType = MEM_S_M Then + ItemPath = "MB" & MemoryIndex.ToString + ElseIf MemType = MEM_S_E Then + ItemPath = "EB" & MemoryIndex.ToString + ElseIf MemType = MEM_S_A Then + ItemPath = "AB" & MemoryIndex.ToString + Else + ItemPath = "DB" & MemType.ToString & ".DBB" & MemoryIndex.ToString + End If + If Value.Length > 1 Then ItemPath &= ":[" & Value.Length.ToString & "]" + + If bWrite Then ' *** Write + Try + itemRW = New Item(ItemPath) + 'set value + If Value.Length = 1 Then + itemRW.Value = Value(0) + Else + ReDim itemRW.Value(Value.Length - 1) + For i As Integer = 0 To Value.Length - 1 + itemRW.Value(i) = Value(i) + Next i + End If + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Byte CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Byte CNC.SIEMENS", ex.Message, True) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + If Value.Length = 1 Then + Value(0) = itemRW.Value + Else + For i As Integer = 0 To Value.Length - 1 + Value(i) = itemRW.Value(i) + Next i + End If + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Byte CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Byte CNC.SIEMENS", ex.Message) + Return False + End Try + End If + + Return True + End Function + + ''' + ''' Legge o scrive Word da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo memoria + ''' Memoria del DB contenente il valore + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_Word(ByVal bWrite As Boolean, ByVal MemType As Integer, ByVal MemoryIndex As Integer, ByRef Value() As UShort) As Boolean + Dim itemRW As Item + Dim ItemPath As String + + If MemType = MEM_S_M Then + ItemPath = "MW" & MemoryIndex.ToString + ElseIf MemType = MEM_S_E Then + ItemPath = "EW" & MemoryIndex.ToString + ElseIf MemType = MEM_S_A Then + ItemPath = "AW" & MemoryIndex.ToString + Else + ItemPath = "DB" & MemType.ToString & ".DBW" & MemoryIndex.ToString + End If + If Value.Length > 1 Then ItemPath &= ":[" & Value.Length.ToString & "]" + + If bWrite Then ' *** Write + Try + itemRW = New Item(ItemPath) + 'set value + If Value.Length = 1 Then + itemRW.Value = Value(0) + Else + ReDim itemRW.Value(Value.Length - 1) + For i As Integer = 0 To Value.Length - 1 + itemRW.Value(i) = Value(i) + Next i + End If + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Word CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Word CNC.SIEMENS", ex.Message) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + If Value.Length = 1 Then + Value(0) = itemRW.Value + Else + For i As Integer = 0 To Value.Length - 1 + Value(i) = itemRW.Value(i) + Next i + End If + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Word CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Word CNC.SIEMENS", ex.Message, True) + Return False + End Try + End If + + Return True + End Function + + ''' + ''' Legge o scrive Short da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo memoria + ''' Memoria del DB contenente il valore + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_Short(ByVal bWrite As Boolean, ByVal MemType As Integer, ByVal MemoryIndex As Integer, ByRef Value() As Short) As Boolean + Dim itemRW As Item + Dim ItemPath As String + + If MemType = MEM_S_M Then + ItemPath = "MW" & MemoryIndex.ToString + ElseIf MemType = MEM_S_E Then + ItemPath = "EW" & MemoryIndex.ToString + ElseIf MemType = MEM_S_A Then + ItemPath = "AW" & MemoryIndex.ToString + Else + ItemPath = "DB" & MemType.ToString & ".DBW" & MemoryIndex.ToString + End If + If Value.Length > 1 Then ItemPath &= ":[" & Value.Length.ToString & "]" + + If bWrite Then ' *** Write + Try + itemRW = New Item(ItemPath) + 'set value + If Value.Length = 1 Then + itemRW.Value = ShortToUnsigned(Value(0)) + Else + ReDim itemRW.Value(Value.Length - 1) + For i As Integer = 0 To Value.Length - 1 + itemRW.Value(i) = ShortToUnsigned(Value(i)) + Next i + End If + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Word CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Word CNC.SIEMENS", ex.Message) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + If Value.Length = 1 Then + Value(0) = itemRW.Value + Else + For i As Integer = 0 To Value.Length - 1 + Value(i) = UnsignedToShort(itemRW.Value(i)) + Next i + End If + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Short CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Short CNC.SIEMENS", ex.Message, True) + Return False + End Try + End If + + Return True + End Function + + + + + ''' + ''' Legge o scrive DWord da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo memoria + ''' Memoria del DB contenente il valore + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_DWord(ByVal bWrite As Boolean, ByVal MemType As Integer, ByVal MemoryIndex As Integer, ByRef Value() As UInteger) As Boolean + Dim itemRW As Item + Dim ItemPath As String + + If MemType = MEM_S_M Then + ItemPath = "MD" & MemoryIndex.ToString + ElseIf MemType = MEM_S_E Then + ItemPath = "ED" & MemoryIndex.ToString + ElseIf MemType = MEM_S_A Then + ItemPath = "AD" & MemoryIndex.ToString + Else + ItemPath = "DB" & MemType.ToString & ".DBD" & MemoryIndex.ToString + End If + If Value.Length > 1 Then ItemPath &= ":[" & Value.Length.ToString & "]" + + If bWrite Then ' *** Write + Try + itemRW = New Item(ItemPath) + 'set value + If Value.Length = 1 Then + itemRW.Value = Value(0) + Else + ReDim itemRW.Value(Value.Length - 1) + For i As Integer = 0 To Value.Length - 1 + itemRW.Value(i) = Value(i) + Next i + End If + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_DWord CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_DWord CNC.SIEMENS", ex.Message) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + If Value.Length = 1 Then + Value(0) = itemRW.Value + Else + For i As Integer = 0 To Value.Length - 1 + Value(i) = itemRW.Value(i) + Next i + End If + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_DWord CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_DWord CNC.SIEMENS", ex.Message, True) + Return False + End Try + End If + + Return True + End Function + ''' + ''' Legge o scrive Integer da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo memoria + ''' Memoria del DB contenente il valore + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_Integer(ByVal bWrite As Boolean, ByVal MemType As Integer, ByVal MemoryIndex As Integer, ByRef Value() As Integer) As Boolean + Dim itemRW As Item + Dim ItemPath As String + + If MemType = MEM_S_M Then + ItemPath = "MD" & MemoryIndex.ToString + ElseIf MemType = MEM_S_E Then + ItemPath = "ED" & MemoryIndex.ToString + ElseIf MemType = MEM_S_A Then + ItemPath = "AD" & MemoryIndex.ToString + Else + ItemPath = "DB" & MemType.ToString & ".DBD" & MemoryIndex.ToString + End If + If Value.Length > 1 Then ItemPath &= ":[" & Value.Length.ToString & "]" + + If bWrite Then ' *** Write + Try + itemRW = New Item(ItemPath) + 'set value + If Value.Length = 1 Then + itemRW.Value = IntegerToUnsigned(Value(0)) + Else + ReDim itemRW.Value(Value.Length - 1) + For i As Integer = 0 To Value.Length - 1 + itemRW.Value(i) = IntegerToUnsigned(Value(i)) + Next i + End If + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Integer CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Integer CNC.SIEMENS", ex.Message) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + If Value.Length = 1 Then + Value(0) = UnsignedToInteger(itemRW.Value) + Else + For i As Integer = 0 To Value.Length - 1 + Value(i) = UnsignedToInteger(itemRW.Value(i)) + Next i + End If + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Integer CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Integer CNC.SIEMENS", ex.Message, True) + Return False + End Try + End If + + Return True + End Function + + + ''' + ''' Legge o scrive Real da MEMORIE PLC + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Tipo memoria + ''' Memoria del DB contenente il valore + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_Real(ByVal bWrite As Boolean, ByVal MemType As Integer, ByVal MemoryIndex As Integer, ByRef Value() As Single) As Boolean + Dim itemRW As Item + Dim ItemPath As String + + If MemType = MEM_S_M Then + ItemPath = "MD" & MemoryIndex.ToString + ElseIf MemType = MEM_S_E Then + ItemPath = "ED" & MemoryIndex.ToString + ElseIf MemType = MEM_S_A Then + ItemPath = "AD" & MemoryIndex.ToString + Else + ItemPath = "DB" & MemType.ToString & ".DBD" & MemoryIndex.ToString + End If + If Value.Length > 1 Then ItemPath &= ":[" & Value.Length.ToString & "]" + + If bWrite Then ' *** Write + Try + itemRW = New Item(ItemPath) + 'set value + If Value.Length = 1 Then + itemRW.Value = SingleToUInteger(Value(0)) + Else + ReDim itemRW.Value(Value.Length - 1) + For i As Integer = 0 To Value.Length - 1 + itemRW.Value(i) = SingleToUInteger(Value(i)) + Next i + End If + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Real CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_Real CNC.SIEMENS", ex.Message) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + If Value.Length = 1 Then + Value(0) = UIntegerToSingle(itemRW.Value) + Else + For i As Integer = 0 To Value.Length - 1 + Value(i) = UIntegerToSingle(itemRW.Value(i)) + Next i + End If + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Real CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_Real CNC.SIEMENS", ex.Message, True) + Return False + End Try + End If + + Return True + End Function + + + + ''' + ''' Legge o scrive LReal dalle MEMORIE R + ''' + ''' Se True SCRIVE, se False LEGGE + ''' Memoria del DB contenente il valore + ''' Valore da scrivere su scrittura e letto su lettura + ''' True se andata a buon fine + Public Overloads Function S_RW_R_LReal(ByVal bWrite As Boolean, ByVal MemoryIndex As Integer, ByRef Value As Double, Optional ByVal nPath As Integer = 1) As Boolean + Dim itemRW As Item + Dim ItemPath As String + + ItemPath = "/channel/parameter/r[u" & nPath.ToString & "," & MemoryIndex.ToString & "]" + + If bWrite Then ' *** Write + Try + itemRW = New Item(ItemPath) + 'set value + itemRW.Value = Value + Do + Try + m_DataSvcRW.Write(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_R_LReal CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Write on S_RW_R_LReal CNC.SIEMENS", ex.Message) + Return False + End Try + + Else ' ************* Read + Try + itemRW = New Item(ItemPath) + Do + Try + m_DataSvcRW.Read(itemRW) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + End Try + Loop + + Value = itemRW.Value + + Catch ex As DataSvcException + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_R_LReal CNC.SIEMENS DataSvcException", ex.Message & vbNewLine & ex.StackTrace) + Catch ex As Exception + 'Log.WW("ERR m_DataSvcRW.Read on S_RW_R_LReal CNC.SIEMENS", ex.Message, True) + Return False + End Try + End If + + Return True + End Function + + + +#Region "Funzioni specifiche IOT" + + ''' + ''' Struttura dati asse + ''' + Public Structure AxData + ''' + ''' Carico Asse + ''' + Public Load As Single + ''' + ''' posizione attuale asse + ''' + Public PosAct As Single + ''' + ''' posizione Target asse + ''' + Public PosTgt As Single + ''' + ''' Velocità asse + ''' + Public Speed As Single + + End Structure + ''' + ''' Struttura dati UT + ''' + Public Structure UtData + ''' + ''' Vettore elenco UT (DB254.DBW280) + ''' + Public elencoUtMem As UShort() + ''' + ''' Tabella UT (DB253.DBW2500) + ''' + Public tabUt_UT As UShort() + ''' + ''' Tabella IdFamigliaUt (DB253.DBW2900) + ''' + Public tabIdFamUt As UShort() + ''' + ''' Tabella Famiglie Utensili (DB253.DBW100) + ''' + Public tabFamUt As UShort() + ''' + ''' Tabella TIPO Vita Residua Famiglie Utensili (DB253.DBB1900) + ''' + Public tabTipoVitaRes As Byte() + ''' + ''' Tabella Vita Residua Famiglie Utensili (DB253.DBD4300) + ''' + Public tabVitaRes As UInt32() + + End Structure + + ''' + ''' Restituisce tutti i dati assi insieme + ''' + ''' + Public Function getAllAxisPos() As AxData() + ' RIFERIMENTO: + ' txt Giuseppe + + ReDim itemRead(3) + itemRead(0) = New Item("DB241.DBD0:[16]") 'Posizione attuale + itemRead(1) = New Item("DB254.DBW140:[20]") 'Speed effettiva + itemRead(2) = New Item("DB254.DBB180:[20]") 'Carico effettivo + itemRead(3) = New Item("/Channel/MachineAxis/toolBaseDistToGo[u1,1, 16]") + 'itemRead(3) = New Item("DB241.DBD0:[16]") 'Posizione Target !!!FARE!!! è altra variabile?!? AA_IM + + Do + Try + m_DataSvcRW.Read(itemRead) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + Catch ex As DataSvcException + Throw New NcException("ERR GetStaticData CNC.SIEMENS DataSvcException", ex) + End Try + Loop + + Dim datiAssi(19) As AxData + + ' faccio copia valori! + For i As Integer = 0 To 15 + 'datiAssi(i).PosAct = itemRead(0).Value(i) + datiAssi(i).PosAct = UIntegerToSingle(itemRead(0).Value(i)) + datiAssi(i).PosTgt = Convert.ToSingle(itemRead(3).Value(i)) + Next i + For i As Integer = 0 To 19 + datiAssi(i).Speed = UIntegerToSingle(itemRead(1).Value(i)) + datiAssi(i).Load = UIntegerToSingle(itemRead(2).Value(i)) + Next i + + Return datiAssi + + End Function + + ''' + ''' recupera (e formatta) tutti i dati riferiti alle tabelle della gestione UT + ''' + ''' + ''' + Public Function getAllUtData(ByVal numVal As Short, ByVal numUt As Short) As UtData + ' RIFERIMENTO: + ' txt Giuseppe + + ReDim itemRead(5) + itemRead(0) = New Item("DB254.DBW280:[" & numUt & "]") 'elencoUtMem + itemRead(1) = New Item("DB253.DBW2500:[" & numVal & "]") 'tabUt_UT + itemRead(2) = New Item("DB253.DBW2900:[" & numVal & "]") 'IdFamigliaUt + itemRead(3) = New Item("DB253.DBW100:[" & numVal & "]") 'tabFamUt + itemRead(4) = New Item("DB253.DBB1900:[" & numVal & "]") 'tabTipoVitaRes + itemRead(5) = New Item("DB253.DBD4300:[" & numVal & "]") 'tabVitaRes + + Do + Try + m_DataSvcRW.Read(itemRead) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + Catch ex As DataSvcException + Throw New NcException("ERR GetStaticData CNC.SIEMENS DataSvcException", ex) + End Try + Loop + + ' variabili di appoggio + Dim datiUT As New UtData + + Dim _elencoUtMem(numUt - 1) As UShort + Dim _tabUt_UT(numVal - 1) As UShort + Dim _tabIdFamUt(numVal - 1) As UShort + Dim _tabFamUt(numVal - 1) As UShort + Dim _tabTipoVitaRes(numVal - 1) As Byte + Dim _tabVitaRes(numVal - 1) As UInt32 + + ' faccio copia valori! + For i As Integer = 0 To numUt - 1 + _elencoUtMem(i) = itemRead(0).Value(i) + '_elencoUtMem(i) = UIntegerToSingle(itemRead(0).Value(i)) + Next i + + ' faccio copia valori! + For i As Integer = 0 To numVal - 1 + + _tabUt_UT(i) = itemRead(1).Value(i) + '_tabUt_UT(i) = UIntegerToSingle(itemRead(1).Value(i)) + + _tabIdFamUt(i) = itemRead(2).Value(i) + '_tabIdFamUt(i) = UIntegerToSingle(itemRead(2).Value(i)) + + _tabFamUt(i) = itemRead(3).Value(i) + '_tabFamUt(i) = UIntegerToSingle(itemRead(3).Value(i)) + + _tabTipoVitaRes(i) = itemRead(4).Value(i) + '_tabTipoVitaRes(i) = UIntegerToSingle(itemRead(4).Value(i)) + + _tabVitaRes(i) = itemRead(5).Value(i) + '_tabVitaRes(i) = UIntegerToSingle(itemRead(5).Value(i)) + Next i + + ' copio in oggetto OUT... + datiUT.elencoUtMem = _elencoUtMem + datiUT.tabUt_UT = _tabUt_UT + datiUT.tabFamUt = _tabFamUt + datiUT.tabIdFamUt = _tabIdFamUt + datiUT.tabTipoVitaRes = _tabTipoVitaRes + datiUT.tabVitaRes = _tabVitaRes + + ' rendo i dati! + Return datiUT + + End Function + + ''' + ''' recupera l'array dei codici G attivi + ''' + ''' + ''' Vettore codici attivi correnti + ''' + Public Function getPathGCodeMod(maxProc As Integer, ByRef GCodeCurr As String(,)) As Boolean + ' RIFERIMENTO: + ' SynumerikOperate_net, pg 52 + ' Parameter manual NC, pg 401 + + ' preparo memorie + Dim maxGruppi As Int16 + maxGruppi = 64 + ReDim itemRead(maxProc - 1) + For i As Integer = 0 To maxProc - 1 + itemRead(i) = New Item("/Channel/SelectedFunctions/ncFktAct[u" & i + 1 & ",1,#" & maxGruppi & "]") ' leggo TUTTI i gruppi... + ' verificare sintassi...[u1,1,64] al posto di [u1,1,#64] + 'itemRead(i) = New Item("/Channel/SelectedFunctions/ncFktAct[u" & i + 1 & ",1," & maxGruppi & "]") ' leggo TUTTI i gruppi... + Next i + + 'lettura + Do + Try + m_DataSvcRW.Read(itemRead) + Exit Do + Catch ex As DataSvcBusyException + Debug.Print(ex.Message) + Catch ex As DataSvcException + Throw New NcException("ERR GetStaticData CNC.SIEMENS DataSvcException", ex) + End Try + Loop + + ' faccio copia valori! + For i As Integer = 0 To maxGruppi - 1 + For j As Integer = 0 To maxProc - 1 + GCodeCurr(j, i) = itemRead(j).Value(i) + Next j + Next i + + ' chiudo! + Return True + + End Function + + ''' + ''' procedura per risposta alla segnalazione di allarmi... + ''' + ''' + ''' + Public Sub AlarmList(guid As Guid, alarms() As Alarm) + ' RIFERIMENTO: + ' SynumerikOperate_Net, pg 101 --> 110 (NON serve verifica theread...) + + ' verifico di essere il "corretto responditore"... + If (m_AlarmGuid.Equals(guid)) Then + ' salvo nel mio oggetto in memoria... + currAlarms = alarms + End If + + End Sub + + Public Function getCncAlarm() As Alarm() + ' RIFERIMENTO: + ' SynumerikOperate_Net, pg 101 --> 110 + + ' restituisco vettore allarmi... + Return currAlarms + + End Function + + +#End Region + + End Class + +End Namespace + +#End If \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/CNC/CNC/CNC.CNC.vb b/EgwProxy.MultiCncLib/CNC/CNC/CNC.CNC.vb new file mode 100644 index 0000000..589e44d --- /dev/null +++ b/EgwProxy.MultiCncLib/CNC/CNC/CNC.CNC.vb @@ -0,0 +1,240 @@ +Imports System.Drawing +Imports System.Runtime.Serialization + +Namespace CNC + + Partial Public MustInherit Class CNC + + Protected bStaticDataReaded As Boolean + Protected _CncWindowProcess As Process + + Public Const R = False + Public Const W = True + + Public Enum NcType + DEMO = 0 + FANUC = 1 + OSAI_OPEN = 2 + SIEMENS = 3 + OSAI_CNDEX = 4 + End Enum + + Public Enum Memo + MemBool = 1 + MemByte = 2 + MemWord = 3 + MemInt = 4 + MemDWord = 5 + MemDInt = 6 + MemSingle = 7 + MemDouble = 8 + End Enum + + Public Enum InfoType + Descrizione + Matricola + Teste + Magazzini + ManineMagazzino + End Enum + + Protected _Type As NcType + Public ReadOnly Property Type() As NcType + Get + Return _Type + End Get + End Property + + + Protected _Descrizione As String + Public ReadOnly Property Descrizione() As String + Get + Return _Descrizione + End Get + End Property + Protected _Matricola As Integer + Public ReadOnly Property Matricola() As Integer + Get + If Not bStaticDataReaded Then Throw New System.Configuration.SettingsPropertyNotFoundException("Matricola not found") + Return _Matricola + End Get + End Property + Protected _Teste As Integer + Public ReadOnly Property Teste() As Integer + Get + If Not bStaticDataReaded Then Throw New System.Configuration.SettingsPropertyNotFoundException("Teste not found") + Return _Teste + End Get + End Property + Protected _Magazzini As Integer + Public ReadOnly Property Magazzini() As Integer + Get + If Not bStaticDataReaded Then Throw New System.Configuration.SettingsPropertyNotFoundException("Magazzini not found") + Return _Magazzini + End Get + End Property + Protected _ManineMagazzino() As Integer + Public ReadOnly Property ManineMagazzino() As Integer() + Get + If Not bStaticDataReaded Then Throw New System.Configuration.SettingsPropertyNotFoundException("ManineMagazzino not found") + Return _ManineMagazzino + End Get + End Property + Protected _MagazziniConAttrezzaggioAutomatico As Integer + Public ReadOnly Property MagazziniConAttrezzaggioAutomatico() As Integer + Get + If Not bStaticDataReaded Then Throw New System.Configuration.SettingsPropertyNotFoundException("MagazziniConAttrezzaggioAutomatico not found") + Return _MagazziniConAttrezzaggioAutomatico + End Get + End Property + Protected _MaxUtensiliGestibili As Integer + Public ReadOnly Property MaxUtensiliGestibili() As Integer + Get + If Not bStaticDataReaded Then Throw New System.Configuration.SettingsPropertyNotFoundException("MaxUtensiliGestibili not found") + Return _MaxUtensiliGestibili + End Get + End Property + Protected _MaxIdUtensile As Integer + Public ReadOnly Property MaxIdUtensile() As Integer + Get + If Not bStaticDataReaded Then Throw New System.Configuration.SettingsPropertyNotFoundException("MaxIdUtensile not found") + Return _MaxIdUtensile + End Get + End Property + Protected _ZoomSpeed As Integer + Public ReadOnly Property ZoomSpeed() As Integer '(aka: FattoreMoltSpeed) + Get + If Not bStaticDataReaded Then Throw New System.Configuration.SettingsPropertyNotFoundException("ZoomSpeed not found") + Return _ZoomSpeed + End Get + End Property + + Protected _ScreenSize As Size + Public Property ScreenSize() As Size + Get + Return _ScreenSize + End Get + Set(ByVal value As Size) + _ScreenSize = value + End Set + End Property + + Protected _CncWindowSize As Size + Public Property CncWindowSize() As Size + Get + Return _CncWindowSize + End Get + Set(ByVal value As Size) + _CncWindowSize = value + End Set + End Property + + Protected _CncWindowPosition As Point + Public Property CncWindowPosition() As Point + Get + Return _CncWindowPosition + End Get + Set(ByVal value As Point) + _CncWindowPosition = value + End Set + End Property + + Protected _bConnected As Boolean + Public Property Connected() As Boolean + Get + Return _bConnected + End Get + Private Set(ByVal value As Boolean) + _bConnected = value + End Set + End Property + + Protected _Licenza As Integer + Public Overridable Property Licenza() As Integer + Get + Return _Licenza + End Get + Set(ByVal value As Integer) + _Licenza = value + End Set + End Property + + Protected _LicenzaScaduta As Boolean + Public Overridable Property LicenzaScaduta() As Boolean + Get + Return _LicenzaScaduta + End Get + Set(ByVal value As Boolean) + _LicenzaScaduta = value + End Set + End Property + + Public Sub New() + + 'Definisco l'area della Cnc Window + _CncWindowPosition = New System.Drawing.Point(0, 0) + _CncWindowSize = New System.Drawing.Size(800, 600) + + End Sub + + Public Overridable Sub Initialize() + End Sub + + Public Overridable Sub Connect(Optional ByRef szStatus As String = "") + End Sub + + Public Overridable Sub Disconnect(Optional ByRef szStatus As String = "") + End Sub + + Public Overridable Sub CncException(Optional ByRef szStatus As String = "") + _bConnected = False + End Sub + + ''' + ''' Legge il valore del tempo di lavorazione totale del CN + ''' + Public Overridable Function GetDataMaintenance() As TimeSpan + End Function + + ''' + ''' Legge le memorie di configurazione dal cn + ''' + Public Overridable Sub GetStaticData() + End Sub + + ''' + ''' Chiude l'applicazione CNC + ''' + Public Overridable Sub CloseCnc() + End Sub + + End Class + + + + + + + Public Class NcException + Inherits System.ApplicationException + Public Sub New() + MyBase.New("NC Exception") + End Sub + Public Sub New(ByVal new_message As String) + MyBase.New(new_message) + End Sub + Public Sub New(ByVal new_message As String, ByVal inner_exception As Exception) + MyBase.New(new_message, inner_exception) + End Sub + Public Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext) + MyBase.New(info, context) + End Sub + End Class + + Public MustInherit Class CExceptionInfo + Public Overrides Function ToString() As String + ToString = "" + End Function + End Class + +End Namespace \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/CndexLinkDotNet.dll b/EgwProxy.MultiCncLib/CndexLinkDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..2ab44b83d4836e14d336d298b4ebd1c5807ad03e GIT binary patch literal 46080 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 literal 0 HcmV?d00001 diff --git a/EgwProxy.MultiCncLib/Config/Config.Options.vb b/EgwProxy.MultiCncLib/Config/Config.Options.vb new file mode 100644 index 0000000..a22bfd8 --- /dev/null +++ b/EgwProxy.MultiCncLib/Config/Config.Options.vb @@ -0,0 +1,294 @@ +Namespace Config + Class Options + + Public Shared CurrentOptions As Options + Public Shared sPathFile As String + + Private _Machine_Enabled As Boolean + ''' Maintenance Machine + Public ReadOnly Property Machine_Enabled() As Boolean + Get + Return Me._Machine_Enabled + End Get + End Property + + Private _Maintenance_Enabled As Boolean + ''' Opzione Maintenance + Public ReadOnly Property Maintenance_Enabled() As Boolean + Get + Return Me._Maintenance_Enabled + End Get + End Property + + Private _OpPanel_Enabled As Boolean + ''' Opzione OpPanel + Public ReadOnly Property OpPanel_Enabled() As Boolean + Get + Return Me._OpPanel_Enabled + End Get + End Property + + Private _Launch_Enabled As Boolean + ''' Opzione Launch + Public ReadOnly Property Launch_Enabled() As Boolean + Get + Return Me._Launch_Enabled + End Get + End Property + Private _TcpSocket_Enabled As Boolean + ''' Opzione TcpSocket + Public ReadOnly Property TcpSocket_Enabled() As Boolean + Get + Return Me._TcpSocket_Enabled + End Get + End Property + + Private _ToolTable_Enabled As Boolean + ''' Opzione ToolTable + Public ReadOnly Property ToolTable_Enabled() As Boolean + Get + Return Me._ToolTable_Enabled + End Get + + End Property + + Private _ToolTable_Famiglie As Boolean + ''' Opzione Famiglie + Public ReadOnly Property ToolTable_Famiglie() As Boolean + Get + Return Me._ToolTable_Famiglie + End Get + End Property + + Private _ToolTable_Vita As Boolean + ''' Opzione Vita + Public ReadOnly Property ToolTable_Vita() As Boolean + Get + Return (Me._ToolTable_Vita_S Or Me._ToolTable_Vita_N Or Me._ToolTable_Vita_M) + End Get + End Property + + Private _ToolTable_Vita_S As Boolean + ''' Opzione Vita a Tempo + Public ReadOnly Property ToolTable_Vita_S() As Boolean + Get + Return Me._ToolTable_Vita_S + End Get + End Property + + Private _ToolTable_Vita_N As Boolean + ''' Opzione Vita a Cicli o Colpi + Public ReadOnly Property ToolTable_Vita_N() As Boolean + Get + Return Me._ToolTable_Vita_N + End Get + End Property + + Private _ToolTable_Vita_M As Boolean + ''' Opzione Vita a Profilo + Public ReadOnly Property ToolTable_Vita_M() As Boolean + Get + Return Me._ToolTable_Vita_M + End Get + End Property + + Private _ToolTable_AttrezzaggioAutomatico As Boolean + ''' Opzione Attrezzaggio Automatico + Public ReadOnly Property ToolTable_AttrezzaggioAutomatico() As Boolean + Get + Return Me._ToolTable_AttrezzaggioAutomatico + End Get + End Property + + Private _ToolTable_PercorsoAutoadattativo As Boolean + ''' Opzione Percorso Autoadattativo + Public ReadOnly Property ToolTable_PercorsoAutoadattativo() As Boolean + Get + Return Me._ToolTable_PercorsoAutoadattativo + End Get + End Property + + Private _ToolTable_Multiprofilo As Boolean + ''' Opzione Multiprofilo + Public ReadOnly Property ToolTable_Multiprofilo() As Boolean + Get + Return Me._ToolTable_Multiprofilo + End Get + End Property + + Private _ToolTable_CompensazioneDinamica As Boolean + ''' Opzione Compensazione Dinamica + Public ReadOnly Property ToolTable_CompensazioneDinamica() As Boolean + Get + Return Me._ToolTable_CompensazioneDinamica + End Get + End Property + + Private _ToolTable_Offset As Boolean + ''' Opzione Offset + Public ReadOnly Property ToolTable_Offset() As Boolean + Get + Return Me._ToolTable_Offset + End Get + End Property + + Private _ToolTable_FeedMax As Boolean + ''' Opzione FeedMax + Public ReadOnly Property ToolTable_FeedMax() As Boolean + Get + Return Me._ToolTable_FeedMax + End Get + End Property + + Private _ToolTable_Gamme As Boolean + ''' Opzione Gamme + Public ReadOnly Property ToolTable_Gamme() As Boolean + Get + Return Me._ToolTable_Gamme + End Get + End Property + + Private _ToolTable_Manine As Boolean + ''' Opzione Manine + Public ReadOnly Property ToolTable_Manine() As Boolean + Get + Return Me._ToolTable_Manine + End Get + End Property + + + Private _ToolTable_MaxToolsManaged As Integer + ''' Massimo numero di utensili gestibili + Public ReadOnly Property ToolTable_MaxToolsManaged() As Integer + Get + Return Me._ToolTable_MaxToolsManaged + End Get + End Property + + Private _ToolTable_Inch As Boolean + ''' Opzione gestione in Pollici + Public ReadOnly Property ToolTable_Inch() As Boolean + Get + Return Me._ToolTable_Inch + End Get + End Property + + Private _ToolTable_Diameter As Boolean + ''' Opzione gestione Diametro + Public ReadOnly Property ToolTable_Diameter() As Boolean + Get + Return Me._ToolTable_Diameter + End Get + End Property + + Private _ToolTable_AttrezzaggioInRun As Boolean + ''' Opzione modifica con macchina in RUN + Public ReadOnly Property ToolTable_AttrezzaggioInRun() As Boolean + Get + Return Me._ToolTable_AttrezzaggioInRun + End Get + End Property + + Private _ToolTable_AttrezzaggioAssistito As Boolean + ''' Opzione Attrezzaggio magazzini inaccessibili tramite macchina + Public ReadOnly Property ToolTable_AttrezzaggioAssistito() As Boolean + Get + Return Me._ToolTable_AttrezzaggioAssistito + End Get + End Property + + Private _ToolTable_SharedDB As Boolean + ''' Opzione magazzino utensili condiviso tra più macchine + Public ReadOnly Property ToolTable_SharedDB() As Boolean + Get + Return Me._ToolTable_SharedDB + End Get + End Property + Private _ToolTable_AllowRemote As Boolean + ''' Opzione AllowRemote Tool Table + Public ReadOnly Property ToolTable_AllowRemote() As Boolean + Get + Return Me._ToolTable_AllowRemote + End Get + End Property + Public Shared Sub CreateOptions(ByVal sPathF As String) + If CurrentOptions Is Nothing Then + CurrentOptions = New Options + End If + + ' Memorizzo il percorso del file INI + sPathFile = sPathF + + CurrentOptions.LoadOptions() + End Sub + + 'carica le opzioni da file + Private Sub LoadOptions() + ''leggo la matricola dal cn + ''se non è possibile disabilito tutto e chiedo che venga attivata la connessione + ''se leggo 0 avviso che la metricola deve essere popolata + + ''leggo il codice dal file + ''valore = decodifica(valoreletto, matricola, passwordpubblica) + + Dim szFileIni As String + Dim Ini As App.Native.Ini + + ' imposto il nome del file + szFileIni = sPathFile & "\" & My.Application.Info.AssemblyName & ".ini" + + ' verifico che esista il file + If My.Computer.FileSystem.FileExists(szFileIni) Then + 'istanzio la classe di gestione del file + Ini = New App.Native.Ini(szFileIni) + 'leggo i settaggi dal file + Me._Machine_Enabled = Ini.GetBoolean("OPTIONS", "MACHINE_ENABLED", 0) + Me._Maintenance_Enabled = Ini.GetBoolean("OPTIONS", "MAINTENANCE_ENABLED", 0) + Me._OpPanel_Enabled = Ini.GetBoolean("OPTIONS", "OPPANEL_ENABLED", 0) + Me._Launch_Enabled = Ini.GetBoolean("OPTIONS", "LAUNCH_ENABLED", 0) + Me._TcpSocket_Enabled = Ini.GetBoolean("OPTIONS", "TCPSOCKET_ENABLED", 0) + Me._ToolTable_Enabled = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ENABLED", 0) + Me._ToolTable_Famiglie = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FAMIGLIE", 0) + Me._ToolTable_Vita_S = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_S", 0) + Me._ToolTable_Vita_N = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_N", 0) + Me._ToolTable_Vita_M = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_M", 0) + Me._ToolTable_Multiprofilo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MULTIPROFILO", 0) + Me._ToolTable_AttrezzaggioAutomatico = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIOAUTOMATICO", 0) + Me._ToolTable_PercorsoAutoadattativo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_PERCORSOAUTOADATTATIVO", 0) + Me._ToolTable_CompensazioneDinamica = Ini.GetBoolean("OPTIONS", "TOOLTABLE_COMPENSAZIONEDINAMICA", 0) + Me._ToolTable_Offset = Ini.GetBoolean("OPTIONS", "TOOLTABLE_OFFSET", 0) + Me._ToolTable_FeedMax = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FEEDMAX", 0) + Me._ToolTable_Gamme = Ini.GetBoolean("OPTIONS", "TOOLTABLE_GAMME", 0) + Me._ToolTable_Manine = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MANINE", 0) + 'Me._ToolTable_GeometryManagement = Ini.GetInteger("OPTIONS", "TOOLTABLE_GEOMETRYMANAGEMENT", 0) + Me._ToolTable_MaxToolsManaged = Ini.GetInteger("OPTIONS", "TOOLTABLE_MAXTOOLSMANAGED", 0) + Me._ToolTable_Inch = Ini.GetBoolean("OPTIONS", "TOOLTABLE_INCH", 0) + Me._ToolTable_Diameter = IIf(CNC.Runtime.NC.Type = CNC.CNC.NcType.OSAI_OPEN, True, False) 'Ini.GetBoolean("OPTIONS", "TOOLTABLE_DIAMETER", 0) + Me._ToolTable_AttrezzaggioInRun = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_IN_RUN", 0) + Me._ToolTable_AttrezzaggioAssistito = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_ASSISTITO", 0) + + + ' Se è attiva l'opzione ToolTable_Remote, l'AllowRemote e SharedDB sono ignorati + If Config.Settings.Settings.ToolTable_Remote Then + Me._ToolTable_AllowRemote = False + Me._ToolTable_SharedDB = False + Else + Me._ToolTable_AllowRemote = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ALLOWREMOTE", 0) + Me._ToolTable_SharedDB = Ini.GetBoolean("OPTIONS", "TOOLTABLE_SHAREDDB", 0) + End If + Else + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR LoadOptions", String.Format("File {0} not found", szFileIni), True) + End If + + End Sub + + 'verifica che le opzioni sul cn siano coerenti, se no le corregge + Private Sub CheckOptions() + ''leggo le opzioni dal cn + + ''verifico che siano uguali a quelle del file, se no modifico il cn e avviso l'utente della modifica + End Sub + + + End Class +End Namespace diff --git a/EgwProxy.MultiCncLib/Config/Config.Settings.vb b/EgwProxy.MultiCncLib/Config/Config.Settings.vb new file mode 100644 index 0000000..d0aaeb5 --- /dev/null +++ b/EgwProxy.MultiCncLib/Config/Config.Settings.vb @@ -0,0 +1,698 @@ +Imports System.ComponentModel +Imports System.Drawing + +Namespace Config + + Class Settings + Const MAX_NUM_TOOLTABLE_PATH = 19 + + Public Shared Settings As SettingsProperty + Public Shared SettingsEdit As SettingsProperty + Public Shared sPathFile As String + + Friend Enum MemoryMapping + [Default] = 0 + ElsManager = 1 + ToolManager = 2 + ToolTable = 3 + End Enum + + Public Shared Sub CreateSettings(ByVal sPathF As String, Optional ByVal bReadToolTable As Boolean = True) + If Settings Is Nothing Then + Settings = New SettingsProperty + SettingsEdit = New SettingsProperty + End If + + + ' Memorizzo il percorso del file INI + sPathFile = sPathF + + LoadSettings(bReadToolTable) + End Sub + + Public Shared Sub LoadSettings(Optional ByVal bReadToolTable As Boolean = True) + Dim szFileIni As String + Dim nTmp As Integer + Dim Ini As App.Native.Ini + Dim sFont As Single + + ' imposto il nome del file + szFileIni = sPathFile & "\" & My.Application.Info.AssemblyName & ".ini" + + ' verifico che esista il file + If My.Computer.FileSystem.FileExists(szFileIni) Then + 'istanzio la classe di gestione del file + Ini = New App.Native.Ini(szFileIni) + 'leggo i settaggi dal file + With Settings + .Debug = Ini.GetInteger("CONFIG", "DEBUG", 0) + .Language = Trim(Ini.GetString("CONFIG", "LANGUAGE", "English")) + ' Quando è attiva l'impostazione TOOLTABLEREMOTE in SettingsBase, + ' il CN è "sempre" da impostare a DEMO + If Config.Settings.Settings.ToolTable_Remote Then + .TypeNC = CNC.CNC.NcType.DEMO + Else + .TypeNC = Ini.GetInteger("NC", "TYPE", 0) + End If + + nTmp = Ini.GetInteger("NC", "MEMORYMAPPING", 0) + If nTmp = 0 Then 'se MEMORYMAPPING viene lasciata a 0, imposto il valore di default + Select Case nTmp + Case CNC.CNC.NcType.FANUC : .MemoryMapping = MemoryMapping.ElsManager + Case CNC.CNC.NcType.OSAI_OPEN : .MemoryMapping = MemoryMapping.ElsManager + Case CNC.CNC.NcType.SIEMENS : .MemoryMapping = MemoryMapping.ToolTable + End Select + Else + .MemoryMapping = nTmp + End If + If bReadToolTable Then + .SerialNumber = Ini.GetInteger("NC", "SERIALNUMBER", "0") + End If + + .Hssb = Ini.GetBoolean("FANUC", "HSSB", 0) + .IpFanuc = Trim(Ini.GetString("FANUC", "IP", "192.168.1.1")) + .PortIpFanuc = Ini.GetInteger("FANUC", "PORT", "8193") + .CncScreenHssb = Ini.GetInteger("FANUC", "CNCSCREEN_HSSB", "0") + .NcName = Trim(Ini.GetString("OSAI", "NAME", "NC0000")) + .OsaiCommType = Trim(Ini.GetInteger("OSAI", "COMM_TYPE", "0")) + .IpOsai = Trim(Ini.GetString("OSAI", "IP", "192.168.1.1")) + .DncPcPath = Trim(Ini.GetString("OSAI", "DNC_PC_PATH", "C:\PARTPRG\")) + .DncNcPath = Trim(Ini.GetString("OSAI", "DNC_NC_PATH", "P:\")) + .DncTimeout = Ini.GetInteger("OSAI", "DNC_TIMEOUT", "20") + .AlwaysOnTop = CBool(Ini.GetString("POSITION", "ALWAYSONTOP", "0")) + .HeadsPanel_ShowOnOpPanel = CBool(Ini.GetString("HEADS_PANEL", "SHOW_ON_OPPANEL", "1")) + .HeadsPanel_ReverseOrder = CBool(Ini.GetString("HEADS_PANEL", "REVERSE_ORDER", "0")) + For i As Integer = 0 To 19 + .HeadsPanel_Name(i) = Ini.GetString("HEADS_PANEL", "HEADNAME" & (i + 1).ToString, "") + Try + '.HeadsPanel_Type(i) = CType(Ini.GetInteger("HEADS_PANEL", "HEADTYPE" & (i + 1).ToString, "0"), Control.Heads.HeadTypes) + Catch ex As Exception + End Try + Next + .ControlPosition = New Rectangle(Ini.GetInteger("POSITION", "LEFT", 60), + Ini.GetInteger("POSITION", "TOP", 80), + Ini.GetInteger("POSITION", "WIDTH", 800), + Ini.GetInteger("POSITION", "HEIGHT", 600)) + .OpPanel_FollowCnc = CBool(Ini.GetString("SETTINGS", "OPPANEL_FOLLOWCNC", "1")) + + Dim ScreenW = Ini.GetInteger("SETTINGS", "SCREEN_WIDTH", 0) + Dim ScreenH = Ini.GetInteger("SETTINGS", "SCREEN_HEIGHT", 0) + If ScreenW > 0 And ScreenH > 0 Then + .OpPanel_ScreenSize = New Size(ScreenW, ScreenH) + .OpPanel_ForcedScreenSize = True + Else + '.OpPanel_ScreenSize = Screen.PrimaryScreen.Bounds.Size + .OpPanel_ForcedScreenSize = False + End If + + Select Case .OpPanel_ScreenSize + Case New Size(800, 600) '10" + sFont = 6.75! + Case New Size(1024, 768), New Size(2048, 768) '15", 15" doppio monitor + sFont = 8.25! + Case New Size(1280, 800), New Size(1366, 768), New Size(1280, 1024) '15,6" widescreen,17" + sFont = 9.75! + Case Else + sFont = 8.25! + End Select + .DefaultFont = New System.Drawing.Font("Tahoma", sFont, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + + .TcpSocket_Ip = Trim(Ini.GetString("SETTINGS", "TCPSOCKET_IP", "192.168.139.100")) + .TcpSocket_Port = Ini.GetInteger("SETTINGS", "TCPSOCKET_PORT", "4999") + + ' ToolTable REMOTE + If bReadToolTable Then + .ToolTable_Remote = Ini.GetBoolean("TOOLTABLE", "REMOTE", 0) + For i As Integer = 0 To MAX_NUM_TOOLTABLE_PATH + .ToolTable_Path(i) = Ini.GetString("TOOLTABLE", "PATH" & (i + 1).ToString, "") + .ToolTable_Descr(i) = Ini.GetString("TOOLTABLE", "DESCRIPTION" & (i + 1).ToString, "") + If .ToolTable_Path(i) <> "" Then + .ToolTable_CountPaths = i + 1 + End If + Next + End If + End With + Else + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR LoadFromFile", String.Format("File {0} not found", szFileIni), True) + End If + End Sub + + Public Shared Sub SaveToFile() + Dim szFileIni As String + Dim Ini As App.Native.Ini + + ' imposto il nome del file + szFileIni = sPathFile & "\" & My.Application.Info.AssemblyName & ".ini" + + ' verifico che esista il file + If My.Computer.FileSystem.FileExists(szFileIni) Then + 'istanzio la classe di gestione del file + Ini = New App.Native.Ini(szFileIni) + With Settings + ' salvo su file + Ini.WriteInteger("CONFIG", "DEBUG", .Debug) + Ini.WriteString("CONFIG", "LANGUAGE", .Language) + + Ini.WriteInteger("POSITION", "ALWAYSONTOP", IIf((.AlwaysOnTop), 1, 0)) + Ini.WriteInteger("POSITION", "LEFT", .ControlPosition.Left) + Ini.WriteInteger("POSITION", "TOP", .ControlPosition.Top) + Ini.WriteInteger("POSITION", "WIDTH", .ControlPosition.Width) + Ini.WriteInteger("POSITION", "HEIGHT", .ControlPosition.Height) + + Ini.WriteInteger("TOOLTABLE", "REMOTE", IIf((.ToolTable_Remote), 1, 0)) + ' Uso 2 cicli per mantenere Path e Descr separati + For i As Integer = 0 To MAX_NUM_TOOLTABLE_PATH + If .ToolTable_Path(i) <> "" Then + Ini.WriteString("TOOLTABLE", "PATH" & (i + 1).ToString, .ToolTable_Path(i)) + End If + Next + For i As Integer = 0 To MAX_NUM_TOOLTABLE_PATH + If .ToolTable_Descr(i) <> "" Then + Ini.WriteString("TOOLTABLE", "DESCRIPTION" & (i + 1).ToString, .ToolTable_Descr(i)) + End If + Next + End With + + 'EgwProxy.MultiCncLib.App.Runtime.Log.WI("END SaveToFile", , CEgwProxy.MultiCncLib.App.Runtime.Log.Lev.Secondary) + Else + 'EgwProxy.MultiCncLib.App.Runtime.Log.WW("ERR SaveToFile", String.Format("File {0} not found", szFileIni), True) + End If + End Sub + + Public Shared Sub SettingsToEdit() + SettingsEdit.Debug = Settings.Debug + SettingsEdit.Language = Settings.Language + SettingsEdit.TypeNC = Settings.TypeNC + SettingsEdit.MemoryMapping = Settings.MemoryMapping + SettingsEdit.SerialNumber = Settings.SerialNumber + SettingsEdit.Hssb = Settings.Hssb + SettingsEdit.IpFanuc = Settings.IpFanuc + SettingsEdit.PortIpFanuc = Settings.PortIpFanuc + SettingsEdit.CncScreenHssb = Settings.CncScreenHssb + SettingsEdit.NcName = Settings.NcName + SettingsEdit.OsaiCommType = Settings.OsaiCommType + SettingsEdit.IpOsai = Settings.IpOsai + SettingsEdit.DncPcPath = Settings.DncPcPath + SettingsEdit.DncNcPath = Settings.DncNcPath + SettingsEdit.DncTimeout = Settings.DncTimeout + SettingsEdit.AlwaysOnTop = Settings.AlwaysOnTop + SettingsEdit.HeadsPanel_ShowOnOpPanel = Settings.HeadsPanel_ShowOnOpPanel + SettingsEdit.HeadsPanel_ReverseOrder = Settings.HeadsPanel_ReverseOrder + SettingsEdit.ControlPosition = New Rectangle(Settings.ControlPosition.X, + Settings.ControlPosition.Y, + Settings.ControlPosition.Width, + Settings.ControlPosition.Height) + SettingsEdit.OpPanel_FollowCnc = Settings.OpPanel_FollowCnc + SettingsEdit.OpPanel_ScreenSize = New Size(Settings.OpPanel_ScreenSize.Width, + Settings.OpPanel_ScreenSize.Height) + SettingsEdit.TcpSocket_Ip = Settings.TcpSocket_Ip + SettingsEdit.TcpSocket_Port = Settings.TcpSocket_Port + + SettingsEdit.ToolTable_Remote = Settings.ToolTable_Remote + For i As Integer = 0 To MAX_NUM_TOOLTABLE_PATH + SettingsEdit.ToolTable_Path(i) = Settings.ToolTable_Path(i) + SettingsEdit.ToolTable_Descr(i) = Settings.ToolTable_Descr(i) + Next + End Sub + + Public Shared Sub EditToSettings() + Settings.Debug = SettingsEdit.Debug + Settings.Language = SettingsEdit.Language + Settings.TypeNC = SettingsEdit.TypeNC + Settings.MemoryMapping = SettingsEdit.MemoryMapping + Settings.SerialNumber = SettingsEdit.SerialNumber + Settings.Hssb = SettingsEdit.Hssb + Settings.IpFanuc = SettingsEdit.IpFanuc + Settings.PortIpFanuc = SettingsEdit.PortIpFanuc + Settings.CncScreenHssb = SettingsEdit.CncScreenHssb + Settings.NcName = SettingsEdit.NcName + Settings.OsaiCommType = SettingsEdit.OsaiCommType + Settings.IpOsai = SettingsEdit.IpOsai + Settings.DncPcPath = SettingsEdit.DncPcPath + Settings.DncNcPath = SettingsEdit.DncNcPath + Settings.DncTimeout = SettingsEdit.DncTimeout + Settings.AlwaysOnTop = SettingsEdit.AlwaysOnTop + Settings.HeadsPanel_ShowOnOpPanel = SettingsEdit.HeadsPanel_ShowOnOpPanel + Settings.HeadsPanel_ReverseOrder = SettingsEdit.HeadsPanel_ReverseOrder + Settings.ControlPosition = New Rectangle(SettingsEdit.ControlPosition.X, + SettingsEdit.ControlPosition.Y, + SettingsEdit.ControlPosition.Width, + SettingsEdit.ControlPosition.Height) + Settings.OpPanel_FollowCnc = SettingsEdit.OpPanel_FollowCnc + Settings.OpPanel_ScreenSize = New Size(SettingsEdit.OpPanel_ScreenSize.Width, + SettingsEdit.OpPanel_ScreenSize.Height) + Settings.TcpSocket_Ip = SettingsEdit.TcpSocket_Ip + Settings.TcpSocket_Port = SettingsEdit.TcpSocket_Port + + Settings.ToolTable_Remote = SettingsEdit.ToolTable_Remote + For i As Integer = 0 To MAX_NUM_TOOLTABLE_PATH + Settings.ToolTable_Path(i) = SettingsEdit.ToolTable_Path(i) + Settings.ToolTable_Descr(i) = SettingsEdit.ToolTable_Descr(i) + Next + + RaiseEvent SettingsChanged(New Object, New EventArgs) + End Sub + + Public Shared Event SettingsChanged(ByVal sender As Object, ByVal e As EventArgs) + + Friend Class SettingsProperty + + Private _Debug As Integer = 0 + + Public Property Debug() As Integer + Get + Return Me._Debug + End Get + Set(ByVal value As Integer) + Me._Debug = value + End Set + End Property + Private _Language As String = "English" + + Public Property Language() As String + Get + Return Me._Language + End Get + Set(ByVal value As String) + Me._Language = value + End Set + End Property + + Private _TypeNC As CNC.CNC.NcType = CNC.CNC.NcType.DEMO + + Public Property TypeNC() As CNC.CNC.NcType + Get + Return Me._TypeNC + End Get + Set(ByVal value As CNC.CNC.NcType) + Me._TypeNC = value + End Set + End Property + + Private _MemoryMapping As Config.Settings.MemoryMapping = MemoryMapping.Default + + Public Property MemoryMapping() As Config.Settings.MemoryMapping + Get + Return Me._MemoryMapping + End Get + Set(ByVal value As Config.Settings.MemoryMapping) + Me._MemoryMapping = value + End Set + End Property + + Private _SerialNumber As Integer = 0 + + Public Property SerialNumber() As Integer + Get + Return Me._SerialNumber + End Get + Set(ByVal value As Integer) + Me._SerialNumber = value + End Set + End Property + + Private _Hssb As Integer = 0 + + Public Property Hssb() As Integer + Get + Return Me._Hssb + End Get + Set(ByVal value As Integer) + Me._Hssb = value + End Set + End Property + + Private _IpFanuc As String = "192.168.1.1" + + Public Property IpFanuc() As String + Get + Return Me._IpFanuc + End Get + Set(ByVal value As String) + Me._IpFanuc = value + End Set + End Property + + Private _PortIpFanuc As Integer = 8193 + + Public Property PortIpFanuc() As Integer + Get + Return Me._PortIpFanuc + End Get + Set(ByVal value As Integer) + Me._PortIpFanuc = value + End Set + End Property + + Private _CncScreenHssb As Integer = 0 + + Public Property CncScreenHssb() As Integer + Get + Return Me._CncScreenHssb + End Get + Set(ByVal value As Integer) + Me._CncScreenHssb = value + End Set + End Property + + Private _NcName As String = "NC0000" + + Public Property NcName() As String + Get + Return Me._NcName + End Get + Set(ByVal value As String) + Me._NcName = value + End Set + End Property + + Private _OsaiCommType As Integer = 1 + + Public Property OsaiCommType() As Integer + Get + Return Me._OsaiCommType + End Get + Set(ByVal value As Integer) + Me._OsaiCommType = value + End Set + End Property + + Private _IpOsai As String = "192.168.1.1" + + Public Property IpOsai() As String + Get + Return Me._IpOsai + End Get + Set(ByVal value As String) + Me._IpOsai = value + End Set + End Property + + Private _DncPcPath As String = "C:\PARTPRG\" + + Public Property DncPcPath() As String + Get + Return Me._DncPcPath + End Get + Set(ByVal value As String) + Me._DncPcPath = value + End Set + End Property + + Private _DncNcPath As String = "P:\" + + Public Property DncNcPath() As String + Get + Return Me._DncNcPath + End Get + Set(ByVal value As String) + Me._DncNcPath = value + End Set + End Property + + Private _DncTimeout As Integer = 20 + + Public Property DncTimeout() As Integer + Get + Return Me._DncTimeout + End Get + Set(ByVal value As Integer) + Me._DncTimeout = value + End Set + End Property + + Private _ControlPosition As Rectangle = New Rectangle(80, 60, 800, 600) + + Public Property ControlPosition() As Rectangle + Get + Return Me._ControlPosition + End Get + Set(ByVal value As Rectangle) + Me._ControlPosition = value + End Set + End Property + + Private _AlwaysOnTop As Boolean + + Public Property AlwaysOnTop() As Boolean + Get + Return Me._AlwaysOnTop + End Get + Set(ByVal value As Boolean) + Me._AlwaysOnTop = value + End Set + End Property + + Private _HeadsPanel_ShowOnOpPanel As Boolean + + Public Property HeadsPanel_ShowOnOpPanel() As Boolean + Get + Return Me._HeadsPanel_ShowOnOpPanel + End Get + Set(ByVal value As Boolean) + Me._HeadsPanel_ShowOnOpPanel = value + End Set + End Property + + Private _HeadsPanel_ReverseOrder As Boolean + + Public Property HeadsPanel_ReverseOrder() As Boolean + Get + Return Me._HeadsPanel_ReverseOrder + End Get + Set(ByVal value As Boolean) + Me._HeadsPanel_ReverseOrder = value + End Set + End Property + + Private _HeadsPanel_Name(19) As String + + Public Property HeadsPanel_Name() As String() + Get + Return Me._HeadsPanel_Name + End Get + Set(ByVal value As String()) + Me._HeadsPanel_Name = value + End Set + End Property + + 'Private _HeadsPanel_Type(19) As Control.Heads.HeadTypes + ' _ + 'Public Property HeadsPanel_Type() As Control.Heads.HeadTypes() + ' Get + ' Return Me._HeadsPanel_Type + ' End Get + ' Set(ByVal value As Control.Heads.HeadTypes()) + ' Me._HeadsPanel_Type = value + ' End Set + 'End Property + + Private _OpPanel_FollowCnc As Boolean + + Public Property OpPanel_FollowCnc() As Boolean + Get + Return Me._OpPanel_FollowCnc + End Get + Set(ByVal value As Boolean) + Me._OpPanel_FollowCnc = value + End Set + End Property + + Private _OpPanel_ScreenSize As Size = New Size(0, 0) + + Public Property OpPanel_ScreenSize() As Size + Get + Return Me._OpPanel_ScreenSize + End Get + Set(ByVal value As Size) + Me._OpPanel_ScreenSize = value + End Set + End Property + + Private _OpPanel_ForcedScreenSize As Boolean = False + + Public Property OpPanel_ForcedScreenSize() As Boolean + Get + Return Me._OpPanel_ForcedScreenSize + End Get + Set(ByVal value As Boolean) + Me._OpPanel_ForcedScreenSize = value + End Set + End Property + + Private _DefaultFont As Font + + Public Property DefaultFont() As Font + Get + Return Me._DefaultFont + End Get + Set(ByVal value As Font) + Me._DefaultFont = value + End Set + End Property + + Private _TcpSocket_Ip As String = "192.168.139.100" + + Public Property TcpSocket_Ip() As String + Get + Return Me._TcpSocket_Ip + End Get + Set(ByVal value As String) + Me._TcpSocket_Ip = value + End Set + End Property + + Private _TcpSocket_Port As Integer = 4999 + + Public Property TcpSocket_Port() As Integer + Get + Return Me._TcpSocket_Port + End Get + Set(ByVal value As Integer) + Me._TcpSocket_Port = value + End Set + End Property + Private _ToolTable_Remote As Boolean = False + + Public Property ToolTable_Remote() As Boolean + Get + Return Me._ToolTable_Remote + End Get + Set(ByVal value As Boolean) + Me._ToolTable_Remote = value + End Set + End Property + Private _ToolTable_Path(MAX_NUM_TOOLTABLE_PATH) As String + + Public Property ToolTable_Path() As String() + Get + Return Me._ToolTable_Path + End Get + Set(ByVal value As String()) + Me._ToolTable_Path = value + End Set + End Property + Private _ToolTable_Descr(MAX_NUM_TOOLTABLE_PATH) As String + + Public Property ToolTable_Descr() As String() + Get + Return Me._ToolTable_Descr + End Get + Set(ByVal value As String()) + Me._ToolTable_Descr = value + End Set + End Property + Private _ToolTable_CountPaths As Integer = 0 + + Public Property ToolTable_CountPaths() As Integer + Get + Return Me._ToolTable_CountPaths + End Get + Set(ByVal value As Integer) + Me._ToolTable_CountPaths = value + End Set + End Property + + + + + + End Class + + End Class +End Namespace diff --git a/EgwProxy.MultiCncLib/EgwProxy.MultiCncLib.vbproj b/EgwProxy.MultiCncLib/EgwProxy.MultiCncLib.vbproj new file mode 100644 index 0000000..251e124 --- /dev/null +++ b/EgwProxy.MultiCncLib/EgwProxy.MultiCncLib.vbproj @@ -0,0 +1,730 @@ + + + + + Debug + AnyCPU + {2D769FFD-1122-4276-A115-29246E6D23C5} + Library + EgwProxy.MultiCncLib + EgwProxy.MultiCncLib + 512 + Windows + v4.0 + + + + + true + full + true + true + bin\Debug\ + EgwProxy.MultiCncLib.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + FS30D=1,SIEMENS=1 + true + x86 + false + + + pdbonly + false + true + true + bin\Release\ + EgwProxy.MultiCncLib.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + FS30D=1,SIEMENS=1 + false + x86 + + + On + + + Binary + + + Off + + + On + + + true + bin\FANUC\ + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + FS30D=1,SIEMENS=1 + false + + + true + bin\ESA\ + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + FS30D=1,SIEMENS=1 + false + + + true + bin\SIEMENS\ + FS30D=1,SIEMENS=1 + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + false + + + true + bin\OSAI\ + FS30D=1,SIEMENS=1 + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + false + + + true + true + true + bin\x86\Debug\ + FS30D=1,SIEMENS=1 + EgwProxy.MultiCncLib.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + bin\x86\Release\ + FS30D=1,SIEMENS=1 + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + bin\x86\FANUC\ + FS30D=1,SIEMENS=1 + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + bin\x86\ESA\ + FS30D=1,SIEMENS=1 + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + bin\x86\SIEMENS\ + FS30D=1,SIEMENS=1 + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + bin\x86\OSAI\ + FS30D=1,SIEMENS=1 + EgwProxy.MultiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + + False + ExtLib\CndexLinkDotNet.dll + + + False + ExtLib\Siemens.Sinumerik.Operate.Services.dll + + + + + + + + + + + + + + + + + + + + + + + + + + VersGen.vb + + + + + + + + + + + + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + True + True + Reference.svcmap + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + + + + + + + + + + + + + + + + WCF Proxy Generator + Reference.vb + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/ExtLib/CndexLinkDotNet.dll b/EgwProxy.MultiCncLib/ExtLib/CndexLinkDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..d86313f10600a0bf9a9b836f1c3708864a532d43 GIT binary patch literal 52736 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¨HxhWhHTihZ0UDY$4Dc#)sPx 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�T`(Wx|w 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
vX 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
I1RIb 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
>=lg@RbTanY|_D%Gsjc+=_E-lB$i*DVt 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 M5sh>4gl_!(AISNCssI20 literal 0 HcmV?d00001 diff --git a/EgwProxy.MultiCncLib/ExtLib/Siemens.Sinumerik.Operate.Services.dll b/EgwProxy.MultiCncLib/ExtLib/Siemens.Sinumerik.Operate.Services.dll new file mode 100644 index 0000000000000000000000000000000000000000..f00469d5380b0d4992aca28c8538f8c47ecc14ac GIT binary patch literal 230248 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 c5s#O2h`9RD@9mdYEq`-F^yHjw?3tqf2el8{ second.Length) Then + Return False + End If + For i As Integer = 0 To first.Length - 1 + If (first(i) <> second(i)) Then + Return False + End If + Next i + Return True + End Function + +End Module diff --git a/EgwProxy.MultiCncLib/Modules/General.vb b/EgwProxy.MultiCncLib/Modules/General.vb new file mode 100644 index 0000000..f962476 --- /dev/null +++ b/EgwProxy.MultiCncLib/Modules/General.vb @@ -0,0 +1,84 @@ +Module General + + Public Const MASK_BIT0 = &H1& + Public Const MASK_BIT1 = &H2& + Public Const MASK_BIT2 = &H4& + Public Const MASK_BIT3 = &H8& + Public Const MASK_BIT4 = &H10& + Public Const MASK_BIT5 = &H20& + Public Const MASK_BIT6 = &H40& + Public Const MASK_BIT7 = &H80& + Public Const MASK_BIT8 = &H100& + Public Const MASK_BIT9 = &H200& + Public Const MASK_BIT10 = &H400& + Public Const MASK_BIT11 = &H800& + Public Const MASK_BIT12 = &H1000& + Public Const MASK_BIT13 = &H2000& + Public Const MASK_BIT14 = &H4000& + Public Const MASK_BIT15 = &H8000& + + Public Const LOW_ORDER = 0 + Public Const HIGH_ORDER = 1 + + 'Costanti globali + Public Const NC_DEMO = 0 + Public Const NC_FANUC = 1 + Public Const NC_OSAI_OPEN = 2 + Public Const NC_SIEMENS = 3 + Public Const NC_OSAI_CNDEX = 4 + + Public Const HSSB_DEFAULT_NODE = 0 + + Public Const MEM_BOOL = 1 + Public Const MEM_BYTE = 2 + Public Const MEM_WORD = 3 + Public Const MEM_INT = 4 + Public Const MEM_DWORD = 5 + Public Const MEM_DINT = 6 + Public Const MEM_SINGLE = 7 + Public Const MEM_DOUBLE = 8 + + Public Const MEM_F_R = 5 + Public Const MEM_F_D = 9 + + Public Const MEM_S_DB = 0 + Public Const MEM_S_M = -1 + Public Const MEM_S_R = -2 + Public Const MEM_S_E = -3 + Public Const MEM_S_A = -4 + + 'Variabili globali + 'Public nDebug As Integer + 'Public szLanguage As String + 'Public nTypeNC As Integer + + 'Fanuc + 'Public bHssb As Boolean + Public Hssb_node As Long + 'Public szIpFanuc As String + 'Public nPortIpFanuc As Integer + ''Public nReturn As Integer + 'Public bSerie30 As Boolean + 'Public bMultiProcess As Boolean + + 'Osai + 'Public szNcName As String 'Nome del CN in rete + + Public nTop As Integer + Public nLeft As Integer + Public nHeight As Integer + Public nWidth As Integer + + + '''

+ ''' Sostituisce il carattere | con un carattere speciale di ritorno a capo + ''' + Public Function ReplaceNewLine(ByVal strWord As String) As String + Dim strModifiedWord As String = strWord + + strModifiedWord = strModifiedWord.Replace("|", vbNewLine) + + Return strModifiedWord + End Function + +End Module diff --git a/EgwProxy.MultiCncLib/My Project/Application.Designer.vb b/EgwProxy.MultiCncLib/My Project/Application.Designer.vb new file mode 100644 index 0000000..88dd01c --- /dev/null +++ b/EgwProxy.MultiCncLib/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/EgwProxy.MultiCncLib/My Project/Application.myapp b/EgwProxy.MultiCncLib/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/EgwProxy.MultiCncLib/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/EgwProxy.MultiCncLib/My Project/AssemblyInfo.vb b/EgwProxy.MultiCncLib/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..61167e3 --- /dev/null +++ b/EgwProxy.MultiCncLib/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + +' + +' + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + +' +' diff --git a/EgwProxy.MultiCncLib/My Project/Resources.Designer.vb b/EgwProxy.MultiCncLib/My Project/Resources.Designer.vb new file mode 100644 index 0000000..d04c579 --- /dev/null +++ b/EgwProxy.MultiCncLib/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("EgwProxy.MultiCncLib.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/EgwProxy.MultiCncLib/My Project/Resources.resx b/EgwProxy.MultiCncLib/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/EgwProxy.MultiCncLib/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/My Project/Settings.Designer.vb b/EgwProxy.MultiCncLib/My Project/Settings.Designer.vb new file mode 100644 index 0000000..eb2df98 --- /dev/null +++ b/EgwProxy.MultiCncLib/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.EgwProxy.MultiCncLib.My.MySettings + Get + Return Global.EgwProxy.MultiCncLib.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/EgwProxy.MultiCncLib/My Project/Settings.settings b/EgwProxy.MultiCncLib/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/EgwProxy.MultiCncLib/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.AxesRefR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.AxesRefR.datasource new file mode 100644 index 0000000..7d109de --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.AxesRefR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.AxesRefR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootModeR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootModeR.datasource new file mode 100644 index 0000000..e79fc3f --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootModeR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.BootModeR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootPhaseEnquiryR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootPhaseEnquiryR.datasource new file mode 100644 index 0000000..7979855 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootPhaseEnquiryR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.BootPhaseEnquiryR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootRebootR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootRebootR.datasource new file mode 100644 index 0000000..4e8e87d --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootRebootR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.BootRebootR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootShutDownR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootShutDownR.datasource new file mode 100644 index 0000000..298cc66 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.BootShutDownR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.BootShutDownR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.CheckHistoryR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.CheckHistoryR.datasource new file mode 100644 index 0000000..12dfa74 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.CheckHistoryR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.CheckHistoryR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.CycleR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.CycleR.datasource new file mode 100644 index 0000000..a969513 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.CycleR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.CycleR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncDataR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncDataR.datasource new file mode 100644 index 0000000..a6d148a --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncDataR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.DncDataR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncEofR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncEofR.datasource new file mode 100644 index 0000000..8de2267 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncEofR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.DncEofR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncInitR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncInitR.datasource new file mode 100644 index 0000000..676f469 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncInitR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.DncInitR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncStopR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncStopR.datasource new file mode 100644 index 0000000..490a8ab --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.DncStopR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.DncStopR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.EseExR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.EseExR.datasource new file mode 100644 index 0000000..57a3a88 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.EseExR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.EseExR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.EseR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.EseR.datasource new file mode 100644 index 0000000..3ce8af4 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.EseR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.EseR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ExeR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ExeR.datasource new file mode 100644 index 0000000..c70c499 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ExeR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ExeR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetActivePartProgramR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetActivePartProgramR.datasource new file mode 100644 index 0000000..5785225 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetActivePartProgramR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetActivePartProgramR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAvailableCustomEventsR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAvailableCustomEventsR.datasource new file mode 100644 index 0000000..920849b --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAvailableCustomEventsR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetAvailableCustomEventsR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxOriginNumR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxOriginNumR.datasource new file mode 100644 index 0000000..4c9f510 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxOriginNumR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetAxOriginNumR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxesInfo3R.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxesInfo3R.datasource new file mode 100644 index 0000000..881eb83 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxesInfo3R.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetAxesInfo3R, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxesPositionR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxesPositionR.datasource new file mode 100644 index 0000000..c0a0052 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetAxesPositionR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetAxesPositionR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetBinaryFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetBinaryFileR.datasource new file mode 100644 index 0000000..64e823c --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetBinaryFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetBinaryFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetBlkNumR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetBlkNumR.datasource new file mode 100644 index 0000000..3145926 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetBlkNumR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetBlkNumR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetCNCRegKeyR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetCNCRegKeyR.datasource new file mode 100644 index 0000000..d58255f --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetCNCRegKeyR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetCNCRegKeyR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetCodeNumberR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetCodeNumberR.datasource new file mode 100644 index 0000000..15a1f34 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetCodeNumberR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetCodeNumberR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetDateTimeR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetDateTimeR.datasource new file mode 100644 index 0000000..452d981 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetDateTimeR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetDateTimeR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetFileR.datasource new file mode 100644 index 0000000..2b9196c --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetGCodeR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetGCodeR.datasource new file mode 100644 index 0000000..142934b --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetGCodeR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetGCodeR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetHWKeyR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetHWKeyR.datasource new file mode 100644 index 0000000..33ee74a --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetHWKeyR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetHWKeyR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetMCodeR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetMCodeR.datasource new file mode 100644 index 0000000..15bd881 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetMCodeR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetMCodeR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetMarkerInfoR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetMarkerInfoR.datasource new file mode 100644 index 0000000..44f28f4 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetMarkerInfoR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetMarkerInfoR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetNcInfo1R.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetNcInfo1R.datasource new file mode 100644 index 0000000..b9c3286 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetNcInfo1R.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetNcInfo1R, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetNcInfo2R.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetNcInfo2R.datasource new file mode 100644 index 0000000..c54208a --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetNcInfo2R.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetNcInfo2R, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOffsetTabRecordIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOffsetTabRecordIIR.datasource new file mode 100644 index 0000000..1a1aedd --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOffsetTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetOffsetTabRecordIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOptionsR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOptionsR.datasource new file mode 100644 index 0000000..2c856ed --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOptionsR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetOptionsR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOriginTabRecordIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOriginTabRecordIIR.datasource new file mode 100644 index 0000000..8015f6e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetOriginTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetOriginTabRecordIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetPTechSizesR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetPTechSizesR.datasource new file mode 100644 index 0000000..29ae97c --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetPTechSizesR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetPTechSizesR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetPartProgramLinesR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetPartProgramLinesR.datasource new file mode 100644 index 0000000..ed331a9 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetPartProgramLinesR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetPartProgramLinesR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcInInputR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcInInputR.datasource new file mode 100644 index 0000000..2d9a032 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcInInputR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetProcInInputR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcVarDoubleR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcVarDoubleR.datasource new file mode 100644 index 0000000..eabd221 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetProcVarDoubleR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcVarWordR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcVarWordR.datasource new file mode 100644 index 0000000..22c7733 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcVarWordR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetProcVarWordR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcessConfNumR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcessConfNumR.datasource new file mode 100644 index 0000000..0460e8c --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcessConfNumR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetProcessConfNumR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcessStatusR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcessStatusR.datasource new file mode 100644 index 0000000..6c4f53c --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetProcessStatusR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetProcessStatusR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSelectedProcessR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSelectedProcessR.datasource new file mode 100644 index 0000000..9b61556 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSelectedProcessR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetSelectedProcessR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSerialNumberR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSerialNumberR.datasource new file mode 100644 index 0000000..f46fee9 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSerialNumberR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetSerialNumberR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetServoParR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetServoParR.datasource new file mode 100644 index 0000000..83e3a6e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetServoParR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetServoParR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSysTickR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSysTickR.datasource new file mode 100644 index 0000000..a96b0fd --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetSysTickR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetSysTickR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetToolNamesR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetToolNamesR.datasource new file mode 100644 index 0000000..78c519e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetToolNamesR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetToolNamesR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetToolTabRecordIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetToolTabRecordIIR.datasource new file mode 100644 index 0000000..df570f1 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetToolTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetToolTabRecordIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetUserTabRecordIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetUserTabRecordIIR.datasource new file mode 100644 index 0000000..e3fc9a0 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetUserTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetUserTabRecordIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetVarJOGR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetVarJOGR.datasource new file mode 100644 index 0000000..e440584 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetVarJOGR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetVarJOGR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetVarRCMR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetVarRCMR.datasource new file mode 100644 index 0000000..9fc7334 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.GetVarRCMR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.GetVarRCMR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.HoldR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.HoldR.datasource new file mode 100644 index 0000000..faf661f --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.HoldR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.HoldR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LoadPTechR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LoadPTechR.datasource new file mode 100644 index 0000000..910c467 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LoadPTechR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LoadPTechR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LockTableIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LockTableIIR.datasource new file mode 100644 index 0000000..8328834 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LockTableIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LockTableIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSAddDriveR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSAddDriveR.datasource new file mode 100644 index 0000000..cdb41c4 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSAddDriveR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSAddDriveR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSChangeFileAttribR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSChangeFileAttribR.datasource new file mode 100644 index 0000000..91a5227 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSChangeFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSChangeFileAttribR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCloseFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCloseFileR.datasource new file mode 100644 index 0000000..5105077 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCloseFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSCloseFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCopyFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCopyFileR.datasource new file mode 100644 index 0000000..953af69 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCopyFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSCopyFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCreateDirR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCreateDirR.datasource new file mode 100644 index 0000000..0fae391 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCreateDirR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSCreateDirR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCreateFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCreateFileR.datasource new file mode 100644 index 0000000..3e1148a --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSCreateFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSCreateFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindCloseR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindCloseR.datasource new file mode 100644 index 0000000..5faedf8 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindCloseR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSFindCloseR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindFirstR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindFirstR.datasource new file mode 100644 index 0000000..71f3880 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindFirstR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSFindFirstR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindNextR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindNextR.datasource new file mode 100644 index 0000000..69ef7ea --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSFindNextR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSFindNextR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetDriveListR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetDriveListR.datasource new file mode 100644 index 0000000..5874000 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetDriveListR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSGetDriveListR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetDrivePathR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetDrivePathR.datasource new file mode 100644 index 0000000..cb7e7c5 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetDrivePathR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSGetDrivePathR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetFileAttribR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetFileAttribR.datasource new file mode 100644 index 0000000..c7db6a1 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSGetFileAttribR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetFileSizeR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetFileSizeR.datasource new file mode 100644 index 0000000..ca40b01 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetFileSizeR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSGetFileSizeR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetHiddenDriveListR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetHiddenDriveListR.datasource new file mode 100644 index 0000000..091a727 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetHiddenDriveListR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSGetHiddenDriveListR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetInfoR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetInfoR.datasource new file mode 100644 index 0000000..7bfb253 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetInfoR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSGetInfoR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetNumDriveR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetNumDriveR.datasource new file mode 100644 index 0000000..0860f35 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetNumDriveR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSGetNumDriveR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetSecurityLevelR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetSecurityLevelR.datasource new file mode 100644 index 0000000..59886a1 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSGetSecurityLevelR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSGetSecurityLevelR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSLongFileNamesR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSLongFileNamesR.datasource new file mode 100644 index 0000000..17207de --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSLongFileNamesR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSLongFileNamesR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSOpenFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSOpenFileR.datasource new file mode 100644 index 0000000..6f733dc --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSOpenFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSOpenFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSReadRecordR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSReadRecordR.datasource new file mode 100644 index 0000000..6ebfc0e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSReadRecordR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSReadRecordR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSReloadDriveListR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSReloadDriveListR.datasource new file mode 100644 index 0000000..8ff30a8 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSReloadDriveListR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSReloadDriveListR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveDirR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveDirR.datasource new file mode 100644 index 0000000..78cf886 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveDirR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSRemoveDirR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveDriveR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveDriveR.datasource new file mode 100644 index 0000000..bc1c9d9 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveDriveR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSRemoveDriveR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveFileR.datasource new file mode 100644 index 0000000..bf457f4 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRemoveFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSRemoveFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRenameR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRenameR.datasource new file mode 100644 index 0000000..868b683 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSRenameR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSRenameR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSSetFileAttribR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSSetFileAttribR.datasource new file mode 100644 index 0000000..3632932 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSSetFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSSetFileAttribR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSSetSecurityLevelR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSSetSecurityLevelR.datasource new file mode 100644 index 0000000..4daa0c3 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSSetSecurityLevelR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSSetSecurityLevelR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSWriteRecordR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSWriteRecordR.datasource new file mode 100644 index 0000000..1608c1e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.LogFSWriteRecordR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.LogFSWriteRecordR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ManagePartProgramR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ManagePartProgramR.datasource new file mode 100644 index 0000000..65d61f5 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ManagePartProgramR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ManagePartProgramR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonAddVariableR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonAddVariableR.datasource new file mode 100644 index 0000000..17a8f44 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonAddVariableR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.MonAddVariableR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonCloseChannelR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonCloseChannelR.datasource new file mode 100644 index 0000000..a002a93 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonCloseChannelR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.MonCloseChannelR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonDeleteVariableR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonDeleteVariableR.datasource new file mode 100644 index 0000000..9b30a1f --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonDeleteVariableR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.MonDeleteVariableR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonGetVariableR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonGetVariableR.datasource new file mode 100644 index 0000000..3678444 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonGetVariableR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.MonGetVariableR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonOpenChannelR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonOpenChannelR.datasource new file mode 100644 index 0000000..4c22719 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonOpenChannelR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.MonOpenChannelR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonStartSamplingR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonStartSamplingR.datasource new file mode 100644 index 0000000..4e08413 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonStartSamplingR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.MonStartSamplingR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonStopSamplingR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonStopSamplingR.datasource new file mode 100644 index 0000000..459a319 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.MonStopSamplingR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.MonStopSamplingR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.PutBinaryFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.PutBinaryFileR.datasource new file mode 100644 index 0000000..944b88f --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.PutBinaryFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.PutBinaryFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.PutFileR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.PutFileR.datasource new file mode 100644 index 0000000..2e3a3aa --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.PutFileR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.PutFileR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentAnomalyMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentAnomalyMsgR.datasource new file mode 100644 index 0000000..5cdfdb5 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentAnomalyMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadCurrentAnomalyMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentEmergMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentEmergMsgR.datasource new file mode 100644 index 0000000..c0a8ffa --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentEmergMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadCurrentEmergMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentErrorMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentErrorMsgR.datasource new file mode 100644 index 0000000..1dd7dc1 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadCurrentErrorMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadCurrentErrorMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadErrMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadErrMsgR.datasource new file mode 100644 index 0000000..cdd5a55 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadErrMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadErrMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryAnomalyMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryAnomalyMsgR.datasource new file mode 100644 index 0000000..ec94a4d --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryAnomalyMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadHistoryAnomalyMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryEmergMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryEmergMsgR.datasource new file mode 100644 index 0000000..bb6569e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryEmergMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadHistoryEmergMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryErrorMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryErrorMsgR.datasource new file mode 100644 index 0000000..b6dbe75 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryErrorMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadHistoryErrorMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryLogMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryLogMsgR.datasource new file mode 100644 index 0000000..d39f7a8 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadHistoryLogMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadHistoryLogMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadPartProgramMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadPartProgramMsgR.datasource new file mode 100644 index 0000000..631b675 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadPartProgramMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadPartProgramMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadRemapDefinitionsR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadRemapDefinitionsR.datasource new file mode 100644 index 0000000..39b36ff --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadRemapDefinitionsR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadRemapDefinitionsR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarDoubleR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarDoubleR.datasource new file mode 100644 index 0000000..ce652ed --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadVarDoubleR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarTextR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarTextR.datasource new file mode 100644 index 0000000..861847a --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarTextR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadVarTextR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarWordR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarWordR.datasource new file mode 100644 index 0000000..6f97a86 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadVarWordR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadVarWordR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadWarningMsgR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadWarningMsgR.datasource new file mode 100644 index 0000000..e62a600 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ReadWarningMsgR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ReadWarningMsgR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ResetR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ResetR.datasource new file mode 100644 index 0000000..ef61eaa --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ResetR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ResetR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ResetSingleTableIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ResetSingleTableIIR.datasource new file mode 100644 index 0000000..0808bf6 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.ResetSingleTableIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.ResetSingleTableIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.RestoreBackupMemoryR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.RestoreBackupMemoryR.datasource new file mode 100644 index 0000000..153cebd --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.RestoreBackupMemoryR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.RestoreBackupMemoryR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.RestoreSingleTableR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.RestoreSingleTableR.datasource new file mode 100644 index 0000000..334e5cb --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.RestoreSingleTableR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.RestoreSingleTableR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveBackupMemoryR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveBackupMemoryR.datasource new file mode 100644 index 0000000..c00c225 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveBackupMemoryR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SaveBackupMemoryR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveSingleTableR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveSingleTableR.datasource new file mode 100644 index 0000000..d101bb7 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveSingleTableR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SaveSingleTableR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveTablesR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveTablesR.datasource new file mode 100644 index 0000000..a9a1b65 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SaveTablesR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SaveTablesR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectPartProgramFromDriveR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectPartProgramFromDriveR.datasource new file mode 100644 index 0000000..99f86a9 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectPartProgramFromDriveR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SelectPartProgramFromDriveR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectPartProgramR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectPartProgramR.datasource new file mode 100644 index 0000000..6325ecf --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectPartProgramR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SelectPartProgramR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectProcAxisR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectProcAxisR.datasource new file mode 100644 index 0000000..17ef15e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectProcAxisR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SelectProcAxisR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectProcessR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectProcessR.datasource new file mode 100644 index 0000000..1b866f8 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SelectProcessR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SelectProcessR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetDateTimeR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetDateTimeR.datasource new file mode 100644 index 0000000..cfb3f83 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetDateTimeR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetDateTimeR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedManOverR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedManOverR.datasource new file mode 100644 index 0000000..6518700 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedManOverR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetFeedManOverR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedRapidOverR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedRapidOverR.datasource new file mode 100644 index 0000000..9faa0ee --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedRapidOverR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetFeedRapidOverR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedRateOverR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedRateOverR.datasource new file mode 100644 index 0000000..d674f35 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetFeedRateOverR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetFeedRateOverR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetIpAddressR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetIpAddressR.datasource new file mode 100644 index 0000000..babecf7 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetIpAddressR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetIpAddressR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetManMovDirectionR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetManMovDirectionR.datasource new file mode 100644 index 0000000..b855db0 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetManMovDirectionR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetManMovDirectionR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetMdiStringR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetMdiStringR.datasource new file mode 100644 index 0000000..b9bc7a0 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetMdiStringR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetMdiStringR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetOffsetTabRecordIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetOffsetTabRecordIIR.datasource new file mode 100644 index 0000000..b848c09 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetOffsetTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetOffsetTabRecordIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetOriginTabRecordIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetOriginTabRecordIIR.datasource new file mode 100644 index 0000000..8c7ab4b --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetOriginTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetOriginTabRecordIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcVarDoubleR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcVarDoubleR.datasource new file mode 100644 index 0000000..6c08399 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetProcVarDoubleR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcVarWordR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcVarWordR.datasource new file mode 100644 index 0000000..8927904 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcVarWordR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetProcVarWordR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcessModeR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcessModeR.datasource new file mode 100644 index 0000000..a600a5e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetProcessModeR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetProcessModeR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetServoParR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetServoParR.datasource new file mode 100644 index 0000000..bb77e66 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetServoParR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetServoParR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetSpeedRateOverR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetSpeedRateOverR.datasource new file mode 100644 index 0000000..de30d9d --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetSpeedRateOverR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetSpeedRateOverR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetToolTabRecordIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetToolTabRecordIIR.datasource new file mode 100644 index 0000000..90dfd5e --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetToolTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetToolTabRecordIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetUserTabRecordIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetUserTabRecordIIR.datasource new file mode 100644 index 0000000..2485b35 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetUserTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetUserTabRecordIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarJOGR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarJOGR.datasource new file mode 100644 index 0000000..25fb98c --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarJOGR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetVarJOGR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarRCMR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarRCMR.datasource new file mode 100644 index 0000000..5763378 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarRCMR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetVarRCMR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarUASR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarUASR.datasource new file mode 100644 index 0000000..0e050f7 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SetVarUASR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SetVarUASR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SkipPProgBlockR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SkipPProgBlockR.datasource new file mode 100644 index 0000000..6f15015 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SkipPProgBlockR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SkipPProgBlockR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SndProcInpDataR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SndProcInpDataR.datasource new file mode 100644 index 0000000..944ed98 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SndProcInpDataR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SndProcInpDataR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SyncroCycleR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SyncroCycleR.datasource new file mode 100644 index 0000000..db608a0 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.SyncroCycleR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.SyncroCycleR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.UnLockTableIIR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.UnLockTableIIR.datasource new file mode 100644 index 0000000..648cd0c --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.UnLockTableIIR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.UnLockTableIIR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteRemapDefinitionsR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteRemapDefinitionsR.datasource new file mode 100644 index 0000000..30f9e08 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteRemapDefinitionsR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.WriteRemapDefinitionsR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarDoubleR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarDoubleR.datasource new file mode 100644 index 0000000..1a62a52 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.WriteVarDoubleR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarTextR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarTextR.datasource new file mode 100644 index 0000000..23e5d63 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarTextR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.WriteVarTextR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarWordBitR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarWordBitR.datasource new file mode 100644 index 0000000..26615c4 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarWordBitR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.WriteVarWordBitR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarWordR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarWordR.datasource new file mode 100644 index 0000000..a5758aa --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CMSCncLib.OPENcontrol.WriteVarWordR.datasource @@ -0,0 +1,10 @@ + + + + CMSEgwProxy.MultiCncLib.OPENcontrol.WriteVarWordR, Service References.OPENcontrol.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/CncLib.OPENcontrol.BootPhaseEnquiryR.datasource b/EgwProxy.MultiCncLib/Service References/OPENcontrol/CncLib.OPENcontrol.BootPhaseEnquiryR.datasource new file mode 100644 index 0000000..e69de29 diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/OPENcontrol.wsdl b/EgwProxy.MultiCncLib/Service References/OPENcontrol/OPENcontrol.wsdl new file mode 100644 index 0000000..2e6478a --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/OPENcontrol.wsdl @@ -0,0 +1,5895 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service definition of function ns__BootPhaseEnquiry + + + + + Service definition of function ns__BootReboot + + + + + Service definition of function ns__BootShutDown + + + + + Service definition of function ns__BootMode + + + + + Service definition of function ns__GetHWKey + + + + + Service definition of function ns__ReadVarWord + + + + + Service definition of function ns__ReadVarDouble + + + + + Service definition of function ns__WriteVarWord + + + + + Service definition of function ns__WriteVarWordBit + + + + + Service definition of function ns__WriteVarDouble + + + + + Service definition of function ns__ReadVarText + + + + + Service definition of function ns__WriteVarText + + + + + Service definition of function ns__ReadWarningMsg + + + + + Service definition of function ns__ResetSingleTableII + + + + + Service definition of function ns__LockTableII + + + + + Service definition of function ns__UnLockTableII + + + + + Service definition of function ns__GetOriginTabRecordII + + + + + Service definition of function ns__SetOriginTabRecordII + + + + + Service definition of function ns__GetToolTabRecordII + + + + + Service definition of function ns__SetToolTabRecordII + + + + + Service definition of function ns__GetOffsetTabRecordII + + + + + Service definition of function ns__SetOffsetTabRecordII + + + + + Service definition of function ns__GetUserTabRecordII + + + + + Service definition of function ns__SetUserTabRecordII + + + + + Service definition of function ns__SaveTables + + + + + Service definition of function ns__RestoreSingleTable + + + + + Service definition of function ns__SaveSingleTable + + + + + Service definition of function ns__SaveBackupMemory + + + + + Service definition of function ns__RestoreBackupMemory + + + + + Service definition of function ns__Cycle + + + + + Service definition of function ns__SyncroCycle + + + + + Service definition of function ns__Reset + + + + + Service definition of function ns__Hold + + + + + Service definition of function ns__SetFeedManOver + + + + + Service definition of function ns__SetFeedRateOver + + + + + Service definition of function ns__SetFeedRapidOver + + + + + Service definition of function ns__SetSpeedRateOver + + + + + Service definition of function ns__SetManMovDirection + + + + + Service definition of function ns__GetVarJOG + + + + + Service definition of function ns__SetVarJOG + + + + + Service definition of function ns__SetVarUAS + + + + + Service definition of function ns__GetVarRCM + + + + + Service definition of function ns__SetVarRCM + + + + + Service definition of function ns__GetProcVarWord + + + + + Service definition of function ns__SetProcVarWord + + + + + Service definition of function ns__GetProcVarDouble + + + + + Service definition of function ns__SetProcVarDouble + + + + + Service definition of function ns__SetMdiString + + + + + Service definition of function ns__SetProcessMode + + + + + Service definition of function ns__SelectProcess + + + + + Service definition of function ns__GetSelectedProcess + + + + + Service definition of function ns__SelectProcAxis + + + + + Service definition of function ns__SelectPartProgram + + + + + Service definition of function ns__SelectPartProgramFromDrive + + + + + Service definition of function ns__GetActivePartProgram + + + + + Service definition of function ns__GetPartProgramLines + + + + + Service definition of function ns__GetAxOriginNum + + + + + Service definition of function ns__GetAxesPosition + + + + + Service definition of function ns__GetNcInfo1 + + + + + Service definition of function ns__GetNcInfo2 + + + + + Service definition of function ns__GetToolNames + + + + + Service definition of function ns__GetProcessStatus + + + + + Service definition of function ns__GetBlkNum + + + + + Service definition of function ns__ReadErrMsg + + + + + Service definition of function ns__ReadPartProgramMsg + + + + + Service definition of function ns__GetGCode + + + + + Service definition of function ns__GetMCode + + + + + Service definition of function ns__SkipPProgBlock + + + + + Service definition of function ns__Ese + + + + + Service definition of function ns__EseEx + + + + + Service definition of function ns__Exe + + + + + Service definition of function ns__AxesRef + + + + + Service definition of function ns__DncInit + + + + + Service definition of function ns__DncData + + + + + Service definition of function ns__DncEof + + + + + Service definition of function ns__DncStop + + + + + Service definition of function ns__GetAxesInfo3 + + + + + Service definition of function ns__GetCodeNumber + + + + + Service definition of function ns__GetOptions + + + + + Service definition of function ns__GetDateTime + + + + + Service definition of function ns__SetDateTime + + + + + Service definition of function ns__GetSerialNumber + + + + + Service definition of function ns__PutFile + + + + + Service definition of function ns__GetFile + + + + + Service definition of function ns__PutBinaryFile + + + + + Service definition of function ns__GetBinaryFile + + + + + Service definition of function ns__LogFSSetSecurityLevel + + + + + Service definition of function ns__LogFSGetSecurityLevel + + + + + Service definition of function ns__LogFSLongFileNames + + + + + Service definition of function ns__LogFSGetNumDrive + + + + + Service definition of function ns__LogFSGetDriveList + + + + + Service definition of function ns__LogFSGetHiddenDriveList + + + + + Service definition of function ns__LogFSGetDrivePath + + + + + Service definition of function ns__LogFSAddDrive + + + + + Service definition of function ns__LogFSRemoveDrive + + + + + Service definition of function ns__LogFSReloadDriveList + + + + + Service definition of function ns__LogFSCreateDir + + + + + Service definition of function ns__LogFSCreateFile + + + + + Service definition of function ns__LogFSGetFileSize + + + + + Service definition of function ns__LogFSGetFileAttrib + + + + + Service definition of function ns__LogFSSetFileAttrib + + + + + Service definition of function ns__LogFSChangeFileAttrib + + + + + Service definition of function ns__LogFSFindFirst + + + + + Service definition of function ns__LogFSFindNext + + + + + Service definition of function ns__LogFSFindClose + + + + + Service definition of function ns__LogFSRemoveFile + + + + + Service definition of function ns__LogFSRemoveDir + + + + + Service definition of function ns__LogFSRename + + + + + Service definition of function ns__LogFSCopyFile + + + + + Service definition of function ns__LogFSGetInfo + + + + + Service definition of function ns__GetAvailableCustomEvents + + + + + Service definition of function ns__GetSysTick + + + + + Service definition of function ns__GetProcessConfNum + + + + + Service definition of function ns__MonOpenChannel + + + + + Service definition of function ns__MonCloseChannel + + + + + Service definition of function ns__MonAddVariable + + + + + Service definition of function ns__MonDeleteVariable + + + + + Service definition of function ns__MonStartSampling + + + + + Service definition of function ns__MonStopSampling + + + + + Service definition of function ns__MonGetVariable + + + + + Service definition of function ns__CheckHistory + + + + + Service definition of function ns__ReadHistoryEmergMsg + + + + + Service definition of function ns__ReadHistoryErrorMsg + + + + + Service definition of function ns__ReadHistoryLogMsg + + + + + Service definition of function ns__ReadHistoryAnomalyMsg + + + + + Service definition of function ns__ReadCurrentErrorMsg + + + + + Service definition of function ns__ReadCurrentEmergMsg + + + + + Service definition of function ns__ReadCurrentAnomalyMsg + + + + + Service definition of function ns__GetPTechSizes + + + + + Service definition of function ns__LoadPTech + + + + + Service definition of function ns__GetMarkerInfo + + + + + Service definition of function ns__ManagePartProgram + + + + + Service definition of function ns__LogFSOpenFile + + + + + Service definition of function ns__LogFSCloseFile + + + + + Service definition of function ns__LogFSWriteRecord + + + + + Service definition of function ns__LogFSReadRecord + + + + + Service definition of function ns__ReadRemapDefinitions + + + + + Service definition of function ns__WriteRemapDefinitions + + + + + Service definition of function ns__GetServoPar + + + + + Service definition of function ns__SetServoPar + + + + + Service definition of function ns__GetCNCRegKey + + + + + Service definition of function ns__SetIpAddress + + + + + Service definition of function ns__GetProcInInput + + + + + Service definition of function ns__SndProcInpData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPENcontrol Web Services Definition + + + + + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/Reference.svcmap b/EgwProxy.MultiCncLib/Service References/OPENcontrol/Reference.svcmap new file mode 100644 index 0000000..e539748 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/Reference.svcmap @@ -0,0 +1,30 @@ + + + + false + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/Reference.vb b/EgwProxy.MultiCncLib/Service References/OPENcontrol/Reference.vb new file mode 100644 index 0000000..9691f3d --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/Reference.vb @@ -0,0 +1,29126 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace OPENcontrol + + _ + Public Interface OPENcontrolPortType + + 'CODEGEN: Generating message contract since the operation BootPhaseEnquiry is neither RPC nor document wrapped. + _ + Function BootPhaseEnquiry(ByVal request As OPENcontrol.BootPhaseEnquiryRequest) As OPENcontrol.BootPhaseEnquiryResponse + + 'CODEGEN: Generating message contract since the operation BootReboot is neither RPC nor document wrapped. + _ + Function BootReboot(ByVal request As OPENcontrol.BootRebootRequest) As OPENcontrol.BootRebootResponse + + 'CODEGEN: Generating message contract since the operation BootShutDown is neither RPC nor document wrapped. + _ + Function BootShutDown(ByVal request As OPENcontrol.BootShutDownRequest) As OPENcontrol.BootShutDownResponse + + 'CODEGEN: Generating message contract since the operation BootMode is neither RPC nor document wrapped. + _ + Function BootMode(ByVal request As OPENcontrol.BootModeRequest) As OPENcontrol.BootModeResponse + + 'CODEGEN: Generating message contract since the operation GetHWKey is neither RPC nor document wrapped. + _ + Function GetHWKey(ByVal request As OPENcontrol.GetHWKeyRequest) As OPENcontrol.GetHWKeyResponse + + 'CODEGEN: Generating message contract since the operation ReadVarWord is neither RPC nor document wrapped. + _ + Function ReadVarWord(ByVal request As OPENcontrol.ReadVarWordRequest) As OPENcontrol.ReadVarWordResponse + + 'CODEGEN: Generating message contract since the operation ReadVarDouble is neither RPC nor document wrapped. + _ + Function ReadVarDouble(ByVal request As OPENcontrol.ReadVarDoubleRequest) As OPENcontrol.ReadVarDoubleResponse + + 'CODEGEN: Generating message contract since the operation WriteVarWord is neither RPC nor document wrapped. + _ + Function WriteVarWord(ByVal request As OPENcontrol.WriteVarWordRequest) As OPENcontrol.WriteVarWordResponse + + 'CODEGEN: Generating message contract since the operation WriteVarWordBit is neither RPC nor document wrapped. + _ + Function WriteVarWordBit(ByVal request As OPENcontrol.WriteVarWordBitRequest) As OPENcontrol.WriteVarWordBitResponse + + 'CODEGEN: Generating message contract since the operation WriteVarDouble is neither RPC nor document wrapped. + _ + Function WriteVarDouble(ByVal request As OPENcontrol.WriteVarDoubleRequest) As OPENcontrol.WriteVarDoubleResponse + + 'CODEGEN: Generating message contract since the operation ReadVarText is neither RPC nor document wrapped. + _ + Function ReadVarText(ByVal request As OPENcontrol.ReadVarTextRequest) As OPENcontrol.ReadVarTextResponse + + 'CODEGEN: Generating message contract since the operation WriteVarText is neither RPC nor document wrapped. + _ + Function WriteVarText(ByVal request As OPENcontrol.WriteVarTextRequest) As OPENcontrol.WriteVarTextResponse + + 'CODEGEN: Generating message contract since the operation ReadWarningMsg is neither RPC nor document wrapped. + _ + Function ReadWarningMsg(ByVal request As OPENcontrol.ReadWarningMsgRequest) As OPENcontrol.ReadWarningMsgResponse + + 'CODEGEN: Generating message contract since the operation ResetSingleTableII is neither RPC nor document wrapped. + _ + Function ResetSingleTableII(ByVal request As OPENcontrol.ResetSingleTableIIRequest) As OPENcontrol.ResetSingleTableIIResponse + + 'CODEGEN: Generating message contract since the operation LockTableII is neither RPC nor document wrapped. + _ + Function LockTableII(ByVal request As OPENcontrol.LockTableIIRequest) As OPENcontrol.LockTableIIResponse + + 'CODEGEN: Generating message contract since the operation UnLockTableII is neither RPC nor document wrapped. + _ + Function UnLockTableII(ByVal request As OPENcontrol.UnLockTableIIRequest) As OPENcontrol.UnLockTableIIResponse + + 'CODEGEN: Generating message contract since the operation GetOriginTabRecordII is neither RPC nor document wrapped. + _ + Function GetOriginTabRecordII(ByVal request As OPENcontrol.GetOriginTabRecordIIRequest) As OPENcontrol.GetOriginTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SetOriginTabRecordII is neither RPC nor document wrapped. + _ + Function SetOriginTabRecordII(ByVal request As OPENcontrol.SetOriginTabRecordIIRequest) As OPENcontrol.SetOriginTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation GetToolTabRecordII is neither RPC nor document wrapped. + _ + Function GetToolTabRecordII(ByVal request As OPENcontrol.GetToolTabRecordIIRequest) As OPENcontrol.GetToolTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SetToolTabRecordII is neither RPC nor document wrapped. + _ + Function SetToolTabRecordII(ByVal request As OPENcontrol.SetToolTabRecordIIRequest) As OPENcontrol.SetToolTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation GetOffsetTabRecordII is neither RPC nor document wrapped. + _ + Function GetOffsetTabRecordII(ByVal request As OPENcontrol.GetOffsetTabRecordIIRequest) As OPENcontrol.GetOffsetTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SetOffsetTabRecordII is neither RPC nor document wrapped. + _ + Function SetOffsetTabRecordII(ByVal request As OPENcontrol.SetOffsetTabRecordIIRequest) As OPENcontrol.SetOffsetTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation GetUserTabRecordII is neither RPC nor document wrapped. + _ + Function GetUserTabRecordII(ByVal request As OPENcontrol.GetUserTabRecordIIRequest) As OPENcontrol.GetUserTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SetUserTabRecordII is neither RPC nor document wrapped. + _ + Function SetUserTabRecordII(ByVal request As OPENcontrol.SetUserTabRecordIIRequest) As OPENcontrol.SetUserTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SaveTables is neither RPC nor document wrapped. + _ + Function SaveTables(ByVal request As OPENcontrol.SaveTablesRequest) As OPENcontrol.SaveTablesResponse + + 'CODEGEN: Generating message contract since the operation RestoreSingleTable is neither RPC nor document wrapped. + _ + Function RestoreSingleTable(ByVal request As OPENcontrol.RestoreSingleTableRequest) As OPENcontrol.RestoreSingleTableResponse + + 'CODEGEN: Generating message contract since the operation SaveSingleTable is neither RPC nor document wrapped. + _ + Function SaveSingleTable(ByVal request As OPENcontrol.SaveSingleTableRequest) As OPENcontrol.SaveSingleTableResponse + + 'CODEGEN: Generating message contract since the operation SaveBackupMemory is neither RPC nor document wrapped. + _ + Function SaveBackupMemory(ByVal request As OPENcontrol.SaveBackupMemoryRequest) As OPENcontrol.SaveBackupMemoryResponse + + 'CODEGEN: Generating message contract since the operation RestoreBackupMemory is neither RPC nor document wrapped. + _ + Function RestoreBackupMemory(ByVal request As OPENcontrol.RestoreBackupMemoryRequest) As OPENcontrol.RestoreBackupMemoryResponse + + 'CODEGEN: Generating message contract since the operation Cycle is neither RPC nor document wrapped. + _ + Function Cycle(ByVal request As OPENcontrol.CycleRequest) As OPENcontrol.CycleResponse + + 'CODEGEN: Generating message contract since the operation SyncroCycle is neither RPC nor document wrapped. + _ + Function SyncroCycle(ByVal request As OPENcontrol.SyncroCycleRequest) As OPENcontrol.SyncroCycleResponse + + 'CODEGEN: Generating message contract since the operation Reset is neither RPC nor document wrapped. + _ + Function Reset(ByVal request As OPENcontrol.ResetRequest) As OPENcontrol.ResetResponse + + 'CODEGEN: Generating message contract since the operation Hold is neither RPC nor document wrapped. + _ + Function Hold(ByVal request As OPENcontrol.HoldRequest) As OPENcontrol.HoldResponse + + 'CODEGEN: Generating message contract since the operation SetFeedManOver is neither RPC nor document wrapped. + _ + Function SetFeedManOver(ByVal request As OPENcontrol.SetFeedManOverRequest) As OPENcontrol.SetFeedManOverResponse + + 'CODEGEN: Generating message contract since the operation SetFeedRateOver is neither RPC nor document wrapped. + _ + Function SetFeedRateOver(ByVal request As OPENcontrol.SetFeedRateOverRequest) As OPENcontrol.SetFeedRateOverResponse + + 'CODEGEN: Generating message contract since the operation SetFeedRapidOver is neither RPC nor document wrapped. + _ + Function SetFeedRapidOver(ByVal request As OPENcontrol.SetFeedRapidOverRequest) As OPENcontrol.SetFeedRapidOverResponse + + 'CODEGEN: Generating message contract since the operation SetSpeedRateOver is neither RPC nor document wrapped. + _ + Function SetSpeedRateOver(ByVal request As OPENcontrol.SetSpeedRateOverRequest) As OPENcontrol.SetSpeedRateOverResponse + + 'CODEGEN: Generating message contract since the operation SetManMovDirection is neither RPC nor document wrapped. + _ + Function SetManMovDirection(ByVal request As OPENcontrol.SetManMovDirectionRequest) As OPENcontrol.SetManMovDirectionResponse + + 'CODEGEN: Generating message contract since the operation GetVarJOG is neither RPC nor document wrapped. + _ + Function GetVarJOG(ByVal request As OPENcontrol.GetVarJOGRequest) As OPENcontrol.GetVarJOGResponse + + 'CODEGEN: Generating message contract since the operation SetVarJOG is neither RPC nor document wrapped. + _ + Function SetVarJOG(ByVal request As OPENcontrol.SetVarJOGRequest) As OPENcontrol.SetVarJOGResponse + + 'CODEGEN: Generating message contract since the operation SetVarUAS is neither RPC nor document wrapped. + _ + Function SetVarUAS(ByVal request As OPENcontrol.SetVarUASRequest) As OPENcontrol.SetVarUASResponse + + 'CODEGEN: Generating message contract since the operation GetVarRCM is neither RPC nor document wrapped. + _ + Function GetVarRCM(ByVal request As OPENcontrol.GetVarRCMRequest) As OPENcontrol.GetVarRCMResponse + + 'CODEGEN: Generating message contract since the operation SetVarRCM is neither RPC nor document wrapped. + _ + Function SetVarRCM(ByVal request As OPENcontrol.SetVarRCMRequest) As OPENcontrol.SetVarRCMResponse + + 'CODEGEN: Generating message contract since the operation GetProcVarWord is neither RPC nor document wrapped. + _ + Function GetProcVarWord(ByVal request As OPENcontrol.GetProcVarWordRequest) As OPENcontrol.GetProcVarWordResponse + + 'CODEGEN: Generating message contract since the operation SetProcVarWord is neither RPC nor document wrapped. + _ + Function SetProcVarWord(ByVal request As OPENcontrol.SetProcVarWordRequest) As OPENcontrol.SetProcVarWordResponse + + 'CODEGEN: Generating message contract since the operation GetProcVarDouble is neither RPC nor document wrapped. + _ + Function GetProcVarDouble(ByVal request As OPENcontrol.GetProcVarDoubleRequest) As OPENcontrol.GetProcVarDoubleResponse + + 'CODEGEN: Generating message contract since the operation SetProcVarDouble is neither RPC nor document wrapped. + _ + Function SetProcVarDouble(ByVal request As OPENcontrol.SetProcVarDoubleRequest) As OPENcontrol.SetProcVarDoubleResponse + + 'CODEGEN: Generating message contract since the operation SetMdiString is neither RPC nor document wrapped. + _ + Function SetMdiString(ByVal request As OPENcontrol.SetMdiStringRequest) As OPENcontrol.SetMdiStringResponse + + 'CODEGEN: Generating message contract since the operation SetProcessMode is neither RPC nor document wrapped. + _ + Function SetProcessMode(ByVal request As OPENcontrol.SetProcessModeRequest) As OPENcontrol.SetProcessModeResponse + + 'CODEGEN: Generating message contract since the operation SelectProcess is neither RPC nor document wrapped. + _ + Function SelectProcess(ByVal request As OPENcontrol.SelectProcessRequest) As OPENcontrol.SelectProcessResponse + + 'CODEGEN: Generating message contract since the operation GetSelectedProcess is neither RPC nor document wrapped. + _ + Function GetSelectedProcess(ByVal request As OPENcontrol.GetSelectedProcessRequest) As OPENcontrol.GetSelectedProcessResponse + + 'CODEGEN: Generating message contract since the operation SelectProcAxis is neither RPC nor document wrapped. + _ + Function SelectProcAxis(ByVal request As OPENcontrol.SelectProcAxisRequest) As OPENcontrol.SelectProcAxisResponse + + 'CODEGEN: Generating message contract since the operation SelectPartProgram is neither RPC nor document wrapped. + _ + Function SelectPartProgram(ByVal request As OPENcontrol.SelectPartProgramRequest) As OPENcontrol.SelectPartProgramResponse + + 'CODEGEN: Generating message contract since the operation SelectPartProgramFromDrive is neither RPC nor document wrapped. + _ + Function SelectPartProgramFromDrive(ByVal request As OPENcontrol.SelectPartProgramFromDriveRequest) As OPENcontrol.SelectPartProgramFromDriveResponse + + 'CODEGEN: Generating message contract since the operation GetActivePartProgram is neither RPC nor document wrapped. + _ + Function GetActivePartProgram(ByVal request As OPENcontrol.GetActivePartProgramRequest) As OPENcontrol.GetActivePartProgramResponse + + 'CODEGEN: Generating message contract since the operation GetPartProgramLines is neither RPC nor document wrapped. + _ + Function GetPartProgramLines(ByVal request As OPENcontrol.GetPartProgramLinesRequest) As OPENcontrol.GetPartProgramLinesResponse + + 'CODEGEN: Generating message contract since the operation GetAxOriginNum is neither RPC nor document wrapped. + _ + Function GetAxOriginNum(ByVal request As OPENcontrol.GetAxOriginNumRequest) As OPENcontrol.GetAxOriginNumResponse + + 'CODEGEN: Generating message contract since the operation GetAxesPosition is neither RPC nor document wrapped. + _ + Function GetAxesPosition(ByVal request As OPENcontrol.GetAxesPositionRequest) As OPENcontrol.GetAxesPositionResponse + + 'CODEGEN: Generating message contract since the operation GetNcInfo1 is neither RPC nor document wrapped. + _ + Function GetNcInfo1(ByVal request As OPENcontrol.GetNcInfo1Request) As OPENcontrol.GetNcInfo1Response + + 'CODEGEN: Generating message contract since the operation GetNcInfo2 is neither RPC nor document wrapped. + _ + Function GetNcInfo2(ByVal request As OPENcontrol.GetNcInfo2Request) As OPENcontrol.GetNcInfo2Response + + 'CODEGEN: Generating message contract since the operation GetToolNames is neither RPC nor document wrapped. + _ + Function GetToolNames(ByVal request As OPENcontrol.GetToolNamesRequest) As OPENcontrol.GetToolNamesResponse + + 'CODEGEN: Generating message contract since the operation GetProcessStatus is neither RPC nor document wrapped. + _ + Function GetProcessStatus(ByVal request As OPENcontrol.GetProcessStatusRequest) As OPENcontrol.GetProcessStatusResponse + + 'CODEGEN: Generating message contract since the operation GetBlkNum is neither RPC nor document wrapped. + _ + Function GetBlkNum(ByVal request As OPENcontrol.GetBlkNumRequest) As OPENcontrol.GetBlkNumResponse + + 'CODEGEN: Generating message contract since the operation ReadErrMsg is neither RPC nor document wrapped. + _ + Function ReadErrMsg(ByVal request As OPENcontrol.ReadErrMsgRequest) As OPENcontrol.ReadErrMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadPartProgramMsg is neither RPC nor document wrapped. + _ + Function ReadPartProgramMsg(ByVal request As OPENcontrol.ReadPartProgramMsgRequest) As OPENcontrol.ReadPartProgramMsgResponse + + 'CODEGEN: Generating message contract since the operation GetGCode is neither RPC nor document wrapped. + _ + Function GetGCode(ByVal request As OPENcontrol.GetGCodeRequest) As OPENcontrol.GetGCodeResponse + + 'CODEGEN: Generating message contract since the operation GetMCode is neither RPC nor document wrapped. + _ + Function GetMCode(ByVal request As OPENcontrol.GetMCodeRequest) As OPENcontrol.GetMCodeResponse + + 'CODEGEN: Generating message contract since the operation SkipPProgBlock is neither RPC nor document wrapped. + _ + Function SkipPProgBlock(ByVal request As OPENcontrol.SkipPProgBlockRequest) As OPENcontrol.SkipPProgBlockResponse + + 'CODEGEN: Generating message contract since the operation Ese is neither RPC nor document wrapped. + _ + Function Ese(ByVal request As OPENcontrol.EseRequest) As OPENcontrol.EseResponse + + 'CODEGEN: Generating message contract since the operation EseEx is neither RPC nor document wrapped. + _ + Function EseEx(ByVal request As OPENcontrol.EseExRequest) As OPENcontrol.EseExResponse + + 'CODEGEN: Generating message contract since the operation Exe is neither RPC nor document wrapped. + _ + Function Exe(ByVal request As OPENcontrol.ExeRequest) As OPENcontrol.ExeResponse + + 'CODEGEN: Generating message contract since the operation AxesRef is neither RPC nor document wrapped. + _ + Function AxesRef(ByVal request As OPENcontrol.AxesRefRequest) As OPENcontrol.AxesRefResponse + + 'CODEGEN: Generating message contract since the operation DncInit is neither RPC nor document wrapped. + _ + Function DncInit(ByVal request As OPENcontrol.DncInitRequest) As OPENcontrol.DncInitResponse + + 'CODEGEN: Generating message contract since the operation DncData is neither RPC nor document wrapped. + _ + Function DncData(ByVal request As OPENcontrol.DncDataRequest) As OPENcontrol.DncDataResponse + + 'CODEGEN: Generating message contract since the operation DncEof is neither RPC nor document wrapped. + _ + Function DncEof(ByVal request As OPENcontrol.DncEofRequest) As OPENcontrol.DncEofResponse + + 'CODEGEN: Generating message contract since the operation DncStop is neither RPC nor document wrapped. + _ + Function DncStop(ByVal request As OPENcontrol.DncStopRequest) As OPENcontrol.DncStopResponse + + 'CODEGEN: Generating message contract since the operation GetAxesInfo3 is neither RPC nor document wrapped. + _ + Function GetAxesInfo3(ByVal request As OPENcontrol.GetAxesInfo3Request) As OPENcontrol.GetAxesInfo3Response + + 'CODEGEN: Generating message contract since the operation GetCodeNumber is neither RPC nor document wrapped. + _ + Function GetCodeNumber(ByVal request As OPENcontrol.GetCodeNumberRequest) As OPENcontrol.GetCodeNumberResponse + + 'CODEGEN: Generating message contract since the operation GetOptions is neither RPC nor document wrapped. + _ + Function GetOptions(ByVal request As OPENcontrol.GetOptionsRequest) As OPENcontrol.GetOptionsResponse + + 'CODEGEN: Generating message contract since the operation GetDateTime is neither RPC nor document wrapped. + _ + Function GetDateTime(ByVal request As OPENcontrol.GetDateTimeRequest) As OPENcontrol.GetDateTimeResponse + + 'CODEGEN: Generating message contract since the operation SetDateTime is neither RPC nor document wrapped. + _ + Function SetDateTime(ByVal request As OPENcontrol.SetDateTimeRequest) As OPENcontrol.SetDateTimeResponse + + 'CODEGEN: Generating message contract since the operation GetSerialNumber is neither RPC nor document wrapped. + _ + Function GetSerialNumber(ByVal request As OPENcontrol.GetSerialNumberRequest) As OPENcontrol.GetSerialNumberResponse + + 'CODEGEN: Generating message contract since the operation PutFile is neither RPC nor document wrapped. + _ + Function PutFile(ByVal request As OPENcontrol.PutFileRequest) As OPENcontrol.PutFileResponse + + 'CODEGEN: Generating message contract since the operation GetFile is neither RPC nor document wrapped. + _ + Function GetFile(ByVal request As OPENcontrol.GetFileRequest) As OPENcontrol.GetFileResponse + + 'CODEGEN: Generating message contract since the operation PutBinaryFile is neither RPC nor document wrapped. + _ + Function PutBinaryFile(ByVal request As OPENcontrol.PutBinaryFileRequest) As OPENcontrol.PutBinaryFileResponse + + 'CODEGEN: Generating message contract since the operation GetBinaryFile is neither RPC nor document wrapped. + _ + Function GetBinaryFile(ByVal request As OPENcontrol.GetBinaryFileRequest) As OPENcontrol.GetBinaryFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSSetSecurityLevel is neither RPC nor document wrapped. + _ + Function LogFSSetSecurityLevel(ByVal request As OPENcontrol.LogFSSetSecurityLevelRequest) As OPENcontrol.LogFSSetSecurityLevelResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetSecurityLevel is neither RPC nor document wrapped. + _ + Function LogFSGetSecurityLevel(ByVal request As OPENcontrol.LogFSGetSecurityLevelRequest) As OPENcontrol.LogFSGetSecurityLevelResponse + + 'CODEGEN: Generating message contract since the operation LogFSLongFileNames is neither RPC nor document wrapped. + _ + Function LogFSLongFileNames(ByVal request As OPENcontrol.LogFSLongFileNamesRequest) As OPENcontrol.LogFSLongFileNamesResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetNumDrive is neither RPC nor document wrapped. + _ + Function LogFSGetNumDrive(ByVal request As OPENcontrol.LogFSGetNumDriveRequest) As OPENcontrol.LogFSGetNumDriveResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetDriveList is neither RPC nor document wrapped. + _ + Function LogFSGetDriveList(ByVal request As OPENcontrol.LogFSGetDriveListRequest) As OPENcontrol.LogFSGetDriveListResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetHiddenDriveList is neither RPC nor document wrapped. + _ + Function LogFSGetHiddenDriveList(ByVal request As OPENcontrol.LogFSGetHiddenDriveListRequest) As OPENcontrol.LogFSGetHiddenDriveListResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetDrivePath is neither RPC nor document wrapped. + _ + Function LogFSGetDrivePath(ByVal request As OPENcontrol.LogFSGetDrivePathRequest) As OPENcontrol.LogFSGetDrivePathResponse + + 'CODEGEN: Generating message contract since the operation LogFSAddDrive is neither RPC nor document wrapped. + _ + Function LogFSAddDrive(ByVal request As OPENcontrol.LogFSAddDriveRequest) As OPENcontrol.LogFSAddDriveResponse + + 'CODEGEN: Generating message contract since the operation LogFSRemoveDrive is neither RPC nor document wrapped. + _ + Function LogFSRemoveDrive(ByVal request As OPENcontrol.LogFSRemoveDriveRequest) As OPENcontrol.LogFSRemoveDriveResponse + + 'CODEGEN: Generating message contract since the operation LogFSReloadDriveList is neither RPC nor document wrapped. + _ + Function LogFSReloadDriveList(ByVal request As OPENcontrol.LogFSReloadDriveListRequest) As OPENcontrol.LogFSReloadDriveListResponse + + 'CODEGEN: Generating message contract since the operation LogFSCreateDir is neither RPC nor document wrapped. + _ + Function LogFSCreateDir(ByVal request As OPENcontrol.LogFSCreateDirRequest) As OPENcontrol.LogFSCreateDirResponse + + 'CODEGEN: Generating message contract since the operation LogFSCreateFile is neither RPC nor document wrapped. + _ + Function LogFSCreateFile(ByVal request As OPENcontrol.LogFSCreateFileRequest) As OPENcontrol.LogFSCreateFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetFileSize is neither RPC nor document wrapped. + _ + Function LogFSGetFileSize(ByVal request As OPENcontrol.LogFSGetFileSizeRequest) As OPENcontrol.LogFSGetFileSizeResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetFileAttrib is neither RPC nor document wrapped. + _ + Function LogFSGetFileAttrib(ByVal request As OPENcontrol.LogFSGetFileAttribRequest) As OPENcontrol.LogFSGetFileAttribResponse + + 'CODEGEN: Generating message contract since the operation LogFSSetFileAttrib is neither RPC nor document wrapped. + _ + Function LogFSSetFileAttrib(ByVal request As OPENcontrol.LogFSSetFileAttribRequest) As OPENcontrol.LogFSSetFileAttribResponse + + 'CODEGEN: Generating message contract since the operation LogFSChangeFileAttrib is neither RPC nor document wrapped. + _ + Function LogFSChangeFileAttrib(ByVal request As OPENcontrol.LogFSChangeFileAttribRequest) As OPENcontrol.LogFSChangeFileAttribResponse + + 'CODEGEN: Generating message contract since the operation LogFSFindFirst is neither RPC nor document wrapped. + _ + Function LogFSFindFirst(ByVal request As OPENcontrol.LogFSFindFirstRequest) As OPENcontrol.LogFSFindFirstResponse + + 'CODEGEN: Generating message contract since the operation LogFSFindNext is neither RPC nor document wrapped. + _ + Function LogFSFindNext(ByVal request As OPENcontrol.LogFSFindNextRequest) As OPENcontrol.LogFSFindNextResponse + + 'CODEGEN: Generating message contract since the operation LogFSFindClose is neither RPC nor document wrapped. + _ + Function LogFSFindClose(ByVal request As OPENcontrol.LogFSFindCloseRequest) As OPENcontrol.LogFSFindCloseResponse + + 'CODEGEN: Generating message contract since the operation LogFSRemoveFile is neither RPC nor document wrapped. + _ + Function LogFSRemoveFile(ByVal request As OPENcontrol.LogFSRemoveFileRequest) As OPENcontrol.LogFSRemoveFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSRemoveDir is neither RPC nor document wrapped. + _ + Function LogFSRemoveDir(ByVal request As OPENcontrol.LogFSRemoveDirRequest) As OPENcontrol.LogFSRemoveDirResponse + + 'CODEGEN: Generating message contract since the operation LogFSRename is neither RPC nor document wrapped. + _ + Function LogFSRename(ByVal request As OPENcontrol.LogFSRenameRequest) As OPENcontrol.LogFSRenameResponse + + 'CODEGEN: Generating message contract since the operation LogFSCopyFile is neither RPC nor document wrapped. + _ + Function LogFSCopyFile(ByVal request As OPENcontrol.LogFSCopyFileRequest) As OPENcontrol.LogFSCopyFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetInfo is neither RPC nor document wrapped. + _ + Function LogFSGetInfo(ByVal request As OPENcontrol.LogFSGetInfoRequest) As OPENcontrol.LogFSGetInfoResponse + + 'CODEGEN: Generating message contract since the operation GetAvailableCustomEvents is neither RPC nor document wrapped. + _ + Function GetAvailableCustomEvents(ByVal request As OPENcontrol.GetAvailableCustomEventsRequest) As OPENcontrol.GetAvailableCustomEventsResponse + + 'CODEGEN: Generating message contract since the operation GetSysTick is neither RPC nor document wrapped. + _ + Function GetSysTick(ByVal request As OPENcontrol.GetSysTickRequest) As OPENcontrol.GetSysTickResponse + + 'CODEGEN: Generating message contract since the operation GetProcessConfNum is neither RPC nor document wrapped. + _ + Function GetProcessConfNum(ByVal request As OPENcontrol.GetProcessConfNumRequest) As OPENcontrol.GetProcessConfNumResponse + + 'CODEGEN: Generating message contract since the operation MonOpenChannel is neither RPC nor document wrapped. + _ + Function MonOpenChannel(ByVal request As OPENcontrol.MonOpenChannelRequest) As OPENcontrol.MonOpenChannelResponse + + 'CODEGEN: Generating message contract since the operation MonCloseChannel is neither RPC nor document wrapped. + _ + Function MonCloseChannel(ByVal request As OPENcontrol.MonCloseChannelRequest) As OPENcontrol.MonCloseChannelResponse + + 'CODEGEN: Generating message contract since the operation MonAddVariable is neither RPC nor document wrapped. + _ + Function MonAddVariable(ByVal request As OPENcontrol.MonAddVariableRequest) As OPENcontrol.MonAddVariableResponse + + 'CODEGEN: Generating message contract since the operation MonDeleteVariable is neither RPC nor document wrapped. + _ + Function MonDeleteVariable(ByVal request As OPENcontrol.MonDeleteVariableRequest) As OPENcontrol.MonDeleteVariableResponse + + 'CODEGEN: Generating message contract since the operation MonStartSampling is neither RPC nor document wrapped. + _ + Function MonStartSampling(ByVal request As OPENcontrol.MonStartSamplingRequest) As OPENcontrol.MonStartSamplingResponse + + 'CODEGEN: Generating message contract since the operation MonStopSampling is neither RPC nor document wrapped. + _ + Function MonStopSampling(ByVal request As OPENcontrol.MonStopSamplingRequest) As OPENcontrol.MonStopSamplingResponse + + 'CODEGEN: Generating message contract since the operation MonGetVariable is neither RPC nor document wrapped. + _ + Function MonGetVariable(ByVal request As OPENcontrol.MonGetVariableRequest) As OPENcontrol.MonGetVariableResponse + + 'CODEGEN: Generating message contract since the operation CheckHistory is neither RPC nor document wrapped. + _ + Function CheckHistory(ByVal request As OPENcontrol.CheckHistoryRequest) As OPENcontrol.CheckHistoryResponse + + 'CODEGEN: Generating message contract since the operation ReadHistoryEmergMsg is neither RPC nor document wrapped. + _ + Function ReadHistoryEmergMsg(ByVal request As OPENcontrol.ReadHistoryEmergMsgRequest) As OPENcontrol.ReadHistoryEmergMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadHistoryErrorMsg is neither RPC nor document wrapped. + _ + Function ReadHistoryErrorMsg(ByVal request As OPENcontrol.ReadHistoryErrorMsgRequest) As OPENcontrol.ReadHistoryErrorMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadHistoryLogMsg is neither RPC nor document wrapped. + _ + Function ReadHistoryLogMsg(ByVal request As OPENcontrol.ReadHistoryLogMsgRequest) As OPENcontrol.ReadHistoryLogMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadHistoryAnomalyMsg is neither RPC nor document wrapped. + _ + Function ReadHistoryAnomalyMsg(ByVal request As OPENcontrol.ReadHistoryAnomalyMsgRequest) As OPENcontrol.ReadHistoryAnomalyMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadCurrentErrorMsg is neither RPC nor document wrapped. + _ + Function ReadCurrentErrorMsg(ByVal request As OPENcontrol.ReadCurrentErrorMsgRequest) As OPENcontrol.ReadCurrentErrorMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadCurrentEmergMsg is neither RPC nor document wrapped. + _ + Function ReadCurrentEmergMsg(ByVal request As OPENcontrol.ReadCurrentEmergMsgRequest) As OPENcontrol.ReadCurrentEmergMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadCurrentAnomalyMsg is neither RPC nor document wrapped. + _ + Function ReadCurrentAnomalyMsg(ByVal request As OPENcontrol.ReadCurrentAnomalyMsgRequest) As OPENcontrol.ReadCurrentAnomalyMsgResponse + + 'CODEGEN: Generating message contract since the operation GetPTechSizes is neither RPC nor document wrapped. + _ + Function GetPTechSizes(ByVal request As OPENcontrol.GetPTechSizesRequest) As OPENcontrol.GetPTechSizesResponse + + 'CODEGEN: Generating message contract since the operation LoadPTech is neither RPC nor document wrapped. + _ + Function LoadPTech(ByVal request As OPENcontrol.LoadPTechRequest) As OPENcontrol.LoadPTechResponse + + 'CODEGEN: Generating message contract since the operation GetMarkerInfo is neither RPC nor document wrapped. + _ + Function GetMarkerInfo(ByVal request As OPENcontrol.GetMarkerInfoRequest) As OPENcontrol.GetMarkerInfoResponse + + 'CODEGEN: Generating message contract since the operation ManagePartProgram is neither RPC nor document wrapped. + _ + Function ManagePartProgram(ByVal request As OPENcontrol.ManagePartProgramRequest) As OPENcontrol.ManagePartProgramResponse + + 'CODEGEN: Generating message contract since the operation LogFSOpenFile is neither RPC nor document wrapped. + _ + Function LogFSOpenFile(ByVal request As OPENcontrol.LogFSOpenFileRequest) As OPENcontrol.LogFSOpenFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSCloseFile is neither RPC nor document wrapped. + _ + Function LogFSCloseFile(ByVal request As OPENcontrol.LogFSCloseFileRequest) As OPENcontrol.LogFSCloseFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSWriteRecord is neither RPC nor document wrapped. + _ + Function LogFSWriteRecord(ByVal request As OPENcontrol.LogFSWriteRecordRequest) As OPENcontrol.LogFSWriteRecordResponse + + 'CODEGEN: Generating message contract since the operation LogFSReadRecord is neither RPC nor document wrapped. + _ + Function LogFSReadRecord(ByVal request As OPENcontrol.LogFSReadRecordRequest) As OPENcontrol.LogFSReadRecordResponse + + 'CODEGEN: Generating message contract since the operation ReadRemapDefinitions is neither RPC nor document wrapped. + _ + Function ReadRemapDefinitions(ByVal request As OPENcontrol.ReadRemapDefinitionsRequest) As OPENcontrol.ReadRemapDefinitionsResponse + + 'CODEGEN: Generating message contract since the operation WriteRemapDefinitions is neither RPC nor document wrapped. + _ + Function WriteRemapDefinitions(ByVal request As OPENcontrol.WriteRemapDefinitionsRequest) As OPENcontrol.WriteRemapDefinitionsResponse + + 'CODEGEN: Generating message contract since the operation GetServoPar is neither RPC nor document wrapped. + _ + Function GetServoPar(ByVal request As OPENcontrol.GetServoParRequest) As OPENcontrol.GetServoParResponse + + 'CODEGEN: Generating message contract since the operation SetServoPar is neither RPC nor document wrapped. + _ + Function SetServoPar(ByVal request As OPENcontrol.SetServoParRequest) As OPENcontrol.SetServoParResponse + + 'CODEGEN: Generating message contract since the operation GetCNCRegKey is neither RPC nor document wrapped. + _ + Function GetCNCRegKey(ByVal request As OPENcontrol.GetCNCRegKeyRequest) As OPENcontrol.GetCNCRegKeyResponse + + 'CODEGEN: Generating message contract since the operation SetIpAddress is neither RPC nor document wrapped. + _ + Function SetIpAddress(ByVal request As OPENcontrol.SetIpAddressRequest) As OPENcontrol.SetIpAddressResponse + + 'CODEGEN: Generating message contract since the operation GetProcInInput is neither RPC nor document wrapped. + _ + Function GetProcInInput(ByVal request As OPENcontrol.GetProcInInputRequest) As OPENcontrol.GetProcInInputResponse + + 'CODEGEN: Generating message contract since the operation SndProcInpData is neither RPC nor document wrapped. + _ + Function SndProcInpData(ByVal request As OPENcontrol.SndProcInpDataRequest) As OPENcontrol.SndProcInpDataResponse + End Interface + + ''' + _ + Partial Public Class BootPhaseEnquiry + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEFRAME + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private rowField As UShort + + Private colField As UShort + + Private lenField As UShort + + Private textField() As Byte + + ''' + _ + Public Property row() As UShort + Get + Return Me.rowField + End Get + Set + Me.rowField = value + Me.RaisePropertyChanged("row") + End Set + End Property + + ''' + _ + Public Property col() As UShort + Get + Return Me.colField + End Get + Set + Me.colField = value + Me.RaisePropertyChanged("col") + End Set + End Property + + ''' + _ + Public Property len() As UShort + Get + Return Me.lenField + End Get + Set + Me.lenField = value + Me.RaisePropertyChanged("len") + End Set + End Property + + ''' + _ + Public Property text() As Byte() + Get + Return Me.textField + End Get + Set + Me.textField = value + Me.RaisePropertyChanged("text") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEFIELDCONTROL + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private strmatchField() As Byte + + Private rangebyteField() As Byte + + Private rangeintField() As Short + + Private rangelongField() As Long + + Private rangeuintField() As UShort + + Private rangeulongField() As ULong + + Private rangefloatField() As Double + + Private rangedoubleField() As Double + + ''' + _ + Public Property strmatch() As Byte() + Get + Return Me.strmatchField + End Get + Set + Me.strmatchField = value + Me.RaisePropertyChanged("strmatch") + End Set + End Property + + ''' + _ + Public Property rangebyte() As Byte() + Get + Return Me.rangebyteField + End Get + Set + Me.rangebyteField = value + Me.RaisePropertyChanged("rangebyte") + End Set + End Property + + ''' + _ + Public Property rangeint() As Short() + Get + Return Me.rangeintField + End Get + Set + Me.rangeintField = value + Me.RaisePropertyChanged("rangeint") + End Set + End Property + + ''' + _ + Public Property rangelong() As Long() + Get + Return Me.rangelongField + End Get + Set + Me.rangelongField = value + Me.RaisePropertyChanged("rangelong") + End Set + End Property + + ''' + _ + Public Property rangeuint() As UShort() + Get + Return Me.rangeuintField + End Get + Set + Me.rangeuintField = value + Me.RaisePropertyChanged("rangeuint") + End Set + End Property + + ''' + _ + Public Property rangeulong() As ULong() + Get + Return Me.rangeulongField + End Get + Set + Me.rangeulongField = value + Me.RaisePropertyChanged("rangeulong") + End Set + End Property + + ''' + _ + Public Property rangefloat() As Double() + Get + Return Me.rangefloatField + End Get + Set + Me.rangefloatField = value + Me.RaisePropertyChanged("rangefloat") + End Set + End Property + + ''' + _ + Public Property rangedouble() As Double() + Get + Return Me.rangedoubleField + End Get + Set + Me.rangedoubleField = value + Me.RaisePropertyChanged("rangedouble") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEFIELDCHECK + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private convField As Byte + + Private valueField As DEFIELDCONTROL + + ''' + _ + Public Property conv() As Byte + Get + Return Me.convField + End Get + Set + Me.convField = value + Me.RaisePropertyChanged("conv") + End Set + End Property + + ''' + _ + Public Property value() As DEFIELDCONTROL + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEFIELD + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private rowField As UShort + + Private colField As UShort + + Private typeField As Byte + + Private myIdField As Byte + + Private sizeField As UShort + + Private disSizeField As UShort + + Private checkField As DEFIELDCHECK + + ''' + _ + Public Property row() As UShort + Get + Return Me.rowField + End Get + Set + Me.rowField = value + Me.RaisePropertyChanged("row") + End Set + End Property + + ''' + _ + Public Property col() As UShort + Get + Return Me.colField + End Get + Set + Me.colField = value + Me.RaisePropertyChanged("col") + End Set + End Property + + ''' + _ + Public Property type() As Byte + Get + Return Me.typeField + End Get + Set + Me.typeField = value + Me.RaisePropertyChanged("type") + End Set + End Property + + ''' + _ + Public Property myId() As Byte + Get + Return Me.myIdField + End Get + Set + Me.myIdField = value + Me.RaisePropertyChanged("myId") + End Set + End Property + + ''' + _ + Public Property size() As UShort + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("size") + End Set + End Property + + ''' + _ + Public Property disSize() As UShort + Get + Return Me.disSizeField + End Get + Set + Me.disSizeField = value + Me.RaisePropertyChanged("disSize") + End Set + End Property + + ''' + _ + Public Property check() As DEFIELDCHECK + Get + Return Me.checkField + End Get + Set + Me.checkField = value + Me.RaisePropertyChanged("check") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEKEY + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private abortField() As Byte + + Private confirm1Field() As Byte + + Private confirm2Field() As Byte + + Private confirm3Field() As Byte + + Private resetField() As Byte + + Private incresField() As Byte + + ''' + _ + Public Property abort() As Byte() + Get + Return Me.abortField + End Get + Set + Me.abortField = value + Me.RaisePropertyChanged("abort") + End Set + End Property + + ''' + _ + Public Property confirm1() As Byte() + Get + Return Me.confirm1Field + End Get + Set + Me.confirm1Field = value + Me.RaisePropertyChanged("confirm1") + End Set + End Property + + ''' + _ + Public Property confirm2() As Byte() + Get + Return Me.confirm2Field + End Get + Set + Me.confirm2Field = value + Me.RaisePropertyChanged("confirm2") + End Set + End Property + + ''' + _ + Public Property confirm3() As Byte() + Get + Return Me.confirm3Field + End Get + Set + Me.confirm3Field = value + Me.RaisePropertyChanged("confirm3") + End Set + End Property + + ''' + _ + Public Property reset() As Byte() + Get + Return Me.resetField + End Get + Set + Me.resetField = value + Me.RaisePropertyChanged("reset") + End Set + End Property + + ''' + _ + Public Property incres() As Byte() + Get + Return Me.incresField + End Get + Set + Me.incresField = value + Me.RaisePropertyChanged("incres") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class USERINPTAB + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private myIdField As Short + + Private iniRowField As Byte + + Private iniColField As Byte + + Private totRowField As Byte + + Private totColField As Byte + + Private myTypeField As Byte + + Private helpField() As Byte + + Private totFrameField As Byte + + Private totFieldField As Byte + + Private keyField As DEKEY + + Private fldField() As DEFIELD + + Private frmField() As DEFRAME + + Private strDef1Field() As Byte + + Private strDef2Field() As Byte + + Private strDef3Field() As Byte + + Private strDef4Field() As Byte + + Private strDef5Field() As Byte + + Private strDef6Field() As Byte + + Private strDef7Field() As Byte + + Private strDef8Field() As Byte + + Private decolorField() As ULong + + ''' + _ + Public Property myId() As Short + Get + Return Me.myIdField + End Get + Set + Me.myIdField = value + Me.RaisePropertyChanged("myId") + End Set + End Property + + ''' + _ + Public Property iniRow() As Byte + Get + Return Me.iniRowField + End Get + Set + Me.iniRowField = value + Me.RaisePropertyChanged("iniRow") + End Set + End Property + + ''' + _ + Public Property iniCol() As Byte + Get + Return Me.iniColField + End Get + Set + Me.iniColField = value + Me.RaisePropertyChanged("iniCol") + End Set + End Property + + ''' + _ + Public Property totRow() As Byte + Get + Return Me.totRowField + End Get + Set + Me.totRowField = value + Me.RaisePropertyChanged("totRow") + End Set + End Property + + ''' + _ + Public Property totCol() As Byte + Get + Return Me.totColField + End Get + Set + Me.totColField = value + Me.RaisePropertyChanged("totCol") + End Set + End Property + + ''' + _ + Public Property myType() As Byte + Get + Return Me.myTypeField + End Get + Set + Me.myTypeField = value + Me.RaisePropertyChanged("myType") + End Set + End Property + + ''' + _ + Public Property help() As Byte() + Get + Return Me.helpField + End Get + Set + Me.helpField = value + Me.RaisePropertyChanged("help") + End Set + End Property + + ''' + _ + Public Property totFrame() As Byte + Get + Return Me.totFrameField + End Get + Set + Me.totFrameField = value + Me.RaisePropertyChanged("totFrame") + End Set + End Property + + ''' + _ + Public Property totField() As Byte + Get + Return Me.totFieldField + End Get + Set + Me.totFieldField = value + Me.RaisePropertyChanged("totField") + End Set + End Property + + ''' + _ + Public Property key() As DEKEY + Get + Return Me.keyField + End Get + Set + Me.keyField = value + Me.RaisePropertyChanged("key") + End Set + End Property + + ''' + _ + Public Property fld() As DEFIELD() + Get + Return Me.fldField + End Get + Set + Me.fldField = value + Me.RaisePropertyChanged("fld") + End Set + End Property + + ''' + _ + Public Property frm() As DEFRAME() + Get + Return Me.frmField + End Get + Set + Me.frmField = value + Me.RaisePropertyChanged("frm") + End Set + End Property + + ''' + _ + Public Property strDef1() As Byte() + Get + Return Me.strDef1Field + End Get + Set + Me.strDef1Field = value + Me.RaisePropertyChanged("strDef1") + End Set + End Property + + ''' + _ + Public Property strDef2() As Byte() + Get + Return Me.strDef2Field + End Get + Set + Me.strDef2Field = value + Me.RaisePropertyChanged("strDef2") + End Set + End Property + + ''' + _ + Public Property strDef3() As Byte() + Get + Return Me.strDef3Field + End Get + Set + Me.strDef3Field = value + Me.RaisePropertyChanged("strDef3") + End Set + End Property + + ''' + _ + Public Property strDef4() As Byte() + Get + Return Me.strDef4Field + End Get + Set + Me.strDef4Field = value + Me.RaisePropertyChanged("strDef4") + End Set + End Property + + ''' + _ + Public Property strDef5() As Byte() + Get + Return Me.strDef5Field + End Get + Set + Me.strDef5Field = value + Me.RaisePropertyChanged("strDef5") + End Set + End Property + + ''' + _ + Public Property strDef6() As Byte() + Get + Return Me.strDef6Field + End Get + Set + Me.strDef6Field = value + Me.RaisePropertyChanged("strDef6") + End Set + End Property + + ''' + _ + Public Property strDef7() As Byte() + Get + Return Me.strDef7Field + End Get + Set + Me.strDef7Field = value + Me.RaisePropertyChanged("strDef7") + End Set + End Property + + ''' + _ + Public Property strDef8() As Byte() + Get + Return Me.strDef8Field + End Get + Set + Me.strDef8Field = value + Me.RaisePropertyChanged("strDef8") + End Set + End Property + + ''' + _ + Public Property decolor() As ULong() + Get + Return Me.decolorField + End Get + Set + Me.decolorField = value + Me.RaisePropertyChanged("decolor") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class INPUTINFO + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private isInInputField As Byte + + Private dataField As USERINPTAB + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property isInInput() As Byte + Get + Return Me.isInInputField + End Get + Set + Me.isInInputField = value + Me.RaisePropertyChanged("isInInput") + End Set + End Property + + ''' + _ + Public Property Data() As USERINPTAB + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class REMAPDEF + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private varTypeField As Byte + + Private physAddrField As UShort + + Private physBitField As Byte + + Private logicAddrField As UShort + + Private logicBitField As Byte + + Private modeField As Byte + + Private riseTimeField As UInteger + + Private fallTimeField As UInteger + + Private valueField As UInteger + + Private iOMsgIdField As UInteger + + Private iOClassField As Byte + + Private currPhysValueField As UInteger + + Private currLogicValueField As UInteger + + ''' + _ + Public Property VarType() As Byte + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + ''' + _ + Public Property PhysAddr() As UShort + Get + Return Me.physAddrField + End Get + Set + Me.physAddrField = value + Me.RaisePropertyChanged("PhysAddr") + End Set + End Property + + ''' + _ + Public Property PhysBit() As Byte + Get + Return Me.physBitField + End Get + Set + Me.physBitField = value + Me.RaisePropertyChanged("PhysBit") + End Set + End Property + + ''' + _ + Public Property LogicAddr() As UShort + Get + Return Me.logicAddrField + End Get + Set + Me.logicAddrField = value + Me.RaisePropertyChanged("LogicAddr") + End Set + End Property + + ''' + _ + Public Property LogicBit() As Byte + Get + Return Me.logicBitField + End Get + Set + Me.logicBitField = value + Me.RaisePropertyChanged("LogicBit") + End Set + End Property + + ''' + _ + Public Property Mode() As Byte + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + ''' + _ + Public Property RiseTime() As UInteger + Get + Return Me.riseTimeField + End Get + Set + Me.riseTimeField = value + Me.RaisePropertyChanged("RiseTime") + End Set + End Property + + ''' + _ + Public Property FallTime() As UInteger + Get + Return Me.fallTimeField + End Get + Set + Me.fallTimeField = value + Me.RaisePropertyChanged("FallTime") + End Set + End Property + + ''' + _ + Public Property Value() As UInteger + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property IOMsgId() As UInteger + Get + Return Me.iOMsgIdField + End Get + Set + Me.iOMsgIdField = value + Me.RaisePropertyChanged("IOMsgId") + End Set + End Property + + ''' + _ + Public Property IOClass() As Byte + Get + Return Me.iOClassField + End Get + Set + Me.iOClassField = value + Me.RaisePropertyChanged("IOClass") + End Set + End Property + + ''' + _ + Public Property CurrPhysValue() As UInteger + Get + Return Me.currPhysValueField + End Get + Set + Me.currPhysValueField = value + Me.RaisePropertyChanged("CurrPhysValue") + End Set + End Property + + ''' + _ + Public Property CurrLogicValue() As UInteger + Get + Return Me.currLogicValueField + End Get + Set + Me.currLogicValueField = value + Me.RaisePropertyChanged("CurrLogicValue") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MARKERINFO + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private numberField As Short + + Private lineNumField() As UInteger + + Private numBlksField() As UInteger + + Private markerNameField()() As Byte + + Private pPnameField()() As Byte + + Private breakValField As UInteger + + ''' + _ + Public Property Number() As Short + Get + Return Me.numberField + End Get + Set + Me.numberField = value + Me.RaisePropertyChanged("Number") + End Set + End Property + + ''' + _ + Public Property LineNum() As UInteger() + Get + Return Me.lineNumField + End Get + Set + Me.lineNumField = value + Me.RaisePropertyChanged("LineNum") + End Set + End Property + + ''' + _ + Public Property NumBlks() As UInteger() + Get + Return Me.numBlksField + End Get + Set + Me.numBlksField = value + Me.RaisePropertyChanged("NumBlks") + End Set + End Property + + ''' + _ + Public Property MarkerName() As Byte()() + Get + Return Me.markerNameField + End Get + Set + Me.markerNameField = value + Me.RaisePropertyChanged("MarkerName") + End Set + End Property + + ''' + _ + Public Property PPname() As Byte()() + Get + Return Me.pPnameField + End Get + Set + Me.pPnameField = value + Me.RaisePropertyChanged("PPname") + End Set + End Property + + ''' + _ + Public Property breakVal() As UInteger + Get + Return Me.breakValField + End Get + Set + Me.breakValField = value + Me.RaisePropertyChanged("breakVal") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MSGANOMALY + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private lineaField As UInteger + + Private formatTxtField() As Byte + + ''' + _ + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + Me.RaisePropertyChanged("BootID") + End Set + End Property + + ''' + _ + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + Me.RaisePropertyChanged("SystemTime") + End Set + End Property + + ''' + _ + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + Me.RaisePropertyChanged("UnIdSeq") + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + Me.RaisePropertyChanged("CodeErr") + End Set + End Property + + ''' + _ + Public Property Linea() As UInteger + Get + Return Me.lineaField + End Get + Set + Me.lineaField = value + Me.RaisePropertyChanged("Linea") + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + Me.RaisePropertyChanged("FormatTxt") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SYSTEMTIMECNDEX + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private wYearField As UShort + + Private wMonthField As UShort + + Private wDayOfWeekField As UShort + + Private wDayField As UShort + + Private wHourField As UShort + + Private wMinuteField As UShort + + Private wSecondField As UShort + + Private wMillisecondsField As UShort + + ''' + _ + Public Property wYear() As UShort + Get + Return Me.wYearField + End Get + Set + Me.wYearField = value + Me.RaisePropertyChanged("wYear") + End Set + End Property + + ''' + _ + Public Property wMonth() As UShort + Get + Return Me.wMonthField + End Get + Set + Me.wMonthField = value + Me.RaisePropertyChanged("wMonth") + End Set + End Property + + ''' + _ + Public Property wDayOfWeek() As UShort + Get + Return Me.wDayOfWeekField + End Get + Set + Me.wDayOfWeekField = value + Me.RaisePropertyChanged("wDayOfWeek") + End Set + End Property + + ''' + _ + Public Property wDay() As UShort + Get + Return Me.wDayField + End Get + Set + Me.wDayField = value + Me.RaisePropertyChanged("wDay") + End Set + End Property + + ''' + _ + Public Property wHour() As UShort + Get + Return Me.wHourField + End Get + Set + Me.wHourField = value + Me.RaisePropertyChanged("wHour") + End Set + End Property + + ''' + _ + Public Property wMinute() As UShort + Get + Return Me.wMinuteField + End Get + Set + Me.wMinuteField = value + Me.RaisePropertyChanged("wMinute") + End Set + End Property + + ''' + _ + Public Property wSecond() As UShort + Get + Return Me.wSecondField + End Get + Set + Me.wSecondField = value + Me.RaisePropertyChanged("wSecond") + End Set + End Property + + ''' + _ + Public Property wMilliseconds() As UShort + Get + Return Me.wMillisecondsField + End Get + Set + Me.wMillisecondsField = value + Me.RaisePropertyChanged("wMilliseconds") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MSGLOGS + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeLogField As UInteger + + Private errinfoField As UInteger + + Private formatTxtField() As Byte + + ''' + _ + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + Me.RaisePropertyChanged("BootID") + End Set + End Property + + ''' + _ + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + Me.RaisePropertyChanged("SystemTime") + End Set + End Property + + ''' + _ + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + Me.RaisePropertyChanged("UnIdSeq") + End Set + End Property + + ''' + _ + Public Property CodeLog() As UInteger + Get + Return Me.codeLogField + End Get + Set + Me.codeLogField = value + Me.RaisePropertyChanged("CodeLog") + End Set + End Property + + ''' + _ + Public Property Errinfo() As UInteger + Get + Return Me.errinfoField + End Get + Set + Me.errinfoField = value + Me.RaisePropertyChanged("Errinfo") + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + Me.RaisePropertyChanged("FormatTxt") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MSGERROR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private processField As Short + + Private comandoField As SByte + + Private subComField As SByte + + Private formatTxtField() As Byte + + ''' + _ + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + Me.RaisePropertyChanged("BootID") + End Set + End Property + + ''' + _ + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + Me.RaisePropertyChanged("SystemTime") + End Set + End Property + + ''' + _ + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + Me.RaisePropertyChanged("UnIdSeq") + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + Me.RaisePropertyChanged("CodeErr") + End Set + End Property + + ''' + _ + Public Property Process() As Short + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Comando() As SByte + Get + Return Me.comandoField + End Get + Set + Me.comandoField = value + Me.RaisePropertyChanged("Comando") + End Set + End Property + + ''' + _ + Public Property SubCom() As SByte + Get + Return Me.subComField + End Get + Set + Me.subComField = value + Me.RaisePropertyChanged("SubCom") + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + Me.RaisePropertyChanged("FormatTxt") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MSGEMERGENCY + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private processField As Short + + Private procErrField As Short + + Private formatTxtField() As Byte + + ''' + _ + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + Me.RaisePropertyChanged("BootID") + End Set + End Property + + ''' + _ + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + Me.RaisePropertyChanged("SystemTime") + End Set + End Property + + ''' + _ + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + Me.RaisePropertyChanged("UnIdSeq") + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + Me.RaisePropertyChanged("CodeErr") + End Set + End Property + + ''' + _ + Public Property Process() As Short + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property ProcErr() As Short + Get + Return Me.procErrField + End Get + Set + Me.procErrField = value + Me.RaisePropertyChanged("ProcErr") + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + Me.RaisePropertyChanged("FormatTxt") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MONVARDESCR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private classField As UShort + + Private subClassField As UShort + + Private deviceIDField As UShort + + Private codeField As UShort + + Private addressField As UShort + + Private signalField As UShort + + Private samplingPeriodField As Double + + ''' + _ + Public Property [Class]() As UShort + Get + Return Me.classField + End Get + Set + Me.classField = value + Me.RaisePropertyChanged("Class") + End Set + End Property + + ''' + _ + Public Property SubClass() As UShort + Get + Return Me.subClassField + End Get + Set + Me.subClassField = value + Me.RaisePropertyChanged("SubClass") + End Set + End Property + + ''' + _ + Public Property DeviceID() As UShort + Get + Return Me.deviceIDField + End Get + Set + Me.deviceIDField = value + Me.RaisePropertyChanged("DeviceID") + End Set + End Property + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Address() As UShort + Get + Return Me.addressField + End Get + Set + Me.addressField = value + Me.RaisePropertyChanged("Address") + End Set + End Property + + ''' + _ + Public Property Signal() As UShort + Get + Return Me.signalField + End Get + Set + Me.signalField = value + Me.RaisePropertyChanged("Signal") + End Set + End Property + + ''' + _ + Public Property SamplingPeriod() As Double + Get + Return Me.samplingPeriodField + End Get + Set + Me.samplingPeriodField = value + Me.RaisePropertyChanged("SamplingPeriod") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MONCUSTOMEVENTINFO + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private idField As UShort + + Private typeField As UShort + + Private nameField As String + + ''' + _ + Public Property ID() As UShort + Get + Return Me.idField + End Get + Set + Me.idField = value + Me.RaisePropertyChanged("ID") + End Set + End Property + + ''' + _ + Public Property Type() As UShort + Get + Return Me.typeField + End Get + Set + Me.typeField = value + Me.RaisePropertyChanged("Type") + End Set + End Property + + ''' + _ + Public Property Name() As String + Get + Return Me.nameField + End Get + Set + Me.nameField = value + Me.RaisePropertyChanged("Name") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class FILEFINDDATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileAttributesField As UInteger + + Private lowDateCreationTimeField As UInteger + + Private highDateCreationTimeField As UInteger + + Private lowDateLastAccessTimeField As UInteger + + Private highDateLastAccessTimeField As UInteger + + Private lowDateLastWriteTimeField As UInteger + + Private highDateLastWriteTimeField As UInteger + + Private fileSizeHighField As UInteger + + Private fileSizeLowField As UInteger + + Private fileNameField As String + + ''' + _ + Public Property FileAttributes() As UInteger + Get + Return Me.fileAttributesField + End Get + Set + Me.fileAttributesField = value + Me.RaisePropertyChanged("FileAttributes") + End Set + End Property + + ''' + _ + Public Property LowDateCreationTime() As UInteger + Get + Return Me.lowDateCreationTimeField + End Get + Set + Me.lowDateCreationTimeField = value + Me.RaisePropertyChanged("LowDateCreationTime") + End Set + End Property + + ''' + _ + Public Property HighDateCreationTime() As UInteger + Get + Return Me.highDateCreationTimeField + End Get + Set + Me.highDateCreationTimeField = value + Me.RaisePropertyChanged("HighDateCreationTime") + End Set + End Property + + ''' + _ + Public Property LowDateLastAccessTime() As UInteger + Get + Return Me.lowDateLastAccessTimeField + End Get + Set + Me.lowDateLastAccessTimeField = value + Me.RaisePropertyChanged("LowDateLastAccessTime") + End Set + End Property + + ''' + _ + Public Property HighDateLastAccessTime() As UInteger + Get + Return Me.highDateLastAccessTimeField + End Get + Set + Me.highDateLastAccessTimeField = value + Me.RaisePropertyChanged("HighDateLastAccessTime") + End Set + End Property + + ''' + _ + Public Property LowDateLastWriteTime() As UInteger + Get + Return Me.lowDateLastWriteTimeField + End Get + Set + Me.lowDateLastWriteTimeField = value + Me.RaisePropertyChanged("LowDateLastWriteTime") + End Set + End Property + + ''' + _ + Public Property HighDateLastWriteTime() As UInteger + Get + Return Me.highDateLastWriteTimeField + End Get + Set + Me.highDateLastWriteTimeField = value + Me.RaisePropertyChanged("HighDateLastWriteTime") + End Set + End Property + + ''' + _ + Public Property FileSizeHigh() As UInteger + Get + Return Me.fileSizeHighField + End Get + Set + Me.fileSizeHighField = value + Me.RaisePropertyChanged("FileSizeHigh") + End Set + End Property + + ''' + _ + Public Property FileSizeLow() As UInteger + Get + Return Me.fileSizeLowField + End Get + Set + Me.fileSizeLowField = value + Me.RaisePropertyChanged("FileSizeLow") + End Set + End Property + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ERRMSG + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private msg1Field As String + + Private msg2Field As String + + Private msg3Field As String + + Private msg4Field As String + + ''' + _ + Public Property Msg1() As String + Get + Return Me.msg1Field + End Get + Set + Me.msg1Field = value + Me.RaisePropertyChanged("Msg1") + End Set + End Property + + ''' + _ + Public Property Msg2() As String + Get + Return Me.msg2Field + End Get + Set + Me.msg2Field = value + Me.RaisePropertyChanged("Msg2") + End Set + End Property + + ''' + _ + Public Property Msg3() As String + Get + Return Me.msg3Field + End Get + Set + Me.msg3Field = value + Me.RaisePropertyChanged("Msg3") + End Set + End Property + + ''' + _ + Public Property Msg4() As String + Get + Return Me.msg4Field + End Get + Set + Me.msg4Field = value + Me.RaisePropertyChanged("Msg4") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GETBLKNUMDATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private ppActNumField As UShort + + Private mainActBlkField As UInteger + + Private sbr1ActBlkField As UInteger + + Private sbr2ActBlkField As UInteger + + Private sbr3ActBlkField As UInteger + + Private sbr4ActBlkField As UInteger + + ''' + _ + Public Property ppActNum() As UShort + Get + Return Me.ppActNumField + End Get + Set + Me.ppActNumField = value + Me.RaisePropertyChanged("ppActNum") + End Set + End Property + + ''' + _ + Public Property MainActBlk() As UInteger + Get + Return Me.mainActBlkField + End Get + Set + Me.mainActBlkField = value + Me.RaisePropertyChanged("MainActBlk") + End Set + End Property + + ''' + _ + Public Property Sbr1ActBlk() As UInteger + Get + Return Me.sbr1ActBlkField + End Get + Set + Me.sbr1ActBlkField = value + Me.RaisePropertyChanged("Sbr1ActBlk") + End Set + End Property + + ''' + _ + Public Property Sbr2ActBlk() As UInteger + Get + Return Me.sbr2ActBlkField + End Get + Set + Me.sbr2ActBlkField = value + Me.RaisePropertyChanged("Sbr2ActBlk") + End Set + End Property + + ''' + _ + Public Property Sbr3ActBlk() As UInteger + Get + Return Me.sbr3ActBlkField + End Get + Set + Me.sbr3ActBlkField = value + Me.RaisePropertyChanged("Sbr3ActBlk") + End Set + End Property + + ''' + _ + Public Property Sbr4ActBlk() As UInteger + Get + Return Me.sbr4ActBlkField + End Get + Set + Me.sbr4ActBlkField = value + Me.RaisePropertyChanged("Sbr4ActBlk") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class PROCDATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private modeField As UShort + + Private statusField As UShort + + Private subStatusField As UShort + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + ''' + _ + Public Property Status() As UShort + Get + Return Me.statusField + End Get + Set + Me.statusField = value + Me.RaisePropertyChanged("Status") + End Set + End Property + + ''' + _ + Public Property SubStatus() As UShort + Get + Return Me.subStatusField + End Get + Set + Me.subStatusField = value + Me.RaisePropertyChanged("SubStatus") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GETINFO2DATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private statusWordField As UShort + + Private urpField As Double + + Private actToolField As Double + + Private actOffsetField As UShort + + Private progToolField As Double + + Private progOffsetField As UShort + + Private mStatusField As UShort + + Private mValueField() As UShort + + Private ax1NameField As Byte + + Private ax1OffsetField As Double + + Private ax2NameField As Byte + + Private ax2OffsetField As Double + + Private radiusField As Double + + ''' + _ + Public Property StatusWord() As UShort + Get + Return Me.statusWordField + End Get + Set + Me.statusWordField = value + Me.RaisePropertyChanged("StatusWord") + End Set + End Property + + ''' + _ + Public Property Urp() As Double + Get + Return Me.urpField + End Get + Set + Me.urpField = value + Me.RaisePropertyChanged("Urp") + End Set + End Property + + ''' + _ + Public Property ActTool() As Double + Get + Return Me.actToolField + End Get + Set + Me.actToolField = value + Me.RaisePropertyChanged("ActTool") + End Set + End Property + + ''' + _ + Public Property ActOffset() As UShort + Get + Return Me.actOffsetField + End Get + Set + Me.actOffsetField = value + Me.RaisePropertyChanged("ActOffset") + End Set + End Property + + ''' + _ + Public Property ProgTool() As Double + Get + Return Me.progToolField + End Get + Set + Me.progToolField = value + Me.RaisePropertyChanged("ProgTool") + End Set + End Property + + ''' + _ + Public Property ProgOffset() As UShort + Get + Return Me.progOffsetField + End Get + Set + Me.progOffsetField = value + Me.RaisePropertyChanged("ProgOffset") + End Set + End Property + + ''' + _ + Public Property MStatus() As UShort + Get + Return Me.mStatusField + End Get + Set + Me.mStatusField = value + Me.RaisePropertyChanged("MStatus") + End Set + End Property + + ''' + _ + Public Property MValue() As UShort() + Get + Return Me.mValueField + End Get + Set + Me.mValueField = value + Me.RaisePropertyChanged("MValue") + End Set + End Property + + ''' + _ + Public Property Ax1Name() As Byte + Get + Return Me.ax1NameField + End Get + Set + Me.ax1NameField = value + Me.RaisePropertyChanged("Ax1Name") + End Set + End Property + + ''' + _ + Public Property Ax1Offset() As Double + Get + Return Me.ax1OffsetField + End Get + Set + Me.ax1OffsetField = value + Me.RaisePropertyChanged("Ax1Offset") + End Set + End Property + + ''' + _ + Public Property Ax2Name() As Byte + Get + Return Me.ax2NameField + End Get + Set + Me.ax2NameField = value + Me.RaisePropertyChanged("Ax2Name") + End Set + End Property + + ''' + _ + Public Property Ax2Offset() As Double + Get + Return Me.ax2OffsetField + End Get + Set + Me.ax2OffsetField = value + Me.RaisePropertyChanged("Ax2Offset") + End Set + End Property + + ''' + _ + Public Property Radius() As Double + Get + Return Me.radiusField + End Get + Set + Me.radiusField = value + Me.RaisePropertyChanged("Radius") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GETINFO1DATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private statusField As Byte + + Private substatusField As Byte + + Private modeselectField As Byte + + Private jogdirField As Byte + + Private speedovField As UShort + + Private feedovField As UShort + + Private rapfeedovField As UShort + + Private manfeedovField As UShort + + Private jogincrField As Double + + Private numaxselField As Byte + + Private axselField() As Byte + + Private actualtoolField As Double + + Private progrtoolField As Double + + Private actualtooloffField As UShort + + Private progrtooloffField As UShort + + Private realspeedField As Double + + Private progrspeedField As Double + + Private progrfeedField As Double + + Private rapidfeedField As Double + + Private realfeedField As Double + + Private feedmisunitField As UShort + + Private mainprogrnameField As String + + Private dryrunField As Byte + + Private rapidoverrideField As Byte + + Private disableslashedblkField As Byte + + Private optionalstopField As Byte + + Private forcerapidfeedField As Byte + + Private autojogretField As Byte + + Private blockretraceField As Byte + + Private lastncerrorField As UShort + + Private freeField As String + + ''' + _ + Public Property status() As Byte + Get + Return Me.statusField + End Get + Set + Me.statusField = value + Me.RaisePropertyChanged("status") + End Set + End Property + + ''' + _ + Public Property substatus() As Byte + Get + Return Me.substatusField + End Get + Set + Me.substatusField = value + Me.RaisePropertyChanged("substatus") + End Set + End Property + + ''' + _ + Public Property modeselect() As Byte + Get + Return Me.modeselectField + End Get + Set + Me.modeselectField = value + Me.RaisePropertyChanged("modeselect") + End Set + End Property + + ''' + _ + Public Property jogdir() As Byte + Get + Return Me.jogdirField + End Get + Set + Me.jogdirField = value + Me.RaisePropertyChanged("jogdir") + End Set + End Property + + ''' + _ + Public Property speedov() As UShort + Get + Return Me.speedovField + End Get + Set + Me.speedovField = value + Me.RaisePropertyChanged("speedov") + End Set + End Property + + ''' + _ + Public Property feedov() As UShort + Get + Return Me.feedovField + End Get + Set + Me.feedovField = value + Me.RaisePropertyChanged("feedov") + End Set + End Property + + ''' + _ + Public Property rapfeedov() As UShort + Get + Return Me.rapfeedovField + End Get + Set + Me.rapfeedovField = value + Me.RaisePropertyChanged("rapfeedov") + End Set + End Property + + ''' + _ + Public Property manfeedov() As UShort + Get + Return Me.manfeedovField + End Get + Set + Me.manfeedovField = value + Me.RaisePropertyChanged("manfeedov") + End Set + End Property + + ''' + _ + Public Property jogincr() As Double + Get + Return Me.jogincrField + End Get + Set + Me.jogincrField = value + Me.RaisePropertyChanged("jogincr") + End Set + End Property + + ''' + _ + Public Property numaxsel() As Byte + Get + Return Me.numaxselField + End Get + Set + Me.numaxselField = value + Me.RaisePropertyChanged("numaxsel") + End Set + End Property + + ''' + _ + Public Property axsel() As Byte() + Get + Return Me.axselField + End Get + Set + Me.axselField = value + Me.RaisePropertyChanged("axsel") + End Set + End Property + + ''' + _ + Public Property actualtool() As Double + Get + Return Me.actualtoolField + End Get + Set + Me.actualtoolField = value + Me.RaisePropertyChanged("actualtool") + End Set + End Property + + ''' + _ + Public Property progrtool() As Double + Get + Return Me.progrtoolField + End Get + Set + Me.progrtoolField = value + Me.RaisePropertyChanged("progrtool") + End Set + End Property + + ''' + _ + Public Property actualtooloff() As UShort + Get + Return Me.actualtooloffField + End Get + Set + Me.actualtooloffField = value + Me.RaisePropertyChanged("actualtooloff") + End Set + End Property + + ''' + _ + Public Property progrtooloff() As UShort + Get + Return Me.progrtooloffField + End Get + Set + Me.progrtooloffField = value + Me.RaisePropertyChanged("progrtooloff") + End Set + End Property + + ''' + _ + Public Property realspeed() As Double + Get + Return Me.realspeedField + End Get + Set + Me.realspeedField = value + Me.RaisePropertyChanged("realspeed") + End Set + End Property + + ''' + _ + Public Property progrspeed() As Double + Get + Return Me.progrspeedField + End Get + Set + Me.progrspeedField = value + Me.RaisePropertyChanged("progrspeed") + End Set + End Property + + ''' + _ + Public Property progrfeed() As Double + Get + Return Me.progrfeedField + End Get + Set + Me.progrfeedField = value + Me.RaisePropertyChanged("progrfeed") + End Set + End Property + + ''' + _ + Public Property rapidfeed() As Double + Get + Return Me.rapidfeedField + End Get + Set + Me.rapidfeedField = value + Me.RaisePropertyChanged("rapidfeed") + End Set + End Property + + ''' + _ + Public Property realfeed() As Double + Get + Return Me.realfeedField + End Get + Set + Me.realfeedField = value + Me.RaisePropertyChanged("realfeed") + End Set + End Property + + ''' + _ + Public Property feedmisunit() As UShort + Get + Return Me.feedmisunitField + End Get + Set + Me.feedmisunitField = value + Me.RaisePropertyChanged("feedmisunit") + End Set + End Property + + ''' + _ + Public Property mainprogrname() As String + Get + Return Me.mainprogrnameField + End Get + Set + Me.mainprogrnameField = value + Me.RaisePropertyChanged("mainprogrname") + End Set + End Property + + ''' + _ + Public Property dryrun() As Byte + Get + Return Me.dryrunField + End Get + Set + Me.dryrunField = value + Me.RaisePropertyChanged("dryrun") + End Set + End Property + + ''' + _ + Public Property rapidoverride() As Byte + Get + Return Me.rapidoverrideField + End Get + Set + Me.rapidoverrideField = value + Me.RaisePropertyChanged("rapidoverride") + End Set + End Property + + ''' + _ + Public Property disableslashedblk() As Byte + Get + Return Me.disableslashedblkField + End Get + Set + Me.disableslashedblkField = value + Me.RaisePropertyChanged("disableslashedblk") + End Set + End Property + + ''' + _ + Public Property optionalstop() As Byte + Get + Return Me.optionalstopField + End Get + Set + Me.optionalstopField = value + Me.RaisePropertyChanged("optionalstop") + End Set + End Property + + ''' + _ + Public Property forcerapidfeed() As Byte + Get + Return Me.forcerapidfeedField + End Get + Set + Me.forcerapidfeedField = value + Me.RaisePropertyChanged("forcerapidfeed") + End Set + End Property + + ''' + _ + Public Property autojogret() As Byte + Get + Return Me.autojogretField + End Get + Set + Me.autojogretField = value + Me.RaisePropertyChanged("autojogret") + End Set + End Property + + ''' + _ + Public Property blockretrace() As Byte + Get + Return Me.blockretraceField + End Get + Set + Me.blockretraceField = value + Me.RaisePropertyChanged("blockretrace") + End Set + End Property + + ''' + _ + Public Property lastncerror() As UShort + Get + Return Me.lastncerrorField + End Get + Set + Me.lastncerrorField = value + Me.RaisePropertyChanged("lastncerror") + End Set + End Property + + ''' + _ + Public Property free() As String + Get + Return Me.freeField + End Get + Set + Me.freeField = value + Me.RaisePropertyChanged("free") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GETINTDATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisNameField As Byte + + Private modeField As Byte + + Private positionField As Double + + Private totalOffsetField As Double + + ''' + _ + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + ''' + _ + Public Property mode() As Byte + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("mode") + End Set + End Property + + ''' + _ + Public Property position() As Double + Get + Return Me.positionField + End Get + Set + Me.positionField = value + Me.RaisePropertyChanged("position") + End Set + End Property + + ''' + _ + Public Property TotalOffset() As Double + Get + Return Me.totalOffsetField + End Get + Set + Me.totalOffsetField = value + Me.RaisePropertyChanged("TotalOffset") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class AXORIGNUM + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisNameField As Byte + + Private originNumberField As Byte + + Private originFlagField As UShort + + ''' + _ + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + ''' + _ + Public Property OriginNumber() As Byte + Get + Return Me.originNumberField + End Get + Set + Me.originNumberField = value + Me.RaisePropertyChanged("OriginNumber") + End Set + End Property + + ''' + _ + Public Property OriginFlag() As UShort + Get + Return Me.originFlagField + End Get + Set + Me.originFlagField = value + Me.RaisePropertyChanged("OriginFlag") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class USERTABLEII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private userValField() As Double + + ''' + _ + Public Property UserVal() As Double() + Get + Return Me.userValField + End Get + Set + Me.userValField = value + Me.RaisePropertyChanged("UserVal") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class OFFSETVALII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private valOrigField As Double + + Private maxChangeValField As Double + + Private actChangeValField As Double + + ''' + _ + Public Property ValOrig() As Double + Get + Return Me.valOrigField + End Get + Set + Me.valOrigField = value + Me.RaisePropertyChanged("ValOrig") + End Set + End Property + + ''' + _ + Public Property MaxChangeVal() As Double + Get + Return Me.maxChangeValField + End Get + Set + Me.maxChangeValField = value + Me.RaisePropertyChanged("MaxChangeVal") + End Set + End Property + + ''' + _ + Public Property ActChangeVal() As Double + Get + Return Me.actChangeValField + End Get + Set + Me.actChangeValField = value + Me.RaisePropertyChanged("ActChangeVal") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class OFFSETTABLEII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private lenValField() As OFFSETVALII + + Private diaValField() As OFFSETVALII + + Private orientField As UShort + + Private externTypeField As UShort + + Private externIndField As UShort + + Private duserField() As Double + + Private suserField() As Short + + Private descrField() As UShort + + ''' + _ + Public Property LenVal() As OFFSETVALII() + Get + Return Me.lenValField + End Get + Set + Me.lenValField = value + Me.RaisePropertyChanged("LenVal") + End Set + End Property + + ''' + _ + Public Property DiaVal() As OFFSETVALII() + Get + Return Me.diaValField + End Get + Set + Me.diaValField = value + Me.RaisePropertyChanged("DiaVal") + End Set + End Property + + ''' + _ + Public Property Orient() As UShort + Get + Return Me.orientField + End Get + Set + Me.orientField = value + Me.RaisePropertyChanged("Orient") + End Set + End Property + + ''' + _ + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + Me.RaisePropertyChanged("ExternType") + End Set + End Property + + ''' + _ + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + Me.RaisePropertyChanged("ExternInd") + End Set + End Property + + ''' + _ + Public Property Duser() As Double() + Get + Return Me.duserField + End Get + Set + Me.duserField = value + Me.RaisePropertyChanged("Duser") + End Set + End Property + + ''' + _ + Public Property Suser() As Short() + Get + Return Me.suserField + End Get + Set + Me.suserField = value + Me.RaisePropertyChanged("Suser") + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + Me.RaisePropertyChanged("Descr") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class TOOLTABLEII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private toolNameField As String + + Private statusField As UShort + + Private lifeTypeField As UShort + + Private maxLifeField As Double + + Private remLifeField As Double + + Private offsNumField As UShort + + Private externTypeField As UShort + + Private externIndField As UShort + + Private duserField() As Double + + Private suserField() As Short + + Private descrField() As UShort + + ''' + _ + Public Property ToolName() As String + Get + Return Me.toolNameField + End Get + Set + Me.toolNameField = value + Me.RaisePropertyChanged("ToolName") + End Set + End Property + + ''' + _ + Public Property Status() As UShort + Get + Return Me.statusField + End Get + Set + Me.statusField = value + Me.RaisePropertyChanged("Status") + End Set + End Property + + ''' + _ + Public Property LifeType() As UShort + Get + Return Me.lifeTypeField + End Get + Set + Me.lifeTypeField = value + Me.RaisePropertyChanged("LifeType") + End Set + End Property + + ''' + _ + Public Property MaxLife() As Double + Get + Return Me.maxLifeField + End Get + Set + Me.maxLifeField = value + Me.RaisePropertyChanged("MaxLife") + End Set + End Property + + ''' + _ + Public Property RemLife() As Double + Get + Return Me.remLifeField + End Get + Set + Me.remLifeField = value + Me.RaisePropertyChanged("RemLife") + End Set + End Property + + ''' + _ + Public Property OffsNum() As UShort + Get + Return Me.offsNumField + End Get + Set + Me.offsNumField = value + Me.RaisePropertyChanged("OffsNum") + End Set + End Property + + ''' + _ + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + Me.RaisePropertyChanged("ExternType") + End Set + End Property + + ''' + _ + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + Me.RaisePropertyChanged("ExternInd") + End Set + End Property + + ''' + _ + Public Property Duser() As Double() + Get + Return Me.duserField + End Get + Set + Me.duserField = value + Me.RaisePropertyChanged("Duser") + End Set + End Property + + ''' + _ + Public Property Suser() As Short() + Get + Return Me.suserField + End Get + Set + Me.suserField = value + Me.RaisePropertyChanged("Suser") + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + Me.RaisePropertyChanged("Descr") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ORIGINTABLEII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisValField() As Double + + Private externTypeField As UShort + + Private externIndField As UShort + + Private descrField() As UShort + + ''' + _ + Public Property AxisVal() As Double() + Get + Return Me.axisValField + End Get + Set + Me.axisValField = value + Me.RaisePropertyChanged("AxisVal") + End Set + End Property + + ''' + _ + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + Me.RaisePropertyChanged("ExternType") + End Set + End Property + + ''' + _ + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + Me.RaisePropertyChanged("ExternInd") + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + Me.RaisePropertyChanged("Descr") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class BootPhaseEnquiryR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private phaseField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Phase() As UShort + Get + Return Me.phaseField + End Get + Set + Me.phaseField = value + Me.RaisePropertyChanged("Phase") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class BootPhaseEnquiryRequest + + _ + Public BootPhaseEnquiry As OPENcontrol.BootPhaseEnquiry + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootPhaseEnquiry As OPENcontrol.BootPhaseEnquiry) + MyBase.New + Me.BootPhaseEnquiry = BootPhaseEnquiry + End Sub + End Class + + _ + Partial Public Class BootPhaseEnquiryResponse + + _ + Public BootPhaseEnquiryR As OPENcontrol.BootPhaseEnquiryR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootPhaseEnquiryR As OPENcontrol.BootPhaseEnquiryR) + MyBase.New + Me.BootPhaseEnquiryR = BootPhaseEnquiryR + End Sub + End Class + + ''' + _ + Partial Public Class BootReboot + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class BootRebootR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class BootRebootRequest + + _ + Public BootReboot As OPENcontrol.BootReboot + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootReboot As OPENcontrol.BootReboot) + MyBase.New + Me.BootReboot = BootReboot + End Sub + End Class + + _ + Partial Public Class BootRebootResponse + + _ + Public BootRebootR As OPENcontrol.BootRebootR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootRebootR As OPENcontrol.BootRebootR) + MyBase.New + Me.BootRebootR = BootRebootR + End Sub + End Class + + ''' + _ + Partial Public Class BootShutDown + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class BootShutDownR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class BootShutDownRequest + + _ + Public BootShutDown As OPENcontrol.BootShutDown + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootShutDown As OPENcontrol.BootShutDown) + MyBase.New + Me.BootShutDown = BootShutDown + End Sub + End Class + + _ + Partial Public Class BootShutDownResponse + + _ + Public BootShutDownR As OPENcontrol.BootShutDownR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootShutDownR As OPENcontrol.BootShutDownR) + MyBase.New + Me.BootShutDownR = BootShutDownR + End Sub + End Class + + ''' + _ + Partial Public Class BootMode + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private modeField As UShort + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class BootModeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class BootModeRequest + + _ + Public BootMode As OPENcontrol.BootMode + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootMode As OPENcontrol.BootMode) + MyBase.New + Me.BootMode = BootMode + End Sub + End Class + + _ + Partial Public Class BootModeResponse + + _ + Public BootModeR As OPENcontrol.BootModeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootModeR As OPENcontrol.BootModeR) + MyBase.New + Me.BootModeR = BootModeR + End Sub + End Class + + ''' + _ + Partial Public Class GetHWKey + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetHWKeyR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private hwKeyField() As Byte + + Private securLevelField() As Byte + + Private releaseField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property HwKey() As Byte() + Get + Return Me.hwKeyField + End Get + Set + Me.hwKeyField = value + Me.RaisePropertyChanged("HwKey") + End Set + End Property + + ''' + _ + Public Property SecurLevel() As Byte() + Get + Return Me.securLevelField + End Get + Set + Me.securLevelField = value + Me.RaisePropertyChanged("SecurLevel") + End Set + End Property + + ''' + _ + Public Property Release() As String + Get + Return Me.releaseField + End Get + Set + Me.releaseField = value + Me.RaisePropertyChanged("Release") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetHWKeyRequest + + _ + Public GetHWKey As OPENcontrol.GetHWKey + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetHWKey As OPENcontrol.GetHWKey) + MyBase.New + Me.GetHWKey = GetHWKey + End Sub + End Class + + _ + Partial Public Class GetHWKeyResponse + + _ + Public GetHWKeyR As OPENcontrol.GetHWKeyR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetHWKeyR As OPENcontrol.GetHWKeyR) + MyBase.New + Me.GetHWKeyR = GetHWKeyR + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarWord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private numVarField As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarWordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField() As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As UShort() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadVarWordRequest + + _ + Public ReadVarWord As OPENcontrol.ReadVarWord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarWord As OPENcontrol.ReadVarWord) + MyBase.New + Me.ReadVarWord = ReadVarWord + End Sub + End Class + + _ + Partial Public Class ReadVarWordResponse + + _ + Public ReadVarWordR As OPENcontrol.ReadVarWordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarWordR As OPENcontrol.ReadVarWordR) + MyBase.New + Me.ReadVarWordR = ReadVarWordR + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarDouble + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private numVarField As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarDoubleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField() As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As Double() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadVarDoubleRequest + + _ + Public ReadVarDouble As OPENcontrol.ReadVarDouble + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarDouble As OPENcontrol.ReadVarDouble) + MyBase.New + Me.ReadVarDouble = ReadVarDouble + End Sub + End Class + + _ + Partial Public Class ReadVarDoubleResponse + + _ + Public ReadVarDoubleR As OPENcontrol.ReadVarDoubleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarDoubleR As OPENcontrol.ReadVarDoubleR) + MyBase.New + Me.ReadVarDoubleR = ReadVarDoubleR + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarWord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private numVarField As UShort + + Private valueField() As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + ''' + _ + Public Property Value() As UShort() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarWordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteVarWordRequest + + _ + Public WriteVarWord As OPENcontrol.WriteVarWord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarWord As OPENcontrol.WriteVarWord) + MyBase.New + Me.WriteVarWord = WriteVarWord + End Sub + End Class + + _ + Partial Public Class WriteVarWordResponse + + _ + Public WriteVarWordR As OPENcontrol.WriteVarWordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarWordR As OPENcontrol.WriteVarWordR) + MyBase.New + Me.WriteVarWordR = WriteVarWordR + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarWordBit + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private bitIndexField As UShort + + Private bitValueField As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property BitIndex() As UShort + Get + Return Me.bitIndexField + End Get + Set + Me.bitIndexField = value + Me.RaisePropertyChanged("BitIndex") + End Set + End Property + + ''' + _ + Public Property BitValue() As UShort + Get + Return Me.bitValueField + End Get + Set + Me.bitValueField = value + Me.RaisePropertyChanged("BitValue") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarWordBitR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteVarWordBitRequest + + _ + Public WriteVarWordBit As OPENcontrol.WriteVarWordBit + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarWordBit As OPENcontrol.WriteVarWordBit) + MyBase.New + Me.WriteVarWordBit = WriteVarWordBit + End Sub + End Class + + _ + Partial Public Class WriteVarWordBitResponse + + _ + Public WriteVarWordBitR As OPENcontrol.WriteVarWordBitR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarWordBitR As OPENcontrol.WriteVarWordBitR) + MyBase.New + Me.WriteVarWordBitR = WriteVarWordBitR + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarDouble + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private numVarField As UShort + + Private valueField() As Double + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + ''' + _ + Public Property Value() As Double() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarDoubleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteVarDoubleRequest + + _ + Public WriteVarDouble As OPENcontrol.WriteVarDouble + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarDouble As OPENcontrol.WriteVarDouble) + MyBase.New + Me.WriteVarDouble = WriteVarDouble + End Sub + End Class + + _ + Partial Public Class WriteVarDoubleResponse + + _ + Public WriteVarDoubleR As OPENcontrol.WriteVarDoubleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarDoubleR As OPENcontrol.WriteVarDoubleR) + MyBase.New + Me.WriteVarDoubleR = WriteVarDoubleR + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarText + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private sizeField As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property Size() As UShort + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarTextR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private textField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Text() As String + Get + Return Me.textField + End Get + Set + Me.textField = value + Me.RaisePropertyChanged("Text") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadVarTextRequest + + _ + Public ReadVarText As OPENcontrol.ReadVarText + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarText As OPENcontrol.ReadVarText) + MyBase.New + Me.ReadVarText = ReadVarText + End Sub + End Class + + _ + Partial Public Class ReadVarTextResponse + + _ + Public ReadVarTextR As OPENcontrol.ReadVarTextR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarTextR As OPENcontrol.ReadVarTextR) + MyBase.New + Me.ReadVarTextR = ReadVarTextR + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarText + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private lenField As UShort + + Private textField As String + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property Len() As UShort + Get + Return Me.lenField + End Get + Set + Me.lenField = value + Me.RaisePropertyChanged("Len") + End Set + End Property + + ''' + _ + Public Property Text() As String + Get + Return Me.textField + End Get + Set + Me.textField = value + Me.RaisePropertyChanged("Text") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarTextR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteVarTextRequest + + _ + Public WriteVarText As OPENcontrol.WriteVarText + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarText As OPENcontrol.WriteVarText) + MyBase.New + Me.WriteVarText = WriteVarText + End Sub + End Class + + _ + Partial Public Class WriteVarTextResponse + + _ + Public WriteVarTextR As OPENcontrol.WriteVarTextR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarTextR As OPENcontrol.WriteVarTextR) + MyBase.New + Me.WriteVarTextR = WriteVarTextR + End Sub + End Class + + ''' + _ + Partial Public Class ReadWarningMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadWarningMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private warningMsgField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property WarningMsg() As String + Get + Return Me.warningMsgField + End Get + Set + Me.warningMsgField = value + Me.RaisePropertyChanged("WarningMsg") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadWarningMsgRequest + + _ + Public ReadWarningMsg As OPENcontrol.ReadWarningMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadWarningMsg As OPENcontrol.ReadWarningMsg) + MyBase.New + Me.ReadWarningMsg = ReadWarningMsg + End Sub + End Class + + _ + Partial Public Class ReadWarningMsgResponse + + _ + Public ReadWarningMsgR As OPENcontrol.ReadWarningMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadWarningMsgR As OPENcontrol.ReadWarningMsgR) + MyBase.New + Me.ReadWarningMsgR = ReadWarningMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ResetSingleTableII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private tableNumField As UShort + + ''' + _ + Public Property TableNum() As UShort + Get + Return Me.tableNumField + End Get + Set + Me.tableNumField = value + Me.RaisePropertyChanged("TableNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ResetSingleTableIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ResetSingleTableIIRequest + + _ + Public ResetSingleTableII As OPENcontrol.ResetSingleTableII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ResetSingleTableII As OPENcontrol.ResetSingleTableII) + MyBase.New + Me.ResetSingleTableII = ResetSingleTableII + End Sub + End Class + + _ + Partial Public Class ResetSingleTableIIResponse + + _ + Public ResetSingleTableIIR As OPENcontrol.ResetSingleTableIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ResetSingleTableIIR As OPENcontrol.ResetSingleTableIIR) + MyBase.New + Me.ResetSingleTableIIR = ResetSingleTableIIR + End Sub + End Class + + ''' + _ + Partial Public Class LockTableII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private tableNumField As UShort + + ''' + _ + Public Property TableNum() As UShort + Get + Return Me.tableNumField + End Get + Set + Me.tableNumField = value + Me.RaisePropertyChanged("TableNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LockTableIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LockTableIIRequest + + _ + Public LockTableII As OPENcontrol.LockTableII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LockTableII As OPENcontrol.LockTableII) + MyBase.New + Me.LockTableII = LockTableII + End Sub + End Class + + _ + Partial Public Class LockTableIIResponse + + _ + Public LockTableIIR As OPENcontrol.LockTableIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LockTableIIR As OPENcontrol.LockTableIIR) + MyBase.New + Me.LockTableIIR = LockTableIIR + End Sub + End Class + + ''' + _ + Partial Public Class UnLockTableII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private tableNumField As UShort + + ''' + _ + Public Property TableNum() As UShort + Get + Return Me.tableNumField + End Get + Set + Me.tableNumField = value + Me.RaisePropertyChanged("TableNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class UnLockTableIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class UnLockTableIIRequest + + _ + Public UnLockTableII As OPENcontrol.UnLockTableII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal UnLockTableII As OPENcontrol.UnLockTableII) + MyBase.New + Me.UnLockTableII = UnLockTableII + End Sub + End Class + + _ + Partial Public Class UnLockTableIIResponse + + _ + Public UnLockTableIIR As OPENcontrol.UnLockTableIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal UnLockTableIIR As OPENcontrol.UnLockTableIIR) + MyBase.New + Me.UnLockTableIIR = UnLockTableIIR + End Sub + End Class + + ''' + _ + Partial Public Class GetOriginTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetOriginTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private recordBuffField As ORIGINTABLEII + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As ORIGINTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetOriginTabRecordIIRequest + + _ + Public GetOriginTabRecordII As OPENcontrol.GetOriginTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOriginTabRecordII As OPENcontrol.GetOriginTabRecordII) + MyBase.New + Me.GetOriginTabRecordII = GetOriginTabRecordII + End Sub + End Class + + _ + Partial Public Class GetOriginTabRecordIIResponse + + _ + Public GetOriginTabRecordIIR As OPENcontrol.GetOriginTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOriginTabRecordIIR As OPENcontrol.GetOriginTabRecordIIR) + MyBase.New + Me.GetOriginTabRecordIIR = GetOriginTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SetOriginTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + Private recordBuffField As ORIGINTABLEII + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As ORIGINTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetOriginTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetOriginTabRecordIIRequest + + _ + Public SetOriginTabRecordII As OPENcontrol.SetOriginTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetOriginTabRecordII As OPENcontrol.SetOriginTabRecordII) + MyBase.New + Me.SetOriginTabRecordII = SetOriginTabRecordII + End Sub + End Class + + _ + Partial Public Class SetOriginTabRecordIIResponse + + _ + Public SetOriginTabRecordIIR As OPENcontrol.SetOriginTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetOriginTabRecordIIR As OPENcontrol.SetOriginTabRecordIIR) + MyBase.New + Me.SetOriginTabRecordIIR = SetOriginTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class GetToolTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetToolTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private recordBuffField As TOOLTABLEII + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As TOOLTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetToolTabRecordIIRequest + + _ + Public GetToolTabRecordII As OPENcontrol.GetToolTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetToolTabRecordII As OPENcontrol.GetToolTabRecordII) + MyBase.New + Me.GetToolTabRecordII = GetToolTabRecordII + End Sub + End Class + + _ + Partial Public Class GetToolTabRecordIIResponse + + _ + Public GetToolTabRecordIIR As OPENcontrol.GetToolTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetToolTabRecordIIR As OPENcontrol.GetToolTabRecordIIR) + MyBase.New + Me.GetToolTabRecordIIR = GetToolTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SetToolTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + Private recordBuffField As TOOLTABLEII + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As TOOLTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetToolTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetToolTabRecordIIRequest + + _ + Public SetToolTabRecordII As OPENcontrol.SetToolTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetToolTabRecordII As OPENcontrol.SetToolTabRecordII) + MyBase.New + Me.SetToolTabRecordII = SetToolTabRecordII + End Sub + End Class + + _ + Partial Public Class SetToolTabRecordIIResponse + + _ + Public SetToolTabRecordIIR As OPENcontrol.SetToolTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetToolTabRecordIIR As OPENcontrol.SetToolTabRecordIIR) + MyBase.New + Me.SetToolTabRecordIIR = SetToolTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class GetOffsetTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetOffsetTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private recordBuffField As OFFSETTABLEII + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As OFFSETTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetOffsetTabRecordIIRequest + + _ + Public GetOffsetTabRecordII As OPENcontrol.GetOffsetTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOffsetTabRecordII As OPENcontrol.GetOffsetTabRecordII) + MyBase.New + Me.GetOffsetTabRecordII = GetOffsetTabRecordII + End Sub + End Class + + _ + Partial Public Class GetOffsetTabRecordIIResponse + + _ + Public GetOffsetTabRecordIIR As OPENcontrol.GetOffsetTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOffsetTabRecordIIR As OPENcontrol.GetOffsetTabRecordIIR) + MyBase.New + Me.GetOffsetTabRecordIIR = GetOffsetTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SetOffsetTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + Private recordBuffField As OFFSETTABLEII + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As OFFSETTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetOffsetTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetOffsetTabRecordIIRequest + + _ + Public SetOffsetTabRecordII As OPENcontrol.SetOffsetTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetOffsetTabRecordII As OPENcontrol.SetOffsetTabRecordII) + MyBase.New + Me.SetOffsetTabRecordII = SetOffsetTabRecordII + End Sub + End Class + + _ + Partial Public Class SetOffsetTabRecordIIResponse + + _ + Public SetOffsetTabRecordIIR As OPENcontrol.SetOffsetTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetOffsetTabRecordIIR As OPENcontrol.SetOffsetTabRecordIIR) + MyBase.New + Me.SetOffsetTabRecordIIR = SetOffsetTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class GetUserTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetUserTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private recordBuffField As USERTABLEII + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As USERTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetUserTabRecordIIRequest + + _ + Public GetUserTabRecordII As OPENcontrol.GetUserTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetUserTabRecordII As OPENcontrol.GetUserTabRecordII) + MyBase.New + Me.GetUserTabRecordII = GetUserTabRecordII + End Sub + End Class + + _ + Partial Public Class GetUserTabRecordIIResponse + + _ + Public GetUserTabRecordIIR As OPENcontrol.GetUserTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetUserTabRecordIIR As OPENcontrol.GetUserTabRecordIIR) + MyBase.New + Me.GetUserTabRecordIIR = GetUserTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SetUserTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + Private recordBuffField As USERTABLEII + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As USERTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetUserTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetUserTabRecordIIRequest + + _ + Public SetUserTabRecordII As OPENcontrol.SetUserTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetUserTabRecordII As OPENcontrol.SetUserTabRecordII) + MyBase.New + Me.SetUserTabRecordII = SetUserTabRecordII + End Sub + End Class + + _ + Partial Public Class SetUserTabRecordIIResponse + + _ + Public SetUserTabRecordIIR As OPENcontrol.SetUserTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetUserTabRecordIIR As OPENcontrol.SetUserTabRecordIIR) + MyBase.New + Me.SetUserTabRecordIIR = SetUserTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SaveTables + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private localDirField As String + + ''' + _ + Public Property LocalDir() As String + Get + Return Me.localDirField + End Get + Set + Me.localDirField = value + Me.RaisePropertyChanged("LocalDir") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SaveTablesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SaveTablesRequest + + _ + Public SaveTables As OPENcontrol.SaveTables + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveTables As OPENcontrol.SaveTables) + MyBase.New + Me.SaveTables = SaveTables + End Sub + End Class + + _ + Partial Public Class SaveTablesResponse + + _ + Public SaveTablesR As OPENcontrol.SaveTablesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveTablesR As OPENcontrol.SaveTablesR) + MyBase.New + Me.SaveTablesR = SaveTablesR + End Sub + End Class + + ''' + _ + Partial Public Class RestoreSingleTable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private localDirField As String + + Private tableTypeField As TABLETYPEII + + ''' + _ + Public Property LocalDir() As String + Get + Return Me.localDirField + End Get + Set + Me.localDirField = value + Me.RaisePropertyChanged("LocalDir") + End Set + End Property + + ''' + _ + Public Property TableType() As TABLETYPEII + Get + Return Me.tableTypeField + End Get + Set + Me.tableTypeField = value + Me.RaisePropertyChanged("TableType") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum TABLETYPEII + + ''' + _ + TabTypeTools + + ''' + _ + TabTypeOffsets + + ''' + _ + TabTypeOrigins + + ''' + _ + TabTypeUser + End Enum + + ''' + _ + Partial Public Class RestoreSingleTableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class RestoreSingleTableRequest + + _ + Public RestoreSingleTable As OPENcontrol.RestoreSingleTable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal RestoreSingleTable As OPENcontrol.RestoreSingleTable) + MyBase.New + Me.RestoreSingleTable = RestoreSingleTable + End Sub + End Class + + _ + Partial Public Class RestoreSingleTableResponse + + _ + Public RestoreSingleTableR As OPENcontrol.RestoreSingleTableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal RestoreSingleTableR As OPENcontrol.RestoreSingleTableR) + MyBase.New + Me.RestoreSingleTableR = RestoreSingleTableR + End Sub + End Class + + ''' + _ + Partial Public Class SaveSingleTable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private localDirField As String + + Private tableTypeField As TABLETYPEII + + ''' + _ + Public Property LocalDir() As String + Get + Return Me.localDirField + End Get + Set + Me.localDirField = value + Me.RaisePropertyChanged("LocalDir") + End Set + End Property + + ''' + _ + Public Property TableType() As TABLETYPEII + Get + Return Me.tableTypeField + End Get + Set + Me.tableTypeField = value + Me.RaisePropertyChanged("TableType") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SaveSingleTableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SaveSingleTableRequest + + _ + Public SaveSingleTable As OPENcontrol.SaveSingleTable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveSingleTable As OPENcontrol.SaveSingleTable) + MyBase.New + Me.SaveSingleTable = SaveSingleTable + End Sub + End Class + + _ + Partial Public Class SaveSingleTableResponse + + _ + Public SaveSingleTableR As OPENcontrol.SaveSingleTableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveSingleTableR As OPENcontrol.SaveSingleTableR) + MyBase.New + Me.SaveSingleTableR = SaveSingleTableR + End Sub + End Class + + ''' + _ + Partial Public Class SaveBackupMemory + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileNameField As String + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SaveBackupMemoryR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SaveBackupMemoryRequest + + _ + Public SaveBackupMemory As OPENcontrol.SaveBackupMemory + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveBackupMemory As OPENcontrol.SaveBackupMemory) + MyBase.New + Me.SaveBackupMemory = SaveBackupMemory + End Sub + End Class + + _ + Partial Public Class SaveBackupMemoryResponse + + _ + Public SaveBackupMemoryR As OPENcontrol.SaveBackupMemoryR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveBackupMemoryR As OPENcontrol.SaveBackupMemoryR) + MyBase.New + Me.SaveBackupMemoryR = SaveBackupMemoryR + End Sub + End Class + + ''' + _ + Partial Public Class RestoreBackupMemory + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileNameField As String + + Private restoreMaskField As UInteger + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + ''' + _ + Public Property RestoreMask() As UInteger + Get + Return Me.restoreMaskField + End Get + Set + Me.restoreMaskField = value + Me.RaisePropertyChanged("RestoreMask") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class RestoreBackupMemoryR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class RestoreBackupMemoryRequest + + _ + Public RestoreBackupMemory As OPENcontrol.RestoreBackupMemory + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal RestoreBackupMemory As OPENcontrol.RestoreBackupMemory) + MyBase.New + Me.RestoreBackupMemory = RestoreBackupMemory + End Sub + End Class + + _ + Partial Public Class RestoreBackupMemoryResponse + + _ + Public RestoreBackupMemoryR As OPENcontrol.RestoreBackupMemoryR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal RestoreBackupMemoryR As OPENcontrol.RestoreBackupMemoryR) + MyBase.New + Me.RestoreBackupMemoryR = RestoreBackupMemoryR + End Sub + End Class + + ''' + _ + Partial Public Class Cycle + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private cmdField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Cmd() As UShort + Get + Return Me.cmdField + End Get + Set + Me.cmdField = value + Me.RaisePropertyChanged("Cmd") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class CycleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class CycleRequest + + _ + Public Cycle As OPENcontrol.Cycle + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Cycle As OPENcontrol.Cycle) + MyBase.New + Me.Cycle = Cycle + End Sub + End Class + + _ + Partial Public Class CycleResponse + + _ + Public CycleR As OPENcontrol.CycleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal CycleR As OPENcontrol.CycleR) + MyBase.New + Me.CycleR = CycleR + End Sub + End Class + + ''' + _ + Partial Public Class SyncroCycle + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SyncroCycleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SyncroCycleRequest + + _ + Public SyncroCycle As OPENcontrol.SyncroCycle + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SyncroCycle As OPENcontrol.SyncroCycle) + MyBase.New + Me.SyncroCycle = SyncroCycle + End Sub + End Class + + _ + Partial Public Class SyncroCycleResponse + + _ + Public SyncroCycleR As OPENcontrol.SyncroCycleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SyncroCycleR As OPENcontrol.SyncroCycleR) + MyBase.New + Me.SyncroCycleR = SyncroCycleR + End Sub + End Class + + ''' + _ + Partial Public Class Reset + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ResetR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ResetRequest + + _ + Public Reset As OPENcontrol.Reset + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Reset As OPENcontrol.Reset) + MyBase.New + Me.Reset = Reset + End Sub + End Class + + _ + Partial Public Class ResetResponse + + _ + Public ResetR As OPENcontrol.ResetR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ResetR As OPENcontrol.ResetR) + MyBase.New + Me.ResetR = ResetR + End Sub + End Class + + ''' + _ + Partial Public Class Hold + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private cmdField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Cmd() As UShort + Get + Return Me.cmdField + End Get + Set + Me.cmdField = value + Me.RaisePropertyChanged("Cmd") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class HoldR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class HoldRequest + + _ + Public Hold As OPENcontrol.Hold + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Hold As OPENcontrol.Hold) + MyBase.New + Me.Hold = Hold + End Sub + End Class + + _ + Partial Public Class HoldResponse + + _ + Public HoldR As OPENcontrol.HoldR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal HoldR As OPENcontrol.HoldR) + MyBase.New + Me.HoldR = HoldR + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedManOver + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private feedManOverField As UShort + + Private directionField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property FeedManOver() As UShort + Get + Return Me.feedManOverField + End Get + Set + Me.feedManOverField = value + Me.RaisePropertyChanged("FeedManOver") + End Set + End Property + + ''' + _ + Public Property Direction() As UShort + Get + Return Me.directionField + End Get + Set + Me.directionField = value + Me.RaisePropertyChanged("Direction") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedManOverR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetFeedManOverRequest + + _ + Public SetFeedManOver As OPENcontrol.SetFeedManOver + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedManOver As OPENcontrol.SetFeedManOver) + MyBase.New + Me.SetFeedManOver = SetFeedManOver + End Sub + End Class + + _ + Partial Public Class SetFeedManOverResponse + + _ + Public SetFeedManOverR As OPENcontrol.SetFeedManOverR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedManOverR As OPENcontrol.SetFeedManOverR) + MyBase.New + Me.SetFeedManOverR = SetFeedManOverR + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedRateOver + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private feedRateOverField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property FeedRateOver() As UShort + Get + Return Me.feedRateOverField + End Get + Set + Me.feedRateOverField = value + Me.RaisePropertyChanged("FeedRateOver") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedRateOverR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetFeedRateOverRequest + + _ + Public SetFeedRateOver As OPENcontrol.SetFeedRateOver + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedRateOver As OPENcontrol.SetFeedRateOver) + MyBase.New + Me.SetFeedRateOver = SetFeedRateOver + End Sub + End Class + + _ + Partial Public Class SetFeedRateOverResponse + + _ + Public SetFeedRateOverR As OPENcontrol.SetFeedRateOverR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedRateOverR As OPENcontrol.SetFeedRateOverR) + MyBase.New + Me.SetFeedRateOverR = SetFeedRateOverR + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedRapidOver + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private feedRapidOverField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property FeedRapidOver() As UShort + Get + Return Me.feedRapidOverField + End Get + Set + Me.feedRapidOverField = value + Me.RaisePropertyChanged("FeedRapidOver") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedRapidOverR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetFeedRapidOverRequest + + _ + Public SetFeedRapidOver As OPENcontrol.SetFeedRapidOver + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedRapidOver As OPENcontrol.SetFeedRapidOver) + MyBase.New + Me.SetFeedRapidOver = SetFeedRapidOver + End Sub + End Class + + _ + Partial Public Class SetFeedRapidOverResponse + + _ + Public SetFeedRapidOverR As OPENcontrol.SetFeedRapidOverR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedRapidOverR As OPENcontrol.SetFeedRapidOverR) + MyBase.New + Me.SetFeedRapidOverR = SetFeedRapidOverR + End Sub + End Class + + ''' + _ + Partial Public Class SetSpeedRateOver + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private speedRateOverField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property SpeedRateOver() As UShort + Get + Return Me.speedRateOverField + End Get + Set + Me.speedRateOverField = value + Me.RaisePropertyChanged("SpeedRateOver") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetSpeedRateOverR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetSpeedRateOverRequest + + _ + Public SetSpeedRateOver As OPENcontrol.SetSpeedRateOver + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetSpeedRateOver As OPENcontrol.SetSpeedRateOver) + MyBase.New + Me.SetSpeedRateOver = SetSpeedRateOver + End Sub + End Class + + _ + Partial Public Class SetSpeedRateOverResponse + + _ + Public SetSpeedRateOverR As OPENcontrol.SetSpeedRateOverR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetSpeedRateOverR As OPENcontrol.SetSpeedRateOverR) + MyBase.New + Me.SetSpeedRateOverR = SetSpeedRateOverR + End Sub + End Class + + ''' + _ + Partial Public Class SetManMovDirection + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private directionField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Direction() As UShort + Get + Return Me.directionField + End Get + Set + Me.directionField = value + Me.RaisePropertyChanged("Direction") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetManMovDirectionR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetManMovDirectionRequest + + _ + Public SetManMovDirection As OPENcontrol.SetManMovDirection + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetManMovDirection As OPENcontrol.SetManMovDirection) + MyBase.New + Me.SetManMovDirection = SetManMovDirection + End Sub + End Class + + _ + Partial Public Class SetManMovDirectionResponse + + _ + Public SetManMovDirectionR As OPENcontrol.SetManMovDirectionR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetManMovDirectionR As OPENcontrol.SetManMovDirectionR) + MyBase.New + Me.SetManMovDirectionR = SetManMovDirectionR + End Sub + End Class + + ''' + _ + Partial Public Class GetVarJOG + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetVarJOGR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetVarJOGRequest + + _ + Public GetVarJOG As OPENcontrol.GetVarJOG + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetVarJOG As OPENcontrol.GetVarJOG) + MyBase.New + Me.GetVarJOG = GetVarJOG + End Sub + End Class + + _ + Partial Public Class GetVarJOGResponse + + _ + Public GetVarJOGR As OPENcontrol.GetVarJOGR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetVarJOGR As OPENcontrol.GetVarJOGR) + MyBase.New + Me.GetVarJOGR = GetVarJOGR + End Sub + End Class + + ''' + _ + Partial Public Class SetVarJOG + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private valueField As Double + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetVarJOGR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetVarJOGRequest + + _ + Public SetVarJOG As OPENcontrol.SetVarJOG + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarJOG As OPENcontrol.SetVarJOG) + MyBase.New + Me.SetVarJOG = SetVarJOG + End Sub + End Class + + _ + Partial Public Class SetVarJOGResponse + + _ + Public SetVarJOGR As OPENcontrol.SetVarJOGR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarJOGR As OPENcontrol.SetVarJOGR) + MyBase.New + Me.SetVarJOGR = SetVarJOGR + End Sub + End Class + + ''' + _ + Partial Public Class SetVarUAS + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private modeField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetVarUASR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetVarUASRequest + + _ + Public SetVarUAS As OPENcontrol.SetVarUAS + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarUAS As OPENcontrol.SetVarUAS) + MyBase.New + Me.SetVarUAS = SetVarUAS + End Sub + End Class + + _ + Partial Public Class SetVarUASResponse + + _ + Public SetVarUASR As OPENcontrol.SetVarUASR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarUASR As OPENcontrol.SetVarUASR) + MyBase.New + Me.SetVarUASR = SetVarUASR + End Sub + End Class + + ''' + _ + Partial Public Class GetVarRCM + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetVarRCMR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As UShort + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetVarRCMRequest + + _ + Public GetVarRCM As OPENcontrol.GetVarRCM + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetVarRCM As OPENcontrol.GetVarRCM) + MyBase.New + Me.GetVarRCM = GetVarRCM + End Sub + End Class + + _ + Partial Public Class GetVarRCMResponse + + _ + Public GetVarRCMR As OPENcontrol.GetVarRCMR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetVarRCMR As OPENcontrol.GetVarRCMR) + MyBase.New + Me.GetVarRCMR = GetVarRCMR + End Sub + End Class + + ''' + _ + Partial Public Class SetVarRCM + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private modeField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetVarRCMR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetVarRCMRequest + + _ + Public SetVarRCM As OPENcontrol.SetVarRCM + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarRCM As OPENcontrol.SetVarRCM) + MyBase.New + Me.SetVarRCM = SetVarRCM + End Sub + End Class + + _ + Partial Public Class SetVarRCMResponse + + _ + Public SetVarRCMR As OPENcontrol.SetVarRCMR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarRCMR As OPENcontrol.SetVarRCMR) + MyBase.New + Me.SetVarRCMR = SetVarRCMR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcVarWord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private varTypeField As PROCWORDVARTYPE + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property VarType() As PROCWORDVARTYPE + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum PROCWORDVARTYPE + + ''' + _ + PROCWORDVARRCM + + ''' + _ + PROCWORDVARARM + + ''' + _ + PROCWORDVARDPS + + ''' + _ + PROCWORDVARRAP + + ''' + _ + PROCWORDVARTRP + + ''' + _ + PROCWORDVARVFF + + ''' + _ + PROCWORDVARUVR + + ''' + _ + PROCWORDVARDLA + + ''' + _ + PROCWORDVARMBR + + ''' + _ + PROCWORDVARURL + + ''' + _ + PROCWORDVARDSB + + ''' + _ + PROCWORDVARUSO + + ''' + _ + PROCWORDVARERR + + ''' + _ + PROCWORDVARHMP + + ''' + _ + PROCWORDVARUAS + + ''' + _ + PROCWORDVARMBA + + ''' + _ + PROCWORDVARREM + End Enum + + ''' + _ + Partial Public Class GetProcVarWordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As UShort + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcVarWordRequest + + _ + Public GetProcVarWord As OPENcontrol.GetProcVarWord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcVarWord As OPENcontrol.GetProcVarWord) + MyBase.New + Me.GetProcVarWord = GetProcVarWord + End Sub + End Class + + _ + Partial Public Class GetProcVarWordResponse + + _ + Public GetProcVarWordR As OPENcontrol.GetProcVarWordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcVarWordR As OPENcontrol.GetProcVarWordR) + MyBase.New + Me.GetProcVarWordR = GetProcVarWordR + End Sub + End Class + + ''' + _ + Partial Public Class SetProcVarWord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private varTypeField As PROCWORDVARTYPE + + Private valueField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property VarType() As PROCWORDVARTYPE + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + ''' + _ + Public Property Value() As UShort + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetProcVarWordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetProcVarWordRequest + + _ + Public SetProcVarWord As OPENcontrol.SetProcVarWord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcVarWord As OPENcontrol.SetProcVarWord) + MyBase.New + Me.SetProcVarWord = SetProcVarWord + End Sub + End Class + + _ + Partial Public Class SetProcVarWordResponse + + _ + Public SetProcVarWordR As OPENcontrol.SetProcVarWordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcVarWordR As OPENcontrol.SetProcVarWordR) + MyBase.New + Me.SetProcVarWordR = SetProcVarWordR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcVarDouble + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private varTypeField As PROCDOUBLEVARTYPE + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property VarType() As PROCDOUBLEVARTYPE + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum PROCDOUBLEVARTYPE + + ''' + _ + PROCDOUBLEVARURP + + ''' + _ + PROCDOUBLEVARDWT + + ''' + _ + PROCDOUBLEVARJOG + + ''' + _ + PROCDOUBLEVARMDA + + ''' + _ + PROCDOUBLEVARMSA + + ''' + _ + PROCDOUBLEVARSSL + + ''' + _ + PROCDOUBLEVARVEF + + ''' + _ + PROCDOUBLEVARUPO + + ''' + _ + PROCDOUBLEVARUPA + + ''' + _ + PROCDOUBLEVARCET + + ''' + _ + PROCDOUBLEVARFCT + + ''' + _ + PROCDOUBLEVARMBRLEN + + ''' + _ + PROCDOUBLEVARMBRTHR + End Enum + + ''' + _ + Partial Public Class GetProcVarDoubleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcVarDoubleRequest + + _ + Public GetProcVarDouble As OPENcontrol.GetProcVarDouble + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcVarDouble As OPENcontrol.GetProcVarDouble) + MyBase.New + Me.GetProcVarDouble = GetProcVarDouble + End Sub + End Class + + _ + Partial Public Class GetProcVarDoubleResponse + + _ + Public GetProcVarDoubleR As OPENcontrol.GetProcVarDoubleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcVarDoubleR As OPENcontrol.GetProcVarDoubleR) + MyBase.New + Me.GetProcVarDoubleR = GetProcVarDoubleR + End Sub + End Class + + ''' + _ + Partial Public Class SetProcVarDouble + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private varTypeField As PROCDOUBLEVARTYPE + + Private valueField As Double + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property VarType() As PROCDOUBLEVARTYPE + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetProcVarDoubleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetProcVarDoubleRequest + + _ + Public SetProcVarDouble As OPENcontrol.SetProcVarDouble + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcVarDouble As OPENcontrol.SetProcVarDouble) + MyBase.New + Me.SetProcVarDouble = SetProcVarDouble + End Sub + End Class + + _ + Partial Public Class SetProcVarDoubleResponse + + _ + Public SetProcVarDoubleR As OPENcontrol.SetProcVarDoubleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcVarDoubleR As OPENcontrol.SetProcVarDoubleR) + MyBase.New + Me.SetProcVarDoubleR = SetProcVarDoubleR + End Sub + End Class + + ''' + _ + Partial Public Class SetMdiString + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private mdiStringField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property MdiString() As String + Get + Return Me.mdiStringField + End Get + Set + Me.mdiStringField = value + Me.RaisePropertyChanged("MdiString") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetMdiStringR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetMdiStringRequest + + _ + Public SetMdiString As OPENcontrol.SetMdiString + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetMdiString As OPENcontrol.SetMdiString) + MyBase.New + Me.SetMdiString = SetMdiString + End Sub + End Class + + _ + Partial Public Class SetMdiStringResponse + + _ + Public SetMdiStringR As OPENcontrol.SetMdiStringR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetMdiStringR As OPENcontrol.SetMdiStringR) + MyBase.New + Me.SetMdiStringR = SetMdiStringR + End Sub + End Class + + ''' + _ + Partial Public Class SetProcessMode + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private modeField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetProcessModeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetProcessModeRequest + + _ + Public SetProcessMode As OPENcontrol.SetProcessMode + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcessMode As OPENcontrol.SetProcessMode) + MyBase.New + Me.SetProcessMode = SetProcessMode + End Sub + End Class + + _ + Partial Public Class SetProcessModeResponse + + _ + Public SetProcessModeR As OPENcontrol.SetProcessModeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcessModeR As OPENcontrol.SetProcessModeR) + MyBase.New + Me.SetProcessModeR = SetProcessModeR + End Sub + End Class + + ''' + _ + Partial Public Class SelectProcess + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SelectProcessR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SelectProcessRequest + + _ + Public SelectProcess As OPENcontrol.SelectProcess + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectProcess As OPENcontrol.SelectProcess) + MyBase.New + Me.SelectProcess = SelectProcess + End Sub + End Class + + _ + Partial Public Class SelectProcessResponse + + _ + Public SelectProcessR As OPENcontrol.SelectProcessR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectProcessR As OPENcontrol.SelectProcessR) + MyBase.New + Me.SelectProcessR = SelectProcessR + End Sub + End Class + + ''' + _ + Partial Public Class GetSelectedProcess + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetSelectedProcessR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private procNumField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetSelectedProcessRequest + + _ + Public GetSelectedProcess As OPENcontrol.GetSelectedProcess + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSelectedProcess As OPENcontrol.GetSelectedProcess) + MyBase.New + Me.GetSelectedProcess = GetSelectedProcess + End Sub + End Class + + _ + Partial Public Class GetSelectedProcessResponse + + _ + Public GetSelectedProcessR As OPENcontrol.GetSelectedProcessR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSelectedProcessR As OPENcontrol.GetSelectedProcessR) + MyBase.New + Me.GetSelectedProcessR = GetSelectedProcessR + End Sub + End Class + + ''' + _ + Partial Public Class SelectProcAxis + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private axisNameField As Byte + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SelectProcAxisR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SelectProcAxisRequest + + _ + Public SelectProcAxis As OPENcontrol.SelectProcAxis + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectProcAxis As OPENcontrol.SelectProcAxis) + MyBase.New + Me.SelectProcAxis = SelectProcAxis + End Sub + End Class + + _ + Partial Public Class SelectProcAxisResponse + + _ + Public SelectProcAxisR As OPENcontrol.SelectProcAxisR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectProcAxisR As OPENcontrol.SelectProcAxisR) + MyBase.New + Me.SelectProcAxisR = SelectProcAxisR + End Sub + End Class + + ''' + _ + Partial Public Class SelectPartProgram + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private pPNameField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property PPName() As String + Get + Return Me.pPNameField + End Get + Set + Me.pPNameField = value + Me.RaisePropertyChanged("PPName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SelectPartProgramR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SelectPartProgramRequest + + _ + Public SelectPartProgram As OPENcontrol.SelectPartProgram + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectPartProgram As OPENcontrol.SelectPartProgram) + MyBase.New + Me.SelectPartProgram = SelectPartProgram + End Sub + End Class + + _ + Partial Public Class SelectPartProgramResponse + + _ + Public SelectPartProgramR As OPENcontrol.SelectPartProgramR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectPartProgramR As OPENcontrol.SelectPartProgramR) + MyBase.New + Me.SelectPartProgramR = SelectPartProgramR + End Sub + End Class + + ''' + _ + Partial Public Class SelectPartProgramFromDrive + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private pPNameField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property PPName() As String + Get + Return Me.pPNameField + End Get + Set + Me.pPNameField = value + Me.RaisePropertyChanged("PPName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SelectPartProgramFromDriveR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SelectPartProgramFromDriveRequest + + _ + Public SelectPartProgramFromDrive As OPENcontrol.SelectPartProgramFromDrive + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectPartProgramFromDrive As OPENcontrol.SelectPartProgramFromDrive) + MyBase.New + Me.SelectPartProgramFromDrive = SelectPartProgramFromDrive + End Sub + End Class + + _ + Partial Public Class SelectPartProgramFromDriveResponse + + _ + Public SelectPartProgramFromDriveR As OPENcontrol.SelectPartProgramFromDriveR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectPartProgramFromDriveR As OPENcontrol.SelectPartProgramFromDriveR) + MyBase.New + Me.SelectPartProgramFromDriveR = SelectPartProgramFromDriveR + End Sub + End Class + + ''' + _ + Partial Public Class GetActivePartProgram + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetActivePartProgramR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private levelField As UShort + + Private mainField As String + + Private subField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Level() As UShort + Get + Return Me.levelField + End Get + Set + Me.levelField = value + Me.RaisePropertyChanged("Level") + End Set + End Property + + ''' + _ + Public Property Main() As String + Get + Return Me.mainField + End Get + Set + Me.mainField = value + Me.RaisePropertyChanged("Main") + End Set + End Property + + ''' + _ + Public Property [Sub]() As String + Get + Return Me.subField + End Get + Set + Me.subField = value + Me.RaisePropertyChanged("Sub") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetActivePartProgramRequest + + _ + Public GetActivePartProgram As OPENcontrol.GetActivePartProgram + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetActivePartProgram As OPENcontrol.GetActivePartProgram) + MyBase.New + Me.GetActivePartProgram = GetActivePartProgram + End Sub + End Class + + _ + Partial Public Class GetActivePartProgramResponse + + _ + Public GetActivePartProgramR As OPENcontrol.GetActivePartProgramR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetActivePartProgramR As OPENcontrol.GetActivePartProgramR) + MyBase.New + Me.GetActivePartProgramR = GetActivePartProgramR + End Sub + End Class + + ''' + _ + Partial Public Class GetPartProgramLines + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetPartProgramLinesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private pPLine1Field As String + + Private pPLine2Field As String + + Private pPLine3Field As String + + Private pPLine4Field As String + + Private pPLine5Field As String + + Private pPLine6Field As String + + Private pPLine7Field As String + + Private pPLine8Field As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property PPLine1() As String + Get + Return Me.pPLine1Field + End Get + Set + Me.pPLine1Field = value + Me.RaisePropertyChanged("PPLine1") + End Set + End Property + + ''' + _ + Public Property PPLine2() As String + Get + Return Me.pPLine2Field + End Get + Set + Me.pPLine2Field = value + Me.RaisePropertyChanged("PPLine2") + End Set + End Property + + ''' + _ + Public Property PPLine3() As String + Get + Return Me.pPLine3Field + End Get + Set + Me.pPLine3Field = value + Me.RaisePropertyChanged("PPLine3") + End Set + End Property + + ''' + _ + Public Property PPLine4() As String + Get + Return Me.pPLine4Field + End Get + Set + Me.pPLine4Field = value + Me.RaisePropertyChanged("PPLine4") + End Set + End Property + + ''' + _ + Public Property PPLine5() As String + Get + Return Me.pPLine5Field + End Get + Set + Me.pPLine5Field = value + Me.RaisePropertyChanged("PPLine5") + End Set + End Property + + ''' + _ + Public Property PPLine6() As String + Get + Return Me.pPLine6Field + End Get + Set + Me.pPLine6Field = value + Me.RaisePropertyChanged("PPLine6") + End Set + End Property + + ''' + _ + Public Property PPLine7() As String + Get + Return Me.pPLine7Field + End Get + Set + Me.pPLine7Field = value + Me.RaisePropertyChanged("PPLine7") + End Set + End Property + + ''' + _ + Public Property PPLine8() As String + Get + Return Me.pPLine8Field + End Get + Set + Me.pPLine8Field = value + Me.RaisePropertyChanged("PPLine8") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetPartProgramLinesRequest + + _ + Public GetPartProgramLines As OPENcontrol.GetPartProgramLines + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetPartProgramLines As OPENcontrol.GetPartProgramLines) + MyBase.New + Me.GetPartProgramLines = GetPartProgramLines + End Sub + End Class + + _ + Partial Public Class GetPartProgramLinesResponse + + _ + Public GetPartProgramLinesR As OPENcontrol.GetPartProgramLinesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetPartProgramLinesR As OPENcontrol.GetPartProgramLinesR) + MyBase.New + Me.GetPartProgramLinesR = GetPartProgramLinesR + End Sub + End Class + + ''' + _ + Partial Public Class GetAxOriginNum + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private axesNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property AxesNum() As UShort + Get + Return Me.axesNumField + End Get + Set + Me.axesNumField = value + Me.RaisePropertyChanged("AxesNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetAxOriginNumR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private axesNumField As UShort + + Private axOriginNumField() As AXORIGNUM + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property AxesNum() As UShort + Get + Return Me.axesNumField + End Get + Set + Me.axesNumField = value + Me.RaisePropertyChanged("AxesNum") + End Set + End Property + + ''' + _ + Public Property AxOriginNum() As AXORIGNUM() + Get + Return Me.axOriginNumField + End Get + Set + Me.axOriginNumField = value + Me.RaisePropertyChanged("AxOriginNum") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetAxOriginNumRequest + + _ + Public GetAxOriginNum As OPENcontrol.GetAxOriginNum + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxOriginNum As OPENcontrol.GetAxOriginNum) + MyBase.New + Me.GetAxOriginNum = GetAxOriginNum + End Sub + End Class + + _ + Partial Public Class GetAxOriginNumResponse + + _ + Public GetAxOriginNumR As OPENcontrol.GetAxOriginNumR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxOriginNumR As OPENcontrol.GetAxOriginNumR) + MyBase.New + Me.GetAxOriginNumR = GetAxOriginNumR + End Sub + End Class + + ''' + _ + Partial Public Class GetAxesPosition + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private axisNameField As Byte + + Private selectField As UShort + + Private numAxisField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + ''' + _ + Public Property [Select]() As UShort + Get + Return Me.selectField + End Get + Set + Me.selectField = value + Me.RaisePropertyChanged("Select") + End Set + End Property + + ''' + _ + Public Property NumAxis() As UShort + Get + Return Me.numAxisField + End Get + Set + Me.numAxisField = value + Me.RaisePropertyChanged("NumAxis") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetAxesPositionR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private numAxisField As UShort + + Private intPosField() As GETINTDATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property NumAxis() As UShort + Get + Return Me.numAxisField + End Get + Set + Me.numAxisField = value + Me.RaisePropertyChanged("NumAxis") + End Set + End Property + + ''' + _ + Public Property IntPos() As GETINTDATA() + Get + Return Me.intPosField + End Get + Set + Me.intPosField = value + Me.RaisePropertyChanged("IntPos") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetAxesPositionRequest + + _ + Public GetAxesPosition As OPENcontrol.GetAxesPosition + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxesPosition As OPENcontrol.GetAxesPosition) + MyBase.New + Me.GetAxesPosition = GetAxesPosition + End Sub + End Class + + _ + Partial Public Class GetAxesPositionResponse + + _ + Public GetAxesPositionR As OPENcontrol.GetAxesPositionR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxesPositionR As OPENcontrol.GetAxesPositionR) + MyBase.New + Me.GetAxesPositionR = GetAxesPositionR + End Sub + End Class + + ''' + _ + Partial Public Class GetNcInfo1 + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetNcInfo1R + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private getInfoField As GETINFO1DATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property GetInfo() As GETINFO1DATA + Get + Return Me.getInfoField + End Get + Set + Me.getInfoField = value + Me.RaisePropertyChanged("GetInfo") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetNcInfo1Request + + _ + Public GetNcInfo1 As OPENcontrol.GetNcInfo1 + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetNcInfo1 As OPENcontrol.GetNcInfo1) + MyBase.New + Me.GetNcInfo1 = GetNcInfo1 + End Sub + End Class + + _ + Partial Public Class GetNcInfo1Response + + _ + Public GetNcInfo1R As OPENcontrol.GetNcInfo1R + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetNcInfo1R As OPENcontrol.GetNcInfo1R) + MyBase.New + Me.GetNcInfo1R = GetNcInfo1R + End Sub + End Class + + ''' + _ + Partial Public Class GetNcInfo2 + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetNcInfo2R + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private getInfoField As GETINFO2DATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property GetInfo() As GETINFO2DATA + Get + Return Me.getInfoField + End Get + Set + Me.getInfoField = value + Me.RaisePropertyChanged("GetInfo") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetNcInfo2Request + + _ + Public GetNcInfo2 As OPENcontrol.GetNcInfo2 + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetNcInfo2 As OPENcontrol.GetNcInfo2) + MyBase.New + Me.GetNcInfo2 = GetNcInfo2 + End Sub + End Class + + _ + Partial Public Class GetNcInfo2Response + + _ + Public GetNcInfo2R As OPENcontrol.GetNcInfo2R + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetNcInfo2R As OPENcontrol.GetNcInfo2R) + MyBase.New + Me.GetNcInfo2R = GetNcInfo2R + End Sub + End Class + + ''' + _ + Partial Public Class GetToolNames + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetToolNamesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private toolField As String + + Private progToolField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Tool() As String + Get + Return Me.toolField + End Get + Set + Me.toolField = value + Me.RaisePropertyChanged("Tool") + End Set + End Property + + ''' + _ + Public Property ProgTool() As String + Get + Return Me.progToolField + End Get + Set + Me.progToolField = value + Me.RaisePropertyChanged("ProgTool") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetToolNamesRequest + + _ + Public GetToolNames As OPENcontrol.GetToolNames + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetToolNames As OPENcontrol.GetToolNames) + MyBase.New + Me.GetToolNames = GetToolNames + End Sub + End Class + + _ + Partial Public Class GetToolNamesResponse + + _ + Public GetToolNamesR As OPENcontrol.GetToolNamesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetToolNamesR As OPENcontrol.GetToolNamesR) + MyBase.New + Me.GetToolNamesR = GetToolNamesR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcessStatus + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetProcessStatusR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private procStatField As PROCDATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ProcStat() As PROCDATA + Get + Return Me.procStatField + End Get + Set + Me.procStatField = value + Me.RaisePropertyChanged("ProcStat") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcessStatusRequest + + _ + Public GetProcessStatus As OPENcontrol.GetProcessStatus + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcessStatus As OPENcontrol.GetProcessStatus) + MyBase.New + Me.GetProcessStatus = GetProcessStatus + End Sub + End Class + + _ + Partial Public Class GetProcessStatusResponse + + _ + Public GetProcessStatusR As OPENcontrol.GetProcessStatusR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcessStatusR As OPENcontrol.GetProcessStatusR) + MyBase.New + Me.GetProcessStatusR = GetProcessStatusR + End Sub + End Class + + ''' + _ + Partial Public Class GetBlkNum + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetBlkNumR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private getBlkNumField As GETBLKNUMDATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property GetBlkNum() As GETBLKNUMDATA + Get + Return Me.getBlkNumField + End Get + Set + Me.getBlkNumField = value + Me.RaisePropertyChanged("GetBlkNum") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetBlkNumRequest + + _ + Public GetBlkNum As OPENcontrol.GetBlkNum + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetBlkNum As OPENcontrol.GetBlkNum) + MyBase.New + Me.GetBlkNum = GetBlkNum + End Sub + End Class + + _ + Partial Public Class GetBlkNumResponse + + _ + Public GetBlkNumR As OPENcontrol.GetBlkNumR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetBlkNumR As OPENcontrol.GetBlkNumR) + MyBase.New + Me.GetBlkNumR = GetBlkNumR + End Sub + End Class + + ''' + _ + Partial Public Class ReadErrMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadErrMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private sysErrMsgField As ERRMSG + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property SysErrMsg() As ERRMSG + Get + Return Me.sysErrMsgField + End Get + Set + Me.sysErrMsgField = value + Me.RaisePropertyChanged("SysErrMsg") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadErrMsgRequest + + _ + Public ReadErrMsg As OPENcontrol.ReadErrMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadErrMsg As OPENcontrol.ReadErrMsg) + MyBase.New + Me.ReadErrMsg = ReadErrMsg + End Sub + End Class + + _ + Partial Public Class ReadErrMsgResponse + + _ + Public ReadErrMsgR As OPENcontrol.ReadErrMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadErrMsgR As OPENcontrol.ReadErrMsgR) + MyBase.New + Me.ReadErrMsgR = ReadErrMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadPartProgramMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadPartProgramMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private partProgramMsgField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property PartProgramMsg() As String + Get + Return Me.partProgramMsgField + End Get + Set + Me.partProgramMsgField = value + Me.RaisePropertyChanged("PartProgramMsg") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadPartProgramMsgRequest + + _ + Public ReadPartProgramMsg As OPENcontrol.ReadPartProgramMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadPartProgramMsg As OPENcontrol.ReadPartProgramMsg) + MyBase.New + Me.ReadPartProgramMsg = ReadPartProgramMsg + End Sub + End Class + + _ + Partial Public Class ReadPartProgramMsgResponse + + _ + Public ReadPartProgramMsgR As OPENcontrol.ReadPartProgramMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadPartProgramMsgR As OPENcontrol.ReadPartProgramMsgR) + MyBase.New + Me.ReadPartProgramMsgR = ReadPartProgramMsgR + End Sub + End Class + + ''' + _ + Partial Public Class GetGCode + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetGCodeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private gCodeField() As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property GCode() As UShort() + Get + Return Me.gCodeField + End Get + Set + Me.gCodeField = value + Me.RaisePropertyChanged("GCode") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetGCodeRequest + + _ + Public GetGCode As OPENcontrol.GetGCode + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetGCode As OPENcontrol.GetGCode) + MyBase.New + Me.GetGCode = GetGCode + End Sub + End Class + + _ + Partial Public Class GetGCodeResponse + + _ + Public GetGCodeR As OPENcontrol.GetGCodeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetGCodeR As OPENcontrol.GetGCodeR) + MyBase.New + Me.GetGCodeR = GetGCodeR + End Sub + End Class + + ''' + _ + Partial Public Class GetMCode + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetMCodeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private mCodeField() As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property MCode() As UShort() + Get + Return Me.mCodeField + End Get + Set + Me.mCodeField = value + Me.RaisePropertyChanged("MCode") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetMCodeRequest + + _ + Public GetMCode As OPENcontrol.GetMCode + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetMCode As OPENcontrol.GetMCode) + MyBase.New + Me.GetMCode = GetMCode + End Sub + End Class + + _ + Partial Public Class GetMCodeResponse + + _ + Public GetMCodeR As OPENcontrol.GetMCodeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetMCodeR As OPENcontrol.GetMCodeR) + MyBase.New + Me.GetMCodeR = GetMCodeR + End Sub + End Class + + ''' + _ + Partial Public Class SkipPProgBlock + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private numOfBlocksField As UInteger + + Private directionField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property NumOfBlocks() As UInteger + Get + Return Me.numOfBlocksField + End Get + Set + Me.numOfBlocksField = value + Me.RaisePropertyChanged("NumOfBlocks") + End Set + End Property + + ''' + _ + Public Property Direction() As UShort + Get + Return Me.directionField + End Get + Set + Me.directionField = value + Me.RaisePropertyChanged("Direction") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SkipPProgBlockR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SkipPProgBlockRequest + + _ + Public SkipPProgBlock As OPENcontrol.SkipPProgBlock + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SkipPProgBlock As OPENcontrol.SkipPProgBlock) + MyBase.New + Me.SkipPProgBlock = SkipPProgBlock + End Sub + End Class + + _ + Partial Public Class SkipPProgBlockResponse + + _ + Public SkipPProgBlockR As OPENcontrol.SkipPProgBlockR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SkipPProgBlockR As OPENcontrol.SkipPProgBlockR) + MyBase.New + Me.SkipPProgBlockR = SkipPProgBlockR + End Sub + End Class + + ''' + _ + Partial Public Class Ese + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private blockNumField As UInteger + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property BlockNum() As UInteger + Get + Return Me.blockNumField + End Get + Set + Me.blockNumField = value + Me.RaisePropertyChanged("BlockNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class EseR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class EseRequest + + _ + Public Ese As OPENcontrol.Ese + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Ese As OPENcontrol.Ese) + MyBase.New + Me.Ese = Ese + End Sub + End Class + + _ + Partial Public Class EseResponse + + _ + Public EseR As OPENcontrol.EseR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal EseR As OPENcontrol.EseR) + MyBase.New + Me.EseR = EseR + End Sub + End Class + + ''' + _ + Partial Public Class EseEx + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private modeField As RCMTOMODE + + Private maskField As UInteger + + Private blockNumField As UInteger + + Private lineNumField As UInteger + + Private brkValField As UInteger + + Private labelField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Mode() As RCMTOMODE + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + ''' + _ + Public Property Mask() As UInteger + Get + Return Me.maskField + End Get + Set + Me.maskField = value + Me.RaisePropertyChanged("Mask") + End Set + End Property + + ''' + _ + Public Property BlockNum() As UInteger + Get + Return Me.blockNumField + End Get + Set + Me.blockNumField = value + Me.RaisePropertyChanged("BlockNum") + End Set + End Property + + ''' + _ + Public Property LineNum() As UInteger + Get + Return Me.lineNumField + End Get + Set + Me.lineNumField = value + Me.RaisePropertyChanged("LineNum") + End Set + End Property + + ''' + _ + Public Property BrkVal() As UInteger + Get + Return Me.brkValField + End Get + Set + Me.brkValField = value + Me.RaisePropertyChanged("BrkVal") + End Set + End Property + + ''' + _ + Public Property Label() As String + Get + Return Me.labelField + End Get + Set + Me.labelField = value + Me.RaisePropertyChanged("Label") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum RCMTOMODE + + ''' + _ + RCMTOTO + + ''' + _ + RCMTONEXT + End Enum + + ''' + _ + Partial Public Class EseExR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class EseExRequest + + _ + Public EseEx As OPENcontrol.EseEx + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal EseEx As OPENcontrol.EseEx) + MyBase.New + Me.EseEx = EseEx + End Sub + End Class + + _ + Partial Public Class EseExResponse + + _ + Public EseExR As OPENcontrol.EseExR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal EseExR As OPENcontrol.EseExR) + MyBase.New + Me.EseExR = EseExR + End Sub + End Class + + ''' + _ + Partial Public Class Exe + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private funcField As UShort + + Private modeField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Func() As UShort + Get + Return Me.funcField + End Get + Set + Me.funcField = value + Me.RaisePropertyChanged("Func") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ExeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ExeRequest + + _ + Public Exe As OPENcontrol.Exe + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Exe As OPENcontrol.Exe) + MyBase.New + Me.Exe = Exe + End Sub + End Class + + _ + Partial Public Class ExeResponse + + _ + Public ExeR As OPENcontrol.ExeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ExeR As OPENcontrol.ExeR) + MyBase.New + Me.ExeR = ExeR + End Sub + End Class + + ''' + _ + Partial Public Class AxesRef + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private numAxField As UShort + + Private axisNameField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property NumAx() As UShort + Get + Return Me.numAxField + End Get + Set + Me.numAxField = value + Me.RaisePropertyChanged("NumAx") + End Set + End Property + + ''' + _ + Public Property AxisName() As String + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class AxesRefR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class AxesRefRequest + + _ + Public AxesRef As OPENcontrol.AxesRef + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal AxesRef As OPENcontrol.AxesRef) + MyBase.New + Me.AxesRef = AxesRef + End Sub + End Class + + _ + Partial Public Class AxesRefResponse + + _ + Public AxesRefR As OPENcontrol.AxesRefR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal AxesRefR As OPENcontrol.AxesRefR) + MyBase.New + Me.AxesRefR = AxesRefR + End Sub + End Class + + ''' + _ + Partial Public Class DncInit + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private pathNameField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DncInitR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class DncInitRequest + + _ + Public DncInit As OPENcontrol.DncInit + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncInit As OPENcontrol.DncInit) + MyBase.New + Me.DncInit = DncInit + End Sub + End Class + + _ + Partial Public Class DncInitResponse + + _ + Public DncInitR As OPENcontrol.DncInitR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncInitR As OPENcontrol.DncInitR) + MyBase.New + Me.DncInitR = DncInitR + End Sub + End Class + + ''' + _ + Partial Public Class DncData + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private dataField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Data() As String + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DncDataR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class DncDataRequest + + _ + Public DncData As OPENcontrol.DncData + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncData As OPENcontrol.DncData) + MyBase.New + Me.DncData = DncData + End Sub + End Class + + _ + Partial Public Class DncDataResponse + + _ + Public DncDataR As OPENcontrol.DncDataR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncDataR As OPENcontrol.DncDataR) + MyBase.New + Me.DncDataR = DncDataR + End Sub + End Class + + ''' + _ + Partial Public Class DncEof + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DncEofR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class DncEofRequest + + _ + Public DncEof As OPENcontrol.DncEof + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncEof As OPENcontrol.DncEof) + MyBase.New + Me.DncEof = DncEof + End Sub + End Class + + _ + Partial Public Class DncEofResponse + + _ + Public DncEofR As OPENcontrol.DncEofR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncEofR As OPENcontrol.DncEofR) + MyBase.New + Me.DncEofR = DncEofR + End Sub + End Class + + ''' + _ + Partial Public Class DncStop + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DncStopR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class DncStopRequest + + _ + Public DncStop As OPENcontrol.DncStop + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncStop As OPENcontrol.DncStop) + MyBase.New + Me.DncStop = DncStop + End Sub + End Class + + _ + Partial Public Class DncStopResponse + + _ + Public DncStopR As OPENcontrol.DncStopR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncStopR As OPENcontrol.DncStopR) + MyBase.New + Me.DncStopR = DncStopR + End Sub + End Class + + ''' + _ + Partial Public Class GetAxesInfo3 + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisIdField As UShort + + Private axesNumField As UShort + + ''' + _ + Public Property AxisId() As UShort + Get + Return Me.axisIdField + End Get + Set + Me.axisIdField = value + Me.RaisePropertyChanged("AxisId") + End Set + End Property + + ''' + _ + Public Property AxesNum() As UShort + Get + Return Me.axesNumField + End Get + Set + Me.axesNumField = value + Me.RaisePropertyChanged("AxesNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetAxesInfo3R + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private axesNumField As UShort + + Private axOwnerListField() As UShort + + Private axNameListField() As Byte + + Private axTypeField() As UShort + + Private axInterfaceField() As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property AxesNum() As UShort + Get + Return Me.axesNumField + End Get + Set + Me.axesNumField = value + Me.RaisePropertyChanged("AxesNum") + End Set + End Property + + ''' + _ + Public Property AxOwnerList() As UShort() + Get + Return Me.axOwnerListField + End Get + Set + Me.axOwnerListField = value + Me.RaisePropertyChanged("AxOwnerList") + End Set + End Property + + ''' + _ + Public Property AxNameList() As Byte() + Get + Return Me.axNameListField + End Get + Set + Me.axNameListField = value + Me.RaisePropertyChanged("AxNameList") + End Set + End Property + + ''' + _ + Public Property AxType() As UShort() + Get + Return Me.axTypeField + End Get + Set + Me.axTypeField = value + Me.RaisePropertyChanged("AxType") + End Set + End Property + + ''' + _ + Public Property AxInterface() As UShort() + Get + Return Me.axInterfaceField + End Get + Set + Me.axInterfaceField = value + Me.RaisePropertyChanged("AxInterface") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetAxesInfo3Request + + _ + Public GetAxesInfo3 As OPENcontrol.GetAxesInfo3 + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxesInfo3 As OPENcontrol.GetAxesInfo3) + MyBase.New + Me.GetAxesInfo3 = GetAxesInfo3 + End Sub + End Class + + _ + Partial Public Class GetAxesInfo3Response + + _ + Public GetAxesInfo3R As OPENcontrol.GetAxesInfo3R + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxesInfo3R As OPENcontrol.GetAxesInfo3R) + MyBase.New + Me.GetAxesInfo3R = GetAxesInfo3R + End Sub + End Class + + ''' + _ + Partial Public Class GetCodeNumber + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetCodeNumberR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private codeNumberField As String + + Private swVersionField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property CodeNumber() As String + Get + Return Me.codeNumberField + End Get + Set + Me.codeNumberField = value + Me.RaisePropertyChanged("CodeNumber") + End Set + End Property + + ''' + _ + Public Property SwVersion() As String + Get + Return Me.swVersionField + End Get + Set + Me.swVersionField = value + Me.RaisePropertyChanged("SwVersion") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCodeNumberRequest + + _ + Public GetCodeNumber As OPENcontrol.GetCodeNumber + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCodeNumber As OPENcontrol.GetCodeNumber) + MyBase.New + Me.GetCodeNumber = GetCodeNumber + End Sub + End Class + + _ + Partial Public Class GetCodeNumberResponse + + _ + Public GetCodeNumberR As OPENcontrol.GetCodeNumberR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCodeNumberR As OPENcontrol.GetCodeNumberR) + MyBase.New + Me.GetCodeNumberR = GetCodeNumberR + End Sub + End Class + + ''' + _ + Partial Public Class GetOptions + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetOptionsR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private optionField() As Byte + + Private securLevelField() As Byte + + Private swVersionField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property [Option]() As Byte() + Get + Return Me.optionField + End Get + Set + Me.optionField = value + Me.RaisePropertyChanged("Option") + End Set + End Property + + ''' + _ + Public Property SecurLevel() As Byte() + Get + Return Me.securLevelField + End Get + Set + Me.securLevelField = value + Me.RaisePropertyChanged("SecurLevel") + End Set + End Property + + ''' + _ + Public Property SwVersion() As String + Get + Return Me.swVersionField + End Get + Set + Me.swVersionField = value + Me.RaisePropertyChanged("SwVersion") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetOptionsRequest + + _ + Public GetOptions As OPENcontrol.GetOptions + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOptions As OPENcontrol.GetOptions) + MyBase.New + Me.GetOptions = GetOptions + End Sub + End Class + + _ + Partial Public Class GetOptionsResponse + + _ + Public GetOptionsR As OPENcontrol.GetOptionsR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOptionsR As OPENcontrol.GetOptionsR) + MyBase.New + Me.GetOptionsR = GetOptionsR + End Sub + End Class + + ''' + _ + Partial Public Class GetDateTime + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetDateTimeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private yearField As UShort + + Private monthField As UShort + + Private dayField As UShort + + Private hourField As UShort + + Private minuteField As UShort + + Private secondField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Year() As UShort + Get + Return Me.yearField + End Get + Set + Me.yearField = value + Me.RaisePropertyChanged("Year") + End Set + End Property + + ''' + _ + Public Property Month() As UShort + Get + Return Me.monthField + End Get + Set + Me.monthField = value + Me.RaisePropertyChanged("Month") + End Set + End Property + + ''' + _ + Public Property Day() As UShort + Get + Return Me.dayField + End Get + Set + Me.dayField = value + Me.RaisePropertyChanged("Day") + End Set + End Property + + ''' + _ + Public Property Hour() As UShort + Get + Return Me.hourField + End Get + Set + Me.hourField = value + Me.RaisePropertyChanged("Hour") + End Set + End Property + + ''' + _ + Public Property Minute() As UShort + Get + Return Me.minuteField + End Get + Set + Me.minuteField = value + Me.RaisePropertyChanged("Minute") + End Set + End Property + + ''' + _ + Public Property Second() As UShort + Get + Return Me.secondField + End Get + Set + Me.secondField = value + Me.RaisePropertyChanged("Second") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetDateTimeRequest + + _ + Public GetDateTime As OPENcontrol.GetDateTime + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetDateTime As OPENcontrol.GetDateTime) + MyBase.New + Me.GetDateTime = GetDateTime + End Sub + End Class + + _ + Partial Public Class GetDateTimeResponse + + _ + Public GetDateTimeR As OPENcontrol.GetDateTimeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetDateTimeR As OPENcontrol.GetDateTimeR) + MyBase.New + Me.GetDateTimeR = GetDateTimeR + End Sub + End Class + + ''' + _ + Partial Public Class SetDateTime + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private yearField As UShort + + Private monthField As UShort + + Private dayField As UShort + + Private hourField As UShort + + Private minuteField As UShort + + Private secondField As UShort + + ''' + _ + Public Property Year() As UShort + Get + Return Me.yearField + End Get + Set + Me.yearField = value + Me.RaisePropertyChanged("Year") + End Set + End Property + + ''' + _ + Public Property Month() As UShort + Get + Return Me.monthField + End Get + Set + Me.monthField = value + Me.RaisePropertyChanged("Month") + End Set + End Property + + ''' + _ + Public Property Day() As UShort + Get + Return Me.dayField + End Get + Set + Me.dayField = value + Me.RaisePropertyChanged("Day") + End Set + End Property + + ''' + _ + Public Property Hour() As UShort + Get + Return Me.hourField + End Get + Set + Me.hourField = value + Me.RaisePropertyChanged("Hour") + End Set + End Property + + ''' + _ + Public Property Minute() As UShort + Get + Return Me.minuteField + End Get + Set + Me.minuteField = value + Me.RaisePropertyChanged("Minute") + End Set + End Property + + ''' + _ + Public Property Second() As UShort + Get + Return Me.secondField + End Get + Set + Me.secondField = value + Me.RaisePropertyChanged("Second") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetDateTimeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetDateTimeRequest + + _ + Public SetDateTime As OPENcontrol.SetDateTime + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetDateTime As OPENcontrol.SetDateTime) + MyBase.New + Me.SetDateTime = SetDateTime + End Sub + End Class + + _ + Partial Public Class SetDateTimeResponse + + _ + Public SetDateTimeR As OPENcontrol.SetDateTimeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetDateTimeR As OPENcontrol.SetDateTimeR) + MyBase.New + Me.SetDateTimeR = SetDateTimeR + End Sub + End Class + + ''' + _ + Partial Public Class GetSerialNumber + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetSerialNumberR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private serialNumberField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property SerialNumber() As String + Get + Return Me.serialNumberField + End Get + Set + Me.serialNumberField = value + Me.RaisePropertyChanged("SerialNumber") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetSerialNumberRequest + + _ + Public GetSerialNumber As OPENcontrol.GetSerialNumber + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSerialNumber As OPENcontrol.GetSerialNumber) + MyBase.New + Me.GetSerialNumber = GetSerialNumber + End Sub + End Class + + _ + Partial Public Class GetSerialNumberResponse + + _ + Public GetSerialNumberR As OPENcontrol.GetSerialNumberR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSerialNumberR As OPENcontrol.GetSerialNumberR) + MyBase.New + Me.GetSerialNumberR = GetSerialNumberR + End Sub + End Class + + ''' + _ + Partial Public Class PutFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private dataField As String + + Private sizeField As UInteger + + Private pathNameField As String + + ''' + _ + Public Property Data() As String + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class PutFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class PutFileRequest + + _ + Public PutFile As OPENcontrol.PutFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal PutFile As OPENcontrol.PutFile) + MyBase.New + Me.PutFile = PutFile + End Sub + End Class + + _ + Partial Public Class PutFileResponse + + _ + Public PutFileR As OPENcontrol.PutFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal PutFileR As OPENcontrol.PutFileR) + MyBase.New + Me.PutFileR = PutFileR + End Sub + End Class + + ''' + _ + Partial Public Class GetFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private sizeField As UInteger + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private sizeField As UInteger + + Private dataField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + ''' + _ + Public Property Data() As String + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetFileRequest + + _ + Public GetFile As OPENcontrol.GetFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetFile As OPENcontrol.GetFile) + MyBase.New + Me.GetFile = GetFile + End Sub + End Class + + _ + Partial Public Class GetFileResponse + + _ + Public GetFileR As OPENcontrol.GetFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetFileR As OPENcontrol.GetFileR) + MyBase.New + Me.GetFileR = GetFileR + End Sub + End Class + + ''' + _ + Partial Public Class PutBinaryFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private dataField() As Byte + + Private pathNameField As String + + ''' + _ + Public Property Data() As Byte() + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class PutBinaryFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class PutBinaryFileRequest + + _ + Public PutBinaryFile As OPENcontrol.PutBinaryFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal PutBinaryFile As OPENcontrol.PutBinaryFile) + MyBase.New + Me.PutBinaryFile = PutBinaryFile + End Sub + End Class + + _ + Partial Public Class PutBinaryFileResponse + + _ + Public PutBinaryFileR As OPENcontrol.PutBinaryFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal PutBinaryFileR As OPENcontrol.PutBinaryFileR) + MyBase.New + Me.PutBinaryFileR = PutBinaryFileR + End Sub + End Class + + ''' + _ + Partial Public Class GetBinaryFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private sizeField As UInteger + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetBinaryFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField() As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As Byte() + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetBinaryFileRequest + + _ + Public GetBinaryFile As OPENcontrol.GetBinaryFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetBinaryFile As OPENcontrol.GetBinaryFile) + MyBase.New + Me.GetBinaryFile = GetBinaryFile + End Sub + End Class + + _ + Partial Public Class GetBinaryFileResponse + + _ + Public GetBinaryFileR As OPENcontrol.GetBinaryFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetBinaryFileR As OPENcontrol.GetBinaryFileR) + MyBase.New + Me.GetBinaryFileR = GetBinaryFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSSetSecurityLevel + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private passwordField As String + + Private securityLevelField As SECURITYLEVEL + + ''' + _ + Public Property Password() As String + Get + Return Me.passwordField + End Get + Set + Me.passwordField = value + Me.RaisePropertyChanged("Password") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum SECURITYLEVEL + + ''' + _ + SECURITYLEVELADMIN + + ''' + _ + SECURITYLEVELSERVICE + + ''' + _ + SECURITYLEVELOEMADMIN + + ''' + _ + SECURITYLEVELOEMSERVICE + + ''' + _ + SECURITYLEVELUSERADMIN + + ''' + _ + SECURITYLEVELUSERSERVICE + End Enum + + ''' + _ + Partial Public Class LogFSSetSecurityLevelR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private oldSecurityLevelField As SECURITYLEVEL + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property OldSecurityLevel() As SECURITYLEVEL + Get + Return Me.oldSecurityLevelField + End Get + Set + Me.oldSecurityLevelField = value + Me.RaisePropertyChanged("OldSecurityLevel") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSSetSecurityLevelRequest + + _ + Public LogFSSetSecurityLevel As OPENcontrol.LogFSSetSecurityLevel + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSSetSecurityLevel As OPENcontrol.LogFSSetSecurityLevel) + MyBase.New + Me.LogFSSetSecurityLevel = LogFSSetSecurityLevel + End Sub + End Class + + _ + Partial Public Class LogFSSetSecurityLevelResponse + + _ + Public LogFSSetSecurityLevelR As OPENcontrol.LogFSSetSecurityLevelR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSSetSecurityLevelR As OPENcontrol.LogFSSetSecurityLevelR) + MyBase.New + Me.LogFSSetSecurityLevelR = LogFSSetSecurityLevelR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetSecurityLevel + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetSecurityLevelR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private securityLevelField As SECURITYLEVEL + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetSecurityLevelRequest + + _ + Public LogFSGetSecurityLevel As OPENcontrol.LogFSGetSecurityLevel + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetSecurityLevel As OPENcontrol.LogFSGetSecurityLevel) + MyBase.New + Me.LogFSGetSecurityLevel = LogFSGetSecurityLevel + End Sub + End Class + + _ + Partial Public Class LogFSGetSecurityLevelResponse + + _ + Public LogFSGetSecurityLevelR As OPENcontrol.LogFSGetSecurityLevelR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetSecurityLevelR As OPENcontrol.LogFSGetSecurityLevelR) + MyBase.New + Me.LogFSGetSecurityLevelR = LogFSGetSecurityLevelR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSLongFileNames + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSLongFileNamesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private useLongFileNamesField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property UseLongFileNames() As UShort + Get + Return Me.useLongFileNamesField + End Get + Set + Me.useLongFileNamesField = value + Me.RaisePropertyChanged("UseLongFileNames") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSLongFileNamesRequest + + _ + Public LogFSLongFileNames As OPENcontrol.LogFSLongFileNames + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSLongFileNames As OPENcontrol.LogFSLongFileNames) + MyBase.New + Me.LogFSLongFileNames = LogFSLongFileNames + End Sub + End Class + + _ + Partial Public Class LogFSLongFileNamesResponse + + _ + Public LogFSLongFileNamesR As OPENcontrol.LogFSLongFileNamesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSLongFileNamesR As OPENcontrol.LogFSLongFileNamesR) + MyBase.New + Me.LogFSLongFileNamesR = LogFSLongFileNamesR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetNumDrive + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetNumDriveR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private numHiddenDriveField As UShort + + Private numUserDriveField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property NumHiddenDrive() As UShort + Get + Return Me.numHiddenDriveField + End Get + Set + Me.numHiddenDriveField = value + Me.RaisePropertyChanged("NumHiddenDrive") + End Set + End Property + + ''' + _ + Public Property NumUserDrive() As UShort + Get + Return Me.numUserDriveField + End Get + Set + Me.numUserDriveField = value + Me.RaisePropertyChanged("NumUserDrive") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetNumDriveRequest + + _ + Public LogFSGetNumDrive As OPENcontrol.LogFSGetNumDrive + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetNumDrive As OPENcontrol.LogFSGetNumDrive) + MyBase.New + Me.LogFSGetNumDrive = LogFSGetNumDrive + End Sub + End Class + + _ + Partial Public Class LogFSGetNumDriveResponse + + _ + Public LogFSGetNumDriveR As OPENcontrol.LogFSGetNumDriveR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetNumDriveR As OPENcontrol.LogFSGetNumDriveR) + MyBase.New + Me.LogFSGetNumDriveR = LogFSGetNumDriveR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetDriveList + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private indexField As UShort + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetDriveListR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private driveNameField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetDriveListRequest + + _ + Public LogFSGetDriveList As OPENcontrol.LogFSGetDriveList + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetDriveList As OPENcontrol.LogFSGetDriveList) + MyBase.New + Me.LogFSGetDriveList = LogFSGetDriveList + End Sub + End Class + + _ + Partial Public Class LogFSGetDriveListResponse + + _ + Public LogFSGetDriveListR As OPENcontrol.LogFSGetDriveListR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetDriveListR As OPENcontrol.LogFSGetDriveListR) + MyBase.New + Me.LogFSGetDriveListR = LogFSGetDriveListR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetHiddenDriveList + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private indexField As UShort + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetHiddenDriveListR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private driveNameField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetHiddenDriveListRequest + + _ + Public LogFSGetHiddenDriveList As OPENcontrol.LogFSGetHiddenDriveList + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetHiddenDriveList As OPENcontrol.LogFSGetHiddenDriveList) + MyBase.New + Me.LogFSGetHiddenDriveList = LogFSGetHiddenDriveList + End Sub + End Class + + _ + Partial Public Class LogFSGetHiddenDriveListResponse + + _ + Public LogFSGetHiddenDriveListR As OPENcontrol.LogFSGetHiddenDriveListR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetHiddenDriveListR As OPENcontrol.LogFSGetHiddenDriveListR) + MyBase.New + Me.LogFSGetHiddenDriveListR = LogFSGetHiddenDriveListR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetDrivePath + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private driveNameField As String + + Private securityLevelField As SECURITYLEVEL + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetDrivePathR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private drivePathField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property DrivePath() As String + Get + Return Me.drivePathField + End Get + Set + Me.drivePathField = value + Me.RaisePropertyChanged("DrivePath") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetDrivePathRequest + + _ + Public LogFSGetDrivePath As OPENcontrol.LogFSGetDrivePath + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetDrivePath As OPENcontrol.LogFSGetDrivePath) + MyBase.New + Me.LogFSGetDrivePath = LogFSGetDrivePath + End Sub + End Class + + _ + Partial Public Class LogFSGetDrivePathResponse + + _ + Public LogFSGetDrivePathR As OPENcontrol.LogFSGetDrivePathR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetDrivePathR As OPENcontrol.LogFSGetDrivePathR) + MyBase.New + Me.LogFSGetDrivePathR = LogFSGetDrivePathR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSAddDrive + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private driveNameField As String + + Private pathNameField As String + + Private temporaryField As Boolean + + Private securityLevelField As SECURITYLEVEL + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Temporary() As Boolean + Get + Return Me.temporaryField + End Get + Set + Me.temporaryField = value + Me.RaisePropertyChanged("Temporary") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSAddDriveR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSAddDriveRequest + + _ + Public LogFSAddDrive As OPENcontrol.LogFSAddDrive + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSAddDrive As OPENcontrol.LogFSAddDrive) + MyBase.New + Me.LogFSAddDrive = LogFSAddDrive + End Sub + End Class + + _ + Partial Public Class LogFSAddDriveResponse + + _ + Public LogFSAddDriveR As OPENcontrol.LogFSAddDriveR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSAddDriveR As OPENcontrol.LogFSAddDriveR) + MyBase.New + Me.LogFSAddDriveR = LogFSAddDriveR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveDrive + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private driveNameField As String + + Private securityLevelField As SECURITYLEVEL + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveDriveR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSRemoveDriveRequest + + _ + Public LogFSRemoveDrive As OPENcontrol.LogFSRemoveDrive + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveDrive As OPENcontrol.LogFSRemoveDrive) + MyBase.New + Me.LogFSRemoveDrive = LogFSRemoveDrive + End Sub + End Class + + _ + Partial Public Class LogFSRemoveDriveResponse + + _ + Public LogFSRemoveDriveR As OPENcontrol.LogFSRemoveDriveR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveDriveR As OPENcontrol.LogFSRemoveDriveR) + MyBase.New + Me.LogFSRemoveDriveR = LogFSRemoveDriveR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSReloadDriveList + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSReloadDriveListR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSReloadDriveListRequest + + _ + Public LogFSReloadDriveList As OPENcontrol.LogFSReloadDriveList + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSReloadDriveList As OPENcontrol.LogFSReloadDriveList) + MyBase.New + Me.LogFSReloadDriveList = LogFSReloadDriveList + End Sub + End Class + + _ + Partial Public Class LogFSReloadDriveListResponse + + _ + Public LogFSReloadDriveListR As OPENcontrol.LogFSReloadDriveListR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSReloadDriveListR As OPENcontrol.LogFSReloadDriveListR) + MyBase.New + Me.LogFSReloadDriveListR = LogFSReloadDriveListR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCreateDir + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCreateDirR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSCreateDirRequest + + _ + Public LogFSCreateDir As OPENcontrol.LogFSCreateDir + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCreateDir As OPENcontrol.LogFSCreateDir) + MyBase.New + Me.LogFSCreateDir = LogFSCreateDir + End Sub + End Class + + _ + Partial Public Class LogFSCreateDirResponse + + _ + Public LogFSCreateDirR As OPENcontrol.LogFSCreateDirR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCreateDirR As OPENcontrol.LogFSCreateDirR) + MyBase.New + Me.LogFSCreateDirR = LogFSCreateDirR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCreateFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCreateFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSCreateFileRequest + + _ + Public LogFSCreateFile As OPENcontrol.LogFSCreateFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCreateFile As OPENcontrol.LogFSCreateFile) + MyBase.New + Me.LogFSCreateFile = LogFSCreateFile + End Sub + End Class + + _ + Partial Public Class LogFSCreateFileResponse + + _ + Public LogFSCreateFileR As OPENcontrol.LogFSCreateFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCreateFileR As OPENcontrol.LogFSCreateFileR) + MyBase.New + Me.LogFSCreateFileR = LogFSCreateFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetFileSize + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetFileSizeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private sizeField As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetFileSizeRequest + + _ + Public LogFSGetFileSize As OPENcontrol.LogFSGetFileSize + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetFileSize As OPENcontrol.LogFSGetFileSize) + MyBase.New + Me.LogFSGetFileSize = LogFSGetFileSize + End Sub + End Class + + _ + Partial Public Class LogFSGetFileSizeResponse + + _ + Public LogFSGetFileSizeR As OPENcontrol.LogFSGetFileSizeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetFileSizeR As OPENcontrol.LogFSGetFileSizeR) + MyBase.New + Me.LogFSGetFileSizeR = LogFSGetFileSizeR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetFileAttrib + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetFileAttribR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private attribField As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Attrib() As UInteger + Get + Return Me.attribField + End Get + Set + Me.attribField = value + Me.RaisePropertyChanged("Attrib") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetFileAttribRequest + + _ + Public LogFSGetFileAttrib As OPENcontrol.LogFSGetFileAttrib + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetFileAttrib As OPENcontrol.LogFSGetFileAttrib) + MyBase.New + Me.LogFSGetFileAttrib = LogFSGetFileAttrib + End Sub + End Class + + _ + Partial Public Class LogFSGetFileAttribResponse + + _ + Public LogFSGetFileAttribR As OPENcontrol.LogFSGetFileAttribR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetFileAttribR As OPENcontrol.LogFSGetFileAttribR) + MyBase.New + Me.LogFSGetFileAttribR = LogFSGetFileAttribR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSSetFileAttrib + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private attribField As UInteger + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Attrib() As UInteger + Get + Return Me.attribField + End Get + Set + Me.attribField = value + Me.RaisePropertyChanged("Attrib") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSSetFileAttribR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSSetFileAttribRequest + + _ + Public LogFSSetFileAttrib As OPENcontrol.LogFSSetFileAttrib + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSSetFileAttrib As OPENcontrol.LogFSSetFileAttrib) + MyBase.New + Me.LogFSSetFileAttrib = LogFSSetFileAttrib + End Sub + End Class + + _ + Partial Public Class LogFSSetFileAttribResponse + + _ + Public LogFSSetFileAttribR As OPENcontrol.LogFSSetFileAttribR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSSetFileAttribR As OPENcontrol.LogFSSetFileAttribR) + MyBase.New + Me.LogFSSetFileAttribR = LogFSSetFileAttribR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSChangeFileAttrib + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private addField As UInteger + + Private removeField As UInteger + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Add() As UInteger + Get + Return Me.addField + End Get + Set + Me.addField = value + Me.RaisePropertyChanged("Add") + End Set + End Property + + ''' + _ + Public Property Remove() As UInteger + Get + Return Me.removeField + End Get + Set + Me.removeField = value + Me.RaisePropertyChanged("Remove") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSChangeFileAttribR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSChangeFileAttribRequest + + _ + Public LogFSChangeFileAttrib As OPENcontrol.LogFSChangeFileAttrib + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSChangeFileAttrib As OPENcontrol.LogFSChangeFileAttrib) + MyBase.New + Me.LogFSChangeFileAttrib = LogFSChangeFileAttrib + End Sub + End Class + + _ + Partial Public Class LogFSChangeFileAttribResponse + + _ + Public LogFSChangeFileAttribR As OPENcontrol.LogFSChangeFileAttribR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSChangeFileAttribR As OPENcontrol.LogFSChangeFileAttribR) + MyBase.New + Me.LogFSChangeFileAttribR = LogFSChangeFileAttribR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindFirst + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileNameField As String + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindFirstR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private findDataField As FILEFINDDATA + + Private finderField As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property FindData() As FILEFINDDATA + Get + Return Me.findDataField + End Get + Set + Me.findDataField = value + Me.RaisePropertyChanged("FindData") + End Set + End Property + + ''' + _ + Public Property Finder() As UInteger + Get + Return Me.finderField + End Get + Set + Me.finderField = value + Me.RaisePropertyChanged("Finder") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSFindFirstRequest + + _ + Public LogFSFindFirst As OPENcontrol.LogFSFindFirst + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindFirst As OPENcontrol.LogFSFindFirst) + MyBase.New + Me.LogFSFindFirst = LogFSFindFirst + End Sub + End Class + + _ + Partial Public Class LogFSFindFirstResponse + + _ + Public LogFSFindFirstR As OPENcontrol.LogFSFindFirstR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindFirstR As OPENcontrol.LogFSFindFirstR) + MyBase.New + Me.LogFSFindFirstR = LogFSFindFirstR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindNext + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private finderField As UInteger + + ''' + _ + Public Property Finder() As UInteger + Get + Return Me.finderField + End Get + Set + Me.finderField = value + Me.RaisePropertyChanged("Finder") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindNextR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private findDataField As FILEFINDDATA + + Private foundField As Boolean + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property FindData() As FILEFINDDATA + Get + Return Me.findDataField + End Get + Set + Me.findDataField = value + Me.RaisePropertyChanged("FindData") + End Set + End Property + + ''' + _ + Public Property Found() As Boolean + Get + Return Me.foundField + End Get + Set + Me.foundField = value + Me.RaisePropertyChanged("Found") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSFindNextRequest + + _ + Public LogFSFindNext As OPENcontrol.LogFSFindNext + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindNext As OPENcontrol.LogFSFindNext) + MyBase.New + Me.LogFSFindNext = LogFSFindNext + End Sub + End Class + + _ + Partial Public Class LogFSFindNextResponse + + _ + Public LogFSFindNextR As OPENcontrol.LogFSFindNextR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindNextR As OPENcontrol.LogFSFindNextR) + MyBase.New + Me.LogFSFindNextR = LogFSFindNextR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindClose + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private finderField As UInteger + + ''' + _ + Public Property Finder() As UInteger + Get + Return Me.finderField + End Get + Set + Me.finderField = value + Me.RaisePropertyChanged("Finder") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindCloseR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSFindCloseRequest + + _ + Public LogFSFindClose As OPENcontrol.LogFSFindClose + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindClose As OPENcontrol.LogFSFindClose) + MyBase.New + Me.LogFSFindClose = LogFSFindClose + End Sub + End Class + + _ + Partial Public Class LogFSFindCloseResponse + + _ + Public LogFSFindCloseR As OPENcontrol.LogFSFindCloseR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindCloseR As OPENcontrol.LogFSFindCloseR) + MyBase.New + Me.LogFSFindCloseR = LogFSFindCloseR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private fileNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSRemoveFileRequest + + _ + Public LogFSRemoveFile As OPENcontrol.LogFSRemoveFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveFile As OPENcontrol.LogFSRemoveFile) + MyBase.New + Me.LogFSRemoveFile = LogFSRemoveFile + End Sub + End Class + + _ + Partial Public Class LogFSRemoveFileResponse + + _ + Public LogFSRemoveFileR As OPENcontrol.LogFSRemoveFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveFileR As OPENcontrol.LogFSRemoveFileR) + MyBase.New + Me.LogFSRemoveFileR = LogFSRemoveFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveDir + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveDirR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSRemoveDirRequest + + _ + Public LogFSRemoveDir As OPENcontrol.LogFSRemoveDir + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveDir As OPENcontrol.LogFSRemoveDir) + MyBase.New + Me.LogFSRemoveDir = LogFSRemoveDir + End Sub + End Class + + _ + Partial Public Class LogFSRemoveDirResponse + + _ + Public LogFSRemoveDirR As OPENcontrol.LogFSRemoveDirR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveDirR As OPENcontrol.LogFSRemoveDirR) + MyBase.New + Me.LogFSRemoveDirR = LogFSRemoveDirR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRename + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private newPathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property NewPathName() As String + Get + Return Me.newPathNameField + End Get + Set + Me.newPathNameField = value + Me.RaisePropertyChanged("NewPathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRenameR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSRenameRequest + + _ + Public LogFSRename As OPENcontrol.LogFSRename + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRename As OPENcontrol.LogFSRename) + MyBase.New + Me.LogFSRename = LogFSRename + End Sub + End Class + + _ + Partial Public Class LogFSRenameResponse + + _ + Public LogFSRenameR As OPENcontrol.LogFSRenameR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRenameR As OPENcontrol.LogFSRenameR) + MyBase.New + Me.LogFSRenameR = LogFSRenameR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCopyFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private newPathNameField As String + + Private failIfExistsField As Boolean + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property NewPathName() As String + Get + Return Me.newPathNameField + End Get + Set + Me.newPathNameField = value + Me.RaisePropertyChanged("NewPathName") + End Set + End Property + + ''' + _ + Public Property FailIfExists() As Boolean + Get + Return Me.failIfExistsField + End Get + Set + Me.failIfExistsField = value + Me.RaisePropertyChanged("FailIfExists") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCopyFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSCopyFileRequest + + _ + Public LogFSCopyFile As OPENcontrol.LogFSCopyFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCopyFile As OPENcontrol.LogFSCopyFile) + MyBase.New + Me.LogFSCopyFile = LogFSCopyFile + End Sub + End Class + + _ + Partial Public Class LogFSCopyFileResponse + + _ + Public LogFSCopyFileR As OPENcontrol.LogFSCopyFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCopyFileR As OPENcontrol.LogFSCopyFileR) + MyBase.New + Me.LogFSCopyFileR = LogFSCopyFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetInfo + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private selectorField As UInteger + + Private itemCounterField As UShort + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Selector() As UInteger + Get + Return Me.selectorField + End Get + Set + Me.selectorField = value + Me.RaisePropertyChanged("Selector") + End Set + End Property + + ''' + _ + Public Property ItemCounter() As UShort + Get + Return Me.itemCounterField + End Get + Set + Me.itemCounterField = value + Me.RaisePropertyChanged("ItemCounter") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetInfoR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private bufferField() As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Buffer() As UInteger() + Get + Return Me.bufferField + End Get + Set + Me.bufferField = value + Me.RaisePropertyChanged("Buffer") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetInfoRequest + + _ + Public LogFSGetInfo As OPENcontrol.LogFSGetInfo + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetInfo As OPENcontrol.LogFSGetInfo) + MyBase.New + Me.LogFSGetInfo = LogFSGetInfo + End Sub + End Class + + _ + Partial Public Class LogFSGetInfoResponse + + _ + Public LogFSGetInfoR As OPENcontrol.LogFSGetInfoR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetInfoR As OPENcontrol.LogFSGetInfoR) + MyBase.New + Me.LogFSGetInfoR = LogFSGetInfoR + End Sub + End Class + + ''' + _ + Partial Public Class GetAvailableCustomEvents + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private maxEventsField As UShort + + ''' + _ + Public Property MaxEvents() As UShort + Get + Return Me.maxEventsField + End Get + Set + Me.maxEventsField = value + Me.RaisePropertyChanged("MaxEvents") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetAvailableCustomEventsR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private numEventsField As UShort + + Private eventDataField() As MONCUSTOMEVENTINFO + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property NumEvents() As UShort + Get + Return Me.numEventsField + End Get + Set + Me.numEventsField = value + Me.RaisePropertyChanged("NumEvents") + End Set + End Property + + ''' + _ + Public Property EventData() As MONCUSTOMEVENTINFO() + Get + Return Me.eventDataField + End Get + Set + Me.eventDataField = value + Me.RaisePropertyChanged("EventData") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetAvailableCustomEventsRequest + + _ + Public GetAvailableCustomEvents As OPENcontrol.GetAvailableCustomEvents + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAvailableCustomEvents As OPENcontrol.GetAvailableCustomEvents) + MyBase.New + Me.GetAvailableCustomEvents = GetAvailableCustomEvents + End Sub + End Class + + _ + Partial Public Class GetAvailableCustomEventsResponse + + _ + Public GetAvailableCustomEventsR As OPENcontrol.GetAvailableCustomEventsR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAvailableCustomEventsR As OPENcontrol.GetAvailableCustomEventsR) + MyBase.New + Me.GetAvailableCustomEventsR = GetAvailableCustomEventsR + End Sub + End Class + + ''' + _ + Partial Public Class GetSysTick + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetSysTickR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private sysTickField As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property SysTick() As Double + Get + Return Me.sysTickField + End Get + Set + Me.sysTickField = value + Me.RaisePropertyChanged("SysTick") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetSysTickRequest + + _ + Public GetSysTick As OPENcontrol.GetSysTick + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSysTick As OPENcontrol.GetSysTick) + MyBase.New + Me.GetSysTick = GetSysTick + End Sub + End Class + + _ + Partial Public Class GetSysTickResponse + + _ + Public GetSysTickR As OPENcontrol.GetSysTickR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSysTickR As OPENcontrol.GetSysTickR) + MyBase.New + Me.GetSysTickR = GetSysTickR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcessConfNum + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetProcessConfNumR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private processConfNumField As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ProcessConfNum() As Byte + Get + Return Me.processConfNumField + End Get + Set + Me.processConfNumField = value + Me.RaisePropertyChanged("ProcessConfNum") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcessConfNumRequest + + _ + Public GetProcessConfNum As OPENcontrol.GetProcessConfNum + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcessConfNum As OPENcontrol.GetProcessConfNum) + MyBase.New + Me.GetProcessConfNum = GetProcessConfNum + End Sub + End Class + + _ + Partial Public Class GetProcessConfNumResponse + + _ + Public GetProcessConfNumR As OPENcontrol.GetProcessConfNumR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcessConfNumR As OPENcontrol.GetProcessConfNumR) + MyBase.New + Me.GetProcessConfNumR = GetProcessConfNumR + End Sub + End Class + + ''' + _ + Partial Public Class MonOpenChannel + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private synchronizedField As Boolean + + ''' + _ + Public Property Synchronized() As Boolean + Get + Return Me.synchronizedField + End Get + Set + Me.synchronizedField = value + Me.RaisePropertyChanged("Synchronized") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonOpenChannelR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private channelIDField As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonOpenChannelRequest + + _ + Public MonOpenChannel As OPENcontrol.MonOpenChannel + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonOpenChannel As OPENcontrol.MonOpenChannel) + MyBase.New + Me.MonOpenChannel = MonOpenChannel + End Sub + End Class + + _ + Partial Public Class MonOpenChannelResponse + + _ + Public MonOpenChannelR As OPENcontrol.MonOpenChannelR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonOpenChannelR As OPENcontrol.MonOpenChannelR) + MyBase.New + Me.MonOpenChannelR = MonOpenChannelR + End Sub + End Class + + ''' + _ + Partial Public Class MonCloseChannel + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonCloseChannelR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonCloseChannelRequest + + _ + Public MonCloseChannel As OPENcontrol.MonCloseChannel + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonCloseChannel As OPENcontrol.MonCloseChannel) + MyBase.New + Me.MonCloseChannel = MonCloseChannel + End Sub + End Class + + _ + Partial Public Class MonCloseChannelResponse + + _ + Public MonCloseChannelR As OPENcontrol.MonCloseChannelR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonCloseChannelR As OPENcontrol.MonCloseChannelR) + MyBase.New + Me.MonCloseChannelR = MonCloseChannelR + End Sub + End Class + + ''' + _ + Partial Public Class MonAddVariable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + Private varDescrField As MONVARDESCR + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + ''' + _ + Public Property VarDescr() As MONVARDESCR + Get + Return Me.varDescrField + End Get + Set + Me.varDescrField = value + Me.RaisePropertyChanged("VarDescr") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonAddVariableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private variableIDField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property VariableID() As UShort + Get + Return Me.variableIDField + End Get + Set + Me.variableIDField = value + Me.RaisePropertyChanged("VariableID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonAddVariableRequest + + _ + Public MonAddVariable As OPENcontrol.MonAddVariable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonAddVariable As OPENcontrol.MonAddVariable) + MyBase.New + Me.MonAddVariable = MonAddVariable + End Sub + End Class + + _ + Partial Public Class MonAddVariableResponse + + _ + Public MonAddVariableR As OPENcontrol.MonAddVariableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonAddVariableR As OPENcontrol.MonAddVariableR) + MyBase.New + Me.MonAddVariableR = MonAddVariableR + End Sub + End Class + + ''' + _ + Partial Public Class MonDeleteVariable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + Private variableIDField As UShort + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + ''' + _ + Public Property VariableID() As UShort + Get + Return Me.variableIDField + End Get + Set + Me.variableIDField = value + Me.RaisePropertyChanged("VariableID") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonDeleteVariableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonDeleteVariableRequest + + _ + Public MonDeleteVariable As OPENcontrol.MonDeleteVariable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonDeleteVariable As OPENcontrol.MonDeleteVariable) + MyBase.New + Me.MonDeleteVariable = MonDeleteVariable + End Sub + End Class + + _ + Partial Public Class MonDeleteVariableResponse + + _ + Public MonDeleteVariableR As OPENcontrol.MonDeleteVariableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonDeleteVariableR As OPENcontrol.MonDeleteVariableR) + MyBase.New + Me.MonDeleteVariableR = MonDeleteVariableR + End Sub + End Class + + ''' + _ + Partial Public Class MonStartSampling + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonStartSamplingR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonStartSamplingRequest + + _ + Public MonStartSampling As OPENcontrol.MonStartSampling + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonStartSampling As OPENcontrol.MonStartSampling) + MyBase.New + Me.MonStartSampling = MonStartSampling + End Sub + End Class + + _ + Partial Public Class MonStartSamplingResponse + + _ + Public MonStartSamplingR As OPENcontrol.MonStartSamplingR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonStartSamplingR As OPENcontrol.MonStartSamplingR) + MyBase.New + Me.MonStartSamplingR = MonStartSamplingR + End Sub + End Class + + ''' + _ + Partial Public Class MonStopSampling + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonStopSamplingR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonStopSamplingRequest + + _ + Public MonStopSampling As OPENcontrol.MonStopSampling + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonStopSampling As OPENcontrol.MonStopSampling) + MyBase.New + Me.MonStopSampling = MonStopSampling + End Sub + End Class + + _ + Partial Public Class MonStopSamplingResponse + + _ + Public MonStopSamplingR As OPENcontrol.MonStopSamplingR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonStopSamplingR As OPENcontrol.MonStopSamplingR) + MyBase.New + Me.MonStopSamplingR = MonStopSamplingR + End Sub + End Class + + ''' + _ + Partial Public Class MonGetVariable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + Private variableIDField As UShort + + Private maxSamplesField As UShort + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + ''' + _ + Public Property VariableID() As UShort + Get + Return Me.variableIDField + End Get + Set + Me.variableIDField = value + Me.RaisePropertyChanged("VariableID") + End Set + End Property + + ''' + _ + Public Property MaxSamples() As UShort + Get + Return Me.maxSamplesField + End Get + Set + Me.maxSamplesField = value + Me.RaisePropertyChanged("MaxSamples") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonGetVariableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private numSampleReadField As UShort + + Private dataBufferField() As Double + + Private timeBufferField() As Long + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property NumSampleRead() As UShort + Get + Return Me.numSampleReadField + End Get + Set + Me.numSampleReadField = value + Me.RaisePropertyChanged("NumSampleRead") + End Set + End Property + + ''' + _ + Public Property DataBuffer() As Double() + Get + Return Me.dataBufferField + End Get + Set + Me.dataBufferField = value + Me.RaisePropertyChanged("DataBuffer") + End Set + End Property + + ''' + _ + Public Property TimeBuffer() As Long() + Get + Return Me.timeBufferField + End Get + Set + Me.timeBufferField = value + Me.RaisePropertyChanged("TimeBuffer") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonGetVariableRequest + + _ + Public MonGetVariable As OPENcontrol.MonGetVariable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonGetVariable As OPENcontrol.MonGetVariable) + MyBase.New + Me.MonGetVariable = MonGetVariable + End Sub + End Class + + _ + Partial Public Class MonGetVariableResponse + + _ + Public MonGetVariableR As OPENcontrol.MonGetVariableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonGetVariableR As OPENcontrol.MonGetVariableR) + MyBase.New + Me.MonGetVariableR = MonGetVariableR + End Sub + End Class + + ''' + _ + Partial Public Class CheckHistory + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class CheckHistoryR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private thisBootMsgCounterField() As UInteger + + Private allBootMsgCounterField() As UInteger + + Private thisBootIDField() As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ThisBootMsgCounter() As UInteger() + Get + Return Me.thisBootMsgCounterField + End Get + Set + Me.thisBootMsgCounterField = value + Me.RaisePropertyChanged("ThisBootMsgCounter") + End Set + End Property + + ''' + _ + Public Property AllBootMsgCounter() As UInteger() + Get + Return Me.allBootMsgCounterField + End Get + Set + Me.allBootMsgCounterField = value + Me.RaisePropertyChanged("AllBootMsgCounter") + End Set + End Property + + ''' + _ + Public Property ThisBootID() As UInteger() + Get + Return Me.thisBootIDField + End Get + Set + Me.thisBootIDField = value + Me.RaisePropertyChanged("ThisBootID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class CheckHistoryRequest + + _ + Public CheckHistory As OPENcontrol.CheckHistory + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal CheckHistory As OPENcontrol.CheckHistory) + MyBase.New + Me.CheckHistory = CheckHistory + End Sub + End Class + + _ + Partial Public Class CheckHistoryResponse + + _ + Public CheckHistoryR As OPENcontrol.CheckHistoryR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal CheckHistoryR As OPENcontrol.CheckHistoryR) + MyBase.New + Me.CheckHistoryR = CheckHistoryR + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryEmergMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private readModeField As Integer + + Private recNumField As UInteger + + ''' + _ + Public Property ReadMode() As Integer + Get + Return Me.readModeField + End Get + Set + Me.readModeField = value + Me.RaisePropertyChanged("ReadMode") + End Set + End Property + + ''' + _ + Public Property RecNum() As UInteger + Get + Return Me.recNumField + End Get + Set + Me.recNumField = value + Me.RaisePropertyChanged("RecNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryEmergMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGEMERGENCY + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGEMERGENCY + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadHistoryEmergMsgRequest + + _ + Public ReadHistoryEmergMsg As OPENcontrol.ReadHistoryEmergMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryEmergMsg As OPENcontrol.ReadHistoryEmergMsg) + MyBase.New + Me.ReadHistoryEmergMsg = ReadHistoryEmergMsg + End Sub + End Class + + _ + Partial Public Class ReadHistoryEmergMsgResponse + + _ + Public ReadHistoryEmergMsgR As OPENcontrol.ReadHistoryEmergMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryEmergMsgR As OPENcontrol.ReadHistoryEmergMsgR) + MyBase.New + Me.ReadHistoryEmergMsgR = ReadHistoryEmergMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryErrorMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private readModeField As Integer + + Private recNumField As UInteger + + ''' + _ + Public Property ReadMode() As Integer + Get + Return Me.readModeField + End Get + Set + Me.readModeField = value + Me.RaisePropertyChanged("ReadMode") + End Set + End Property + + ''' + _ + Public Property RecNum() As UInteger + Get + Return Me.recNumField + End Get + Set + Me.recNumField = value + Me.RaisePropertyChanged("RecNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryErrorMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGERROR + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGERROR + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadHistoryErrorMsgRequest + + _ + Public ReadHistoryErrorMsg As OPENcontrol.ReadHistoryErrorMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryErrorMsg As OPENcontrol.ReadHistoryErrorMsg) + MyBase.New + Me.ReadHistoryErrorMsg = ReadHistoryErrorMsg + End Sub + End Class + + _ + Partial Public Class ReadHistoryErrorMsgResponse + + _ + Public ReadHistoryErrorMsgR As OPENcontrol.ReadHistoryErrorMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryErrorMsgR As OPENcontrol.ReadHistoryErrorMsgR) + MyBase.New + Me.ReadHistoryErrorMsgR = ReadHistoryErrorMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryLogMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private noHistoryField As Integer + + Private readModeField As Integer + + Private recNumField As UInteger + + ''' + _ + Public Property NoHistory() As Integer + Get + Return Me.noHistoryField + End Get + Set + Me.noHistoryField = value + Me.RaisePropertyChanged("NoHistory") + End Set + End Property + + ''' + _ + Public Property ReadMode() As Integer + Get + Return Me.readModeField + End Get + Set + Me.readModeField = value + Me.RaisePropertyChanged("ReadMode") + End Set + End Property + + ''' + _ + Public Property RecNum() As UInteger + Get + Return Me.recNumField + End Get + Set + Me.recNumField = value + Me.RaisePropertyChanged("RecNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryLogMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGLOGS + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGLOGS + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadHistoryLogMsgRequest + + _ + Public ReadHistoryLogMsg As OPENcontrol.ReadHistoryLogMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryLogMsg As OPENcontrol.ReadHistoryLogMsg) + MyBase.New + Me.ReadHistoryLogMsg = ReadHistoryLogMsg + End Sub + End Class + + _ + Partial Public Class ReadHistoryLogMsgResponse + + _ + Public ReadHistoryLogMsgR As OPENcontrol.ReadHistoryLogMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryLogMsgR As OPENcontrol.ReadHistoryLogMsgR) + MyBase.New + Me.ReadHistoryLogMsgR = ReadHistoryLogMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryAnomalyMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private readModeField As Integer + + Private recNumField As UInteger + + ''' + _ + Public Property ReadMode() As Integer + Get + Return Me.readModeField + End Get + Set + Me.readModeField = value + Me.RaisePropertyChanged("ReadMode") + End Set + End Property + + ''' + _ + Public Property RecNum() As UInteger + Get + Return Me.recNumField + End Get + Set + Me.recNumField = value + Me.RaisePropertyChanged("RecNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryAnomalyMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGANOMALY + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGANOMALY + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadHistoryAnomalyMsgRequest + + _ + Public ReadHistoryAnomalyMsg As OPENcontrol.ReadHistoryAnomalyMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryAnomalyMsg As OPENcontrol.ReadHistoryAnomalyMsg) + MyBase.New + Me.ReadHistoryAnomalyMsg = ReadHistoryAnomalyMsg + End Sub + End Class + + _ + Partial Public Class ReadHistoryAnomalyMsgResponse + + _ + Public ReadHistoryAnomalyMsgR As OPENcontrol.ReadHistoryAnomalyMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryAnomalyMsgR As OPENcontrol.ReadHistoryAnomalyMsgR) + MyBase.New + Me.ReadHistoryAnomalyMsgR = ReadHistoryAnomalyMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentErrorMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentErrorMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGERROR + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGERROR + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadCurrentErrorMsgRequest + + _ + Public ReadCurrentErrorMsg As OPENcontrol.ReadCurrentErrorMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentErrorMsg As OPENcontrol.ReadCurrentErrorMsg) + MyBase.New + Me.ReadCurrentErrorMsg = ReadCurrentErrorMsg + End Sub + End Class + + _ + Partial Public Class ReadCurrentErrorMsgResponse + + _ + Public ReadCurrentErrorMsgR As OPENcontrol.ReadCurrentErrorMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentErrorMsgR As OPENcontrol.ReadCurrentErrorMsgR) + MyBase.New + Me.ReadCurrentErrorMsgR = ReadCurrentErrorMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentEmergMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentEmergMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGEMERGENCY + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGEMERGENCY + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadCurrentEmergMsgRequest + + _ + Public ReadCurrentEmergMsg As OPENcontrol.ReadCurrentEmergMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentEmergMsg As OPENcontrol.ReadCurrentEmergMsg) + MyBase.New + Me.ReadCurrentEmergMsg = ReadCurrentEmergMsg + End Sub + End Class + + _ + Partial Public Class ReadCurrentEmergMsgResponse + + _ + Public ReadCurrentEmergMsgR As OPENcontrol.ReadCurrentEmergMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentEmergMsgR As OPENcontrol.ReadCurrentEmergMsgR) + MyBase.New + Me.ReadCurrentEmergMsgR = ReadCurrentEmergMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentAnomalyMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentAnomalyMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGANOMALY + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGANOMALY + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadCurrentAnomalyMsgRequest + + _ + Public ReadCurrentAnomalyMsg As OPENcontrol.ReadCurrentAnomalyMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentAnomalyMsg As OPENcontrol.ReadCurrentAnomalyMsg) + MyBase.New + Me.ReadCurrentAnomalyMsg = ReadCurrentAnomalyMsg + End Sub + End Class + + _ + Partial Public Class ReadCurrentAnomalyMsgResponse + + _ + Public ReadCurrentAnomalyMsgR As OPENcontrol.ReadCurrentAnomalyMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentAnomalyMsgR As OPENcontrol.ReadCurrentAnomalyMsgR) + MyBase.New + Me.ReadCurrentAnomalyMsgR = ReadCurrentAnomalyMsgR + End Sub + End Class + + ''' + _ + Partial Public Class GetPTechSizes + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetPTechSizesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private ind1Field As UShort + + Private ind2Field As UShort + + Private ind3Field As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Ind1() As UShort + Get + Return Me.ind1Field + End Get + Set + Me.ind1Field = value + Me.RaisePropertyChanged("Ind1") + End Set + End Property + + ''' + _ + Public Property Ind2() As UShort + Get + Return Me.ind2Field + End Get + Set + Me.ind2Field = value + Me.RaisePropertyChanged("Ind2") + End Set + End Property + + ''' + _ + Public Property Ind3() As UShort + Get + Return Me.ind3Field + End Get + Set + Me.ind3Field = value + Me.RaisePropertyChanged("Ind3") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetPTechSizesRequest + + _ + Public GetPTechSizes As OPENcontrol.GetPTechSizes + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetPTechSizes As OPENcontrol.GetPTechSizes) + MyBase.New + Me.GetPTechSizes = GetPTechSizes + End Sub + End Class + + _ + Partial Public Class GetPTechSizesResponse + + _ + Public GetPTechSizesR As OPENcontrol.GetPTechSizesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetPTechSizesR As OPENcontrol.GetPTechSizesR) + MyBase.New + Me.GetPTechSizesR = GetPTechSizesR + End Sub + End Class + + ''' + _ + Partial Public Class LoadPTech + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private pPPathNameField As String + + Private writeModeField As UShort + + Private sheetField As UShort + + Private lineField As UShort + + Private columnField As UShort + + Private numVarField As UShort + + Private dataField() As Double + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property PPPathName() As String + Get + Return Me.pPPathNameField + End Get + Set + Me.pPPathNameField = value + Me.RaisePropertyChanged("PPPathName") + End Set + End Property + + ''' + _ + Public Property WriteMode() As UShort + Get + Return Me.writeModeField + End Get + Set + Me.writeModeField = value + Me.RaisePropertyChanged("WriteMode") + End Set + End Property + + ''' + _ + Public Property Sheet() As UShort + Get + Return Me.sheetField + End Get + Set + Me.sheetField = value + Me.RaisePropertyChanged("Sheet") + End Set + End Property + + ''' + _ + Public Property Line() As UShort + Get + Return Me.lineField + End Get + Set + Me.lineField = value + Me.RaisePropertyChanged("Line") + End Set + End Property + + ''' + _ + Public Property Column() As UShort + Get + Return Me.columnField + End Get + Set + Me.columnField = value + Me.RaisePropertyChanged("Column") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + ''' + _ + Public Property Data() As Double() + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LoadPTechR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LoadPTechRequest + + _ + Public LoadPTech As OPENcontrol.LoadPTech + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LoadPTech As OPENcontrol.LoadPTech) + MyBase.New + Me.LoadPTech = LoadPTech + End Sub + End Class + + _ + Partial Public Class LoadPTechResponse + + _ + Public LoadPTechR As OPENcontrol.LoadPTechR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LoadPTechR As OPENcontrol.LoadPTechR) + MyBase.New + Me.LoadPTechR = LoadPTechR + End Sub + End Class + + ''' + _ + Partial Public Class GetMarkerInfo + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private requestField As Byte + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Request() As Byte + Get + Return Me.requestField + End Get + Set + Me.requestField = value + Me.RaisePropertyChanged("Request") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetMarkerInfoR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private markerInfoField As MARKERINFO + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property MarkerInfo() As MARKERINFO + Get + Return Me.markerInfoField + End Get + Set + Me.markerInfoField = value + Me.RaisePropertyChanged("MarkerInfo") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetMarkerInfoRequest + + _ + Public GetMarkerInfo As OPENcontrol.GetMarkerInfo + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetMarkerInfo As OPENcontrol.GetMarkerInfo) + MyBase.New + Me.GetMarkerInfo = GetMarkerInfo + End Sub + End Class + + _ + Partial Public Class GetMarkerInfoResponse + + _ + Public GetMarkerInfoR As OPENcontrol.GetMarkerInfoR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetMarkerInfoR As OPENcontrol.GetMarkerInfoR) + MyBase.New + Me.GetMarkerInfoR = GetMarkerInfoR + End Sub + End Class + + ''' + _ + Partial Public Class ManagePartProgram + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private modeField As UShort + + Private pPPathField As String + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + ''' + _ + Public Property PPPath() As String + Get + Return Me.pPPathField + End Get + Set + Me.pPPathField = value + Me.RaisePropertyChanged("PPPath") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ManagePartProgramR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errStringField() As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrString() As Byte() + Get + Return Me.errStringField + End Get + Set + Me.errStringField = value + Me.RaisePropertyChanged("ErrString") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ManagePartProgramRequest + + _ + Public ManagePartProgram As OPENcontrol.ManagePartProgram + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ManagePartProgram As OPENcontrol.ManagePartProgram) + MyBase.New + Me.ManagePartProgram = ManagePartProgram + End Sub + End Class + + _ + Partial Public Class ManagePartProgramResponse + + _ + Public ManagePartProgramR As OPENcontrol.ManagePartProgramR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ManagePartProgramR As OPENcontrol.ManagePartProgramR) + MyBase.New + Me.ManagePartProgramR = ManagePartProgramR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSOpenFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private writeModeField As Boolean + + Private dOSDateLastWriteField As UShort + + Private dOSTimeLastWriteField As UShort + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property WriteMode() As Boolean + Get + Return Me.writeModeField + End Get + Set + Me.writeModeField = value + Me.RaisePropertyChanged("WriteMode") + End Set + End Property + + ''' + _ + Public Property DOSDateLastWrite() As UShort + Get + Return Me.dOSDateLastWriteField + End Get + Set + Me.dOSDateLastWriteField = value + Me.RaisePropertyChanged("DOSDateLastWrite") + End Set + End Property + + ''' + _ + Public Property DOSTimeLastWrite() As UShort + Get + Return Me.dOSTimeLastWriteField + End Get + Set + Me.dOSTimeLastWriteField = value + Me.RaisePropertyChanged("DOSTimeLastWrite") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSOpenFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private fileIDField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSOpenFileRequest + + _ + Public LogFSOpenFile As OPENcontrol.LogFSOpenFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSOpenFile As OPENcontrol.LogFSOpenFile) + MyBase.New + Me.LogFSOpenFile = LogFSOpenFile + End Sub + End Class + + _ + Partial Public Class LogFSOpenFileResponse + + _ + Public LogFSOpenFileR As OPENcontrol.LogFSOpenFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSOpenFileR As OPENcontrol.LogFSOpenFileR) + MyBase.New + Me.LogFSOpenFileR = LogFSOpenFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCloseFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileIDField As UShort + + Private transactionField As UShort + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property Transaction() As UShort + Get + Return Me.transactionField + End Get + Set + Me.transactionField = value + Me.RaisePropertyChanged("Transaction") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCloseFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private fileIDField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSCloseFileRequest + + _ + Public LogFSCloseFile As OPENcontrol.LogFSCloseFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCloseFile As OPENcontrol.LogFSCloseFile) + MyBase.New + Me.LogFSCloseFile = LogFSCloseFile + End Sub + End Class + + _ + Partial Public Class LogFSCloseFileResponse + + _ + Public LogFSCloseFileR As OPENcontrol.LogFSCloseFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCloseFileR As OPENcontrol.LogFSCloseFileR) + MyBase.New + Me.LogFSCloseFileR = LogFSCloseFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSWriteRecord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileIDField As UShort + + Private transactionField As UShort + + Private recordLenField As UInteger + + Private recordField() As Byte + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property Transaction() As UShort + Get + Return Me.transactionField + End Get + Set + Me.transactionField = value + Me.RaisePropertyChanged("Transaction") + End Set + End Property + + ''' + _ + Public Property RecordLen() As UInteger + Get + Return Me.recordLenField + End Get + Set + Me.recordLenField = value + Me.RaisePropertyChanged("RecordLen") + End Set + End Property + + ''' + _ + Public Property Record() As Byte() + Get + Return Me.recordField + End Get + Set + Me.recordField = value + Me.RaisePropertyChanged("Record") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSWriteRecordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSWriteRecordRequest + + _ + Public LogFSWriteRecord As OPENcontrol.LogFSWriteRecord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSWriteRecord As OPENcontrol.LogFSWriteRecord) + MyBase.New + Me.LogFSWriteRecord = LogFSWriteRecord + End Sub + End Class + + _ + Partial Public Class LogFSWriteRecordResponse + + _ + Public LogFSWriteRecordR As OPENcontrol.LogFSWriteRecordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSWriteRecordR As OPENcontrol.LogFSWriteRecordR) + MyBase.New + Me.LogFSWriteRecordR = LogFSWriteRecordR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSReadRecord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileIDField As UShort + + Private transactionField As UShort + + Private recordLenField As UInteger + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property Transaction() As UShort + Get + Return Me.transactionField + End Get + Set + Me.transactionField = value + Me.RaisePropertyChanged("Transaction") + End Set + End Property + + ''' + _ + Public Property RecordLen() As UInteger + Get + Return Me.recordLenField + End Get + Set + Me.recordLenField = value + Me.RaisePropertyChanged("RecordLen") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSReadRecordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataSizeField As UInteger + + Private recordField() As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property DataSize() As UInteger + Get + Return Me.dataSizeField + End Get + Set + Me.dataSizeField = value + Me.RaisePropertyChanged("DataSize") + End Set + End Property + + ''' + _ + Public Property Record() As Byte() + Get + Return Me.recordField + End Get + Set + Me.recordField = value + Me.RaisePropertyChanged("Record") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSReadRecordRequest + + _ + Public LogFSReadRecord As OPENcontrol.LogFSReadRecord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSReadRecord As OPENcontrol.LogFSReadRecord) + MyBase.New + Me.LogFSReadRecord = LogFSReadRecord + End Sub + End Class + + _ + Partial Public Class LogFSReadRecordResponse + + _ + Public LogFSReadRecordR As OPENcontrol.LogFSReadRecordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSReadRecordR As OPENcontrol.LogFSReadRecordR) + MyBase.New + Me.LogFSReadRecordR = LogFSReadRecordR + End Sub + End Class + + ''' + _ + Partial Public Class ReadRemapDefinitions + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private arraySizeField As Integer + + Private typeField As Integer + + ''' + _ + Public Property ArraySize() As Integer + Get + Return Me.arraySizeField + End Get + Set + Me.arraySizeField = value + Me.RaisePropertyChanged("ArraySize") + End Set + End Property + + ''' + _ + Public Property Type() As Integer + Get + Return Me.typeField + End Get + Set + Me.typeField = value + Me.RaisePropertyChanged("Type") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadRemapDefinitionsR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private arrayField() As REMAPDEF + + Private definitionsCntField As Integer + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Array() As REMAPDEF() + Get + Return Me.arrayField + End Get + Set + Me.arrayField = value + Me.RaisePropertyChanged("Array") + End Set + End Property + + ''' + _ + Public Property DefinitionsCnt() As Integer + Get + Return Me.definitionsCntField + End Get + Set + Me.definitionsCntField = value + Me.RaisePropertyChanged("DefinitionsCnt") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadRemapDefinitionsRequest + + _ + Public ReadRemapDefinitions As OPENcontrol.ReadRemapDefinitions + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadRemapDefinitions As OPENcontrol.ReadRemapDefinitions) + MyBase.New + Me.ReadRemapDefinitions = ReadRemapDefinitions + End Sub + End Class + + _ + Partial Public Class ReadRemapDefinitionsResponse + + _ + Public ReadRemapDefinitionsR As OPENcontrol.ReadRemapDefinitionsR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadRemapDefinitionsR As OPENcontrol.ReadRemapDefinitionsR) + MyBase.New + Me.ReadRemapDefinitionsR = ReadRemapDefinitionsR + End Sub + End Class + + ''' + _ + Partial Public Class WriteRemapDefinitions + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private arraySizeField As Integer + + Private arrayField() As REMAPDEF + + Private typeField As Integer + + Private modeField As Integer + + ''' + _ + Public Property ArraySize() As Integer + Get + Return Me.arraySizeField + End Get + Set + Me.arraySizeField = value + Me.RaisePropertyChanged("ArraySize") + End Set + End Property + + ''' + _ + Public Property Array() As REMAPDEF() + Get + Return Me.arrayField + End Get + Set + Me.arrayField = value + Me.RaisePropertyChanged("Array") + End Set + End Property + + ''' + _ + Public Property Type() As Integer + Get + Return Me.typeField + End Get + Set + Me.typeField = value + Me.RaisePropertyChanged("Type") + End Set + End Property + + ''' + _ + Public Property Mode() As Integer + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteRemapDefinitionsR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteRemapDefinitionsRequest + + _ + Public WriteRemapDefinitions As OPENcontrol.WriteRemapDefinitions + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteRemapDefinitions As OPENcontrol.WriteRemapDefinitions) + MyBase.New + Me.WriteRemapDefinitions = WriteRemapDefinitions + End Sub + End Class + + _ + Partial Public Class WriteRemapDefinitionsResponse + + _ + Public WriteRemapDefinitionsR As OPENcontrol.WriteRemapDefinitionsR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteRemapDefinitionsR As OPENcontrol.WriteRemapDefinitionsR) + MyBase.New + Me.WriteRemapDefinitionsR = WriteRemapDefinitionsR + End Sub + End Class + + ''' + _ + Partial Public Class GetServoPar + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisIdField As UShort + + Private parIdField As UShort + + ''' + _ + Public Property AxisId() As UShort + Get + Return Me.axisIdField + End Get + Set + Me.axisIdField = value + Me.RaisePropertyChanged("AxisId") + End Set + End Property + + ''' + _ + Public Property ParId() As UShort + Get + Return Me.parIdField + End Get + Set + Me.parIdField = value + Me.RaisePropertyChanged("ParId") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetServoParR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetServoParRequest + + _ + Public GetServoPar As OPENcontrol.GetServoPar + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetServoPar As OPENcontrol.GetServoPar) + MyBase.New + Me.GetServoPar = GetServoPar + End Sub + End Class + + _ + Partial Public Class GetServoParResponse + + _ + Public GetServoParR As OPENcontrol.GetServoParR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetServoParR As OPENcontrol.GetServoParR) + MyBase.New + Me.GetServoParR = GetServoParR + End Sub + End Class + + ''' + _ + Partial Public Class SetServoPar + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisIdField As UShort + + Private parIdField As UShort + + Private valueField As Double + + ''' + _ + Public Property AxisId() As UShort + Get + Return Me.axisIdField + End Get + Set + Me.axisIdField = value + Me.RaisePropertyChanged("AxisId") + End Set + End Property + + ''' + _ + Public Property ParId() As UShort + Get + Return Me.parIdField + End Get + Set + Me.parIdField = value + Me.RaisePropertyChanged("ParId") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetServoParR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetServoParRequest + + _ + Public SetServoPar As OPENcontrol.SetServoPar + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetServoPar As OPENcontrol.SetServoPar) + MyBase.New + Me.SetServoPar = SetServoPar + End Sub + End Class + + _ + Partial Public Class SetServoParResponse + + _ + Public SetServoParR As OPENcontrol.SetServoParR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetServoParR As OPENcontrol.SetServoParR) + MyBase.New + Me.SetServoParR = SetServoParR + End Sub + End Class + + ''' + _ + Partial Public Class GetCNCRegKey + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private keyField As String + + Private subKeyField As String + + Private valueLenField As Integer + + ''' + _ + Public Property Key() As String + Get + Return Me.keyField + End Get + Set + Me.keyField = value + Me.RaisePropertyChanged("Key") + End Set + End Property + + ''' + _ + Public Property SubKey() As String + Get + Return Me.subKeyField + End Get + Set + Me.subKeyField = value + Me.RaisePropertyChanged("SubKey") + End Set + End Property + + ''' + _ + Public Property ValueLen() As Integer + Get + Return Me.valueLenField + End Get + Set + Me.valueLenField = value + Me.RaisePropertyChanged("ValueLen") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetCNCRegKeyR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueLenField As Integer + + Private valueField() As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ValueLen() As Integer + Get + Return Me.valueLenField + End Get + Set + Me.valueLenField = value + Me.RaisePropertyChanged("ValueLen") + End Set + End Property + + ''' + _ + Public Property Value() As Byte() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCNCRegKeyRequest + + _ + Public GetCNCRegKey As OPENcontrol.GetCNCRegKey + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCNCRegKey As OPENcontrol.GetCNCRegKey) + MyBase.New + Me.GetCNCRegKey = GetCNCRegKey + End Sub + End Class + + _ + Partial Public Class GetCNCRegKeyResponse + + _ + Public GetCNCRegKeyR As OPENcontrol.GetCNCRegKeyR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCNCRegKeyR As OPENcontrol.GetCNCRegKeyR) + MyBase.New + Me.GetCNCRegKeyR = GetCNCRegKeyR + End Sub + End Class + + ''' + _ + Partial Public Class SetIpAddress + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private ipAddressField As String + + Private subNetMaskField As String + + Private defaultGatewayField As String + + Private dnsField As String + + Private winsField As String + + Private netField As String + + ''' + _ + Public Property IpAddress() As String + Get + Return Me.ipAddressField + End Get + Set + Me.ipAddressField = value + Me.RaisePropertyChanged("IpAddress") + End Set + End Property + + ''' + _ + Public Property SubNetMask() As String + Get + Return Me.subNetMaskField + End Get + Set + Me.subNetMaskField = value + Me.RaisePropertyChanged("SubNetMask") + End Set + End Property + + ''' + _ + Public Property DefaultGateway() As String + Get + Return Me.defaultGatewayField + End Get + Set + Me.defaultGatewayField = value + Me.RaisePropertyChanged("DefaultGateway") + End Set + End Property + + ''' + _ + Public Property Dns() As String + Get + Return Me.dnsField + End Get + Set + Me.dnsField = value + Me.RaisePropertyChanged("Dns") + End Set + End Property + + ''' + _ + Public Property Wins() As String + Get + Return Me.winsField + End Get + Set + Me.winsField = value + Me.RaisePropertyChanged("Wins") + End Set + End Property + + ''' + _ + Public Property Net() As String + Get + Return Me.netField + End Get + Set + Me.netField = value + Me.RaisePropertyChanged("Net") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetIpAddressR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetIpAddressRequest + + _ + Public SetIpAddress As OPENcontrol.SetIpAddress + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetIpAddress As OPENcontrol.SetIpAddress) + MyBase.New + Me.SetIpAddress = SetIpAddress + End Sub + End Class + + _ + Partial Public Class SetIpAddressResponse + + _ + Public SetIpAddressR As OPENcontrol.SetIpAddressR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetIpAddressR As OPENcontrol.SetIpAddressR) + MyBase.New + Me.SetIpAddressR = SetIpAddressR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcInInput + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetProcInInputR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private procInfoField As INPUTINFO + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ProcInfo() As INPUTINFO + Get + Return Me.procInfoField + End Get + Set + Me.procInfoField = value + Me.RaisePropertyChanged("ProcInfo") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcInInputRequest + + _ + Public GetProcInInput As OPENcontrol.GetProcInInput + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcInInput As OPENcontrol.GetProcInInput) + MyBase.New + Me.GetProcInInput = GetProcInInput + End Sub + End Class + + _ + Partial Public Class GetProcInInputResponse + + _ + Public GetProcInInputR As OPENcontrol.GetProcInInputR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcInInputR As OPENcontrol.GetProcInInputR) + MyBase.New + Me.GetProcInInputR = GetProcInInputR + End Sub + End Class + + ''' + _ + Partial Public Class SndProcInpData + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private keyPressedField As UShort + + Private numDataField As UShort + + Private arDataField() As Byte + + Private arSizeField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property keyPressed() As UShort + Get + Return Me.keyPressedField + End Get + Set + Me.keyPressedField = value + Me.RaisePropertyChanged("keyPressed") + End Set + End Property + + ''' + _ + Public Property numData() As UShort + Get + Return Me.numDataField + End Get + Set + Me.numDataField = value + Me.RaisePropertyChanged("numData") + End Set + End Property + + ''' + _ + Public Property arData() As Byte() + Get + Return Me.arDataField + End Get + Set + Me.arDataField = value + Me.RaisePropertyChanged("arData") + End Set + End Property + + ''' + _ + Public Property arSize() As UShort + Get + Return Me.arSizeField + End Get + Set + Me.arSizeField = value + Me.RaisePropertyChanged("arSize") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SndProcInpDataR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SndProcInpDataRequest + + _ + Public SndProcInpData As OPENcontrol.SndProcInpData + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SndProcInpData As OPENcontrol.SndProcInpData) + MyBase.New + Me.SndProcInpData = SndProcInpData + End Sub + End Class + + _ + Partial Public Class SndProcInpDataResponse + + _ + Public SndProcInpDataR As OPENcontrol.SndProcInpDataR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SndProcInpDataR As OPENcontrol.SndProcInpDataR) + MyBase.New + Me.SndProcInpDataR = SndProcInpDataR + End Sub + End Class + + _ + Public Interface OPENcontrolPortTypeChannel + Inherits OPENcontrol.OPENcontrolPortType, System.ServiceModel.IClientChannel + End Interface + + _ + Partial Public Class OPENcontrolPortTypeClient + Inherits System.ServiceModel.ClientBase(Of OPENcontrol.OPENcontrolPortType) + Implements OPENcontrol.OPENcontrolPortType + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal endpointConfigurationName As String) + MyBase.New(endpointConfigurationName) + End Sub + + Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String) + MyBase.New(endpointConfigurationName, remoteAddress) + End Sub + + Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As System.ServiceModel.EndpointAddress) + MyBase.New(endpointConfigurationName, remoteAddress) + End Sub + + Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, ByVal remoteAddress As System.ServiceModel.EndpointAddress) + MyBase.New(binding, remoteAddress) + End Sub + + _ + Function OPENcontrol_OPENcontrolPortType_BootPhaseEnquiry(ByVal request As OPENcontrol.BootPhaseEnquiryRequest) As OPENcontrol.BootPhaseEnquiryResponse Implements OPENcontrol.OPENcontrolPortType.BootPhaseEnquiry + Return MyBase.Channel.BootPhaseEnquiry(request) + End Function + + Public Function BootPhaseEnquiry(ByVal BootPhaseEnquiry1 As OPENcontrol.BootPhaseEnquiry) As OPENcontrol.BootPhaseEnquiryR + Dim inValue As OPENcontrol.BootPhaseEnquiryRequest = New OPENcontrol.BootPhaseEnquiryRequest() + inValue.BootPhaseEnquiry = BootPhaseEnquiry1 + Dim retVal As OPENcontrol.BootPhaseEnquiryResponse = CType(Me,OPENcontrol.OPENcontrolPortType).BootPhaseEnquiry(inValue) + Return retVal.BootPhaseEnquiryR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_BootReboot(ByVal request As OPENcontrol.BootRebootRequest) As OPENcontrol.BootRebootResponse Implements OPENcontrol.OPENcontrolPortType.BootReboot + Return MyBase.Channel.BootReboot(request) + End Function + + Public Function BootReboot(ByVal BootReboot1 As OPENcontrol.BootReboot) As OPENcontrol.BootRebootR + Dim inValue As OPENcontrol.BootRebootRequest = New OPENcontrol.BootRebootRequest() + inValue.BootReboot = BootReboot1 + Dim retVal As OPENcontrol.BootRebootResponse = CType(Me,OPENcontrol.OPENcontrolPortType).BootReboot(inValue) + Return retVal.BootRebootR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_BootShutDown(ByVal request As OPENcontrol.BootShutDownRequest) As OPENcontrol.BootShutDownResponse Implements OPENcontrol.OPENcontrolPortType.BootShutDown + Return MyBase.Channel.BootShutDown(request) + End Function + + Public Function BootShutDown(ByVal BootShutDown1 As OPENcontrol.BootShutDown) As OPENcontrol.BootShutDownR + Dim inValue As OPENcontrol.BootShutDownRequest = New OPENcontrol.BootShutDownRequest() + inValue.BootShutDown = BootShutDown1 + Dim retVal As OPENcontrol.BootShutDownResponse = CType(Me,OPENcontrol.OPENcontrolPortType).BootShutDown(inValue) + Return retVal.BootShutDownR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_BootMode(ByVal request As OPENcontrol.BootModeRequest) As OPENcontrol.BootModeResponse Implements OPENcontrol.OPENcontrolPortType.BootMode + Return MyBase.Channel.BootMode(request) + End Function + + Public Function BootMode(ByVal BootMode1 As OPENcontrol.BootMode) As OPENcontrol.BootModeR + Dim inValue As OPENcontrol.BootModeRequest = New OPENcontrol.BootModeRequest() + inValue.BootMode = BootMode1 + Dim retVal As OPENcontrol.BootModeResponse = CType(Me,OPENcontrol.OPENcontrolPortType).BootMode(inValue) + Return retVal.BootModeR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetHWKey(ByVal request As OPENcontrol.GetHWKeyRequest) As OPENcontrol.GetHWKeyResponse Implements OPENcontrol.OPENcontrolPortType.GetHWKey + Return MyBase.Channel.GetHWKey(request) + End Function + + Public Function GetHWKey(ByVal GetHWKey1 As OPENcontrol.GetHWKey) As OPENcontrol.GetHWKeyR + Dim inValue As OPENcontrol.GetHWKeyRequest = New OPENcontrol.GetHWKeyRequest() + inValue.GetHWKey = GetHWKey1 + Dim retVal As OPENcontrol.GetHWKeyResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetHWKey(inValue) + Return retVal.GetHWKeyR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadVarWord(ByVal request As OPENcontrol.ReadVarWordRequest) As OPENcontrol.ReadVarWordResponse Implements OPENcontrol.OPENcontrolPortType.ReadVarWord + Return MyBase.Channel.ReadVarWord(request) + End Function + + Public Function ReadVarWord(ByVal ReadVarWord1 As OPENcontrol.ReadVarWord) As OPENcontrol.ReadVarWordR + Dim inValue As OPENcontrol.ReadVarWordRequest = New OPENcontrol.ReadVarWordRequest() + inValue.ReadVarWord = ReadVarWord1 + Dim retVal As OPENcontrol.ReadVarWordResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadVarWord(inValue) + Return retVal.ReadVarWordR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadVarDouble(ByVal request As OPENcontrol.ReadVarDoubleRequest) As OPENcontrol.ReadVarDoubleResponse Implements OPENcontrol.OPENcontrolPortType.ReadVarDouble + Return MyBase.Channel.ReadVarDouble(request) + End Function + + Public Function ReadVarDouble(ByVal ReadVarDouble1 As OPENcontrol.ReadVarDouble) As OPENcontrol.ReadVarDoubleR + Dim inValue As OPENcontrol.ReadVarDoubleRequest = New OPENcontrol.ReadVarDoubleRequest() + inValue.ReadVarDouble = ReadVarDouble1 + Dim retVal As OPENcontrol.ReadVarDoubleResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadVarDouble(inValue) + Return retVal.ReadVarDoubleR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_WriteVarWord(ByVal request As OPENcontrol.WriteVarWordRequest) As OPENcontrol.WriteVarWordResponse Implements OPENcontrol.OPENcontrolPortType.WriteVarWord + Return MyBase.Channel.WriteVarWord(request) + End Function + + Public Function WriteVarWord(ByVal WriteVarWord1 As OPENcontrol.WriteVarWord) As OPENcontrol.WriteVarWordR + Dim inValue As OPENcontrol.WriteVarWordRequest = New OPENcontrol.WriteVarWordRequest() + inValue.WriteVarWord = WriteVarWord1 + Dim retVal As OPENcontrol.WriteVarWordResponse = CType(Me,OPENcontrol.OPENcontrolPortType).WriteVarWord(inValue) + Return retVal.WriteVarWordR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_WriteVarWordBit(ByVal request As OPENcontrol.WriteVarWordBitRequest) As OPENcontrol.WriteVarWordBitResponse Implements OPENcontrol.OPENcontrolPortType.WriteVarWordBit + Return MyBase.Channel.WriteVarWordBit(request) + End Function + + Public Function WriteVarWordBit(ByVal WriteVarWordBit1 As OPENcontrol.WriteVarWordBit) As OPENcontrol.WriteVarWordBitR + Dim inValue As OPENcontrol.WriteVarWordBitRequest = New OPENcontrol.WriteVarWordBitRequest() + inValue.WriteVarWordBit = WriteVarWordBit1 + Dim retVal As OPENcontrol.WriteVarWordBitResponse = CType(Me,OPENcontrol.OPENcontrolPortType).WriteVarWordBit(inValue) + Return retVal.WriteVarWordBitR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_WriteVarDouble(ByVal request As OPENcontrol.WriteVarDoubleRequest) As OPENcontrol.WriteVarDoubleResponse Implements OPENcontrol.OPENcontrolPortType.WriteVarDouble + Return MyBase.Channel.WriteVarDouble(request) + End Function + + Public Function WriteVarDouble(ByVal WriteVarDouble1 As OPENcontrol.WriteVarDouble) As OPENcontrol.WriteVarDoubleR + Dim inValue As OPENcontrol.WriteVarDoubleRequest = New OPENcontrol.WriteVarDoubleRequest() + inValue.WriteVarDouble = WriteVarDouble1 + Dim retVal As OPENcontrol.WriteVarDoubleResponse = CType(Me,OPENcontrol.OPENcontrolPortType).WriteVarDouble(inValue) + Return retVal.WriteVarDoubleR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadVarText(ByVal request As OPENcontrol.ReadVarTextRequest) As OPENcontrol.ReadVarTextResponse Implements OPENcontrol.OPENcontrolPortType.ReadVarText + Return MyBase.Channel.ReadVarText(request) + End Function + + Public Function ReadVarText(ByVal ReadVarText1 As OPENcontrol.ReadVarText) As OPENcontrol.ReadVarTextR + Dim inValue As OPENcontrol.ReadVarTextRequest = New OPENcontrol.ReadVarTextRequest() + inValue.ReadVarText = ReadVarText1 + Dim retVal As OPENcontrol.ReadVarTextResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadVarText(inValue) + Return retVal.ReadVarTextR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_WriteVarText(ByVal request As OPENcontrol.WriteVarTextRequest) As OPENcontrol.WriteVarTextResponse Implements OPENcontrol.OPENcontrolPortType.WriteVarText + Return MyBase.Channel.WriteVarText(request) + End Function + + Public Function WriteVarText(ByVal WriteVarText1 As OPENcontrol.WriteVarText) As OPENcontrol.WriteVarTextR + Dim inValue As OPENcontrol.WriteVarTextRequest = New OPENcontrol.WriteVarTextRequest() + inValue.WriteVarText = WriteVarText1 + Dim retVal As OPENcontrol.WriteVarTextResponse = CType(Me,OPENcontrol.OPENcontrolPortType).WriteVarText(inValue) + Return retVal.WriteVarTextR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadWarningMsg(ByVal request As OPENcontrol.ReadWarningMsgRequest) As OPENcontrol.ReadWarningMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadWarningMsg + Return MyBase.Channel.ReadWarningMsg(request) + End Function + + Public Function ReadWarningMsg(ByVal ReadWarningMsg1 As OPENcontrol.ReadWarningMsg) As OPENcontrol.ReadWarningMsgR + Dim inValue As OPENcontrol.ReadWarningMsgRequest = New OPENcontrol.ReadWarningMsgRequest() + inValue.ReadWarningMsg = ReadWarningMsg1 + Dim retVal As OPENcontrol.ReadWarningMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadWarningMsg(inValue) + Return retVal.ReadWarningMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ResetSingleTableII(ByVal request As OPENcontrol.ResetSingleTableIIRequest) As OPENcontrol.ResetSingleTableIIResponse Implements OPENcontrol.OPENcontrolPortType.ResetSingleTableII + Return MyBase.Channel.ResetSingleTableII(request) + End Function + + Public Function ResetSingleTableII(ByVal ResetSingleTableII1 As OPENcontrol.ResetSingleTableII) As OPENcontrol.ResetSingleTableIIR + Dim inValue As OPENcontrol.ResetSingleTableIIRequest = New OPENcontrol.ResetSingleTableIIRequest() + inValue.ResetSingleTableII = ResetSingleTableII1 + Dim retVal As OPENcontrol.ResetSingleTableIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ResetSingleTableII(inValue) + Return retVal.ResetSingleTableIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LockTableII(ByVal request As OPENcontrol.LockTableIIRequest) As OPENcontrol.LockTableIIResponse Implements OPENcontrol.OPENcontrolPortType.LockTableII + Return MyBase.Channel.LockTableII(request) + End Function + + Public Function LockTableII(ByVal LockTableII1 As OPENcontrol.LockTableII) As OPENcontrol.LockTableIIR + Dim inValue As OPENcontrol.LockTableIIRequest = New OPENcontrol.LockTableIIRequest() + inValue.LockTableII = LockTableII1 + Dim retVal As OPENcontrol.LockTableIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LockTableII(inValue) + Return retVal.LockTableIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_UnLockTableII(ByVal request As OPENcontrol.UnLockTableIIRequest) As OPENcontrol.UnLockTableIIResponse Implements OPENcontrol.OPENcontrolPortType.UnLockTableII + Return MyBase.Channel.UnLockTableII(request) + End Function + + Public Function UnLockTableII(ByVal UnLockTableII1 As OPENcontrol.UnLockTableII) As OPENcontrol.UnLockTableIIR + Dim inValue As OPENcontrol.UnLockTableIIRequest = New OPENcontrol.UnLockTableIIRequest() + inValue.UnLockTableII = UnLockTableII1 + Dim retVal As OPENcontrol.UnLockTableIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).UnLockTableII(inValue) + Return retVal.UnLockTableIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetOriginTabRecordII(ByVal request As OPENcontrol.GetOriginTabRecordIIRequest) As OPENcontrol.GetOriginTabRecordIIResponse Implements OPENcontrol.OPENcontrolPortType.GetOriginTabRecordII + Return MyBase.Channel.GetOriginTabRecordII(request) + End Function + + Public Function GetOriginTabRecordII(ByVal GetOriginTabRecordII1 As OPENcontrol.GetOriginTabRecordII) As OPENcontrol.GetOriginTabRecordIIR + Dim inValue As OPENcontrol.GetOriginTabRecordIIRequest = New OPENcontrol.GetOriginTabRecordIIRequest() + inValue.GetOriginTabRecordII = GetOriginTabRecordII1 + Dim retVal As OPENcontrol.GetOriginTabRecordIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetOriginTabRecordII(inValue) + Return retVal.GetOriginTabRecordIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetOriginTabRecordII(ByVal request As OPENcontrol.SetOriginTabRecordIIRequest) As OPENcontrol.SetOriginTabRecordIIResponse Implements OPENcontrol.OPENcontrolPortType.SetOriginTabRecordII + Return MyBase.Channel.SetOriginTabRecordII(request) + End Function + + Public Function SetOriginTabRecordII(ByVal SetOriginTabRecordII1 As OPENcontrol.SetOriginTabRecordII) As OPENcontrol.SetOriginTabRecordIIR + Dim inValue As OPENcontrol.SetOriginTabRecordIIRequest = New OPENcontrol.SetOriginTabRecordIIRequest() + inValue.SetOriginTabRecordII = SetOriginTabRecordII1 + Dim retVal As OPENcontrol.SetOriginTabRecordIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetOriginTabRecordII(inValue) + Return retVal.SetOriginTabRecordIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetToolTabRecordII(ByVal request As OPENcontrol.GetToolTabRecordIIRequest) As OPENcontrol.GetToolTabRecordIIResponse Implements OPENcontrol.OPENcontrolPortType.GetToolTabRecordII + Return MyBase.Channel.GetToolTabRecordII(request) + End Function + + Public Function GetToolTabRecordII(ByVal GetToolTabRecordII1 As OPENcontrol.GetToolTabRecordII) As OPENcontrol.GetToolTabRecordIIR + Dim inValue As OPENcontrol.GetToolTabRecordIIRequest = New OPENcontrol.GetToolTabRecordIIRequest() + inValue.GetToolTabRecordII = GetToolTabRecordII1 + Dim retVal As OPENcontrol.GetToolTabRecordIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetToolTabRecordII(inValue) + Return retVal.GetToolTabRecordIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetToolTabRecordII(ByVal request As OPENcontrol.SetToolTabRecordIIRequest) As OPENcontrol.SetToolTabRecordIIResponse Implements OPENcontrol.OPENcontrolPortType.SetToolTabRecordII + Return MyBase.Channel.SetToolTabRecordII(request) + End Function + + Public Function SetToolTabRecordII(ByVal SetToolTabRecordII1 As OPENcontrol.SetToolTabRecordII) As OPENcontrol.SetToolTabRecordIIR + Dim inValue As OPENcontrol.SetToolTabRecordIIRequest = New OPENcontrol.SetToolTabRecordIIRequest() + inValue.SetToolTabRecordII = SetToolTabRecordII1 + Dim retVal As OPENcontrol.SetToolTabRecordIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetToolTabRecordII(inValue) + Return retVal.SetToolTabRecordIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetOffsetTabRecordII(ByVal request As OPENcontrol.GetOffsetTabRecordIIRequest) As OPENcontrol.GetOffsetTabRecordIIResponse Implements OPENcontrol.OPENcontrolPortType.GetOffsetTabRecordII + Return MyBase.Channel.GetOffsetTabRecordII(request) + End Function + + Public Function GetOffsetTabRecordII(ByVal GetOffsetTabRecordII1 As OPENcontrol.GetOffsetTabRecordII) As OPENcontrol.GetOffsetTabRecordIIR + Dim inValue As OPENcontrol.GetOffsetTabRecordIIRequest = New OPENcontrol.GetOffsetTabRecordIIRequest() + inValue.GetOffsetTabRecordII = GetOffsetTabRecordII1 + Dim retVal As OPENcontrol.GetOffsetTabRecordIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetOffsetTabRecordII(inValue) + Return retVal.GetOffsetTabRecordIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetOffsetTabRecordII(ByVal request As OPENcontrol.SetOffsetTabRecordIIRequest) As OPENcontrol.SetOffsetTabRecordIIResponse Implements OPENcontrol.OPENcontrolPortType.SetOffsetTabRecordII + Return MyBase.Channel.SetOffsetTabRecordII(request) + End Function + + Public Function SetOffsetTabRecordII(ByVal SetOffsetTabRecordII1 As OPENcontrol.SetOffsetTabRecordII) As OPENcontrol.SetOffsetTabRecordIIR + Dim inValue As OPENcontrol.SetOffsetTabRecordIIRequest = New OPENcontrol.SetOffsetTabRecordIIRequest() + inValue.SetOffsetTabRecordII = SetOffsetTabRecordII1 + Dim retVal As OPENcontrol.SetOffsetTabRecordIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetOffsetTabRecordII(inValue) + Return retVal.SetOffsetTabRecordIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetUserTabRecordII(ByVal request As OPENcontrol.GetUserTabRecordIIRequest) As OPENcontrol.GetUserTabRecordIIResponse Implements OPENcontrol.OPENcontrolPortType.GetUserTabRecordII + Return MyBase.Channel.GetUserTabRecordII(request) + End Function + + Public Function GetUserTabRecordII(ByVal GetUserTabRecordII1 As OPENcontrol.GetUserTabRecordII) As OPENcontrol.GetUserTabRecordIIR + Dim inValue As OPENcontrol.GetUserTabRecordIIRequest = New OPENcontrol.GetUserTabRecordIIRequest() + inValue.GetUserTabRecordII = GetUserTabRecordII1 + Dim retVal As OPENcontrol.GetUserTabRecordIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetUserTabRecordII(inValue) + Return retVal.GetUserTabRecordIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetUserTabRecordII(ByVal request As OPENcontrol.SetUserTabRecordIIRequest) As OPENcontrol.SetUserTabRecordIIResponse Implements OPENcontrol.OPENcontrolPortType.SetUserTabRecordII + Return MyBase.Channel.SetUserTabRecordII(request) + End Function + + Public Function SetUserTabRecordII(ByVal SetUserTabRecordII1 As OPENcontrol.SetUserTabRecordII) As OPENcontrol.SetUserTabRecordIIR + Dim inValue As OPENcontrol.SetUserTabRecordIIRequest = New OPENcontrol.SetUserTabRecordIIRequest() + inValue.SetUserTabRecordII = SetUserTabRecordII1 + Dim retVal As OPENcontrol.SetUserTabRecordIIResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetUserTabRecordII(inValue) + Return retVal.SetUserTabRecordIIR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SaveTables(ByVal request As OPENcontrol.SaveTablesRequest) As OPENcontrol.SaveTablesResponse Implements OPENcontrol.OPENcontrolPortType.SaveTables + Return MyBase.Channel.SaveTables(request) + End Function + + Public Function SaveTables(ByVal SaveTables1 As OPENcontrol.SaveTables) As OPENcontrol.SaveTablesR + Dim inValue As OPENcontrol.SaveTablesRequest = New OPENcontrol.SaveTablesRequest() + inValue.SaveTables = SaveTables1 + Dim retVal As OPENcontrol.SaveTablesResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SaveTables(inValue) + Return retVal.SaveTablesR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_RestoreSingleTable(ByVal request As OPENcontrol.RestoreSingleTableRequest) As OPENcontrol.RestoreSingleTableResponse Implements OPENcontrol.OPENcontrolPortType.RestoreSingleTable + Return MyBase.Channel.RestoreSingleTable(request) + End Function + + Public Function RestoreSingleTable(ByVal RestoreSingleTable1 As OPENcontrol.RestoreSingleTable) As OPENcontrol.RestoreSingleTableR + Dim inValue As OPENcontrol.RestoreSingleTableRequest = New OPENcontrol.RestoreSingleTableRequest() + inValue.RestoreSingleTable = RestoreSingleTable1 + Dim retVal As OPENcontrol.RestoreSingleTableResponse = CType(Me,OPENcontrol.OPENcontrolPortType).RestoreSingleTable(inValue) + Return retVal.RestoreSingleTableR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SaveSingleTable(ByVal request As OPENcontrol.SaveSingleTableRequest) As OPENcontrol.SaveSingleTableResponse Implements OPENcontrol.OPENcontrolPortType.SaveSingleTable + Return MyBase.Channel.SaveSingleTable(request) + End Function + + Public Function SaveSingleTable(ByVal SaveSingleTable1 As OPENcontrol.SaveSingleTable) As OPENcontrol.SaveSingleTableR + Dim inValue As OPENcontrol.SaveSingleTableRequest = New OPENcontrol.SaveSingleTableRequest() + inValue.SaveSingleTable = SaveSingleTable1 + Dim retVal As OPENcontrol.SaveSingleTableResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SaveSingleTable(inValue) + Return retVal.SaveSingleTableR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SaveBackupMemory(ByVal request As OPENcontrol.SaveBackupMemoryRequest) As OPENcontrol.SaveBackupMemoryResponse Implements OPENcontrol.OPENcontrolPortType.SaveBackupMemory + Return MyBase.Channel.SaveBackupMemory(request) + End Function + + Public Function SaveBackupMemory(ByVal SaveBackupMemory1 As OPENcontrol.SaveBackupMemory) As OPENcontrol.SaveBackupMemoryR + Dim inValue As OPENcontrol.SaveBackupMemoryRequest = New OPENcontrol.SaveBackupMemoryRequest() + inValue.SaveBackupMemory = SaveBackupMemory1 + Dim retVal As OPENcontrol.SaveBackupMemoryResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SaveBackupMemory(inValue) + Return retVal.SaveBackupMemoryR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_RestoreBackupMemory(ByVal request As OPENcontrol.RestoreBackupMemoryRequest) As OPENcontrol.RestoreBackupMemoryResponse Implements OPENcontrol.OPENcontrolPortType.RestoreBackupMemory + Return MyBase.Channel.RestoreBackupMemory(request) + End Function + + Public Function RestoreBackupMemory(ByVal RestoreBackupMemory1 As OPENcontrol.RestoreBackupMemory) As OPENcontrol.RestoreBackupMemoryR + Dim inValue As OPENcontrol.RestoreBackupMemoryRequest = New OPENcontrol.RestoreBackupMemoryRequest() + inValue.RestoreBackupMemory = RestoreBackupMemory1 + Dim retVal As OPENcontrol.RestoreBackupMemoryResponse = CType(Me,OPENcontrol.OPENcontrolPortType).RestoreBackupMemory(inValue) + Return retVal.RestoreBackupMemoryR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_Cycle(ByVal request As OPENcontrol.CycleRequest) As OPENcontrol.CycleResponse Implements OPENcontrol.OPENcontrolPortType.Cycle + Return MyBase.Channel.Cycle(request) + End Function + + Public Function Cycle(ByVal Cycle1 As OPENcontrol.Cycle) As OPENcontrol.CycleR + Dim inValue As OPENcontrol.CycleRequest = New OPENcontrol.CycleRequest() + inValue.Cycle = Cycle1 + Dim retVal As OPENcontrol.CycleResponse = CType(Me,OPENcontrol.OPENcontrolPortType).Cycle(inValue) + Return retVal.CycleR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SyncroCycle(ByVal request As OPENcontrol.SyncroCycleRequest) As OPENcontrol.SyncroCycleResponse Implements OPENcontrol.OPENcontrolPortType.SyncroCycle + Return MyBase.Channel.SyncroCycle(request) + End Function + + Public Function SyncroCycle(ByVal SyncroCycle1 As OPENcontrol.SyncroCycle) As OPENcontrol.SyncroCycleR + Dim inValue As OPENcontrol.SyncroCycleRequest = New OPENcontrol.SyncroCycleRequest() + inValue.SyncroCycle = SyncroCycle1 + Dim retVal As OPENcontrol.SyncroCycleResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SyncroCycle(inValue) + Return retVal.SyncroCycleR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_Reset(ByVal request As OPENcontrol.ResetRequest) As OPENcontrol.ResetResponse Implements OPENcontrol.OPENcontrolPortType.Reset + Return MyBase.Channel.Reset(request) + End Function + + Public Function Reset(ByVal Reset1 As OPENcontrol.Reset) As OPENcontrol.ResetR + Dim inValue As OPENcontrol.ResetRequest = New OPENcontrol.ResetRequest() + inValue.Reset = Reset1 + Dim retVal As OPENcontrol.ResetResponse = CType(Me,OPENcontrol.OPENcontrolPortType).Reset(inValue) + Return retVal.ResetR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_Hold(ByVal request As OPENcontrol.HoldRequest) As OPENcontrol.HoldResponse Implements OPENcontrol.OPENcontrolPortType.Hold + Return MyBase.Channel.Hold(request) + End Function + + Public Function Hold(ByVal Hold1 As OPENcontrol.Hold) As OPENcontrol.HoldR + Dim inValue As OPENcontrol.HoldRequest = New OPENcontrol.HoldRequest() + inValue.Hold = Hold1 + Dim retVal As OPENcontrol.HoldResponse = CType(Me,OPENcontrol.OPENcontrolPortType).Hold(inValue) + Return retVal.HoldR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetFeedManOver(ByVal request As OPENcontrol.SetFeedManOverRequest) As OPENcontrol.SetFeedManOverResponse Implements OPENcontrol.OPENcontrolPortType.SetFeedManOver + Return MyBase.Channel.SetFeedManOver(request) + End Function + + Public Function SetFeedManOver(ByVal SetFeedManOver1 As OPENcontrol.SetFeedManOver) As OPENcontrol.SetFeedManOverR + Dim inValue As OPENcontrol.SetFeedManOverRequest = New OPENcontrol.SetFeedManOverRequest() + inValue.SetFeedManOver = SetFeedManOver1 + Dim retVal As OPENcontrol.SetFeedManOverResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetFeedManOver(inValue) + Return retVal.SetFeedManOverR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetFeedRateOver(ByVal request As OPENcontrol.SetFeedRateOverRequest) As OPENcontrol.SetFeedRateOverResponse Implements OPENcontrol.OPENcontrolPortType.SetFeedRateOver + Return MyBase.Channel.SetFeedRateOver(request) + End Function + + Public Function SetFeedRateOver(ByVal SetFeedRateOver1 As OPENcontrol.SetFeedRateOver) As OPENcontrol.SetFeedRateOverR + Dim inValue As OPENcontrol.SetFeedRateOverRequest = New OPENcontrol.SetFeedRateOverRequest() + inValue.SetFeedRateOver = SetFeedRateOver1 + Dim retVal As OPENcontrol.SetFeedRateOverResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetFeedRateOver(inValue) + Return retVal.SetFeedRateOverR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetFeedRapidOver(ByVal request As OPENcontrol.SetFeedRapidOverRequest) As OPENcontrol.SetFeedRapidOverResponse Implements OPENcontrol.OPENcontrolPortType.SetFeedRapidOver + Return MyBase.Channel.SetFeedRapidOver(request) + End Function + + Public Function SetFeedRapidOver(ByVal SetFeedRapidOver1 As OPENcontrol.SetFeedRapidOver) As OPENcontrol.SetFeedRapidOverR + Dim inValue As OPENcontrol.SetFeedRapidOverRequest = New OPENcontrol.SetFeedRapidOverRequest() + inValue.SetFeedRapidOver = SetFeedRapidOver1 + Dim retVal As OPENcontrol.SetFeedRapidOverResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetFeedRapidOver(inValue) + Return retVal.SetFeedRapidOverR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetSpeedRateOver(ByVal request As OPENcontrol.SetSpeedRateOverRequest) As OPENcontrol.SetSpeedRateOverResponse Implements OPENcontrol.OPENcontrolPortType.SetSpeedRateOver + Return MyBase.Channel.SetSpeedRateOver(request) + End Function + + Public Function SetSpeedRateOver(ByVal SetSpeedRateOver1 As OPENcontrol.SetSpeedRateOver) As OPENcontrol.SetSpeedRateOverR + Dim inValue As OPENcontrol.SetSpeedRateOverRequest = New OPENcontrol.SetSpeedRateOverRequest() + inValue.SetSpeedRateOver = SetSpeedRateOver1 + Dim retVal As OPENcontrol.SetSpeedRateOverResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetSpeedRateOver(inValue) + Return retVal.SetSpeedRateOverR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetManMovDirection(ByVal request As OPENcontrol.SetManMovDirectionRequest) As OPENcontrol.SetManMovDirectionResponse Implements OPENcontrol.OPENcontrolPortType.SetManMovDirection + Return MyBase.Channel.SetManMovDirection(request) + End Function + + Public Function SetManMovDirection(ByVal SetManMovDirection1 As OPENcontrol.SetManMovDirection) As OPENcontrol.SetManMovDirectionR + Dim inValue As OPENcontrol.SetManMovDirectionRequest = New OPENcontrol.SetManMovDirectionRequest() + inValue.SetManMovDirection = SetManMovDirection1 + Dim retVal As OPENcontrol.SetManMovDirectionResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetManMovDirection(inValue) + Return retVal.SetManMovDirectionR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetVarJOG(ByVal request As OPENcontrol.GetVarJOGRequest) As OPENcontrol.GetVarJOGResponse Implements OPENcontrol.OPENcontrolPortType.GetVarJOG + Return MyBase.Channel.GetVarJOG(request) + End Function + + Public Function GetVarJOG(ByVal GetVarJOG1 As OPENcontrol.GetVarJOG) As OPENcontrol.GetVarJOGR + Dim inValue As OPENcontrol.GetVarJOGRequest = New OPENcontrol.GetVarJOGRequest() + inValue.GetVarJOG = GetVarJOG1 + Dim retVal As OPENcontrol.GetVarJOGResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetVarJOG(inValue) + Return retVal.GetVarJOGR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetVarJOG(ByVal request As OPENcontrol.SetVarJOGRequest) As OPENcontrol.SetVarJOGResponse Implements OPENcontrol.OPENcontrolPortType.SetVarJOG + Return MyBase.Channel.SetVarJOG(request) + End Function + + Public Function SetVarJOG(ByVal SetVarJOG1 As OPENcontrol.SetVarJOG) As OPENcontrol.SetVarJOGR + Dim inValue As OPENcontrol.SetVarJOGRequest = New OPENcontrol.SetVarJOGRequest() + inValue.SetVarJOG = SetVarJOG1 + Dim retVal As OPENcontrol.SetVarJOGResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetVarJOG(inValue) + Return retVal.SetVarJOGR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetVarUAS(ByVal request As OPENcontrol.SetVarUASRequest) As OPENcontrol.SetVarUASResponse Implements OPENcontrol.OPENcontrolPortType.SetVarUAS + Return MyBase.Channel.SetVarUAS(request) + End Function + + Public Function SetVarUAS(ByVal SetVarUAS1 As OPENcontrol.SetVarUAS) As OPENcontrol.SetVarUASR + Dim inValue As OPENcontrol.SetVarUASRequest = New OPENcontrol.SetVarUASRequest() + inValue.SetVarUAS = SetVarUAS1 + Dim retVal As OPENcontrol.SetVarUASResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetVarUAS(inValue) + Return retVal.SetVarUASR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetVarRCM(ByVal request As OPENcontrol.GetVarRCMRequest) As OPENcontrol.GetVarRCMResponse Implements OPENcontrol.OPENcontrolPortType.GetVarRCM + Return MyBase.Channel.GetVarRCM(request) + End Function + + Public Function GetVarRCM(ByVal GetVarRCM1 As OPENcontrol.GetVarRCM) As OPENcontrol.GetVarRCMR + Dim inValue As OPENcontrol.GetVarRCMRequest = New OPENcontrol.GetVarRCMRequest() + inValue.GetVarRCM = GetVarRCM1 + Dim retVal As OPENcontrol.GetVarRCMResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetVarRCM(inValue) + Return retVal.GetVarRCMR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetVarRCM(ByVal request As OPENcontrol.SetVarRCMRequest) As OPENcontrol.SetVarRCMResponse Implements OPENcontrol.OPENcontrolPortType.SetVarRCM + Return MyBase.Channel.SetVarRCM(request) + End Function + + Public Function SetVarRCM(ByVal SetVarRCM1 As OPENcontrol.SetVarRCM) As OPENcontrol.SetVarRCMR + Dim inValue As OPENcontrol.SetVarRCMRequest = New OPENcontrol.SetVarRCMRequest() + inValue.SetVarRCM = SetVarRCM1 + Dim retVal As OPENcontrol.SetVarRCMResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetVarRCM(inValue) + Return retVal.SetVarRCMR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetProcVarWord(ByVal request As OPENcontrol.GetProcVarWordRequest) As OPENcontrol.GetProcVarWordResponse Implements OPENcontrol.OPENcontrolPortType.GetProcVarWord + Return MyBase.Channel.GetProcVarWord(request) + End Function + + Public Function GetProcVarWord(ByVal GetProcVarWord1 As OPENcontrol.GetProcVarWord) As OPENcontrol.GetProcVarWordR + Dim inValue As OPENcontrol.GetProcVarWordRequest = New OPENcontrol.GetProcVarWordRequest() + inValue.GetProcVarWord = GetProcVarWord1 + Dim retVal As OPENcontrol.GetProcVarWordResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetProcVarWord(inValue) + Return retVal.GetProcVarWordR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetProcVarWord(ByVal request As OPENcontrol.SetProcVarWordRequest) As OPENcontrol.SetProcVarWordResponse Implements OPENcontrol.OPENcontrolPortType.SetProcVarWord + Return MyBase.Channel.SetProcVarWord(request) + End Function + + Public Function SetProcVarWord(ByVal SetProcVarWord1 As OPENcontrol.SetProcVarWord) As OPENcontrol.SetProcVarWordR + Dim inValue As OPENcontrol.SetProcVarWordRequest = New OPENcontrol.SetProcVarWordRequest() + inValue.SetProcVarWord = SetProcVarWord1 + Dim retVal As OPENcontrol.SetProcVarWordResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetProcVarWord(inValue) + Return retVal.SetProcVarWordR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetProcVarDouble(ByVal request As OPENcontrol.GetProcVarDoubleRequest) As OPENcontrol.GetProcVarDoubleResponse Implements OPENcontrol.OPENcontrolPortType.GetProcVarDouble + Return MyBase.Channel.GetProcVarDouble(request) + End Function + + Public Function GetProcVarDouble(ByVal GetProcVarDouble1 As OPENcontrol.GetProcVarDouble) As OPENcontrol.GetProcVarDoubleR + Dim inValue As OPENcontrol.GetProcVarDoubleRequest = New OPENcontrol.GetProcVarDoubleRequest() + inValue.GetProcVarDouble = GetProcVarDouble1 + Dim retVal As OPENcontrol.GetProcVarDoubleResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetProcVarDouble(inValue) + Return retVal.GetProcVarDoubleR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetProcVarDouble(ByVal request As OPENcontrol.SetProcVarDoubleRequest) As OPENcontrol.SetProcVarDoubleResponse Implements OPENcontrol.OPENcontrolPortType.SetProcVarDouble + Return MyBase.Channel.SetProcVarDouble(request) + End Function + + Public Function SetProcVarDouble(ByVal SetProcVarDouble1 As OPENcontrol.SetProcVarDouble) As OPENcontrol.SetProcVarDoubleR + Dim inValue As OPENcontrol.SetProcVarDoubleRequest = New OPENcontrol.SetProcVarDoubleRequest() + inValue.SetProcVarDouble = SetProcVarDouble1 + Dim retVal As OPENcontrol.SetProcVarDoubleResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetProcVarDouble(inValue) + Return retVal.SetProcVarDoubleR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetMdiString(ByVal request As OPENcontrol.SetMdiStringRequest) As OPENcontrol.SetMdiStringResponse Implements OPENcontrol.OPENcontrolPortType.SetMdiString + Return MyBase.Channel.SetMdiString(request) + End Function + + Public Function SetMdiString(ByVal SetMdiString1 As OPENcontrol.SetMdiString) As OPENcontrol.SetMdiStringR + Dim inValue As OPENcontrol.SetMdiStringRequest = New OPENcontrol.SetMdiStringRequest() + inValue.SetMdiString = SetMdiString1 + Dim retVal As OPENcontrol.SetMdiStringResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetMdiString(inValue) + Return retVal.SetMdiStringR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetProcessMode(ByVal request As OPENcontrol.SetProcessModeRequest) As OPENcontrol.SetProcessModeResponse Implements OPENcontrol.OPENcontrolPortType.SetProcessMode + Return MyBase.Channel.SetProcessMode(request) + End Function + + Public Function SetProcessMode(ByVal SetProcessMode1 As OPENcontrol.SetProcessMode) As OPENcontrol.SetProcessModeR + Dim inValue As OPENcontrol.SetProcessModeRequest = New OPENcontrol.SetProcessModeRequest() + inValue.SetProcessMode = SetProcessMode1 + Dim retVal As OPENcontrol.SetProcessModeResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetProcessMode(inValue) + Return retVal.SetProcessModeR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SelectProcess(ByVal request As OPENcontrol.SelectProcessRequest) As OPENcontrol.SelectProcessResponse Implements OPENcontrol.OPENcontrolPortType.SelectProcess + Return MyBase.Channel.SelectProcess(request) + End Function + + Public Function SelectProcess(ByVal SelectProcess1 As OPENcontrol.SelectProcess) As OPENcontrol.SelectProcessR + Dim inValue As OPENcontrol.SelectProcessRequest = New OPENcontrol.SelectProcessRequest() + inValue.SelectProcess = SelectProcess1 + Dim retVal As OPENcontrol.SelectProcessResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SelectProcess(inValue) + Return retVal.SelectProcessR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetSelectedProcess(ByVal request As OPENcontrol.GetSelectedProcessRequest) As OPENcontrol.GetSelectedProcessResponse Implements OPENcontrol.OPENcontrolPortType.GetSelectedProcess + Return MyBase.Channel.GetSelectedProcess(request) + End Function + + Public Function GetSelectedProcess(ByVal GetSelectedProcess1 As OPENcontrol.GetSelectedProcess) As OPENcontrol.GetSelectedProcessR + Dim inValue As OPENcontrol.GetSelectedProcessRequest = New OPENcontrol.GetSelectedProcessRequest() + inValue.GetSelectedProcess = GetSelectedProcess1 + Dim retVal As OPENcontrol.GetSelectedProcessResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetSelectedProcess(inValue) + Return retVal.GetSelectedProcessR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SelectProcAxis(ByVal request As OPENcontrol.SelectProcAxisRequest) As OPENcontrol.SelectProcAxisResponse Implements OPENcontrol.OPENcontrolPortType.SelectProcAxis + Return MyBase.Channel.SelectProcAxis(request) + End Function + + Public Function SelectProcAxis(ByVal SelectProcAxis1 As OPENcontrol.SelectProcAxis) As OPENcontrol.SelectProcAxisR + Dim inValue As OPENcontrol.SelectProcAxisRequest = New OPENcontrol.SelectProcAxisRequest() + inValue.SelectProcAxis = SelectProcAxis1 + Dim retVal As OPENcontrol.SelectProcAxisResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SelectProcAxis(inValue) + Return retVal.SelectProcAxisR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SelectPartProgram(ByVal request As OPENcontrol.SelectPartProgramRequest) As OPENcontrol.SelectPartProgramResponse Implements OPENcontrol.OPENcontrolPortType.SelectPartProgram + Return MyBase.Channel.SelectPartProgram(request) + End Function + + Public Function SelectPartProgram(ByVal SelectPartProgram1 As OPENcontrol.SelectPartProgram) As OPENcontrol.SelectPartProgramR + Dim inValue As OPENcontrol.SelectPartProgramRequest = New OPENcontrol.SelectPartProgramRequest() + inValue.SelectPartProgram = SelectPartProgram1 + Dim retVal As OPENcontrol.SelectPartProgramResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SelectPartProgram(inValue) + Return retVal.SelectPartProgramR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SelectPartProgramFromDrive(ByVal request As OPENcontrol.SelectPartProgramFromDriveRequest) As OPENcontrol.SelectPartProgramFromDriveResponse Implements OPENcontrol.OPENcontrolPortType.SelectPartProgramFromDrive + Return MyBase.Channel.SelectPartProgramFromDrive(request) + End Function + + Public Function SelectPartProgramFromDrive(ByVal SelectPartProgramFromDrive1 As OPENcontrol.SelectPartProgramFromDrive) As OPENcontrol.SelectPartProgramFromDriveR + Dim inValue As OPENcontrol.SelectPartProgramFromDriveRequest = New OPENcontrol.SelectPartProgramFromDriveRequest() + inValue.SelectPartProgramFromDrive = SelectPartProgramFromDrive1 + Dim retVal As OPENcontrol.SelectPartProgramFromDriveResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SelectPartProgramFromDrive(inValue) + Return retVal.SelectPartProgramFromDriveR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetActivePartProgram(ByVal request As OPENcontrol.GetActivePartProgramRequest) As OPENcontrol.GetActivePartProgramResponse Implements OPENcontrol.OPENcontrolPortType.GetActivePartProgram + Return MyBase.Channel.GetActivePartProgram(request) + End Function + + Public Function GetActivePartProgram(ByVal GetActivePartProgram1 As OPENcontrol.GetActivePartProgram) As OPENcontrol.GetActivePartProgramR + Dim inValue As OPENcontrol.GetActivePartProgramRequest = New OPENcontrol.GetActivePartProgramRequest() + inValue.GetActivePartProgram = GetActivePartProgram1 + Dim retVal As OPENcontrol.GetActivePartProgramResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetActivePartProgram(inValue) + Return retVal.GetActivePartProgramR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetPartProgramLines(ByVal request As OPENcontrol.GetPartProgramLinesRequest) As OPENcontrol.GetPartProgramLinesResponse Implements OPENcontrol.OPENcontrolPortType.GetPartProgramLines + Return MyBase.Channel.GetPartProgramLines(request) + End Function + + Public Function GetPartProgramLines(ByVal GetPartProgramLines1 As OPENcontrol.GetPartProgramLines) As OPENcontrol.GetPartProgramLinesR + Dim inValue As OPENcontrol.GetPartProgramLinesRequest = New OPENcontrol.GetPartProgramLinesRequest() + inValue.GetPartProgramLines = GetPartProgramLines1 + Dim retVal As OPENcontrol.GetPartProgramLinesResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetPartProgramLines(inValue) + Return retVal.GetPartProgramLinesR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetAxOriginNum(ByVal request As OPENcontrol.GetAxOriginNumRequest) As OPENcontrol.GetAxOriginNumResponse Implements OPENcontrol.OPENcontrolPortType.GetAxOriginNum + Return MyBase.Channel.GetAxOriginNum(request) + End Function + + Public Function GetAxOriginNum(ByVal GetAxOriginNum1 As OPENcontrol.GetAxOriginNum) As OPENcontrol.GetAxOriginNumR + Dim inValue As OPENcontrol.GetAxOriginNumRequest = New OPENcontrol.GetAxOriginNumRequest() + inValue.GetAxOriginNum = GetAxOriginNum1 + Dim retVal As OPENcontrol.GetAxOriginNumResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetAxOriginNum(inValue) + Return retVal.GetAxOriginNumR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetAxesPosition(ByVal request As OPENcontrol.GetAxesPositionRequest) As OPENcontrol.GetAxesPositionResponse Implements OPENcontrol.OPENcontrolPortType.GetAxesPosition + Return MyBase.Channel.GetAxesPosition(request) + End Function + + Public Function GetAxesPosition(ByVal GetAxesPosition1 As OPENcontrol.GetAxesPosition) As OPENcontrol.GetAxesPositionR + Dim inValue As OPENcontrol.GetAxesPositionRequest = New OPENcontrol.GetAxesPositionRequest() + inValue.GetAxesPosition = GetAxesPosition1 + Dim retVal As OPENcontrol.GetAxesPositionResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetAxesPosition(inValue) + Return retVal.GetAxesPositionR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetNcInfo1(ByVal request As OPENcontrol.GetNcInfo1Request) As OPENcontrol.GetNcInfo1Response Implements OPENcontrol.OPENcontrolPortType.GetNcInfo1 + Return MyBase.Channel.GetNcInfo1(request) + End Function + + Public Function GetNcInfo1(ByVal GetNcInfo11 As OPENcontrol.GetNcInfo1) As OPENcontrol.GetNcInfo1R + Dim inValue As OPENcontrol.GetNcInfo1Request = New OPENcontrol.GetNcInfo1Request() + inValue.GetNcInfo1 = GetNcInfo11 + Dim retVal As OPENcontrol.GetNcInfo1Response = CType(Me,OPENcontrol.OPENcontrolPortType).GetNcInfo1(inValue) + Return retVal.GetNcInfo1R + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetNcInfo2(ByVal request As OPENcontrol.GetNcInfo2Request) As OPENcontrol.GetNcInfo2Response Implements OPENcontrol.OPENcontrolPortType.GetNcInfo2 + Return MyBase.Channel.GetNcInfo2(request) + End Function + + Public Function GetNcInfo2(ByVal GetNcInfo21 As OPENcontrol.GetNcInfo2) As OPENcontrol.GetNcInfo2R + Dim inValue As OPENcontrol.GetNcInfo2Request = New OPENcontrol.GetNcInfo2Request() + inValue.GetNcInfo2 = GetNcInfo21 + Dim retVal As OPENcontrol.GetNcInfo2Response = CType(Me,OPENcontrol.OPENcontrolPortType).GetNcInfo2(inValue) + Return retVal.GetNcInfo2R + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetToolNames(ByVal request As OPENcontrol.GetToolNamesRequest) As OPENcontrol.GetToolNamesResponse Implements OPENcontrol.OPENcontrolPortType.GetToolNames + Return MyBase.Channel.GetToolNames(request) + End Function + + Public Function GetToolNames(ByVal GetToolNames1 As OPENcontrol.GetToolNames) As OPENcontrol.GetToolNamesR + Dim inValue As OPENcontrol.GetToolNamesRequest = New OPENcontrol.GetToolNamesRequest() + inValue.GetToolNames = GetToolNames1 + Dim retVal As OPENcontrol.GetToolNamesResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetToolNames(inValue) + Return retVal.GetToolNamesR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetProcessStatus(ByVal request As OPENcontrol.GetProcessStatusRequest) As OPENcontrol.GetProcessStatusResponse Implements OPENcontrol.OPENcontrolPortType.GetProcessStatus + Return MyBase.Channel.GetProcessStatus(request) + End Function + + Public Function GetProcessStatus(ByVal GetProcessStatus1 As OPENcontrol.GetProcessStatus) As OPENcontrol.GetProcessStatusR + Dim inValue As OPENcontrol.GetProcessStatusRequest = New OPENcontrol.GetProcessStatusRequest() + inValue.GetProcessStatus = GetProcessStatus1 + Dim retVal As OPENcontrol.GetProcessStatusResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetProcessStatus(inValue) + Return retVal.GetProcessStatusR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetBlkNum(ByVal request As OPENcontrol.GetBlkNumRequest) As OPENcontrol.GetBlkNumResponse Implements OPENcontrol.OPENcontrolPortType.GetBlkNum + Return MyBase.Channel.GetBlkNum(request) + End Function + + Public Function GetBlkNum(ByVal GetBlkNum1 As OPENcontrol.GetBlkNum) As OPENcontrol.GetBlkNumR + Dim inValue As OPENcontrol.GetBlkNumRequest = New OPENcontrol.GetBlkNumRequest() + inValue.GetBlkNum = GetBlkNum1 + Dim retVal As OPENcontrol.GetBlkNumResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetBlkNum(inValue) + Return retVal.GetBlkNumR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadErrMsg(ByVal request As OPENcontrol.ReadErrMsgRequest) As OPENcontrol.ReadErrMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadErrMsg + Return MyBase.Channel.ReadErrMsg(request) + End Function + + Public Function ReadErrMsg(ByVal ReadErrMsg1 As OPENcontrol.ReadErrMsg) As OPENcontrol.ReadErrMsgR + Dim inValue As OPENcontrol.ReadErrMsgRequest = New OPENcontrol.ReadErrMsgRequest() + inValue.ReadErrMsg = ReadErrMsg1 + Dim retVal As OPENcontrol.ReadErrMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadErrMsg(inValue) + Return retVal.ReadErrMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadPartProgramMsg(ByVal request As OPENcontrol.ReadPartProgramMsgRequest) As OPENcontrol.ReadPartProgramMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadPartProgramMsg + Return MyBase.Channel.ReadPartProgramMsg(request) + End Function + + Public Function ReadPartProgramMsg(ByVal ReadPartProgramMsg1 As OPENcontrol.ReadPartProgramMsg) As OPENcontrol.ReadPartProgramMsgR + Dim inValue As OPENcontrol.ReadPartProgramMsgRequest = New OPENcontrol.ReadPartProgramMsgRequest() + inValue.ReadPartProgramMsg = ReadPartProgramMsg1 + Dim retVal As OPENcontrol.ReadPartProgramMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadPartProgramMsg(inValue) + Return retVal.ReadPartProgramMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetGCode(ByVal request As OPENcontrol.GetGCodeRequest) As OPENcontrol.GetGCodeResponse Implements OPENcontrol.OPENcontrolPortType.GetGCode + Return MyBase.Channel.GetGCode(request) + End Function + + Public Function GetGCode(ByVal GetGCode1 As OPENcontrol.GetGCode) As OPENcontrol.GetGCodeR + Dim inValue As OPENcontrol.GetGCodeRequest = New OPENcontrol.GetGCodeRequest() + inValue.GetGCode = GetGCode1 + Dim retVal As OPENcontrol.GetGCodeResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetGCode(inValue) + Return retVal.GetGCodeR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetMCode(ByVal request As OPENcontrol.GetMCodeRequest) As OPENcontrol.GetMCodeResponse Implements OPENcontrol.OPENcontrolPortType.GetMCode + Return MyBase.Channel.GetMCode(request) + End Function + + Public Function GetMCode(ByVal GetMCode1 As OPENcontrol.GetMCode) As OPENcontrol.GetMCodeR + Dim inValue As OPENcontrol.GetMCodeRequest = New OPENcontrol.GetMCodeRequest() + inValue.GetMCode = GetMCode1 + Dim retVal As OPENcontrol.GetMCodeResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetMCode(inValue) + Return retVal.GetMCodeR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SkipPProgBlock(ByVal request As OPENcontrol.SkipPProgBlockRequest) As OPENcontrol.SkipPProgBlockResponse Implements OPENcontrol.OPENcontrolPortType.SkipPProgBlock + Return MyBase.Channel.SkipPProgBlock(request) + End Function + + Public Function SkipPProgBlock(ByVal SkipPProgBlock1 As OPENcontrol.SkipPProgBlock) As OPENcontrol.SkipPProgBlockR + Dim inValue As OPENcontrol.SkipPProgBlockRequest = New OPENcontrol.SkipPProgBlockRequest() + inValue.SkipPProgBlock = SkipPProgBlock1 + Dim retVal As OPENcontrol.SkipPProgBlockResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SkipPProgBlock(inValue) + Return retVal.SkipPProgBlockR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_Ese(ByVal request As OPENcontrol.EseRequest) As OPENcontrol.EseResponse Implements OPENcontrol.OPENcontrolPortType.Ese + Return MyBase.Channel.Ese(request) + End Function + + Public Function Ese(ByVal Ese1 As OPENcontrol.Ese) As OPENcontrol.EseR + Dim inValue As OPENcontrol.EseRequest = New OPENcontrol.EseRequest() + inValue.Ese = Ese1 + Dim retVal As OPENcontrol.EseResponse = CType(Me,OPENcontrol.OPENcontrolPortType).Ese(inValue) + Return retVal.EseR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_EseEx(ByVal request As OPENcontrol.EseExRequest) As OPENcontrol.EseExResponse Implements OPENcontrol.OPENcontrolPortType.EseEx + Return MyBase.Channel.EseEx(request) + End Function + + Public Function EseEx(ByVal EseEx1 As OPENcontrol.EseEx) As OPENcontrol.EseExR + Dim inValue As OPENcontrol.EseExRequest = New OPENcontrol.EseExRequest() + inValue.EseEx = EseEx1 + Dim retVal As OPENcontrol.EseExResponse = CType(Me,OPENcontrol.OPENcontrolPortType).EseEx(inValue) + Return retVal.EseExR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_Exe(ByVal request As OPENcontrol.ExeRequest) As OPENcontrol.ExeResponse Implements OPENcontrol.OPENcontrolPortType.Exe + Return MyBase.Channel.Exe(request) + End Function + + Public Function Exe(ByVal Exe1 As OPENcontrol.Exe) As OPENcontrol.ExeR + Dim inValue As OPENcontrol.ExeRequest = New OPENcontrol.ExeRequest() + inValue.Exe = Exe1 + Dim retVal As OPENcontrol.ExeResponse = CType(Me,OPENcontrol.OPENcontrolPortType).Exe(inValue) + Return retVal.ExeR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_AxesRef(ByVal request As OPENcontrol.AxesRefRequest) As OPENcontrol.AxesRefResponse Implements OPENcontrol.OPENcontrolPortType.AxesRef + Return MyBase.Channel.AxesRef(request) + End Function + + Public Function AxesRef(ByVal AxesRef1 As OPENcontrol.AxesRef) As OPENcontrol.AxesRefR + Dim inValue As OPENcontrol.AxesRefRequest = New OPENcontrol.AxesRefRequest() + inValue.AxesRef = AxesRef1 + Dim retVal As OPENcontrol.AxesRefResponse = CType(Me,OPENcontrol.OPENcontrolPortType).AxesRef(inValue) + Return retVal.AxesRefR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_DncInit(ByVal request As OPENcontrol.DncInitRequest) As OPENcontrol.DncInitResponse Implements OPENcontrol.OPENcontrolPortType.DncInit + Return MyBase.Channel.DncInit(request) + End Function + + Public Function DncInit(ByVal DncInit1 As OPENcontrol.DncInit) As OPENcontrol.DncInitR + Dim inValue As OPENcontrol.DncInitRequest = New OPENcontrol.DncInitRequest() + inValue.DncInit = DncInit1 + Dim retVal As OPENcontrol.DncInitResponse = CType(Me,OPENcontrol.OPENcontrolPortType).DncInit(inValue) + Return retVal.DncInitR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_DncData(ByVal request As OPENcontrol.DncDataRequest) As OPENcontrol.DncDataResponse Implements OPENcontrol.OPENcontrolPortType.DncData + Return MyBase.Channel.DncData(request) + End Function + + Public Function DncData(ByVal DncData1 As OPENcontrol.DncData) As OPENcontrol.DncDataR + Dim inValue As OPENcontrol.DncDataRequest = New OPENcontrol.DncDataRequest() + inValue.DncData = DncData1 + Dim retVal As OPENcontrol.DncDataResponse = CType(Me,OPENcontrol.OPENcontrolPortType).DncData(inValue) + Return retVal.DncDataR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_DncEof(ByVal request As OPENcontrol.DncEofRequest) As OPENcontrol.DncEofResponse Implements OPENcontrol.OPENcontrolPortType.DncEof + Return MyBase.Channel.DncEof(request) + End Function + + Public Function DncEof(ByVal DncEof1 As OPENcontrol.DncEof) As OPENcontrol.DncEofR + Dim inValue As OPENcontrol.DncEofRequest = New OPENcontrol.DncEofRequest() + inValue.DncEof = DncEof1 + Dim retVal As OPENcontrol.DncEofResponse = CType(Me,OPENcontrol.OPENcontrolPortType).DncEof(inValue) + Return retVal.DncEofR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_DncStop(ByVal request As OPENcontrol.DncStopRequest) As OPENcontrol.DncStopResponse Implements OPENcontrol.OPENcontrolPortType.DncStop + Return MyBase.Channel.DncStop(request) + End Function + + Public Function DncStop(ByVal DncStop1 As OPENcontrol.DncStop) As OPENcontrol.DncStopR + Dim inValue As OPENcontrol.DncStopRequest = New OPENcontrol.DncStopRequest() + inValue.DncStop = DncStop1 + Dim retVal As OPENcontrol.DncStopResponse = CType(Me,OPENcontrol.OPENcontrolPortType).DncStop(inValue) + Return retVal.DncStopR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetAxesInfo3(ByVal request As OPENcontrol.GetAxesInfo3Request) As OPENcontrol.GetAxesInfo3Response Implements OPENcontrol.OPENcontrolPortType.GetAxesInfo3 + Return MyBase.Channel.GetAxesInfo3(request) + End Function + + Public Function GetAxesInfo3(ByVal GetAxesInfo31 As OPENcontrol.GetAxesInfo3) As OPENcontrol.GetAxesInfo3R + Dim inValue As OPENcontrol.GetAxesInfo3Request = New OPENcontrol.GetAxesInfo3Request() + inValue.GetAxesInfo3 = GetAxesInfo31 + Dim retVal As OPENcontrol.GetAxesInfo3Response = CType(Me,OPENcontrol.OPENcontrolPortType).GetAxesInfo3(inValue) + Return retVal.GetAxesInfo3R + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetCodeNumber(ByVal request As OPENcontrol.GetCodeNumberRequest) As OPENcontrol.GetCodeNumberResponse Implements OPENcontrol.OPENcontrolPortType.GetCodeNumber + Return MyBase.Channel.GetCodeNumber(request) + End Function + + Public Function GetCodeNumber(ByVal GetCodeNumber1 As OPENcontrol.GetCodeNumber) As OPENcontrol.GetCodeNumberR + Dim inValue As OPENcontrol.GetCodeNumberRequest = New OPENcontrol.GetCodeNumberRequest() + inValue.GetCodeNumber = GetCodeNumber1 + Dim retVal As OPENcontrol.GetCodeNumberResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetCodeNumber(inValue) + Return retVal.GetCodeNumberR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetOptions(ByVal request As OPENcontrol.GetOptionsRequest) As OPENcontrol.GetOptionsResponse Implements OPENcontrol.OPENcontrolPortType.GetOptions + Return MyBase.Channel.GetOptions(request) + End Function + + Public Function GetOptions(ByVal GetOptions1 As OPENcontrol.GetOptions) As OPENcontrol.GetOptionsR + Dim inValue As OPENcontrol.GetOptionsRequest = New OPENcontrol.GetOptionsRequest() + inValue.GetOptions = GetOptions1 + Dim retVal As OPENcontrol.GetOptionsResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetOptions(inValue) + Return retVal.GetOptionsR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetDateTime(ByVal request As OPENcontrol.GetDateTimeRequest) As OPENcontrol.GetDateTimeResponse Implements OPENcontrol.OPENcontrolPortType.GetDateTime + Return MyBase.Channel.GetDateTime(request) + End Function + + Public Function GetDateTime(ByVal GetDateTime1 As OPENcontrol.GetDateTime) As OPENcontrol.GetDateTimeR + Dim inValue As OPENcontrol.GetDateTimeRequest = New OPENcontrol.GetDateTimeRequest() + inValue.GetDateTime = GetDateTime1 + Dim retVal As OPENcontrol.GetDateTimeResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetDateTime(inValue) + Return retVal.GetDateTimeR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetDateTime(ByVal request As OPENcontrol.SetDateTimeRequest) As OPENcontrol.SetDateTimeResponse Implements OPENcontrol.OPENcontrolPortType.SetDateTime + Return MyBase.Channel.SetDateTime(request) + End Function + + Public Function SetDateTime(ByVal SetDateTime1 As OPENcontrol.SetDateTime) As OPENcontrol.SetDateTimeR + Dim inValue As OPENcontrol.SetDateTimeRequest = New OPENcontrol.SetDateTimeRequest() + inValue.SetDateTime = SetDateTime1 + Dim retVal As OPENcontrol.SetDateTimeResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetDateTime(inValue) + Return retVal.SetDateTimeR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetSerialNumber(ByVal request As OPENcontrol.GetSerialNumberRequest) As OPENcontrol.GetSerialNumberResponse Implements OPENcontrol.OPENcontrolPortType.GetSerialNumber + Return MyBase.Channel.GetSerialNumber(request) + End Function + + Public Function GetSerialNumber(ByVal GetSerialNumber1 As OPENcontrol.GetSerialNumber) As OPENcontrol.GetSerialNumberR + Dim inValue As OPENcontrol.GetSerialNumberRequest = New OPENcontrol.GetSerialNumberRequest() + inValue.GetSerialNumber = GetSerialNumber1 + Dim retVal As OPENcontrol.GetSerialNumberResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetSerialNumber(inValue) + Return retVal.GetSerialNumberR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_PutFile(ByVal request As OPENcontrol.PutFileRequest) As OPENcontrol.PutFileResponse Implements OPENcontrol.OPENcontrolPortType.PutFile + Return MyBase.Channel.PutFile(request) + End Function + + Public Function PutFile(ByVal PutFile1 As OPENcontrol.PutFile) As OPENcontrol.PutFileR + Dim inValue As OPENcontrol.PutFileRequest = New OPENcontrol.PutFileRequest() + inValue.PutFile = PutFile1 + Dim retVal As OPENcontrol.PutFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).PutFile(inValue) + Return retVal.PutFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetFile(ByVal request As OPENcontrol.GetFileRequest) As OPENcontrol.GetFileResponse Implements OPENcontrol.OPENcontrolPortType.GetFile + Return MyBase.Channel.GetFile(request) + End Function + + Public Function GetFile(ByVal GetFile1 As OPENcontrol.GetFile) As OPENcontrol.GetFileR + Dim inValue As OPENcontrol.GetFileRequest = New OPENcontrol.GetFileRequest() + inValue.GetFile = GetFile1 + Dim retVal As OPENcontrol.GetFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetFile(inValue) + Return retVal.GetFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_PutBinaryFile(ByVal request As OPENcontrol.PutBinaryFileRequest) As OPENcontrol.PutBinaryFileResponse Implements OPENcontrol.OPENcontrolPortType.PutBinaryFile + Return MyBase.Channel.PutBinaryFile(request) + End Function + + Public Function PutBinaryFile(ByVal PutBinaryFile1 As OPENcontrol.PutBinaryFile) As OPENcontrol.PutBinaryFileR + Dim inValue As OPENcontrol.PutBinaryFileRequest = New OPENcontrol.PutBinaryFileRequest() + inValue.PutBinaryFile = PutBinaryFile1 + Dim retVal As OPENcontrol.PutBinaryFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).PutBinaryFile(inValue) + Return retVal.PutBinaryFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetBinaryFile(ByVal request As OPENcontrol.GetBinaryFileRequest) As OPENcontrol.GetBinaryFileResponse Implements OPENcontrol.OPENcontrolPortType.GetBinaryFile + Return MyBase.Channel.GetBinaryFile(request) + End Function + + Public Function GetBinaryFile(ByVal GetBinaryFile1 As OPENcontrol.GetBinaryFile) As OPENcontrol.GetBinaryFileR + Dim inValue As OPENcontrol.GetBinaryFileRequest = New OPENcontrol.GetBinaryFileRequest() + inValue.GetBinaryFile = GetBinaryFile1 + Dim retVal As OPENcontrol.GetBinaryFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetBinaryFile(inValue) + Return retVal.GetBinaryFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSSetSecurityLevel(ByVal request As OPENcontrol.LogFSSetSecurityLevelRequest) As OPENcontrol.LogFSSetSecurityLevelResponse Implements OPENcontrol.OPENcontrolPortType.LogFSSetSecurityLevel + Return MyBase.Channel.LogFSSetSecurityLevel(request) + End Function + + Public Function LogFSSetSecurityLevel(ByVal LogFSSetSecurityLevel1 As OPENcontrol.LogFSSetSecurityLevel) As OPENcontrol.LogFSSetSecurityLevelR + Dim inValue As OPENcontrol.LogFSSetSecurityLevelRequest = New OPENcontrol.LogFSSetSecurityLevelRequest() + inValue.LogFSSetSecurityLevel = LogFSSetSecurityLevel1 + Dim retVal As OPENcontrol.LogFSSetSecurityLevelResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSSetSecurityLevel(inValue) + Return retVal.LogFSSetSecurityLevelR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSGetSecurityLevel(ByVal request As OPENcontrol.LogFSGetSecurityLevelRequest) As OPENcontrol.LogFSGetSecurityLevelResponse Implements OPENcontrol.OPENcontrolPortType.LogFSGetSecurityLevel + Return MyBase.Channel.LogFSGetSecurityLevel(request) + End Function + + Public Function LogFSGetSecurityLevel(ByVal LogFSGetSecurityLevel1 As OPENcontrol.LogFSGetSecurityLevel) As OPENcontrol.LogFSGetSecurityLevelR + Dim inValue As OPENcontrol.LogFSGetSecurityLevelRequest = New OPENcontrol.LogFSGetSecurityLevelRequest() + inValue.LogFSGetSecurityLevel = LogFSGetSecurityLevel1 + Dim retVal As OPENcontrol.LogFSGetSecurityLevelResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSGetSecurityLevel(inValue) + Return retVal.LogFSGetSecurityLevelR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSLongFileNames(ByVal request As OPENcontrol.LogFSLongFileNamesRequest) As OPENcontrol.LogFSLongFileNamesResponse Implements OPENcontrol.OPENcontrolPortType.LogFSLongFileNames + Return MyBase.Channel.LogFSLongFileNames(request) + End Function + + Public Function LogFSLongFileNames(ByVal LogFSLongFileNames1 As OPENcontrol.LogFSLongFileNames) As OPENcontrol.LogFSLongFileNamesR + Dim inValue As OPENcontrol.LogFSLongFileNamesRequest = New OPENcontrol.LogFSLongFileNamesRequest() + inValue.LogFSLongFileNames = LogFSLongFileNames1 + Dim retVal As OPENcontrol.LogFSLongFileNamesResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSLongFileNames(inValue) + Return retVal.LogFSLongFileNamesR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSGetNumDrive(ByVal request As OPENcontrol.LogFSGetNumDriveRequest) As OPENcontrol.LogFSGetNumDriveResponse Implements OPENcontrol.OPENcontrolPortType.LogFSGetNumDrive + Return MyBase.Channel.LogFSGetNumDrive(request) + End Function + + Public Function LogFSGetNumDrive(ByVal LogFSGetNumDrive1 As OPENcontrol.LogFSGetNumDrive) As OPENcontrol.LogFSGetNumDriveR + Dim inValue As OPENcontrol.LogFSGetNumDriveRequest = New OPENcontrol.LogFSGetNumDriveRequest() + inValue.LogFSGetNumDrive = LogFSGetNumDrive1 + Dim retVal As OPENcontrol.LogFSGetNumDriveResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSGetNumDrive(inValue) + Return retVal.LogFSGetNumDriveR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSGetDriveList(ByVal request As OPENcontrol.LogFSGetDriveListRequest) As OPENcontrol.LogFSGetDriveListResponse Implements OPENcontrol.OPENcontrolPortType.LogFSGetDriveList + Return MyBase.Channel.LogFSGetDriveList(request) + End Function + + Public Function LogFSGetDriveList(ByVal LogFSGetDriveList1 As OPENcontrol.LogFSGetDriveList) As OPENcontrol.LogFSGetDriveListR + Dim inValue As OPENcontrol.LogFSGetDriveListRequest = New OPENcontrol.LogFSGetDriveListRequest() + inValue.LogFSGetDriveList = LogFSGetDriveList1 + Dim retVal As OPENcontrol.LogFSGetDriveListResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSGetDriveList(inValue) + Return retVal.LogFSGetDriveListR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSGetHiddenDriveList(ByVal request As OPENcontrol.LogFSGetHiddenDriveListRequest) As OPENcontrol.LogFSGetHiddenDriveListResponse Implements OPENcontrol.OPENcontrolPortType.LogFSGetHiddenDriveList + Return MyBase.Channel.LogFSGetHiddenDriveList(request) + End Function + + Public Function LogFSGetHiddenDriveList(ByVal LogFSGetHiddenDriveList1 As OPENcontrol.LogFSGetHiddenDriveList) As OPENcontrol.LogFSGetHiddenDriveListR + Dim inValue As OPENcontrol.LogFSGetHiddenDriveListRequest = New OPENcontrol.LogFSGetHiddenDriveListRequest() + inValue.LogFSGetHiddenDriveList = LogFSGetHiddenDriveList1 + Dim retVal As OPENcontrol.LogFSGetHiddenDriveListResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSGetHiddenDriveList(inValue) + Return retVal.LogFSGetHiddenDriveListR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSGetDrivePath(ByVal request As OPENcontrol.LogFSGetDrivePathRequest) As OPENcontrol.LogFSGetDrivePathResponse Implements OPENcontrol.OPENcontrolPortType.LogFSGetDrivePath + Return MyBase.Channel.LogFSGetDrivePath(request) + End Function + + Public Function LogFSGetDrivePath(ByVal LogFSGetDrivePath1 As OPENcontrol.LogFSGetDrivePath) As OPENcontrol.LogFSGetDrivePathR + Dim inValue As OPENcontrol.LogFSGetDrivePathRequest = New OPENcontrol.LogFSGetDrivePathRequest() + inValue.LogFSGetDrivePath = LogFSGetDrivePath1 + Dim retVal As OPENcontrol.LogFSGetDrivePathResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSGetDrivePath(inValue) + Return retVal.LogFSGetDrivePathR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSAddDrive(ByVal request As OPENcontrol.LogFSAddDriveRequest) As OPENcontrol.LogFSAddDriveResponse Implements OPENcontrol.OPENcontrolPortType.LogFSAddDrive + Return MyBase.Channel.LogFSAddDrive(request) + End Function + + Public Function LogFSAddDrive(ByVal LogFSAddDrive1 As OPENcontrol.LogFSAddDrive) As OPENcontrol.LogFSAddDriveR + Dim inValue As OPENcontrol.LogFSAddDriveRequest = New OPENcontrol.LogFSAddDriveRequest() + inValue.LogFSAddDrive = LogFSAddDrive1 + Dim retVal As OPENcontrol.LogFSAddDriveResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSAddDrive(inValue) + Return retVal.LogFSAddDriveR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSRemoveDrive(ByVal request As OPENcontrol.LogFSRemoveDriveRequest) As OPENcontrol.LogFSRemoveDriveResponse Implements OPENcontrol.OPENcontrolPortType.LogFSRemoveDrive + Return MyBase.Channel.LogFSRemoveDrive(request) + End Function + + Public Function LogFSRemoveDrive(ByVal LogFSRemoveDrive1 As OPENcontrol.LogFSRemoveDrive) As OPENcontrol.LogFSRemoveDriveR + Dim inValue As OPENcontrol.LogFSRemoveDriveRequest = New OPENcontrol.LogFSRemoveDriveRequest() + inValue.LogFSRemoveDrive = LogFSRemoveDrive1 + Dim retVal As OPENcontrol.LogFSRemoveDriveResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSRemoveDrive(inValue) + Return retVal.LogFSRemoveDriveR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSReloadDriveList(ByVal request As OPENcontrol.LogFSReloadDriveListRequest) As OPENcontrol.LogFSReloadDriveListResponse Implements OPENcontrol.OPENcontrolPortType.LogFSReloadDriveList + Return MyBase.Channel.LogFSReloadDriveList(request) + End Function + + Public Function LogFSReloadDriveList(ByVal LogFSReloadDriveList1 As OPENcontrol.LogFSReloadDriveList) As OPENcontrol.LogFSReloadDriveListR + Dim inValue As OPENcontrol.LogFSReloadDriveListRequest = New OPENcontrol.LogFSReloadDriveListRequest() + inValue.LogFSReloadDriveList = LogFSReloadDriveList1 + Dim retVal As OPENcontrol.LogFSReloadDriveListResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSReloadDriveList(inValue) + Return retVal.LogFSReloadDriveListR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSCreateDir(ByVal request As OPENcontrol.LogFSCreateDirRequest) As OPENcontrol.LogFSCreateDirResponse Implements OPENcontrol.OPENcontrolPortType.LogFSCreateDir + Return MyBase.Channel.LogFSCreateDir(request) + End Function + + Public Function LogFSCreateDir(ByVal LogFSCreateDir1 As OPENcontrol.LogFSCreateDir) As OPENcontrol.LogFSCreateDirR + Dim inValue As OPENcontrol.LogFSCreateDirRequest = New OPENcontrol.LogFSCreateDirRequest() + inValue.LogFSCreateDir = LogFSCreateDir1 + Dim retVal As OPENcontrol.LogFSCreateDirResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSCreateDir(inValue) + Return retVal.LogFSCreateDirR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSCreateFile(ByVal request As OPENcontrol.LogFSCreateFileRequest) As OPENcontrol.LogFSCreateFileResponse Implements OPENcontrol.OPENcontrolPortType.LogFSCreateFile + Return MyBase.Channel.LogFSCreateFile(request) + End Function + + Public Function LogFSCreateFile(ByVal LogFSCreateFile1 As OPENcontrol.LogFSCreateFile) As OPENcontrol.LogFSCreateFileR + Dim inValue As OPENcontrol.LogFSCreateFileRequest = New OPENcontrol.LogFSCreateFileRequest() + inValue.LogFSCreateFile = LogFSCreateFile1 + Dim retVal As OPENcontrol.LogFSCreateFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSCreateFile(inValue) + Return retVal.LogFSCreateFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSGetFileSize(ByVal request As OPENcontrol.LogFSGetFileSizeRequest) As OPENcontrol.LogFSGetFileSizeResponse Implements OPENcontrol.OPENcontrolPortType.LogFSGetFileSize + Return MyBase.Channel.LogFSGetFileSize(request) + End Function + + Public Function LogFSGetFileSize(ByVal LogFSGetFileSize1 As OPENcontrol.LogFSGetFileSize) As OPENcontrol.LogFSGetFileSizeR + Dim inValue As OPENcontrol.LogFSGetFileSizeRequest = New OPENcontrol.LogFSGetFileSizeRequest() + inValue.LogFSGetFileSize = LogFSGetFileSize1 + Dim retVal As OPENcontrol.LogFSGetFileSizeResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSGetFileSize(inValue) + Return retVal.LogFSGetFileSizeR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSGetFileAttrib(ByVal request As OPENcontrol.LogFSGetFileAttribRequest) As OPENcontrol.LogFSGetFileAttribResponse Implements OPENcontrol.OPENcontrolPortType.LogFSGetFileAttrib + Return MyBase.Channel.LogFSGetFileAttrib(request) + End Function + + Public Function LogFSGetFileAttrib(ByVal LogFSGetFileAttrib1 As OPENcontrol.LogFSGetFileAttrib) As OPENcontrol.LogFSGetFileAttribR + Dim inValue As OPENcontrol.LogFSGetFileAttribRequest = New OPENcontrol.LogFSGetFileAttribRequest() + inValue.LogFSGetFileAttrib = LogFSGetFileAttrib1 + Dim retVal As OPENcontrol.LogFSGetFileAttribResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSGetFileAttrib(inValue) + Return retVal.LogFSGetFileAttribR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSSetFileAttrib(ByVal request As OPENcontrol.LogFSSetFileAttribRequest) As OPENcontrol.LogFSSetFileAttribResponse Implements OPENcontrol.OPENcontrolPortType.LogFSSetFileAttrib + Return MyBase.Channel.LogFSSetFileAttrib(request) + End Function + + Public Function LogFSSetFileAttrib(ByVal LogFSSetFileAttrib1 As OPENcontrol.LogFSSetFileAttrib) As OPENcontrol.LogFSSetFileAttribR + Dim inValue As OPENcontrol.LogFSSetFileAttribRequest = New OPENcontrol.LogFSSetFileAttribRequest() + inValue.LogFSSetFileAttrib = LogFSSetFileAttrib1 + Dim retVal As OPENcontrol.LogFSSetFileAttribResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSSetFileAttrib(inValue) + Return retVal.LogFSSetFileAttribR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSChangeFileAttrib(ByVal request As OPENcontrol.LogFSChangeFileAttribRequest) As OPENcontrol.LogFSChangeFileAttribResponse Implements OPENcontrol.OPENcontrolPortType.LogFSChangeFileAttrib + Return MyBase.Channel.LogFSChangeFileAttrib(request) + End Function + + Public Function LogFSChangeFileAttrib(ByVal LogFSChangeFileAttrib1 As OPENcontrol.LogFSChangeFileAttrib) As OPENcontrol.LogFSChangeFileAttribR + Dim inValue As OPENcontrol.LogFSChangeFileAttribRequest = New OPENcontrol.LogFSChangeFileAttribRequest() + inValue.LogFSChangeFileAttrib = LogFSChangeFileAttrib1 + Dim retVal As OPENcontrol.LogFSChangeFileAttribResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSChangeFileAttrib(inValue) + Return retVal.LogFSChangeFileAttribR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSFindFirst(ByVal request As OPENcontrol.LogFSFindFirstRequest) As OPENcontrol.LogFSFindFirstResponse Implements OPENcontrol.OPENcontrolPortType.LogFSFindFirst + Return MyBase.Channel.LogFSFindFirst(request) + End Function + + Public Function LogFSFindFirst(ByVal LogFSFindFirst1 As OPENcontrol.LogFSFindFirst) As OPENcontrol.LogFSFindFirstR + Dim inValue As OPENcontrol.LogFSFindFirstRequest = New OPENcontrol.LogFSFindFirstRequest() + inValue.LogFSFindFirst = LogFSFindFirst1 + Dim retVal As OPENcontrol.LogFSFindFirstResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSFindFirst(inValue) + Return retVal.LogFSFindFirstR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSFindNext(ByVal request As OPENcontrol.LogFSFindNextRequest) As OPENcontrol.LogFSFindNextResponse Implements OPENcontrol.OPENcontrolPortType.LogFSFindNext + Return MyBase.Channel.LogFSFindNext(request) + End Function + + Public Function LogFSFindNext(ByVal LogFSFindNext1 As OPENcontrol.LogFSFindNext) As OPENcontrol.LogFSFindNextR + Dim inValue As OPENcontrol.LogFSFindNextRequest = New OPENcontrol.LogFSFindNextRequest() + inValue.LogFSFindNext = LogFSFindNext1 + Dim retVal As OPENcontrol.LogFSFindNextResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSFindNext(inValue) + Return retVal.LogFSFindNextR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSFindClose(ByVal request As OPENcontrol.LogFSFindCloseRequest) As OPENcontrol.LogFSFindCloseResponse Implements OPENcontrol.OPENcontrolPortType.LogFSFindClose + Return MyBase.Channel.LogFSFindClose(request) + End Function + + Public Function LogFSFindClose(ByVal LogFSFindClose1 As OPENcontrol.LogFSFindClose) As OPENcontrol.LogFSFindCloseR + Dim inValue As OPENcontrol.LogFSFindCloseRequest = New OPENcontrol.LogFSFindCloseRequest() + inValue.LogFSFindClose = LogFSFindClose1 + Dim retVal As OPENcontrol.LogFSFindCloseResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSFindClose(inValue) + Return retVal.LogFSFindCloseR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSRemoveFile(ByVal request As OPENcontrol.LogFSRemoveFileRequest) As OPENcontrol.LogFSRemoveFileResponse Implements OPENcontrol.OPENcontrolPortType.LogFSRemoveFile + Return MyBase.Channel.LogFSRemoveFile(request) + End Function + + Public Function LogFSRemoveFile(ByVal LogFSRemoveFile1 As OPENcontrol.LogFSRemoveFile) As OPENcontrol.LogFSRemoveFileR + Dim inValue As OPENcontrol.LogFSRemoveFileRequest = New OPENcontrol.LogFSRemoveFileRequest() + inValue.LogFSRemoveFile = LogFSRemoveFile1 + Dim retVal As OPENcontrol.LogFSRemoveFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSRemoveFile(inValue) + Return retVal.LogFSRemoveFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSRemoveDir(ByVal request As OPENcontrol.LogFSRemoveDirRequest) As OPENcontrol.LogFSRemoveDirResponse Implements OPENcontrol.OPENcontrolPortType.LogFSRemoveDir + Return MyBase.Channel.LogFSRemoveDir(request) + End Function + + Public Function LogFSRemoveDir(ByVal LogFSRemoveDir1 As OPENcontrol.LogFSRemoveDir) As OPENcontrol.LogFSRemoveDirR + Dim inValue As OPENcontrol.LogFSRemoveDirRequest = New OPENcontrol.LogFSRemoveDirRequest() + inValue.LogFSRemoveDir = LogFSRemoveDir1 + Dim retVal As OPENcontrol.LogFSRemoveDirResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSRemoveDir(inValue) + Return retVal.LogFSRemoveDirR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSRename(ByVal request As OPENcontrol.LogFSRenameRequest) As OPENcontrol.LogFSRenameResponse Implements OPENcontrol.OPENcontrolPortType.LogFSRename + Return MyBase.Channel.LogFSRename(request) + End Function + + Public Function LogFSRename(ByVal LogFSRename1 As OPENcontrol.LogFSRename) As OPENcontrol.LogFSRenameR + Dim inValue As OPENcontrol.LogFSRenameRequest = New OPENcontrol.LogFSRenameRequest() + inValue.LogFSRename = LogFSRename1 + Dim retVal As OPENcontrol.LogFSRenameResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSRename(inValue) + Return retVal.LogFSRenameR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSCopyFile(ByVal request As OPENcontrol.LogFSCopyFileRequest) As OPENcontrol.LogFSCopyFileResponse Implements OPENcontrol.OPENcontrolPortType.LogFSCopyFile + Return MyBase.Channel.LogFSCopyFile(request) + End Function + + Public Function LogFSCopyFile(ByVal LogFSCopyFile1 As OPENcontrol.LogFSCopyFile) As OPENcontrol.LogFSCopyFileR + Dim inValue As OPENcontrol.LogFSCopyFileRequest = New OPENcontrol.LogFSCopyFileRequest() + inValue.LogFSCopyFile = LogFSCopyFile1 + Dim retVal As OPENcontrol.LogFSCopyFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSCopyFile(inValue) + Return retVal.LogFSCopyFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSGetInfo(ByVal request As OPENcontrol.LogFSGetInfoRequest) As OPENcontrol.LogFSGetInfoResponse Implements OPENcontrol.OPENcontrolPortType.LogFSGetInfo + Return MyBase.Channel.LogFSGetInfo(request) + End Function + + Public Function LogFSGetInfo(ByVal LogFSGetInfo1 As OPENcontrol.LogFSGetInfo) As OPENcontrol.LogFSGetInfoR + Dim inValue As OPENcontrol.LogFSGetInfoRequest = New OPENcontrol.LogFSGetInfoRequest() + inValue.LogFSGetInfo = LogFSGetInfo1 + Dim retVal As OPENcontrol.LogFSGetInfoResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSGetInfo(inValue) + Return retVal.LogFSGetInfoR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetAvailableCustomEvents(ByVal request As OPENcontrol.GetAvailableCustomEventsRequest) As OPENcontrol.GetAvailableCustomEventsResponse Implements OPENcontrol.OPENcontrolPortType.GetAvailableCustomEvents + Return MyBase.Channel.GetAvailableCustomEvents(request) + End Function + + Public Function GetAvailableCustomEvents(ByVal GetAvailableCustomEvents1 As OPENcontrol.GetAvailableCustomEvents) As OPENcontrol.GetAvailableCustomEventsR + Dim inValue As OPENcontrol.GetAvailableCustomEventsRequest = New OPENcontrol.GetAvailableCustomEventsRequest() + inValue.GetAvailableCustomEvents = GetAvailableCustomEvents1 + Dim retVal As OPENcontrol.GetAvailableCustomEventsResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetAvailableCustomEvents(inValue) + Return retVal.GetAvailableCustomEventsR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetSysTick(ByVal request As OPENcontrol.GetSysTickRequest) As OPENcontrol.GetSysTickResponse Implements OPENcontrol.OPENcontrolPortType.GetSysTick + Return MyBase.Channel.GetSysTick(request) + End Function + + Public Function GetSysTick(ByVal GetSysTick1 As OPENcontrol.GetSysTick) As OPENcontrol.GetSysTickR + Dim inValue As OPENcontrol.GetSysTickRequest = New OPENcontrol.GetSysTickRequest() + inValue.GetSysTick = GetSysTick1 + Dim retVal As OPENcontrol.GetSysTickResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetSysTick(inValue) + Return retVal.GetSysTickR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetProcessConfNum(ByVal request As OPENcontrol.GetProcessConfNumRequest) As OPENcontrol.GetProcessConfNumResponse Implements OPENcontrol.OPENcontrolPortType.GetProcessConfNum + Return MyBase.Channel.GetProcessConfNum(request) + End Function + + Public Function GetProcessConfNum(ByVal GetProcessConfNum1 As OPENcontrol.GetProcessConfNum) As OPENcontrol.GetProcessConfNumR + Dim inValue As OPENcontrol.GetProcessConfNumRequest = New OPENcontrol.GetProcessConfNumRequest() + inValue.GetProcessConfNum = GetProcessConfNum1 + Dim retVal As OPENcontrol.GetProcessConfNumResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetProcessConfNum(inValue) + Return retVal.GetProcessConfNumR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_MonOpenChannel(ByVal request As OPENcontrol.MonOpenChannelRequest) As OPENcontrol.MonOpenChannelResponse Implements OPENcontrol.OPENcontrolPortType.MonOpenChannel + Return MyBase.Channel.MonOpenChannel(request) + End Function + + Public Function MonOpenChannel(ByVal MonOpenChannel1 As OPENcontrol.MonOpenChannel) As OPENcontrol.MonOpenChannelR + Dim inValue As OPENcontrol.MonOpenChannelRequest = New OPENcontrol.MonOpenChannelRequest() + inValue.MonOpenChannel = MonOpenChannel1 + Dim retVal As OPENcontrol.MonOpenChannelResponse = CType(Me,OPENcontrol.OPENcontrolPortType).MonOpenChannel(inValue) + Return retVal.MonOpenChannelR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_MonCloseChannel(ByVal request As OPENcontrol.MonCloseChannelRequest) As OPENcontrol.MonCloseChannelResponse Implements OPENcontrol.OPENcontrolPortType.MonCloseChannel + Return MyBase.Channel.MonCloseChannel(request) + End Function + + Public Function MonCloseChannel(ByVal MonCloseChannel1 As OPENcontrol.MonCloseChannel) As OPENcontrol.MonCloseChannelR + Dim inValue As OPENcontrol.MonCloseChannelRequest = New OPENcontrol.MonCloseChannelRequest() + inValue.MonCloseChannel = MonCloseChannel1 + Dim retVal As OPENcontrol.MonCloseChannelResponse = CType(Me,OPENcontrol.OPENcontrolPortType).MonCloseChannel(inValue) + Return retVal.MonCloseChannelR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_MonAddVariable(ByVal request As OPENcontrol.MonAddVariableRequest) As OPENcontrol.MonAddVariableResponse Implements OPENcontrol.OPENcontrolPortType.MonAddVariable + Return MyBase.Channel.MonAddVariable(request) + End Function + + Public Function MonAddVariable(ByVal MonAddVariable1 As OPENcontrol.MonAddVariable) As OPENcontrol.MonAddVariableR + Dim inValue As OPENcontrol.MonAddVariableRequest = New OPENcontrol.MonAddVariableRequest() + inValue.MonAddVariable = MonAddVariable1 + Dim retVal As OPENcontrol.MonAddVariableResponse = CType(Me,OPENcontrol.OPENcontrolPortType).MonAddVariable(inValue) + Return retVal.MonAddVariableR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_MonDeleteVariable(ByVal request As OPENcontrol.MonDeleteVariableRequest) As OPENcontrol.MonDeleteVariableResponse Implements OPENcontrol.OPENcontrolPortType.MonDeleteVariable + Return MyBase.Channel.MonDeleteVariable(request) + End Function + + Public Function MonDeleteVariable(ByVal MonDeleteVariable1 As OPENcontrol.MonDeleteVariable) As OPENcontrol.MonDeleteVariableR + Dim inValue As OPENcontrol.MonDeleteVariableRequest = New OPENcontrol.MonDeleteVariableRequest() + inValue.MonDeleteVariable = MonDeleteVariable1 + Dim retVal As OPENcontrol.MonDeleteVariableResponse = CType(Me,OPENcontrol.OPENcontrolPortType).MonDeleteVariable(inValue) + Return retVal.MonDeleteVariableR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_MonStartSampling(ByVal request As OPENcontrol.MonStartSamplingRequest) As OPENcontrol.MonStartSamplingResponse Implements OPENcontrol.OPENcontrolPortType.MonStartSampling + Return MyBase.Channel.MonStartSampling(request) + End Function + + Public Function MonStartSampling(ByVal MonStartSampling1 As OPENcontrol.MonStartSampling) As OPENcontrol.MonStartSamplingR + Dim inValue As OPENcontrol.MonStartSamplingRequest = New OPENcontrol.MonStartSamplingRequest() + inValue.MonStartSampling = MonStartSampling1 + Dim retVal As OPENcontrol.MonStartSamplingResponse = CType(Me,OPENcontrol.OPENcontrolPortType).MonStartSampling(inValue) + Return retVal.MonStartSamplingR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_MonStopSampling(ByVal request As OPENcontrol.MonStopSamplingRequest) As OPENcontrol.MonStopSamplingResponse Implements OPENcontrol.OPENcontrolPortType.MonStopSampling + Return MyBase.Channel.MonStopSampling(request) + End Function + + Public Function MonStopSampling(ByVal MonStopSampling1 As OPENcontrol.MonStopSampling) As OPENcontrol.MonStopSamplingR + Dim inValue As OPENcontrol.MonStopSamplingRequest = New OPENcontrol.MonStopSamplingRequest() + inValue.MonStopSampling = MonStopSampling1 + Dim retVal As OPENcontrol.MonStopSamplingResponse = CType(Me,OPENcontrol.OPENcontrolPortType).MonStopSampling(inValue) + Return retVal.MonStopSamplingR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_MonGetVariable(ByVal request As OPENcontrol.MonGetVariableRequest) As OPENcontrol.MonGetVariableResponse Implements OPENcontrol.OPENcontrolPortType.MonGetVariable + Return MyBase.Channel.MonGetVariable(request) + End Function + + Public Function MonGetVariable(ByVal MonGetVariable1 As OPENcontrol.MonGetVariable) As OPENcontrol.MonGetVariableR + Dim inValue As OPENcontrol.MonGetVariableRequest = New OPENcontrol.MonGetVariableRequest() + inValue.MonGetVariable = MonGetVariable1 + Dim retVal As OPENcontrol.MonGetVariableResponse = CType(Me,OPENcontrol.OPENcontrolPortType).MonGetVariable(inValue) + Return retVal.MonGetVariableR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_CheckHistory(ByVal request As OPENcontrol.CheckHistoryRequest) As OPENcontrol.CheckHistoryResponse Implements OPENcontrol.OPENcontrolPortType.CheckHistory + Return MyBase.Channel.CheckHistory(request) + End Function + + Public Function CheckHistory(ByVal CheckHistory1 As OPENcontrol.CheckHistory) As OPENcontrol.CheckHistoryR + Dim inValue As OPENcontrol.CheckHistoryRequest = New OPENcontrol.CheckHistoryRequest() + inValue.CheckHistory = CheckHistory1 + Dim retVal As OPENcontrol.CheckHistoryResponse = CType(Me,OPENcontrol.OPENcontrolPortType).CheckHistory(inValue) + Return retVal.CheckHistoryR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadHistoryEmergMsg(ByVal request As OPENcontrol.ReadHistoryEmergMsgRequest) As OPENcontrol.ReadHistoryEmergMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadHistoryEmergMsg + Return MyBase.Channel.ReadHistoryEmergMsg(request) + End Function + + Public Function ReadHistoryEmergMsg(ByVal ReadHistoryEmergMsg1 As OPENcontrol.ReadHistoryEmergMsg) As OPENcontrol.ReadHistoryEmergMsgR + Dim inValue As OPENcontrol.ReadHistoryEmergMsgRequest = New OPENcontrol.ReadHistoryEmergMsgRequest() + inValue.ReadHistoryEmergMsg = ReadHistoryEmergMsg1 + Dim retVal As OPENcontrol.ReadHistoryEmergMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadHistoryEmergMsg(inValue) + Return retVal.ReadHistoryEmergMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadHistoryErrorMsg(ByVal request As OPENcontrol.ReadHistoryErrorMsgRequest) As OPENcontrol.ReadHistoryErrorMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadHistoryErrorMsg + Return MyBase.Channel.ReadHistoryErrorMsg(request) + End Function + + Public Function ReadHistoryErrorMsg(ByVal ReadHistoryErrorMsg1 As OPENcontrol.ReadHistoryErrorMsg) As OPENcontrol.ReadHistoryErrorMsgR + Dim inValue As OPENcontrol.ReadHistoryErrorMsgRequest = New OPENcontrol.ReadHistoryErrorMsgRequest() + inValue.ReadHistoryErrorMsg = ReadHistoryErrorMsg1 + Dim retVal As OPENcontrol.ReadHistoryErrorMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadHistoryErrorMsg(inValue) + Return retVal.ReadHistoryErrorMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadHistoryLogMsg(ByVal request As OPENcontrol.ReadHistoryLogMsgRequest) As OPENcontrol.ReadHistoryLogMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadHistoryLogMsg + Return MyBase.Channel.ReadHistoryLogMsg(request) + End Function + + Public Function ReadHistoryLogMsg(ByVal ReadHistoryLogMsg1 As OPENcontrol.ReadHistoryLogMsg) As OPENcontrol.ReadHistoryLogMsgR + Dim inValue As OPENcontrol.ReadHistoryLogMsgRequest = New OPENcontrol.ReadHistoryLogMsgRequest() + inValue.ReadHistoryLogMsg = ReadHistoryLogMsg1 + Dim retVal As OPENcontrol.ReadHistoryLogMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadHistoryLogMsg(inValue) + Return retVal.ReadHistoryLogMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadHistoryAnomalyMsg(ByVal request As OPENcontrol.ReadHistoryAnomalyMsgRequest) As OPENcontrol.ReadHistoryAnomalyMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadHistoryAnomalyMsg + Return MyBase.Channel.ReadHistoryAnomalyMsg(request) + End Function + + Public Function ReadHistoryAnomalyMsg(ByVal ReadHistoryAnomalyMsg1 As OPENcontrol.ReadHistoryAnomalyMsg) As OPENcontrol.ReadHistoryAnomalyMsgR + Dim inValue As OPENcontrol.ReadHistoryAnomalyMsgRequest = New OPENcontrol.ReadHistoryAnomalyMsgRequest() + inValue.ReadHistoryAnomalyMsg = ReadHistoryAnomalyMsg1 + Dim retVal As OPENcontrol.ReadHistoryAnomalyMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadHistoryAnomalyMsg(inValue) + Return retVal.ReadHistoryAnomalyMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadCurrentErrorMsg(ByVal request As OPENcontrol.ReadCurrentErrorMsgRequest) As OPENcontrol.ReadCurrentErrorMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadCurrentErrorMsg + Return MyBase.Channel.ReadCurrentErrorMsg(request) + End Function + + Public Function ReadCurrentErrorMsg(ByVal ReadCurrentErrorMsg1 As OPENcontrol.ReadCurrentErrorMsg) As OPENcontrol.ReadCurrentErrorMsgR + Dim inValue As OPENcontrol.ReadCurrentErrorMsgRequest = New OPENcontrol.ReadCurrentErrorMsgRequest() + inValue.ReadCurrentErrorMsg = ReadCurrentErrorMsg1 + Dim retVal As OPENcontrol.ReadCurrentErrorMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadCurrentErrorMsg(inValue) + Return retVal.ReadCurrentErrorMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadCurrentEmergMsg(ByVal request As OPENcontrol.ReadCurrentEmergMsgRequest) As OPENcontrol.ReadCurrentEmergMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadCurrentEmergMsg + Return MyBase.Channel.ReadCurrentEmergMsg(request) + End Function + + Public Function ReadCurrentEmergMsg(ByVal ReadCurrentEmergMsg1 As OPENcontrol.ReadCurrentEmergMsg) As OPENcontrol.ReadCurrentEmergMsgR + Dim inValue As OPENcontrol.ReadCurrentEmergMsgRequest = New OPENcontrol.ReadCurrentEmergMsgRequest() + inValue.ReadCurrentEmergMsg = ReadCurrentEmergMsg1 + Dim retVal As OPENcontrol.ReadCurrentEmergMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadCurrentEmergMsg(inValue) + Return retVal.ReadCurrentEmergMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadCurrentAnomalyMsg(ByVal request As OPENcontrol.ReadCurrentAnomalyMsgRequest) As OPENcontrol.ReadCurrentAnomalyMsgResponse Implements OPENcontrol.OPENcontrolPortType.ReadCurrentAnomalyMsg + Return MyBase.Channel.ReadCurrentAnomalyMsg(request) + End Function + + Public Function ReadCurrentAnomalyMsg(ByVal ReadCurrentAnomalyMsg1 As OPENcontrol.ReadCurrentAnomalyMsg) As OPENcontrol.ReadCurrentAnomalyMsgR + Dim inValue As OPENcontrol.ReadCurrentAnomalyMsgRequest = New OPENcontrol.ReadCurrentAnomalyMsgRequest() + inValue.ReadCurrentAnomalyMsg = ReadCurrentAnomalyMsg1 + Dim retVal As OPENcontrol.ReadCurrentAnomalyMsgResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadCurrentAnomalyMsg(inValue) + Return retVal.ReadCurrentAnomalyMsgR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetPTechSizes(ByVal request As OPENcontrol.GetPTechSizesRequest) As OPENcontrol.GetPTechSizesResponse Implements OPENcontrol.OPENcontrolPortType.GetPTechSizes + Return MyBase.Channel.GetPTechSizes(request) + End Function + + Public Function GetPTechSizes(ByVal GetPTechSizes1 As OPENcontrol.GetPTechSizes) As OPENcontrol.GetPTechSizesR + Dim inValue As OPENcontrol.GetPTechSizesRequest = New OPENcontrol.GetPTechSizesRequest() + inValue.GetPTechSizes = GetPTechSizes1 + Dim retVal As OPENcontrol.GetPTechSizesResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetPTechSizes(inValue) + Return retVal.GetPTechSizesR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LoadPTech(ByVal request As OPENcontrol.LoadPTechRequest) As OPENcontrol.LoadPTechResponse Implements OPENcontrol.OPENcontrolPortType.LoadPTech + Return MyBase.Channel.LoadPTech(request) + End Function + + Public Function LoadPTech(ByVal LoadPTech1 As OPENcontrol.LoadPTech) As OPENcontrol.LoadPTechR + Dim inValue As OPENcontrol.LoadPTechRequest = New OPENcontrol.LoadPTechRequest() + inValue.LoadPTech = LoadPTech1 + Dim retVal As OPENcontrol.LoadPTechResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LoadPTech(inValue) + Return retVal.LoadPTechR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetMarkerInfo(ByVal request As OPENcontrol.GetMarkerInfoRequest) As OPENcontrol.GetMarkerInfoResponse Implements OPENcontrol.OPENcontrolPortType.GetMarkerInfo + Return MyBase.Channel.GetMarkerInfo(request) + End Function + + Public Function GetMarkerInfo(ByVal GetMarkerInfo1 As OPENcontrol.GetMarkerInfo) As OPENcontrol.GetMarkerInfoR + Dim inValue As OPENcontrol.GetMarkerInfoRequest = New OPENcontrol.GetMarkerInfoRequest() + inValue.GetMarkerInfo = GetMarkerInfo1 + Dim retVal As OPENcontrol.GetMarkerInfoResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetMarkerInfo(inValue) + Return retVal.GetMarkerInfoR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ManagePartProgram(ByVal request As OPENcontrol.ManagePartProgramRequest) As OPENcontrol.ManagePartProgramResponse Implements OPENcontrol.OPENcontrolPortType.ManagePartProgram + Return MyBase.Channel.ManagePartProgram(request) + End Function + + Public Function ManagePartProgram(ByVal ManagePartProgram1 As OPENcontrol.ManagePartProgram) As OPENcontrol.ManagePartProgramR + Dim inValue As OPENcontrol.ManagePartProgramRequest = New OPENcontrol.ManagePartProgramRequest() + inValue.ManagePartProgram = ManagePartProgram1 + Dim retVal As OPENcontrol.ManagePartProgramResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ManagePartProgram(inValue) + Return retVal.ManagePartProgramR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSOpenFile(ByVal request As OPENcontrol.LogFSOpenFileRequest) As OPENcontrol.LogFSOpenFileResponse Implements OPENcontrol.OPENcontrolPortType.LogFSOpenFile + Return MyBase.Channel.LogFSOpenFile(request) + End Function + + Public Function LogFSOpenFile(ByVal LogFSOpenFile1 As OPENcontrol.LogFSOpenFile) As OPENcontrol.LogFSOpenFileR + Dim inValue As OPENcontrol.LogFSOpenFileRequest = New OPENcontrol.LogFSOpenFileRequest() + inValue.LogFSOpenFile = LogFSOpenFile1 + Dim retVal As OPENcontrol.LogFSOpenFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSOpenFile(inValue) + Return retVal.LogFSOpenFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSCloseFile(ByVal request As OPENcontrol.LogFSCloseFileRequest) As OPENcontrol.LogFSCloseFileResponse Implements OPENcontrol.OPENcontrolPortType.LogFSCloseFile + Return MyBase.Channel.LogFSCloseFile(request) + End Function + + Public Function LogFSCloseFile(ByVal LogFSCloseFile1 As OPENcontrol.LogFSCloseFile) As OPENcontrol.LogFSCloseFileR + Dim inValue As OPENcontrol.LogFSCloseFileRequest = New OPENcontrol.LogFSCloseFileRequest() + inValue.LogFSCloseFile = LogFSCloseFile1 + Dim retVal As OPENcontrol.LogFSCloseFileResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSCloseFile(inValue) + Return retVal.LogFSCloseFileR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSWriteRecord(ByVal request As OPENcontrol.LogFSWriteRecordRequest) As OPENcontrol.LogFSWriteRecordResponse Implements OPENcontrol.OPENcontrolPortType.LogFSWriteRecord + Return MyBase.Channel.LogFSWriteRecord(request) + End Function + + Public Function LogFSWriteRecord(ByVal LogFSWriteRecord1 As OPENcontrol.LogFSWriteRecord) As OPENcontrol.LogFSWriteRecordR + Dim inValue As OPENcontrol.LogFSWriteRecordRequest = New OPENcontrol.LogFSWriteRecordRequest() + inValue.LogFSWriteRecord = LogFSWriteRecord1 + Dim retVal As OPENcontrol.LogFSWriteRecordResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSWriteRecord(inValue) + Return retVal.LogFSWriteRecordR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_LogFSReadRecord(ByVal request As OPENcontrol.LogFSReadRecordRequest) As OPENcontrol.LogFSReadRecordResponse Implements OPENcontrol.OPENcontrolPortType.LogFSReadRecord + Return MyBase.Channel.LogFSReadRecord(request) + End Function + + Public Function LogFSReadRecord(ByVal LogFSReadRecord1 As OPENcontrol.LogFSReadRecord) As OPENcontrol.LogFSReadRecordR + Dim inValue As OPENcontrol.LogFSReadRecordRequest = New OPENcontrol.LogFSReadRecordRequest() + inValue.LogFSReadRecord = LogFSReadRecord1 + Dim retVal As OPENcontrol.LogFSReadRecordResponse = CType(Me,OPENcontrol.OPENcontrolPortType).LogFSReadRecord(inValue) + Return retVal.LogFSReadRecordR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_ReadRemapDefinitions(ByVal request As OPENcontrol.ReadRemapDefinitionsRequest) As OPENcontrol.ReadRemapDefinitionsResponse Implements OPENcontrol.OPENcontrolPortType.ReadRemapDefinitions + Return MyBase.Channel.ReadRemapDefinitions(request) + End Function + + Public Function ReadRemapDefinitions(ByVal ReadRemapDefinitions1 As OPENcontrol.ReadRemapDefinitions) As OPENcontrol.ReadRemapDefinitionsR + Dim inValue As OPENcontrol.ReadRemapDefinitionsRequest = New OPENcontrol.ReadRemapDefinitionsRequest() + inValue.ReadRemapDefinitions = ReadRemapDefinitions1 + Dim retVal As OPENcontrol.ReadRemapDefinitionsResponse = CType(Me,OPENcontrol.OPENcontrolPortType).ReadRemapDefinitions(inValue) + Return retVal.ReadRemapDefinitionsR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_WriteRemapDefinitions(ByVal request As OPENcontrol.WriteRemapDefinitionsRequest) As OPENcontrol.WriteRemapDefinitionsResponse Implements OPENcontrol.OPENcontrolPortType.WriteRemapDefinitions + Return MyBase.Channel.WriteRemapDefinitions(request) + End Function + + Public Function WriteRemapDefinitions(ByVal WriteRemapDefinitions1 As OPENcontrol.WriteRemapDefinitions) As OPENcontrol.WriteRemapDefinitionsR + Dim inValue As OPENcontrol.WriteRemapDefinitionsRequest = New OPENcontrol.WriteRemapDefinitionsRequest() + inValue.WriteRemapDefinitions = WriteRemapDefinitions1 + Dim retVal As OPENcontrol.WriteRemapDefinitionsResponse = CType(Me,OPENcontrol.OPENcontrolPortType).WriteRemapDefinitions(inValue) + Return retVal.WriteRemapDefinitionsR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetServoPar(ByVal request As OPENcontrol.GetServoParRequest) As OPENcontrol.GetServoParResponse Implements OPENcontrol.OPENcontrolPortType.GetServoPar + Return MyBase.Channel.GetServoPar(request) + End Function + + Public Function GetServoPar(ByVal GetServoPar1 As OPENcontrol.GetServoPar) As OPENcontrol.GetServoParR + Dim inValue As OPENcontrol.GetServoParRequest = New OPENcontrol.GetServoParRequest() + inValue.GetServoPar = GetServoPar1 + Dim retVal As OPENcontrol.GetServoParResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetServoPar(inValue) + Return retVal.GetServoParR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetServoPar(ByVal request As OPENcontrol.SetServoParRequest) As OPENcontrol.SetServoParResponse Implements OPENcontrol.OPENcontrolPortType.SetServoPar + Return MyBase.Channel.SetServoPar(request) + End Function + + Public Function SetServoPar(ByVal SetServoPar1 As OPENcontrol.SetServoPar) As OPENcontrol.SetServoParR + Dim inValue As OPENcontrol.SetServoParRequest = New OPENcontrol.SetServoParRequest() + inValue.SetServoPar = SetServoPar1 + Dim retVal As OPENcontrol.SetServoParResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetServoPar(inValue) + Return retVal.SetServoParR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetCNCRegKey(ByVal request As OPENcontrol.GetCNCRegKeyRequest) As OPENcontrol.GetCNCRegKeyResponse Implements OPENcontrol.OPENcontrolPortType.GetCNCRegKey + Return MyBase.Channel.GetCNCRegKey(request) + End Function + + Public Function GetCNCRegKey(ByVal GetCNCRegKey1 As OPENcontrol.GetCNCRegKey) As OPENcontrol.GetCNCRegKeyR + Dim inValue As OPENcontrol.GetCNCRegKeyRequest = New OPENcontrol.GetCNCRegKeyRequest() + inValue.GetCNCRegKey = GetCNCRegKey1 + Dim retVal As OPENcontrol.GetCNCRegKeyResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetCNCRegKey(inValue) + Return retVal.GetCNCRegKeyR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SetIpAddress(ByVal request As OPENcontrol.SetIpAddressRequest) As OPENcontrol.SetIpAddressResponse Implements OPENcontrol.OPENcontrolPortType.SetIpAddress + Return MyBase.Channel.SetIpAddress(request) + End Function + + Public Function SetIpAddress(ByVal SetIpAddress1 As OPENcontrol.SetIpAddress) As OPENcontrol.SetIpAddressR + Dim inValue As OPENcontrol.SetIpAddressRequest = New OPENcontrol.SetIpAddressRequest() + inValue.SetIpAddress = SetIpAddress1 + Dim retVal As OPENcontrol.SetIpAddressResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SetIpAddress(inValue) + Return retVal.SetIpAddressR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_GetProcInInput(ByVal request As OPENcontrol.GetProcInInputRequest) As OPENcontrol.GetProcInInputResponse Implements OPENcontrol.OPENcontrolPortType.GetProcInInput + Return MyBase.Channel.GetProcInInput(request) + End Function + + Public Function GetProcInInput(ByVal GetProcInInput1 As OPENcontrol.GetProcInInput) As OPENcontrol.GetProcInInputR + Dim inValue As OPENcontrol.GetProcInInputRequest = New OPENcontrol.GetProcInInputRequest() + inValue.GetProcInInput = GetProcInInput1 + Dim retVal As OPENcontrol.GetProcInInputResponse = CType(Me,OPENcontrol.OPENcontrolPortType).GetProcInInput(inValue) + Return retVal.GetProcInInputR + End Function + + _ + Function OPENcontrol_OPENcontrolPortType_SndProcInpData(ByVal request As OPENcontrol.SndProcInpDataRequest) As OPENcontrol.SndProcInpDataResponse Implements OPENcontrol.OPENcontrolPortType.SndProcInpData + Return MyBase.Channel.SndProcInpData(request) + End Function + + Public Function SndProcInpData(ByVal SndProcInpData1 As OPENcontrol.SndProcInpData) As OPENcontrol.SndProcInpDataR + Dim inValue As OPENcontrol.SndProcInpDataRequest = New OPENcontrol.SndProcInpDataRequest() + inValue.SndProcInpData = SndProcInpData1 + Dim retVal As OPENcontrol.SndProcInpDataResponse = CType(Me,OPENcontrol.OPENcontrolPortType).SndProcInpData(inValue) + Return retVal.SndProcInpDataR + End Function + End Class +End Namespace diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/configuration.svcinfo b/EgwProxy.MultiCncLib/Service References/OPENcontrol/configuration.svcinfo new file mode 100644 index 0000000..198883d --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/configuration.svcinfo @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/Service References/OPENcontrol/configuration91.svcinfo b/EgwProxy.MultiCncLib/Service References/OPENcontrol/configuration91.svcinfo new file mode 100644 index 0000000..0a06217 --- /dev/null +++ b/EgwProxy.MultiCncLib/Service References/OPENcontrol/configuration91.svcinfo @@ -0,0 +1,201 @@ + + + + + + + OPENcontrol + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + None + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Raccolta) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + + + http://192.168.20.2:8080 + + + + + + basicHttpBinding + + + OPENcontrol + + + OPENcontrol.OPENcontrolPortType + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + OPENcontrol + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/api/index.md b/EgwProxy.MultiCncLib/api/index.md new file mode 100644 index 0000000..ce28539 --- /dev/null +++ b/EgwProxy.MultiCncLib/api/index.md @@ -0,0 +1,10 @@ +# EgwProxy.MultiCncLib + +Libreria di comunicazione multi-target verso PLC. + +Esempi CNC supportati: + - FANUC + - OSAI + - SIEMENS + +Impiegare il menù laterale per navigare nel codice del progetto. \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/app.config b/EgwProxy.MultiCncLib/app.config new file mode 100644 index 0000000..34d8ebe --- /dev/null +++ b/EgwProxy.MultiCncLib/app.config @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EgwProxy.MultiCncLib/articles/intro.md b/EgwProxy.MultiCncLib/articles/intro.md new file mode 100644 index 0000000..e281782 --- /dev/null +++ b/EgwProxy.MultiCncLib/articles/intro.md @@ -0,0 +1,9 @@ +# EgwProxy.MultiCncLib: + +Libreria proxy di comunicazione con CNC + + - FANUC + - SIEMENS + - OSAI + +Installabile come nuget package da proxy aziendale diff --git a/EgwProxy.MultiCncLib/articles/toc.md b/EgwProxy.MultiCncLib/articles/toc.md new file mode 100644 index 0000000..89dec33 --- /dev/null +++ b/EgwProxy.MultiCncLib/articles/toc.md @@ -0,0 +1 @@ +#[Introduction](intro.md) diff --git a/EgwProxy.MultiCncLib/docfx.json b/EgwProxy.MultiCncLib/docfx.json new file mode 100644 index 0000000..435e349 --- /dev/null +++ b/EgwProxy.MultiCncLib/docfx.json @@ -0,0 +1,69 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "*.csproj", + "*.vbproj" + ], + "cwd": ".", + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "obj/api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml" + ], + "cwd": "obj" + }, + { + "files": [ + "api/*.md", + "articles/**.md", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ] + } +} \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/index.md b/EgwProxy.MultiCncLib/index.md new file mode 100644 index 0000000..23d2aae --- /dev/null +++ b/EgwProxy.MultiCncLib/index.md @@ -0,0 +1,17 @@ +# EgwProxy.MultiCncLib: + +Documentazione relativa alla libreria EgwProxy.MultiCncLib. + +Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo + +https://nexus.steamware.net/#browse/browse:nuget-hosted + +Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi. + +## Articles + +Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles + +## Api + +Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation \ No newline at end of file diff --git a/EgwProxy.MultiCncLib/toc.yml b/EgwProxy.MultiCncLib/toc.yml new file mode 100644 index 0000000..7eee9ff --- /dev/null +++ b/EgwProxy.MultiCncLib/toc.yml @@ -0,0 +1,6 @@ + +- name: Articles + href: articles/ +- name: API Documentation + href: obj/api/ + homepage: api/index.md diff --git a/EgwProxy.OsaiCncLib/ApplicationEvents.vb b/EgwProxy.OsaiCncLib/ApplicationEvents.vb new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/EgwProxy.OsaiCncLib/ApplicationEvents.vb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/CndexLinkDotNet.dll b/EgwProxy.OsaiCncLib/CndexLinkDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..6b567e2a98474922a5c785432c9c37d5e7be4a64 GIT binary patch literal 41984 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 literal 0 HcmV?d00001 diff --git a/EgwProxy.OsaiCncLib/Config/testSam.INI b/EgwProxy.OsaiCncLib/Config/testSam.INI new file mode 100644 index 0000000..628938a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Config/testSam.INI @@ -0,0 +1,107 @@ + +[General] + +Program path =M:\Cnc\DDF\doo2\Skinned.ddf +allowed ext = .ddf +temp path = c:\door_pro\temp +w7 = true + +[Debug] + +'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +debug = false + + +verbose = true +test_nc = false + +[Log] +enabled = true +Log file = c:\door_pro\temp\log + +[NC] +No WinNBI = false +name = 192.168.157.2 +NC state = 29 +Prog1 ok = 350 +Prog2 ok = 351 + +OpenControl= true + +program_to_send = 1 + +;;;;default_path = c:\Users\carlo\Documents\Projects\vs2008\door_pro\door_pro\temp + +;;default_path = PROGRA1\\ + +;;default_path = UPP\UPP\PROGRA1 + +default_path = C:\door_pro\temp + +ODD_name = P1000 +EVEN_name = P2000 + +[BarCode] +fields = 1 +MASK = 111111111111111xxxxxx +PreProcessing = "=" + + +[SerialBarCodeReader] +enabled = false +Port = 1 +Settings=9600,None,8,1 + +[UsbBarCodeReader] +enabled = true + +[Table] +enabled = false +file = c:\door_pro\table.dat + + +[Direct] +enabled = false +pre = C:\door_pro\programs\ +post = .cnc + +[Select] +enabled = true +p_arguments = " 2" +c_arguments = " 2" + +L var 1 = 916 +L var 2 = 919 + +L value 1 on = 1 +L value 1 off = 0 +L value 2 on = 2 +L value 2 off = 2 + +timeout = 600 + +NC probe file path = m:\Cnc\DDF\ +NC probe file ext = dat + +fixed probe file = true +NC_probe_file = UPP\PROGRA1\data.prb +read DDF file = true +prop1 = properties: +prop2 = skinned + + +[CAM] +enabled = false +program = "c:\Program Files (x86)\Egaltech\EgtCAM5\EgtCAM5R32.exe" +datapath = "m:\cnc\ddf" +dataext = ".ddf" +arguments = " 2" +return_file_ext = txt +probe_file_ext = prb + + +[Key] + +Customer=CARLO +regkey =0292-9BE9-0369-D384 +regkey2=CD20-3DD6-006D-0383 diff --git a/EgwProxy.OsaiCncLib/EgwProxy.OsaiCncLib.XmlSerializers.dll b/EgwProxy.OsaiCncLib/EgwProxy.OsaiCncLib.XmlSerializers.dll new file mode 100644 index 0000000000000000000000000000000000000000..8c985783e5226ed22676c288e7174c6a343124df GIT binary patch literal 840704 zcmeEv349!7`Tus4-5gDi&9<8+X`7Z(*fu>V;Rr29N?Qt)tCYK()`I0)*p@SL35ZC6 za!Ub$A_9US6a+*>MMOjpMFj*zMC>0B5&5B_LjT|Aoq5lh*`1kWlgVcNNV7A~JI_4t z`#$&kyzlIJ$eLJHEEcQAe;YT(Vvpc2{jZDtTlk-I0UqA=z2UJ3>z zR;-+GQa*P~{-_fsEIaDN6LYI3d~W%K{3$0+SaITn`Fk&!a6<0$%V!K5R==r@dY=Wc z*d9ZwV&6IG<0I``u|LM*6Ne5N8jJm+Ar?zockg`P_B(FTO*e>s_P;K` zai9KI73;c?n$rK}U;C17;eY!9?}6;su-G5%=h!9xXTq=;-W>dY6JoJi<*8a+@2XtS zShf80Rk(ieS-W4-_}F8(Oo3zllmh4Ir)xKuym{+| z8#qB)KO~vxhavW*(+kPiv!3JqSO_{>;`vwjV^vLSSIxkLfQKFc4<(uMdQU(x*apXz zhN+nB72>NQaW_3(bUtKH++D=)b$C_F+EuV3wpM?bH@38TS3EE7NUc6z)9TkB ze|&ZnSCT@tzh%hYwXR)-F=-uEN7ny2{SEV!JNyml>h?C}6?LiVYo%M0s%|I2d0Yap1;OU8Z;-UdM~yj@jQ8l6{^x5x1pV=PQF z$Hro&Xn?UWn7%Y0vSuH{s^>9K=JkJa>aD(`cf zN{0#)6KC;BuS{iWR2YjBzU8UIE^?jAyZK$$H~~J{qoM(PG6aO=lie$PGRcn)18*rX z=>a%|)`K4tvA?1Zm|Yise2EjI@#Dw*u4^9-C1;XMk`<6vRom*zn$I2Md2xq}W<&c} z#UjHJ_=Uc?Hvb<;GNLMVIjXu`i|#!F&W{DP45(3Qm$H8->RLNwl;0W2ByC5{(VRRRZQQ40nhI9>cI+G;nhTF;0(* z25^fFUy+$-X;ctl7!AfDk{YK*QbK@4Bqi?Hqk=4FkVuO8a#DRbe7R&>-7Mgf*0rt9 zm%GP&1n<1fvwTzn%q0eM1AmP8dM<=B+r(o;q;4R+{}K%l=S;Dr_uC}BCC%Hs>#1Xg zB^^2j-6+hnXfTUE<|@Bn>N%nT`YD;3^>Q}>>#I<%uns$n)1%GxIsC4xt-u&uDjIm` zu-iog50~&!(V(ve0(?MYF%oeO{_mp0p5`R=^;i^*Y2{!c?WE7- zjYV)S?nr&=49@R?N)aBqw%#y@Bc$Ac@%EDDQM||TU`~?8bA`w8U^14a875|Uj<*D^V8Fvj5&WhL<=sa=eQA z&S2b+`D0|l##@ZLju^LebMEc$)zmp;t7sq4U^0Kq)&EC>Iidlyj1e?4`?*Lo@X#^` ziv}KnYf1dQMC@yx@^K8ONSp7g_+2midYfo~`8FI^Hs$L@1CO<@Cq)B~v3gN7@bHb_ z5)B|Y1`SMlJ`xSEd}B0V>n&CF+^t2tZ!};rdRjCX?`UAf=yJlGF?zDC-U#FC{e|%? zp1IT0c243{1(-7^nz{Tjl2NH>N+Y3GO!mBIANJ?OXni=D-}U0VGeiS7zYa2bp=jVC zqjJLF;~M2Op=*=8=jw7!kL)L=;vs(5v_I&<(*lMr8U&VduDtv3TTW5r`|yk>zx_9G zA2uJ#m4nAT%oGj4YQ{vBDDy==CDm)X=Q(!Z1ZnfMl;1UZ4QBfU0fR~yXPNC=h1otw zK>MnL)Iab1<)xe+*+0mOq|&WEu4pIk;z%hF?7|Qz4r_^K(bA3H>wgb%k^=M-10gk= z2g5G+u4nYj6(wS*-SyzN7oBt#(rtiAUhESS#O&xrp7ehdjQ-LLF{9CYj8hE`U$)2? zPvKAWjhSck|HN~Q=W=Q!FZY1{!#K7+6jq8ar$FJ>yXH$z;}rSpA9&~r{se^?hS^~D z{Wj6S&4oFXYQ>PdwR5SD@y4RyLENz^!rGKx@NkXXHz3lfyx^fk*-{$Ap`J0wGrSMJ z$51XIVhjzX&BpL;j*=L~EmW%+#;v=@8lzk)>AO&k$&z=y#S~7n94E4WJY((udKg^753F`p7?eGblB5k~{;CG46x#Td& z<(w$NJLSfJbyuSvE~P|CYfiBwX3PZAZ! z$y73xK*{mTc9B=fP=IcJdN#r!Vuma#&^cx#zx;AT9u3^K+}E%qrOgJ-Sa>Ctovo_)I z3tFv#xS0l`M5Y|Ns8EddE8gQ$&bL}2R?_+Q&Xa%Y+Rwr@CfaO4f2wR-n#>N_Veg#C zNQyEYw3}#vJ{S$g(2B+pqJgnW0_@V)aJUlTwgxiWILp(wT*+zC z_)%sFp=S;EkoB=>o>68hJsiwS_=~9~!FUA|&1*yh4+rx$(ZHjKO^&6b_9Gc;n@o|h zyq^Zy(q@_wbB!EFn4X@Vg{?GDTl1x021bckEs@(xD$fqo{p!p)t*$ zaE)!Xz`rk4Ly`WCEJ<|J@7e(LNs_LxjoQuG z2aUv_bEFLb=E$&LCGsW;`%KGS`*;PvYswi_8gp2j1P$@$kSsQjC)v>oSaL^;Cu9p4 zD5FJ*dTGT1-f{n%oF*x6dS76S4N6O-`H1JdjQhG$Y5H zJ|tsLdB(7l8XbJE4YQ$Zb=h^(LwI^2$4R*y>Cu!(1CgHni)a6qa$4jZ73v>ga-H7E zVyAIzu4@tc;2;Dr6kBPcbL#(Hp8dasQ|zz*dKcX07urU~Aa3~yG*~Vc9UTFmx8Ho6 zXCJ=p?1M%HbhELh!gRBw0{ze%xKm-R(R%yuFFEPZ_{ESFjYbCvR+XHj(J_?aX#6-b zGQrLJF=!F2f~aNcZf4F+y1Ek{>;b(=T<8 zpE0_LKSpCTm;7AlQT5ET`$PjwwlRpz$UH6@xaDEkSp!&Au}Aqi-dK#XxKn79u{7fx zuthqTp)>q^;& zM9e#P(iEZ(Fd(z|V>A!aU1Dj~IRe%ft`vOsLUXhyCngx5<@jUNKb%=de0FUq=crI0 z&f~-c>w|cV`hc?msSnrmS0Ank*N40LW7G#6$Vh#-x|DrL#JqigCpa+y<^i(uHh;{N zl~VZt*4ZUENYll>RgDg=v)I`sa4Br#Gn%6ii}d1-Jur?%`m5x*kHX6HQl1ip@+_98 zbx`+ln8-U3U@nbu=-?>CIEXt@8wc$>GopdpCUI!WmqY_>gppoFsm>fr#JuI=Elx^+ zamFaV#~&kpG2DEn=)^?OFdGd@lWZ!yZt*cEI9NXu8QYAw_7hVn1ERig0;!MQc00w1 z4bVq)K?e7Rk6Svs?cIlo;rbvK(fX_p-s=^!Li9l!YY$r!JRwzhU1g_8(fL2v0w`=3 zUv6(#I*abZFPzUgloH_5*;~QiA)Fj>$Cjo*&K^^7=W(1=BA$R>shl_3f|5<_qa*^X zlFjRQV~YTkY>GRa0B6aj;%~Z@Y__6g6MHe~CA?(wcKtOd*%WugYn&yU>U-QuHcPcR zn)ugyFUI4%FH+w@oxQ^En(MTH$x5g`Q4`EJzt=N&{sE^{(hoIII8O;5N1mMkJz*AR zmnO=fdGPK>Ra5X-tN;4py?)yiq92$r>FRj+LZ$GX3&jBK;rgNRmEp3LhOL-lCfYzxKF-e(v+ z%83qUV_?xJQ~(CKDWK zPWS4T!nvpQA^HIseThGY{F;&pEs?v){7vuN)7zYw0JgG!`tY`=4Qy==t}CHu7VyWs z@|=rB10&Cg0az+v$aBbac4-Q1doPOToQLdbXNAe<#?p4RkHmAv>Ih)k31RZN@${T_IGBW$`dqLE z&$)QYITs-FEq>R`Pk{|T7BHyw`Q(W~h`KW0>SPdJK~sN38N0uP9|cbh_s_ zp1?cZOXKK^-{eRSpn)V`=3P%4dPOgfBlz(?j?#-CpAro`hEY0n9;?pMp>wP{yE=3< z2Hxw!Z*Y1fFQFS!C{WjJ@I0&QF08V9I`CAdJ;@roUuA9RuOn&ksE3`osR} zXH6^DsU$l z_mGdh`D5f~8v?|Fo)w~j$5@>q8hG%H988a~l7s1CxGom2z&>_^NLHhApJ;&Z;u#G} z_$`$}-;DefC#jctS5BD6e8|!Cm=DRC4t>>wZ$>6!AA0Jv_d|?@mgNL*npsY^iFG4K zOjgWn!Q845WBXjIkxol`%IRcIkmL*amh#*~V?PUEyYVMnQW8fA7zV&tBD35|(E!|F zG+@^2e9-{hU^FO=_f6yDeICaZoE|wou+oq6yR_HS5O8MapB4=~^w>+Hfrs2|5Dh%! z<`dDtLyy&sCG35!_nDKeBm7vEDhI>Gx%d( z{4G5e53MRW%fa7a_r?{fpSXe(9E|_(=Z|^yQ+A^_<=C6=p5+7u>&N^2v8eQ;ZoIAN zgY~1GKNgjKEaU_Q>xUE%=vBjIDA7VmVZD2Tdq4PH*YhDXGuB7;;dV}uKHmIpWaxaH zQxpL@3+>N)#g)#gHtvSG?e)h#&?eCUYka6hrM+!yO1ZbKP#>mqVzjXySbaFK7y5ub z)-(^7_t!j}RR(>ytrz-$Gka+sF72;*c&-fk@ULFzL#;IrtNUvn#!YbZaf0ck{_exP zUg$%OH4m5c*F2m&VEW*F#`DdteRzi7_40cpv$^?anjuFaK+>A1uhK-ZB!rA^dMQX_ z>lKC0Hhz=$NVDYwv!98W_t{26CpvTk@{|+#UCgIabyKRN?~pSpbe2^Ir$)|2AsUfx z7P(YbPMrWdWiJLZDO+_VNA+I3T&NER50E|-;*~R8`{0@HE=^d*@{4zRu20+$n8qjh z6BNq3r51aiRahUqYXn~96lwe(zP1MwAs5%d?ncs`Y1qDBYN9;A-dJ0~W(SvjnIAgG z0Noh6i4qSQ=?bQtT01Ewc{g8!Ly_&_^o7rVO#OQ{1uV zF3`@-(k#+2TUTgpel#Cd$!~o#)?4!zd!3uUP&DYP6)mfdVKMj;9#-`# zmxmKyR*Bn!e`A_58)I^4m}2gfKgXQ?6WO_c2bc zHcrxHAjfDZeD*Q=*ZE^`5R}Pg>2WEQ9_Hi&@vs{!LCtZ{Npz8?^U8Ies(Ug|*JiOE)DQNBGRP~<2wOg}ckD8eQ(HzpaXH2=3(9bwq8PiZD8q3s$Jpiaa-F9# zi(S^2>pYcN?DA5%&QqDiE}xd+Je6bYGI_Ec1@xX@JxF60?;4{$onwr(q2u`7KC3Y* zwBPGIPL0L~xAD7Pb!~D<)T4MrZl6OSt5=t}Z=YkeA;)>vx7^1m(&&_AxYfzSf0tx9 z==30?2pv!LDIMPX^xkl#Lmt!Wwx);ikOSrzkDlx&e8zL$K6ItCYBQdLK%JejB*f}j zb`u{7$J(ROfE}PTLSQfsP|`Yy9Er|*;kLFhp75^OY2&nLyjiK)(d5suUAU0^dDo$A z8_lsEuyrU^v4g2j3i-`Z^;JV_79ebh#ql4$%1EmSG33T$?Gy4#Fzog19r=^l-}d}f z?C+%fL+o#Byz1D7#(1`s66s^{PySc9pB;x^XC|it1J$|ifFvrux|d2!A2z&tT5Y_l znypPv9iEszF_9aOw)M#ur~*3MMrbDBpXs&nM0O%!LF+_jRCW{m9-f#sGM*p3xvfF6 zlW;Gd-c= zBG-X`t%+zC5H?t-uM>B8UmDs2Oa$)+>4!_e)A;adVf{c`yL{<~If7EF4_k>oEEN#e zhdDU8gx`^UaDHVL%XNxFtqv8%n3qDdykm^#^Yq3p@5UWh|x@8#g zk$a9Yk=q8Zk)Oef=M{n4)&MC2)v19Jx$SVxxl#y_Mef3QUfdDnCfherN+nZ?R8lLJ zOsQWj`JF{|A~%~}Qj@aEgn17H>pNwuwta&7lA2VlDqN^=NY|!nQ#F^Z*z#rmiaGR( zx>OxiA`4j(uMl@cKkD^Y)TQc`8j4gsUQwT_Pu0m+aJFQ2YdvHOm12eY66Vq$UtTDN z#L~65^6Nxydvr@JMvdq1mq56&2Jl%4#3G#zv3^uNvDYTMl*Q-lS@ zT4H?`6<4}7?xMT!B&-#7oG20=?zNlN7AIe=TsC$T1~y-yL91qMhF zm0dJYBDWCNrLsM{0(S{*&u&1^rCi8D0qN+e?V)-`oTyq@KCo)wkG~f1nPmKx$n7pB zV!42D+avC9Ne^awR4uv)uTi;FVU0aBP$IV{uC3`aMi;JwxWg%Ox(=%9sfOyQPF0iU z`Ms_6x#W`1Toro?x(6P(?VF?A)#00Of_vl@!sCcR^~NALF^pMkU;K9n{`(yMYyU$2 z6bxQ{dw2dO_IG9eDfaic{QKQU(Wt6%3sR<&dWc<{?5t2&i;1f z6YbQ#JwKiOos?h7{yO7;i*a9z1FB-x;1>i6cAuaxVuNM(eomZ5cQ2!# z3)s)|>E{aii6Oa^{au;ApZz^9|6BHVS^g9DcWHjybZWOGKbQSolwZ#N&dXoS{?5sN zoBi#`|BC%>&wtGRPRcjWpy!-JvIFk(A)z^@ULt0)$0Lp_`VR&r);=LoVYvOti^g7!B+ zH%ZU|257wm9jJqZ0-&+@wx6+parHMA&+wPpVXE+FyXkMb-3#IlHzW;O=ulIum=UuIIG#VB z<4fe0(Mu6l@rk`kf0fybCY!4$;LcU1Y%O<)>-Jn;&D zt<4i3@#{qH3kLZ^W(jtI1<^)iv;-Y%fTl|jRwlHkc95Xs38cu*-V$_z0Xjm0PBcKL zNl?xJT`oZ<0i@5_trB=LJ*Uj|!xEGy5Hd#fS)>V|u%D8kmAIj!d|d)pIe;HY;33DieG03MHpji@hngiuR2|V2aJVF9t^9@Q*k-#$@z)K{s+X1{;0>22L+KtB~=qv(R zChk>v_iVbWjPrXEbdCY4>kvb7t^t}QL2zU=gnLTRmkbb+F_t|}y%d zy%_ho!wQTvc69b_Q6Ccx{EgkO@B-Dxe4Ae}<0e;V))@|yCgtLX045;RAGt}#HnNzkVvL2C`rqY`w30eVV;ZZtr@m7tpp z(AyI9bseP0?tj6DMftDA@AwVb)|3BkCK8lDK;gez0CMBMTa8B){#$2)_=^*{+YFGx zNeE}%IEm!Y*EqEL9f!%B9Gj06IlSEaIXPU^wE6;QuNVjoTfzX zI|fK$mHP?g93rN(m-`tb7!`kGbTOyL9-}+>bt3nG(W|E`k_Jh{u1;f1GG$ner$kFmY^pM&^Z$H69aUq1U*F{DN_0CBfYK85 zO9M1Xf?hB{9TM~_12j*9eyxELxfgNG*G-o2X4Yh2&0gFQqvl*UQFfAQYoqqUr4%uy zkHH7Ub;AU|GPYb$JPG~4;xWHYUpE=N;jjKRf&?f1^D{pYZEM?hT_$Rda-#{m~-s4wX34`>)1hF{t&zdLInt zkG2u~g*I)o_;n)pCebEYD8E30{-l8txwmj_smP_gkw}w@J6tNwG^tWcAhe`?$V(#k zXJEFpWKPG7l{|5WV|K3ODI5G%MQN|(C30^AJy$3f>Mwvo5qHE3oC-xr^13OMMD8#2 z3cJ|i2FEMJ9q|fhv4yI$T#GF>&@1d>i}m^|P&6X$h*#9>MI$J-(2GXYatl#3^8e^1 zLsLVkqT^Y|OT-=Vk_P=HLsJd%oY}CKQwT$$rOT zF@GtO`9$smyxEf8V+3Rb?zO|g5qJ2!Hnck(oV#5doOr&QBTMA|4s1}g-!gR>^hR+# zyP4m9UCv)<>oQTGp2&SjgR9ur8+g-1?jHnF)ZEe;J@Rv$~2DHK|F;ti}qBT1pUu=szZW4HJ(zITcLk6gbU_1HLJC9HDciQv#D!)$T@NqgNZcOBAaBZoXM@QR)3MWC_k!nUQ!>p;jMvk}B zNvH*8%Sm{Lzuv+OCqdldn4M07g4@+er~`WLBz&U308WCqBVOQi64qJ@rXGmgodg`9 zD4c{5J8GkYSBN{}6;3BXeT9pY5YLa}XcM^xyiJa$u)3Cg_gfLIj8^=jdlL6|MpfLvM zA_)RtXb7*7pcVott1ov;P%DANbR}|QacwIB-pCSFWIZ0`cQ~5|sufJ+#sRmb2A<=X zEZh(wafjoE8kndQHKWj5cTbhNKT*^?9xvdE;C1~K@Uz7o@rn?|+41~)9C0GohWDw< z{)yZKqQDL&Hu8p6CqaR@BPgiVop4lc>%CMph4Azz(o5`cqPa^`MtF(1BVH0BoWL>u z9C0GIiP6n?eu@N6asaoLz)c;%xe_?p0bC@3n*pdOA6vA^K0XioIH{OiPxC9+hw)e1 za;*sO=0t)byeoOrL@o;u{N?+}U(PE+J%t_-&OjnJ71x$DUBn-@m|?qkUfkjH)X?6f zFnmqzTK35SVNKt%t6TFoaa4(1yFsF&M5bw^z}x5Cn8-~xK#CHXp@9;)nYgw@_EG*; zA+q8Q??4!l-2yM*A}e%&5EyYsyds3iVy6J_@ZxLwznYG@hLg1Pz^=1FHpzcYh@otB!Y%!@s!&0B-jVIIHE- zE?^mEKfDWWPaA7rEX0M1wDVQ8w{Prfz%uD->y7C|=W(*xZfMrj1@4K}W!6kzXg|C= zJ>31nA+hR?t?XNi*exQhV`4I6-`oQ?v)KAkZ*{&d({y7eLi|`=lZopmp17J+Tze5N zHhgtWz;zGd8nb5le2uP=M8qs7UE`BuR9x7qUvJGo-I%5u+n3cfn}{CsMAYnos2PY_ z;>rBeV4LhdctLxEdSySwI3wOz-I&NOMjQJs4Rzay86%a;*{6QCabrBYuZ3t-e)Y~a zS{>04?5Zw;=zE`T+?cfa^vf7Eq_i|X%~*V@;uS2|zN11?Q^#=h=+~SO)<1EjJ|1s$ zCyR3`b$9wVEt+a#FIL53NIPjXIb_GD#2gD;7A5iSvoM9K#7qM$h{TK+xN?Og=3XJB zIZI-?aig~+W)9(MS~L41DVCN1{v1Nnb+WuGWw2{0ySoHqJR2@*Y*ad#N!QrZ!*m2^ zGtv>Ae*#C?KxZ#&ZM{&}iE1_8jPU&GV5Ki-vder3r!-0{jo4h1#xAV- z^qS6LmK9douVvM&v|?FdrD0heCfeJw7BbOfS!?F2mQ`G-v*OFL{#duHYdKmSk-G`w zx|5XP>?9B+r$&>f*0CWD zV|}8$D-C4VLF_Iw*2sJnGuCfNE9_Jc(paM)T^q5EW%l?f#(HP_mZYU)rez~#n8l1W zI;9!wOjCAQRV>-NmU=H~smB;p*p`~ekd_*a$WjYZZA;A>kxOrd2M({^J3J`l)i0}S zF}0z$5^J%?mBl}bHf*uOgFka^!`x?aWk2OVJa`udRcD4XqFJr^ggFjdWN=p>=#=SlQvBHOm1-QFcn@=OT}*iA=@MjlQ2dKQx<1+0U(t`Lz$0pButHU^QD~ z_VTe0fA*JpHT>Mjre43oIh^@c;;N_iVacu)`=Bjbr~@ipD(MEryU(lG2eHC1Q1T$x zgl6+-+lNy5K;JXWLd6G)z7OV8%QlNh<9ThU1RnXU}FR1v#SKIg8A&Lke9b5&&p>X zi5tC@&z?ZI9Qkb2PK3y3{|5Pa%4e@eKFlWAN+5p%bX}*)yE2E|btJpX^4U}Hv&iBz zm4w-t3+1zKkj>bLbsVRW!xo=+w{J;WI<~bk$@BEZXIi9iUwqCUfJL2KdvyhR7e`)O zP-Ew{i5y2>TQsus+N=@FYj+_TifR?-oQ$9~2A^}%kV*4W3}-<=!8sXj7X*yx3_m9g zsbMe7(dPtA+sgLi4WohpP8&<1Q`yhW{^w+PRX^5RgJX%nd#$0+62Y>%R{v`atv1h_YYnaTTEj8i60mq!T-i_g zUu)RwzuH>Eox6uMFjxM^Dn*KDzO*{_n#)>)W6hMWEEHKPT?t&)P{+IL4AZhTU_q8j z<#I(q)AF#?$(CuMrO4hgE%OPN!?chsa9t{mXUPgoOD3B}t!uAGZA~V7Aa1N>O9;mhE{72A>u;UU$m7x` zGS_;Au|PL)>J_HxzC@CI38lCY^$JJzLA`>Y!uBDE42NGQ8rePsYgE{;%hOy`{JM%? zH)LHM_v>cuVOs!ZSj1Ie!*YP`*PXa$Si`b5+J0S4jBE?G!v z$Su^Y7Ouu=TaN4l+ajp2Z3~g%uq~pIZChBQifxga(sL(4#kQ2*w%k*$wj~ie-z8_@ zs88feE=9@`Ta=u^zl@y0Yly#tlqEio_CCUu!(}roTxrLR-U?UVL*|ykmDx5SR{r>C z3RgC_Zz&1eQIsWU${s-~HQM`a{><5#d0^ryum^U&9@;;=S6C11X={^TRAc*>5o#j% z(fqHlGLi!>YoO!ZQ;qe>S%3wRkx2qq!MxgfA(r+YzjJY;w`7E+^s&d!vCQ)EfLdm8 zOX(|NxV14lOiJI!Mn5H`Z*TMy)R-xKb)%nXq^0yDT>`z4YY3)z#8qI$Geh6#_rtxz zDxN&sJ`hd4(--^lM;li9oq$$aR?QXEK*yO@y7c?gw3DM)IV5R>u~TryF=9 zq5JCCSg+MF{cH;*$sg&}v6+iic@$T=82Q+;Zmf=Nv2R#QX047zcOP7->R53~l~(pt zsqu?`jo*o(xjf1>ex=K$++*-~`Q%bYkeBA2OIaNKT*^J1msv<7t^ykZBbRdAlCXv# z(z%q<$;cIk7dB{QWbZ*MBM+CSj8w(uA+I;t$Txb|iX%BMVi)U&&+73fL|!o7eY_z) z=K&U^x=02@1rq^P;+1wP@`YYZ*RLU5j_RT%p@JAzF6b!nd(bnfpq>6>1Tici!f76Q zx!~=dxU|ze6kL(6)~(r34T!{5U_1B+J+(J}|FCv&lPIq#l|<>Tu;LB`5E9y&bwzTUN*msva{t^(TuBOW^HfUtHT((zDrYz;gj)7J~T zwk-Eq#Jevxat7tIvhzDH$Eo0+jeDq;!(j@%w>fDJopQufub;SlE9Yz`Fybn(z!)n# z#~v6~V62s$sIKdjDv$hshP+h#CWo**M#gED&6rBzQ{m&uOL+F_1EG05%6?OI>}?mD z;I?+T13T9y#D>0O4Q4N&CCi_A83%pYUs32(Fyp>txy}ohFf;>dL*Ku-v@k;>t^ykx zW6AP^gTfjbzGNBE{j}B@#Q3C(R`=(SL!{q!4kCx@8N~R0sLLHN&b<I9urrA^_X!6@m7a~)nk!AgSb>a^P`3vQSq6h?=ycX zG@D1+XReCf>f$py@+eJ{kOg4>TRo52Y@Zuj)WpgT2Gf^MVudR9-R*={GE3(SS;H6Y zT`r=$oY@I+71&M~iIrc679d_S8&Q9^bZb)oFx=dVoru1j7``;DI}~L*;Xk($D5jIu z5Ap7pVIRsTw}P)v`mqm69O0c?@w7DqGq4O;c{%?LH~>3YG&tsH;ePWX#>v; z!iD4Zb-I=p?PCkW)go}=i@cqGq76?tabL%EUr}7G3|Fhbg_Bu3uO(b#O9b#>!ST#KmeP-EnbwbKt7CKX`B% zS9{E55Lc?0`uafZq58*_?>{oE%WyMJ*iGV4^TAdNybC0#^4%y_T}n&5?aQ2n^O36s z9&%JzE|0R$&@X#|V@6n6K6`;DdYKKqI#}6rODkCJdx5|2Wo8Q=Xym>Z_*73^19C6$ zJT8k??8~nL8!}@r@FAZIE8-E~3+(qB&{n;Fh?=E?4TAxsXW}W+a+t*<(l(-7)LT#&m+@N!LSQo0B9Yhq(9GZW*qm_hp;`<*(J|3#d-E$SW zbCg7{L|LQg!NShryl=L zg~tb+9zU(ZMmNSg=tQ==#a2G}7dfa^#^*feGrD{B0 zR^PGwJ@Qvwr^>9ZED-EElHFYb-);63{2Y}|X3{nGaItFJk@f{u+jee1^`U*eE3UO+ zP1jmJV7jjJ2HA`ykUNgETUy168z^hEyM0U2(y?tkl}y#VKn_#3Ef%ZKvQK{38OK;D zU%sP!?$>+uI4kFOECn_8aaKf*<2WnP$Ue@BHH!ApA|G)D!E#;VN}W<)m72zPEWi7O zu>NDTzhmjQzQy`_g-->fp2>5!kz+2O`W8sBdy#p;inYkrxBMUHa3(n7DzM-f^(_yt z2rD>|uWu>2>|jk%Gu{>1!5XV0XB>fp!iBW-uI&7)d}XK4&V+lhZ0*le{_M{{ITLQX zV{JphWJp}~)c$KPezSO^kK@C8J>T*h+J8O9 zWlmNHn3IM~THA5%KL|0@%%oG;E0!9WO36lA4vgw7yJ)|7v&)>E3+v)HFWHz$ zr)@nQFfTdEo|Dl%n3Kj-T6R#$OE#tep*i8Sg_)C4jiUq1NpqauDXB5%B$G)uCDAC8 zYLbn#If?W~IG1o+%G_IV71%^4|FdypJi9L#8i+>a?>Ql?iQfGa+Cd)G+Sl`4YR<#1 zhsg5qc=!EAI9NXCGL0aY*1Obv@P4oT-OwTu>2sM%cXrv|jIeLe$jF{zJ4R%)^x|Yz zW=6zSU^8Nz)4I)xVa>=Om65{-s~y>A(8|b{Dl!sN_8F-vN7l)zzSb88tBmYDXl3N* z6&VR8BU1*ej0|31t0h;KzE*W?8gi88KJl;V&36av@+ra_XlETm^ILHL@Ay z3!A#I3$)jA>Q@sk$N8DZc`ZYUvl89T&qRr$%lVmD&~PtD61d#X&-@=s8tMGZMYcJ& z68)bNU7hwVrIK;7z(wb04o5mpRxPfpi*)|&XfAaua1vLl7vrlg@b}m;eITDI^;v~3lK(Y?%W;P8WnOwN*`jC=6&IbM%MSN*oT2+aPh71YxabUB zw$I;jhHe{HYu!Jq$PZ&SkNTi9bXjr;XXwti-)HGe?=rM;DqYH19XLZ5=Xc@&T^*74 z`JLlE5a9q_REsC`zv9Y>={Rv^KQ#|V4Xc+v$^ibOpHjOjA6Cch07Ow;V<_D||IZuB zsgBDiL;Cml>za@Y@egp08Idkr~skT?P6P-EP%<{>%C;QS%M>a9v7xq~9ecQ>8 zF6jG`Pd;2L@?RJ2^02>h=4LV@t^&(UUYD82R))0;-;K8K>moDFF0L=z0UzMpfGrJ~ zsn~_++l7sxc|6*7;T;zqcbw^m@Xq3KpJ)2XL`%GTmQe_~9bOpZOh0LC3I=SCnFiu3 zy=WjY`aL*%(m1G&3wW>^chIw{{B7CJ5Q>yDY1_2dXrz@r!o!{%g+SEP5ALc31pobx+Y9s=H1N z>rg#vJ5+;KcJSdlE%{YGvU5_I$<8O7$(ihktDefv&rd5)*{O>8-BT=8a#CI(vJP9z>1rG=uGAU!wU}r)Y#(y8I-+vekN-Cp zpUo|&CS=F@;WN3mQgPmnHk`Mu0Sl5`lLA>V>Ur37-Y)1x=Z&rIJEESO(X-$} zQY?~=9&l@)YdCu|4^UhMmKtO2^Wg5VQWNd9&r-?Eyo$`&EJwMAh}R1UDd}CAxwRrQ zMfXq1WzTr`Zw)W6eC*783Y7{jdk#1|^D$>`CNtuyr*`HCUo1~MQ>yP~{>QL0l^UDq z*VrV_3d`eBUh^#7y8f>WyHMfr==1n46&?@tZH`MTJU-xRS5{YeJP?o97$uSwJsy2M z{`(4#2jX$;J<*o?Dm)&29v^#ldHUmi*S7V29YsF2B$v|S-G4Kfy?oZT!_~Y;c5VAe z&fzRsBd!7`YmBw+wsXP?PQ<@;QWKku^8mIm&dc^*+xEGny;xwc6mGK z^em%)^sF9}noiQ^(CBdCns}xuyNC|U>eY{(?X{5~(LrZ8)2G)2751URM27s>85-56 zhRR0vp~9?DwD;O9=L(1EF>w`GkG-pJ`2YO5VfEMyw&5Qf6V2LCOOMSer5<~|Z1vdJ z(X-&CIi7l~32JfR=&{kd9vkY^W4rf(9urj9dW^_$=rPgA)?=(uwDs6Gxx!(3OkDL; zkKJ%ynd-69o&CI-p}uIFN09wg&r8R|=~T#b9S)bxtZgCfxY1i~*n6-)CfTKe_y*h&5M$1_EebPK;wrGA+C;BZA9_JpLv?h7&l@V8FL$gVgXLqVo-XXm zEsVaM+Kuxv6A^J0SVRn8ZsdhwMP!ira&MKbjGR$eMs|t5j2yt3naPN_>Zy#heYqkd zMeESj?|A&KY-I$W(JPb_SP*>~Igm3mlM!*%QyH0XQCZ4J>GlM^08T2;^H5(Q87UZ_ z47j}-hj8v@LL;sM3yrZSaQaum3Qd&v1lGh}#?tzh#+q5!v%7L)nLghA{|vh_3$P%$ z=1Brq!5qPQnM$y7&FA7qZ{?cVH-O!~m0gR@`TYiPGJ~aX>q{B|zX2?l>2ENX>5sE9 zT2%vVnSOWsmaKWKd%-a}ham znG20*xn7WLFLSX*(LTxPG_D|+-Vs-U_09~WGn8+TbY2`*@8lzVK7Z--&fA8qE-Sq= zftJ;=kDnI}Nm=hYlHFzHK~wOvNO{l(sZg9Nc@@2b4@716$5!rD13>Sb$Q1u)^a5 zj>oU7@OU5|f4JhS3^*Qtw!-6qc)Y2i#|Ipbe_ED2UK6{uCKl^3YF@^>d;^%O5Y{Ef z@(-nsvwx^dYw|lNGlA5C#Ji^%%>H3A78@Vn1KMw)z5N#F@~qrwxl%T>ieI{LqqmA* zVuY)g&bxRp0bDrmf;RBj{jw@o4yY8;)NdAVtZl5zF2;JZJvKC%Z6jukR4!*Lg*5iL z7otYSwUEX>_d+z%7PRS87!$D5v95W|^o81lU~889IRN6rgw6P7ZGEyip2@;B$6@Eq z!1WsxYt^;5%Pk5SkNCTbMZ+)i^r9oV3R2ost@JPBNKvQxc6bsV3P-o0C?| z$vw1ree9a)^EH_pi3#bLW#5t|JssndW9^%)f66zf$2Q&AzN~JXiRdv;MB_XVjRT^V zcrrh0wVhpNMI_?Ne#-x62v7V(D_;BcrD2oS5Bz)M#^h8CS2WL>Dc#=MQ!s~Wt$F$E zt=&l68LHOYeQ)ijuq}o04Y<9vBQI0MP+SETLt}4k>hiE+80EdSRk2%9>uv6Dchs&o zO@bC-|64te`SWAAKhJl*tHUe(dG+kaO$>kj9r&?9irJ(4A?lAwh>CyL@BlbH*6>BU z2z%pRssM>Ab%w)y*Kl!Y0gCw9kEN@Jyxg#3l{%W}*U?-Yn#~7ijlotG9v^Ty%^#I1 zkNZ9U+RAB$@PSf;-3Kzx@MW>QL#KPk@?&f##Ej*Ui$g4rM4X-!@Q&r1JrE%g$6|Tm z^{`l8T=mok`XsdA3|b%Ps}=h&;OxV!HDP1rX!}4Vw-3`R_5sY!%C*v_EUs0a%L!Yg+U1~T*m9;ijJ7=Va$~Vt+LTCXRw05G=5Sfadh`yazADYdh z9Y@S}smW+|sjb$(!>L+bS%M+UCUBl$#TOcIvGOMs9uKrf=9mhP4>%s*_R8|~_e-V6 zvF}E!Z>{($(f3u(C{rFU`I^{ihC(l&SoRO-nUA{Bfl@Q^DCcliGa;^2w=_)M=-F3= zH4cL|mfdKGOvOG#-#+{-G@B33SoXXMj}JIMzy9j5s(f(rc)H@}4>%s*w@i6_J8Vxk z_lb>l$w^wZ(Jg#`SZl%a9-bCo9>I1^<6z{A0UI0Oya)Ml)q)>887f|xqay;Ex?aXU zwB9=J;cJA;ao)p$5aZx}K5Crlyoc%f$5mS>W+=D;)N8{g+W?9ZX&oQlQUo8JRWKZ9 z706GVSmzb6+U*vz$)WK{QImt3}gWEirFY*%F4^{|G1lI_&BWh>jy1|H`s0U1ugdHfX>pS@$Q=qsooSYpzgvBaemMXJA{Uxz_AeaR@K6tqXn{pCi`}{ z9`ZxP@pW}{M9x3RO@Z~+@!eMxUn|3>%KN%HI^Ja+;luGRI=;C@ z`#YB56A4vaSv%y>!M2-*^*WJ01B{kYC0# zeB*6Cw&)uVd=J1csB5cRGkq5uWF6|o{HPB5mU5oWgk)Qtf5gze$o1Fd2uj zdE(NFTNPY%up0|*9Q#SVgBvwGQss#DlP)85>vvaSjS zeYwhGscJ?Mcxm2gr6wr)H9=2@=JLT=FL6$V#|K=!#HVG-<9_R+MIO-F%*FG7s)3a0 zKbf+Nci&;SQ&?gslk;?Edb&V`+^NW(CAaNb+gD*OkhoH3*jI|+R6S+)AC6W>A6a!hLqF7$E-kCBWa#O0DJ6detm=?Oy#p)_PVD<(;QgigAnfP z*N=NzG)m6=VEtfpD$HDFb^J8zmZhQ2Sz_1cv5IC zADsEX$rTY(JU-xf{FVxj2jcPTDm*^mc>MVaj|bxMRh5`?!14IVTPiWp)&btpl$E8C%ig1CGb{tMGUrJwBtN#|IpbudVQSARa%r!s7#u$NyO2@jyJ@ zP~q_b$Kz9Pt@z_X{PDXh{`i37@l_Qb52VN6sOa$l$K&5AOCC?e&UdK?ZZY@Z@N`PD z@V2!UvDqcwy}QBVv{$7i!2X)&MUJN6{+h#OGi!fMJ8tyW{+jnt0!^n@&9>7>){$*{ zqh}qP+qaY>+eRgu;+dxG{Hj=TU9`Vy|98&ItZH6dsmU^5+fB~bcd9+MF08Bbv~{>t zRQH>dsy6pdLq;k!UD2=Us=F;LlSjFxt8{kY8-_nWXzakeL2CyN3@svq)DE0bu>%7x z9=J6$lMhZi@a$l<19Jzh9e6LahzwFYaA?I23^+Tm-8U-nz`6i=p&JYyA2jhm*Pyin z7ljs)L23scGGwHZ7m9vf=vSecd~n7CuNpi)XzajFgVqkT-X7Lf8l-k$Gb3iM*n#NV zffGVA`QWqzTN^w+Xzaj_gVqi_5n4nBsT~+&_(~N!5Pdr^?3-boohaLZs#vLNAr3O^ zK!wMn&*MugJRYd-^ZE*p54imPH5DEY#N$bPA-8hgB>Tt%6@lWM@aXIDH!3_Hh{sWM zT;cK61B=He-BIz!gY3f^RpIdg=c}wJQy%ZTZ>`^NaDDllRbTnmdX9aVUilhDiNCe} zP-tl!tY_8FspL5aoXz zi~HN#mHqAGjXdZ30r$7RAvdn?iVy#(d#^L;>Ub94P^?cUI&-p_wZDD)UfkdQKYM@s zB5i;B`|!d#I-UF5C&#l(K-9EkvT4-1_Tkv=p4}PO%&m_2hWGWHx!HzyaitEruMO{c zeZzbHuCR9DyKKYzVB7EhamBwMaCYI|&^#Vx|Gp;nGQI`8RVg3Vx1CCo}09dvJFlvoX@XScr?x4X`}+wbT05+SacQAHo&QST8${vmdg^*#L4n zcDHXyS~|9kr;@3f7j}-thGg4fvHI+Oc;~8Nu~=(5Ns!4+2MO9(QV7K-^zkBL$5u8!DN;UB^G8X}GT8$mSrPX|g@iC)R9pp?ms53Lbjxpr^+l~u7Dv+;we0lP zC9u=040);8>H1th*=hQ+v|^`+d)sOH`teOAw$p+d+fEZX4m&Lx*>;*W8kBbW^w4@I z%68h)J6o1O?@TiCMisr&Z+d4ZUGLy@ZLj!X&pyyQf*M=z5IGLLBO2Lyhcz0Mdgq5_ ztaqlBK<^;etJN%4^iIF&9h5n!{!X>G-q{O!=jIaoJAxWp?+`f-y(1dgdWSU{lzJz5 zci1>9`u@%~CD1!pR`kx4h~z`})b-8?Z@qJ9ALt!HjjeZx9EaW!jcmQc8VyRlvqu^0 zoo!2?cm7$?J5kX)^K`v~1um~R>j3DTTTATk2x@G-L*zL0j%Z}-9oA@2>Yc00Qtwp7 zN>vwxHB&9lDxbO_whmKXbwOhFrH5-VMqSV!Ld(qHtPA?SAv2Yl=;+r(XYUCc2S>Rs zsC4I>OseqsfUA8wslwxd_Qijt!s7#u#~-Qicpx61Vyxd*e3j_?D)Dbue3c;kx4vxT z&MG_}eIDPv!sCJTczuP(2b`~RWrfEB@pxT@#|IpbzgFS#Ks?FcRAzh4S8?WMYf9oO@ctfSO=+k5!pcmv*OadJvmdT0vzjWOWei*7 zgLCS}xT6dMQ9c{v9w*^(+Zd-E&5)(yb!+&dUBGZ2=Wr%C;wrG<7#rhu{!UoIu{OqG z3vx8~#+7cZ>NkeSRPsO3&;NWSG@B33_1JeSJU-y!h96gWT=9Wa!|-6<+Rr z!E-NgoKB2BIia7SQ3Flj8Y&1}V{oQheR7OALt{+Sjh*a#xaKv}_4DC2K{ldr%-+n- zhikUSnNHYQSJw=D_rRB~YgsdWz74TX@fk_9&9ZMP=X;D#wkQ~~#=*_Y>RL@ik9i_$ z^+42$4|KG|llg79(6P`%T-i_Ar~ddj!{+z;88$~f5LTAQNBDfW((R3Z(U9fJ9@T!^ zqbfF^E<|&7U-g&Vs^-eOj4URkL#2(e^=~biJlkx0f@M!BZL#w9YfJ-{@ za%lCm>B&)9d={*J`liX;5%?SL#sSaO9mA739E^#paqvxN)W(z9qi}g<&9wNasVhH+ zpAB}b0&`${o6B%F3yoAiy(V6p#Zl@!UOAfXy<)dI1{a&zzgd98qa6xxYNy%|=h>R_ zWNCbVnjgVwMKnWkgHG~WU_Wem=MB`2E$v&1cix6mI>qtNSvr_2_XYe@mw})E9D*f^ zXLL*#`Ny<^FyZTYo#zuKL^C?3F8`R0B}^2{Y)6<7%jlSXNg;#3-r?lKdKSfeKoJ(A z7#&lbq9T8ojwej`_)O>Rz@!cKmFQU4De|ry?=CPE+OqRir{QN5&R30wk63FRuPTVK zRW*66xf3wb?K@jXtfC#AuqxUqCn#C%TH>|&^m;pDLm;SJ*^}fy5WEd%kXpyT)=s7M zqh#zLgy7o+)gk{NMlYyCPDBqI##{N0zSki~CItgqI%GO-ICV$>dBu76mJazK0Za}Z zvdF)@o96ID6|CmlDOr%4W5+;WZdCR{x$`dBagro?QLx-HhN4z~}@9?^qCvl~*wUYM^R*1!(qY)An@hh}ry zD5b}2et^R`hc}KWb_BFMG#eA55o1pXQImsxtnYk*@$bk?I)$bqQz=QeJt4AbkF0EC zCY`otGvI`bvL|G84<@8Bm6ire$;33K0HF!tw6O^Zn28zHI6BaTXvC;i76-yJE1Sur zn=l)hRFfoHwX&=oS=lWfRIRMI3T$Q1`$SqQ83?gfiC?}&D!-SUPNYHo%Qstb+{=W-?b zLB!2Hm(B6BNc8iD{A`3X0+wHwfMMpZVia{OvuDmCX9FpQo$XtamX4WLz<~`!>M4#` z#nL>NOjCB}s#tOz^oH^s34|5OmCh(WzACYo_^Jf>lRj}Fh_LyXsK}j(dG0(I@rLHH zh^96x%ce8XRO>nFy?jqZL64>2L`aV%{6vtGAUb9#7B&%z#}a%Ze0VC_L})~)69F$A zo(f$3QEA0f5%j7P!J4{9DmBE1MKcRz{By7fJ&#lvrn3lBPa_qE>1@K(<4C3d{V+HC zi>*Z}8Zq{Su<+wtnh+~e8JkIugU%kC8Yk(tCqy>w zQKT|HlWw!Mc)$snU{A=z9!$viRGW1Al}KfL3J{tQPFt8rWkTb`Kog=7V^0Xn2cCxs zp?u&bne-&g#wMvrl4yH2WIOWkKGHlqaitq>AB7=R|B{i4RZpHmtg?MjAMe*ieY`KB zhYijBl@Dx|&YR`q{e>!i9BT^ru7VGXMrt&7KK@~A3U?AF&M zvD)ec!*l^*LO!tlC`tzEXm0h7=0ZY)WFY*y+WeUhs{w$x3d|lqQvv|=lVX5*@Q!x~ z${!2JRVWw(d>Q07v<>Yq2H9P@nihjJ;RZ3tVtdT2X|1Jx?C6}KUlhJdn8+n# zsc}d0_;p`2F;TdLFtG(FN<*WLPG8D;)E7<6xm!(`P(^2@#>bkN{H4Yjrb`LaSe_am zXJYb~8fTa;BTVBesqvl!nwoz@fu`^xRfqF(jI__xIBVJ?hqGXyxj}~V&WK+Inm5R1 zR>bf7dy-lsjA6ALXmE}(SK;E!CiLGE2{Vu-s{}*e8mbDlfozZfNiiROOUaFJQ?cAauMpgM& z;k})oN9>~I7DZDv$H1DhvKxmd7QipS-Uw?M{{zGpPERa=UvLd!qGkLZX}$h8LqgFg zTF>1K1=M;z@}8PsKsHejqiVftG13%fD@jk$P7SkJJJNc)eoxhU;wrG#`}=(Isi(|Zstp0T&|9*PWI!l(?@q!kIHzD9GUhf#Ekg;5#83gOj* zv+ZbbieSZBrHPepv3i^z!U-cm-pig|OHo6-t2^e{x0FaetAu=OomlA>3&&5O*h)v4 zAwr9wyupc*Zc&`YBK*;hshlaU0(0hGYJ^Yc348#)>$Xc zpV)k<2bf6e_{jgTU=B-B7B3=k;S$onL{nUJZDemC$$gzLQ9ao9gvk-oKkXmW&4h^z z$v=pb9U=WU{bRa?Fi}X)vRer0^|TaN#7B0E_3l=}gpeNDEyVLW8f=;Hi)J06v3AAP z=6|B`zPJj^`|pZfaVUl)-lyE>+@QQaftaQs@81UEBcJLOsois*ES*&} z_sOIP9*<}4^A|*rKQ!MYG(7h?;&D|oimSlf;gb7YfK=JeLHT1&QU17t_@ixDf8{>+ zK(fsq9m{ApQ})e~96!#N`e4&~CufjX5!^ZRo$vZ$HHsv1cM&F1j#m&ShjN5_;X}APqX{2k)A4*Qnk>P}D>GqOyY?k7}jb-?v+@-^D(OVfMXhHL1W>GL$YzD0Cx;iL--*UB_9y4EvXL*Z{Mt7~g85l!%q=s||4!S=Rq(QJyi zvR^+BZ8wWI`dDtg=0A=&@KluD%nNE$wx*60^f?{^O$}{r{bf_mLZzTRI+jh@9XFgd z1yO-t=KU^B2ss@MgvpV)sr9wZiSgURgo$j*kFk{Lv?)3NG(AF?$flf5m>f3c8k(h| zK>(u(YQVB7GYFGo4GnF4U}F0FdxVK>%AaWk(_vHKYxu?V7-1rtvX(G8Y|6|2F@2vf zkxki$Fge!H7Wf(`*1N|E6Rn{o36nz^?&S*;(-c1-Or#9IPwSsfWr#+871$GmiYddB z7%nJ7J>XwSWEBbce+VS)!)onwPI7b!wF>&iGMrF~y0TtIIEyM+*3};|Tu_Rv=8x$` z9T&U@zqo$Pa6vD2UO--A+c1+Z#KS&tvB`Xr;Ti^9oebA-6W3J#xDe1|yoLkUU&+5~ z8)4$YDEgp_jn`8Q*9hRch2a`$;yTekuAeeoBY|r_hAU;_N|566H;+#`TXk)tf%g{(^6T0V-smzA_r+^WStBw9F0w`E zGF&i5I<8LtxSnIU$Qo_Ma3RFeas9>D*fF}`bAc|hNB@sGcrZvhu3P-$`X$3fQ4VZ0 z#tSA%$Muo_K4Re)bdgQkhv9-z(s3>EkLywCzSGDOTl{cgZiNN(%=;IL4OPK`)@5`8Ti8<8_NaVf*8h;)<7)e!y#hw z^*fpl5_^_kb-19TNV@#FdoK|t5_*B)Ynnuf9hyvP}lsS zd4hmJzZ!tgUZu(K&ad9)i#r&{ zzDAh9XKuBnRiu-OatBjxDB+X&)lW6<5Lbb@!;xRDjy(i5ybJiFYI6N{R1)=B`s{5$ z<@Ei>u6zR|OwJ#+RqUip_K)oMMflxh|9%L+$JoC&;CHkAd)(HslUnTGi}Aaa{r)U{ zE}^xtCmV-k-vq{K(`qQc8v~EV;9kY(H-fPk;`11auVd{EnW;@v$4qUW+A_6uYP{-& zCb7}#Pk8)HG)Zq!9XlUx%fg^Meo0YX`W9Z%e|zL;v0Brm2jPZOmyYqJOZP@sa(~7@ zjK^CD6LjegHh#;?`x5auKP^V_^01E=`=<872DaSWgn@J@RG>>3Ka|+Js5WM_{Dm-) z+jJRWa)j}_`0v#Q!bDCJq}?Tq|1<9m4c3VIqeK z={*+4>qg>hzO)I$^d4b?yVSmdV))&)37bs>ZEN3BCTvs1!}%+oS3+F6q*$Jm|`9?9dbLFI7`4N5`Z=6w(!d3l6`>x18zivJr;2H6}gkNV2^)xJ2F zVfuhDkzB&o9+}>3#U-nPaKL`_rGRy~bq}O)x zPZI(tOD>rYh&V=<%e92bpLza2!bEa;6v?HIriHrZ56#DfhRfrepR4jHu6inu)vUe* z<(t8Lz(c4P1?BOdAU^W-B?0UsDpo9cWV|27KK`39kQ_2w`prOeBZQ7WKqF z{)aG;95P$vs4MxqFJ@&n`@e(BfJt=~My#FbPFDKsrj3$F@QE1-ZNEmvB_Yn>h;{8Tn`kry@5W?im`zw6udxi-| z`t^wS5&5aSPnUxCKmCQu`{JtSyuTg%Fr1PWOz&f3KoQ=@C+O-M#`V`S=Ug)`Le{)z zaS@gSEZ%3{Qy9IUBn-s+ESl+w-p98EEZ%1pq$heGtFspGGYjHa-V6{I)e$E0znBGq z>etsBCLACgt!P61kP7*3jzbGN)cT$CyeUGw|ZWcB5@U1if&P(8LMu5Gvp@r z2r5Ts6}2G^AitrlzP|)%I<$j5I##mwKdypwpMP~bjOK%k2pzuVtQUBIG)vJ?oT*#L zv?Wk^!sHOB&-uqRf-sRIl_g9Lfy(;t-AKYj#^evK0nJbSV?s{W5~!;QlOv#c+kfvG z2@@q6kiv1P7ueN5O;|3m>IGti$x$!R?jI9YM6G&(?^5yu>oU5!7(u-&8XYk%7)_XH zDF*91sGQo{=2k0Rg_4q@>pR%=V6N}bEmknw-EhQ?wj znF;2TbsSU7Ro zl70NsG?6foEjf=c!9UwmlcBo^6BjE*h9Fi;5c*A{b2#uhDAhlsOICw6lQ24L%Ax*y zIf*b)4cgnTHE3V*k7-lFL^WtP5GFD!eEXVZRxYM);%t$f(Wji!%`r?>989VLJFhGg z(s>|oXoK_~o*p>I7ETnaY5SqKs~U|h##r?^p!CNU3L@+}ZK5KF;~(ogKS70>R;MkR z+I8Bp>GNo+O~eJ@2)`3ia2xL%uuC>(cvJQEPqsLcNz2nDdUkB#1brgXG!e=+UQERP z!6w4T_Fc!Zg@OosB8Z9{zMfs*c@p9uZ3nMtYEOi0x&TdCwWD5*iKUyO)tGS5RpmjK zzywL9o&BupQOAiBvx?%JqT{4XU;@sY7*13_>NpcV=$xwKq)V#`ayNz(RggMPEOZy8 zvt7qYm#C)%ogY)w(uQhC9VghmD9&j*PPzmp;JlULL{+4Y^HU!=wu-VU6aqCg#i?}L;3|CAF% z6zV~$hI=#uTxvEA>B@*4`L z`Z3>5r?%KbWAPi3-96*CZD}%y-+o4%+Y^54BuvC_XA>qzXm`3V8DOCudTFHzw<1iA z(9U1r$}r6)OcdI^8v`asXt%$AX_`ZrD73qUFgfz>hxwPL?Fkd*-4CX?jt6m8z=Om` zf!xS}6!7dok5jP&>Fe`eQl&>+1(u#W%{+T`>LAPs0ieZ3>dZy0lF7i{M+ zbit++F?OGPTkUB~o+dx2>tXVv>&7-;v&lGYCz=k(4`vg>qt7N*SPIPMK{T6P^f)ET zXf_{tS)EOB6?isVIR<| zC5ND?WobrYx-c&A#v0YxGCO01=-8l*=E-hIhn%Z8kZ2FFwHNrxP?+GcGtk@uRO`&8( z&yK#t*GSYD1OdO6tWdUx?-eWt@sYI9cKOqpV}claLWr8&0-6vytyfE0h^F?0$fgIO zsU{&`4Im-?9~6q?3zTCQ+=D`Ltpi9%n4nM)V^0V>Lwy&TkbhvnwYX3;wI@V2b$rO~ z+W{n`|G!2c0$yuEDBexGe~lnulpf}51cDefN?%A5VtvR?`5J*}ss`$;spGWXI|E2a z|9_2Op02VGrnRQszeYeCyaJr18RlyQf*5;3h??B4G$B-fqATV)iu386ezHj|!$Lr}A+DUxV)Hds6Iq({D@deY*` z9$L0w;46=Hqce|1#{w-0>PtUGE@Q#CXm@n6|7uvVvcP%O$}6Cxp2bDF=ldA=x|lD$ zh~`S3<3N|pm%f)UI(+GqePG-}$4HmVmxjJ(c?O-vSAAeaf?TDME?HSpJz+$?LC1*A z6GeNymyVGxS>AzdtVZ5JPnw-h>`)|WwzrOvF1_l#f9eC>J~}$OWJw5;mKT4oN{hG( zEG^$tvj`M-eg?MMFQ}}{Dk>|BL45z^5Gdtl4~-=&FM@0A8&*vBcQ8!XN%F3u{*g04 zTUw)^jWiYvOu@6Q3$AzK@F&!z)~D+_uac1lqbS(-@;2A)@hDRNN=%3K&O?K(cltOW zOk3}y1HuFmw%R8ua{FSQJI_Psv{+6wwKczJ>Xw3;MY8KzY_yb8FiS`jcnao!ud1RT zt^$j~tEwol^^d2(Hpn*y%SWF;_ZnH02GP^qDy8kn07~ATG#GK1r*ip2kIEb zN+VseC6N`Bq}GkaM?SRs!8$s+WX6KD`_ZqdEG@1Av-Bu+g~h7H#u9$)fS^1*si=NG z1myQ$T_scoSLYT_e`e>1b-ww955B>r(i7nwCNtkGHZg;}uSe!#S zy$?)`rlV{g>5LI3$Ku=#zIw-K`W#`R#kuc7jW`$QAS8ZiLT!PyICnf@a@6p{O8Lcv zFKAeGmnfHXsp0>(FPd1r{BpuXXDhu-CecxEiFJM-G%-v^6DF#+WE+|sXZ~T^vR_Qc z5GJa(WE+~CXa1c?sEVG&#)$d?p(=C$>MwoaVl1_S;VN(dDoz^laSj!u>sW@%>j2cR z5m7}Cv|@;kV~F?xsDIFup|}dH3}4eegh4UVCvc7q3aShDpaCi97eW&HF`qC5ozhg{ z^T_HuRpE`k#EF)YawpJqkSbhbt`B?wBm-v!Z3jKt!g8P%Z7B;j#D!mnCH7e~<|FFT z7HlZ$62#b17g3Wt5hL9>)hzcFP3@>lHr*)Ao)!MWF8H31{$D{89ka5ZY(kWB-|!O> zW(7?UqfSVUCgggIsVc0OV={2Y}oxPnGI zjBL!#CCyQGK4Ns|m9iOgggQQ_k+Xr6@LcS#f?RtZWYfRM5x3?cjgEKax4=_B^!qU>@kp*`j00JSYoif#<=;dYLv48V%|^oJ{j@F-r?6>t%vm zbsngx+m}}`fIf;JnIDh`3Xv&2|Bq@+B(7{;_P?(1NA)X!RxC{g>jww*1DeT;Ea(TU z1o{1UJ^(VcTwz!t5q534_yPNqMkpG{Kv&i0R?&2jAAm#fTtcEv{bM?XFi}W!En#xx zg|;CUDN;9dDo`kyCc0#KA?98?LZkm9jQ)Cg8eyW)h@Tgr=N`UGy(~i8={jw6$?6yH zq-=(xeh~`Fhd{6yID;@z{o+wnzo-|^{nnRUF*Iiq8eYfvz?-UEiL1bJwMI+3vf8&P z!(y>Rg38q+G#mxxsvG1tw59ti@wx@-Gwji^1nW~&r8yn!ll`;Y7im67u$~}Hj$Feu zUzk{2e->dP!8(O7IdTm+c;1H?u)y$a!bIlvhrgj<3bbwVzr3Hctf3|hD)nyM4R znqF=uBV&YSw7O8&=J;U9QqreIlbh7Z+(o4Q+USEJ517e~e?yo0m9~O0T*1keFSWKeFSsbG$dTMigx&{dxztZ+qCT;ZT z8f#g?@#&hM`Nwq$!$q65u~cJi*496d@n8SARx@0*NgE4oz=ciP`sXoDBV0vS6PQN1 zl;OhWZ2B%6c4q5{e&q`h3!5%uh_EA@t8oj0DdMEhGdLs808#KYgoz@~|H7McMw|hn z;A;sJMV$8&CdcY_fGGGn!bGdv#{iSYBxe%Oc4Hu&JiDCTWjs3*KS!l2fsL^2v=dAC zPpW1A8b-Qv2prntfemZ=JJZz)5@}Wf8!;iCfz9`j6B^VJC;u(yrr3s;;>*B!(Yx*Gb3mxC}|HkNys#SN!>_($qS(UlyQc>X%g2f2su!cIBU>N9+~0Swd4go)h5 zTck;})WEeA0{6y#gFi{H&6#i-6wci(7-ZUMR?M?w?Wnr?zIRj!6IX#H?91xP6@8O% z960Z=pz`&dqVd5>=6{U$<-UnuIQ%?Tt$}Wu$w6Q;9rVr)90dKYgZ?ZK!iUsB>Dl}#IPp4Y z)|MQE=tT$ZHiCmtE~tY>kLDmmvO4H9K?Y)Z9W?bl{uGiII%vTh4#HBR4%$yVg+)~z zbhZFt6OKMmn6f()Fpse^thKxq^7 zW(P-zEmHbZE4w&|@)O#-CJElin4pUVZ%{$5_EhYz9N`!fG(&)zP0-uh@TXc#P)CY` zT20WRDh?WJf+mUK9cO|*p243QZ-OR@(V(oQ)~{!`;7?63L3@dQO*BEv)BLGTOwcoe zZ9uF3uHyy5O-;}m0h(-r9u%O>Owi3j^fos^&x@zBCg^VhG{pp6Bv_OJd~KlK5whHF zf|iJFK_miPG>&M-mGiKob))Sl`V@1kUe23jmeewGQkHOt?%r3va1 zWOSIIBL!$H6ZDE;o2^aIIXm)qQH7C4;d&u@+nS(rhVrL6P0$GO)OIH5I58TOB+}k> zx*#65LkGRJ9e)>{>Z(0;t#}IMr#fiqw)`n%?{v^;e38_$L_3+FN#b2yCg_LaU2{#) zGV#>TCg^4H)I1Zku#uB7-vpgDi-Q)JpoYJ3&@Luuh5#)zLHh{Mt|n-~6pnB=6Lh3_ zYIhTK>*oBaMJDJ;p_cbBL6-@HdzzrjMVI$7K}~J^U3;6LbHvE+V}j1A=1(m)K{JKM z-q!>zO7N#(8g;gLW*7(UXM!FQ{>J_$XhnuUb$|(4(9A&xnxKcp@M159PR4h|7@|B= z2MrNCe~1ZsPlz6612iG}qd5hmyyF;GXEpgqJ> zN134aMZZ30f}Rp=v&;nL1;Wpppcm^n@ykunqk=b%HbIkxq#R>{E)(zif(aTSSagL6 z`hj@rSQAtyH1=^O=+EM*<4sWY-+8}IFhL82@jcN5-6lpO=Kzi52v0IWa|K78Y=RCG zW0*HV4~zL)X@X`5;#ZlVeFf+g6Leucr|?u0G*{T=(@fCT!uXzUg5DCMcZLaiR3N0a z08NPUg2HYSbhQ9|(FFZmfX*^OCkP9Bwh8*%|L5y0z_u!yKK{^M(v5U?cZZ-LAxH~I zN$yYz2na|C!b?g^mr|l2ARS7GbSR*JfFOt1}u5;b*cYVkCF?;^=KYPw| z$2q%u^IpSrD&4)HH-_s}bxw`Ysr&d-+|h4{AL-QE3_)t7PTk_q^P_a?pZLLEqjjn~ z+xS?g{>P~?I<<;ZV|8jP|9y?qsbjp?c%8!4F5Dqc(5bupI{%4I-C)6qI+gVAKyZ>y z<>%C=I@N~1aZJ{!>b%z!oid#IpH9W%kB(DyY691qrc;HA1?H#g)NHObL#OH&4fdL; zQx&+@ES=iVf}iQs9Zt>GshIbJT61*j0)O6^t5XN~#bKUKZRhVq^L45q*IJ-c#rT?E zs8ffy=Ren}9mxapi*%|Ge->S=Q)Re&m*`XrcDPih#uN!^Ez_w1yw`G_n#QRWIyI61 zzE;mueCZgl^w3rso&V)dY#(G zpEow>RE2m!_iogw3;fyUE1gREAlPe@PW9$P{#vKX@?PKQR0+Q3H|ta>{*pZq=#x`HyIuP9@6}?6qB|9<#&mbn0LJjJ-prwpR-Tck0w@+#9=eYAmOA z>(mNP?a`@&oZ72X*Z8FD)2V8F_3qcHzWk?mK&SHYCx?SNRg7zWuTyu};SV|$`=6kr z4(Ze>c6eB)vh!X?bSfF!II2_4_!H5OI#rzokLgr>KIETtYBXPm$91YT3!c!a0h~Ii zQ}Ot-=qa6=%zK^IsaAZx&gj$@e*ZeFQ>$3;oK9^`9GsN%I(3-$x}Z~a_yzW7oqEoD z{i0Ku`M%9Xoyz_&uyIMJuJK8^tW#?<27CRgQ^isRso!*}I@h|QQ#bhw_*I?i%Xg%& z=~RLeL9O3)>N7qm*LA8T+qj`qeK>Vfr{;6&51rb>C*_t-Elm?RyscB8W)D(->eM!_ zbw{VRqz?AFt5fOuo#-!}0)A_|r&GUit-p0@2fsMn*Qo`3MLp1|=PdY-PG$NxF#k}e zj__aQzdBWm-yI(5RBaY~tW#Y%^+c!2@P++Ur^fPL&vYsWzh(cYQ(y94&voh?UjQ$3 z>LTwIg-`mtZ-~!06+@>k6c73^rcQmz4rA%mz%s#Jv32S`U%hd3>JY!q)2gtZ!-4#= z98afW@P~@{I+guVU?YJ})#g+}of^llHi>kq6u;dh)~U`cm_(o~PfN_xdmy{}IvbdM`De1ykwN*PKeNQ-5oq98UuvZ41YQ>jLMx83lf|+#c9e$0HrHC(5d840>OehRhUzSbm~9;`zowc1u_JJIQZ2+t~Xe) zs7?*$cOqI8)9ceOm}*Q4Qb-f`7q^W}BwE??Lcbm|z}sHjsHIaNugUho&y$~v`=ZB)^zT)Y>JRPoH? zZ|%Boh}Cqe4!^+SFQfWbS0kNj!F#=_Q>*#&JkGxI1$*)cVzbn0`y zwfL4!eZUTJ2_3)IBu=%^sX6?*@wQG?;#xRD(HC67f~|CFCciA>j3$4t9o)V2gIeC7 z!+sWQt5c8pVr!>UdHAwvuT!^K@Ex7X^epK44m#DB&3DwP2E11%o$A4QuARj2Clhox>h^@#WCu2U6~1&92ePNnCM`ZU+lJ1L)54EE}&Q{DI*2dygT z?UkA@o8CHgiv|1W)Qbv1t-d;y>AxUlbgCw&K&Lu!s-I33;g{w9I&~>UP-}oreZqnR zb!s(V*n@Ox1iv`EuTvE`^?^=}(&%0e&$bqEqAe+Q319{$5|R`44sKJg0`~ zRLZ15Zw%L|2fWt^om$C%L?7u?J$_#vsZ)n|uTeTxfZwD>>(qU|*gn>&8vMm)j80{G z9vs(LovO{LaXK}cFVXQj^%H+Vn4nX=Snv~_n#HM!IyHg+U?=Gmt^(rT+CJ5({(S3W zvQEXy9qctlr}}b7{ZFUf%N6W3Ri~!&U&=I{+Ls~NYr0M);5*VYbZS5M#!Q`BS}72m zrBgR}ug`Sq6kj&8bt)?h&e5s+{GKvbr@HZ<-aMU}nI>>JU#A9gM=j8)wA@h(b!sbr zB>r5dw(uv1MLP8^zYs0fsaIYE4wvXuJAQ(&RHw$U;4+eO<66+PVK22oaL`|sud4`_(rGlR0;OltW$}jVz^hEEjm?^Q{U>; zeZBy;>Qo2bYnx6j=2x5TI`u9){7$FFv)~S$n$4-5IyI0l>|Hvwg7@03Q)fA~N2h8; z1%0?zr`qrkheT!E+WVtU)n*&VbgB=he$uI7{5pSJr)Kb8Cv<8h|2dr0 zsSUi>DV?gvhkRP6&huVpbgCV{5S`VjYkZc^>C|U@iJsS~6#PN@f=(slH>sa>>P5!j z0{BIzrt;VJi#nB>U$HOgR2%;8a9O8fvH4$hstKol)2Sm|>xxd@;vq&?b?O=S{574L z!hd?d>lBU$Xmv;JyCT zsiwTw9i2+gf3SCTstaE>f9X^XPTkX~p?p&Q)~VO|ZS=lQ4QGcBbSf6#;QB|WHnEL| zI<<@i|JA7%{O<5br@rAEL63FnC<{K(sXsXNRHvr%C-Y}I)s9pD=~Ps#;EH;#Q#m>H zLZ@nTDhlV!dEc^s<&L6X0`XGs@cD|VQ*}xP*L*CU>ddub>r^}bEE-3r#`0cqb!rW# z;^|Zjem#t@Q@`-3r0MV8amC^f74*~FUMc~<1tij`3jDf}Sf`G%!z4O2fe$&UP95PZ zDw$3t@clPZQ+wb>qB}Di|_|dTCLbi{m8HL8FcCyJItt4Q~1RplTKxe9sCjD^jW{w8=S&5 zi2c-J{;SNYQziKOayFgn%ipqJ)v09sRT_Ur#IMzzZRF6YZ}__d&42Yest}))TsqZ? z-_3LD)MT!OzwhV^uHzKWaQ9P3Ih9YR9&#$bPNn4DD4w-qEjtcu&7QA;Z!l5YR-R^#W9sXOU%5>ao%kH4A2?ZXTtyBm#Db(uPf+Z zYsWG%@PmQLL7xt4;W7;QUyF^aQb)y%)h`XL4}?kExEt+@jcF+LOO1=i>K6+e_r`Bu zUbD$)&+H|SA(|-fHU8ai9BAU#Hm?~(@`*0I#xyoQ#3z2=^O|Lg8^LF6rPD8K7F~g-=A@mCXL1q@rmCsJC@$0vzIVY0OL`svU$A6GR&zj5FbZ%%odvGDHMOQn6y^h%TF zhP>1`(8Rl1p5{frw6B>#X(mkMb$+0Ux5GS5h~zV)(xmy+AwKawnx|ROFYWuxq%=GD zjRT)}1J2VN6Uk?0rAgo7Lww?$J5O_xU)uMXMQQH!8wWn|mY=72CX&yrN|Qbehxo*M zg`Q?qV((P?KC>y!qJHDRC*EZAG?U>spqEPfny)HN8teE{<3JPdPI{W1{nEZ>cBQ$_ zZyadiZB0+JV}`D zGZsFXda1OpnNMlbyvvsw2by@7+0!hYG{Sk$uQdDljRQ@*J?&{0iR80@(xhqNAwKcG zwx_w-FYO7ZjpQzQkpcYH^e92N%u4}B#Y3Wg_UMizj5FbZ^3(- zha&kbqBLm|S%^=(ckgNT@JsvsSyXAx_8SL2@ut70nFOEFyj0rPET%MRyvIw815JEd z;AtN9OZ%F|m1gYZUgrmz_?W@dY!k_638hK5(?fjX^9fJ0s$bgoSyE~C^BV^~@xg|t zc_5O{Qc9Bsp@sOwCnBEamwsvAXKAH**>4>9#78Nf=JiNE%P38n#}widpTT&V=~8&7 z()U?bX*Ts62R`xPji>o`Jg>B`Sx#xv^Y;*+_|(VKoZ*-DHOni_lYZmCCq6FnG)G7B zSwU&i*y#|T_?*epO!rEJ{;a4ptNV=upZI{v)BGlq&q_*@CUb@O#3x&xrtwSr{aIOQ z&h;AyKJk&5r}<+fpH-A5O??XSiOpUTI&mn$o24 z1|dH2>7A#UKV^jTUR`On_8SL2@v)z$SuB#z8cLG}K!*6l=Y^i;G{3Ze>@}67!K@e#GB*({RJhDwtjorn0uXWO1;@-z|pvysxQ>^Ba4 z;zMyy^V3K^-&C5k{#b}le46fQ8o#vPpN*B~D!*~yGoI2s70G84rAdPrLww@%d(Y<$ zzqIeOsnX1r*6aMhCqDT1G@nND*-UBDypIr{IAXxlZ0ncyeZHkM=lYEUpE%UO)2xIe z%3dn%Yc^M!w7TF+jRQ>_qu^;?_DlPkEtF>RbfNu;gBv`}iIIH1tu$$kix8hUD#FvO z?U(j_wp5z^{Kmnt<8TU3b5kUrt&}E>c?j`|<1jqU6@F>oXKST-)^8m6!~qEah)*2B<7v+JOZz@M zE6x3WU)uNCRcYqV7<%4uu#u;Uzd8MKXAwF@GlBe0yFYRk~SDNGf#zBAL@Fq{QP9&f2DNR}_D8wg@i}Eyg`lWrJJ(T7R zzj5Fb2UK~QJtO(-sWfT!Zir7DiREdg$>g0%-)AqS*}!ic_{1Sxp61#}K6@)o8Wt7e z6UTmenq&RazRx~N^DDn`;1i#>dz$%h*4|5{ea*f~lh$o}sd1o*qs=_c-~H0Qrcs*N zGJBmLXy#FxeIxnA!A+h48t@$A6UVoC&D#5=eV_f5=4`)l;1dVNd77U^^4VW$(n7u= zK5;~yr+MBl?fV>{G?Qlu?N1zv=V|^F$>%_&NlWa8_{1@Mo@N8TwC{6}(j4zM4*C-Z z|9P7KMe_N+(xmn3Lww?>K~M9jU)uNifzphhHMBo*xS^++E16f?*Bq=gY3a5QpEyp@ z)2!>4_BDqn%|3qPpg(bdqo)axd=6Ebw6JQ3PaGNPY0mdc`#wKZng{*HfzJ|3bA2SA z!;~g1Hyz@$q|$ukm-c-QSDM+gg`W3PO7r_jK1V1`8rUD=v$WD|?3ea^exx)<`Hh4A zETc4ICHK0>*Bq%dX%UzZpJkQiHovs5IZA0>^cx30%PGywk$jF;nlz3##AkV>8TVE1 zRQf(YR+@SJ#(~cYO0!TTpJS9JEyfk%v!c>$BXf&6MUpk$irxH0ig)LVUiZ zG_&OKPNna2k$eJ^NsNS?4UG_U)uNirP7@5Hx7JuRGP0x z^0`)N(vLBP^k*lfdCV{E`&_3qW9RoeKk)gk(xfHVUMlTtu2-70;`&RC1I^A#v$9{> z*W92qJNb&C;Nel0X`0T1QC;O#+pI<4>&3@y+XE&v}Ba+WeN|Tmw z3GvxoY5wk)_I-Y>G_w>4J@4-+%~+|uF7h?MQJS>GeTdH7|*gZ}KP zG+&M6bBofXwM{~N_EMUw{L;S9Z&z3Nx!8V;{t4|?5KUA83`=x!K zKPb&t3VRnx;B%PLtP;uRA*D&bJ`mz_xY8`^m-c-gR+=sS#(~cfO0!`kpGTA?Eq5Q{ z^CPACkzd;Pc~ohB={F91j#Qf4Bl-MMY0__8hWH$%G%x$5eV@maX3`>|=Y6!&yc@~q zPfC-1Od-VQ$4axhU)uM1TxoXo8wdS4Mrp=M>y`F3Pbf|L)x{8>W0mGKzqGG;QfYqc zHx7J`Q<`Zb`8=gG>1Vq`e2!O|zx$~5Xt8mrAfbs65{g{rCHW5 z?fX2dG~4=(gZ`YTG^<4Nc}{84kA8;uoTN0z`=x!K=auFED?lFtiDvvBz9 z(qyIivtQcx`LohYSS<9sPf?n^Bl-MAY0@v~h4knDlxAhWwD0qx((K_k4*GMd(wq>< z=Ov{{Ys`lDoTfAv`lWrJmzCx*zj5Gmy3*Vd$>*<1la|U4@i{|j#x3rhO5f*iO0%@z zIPf`BX`YGX^NP}>-?|O)IZJ8w@JstXuPV)je&fLBXG-&NB%jx`X88BG*-G=gU)uNi zyV6Wr!t4CN=NzS(F`d^%zUFnMNlSEw^ygfqS=TS^Yu-?r{rtv(&v{C-R3x7_l_vel zLx|7$N^_ZC+V}Z~(md@q4ty?9noT14yrnd&hQDtvRGNuPdZ*I&d0T0g_ZtU3KUbQ) zBl-MOY0|GSg!JbkrP<3b?fbl=G?)2}1D}hP=JZHD?qCr8FD+rG3qZN^_FmIOxySO0#1mpZ_XN z`u*P!pKFxnF~79$^O4fbR3@}PzfhXy+jVzqIf3nbJ&GHncz2E6s8lywbkre@c^nK`g}Q2BrCiU)tAv zt~7`Ejf4K&s5E;<^7%q(PP!B7^DCvf&M)ozj8YSFfA<>)J~t`NDUp1}P?{$EKEu~a zGkZDjRQf(+D$T}zI7`BNmHiInEiaGyJs=54>U?=!K| z%uvDW{J`ffrTJ$hpGlNv>G0>;yOrh}erexlQl)A9#(~d0N;6lc2-jyarAa@U7V>wr zS82}mOZz^PE6wA6G;2ljnO14iul9uaJghWxR*G=m(<#mBe&fLB5vBQNB%kS(CjDG&h|i-+v$J2? z@6QZM^CQ1;;PXeN*(#FHj7pP!JuSrNF{Qc0FYWuxq%=?ZjRT)QDa|R7d}dafg~LBD z9aowOD@Qo*S(Ii)zj5I6gwi||$!AujNk79K(w`@lWhmefAdTGn%R|RnkruB2R_dz%{q~M=1`jH!tZ~cRho_b(!S4}N^`8= zIPiH+Y4(idGndkA8h)SQywcq7m-c<;R+`WK#(~cZN^@x>pLvuf{UTn-_4%{XtXS1M zmA=osO0%=yIPm$4(%c@&XFjEw{b8uji%N5bU)uMXUuo|38wWlwDa~_{d=^le?Ze;S zFDuPQerexlL8V!;n%DV(&tH{hp{!mP`I?24=Cttd9lt5f0e)#;v#`?K;5QC@UQwFO zBl#?%H0kFiL$1%OO7nqV+V@#hX%?&=+Mm~y=Fmt!iz&_6;qOPkE6whHY2RmYrMbv& z9Q5aPrMWng&k{(vk9Sak=3h$lpkLbeSy5@muNB&#_mpPe zNIokm&5Plm>;6`nZ}_EspOuy7B)@TR?Dv)Cf=E8AD9z#F-#Z>C&69p<-)B{&nY?yr zfBvI1e~sj`n$nC4zi;zUX*Tvt`#!5H%}IXapg;drnu%WZE;(PbhSq%QH4Zc%Da~Vk zX4}Ed)6VZ^G}p!?mFJ7^nKP=nr;2YfzPK(^X*7J>nKh7 z;lB`{&y?m|zqIeOuF^c}Hx7LMr!?P>og9RDcvyhqW`jNxyS1wS{|&oAxwX9K1ArQbO48AEAah~)EirAfbY9dh1dD$P57 zY2W7?N;6G8uk!<+_&Y7$vEPg2v!T))6#l(9w$iNWm-c-&Qks4I#(~c`N;7qKuZw)m zH=8bWCBD*3{F-+veVcof`i%ph$&_aL91;GGS}DzE;m_Zb zE6rJcX}>>PE6u}xU&8B{7-)ASKIo@v^_)M=f4@C0$uF}jD-k%wi=6=7l@3XVg zeC{_6d}dUde@61zMQQd5|D2pjX;ys0JC(lAu1d3?-#GA@S!uqS)B6+lHM=Rz4pE_h zM_H8S2EVkg*fBB_-pZ%0(-Z#C@ z4}9iRn*T-e*6mFDd5_oISJ^Ri#s z_c=&uW@sGRpM{j>>ydoEuQWS{-)AVSG+X+meV-pF&GCNYpg)T!%@L7&4py2C!p8*_ zRhm2f(!S3jO7nr=IPh6aX|9drbEwiB5PqMwxY8`##5f?uJaoQK1(UhOObqzP?~qbzaN!Wn!ov_eV-pG&A3gy&JTQ+ zQJVK6`5dV<{|LX&P*!Oc^-KFcM=8ywe&fJrIi;C3cZAoa(Moeh_;arEO7la%wD0p{ zrMbdy9QdrDG|NQtIYwzV2)`dvQE8s_OZz^@D$TgfLeG1pmo+m$XTl7yiFS@ki7znA z(?vzKjfzSUb8v~6QL)S8G?gg8ISdIC#x>;XiVS3Kf}uG$h&k$g z7mT&K17Z;jJY9(ruuN^mKd6PBbWh0)A=LjB^a9b zMlw&w(6k@LJRd`IU^Md!3{Al?%r!AIZN@TxhN1a-9P?2O&8_jwX(u3;{e*cChGy$T z=1Ulw+@CVH#n6nL%)Ayub9M@Iy8j`Un9AG*L-X-8=A#&zBh#5*U}$2_WUh;$={bve z9)@QBXUqv_BR8MJJOxAZ+g#>n7@89EnfqdB)+}J&kD>WyA@i>on$w>%r&@&k7&q?k zH^*Y+#7mf8!_dG|<^>prp^~?n~AeY(5+yz53;49{DF*NWs^Lh+Tug%P3F*JR*Fn^Ar zne;95aSY9+t;|WbA!pgn+#W;I<~!!;7@8S7n1932oY={nXcuzSZsrCUnkIXgr(kI2 z?q&WOL-S%EbCLbXLk=+S#LzrF$eizcyvV!>Lo@ag^Iic(XrkD*BspSdB1=6nL?2N;@^iJ0HS(DX~p zJPAY7GYRuj49(c2%qKB4hmtYBz|cHN&RjhOa-~<80YhU_GH=7s>`BEOCpB{NG|c%i zG(*!eZ^Y0fOwZgDL$fpk^9c-1-b~EhF*H*$Gw;LD{FQ~dY*yqKxN+yFLN?^MuQF%D z&^#8-m!0xCIR6@kCRa}8<`|mNxtNDwX!_@7UWuVumWTNch9*xw=H?ihY5AGYVrYsL zWbTNe*;$A=ZeiriMVM=0XxbNLo{OQ`Sd94shUQ^$=HexgUoXl0K89viDdw{nn){`h z^OQlZU6y$ghGuCw=0g~o-^(*+tAJdfB6AZAO@~U%^D#7YDl?zJ(44HooUJPI3)}?n z&()CQR%fn^p~+l>xf+HhXHDkT7@9h@mj{4s{6RRiY!7@9X;XC8u~>GB5iI1J68hRk1LXvQ^SUX7s{|0eTJ49%Rz%-bCJOD#;ss(e5w~;%wWL|=yS>KBJ5{Bll z*38A*ASY|fTna;zrX6!549%9z(OWKl5D-P0oSLJuozH4q_gPq3QfS^D+$0 zh!2?8V`wH1WQm<47@ApAm^WZ(e)%7BlBviQr!f!5&}^E{d<8?3X(n@949&b*%qK83X=XFG$IuL( z!@L?p^TS-`r1Oxk84O}sCdD`9AQeaXBTL-W&G z=0xj|^R8#Ej-g4kfjJ+B=Am%jjmUrE#`QuT@EoX#?YKR%zOt!lk6ySeGE;XADPEvXx1KMzK)?uew?{AhNk}s z<}WZbKb&Mva|*e}Y35-VnssNGf56b(I?J5r9CCy6%$+eb6D~0C!O-0PnYrvQ$ZuX` z9*3b>c8U3K3{9S2nY&BwF z#?V~;gZT-D=FlzX`xu&ox0z%AiCo|gb4Lu#q`S=LF*HyAVlH$Kx$)o3voJLM?=!E& z(2Re;d>liw?;qwD7@CI3+Bfdn#3_;1=nXI3{CHt%%5Rsw#8z8f}u$khq(fVrfFQ}X&9Od@tBjv zM{b#bc@c)@dP3%miI6)bW?qA#`6mf;fuzWTk}>bb&?HL1Tm?h($t%n!F*F%dF*n4} z%udbx8-}J(TIP-znhoigpJ8a~WndnGp*fzBIZGzw{+XG-z|h3c%G?w~GbJ1I0Srz2 z?97cZG!t_$@4?W-%*EUQLo*>a^BxRM+`P<l zjWIM+i!dL;&?GO$+!{l(pg8k63{AF@%;hmOV@fga!qB`@hPfbyCPi81Y8aaQ<(PY6 zXzG<`9*Uu9U4eNChNgK%=3y9`(v_GEh9+NS=4Ke0`C8giBD zobQOC8B~LL9foFKP3F58n)tPuYh!5I)nT59p;=Year6U;Lh)k89ZF9oqESDyD5;-W z+{WF_#(J!I4MVf@HRjm$k$=IBdk;y{0Qm`S99MiDInf);)i5+U8#4F6&}?bM{1ije zx-s(r49)9Jm(zb4v_OzLv~wFf>(L zF@KDqsnMFbKZd4u8|LvCnp$m{`(tQowqyPnL$jql^K}eO;SS8bFf@HTGJlSt+1!cw z35Mpq&dk#>G#R=wzlEXM)Q$NZhNi)L%pYNBKI_4J1Vi(vCv)Xq$fHWR5ckx#;`MA7F^z zS(vwDXwD91&OHRV*ihy+7@8p;GJlJqxiySA*>L2hBbdiyXy$#y{5^)|uaV4!M;8$1wkip}8}bx%fEbTH~4fV`%11V7`cv8OZf#G7rSiESkl98AEgK zGv-9Ik<-m#ZjGU7HJ5oJhGyYB=BpT*N(-2~VQ5Y-WKQ)ta>hl>^)WP^7c;NG(0smx z`6mp`#ih*ImLVTl&Kze2^3Ija$yXs?$BjGQw5yS0u3@f;p{eo(b59J-kT03HVQ7}G zWxj-=xwwuw?|S5T8_Yw8#(13 z=1LfvqI;QpU})ai$NVXVX4Zb@vlyBS2bkj>M9%U(b88Gu?;n`wVQBUqVvc*(K%%myuij z$~+xIv-vmX*jJF_U1ctUp{ae1c{qmV(C^IuU}&1&V4jSjnR=6XJBH@uAI!;bAz#Cd z>#wx8k)!@(u8ARjCt-daLsR!I^AHTp;J=vXVQALfW4?-^+448@bqvk1`^?E7AjkNJ zxd?`)L(lKwv&^%1fTs8ypu#C*>F*J!YGdIG}G|R#~ z6hkv3EAuf7&8ck6|6yp-WM^)Kp?Nz8^JomsqMXc^F*G-GF=x(=Ts{x;a171pyv(aH zG<)+gKf}=clb<3iI&`hk%ycR?ANfqXu7@BcanO9?I##UqAhM{@4I`e1@P4ybg z{V+6HYcf~E&_vZ@E{UNTQJeV-3{BFy%ndL!b?Pzq$Iy&=jd?GI=F|Gjn=mxf8ZaNm z&`fxpc|C?^)Ems(Ff@Z3GJlSt>DP#P4Tfgmo6PetG(#FQe}$oeCd{8- zW8R9PdD5P_>O08oIxtVg(CqKXoVXM6CEU2{Gts-qf8)k+(ay+^apO2&7v#8Ind@R` zUI-WJhWrROu6^0=$Z_6du7sh<(u27xhNe(Y<~A6b(!H1mVQ8B5W}bkd8PbP&FNS7g zU*@M6n&*Z&10Xl-$26LguCzny13)KSw@^8+ZN2UWB{_H;zvc&tJ@Z7(=sk3G*oo&F-bl zv6mtLh#R+mjOECeapO4W3gmmZahz)A9A9DTd~Qb6JlGY>JJ!O$cFXnz2nw9sMf5Fh?zR%nPL$lxk^9c-1hKJ1UF*Gy( zWj=zTN%xq!J%(oH6Xru0nl#UtTVrUZ{KvcxLzDCcb5jh>#Hcty|L?)jB#+750z)%3 z7V{wtO@=tkoiH>j<1+t>p(!7qc@&0bZ35RkAR@kD)o3l{r;5CZm z<3l59PveZ>miVF1yii*F&~tRSBKy-b1*j~?L+{D(iR5YAGTajXbPoe^OFeqd3Y+A3 z=s70*D@@PPV50OV&7;7tTztIrnG+U?KN_bETcsZTO+t0qpXPx;4%wgX8NqSs9~y@Q zRYZ^Galq@+o}Sx7dhtj1u;44%pPti00m;)n9mpWZOWzrwqUh7#Bz!3T=(!|x6Q*Yj zuubaIb8eU^`ZP}h_DP<;1HmhzPtR4Mis;cZHP|WFOG&&v3pb>{Xq*h>kn=~+xnY;o zqtDcER`h9HDU6ikqwmnrU9KPcjt?b;XN0_IUc%40#)UB=^haL zE&J1ZFx(Ko^qvmKgz1?NB$V?{-*Mof_@R5QuwSlkn#Thh#Se{(fv0l4&^Rx+FZw!6CQP51VYlp0&&1%Q=+iwDm?XzX`&tqAhq-d%`1b)a(&ZhZa6CX zbk7}{%KkKN5%P#%n&$$oq(A7MHY}3%bk7E+i65Hx2VVz!Pat^T?or z93Q-b^?#N2G!6yU%K4#rX;4Jk(>NIzCV3jy2YbXn&69xoqDRjpVYlp0->G4zw5Mmd z&|32J83K&-CyjG}5yEtj0gUWV-`U|?VH%eV#pHPDGYqts{plVrd?42+%~OQ!(tk7$ z5*7&4GYv3uJT#91_6XB6UYI5R={qvymh(;DS>Y{VnuiHfMW5!u!8qBU?%_jB@kh@X z;IP!AaVF4Qj)&&u!F#eljRAm|!o^FV-+`h>a9Q-| z878!q>yw_zzzk_m<4|FYoDUke1Y4yZjhloN(jPQ$2>um4x<>&?B~SC1;E3dD+!5Rp zJ(~9k*QGyc91!G@{-I|KP*aYN?qR|*xjty#3H&JjX&wuFBTVBQp|AL%adr?->eIMA zxGQ-YCk*xF_-PzBY?6BP3>=F0h{YmrY07Q@O!NCmKpTd%wQrgpZbSNyxL-PutjPxIk8G)MOm&SQRA*oN#D510H(>-X| zEc??KB{1TL#u&k5VS1(o1*N~}I}Y@a>xrH@L2Jp=JWjYNe(0VRG?L??d2sNb^dHTu zf~De*p2@=`$G*1Nn5kEAK0M<&L<}t!((WiObuv(6n z#yCJ#$+G`TH4b%Rahzg zP4@udcgfQ@ZWt#_^9W&q^e;UFhO*+9#?ZljsZV3%;H)sMdjS1~Y2F^(7d;w703Qm| zJu8?k{%9O9bP=X|2ryatpT>B=6X|cdXAB+0Kh3LwUD6+PPY9lf9*vWQOTsjc9^RJy zY2F@`lH;Xu%+O5Q)0j!G$saq zmgA#w`7luY(LF7Ql6o`_9d1gV#u&gu>0g?c4tGVL=H0-na(&Ubde|uY(=%bXEyrIo z2J%_aqj^YhLXMB-##5#ScBRg(zuH&#+;koNt0cUy1mi`I z=J~@E@ke7M;k+CVjlqK^c6jt=L@e(dzu#up9|BNBe*DjXr3B0m*b~-j4(y?Y2FI_BK<-0E})g1Uz*no zLq(tFu|qe}r+KunL-I6F6=H}!joF5|a=mU$i}}a0Kh4{QKZR*tE5wuiXy5kE9f z9{Njr8j}jQrGIE%J@l45&69)!qDRj_A(b32&1;AC(w@fLz}Ip-G!GND%Ko(O2b__5 zH17o}i9cEw1IoztLGzekj?|-htI$RCXr437k$SYQ3)B&Pnnw#Yq&+<&gmt1v&miCx z`TL-Gf-pkPH;oB|x^jFpuM8^4{xq){ev8Y5#AD}d8_cJ=+iu5=q60h z?4YTfZ<=QbL#4lIP6`~B{-Jf3V5Ianjj@6s#4n8zf%vjNJ#&PjqEGXNV5%^!3k12O z|7cwZcu)M(x>Zn0>d}}Kh$;H?3>dzX^Gjo<;T7p08WRMg#2BJ^%+TcI&Ph-&FXUWr; zF32f*^voaHN_(0I2{nXii~zI{ra3CmOZtz-^ub4>Ph)JLxEwz{$<3)37B$SeEPGkl0E z*E5Y#fXz~m)`5ay(w@cu!EiY~8eoUMO*`LPbzz=_ca(pyK3tCG(8UqB+g=tfR56h)}e&nlBYR1a7_HsI#vL3hd196%^8^=OPH%oTl_M+~>*eABu=@Tr_Hnzs!-B~R;Ez(m=f)|rHF#2>B8 z0u!XaXv`QSm;Gr>A-pE%kJg2Op3oKH$|V;1%<)lhsHEQ zKhdLgG2puNAI%|!hti(rXhK;zUo<8g_KIIxXB0+Adm5ty(anIX;15@Kz})Y znga<(<#=gbA!sG-Y0M_flK!K02%(wOqjfo;l;mmM2-qP^W4a)x_@{N(V5<0|buD4K z)TcSYa8de~<~Tqa@k8rW!WL;ybEaUF=+PKL=p@%Cjp2fpQlHjMg$trjW4@uO^ari` z1?{B&X`M}&BlTzw3=Ee%jnRaJQjgZDgny(x&5?xK(qFXB61*?RL+e&R4B4ONAVDh8 zr*%xAj`Sz3Lj}2Hf0_pmgXQ>W%pd$FdbDl{y!+DrwNbyk>`!ytpr!O5jq!x4vOleR z2-n0vty2fzOM9B*3;&bjrFr)-M*Psay6~CwH_hpSKV*MemlAr4K8>-4Y~q*JVS#qS zv@Q+2kn=@jHes6hrFCrJvE*sa82lymXk86xDD7$8Ko}u;n!^O2NdMEiDe#5Vr*%1@ zq4=eBP~ec{Y0fxgkp7@C{_vsrp>;ap9oe7ejKCT>AG9tJOqKTMx}jcD(W5cM@JQ;> z7(kdI{Y~qfK@!oUb@HHs91o2tg&*YjX`MbuD|uSS6pD#IT89dfi62_$6@C&ww2l?T zl01zWhVr6MbE@E^=+m5IC@lK4&KWcmzcfb#(up3eBL*`iPir2)47r|Y3_J9a{-81L z&{de$wSg_dw5}yok@HRKlEOUkL+ffmMyXG8Zs3^Ir*-;ZoE#6$DT1+*r#bQPvGfnE zn+dg~9F zr!nRbTh0%y69~)YcxWAA_+0$Zy10;D>d_c-$SeEPm}poiOlv4WD%qdb5r!SYGzS>c zNq^9sAxJF8OX~o_P4Po>USP81X$(GGmgAv0mQY;U)4H*+R{YW&Na!GWTE__X$^JA4 z7QPfev~DfTl>KQ=2Naa{G$#kfiyxXp178Z$oH{5h{ZH#`!+p74Y28k^AoWV_#`5NPwO1P`_i7~z`-5K(;6u7mDHzoWMPc> zqd5{#Que1g4$xSb=A1)yX;16o!JFcr*4>1S(*LxMEew|SwB`$pm-@8sBQz6#G^Ycy zOFder3bG2*I(4vA>d~AUSR(yJ>m=iPGdVt5GXUZW(>k?qU6|$wKstH7qje!+rPQZ6eNbKM(;Pv_FHGw` z!vXP=b{E!LCQR$ZLN)1sT9X4F$@NO>Qo~|tPhA6h39hKWC#V+;pH zpVs_=LDHVq=zvV3Pjeg~zv$Dt`H)up(7JW-x|}~+rw~4q)!nAHH+!dxZYoL+n(>h=< zPp%JI7Zd)I{-ZfW&_MFE&K|rc^=X|Z_)PkX)_I3`(x0^MHRO@wr8N;?t}x9xfh@uP zF$dFx2s>wjf@sX&GS;!iQBg7SW{rwUm^T}43dT&EKTZCGsp$7?*WfgX{83R+)tkJA zzy2HpqbM9c5EV6`WZ|NPOB5|ptQ`GIoTwhSJzPFURE`g$qRQfLj^}+C6_uk&Khv#O z7oZmHi^Yt}i669bG;0zy3g4iTg6oJo+Y_vqb$8sq}2A`vmstKc_&|_3Q{CE6q4cjIT{+IqAcd?Ak@qY=O z`?yirn#Z7HnQ8cxJ?*!_rr4^CX7lpjJ750ww2uuw%Y}EyTfiT*=?-h)Ut@( zHn&@_+i`aLh20*o+naWqXau#-XScQNwwv9KwA)p7d(dt#+ii@GsC^E*tzx%r?6$w% zPPE&#c6-WhZ`y5~k+fHOyDen5b?o+CyB%-0EA4i#-TrE~QKQb`u$ni|Ja3#dYQvcY zXOc$cIGgEg(x_`^PvJJvIojs6+bVYZ&bfx?;zoUNE%y0ZqM6ostfe*>FqYF-R8F2Y8MJ#NE+3_#>Q^v+U;uG#*KP-fzH~^ z>!f`41}T)eN&jBwCjCp-JLF;hosoCqMm_rHdE2rMOx5xw64OF109 zZ>gfAA(oms8fK}NqmL|&aWvY}LPz*x-stRGM-wcabTrA*9Y<3v#g7^7Wtyezj%He_ z=xDa3w;av0)W^|6OXD3awzS02GE3h%T50L5qcxWPcC^+~;#kpMHdxB-Xp^O?jy79r z>1eB^evZDgG|AB}ODi1hwY1yO0ZTtS`oYpeM@K9rj~(shn5F!VPFSkx=(MG_j?P&c z$^({4ZggjIcjO? zw4*kb{&LjbQo;n$UOHOJ>8P`%%8t5OYT>AdCF7{KrB56gOUoSfx3tsIAWP>R4Yu^a z(TA3jCXDtn!ctyGqbyZ-G{#bEN8>FGa5T}(=<45E%He3c zrOJ+WT6){j9!vck?YH!)qwg)Pa&*|zK1V-Vy6ot6+RIr>#T;F*)WFe2 zOI;lOYUv|KS1rwRbluWsM}Js4;pk6GcO3m?DM8Zc>h~?>bo9_t6-SRPwRH5%Qh!G; zEKPP4GYyjl3GfeEZR#7OT`_fvh=#6w3fO$%3x`vqs*4( zJIZEhi=!NtPCCkM>8_)EmJ%k9u3pemE=NTyRdrO{QY%NLEDdl}*3uM56)dfBRN2x2 zN7XF-=BTEn{~Xn^lrBZIm)9(naP+#RHykyx)Xh;7OQRgUWodzbk(;a2Cw9Zj> zONSigvh=&7yq035kFH+8QYJ@*EtPRp%u-`VB`x)IRL0U+N98Roc2vpIcaExBI_Ic{ zr3a2`TS}H8+Dko4`5iT|RLfCAOYI#swlvsLGfOiZwXn3_Q7cP_9ksP|-O)RiVrGo4 z-pNvCM_nwHb=2Kb6GuHQ^>Wn5(l|$8X^Eo&mUcLL-_m(ULoEH{XqctsnWDXXWT}9o z(UxjE8f)ntM-wa!aWu)&Oh;2JZE!Tr(h)~9E!}W5+fuB|(beZ!%Hn9DrE-oITWacP znWf&2R$3bGXpN<%j@DY*>1czc3ywBfdgy4gr4(7By==8q(9w66>NwhEse_}vmWDby zU}=`4A1rNjbi~q8N5?GPbacW}?5xq%Pg~0B=$xhUj()b(%+V!FeH{H}X@a9`mXu5oTb^0Dq7m)sEVayj;dR_<*1gWxH+P$ z*R}MjqxzOAI(oxWb4PDlGLD*Bn&_yxr4^1^TH52Njirl@+FN?;sH3G+IitOFwp7GX zH%qTM>S5_!N4+f#cVsNhan#?^*Nz5R`pMB?OSc_;XenN<=;|XZWp^~nQYA-YEVXbn z-V!*PXlat8$(B|+nrdmUqZyViIr_}f6Gw9`rOqAgWr3xljuu&}?`Wx|&W=`C8sTWQ zrMZs2wDgUm^_Gr1`pVLuj=r%JKTmY^Z!P6;wB1r=M>{RO?P!msevbBA`qa_)mR31B zY-yjPA1z&WbllQYN2e^M$s6tEtfgX(E?8>d=%S@Aj()ZDk)x}Y<~h1fN{<4%HUv%~RmU23JXsL>$$Cg?;dS+)^t?r7R6_RMyfIM-?osaa7sT0Y}v={pP5qrT-k&v6QZ0w3pW`m2mXB zr8gWkveeB{6HB8Uy=7^Eqqi-6>!`J*Q;ynM`pZ!VONk0aSAW-1Zbw}$Rde*7rPhvm zSsLi5uciMv>SyT-M*}S#bo7CxD~^U*dhTerrSyfPy^OR}($UA38af(hsk@_3ERA;b zsilRE{%2{cqv@7TJDO$bo})RI5*LZCKHpLvN1t1&?r4dnHjb8C8sun|rKyg-u=J&) zb(X$&w9(R4M_*fd;b@Dc3`L{8Y_n9#(GE+E9PPIBo}+!1K6Z4_(&vs2S=#34sHHQG zezNqpqm!1B6pOBY#!_BK=PlK6^oymojxJkz-_aFI(;WS7X|1E1mVR(_+tM{hcP&K~ zkFNf=rHqdLu~gd8BTH{OdTObMqvw{!IEsbk(;a2Cw9Zj>ONSigvh=&7yq02=jILh5QYJ@*EtPRp z%u-`VB`x)IRL0U+N98Roc2vpIcaExBI_Ic{r3a2`TS`_c+Dko4`5iT|RLfCAOYI#s zwlvsLGfOiZwXn3_Q7cP_9ksP|-O)RiVwR4s-pNvCM_nwHb=2Kb6GuHQ^>Wn5(l|$8 zX^Eo&mUcLL-_m(ULoEH{XqctsWum=&WT}9o(UxjE8f)ntM-wa!aWu)&Oh;2JZE!Tr z(h)~9E!}W5+fuBu(beZ!%Hn9DrE-oITWacPnWf&2R$3bGXpN<%j@DY*>1czc3ywBf zdgy4gr4;3&y==8q(9w66>NwhEse_}vmWDbyU}=`4A1rNjbi~q8N5?GPbacW}?DEmo zPg~0B=$xhUj()b(%+V!FeH{H}X@a9`mXMVdNNDd9KB+xf}_-y z-g1=AQeQ_IEq&rBi>2j`UbVE_QBF(0ILc$`k)!;UQdWxgQpi$aM@22wb5z1oCr70% z4Rch^(riZ+Ep2jC#nLfH)h*p}RLfG_%F)&9T6)z{eM=P`yTl_5M}sW= zwdG|ACqODi2swY1mK3`>_BeP-$Z zOr2wxT6{Oh3=`3MLS($Dk zRbaY<)Qago(h#OcNb{MVBJE^)fpm%KHPRcVcSwN}boGx&DVV+>6=wR5RF~-&QV*uT zNRyb%2>AMs$w4~CcM znMxzYElp=Bhm@VEB2p!$DoAaZsv`|!s)e+WsSeU^rus-%m>MCyV`_>Np$uKU1yU-e z)<{K}+9B0v>WI{fsSDB+rtV1VnR+3eVCswXkZAzYAEpqbcxCAYYjXSEzOcRk7F-<|*!!#Y~D$^{a_e^t2%v(=wz6Oe>LkGp#|I%CsIS zlxZW*g7g6Ra(Vy4qbdzsE5U1Pd{ z^nvLzQltuW^=n9Jm~J2yXS$8lkm(*$AEt*$)0mzhZD4wibc*Q}(qpE#NU9=T{R2`0 zrq4*Zn7$!ZW%`NKp6L(LNG2m9zW!sfk@hipNMTGtNFSLZAw{l4XNiiGmMI2O38vUc zjhNyg^<_$kG@U64(nh9aNT-=nB0XVBgJe{utEWdw$dm~wH&a%mYD_thIxyu%8pV_k zX(>}dr2R}qkghWoNBYE63MonzI!jrkbW9bHN-|YOYRps(sUK5Kq!~=Lkv1{aLpsCM z5a}sX6C|@LUA;L{BBoYId6?QFRcGpe)RCz((rBh`NXwXdA{}7rgLH$bKhkHWK}b=n z(OHHdrDqzBRElX7QWK`JNd1{6AkAc&jI^0)8q!&&nGxY{!ama!P5=GYIq=uHRq{7V zB{g!HOZ2Si#+#<0dSQ;joPoItb35iS%xjnrG5=u3-2{(KgINr-HfA%-9+*Qgr(&+f zJc}8I`3&{r< zHD*7|F_?2Pw_qN@Jdb$~^9`o86*^;Lrp7FYSqZZ)W(&-2m?JT#V{X7ajCm3BA?8O+ zwGEn+U}nZFj9CM-4Q5ZwF_oeY26HIpT+DTt`!LU7-oX5bY3+ud zc$mpCb6^(7tcTeRa|Gs0%=MTjF&|*Q!TgEo?}5(bm^m+ z!!TcBntP!w7G_G!JeXxM8({Xq9ELd!b2a8p%#)b6F<)T*z>KvInlob-$E=0f88ZZP z0_J?owV3-cPhwuie2n=8)7=l9(J*sjmc?v{*%NaJ=0waznCmh3VxGagi}@1sFJ{aG z&>W1J4YMd_b<7r+y)egPF2vl3xfk;y=3UI+m_Y}jGbv^k%#xTjG23JI!W@M;19KDR zNz5CVFEE`$&=wCfIc84GBAB%?TVi&_9E3R;a~|ea%oCUoFyCSR#f)_r`qN?N#H@%} z53@JsXv}$-TQLt|p256<`3&<1rl)`3*if-CGhi0Qtc%$Svn%E>%n6wDFxO-5!90Qa z5YssVo$)c#V&=juj#&w_0cH=(p_o%J=VPwJ+>Ln}^AY9`%veXEKRae2%(|GZG5cXo zz+8g41M?*2Rm|s@-!c7T&=vzTDP}>;3YbkXdtwg7oQk;ub2H`<%!`=!FkfPR!;Eko z`hzhuV;04%j9C}6C+1Mh*_bOaH(?&ayo~u8^CxE16WENI6|)d#Ma=q`?Jx&mj>Vjf zxejv==1I)^nC~(FVkS5V{dq7;V%Ej%j5!K(0p?cB!1k1^k3{=^KNg0}dWX)*I) zR>f?IIS6wM<{Zqemj>DXT8H%|N^BU$` z%)gkC&tNBJ3Czlv^)cIH_Qo8BIUREq<{r%Bn71)MU`9NPcK|aTW^T+9m{l=bV)n!w zgE<3p8RmY>6POnN$F*$ZH0n1eB=VlKwqfcY=xCCvMnZ!y(HXpV{*jF}U& z5N0*ZMwo3ddt#2qoQt^~^AP3*%zKz$Fe6-o{$!XLG4o(n!EA=v4Rbi=bj&4~n=wyf z-o^Zg`3E!NWoS->nH{q@W?jtAm?4cSwxdHPu<{iwJm|ro~RcMZknF=#AW^v3an9VVJV@}3gfw=|qIOZ+P z7nnaWqg{jMV9dSOe(C=mhWSNj47K*n$v~B0cuh4z_0_*sYN%&SQ#G0D8`CyTmO7P` z%(I$o6~^>NlcU-tqgkMa{)J%GpDCjzPfbZqvr3wLwTP*nrhuxGf@WPc1*z6dQ#3_T zDkaUV@_n2O2ilc7AFCFVUXzCA7iK|{QCD#;BoytJ7 zJeuOGFs53X5~%5!Xx3U&LbZ%(sHQ}!Zf2Uz*OXYbW;&=TiE5mMX4fNP z{s1{ROM-ubR5BHpDUGJ&>H(6X|1NLYDFHJ9o3XgZDo3M6e>%~oovui`SD(9}R3XS%Pcp$cQN8V0FGs$C^|TmnsvRez=enwqHem1$O0Q&Uxd zsgtH=Dq7Ax7 zD*Zn+i_|zsbyWqJvTN$5V$`Nt6;0h$3Z|Z#dZ>hTXf|0>PnCgbo2FjMs!OxWntH34 zOusbsQKy*VH3?FERTxuYP5spRdi1#Jn)<7~Or13iP~Yp*Y`CU@%5OllRMQ|;65f14 z-_M2iqUn#_7^+S*qQ@oEG)#pt70@(Xt!hlOikfsYQ!7m) zRr@A18>nfN>d&-5(`Z$-Db2QN8lxIBUC}gFJ&6aDLqfRg#)ihTPXhXBRn&zo-Os0NIy!py% zOS5223sg*|(wY{kl}wE^EmAv~LNqN_<=fHYW@}oa>ND-pv{XfHPqQnUmZ@N-Z<>~? zTpef@wPlc6p-M1i)wEL0>qxV5npUZGOzkzTR!uw6EJV{9)tPC&rnM?nXPRx&v`*z< zI;Uy9vb)gik)}`;lgVloq&BEiOo=pYRAEd-G;LB7y3*sSYuc>lF?G_kMOEuYv!R-{ zs>V!1KB%D@y^zg62Vm7*ujf;H_{IhgWm+M^=( zqFHrKdsRZF?wa5xj*mu9Cm9acG*?rZv2 z1^UtKgQg=YE>pxdLF%YF!<0zVF?EY6x2EH2Qh$0}8BHhDBBrLAPO3ZuXx3HJDOHAP ztftfI9@9KcXVg2U?V8T2Z-eM@XEdEtehAS^P5-GKOlI34bzYrdN~Y<88Zwy7oSH7G zNlaBWT~g(S(5$(p%c?e0h^8wl+EAKJ)pS(_Gi}gxO`Jp9`|0; z4YiRel78Eso2t!lnx)WmOZ8?dq3O2DI)Y~PG~H1}nEGkDs}hXlvuL`fGB9n`bYFR+ zXm&=^0~MF)wWf#a6O-3INIg>aXfo4jdaUj-mC*D=y<=*n>8V;ahRgw)o~f-&^E5qI z9mdjZtELyKKhqUWFICKOG<&7#l}f=Bu|tr0t@bjd(ey^0VXCOgk1FCsnmyO_NhM_Zs_CK-h^cy06Q3;s}X!@!mO{Q5> zP2W^Prp}tat65WMHeS;YwTfwrrl0EIRGOXE^h=#*dZp>N@~6|x>J+5@sJKkYHT_jp zXV9#WCS^2cYO2XFYR#lsUrnaboN2Bm%P2I9X6rTCMg^u5njE9_Y?|HD#r%I5zI7CQzRqN0-A+tifm+H zI;km&QD`B}9%+hdRABP;M#JJBiNK>%!j%kUeq{iwM^tip6k{LUh?rKVIbXiHWpPEt_Axy#D z^y@z(?kbuU(3HwZ!_-7mYU3bNPfclz^Gwq;r8QcwrpK+-l+NhQbXrq-Bhwn1J=c`M zD8Ll8yMFy=d|=9?DU+f9u+;yIP&GAWHnuZ$(UiqF!ZbruR-^AaGB<0=W{hIGrYXBo zXg$q7Ysz6%U`p6Szy34KP@3h_l*@?9)I?Km;~3KbO?iyVOiMK7HO6e9$L-gY&zQyZ zP*Z-R(ngwDJ@xB9qdrqKO$CkUn`o9*Qz0Xmsj#NP##g2Wnu-|yW-^CqDr($iTB50# z@s8=FrsBrXEo9!-RKl3X^g~lgqwH3i#qOnF{~5KJ@@pz>MA}BP8k))&37L9oDr;n7(MLX!PAdv!LGk^`9|{DYd4`#>1U7E2yc8@rkLv zrm9BN-8Ac=shSbYG*eS`W56DoZO~N17{_#8Q%z&(UYb4DRLj`PWcAUn|BTc7XckXX zZQ~YG9!+(O?gwaAO;cTC7*h{T^^DsGX*N+)ed86=W=#!@VTWmUR#QV`8q<4Cjf@OO zXcnQbe*I?@V9KPaiE;TT&B|zMYCK|Ur>U9I|2WM?XlibZV_KuBg^}tc&5mhmY2;vf zsi~DQ>J-hqe){#FF^egKrZz^FGc+r$sjX3jshy^F#_Y3vJx%S6RZMF%bufzj$Jf); z(Wt`oQd1}6*?F3|{q^fV;~P^tO%zQ%~a^(`!w=j1t#q7BoP={xfPYWzp2fc*;~pQ(xm7QyWeFj7eeixS^W*8;h7$ zXc}O|xlXg)ng$wan67CWWGrNQttrIV$P{s)e*I^Zxj~OhtZ9f*n<=lRp+?4=G%K%Z zm{EYKrKaJ=%v&_;r)h+-ifOi{k%n`JW*aq)GGZbPRzC+uRilmmOo;}?R%474cflO2 ziVq4_6OFL@M6Cv;Q`3xj4~Rw&%AsZ(IUWzJ!zzBIq^d)45I%4GbL==1QB6ZS;_?amC;5F);ae}G(;H~PCQRWNHx(?p0 zE*qo15=|X^L|r#dd?VU6_?)_9oc~UAesGw2XoUSBdOi4odS?9kNfdd=E2Tf7@i$S% zAz#!7Bh4Qo{cqOBS7V%EXdJ9s3<)xR8IASN!hr@1iDek(FpFr;kYK|#gKeVyL(&@& zOy48AIYj@-Vd~${#K(OcQq+iL>fhc%iZHZ-5#Q9mYk`zx=s!jhb5;;huAxnh6lP=n zx0T>})rNL3(wZTWiMkK%ZDcZ6MIo9obf}Tt42eOsW#|MWk6Ax9(SJi{8wJfOafn_I zU1k(Bd&eb;F>HfT+RP9S=!nWVY`0Ot%!D)|ZhoXZM5^ep{d#sU0hl9HU8L>_i3T9m z2qv12^o(f-Ql8{AyNGm#=_``{R|D*fI~=YsjVT3Ef%G)Xk93}?K2os$;~&n_9ce4m z45a#5X|^8e9n(3aA~|UG4Cyjc#1U}y6uD`Z5@{z>86;o7^Cw)dG15GyAxQ0u&}=r6 z{^JlBpA5xC0M75BPR43|;RJ#VzG^7Hx ziPj>WXF7w_yB^KnAw{fD^b5&vL=3LXeg*jYG=O znr3T|PB3jpirb!MXOQ%VoZ~%vh4iZ<(I2EqorvO(hLZ(%CCY-dm8l9+l^!%}i}Z+T z0#c6NG+T*ug6R~}-hMQDfK;VFkv#^kH!OrGDN@|QM46CU4<)LI^oyx3(z+2e>x5Kf zB+&$rl>i6~$Wkl+}pQsAbk%L67k!l|z8iTazU!sLb1&$EyM;dpG z=n7KsaiT9s_GzMs6XEK!m@*(0IY+bNNSB$KBlW*Pv;Ig?FA^<4I(V6AGg6H!MCXxy zT_bvlG%1WI>Lj@Oyt_oHkh0t(Dus0L0Z}ug8V`v&BRzUdG#;t<6QVgt{&S*jNb{I( zAZ2((v+qa;ncT^6mMU*)mK^C3Qx>FzA8A$sX(LlpB=wDEy^y9c%|LqegJx@ydjBLk zg%tM>(L`;}WevikX1u z5Yj59CrD)y)6AO&*Sp0O6RCevnq@|cnvAFhQsWdv?T|h(jYBGtnr17I!kA7WrAbG# zXGnXQJ|jiUNV7=#bB!vPi=4qZJVXzX z_7))eg;b>=QIZ*O^?QYhvLkgbLR1yWE>6?}X%^E^q*0}4HXA8nX`)?7>&g;cLMl>@ z=qu9s3PeFO;p)vR5~W7^RGBD0(x@s#b&%3jC+dN;muW82qJL<%9w|p{qLWB*>l58X zTF3Mi=~qLVMVSR>nbe3VE7H9tM1_#LHzlfxbfh^^bEMiWhz207YDF{#sX%L@#Yp4Y z5^Y8bZbx($sdERSJ4kj%qVGsGIuixWhI2k+N{N)G8_jYeonfksl&~kw8Y69F>W9>L zAk8KtePY^#^k^{6P9XIjLi8Ld&2XY$NPC&$&4H6e97VGXNQ;=tBE1_!v-(KG#uD{G z$}oXw9MVCi)ksk%(`+x&GN$WD6{gYb9nw9fXmjB#S!U8K4bl;&vPkXc(5wlPnoBek zsmgq!xk!(g_90DMM6+v1X%-XxMC!eiDAqi@6U&J5BGq3(R2k_VQzxV%t7$e8=`z!5 zq!jR$`uh9zL8P5b_mLWJpxJMvPfW?@!_`Y{rdfWZFs24bX|~a>Wu%{tQKP7+N*s&R&B zCDJpd6G)H#quE2G-sg$@g>d!mmxzLq{L4hekZNBgs)6*1sWVc6>ogmNbe?GmQtw+d z+ldtMHc=ST#(P9>kxJYrin<8S^6DW`YNU`yL}ieMJteA(6!#fXPo&l_h$bWbV%m;W z;Wf=JA>CuThm_?V&E6s%Ve%KlSz>;qSt6uWOa+j>eWqD?q;X$}nj_u%M${Fl^LL^# zNC$rsEkUaBi|7c_vOh$(k@EZ{QcK`0qYMk5*YS}OnnZ<=+S^36k(5K!AE}B*Gz;kw z(|)8JK{UI8bb?7Oh3mzQM6*~(>zHyN{fa`f@<@}S617JPjzKgAX)DuABpW{dLVs;; zLz=~O7%5FWn%zO#%VaNuvqVftvtXn}Or?;rB%xVzq$5mSkYXmI*+isOO!JWPq@>wS zq%%x+kP@b$*$JoKCnpdA_6jGK3MC*`ZHX%BWw2J8! z(zq5hb63Olf?E=$L$ccvl|Y)s)EcRON16>qimE@L7QO;jA${sfbOdQsH=-9vX?ha5 zYv6i&nKB?n>_fBCNQ;=-BfZlfsR~yZi8QP~(K@8d`s2c2b^@vOAfh)&I|ma5*248F z3?a&dG*5qQEIh6(QkLOF9g#vt5{*HMIf`f_Qu8rHXOX@!-9Rcco@QT>ZZX;G;OhM+ z(JUcS)X7AJkakWbs*O}(8c~0wc{7M6A!V6K6p9owo9GBq%sE7lkebgU`hxV0Df)Ui zOO{16OM!HRsR+`lWi+daRA4z#cckFeL}QV*A`MpS*8i(JzpaPaV0CEyDWj5Ee;ZNQ z`U^%CGsRA#m+QlfYNmgfNQK@tYM5z`5XA_6V$?EwpCL*W`r4>%cD_KAKlGDP*YqzF zl@0xA)Hm&GL=8htv!R*dI#I{afZ5pWeV1rRXjHSQ`Rh5+jLDXlM2_ zqw0_00&~EIZsq{h)a*Pm%-L^`JGU3;cyh1qO-?X5Y>tcFCLbIiKJoMX0Uv-`C#=3KLn zFz1vUWR+x*;E5clCK4lX+mzY0nwOLD;tIgJILgyN@hcMTg1BAKOoX940 zt}~YiGt^uo%usVLo6xzzJSohL<^^GHG#|1Fotw-r!rWs15#|;%>KuB$K<8F75fbgb z%}j|zcWIlMn@#B4Zk7|~PP3XYcbd)Fgw9=N7h&!;`v`NlIhIZ6++!{f=00}Ns(yxBW89s zq4TI&N|?vZO2RyDHf9q#PnaEqdD845%#-FwHlg#BIY*dh%q7A+V{T;=I?tMign7<9 zDa>=`O*WzPKl6<+FPLA1dBODOh3|gRjDDSzBZo-^R4+tm~TzBAbj_CW+Wuq z{k<6riFSW)re+g5KbZN1`N=FM%ui+wHsPF~%_hS9Vzv?H7qcIm(D~JzAk6RP3}JpZ zSFs75Kg?~y{AunJ=1=oKHlg#E`9PR|%ooD^WBy_jI{%u1g>WZmcV$IGqTQ919O;OH zPQ%J2Ov@@HOv|dmCUn|X17SK=3t>7|FE*jmwZ;h3x26cwx0bO9odIi;FoUdJ!VI!b zvk9FMtUJPtWIYjPB7is7KQH~#fpSPyGOB-Akpqot!%=KZsikZbgKfJ&>6$3 zBg~jq6Jf@*y0Ho8jAe}wW*lpRFymN@*o4lw)_P&av$hE{o^_l}=!|dO5N1N_fiM$V zpV)-XM3$jH-unOle@|=$kZAYBRstm2J&Bb`m`SZ%!c1zFVG}x&Sv7^3+-e}qnc7+{%rw>}VWzSEWfMBnT33ac-nt{q^wv8zp)-T^TbLOw zX9?U1+C8Hc2Z?siWTiu*uZ}EMHeqJ5O0Wr?S*@zV%x2XQW;UxGn{dwT)<9wAv_=Rs zr!|XB=*(p;7iMm2y)biI2iSzpJk~{F=Cf`HGoST}P3X*TeHUf{%UBw|djTs36762l zN`*wb7q&79v#?c!P3SCQRTO4XtEMoETCLcGa~8Au3bTYYM3^P4X>3AgNo%n%OIfRh zS<2eOCUlmz&Iz-ubyb*Ut!HdPXF2P$Fw0xNg<0N;vJCD7?Owr3hD5tpveF^ZGo+GL zfKBMEY?T#e6|1T+t60t0gmYH4dJ40;HBgwmHlX+1h$7 z%r@3%VYacn72&(Lwc;bu?(MB)NVI!~0+vW>4#sFne0J*o4kr)^lO@w%!Y~w`Hvi-@T6& z8;N%BXC+3W-TPTt*o4mhRzYD7uu2MZfb|cXaL$2NTVaM+U4674?6$|=mbRzYFT zwJNg-o%5`w!dzgr73Kn~KbvsQh1O_cF0v*IbCI=_P3T-~Z5QTJYrim;TIbn>&SlnZ zVJ^2G3v;>kl}+eeVFj%T-+h%89f@{dWu-u(-B(*#g}KJcE6g=kc{ZVQt<_MN>#df; zTyOPe6V4fG4HxDHYrHTwSPR*N&W+Y)VQ#i|3v;t|hE3?)VqF*JR_nenw^|?BgwAc2 zyEc6H9adx{+I@!=j6}Qdv@!~Fmz7hPyR6b|Lg#L)t}ypnO@+DF>dq#dbDuR>nES2K z!rX7oWfM9NSfRo^WNjDbA?pO2(0SOpBFulS+rs?Uddnts9W<{N8`FyB~v*@Vuw)=6Q$vn~kpo%N7S=zMQ| z5#~qhk1#)4Q8&Pypxr-NiI8ab&sIt#dWL+qa==^Cd5aw@dg)o0xJK2QJKh{xU{_fuLU|(VrIy2f&gqhiX zBh1XU+7iBd7CRCW?Vi<+g+#k&wNtYRo!RVs!pvb86J`#(2AgosoOTmo=Ca!eGnd_u zP3X*RPY`BadxkLc+N;=v&V2SZVdl5@2{XU_ADhrwzSxKNBcw=MrXdyO1!8+f~?v&JuP5VV1O82(zT!i%mFZDSM1C%h*$d zS;k(*CUlmyHwm+xy-S$o?9*&QXLnJwcfN*o)YN&f4~RVb-y? z3A2uUoK5JgYu^xNefxnh>)W5$gw6)Gu|0hEhIRmnc5i4WK%(6n*_njd#LgwmCUzM% zp|h!7Q<%-{2EuG+cVZLH+1wr?%$D{TVYamAu?d~6?A5|-ZEq50Yx`d|p|g#BRhaGU zJHl*dzhe_R+uOf|*}-;pz@4DoJJ@lMX!nkGIwbn)=xk>bW@ozuo6y(=6lM>5gfM&9v)F{rp7wHK_OjOtvzL8Glpbp>u|PN|>|ki^7~`KVlO)XWQ?EImiAk%sF<1-Ql~>wG$)J?(^+bNVNNW zI}e-Cxxg+d%!PJEVJ@^Au?go~WOo(j61%T3m)PUjgwCb*Y+)|57YlQly@gHaTy7r| z=1TjVFjw05*o4ki_G@9Twm%DVwe9T*-+hf8ABlEfXD36V-PhSU*o4mYc2Qx5+GT|q zYS&{E&bh(vD9lZEPhoDdN3jW=o9*es++xoc<`#Pco6xz{J}k`b_9}%ziA)-%C+n3pd&MWqPVP3VL3-hY|lTGNnW=Gy1zWa4MHWKZA z-A;ogJ2DdO{?!gfqTRpQ8HM@X&MD0Ac4;=D^M_qmn7{0% z!u(}-XA{o(+a4^;KlW&0{;}t>37voKP+=O*c3~RM2{xhAbgl@~a&8OLa^A8DowlRD z;r#FG-F1SHXm{61h(x=4PFi95PF7+1PH{G&GvL$`W(239Fe5mf*@SaObOs1Bk~3VG zk(`-qLT6-WjWDA+n}r$GIl?A%MsqF*GrDtKn9-e=Y(i%Y=Z`RBIqqS&6SR9QCoU50 z9@|NYMBf$TI2nZ*$0^JvbjEe62{XP^SD5jg_H4pA6F7Z@na~+5%!JNVHlZ_-vqG3j zoKRsVaSpNxox#poVJ3C12s5ekluhVN=KK(53P=B8^1t0vI5ClE_moajB-%ZdlUA6i zocwG;XKJUCFw;774<>Oz%u&6FM_EON5!pStHC$&R#a5GqZD2 zm|2_)!p!14WD`2GI$wmD-T5QT>`v4pa3^T@98Mx6+C8U}5{aH6Ii1{WLT4_goG|k^ z)r6VHY0f5`Gq2M{nE9MO!p!H4WfMB{I}3za&{-kOg3eAhp|g;4RG5XGv%)Ow++`Cw zi#Q*IS)mI$+gvz1NgtmqsPW+msOFe^DX*@Vu@&KqG?b-oC*s^cFE z-@Td>3yF5G?j%B@-K#s9*@Vs-PBCHDa>@y_mQ$ZiIOji38)4RVx(KtjGn7r}tmDiO zW<6(tFzY!R*@Vve&OTu_aE=PIfpd*b=xpe`5N2cNgD@LA_VMuDn>f*sX!oX0JS5t^ zsgs^f=xpW`5@rjhlrUR3wb_Jowscwuvz609n5~>aY(i&iXNoY}I&*~C)>+3UbhdML z3A4R(NSN)NOKd`C2j__}J2`KJ*~w8S!gufNL_(t7yEw6sX!kBoYBr&>tCLTd-JN2> z?C#WH6VBPgX(G&?P8(tNbo#LgoxPk1!tCSB5N01|6`Ro6*V!h_e$GB&_H+JY6FU1l z4}>|;c_GY!&M!8hbC44_33q~a4{@R)(e5EmawPhhz+fkrFo!yYggMly!X|VMa~cS9 zxYI(I!<}Ai!Z}AcV}v=%nIg!W`qAW)nKcI(LLQ-gzR-@y<6k zp>u-coC@E4q7w;;cAw}ZL89F!IoX6c#mOhkDNY48p>wKJN0`%`Cc>QNbYm0FIo%l{ z%$d#vVa{|Gu?d~Cob|$-?Q9d~Z09(e&^gDsAzCY*DbGenpxoH4>&;ml(bI#)WY zg}KVvB+OOLzidM1YUipj*E)BExz>5dCUmZIehYKGh)egwE~Ga$)Xp)(dlobAV0g z-055t=5FVPFn2qz*o4kK&Uaz%b&Rv&yYF>kAkpsooK#4(`vE7DFb_CI*o4l5PDNoJ za%u|mkkg7yIOk!fuP~1|Lxg$6nZ_n`9(5KA^O&<*n8%zwY(nR8=bSK4I#-2x(s{-v zbe?iP3-h$|TbQSvDCgi#(C%lPWJt98IVT+wJwwhp1=xhn|D3YIJnvK$=6RdbxiGIdJJ^KItIjE5hB+678Rk4<6FRRu?}d58`7X>G zPK5u$cfaW*MxxzsJE@Rp_uEb$Hlg#5Q&O0Bor=P|>oj5$&Uw%2D$EB?UtvCQ#<2;V z51rY+^<|Ahdo6z~#IVQ}f&N*Q|b?&hVozI-t!hG(07UpxuJ0HIL3nxAj?f%M1 zhD5u+a&oWG^Sv{QP3ZjKOc&-yXTC5$Ivd!8 z&QH!^VSaH=3G<6{i%sbK>O2?bH|M=Dzd6>0@ZG;Vv5{!^pH5;V+Wn`Kg-z)EOX%e>?xM3FrLdv=yduy9!ge!`OsQ!<{Tl)156$(_PCZbXx9yVLI+HVLEOYo6zaH zkA>;EuZ8Kkf7ygi-;I6|?gZ@~;hdS=;lj-9ju&QTcOje5nZ?~K z%xvy%VPn-Rr{4;ocW!4)-IQ(3#V9uY~WO+l`DwyXSU;k!bfkZbo6|b#n?c zuUnc;=*;KV6=ngqsW1z;-Pwe57IX&-vyeMln1$TAY(i&YH&mEK-R;6G>YiW|I*Yki zgjw9ZEzIKXTQ;Gyglk?6-@TL@ghacSauXua?xo$d!Yt!v6=oT?IGfN})~zMX@@_+6 zmUla|3FoZf4iIKVcepSsx-;2?&PwhYVODWB3$u!QgiYwI>Ru3LHTSwOtGO@PgwE>j zA7R#X-D_|sX!n|KTqN4PmYWiZzAOIYW)$W>Zecc|v$k7Jn04K{!mR7IXA{m@&+Q}3 z`tD$1)_13}37rkx6~b)fh6=Nhdyq}&Z0w#DW)t^{Fq^nf*@Vuf?hj!$cg?Wy-J82H zk!bf8Zc-%Ly``I0m@VD>Y(i%%w~{d1xV41Y#%;|eoU^UlLzwN{0m5wOPGl20+q+AI z+0k7i%#Q9}HleeVds3L4-3!9(>^@`@I=i@EgxSsgBg}4Y)a!63X!q`JA|%?qhno_K zo*_Nl+-yQ;Pq&;fd%M+y+1qW-CY-a6+eMgt-9EzX>yBj;I{Uc`ggL-nA4+(REds3Ja+?#Ad z=S267FekfTggM#uZ-(za#f^nTyH9l!A<^zr-OOx4=QOvNFlV^sggL{l&nBF6rrSoC zv)nGioaGK>6FO(RGlV(UT_DW4?nXADbDq0TnDgDE!kq73V-q?TxG#jc$o(M9MXr4- zeD}p}G$h)6i5m}zc3a+WownO_&$me8RlwR$vo4FS&Ju zdD(3u%*$>!HsPFC+!4aO=1vgiHFpu4&>7~g7v^<$n=r4t$JvC=8}1EZ-f|xZ^OpOG zP3XMs8u!9?zvBjwX!kpA0wmh~uA51i_uX8=yziD_6FMKbHHG=mZ6M5tZYMV3oR8cg z!hGV65#|$j9-Gkl)LkviXYM9pK6C$N6FQ%}SB3e~y(7$*?mIT2^OgHsn6F*uKHLe~ z{k0nhiFSYErbD8yj(2W0VZL)qunC>--KxU;;MNi52e%!YaL$kJKw*A%M+oz?JBv-| z{NgSb=2v&UFu%G7*o4k+?nPn#aBm3nhx>|6==|w^7v?Y5co4q(FE<7f?f%D$IcQj7{ha@;(bQg7;gP5xgi5;ZD%*5xrzcw0mSP9TGi5B6|hcgw7~lSz$)? zstPlz*Nja#XEd*;Fk^TFg&D(}#3ppc^yUjQmbYA(vAi8@LT7C6lrZCZ7lj$ud&DMm z#`E3_Grsp-nDM;`kHU9P;3Y<)-4l7KkZAWrULH1~GqG1vm`S{f!c5{dViV38>~$4p zGOw>NlX>IVgwEvNY+--s z-#widABlF);3Y$%-7|PO*o4lEUQuCY^2!P`lUI*TIA>C zGrKomnAyDzY(i%a@31g)d8dS#%e%!UbmsP+3p0=RUYL12>q+?TdA-<3w0nLpF%s>b z-^;=#bQbUm3bUYBQkVt3f7pa`7V_E(vxwJKm_@u{Y(i&IZ?Z6pd9#IC%v;MQbQbsa z3$vtmOqeCTFgBsHl=oPerM=g}EbaYe6FSRy(VxPdpxw)P@sViva$W``dTm(V%PY(Z zUQuCI@T#*3ofW;7!mR9d6lP^FgiSbS6>q#St9sLgS=C#~CUjQwb_=tHcUYJ;yvuAt zXHD@8&zI-7Xgh1ty8FU)4%c{ZW5xp!NbExgCVY~g)n z6FOUZLC?c?Z|y}#qTO42DUfLQHeOa?w)OG~v#nR2P3UarH56tCuca_Mc)i(#b9VHG z3$v3qUYMP{g=|7+XK%AGyL!8Y+0{G4CUkc5t_!ofcVC#@y^m}{XAjSP5x#pbFESGC z-pdO{qTPFY8HL%$%PGu0UTHR=v#(cInEkz`!tC#LXA{mjz#A;gf!=6g4)o@-37vzy zP+<=CwhMExcY;mm9O7LO=1}jpFo$|?*@Vtvp8jjP|ND9$;RPYl?jyW}NVNM%FRd^~ zd0B-y$}7$$bdL6F33II1P?%%A&TPUt$9V&UIo=yC%<$gyv@R#?bU+zHx!x)&FTcAw#;M56DCGrf$$oaq&26FO&k z)r2|6t1HYoUVAp-oO8WC!kp&~7Un!}Dx1(b-&-Nfg(h75hm!D1OT4d4A=FCG%@ ze#A?PM7tmHva<=DN4-+QJnmHz=5envn{dt(UI$^G^m+*Mq&JdH=se}k5#||hi7?N2 zTiJxpv)&%9@? zTTgum-~F8z35j-p@5Mr*-QRnu*@VsyUOr)d@`?%blUIXHIOk`ti7>x-ZG`#7>>^ ze)T2@^Sd`gnBTosY(nP`Z<{cGdi#X=)BBH2==|k95au86g)skkzu1J%zh2-Y+zHxU z`O%PQcjYHXqMr#EelB5Jej#C6eib&M)Akz()A3sf)A4(;3FmbEF~aoyDZ=#qWo$xc zz~3ayAb*!IgZ$HMLT3d3jxZznPlOrC|HdYCM)sXg;k!riBO%f5QT!xGw0l%Pn=qsM z`GgtWufQgB#_;P1Gp64}m@)lsY{EHX`6GlG$Dbg~IQ}9wp);<(UYPOxZNiM_A7>Lf zW?bEfcz2s4#GMwqGmd2B*wYJasb)A*Z&na2N@P3TPPUlnG0|Bf)z`|sF< z&J6xIA0f<~{wy}3Gnc8!mR6m7iL{Q!uRmq>-mY1X!izwDkR#yfuDy>=xpeh z6lNp8qA(lzjo5^9Huk#;v#H-#m`(k0Y(i%yVxA&7F(eCa29Be{o2fwH=JNjjX+0n1ZCY-aA z-%*%d{GP(>;*VkzI=lMQh1t!YFU)TK1~#FyyMI`iJ^fR{?CIZP6FPhO&xP6Be=p45 zzV$PF_db4XB-*{7pBRaD@8@S>6FU3*1%)}lFDc9c{y%KOIS2Y}g&E>^6=sM(j7{hq z>`xZv5P!BXhxlvRgwCPw?7QkWC{j>4Sihp-9foaB!e=45}mFem#f z*@Vt1{%&DT^A8Jintz#1=$!7~7v>EAxiDw=KiP!NnSSKo;k(cFVwgnU6@P#{lZ-8 zpJx*~m-)Aax!iv&%;o-9HlcHcAM_`D_f>v$B-(wIp8|%+3B8HlcHie_fbc{rke) z>VIStI=A`m-|*dc_>qxl_Z@yP679az&nV1YeokTT@=LP`oxA2!)!o29eWD`0s`G16Y#di(36SVskKQ0pOe$`Kj zMBf#!`5A?I%`eO*bcXrWgn7fSE6f{ydp6;mH~l`syyXuT<}H6Jo6vdNUm?u9eyA|- z`UlyB&U^k@Vcz$z2=l)GluhV-;QtWjBVWH|!vA)Ei&k!bfPep+EZ@$<6@ zolpHr!hG)666SNiHJfnG7k&?6zVrtO^QAwLP3U~(FA?S&e~mET_@22;^=aLs_%qE=E59s$; z``?`p1bPTF5E#iObOr_H2s2_}i7+GTH!2K2XQaR(VMf-!#2bF~$bp+|LT8k~8(~HZ zd=X}}fbWENMi0b7qTOQz5+TvFn3LF(?qQEsap)+ydg)oByAA}hku-)+8lLn$8 z(eB9t@sMcuWP$W-LTBpBMTvfaD-xv zm<`C$K6{^Y)C2;p?v~wHt(Lo6GUCQoj=GPe#y!ZVyEPaLmLV!F7HkSlXfaL)!12&#WoCI>eZ&lUawf8wEtA!R@m?;TjBYZl6meAcYBl*;l&>1L^x+DSp&xB`6$h3Vne6EDd z%5XTWd6b940ZYj|FAFd9C_CX^kFpb9YAIRI`S8^qH7LW4s@Q0R?dA>4y)T4Y=SUDqW`>Vor5;ASSB7ByFOxs@* zp6gM*CVYvdWS*}Lhds(G!`&X`mEl24$$GvnyxgOFefT<$^7Y~GSxV;lhVWXC@{Qqj z9_1UuPg_dn`Rn07dX!g%|Ljp-72abhndfhYk9d^775>zt{H<`!YD&Vi{Y~N1BxKtD z=J2@^G9%>8;R`J#^ZcD~$fJBqc%eu6mT`GS6$m2RzDmgpYcZ?+8~tE^GTAhEI`@ zY5TjvXGzGk{axW!OUXR{C>-=C-yIHnlYA{NwO)kMfVhH(5&N`QGpv zkMe!twI1dB!oReX%=7)>-+PoF4FA!i{9t&yrDUFe68^}eye@piqr5I$u_kN#pN3DC zkZJp$hfkA`Y5SjtiKS$oe-ZY1lphL*JjxG+|HD$Uo*xcpJ<5-SM?A`pguh`ande8t zw|SI*8NSP-{LApemXdk?Rrm#u@?+sYc$6OtZ?lxl^W))3kMa}Y10Llk!ex)o+WyJ# zNfI(`|8)2i37NKkI^1F@ndfK17kQMQ4F^5S&xRLSO4jpl!dG~dp9?!4<>$iJTT15n z`S5Cw@(bZL9_1IpKeLp~^KZky@hHC-{=G-}#qcIe$vpo)yxXJvQurf}@=M`=T1w{m zDGAf|e+Zu}A=CDM2%j$@qZ|I;VXsH|)v(W_{AxI6DVgWj!UG=V*TY$l^6TMi zEhX!DL-^Ys<&ELnJjxrx4_Zp*`Hk>X9_2T~FL;#S48Lh9ndd)+Cp^l34o`ZN{~Z3i zrDUGp3Lp1`tnD|4Pm+*n`_18VBxKrtOIY_PZw+7MQQjJkSW4!3Te#n&{7(1^kMcX= zt1Kn!`Q7j;kMj2LYLD{v@V%Cjd7cPA=26}m{*6a@XLy69WS)10-}Wf)4)69T?+*XP zQZmo)h1GRg+wTdVAR*KCd%|Z($h7@r7UdE?+<_5qr5+Sx20sBKMp_YQ9c-c%Agi9SBuv}aSARi5rtMFvK2t(wRXnr0*`qwO`eIATJb$4&>QO$q`f`u* z$<=8~$$DUiEh@CG&iK^^ZNubE|*qQJ!1BED9%WqpnMWB{AO8!KglT(HJxfBS?e*$2C1gfOz1p;t%(GE_sYkiB zI_gnwtxj4>*0Z;InMe78>T!?q1=ZiOl+5#&tAFHCzNq>EkMc#;PgqLk`76~gdXz7& ze$7y>eC@ZsbJ~lm-?X9M`qrHY-DX2y{#Iq#i>q&mq~BNGEun#zn$U`yn0EA)W=uTi zrWFXi*@o&jJ#N`cs#iGx~aA_r6S_zj{!ljjPX(e1*371yF zrIm1LC0tqwmsY~1m2hb#Tv`d2R>Gx~aA_r6S_zj{!ljjPX(e1*371yFrIm1LCH#MX zCA>lGx^KAYn#wP~{!^7}#k~&hvzC1l?&f8mmzb}>tu4Dz{9*98TRv3@gH7T_w=|cX zsEpt8;$>lQ@ht=5zX1NrCG|INxd{G0LVOr}!lq6N%~5e*gZMjc`8~Klx#bTf=6{KM zleke2a~|$F=d|Hl_x9Wj|Gu6uc-5^3diqX#@2!hHS64oJ>nq`Y{npnb{?=RH3^%&v zZEzoV+eOQwVB>A?>4}18i5rXiLUFf?J9^vuKzaEs*Y)%UOzjPRRoqL(yRIBRd%NU+d(ZOgg7Xk_T`(^0 z#kc=k&vn5o;C@8nKN4Jy_>Tm?1^Uki@3{S(<)07UfBTEz{+0MYC+=5oe-Bb`x_#Sn zj_vJ8y$k-&2lw9|E&odJQ}BKzSaE{x6U5yl?sLUW#C?glJK)|ZrQ9f`+$g2o7_gKZ zgG)}(Wu7++&CNn{v(Vfe975{N!GgG?IUzJBgyw|MoREA@1g!0e;I${{lJaEmCUBh$ z-YxFO#l1n?d&OOT2UDLS?pAS!#NB&G&+-S5+jn~&2oBt_8UBSkE?E9(aK#<(>3KAG zBVry6t`_&5;(k!vkBa-*J0hh1z4-r^xVPW23o-ZHu?Oyt@3Q>jdgyCCkXkQz#SDDh$C4R>xv%oQj%th^aCVdd@O zzW2^oEni#t3#6{CeC*EGE#FZ29C$ZWz9#OicYda4L*<@3e*-Z;x$}MS_uMrJ|GK+A z4*%2OZmQJoik5GxyinXBarcNjA?^&^b1KK~dOzGZ-u36pqss5y_1&JR@?OM8l@E*i z32{FUx3}^S;xe_j@=dsXm2cm*8SY7N^;Lc%{?qQJ|M7P-{;S`nd)D3Ozz6g z9Tu9s;=dH`Q03Kkzo%!Ya@F0Rh5v2hUVHZ!mUGSj!(~I2{|Wz4<>8;AkzmL^bN^DhFVynUuTT-8?%AxOXUOrVhBJS&u&t;Vt zVwJwE@+RbVS>+mWKOpXh#r?Fne~||}_Wv6}p)~#?^^UF?~IN7s&E%x7S zc+sA%xKdiQHn{BM1)zWLJ=gVIS$W+_*8lh6M#1||?gHh9#r=%9UljN2;@*04_sU+$ zr#E0~Z*aG`4~x6(UdB8@+^61q82;zpdju}I`h=@5NDx0H{-NL{_kIHY3&h=X@AdF6 z6ZZ+?GKV3_VMubgP`EA(TKE2R<%PkFxUYu0SK{{uzjN>AWqVQo>k;!#*%9f;FDXCWmH=~p*gFD3ifw&LDy-HHA z3Vw>5uL`O^xFozP*dXq6#BGYZ9q!dad3CV+2iLE>T55ZBa0&d^Nc=UywD@27gP$Vi z{}T6iB<5Y>|5NdQQrs{8U^i%P_`wz7HNkC?daw9@BL1Eq{&eNFk|%cLA6^k&8$4Ou z=ZM=BciRuI2hC1#_lkQ^+(qHNQfS`%!?%O?4UdUZC-Y5@RA>~4i|`fvAFZ%zFyq7i~9j_KQ3Hf0@rm?|LcMq5Px0pZE?Sc zoUaQWg8LCk{fMM~Bv^Le72!vMC*F7c%HyYToWBXFwPkM#uD|b=@J+$r-gifcnRVX} z!p{rW=Y#w1y9EA6@B25nEAOZOiQ+!>{#`3iRGxo-Q2l(6+`k;|OT@k4{m3_gW&Zw#3K%|dyz zP~I$*Hw)#>!QX-A=HLc#NqIsjPYC4+p*$g!CnV1kfwUsHjct*fPYV6X;2z{~GWd6K z*Zr9O=Zm{t+?KePi~D=xzF*wG{_*Bz4@eFVAm{5>J`jB2$5(_81ULNnWz|O|{?Xv( zAMaZEXmAJO9}Rva?!St=>;c9+PTUO-ydD0hiT{_xec=O_B8Pzoj>6sX!0X|T3(c>I zJ1y=pabGX)Tf}{*xPKztKtVdY*>hLwlJ{m%!!R$VLfYb)V{SA=UTPk8W->IR9~Q2E6N-yUwLoFi`Y!6Pd- zR0baW7o?6pxEuaod+<&0&pmh;{#V1@BwU*+ZwCFQ${&dPesMo4?)Bn+1@1XQc~0e< z5AIxbPUVgV_pFK}CaV1S!RuE>mHz}yR9W>9-6x8B7TjK;>8(6V{G{ovY=OT|;`=JS z4_yKO;6vB1?5m85{}S;}i+?xPioVM6hc1EpMseRN?z_ajPH6sG{9l4QBzX>1Zh2_e z%Av~L4_&)zsPcfgKYi%W;6LMGx@SIoNqC`9URZg?!*{K^uo8(o`0(2izgPTo;(vqq zuYtQ)=z$-^|EY(uGFQIz@D<_S%0G&Gi@0}*d;i1Bt9vUyLk@c@;UieRD`$%PbaBsp z1bac{h2kF;celh`Ebbw3FBA9jNA6nHl5$%Wme{KN`Xigq0E$2 zcBtc(`yatRQd$0!H=S|SY1iNPyJxJGd9*>?tAzfl%DSJtF*isneF*d&*yt?=()4!XFV&IKXLiSHioO+lSG;P))hj-* z;*%>*tay0E87t3T`9D^^YUQ;n@yk2mnlK433@5_F;p@V8g?}1;JbWaqR?nMyUlc-7HWZ&>x#RUch-a@D`Adchfo&Up11?>S@rvI<() zf76qe1;I;i+6ec;o1O~yVsT#q7jGJzu?#O8{2^YsJ}r3X87ttv>x>ZYADyu(7+*HE z>{ZKNzwGK|?_Ks+%f7wr2g^?Dd0fwvdm242>3M0-U#`L^Ta3ehFC3nmT%2zIO3=Tje|BQW)c$i{ zHZwie?o73&r!H@I=Fgp+o({aI*22`>>_wfag?49T*Wk{Hx!Hxz+;lKJHPM-ypF6NX z_H!M-5TAQqd$!$aEwm^5=I7fp`=^hW@*8cpCiD4uCAK?J(AVj-j*lD|+5d|6#DdGc z-O=JzhML9^YYB;#P}dR~T0&Dx*s3M;Y6;O6HAQWEq&7ZMTOX;-kJR=@ssJKY0+A|$ zNR>fNl|fCFK~0rGO_f1Sl|fCFK~0rGO_f1Sl|fCFL9EIkR%H;YGKf_f#HtKpRR*yt zgIJY8tjZu(Wss;cNK_dlstgiU28k+zM3q6J${88lQGG*lThR2ei>88lQGG*lThR2ei?88lTH zG*uZiRT(r@88lTHG*uZiRT(r@88lTHY*l5jRh7Y3RR&vC8EjQ$uvL}8R#gUDRT*qm zWw2G1L9Z% z(H2z@(H2z_(H2z{(H2z}(H2!0(H31Ar-F>SG)@5;Pk|aw0UJ+&8&3foPk|gy0UdSh z80p|K($Qn2!^cR+kC6@_BOO6TI)sdL3>oPlGSX3Gq{GNa$B~f^BqJS3Mmm&?bSxR^ zU^3FtWTeB%NXL_r4k#lXQARqXjC4#H>7X*wQDvmV%1FnRkq#^)9a%;?w2X9Y8R_6M z($Qt4!^=p=myr%IBOPHzI>d~0j2Y=5GtyCJq{GZe$C;51G$S2pMmp4tbgUWaU^CLu zW~9T-NXMIz4mcwnaYj1ijC9Ny>7X;xQD>yX&Pd0dkq$f~9eGAN^o(@u8R_6N($Qz6 z!_P>^pOFqgBOQT8Is}b$3>xVmG}2LMq{Gli$Dxr9L?a!EMmiLYbSzrav1m=lqBR|h z)^sdd)3Inx$D%bIi`H~3TGO#;O~;}&9gEf?6^qt%ELzjCXidkWH64rAbSzrav1m=l zqBR|h)^sdd)3Inx$D%bIi`H~3TGO#;O~;}&9gEg_bu1d|STxqLXslz=SjVEVjzwb~i^e(@jdd&<>sU0_v1qJg(OAc#v5rM! z9gD^~7L9c*8tYgz*0E@;W6@a0qOp!eV;zgeIu?y}EE?-rG}f_btYgtw$D*;0MPnU{ z#yS>_bu1d|STxqLXslz=SjVEVjzwb~i^e(@jdd&<>sU0_v1qJg(OAc#v5rM!9gD^~ z7L9c*8tYgz*0E@;W6@a0qOp!eV;zgeIu?y}EE?-rG}f_btYgtw$D*;0MPnU{#yS>_ zbu1d|STxqLXslz=SjVEVjzwb~i^e(@jdd&<>sU0_v1qJg(OAc#v5rM!9gD^~7L9c* z8tYgz*0E@;W6@a0qOp!eV;zgeIu?y}EE?-rG}f_btYgtw$D*;0MPnU{#yS>_bu1d| zSTxqLXrg1$M8~3ujztq4izYf2O>``p=vXw-v1p=W(L~3hiH=1R9g8M97EN?4n&?``p=vXw-v1p=W(L~3hiH=1R9g8M97EN?4n&?``p=vXw-v1p=W(L~3hiH=1R9g8M97EN?4n&?u(Hgzo8)Ujw& z$D&Ogi#ByE+SIXVQ^%rB9g8+~EZWquXj8|cO&yCibu8M{v1n7rqD>u(Hgzo8)Ujw& z$D&Ogi#ByE+SIXVQ^%rB9g8+~EZWquXj8|cO&yCibu8M{v1n7rqD>u(Hgzo8)Ujw& z$D&Ogi#ByE+SIXVQ^%rB9g8+~EZWquXj8|cO&yCibu8M{v1n7rqD>u(Hgzo8)Ujw& z$D&Ogi#ByE+SIXVQ^%rB9g8+~EZWquXj8|cO&yCibu8M{v1n7rqD>u(Hgzo8)Ujw& z$D&Ogi#ByE+SIXVQ^%rB9g8+~EZWquXj8|cO&yCibu8M{v1n7rqD^4Y+Ot@X1Qgn}5C1=k(sbEJd3qEd6LaPnj!qXy)*Ad!{|RAlU@+hGtUVcV2s8 zv^~?Bnw^?GI6gJgwh4_=!qDvb@=WHurD%e}Jgm8UzTLT?ecZ-xEyfoad-qA%eG>~) zN2D$(Z+%Obqyl?AV$J%Fw5Fz8`={Iei}MR}GlNIaE?cpBZQl^2YHCxD_YKd@jvQ{! z_8)4^&bFs*bW(^e7E)(=|Mc8^JI~iB#upizBM{m>UsE#ui$gg|QYo869a#ZPZE$MOG2d*uvc50;kBwk1sNcfY1?z+KPO< z=pvhl$4eixH5K{z@kK@v5C{f3$43`u4OdfSlSUR;nj#jY4$mF2^db)vQzVW#ss=h! zN7~z3^HUQ;vj^rZQ&LVTGS~NU`k@CFrsfx>ChS0LHVV;2wq_w6CAYVC+LtZ1XD94z zYHsxgbF){5KIculZ|1P6-_|X;$U+%gqkUtTEd`cZF0#lHOSSqJI~`1_!I^gF;PAX1 zQCpL4X~hhTIBW)evvV`8>El@zMk=M$VkTT(7IuxdCk~C_Az&-gtz2BZ*dkN!z8!O| zN#Qcm>D`jW6o`9eAsKFUE^T+R?(VIzgeK_w zWUiw!2e*&O@;BO^nCnd1S~f}vMb@UF;5f^1ZY{7$sY>YiDQbV(c7Z+S{vSoYmCC28yvDryOaM*9+)T&b;gKxK@ZSF~%9e&i1jCFUd!j*sS1Ko?sv=wAczQjW02#tJKWg5oxdEOqVH_ zP-3;B!V&}4fho58CbGn0#nL}__&7VoRx+_-anU8V zY&>QA1>V9lMPVc{w!~ybLI~=YWd-7*OKfiB5Q2JqK*(muxcDNYfyYoR#-}DOwG9Iz zM(u1|i9se8R|Tv<&`b{OT(mnHp2H(wKB>fB-`9VrJ#p#zKt6LFi(2p`UM{x8WRQ>L z$wLf0j3;|iA+eN&+1DIZr!&_{AqHN_%Vl8`i&+3Sb33(JK&)N{wQ^F4-QXn4UW7S# zJkODQ#yOA0E?VZ@b7M3(z!{ zI+tn(R#R4P7g=I)+dY2E0fTBk6jDJxcuG&kqx{H&Nhq<__w8DgMc1)3Tttaf8t+XJ zKxVXq5hc=IX0mN+w$<_HJrHy*y2u6$jSS0dGOM!a5}RFRAU1~qcC?Q;4HPfvnVDQn zE@hLgI$g8LmY-a5DI2>E?Uzm&K+1S9JgJn{iG7R6(wlSpPHO(&z3StJT(b#?&V9{)mk{@O3TD0c`&I| zniUmLS+1E@N-ny@mfyjsN}59P_@1ec-NTqtV8$bSj$|4NOrd#rhp%gDDHFG^b=sKP z=^ly)`3!r%i!U)+ff<5qF5yu=pR>!H!rOd?0$syo>T0glR$g98sa&Jb9vkUQ9h{m? zHy*st#~Ig`#TOZYxrLxTziVz@G#XoIB$Kl5Se8&?l~rjc!1IB*$Z^SnWaCNwe!DDGoTNx;k^zP%B9Bm)40|>CzMifbbX9s36I;ZRciO2L@M2R$J3btRXtl|Yd z7f~XuGi7itEx%#ICBh~Xc=G3Jy46LLNbT%x&vP!tmL3QdeZ|H}Y>~;}Q}(Ud`5l)G z*DSikCbJfYjV~QJ&#}m)HBlvUIX1|X%b|fn4$WAOGI#flx!j=?yQos`(r{!o+COZ` zfjH4>6ICP!&NNwhVn!_l%7c8 z5j-}?i!YVe%T{>=ww{2I`S>CukYtwgz}#YbNRG$wN+~5~IWe)N=9%TxB$rZR77?Wf z4X(l>p)|I{Bx8g5LO;TfmAQ!ym}%Q-<4cSb&@_H8%<|gefHrf{MK*&r4M|&0YtoY; zypKl#71Bx>P(-fWzGG8v9|7RZ$Cnr>9$_q=ZQ`-Ka#D$%f-10Y@67p75zps&I1Ml6 zu{q{&+S@;@pa3hor51}d$GD|Twl7XkXSfe<>G=is$`td8lmjhSu1vIIVyW2rKJMjX z?N(>v(2l7CZdmj-3h^bzrbm!rwBD`x=n`A6m(KE1R=lTIPAahDVLd|w)W5woGlk#4 z6IBea>J{QkjIj{#SlzKCX-tXO2xa#yL98P;0x@wVhUUIq*t0pNDM!b$H5XfAf*L1G zayI1@2|T2ik1nzSGa9y?D65^Z)$-9LHYyV36+RsQQh8dPvXvGNz%zMRLl(UF5~J)o zBp8K?<8cBaT27ZxWF=BGd5^XZPfhx~vKyOBZAyt*_MNfAT?&?cCzn!UHv3L%7B`WY zw%8JI1!KoLKqYDgDfnrn40v8Pk6D6a^XayXuAw290guayX{8LPn@(Js=ai$>G_uG7 z9J+h93sWs0U1F1^)hKi*&fHa{l?6b>nqEpRWg-GAk=YjG#1$edrIs>D)vzx0NR=@! zt(1X`HLmg=k*xzzF6vN7D`sG@?#O`y=$*m|92740Y=^kaQMTV&E}0PtI|2lFn@_S0L$f zS}_Bj%c8_C+*s7|2_;sHEKqD~OfK+<~j}-z!1XESCUHXMnH}|(>w9_Uyhq8C1!Jba#D%ijCY9I=!t=Wy09_Uemvz_vj|$@R*9AN?Sja&}N2v})5&A;_cs*B%?qdMx zom1?hR)Xqc|qy;YzrZGigV0!HQ=UphYy)ueOHta$5=**}=QE9N)WZ z&>>;~Vn1%zNdE_t_d?DCJ_MK3Ou(6Iek;fNp5#_K}*$jMFPW(gvc8q6S24C`_aT#=UgtC`>m| zeJ`WbP(M?*T613(Gd9@2dvs`gFC;j)!=?kT=3>!gv~*2EyrqvBENkgwh7xD-YX-|$ z{FU|!{L9SP^@+F69vm5 z5I6fop~ThY8wJbRT4rkt#ds67MTR@^8rU8<3Eio)Fj#>2Z3p_Y$Op>Yn=C{ktH4(4C&Ve zt{@o+wElCqf zym?E^sg7kWeM?ZPZ~kKf$Cg@O&f=i8%;T&s?big3%Nbp|=wdB_TAfWSEu|b=Hf|)g z#AW5;J{)jtRw`+9iO-D__u+tLEPYT=YG3Y)0>>p=ko}^d%wg_ha-S49MspdHPb${6 zp8ux6vF5)iD3{vxqXNh5VUDP7Hk-n?1D4WVM9E&$?Gph4WZ2p3SKbr8jV2;e9^V{2^?QA*o%uN{eV3`7{`s_`Bm{is4fQR5 z7Zd(cySmx%JN7O%{AGSC7arK=jrd(IzGS-D@H@I}i4-MrmN~4Q1 z>do&RwADAP-K_YFrD|sUE(Z^q)&NbV>rpNyE8FUY)5e@mvCCf76+2vbagIE3dV!365ea9-($v4<9m5TE(RLWZCJ2qKQTwJL% z-(=r$_$K@1GGswXt@9m^tSVV-sT>1O&2C1ecyZoxb}`y7mFZjUJ2tbph}C|X-fSku zMBg!(>kAuKtY6J+DIR{tU6JE7s(c}>l!M4c%=8_f$i&2ys6`%Pr*Ek}%l%S&N~Zgc z2YXD;q`%B5w)>7;Z1>AF)_C7hS>ydOomlTXDzV-#)1>D6mM$~jFVSZ9`;IoX-!Idq z2KMZ!nl&J~7BTY^C%d~bzTWfvGP_W@IaTSgD9h;2a%!t3tCo>s$ zZLs2ZJTj4ORB=232x1q_(~Bam(TkN55@E;h@)zSI8&%3*T8~8B4q1BNkiS%a-;&?a z3m~#t6!SNRNl3KD_m0Q4*+rN5T)Q2CXoUDVdn*nXUE-73YHi?ov+fF%IqS!lIE&W& zma}BdUy?}|bAHDw!@-tnE=tSXaukuLF^#1SQu=*?#w~J6ReM*ih$)LLwzVmvgk@UG zea9z5#g8v>7EJmrW6`9))XJ_l{f=3rWGv@Xd;f9{l#_4N@3<+YTzs+4fS4t-e8)^d z6)g74B~w}jqSUP4W#nmBnpM9g1=36pBx;XgyYEF&p=E&RWJD$9qewnLasBhVT7L6gLwcjuC6)p80U%^tp%$J$!JC@8;zf4US zU9i=6Yy{H9q(X1UIMwW8tnYI0W(0ok-WcKAG-s1vs!`r3-%(?O$&B*LJOqXFc*9Lr z&D1KtOlQpU9hou9FH_0V=-J;pdRZF%_@Xpm&4A_FH_W%JWyAbZsa-7d9kcANIm`Sq zw`?If1ANCVTSz{oSnt?uA$j|I$8R>0LRu+@ZpQg8hi=CC(~43|x*6Ns9J(6Y zms+M++q*oxO$0x6FD)w?<~vef2!NnyS;4s75q7hjFV{=vl#+wYt72MFHaM?D9kAFG zZRc%0{3A=12y9jPw}#XjDV`lA8olbOZ4BS1@2%lMLva6VZ!b+?>d&EQKp zl6U-GflZpE->Y--peKBZMbOx zZHwz-_Fm%dV)yR2^9J18VEO)fej_EvpDAhGEZ@uAWz%<8 zc-i#5%$=8;7&sgDuD0(*{_e)_E`z-6x+`o64n29t;aYF3n_UhC@rhY zn!lI%3kKZM$%37_+P|0ii`LuH%O(Q=+r061w-M0Q0^W+Cn+1HS2Hi~H9e)=S_%eS% zg8ne*Y6D-+p&&!s*;WW1@=btz^Aa(gYAF5N`=n&jZktpxX)o2Li%q-ZE!(u0xqYK{ z$LAZhmpSrQ?T#mJ)n4Yx%-Su7XVzY#_UzgnwHyaNP4cp5+>1v(p zy`p7%nXh1t&gqO7N{Ytk5}mgB zESO0PMZqvy;(+E-YiNncSwKrnX86n?rld7jmRX2zR-E;+m^}+g$)Z_eohh>fpc|z2 z%Mt;kB!tqK8 z>$F?b^ZX*5^jOT~2G>0Ch6unyxgE3zX21 zMAP>^^&A>v%_2TUlD{xPEPjN1A3lqT=*3qV?oMyV+)>2fZlu%cpKjsJSp<+gh6jHJ zXD9IyIwJUBSn2GQ@z|eEbruM*pwJnLjnk#4;S=7z!(KG} zJ+0|QX&&B7WSPa!blJcfmdgBz5hA%`937sTo}QY=OUkp8(rZ{spiJd%!O0IvVtCNN zj-h>vo!OCHgFC^s(7_jzs2iVlGT(uqb{HAkMlWDA%{N+;Q+SGtBSJK10(im~T=XFh z?_7Gfo`}IOwcDXj4vstj5qZO7FU!4KTFG9XJ8?Ifh>3A>djO+rW@>(suR&1`N&c-0 z$q(mH9Q-A_5mW|7R3jZcL_fy@oqP5hY=G-2EC2~KFUr2);rCt~Pi9wRVIyccJOkU4*sCg7t_l!N_C?rkV| z+>rR+#-Ipf!@ElJYE<9+#MBhB7j$(ctLLJ~06|a9F0@rl;SmalG#pb9moxqQhEX zkQvk9ZHosEARE&cL+g)2Zu00kK#iPd2$k2V(oEjG+%N-CuEJnC)&;&hwG&?=tQZ2 zq27Lt0hPr2&Tmgo;ia_pVb&C{)?x^k9%7)Z@vV>Dc!ma~-UfQ*EytJ#1}P;-*^w{7 zecyzch`7sOGyU&2g#uqYos4IoxpBb`781IMq?7rK0F}O?{WJqAa%h^$ZqYfG2MV*Dg z*#%iKw(MKLubgo3nMDHobnDnWo@GU`=EO69h>fP0-vsdPwLy!;c`t63SO7NW@%F5= z1si=w-pD~sA+5n<7?BVO)9{P%`}SZdZ%yx-mBk!i+{%2xW@4UXV#}?aOt)V*VKR?d z^B*N45`}W2+wILMp)!x$&#Q<~G0`B@!c#L+XxC46&^5Grm!GJygQ^CD64rTWmWPoj zI>wdPVfO+js)v0V%Q_8Lk;t3C9PHs@%JLvE?;{8_nj?j#|LKp=2o*-krTA4Dc7W6z z`-9xmBcjH|$o}XHg@y%qdb+d_(8kJ+LGWgvD>9E``cr{##zHtC6Vn9L5er@sxFgn_ zQP{mUd(>Iviw7k*J>20&isblm)7av?S(~sJ90e-CgS3zyo(93nIEly3AuWuuoV48G z2PzTimsT3TG>9^6gMsZsknW&;r`Ob0s%CR<~J&ljip00kQy6~3OvguuP2 ztgxap;GDkiSd^85A?B^8?iqB}I{{<>Qtz^^BM3X(%A`C zP|+)FwIi%#=4ntCT;C%0k5dzTCk1W7uE6@DW2A+=@;v5uDb~17$E4y_6gRMISche8 z6O%Y*3-!o+u*BKH2tcCjmsb!*57?v{Mk9J!)-V5OR@{qzrkW(la$p<{G|d!t<}r*! z5BQVP92c_poHh$TW**TA-or+VF~u>gqI6i*0l>!hw}D@fnn2Y8N}Ope;ITU7j^$5Q z9jH940#IXGbNoP$sVQ!)p=VL+0y36~%GKI@MZp|P$~N*rFF5TiGPBNEb|afQZT7Ki z4`aP#p;(mt@ANUx@Cg&@;mq?vQ-etZD{9_pka|Ii*x7Z=M`Go*a1!C6xLMz>0Yp|J;uIh4mh1NsbSoAFtuA7ec z9&eVKVzu7iX}2yli%1PaC-*R!(0~=IfPopPLJi{3Z30S3LLx0QsJ5Dpi#go(x}uzQYV_+rbGEen2i~vLj-kB?-zndQ^R!ki!ql4oafDb zlbz!o{16%X3A^|LZoKHlp2snS>BA5PrKt>MnP8ojb$8Od8N`VT9jr5jAK5~3jQL18 zxJ9t|=`rjX*&r+?{x29vC8-3=b*3%{s>qG@nDEW5z!4;dhpEXBJVFYc#+N` zXuDl4h|nT*1M1!N${&(If6W}1Gn)hpowrW)P0*&%POUlwhOTp}HO>xiJ7FRa z8z00t@e!|?ANdfeV+?Tlq|~wa5_8%GUo}!7C2$h7Q`<)Vn3zm>Ido&wq_c4d(BYGx z_+g<=XUd#T@}%LIoosx0YWo~_^>LZTF-=L#@soMc1swvB^I22ohrWS0{3R2%5wf1{ zXv>0tB@HK&vx{J}vIZcsT;@ftP- z){-h5#etm#dra<-Cc-HnL}a&9Xy5!%A?ajHAhWzQB`1sOF-qmfGD#BAlH>S1T7yF! zg!vj>YjI%?ic$xU&w>D29lKW6fjZXEJy5>qIuhi|g|mw@PNCHqghM(R&ZtLe|4M*MQI~$nCALq;L6F(LTf^Ci z+oiMENDRx0UxA?;%_r`*&-nb7hzyz#N@pzcP7h0QmV^$PGI~CAHK`?cO83=2x(Tzu zfL64!4rOh0d=I6;vtGF#4~RZP7>*2@#e=3_kA*JyK)!^LKJz zCNG$?cS<#~6dO4%+UGfim{63pk^b4OTT2)fb^ zPX{ls1v51dX|r!4h|e8>%IL50SfFUDZN_aR<94bocrwNT_2I)9gBBZNKpyB&!Q&Ht zI8l_!7Ffi=jgBhGWAA-G|+B7F3r}~ zdG?E&E>wI96Ube45f6#Qn0J>a!okouikXhMF`_dUa;PD1egkUvK5xaWWA*|uq?(kwz)FBan6F)O>KL%7So#nb z76W@#)m3XmD+)jSETagMvbCQNvZ6N7I`WVdts_wlf|Bb5iUa$M9PseBX5@}pM2n;B zg(Grsmtf>|Z>3pggl{xMDgx!Hk@rn5K&bX|ed zxuKEt6b23F{^1>dV&9^eB00^Lbx8)X`C=Fi#O2aadqogiyEkt@V8z*v8!J)op`^$d z!?2OnMm}g}yJ6kZ=>VJHkxv8(jPlQ=u+oSHxJ~C<#0!zEdklt3ut_e^!;9~Ja zi1wl8tbY4+OKJ}I#A%mp&Qe=sDvQ3ATaAdRVB?M4A`DAur?Iqf`V`iW`NjR|Mq0<3 z*N-!p4k1s1!G|SJEK(9co!zrTxURU2nPDy-0T~6!AaDlGA53ky%C)9lWpFa*Uoh5@ z4X+K%fqKM?4IFTq$y7J0fVH^5dWD>0sL2O9ZCQ}yiXj^xNRjsN{8%(xDISU>Mxu;Y z;1Qe>;wSNtPaQaa7smVL*mIa!oq!?#c=#Q3Q2cOv z;m{mxuUtMZd=x*U-gbdBXBR=;3G<3@2o>rWcJ2qcNK<$q`$T_hHl+{FbBhm|#flMs zY}MI#SByltKq>pf!I5A#K#MT(F(0R=rBSn3ils!E7UG)^j-^7K+y4p(Vtg*EjI^{P z!ayw+s1;hNIfxSAZW>l5*p$)U>Eq*_#rcKyBp)(G(~Y*zqasH>4!Asj7}qkh3+2So zMcg`ckH$9WO2&iJw!ebD`T6$D{^{d(`Oa7|P|`+pN~yL9nEDG?%rF3E4r6$Bz;R>> zTXA3_#Jm9dSnHVhyoy;yk|AmT)b!NC@vLn3O7^+AO4#RPG4VQhFMMKgh9~3WbBASf z9h^3Xgwm%%;$pDkH4=_{z=I>W^8t&6OhRkPOw?%WXs{a$vHc-Wm^`{{gqXu%ymfE~ z25$$*x12%XXYB@!iE~WMKWYTLX>7M<1AZ&bb6`1T;K4U4o0i2Pm*ZvyNgbF8S;OMgx3?7?k%T2vq zH^?wOH90uDI3p+{OCOQ3&ed>Mp(MsRIKkfx+hzWl;qEMz5z2`>ZqXV$iep zV$cJkS&&eKA)}9rR+^n#FJMu>CQ=1jx}n%$!_f+$E- z4+hdRZ3dhL7X1#E(@*_|ID&q6TrTuP1J+Y>p4fR3@ubH;LYLj|GU#1@+n_VDut8@u zZG+DGl0i|WBtF%#BqaSP7GDe!kn=Buz-BwYQP?De;cAZ1NXCGd<}PlSWbZL0GkaET z{T_o;>P(6=^I*tY_tHC`4Ydp&GQm5OWY8My2n&tBaaK&fRlw-Y)G>x|n&zcBLrA7z z#+id^20UMS zbsA&+3oC|=u7Nqk-=@zZMEPLQUN_Qf7GD8j3_8Vte%|LnH zmmHNz23_os81Jr@1b#ZhQ;&gHPTr}G&(bByyTp`TAeFQ$CVzv)+*nth3CY!^AA!6? zTqH=B)XX@Qq@u>rBloEEKvkj{iuLl8fL`3NxLAAHVwlnmNG!-KrMVY!0Xb}E00&c& z7mYa>=2<)c&db*%W~nxQvsxR!S+I@Ytl7q2_jntgzv=n6ir*c&uq>Y5@h^^HVOd6U3j7tMzb(V(Y z5+DoZ6U~WnnriJP7&fPy^x1x(4MPIIQy3*7A&{!O zJ3rpdVV`)P$V!ry(8}Fp!$cFp%nj z3AM~bnSq!B2utEe7 zZ?ZP#4*589{LMI{gA^(K*o?M#M@{~s4IAU22pDs3DO6Tu+%Pg=(bBN}6ogUcyA}HE zr!w?=yQgA~l95@=!AoW0-${vng zNW*Rv567w7;>M;9!mP`1wq_1b`Zd zA)jyrL-VL*XTj-ZOdgsaoH@L3+(q$YH&OdbglQ4v!ka4i*ok*r4ACQM27W3>m~)CD zlt!z!jn6^bf{tb)peR}mhFJ%4>f=|Ieou*HkXm72?vw{-=b@X4A6f-2-o_5$EdNrI zI6h~!yYacAekgT7(MSRCqZVms@W-fvtZQ0Fqy1h;wd=rCTaM1Cn)!NE+IUD8Ju&NP z>ZUVjj+*J`CeDc)OQ%!B=uH(d2BbgfF{4JJP-W^+^czKtJ`6Xfh%x9XVhnnUSQbn( zk=sJX8%2yhr-;#S6)}44jVQfV5u?{BV)W+}F-GJRF-D|{7z3#yW_jgKgnp-p(N9$a z?UNQeMNH_ah*?j~d1B{D#FHvwLYFCG40?)~4LU{42Av{igH91+P!utVPZco0&##28E!EsR!L`&^-#ng|A_AVJ%~628Fc|L~$7*XZmN|;I zI|ep5jAcNP^u&!VvpOZco=(Z2(<$k9Iwk#1r^LCY91WUu3};yB(9b;^);RQLx+OzK zw-lezEybJZmM$o)Mz=J?Mz<8d)h%tjr&}_{=$7<3-I9K%Thi}zOZp4CC8Mm?ms24b z@07k$f~O{Wx~0!j&@H`E@)~53C(}BalG82y2DE-I6}k z%jlL2WV&Sa{uhT7UwCI-fd%7iqR=1=#)h!uFbxR>C z=$837qc1Yf*CLG;T8zzTi@GH#i@GJ_u&5i|k^!?aL$_qW0zhEr6ciiXl8IKgq}S6e z8ML}3y_s$)A*)-`Z*@z0Gu@J*oNmbo>X!UV-I9N;ZYkaw=$7K4Zb?t7TQUG;%IcO3 zdAemj2skIanQqDSOt)kR{VuwtNuh2@AJjofq((+{5PxBug?l8Yo|%x4(z?fgqa)aK zUeFE}f>F3L0W2_Zb<2MTgK_+wL2PjLV$ea%3xbhgS1=gt3?^{1I}4r;{!RzMnvU?M z^lJx^g4=VXwSsy4AFMVpJA*~!7@W-#XYsFt^acFg4H||nfO{PIT`GTFY!FTf6*!-H z5vWY454C^^8?Ks}$CT8_@~<92Er(rhk!fF_P)b{ zhLPv7LY%34o-PXwNG)1HaMrNYWF$B&`Sk~fkb=u_gdnL6V`$$jYJLdqpbV#i%aJmP zGV_!}!2slB@}eApM?jaSab@*^e=^vEawwZtU|JWfH8BI=n@5SAAXs0dky4&+N+BJk z!u}}I1)B`b7*bgZuEX(n25p3;5n6FDtt%$6QICrMdb3>p#0IFbhA4cUAVx`~C zVog=rvz(+%pRpbs>&%by(MZE)x!pX3W`*`=!2J z(>9p4Wiz%N^vUQ6)^&+nZ)ERQAxnvw!?D?g{@Jd^oX=c$%sd_xx#R8#D*+B$v8wDs z+8k=ju>~1~X)ismdk%e&JJ$xv=D5pcqiM@7td4EubqFKf%wgupo|+7z)K^P=F=qG< zpm0E?ea|Iwnz4uxbnxZT!E0Ja?c>t|-Ckex$SKW)Kc+ z-8h#z0oTw@Hg?vqji$#q4g#5RB`T~1T&-G=S6k}Exo+fk5V^5_L73KQwO{*S-5@AB zkO%h#yDDsAn-5~V;Pj z#I5$@g0r)d7*9Fp($Dc@*{6pwOWT-NtSNUCvxA@)F(%oL7W&-vZ4izl#1%bQm8Axl zf!%WGM~;y2^YSe|WtnH1QN=Od!R(*2viD~^WVMPTg?$SDnPxteIP6^O$7t#o2^@6$ z;0m`pj$yp)cd@cdn7MD|D!VgRc=i%!6s2=KThq?YO75B-ZbyG|1aY_HcpZY|`cUUd z3eOz_NX9vg|d^`Q?^Gb_t} z>A%97iM`QF_i{0H@0!c=va%eqI*597rCni0uvv9xFhjXV2WMqDkc%UTf1#M6Ho;n# zQ@XNC45?CS$oj_^!7m%j`EfiSV{WUqqg0|2%>FLrW+<_^7P{KH+W6dD6QH8_2G7CTnt3R;Ju;<<*(H(P7NXw4@E&!Oiu32(yf%!JrV#(+ycErk~T9xRyP} z9f9jVcZuN4A^2EN=1&PQg!t7tROQvfq3^UFn+Bk}j9IC-F_*ZyEO>iTU@68?L$3xvx^r>lpqVqY)-kjpBe7Pl@wU(oX`!DCWU>Cbn+xDsX zaMxv9EM9xM%O_u+88?<@-A-`i(}NVv<>R}exwI}t>{zIa?Ol#54=F&;%)$ZoFSlcI zC*}G8jc?r;=FA@Wxh5El5!l_{tO4yz&koN=Yq;YEtA|0$-Gw7PSZ#9VD9LvI61TT+ z8$EE^j;Q@oy4j7preMEdN$FS)(_L##ehm&b8p>@_JFeH>T({`6Ynr#xn)Nu7l|dJt z#IQG;Q-h;28qng6r=Z?60x3_H(2AFzSGJp@uAfR}d;12*88urc6}N_C?b>8cCQe0B zT;0sr&os8+EEB^qN@T=!)=S-BQr!uNm-6&t&RH4}g6uo1xRx?cV2O2Ex@$r3OT|38 z*CNgD6lFTy#V;p~^HyZDduDYB){UcnJVD@$HzO(7l+`Q0FLBh$etS-yVjA3BX|jCN zI_FmF4$2~4z!w_G3G>U-7Wxr(sjjd6n&f9dIx{T3q((l19HuZ*IAcw}1#1}3)!l~A zROsxSb=14i9fZH{L`a3o`cb%tjfO1ad@ z3ugdk4;h4P(;We8DRvSY3C{5EyiOZEJ~ z#`wew<}4>zMFhi@AA1mT=4cF{nGrorU<|ksN9i2^w#>#+u!cI788IA* zE}S7&lRk(xg40s7kBR-VCA;VjDRh(05$)q2Le@s-YBIqOQbZs9d! zo4g0mHlE`+J%bpB{bpKW_q+97W9?`&Ctoi`ea@3TntG}pw;THFSUOS--6+PxaDmsx z*`3hP^#^-FIgS}PjFD^hGFMh1t)R0S{)^ByIVo9V!l_KGR_5kffx0jgP3i#hqVCW2 zBiLki;yizj!s_o`^t(dY2FIp&PxfoKM!EbAP4G-J*I2frpe|jYlKfq|OXE1E6j;T(EIb|!}&>c z&Qe4#ezxK4UaFh_kjPnX1!gvewj{(G;6*&>F{`--i^oA)AD+4F`6fJNPLlwT0zT!ZesQt z*2}db*x+L4F{6oP)0DLBL=MCXSq{6AgF_J9mkN9D2EVm_8;OFmHf6e?tY#a`Xjv2~ z`gA;%$+*lZP8PvyUed zPEJndft(A^WMd_jujxU%YYPIT^v02!SwGx-Nih@F=tay>7f$CMMv~)6*Dj1C){6ZK zNq8a1;n}9|I97>Sh^(j+@jN<{7smYR8So!;h+)lvTzasEvnZnv)*iN@v<|qngJ2%^oc&>45 z*DS^-kt{IinM%ApUv;UY;39HO`EaIU@++lm;wYsam!4F%8i`E zoY`H{?CR~KbHmNPng9=XRmmlHyI@Nc1nQ{VIa6?sY30w6r`_k=d{aucQhN-lv?aXf zG}2S@OY8TTl(v3O!&LIK^?MAe&1RP}^ETU4lsq?QBgNl=6l&XcH%mFb70NS<<=dXL zGWj`jzzI%EW~V8EBNOY)S~I@fYK)m{NAZG;A$(rmbtDIv$0j!=9rMkk^H!DPcM-E| z7-jN2R!;Qfbc*XX!{$b~E8Ur9^>K8RgWR2XYk7tWf(_ZdQ~@)FDLyz`qv7ce_Yw2g z!v;3Spa;20KC75V4qHl{xucjm@H9Y9xuIQJU#XsH$_k<_;Hyn+H}i0NjmyoPfC9x} z)i?P&3Zo$#Jj0zQYXNp1FBG3L_v4TOc7^nW(&g^T=UpxP43bjonBsbsg5yqXE7WoZ zpiQwH>@}$#T&zn@>M9j?dtwhMZ?%!{LB!#1=IL2K7V}Q!d`cQCEzfqRn2#r~Q{=ZPq%uZ37C$(qmZOh5+6m&VsrB)XgVO$bl7>U|*hV@-zH@WlrU63|sZX0^ytlZV} zi~yJy_r5MASnsGg_V=UrdD0(jaIusm@h@vnO`9{-(4^X#JOL1j}pmFFXFXVWOMGd55__b8U& z_NYpKKju8|;3ovt?hnpIODQYX_yGQO@Xw&>b5XB8oXqTi#K)nh)4EL%!P&cjnff6U z#lcn|;jRzpyI-pRk9Eu{`PF+QhNvq)*F?EH6f@WVUMyWFn%}YbJ_!m>_83J7Zo}8m_~n? z5kPCL7TV+A*xC}T?$sp)<7EW@GtW|AraF;ZmAK;@%{i6e8dIi=57xL5YcU2SF^amL zC%xFE3^{M(D6utt_AbzKgl)!59fAF$8H1aV-Y2r(4R=>ic}%(ijP3ECgU+0EJ$8P> zs88R|k>47$Y2?0~l>?e3_HV$|-3$5{H9R z(+r?L#vX%a6e9&=`IKdiqpZiG*(0mXsq@*57DAS%ENcM$gRyZ+8q<%brr{jL*gj=G z1CY+P$DrYgi!pu5e7GV%R=dteZ#|X_%}MsD%VOIfOFpBRHy9fi{6879ZZsCgE3|N) zsB`rkv2F$E!;j+*`7+MK7ynnvHF+@CVf-6F9>E$T&&`M#!>V1unJsNZp%GXgv;pgb zCSZMu+&6Hq<7#~Y_Uql?=X%LKg}Mgq+<2qo&Jeh35CNK4-s`|71X|{P>}B}GO=$D6 zwXU&o*VrTFRl}rNO#+ky0-1OzPm&5;qG*A|7VzD{EeX_=AXLDV?CQ zc0N53+l-VWpdiBJX`c5T zXSSq%=G1vJYHHASW&L5>BOP$2v1fOuW{ru%D`$1%N>kSpKeO*x7k3_5In(Fy;&U}{ zGN>RAN`+^WnPe*KvYb=Ojn20jG9ZH53~3mP-OAaNA?36gd6|*NcFrP}He8i8lZZWz zn2zvN&hkrTZxQ_xRkEim&t{*}?%14fvvmf;)82~pWc;PjJ$TRQZs?sHDBHu(ZFtAd z+ZT=;zckm1$_84pl6rICdYY}q*n$Q9G~#)}Lte%)2j*4TXlk;66po6`h;tT7mGFR2 z<2(ZQ{cgmMXQMrwL9T3}IRnqx7r@?{`XgJBn{7DDe;G<~sCF~v9oM?b28Y5ab+gL3 z+g3j%wE)K1+aOkO?vz7VJN6<^>RLp5#NvIZ<*=+p6`Ts5iqhyLdq7LXR*6ncZNC4> z<&PV{Q|0eC3gyJ7=E`&>uO-c&m#0wHdHxwU=8%PL4^=EsS)8dCEK?x#4tdqe9{o-RWGn*!J?~?ZMIkfaTh%+K*J*ZNO)m)Y% ztw}gyhyu7G@nj>-b#pP-Q&Ni!S2^eGBreVOd0M_*XmKlM^G)^lGm6 z{KC?tnUG6k4(T~V$h~G7J4vwCQ1O=4qM|g0rzUd0xWasu5Ue<0!`umQ`m}~U#V-+f z-UUpX3j^8a!oat=Fi>tT%Ye&j61o|ClO$BN8E1ZzK7<)Ou9?u?gy&kNhUoB>|nGMVlZ9`F&Htch)=kVB8N4sEis9St6+C= zJFT~V;p;bNAu|Meu8*{hW>4{UKaIm#q~oTRMl5GEm=4B7H0C135)wsRt*ksCo1=kCKs zWfZovH4$HW5LHcQF>8ioccGpsD~5!daMuyEWGW?&u@P1LxC%1UO$gS{GR7bZ_Szk-lCo z-@QZcrPh(I_OLQdvALXwvu3Oh&j`5wAC^4LmlRm1#3nNBsdc+R%RPrST$B!1!(EtJ zjJ08WAIkpV_~(2(A0Z+jV}0A^KC{8efjvem6RrvzW5J41)N~L2@v?x>aA*s{;fxj7NjFv@2wIL3_BIBNFd-)=~+f_ZOF8i+ql{Q_8lQo}YH>^O3k zopWQiSfi-~>+qvzkgv0}Vk?6)xi)hx%yOn4_rKeF`%ue{>t1koTdi(MRy&rS;%KCP zQja3!9;Gec{VAShWz0_ zJi$E7BMgRTf(ap*j0q-~5KJb75KJa7WI`|@gb+dqA>&!UTDx|w+I!WTqxsuU4(KYE{*a2O0I2E>=5i?li9!(8#|J@38+>k>$pG+juGT#U(;I+0wK> ziLGAt$*3lpsi4~+*Loi-MJv4hj$|pr?&5wyUJ&MVw|o8qmE)c#DL%=x;Wfc>hDFLA z6L4q8cD2ilu6r6ZjD8ntG<-FI0~kwVQh1xd%BV*Z_7aEx!y8?CNBy z4V-9l(R43E3@~#?RUAYI?Whi<>Om3%AW{u4Hnz#^N?E=LrV!gws<{vw#wF|nG~9B> zbEgs7=xeD;pdR|*XKFN@Npa-d09F&)VIbVNe@#`@w{Z;ElQf)If30N=Dfhn3rk@Eu zuB2Me!z%xT6c+05rK;^KRJ(8ssA9|LiA>lEY2UM*yt-xScq&DA+pFb(@gM|DNvpx+guu9oKDGt1&VnWErU)|>q$;1To2m? zuzcDxbD!=-EwI_tI>w()HK}j+vI=s?t(2R#7sq{3-JuE)$# z{9HfCDlErDyIXcRtL!$!ig|+MwSuj z=y!$|4RjALY|lgxNxf)i1?&96X$Jmr5EzT#M?;Gsd=}VDMDn>*dtxGCJZtBev9Nxc zs=V(|a=wc_7A;3e+97E<<)$8ZNe#vWuiGjkzGP{Hgn5|>7=?SaXhJ0{{O=7d{63S$ z)S`Pa#l6L)jrOu{dD2W(?j$=Siu04zwMY(3`%F7i-}s?ag?({-hDhNsyc|^WyN7zb zdpPUeskzB9_+wEF9%tYt zVLpU=jQHV91d%jZAOeJluanlZ%O)3yM}*^f8Q2IU>D2NfQTWhB7VAF_J>ab_wL>6B zsL*&=fy5rBocE_jW6}e1!n4{~^2nkqU;`kAg=Ci;At3C*%RKI=7`ix?u(O_3erh3} zO+iPB?k2S>bl9d5XL2fYabDD$tS{-Gvd)I3ArIR$yd=xAeWI2f{X*RsUX-X)IpE-~M`#PO^WQ)`^$bYWo%d$)Zan9b>2qcwHp&r>`z1GLcE-BXa7 z8ix0sU`plL0vs>IM(rGE+f>_}cc<>COy3D&Y#$QLYW4d=>w-nhIj&l1)IhTnWNG~;`4d(jf=CphGZLfkVETT&@>#deO+hm7DnZQU*JmfcMaNt@Hv z!0ra`6oPCqGW&8N>o{QmU}{J@8a@{Y3t+*@l$W(c^Q*7#e&{)jC$Z zy9Of{kmWRwnFu2ppk!gh_%xy!zmk$_-#|$FK>D+^c6ps5UOaUn{U>kMUnCVCKm0yN z&~0vJHt3UK3K(p>`32jbu+EFnDz?Cqqm#Y-KpC+!$Zd>IZG<+pthba_mBtBoP z;YB@3!&a{+xFnX{#`bcZ(#G*KLk|gPbu5uWOXPqSUIE9y5KF|uYF-+6_x^$$YEzrn znTlCTp4Kl zXngHzSZsDUh}6(c$COIVvb*WG>~dM@@~nDTHkKG(t|!xlYK7W^B67GUa<< zA71E9Qh{*6TD2teY8)4+ZP?@x`rV^l85RwqQ4(naQ0M-9FcL1-QBF0Q)X(sCBw_y^|l?>nzGx7ie=t#&31Q@Zl-2Cu1vF& z24L(KRa3*$DRG}9)m!JsB-h&b-6nrCqiz`6hL2=G*c#>-32$bW@o!wsqr+uvFx-@x zOUX#y+}eiM1+ZjI%(s7W3iSa{1}d-HS90oc7073!g@qBZv)Jc}|9cSg~uZGUFrDV&Wr8_+FO0 za=fZBT{*u0A&(xnlj+%e7$}V-**?jqD3>W$rsv;`Z1_!0B@mCuscGlUxlS$yzi%I<+L#1lQ8t_b`bp5T971Jrwp<1;SBQe8Qz4ElaN0U-c^m#R0!_x!B^SDZZ|Zq9 zHG!n-v6l#L7@oS7_xe2cn+wu997d@rpZ!b2`N`+`d6Rr|i@txJQTbJ`kKPj{9(K z*yP@1IKs9MOLhoX85kskTecML2C>VHJodgnbjQtn6eSHH$&nmMMgZeq9$ElAEZE-3 z&+C;;=3o_xq*w&}68*+{77i-|W#k*+_z|38om0=t^d9!t;vlg}>zI1nB-NOdj@!qA zw&tlpSswe)piE(O)#XS3GBgMfHoDp9>YR?SLli+8tdd|2BB$Kc!tbGS#LSbNIjn-Z zOs(OAYppeCm)1?!B@GEy{&pJ;R=v?zI9Z1edB>*idbK7QFkB)vd(BwjhIU2{^802e z;q0DP*(5C>V2yrih#gEJ3H10iupf2i0G(PgcZ6GRc};&ms8( zDUR^B9FB3FaUOm!25^OqQZ}jbFjYs&kA9c}6q?@Wlo~Yq8ZnGBoa{!>nJA!4zegs$ zus|ipO{XMlW1wW#mIMp?IaYZ`_)6Bqd}Y*>Y$5X`Zvu?)m8{Lm%iZlBsV&(`=FO(I zPE!-}l~L1YQX_?VvR(%6VZqV$5#EwDGH*RgZN+D)KOm&tPo1GMaZT_h5hloQn;W)mt~~T4 z`#n~Vz)!Me;d)vKnt~$_LsQh_p=gShwQ!X5k;5|TAZd!aI#?Rs2YJQJa<~l-fSqAR zTyi$EYE0wMD2?H7AixEZxUM%ZkT-Q4D5*Q`<3W1dt8|eY$JEblukymY-w-tdVFAL6XXSAiSJ{}F+yP1O>&w8ga)9nmSQD&qM4oG$K@ZHCY` zx->8HYn_8LhMyc>aN;zsWTk5|$6recrw`+tY9al}ye3>UL%4rA2(9MOK*m7++oDU7A!Qru0N&{yQI|K(5L@d9JXW*SC|_5t-slDX`igIZK#Aszn=n$O*YF%e*Q+hlm)2Qw|D@z{_(K`iUhmK}ky8RXZ>|Z`<(KH&8qhh^ zo6aFxws)&@Io!dCd4se9EY%(VOL9~G8g+ah{I5~PuT$0iN@1A=*_sE9`3(0KEB86g z`JbsIVz+2go{_%RWE&i$vhQY5LDnU*w)0D@lGL!>s(;CwR1%Sm{w1v}pz`7A<;d?A z_18_J2BXtTKc`&(_tB&85FM;Rtdr!C^O8g9ZE6YMpVhD2RfC~6Mf4yB%%qh2lwT#x zaC;r*`qG`eq{UATMMf*mta7-^D`#8Shnju&AR!NNm4k!}1b*{IJjMqQevrnOL&h!o zD~?ys;rb0KhnVH6p_@}e$_F|F0RgP7KxgHYhjv;c4mleR%M3AN z=(mGZ-k#H&!}ptp;&Qbk-_Pme4Bw=N<-*}@dRLzFlEXf1H%zKGycxe5eJf>L!mt4P z`ZUG{EHKX4-N@hcDa)QRIKNK*&9A1|v_bmZqqzAn2}A;KQXG&k1J98olIzY;Pa*#P zg{&cG_lX{?4~WR2!Zs~{og2~x6`uMLV9uezt_GLOdH)pEyJ~2xlf)3f*fCD}O7B&D z&Q5;MY!F0JdfshD@6k#Q?n#0X`w9tbIa3STayiX@k4_!O_RBnb2rU5Wq2uy&`+EjT zNT19-eVJ+C9D9sQPQ66gH5w<$NbvR=CkX5z<1TN9kA~pn;?!0U7_tZQ!o$4Qd(emt zvw6-4(8PBAjy_%`L4UUzypPsb1pVdjrUY&GL@biVu~(b1 z_Q_jF19n&+LSwm8969g3&(w%xN3WCSwkNMoQZ2JEn83`FQ!mH0?0l0`0_PaO<9Vy9UPrXH zt8S3jwoKiT+}O_GMEDU)8(=Aib*Mw+rXqOuItf45L6qe%?c{~ZWGM^?Q0~hm(laNa z_l_BYlTd`B#_0t8+lZ)#JtJwy_^A{&5KD!Y$Ror^dXvO~*&$Ec`(^U8jtG$dtq;bDb z%rBBrg~gDZUb1C)A6QNaxF6SP$X)A2$Cb*bbe1UP#@;UyM;LB>Ts)lBf^c1*GX1g) z&QKhJlYw#_7?kLjG`wVjpsN(w;NI`Yp)KwD$Cac|BWAyiiGdLxpl5aN8RPCco{KS+t|Wh%g_=BuQ*Ph^fz=z(=_!Dgu* z8F|i=JyT3})*_9TYcyt7vUtE8fQ3wh;{~A$`PWk2h-Sk8gZ^L76rl{PdVd<(Cg^8>dXIoYJg5M*Z^91I9Pdxmd-QWbB8GBU2@veW$M=4fTLE9a|3e*$YxUv zFH;91l@LP@lWm@iH|v0v>Z%$gLCH3Zg&7hxbGneHTi*PUXVQZXXX8}Alo}|xMo6ES zwAJ9%e!vf>SRtNutJ(a5h2i?df`@sFA(rW^M_S+V^R!!MvGv(A53ozrh7`NVnex+@JCwb-5q4=urutBx0(!*Pvondly)Z}98QA9KQh>;@ItMfwwY@3#5dXb(1KL5`KKzCrd%Mn}V0~sO+fiiYq@LaKq(eT_vbeYNo8hCLZ!yYN zN!#D9QE8ratT1TYre}>E4^7~S62vds*yy=u+AT(_ zu904Wrofv1OY|M{VvYA2*-O-dC8P7M%h@nU^LeTX^O)i638~52GutJ8hwN@-9b(bt z7WFB#o$U)#$9=FM>-uWEa7|){GJ49|T!{k^pS38$Ou+LuN@9eqnWGceh#EW|r0HW_ zAM2j=NkjX&J=_cJ_84v-WZj0k5nnWa`^ZVEd6}$^+7hn418E5Oif<< z#XR~{*go+3<7pn>936g>>W!RiJqLWiqR-X{jV|PQ((2&DbwBesW2q@xcpuXXXwnB6 zB_1+r|3J=%kr{Zu!@u()z54F=&cm+l8F1AZ`;Td3R`?jg#ury6JjD{Qb`-Sc8jUTC z(KqWw3)9Or%A~wn_F#<-o1$n+Jsdm|wU+D|!XqOW*amG=j?kEK1gX#-*7LqjwOIKr z5>nW%dYx+(?{mN6--xz(%#KRNN5{I{?+_k%qodJzK56O7{mhNu2i}a{dV{HX9=3=x zSg!H=8uesz4&zfm8}vUT64t$qqF9+3>DT^MQ2PZf-quNkwIzzyffiypf!m&HKdjv! zK9(%LF@N8vTVnWqN>b2mH1nSDmfAC5i*xdU;3q-LgseWU(aO48U(2FD=terqSpFRn zJiET`Z>x=&8_z4PV{*{wt5lyJmt!7z%v$N?X(RA>lj_FYD|E;sXhq;8_r@;w{U+5e zf7o(^p7VSK5edOFobAtf+?~-}+mCkCC}ZLoH$J&N3G3`ho=JHQhMmtI{oB-Aumh}b z=4x&CI$L+Ot@07jTr+Jj{cu0}$)4g{J;S}Cqt*Fd&HPMOU+@lw+UkY8q&D+LPZPIt z2P8z0&{&E(f5M6v8qUWIEI6RYwEYo0gXU3s$!I0S120u96E`M2kBY_w;&ZmYF_XjA zhP8B+sniyF>$2W@rs+lj4QEfd-t>9ngd6itgY34)X?NV}@^Cey^}Z%_J7dio^$Y;?!3qR&JxTAk{TVz4 zlr(zsAoBgLbuu-SD|H1>Xw${d$++8{}1K3*b7scsK@ zEIeO0FG!JO-5&k@AeFjQECR34dY0Q1D;1=8n9GJOABEmRs!Wht-Cv-l>1l;l-Cv;+ zK}vOhF`o1LOMgE|rEZU2>XOl#xi1PYlJh7q$#wHT1!TIKS&PB+M1t2eJQ_mkb@>}2pjX7x2CO7tgR}yqH0$NIDV#DKE_jnmE}q)H9rk|)PF0* zGoll#WLLs^LycJDQfjVw*4_?MpqVfghfyfeOqePaq$u)CoE?V#wf>tzZ^7B{dYK@# zIaktRC_!sJULr`TSz$o^H%UIBbtUg+v+vu_WN4RtP$I925YW$d3Uu-sk_$Y-FJhv*CoJ>7By067*7aMF}*~Xl52M^ zrFe-TrKh=EcU3`YO}&=XeK%Np6SL#2IMj(BKE6SrP+LDX!s5RlrV@*DX;fnG2dUKA z4SMXuk3T9jYcDgWbdZB*xUaf#IYgZlnnz>r2dUKasusyoXw-9*_I8kh(8z4J+W3cz zSSz%ibDBI{E{7`1r9ahhxgb@+v-PpBlQzhtz2sV)DjnoNtl@#GpRuV(`KY7WeLqM= ztk&34Hb+LGA#8^B+d&FSJ6!xip`oxm+tI!ec>AoMNB36e`%ErT$`dj?iH-j~c9&g8KmD)v*x8Dv@FqXAk=RmyyTUqoQ z>jwL7uy(<}jkei7i}T-pJ4iuD)FCfIL-cU>{UDV(AHmNtQ(92#b^pC!t*x0@%W_a? z)Nu$qe`}?J6rYBMgPqilw<~n!LhlA^Z#?DpiWF9dTn?l{tMQcMCHqtM*TVWx_DcpS zH<22jbJp*?0;f=I{GM>BAjKvs;Fs+i6-bv3a?td1J0jxCOlf!1&+(E$%Jn#ec0lwD zQAa+otQEZtQWF*jmvosVHoHop_pI{}LZyNf7u#i_>v4<>Y|||2r~B0qK`PC98RwF>cb6!1YD>WG(rT9oQmU;lxx;%-i;30Nm;YX$ zS`TH`%KOVzOx00po6#AaO=<~t-wpEItaQnp$abw3yC)T?*V#e7-zLihsnxp*<=!8q z{<_8TtzeB!uJlR5rQMIM)Y+%@Yp00BX-3}01Z$&c@>?|S-=@_~?)U4oZw5LX9=K97MU%tt2dO;F`G`t= zkGV`mRd)OMc_6m^gnJsJ4ZWk&w!4v3+WW2k0czgVYIw?jBgn&k-bn-=u>VKl95XYBhG>%Bzu2 zp-9!}&Zb078@o6=(UBWGKd;RnpWqZOkcHauNy6$_X?(bGpc&+^<7fzmJ3of(zEoeOfZ8Z*HNKnq!)TWNTpRu zvojT1&&oFGR%Vdm>2z7UU(tEx3J+%|sVB%)y$U3A9`$x9oGkKukuDpg{$g$or)al> zJcUBx<};Jl738kbW*RzN7Ky^krM9wZOu7a za__HFW7A*qyneJ zQSjdmQV_iu99g0l`JG^GCT0mNg!i8-k~eYLc&Q*o+M|L!-0*+kS%uD)P^f-7uVj!i z?YDcMbP{G=rS>P>(_jshSE}v!Rca%9KzlP-^FG7@*62sY$rJ8ru!cwMsT2w~`|Yz} z>Dv0!ceg7w*4Cf?evnFSmD*D6v)vRr^Uwj;65&rVTjnG-H!WrFRh zsfEvR3{wl22~w+Ng3%B@H%_7W9Lq9ZE=<*7P(RrKCwOX9bIJv&n(VUf=>`fNvs%-A zGg$M%@R?Ie?T5o}2PxE6s$Bih_xCIGYAZEeHcXv+J6(fDJ-2L-dhLZ-Ya+YdwHFpI z7pBU5$4e{itw%<@T##zh}96v|CMr^<$@+rCQGpi$2)8>C+MbNnv1`@p56R z%y+!BMm48gkZSE8u@#a!`%a;LlKrc^@?kEx4SBU_T=Xd)U6ddpQFKC!=6-QJQVBdz89?3tRKQpxNSU!&>Y)2nZc|drpg7W zl0_Cf6GV|8Ss$?yK}uvJaXIY8#XS8Et?8U4*&zcSyQURdWRbc-g>I!D`Wk>I0H2KJ(GLul_vpM@wbLV-gJ>TStxA}DEyeagWT=8(J{_TsbZ3U%i%k-y)Xd6~u zl-32Q*)lv`RA@H&EwOU_sa~R)(ynRsp(@J-sS2&r z<~lMGpLMz_RBAGc!O<9{m>7>jgSWYjj!3a@JX~&)cG?l9^k$@;w$vmP?I`O<(UuBQ zj7ZjvGlgbEvaVc^>OvTOi4pqgypoepmZME+afGrg8Km6I-rAXW3cW^aYVQZB9JVKf zhwj`^C@rMQ1gSk`OTrd-o#qal+pbVJsJ$1g^=bPy#x_on118?1c}b~xF7$4&_9tu! zoIMoC7dX&ZeWBFZpvkvrgEcq#p;?w}W7~D#4pJEX z$r2sUxkTM`%`Bw8UVWl^#lQmKc$0os=?71j>4|2x35;S(5u9ZGkJzgJFh4MGa z)Lfw__;H8-eY}4ASapQn#a(Dxh{&IVXMeY0MEWM-EC$mMP)---?cyZa3sdvr%mA<;`%;F^nsagO$raLkm+A9ay1e6M`Z-76&d|T7=x;^!;G&&4j?(OI=g~#l zIGcB=8R2<+wNHclm>BtNY@ZHN$H2#2Cmo_rI#W-V)#$H>7d;H{&_$&mCu@%H>xJ#b zS0PVg(a90iwggp8+Zf76X&c4oO;T})M`+l;*`8uiu^|TVk)&wU8b-fgN?a~M&K?Z~ z8|y~phAVnMhKATP6)BBfchvX=jOGv@z{-!dZsXP7Y%I5) zo>(N0%`Qo}L$HI7u@pt`U>S(PrsM^p=V^p_|}I#M+73@|iwO z%bP7@B)5`iRV)hq22Ui`R{eH>s)QfHY@9IK4C#g4>r}gfw}@-oknI^zBDeiaMPL&c zI%@ooG;h#*1-y_n;c`Mzv2)tmO~;HElIAajpg$-zXc6z=Z5BvWz>(fJ>S$V6RBcT3 z#!C}BJ7#Qt7E72Dpydy@vH(}-qEZgxzMM@9e5o8;?bU3 z%2R8o#-=(Zta!csu&GYp5qV#ctN3qhtz*J>2#H;-Vf^51yW&#Bm$Z1d7t?BpjXfI- z%|fp_4?!2}CGuRV@yG56QAL-~&(0SJ3sS9PJT5C-Y+|+-_=Kk`i%pBM_IC_tY1e7G zx=%aUM?OL5dX;{zP-Iyf4Kvd2&4T(d;jeHvO6g%Fe5Fq#`*_P;a(6ll&ZRnLnhd;o z;YW2P7_x|Nm+eIOFYji|1EH}t%-G^Jo0AlvI8U*&GaEU+p0IB3yzuY1yI58jS!;JX z{e=z?@KG<EC0`dnAaL}hq&Qe29Q@#Xp4lkNd$V7a#T+Vgl z{v0>fd0ra{X(cT5JmQ;Mz$zM>neMo;(3_dAL{M25qIQ+i$0tDMB6*9*h+U+eD+N*6 zY-v62S?K=A)7k`NKGJ8v^|PeX3~U~urjUqCG>60jLgUHWU4m^dq*xPiK^w)e)>O>W zn)KP!^Y7DkOdW6brL2p~y%1P4|e|{-iB)sx@fm+@cr#qWcd^_~GG^3lZO`R26+o79b188;iFwG~>TGyehD4 z;rC6N`QN5pWH=jTh3tS8%EGr7W!uFn%*_xSuOQoRefYX)qOOZ%Utqu5sYtF+A3GqX zrB$RihsP}#-z--S!2J0>&FvTW+V0(;j*W+{@aM>P!-)wlT6T1JQTsMRAI$gRMMHUa z-1ws?rl>;CRBShkc@QX0Hpp)?@V(Hdp?UbuXP~WU`tUMKp{J4TpH}d9eHxM{RCXD$ zV7E#+ptoy}Ej>ZXnAcE~9)_^K+71lj+yb3j!rSN{wzp_hqjIaQA?NDz{(51 z)1fIg3&)DfBEkC}eAeH3FPFe6`2Qs?FDu{+raX_IVj>!iS5sqmXqRBiS9~w&`tA z*zcu8ry|KiBRsWOTSD=M-|VBe`oui-+!S}o`pN2x3O1zx+d6SOJhK4mvu>u^@FL7K zCw$8ssbeJl_ML9Wp@>?FQwf+&+U@GN7i)2cj91*O#gz-Po~8L^g%pgtl1d-HWlYAH zRdYyqusWB7_Y(V-*+SJxc4v+H4y=7mF)3SixPozu{~a9=3}0o>rCa`>dWjndZp zcJN@5o#ffny0+OPKS$zp>ttF>pj!)so7ff62>M8yL_9IE_7$Cq$3+ZZY$<^F+&Y@p zngAL{|1vxpU3w1-_Y`3g7u_zBj$RsdbGCm$nhpoNm;5uo#q45?IUF?~PKjGgTYIbIE26?Itn1c%}Lb^Up zF)$4lV}go33u04v3x|Dgp~SJYPDnr(qEh(1YHm@ub3S4YZuv!a;5$BGnf}2nu;)k)*K`#Np5F7l8?E_j9ix9LDH15= zo3!NjuCO&zQ&E{PS!c!;88C;HT~uwZfu5ovh|MD^6(=Io<*>3hsw*zFmJ)Y8JKZBi zc*5A6DXf*zM9A}taRn^>cvi!%tRU207JBK3@i*eaQ0pigZ2?lSgC1v%_1}veZuNK(z3d{f>UcKkv{9xDz9H4rHaq5$=6vDLpFs) z&WhUdxO_g9{VuXGkF@M}zePY}fg5MGngCT~iM+`pt&hKa5=2D32qIMs@U`Ns=sQ|Ze?I*AN^HH zL)y9W4!>6W#TL!m*lc60H~vJV<49*M%Yc#ejkFXJcvK_^uVn}!!M_b-TxBEgU zDi9cA<;yeiWzv4v=#;sS(<;Sn${v5+=)z*!>M5ASoNjT{_!1f~KuLi+Q#Dd$nysRt zIVu;a?pO=Z_z9ulPlg{fOy1^YWB2_U#rkg>OYIyX;U;0irW+Q+!%>L`m%S9@3g{>h zqu2;>s5m(zMdC7&;v!LN8b35VYOuVFEo5(1FOcR~qZK2Zk%s-+cJ{%HlCsUGeV&U) z)nXF1{ZV7vhuQ>tslXwLA#$5ngetm(b$`@Y_n~$LblSMU**tdW_}DyYqG_viw!m3J z>~+E_{LyuaGx+yJ+V6cv&CKrsXwIF&Gy;1+ug$=6fraEe;#*1JD%M4w%2Bh%&}6lb z5B5Pz-lB0xsH>!Dp>4~d_#&a{JpJVA*WTWOhhD5k+62ocQ2O@>jt~vLaYB>mN^_cNqbo9zL&s6V9!flHjUx8f(YP&Zb~eT_DR z76E$&RuQ+F@Kn5sxal!*=385UYT5DU`e>*;?~H}YyF-`hl$4b^S4Zl`5SmgeGqWr= z^~#UP3pyrt`L`tlY=8bvH-x&jZ#Sqo7iQYL@$__%h9YqV^fvDrY-6E2&B;+Cb*r5Q zCw<;mteB=l=MT>tUr%pQAvi*& zSh~Vc!?%Mok?lQiJghj6gtrna=y9U65R8f-k=s2lcISsWFodK6I|(kBlh$lrLrg$Y ztJxKXupQcdI~RAV?YZANA9G}RVt2mJHLz4*=YUUSbBIPomk8(0n-wgd^8lL49icG^ zn%ejXBdh(Uomr=zDLs^7MT(V)Z4G9~0tSXpqz}s4f+#PtH2U0G)=q3{sS>jy!~S`i z5wY_CtNE4*mjMD#8@eehtU)!G$OoS{zD1bFLNj8R;H-qA_Wz<&>Bo(wALcWpzjl;z z#&iVbBL)bHMQ;YvSOQ(gMHZUIKeShYLoZl+X$1RdvQh#|BhTfpX>AB0?<>P2kC(ho zkzQh#3IECiu3w_>*yDMFvOeNS?8BQor~eE^fL=AHJ-kfu@|Sw=m=D*~o~8yvzX%o_ zZ|${7$q=LAt9=BO7gD>^iLuEuXMO*8YmKPDWwfr7oU<4jX?-BF(IY@RwJfYfFaq}X zX44xo=XvJ6%c?c?suI66yITE11 zmtW@@$ol6Gf~ZuKGym}vRFc8A_YcX3fgi?wRI>J*V!;`(2ufVx?({O>i{_A#8X;j^bAa$Rc||zk;3{c& z{G|`L!rpl-WD$F&u2hPM>_W?LYD)v-<5Hg{^!32o1h=2~)zRTivi^w&ZHa_N#giqw z1y+GQ%q@Rx^xE-7lI88t-1YtXPJC#hm&ewm&q5ryPu0yccsI-gp|0$Kta0+rUhXRb z6%~!u3o&5z%0(m#oUPzwyhQOM%)GeJsqBG=ot|$_Wx5MEQINx_pS+(p#*J1q>>HfI}@41>?j>ERwsA~OY zcP?&fb?49dZ34mzoCC(%-Y3;nF`G$zDzZd?VNUGP@!J)!k4v0T*A?rbK~Z^V#;Alh zrnPBisNC%0OQRD0n=V4NY`MXHnRF!9VnTUo&|hJXzpVxH-wav8z4c{tb|Unp+w0S9 z7tmQC36*=XORlRo^M#ZD=A>d&QP!NF2vNHIKi#&4bZ4X#k-;dT{8Ynbfj6sL+-5uZRvCr6}eJ>_Qn=Si==6^u&s!6{pz z&r^u_#X9m}{jRnKo>U=p;;&D-@HEtc6|Zbl(fM8ynhurag{R_bK?=}$NwQrbJz5|& z%re6#XxY;bEm~}ZpbsYb+$=uluow!3H+0B&Ls~n4!~6TNo)`PlNKJ>t5+YNvCp@4- z#skvY5kFSO|^f%^>jQtxY$(B@R(w1Aa~p=Y+q}Ps`zN zvk6T_T(g$~f`fOHCpfjP5({~3rk^(V2_Un$JCLO=)J}1;&)ZR)-X6;nRx}Wm^H>~j zz*B+UHybAcwU@o2=DZCl2DMx{be!FE=y0Bb~C^K%Uv3kMUQ1(0Ygwze%^IW@0jTDRZ!NbNvkMRlA{OxuX zjf$Wpr)JR=pQkWZxEn)g`rYA0c9JZP*!*^VGg>lC|L^ zAeYKEQGL6_IxQ1CNf`-UjnGHP7ikVUODn49>EH7dmpbX`5Dgnr$Aq4TE$MdYsWj3) zIpknHJE;)bO03B`0v{Z)tC$u`f0rbYD6B^GR1w6f2t)1rX6rO!LWr3AyoU5dfgIx#l%2sj8pvhp3TgHT;d|tLzJQPdImJGaSv5Y5 z2-wIzZ!<>(AH;iglOO`wH!Kj#S5ZV*BAW*hu%z1pP;oT+t>JA6CVZ0o?AV+#wZ-t5 znoia8A8#Iq#n*14T59~-@Xh9svNa=Y&gJ1q|H1|g`Iva7Mc!>rv-Zs5CR8@} z`P8@*c}RTgct|#c!12{PUGZ8F27S9iMZ3sl;+xLH-JzBr-&d-OaHBO=pe8-%KWrO^ z##LW|Vn*~b;(`GAN$ep zqTzFQCGogu28|!fLN{+ z1#>e46qIgu8U?WMwWg~jOV1R%KGhu*5(UNV5Kk|-+z8fE%-IZPidl+4?PD=h@GaVM zDz{=#OO6W96gi?Pr6c(MYdKJ?D2mS%rJJqxrH2B}Z&;@Aia!|ClB2&I-d>OpT%!92 zmdp;}v$PnsLApZtEPPLNm_z7{zutZ#QTtx_B7BQ;Oe|^*B^FZUsO^KEL3N3Tn6}mF za|OiwczDEYgc#I5_E6HcLffKHYZxCMUOWs{yLpKf-7Dmwu2MXut7ZDoxBI|eAwT#c zg;QT9TlXSquvaPL&(FY##V@Chvxtm7c{8)#V!~j#qg8a0TT#d=Iz?`vyun#-b->>m zKh+0edHFM}0CYBHDf~h8s)uS=?Xgw@)lc6MY+IEe0XT(ZzGpcuT(ypJ2M75`mZ7v^ z(0qb~a)oYadx^AkS7%Fl#e7n+z{@J z{F&i9LK}dx|7YD1gX(e*?Z}TwwH9bEU<#(lZY3e75so~ZREq-$FX8JmD`&~-ULm&D z$^ORad)E~kJiJypC@RI;JKriD;*ii-!qX3t>!PrXKvV>Y6>z>wI>coNIR)}QnFVVV zV3m1|_Brr+cvo05raUNKghe`Ua)e@h0W$@%Kw~7!i9$t+@P_8ixi2x^LTD+ll?ZHL z<@p-v7#}lX0ksY17;e;Ebs`GH_dJKW05X2Ri~&))*(wf1)Q4|!jx}Aap~OI8(@wIo zOfydm55;VKu_;yF(j4avDEW)wQL=GjQF~tO|35A)@|0-Qx<-FIytpJI7CXpW#LaeH zZDKPHW7;G3Ow}x6*5O-@V>|&hg(l#(ZYe7UwTH!w!}kQoMWNPFW;?T-akR5ax>zY= z(si<=MAGkZb25o9GL2VY=S9ZJU2RJ$tm`I!)6$#Tau^SnfL~u?L0V%Y?{-axNgunhZySJXu`a^* zVTW4`R2R7PEljW6Ix7L8YXwn-O&0N_uxISb6-CC+HHq_2?Y zgtM#rqQYq{AZ9R(H1~TzMA&ns@d=z1IJ;US)dwrXh(twBvy=g`U=35_HGrP+?%`E7 z?w!SH=h$E>{q@Pk<%HLs1qZ`clNAaf;{1S6D=^O$IPNDzZZio@MPHLS3c=y@fly0A z2rO_9vSeY&Xs|Ux;~L?yggC?KoaD)1h;DpvbPRSlgE~eUKOI*u zz*`ARCNN4$+_NN^IA^S{)u~2FG2JYX%r|<6Imhf@AQ2}_a55whC8{*q;Ae!n51?(l zV|c5;8YMOw(iU7h$|JwG#TC}8gK1CUkMPafZT_J%cYV;rq~c9@E_{P_S5#`b5?gnz z4||z>7Cwp2CU%{o)gmPJrNY1Ag*WNT*wrM9x77E($ui+cBc>4eKIxVMp#`=qrU`Ei z5v!OKaYb}#o|x5|#vdDAIh-X_UpM!T-J-zh3VnWu)UyP6TDS*K;es>G!N zC7Px7s5f>I$#;}Pz4(LSd+`Mtvp39YPDoL;_4U-F_YnzY*r=8V^ym+_ViVQ=70aT0 zd$DV#`hJNO8pPGtXJ5oUt)s*us4udMGy|^_lKSImYW#Sr)1Cfh1=QvY2r6*W`$maF?eCKg zGYI6{vt7a>QEMr&*S;&Jx5+1cV6++Z?6WMZW2xlmm7Dm(5R*#1s zSj{>706hhcKFJ|HoG8>D_Rs<=Ifti^?kNxz!vYBMn`VX&5fwXZ;+{GOKtzG4m`-O#XFlO9^)+R+)3jI}~nCL95snYjsCVu6MImH-4-iPH^MEIfFdx zam6~#4LbbWq5@9ku%($nFxtZ-F)3h&^E$#ckQWynG( zkfXy2VfKigMiF%EP7lQ{4j*q7P+TBGXDbRcgU2vB+qPR>&??G>ZOivpJNu!aZM#vT98~LiICbj~c{nX# zoLSp;D+)J_P5;cI0^(!C1a{@U?0KyOb_+Pe+d4DnM>PPQ`e& zL^zx(ddu1cEi=f#@K9ysqrN|`(wrj%4s9?)`30^$(w(3NN;ZOswftIKHngp)6Nj8i>wFmpxPFA z7Q3PNws@;A_0|E&1;W^IqFWHdVn-F<2On=?0KH}Q;W2ujr&$^q#_!PXn6orn-!xh} zeRl9*npEtFnK#*hRzxArFl+z$@LDuQHif=P1)}Ocv72h%WbLK63n8b#HH*F)4)szW zaSiHKEPy{w=H)xr^Y{g-{&9FzA_*6Uz4}tHePl-^iWfp^6o{~Df zew4Kht{=tOFnptZTd0ycP+7pxiILn~;!_bN&W|~6Jdjv>0^Uc7OIqyA$Mf}Nnz_F? zh>i@$rHk2;Vz2FSv;LvC4fxzYyw=o-O^?j-f>iM;cJUrJ`D}XoLP&jZcmcNu%q*}v z=`~{J<8AF5)?;7=6w|dL%6Pn4uR)Y3Bm-dj%pK9Mo70?fyCryH zu!v_an3Kg)5DblmrCD~#`(#<*6!&&4pxkJ{RfV8AtFf?PPB06126Kb4aQcqm`z{)* z^MN-KkQ0{{zFN;LJLD4GfQ|Dev{*#BvEb&3qNAa?R~6^oU?)_lL!1;a9$uW?cyNSg zsfx;oU&XSx31PwbnmJvd)-=me5snp?8xwLSDmp5Jy~MZ0hq}Z{Va8*^lAYy5GeBt!I`l-HGZwV>M~3iREXA;v>Sdo3I8MQcz9~7!zk_XE!;*vm6z6mKeGNR6IA9 z6HYF~iQPG!pw=`?gI2D-%(81F-J-KalO2q1!5QJL!O69TD@kB{V{@rz^AToJ-_uKcwWj40m^uAJ79wFAV$I( z<(f7bRo+;M``=C`7%Q*d=?)0<&8bq0(xb-SDx_Ik5~iV1Q(&j3TS5s%?`NsdczoFv zj2Ql7&(yKe*jP|sIDs=+YVG2XI)-N35t|`I9z%HSnTmeTD)KXY+a2NB z4*W096910$?6p5kRyc7n(Z-$y$AIt|=8R7rRy?l#A^ks7b+j3R;xUoOo~ffi*gtc| zj}CW*ZTrl}fF(T35g^^RB4a?z19Qf2&Jnym56sm5-}o?i4CAq9Y5c=C4tIlX`ONKq zOL&&}_ZNL)VvRiu&Hx_z;s54{T}S^+U9rs(@Q#T*_DmfC!Va2Cc)+gp7y|_o#lk3X zq-Qw_>?~kc8e+nYJqwNl&k~CJ!A=4pOK7HssSM}NvP&f0X(#4Rq_o-DjQg459-c`c$n3Jn0kplQ+2+F^OW!F zuL%@bKl`9`LkjVSj4#|Ee)N~a2O6O9u*~p^*^7OvUjI5v>qW>Z+JLpGW*;H0g_G;J z8i%B3M}NKjgreeN$#xY4BiB`R!KihN{&aX@@eY=CI`iun2}5gyr<1gX`URSfaAPk{ zwXsGM!bio{G@I;6hzEXKiZ5WNz{S@ovSq}f_I8uO1(Cp~O7Rx3BS+sUhZ=zTby}Ie z?Pa>RSFwA~XHUt&f>k`*bV&~g`0i$Jn%c9?nI7m_cnNy*)UqX;jNt4$)RVA<-y<#H zz&>@4HajEHWLV<1$!(hG)!!=Dt8H?VH&N}KX73`J341r(Ott*zd*zyro6g^$@#>mv zb6Bi~pSqWykmDA1sBONbjo$tKR%)W!OCrQ_*w}d8W~${%9Oc1BNxwiA;EU9^n6G0y z;$qJ>z*-b|Ic%)Oc54VP;{qGa+hjJg&{QOO2!u7+Zc)G%C?QNc=1ZRkRm}E0U|WE@ zm1RDi-y&eKz@B|e+$R=R(ru-k^L@zFT@{bbSrQPT%zyJ+6+&fkvC8P)^rDru4Jlec z!OQe)ZkUHyVF&wQk$eE11@89@6WqLFR1vypTLMwa-C>MSUzBPMqaO@!xUkv=Yd6XJ zULl(sKiBC5_!V=`#K-HiAFyCCjQ*?UTzKw?!BmQeszlf!MRfRvf69pR1rjv^X3G@Z zSgWcfDGZ<@#TSCVtvW`3QU({d43k&MA6upv3?ehDjg1$!)rQkY)iY8!@Yx`oFjv*+ zZ?>l(ROBp5;lR_23rEAv9}F)p$JAnVjgYfK_elUjE9Cp#%0N#nQWJZ2psJ2K+DFWJ zG46YqmumDE+erv2QcgQT@XgZhdsr|EUP|mYV|BM^P_jbj7+tM*RxME+XpL}ln`WVt z=1!7Z^bNO>*jRyPcD84zK3#j3ZiPBW_d?-HL|j~dmgv4rKj-M%8T$7W{cS+qCWf!P zbvj=X)%f#$nwNJk#Rs)J)N%8$8z-&1sz-l3yyy|3xL#%q%RC&b)1Gvo>O^ zo^Xod&CJ;q zM<4n;3%*RZ(q5!hn3FUYF3~56AI!V$c~)XA_gP!tz`keU>g}q=2m3T6Z@!BW+&Y3( zk?ZL!_y@7JD!45-kWbJohM5e0B?muZ=(X5t+k5@iimJm>g=1xi#S!DBh;NW4+r`~5 zB2ZCs(usxdCriczKlol{lYAQFy*Sm z)r%>jVN~=R2r3Fh6zUk63wCgXMWA7zz@oVm%5CcTVh9j64&Tljr(4j*fy7HTRqcIY z;~>l{dtc*4>HG0qsqxPa>EyFSd)Cmb7a4ljJbW~GovfZA&nuI@7T=`HnA6)^mBaxcgz;&mqfg)J`-!-}E74@_b8g zOoW$cO|ZbNT5*zT?8d|rdp4QKR3v&j*IDQK@V}(39F1?6#o`IFy51+>?;X;9X^~pd zSXA2Y8fx1fVxM-fe|m!WdX;{zP+WFq8vB4Wm7NE{T_&YfjeogMllpk7U1E2-1{+co zUHz=IZg)tk8-w7fZAd>BRK9L_fU7*Pfl^OqTnMVw)n~#CIg8+f?MH`83(hE=m=vB5uXE zEvMV5V7J6No=x-O;0ZDx*2sGVcD2=OFjdmGboVJE=}6;VxvfFW6057cQT;k3$&0vU&`)WLd3C(hxaE259(7egF3UO8h5g}r;7K4fi z;d}6n#UXAr9rGK*4i z;}StJtF4haw`%4KSQaNu7WXQxm)Sk}cC=4oH=m_Oo~AmH8+XxsLdM*yL*)a^JHL?c z0M2Vu5xY5$w6AS2Ncy0=tTs+i}8V<9bs+T)t(ru_pqz37@-OM6Xae7wbRPL5Zi&ewwJ$=xUhgF`^ zFHm;yGR>>MNSbk_`VxKCygaFMC$Y>1wA!AQg0*`paQa5K9aV|Tz_+H@RE$0+MQL|n z=%Umx`ONT`#KDg6^IdOtC#dkw9cklP>p&uRlIQKEUs*@n2aP==8&gD$`99!oYm1yA z*d?=lgsS3N#DV$d->w8SJb!d}JhQSmOPF4*-Xh()8j1hfg5_y*l{D~jyyPLthy!c%c6)+6{n+;qzne3sb2 z3gvyBBFLA-k;rfouF>CD$yP`USYiy?RpK!=XUCq=d@lBZ^L@1`POH&RhabKvq8lY1 z6=fn%cfsVZrMOoxHZCwvJ2tHQIUT|z;@bX_L|^+^tX$|BAyMT2E>!S|;_WFiSI0^A zM`5VB?EyTD2vxL-9Jd8?7FoQF8devEAMg^PH)(!;oAx>3O12f6#aGNqE#Grz4}h>4 zY+!Glj_%;ybba``Xds%0EYc><$sGQvCuQp=fX*V$dO@|-^OY@ z-=|q0OcAR{KktMLv13il{Urr01?we_*JXDROLeQ1S$4bj*wWLhjAIQmWy&>EhztAe zb?&Os-w%&SozzAMLdB9;R)KJ^Ql)dO;pPvA7Z)$?PKTS=j2(MM8cnRPLmXIV(mAR| zf3@8jpMwvq5a|L@@KIv*ox!<8D~#ALzf2ytJqDmI#E}w3RXw|H2iROiu9Vv6@l0DKKUj%r|T-kgZfasL>>*!Ou}gq zi?oKgSjUGj2Bx{@T1JO}M(nqV^IeVa>%(}S-4-XgIYgzRPDF}u4I{jccw02={p;`o zbxOJf_ArYMb5fEYpM(hEMZ~$UN`%(pB&S8-kOIrWq05s)yEF(WI2^xH3WsMX`opKq ztP(qGCU+w~BX7>9AzwIQReCf2obf;yZe6)ljZVwcs9eF@qR)bqm7pW znRz^U@VX}N!UEy9$$nT@R*?EY1#9jX$bxXEEVgak$pkB-`q19+nPROdl8qN5*!8tH zgVCP$E0ij^BgdKZ{5QtnSthF;H5zDt$tVK<3CX@82q~2_o?-Qf<*OnkU zcvUgJi&(KSf?X7*1Xo5-Ik|13miRVH8&qV<|p*r>12#FUJPx6I0S&eDGlD50pC}dFL`CW zm)OzErq@}TYgS18xZ6wh5njSb^lcfw*D}Uckv+XJg56o9gc#Cu1mA2K<5a`UKbM*# zfRMKdHSjKV%Oo^>V0BFLtf$@;CqB>7f}LA~(m1ci_kU0Yr6N!4CWr9c8kHtI4R-|& z&~_;{tVT}}`f%3jBIzyGT(6T=GW_6_7IPbeWCe?zeGnCVu^djTQGpO-4&m90NJW^~ ztp~Be@5KXe@{tZ=8rS`0(6XI*^xIecO6ima?}9%SpIq{`C>>ha7v8e_7Jl=0=$?iMvc_NUD0cpe`*$;agOxw7Y*X2YY$xYp`MFzfAuz3$s|zj zc{zN;Y8Q02oz?i+J`I}`DUF?nmgfGl@~qaPbB z2o*ivzJenyt6Orc;ihoB1DCD5KhXT-+tD%mIQER}8qapd)#Xz2EYX}Qc`hE`@X4jL zPJ9X7L@=fth zgnkQ(+%gg(mO|aeh)YGG7py#@t{+$sXc#PdQowoA9GEF{?eXw%ZR1e;p6kg;e0M{c zZEfh=@9h>9J}00}E``g@AV3wREnVraNVHq2;B@pyC3U6q*&R~t5Kpbr$Iuje){ZCe zefCZvb$O~rf4%*LprXaI|M@=qm|!%#6u7OD=Odm+FOw&Djm|6kI7RYrQ-<{GCf+cR z271bEsYXsScBN>vi`-GE5h~G0wco{o7HBx)nx!M_?)e+ikx z8y_>?Qd-;_if#RhilIec^o*WGhNtP8)t}djeHyH)7vH`M66=m%OO2x{J(s$ zYgjL^y~Q%*Ut4mLtPpoVJwYZ0!HhoL`7&+L^8i}{28t?DJem^5GPTING zn@5l;c0HT=nDG?zprYZnz*-@Pco2NY-KF+KTpQ8S;u5iE;q}FVtP3wHdd%ciX)P$S zPN)%b!N1KWDiw{M<8jPnT4}A)uvZ` zm$!3FoOsrjL{;K?`VXei)zRSP2+fPL)7l-OjfVodnD?)>iFc{K}E^J#EA zZ#+G{1x2*6PHM9XD+hn>%(ONH6#SJ~3un~;!LE`n#x0Dz!u7iOODydmq-}d5%FCLb z7b{;Oo{Fr7Z?qUxtav%n^I{DwBpMAf1#<5%n3KU=#zfcxl$r{-!1w&Oa}h=>T>E7h zd*1jnK9@yu?R^rl!7?jBs5lZALgA1q?BMV@*Kku{b3PBUNpRCfLKs8sH|@OGQ!BOb zgq0|t`y%Io`Xu_`som_-0?NS|){^`dX*es8-^Jj5p5`-T!((OMVNQCo#k7%^S3Pg6 z{V-2O=Cd$4-+L`30u>)#F5q!vdx!bdu=01qhn^UqI#$AiNK@w$S?%FCp%(IRbX??v zY5Z0tQe8H)cyci2GRZWNDHt2C4UaLG!pIH`{*}igzeL}$d+|nc-(nx$-0AISD9-Y# zIfdY5I*H(=-W!p_H4TJwZ;j=6YadEVX4UvV^$|;6MEXvbwN;$#>YVfbj<@#3q`FZX zivBEjAYWz-rcG#NUISYD+bKtWRV5j*%4kNl&tGD=vw_7(Qdq^04dga!<8S z!EV_j0D$6K=H^%4?|!b{le#8yP-D^Zp5Bmm!rO7P0^`O}n3rnw=Os}WChSK93!=t5 z!|ix$7kijL4KIILQdA6Jj_jQLaB&A-o#?Cuqgt}! z*6BGC6>fP+@vY&i=++??pF?++109C+&h3oWmyEfEd>50>l_q-xs3$MQ!(AC8Kk+Viaz zTE3OurfOXDkWrmz3gH_qNENZd7sEX!zAvV?Q^D=%H~KWLuPOl>Hz+Q2m8@ik+pb5} zQ(KCJIW!$-5;!LzPO}>Q-qvfd+W%*rg$g0~=lRBkpy8mvnFX#-mMFf1eZerGXLW8N zgwj4etj$G{(+XzaY!x5E8H6ZsT0x964HHF&io}G=g@{{j6IxdypAVw&{SA$eYV_lh zT0$e4nu8{5x{3^u!v}HrHowN3hK&L_d=8!*D6puwL~)ick>)5NqWH2*B`g?-%0GWg z=dwsv-{upIimaAR;-9Rgi%Y@Q_{rf19}{1sljYBwwT9~^6U&~QV+WUw49oBBSa2WS z7OT&i{rYDp>FgYx#Bw%y0!y2k<)m#P`6qS(o9+%ny_MB?p%3eMrr!1wtBPxHE|s_2 z>!Q{$eX^wRaURqKva{C+)pq|}H;`(x!KBU`8u6zon}=^!zD$)MyNY=O+HwM7FG`a;8AJq((t#tPt*DsWtU0s-8OsY z_-=r99u{;`*xPPvw){6In_%R5fEdDVcT2Y&)wsZ+Uff?@VqGleiz5Hc$%Lk2Q6w%y zkZ#9Iw{0`Uqkl*y?zKid@Ex*QyCUv0CN7vW(UykRiJs?=WG6eM!|f=D%P`T+C_ELH zUTgpkYg(WhK8x9l&y%ivt2s;84oK@C^+60 z801!zvJC}iYe{B0{FN4!ibRn*jQiW2-y++kV6Q~lCl+e3I>sk7*^~AxE+#?WNz#WG zDbjR_Opt-_=J_XlYrDpGH7>9@LL)RC=7txLiZah9;oI7^wrDsja8J7>jclq_ns<3Z zxlW&99fojM+JKSwv|}K`^T^?}$UW^jguBQqEg}_LBF7(MgTIl(y@s^{*Fv%>eVQUH zw@r3zS7=hdX$Mx>=RN1eC;WNQ`4EnmBKto!s=+EYMAA91;p~4Wgqh;t?1tmO+3t>) zf;ezQW(E8-4*14%#;M~^!@-~Qv2^p|5tqoWUZIoyE;O?a46WM~pT(UecC1@l$9~7y zmv*rBJlDQyua@!6<1xOf(cf%OL8w^q*0&(|&y)EW?lcWI-x*$9Cn+}2-Vr7d(MCwm z+2Ub2TktL2OtBgjNQNrg7`0c$6&oQqRSf6BKCuwD_JIec@XK5wz zJpFr~;yfoky`Z5Wg%Ugu8*c5=J+#a|A5*YrofL|!MY`%gC_+}TE-owv)?pDl$tZXq zeZLO^^X54qJ*KbPGg$lkbovX{E^|BiU}`F&$n~?ylU7ekk@*GG7UK202w%40hPxB z-@NVfQ6!JmCo!9*=JY+RR-d<-_B|h#dUb>P9yuf2c*{q@zPBVcPv66~^_#Et{eKyL zT4bUp$(xPM2t8-^$E1$uo2Vt7YV_M%qao_3^-}owj%e99t>1pVRCBQkeVZZ^T_D>D zt!K}9v-1&?#lVfTl&aD9wn}5v-fPXbu)+KWD*ZQparh>4D9cXuAc{P{!;zkZRTlE( z@Jx$C+l*Q5nMFvbZ0_@(2=k0!zNa}Pi)#G&JA!{L*y;TQuZ{*U*M{$g4t0hyE=K=c zs(b9p%cSR~hppAn2 zQd1J{+Ex+=Q^ZMD^zp(;P@!|Oad>?I?OHD5nNOO=Q)9;lyPNvWg zEo`*yK%a{uC%(+S(K&c%+l9U$6g-r;MwbC;x3BPMeT5=*tCShqMMR%rYxn)ULf+;@ z3PQe2*5^giO0QCunV%sNi~RMpL%cKtdGD*TQIh_S6A0=G4InB`ksW1`hCTR_;FvXJqYVQ_nb zbnq2ASM?>*yj?vk=?&x$ddpCJ=WD8^Rf!{NQ$)9>cvYQzQZ7o*i>R}&5M^g;7~eM= zg(BIQbtg=rpIf+wpQ9-e*}7^xcSoe5uu?!*x3G-tk(8JfESC!{pC#*fg;-iQXO-br zoi2vMOHWha&s$yQJ8M}mU5<))*&$-HX}+rWyft3FsW!x=hLHlfhCWo6X_v$rWya_1 zwVMJNp5-`iGFxJN6v;k|5$qzw>IArdlQ&$&M9bE55qUco`kkWT;=5&(_6^ESzD9b( zXCy3~ws9L16z!t&Vl8}&EILJ}T8#=UK!nK+)kw9+y;vLH6C374>+fRwY$Y4ZG;hRu zejw}HTX2?lz{YtgxaTrX*hj`NLQqlS?aMwcY~(n98eV>PHu?b>bhsbO7ZJ38&3%h$ zgxIt8o=d(%RSLo))$&k{3T)bl5iHSY6&K!o!MBjc_|ouD;6Q4h1?^mju7HYIo!*x9 zuyCmJiK@~ytZg8+7)vjxqg047fI6iZ%_DP z9X9!!mR?VL+PlewZy(KVb2UDFN8sy}3UDYp!#fZS@@`V$TTOF2LD8<`rH$*BQ*@r< z4f@aCnYU%f#fvi7%r~dzc1c?X)%cY=9l~3dW9EA7Szz3FvjN}L+RO%D{%9$o>oWlE zl)6Qc2+flzq3=J)bxt_fc?aV0?X*0mQ$1RJ`N=zA;?w)LAM7RrlWLu|CJlEAd$FdbL)miu&wtvsU|qTPlgR{MdFucR z##fKEs~SIjN041BH87)kaiRs|;m3rl;dcLQ#GQAGpF^LI(%82)PF)@CCleyrTf^YH zb~Pb$3yWm%g~|0(15Pv>DNt1xd+Q~9pKiF-8jfeIHYUMySPT2z(Z;Row)T?=5$(lK z`JP=(*mkb5$S!b=eVS}Pgl`rRs~8u7MVzmR6YbOO*Ra03q|WBsKTer*o>wR~@P1EQ zBaGJYlL>JwYzqh!yTYA7yX`1)-$IOFKkSCZ6Miz8;8b)9TLQww?x9%Qz|#xHFnxpm zT_s1l$T66f1zc!}bMHUivTU7bd>x8!lL@C1r$R#z$f;{{QDj$0n@IVlsyGmn1DX%7 zsLh$y_XU<>E!issHJtz3xBq=?Oo#??mjT3q-9j2)MNZMv2=zh55CTv!B0@6|3RV_1 zUNxNja5@-wKaFQnzYCz%tq7$$OC@h5{XBLOaZC9bIqe1w{IFKIx zLs&A(co_YptYSH5%)!;E#=}7R*265{`zuA|b6Vtfm@v7?FguK3a&QI9Kg_*`s{)Bt z)|{|0h_=w$j=ucf7FAeRPN)$*4}tIBZSz}=3tT+cCbF4?q9V)lCHS7*b{iBtjUOIf zPg(!*GIW!3oL9f4vw ztS#)os)`q z#oZ|o0sIn2wa8u~SA9HDE;b-y&jR|$3v=^LxQ-L8Kfg1)-ofmL8w-$=?TClP(AER- zW>*JX{vJvqlCM)N5@gm%4b?bx{E9?gG?>ro(nPHF@3)5UUnKk?lA+y2VaIRJKJ~_@ zy9Ji1RHNV83XM?vt~DMJA$Q`_`s+7_Z|Vy)4sWPuBH7+*Yulc^Cz3T$5|*Z=S&a&8 zQnr@l|B4V>1Xs#fY~q%J-wjc-3%IXj`-EpNr%btP^JXBc~@)#AO^P>CS_) z2ySyyA-zbj|aUu=w$Ye`S z>Ns?l&r6Yg-Ww$V6(!>Q7zo9k%qmgh3uUG_xkNp}GtjICQ`N$WJGm&#OF^83iOy7; zv~c3i84B~K;p9id+nYR`5MsDx&W?GP_T{da$P-QvSs`omRu6lnpW>~=`4JdC?!?wO zKh@|jx0fJP-6GDAfN<bT>H5%(UzuVXK(Cvr{_fx$Wsg~39bB^j?tWS_dz3nxB8#(DYgS3W` zyEh=+vLdUj+e54>iqA^V`H0Cg&TXxR=>k{2vCW(Ac{kXH#dK`VB=(HfTw6GH7IV5a zRf%K$x2`C2uj*ez!7 zUNO3OwTLdhV)QU>3@Z?K@a%`9W`%=in0Si{+PiVW)9K%mqEzwg*}F&08cB|LHS89% zcV{o~m`;s7Yumd=&3;zaxA9gKw0Gl#OW-voqS&)QmTwEASg*+usfN-0{bH)P|L~lN z(qfYYGJJ1TpYn3g9;cWqY+Oz;zgm6CM0o8w-mo#=v!q{7)6c&*QC?WS1@x^KLO*KO zhx)Xz$SF^K7?=*vvku51H+?}2fW;Bn~KwFdA?|9AKord)OM+QaYiu(dG~g@ zrA6;tbccj&2QjPq)r&F68@|(`*X)RbcQ0<1&WNdr*t2%b;h4xuOAEW`9gJIFv^m&z zYi?aiIsp7!f zPRw_GYfV@BeEi_>ean6ixnfiJ~$#G0!pbuBh8?raoBl{($sbbICp8PT63FWk@ z8b8&C?Yse$LwGX_Q^l+2*YiE!IqlT&TO{VsgLw-g*V~K4cY0ezptq(_q<^alP(`b^ zpNVhnjtf=6X_;$0SQ6X(2ln_ z(Uex4tobTJyge%OCT}k#5)C7NUV8c%0x7Y%Gxm(;RnJV}o3VYhAL6eX{loSajfyJo zJQKb(J5O91wthOi0Bs%*B8v7dj?|z7YwivX_pP0)9DXv{u&q4rfbZVc_^(PB#2TT^ zDkv3+t$~Ym7_Chj?*3_b+_`}H%LaF^)VcI7tlEwVPV)V8)oauE5Z>vwe9L!;?`nMC z2UAEY*1Yp=`IhjI;55Ab^Xx?VJbAXUvtcGdU2F!8J)_yxv;Fx-@sQw{^J-kcd5V)9 zc8JCV5_=X{>+tM+zIi;}8V!H{QXYTuT+itRDr=ik=XqzQ@LlC?0ZMAs_#+=&VX3;$ zJ6DD8IFAWX!C#4~1V$(B8Q|IWGJX5vAbKwx1#Vk|6WV+SobV1)LO*u==xwRSj}4DR zoz(OLwzSw(WO_-_d~dqmJ`IyQh8M2u+1a5oHl@U#(cJ7=gU3y7Sf~Y6iKLGZv65(v zi6r(cFgv&GLiiw|R%sYKJUj;N060h5@g`|St0A8!e+2nrUEzj@t`tbfZbY**-x+23 z8CJ|NhYzGby+|M5te$FfksH-hM7O%2RgLS#6!}K=lpHkN&&?9|?-M?8YPg-REt1RO z{&_ls6*Nnsp6^W$3!bT0C9YLT5#8Ei&cQsg%~Dd(Fn@G*n7>5#58tNzU@Z<%4)ty( z7!dc~Ir@CJcu4rJ)z$dS9bs$d=*tPcoyZcfaJ)127tAVBx&t;C|KZqcIrPifWkCFU z)(+pw9TLB7^-R%kiOy2*ml1W2?nf?LO8gr3XK3f+EGL}aHp>oS&5tzJa>%!5#3AO> z_HAsNXKLqLqFY_iIk>lH(#3?Y;eLL0)9{JvJ!A9W=2@vAFy)ok`U7LXW%b~cijdlI z?XJcz-VryeqPA@_o!x^|`fy%!x(l>1urSL`xlQ?2d~4P$M}b^F8E^&=d#%w0I5#ld z1+L}Q`0O2#TNOCKNDz6k=!Tg8D}kVmg{9eb%q8-EamL{gwh${78#nU5SwY*U;kjm@ z_-AWWAk#54Dx?gm@hf+P4?(>-MFNd#E49Xly=6wTm1Ku#V&`*VbzM={rKkSV-G70knIz3*S_qBlr!+`(_9`$1ojx*4FEM z>wQ@4wyiTpyCpkIg(97)=~Rkpsf)ENTtfg)HZ67y>oc{}H$KoDLv!p|7wPa;!y>mW zow1#6$<7k#JayWzaZHG@X92C=!Z|$Bw9qx2ADrd%>LS^*>hikVCJq^`Bq zc=3*ybAw|6#JB92xM%7_uVMa~*>;ADTh9{pGEh6+L@W2tVp5I!sFH3qE)Wh5>p4k! zYl>R6X~ce9h(GSHN*QR_FR)e>?hqLaowh@GI<+x)|C`nD_GvgmADe1p&&bXZn^DmX zDG%1IO%z$J`d|n>Jsu8Glrm=fNC+z9p~Rs~cCF?WvrG6^y+U=CPM|{0P8gfH6J!FX zVmBNvB$I2Z8b{UWuZEuvH&z5HYQ!Elh()e(YGTo_@_WMzidSgXs|%FRd)1tnev;NR zzd&pJxX~47sYu;65JE)8Aw&U>EyYJQ`tkN?yowF6=K%tNHCn5}}*D3qy zwwLkUZ|Ps2MS*5wMa?!-)?bZ&V{84O071?6pH9Vd;h%srBRkS+3c*y7>)tkCD~SJ^S+s zXTYJUuqJI&Ev;(wJ6oqgYJYl5_=k<9)^4QMkN-M+v-y1I7br;fBK0EXRk^^}o>ybf zira4d}|3yMV>gL;0TFNW{3F#)bLl}4jW&jG9cuv4;v}5n92PvYa1{R_@Ix$?ui+a zZjqa7ww};bEQ%{CfJM2RiLodJso-(`na^JO^!)#Q`rDs>^}E0S|6KnM)t=w{(*OAK z!$Qn>EFE{edwOYckS4__ko9Z?yNuUYd-C7K0VodI?#MN*nFDXxzp5j z)cm_({(Y{lZLxXlWb^4v^XY8!=`+ozE6t}@>v~_S>$=)JS#Cb9G@ouZpT5w1dZ+pH ze)H*gzv@2ziu?FA_wiTV$FIAO-*6wl={|nTef)Lz@!Rg>cihMC zx{tr*K7McK&JR6a?YQglYTu)GKfV(^g{@~@Np>kR)o z%fCLuzewh&>{TQ1kG{4SU#{}smigBT|GLS)zQDgoym<3{{zZb_P2V6@^ZP6H@2}Rs zf2IEYwfZ-S(Y*Kd`Zo#CeE(+s`&;$zU$1|EyZ-&1`ZtNoyiWq!dG}tD&ja`1pIvu9 zzJs{_w2iu3h%nR+OcofzFoUb zwflCVhkVlWM-lym-%^5AWW+XWu>b z|39?vfme4MzFyr!pRe%eEA;wq^ZIUnol2PhqvE@F?qiyJ=&ifWTX)l^`|#{O^Yy+x zyQ=De@k1ony$_5ZMwg8DJqm%4cDdKc{D*t09VF_Hj-R}z+DU!$L;63xj`w&dK1yW{ z5X$cc%6CKTk5XIcEn)0({952&&)rKe-9taSKy;UR^xD1j`GIBn<6UU@ zUHJA(rfFZh8^lLn;a_7Ex$gnylm3c+9PimjA_DYC@6x}&f_Luy*lvIi4Y}7y`#!_% z{d>5cZRRX3&_I{Kwzs$KP)1klfVOQUmww^;!BR z7yITOdbV?~EOQT@+=IXG+WX({{<((L`tS6}Jh#99jcnk<@>x>@5A5k^Iok54)BZ@%$OZ7(5F3S z%+d!Mp*xLsyn7c+iQUu^`YX*%fP&@CJi6cfd-u=p{yFo)KJ$X@&zd7!-~j?KYS~Y9 z)US}1IzXCY2mOLp*nNEW&zo1CH1*IJr&sIIUVjSIjnemjc=z3=^Z}H%EFFxo^yuyf zOo=(~rCRv5x$rkWj9RqeU^ zp$Eo`JNNF{ZGY2ve6V_O#~vEC4^}_(;EsEY65dN=@UGqT9!NZ}d>0uJrqk}S#IDNv zm*tlg`Q@hk@&)?nM-`QumIAAhC!<5%%VL+ak=cK;8iBS*htXj$ad zL*F8h$QW7{e)e}$>l5cQRzy5GN0!F`T>W9iU{C~so{dGKPYWjxv?VI>! zIKAgXq|XiH_wAb7{coA+Z<$J4It6;4Xw)+Re*y~cYiRsBiXE+o%;?*u5<5N;zqwi8 zH7xBtX!-b#siM~2Rygh74_Q%sSH9ga^*#L6XqJ=2?cTjR;fau`_NbYmf3RyuMHoN7 zquNBY;xxO)4&wH^QAZ$4~Z!$1EAK0n@k^*;P>;yw4^^Gml^Pu#e1 z_Ug*5>gL+D+pEjVpLpZO4fDcJpQO5e#=SfAryZv9pR1~oU$YS>g=@Qi$9pf(&u6Rq ztN*yumHLl6kIs#{a%|*Wdkr6*`N4?lFJi z-=8+0tLiTLEvhwtJwgBOpjvU(`zcx%#cfV-UEidbJpT9drqpG6dX@gVM$fO(ipvT; zy=9(P)qlO~|0R+;h$oko(XHwKGVfp`IRAHqR@_JiwCiCfm9_7mAnI#$?*(?AzU|R@ zoZkH;LB_rNGQGP>Z#!P*s!z~6{Ifvsf3|v*-bZV2n%FA+zDoStO(>Oeo8V{Z%)cAd z61=@)-d>?QV42P*XpQ0q{Z~6f4^?tSt4n?O>u9OxlU_R>-5g!^z%O%`seGv zuhjHyTfq%Z7@VAsBSszG`rp3CvH>ah|N3y YOG)6reYk?Q`mfKXUcB>sJ4)dH2cD>fz5oCK literal 0 HcmV?d00001 diff --git a/EgwProxy.OsaiCncLib/EgwProxy.OsaiCncLib.vbproj b/EgwProxy.OsaiCncLib/EgwProxy.OsaiCncLib.vbproj new file mode 100644 index 0000000..c9b2026 --- /dev/null +++ b/EgwProxy.OsaiCncLib/EgwProxy.OsaiCncLib.vbproj @@ -0,0 +1,784 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {DC6B309E-F8E9-4BA2-A621-4F617C072533} + Library + + + EgwProxy.OsaiCncLib + EgwProxy.OsaiCncLib + 512 + Windows + v4.0 + On + Binary + Off + On + My Project\app.manifest + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + + 3.5 + + + + + true + full + true + true + bin\Debug\ + EgwProxy.OsaiCncLib.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + x86 + false + + + pdbonly + false + true + true + bin\Release\ + EgwProxy.OsaiCncLib.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + false + + + true + true + true + .\ + EgwProxy.OsaiCncLib.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + bin\x86\Release\ + EgwProxy.OsaiCncLib.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + + .\CndexLinkDotNet.dll + + + + + + + + + + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + + + + + + VersGen.vb + + + + + + + + + + + + + + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + True + True + Reference.svcmap + + + True + True + Reference.map + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + Designer + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + Designer + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + + Reference.map + + + Reference.map + + + Reference.map + + + MSDiscoCodeGenerator + Reference.vb + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + Reference.map + + + + + False + .NET Framework Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + false + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + WCF Proxy Generator + Reference.vb + Designer + + + + + + + + + + + + + + + + Dynamic + Web References\WebReference\ + http://192.168.0.1:8080/%3fwsdl + + + + + MySettings + d_prod_WebReference_OPENcontrol + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/FrmMain.Designer.vb b/EgwProxy.OsaiCncLib/FrmMain.Designer.vb new file mode 100644 index 0000000..a550c77 --- /dev/null +++ b/EgwProxy.OsaiCncLib/FrmMain.Designer.vb @@ -0,0 +1,426 @@ + +Partial Class FrmMain + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FrmMain)) + Me.LblConnected = New System.Windows.Forms.Label() + Me.BtnExit = New System.Windows.Forms.Button() + Me.Tmr_Main = New System.Windows.Forms.Timer(Me.components) + Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog() + Me.BtnSim0 = New System.Windows.Forms.Button() + Me.BtnSim1 = New System.Windows.Forms.Button() + Me.BtnSim2 = New System.Windows.Forms.Button() + Me.BtnSim3 = New System.Windows.Forms.Button() + Me.BtnSim4 = New System.Windows.Forms.Button() + Me.BtnSim5 = New System.Windows.Forms.Button() + Me.LblSimPrgSent1 = New System.Windows.Forms.Label() + Me.LblSimPrgSent2 = New System.Windows.Forms.Label() + Me.LblNcStatus = New System.Windows.Forms.Label() + Me.LblCurrentProgram = New System.Windows.Forms.Label() + Me.LblProgramName = New System.Windows.Forms.Label() + Me.LblMachineStatus = New System.Windows.Forms.Label() + Me.LblMachState = New System.Windows.Forms.Label() + Me.BtnReadOldOsai = New System.Windows.Forms.Button() + Me.LblReadOldOsai = New System.Windows.Forms.Label() + Me.BtnWrite1OldOsai = New System.Windows.Forms.Button() + Me.BtnWrite2OldOsai = New System.Windows.Forms.Button() + Me.BtnWrite3OldOsai = New System.Windows.Forms.Button() + Me.BtnWrite4OldOsai = New System.Windows.Forms.Button() + Me.BtnWrite5OldOsai = New System.Windows.Forms.Button() + Me.Btn_test_file = New System.Windows.Forms.Button() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.Lbl_sw_phase = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.LblMapoIOB = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'LblConnected + ' + Me.LblConnected.AllowDrop = True + Me.LblConnected.AutoSize = True + Me.LblConnected.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.LblConnected.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblConnected.Location = New System.Drawing.Point(4, 355) + Me.LblConnected.Name = "LblConnected" + Me.LblConnected.Size = New System.Drawing.Size(37, 15) + Me.LblConnected.TabIndex = 8 + Me.LblConnected.Text = " " + Me.LblConnected.Visible = False + ' + 'BtnExit + ' + Me.BtnExit.Location = New System.Drawing.Point(4, 400) + Me.BtnExit.Name = "BtnExit" + Me.BtnExit.Size = New System.Drawing.Size(11, 14) + Me.BtnExit.TabIndex = 5 + Me.BtnExit.Text = "Exit" + Me.BtnExit.UseVisualStyleBackColor = True + Me.BtnExit.Visible = False + ' + 'Tmr_Main + ' + Me.Tmr_Main.Interval = 1000 + ' + 'BtnSim0 + ' + Me.BtnSim0.Location = New System.Drawing.Point(6, 447) + Me.BtnSim0.Name = "BtnSim0" + Me.BtnSim0.Size = New System.Drawing.Size(18, 20) + Me.BtnSim0.TabIndex = 13 + Me.BtnSim0.Text = "0" + Me.BtnSim0.UseVisualStyleBackColor = True + Me.BtnSim0.Visible = False + ' + 'BtnSim1 + ' + Me.BtnSim1.Location = New System.Drawing.Point(26, 447) + Me.BtnSim1.Name = "BtnSim1" + Me.BtnSim1.Size = New System.Drawing.Size(18, 20) + Me.BtnSim1.TabIndex = 14 + Me.BtnSim1.Text = "1" + Me.BtnSim1.UseVisualStyleBackColor = True + Me.BtnSim1.Visible = False + ' + 'BtnSim2 + ' + Me.BtnSim2.Location = New System.Drawing.Point(46, 447) + Me.BtnSim2.Name = "BtnSim2" + Me.BtnSim2.Size = New System.Drawing.Size(18, 20) + Me.BtnSim2.TabIndex = 15 + Me.BtnSim2.Text = "2" + Me.BtnSim2.UseVisualStyleBackColor = True + Me.BtnSim2.Visible = False + ' + 'BtnSim3 + ' + Me.BtnSim3.Location = New System.Drawing.Point(66, 447) + Me.BtnSim3.Name = "BtnSim3" + Me.BtnSim3.Size = New System.Drawing.Size(18, 20) + Me.BtnSim3.TabIndex = 16 + Me.BtnSim3.Text = "3" + Me.BtnSim3.UseVisualStyleBackColor = True + Me.BtnSim3.Visible = False + ' + 'BtnSim4 + ' + Me.BtnSim4.Location = New System.Drawing.Point(86, 447) + Me.BtnSim4.Name = "BtnSim4" + Me.BtnSim4.Size = New System.Drawing.Size(18, 20) + Me.BtnSim4.TabIndex = 17 + Me.BtnSim4.Text = "4" + Me.BtnSim4.UseVisualStyleBackColor = True + Me.BtnSim4.Visible = False + ' + 'BtnSim5 + ' + Me.BtnSim5.Location = New System.Drawing.Point(106, 447) + Me.BtnSim5.Name = "BtnSim5" + Me.BtnSim5.Size = New System.Drawing.Size(18, 20) + Me.BtnSim5.TabIndex = 18 + Me.BtnSim5.Text = "5" + Me.BtnSim5.UseVisualStyleBackColor = True + Me.BtnSim5.UseWaitCursor = True + Me.BtnSim5.Visible = False + ' + 'LblSimPrgSent1 + ' + Me.LblSimPrgSent1.AllowDrop = True + Me.LblSimPrgSent1.AutoSize = True + Me.LblSimPrgSent1.BackColor = System.Drawing.Color.Blue + Me.LblSimPrgSent1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.LblSimPrgSent1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblSimPrgSent1.Location = New System.Drawing.Point(130, 452) + Me.LblSimPrgSent1.Name = "LblSimPrgSent1" + Me.LblSimPrgSent1.Size = New System.Drawing.Size(16, 15) + Me.LblSimPrgSent1.TabIndex = 14 + Me.LblSimPrgSent1.Text = "1" + Me.LblSimPrgSent1.Visible = False + ' + 'LblSimPrgSent2 + ' + Me.LblSimPrgSent2.AllowDrop = True + Me.LblSimPrgSent2.AutoSize = True + Me.LblSimPrgSent2.BackColor = System.Drawing.Color.Blue + Me.LblSimPrgSent2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.LblSimPrgSent2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblSimPrgSent2.Location = New System.Drawing.Point(152, 451) + Me.LblSimPrgSent2.Name = "LblSimPrgSent2" + Me.LblSimPrgSent2.Size = New System.Drawing.Size(16, 15) + Me.LblSimPrgSent2.TabIndex = 19 + Me.LblSimPrgSent2.Text = "2" + Me.LblSimPrgSent2.Visible = False + ' + 'LblNcStatus + ' + Me.LblNcStatus.AllowDrop = True + Me.LblNcStatus.AutoSize = True + Me.LblNcStatus.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblNcStatus.Location = New System.Drawing.Point(250, 328) + Me.LblNcStatus.Name = "LblNcStatus" + Me.LblNcStatus.Size = New System.Drawing.Size(35, 13) + Me.LblNcStatus.TabIndex = 26 + Me.LblNcStatus.Text = " " + Me.LblNcStatus.Visible = False + ' + 'LblCurrentProgram + ' + Me.LblCurrentProgram.AllowDrop = True + Me.LblCurrentProgram.AutoSize = True + Me.LblCurrentProgram.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblCurrentProgram.Location = New System.Drawing.Point(4, 300) + Me.LblCurrentProgram.Name = "LblCurrentProgram" + Me.LblCurrentProgram.Size = New System.Drawing.Size(155, 16) + Me.LblCurrentProgram.TabIndex = 12 + Me.LblCurrentProgram.Text = "Currently machining : " + Me.LblCurrentProgram.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.LblCurrentProgram.Visible = False + ' + 'LblProgramName + ' + Me.LblProgramName.AllowDrop = True + Me.LblProgramName.AutoSize = True + Me.LblProgramName.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblProgramName.Location = New System.Drawing.Point(166, 300) + Me.LblProgramName.Name = "LblProgramName" + Me.LblProgramName.Size = New System.Drawing.Size(53, 16) + Me.LblProgramName.TabIndex = 13 + Me.LblProgramName.Text = "---------" + Me.LblProgramName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.LblProgramName.Visible = False + ' + 'LblMachineStatus + ' + Me.LblMachineStatus.AllowDrop = True + Me.LblMachineStatus.AutoSize = True + Me.LblMachineStatus.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblMachineStatus.Location = New System.Drawing.Point(4, 326) + Me.LblMachineStatus.Name = "LblMachineStatus" + Me.LblMachineStatus.Size = New System.Drawing.Size(125, 16) + Me.LblMachineStatus.TabIndex = 14 + Me.LblMachineStatus.Text = "Machine Status : " + Me.LblMachineStatus.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.LblMachineStatus.Visible = False + ' + 'LblMachState + ' + Me.LblMachState.AllowDrop = True + Me.LblMachState.AutoSize = True + Me.LblMachState.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblMachState.Location = New System.Drawing.Point(166, 326) + Me.LblMachState.Name = "LblMachState" + Me.LblMachState.Size = New System.Drawing.Size(53, 16) + Me.LblMachState.TabIndex = 15 + Me.LblMachState.Text = "---------" + Me.LblMachState.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.LblMachState.Visible = False + ' + 'BtnReadOldOsai + ' + Me.BtnReadOldOsai.Location = New System.Drawing.Point(173, 446) + Me.BtnReadOldOsai.Name = "BtnReadOldOsai" + Me.BtnReadOldOsai.Size = New System.Drawing.Size(71, 20) + Me.BtnReadOldOsai.TabIndex = 32 + Me.BtnReadOldOsai.Text = "Read var 251" + Me.BtnReadOldOsai.UseVisualStyleBackColor = True + Me.BtnReadOldOsai.Visible = False + ' + 'LblReadOldOsai + ' + Me.LblReadOldOsai.AllowDrop = True + Me.LblReadOldOsai.AutoSize = True + Me.LblReadOldOsai.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.LblReadOldOsai.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblReadOldOsai.Location = New System.Drawing.Point(250, 450) + Me.LblReadOldOsai.Name = "LblReadOldOsai" + Me.LblReadOldOsai.Size = New System.Drawing.Size(44, 15) + Me.LblReadOldOsai.TabIndex = 33 + Me.LblReadOldOsai.Text = "12345" + Me.LblReadOldOsai.Visible = False + ' + 'BtnWrite1OldOsai + ' + Me.BtnWrite1OldOsai.Location = New System.Drawing.Point(8, 421) + Me.BtnWrite1OldOsai.Name = "BtnWrite1OldOsai" + Me.BtnWrite1OldOsai.Size = New System.Drawing.Size(38, 20) + Me.BtnWrite1OldOsai.TabIndex = 34 + Me.BtnWrite1OldOsai.Text = "Write1 " + Me.BtnWrite1OldOsai.UseVisualStyleBackColor = True + Me.BtnWrite1OldOsai.Visible = False + ' + 'BtnWrite2OldOsai + ' + Me.BtnWrite2OldOsai.Location = New System.Drawing.Point(41, 421) + Me.BtnWrite2OldOsai.Name = "BtnWrite2OldOsai" + Me.BtnWrite2OldOsai.Size = New System.Drawing.Size(38, 20) + Me.BtnWrite2OldOsai.TabIndex = 35 + Me.BtnWrite2OldOsai.Text = "Write2" + Me.BtnWrite2OldOsai.UseVisualStyleBackColor = True + Me.BtnWrite2OldOsai.Visible = False + ' + 'BtnWrite3OldOsai + ' + Me.BtnWrite3OldOsai.Location = New System.Drawing.Point(74, 421) + Me.BtnWrite3OldOsai.Name = "BtnWrite3OldOsai" + Me.BtnWrite3OldOsai.Size = New System.Drawing.Size(38, 20) + Me.BtnWrite3OldOsai.TabIndex = 36 + Me.BtnWrite3OldOsai.Text = "Write3" + Me.BtnWrite3OldOsai.UseVisualStyleBackColor = True + Me.BtnWrite3OldOsai.Visible = False + ' + 'BtnWrite4OldOsai + ' + Me.BtnWrite4OldOsai.Location = New System.Drawing.Point(108, 420) + Me.BtnWrite4OldOsai.Name = "BtnWrite4OldOsai" + Me.BtnWrite4OldOsai.Size = New System.Drawing.Size(38, 20) + Me.BtnWrite4OldOsai.TabIndex = 37 + Me.BtnWrite4OldOsai.Text = "Write4" + Me.BtnWrite4OldOsai.UseVisualStyleBackColor = True + Me.BtnWrite4OldOsai.Visible = False + ' + 'BtnWrite5OldOsai + ' + Me.BtnWrite5OldOsai.Location = New System.Drawing.Point(140, 421) + Me.BtnWrite5OldOsai.Name = "BtnWrite5OldOsai" + Me.BtnWrite5OldOsai.Size = New System.Drawing.Size(38, 20) + Me.BtnWrite5OldOsai.TabIndex = 38 + Me.BtnWrite5OldOsai.Text = "Write5" + Me.BtnWrite5OldOsai.UseVisualStyleBackColor = True + Me.BtnWrite5OldOsai.Visible = False + ' + 'Btn_test_file + ' + Me.Btn_test_file.Location = New System.Drawing.Point(188, 420) + Me.Btn_test_file.Name = "Btn_test_file" + Me.Btn_test_file.Size = New System.Drawing.Size(56, 20) + Me.Btn_test_file.TabIndex = 39 + Me.Btn_test_file.Text = "send file" + Me.Btn_test_file.UseVisualStyleBackColor = True + Me.Btn_test_file.Visible = False + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'Lbl_sw_phase + ' + Me.Lbl_sw_phase.AllowDrop = True + Me.Lbl_sw_phase.AutoSize = True + Me.Lbl_sw_phase.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Lbl_sw_phase.Location = New System.Drawing.Point(92, 355) + Me.Lbl_sw_phase.Name = "Lbl_sw_phase" + Me.Lbl_sw_phase.Size = New System.Drawing.Size(35, 13) + Me.Lbl_sw_phase.TabIndex = 44 + Me.Lbl_sw_phase.Text = " " + Me.Lbl_sw_phase.Visible = False + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label1.ForeColor = System.Drawing.SystemColors.Highlight + Me.Label1.Location = New System.Drawing.Point(6, 29) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(127, 15) + Me.Label1.TabIndex = 45 + Me.Label1.Text = "BITMAP IOB MAPO" + ' + 'LblMapoIOB + ' + Me.LblMapoIOB.AutoSize = True + Me.LblMapoIOB.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LblMapoIOB.ForeColor = System.Drawing.SystemColors.Highlight + Me.LblMapoIOB.Location = New System.Drawing.Point(12, 54) + Me.LblMapoIOB.Name = "LblMapoIOB" + Me.LblMapoIOB.Size = New System.Drawing.Size(19, 15) + Me.LblMapoIOB.TabIndex = 46 + Me.LblMapoIOB.Text = "..." + ' + 'FrmMain + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(302, 476) + Me.Controls.Add(Me.LblMapoIOB) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.Lbl_sw_phase) + Me.Controls.Add(Me.Btn_test_file) + Me.Controls.Add(Me.BtnWrite5OldOsai) + Me.Controls.Add(Me.BtnWrite4OldOsai) + Me.Controls.Add(Me.BtnWrite3OldOsai) + Me.Controls.Add(Me.BtnWrite2OldOsai) + Me.Controls.Add(Me.BtnWrite1OldOsai) + Me.Controls.Add(Me.LblReadOldOsai) + Me.Controls.Add(Me.BtnReadOldOsai) + Me.Controls.Add(Me.LblMachState) + Me.Controls.Add(Me.LblNcStatus) + Me.Controls.Add(Me.LblMachineStatus) + Me.Controls.Add(Me.LblProgramName) + Me.Controls.Add(Me.LblCurrentProgram) + Me.Controls.Add(Me.LblConnected) + Me.Controls.Add(Me.LblSimPrgSent2) + Me.Controls.Add(Me.LblSimPrgSent1) + Me.Controls.Add(Me.BtnSim5) + Me.Controls.Add(Me.BtnSim4) + Me.Controls.Add(Me.BtnSim3) + Me.Controls.Add(Me.BtnSim2) + Me.Controls.Add(Me.BtnSim1) + Me.Controls.Add(Me.BtnSim0) + Me.Controls.Add(Me.BtnExit) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "FrmMain" + Me.Text = "Door Pro" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents BtnExit As System.Windows.Forms.Button + Friend WithEvents LblConnected As System.Windows.Forms.Label + Friend WithEvents Tmr_Main As System.Windows.Forms.Timer + Friend WithEvents FolderBrowserDialog1 As System.Windows.Forms.FolderBrowserDialog + Friend WithEvents BtnSim0 As System.Windows.Forms.Button + Friend WithEvents BtnSim1 As System.Windows.Forms.Button + Friend WithEvents BtnSim2 As System.Windows.Forms.Button + Friend WithEvents BtnSim3 As System.Windows.Forms.Button + Friend WithEvents BtnSim4 As System.Windows.Forms.Button + Friend WithEvents BtnSim5 As System.Windows.Forms.Button + Friend WithEvents LblSimPrgSent1 As System.Windows.Forms.Label + Friend WithEvents LblSimPrgSent2 As System.Windows.Forms.Label + Friend WithEvents LblNcStatus As System.Windows.Forms.Label + Friend WithEvents LblCurrentProgram As System.Windows.Forms.Label + Friend WithEvents LblProgramName As System.Windows.Forms.Label + Friend WithEvents LblMachineStatus As System.Windows.Forms.Label + Friend WithEvents LblMachState As System.Windows.Forms.Label + Friend WithEvents BtnReadOldOsai As Button + Friend WithEvents LblReadOldOsai As Label + Friend WithEvents BtnWrite1OldOsai As Button + Friend WithEvents BtnWrite2OldOsai As Button + Friend WithEvents BtnWrite3OldOsai As Button + Friend WithEvents BtnWrite4OldOsai As Button + Friend WithEvents BtnWrite5OldOsai As Button + Friend WithEvents Btn_test_file As Button + Friend WithEvents OpenFileDialog1 As OpenFileDialog + Friend WithEvents Lbl_sw_phase As Label + Friend WithEvents Label1 As Label + Friend WithEvents LblMapoIOB As Label +End Class diff --git a/EgwProxy.OsaiCncLib/FrmMain.resx b/EgwProxy.OsaiCncLib/FrmMain.resx new file mode 100644 index 0000000..4c5975c --- /dev/null +++ b/EgwProxy.OsaiCncLib/FrmMain.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 121, 17 + + + 226, 17 + + + 397, 17 + + + 72 + + + + + AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8A/////4iIiIj//////////////4gAAAAIiP////////////gAERiAAAiP//////////+AERE4 + gxAAj//////////4ARF3u7uzAIj/////////gBF3u7u7u3AI////////+AEfu7u7O7u3CP////////AR + +7uzu7u7uwj///////+AH7u7u7u7O7sIj///////AXu7u7uzu7u/MI///////wF7u7u7i7uz/zCP//// + //8Lu7u7uLODP/+wiIj/////C7u7u4s4+P//cAEYj/////C7u7uzj4iP//MAAYj////wu7u7uPiIi//7 + u7GI/////wu7u7v4iLs/9zu7D/////8Lu7u7v4uz+P8wAA//////8Au7u7u7P4iPCI/////////wC7u7 + u/iIAQCP//////////AAALu/gRgQiP////////////8Lu7CBgQj/////////////8Lu7CBgAj/////// + //////C7+wCBEI//////////////AAD/ARgI//////////////////CBGI//////////////////ARCI + //////////////////ARCIj/////////////////ARCIj/////////////////AQAAD///////////// + ////AAAA//////////////////AAAP//////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ== + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/FrmMain.vb b/EgwProxy.OsaiCncLib/FrmMain.vb new file mode 100644 index 0000000..b6ff588 --- /dev/null +++ b/EgwProxy.OsaiCncLib/FrmMain.vb @@ -0,0 +1,367 @@ +Imports System +Imports System.IO +Imports System.Collections +Imports Microsoft.VisualBasic + +Public Class FrmMain + + + Public Const VERSION_ID = "1" + + Public b_timer_busy As Boolean + Public n_simulated_index As Integer = 0 + + Public sz_usb_barcode_string As String + + + Dim b_exit_busy As Boolean = False + + + Public Sub New() + + ' This call is required by the Windows Form Designer. + InitializeComponent() + + End Sub + + Private Sub My_initialize() Handles Me.Load + + Call CheckForExistingInstance() + + Me.Show() + + ' read ini file & init global variables + Call IniRead.Ini_read() + + ' read messages + Call Message.init() + + ' init logger on file + Call Log.init(IniRead.szLogFileName) + + Call Log.write("-----------START PROGRAM test Sam -------------------") + + + ' init modules + Call Init_Modules() + + ' Init NC connection + Call M_cn_connection.StartConnection() + + ' check NC connection reading a ver and waiting + Call M_cn_connection.CheckConnection() + + ' timer enable + Call Timer_enable() + + End Sub + +#Region " Closing...." + + Private Sub Dispose_form(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Disposed + + Call Terminate_properly() + + End Sub + + Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + + Call Terminate_properly() + + End Sub 'Form1_Closing + + Sub Terminate_properly() + + If Not b_exit_busy Then + + b_exit_busy = True + + Timer_disable() + + System.Threading.Thread.Sleep(SLEEP_TIME) + + If (Not IniRead.b_debug) Then + + If Not (CnOsai Is Nothing) Then + CnOsai.CloseSession() + End If + + End If + + + Application.Exit() + + End If ' busy + + End Sub + +#End Region + +#Region " Buttons" + + + + Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click + + Call Terminate_properly() + + End Sub + + + + + + +#End Region + +#Region " Init routines" + + Private Sub Init_Modules() + + Call M_state_machine.init() + + Call M_aspect.init() + + End Sub + + Public Sub CheckForExistingInstance() + '~~> Get number of processes of you program + If Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName).Length > 1 Then + MessageBox.Show("Another copy of this program is already running", + "More than 1 copy not allowed", MessageBoxButtons.OK, + MessageBoxIcon.Exclamation) + + Application.Exit() + End If + End Sub + +#End Region + +#Region " Timer" + + ' ------------------------------------------------------------------------------- + ' ---- Enable Timer + ' ------------------------------------------------------------------------------- + Private Sub Timer_enable() + + ' set timer interval + Tmr_Main.Interval = IniRead.lTimerInterval + + ' Enable Timer + Tmr_Main.Enabled = True + + End Sub + + ' ------------------------------------------------------------------------------- + ' ---- DisAble timer + ' ------------------------------------------------------------------------------- + Private Sub Timer_disable() + + Tmr_Main.Enabled = False + + End Sub + + '_____________________________________________________________________________ + + ' ------------------------------------------------------------------------------- + ' ---- Tick timer d,... ------ + ' ------------------------------------------------------------------------------- + Private Sub Tmr_Main_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tmr_Main.Tick + + If Not b_timer_busy Then + + b_timer_busy = True + Tmr_Main.Enabled = False + + Call M_state_machine.go() + + + b_timer_busy = False + Tmr_Main.Enabled = True + End If + + End Sub + +#End Region + +#Region " Simulation " + + Private Sub BtnSim0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSim0.Click + n_simulated_index = 0 + Call gray_them_all() + BtnSim0.BackColor = Color.LightCoral + End Sub + Private Sub BtnSim1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSim1.Click + n_simulated_index = 1 + Call gray_them_all() + BtnSim1.BackColor = Color.LightCoral + End Sub + Private Sub BtnSim2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSim2.Click + n_simulated_index = 2 + Call gray_them_all() + BtnSim2.BackColor = Color.LightCoral + End Sub + Private Sub BtnSim3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSim3.Click + n_simulated_index = 3 + Call gray_them_all() + BtnSim3.BackColor = Color.LightCoral + End Sub + Private Sub BtnSim4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSim4.Click + n_simulated_index = 4 + Call gray_them_all() + BtnSim4.BackColor = Color.LightCoral + End Sub + Private Sub BtnSim5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSim5.Click + n_simulated_index = 5 + Call gray_them_all() + BtnSim5.BackColor = Color.LightCoral + End Sub + + Private Sub gray_them_all() + BtnSim0.BackColor = Color.LightGray + BtnSim1.BackColor = Color.LightGray + BtnSim2.BackColor = Color.LightGray + BtnSim3.BackColor = Color.LightGray + BtnSim4.BackColor = Color.LightGray + BtnSim5.BackColor = Color.LightGray + End Sub + + Private Sub LblSimPrgSent1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LblSimPrgSent1.Click + LblSimPrgSent1.BackColor = Color.Azure + End Sub + Private Sub LblSimPrgSent2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LblSimPrgSent2.Click + LblSimPrgSent2.BackColor = Color.Azure + End Sub + + Private Sub BtnReadOldOsai_Click(sender As Object, e As EventArgs) Handles BtnReadOldOsai.Click + Dim Var_tmp As ComCNOsai.stVAR + + Var_tmp.nAddress = IniRead.nVar_NC_state + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + + LblReadOldOsai.Text = CnOsai.ReadShortVar(Var_tmp).ToString + + End Sub + + Private Sub BtnWrite1OldOsai_Click(sender As Object, e As EventArgs) Handles BtnWrite1OldOsai.Click + Dim Var_tmp As ComCNOsai.stVAR + + Var_tmp.nAddress = IniRead.nVar_NC_state + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + CnOsai.WriteShortVar(Var_tmp, 1) + + End Sub + Private Sub BtnWrite2OldOsai_Click(sender As Object, e As EventArgs) Handles BtnWrite2OldOsai.Click + Dim Var_tmp As ComCNOsai.stVAR + + Var_tmp.nAddress = IniRead.nVar_NC_state + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + CnOsai.WriteShortVar(Var_tmp, 2) + End Sub + Private Sub BtnWrite3OldOsai_Click(sender As Object, e As EventArgs) Handles BtnWrite3OldOsai.Click + Dim Var_tmp As ComCNOsai.stVAR + + Var_tmp.nAddress = IniRead.nVar_NC_state + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + CnOsai.WriteShortVar(Var_tmp, 3) + End Sub + Private Sub BtnWrite4OldOsai_Click(sender As Object, e As EventArgs) Handles BtnWrite4OldOsai.Click + Dim Var_tmp As ComCNOsai.stVAR + + Var_tmp.nAddress = IniRead.nVar_NC_state + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + CnOsai.WriteShortVar(Var_tmp, 4) + End Sub + Private Sub BtnWrite5OldOsai_Click(sender As Object, e As EventArgs) Handles BtnWrite5OldOsai.Click + Dim Var_tmp As ComCNOsai.stVAR + + Var_tmp.nAddress = IniRead.nVar_NC_state + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + CnOsai.WriteShortVar(Var_tmp, 5) + End Sub + + Private Sub Btn_test_file_Click(sender As Object, e As EventArgs) Handles Btn_test_file.Click + + Dim sz_geppo_filename As String = IniRead.sz_temporary_path & "\geppo.cn" + Dim sz_NC_program_name As String + + If (IniRead.b_send_file) Then + + sz_geppo_filename = Ask_file() + sz_NC_program_name = Path.GetFileNameWithoutExtension(sz_geppo_filename) + sz_NC_program_name = IniRead.szDefaultPathNC & "\" & sz_NC_program_name + my_f_____copy_file_to_nc(sz_geppo_filename, sz_NC_program_name) + + Else + + ' crea un filettino e lo manda + Dim Writer As New StreamWriter(sz_geppo_filename) ' Opens stream and begins writing + + Writer.WriteLine("; ") + Writer.WriteLine("; Ciao Mamma !") + Writer.WriteLine("; ") + Writer.WriteLine("; saluti da Geppo") + Writer.WriteLine("G00") + Writer.WriteLine("M00") + + Writer.Close() + + Call CnOsai.CopyFileToNC("", sz_geppo_filename, "GEPPO") + + System.IO.File.Delete(sz_geppo_filename) ' sempre per non far nulla .... + + End If + + + End Sub + + Function Ask_file() As String + + Dim sz_filename As String = "" + + Try + With OpenFileDialog1 + + If .ShowDialog() = Windows.Forms.DialogResult.OK Then + + sz_filename = .FileName + End If + + End With + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text) + End Try + + Return sz_filename + + End Function + +#End Region + + + + + + + +End Class + + diff --git a/EgwProxy.OsaiCncLib/Messages/testSam.msg b/EgwProxy.OsaiCncLib/Messages/testSam.msg new file mode 100644 index 0000000..0e952f6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Messages/testSam.msg @@ -0,0 +1,131 @@ +(0) - Message file !!!! +Impossible to find the ' +(2) +(3) +(4) +(5) +(6) +(7) + connecting to +(9) +Nc connection +NOT CONNECTED +NC connect ok +CANNOT CONNECT (2) +(14) +(15) +(16) +(17) +(18) +(19) +d_prod - composing programs +Exit +Clear +Start ! +STOP ! +Select DDF File +No Probing - +Basic Probing - +Advanced Probing - +(29) +(30) +(31) +(32) +waiting for end probing +Program queue +Job List +Currently machining : +Machine Status : +Next program : +processing +sending +selecting +creating probing path +Creating +Copying probe data +waiting machine to get ready...... +Not Ready +Ready +end machining +machining +(50) +(51) +(52) +(53) +(54) +(55) +(56) +(57) +(58) +(59) +missing code +code + not found in table +file +file not found +Clear program queue +Are you sure ? +removing program : + not found +Program : +(70) +(71) +(72) +Problem activating MAINAUTO program +Please stop the running program !! +Problem copying +program +Please deactivate the running program !! +(78) +(79) +(80) +(81) +(82) +(83) +(84) +(85) +(86) +(87) +(88) +(89) +Ok +Cancel +(92) +(93) +(94) +(95) +(96) +(97) +(98) +(99) +(100) +(101) +(102) +(103) +(104) +(105) +(106) +(107) +(108) +(109) +(110) +(111) +(112) +(113) +(114) +(115) +(116) +Yes +No +(119) +(120) +(121) +(122) +(123) +(124) +(125) +(126) +(127) +(128) +(129) + diff --git a/EgwProxy.OsaiCncLib/Modules/CndexLinkUserVB6.vb b/EgwProxy.OsaiCncLib/Modules/CndexLinkUserVB6.vb new file mode 100644 index 0000000..cc852aa --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/CndexLinkUserVB6.vb @@ -0,0 +1,717 @@ +Option Strict Off +Option Explicit On + +Module CndexLinkUserVB6 + ' OSAI S.p.A. Barone Canavese (Torino) Italy + ' + ' file: CndexLinkUser.BAS + ' version: 3.0 + ' + ' + ' Errors management + ' + ' The DLL CndexLink uses the return code of the function and two double words + ' for the error management. The double words are the class of the error and + ' the error code. + ' The return code of the functions is always a boolean. True means that the + ' function has been executed without error, False means error during function + ' execution. + ' When the return code is False the parameters ErrClass and ErrNum report the + ' codes related to the error + ' + ' The errors has been organized using classes to avoid error codes overlap + ' Each class identify a level in the hierarchy of the modules used to + ' communicate with the CNC + ' For the error classes and error codes error definition please refer to the + ' Cndex server interface documentation. + ' The following codes could be not updated to last Cndex server version. + ' + ' + ' The classes are the following: + ' + ' COM Class (class 1) + ' The errors belonging to this class are generated by the COM interface + ' that is used to carry out the calls to Cndex server. + ' + ' CNDEX SERVER Class (class 2) + ' The errors belonging to this class can be generated either by the preliminary + ' checks done by Cndex server on the called functions parameters or by internal + ' errors of the server. + ' + ' NETBIOS Class (class 3) + ' The errors belonging to this class depend by anomalies or errors during + ' data exchange between Cndex server and the managed CNC connected through + ' local network. + ' + ' CNC Class (class 4) + ' The errors belonging to this class are generated by the elaboration of the + ' commads by the CNC connected to Cndex. + ' + ' CNDEX INTERFACE Class (class 10) + ' The errors belonging to this class are generated by CndexInterface DLL that + ' is used to interface Cndex server. + ' + ' + ' Error codes for COM classe (class 1) + ' + ' Questo e ' un elenco degli errori COM piu' comuni + ' + ' CO_E_SERVER_EXEC_FAILURE 0x80080005 + ' Su Windows 95/98 il server non puo' essere lanciato automaticamente ma bisogna + ' metterlo in esecuzione manualmente, ricordando che quando non c'e' piu' nessuna + ' applicazione attiva il server viene terminato automaticamente. + ' + ' RPC_S_SERVER_UNAVAILABLE 0x800706ba + ' assicurarsi che nel registry il valore del parametro sia Y + ' aggiungere o attivare il protocollo TCP/IP nella configurazione di rete + ' + ' E_ACCESSDENIED 0x80070005 + ' Su Windows NT/2000 lanciare l'utility dcomcnfg.exe e selezionare + ' o nella sezione identity dell'applicazione cndex, + ' ed nella sezione di launch permission + ' + ' REGDB_E_CLASSNOTREG 0x80040154 + ' Il server Cndex non e' stato registrato nel registry di Windows. Registrarlo con + ' questo comando da eseguire in un DOS shell : cndex.exe /regserver + ' + ' CO_S_NOTALLINTERFACES 0x00080012 + ' La DLL proxy del server Cndex non e' stata registrata nel registry di Windows. + ' Registrarla con questo comando da eseguire in un DOS shell : regsvr32 cndexps.dll + ' + ' + ' + ' Error codes for CNDEX SERVER classe (class 2) + ' + ' 1 No memory for dynamic memory allocation + ' 2 Error creating syncronization events + ' 3 Session aborted. It can not be used anymore. + ' 4 Session not opened + ' 5 It is not possible to allocate a network channel + ' 6 It has been activated a function for an unexisting CNC process. + ' 7 Broadcasting command aborted + ' 8 User output buffer too small + ' 9 Session already opened + ' 10 Broadcasting list not valid + ' 11 Realtime command aborted + ' 12 The function is already active + ' 13 The function is not active yet + ' 14 Reciving thread terminated + ' 15 Time-out. No answer (after an establish time) to the command sent to CNC. + ' 16 The software release of the connected CNC is not compatible with the Cndex server protocol + ' 17 The given session identifier is not valid + ' 18 It is not possible to create the real-time thread + ' 19 No network session channels available anymore + ' 20 Error loading CNC symbols + ' 23 It is not possible to create an instance of the session object + ' 24 It is not possible to create the broadcasting thread + ' 25 The function can not be executed during this phase of the CNC boot + ' 26 Wrong parameter + ' 27 Buffer not valid + ' 29 The UserSession parameter is not valid (there is not a correspondig session) + ' 31 The UserSession parameter is either not valid or the corrisponding session has + ' automatically been closed by Cndex server. + ' + ' + ' Error codes for NETBIOS class (class 3) + ' + ' 0x0001 Illegal buffer length + ' 0x0003 Illegal command + ' 0x0005 Command timed out + ' 0x0006 Message incomplete, issue another command + ' 0x0007 Illegal buffer address + ' 0x0008 Session number out of range + ' 0x0009 No resource available + ' 0x000a Session closed + ' 0x000b Command cancelled + ' 0x000d Duplicate name + ' 0x000e Name table full + ' 0x000f No deletions, name has active sessions + ' 0x0011 Local session table full + ' 0x0012 Remote session table full + ' 0x0013 Illegal name number + ' 0x0014 No callname + ' 0x0015 Cannot put * in NCB_NAME + ' 0x0016 Name in use on remote adapter + ' 0x0017 Name deleted + ' 0x0018 Session ended abnormally + ' 0x0019 Name conflict detected + ' 0x0021 Interface busy, IRET before retrying + ' 0x0022 Too many commands outstanding, retry later + ' 0x0023 Ncb_lana_num field invalid + ' 0x0024 Command completed while cancel occurring + ' 0x0026 Command not valid to cancel + ' 0x0030 Name defined by anther local process + ' 0x0034 Environment undefined. RESET required + ' 0x0035 Required OS resources exhausted + ' 0x0036 Max number of applications exceeded + ' 0x0037 No saps available for netbios + ' 0x0038 Requested resources are not available + ' 0x0039 Invalid ncb address or length > segment + ' 0x003B Invalid NCB DDID + ' 0x003C Lock of user area failed + ' 0x003f NETBIOS not loaded + ' 0x0040 System error + ' + ' + ' + ' Error codes for CNC class (class 4) + ' + ' For the error codes related to this class please refer to + ' "MINI-DNC ETHERNET Functions Library" and "USER MANUAL" of the + ' 10/Series CNC + ' + ' + ' + ' Error codes for CNDEX INTERFACE class (class 10) + ' + ' 1 ERR_SERVER_ALREADY_CREATED CNDEX server already created + ' 2 ERR_CREATING_SERVER_OBJECT Error creating CNDEX server + ' 3 ERR_SERVER_NOT_CREATED CNDEX server never created or already released + ' 4 ERR_INVALID_PARAMETER Invalid value for one or more parameters + ' 5 ERR_OPTION_NOT_ENABLED The COMMUNICATION option is not enabled for connected CNC + + Public Const ON_ As Short = 1 + Public Const OFF_ As Short = 0 + + 'Boot phase + Public Const EMERG_SWITCH_PHASE As Short = 1 + Public Const HW_BOOT_PHASE As Short = 2 + Public Const SW_BOOT_PHASE As Short = 3 + Public Const SYSTEM_UP_PHASE As Short = 4 + Public Const SERVER_MODE_PHASE As Short = 5 + Public Const REMOTE_SETUP_PHASE As Short = 6 + + ' Classes of the Process Variables + Public Const E_VAR_CLASS As Short = 1 + Public Const SN_VAR_CLASS As Short = 2 + Public Const SC_VAR_CLASS As Short = 255 + + ' 10 Series modes + Public Const MDI As Short = 1 + 'UPGRADE_NOTE: AUTO stato aggiornato a AUTO_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + Public Const AUTO_Renamed As Short = 2 + Public Const SEMI As Short = 3 + Public Const MANJOG As Short = 4 + Public Const INCJOG As Short = 5 + Public Const PROFILE As Short = 6 + Public Const HOME As Short = 7 + + ' 10 Series Status + Public Const IDLE_ As Short = 1 + Public Const CYCLE_ As Short = 2 + Public Const HOLDA_ As Short = 3 + Public Const RUNH_ As Short = 4 + Public Const HRUN_ As Short = 5 + Public Const ERRO_ As Short = 6 + Public Const WAIT_ As Short = 7 + Public Const RESET_ As Short = 8 + Public Const EMERG_ As Short = 9 + Public Const INPUT_ As Short = 10 + + ' 10 Series SubStatus + Public Const MAS As Short = 6 + Public Const MBR As Short = 4 + + Public Const NUM_ELEM_SEL_AXI As Short = 9 + + ' Axes Position type selector + Public Const PROGPOS As Short = 1 ' Programmed positions + Public Const IntPos As Short = 2 ' Interpolated positions + Public Const TRANSDPOS As Short = 3 ' Transducer Position + Public Const ERRPOS As Short = 4 ' Following Errors + + Public Const MAIN_PROGR_NAME_LEN As Short = 55 + + ' Logic variables identifier + ' boolean variables + Public Const I_CODE As Short = 0 + Public Const O_CODE As Short = 1 + Public Const M_CODE As Short = 2 + Public Const G_CODE As Short = 3 + Public Const S_CODE As Short = 4 + Public Const P_CODE As Short = 7 + Public Const U_CODE As Short = 8 + ' WORD variables + Public Const MW_CODE As Short = 20 + Public Const GW_CODE As Short = 21 + Public Const SW_CODE As Short = 22 + Public Const PW_CODE As Short = 62 + Public Const UW_CODE As Short = 63 + 'DOUBLE variables + Public Const MD_CODE As Short = 40 + Public Const GD_CODE As Short = 41 + Public Const PD_CODE As Short = 43 + Public Const UD_CODE As Short = 44 + + + ' Tables identifiers + Public Const AXIS_TABLE_ID As Short = 1 ' AXIS TABLE identifier + Public Const TOOL_TABLE_ID As Short = 2 ' TOOL TABLE identifier + Public Const OFFSET_TABLE_ID As Short = 3 ' OFFSET TABLE identifier + Public Const USER_TABLE_ID As Short = 4 ' USER TABLE identifier + + + ' Logical directory identifiers + Public Const PPDIR_PROGRAM As Short = 0 ' PROGRAM directory + Public Const PPDIR_USER As Short = 1 ' USER directory + Public Const PPDIR_SYSTEM As Short = 2 ' SYSTEM directory + Public Const PPDIR_OEM As Short = 3 ' OEM directory + + + Structure GETINTDATA + Dim AxisName As Byte + Dim Mode As Byte + Dim Position As Double + Dim TotalOffset As Double + End Structure + + + Structure PROCDATA + Dim Mode As Short + Dim status As Short + Dim substatus As Short + End Structure + + + Structure GetInfo1Data + Dim status As Byte ' process status + Dim substatus As Byte ' process substatus + Dim mode_select As Byte ' selected mode + Dim jog_dir As Byte ' 1 = negative 0 = positive + Dim speed_ov As Short ' speed override + Dim feed_ov As Short ' feed override + Dim rap_feed_ov As Short ' rapid feed override + Dim man_feed_ov As Short ' manual feed override + Dim jog_incr As Double ' incremental jog value + Dim num_ax_sel As Byte ' number of selected axes + Dim ax_sel() As Byte 'array of selected axes + Dim actual_tool As Double ' actual active tool number + Dim progr_tool As Double ' programmed tool number + Dim actual_tool_off As Short ' actual tool offset number + Dim progr_tool_off As Short ' programmed tool offset number + Dim real_speed As Double ' real spindle feed + Dim progr_speed As Double ' programmed spindle feed + Dim progr_feed As Double ' programmed feed + Dim rapid_feed As Double ' rapid feed + Dim real_feed As Double ' real feed + Dim feed_mis_unit As Short ' misure unit of feed + 'UPGRADE_WARNING: La dimensione della stringa di lunghezza fissa deve essere contenuta nel buffer. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="3C1E4426-0B80-443E-B943-0627CD55D48B"' + Public main_progr_name() As Char ' active main part program name + Dim dry_run As Byte ' 1 = dry run modality active + Dim rapid_override As Byte ' 1 = rapid ovverride enable + Dim disable_slashed_blk As Byte ' 1 = slashed block disable + Dim optional_stop As Byte ' 1 = M00 stop enable + Dim force_rapid_feed As Byte ' 1 = rapid feed forced + Dim auto_jog_ret As Byte ' 1 = automatic jog return mode + Dim block_retrace As Byte ' 1 = multi block retrace active + Dim last_nc_error As Short ' last NC error. 0 = no error + Dim free() As Byte ' free + + 'UPGRADE_TODO: "Initialize" deve essere chiamato per inizializzare istanze di questa struttura. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="B4BFF9E0-8631-45CF-910E-62AB3970F27B"' + Public Sub Initialize() + ReDim ax_sel(NUM_ELEM_SEL_AXI) + ReDim free(22) + End Sub + End Structure + + + Structure GetInfo2Data + Dim StatusWord As Short + Dim Urp As Double + Dim ActTool As Double + Dim ActOffset As Short + Dim ProgTool As Double + Dim ProgOffset As Short + Dim M_Status As Short + Dim M_Value() As Short + Dim Ax1Name As Byte + Dim Ax1Offset As Double + Dim Ax2Name As Byte + Dim Ax2Offset As Double + Dim Radius As Double + + 'UPGRADE_TODO: "Initialize" deve essere chiamato per inizializzare istanze di questa struttura. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="B4BFF9E0-8631-45CF-910E-62AB3970F27B"' + Public Sub Initialize() + ReDim M_Value(15) + End Sub + End Structure + + + Structure GETBLKNUMDATA + Dim ppActNum As Short + Dim MainActBlk As Integer + Dim Sbr1ActBlk As Integer + Dim Sbr2ActBlk As Integer + Dim Sbr3ActBlk As Integer + Dim Sbr4ActBlk As Integer + End Structure + + + ' Axis Table Descriptor + Structure AXIS_TABLE + Dim owner As Short ' ambient owner + Dim name As Short ' ascii axis name + Dim orig As Double ' actual origin + Dim free1 As Double ' FREE FIELD + Dim ofg92 As Double ' offset G92 + Dim toff As Double ' actual tool offset + Dim free2 As Double ' FREE FIELD + Dim Offset As Double ' axis total offset + Dim orig1 As Double ' origin 1 + Dim orig2 As Double ' origin 2 + Dim orig3 As Double ' origin 3 + Dim orig4 As Double ' origin 4 + Dim orig5 As Double ' origin 5 + Dim orig6 As Double ' origin 6 + Dim orig7 As Double ' origin 7 + Dim orig8 As Double ' origin 8 + Dim orig9 As Double ' origin 9 + Dim orig10 As Double ' origin 10 + Dim reserved1 As Short ' reserved + Dim reserved2 As Short ' reserved + End Structure + + + ' Tool table descriptor + Structure TOOL_TABLE + Dim Tcode As Double ' tool code + Dim pocket As Short ' pocket position + Dim tfamcol As Short ' random family + Dim tclass As Short ' tool class + Dim tstatus As Short ' status word + Dim tcntrl As Short ' control word + Dim maxtime As Double ' start life + Dim remtime As Double ' actual life + Dim tuser1 As Double ' user parameter 1 + Dim tuser2 As Double ' user parameter 2 + Dim tuser3 As Double ' user parameter 3 + Dim tuser4 As Double ' user parameter 4 + Dim tolfnr As Short ' offset number + End Structure + + + ' Offset table descriptor + Structure OFFSET_TABLE + Dim tactl1 As Double ' actual tool lenght 1 + Dim tcmaxl1 As Double ' max change lenght 1 + Dim tcactl1 As Double ' actual change lenght 1 + Dim tactl2 As Double ' actual tool lenght 2 + Dim tcmaxl2 As Double ' max change lenght 2 + Dim tcactl2 As Double ' actual change lenght 2 + Dim tdiameter As Double ' diameter (ex radius) + Dim tcacdiam As Double ' diameter wear (ex tangle) + Dim torient As Short ' orientation + End Structure + + + ' User table descriptor + Structure USER_TABLE + Dim user1 As Double ' user variable 1 + Dim User2 As Double ' user variable 2 + Dim user3 As Double ' user variable 3 + Dim user4 As Double ' user variable 4 + End Structure + + + Structure ERR_MSG + 'UPGRADE_WARNING: La dimensione della stringa di lunghezza fissa deve essere contenuta nel buffer. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="3C1E4426-0B80-443E-B943-0627CD55D48B"' + Public Msg1() As Char + 'UPGRADE_WARNING: La dimensione della stringa di lunghezza fissa deve essere contenuta nel buffer. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="3C1E4426-0B80-443E-B943-0627CD55D48B"' + 'UPGRADE_NOTE: MSG2 stato aggiornato a MSG2_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + Public MSG2_Renamed() As Char + 'UPGRADE_WARNING: La dimensione della stringa di lunghezza fissa deve essere contenuta nel buffer. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="3C1E4426-0B80-443E-B943-0627CD55D48B"' + 'UPGRADE_NOTE: MSG3 stato aggiornato a MSG3_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + Public MSG3_Renamed() As Char + 'UPGRADE_WARNING: La dimensione della stringa di lunghezza fissa deve essere contenuta nel buffer. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="3C1E4426-0B80-443E-B943-0627CD55D48B"' + Public Msg4() As Char + End Structure + + + Structure PLVARDESC + Dim Code As Short + Dim Index As Short + Dim Bit As Short + End Structure + + + Structure EMCY_TYPE + Dim usEmcyErrCode As Short + Dim usEmcyErrorReg As Byte + Dim SpecErrField As Integer + Dim reserved As Byte + End Structure + + ''''''' CNDEX SERVER FUNCTIONS PROTOTYPES ''''''' + + Declare Function ConnectServer_C Lib "CndexLink.DLL" (ByVal ServerAddress As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function ReleaseServer_C Lib "CndexLink.DLL" (ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + ''''''' NET SESSION FUNCTIONS PROTOTYPES ''''''' + + Declare Function OpenSession_C Lib "CndexLink.DLL" (ByVal RemoteName As String, ByRef UserSession As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function CloseSession_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function IsSessionOpened_C Lib "CndexLink.DLL" (ByVal UserSession As Short) As Short + + + ''''''' CNC BOOT FUNCTIONS PROTOTYPES ''''''' + + Declare Function BootPhaseEnquiry_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByRef Phase As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function BootReboot_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function BootShutDown_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function BootMode_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal Mode As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + + ''''''' GENERAL FUNCTIONS PROTOTYPES ''''''' + + Declare Function GetCodeNumber_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal CodeNumber As String, ByVal SwVersion As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + 'UPGRADE_NOTE: Second stato aggiornato a Second_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Minute stato aggiornato a Minute_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Hour stato aggiornato a Hour_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Day stato aggiornato a Day_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Month stato aggiornato a Month_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Year stato aggiornato a Year_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + Declare Function GetDateTime_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByRef Year_Renamed As Short, ByRef Month_Renamed As Short, ByRef Day_Renamed As Short, ByRef Hour_Renamed As Short, ByRef Minute_Renamed As Short, ByRef Second_Renamed As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + 'UPGRADE_NOTE: Second stato aggiornato a Second_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Minute stato aggiornato a Minute_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Hour stato aggiornato a Hour_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Day stato aggiornato a Day_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Month stato aggiornato a Month_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + 'UPGRADE_NOTE: Year stato aggiornato a Year_Renamed. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' + Declare Function SetDateTime_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal Year_Renamed As Short, ByVal Month_Renamed As Short, ByVal Day_Renamed As Short, ByVal Hour_Renamed As Short, ByVal Minute_Renamed As Short, ByVal Second_Renamed As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function PPInsertName_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal LogicalName As String, ByVal LogicalExt As String, ByVal LogicalDir As Short, ByVal PhysicalName As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function PPDeleteName_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal LogicalName As String, ByVal LogicalExt As String, ByVal LogicalDir As Short, ByRef NumberOfFilesDeleted As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function PPGetLogicalName_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal PhysicalName As String, ByVal LogicalName As String, ByVal LogicalExt As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function PPGetPhysicalName_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal LogicalName As String, ByVal LogicalExt As String, ByVal LogicalDir As Short, ByVal PhysicalName As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function PPGetLogicalDir_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal LogicalName As String, ByVal LogicalExt As String, ByRef LogicalDir As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function PPUpdate_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal LogicalName As String, ByVal LogicalExt As String, ByVal LogicalDir As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + + ''''''' PROCESS FUNCTIONS PROTOTYPES ''''''' + + Declare Function Cycle_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Cmd As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SyncroCycle_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function Reset_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function Hold_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Cmd As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetFeedManOver_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal FeedManOver As Short, ByVal Direction As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetFeedRateOver_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal FeedRateOver As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetFeedRapidOver_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal FeedRapidOver As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetSpeedRateOver_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal SpeedRateOver As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetManMovDirection_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Direction As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetMdiString_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal MdiString As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetProcessMode_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Mode As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SelectProcess_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetSelectedProcess_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByRef ProcNum As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SelectProcAxis_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal AxisName As Byte, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SelectPartProgram_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal PartProgramName As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura GETINTDATA potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetAxesPosition_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal AxisName As Byte, ByVal Selector As Short, ByRef NumAxis As Short, ByRef IntPos As GETINTDATA, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura GetInfo1Data potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetNcInfo1_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef GetInfo1Data As GetInfo1Data, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura GetInfo2Data potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetNcInfo2_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef GetInfo2Data As GetInfo2Data, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura PROCDATA potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetProcessStatus_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef NewMode As PROCDATA, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura GETBLKNUMDATA potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetBlkNum_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef BlkNum As GETBLKNUMDATA, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function AxesRef_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal NumAx As Short, ByRef AxisName As Byte, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetVarE_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Index As Short, ByRef Num As Short, ByRef Values As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetVarSN_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Index As Short, ByRef Num As Short, ByRef Values As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetVarSC_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Index As Short, ByRef Num As Short, ByVal text As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetVarJOG_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef Value As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetVarRCM_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef Value As Byte, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetVarE_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Index As Short, ByVal Num As Short, ByRef Values As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetVarSN_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Index As Short, ByVal Num As Short, ByRef Value As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetVarSC_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Index As Short, ByVal Num As Short, ByVal text As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetVarJOG_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Value As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetVarUAS_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Mode As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetVarRCM_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal Mode As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura ERR_MSG potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function ReadErrMsg_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef SysErrMsg As ERR_MSG, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function ReadPartProgramMsg_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal PartProgramMsg As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetGCode_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef GCode As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetMCode_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef MCode As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SkipPProgBlock_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal NumOfBlocks As Integer, ByVal Direction As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function Ese_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal BlockNum As Integer, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + + + ''''''' PLC FUNCTIONS PROTOTYPES ''''''' + + 'UPGRADE_WARNING: La struttura PLVARDESC potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetPLVarWord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByRef VarDesc As PLVARDESC, ByRef Values As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + Declare Function GetPLVarWord_M_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByRef VarDesc As PLVARDESC, ByRef Values() As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura PLVARDESC potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function SetPLVarWord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByRef VarDesc As PLVARDESC, ByRef Values As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura PLVARDESC potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetPLVarDouble_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByRef VarDesc As PLVARDESC, ByRef Values As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura PLVARDESC potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function SetPLVarDouble_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByRef VarDesc As PLVARDESC, ByRef Values As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetPLVarAscii_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal Index As Short, ByVal Value As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetPLVarAscii_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal Index As Short, ByRef Value As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetPLStreamWord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByVal Code As Short, ByVal StartIndex As Short, ByRef Values As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetPLStreamDouble_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByVal Code As Short, ByVal StartIndex As Short, ByRef Values As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetPLStreamWord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByVal Code As Short, ByVal StartIndex As Short, ByRef Values As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetPLStreamDouble_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal NumVar As Short, ByVal Code As Short, ByVal StartIndex As Short, ByRef Values As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function ReadWarningMsg_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal WarningMsg As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function CANReadSDO_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal DevNum As Short, ByVal idNode As Byte, ByVal Index As Short, ByVal subIndex As Byte, ByVal timeout As Short, ByVal Sync As Byte, ByRef data As Byte, ByRef DataLen As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function CANWriteSDO_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal DevNum As Short, ByVal idNode As Byte, ByVal Index As Short, ByVal subIndex As Byte, ByVal timeout As Short, ByVal Sync As Byte, ByRef data As Byte, ByRef DataLen As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function CANNMT_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal DevNum As Short, ByVal idNode As Byte, ByVal Cmd As Short, ByVal timeout As Short, ByVal Sync As Byte, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function CANSync_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal DevNum As Short, ByVal timeout As Short, ByVal Sync As Byte, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function CANInit_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal DevNum As Short, ByVal TickNr As Short, ByVal Inp1 As Short, ByVal Inp2 As Short, ByVal Out1 As Short, ByVal Out2 As Short, ByVal OffsDiagn As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + 'UPGRADE_WARNING: La struttura EMCY_TYPE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function CANGetEmergency_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal DevNum As Short, ByVal idNode As Byte, ByVal timeout As Short, ByVal Sync As Byte, ByRef NodeStatus As Short, ByRef AddInfo As Short, ByRef ProfNum As Short, ByRef NodeStateNG As Short, ByRef ActualErr As Short, ByRef EmcyLen As Short, ByRef EmcyData As EMCY_TYPE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function CANBoard_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal DevNum As Short, ByVal Cmd As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + Declare Function CANConsoleCfg_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal DevNum As Short, ByVal idNode As Byte, ByVal InpOffs As Short, ByVal OutOffs As Short, ByVal timeout As Short, ByVal Sync As Byte, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + + ''''''' TABLES RELATED FUNCTIONS PROTOTYPES ''''''' + + 'UPGRADE_WARNING: La struttura AXIS_TABLE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetAxisTabRecord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal RecordNum As Short, ByRef Record As AXIS_TABLE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura TOOL_TABLE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetToolTabRecord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal RecordNum As Short, ByRef Record As TOOL_TABLE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura OFFSET_TABLE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetOffsetTabRecord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal RecordNum As Short, ByRef Record As OFFSET_TABLE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura USER_TABLE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function GetUserTabRecord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal RecordNum As Short, ByRef Record As USER_TABLE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetTabFieldDouble_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal TableNum As Short, ByVal RecordNum As Short, ByVal FieldNum As Short, ByRef Value As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function GetTabFieldShort_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal TableNum As Short, ByVal RecordNum As Short, ByVal FieldNum As Short, ByRef Value As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura AXIS_TABLE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function SetAxisTabRecord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal RecordNum As Short, ByRef Record As AXIS_TABLE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura TOOL_TABLE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function SetToolTabRecord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal RecordNum As Short, ByRef Record As TOOL_TABLE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura OFFSET_TABLE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function SetOffsetTabRecord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal RecordNum As Short, ByRef Record As OFFSET_TABLE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_WARNING: La struttura USER_TABLE potrebbe richiedere attributi di marshalling da passare come argomento a questa istruzione Declare. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' + Declare Function SetUserTabRecord_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal RecordNum As Short, ByRef RecordBuff As USER_TABLE, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetTabFieldDouble_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal TableNum As Short, ByVal RecordNum As Short, ByVal FieldNum As Short, ByVal Value As Double, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetTabFieldShort_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal TableNum As Short, ByVal RecordNum As Short, ByVal FieldNum As Short, ByVal Value As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function SetTabSem_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal TableNum As Short, ByVal SemStatus As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function TabSemInfo_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByRef SemStatus As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function TabSearchDouble_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal TabNum As Short, ByVal FieldNum As Short, ByVal StartIndex As Short, ByVal StopIndex As Short, ByVal Value As Double, ByRef MatchIndex As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function TabSearchShort_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal TabNum As Short, ByVal FieldNum As Short, ByVal StartIndex As Short, ByVal StopIndex As Short, ByVal Value As Short, ByVal Mask As Short, ByRef MatchIndex As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + + ''''''' O.S. FUNCTIONS PROTOTYPES ''''''' + + 'UPGRADE_ISSUE: La dichiarazione di un parametro 'As Any' non supportata. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="FAE78A8D-8978-4FD4-8208-5B7324A8F795"' + Declare Function GRead_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal MemId As Short, ByVal Offset As Short, ByVal Length As Short, ByRef Buffer As Object, ByRef BufferLength As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + 'UPGRADE_ISSUE: La dichiarazione di un parametro 'As Any' non supportata. Fare clic per ulteriori informazioni: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="FAE78A8D-8978-4FD4-8208-5B7324A8F795"' + Declare Function GWrite_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal MemId As Short, ByVal Offset As Short, ByVal Length As Short, ByRef Buffer As Object, ByRef BufferLength As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + + + ''''''' ACTIVE PART PROGRAM DOWNLOAD FUNCTIONS PROTOTYPES ''''''' + + Declare Function DncInit_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal PathName As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function DncData_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByVal data As String, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function DncEof_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + + Declare Function DncStop_C Lib "CndexLink.DLL" (ByVal UserSession As Short, ByVal ProcNum As Short, ByRef ErrClass As Integer, ByRef ErrNum As Integer) As Short + +End Module diff --git a/EgwProxy.OsaiCncLib/Modules/ComCNOsai.vb b/EgwProxy.OsaiCncLib/Modules/ComCNOsai.vb new file mode 100644 index 0000000..9cf9068 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/ComCNOsai.vb @@ -0,0 +1,1962 @@ +' +' libreria : VBlib +' file : ComCNOsai +' +' funzioni : connessione con CN OSAI come classe v1.1b +' +' copyright 2008-2018 C.Viviani +' +Imports Microsoft.Win32 + +Public Class ComCNOsai + +#Region "STRUCT CN" + + ' ---------------------------------------------------------------------------- + ' Struttura dati utilizzata per gestione lettura e scrittura variabili su CN + ' ---------------------------------------------------------------------------- + Public Structure stVAR + + Dim szVarName As String + Dim nAddress As Integer + Dim nBit As Integer + Dim nNumCn As Integer + + End Structure +#End Region + +#Region "VARIABILI ISTANZA" + + + ' ----------------------- + ' Dichiarazione costanti + ' ----------------------- + Public Const ERRORVALUE = -9999 ' valore assegnato alla variabile in caso di errore durante la lettura + Public Const CRASHVALUE = -9998 ' valore assegnato alla variabile in caso di grave errore durante la lettura + + ' funzione boot enquiry : BootPhaseEnquiry_C + + Public Const EMERG_SWITCH_PHASE As Short = 1 + Public Const HW_BOOT_PHASE As Short = 2 + Public Const SW_BOOT_PHASE As Short = 3 + Public Const SYSTEM_UP_PHASE As Short = 4 + Public Const SERVER_MODE_PHASE As Short = 5 + Public Const REMOTE_SETUP_PHASE As Short = 6 + Public Const SERVICE_MODE_PHASE As Short = 7 + Public Const AX_PARAM_VERIFY_PHASE As Short = 8 + + ' error codes + Public Const AB_NO_ERROR = &H0 + Public Const AB_INIT_ERROR = &H101 + Public Const AB_CHANNEL_NOT_OPENED = &H102 + Public Const AB_WRONG_SESSION_NUMBER = &H103 + Public Const AB_TOO_MANY_OPENED_SESSION = &H104 + Public Const AB_REMOTE_CNC_ERROR = &H105 + Public Const AB_NAME_TOO_LONG = &H106 + Public Const AB_COMMAND_IN_EXECUTION = &H107 + Public Const AB_CHANNELS_BUSY = &H108 + Public Const AB_WRONG_PROCESS_NUMBER = &H109 + Public Const AB_WRONG_SELECT_MODE = &H10A + Public Const AB_PARAM_OUT_OF_RANGE = &H10B + Public Const AB_CALLBACK_MUST_BE_NULL = &H10C + Public Const AB_WRONG_SYNC_CODE = &H10D + Public Const AB_BUFFER_SIZE_ERROR = &H10E + ' netbios error codes + Public Const AB_NETB_NETWORK_ERROR = &H200 + Public Const AB_NETB_DUP_LOCAL_NAME = &H201 + Public Const AB_NETB_NAME_TABLE_FULL = &H202 + Public Const AB_NETB_LOCAL_SESS_TAB_FULL = &H203 + Public Const AB_NETB_NO_BODY_LISTENING = &H204 + Public Const AB_NETB_NO_ASW_FROM_REMOTE = &H205 + Public Const AB_NETB_NAME_USED_ON_REMOTE = &H206 + Public Const AB_NETB_NAME_DELETED = &H207 + Public Const AB_NETB_NAME_CONFLICT = &H208 + Public Const AB_NETB_INCOMPAT_REMOTE_DEV = &H209 + Public Const AB_NETB_TIMEOUT = &H20A + Public Const AB_NETB_SESSION_ERR = &H20B ' Session closed + + Public Const AB_USER_ERROR = &H300 + + Public Const NO_WAIT_CNC_ANSWER = 1 + Public Const WAIT_CNC_ANSWER = 2 + + Public Const ON_ = 1 + Public Const OFF_ = 0 + + ' 10 Series modes + Public Const MDI = 1 + Public Const AUTO = 2 + Public Const SEMI = 3 + Public Const MANJOG = 4 + Public Const INCJOG = 5 + Public Const PROFILE = 6 + Public Const HOME = 7 + + ' 10 Series Status + Public Const IDLE_ As Byte = 1 + Public Const CYCLE_ As Byte = 2 + Public Const HOLDA_ As Byte = 3 + Public Const RUNH_ As Byte = 4 + Public Const HRUN_ As Byte = 5 + Public Const ERRO_ As Byte = 6 + Public Const WAIT_ As Byte = 7 + Public Const RESET_ As Byte = 8 + Public Const EMERG_ As Byte = 9 + Public Const INPUT_ As Byte = 10 + + ' 10 Series SubStatus + Public Const MAS = 6 + Public Const MBR = 4 + + + Public Const NUM_ELEM_SEL_AXI = 9 + + ' Axes Position type selector + Public Const PROGPOS = 1 ' Programmed positions + Public Const INTPOS = 2 ' Interpolated positions + Public Const TRANSDPOS = 3 ' Transducer Position + Public Const ERRPOS = 4 ' Following Errors + + Public Const MAIN_PROGR_NAME_LEN = 55 + + Protected Const ERRORE_OSAI = 0 + + ' --------------------- + ' Variabili di Istanza + ' --------------------- + + Protected mConnected As Boolean ' Indica se il Cn è connesso o meno + Protected mSessionOpened As Short ' Indica il numero di sessione aperta + Protected mNomeCN As String ' Indica il nome del cn da aprire + Protected mDebug As Boolean ' Indica se la connessione è debug o meno + Protected mVersion As Short ' indica la versione del Cn + + + Protected mErrClass As Long ' Indice della classe d'errore + Protected mErrNum As Long ' Indice della classe d'errore + + Protected mErrMsg As String ' Stringa per gestione messaggi errore + Protected mCommunicationError as Boolean ' Boolean che indica se è avvenuto un errore di comunicazione + + Private Server As New CndexLinkDotNet.Cndex() ' Istanza del server per comunicazione con CN + +#End Region + +#Region "COSTRUTTORE" + + '------------------------- + ' Definizione Costruttore + '------------------------- + Public Sub New(ByVal szCN As String, ByVal bIsDebug As Boolean, Optional ByVal sVersion As Short = 2) + + ' Inizializzazione variabili + Connected = False + SessionOpened = -1 + ErrClass = 0 + ErrNum = 0 + ErrMsg = "" + + ' Set variabili da parametri + NomeCn = szCN + Debug = bIsDebug + Version = sVersion + End Sub + +#End Region + +#Region "PROPRIETA" + + ' ---------------------------------- + ' Indica se il CN è connesso o meno + ' ---------------------------------- + Public Property Connected() As Boolean + Get + Return mConnected + End Get + Set(ByVal value As Boolean) + mConnected = value + End Set + + End Property + + ' ----------------------------- + ' Indice della classe d'errore + ' ----------------------------- + Public Property ErrClass() As Long + Get + Return mErrClass + End Get + Set(ByVal value As Long) + mErrClass = value + End Set + End Property + + ' --------------------------- + ' Indice del numero d'errore + ' --------------------------- + Public Property ErrNum() As Long + Get + Return mErrNum + End Get + Set(ByVal value As Long) + mErrNum = value + End Set + End Property + + ' --------------------------------------- + ' Indica il numero della sessione aperta + ' --------------------------------------- + Public Property SessionOpened() As Short + Get + Return mSessionOpened + End Get + Set(ByVal value As Short) + mSessionOpened = value + End Set + End Property + + ' --------------------------------- + ' Indica la stringa di connessione + ' --------------------------------- + Public Property NomeCn() As String + Get + Return mNomeCN + End Get + Set(ByVal value As String) + mNomeCN = value + End Set + End Property + + ' -------------------------------- + ' Indica se la connesione è Debug + ' -------------------------------- + Public Property Debug() As Boolean + Get + Return mDebug + End Get + Set(ByVal value As Boolean) + mDebug = value + End Set + End Property + + ' -------------------------------- + ' Indica la versione Osai + ' 1 = Prima di versione WinNbi 3.0 (Gasper,Nasi,ABB etc) + ' 2 = Versione WinNbi > 3.0 con OS XP + ' 3 = Versione WinNbi > 3.0 con OS 7 + ' 4 = Open Control + ' -------------------------------- + Public Property Version() As Short + Get + Return mVersion + End Get + Set(ByVal value As Short) + mVersion = value + End Set + End Property + ' -------------------------------- + ' Stringa per gestione errori + ' -------------------------------- + Public Property ErrMsg() As String + Get + Return mErrMsg + End Get + Set(ByVal value As String) + mErrMsg = value + End Set + End Property + + ' ------------------------------------------------------------ + ' Boolean che indica se c'è stato un errore di comunicazione + ' ------------------------------------------------------------ + Public Property Communication() As Boolean + Get + Return mCommunicationError + End Get + Set(ByVal value As Boolean) + mCommunicationError = value + End Set + End Property + +#End Region + +#Region "METODI - Open/close connection" + + '------------------------------ + ' Lettura messaggio DIS + '------------------------------ + Public Overridable Function ReadDisMsg(Optional ByVal nProcess As Integer = 1, Optional ByVal nMac As Integer = 1) As String + + Dim szResult As String = "" ' Stringa risultato + + Dim n_ret_state As Short + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + n_ret_state = Server.ReadPartProgramMsg_C(SessionOpened, nProcess, szResult, ErrClass, ErrNum) + + If (n_ret_state = ERRORE_OSAI) Then + + ErrMsg = "Error on reading DIS Messages " & vbCrLf & what_happened() + 'MsgBox(ErrMsg) + Return CShort(ERRORVALUE).ToString ' In uscita setto variabile a ERRORVALUE errore + + Else + ' return con il valore letto + Return szResult + + End If + End If + + Return szResult + End Function + + + ' ------------------------------ + ' Apertura sessione con CN Osai + ' ------------------------------ + Public Overridable Function OpenSession() As Boolean + + Dim nSession As Short = 0 + + Select Case Debug + + Case False ' Se non sono in Debug = 0 + + nSession = Server.OpenSession_C(NomeCn, SessionOpened, ErrClass, ErrNum) ' Apro la sessione + + If (nSession <> ERRORE_OSAI) Then + Connected = True ' Setto connesso = true + Else + Connected = False ' Setto connesso = false + ErrMsg = "Error on open session" & vbCrLf & what_happened() + End If + + + Case True ' Se sono in Debug = 1 + + Connected = True ' Connessione sempre OK + + End Select + + Return Connected + + End Function + + ' ------------------------------ + ' Chiusura sessione con CN Osai + ' ------------------------------ + Public Overridable Function CloseSession() As Boolean + + Dim nSession As Short + Dim bOk As Boolean + + Select Case Debug + + Case False ' Se non sono in Debug = 0 + + nSession = Server.CloseSession_C(SessionOpened, ErrClass, ErrNum) ' Chiudo la sessione + + If (nSession <> ERRORE_OSAI) Then + bOk = True + Else + ErrMsg = "Error on closing session" & vbCrLf & what_happened() + bOk = False + End If + + Case True ' Se sono in Debug = 1 + + bOk = True + + End Select + + Connected = False + + Return bOk + + End Function + + ' ------------------------------ + ' Verifica che il CN sia running + ' ------------------------------ + Public Overridable Function Is_NC_running() As Boolean + + Dim n_ret_state As Short + Dim n_boot_Phase As Short + + n_ret_state = Server.BootPhaseEnquiry_C(SessionOpened, n_boot_Phase, ErrClass, ErrNum) + + If (n_ret_state = ERRORE_OSAI) Then + ErrMsg = "Error on BootPhaseEnquiry_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return False + Exit Function + End If + + If n_boot_Phase <> SYSTEM_UP_PHASE Then + Return False + Else + Return (True) + End If + + End Function + + ' ------------------------------ + ' START PartProgram + ' ------------------------------ + Public Overridable Function StartPP() As Boolean + + Dim n_ret_state As Short + Dim bOk As Boolean + + Select Case Debug + + Case False ' Se non sono in Debug = 0 + + n_ret_state = Server.Cycle_C(SessionOpened, 1, 1, ErrClass, ErrNum) ' Chiudo la sessione + + If (n_ret_state = ERRORE_OSAI) Then + + ErrMsg = "Error on Cycle_C" & vbCrLf & vbCrLf & what_happened() + bOk = False + Else + bOk = True + End If + + Case True ' Se sono in Debug = 1 + + bOk = True + + End Select + + Return bOk + + End Function + +#End Region + +#Region "METODI - NC copy post Vista ...." + + '------------------------------ + ' Copia file da Pc a Cn post Vista .... ritorna zero in caso di errore. + '------------------------------ + Public Overridable Function CopyFileToNC(ByVal sz_logical_drive As String, + ByVal sz_source_filename As String, + ByVal sz_dest_filename As String) As Short + + Dim n_ret_state As Short + + Select Case Debug + + Case False ' Se non sono in Debug = 0 + + n_ret_state = Server.LogFSTransferFileW_C(sz_logical_drive, sz_source_filename, NomeCn, sz_dest_filename, ErrClass, ErrNum) + + If (n_ret_state > 0) Then ' ritorna zero in caso di errore. + Else + ErrMsg = "Error on CopyFileToNC" & vbCrLf & what_happened() + MsgBox(ErrMsg) + + End If + + Case True ' Se sono in Debug = 1 + + n_ret_state = 1 ' Connessione sempre OK + + End Select + + Return n_ret_state + + End Function + + '------------------------------ + ' Copia file da Cn a PC post Vista .... + '------------------------------ + Public Overridable Function CopyFileFromNc(ByVal sz_logical_drive As String, + ByVal sz_source_filename As String, + ByVal sz_dest_filename As String) As Short + + Dim n_ret_state As Short + + Select Case Debug + + Case False ' Se non sono in Debug = 0 + + + n_ret_state = Server.LogFSTransferFileW_C(NomeCn, sz_source_filename, sz_logical_drive, sz_dest_filename, ErrClass, ErrNum) + + If (n_ret_state > 0) Then + Else + ErrMsg = "Error on CopyFileFromNc" & vbCrLf & what_happened() + MsgBox(ErrMsg) + + End If + + + Case True ' Se sono in Debug = 1 + + n_ret_state = 1 ' Connessione sempre OK + + End Select + + Return n_ret_state + + End Function + + '------------------------------ + ' Delete file su Cn post Vista .... + '------------------------------ + Public Overridable Function DeleteFileOnNC(ByVal sz_pathname As String, ByVal sz_filename As String) As Short + + Dim n_ret_state As Short + + Dim n_hidden_drives As Long + Dim n_user_drives As Long + Dim n As Short + Dim sz_drive_name As String + Dim sz_drive_path As String + + Select Case Debug + + Case False ' Se non sono in Debug = 0 + + n_ret_state = Server.LogFSGetNumDrive_C(SessionOpened, n_hidden_drives, n_user_drives, ErrClass, ErrNum) + + sz_drive_name = "" + sz_drive_path = "" + n = 0 + + 'n_ret_state = Server.LogFSGetDriveList_C(SessionOpened, sz_drive_name, n, ErrClass, ErrNum) + + 'n_ret_state = Server.LogFSSetSecurityLevel_C(SessionOpened, "OEM", CndexLinkDotNet.Cndex.SECURITY_LEVEL_C.SECURITY_LEV_OEM_ADMIN_C, n, ErrClass, ErrNum) + + 'n_ret_state = Server.LogFSGetDrivePath_C(SessionOpened, sz_drive_name, sz_drive_path, CndexLinkDotNet.Cndex.SECURITY_LEVEL_C.SECURITY_LEV_OEM_ADMIN_C, ErrClass, ErrNum) + + n_ret_state = Server.LogFSRemoveFile_C(SessionOpened, sz_pathname, sz_filename, ErrClass, ErrNum) + + If (n_ret_state > 0) Then + Else + ErrMsg = "Error on DeleteFileOnNC" & vbCrLf & what_happened() + MsgBox(ErrMsg) + + End If + + Case True ' Se sono in Debug = 1 + + n_ret_state = 1 ' Connessione sempre OK + + End Select + + Return n_ret_state + + End Function + +#End Region + +#Region "METODI - Lettura/scrittura variabili CN" + + '------------------------------ + ' Lettura variabile Bool su Cn + '------------------------------ + Public Overridable Function ReadBoolVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short + + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim nNumVarToBeReaded As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nValues(0) = 0 + + nComOk = Server.ReadVarWord_C(SessionOpened, CndexLinkDotNet.Cndex.GW_CODE, nProcess, szVar.nAddress, nNumVarToBeReaded, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading bool variable" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + Else + + If ((nValues(0) And (2 ^ szVar.nBit)) <> 0) Then ' Maschera per controllare solo il bit che mi interessa + nValues(0) = 1 + Else + nValues(0) = 0 + End If + + ' return con il valore letto + Return nValues(0) + + End If + + + Else ' gestione se debug + + ' ritorno valore fittzio + Return 1 + + End If + + End Function + + ' ------------------------------- + ' Scrittura variabile Bool su Cn + '--------------------------------- + Public Overridable Function WriteBoolVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 scrittura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.WriteVarWordBit_C(SessionOpened, CndexLinkDotNet.Cndex.GW_CODE, nProcess, szVar.nAddress, szVar.nBit, nValue, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on writing bool variable" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + '------------------------------ + ' Lettura variabile Short su Cn + '------------------------------ + Public Overridable Function ReadShortVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short + + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim nNumVarToBeReaded As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nValues(0) = 0 + + nComOk = Server.ReadVarWord_C(SessionOpened, CndexLinkDotNet.Cndex.GW_CODE, nProcess, szVar.nAddress, nNumVarToBeReaded, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on ReadVarWord_C" & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return nValues(0) + + End If + + Else ' gestione se debug + + ' ritorno true + Return 1 + + End If + + End Function + + ' ------------------------------- + ' Scrittura variabile Short su Cn + '--------------------------------- + Public Overridable Function WriteShortVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 scritt. OK Se 0 lettura KO + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + + nValues(0) = nValue + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.WriteVarWord_C(SessionOpened, CndexLinkDotNet.Cndex.GW_CODE, nProcess, szVar.nAddress, nNumVarToBeWrited, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on writing short variable" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + '-------------------------------- + ' Lettura variabile G Double su Cn + '-------------------------------- + Public Overridable Function ReadDoubleVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim nNumVarToBeReaded As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nValues(0) = 0 + + nComOk = Server.ReadVarDouble_C(SessionOpened, CndexLinkDotNet.Cndex.GD_CODE, nProcess, szVar.nAddress, nNumVarToBeReaded, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading double variable" & vbCrLf & what_happened() + Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return nValues(0) + + End If + + + Else ' gestione se debug + + ' ritorno true + Return 1.0 + + End If + + End Function + + ' --------------------------------- + ' Scrittura variabile G Double su Cn + '---------------------------------- + Public Overridable Function WriteDoubleVar(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 scritt. OK Se 0 lettura KO + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + + nValues(0) = nValue + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.WriteVarDouble_C(SessionOpened, CndexLinkDotNet.Cndex.GD_CODE, nProcess, szVar.nAddress, nNumVarToBeWrited, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on writing double variable" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + '----------------------------------- + ' Lettura variabile E (Double) su Cn + '----------------------------------- + Public Overridable Function ReadVarE(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim nNumVarToBeReaded As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nValues(0) = 0 + + nComOk = Server.ReadVarDouble_C(SessionOpened, CndexLinkDotNet.Cndex.E_CODE, nProcess, szVar.nAddress, nNumVarToBeReaded, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading double variable" & vbCrLf & what_happened() + Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return nValues(0) + + End If + + + Else ' gestione se debug + + ' ritorno valore fittizio + Return 1.0 + + End If + + End Function + + ' --------------------------------- + ' Scrittura variabile E (Double) su Cn + '---------------------------------- + Public Overridable Function WriteVarE(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 scr. OK ; Se 0 scrittura KO + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + + nValues(0) = nValue + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.WriteVarDouble_C(SessionOpened, CndexLinkDotNet.Cndex.E_CODE, nProcess, szVar.nAddress, nNumVarToBeWrited, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on writing double variable" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + '----------------------------------- + ' Lettura variabile L (Double) su Cn + '----------------------------------- + Public Overridable Function ReadVarL(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + + ' sulla serie 10 per leggere una variabile L occorre leggere un record della USER TABLE + + Dim nComOk As Short ' Se 1 lettura OK ; Se 0 lettura KO + + Dim UserRecord As CndexLinkDotNet.Cndex.USER_TABLE = Nothing + Dim nRecNumber As Short ' da 1 a 100 + Dim nRecIndex As Short ' da 1 a 4 all interno del record + Dim value As Double + + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nRecNumber = (szVar.nAddress / 4) + 1 + nRecIndex = (szVar.nAddress Mod 4) + 1 + + nComOk = Server.GetUserTabRecord_C(SessionOpened, nRecNumber, UserRecord, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading L variable" & vbCrLf & what_happened() + Return -99999.99 ' In uscita setto variabile a ERRORVALUE errore + + Else + Select Case nRecIndex + Case 1 + value = UserRecord.user1 + Case 2 + value = UserRecord.user2 + Case 3 + value = UserRecord.user3 + Case 4 + value = UserRecord.user4 + + End Select + + Return value + + End If + + ' se sono in debug + Else + + Return 0.0 + + End If ' + + + End Function + + ' --------------------------------- + ' Scrittura variabile L (Double) su Cn + '---------------------------------- + Public Overridable Function WriteVarL(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + + ' sulla serie 10 per scrivere una variabile L occorre leggere un record della USER TABLE, sostituire il valore e riscrivere il record + + Dim nComOk As Short ' Se 1 lettura OK ; Se 0 lettura KO + + Dim UserRecord As CndexLinkDotNet.Cndex.USER_TABLE = Nothing + Dim nRecNumber As Short ' da 1 a 100 + Dim nRecIndex As Short ' da 1 a 4 all interno del record + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nRecNumber = (szVar.nAddress / 4) + 1 + nRecIndex = (szVar.nAddress Mod 4) + 1 + + nComOk = Server.GetUserTabRecord_C(SessionOpened, nRecNumber, UserRecord, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on read L variable" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + Select Case nRecIndex + Case 1 + UserRecord.user1 = nValue + Case 2 + UserRecord.user2 = nValue + Case 3 + UserRecord.user3 = nValue + Case 4 + UserRecord.user4 = nValue + + End Select + + nComOk = Server.SetUserTabRecord_C(SessionOpened, nRecNumber, UserRecord, ErrClass, ErrNum) + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on writing L variable" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + Return True + End If + + End If + + Else ' se sono in debug + Return True + End If ' + + End Function + + '-------------------------------- + ' Lettura variabile SC su Cn + '-------------------------------- + Public Overridable Function ReadSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, Optional ByVal nProcess As Integer = 1) As String + + Dim szValue As String = "" + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim szText As String = "" + + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.ReadVarText_C(SessionOpened, CndexLinkDotNet.Cndex.SC_CODE, nProcess, nIndex, nNumChar, szValue, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading SC variable" & vbCrLf & what_happened() + Return "" ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return szValue + + End If + + + Else ' gestione se debug + + ' ritorno true + Return "SC VAR - DEBUG" + + End If + + + End Function + + ' --------------------------------- + ' Scrittura variabile SC su Cn + '---------------------------------- + Public Overridable Function WriteSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, ByVal szText As String, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 scritt. OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.WriteVarText_C(SessionOpened, CndexLinkDotNet.Cndex.SC_CODE, nProcess, nIndex, nNumChar, szText, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on writing SC variable" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + '-------------------------------- + ' Lettura variabile MW ( word ) su Cn + '-------------------------------- + Public Overridable Function ReadVarMW(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As UShort + + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà  il valore letto + Dim nComOk As Short ' Se 1 scr. OK Se 0 lettura KO + Dim nNumVarToRead As Short = 1 ' Numero di variabili da leggere (fisso a 1) + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nValues(0) = 0 + + nComOk = Server.ReadVarWord_C(SessionOpened, CndexLinkDotNet.Cndex.MW_CODE, nProcess, szVar.nAddress, nNumVarToRead, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading MW variable" & vbCrLf & what_happened() + Return (9999) ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return nValues(0) + + End If + + + Else ' gestione se debug + + ' ritorno true + Return 1 + + End If + + End Function + + '-------------------------------- + ' Lettura multi variabile MW su Cn + '-------------------------------- + Public Overridable Function ReadMultipleVarMW(ByVal nAddress As Integer, ByRef nValues() As Short, ByVal nNumVarToRead As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 scr. OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nValues(0) = 0 + + nComOk = Server.ReadVarWord_C(SessionOpened, CndexLinkDotNet.Cndex.MW_CODE, nProcess, nAddress, nNumVarToRead, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading multiple MW variable" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + Return True + End If + + Else ' gestione se debug + Return True + End If + + End Function + + + '----------------------------------- + ' Lettura variabile SN (Double) su Cn + '----------------------------------- + Public Overridable Function ReadVarSN(ByVal nVar As Short, Optional ByVal nProcess As Integer = 1) As Double + + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim nNumVarToBeReaded As Short = 1 ' Numero di variabili da leggere (fisso a 1) + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nValues(0) = 0 + + nComOk = Server.ReadVarDouble_C(SessionOpened, CndexLinkDotNet.Cndex.SN_CODE, nProcess, nVar, nNumVarToBeReaded, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading SN variable" & vbCrLf & what_happened() + Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return nValues(0) + + End If + + + Else ' gestione se debug + + ' ritorno valore fittizio + Return 1.0 + + End If + + End Function + + +#End Region + +#Region "METODI - Info da CN e varie" + + ' --------------------------------- + ' Lettura Warning Msg + '---------------------------------- + Public Overridable Function ReadWarning(ByRef szText As String) As Boolean + + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.ReadWarningMsg_C(SessionOpened, szText, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading Warning Messages" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' --------------------------------- + ' Lettura programma corrente + '---------------------------------- + Public Overridable Function GetActiveProgram(ByVal nProcess As Integer) As String + Dim szMainPrg As String = "" + Dim szSubProgram As String = "" + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.GetActivePartProgram_C(SessionOpened, nProcess, 1, szMainPrg, szSubProgram, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on GetActivePartProgram_C" & vbCrLf & what_happened() + Return "Error" ' In uscita setto variabile a ERRORVALUE errore + + Else + + szMainPrg = Replace(szMainPrg, vbNullChar, "") ' Pulisco i caratteri farlocchi ... + Return szMainPrg + + End If + + ' se sono in debug + Else + + Return "OK" + + End If ' Endif gestione macchina collegata + + End Function + + ' --------------------------------------------------------------- + ' Ritorna True se lo stato del CN è IDLE + '---------------------------------------------------------------- + Public Overridable Function IsResetStatus(Optional ByVal nProcess As Integer = 1) As Boolean + Dim RetVal As Short + Dim ncInfo As New CndexLinkDotNet.Cndex.GETINFO1DATA + + RetVal = Server.GetNcInfo1_C(SessionOpened, nProcess, ncInfo, ErrClass, ErrNum) + + If RetVal > 0 Then + + If ncInfo.mode_select = 0 Then + Return True + Else + Return False + End If + + Else + 'MsgBox("Error in IsResetStatus" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + + ' --------------------------------- + ' Lettura info CN 1 + '---------------------------------- + Public Overridable Function NcInfo1(ByRef ncInfo As CndexLinkDotNet.Cndex.GETINFO1DATA, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.GetNcInfo1_C(SessionOpened, nProcess, ncInfo, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading NcInfo1" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' --------------------------------- + ' Lettura info CN 2 + '---------------------------------- + Public Overridable Function NcInfo2(ByRef ncInfo As CndexLinkDotNet.Cndex.GETINFO2DATA, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.GetNcInfo2_C(SessionOpened, nProcess, ncInfo, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading NcInfo2" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + '------------------------------ + ' Lettura process stato info Cn + '------------------------------ + ' + ' ha causato molto dispiacere il fatto che se uso la Server.GetProcessStatus_C con winnbi < 3.1.1 + ' dà una UNRESOLVED a run time della GetProcessStatus_C8 ( notare l' "8" finale ) nella CNDEXLINK.DLL + ' + ' soluzione : con Win Nbi recenti, uso Server.GetProcessStatus_C ; con Winnbi vecchi, faccio override + ' di questa funzione USANDO LA STRUTTURA NUOVA CndexLinkDotNet.Cndex.PROCDATA ( altrimenti non è possibile + ' fare override; ma poi uso una variabile locale tipo vecchio ( PROCDATA ) e in caso di esito positivo, + ' copio i dati risultanti. + ' + ' Attenzione : si ha lo stesso problema anche con la Server.GetNcInfo1_C ma curiosamente non con le funzioni + ' di lettura scrittura variabili CN .... boh !! + Public Overridable Function NcProcessStatus(ByRef ncInfo As CndexLinkDotNet.Cndex.PROCDATA, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.GetProcessStatus_C(SessionOpened, nProcess, ncInfo, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on GetProcessStatus_C" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' --------------------------------- + ' Lettura dati assi + '---------------------------------- + Public Overridable Function GetAxesValue(ByRef AxesData() As CndexLinkDotNet.Cndex.GETINTDATA, ByVal AsciiNameAxe As Byte, ByVal nTypeCoord As Integer, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.GetAxesPosition_C(SessionOpened, nProcess, AsciiNameAxe, nTypeCoord, 1, AxesData, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on reading Axes Data" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' ------------------------------------------------- + ' Lettura stato macchina su processo passato per parametro + '-------------------------------------------------- + Public Overridable Function GetMachineStatus(Optional ByVal nProcess As Integer = 1) As Byte + Dim RetVal As Short + Dim ncInfo As New CndexLinkDotNet.Cndex.GETINFO1DATA + ' se macchina collegata e non in debug + + If (Not (Debug)) Then + + RetVal = Server.GetNcInfo1_C(SessionOpened, nProcess, ncInfo, ErrClass, ErrNum) + If RetVal > 0 Then + Return ncInfo.status + + Else + ErrMsg = "Error on reading Machine Status" & vbCrLf & what_happened() + Return 0 + End If + ' se sono in debug + Else + Return True + End If + End Function + + ' ------------------------------------------------- + ' Lettura modalità  macchina su processo passato per parametro + '-------------------------------------------------- + Public Overridable Function GetModeSelected(Optional ByVal nProcess As Integer = 1) As Byte + Dim RetVal As Short + Dim ncInfo As New CndexLinkDotNet.Cndex.GETINFO1DATA + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + RetVal = Server.GetNcInfo1_C(SessionOpened, nProcess, ncInfo, ErrClass, ErrNum) + If RetVal > 0 Then + Return ncInfo.mode_select + + Else + ErrMsg = "Error on reading Machine Mode" & vbCrLf & what_happened() + Return 0 + End If + ' se sono in debug + Else + Return True + End If + End Function + + ' --------------------------------- + ' CN in modalità  AUTO + '---------------------------------- + Public Overridable Function SetAutoMode(Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 OK ; Se 0 KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.SetProcessMode_C(SessionOpened, nProcess, 2, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on SetAutoMode" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + + ' --------------------------------- + ' Seleziona part program da rendere attivo + '---------------------------------- + Public Overridable Function ActivateProgramOnNC(ByRef szNamePrg As String, Optional ByVal nProcess As Integer = 1) As Boolean + + ' returns TRUE if activate OK + + Dim nComOk As Short + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.SelectPartProgram_C(SessionOpened, nProcess, szNamePrg, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = Message.msg(112) & szNamePrg & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + + Public Overridable Function ActivatePP(ByVal szPartPrg As String, Optional ByVal nProcess As UShort = 1) As Short + Return ActivateProgramOnNC(szPartPrg, nProcess) + End Function + + ' --------------------------------- + ' Setta modalità CN Edit, Auto, MDI, .... + '---------------------------------- + Public Overridable Function SetMode(ByVal nMode As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.SetProcessMode_C(SessionOpened, nProcess, nMode, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = Message.msg(119) & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' --------------------------------- + ' Stringa MDI da eseguire + '---------------------------------- + Public Overridable Function SetMdiString(ByRef szString As String, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = Server.SetMdiString_C(SessionOpened, nProcess, szString, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = Message.msg(120) & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + +#End Region + +#Region " funzione nuove per open series, qui vuote" + + + + Public Overridable Function GetActualTool(Optional ByVal nProcess As Integer = 1) As Double + Return 0 + End Function + + Public Overridable Function GetActualCorr(Optional ByVal nProcess As Integer = 1) As UShort + Return 0 + End Function + + Public Overridable Function GetFeedOverride(Optional ByVal nProcess As Integer = 1) As UShort + Return 0 + End Function + + Public Overridable Function GetRapidOverride(Optional ByVal nProcess As Integer = 1) As UShort + Return 0 + End Function + + Public Overridable Function GetSpeedOverride(Optional ByVal nProcess As Integer = 1) As UShort + Return 0 + End Function + + Public Overridable Function GetProgrammedRapid(Optional ByVal nProcess As Integer = 1) As Double + Return 0.0 + End Function + + Public Overridable Function GetProgrammedFeed(Optional ByVal nProcess As Integer = 1) As Double + Return 0.0 + End Function + + Public Overridable Function GetProgrammedSpeed(Optional ByVal nProcess As Integer = 1) As Double + Return 0.0 + End Function + + Public Overridable Function GetActualFeed(Optional ByVal nProcess As Integer = 1) As Double + Return 0.0 + End Function + + Public Overridable Function GetActualSpeed(Optional ByVal nProcess As Integer = 1) As Double + Return 0.0 + End Function + + Public Overridable Function GetActualToolLen(ByVal nRecord As UInteger) As Double + + Dim n_ret As Short + Dim pRecordBuff As CndexLinkDotNet.Cndex.OFFSET_TABLE + + If (Not (Debug)) Then + + n_ret = Server.GetOffsetTabRecord_C(SessionOpened, nRecord, pRecordBuff, ErrClass, ErrNum) + + If (n_ret = ERRORE_OSAI) Then + ErrMsg = Message.msg(120) & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return -999998.999 ' In uscita setto variabile a ERRORVALUE errore + Else + Return pRecordBuff.tactl1 + End If + Else ' se sono in debug + Return 10.0 + End If ' Endif gestione macchina collegata + + End Function + + Public Overridable Function GetActualToolDiam(ByVal nRecord As UInteger) As Double + + Dim n_ret As Short + Dim pRecordBuff As CndexLinkDotNet.Cndex.OFFSET_TABLE + + If (Not (Debug)) Then + + n_ret = Server.GetOffsetTabRecord_C(SessionOpened, nRecord, pRecordBuff, ErrClass, ErrNum) + + If (n_ret = ERRORE_OSAI) Then + ErrMsg = Message.msg(120) & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return -999997.999 ' In uscita setto variabile a ERRORVALUE errore + Else + Return pRecordBuff.tdiameter + End If + Else ' se sono in debug + Return 20.0 + End If ' Endif gestione macchina collegata + + End Function + + Public Overridable Function GetActualToolDiam2(ByVal nRecord As UInteger) As Double + + Dim n_ret As Short + Dim pRecordBuff As CndexLinkDotNet.Cndex.OFFSET_TABLE + + If (Not (Debug)) Then + + n_ret = Server.GetOffsetTabRecord_C(SessionOpened, nRecord, pRecordBuff, ErrClass, ErrNum) + + If (n_ret = ERRORE_OSAI) Then + ErrMsg = Message.msg(120) & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return -999997.999 ' In uscita setto variabile a ERRORVALUE errore + Else + Return pRecordBuff.tcacdiam + + End If + Else ' se sono in debug + Return 20.0 + End If ' Endif gestione macchina collegata + + End Function + + Public Overridable Function PutFile(ByRef szPathFile As String, ByVal szTargetPath As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger, ByRef FileSize As Integer) As Integer + Return 0 + End Function + + Public Overridable Function ReadPPLines(ByVal nProcess As Integer, ByRef EightLines() As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger) As Boolean + Return True + End Function + +#End Region + +#Region "Controllo win Nbi" + + ''' + ''' Verifica se è installata la WINNBI e se è una versione compatibile con .NET + ''' + ''' Versione compatibile con framework .NET + Shared Function GetWinnbi(Optional ByRef DotNet As Boolean = False) As Boolean + + Dim DotNetMinVersion As New System.Version("3.1.1") + Dim readValue() As String + Dim Ver As System.Version + Dim key As RegistryKey + Dim b_ret As Boolean + + b_ret = False + + Try + + 'leggo le versioni installate + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\OSAI\WinNBI") + readValue = key.GetSubKeyNames + 'verifico che ci sia al massimo una versione installata + If readValue.Count > 1 Then + MessageBox.Show("more versions of WinNBI found." & vbNewLine & + "Please ckeck keys in HKEY_LOCAL_MACHINE\SOFTWARE\OSAI\WinNBI", + "Error on GetWinnbi", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + + 'MsgBox("readValue(0) = " & readValue(0) & vbCrLf & "readValue.Count = " & readValue.Count.ToString) + + ' in XP la 4.0.1 mi ritorna 3.2 ....errore di lunghezza + + If readValue(0).Length < 4 Then + readValue(0) = readValue(0) & "0" + End If + + 'La precisione di Osai nel rilasciare le versioni !! + ' If readValue(0) = "3.05" Then readValue(0) = "3.0.5" + ' If readValue(0) = "3.03" Then readValue(0) = "3.0.3" + + If (readValue(0).Substring(0, 3) = "3.0") And (readValue(0).Substring(3, 1) <> ".") Then + readValue(0) = Replace(readValue(0), "3.0", "3.0.") + End If + + + For Each szVersion As String In readValue + Ver = New System.Version(szVersion) + + 'se versione compatibile con framework .NET + If Ver >= DotNetMinVersion Then + DotNet = True + End If + + 'se entro almeno una volta ho trovato almeno una versione installata + b_ret = True + + Next + + + 'DotNet = False '!! + + Catch e As Exception + + If Not b_force_S10WLK32 Then + MsgBox("Unable to get WinNbi version... " & e.ToString, MsgBoxStyle.Critical, "error in GetWinnbi") + End If + + b_ret = False + + + End Try + + Return b_ret + + End Function + + ''' + ''' restituisce la versione installata di WINNBI + ''' + Shared Function GetWinnbi_version() As String + + Dim readValue() As String + Dim key As RegistryKey + + Try + 'leggo le versioni installate + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\OSAI\WinNBI") + readValue = key.GetSubKeyNames + + 'La precisione di Osai nel rilasciare le versioni !! + If readValue(0) = "3.05" Then readValue(0) = "3.0.5" + If readValue(0) = "3.03" Then readValue(0) = "3.0.3" + Return readValue(0) + + Catch e As Exception + MsgBox("Unable to get WinNbi version... " & e.ToString, "error in GetWinnbi_version") + + Return "0.9.99" + + End Try + + + + + End Function + +#End Region + +#Region "Explain what happened" + + ' Error codes for NETBIOS class (class 3) + ' + ' 0x0001 Illegal buffer length + ' 0x0003 Illegal command + ' 0x0005 Command timed out + ' 0x0006 Message incomplete, issue another command + ' 0x0007 Illegal buffer address + ' 0x0008 Session number out of range + ' 0x0009 No resource available + ' 0x000a Session closed + ' 0x000b Command cancelled + ' 0x000d Duplicate name + ' 0x000e Name table full + ' 0x000f No deletions, name has active sessions + ' 0x0011 Local session table full + ' 0x0012 Remote session table full + ' 0x0013 Illegal name number + ' 0x0014 No callname + ' 0x0015 Cannot put * in NCB_NAME + ' 0x0016 Name in use on remote adapter + ' 0x0017 Name deleted + ' 0x0018 Session ended abnormally + ' 0x0019 Name conflict detected + ' 0x0021 Interface busy, IRET before retrying + ' 0x0022 Too many commands outstanding, retry later + ' 0x0023 Ncb_lana_num field invalid + ' 0x0024 Command completed while cancel occurring + ' 0x0026 Command not valid to cancel + ' 0x0030 Name defined by anther local process + ' 0x0034 Environment undefined. RESET required + ' 0x0035 Required OS resources exhausted + ' 0x0036 Max number of applications exceeded + ' 0x0037 No saps available for netbios + ' 0x0038 Requested resources are not available + ' 0x0039 Invalid ncb address or length > segment + ' 0x003B Invalid NCB DDID + ' 0x003C Lock of user area failed + ' 0x003f NETBIOS not loaded + ' 0x0040 System error + + Const COM_error_class As Integer = 1 + Const SERVER_error_class As Integer = 3 + Const NETBIOS_class As Integer = 3 + + Const Session_closed As Integer = &H000A ' 0x000a Session closed + Const No_callname_err As Integer = 20 ' 0x0014 No callname + Const Session_ended_abnormal As Integer = &H0018 ' 0x0018 Session ended abnormally + + + Const CNC_Error_class As Integer = 4 + + Const CL4_Syntax_error As Integer = 1 + Const CL4_Format_error As Integer = 8 + Const CL4_Undefined_symbol As Integer = 9 + Const CL4_Duplicated_label As Integer = 53 + Const CL4_Label_too_long As Integer = 55 + Const CL4_Sub_Table_overflow As Integer = 56 + Const CL4_Label_Table_overflow As Integer = 57 + Const CL4_Part_program_handling_error As Integer = 65 + Const CL4_Part_program_not_found As Integer = 66 + + Const FILESYS_error_class As Integer = 5 + Const FILESYS_ERR_error_class As Integer = 6 + + + Const CNDEXLINK_DLL_class As Integer = 9 + Const CNDEX_INTERFACE_class As Integer = 10 + + Const ERR_SERVER_ALREADY_CREATED As Integer = 1 ' CNDEX server already created + Const ERR_CREATING_SERVER_OBJECT As Integer = 2 ' Error creating CNDEX server + Const ERR_SERVER_NOT_CREATED As Integer = 3 ' CNDEX server never created or already released + Const ERR_INVALID_PARAMETER As Integer = 4 ' Invalid value for one or more parameters + Const ERR_OPTION_NOT_ENABLED As Integer = 5 ' The COMMUNICATION option is not enabled for connected CNC + + + Function what_happened() As String + Dim sz_return As String + + sz_return = "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + + Select Case ErrClass + + Case COM_error_class ' --------------------------- class 1 + sz_return = sz_return & vbCrLf & vbCrLf & "COM error (class 1)" + + Case SERVER_error_class ' --------------------------- class 2 + sz_return = sz_return & vbCrLf & vbCrLf & "SERVER error (class 2)" + + + Case NETBIOS_class ' --------------------------- class3 - NETBIOS ----------------- + + Select Case ErrNum + + Case Session_closed ' 0x000a Session closed + sz_return = "Session closed" & vbCrLf & vbCrLf & "( Class 3 err 0x0A )" + + Case No_callname_err + sz_return = "Please verify connection ( cable etc. )" & vbCrLf & vbCrLf & "( No call name - Class 3 err 0x14 )" + + Case Session_ended_abnormal ' 0x0018 Session ended abnormally + sz_return = "Session ended abnormally" & vbCrLf & vbCrLf & "( Class 3 err 0x18 )" + + End Select ' class3 - NETBIOS + + Case CNC_Error_class ' --------------------------- class4 - CNC_Error ----------------- + + Select Case ErrNum + Case CL4_Syntax_error + sz_return = "Syntax error" & vbCrLf & vbCrLf & "( Class 4 err 1 )" + + Case CL4_Format_error + sz_return = "Format error" & vbCrLf & vbCrLf & "( Class 4 err 8 )" + + Case CL4_Undefined_symbol + sz_return = "Undefined symbol" & vbCrLf & vbCrLf & "( Class 4 err 9 )" + + Case CL4_Duplicated_label + sz_return = "Duplicated label" & vbCrLf & vbCrLf & "( Class 4 err 53 )" + + Case CL4_Label_too_long + sz_return = "Label too long" & vbCrLf & vbCrLf & "( Class 4 err 55 )" + + Case CL4_Sub_Table_overflow + sz_return = "Subroutine Table overflow" & vbCrLf & vbCrLf & "( Class 4 err 56 )" + + Case CL4_Label_Table_overflow + sz_return = "Label Table overflow" & vbCrLf & vbCrLf & "( Class 4 err 57 )" + + Case CL4_Part_program_handling_error + sz_return = "Part_program_handling_error" & vbCrLf & vbCrLf & "( Class 4 err 65 )" + + Case CL4_Part_program_not_found + sz_return = "Part_program_not_found" & vbCrLf & vbCrLf & "( Class 4 err 66 )" + + End Select ' class4 - CNC_Error + + Case FILESYS_error_class ' --------------------------- class 5 + + Case FILESYS_ERR_error_class ' --------------------------- class 6 + + Case CNDEXLINK_DLL_class ' --------------------------- class 9 + + + Case CNDEX_INTERFACE_class ' --------------------------- class 10 - CNDEX_INTERFACE ----------------- + + Select Case ErrNum + Case ERR_SERVER_ALREADY_CREATED + sz_return = "CNDEX server already created ( Class 10 err 1 )" + + Case ERR_CREATING_SERVER_OBJECT + sz_return = "Error creating CNDEX server ( Class 10 err 2 )" + + Case ERR_SERVER_NOT_CREATED + sz_return = "CNDEX server never created or already released ( Class 10 err 3 )" + + Case ERR_INVALID_PARAMETER + sz_return = "Invalid value for one or more parameters ( Class 10 err 4 )" + + Case ERR_OPTION_NOT_ENABLED + sz_return = vbCrLf & "The 'A06 CndexLink communication' option is not enabled on connected CNC ( Class 10 err 5 )" + End Select + + End Select + + + Return sz_return + + End Function + +#End Region + +End Class + diff --git a/EgwProxy.OsaiCncLib/Modules/ComCNOsaiVB6.vb b/EgwProxy.OsaiCncLib/Modules/ComCNOsaiVB6.vb new file mode 100644 index 0000000..9f24b97 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/ComCNOsaiVB6.vb @@ -0,0 +1,604 @@ +' +' libreria : VBlib +' file : ComCNOsaiVB6 +' +' funzioni : connessione con CN OSAI come classe - override metodi per vecchie versioni WinNbi +' +' note : aggiute funzione su NCinfo ( 23-XI-2018) +' +' copyright 2008-2018 C.Viviani +' +Imports Microsoft.Win32 + +Public Class ComCNOSAIVB6 + + Inherits ComCNOsai + + Public Sub New(ByVal szRemoteName As String, ByVal b_debug As Boolean) + + MyBase.New(szRemoteName, b_debug) + + End Sub + + Public Overrides Function OpenSession() As Boolean + + Dim nReturn As Short + + 'mi connetto al server Cndex + nReturn = ConnectServer_C("", mErrClass, mErrNum) + + If nReturn = ERRORE_OSAI Then + Connected = False + ErrMsg = "Error on ConnectServer_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Else + 'apro una sessione col CN + Connected = True + nReturn = OpenSession_C(NomeCn, SessionOpened, mErrClass, mErrNum) + + If nReturn = ERRORE_OSAI Then + Connected = False + ErrMsg = "Error on OpenSession_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + End If + End If + + Return Connected + + End Function + + Public Overrides Function CloseSession() As Boolean + Dim nReturn As Short + Dim bOk As Boolean + + bOk = True + + 'chiudo la sessione + nReturn = CloseSession_C(SessionOpened, mErrClass, mErrNum) + If nReturn = ERRORE_OSAI Then + ErrMsg = "Error on CloseSession_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Connected = False + bOk = False + Else + Connected = False + End If + + 'rilascio il server Cndex + nReturn = ReleaseServer_C(mErrClass, mErrNum) + If nReturn = ERRORE_OSAI Then + ErrMsg = "Error on ReleaseServer_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Connected = False + bOk = False + Else + Connected = False + End If + + Return bOk + + End Function + +#Region " METODI - Lettura/scrittura variabili CN" + '------------------------------ + ' Lettura variabile Short su Cn + '------------------------------ + Public Overrides Function ReadShortVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short + + Dim nValues As Short + Dim pVar As PLVARDESC + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim nNumVarToBeReaded As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + pVar.Code = CndexLinkUserVB6.GW_CODE + pVar.Index = szVar.nAddress + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = GetPLVarWord_C(SessionOpened, nNumVarToBeReaded, pVar, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on GetPLVarWord_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return nValues + + End If + + + Else ' gestione se debug + + ' ritorno true + Return 1 + + End If + + End Function + + '-------------------------------- + ' Lettura multi variabile MW su Cn + '-------------------------------- + Public Overrides Function ReadMultipleVarMW(ByVal nAddress As Integer, ByRef nValues() As Short, ByVal nNumVarToRead As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim pVar As PLVARDESC + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + pVar.Code = CndexLinkUserVB6.MW_CODE + pVar.Index = nAddress + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = GetPLVarWord_M_C(SessionOpened, nNumVarToRead, pVar, nValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on GetPLVarWord_M_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return False + + Else + + ' return con il valore letto + Return True + + End If + + + Else ' gestione se debug + + ' ritorno true + Return True + + End If + + End Function + + ' ------------------------------- + ' Scrittura variabile Short su Cn + '--------------------------------- + Public Overrides Function WriteShortVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim pVar As PLVARDESC + Dim nComOk As Short ' Se 1 scritt. OK Se 0 lettura KO + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + + If (Not (Debug)) Then ' Se macchina collegata + + pVar.Bit = szVar.nBit + pVar.Code = CndexLinkUserVB6.GW_CODE + pVar.Index = szVar.nAddress + nComOk = SetPLVarWord_C(SessionOpened, nNumVarToBeWrited, pVar, nValue, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on SetPLVarWord_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return False + + Else + + Return True + + End If + + Else ' gestione in debug + + Return True + + End If + + + End Function + + '-------------------------------- + ' Lettura variabile SC su Cn + '-------------------------------- + Public Overrides Function ReadSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, Optional ByVal nProcess As Integer = 1) As String + + Dim szValue As String = " " + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = GetVarSC_C(SessionOpened, nProcess, nIndex, nNumChar, szValue, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + ErrMsg = "Error on reading SC variable" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return "" ' In uscita setto variabile a ERRORVALUE errore + Else + ' return con il valore letto + Return szValue + End If + + + Else ' gestione se debug + + ' ritorno true + Return "SC VAR - DEBUG" + + End If + + + End Function + + ' --------------------------------- + ' Scrittura variabile SC su Cn + '---------------------------------- + Public Overrides Function WriteSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, ByVal szText As String, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 scrittura OK Se 0 scrittura KO + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = SetVarSC_C(SessionOpened, nProcess, nIndex, nNumChar, szText, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on writing SC variable" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + '------------------------------ + ' Lettura variabile E su Cn + '------------------------------ + Public Overrides Function ReadVarE(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + + Dim dValues As Double + Dim pVar As PLVARDESC + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim nNumVarToBeReaded As Short = 1 ' Numero di variabili da leggere (fisso a 1) + + pVar.Code = CndexLinkUserVB6.GW_CODE + pVar.Index = szVar.nAddress + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = GetVarE_C(SessionOpened, nProcess, szVar.nAddress, nNumVarToBeReaded, dValues, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on GetVarE_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return dValues + + End If + + + Else ' gestione se debug + + ' ritorno true + Return 1 + + End If + + End Function + + '------------------------------ + ' Lettura variabile SN su Cn + '------------------------------ + Public Overrides Function ReadVarSN(ByVal nVar As Short, Optional ByVal nProcess As Integer = 1) As Double + + Dim dValues As Double + Dim nRetVal As Short ' Se 1 lettura OK Se 0 lettura KO + Dim nNumVarToBeReaded As Short = 1 ' Numero di variabili da leggere (fisso a 1) + + + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nRetVal = GetVarSN_C(SessionOpened, nProcess, nVar, nNumVarToBeReaded, dValues, ErrClass, ErrNum) + + If (nRetVal = ERRORE_OSAI) Then + + ErrMsg = "Error on GetVarSN_C " & nVar.ToString & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + Else + + ' return con il valore letto + Return dValues + + End If + + + Else ' gestione se debug + + ' ritorno true + Return 1.0 + + End If + + End Function +#End Region + + '------------------------------ + ' Lettura process stato info Cn + '------------------------------ + ' + ' ha causato molto dispiacere il fatto che se uso la Server.GetProcessStatus_C con winnbi < 3.1.1 + ' dà una UNRESOLVED a run time della GetProcessStatus_C8 ( notare l' "8" finale ) nella CNDEXLINK.DLL + ' + ' soluzione : con Win Nbi recenti, uso Server.GetProcessStatus_C ; con Winnbi vecchi, faccio override + ' di questa funzione USANDO LA STRUTTURA NUOVA CndexLinkDotNet.Cndex.PROCDATA ( altrimenti non è possibile + ' fare override; uso una variabile locale tipo vecchio ( PROCDATA ) e in caso di esito positivo, + ' copio i dati risultanti. + ' + ' Attenzione : si ha lo stesso problema anche con la Server.GetNcInfo1_C ma curiosamente non con le funzioni + ' di lettura scrittura variabili CN .... boh !! + + Public Overrides Function NcProcessStatus(ByRef ncInfo As CndexLinkDotNet.Cndex.PROCDATA, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nComOk As Short ' Se 1 lettura OK Se 0 lettura KO + Dim geppodata As PROCDATA ' trucco sporchissimo : la versione dotnet richiede un altro tipo di dati... + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + nComOk = GetProcessStatus_C(SessionOpened, nProcess, geppodata, ErrClass, ErrNum) + + If (nComOk = ERRORE_OSAI) Then + + ErrMsg = "Error on GetProcessStatus_C" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum) + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + ncInfo.Status = geppodata.status + ncInfo.SubStatus = geppodata.substatus + ncInfo.Mode = geppodata.Mode + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' ------------------------------------------------- + ' Lettura stato macchina su processo passato per parametro + '-------------------------------------------------- + Public Overrides Function GetMachineStatus(Optional ByVal nProcess As Integer = 1) As Byte + ' + ' se non andasse, usare NcProcessStatus e prendere solo lo stato...... + + Dim RetVal As Short + + Dim geppodata As PROCDATA ' trucco sporchissimo : la versione dotnet richiede un altro tipo di dati... + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + RetVal = GetProcessStatus_C(SessionOpened, nProcess, geppodata, ErrClass, ErrNum) + + If RetVal > 0 Then + Return Convert.ToByte(geppodata.status) + + Else + ErrMsg = "Error on GetMachineStatus" & vbCrLf & what_happened() + Return 255 + + End If + ' se sono in debug + Else + Return True + End If + + + End Function + + ' ------------------------------------------------- + ' Lettura modalità  macchina su processo passato per parametro + '-------------------------------------------------- + Public Overrides Function GetModeSelected(Optional ByVal nProcess As Integer = 1) As Byte + Dim RetVal As Short + + Dim geppodata As PROCDATA ' trucco sporchissimo : la versione dotnet richiede un altro tipo di dati... + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + RetVal = GetProcessStatus_C(SessionOpened, nProcess, geppodata, ErrClass, ErrNum) + If RetVal > 0 Then + Return Convert.ToByte(geppodata.Mode) + + Else + ErrMsg = "Error on reading Machine Mode" & vbCrLf & what_happened() + Return 0 + End If + ' se sono in debug + Else + Return 1 + End If + End Function + + + ' --------------------------------- + ' Lettura info CN 1 + '---------------------------------- +#If False Then + + Public Overrides Function NcInfo1(ByRef ncInfo As CndexLinkDotNet.Cndex.GETINFO1DATA, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nRetVal As Short ' Se 1 lettura OK Se 0 lettura KO + Dim geppoNcInfo As CndexLinkUserVB6.GetInfo1Data = Nothing ' struttura vecchio tipo + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + MsgBox("1") + nRetVal = GetNcInfo1_C(SessionOpened, nProcess, geppoNcInfo, ErrClass, ErrNum) + MsgBox("2") + + If (nRetVal = ERRORE_OSAI) Then + + ErrMsg = "Error on reading NcInfo1" & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + + Else + ' copio i dati dalla struttura vecchia a quella nuova + ' ncInfo = geppoNcInfo + ' Assegno 1:1 variabili... + + ncInfo.actual_tool = geppoNcInfo.actual_tool + ncInfo.actual_tool_off = geppoNcInfo.actual_tool_off + ncInfo.auto_jog_ret = geppoNcInfo.auto_jog_ret + ncInfo.ax_sel = geppoNcInfo.ax_sel + + ncInfo.block_retrace = geppoNcInfo.block_retrace + + ncInfo.disable_slashed_blk = geppoNcInfo.disable_slashed_blk + ncInfo.dry_run = geppoNcInfo.dry_run + + ncInfo.feed_mis_unit = geppoNcInfo.feed_mis_unit + ncInfo.feed_ov = geppoNcInfo.feed_ov + ncInfo.force_rapid_feed = geppoNcInfo.force_rapid_feed + + ncInfo.jog_dir = geppoNcInfo.jog_dir + ncInfo.jog_incr = geppoNcInfo.jog_incr + + ncInfo.last_nc_error = geppoNcInfo.last_nc_error + + ' ncInfo.main_progr_name = System.Text.Encoding.ASCII.GetBytes(geppoNcInfo.main_progr_name) + + + ncInfo.man_feed_ov = geppoNcInfo.man_feed_ov + ncInfo.mode_select = geppoNcInfo.mode_select + + ncInfo.num_ax_sel = geppoNcInfo.num_ax_sel + + ncInfo.optional_stop = geppoNcInfo.optional_stop + + ncInfo.progr_feed = geppoNcInfo.progr_feed + ncInfo.progr_speed = geppoNcInfo.progr_speed + ncInfo.progr_tool = geppoNcInfo.progr_tool + ncInfo.progr_tool_off = geppoNcInfo.progr_tool_off + + ncInfo.rapid_feed = geppoNcInfo.rapid_feed + ncInfo.rapid_override = geppoNcInfo.rapid_override + ncInfo.rap_feed_ov = geppoNcInfo.rap_feed_ov + ncInfo.real_feed = geppoNcInfo.real_feed + ncInfo.real_speed = geppoNcInfo.real_speed + + ncInfo.speed_ov = geppoNcInfo.speed_ov + ncInfo.status = geppoNcInfo.status + ncInfo.substatus = geppoNcInfo.substatus + + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function +#Else + Public Overrides Function NcInfo1(ByRef ncInfo As CndexLinkDotNet.Cndex.GETINFO1DATA, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim RetVal As Short ' Se 1 OK -- Se 0 KO + Dim geppodata As PROCDATA ' trucco sporchissimo : la versione dotnet richiede un altro tipo di dati... + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + + RetVal = GetProcessStatus_C(SessionOpened, nProcess, geppodata, ErrClass, ErrNum) + If RetVal > 0 Then + ' copio i dati dalla struttura vecchia a quella nuova + ' Assegno 1:1 variabili... + + ncInfo.mode_select = Convert.ToByte(geppodata.Mode) + ncInfo.status = Convert.ToByte(geppodata.status) + ncInfo.substatus = Convert.ToByte(geppodata.substatus) + + 'ncInfo.actual_tool = geppoNcInfo.actual_tool + 'ncInfo.actual_tool_off = geppoNcInfo.actual_tool_off + 'ncInfo.auto_jog_ret = geppoNcInfo.auto_jog_ret + 'ncInfo.ax_sel = geppoNcInfo.ax_sel + 'ncInfo.block_retrace = geppoNcInfo.block_retrace + 'ncInfo.disable_slashed_blk = geppoNcInfo.disable_slashed_blk + 'ncInfo.dry_run = geppoNcInfo.dry_run + 'ncInfo.feed_mis_unit = geppoNcInfo.feed_mis_unit + + 'ncInfo.feed_ov = geppoNcInfo.feed_ov + 'ncInfo.force_rapid_feed = geppoNcInfo.force_rapid_feed + + 'ncInfo.jog_dir = geppoNcInfo.jog_dir + 'ncInfo.jog_incr = geppoNcInfo.jog_incr + + 'ncInfo.last_nc_error = geppoNcInfo.last_nc_error + + ncInfo.main_progr_name = System.Text.Encoding.ASCII.GetBytes("..not available...") + + 'ncInfo.man_feed_ov = geppoNcInfo.man_feed_ov + + 'ncInfo.num_ax_sel = geppoNcInfo.num_ax_sel + + 'ncInfo.optional_stop = geppoNcInfo.optional_stop + + 'ncInfo.progr_feed = geppoNcInfo.progr_feed + 'ncInfo.progr_speed = geppoNcInfo.progr_speed + 'ncInfo.progr_tool = geppoNcInfo.progr_tool + 'ncInfo.progr_tool_off = geppoNcInfo.progr_tool_off + + 'ncInfo.rapid_feed = geppoNcInfo.rapid_feed + 'ncInfo.rapid_override = geppoNcInfo.rapid_override + 'ncInfo.rap_feed_ov = geppoNcInfo.rap_feed_ov + 'ncInfo.real_feed = geppoNcInfo.real_feed + 'ncInfo.real_speed = geppoNcInfo.real_speed + + 'ncInfo.speed_ov = geppoNcInfo.speed_ov + 'ncInfo.status = geppoNcInfo.status + 'ncInfo.substatus = geppoNcInfo.substatus + + + Return True + Else + ErrMsg = "Error on reading NcInfo1" & vbCrLf & what_happened() + Return False + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function +#End If + + +End Class + diff --git a/EgwProxy.OsaiCncLib/Modules/ComCnOsaiOpen_Series.vb b/EgwProxy.OsaiCncLib/Modules/ComCnOsaiOpen_Series.vb new file mode 100644 index 0000000..85c455c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/ComCnOsaiOpen_Series.vb @@ -0,0 +1,1314 @@ +' +' libreria : VBlib +' file : ComCNOsaiOpen_Series.vb +' +' funzioni : connessione con CN OSAI open come classe - override metodi per nuovo CN +' +' copyright 2008-2018 C.Viviani v1.1a +' +Imports System.Collections +Imports System.Collections.Generic +Imports System.Data +Imports System.Diagnostics +Imports System.Runtime.InteropServices + +Public Class Open_Series + Inherits ComCNOsai + + Dim OsaiServer As OpenControl.OPENcontrolPortTypeClient + + Public Const L_CODE As Integer = 145 + + Private Const NO_ERROR As UShort = 1 + + Private PhaseCN As Integer + Private ProcessCN As Integer + +#Region "COSTRUTTORE" + + Public Sub New(ByVal szAddress As String, ByVal bIsDebug As Boolean, Optional ByVal sVersion As Short = 2) + + MyBase.New(szAddress, bIsDebug, sVersion) + + End Sub + + +#End Region + +#Region "METODI" + + +#Region "METODI - Open/close connection" + + ' ------------------------------ + ' Apertura sessione con CN Osai + ' ------------------------------ + ' Public Overrides Function OpenSession(ByVal szNomeCn As String) As ULong + Public Overrides Function OpenSession() As Boolean + + Connected = False + + + OsaiServer = New OpenControl.OPENcontrolPortTypeClient("OPENcontrol", "http://" & NomeCn & ":8080") + + If OsaiServer.State = ServiceModel.CommunicationState.Created Then + Try + O_BootPhaseEnquiry(PhaseCN, ErrClass, ErrNum) + + Catch ex As Exception + 'MsgBox("Controllo non connesso !!!" & vbCrLf & ex.Message) '!!!!!!!!!!!!!!!!!!!!!!!!!! + 'Me.ErrMsg = "Open NC not connected !!!" & vbCrLf & ex.Message + End Try + ' Lettura processo CN + If PhaseCN = SYSTEM_UP_PHASE Then + Connected = True + Else + 'MsgBox("Boot phase " & ErrNum) + 'Me.ErrMsg = "Open NC Boot phase error : " & ErrNum + End If + + End If + + Return Connected + + + End Function + + Private Function O_BootPhaseEnquiry(ByRef Phase As Integer, ByRef nErrClass As UShort, ByRef nErrNum As UShort) As Integer + Dim oBootPhaseInquiry As New OpenControl.BootPhaseEnquiry + Dim retBootPhaseInquiry As OpenControl.BootPhaseEnquiryR + + retBootPhaseInquiry = OsaiServer.BootPhaseEnquiry(oBootPhaseInquiry) + + nErrClass = retBootPhaseInquiry.ErrClass + nErrNum = retBootPhaseInquiry.ErrNum + Phase = retBootPhaseInquiry.Phase + + O_BootPhaseEnquiry = retBootPhaseInquiry.retval + + End Function + + Public Overrides Function CloseSession() As Boolean + + Try + + OsaiServer.Close() + + Catch ex As Exception + + End Try + + End Function + + +#End Region + +#Region "METODI - Lettura/scrittura variabili CN" + + '------------------------------ + ' Lettura / scittura variabili SC su Cn + '------------------------------ + Public Overrides Function ReadSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, Optional ByVal nProcess As Integer = 1) As String + + Dim InputStruct As New OpenControl.ReadVarText + Dim RetVal As OpenControl.ReadVarTextR + + If (Not (Debug)) Then ' se macchina collegata e non in debug + + InputStruct.Code = CndexLinkDotNet.Cndex.SC_CODE ' 50 + InputStruct.Index = nIndex + InputStruct.Size = nNumChar + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarText(InputStruct) + If (RetVal.retval > 0) Then + Return RetVal.Text + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading string variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return "?????????????????????" + End If + ' se sono in debug + Else + Return "OK" + End If ' Endif gestione macchina collegata + + End Function + + Public Overrides Function WriteSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, ByVal szText As String, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim InputStruct As New OpenControl.WriteVarText + Dim RetVal As OpenControl.WriteVarTextR + + + If (Not (Debug)) Then ' se macchina collegata e non in debug + + InputStruct.Code = CndexLinkDotNet.Cndex.SC_CODE ' 50 + InputStruct.Index = nIndex + InputStruct.Len = nNumChar + InputStruct.Process = nProcess + InputStruct.Text = szText + + RetVal = OsaiServer.WriteVarText(InputStruct) + + If (RetVal.retval > 0) Then + Return True + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing SC variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False + End If + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + + '------------------------------ + ' Lettura variabile Bool su Cn + '------------------------------ + Public Overrides Function ReadBoolVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short + Dim InputStruct As New OpenControl.ReadVarWord + Dim RetVal As OpenControl.ReadVarWordR + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 + InputStruct.Index = szVar.nAddress + + RetVal = OsaiServer.ReadVarWord(InputStruct) + If (RetVal.retval > 0) Then + nValues(0) = RetVal.Value(0) + If ((nValues(0) And (2 ^ szVar.nBit)) <> 0) Then ' Maschera per controllare solo il bit che mi interessa + nValues(0) = 1 + Else + nValues(0) = 0 + End If + + ' return con il valore letto + Return nValues(0) + + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading G bool variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + End If + + End Function + + '------------------------------ + ' Lettura variabile G Short su Cn + '------------------------------ + Public Overrides Function ReadShortVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short + Dim nValue(0) As Short + + Dim nNumVar As UShort = 1 + Dim nIndex As UShort = 1 + Dim sValue() As UShort = {} + Dim InputStruct As New OpenControl.ReadVarWord + Dim RetVal As OpenControl.ReadVarWordR + + InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + Try + + RetVal = OsaiServer.ReadVarWord(InputStruct) + If (RetVal.retval > 0) Then + Return UShortToShort(RetVal.Value(0)) + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading short variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + Catch ex As Exception + + Me.ErrMsg = ex.Message + Return CShort(CRASHVALUE) ' In uscita setto variabile a CRASHVALUE errore + + End Try + + End Function + + '------------------------------ + ' Lettura variabile G Double su Cn + '------------------------------ + Public Overrides Function ReadDoubleVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + 'Dim nValue(0) As Short + + Dim nNumVar As UShort = 1 + Dim nIndex As UShort = 1 + Dim dResult As Double = 0.0 + Dim InputStruct As New OpenControl.ReadVarDouble + Dim RetVal As OpenControl.ReadVarDoubleR + + InputStruct.Code = CndexLinkDotNet.Cndex.GD_CODE ' 41 + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarDouble(InputStruct) + If (RetVal.retval > 0) Then + dResult = RetVal.Value(0) + Return dResult + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading G double variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + '------------------------------ + ' Lettura variabile E ( double ) su Cn + '------------------------------ + Public Overrides Function ReadVarE(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + + Dim nValue(0) As Short + Dim nNumVar As UShort = 1 + Dim InputStruct As New OpenControl.ReadVarDouble + Dim RetVal As OpenControl.ReadVarDoubleR + + InputStruct.Code = CndexLinkDotNet.Cndex.E_CODE ' 46 + + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarDouble(InputStruct) + If (RetVal.retval > 0) Then + Return RetVal.Value(0) + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading E variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + '------------------------------ + ' Lettura variabile L ( double ) su Cn + '------------------------------ + Public Overrides Function ReadVarL(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + + Dim nValue(0) As Short + Dim nNumVar As UShort = 1 + Dim InputStruct As New OpenControl.ReadVarDouble + Dim RetVal As OpenControl.ReadVarDoubleR + + InputStruct.Code = L_CODE ' 145 + + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarDouble(InputStruct) + If (RetVal.retval > 0) Then + Return RetVal.Value(0) + + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading L variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + '------------------------------ + ' Lettura variabile MW su Cn + '------------------------------ + Public Overrides Function ReadVarMW(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As UShort + + Dim nNumVar As UShort = 1 + Dim InputStruct As New OpenControl.ReadVarWord + Dim RetVal As OpenControl.ReadVarWordR + + InputStruct.Code = CndexLinkDotNet.Cndex.MW_CODE ' 20 + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarWord(InputStruct) + If (RetVal.retval > 0) Then + + Return (RetVal.Value(0)) + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading MW variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + + Return CUShort(-ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + ' ------------------------------- + ' Scrittura variabile bool su Cn + '--------------------------------- + Public Overrides Function WriteBoolVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarWordBit + Dim RetVal As OpenControl.WriteVarWordBitR + + nValues(0) = nValue + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + InputStruct.BitIndex = szVar.nBit + InputStruct.BitValue = nValue + RetVal = OsaiServer.WriteVarWordBit(InputStruct) + + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing bool variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' + Else + Return True + End If + + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + + ' ------------------------------- + ' Scrittura variabile G Short su Cn + '--------------------------------- + Public Overrides Function WriteShortVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarWord + Dim RetVal As OpenControl.WriteVarWordR + + nValues(0) = nValue + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + ReDim InputStruct.Value(0) + InputStruct.Value(0) = ShortToUShort(nValues(0)) + + RetVal = OsaiServer.WriteVarWord(InputStruct) + + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing short variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' ------------------------------- + ' Scrittura variabile G Double su Cn + '--------------------------------- + Public Overrides Function WriteDoubleVar(ByVal szVar As stVAR, ByVal dValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim dValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarWord + Dim RetVal As OpenControl.WriteVarWordR + + dValues(0) = dValue + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + InputStruct.Code = CndexLinkDotNet.Cndex.GD_CODE ' 41 + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + ReDim InputStruct.Value(0) + InputStruct.Value(0) = dValues(0) + + RetVal = OsaiServer.WriteVarWord(InputStruct) + + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing G DoubleVar " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' ------------------------------- + ' Scrittura variabile E su Cn + '--------------------------------- + Public Overrides Function WriteVarE(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarDouble + Dim RetVal As OpenControl.WriteVarDoubleR + + nValues(0) = nValue + + If (Not (Debug)) Then ' se macchina collegata e non in debug + + InputStruct.Code = CndexLinkDotNet.Cndex.E_CODE ' 46 + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + ReDim InputStruct.Value(0) + InputStruct.Value(0) = nValues(0) + + RetVal = OsaiServer.WriteVarDouble(InputStruct) + + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing Write E DoubleVar variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + Else + Return True + End If + + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + ' ------------------------------- + ' Scrittura variabile L su Cn + '--------------------------------- + Public Overrides Function WriteVarL(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarDouble + Dim RetVal As OpenControl.WriteVarDoubleR + + nValues(0) = nValue + + If (Not (Debug)) Then ' se macchina collegata e non in debug + + InputStruct.Code = L_CODE ' 145 + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + ReDim InputStruct.Value(0) + InputStruct.Value(0) = nValues(0) + + RetVal = OsaiServer.WriteVarDouble(InputStruct) + + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing Write L DoubleVar variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + Else + Return True + End If + + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + + '------------------------------ + ' Lettura variabile SN Double su Cn + '------------------------------ + Public Overrides Function ReadVarSN(ByVal nVar As Short, Optional ByVal nProcess As Integer = 1) As Double + 'Dim nValue(0) As Short + + Dim nNumVar As UShort = 1 + Dim nIndex As UShort = 1 + Dim dResult As Double = 0.0 + Dim InputStruct As New OpenControl.ReadVarDouble + Dim RetVal As OpenControl.ReadVarDoubleR + + InputStruct.Code = CndexLinkDotNet.Cndex.SN_CODE ' 47 + InputStruct.Index = nVar + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarDouble(InputStruct) + If (RetVal.retval > 0) Then + dResult = RetVal.Value(0) + Return dResult + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading SN variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + +#End Region + +#Region "METODI - Modo CN / PP" + + ' --------------------------------------------------------------- + ' Attivazione del modo Auto + '---------------------------------------------------------------- + Public Overrides Function SetAutoMode(Optional ByVal nProcess As Integer = 1) As Boolean + Dim RetVal As New OpenControl.SetProcessModeR + Dim Mode As New OpenControl.SetProcessMode + + Mode.Mode = 2 + Mode.ProcNum = nProcess + + RetVal = OsaiServer.SetProcessMode(Mode) + If RetVal.retval > 0 Then + Return RetVal.retval + + Else + 'MsgBox("Error on activating Auto mode " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return RetVal.retval + End If + End Function + + ' --------------------------------------------------------------- + ' Lettura modalità selezionata su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetModeSelected(Optional ByVal nProcess As Integer = 1) As Byte + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.modeselect + + Else + 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + + ' --------------------------------------------------------------- + ' Attivazione del pp passato per parametro + '---------------------------------------------------------------- + Public Overrides Function ActivatePP(ByVal szPartPrg As String, Optional ByVal nProcess As UShort = 1) As Short + Dim RetVal As New OpenControl.SelectPartProgramFromDriveR + Dim InputStruct As New OpenControl.SelectPartProgramFromDrive + + InputStruct.PPName = szPartPrg + InputStruct.ProcNum = nProcess + + RetVal = OsaiServer.SelectPartProgramFromDrive(InputStruct) + If RetVal.retval > 0 Then ' > 0 ok + Return RetVal.retval + + Else ' = 0 errore + mErrMsg = "Error on activating part-program " + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return RetVal.retval + + End If + End Function + + ' --------------------------------- + ' Lettura Programma corrente + '---------------------------------- + Public Function GetActivePP(ByVal nProcess As Integer) As String + Dim InputStruct As New OpenControl.GetActivePartProgram + Dim RetVal As OpenControl.GetActivePartProgramR + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetActivePartProgram(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.Main + + Else + mErrMsg = "Error on reading Active Program " + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + ' --------------------------------------------------------------- + ' Lettura informazioni CN + '---------------------------------------------------------------- + Public Function NcInfo1Open(ByRef ncInfo As OpenControl.GetNcInfo1R, Optional ByVal nProcess As Integer = 1) As OpenControl.GetNcInfo1R + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal + + Else + mErrMsg = "Error on reading NcInfo " + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return RetVal + End If + End Function + + ' --------------------------------- + ' Lettura info CN 1 + '---------------------------------- + Public Overrides Function NcInfo1(ByRef ncInfo As CndexLinkDotNet.Cndex.GETINFO1DATA, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + + ' ncInfo = RetVal.GetInfo + ' Assegno 1:1 variabili... + + ncInfo.actual_tool = RetVal.GetInfo.actualtool + ncInfo.actual_tool_off = RetVal.GetInfo.actualtooloff + ncInfo.auto_jog_ret = RetVal.GetInfo.autojogret + ncInfo.ax_sel = RetVal.GetInfo.axsel + + ncInfo.block_retrace = RetVal.GetInfo.blockretrace + + ncInfo.disable_slashed_blk = RetVal.GetInfo.disableslashedblk + ncInfo.dry_run = RetVal.GetInfo.dryrun + + ncInfo.feed_mis_unit = RetVal.GetInfo.feedmisunit + ncInfo.feed_ov = RetVal.GetInfo.feedov + ncInfo.force_rapid_feed = RetVal.GetInfo.forcerapidfeed + + ncInfo.jog_dir = RetVal.GetInfo.jogdir + ncInfo.jog_incr = RetVal.GetInfo.jogincr + + ncInfo.last_nc_error = RetVal.GetInfo.lastncerror + + ncInfo.main_progr_name = System.Text.Encoding.ASCII.GetBytes(RetVal.GetInfo.mainprogrname) + + ncInfo.man_feed_ov = RetVal.GetInfo.manfeedov + ncInfo.mode_select = RetVal.GetInfo.modeselect + + ncInfo.num_ax_sel = RetVal.GetInfo.numaxsel + + ncInfo.optional_stop = RetVal.GetInfo.optionalstop + + ncInfo.progr_feed = RetVal.GetInfo.progrfeed + ncInfo.progr_speed = RetVal.GetInfo.progrspeed + ncInfo.progr_tool = RetVal.GetInfo.progrtool + ncInfo.progr_tool_off = RetVal.GetInfo.progrtooloff + + ncInfo.rapid_feed = RetVal.GetInfo.rapidfeed + ncInfo.rapid_override = RetVal.GetInfo.rapidoverride + ncInfo.rap_feed_ov = RetVal.GetInfo.rapfeedov + ncInfo.real_feed = RetVal.GetInfo.realfeed + ncInfo.real_speed = RetVal.GetInfo.realspeed + + ncInfo.speed_ov = RetVal.GetInfo.speedov + ncInfo.status = RetVal.GetInfo.status + ncInfo.substatus = RetVal.GetInfo.substatus + + Return True + + Else + mErrMsg = "Error on reading NcInfo " + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return False + End If + + End Function + + + + + + + + + + ' --------------------------------------------------------------- + ' Ritorna True se lo stato del CN è IDLE + '---------------------------------------------------------------- + Public Overrides Function IsResetStatus(Optional ByVal nProcess As Integer = 1) As Boolean + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + + If RetVal.GetInfo.modeselect = 0 Then + Return True + Else + Return False + End If + + Else + mErrMsg = "Error in IsResetStatus" + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + + Return False + End If + + End Function + + ' ------------------------------------------------- + ' Lettura stato macchina su processo passato per parametro + '-------------------------------------------------- + Public Overrides Function GetMachineStatus(Optional ByVal nProcess As Integer = 1) As Byte + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + If RetVal.retval > 0 Then + Return RetVal.GetInfo.status + + Else + mErrMsg = "Error on reading Machine Status" + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return 0 + End If + + End Function + + +#End Region + +#Region "METODI - Utensili / correttori" + + ' --------------------------------------------------------------- + ' Lettura utensile corrente su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualTool(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.progrtool + + Else + 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + + ' --------------------------------------------------------------- + ' Lettura correttore corrente su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualCorr(Optional ByVal nProcess As Integer = 1) As UShort + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.actualtooloff + + Else + 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + + ' --------------------------------------------------------------- + ' Lettura lunghezza correttore corrente su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualToolLen(ByVal nRecord As UInteger) As Double + Dim InputStruct As New OpenControl.GetOffsetTabRecordII + Dim RetVal As OpenControl.GetOffsetTabRecordIIR + Dim Len() As OpenControl.OFFSETVALII + + InputStruct.RecordNum = nRecord + RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) + + If RetVal.retval > 0 Then + Len = RetVal.RecordBuff.LenVal + Return Len(0).ValOrig + + Else + 'MsgBox("Error on reading actual tool length" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + + ' --------------------------------------------------------------- + ' Lettura Diametro correttore corrente su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualToolDiam(ByVal nRecord As UInteger) As Double + Dim InputStruct As New OpenControl.GetOffsetTabRecordII + Dim RetVal As OpenControl.GetOffsetTabRecordIIR + Dim Len() As OpenControl.OFFSETVALII + + InputStruct.RecordNum = nRecord + RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) + + If RetVal.retval > 0 Then + Len = RetVal.RecordBuff.DiaVal + Return Len(0).ValOrig + + Else + 'MsgBox("Error on reading actual tool diameter" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + ' --------------------------------------------------------------- + ' Lettura Diametro correttore corrente 2 su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualToolDiam2(ByVal nRecord As UInteger) As Double + Dim InputStruct As New OpenControl.GetOffsetTabRecordII + Dim RetVal As OpenControl.GetOffsetTabRecordIIR + Dim Len() As OpenControl.OFFSETVALII + + InputStruct.RecordNum = nRecord + RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) + + If RetVal.retval > 0 Then + Len = RetVal.RecordBuff.DiaVal + + Return Len(0).ActChangeVal + + Else + 'MsgBox("Error on reading actual tool diameter2" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + +#End Region + +#Region "METODI - Feed / Speed" + + ' --------------------------------------------------------------- + ' Lettura Feed Override su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetFeedOverride(Optional ByVal nProcess As Integer = 1) As UShort + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.feedov / 100 + + Else + ' MsgBox("Error on reading Feed Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + + ' --------------------------------------------------------------- + ' Lettura Rapid Override su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetRapidOverride(Optional ByVal nProcess As Integer = 1) As UShort + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.rapfeedov / 100 + + Else + 'MsgBox("Error on reading Rapid Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + + End Function + + ' --------------------------------------------------------------- + ' Lettura Speed Override su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetSpeedOverride(Optional ByVal nProcess As Integer = 1) As UShort + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.speedov / 100 + + Else + 'MsgBox("Error on reading Speed Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function + + ' --------------------------------------------------------------- + ' Lettura velocità rapido programmata su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetProgrammedRapid(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.rapidfeed + + Else + 'MsgBox("Error on reading Programmed Rapid " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function + + ' --------------------------------------------------------------- + ' Lettura Feed programmata su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetProgrammedFeed(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.progrfeed + + Else + 'MsgBox("Error on reading Programmed Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function + + ' --------------------------------------------------------------- + ' Lettura Speed programmata su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetProgrammedSpeed(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.progrspeed + + Else + 'MsgBox("Error on reading Programmed Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return ErrMsg + End If + End Function + + ' --------------------------------------------------------------- + ' Lettura Feed reale su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualFeed(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.realfeed + + Else + 'MsgBox("Error on reading Actual Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function + + ' --------------------------------------------------------------- + ' Lettura Speed reale su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualSpeed(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.GetInfo.realspeed + + Else + 'MsgBox("Error on reading Actual Speed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function + +#End Region + +#Region "METODI - copia files" + + Public Overrides Function CopyFileToNC(ByVal sz_logical_drive As String, + ByVal sz_source_filename As String, + ByVal sz_dest_filename As String) As Short + + Return PutFile(sz_source_filename, "PROGRAMS" & "\\" & sz_dest_filename, ErrClass, ErrNum, 0) + + End Function + + + 'utilizzabile per la copia di file verso cnc + + Public Overrides Function PutFile(ByRef szPathFile As String, ByVal szTargetPath As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger, ByRef FileSize As Integer) As Integer + Dim oPutFile As New OpenControl.PutFile + Dim retPutFile As New OpenControl.PutFileR + Dim szData As String + + oPutFile.PathName = szTargetPath + + szData = "" + + 'apro il file in szPathFile + szData = My.Computer.FileSystem.ReadAllText(szPathFile, System.Text.Encoding.UTF8) + + oPutFile.Data = szData + oPutFile.Size = FileSize + + 'calcolo la dimensione in byte e la metto in oPutFile.Size + oPutFile.Size = szData.Length + + retPutFile = OsaiServer.PutFile(oPutFile) + + nErrClass = retPutFile.ErrClass + nErrNum = retPutFile.ErrNum + + PutFile = retPutFile.retval + + + End Function + +#End Region + + ' ---------------------------------------------------------------------------------------------------------------------------- + ' Lettura Errori CN + ' ---------------------------------------------------------------------------------------------------------------------------- + 'Public Function ReadCurrentErrorMsg(ByVal nProcess As Integer, ByRef MessaggioErr() As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger) As Integer + + ' Dim oReadCurrentErrorMsg As New OpenControl.ReadCurrentErrorMsg + ' Dim retReadCurrentErrorMsg As New OpenControl.ReadCurrentErrorMsgR + + ' oReadCurrentErrorMsg.Process = nProcess + ' retReadCurrentErrorMsg = OsaiServer.ReadCurrentErrorMsg(oReadCurrentErrorMsg) + ' 'SOAP function call + ' Dim datoErr As New CndexLinkDotNet.Cndex.MSG_ERROR + + ' Try + ' datoErr.BootID = CUInt(retReadCurrentErrorMsg.Data.BootID) + ' datoErr.UnIdSeq = CUInt(retReadCurrentErrorMsg.Data.UnIdSeq) + ' datoErr.Code_Err = CUInt(retReadCurrentErrorMsg.Data.CodeErr) + ' datoErr.Comando = CByte(retReadCurrentErrorMsg.Data.Comando) + ' datoErr.FormatTxt = retReadCurrentErrorMsg.Data.FormatTxt + ' datoErr.Process = retReadCurrentErrorMsg.Data.Process + ' datoErr.SubCom = CByte(retReadCurrentErrorMsg.Data.SubCom) + + ' Dim text2 As MESSAGE_TEXT + ' text2.Line1 = "" + ' text2.Line2 = "" + ' text2.Line3 = "" + ' text2.Line4 = "" + + ' 'Invoke native function TranslateErrorMsg() in library OSAI_ErrorMgr.dll + ' TranslateErrorMsg(datoErr, text2) + + ' ReDim MessaggioErr(4) + + ' 'Display error message text + ' MessaggioErr(1) = text2.Line1 + ' MessaggioErr(2) = text2.Line2 + ' MessaggioErr(3) = text2.Line3 + ' MessaggioErr(4) = text2.Line4 + ' Catch ex As Exception + + ' Return 0 + ' 'Dim text2 As MESSAGE_TEXT + ' 'text2.Line1 = "" + ' 'text2.Line2 = "" + ' 'text2.Line3 = "" + ' 'text2.Line4 = "" + + ' ''Invoke native function TranslateErrorMsg() in library OSAI_ErrorMgr.dll + ' 'TranslateErrorMsg(datoErr, text2) + + ' 'ReDim MessaggioErr(4) + + ' ''Display error message text + ' 'MessaggioErr(1) = text2.Line1 + ' 'MessaggioErr(2) = text2.Line2 + ' 'MessaggioErr(3) = text2.Line3 + ' 'MessaggioErr(4) = text2.Line4 + ' End Try + + + ' ReadCurrentErrorMsg = retReadCurrentErrorMsg.retval + + 'End Function + + '------------------------------ + ' Lettura messaggio DIS + '------------------------------ + + Public Overrides Function ReadDisMsg(Optional ByVal nProcess As Integer = 1, Optional ByVal nMac As Integer = 1) As String + Dim InputStruct As New OpenControl.ReadPartProgramMsg + Dim RetVal As OpenControl.ReadPartProgramMsgR + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.ReadPartProgramMsg(InputStruct) + + If RetVal.retval > 0 Then + Return RetVal.PartProgramMsg + + Else + mErrMsg = "Error on reading DIS messages" + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return "" + End If + + End Function + + ' ------------------------------------------------- + ' Lettura Linee programma corrente + '-------------------------------------------------- + Public Overrides Function ReadPPLines(ByVal nProcess As Integer, ByRef EightLines() As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger) As Boolean + Dim InputStruct As New OpenControl.GetPartProgramLines + Dim RetVal As OpenControl.GetPartProgramLinesR + + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetPartProgramLines(InputStruct) + + If RetVal.retval > 0 Then + EightLines(0) = RetVal.PPLine1 + EightLines(1) = RetVal.PPLine2 + EightLines(2) = RetVal.PPLine3 + EightLines(3) = RetVal.PPLine4 + EightLines(4) = RetVal.PPLine5 + EightLines(5) = RetVal.PPLine6 + EightLines(6) = RetVal.PPLine7 + EightLines(7) = RetVal.PPLine8 + + Return True + + Else + mErrMsg = "Error on reading PP Lines" + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + + Return False + End If + End Function + +#Region "METODI - funz. aux ( short <> ushort), ..." + + ' ---------------------------------------- + ' Trasforma un Unsigned Short in un Short + ' ---------------------------------------- + Public Function UShortToShort(ByVal usValue As UShort) As Short + Dim dValue As Double + Dim numBit As Byte + + 'numero bit tipo di dato (short -> 16 bit, integer -> 32 bit, long -> 64bit) + numBit = 16 + + If usValue > (2 ^ (numBit - 1) - 1) Then + dValue = CDbl(usValue) + dValue = dValue - CDbl(2 ^ numBit) + UShortToShort = CShort(dValue) + Else + UShortToShort = CShort(usValue) + End If + + Return UShortToShort + End Function + + ' ---------------------------------------- + ' Trasforma uno Short in un UnisignedShort + ' ---------------------------------------- + Public Function ShortToUShort(ByVal sValue As Short) As UShort + Dim dValue As Double + Dim numBit As Byte + + 'numero bit tipo di dato (short -> 16 bit, integer -> 32 bit, long -> 64bit) + numBit = 16 + + If sValue < 0 Then + dValue = CDbl(sValue) + dValue = dValue + CDbl(2 ^ numBit) + ShortToUShort = CUShort(dValue) + Else + ShortToUShort = CUShort(sValue) + End If + + Return ShortToUShort + + End Function + +#End Region + +#End Region + +End Class diff --git a/EgwProxy.OsaiCncLib/Modules/IniRead.vb b/EgwProxy.OsaiCncLib/Modules/IniRead.vb new file mode 100644 index 0000000..7a7bbaa --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/IniRead.vb @@ -0,0 +1,464 @@ +Public Module IniRead + + Public Const OVERWRITE As Boolean = True + Public Const APPEND As Boolean = True + Public Const DO_NOT_APPEND As Boolean = False + + Public sz_ini_file_name As String + + Public sz_program_path As String + Public sz_temporary_path As String + Public sz_allowed_extension As String + + Public b_debug As Boolean + Public b_verbose As Boolean + Public b_test_nc As Boolean + Public b_send_file As Boolean + + Public b_log_enabled As Boolean + Public szLogFileName As String + + Public b_win7 As Boolean + + Public b_open_control As Boolean + Public b_force_S10WLK32 As Boolean + Public b_no_WinNBI As Boolean + + Public szNameNC As String + Public nVar_NC_state As Integer ' @STATUS_PRG PLC var number ( GW ) : Nc program state + + Public nVar_prg_1_ok As Integer + Public nVar_prg_2_ok As Integer + + Public sz_ODD_program_name As String + Public sz_EVEN_program_name As String + + Public sz_AUTO_program_name As String + + Public n_program_to_send As Short + + Public szDefaultNameNC As String + Public szDefaultPathNC As String + + Public lTimerInterval As Long + + Public b_SerialBarCodeReader_enabled As Boolean + Public n_SerialBarCodeReader_comm_port As Int16 + Public sz_SerialBarCodeReader_settings As String + + Public b_UsbBarCodeReader_enabled As String + + Public b_BarCodeInput_enabled As Boolean + + Public b_FileInputMode_enabled As Boolean + Public sz_FileInputName As String + + + Public n_num_barcode_fields As Short + Public sz_barcode_mask As String + Public sz_barcode_preprocessing As String + + Public b_Table_enabled As Boolean + Public sz_table_filename As String + Public b_reload_table As Boolean + + Public b_ext_program_enabled As Boolean + Public sz_ext_program_filename As String + Public sz_ext_return_filename As String + Public sz_ext_temp_filename As String + + Public b_CAM_program_enabled As Boolean + Public sz_CAM_program_exefilename As String + Public sz_CAM_data_path As String + Public sz_CAM_data_ext As String + Public sz_CAM_arguments As String + Public sz_CAM_return_ext As String + Public sz_CAM_Probe_ext As String + + Public b_direct_mode_enabled As Boolean + Public sz_direct_prefix As String + Public sz_direct_suffix As String + + Public b_select_mode_enabled As Boolean + Public sz_probe_arguments As String + Public sz_cn_arguments As String + + Public n_L_var_1 As Int16 + Public n_L_var_2 As Int16 + + Public n_L_value_1_on As Int16 + Public n_L_value_1_off As Int16 + Public n_L_value_2_on As Int16 + Public n_L_value_2_off As Int16 + Public n_timeout As Int16 + + Public sz_nc_probe_path As String + Public sz_nc_probe_ext As String + Public b_fixed_probe_file As Boolean + Public sz_nc_fixed_probe_file As String + Public b_read_DDF_file As Boolean + Public sz_property_1 As String + Public sz_property_2 As String + + Public b_toolcomp_update As Boolean + Public n_toolcomp_number As Int16 + Public sz_toolcomp_file As String + Public sz_toolcomp_command As String + +#Region "registration" + + 'Questo campo e' il campo di referenza serve a creare la relativa KEy di sblocco + Public developerKey As String + + 'Richiede solo numeri interi + Public regTry As Integer + + 'Flag per identificare la registrazione del programma + Public pRegistered As Boolean + + Public PC_serial_number As Long + Public sPC_serial_number As String + Public SW_version As String + Public registered_key As String + Public registered_key2 As String + Public registered_key3 As String + Public registered_customer As String + +#End Region + +#Region "example of INI file" + + ' file door_pro.ini + '[General] + + + 'Program path = c:\Users\carlo\Documents\Projects\vs2008\door_pro\door_pro\programs + 'allowed ext = .anc .TXT + 'temp path = c:\Users\carlo\Documents\Projects\vs2008\door_pro\door_pro\temp + ' + 'w7 = true + 'timer = 1000 + + '[Debug] + 'debug = true + 'verbose = false + + '[Log] + 'enabled = true + 'Log file = c:\Users\carlo\Documents\Projects\vs2008\door_pro\door_pro\temp\log + + '[NC] + 'name = NC9000 + 'NC state = 230 + 'Prog1 ok = 232 + 'Prog2 ok = 233 + + 'default_name = MAIN + 'default_path = Y:\UPP\ + + 'ODD_name = 1000 + 'EVEN_name = 2000 + 'AUTO_name = UPP\MAINAUTO + 'program_to_send = 4 + + '[BarCode] + 'fields = 1 + 'MASK = xx11111xxx223333xx44xxxxxx + 'PreProcessing = "1-2" + + '[SerialBarCodeReader] + 'enabled = true + 'Port = 4 + 'Settings=9600,n,8,1 + + '[UsbBarCodeReader] + 'enabled = false + + '[Table] + 'enabled = true + 'file = c:\pro_d\pro_d\prg\worklist.aut + + '[CAM] + 'enabled = true + 'program = C:\abc\ww.exe + 'datapath + 'arguments + 'return_file_ext = txt + + '[Direct] + 'enabled = true + 'pre = C:\door_pro\programs\ + 'post = .cnc + + '[Key] + ' regkey = 12345 + ' regkey2 = 2345 + ' regkey3 = 2345 + ' customer = qwe + +#End Region + + Sub Ini_read() + + sz_ini_file_name = Application.StartupPath & "\config\" & Application.ProductName & ".ini" + + Dim ini As New IniReader(sz_ini_file_name) + + ini.Section = "General" '----------------------------------------------------- + + sz_program_path = clear_ending_bar(ini.ReadString("Program path")) + sz_temporary_path = clear_ending_bar(ini.ReadString("temp path")) + sz_allowed_extension = clear_starting_point(ini.ReadString("allowed ext").ToLower) + + lTimerInterval = ini.ReadLong("timer", 1000) + + b_win7 = ini.ReadBoolean("w7", False) + + ini.Section = "Debug" '----------------------------------------------------- + + b_debug = ini.ReadBoolean("debug", False) + b_verbose = ini.ReadBoolean("verbose", False) + b_test_nc = ini.ReadBoolean("test_nc", False) + + b_send_file = ini.ReadBoolean("send_file", False) + + ini.Section = "Log" '----------------------------------------------------- + + b_log_enabled = ini.ReadBoolean("enabled", False) + szLogFileName = ini.ReadString("Log file") + + ini.Section = "NC" '----------------------------------------------------- + + + b_open_control = ini.ReadBoolean("OpenControl", False) + b_force_S10WLK32 = ini.ReadBoolean("S10WLK32", False) + b_no_WinNBI = ini.ReadBoolean("No WinNBI", False) + + szNameNC = ini.ReadString("name") + nVar_NC_state = ini.ReadInteger("NC state") + nVar_prg_1_ok = ini.ReadInteger("Prog1 ok") + nVar_prg_2_ok = ini.ReadInteger("Prog2 ok") + + szDefaultNameNC = ini.ReadString("default_name") + szDefaultPathNC = clear_ending_bar(ini.ReadString("default_path")) + + sz_ODD_program_name = ini.ReadString("ODD_name") + sz_EVEN_program_name = ini.ReadString("EVEN_name") + + n_program_to_send = ini.ReadInteger("program_to_send", 1) + + ini.Section = "BarCode" '----------------------------------------------------- + + '[BarCode] + 'fields = 1 + 'MASK = xx11111xxx223333xx44xxxxxx + 'PreProcessing = "1-2" + + n_num_barcode_fields = ini.ReadInteger("fields", 1) + sz_barcode_mask = ini.ReadString(ini.Section, "MASK", "11111111") + sz_barcode_preprocessing = ini.ReadString(ini.Section, "PreProcessing", "=") + + ini.Section = "SerialBarCodeReader" '----------------------------------------------------- + + '[SerialBarCodeReader] + 'enabled = true + 'Port = 4 + 'Settings=9600,n,8,1 + + b_SerialBarCodeReader_enabled = ini.ReadBoolean("enabled", False) + n_SerialBarCodeReader_comm_port = ini.ReadInteger("Port", 1) + sz_SerialBarCodeReader_settings = ini.ReadString(ini.Section, "Settings", "9600,None,8,1") + + ini.Section = "UsbBarCodeReader" '----------------------------------------------------- + + '[UsbBarCodeReader] + 'enabled = true + + b_UsbBarCodeReader_enabled = ini.ReadBoolean("enabled", False) + + If b_UsbBarCodeReader_enabled And b_SerialBarCodeReader_enabled Then + Log.write_and_messagebox(" Both USB and serial bar code reader enabled - please disable one ... ", 34) + 'End + End If + + b_BarCodeInput_enabled = b_UsbBarCodeReader_enabled Or b_SerialBarCodeReader_enabled + + + ini.Section = "FileInput" '----------------------------------------------------- + + '[FileInput] + 'enabled = true + 'InputFile = C:\input\data.txt + + b_FileInputMode_enabled = ini.ReadBoolean("enabled", False) + sz_FileInputName = ini.ReadString(ini.Section, "InputFile", "") + + If b_BarCodeInput_enabled And b_FileInputMode_enabled Then + Log.write_and_messagebox(" Both file input and bar code mode enabled - please disable one ... ", 35) + 'End + End If + + If (Not b_BarCodeInput_enabled) And (Not b_FileInputMode_enabled) Then + Log.write_and_messagebox(" No file input mode nor bar code mode enabled - please enable one ... ", 36) + 'End + End If + + ini.Section = "Table" '----------------------------------------------------- + + '[Table] + 'enabled = true + 'file = c:\pro_d\pro_d\prg\worklist.aut + + b_Table_enabled = ini.ReadBoolean("enabled", False) + sz_table_filename = ini.ReadString("file") + b_reload_table = ini.ReadBoolean("reload", False) + + ini.Section = "EXT" '----------------------------------------------------- + + '[EXT] + 'enabled = true + 'program = C:\abc\ww.exe + 'return_file = c:\pro_d\pro_d\prg\worklist.aut + + b_ext_program_enabled = ini.ReadBoolean("enabled", False) + sz_ext_program_filename = ini.ReadString("program") + sz_ext_return_filename = ini.ReadString("return_file") + sz_ext_temp_filename = ini.ReadString("temp_file") + + ini.Section = "CAM" '----------------------------------------------------- + + '[CAM] + 'enabled = true + 'program = C:\abc\ww.exe + 'datapath + 'arguments + 'return_file_ext = c:\pro_d\pro_d\prg\worklist.aut + + b_CAM_program_enabled = ini.ReadBoolean("enabled", False) + sz_CAM_program_exefilename = ini.ReadString("program") + + sz_CAM_data_path = (ini.ReadString("datapath")) + sz_CAM_data_path = sz_CAM_data_path.Replace("""", "") + sz_CAM_data_path = clear_ending_bar(sz_CAM_data_path) + + sz_CAM_data_ext = clear_starting_point(ini.ReadString("dataext")) + + sz_CAM_arguments = ini.ReadString("arguments") + sz_CAM_return_ext = clear_starting_point(ini.ReadString("return_file_ext")) + sz_CAM_Probe_ext = clear_starting_point(ini.ReadString("probe_file_ext")) + + ini.Section = "Direct" '----------------------------------------------------- + + '[Direct] + 'enabled = true + 'pre = C:\abc\ww\ + 'post = .cnc + + b_direct_mode_enabled = ini.ReadBoolean("enabled", False) + sz_direct_prefix = ini.ReadString("pre") + sz_direct_suffix = ini.ReadString("post") + + ini.Section = "Select" '----------------------------------------------------- + + '[Select] + 'enabled = true + 'p_arguments = " 3" + 'c_arguments = " 4" + 'L var 1 = 916 + 'L var 2 = 919 + 'L value 1 on = 1 + 'L value 1 off = 0 + 'L value 2 on = 2 + 'L value 2 off = 2 + 'timeout = 300 + ' NC probe file path = m: \Cnc\DDF\ + ' NC probe file ext = dat + ' fixed probe file = true + ' NC_probe_file = UPP\PROGRA1\Data.prb + ' read file = true + ' prop1 = properties: + ' prop2 = skinned + + b_select_mode_enabled = ini.ReadBoolean("enabled", False) + sz_probe_arguments = ini.ReadString("p_arguments") + sz_cn_arguments = ini.ReadString("c_arguments") + + n_L_var_1 = ini.ReadInteger("L var 1") + n_L_var_2 = ini.ReadInteger("L var 2") + + n_L_value_1_on = ini.ReadInteger("L value 1 on") + n_L_value_1_off = ini.ReadInteger("L value 1 off") + n_L_value_2_on = ini.ReadInteger("L value 2 on") + n_L_value_2_off = ini.ReadInteger("L value 2 off") + n_timeout = ini.ReadInteger("timeout") + + sz_nc_probe_path = ini.ReadString("NC probe file path") + sz_nc_probe_path = clear_ending_bar(sz_nc_probe_path) + + sz_nc_probe_ext = clear_starting_point(ini.ReadString("NC probe file ext")) + + b_fixed_probe_file = ini.ReadBoolean("fixed probe file", False) + sz_nc_fixed_probe_file = Trim(ini.ReadString("NC_probe_file")) + + b_read_DDF_file = ini.ReadBoolean("read DDF file", False) + + sz_property_1 = Trim(ini.ReadString("prop1")) + sz_property_2 = Trim(ini.ReadString("prop2")) + + + '----------- check that only one method is enabled + + Dim n_methods As Short = 0 + + If b_Table_enabled Then n_methods = n_methods + 1 + If b_ext_program_enabled Then n_methods = n_methods + 1 + If b_CAM_program_enabled Then n_methods = n_methods + 1 + If b_direct_mode_enabled Then n_methods = n_methods + 1 + If b_select_mode_enabled Then n_methods = n_methods + 1 + + If n_methods > 1 Then + Log.write_and_messagebox(" Too many input modes enabled .. - please enable only one ... ", 38) + 'End + End If + + If n_methods < 1 Then + Log.write_and_messagebox(" No input mode enabled ( CAM / Table / external / direct /.. - please enable one ... ", 40) + 'End + End If + + ini.Section = "Key" '----------------------------------------------------- + + ' [Key] + ' regkey = 12345 + ' regkey2 = 2345 + ' customer = qwe + + registered_key = UCase$(ini.ReadString("regkey")) + registered_key2 = UCase$(ini.ReadString("regkey2")) + registered_key3 = UCase$(ini.ReadString("regkey3")) + + registered_customer = ini.ReadString("Customer") + + End Sub + Sub write_customer(ByVal sz_customer As String) + + Dim ini As New IniReader(sz_ini_file_name) + + ini.Write("Key", "Customer", sz_customer) + + End Sub + + Sub write_Program_path(ByVal sz_data_file_name As String) + + Dim ini As New IniReader(sz_ini_file_name) + + ini.Write("General", "Program path", sz_data_file_name) + + End Sub + +#Region "fuffa" + + +#End Region + +End Module diff --git a/EgwProxy.OsaiCncLib/Modules/IniReader.vb b/EgwProxy.OsaiCncLib/Modules/IniReader.vb new file mode 100644 index 0000000..e053c6e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/IniReader.vb @@ -0,0 +1,454 @@ +' +' IniReader class + +Imports System +Imports System.Text +Imports System.Collections +Imports System.Runtime.InteropServices +Imports Microsoft.VisualBasic + + + ''' + ''' The INIReader class can read keys from and write keys to an INI file. + ''' + ''' + ''' This class uses several Win32 API functions to read from and write to INI files. It will not work on Linux or FreeBSD. + ''' + + Public Class IniReader + + ''' + ''' The GetPrivateProfileInt function retrieves an integer associated with a key in the specified section of an initialization file. + ''' + ''' Pointer to a null-terminated string specifying the name of the section in the initialization file. + ''' Pointer to the null-terminated string specifying the name of the key whose value is to be retrieved. This value is in the form of a string; the GetPrivateProfileInt function converts the string into an integer and returns the integer. + ''' Specifies the default value to return if the key name cannot be found in the initialization file. + ''' Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory. + ''' The return value is the integer equivalent of the string following the specified key name in the specified initialization file. If the key is not found, the return value is the specified default value. If the value of the key is less than zero, the return value is zero. + + Private Declare Ansi Function GetPrivateProfileInt Lib "kernel32.dll" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Integer, ByVal lpFileName As String) As Integer + + ''' + ''' The WritePrivateProfileString function copies a string into the specified section of an initialization file. + ''' + ''' Pointer to a null-terminated string containing the name of the section to which the string will be copied. If the section does not exist, it is created. The name of the section is case-independent; the string can be any combination of uppercase and lowercase letters. + ''' Pointer to the null-terminated string containing the name of the key to be associated with a string. If the key does not exist in the specified section, it is created. If this parameter is NULL, the entire section, including all entries within the section, is deleted. + ''' Pointer to a null-terminated string to be written to the file. If this parameter is NULL, the key pointed to by the lpKeyName parameter is deleted. + ''' Pointer to a null-terminated string that specifies the name of the initialization file. + ''' If the function successfully copies the string to the initialization file, the return value is nonzero; if the function fails, or if it flushes the cached version of the most recently accessed initialization file, the return value is zero. + + Private Declare Ansi Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer + + ''' + ''' The GetPrivateProfileString function retrieves a string from the specified section in an initialization file. + ''' + ''' Pointer to a null-terminated string that specifies the name of the section containing the key name. If this parameter is NULL, the GetPrivateProfileString function copies all section names in the file to the supplied buffer. + ''' Pointer to the null-terminated string specifying the name of the key whose associated string is to be retrieved. If this parameter is NULL, all key names in the section specified by the lpAppName parameter are copied to the buffer specified by the lpReturnedString parameter. + ''' Pointer to a null-terminated default string. If the lpKeyName key cannot be found in the initialization file, GetPrivateProfileString copies the default string to the lpReturnedString buffer. This parameter cannot be NULL.
Avoid specifying a default string with trailing blank characters. The function inserts a null character in the lpReturnedString buffer to strip any trailing blanks.
+ ''' Pointer to the buffer that receives the retrieved string. + ''' Specifies the size, in TCHARs, of the buffer pointed to by the lpReturnedString parameter. + ''' Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory. + ''' The return value is the number of characters copied to the buffer, not including the terminating null character. + + Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As StringBuilder, ByVal nSize As Integer, ByVal lpFileName As String) As Integer + + ''' + ''' The GetPrivateProfileSectionNames function retrieves the names of all sections in an initialization file. + ''' + ''' Pointer to a buffer that receives the section names associated with the named file. The buffer is filled with one or more null-terminated strings; the last string is followed by a second null character. + ''' Specifies the size, in TCHARs, of the buffer pointed to by the lpszReturnBuffer parameter. + ''' Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter is NULL, the function searches the Win.ini file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory. + ''' The return value specifies the number of characters copied to the specified buffer, not including the terminating null character. If the buffer is not large enough to contain all the section names associated with the specified initialization file, the return value is equal to the length specified by nSize minus two. + + Private Declare Ansi Function GetPrivateProfileSectionNames Lib "kernel32" Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer() As Byte, ByVal nSize As Integer, ByVal lpFileName As String) As Integer + + ''' + ''' The WritePrivateProfileSection function replaces the keys and values for the specified section in an initialization file. + ''' + ''' Pointer to a null-terminated string specifying the name of the section in which data is written. This section name is typically the name of the calling application. + ''' Pointer to a buffer containing the new key names and associated values that are to be written to the named section. + ''' Pointer to a null-terminated string containing the name of the initialization file. If this parameter does not contain a full path for the file, the function searches the Windows directory for the file. If the file does not exist and lpFileName does not contain a full path, the function creates the file in the Windows directory. The function does not create a file if lpFileName contains the full path and file name of a file that does not exist. + ''' If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
+ + Private Declare Ansi Function WritePrivateProfileSection Lib "kernel32.dll" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer + + ''' Constructs a new IniReader instance. + ''' Specifies the full path to the INI file (the file doesn't have to exist). + + Public Sub New(ByVal file As String) + Filename = file + End Sub + + ''' Gets or sets the full path to the INI file. + ''' A String representing the full path to the INI file. + ''' + + Public Property Filename() As String + Get + Return m_Filename + End Get + Set(ByVal Value As String) + m_Filename = Value + End Set + End Property + + ''' Gets or sets the section you're working in. (aka 'the active section') + ''' A String representing the section you're working in. + ''' + + Public Property Section() As String + Get + Return m_Section + End Get + Set(ByVal Value As String) + m_Section = Value + End Set + End Property + + ''' Reads an Integer from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' The value to return if the specified key isn't found. + ''' Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file. + + Public Function ReadInteger(ByVal section As String, ByVal key As String, ByVal defVal As Integer) As Integer + Return GetPrivateProfileInt(section, key, defVal, Filename) + End Function + + ''' Reads an Integer from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' Returns the value of the specified section/key pair, or returns 0 if the specified section/key pair isn't found in the INI file. + + Public Function ReadInteger(ByVal section As String, ByVal key As String) As Integer + Return ReadInteger(section, key, 0) + End Function + + ''' Reads an Integer from the specified key of the active section. + ''' The key from which to return the value. + ''' The section to search in. + ''' Returns the value of the specified Key, or returns the default value if the specified Key isn't found in the active section of the INI file. + + Public Function ReadInteger(ByVal key As String, ByVal defVal As Integer) As Integer + Return ReadInteger(Section, key, defVal) + End Function + + ''' Reads an Integer from the specified key of the active section. + ''' The key from which to return the value. + ''' Returns the value of the specified key, or returns 0 if the specified key isn't found in the active section of the INI file. + + Public Function ReadInteger(ByVal key As String) As Integer + Return ReadInteger(key, 0) + End Function + + ''' Reads a String from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' The value to return if the specified key isn't found. + ''' Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file. + + Public Function ReadString(ByVal section As String, ByVal key As String, ByVal defVal As String) As String + Dim sb As New StringBuilder(MAX_ENTRY) + Dim Ret As Integer = GetPrivateProfileString(section, key, defVal, sb, MAX_ENTRY, Filename) + Return sb.ToString() + End Function + + ''' Reads a String from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' Returns the value of the specified section/key pair, or returns an empty String if the specified section/key pair isn't found in the INI file. + + Public Function ReadString(ByVal section As String, ByVal key As String) As String + Return ReadString(section, key, "") + End Function + + ''' Reads a String from the specified key of the active section. + ''' The key from which to return the value. + ''' Returns the value of the specified key, or returns an empty String if the specified key isn't found in the active section of the INI file. + + Public Function ReadString(ByVal key As String) As String + Return ReadString(Section, key) + End Function + + ''' Reads a Long from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' The value to return if the specified key isn't found. + ''' Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file. + + Public Function ReadLong(ByVal section As String, ByVal key As String, ByVal defVal As Long) As Long + Return Long.Parse(ReadString(section, key, defVal.ToString())) + End Function + + ''' Reads a Long from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' Returns the value of the specified section/key pair, or returns 0 if the specified section/key pair isn't found in the INI file. + + Public Function ReadLong(ByVal section As String, ByVal key As String) As Long + Return ReadLong(section, key, 0) + End Function + + ''' Reads a Long from the specified key of the active section. + ''' The key from which to return the value. + ''' The section to search in. + ''' Returns the value of the specified key, or returns the default value if the specified key isn't found in the active section of the INI file. + + Public Function ReadLong(ByVal key As String, ByVal defVal As Long) As Long + Return ReadLong(Section, key, defVal) + End Function + + ''' Reads a Long from the specified key of the active section. + ''' The key from which to return the value. + ''' Returns the value of the specified Key, or returns 0 if the specified Key isn't found in the active section of the INI file. + + Public Function ReadLong(ByVal key As String) As Long + Return ReadLong(key, 0) + End Function + + ''' Reads a Byte array from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' Returns the value of the specified section/key pair, or returns null (Nothing in VB.NET) if the specified section/key pair isn't found in the INI file. + + Public Function ReadByteArray(ByVal section As String, ByVal key As String) As Byte() + Try + Return Convert.FromBase64String(ReadString(section, key)) + Catch + End Try + Return Nothing + End Function + + ''' Reads a Byte array from the specified key of the active section. + ''' The key from which to return the value. + ''' Returns the value of the specified key, or returns null (Nothing in VB.NET) if the specified key pair isn't found in the active section of the INI file. + + Public Function ReadByteArray(ByVal key As String) As Byte() + Return ReadByteArray(Section, key) + End Function + + ''' Reads a Boolean from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' The value to return if the specified key isn't found. + ''' Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file. + + Public Function ReadBoolean(ByVal section As String, ByVal key As String, ByVal defVal As Boolean) As Boolean + + Dim b_ret As Boolean = False + + Try + b_ret = Boolean.Parse(ReadString(section, key, defVal.ToString())) + Catch + b_ret = False + End Try + Return b_ret + End Function + + ''' Reads a Boolean from the specified key of the specified section. + ''' The section to search in. + ''' The key from which to return the value. + ''' Returns the value of the specified section/key pair, or returns false if the specified section/key pair isn't found in the INI file. + + Public Function ReadBoolean(ByVal section As String, ByVal key As String) As Boolean + Return ReadBoolean(section, key, False) + End Function + + ''' Reads a Boolean from the specified key of the specified section. + ''' The key from which to return the value. + ''' The value to return if the specified key isn't found. + ''' Returns the value of the specified key pair, or returns the default value if the specified key isn't found in the active section of the INI file. + + Public Function ReadBoolean(ByVal key As String, ByVal defVal As Boolean) As Boolean + Return ReadBoolean(Section, key, defVal) + End Function + + ''' Reads a Boolean from the specified key of the specified section. + ''' The key from which to return the value. + ''' Returns the value of the specified key, or returns false if the specified key isn't found in the active section of the INI file. + + Public Function ReadBoolean(ByVal key As String) As Boolean + Return ReadBoolean(Section, key) + End Function + + ''' Writes an Integer to the specified key in the specified section. + ''' The section to write in. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal section As String, ByVal key As String, ByVal value As Integer) As Boolean + Return Write(section, key, value.ToString()) + End Function + + ''' Writes an Integer to the specified key in the active section. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal key As String, ByVal value As Integer) As Boolean + Return Write(Section, key, value) + End Function + + ''' Writes a String to the specified key in the specified section. + ''' Specifies the section to write in. + ''' Specifies the key to write to. + ''' Specifies the value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal section As String, ByVal key As String, ByVal value As String) As Boolean + Return (WritePrivateProfileString(section, key, value, Filename) <> 0) + End Function + + ''' Writes a String to the specified key in the active section. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal key As String, ByVal value As String) As Boolean + Return Write(Section, key, value) + End Function + + ''' Writes a Long to the specified key in the specified section. + ''' The section to write in. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal section As String, ByVal key As String, ByVal value As Long) As Boolean + Return Write(section, key, value.ToString()) + End Function + + ''' Writes a Long to the specified key in the active section. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal key As String, ByVal value As Long) As Boolean + Return Write(Section, key, value) + End Function + + ''' Writes a Byte array to the specified key in the specified section. + ''' The section to write in. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal section As String, ByVal key As String, ByVal value() As Byte) As Boolean + If value Is Nothing Then + Return Write(section, key, CType(Nothing, String)) + Else + Return Write(section, key, value, 0, value.Length) + End If + End Function + + ''' Writes a Byte array to the specified key in the active section. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal key As String, ByVal value() As Byte) As Boolean + Return Write(Section, key, value) + End Function + + ''' Writes a Byte array to the specified key in the specified section. + ''' The section to write in. + ''' The key to write to. + ''' The value to write. + ''' An offset in value. + ''' The number of elements of value to convert. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal section As String, ByVal key As String, ByVal value() As Byte, ByVal offset As Integer, ByVal length As Integer) As Boolean + If value Is Nothing Then + Return Write(section, key, CType(Nothing, String)) + Else + Return Write(section, key, Convert.ToBase64String(value, offset, length)) + End If + End Function + + ''' Writes a Boolean to the specified key in the specified section. + ''' The section to write in. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal section As String, ByVal key As String, ByVal value As Boolean) As Boolean + Return Write(section, key, value.ToString()) + End Function + + ''' Writes a Boolean to the specified key in the active section. + ''' The key to write to. + ''' The value to write. + ''' Returns true if the function succeeds, false otherwise. + + Public Function Write(ByVal key As String, ByVal value As Boolean) As Boolean + Return Write(Section, key, value) + End Function + + ''' Deletes a key from the specified section. + ''' The section to delete from. + ''' The key to delete. + ''' Returns true if the function succeeds, false otherwise. + + Public Function DeleteKey(ByVal section As String, ByVal key As String) As Boolean + Return (WritePrivateProfileString(section, key, Nothing, Filename) <> 0) + End Function + + ''' Deletes a key from the active section. + ''' The key to delete. + ''' Returns true if the function succeeds, false otherwise. + ''' + + Public Function DeleteKey(ByVal key As String) As Boolean + Return (WritePrivateProfileString(Section, key, Nothing, Filename) <> 0) + End Function + + ''' Deletes a section from an INI file. + ''' The section to delete. + ''' Returns true if the function succeeds, false otherwise. + + Public Function DeleteSection(ByVal section As String) As Boolean + Return WritePrivateProfileSection(section, Nothing, Filename) <> 0 + End Function + + ''' + ''' Retrieves a list of all available sections in the INI file. + ''' + ''' + ''' Returns an ArrayList with all available sections. + ''' + + Public Function GetSectionNames() As ArrayList + Try + Dim buffer(MAX_ENTRY) As Byte + GetPrivateProfileSectionNames(buffer, MAX_ENTRY, Filename) + Dim parts() As String = Encoding.ASCII.GetString(buffer).Trim(ControlChars.NullChar).Split(ControlChars.NullChar) + Return New ArrayList(parts) + Catch + End Try + Return Nothing + End Function + + 'Private variables and constants + + ''' + ''' Holds the full path to the INI file. + ''' + + Private m_Filename As String + + ''' + ''' Holds the active section name + ''' + + Private m_Section As String + + ''' + ''' The maximum number of bytes in a section buffer. + ''' + + Private Const MAX_ENTRY As Integer = 32768 + + End Class + diff --git a/EgwProxy.OsaiCncLib/Modules/L_File_aux.vb b/EgwProxy.OsaiCncLib/Modules/L_File_aux.vb new file mode 100644 index 0000000..b9ad03c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/L_File_aux.vb @@ -0,0 +1,60 @@ +' +' libreria : VBlib +' file : L_File_aux +' +' funzioni : routines aux sui nomi file +' +' copyright 2008-2015 C.Viviani +' +Module L_File_aux + + Function clear_ending_bar(ByVal a As String) As String ' clear the eventual ending "\" in a directory name + a = Trim(a) + If (Right$(a, 1) = "\") Then + a = Left$(a, Len(a) - 1) + End If + clear_ending_bar = a + End Function + + Function add_ending_bar (ByVal s As String) As String + If Len(s) > 0 Then + If Right$(s, 1) <> "\" Then + add_ending_bar = s + "\" + Else + add_ending_bar = s + End If + Else + add_ending_bar = "\" + End If + End Function + + Function clear_starting_point(ByVal a As String) As String ' clear the eventual starting "." in a file ext + a = Trim(a) + If (Left$(a, 1) = ".") Then + a = Right$(a, Len(a) - 1) + End If + clear_starting_point = a + End Function + + Function true_false_from_yes_no(ByVal a As String) As Boolean + a = UCase$(a) + true_false_from_yes_no = False + If InStr(a, "Y") Then true_false_from_yes_no = True + If InStr(a, "S") Then true_false_from_yes_no = True + End Function + + Function clear_starting_forward_bar(ByVal a As String) As String ' clear the eventual initial "/" + a = Trim(a) + If (Left$(a, 1) = "/") Then + a = Right$(a, Len(a) - 1) + End If + clear_starting_forward_bar = a + End Function + + Function trim_to_n_char(ByVal a As String, ByVal n As Integer) As String + a = Trim(a) + If Len(a) > n Then a = Left$(a, n) + trim_to_n_char = a + End Function + +End Module diff --git a/EgwProxy.OsaiCncLib/Modules/Log.vb b/EgwProxy.OsaiCncLib/Modules/Log.vb new file mode 100644 index 0000000..a0c6184 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/Log.vb @@ -0,0 +1,47 @@ +' +' libreria : VBlib +' file : Log.vb +' +' funzioni : gestione log file +' +' copyright 2008-2017 C.Viviani +' +Imports System.IO +Imports Microsoft.VisualBasic + +Public Module Log + + Const MAX_LOG_FILE As Long = 1000000 + + Dim fs As FileStream + Dim szInternalFilename As String + + Public Sub init(ByVal szLogFileName As String) + + + + End Sub + + Sub finish() + + End Sub + + Sub write(ByRef sz_arg As String) + + + + End Sub + + Sub write_and_messagebox(ByRef sz_arg As String, n_error As Integer) + + + End Sub + + Private Sub ll_write(ByRef sz_arg As String) + + + + End Sub + +End Module + diff --git a/EgwProxy.OsaiCncLib/Modules/M_aspect.vb b/EgwProxy.OsaiCncLib/Modules/M_aspect.vb new file mode 100644 index 0000000..584ac86 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/M_aspect.vb @@ -0,0 +1,126 @@ +Module M_aspect + + Const BUTTON_TOP As Integer = 380 + Const BUTTON_WIDTH As Integer = 75 + Const BUTTON_HEIGHT As Integer = 40 + + Sub init() + With FrmMain + + ' -------------- positions ---------------- + + Call Button_init() + + ' -------------- clear labels ---------------- + + .LblProgramName.Text = "---------" + + ' ------------ messages ------------------------- + + + .LblCurrentProgram.Text = Message.msg(36) ' Currently machining : + .LblMachineStatus.Text = Message.msg(37) ' Machine Status : + ' .LblNextProgram.Text = Message.msg(38) ' Next program : + + + Call button_text() + + ' -------------- visibilities ------------------ + + Call button_visibility() + + .LblConnected.Visible = True + .LblProgramName.Visible = True + + .LblMachineStatus.Visible = True + .LblMachState.Visible = True + + + .LblCurrentProgram.Visible = True + .LblNcStatus.Visible = True + + If (IniRead.b_BarCodeInput_enabled Or IniRead.b_FileInputMode_enabled) And pRegistered Then + + ' Call M_serial_barcode.set_textbox(.TxtBarCode) + End If + + + + + ' -------------- size ------------------------- + + ' -------------- simulation ------------------ + + If IniRead.b_debug Then ' simulation stuff + + .BtnSim0.Visible = True + .BtnSim1.Visible = True + .BtnSim2.Visible = True + .BtnSim3.Visible = True + .BtnSim4.Visible = True + .BtnSim5.Visible = True + .LblSimPrgSent1.Visible = True + .LblSimPrgSent2.Visible = True + + End If + + ' ---------------- old osai + + If (IniRead.b_force_S10WLK32 And IniRead.b_verbose) Or (IniRead.b_test_nc) Then + .BtnReadOldOsai.Visible = True + .BtnWrite1OldOsai.Visible = True + .BtnWrite2OldOsai.Visible = True + .BtnWrite3OldOsai.Visible = True + .BtnWrite4OldOsai.Visible = True + .BtnWrite5OldOsai.Visible = True + .LblReadOldOsai.Visible = True + + .BtnReadOldOsai.Text = "R var " & IniRead.nVar_NC_state.ToString + .BtnWrite1OldOsai.Text = "W1" + .BtnWrite2OldOsai.Text = "W2" + .BtnWrite3OldOsai.Text = "W3" + .BtnWrite4OldOsai.Text = "W4" + .BtnWrite5OldOsai.Text = "W5" + End If + + + If (IniRead.b_win7 And IniRead.b_test_nc) Or (IniRead.b_send_file) Then + .Btn_test_file.Visible = True + End If + + End With + + End Sub + + Private Sub Button_init() + + With FrmMain + + + .BtnExit.Top = BUTTON_TOP + .BtnExit.Width = BUTTON_WIDTH + .BtnExit.Height = BUTTON_HEIGHT + .BtnExit.Left = 220 + + + End With + End Sub + + Private Sub button_visibility() + With FrmMain + .BtnExit.Visible = True + + End With + + End Sub + + Private Sub button_text() + With FrmMain + + .BtnExit.Text = Message.msg(21) ' Exit + End With + + End Sub + + +End Module diff --git a/EgwProxy.OsaiCncLib/Modules/M_cn_connection.vb b/EgwProxy.OsaiCncLib/Modules/M_cn_connection.vb new file mode 100644 index 0000000..254154e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/M_cn_connection.vb @@ -0,0 +1,458 @@ +Imports System.IO + +Module M_cn_connection + +#Region "ENUM States and Local Constants" + +#End Region + +#Region "Global Constants" + + Public Const SLEEP_TIME As Integer = 150 ' attesa connessione CN + Public Const MAX_RETRY As Integer = 10 ' numero tentativi connessione CN + +#End Region + +#Region "Global Vars" + + ' oggetto Serie per connessione PC / CN + Public CnOsai As ComCNOsai + +#End Region + +#Region "local vars " + + Private b_first_time As Boolean + + Private nret As Int16 + + ' Private send_mode As e_send_mode = e_send_mode.SM_SIMPLE + + Private b_even As Boolean = False + + Private n_prev_Value_NC_running As Byte + Private sz_NC_Program_Name As String + + ' Private Start_time As DateTime + ' Private Stop_time As DateTime + + +#End Region + + + ' --------------------------------------------------------- + ' ---- Procedura per inizializzare connessione con CN ----- + ' --------------------------------------------------------- + ' --------------------------------------------------------- + Sub StartConnection() + + Dim szCmdLink As String = "" + Dim b_DotNet As Boolean + Dim b_ok As Boolean = False + + 'FrmMain.Show() + + ' se non in debug + If (Not IniRead.b_debug) Then + + 'FrmMain.LblConnected.Visible = True ' !! + 'FrmMain.LblConnected.Text = "Step 1....." ' !! + + If IniRead.b_verbose Then + 'Log.write(FrmMain.LblConnected.Text & " " & IniRead.szNameNC) + 'FrmMain.LblConnected.Text = Message.msg(8) & IniRead.szNameNC + ' MsgBox(Message.msg(8) & IniRead.szNameNC) ' connecting to + End If + + ' istanzio l'oggetto CN + + + If IniRead.b_force_S10WLK32 Or IniRead.b_open_control Or IniRead.b_no_WinNBI Then + b_ok = True + Else + b_ok = ComCNOsai.GetWinnbi(b_DotNet) + End If + + If b_ok Then + + If IniRead.b_open_control Then ' osai serie open ? + CnOsai = New Open_Series(IniRead.szNameNC, IniRead.b_debug) + Else + + If IniRead.b_force_S10WLK32 Then ' vecchissimi cn serie 10 non winnbi ? + 'CnOsai = New ComCNOSAI_S10WLK32(IniRead.szNameNC, False) + Else + If IniRead.b_no_WinNBI Then ' forzo versione non .NET + CnOsai = New ComCNOSAIVB6(IniRead.szNameNC, False) + Else + If b_DotNet Then ' win nbi con .Net + CnOsai = New ComCNOsai(IniRead.szNameNC, False) + Else + CnOsai = New ComCNOSAIVB6(IniRead.szNameNC, False) + End If ' win nbi con .Net + + End If ' forzo versione non .NET + End If ' vecchissimi cn serie 10 non winnbi + End If ' osai serie open + + If IniRead.b_verbose And Not IniRead.b_force_S10WLK32 And Not IniRead.b_open_control And Not IniRead.b_no_WinNBI Then + 'FrmMain.LblConnected.Text = "Win nbi v." & ComCNOsai.GetWinnbi_version() & "New : " & b_DotNet.ToString + Log.write("Win nbi v." & ComCNOsai.GetWinnbi_version() & "New : " & b_DotNet.ToString) + + ' MsgBox(ComCNOsai.GetWinnbi_version() & vbCrLf & "Nuova : " & b_DotNet.ToString, , "Win nbi version") + End If + + + b_ok = CnOsai.OpenSession() + + 'FrmMain.LblConnected.Visible = True + + ' connessione non ok + If (CnOsai.Connected = False) Then + + 'FrmMain.LblConnected.Text = Message.msg(11) ' "NOT CONNECTED" + 'FrmMain.LblConnected.ForeColor = Color.Red + MsgBox(CnOsai.ErrMsg, MsgBoxStyle.Critical, Message.msg(10)) ' Nc connection + Log.write(" Error connecting " & IniRead.szNameNC & " " & CnOsai.ErrMsg) + Else + + 'FrmMain.LblConnected.Text = Message.msg(12) ' "NC connect ok " + 'FrmMain.LblConnected.ForeColor = Color.Blue + + If IniRead.b_open_control Then ' if open control + Else + + Do While Not CnOsai.Is_NC_running + + System.Threading.Thread.Sleep(SLEEP_TIME) + + Loop + End If ' if open control + + End If ' connessione non ok + + 'Log.write(FrmMain.LblConnected.Text) + + Else + MsgBox("Missing Win NBI", MsgBoxStyle.Critical, "Missing Win NBI") ' Nc connection + + End If + + + Else ' se in debug + + 'FrmMain.LblConnected.Text = "DEBUG" + 'FrmMain.LblConnected.ForeColor = Color.Orange + + End If + + End Sub + + Sub CheckConnection() + + ' un po' di letture per vedere se funziona + + Dim b_timeout As Boolean = False + Dim n_retry As Integer + Dim n_temp As Integer + Dim Var_tmp As ComCNOsai.stVAR + + + + ' ' effetuo net use di sicurezza per evitare che il collegamento non sia stato ancora avvenuto + ' szCmdLink = "net use " & Ini.DiskCn & " \\" & IniRead.szNameNc & "\PROGRA1" + ' Shell(szCmdLink) + ' System.Threading.Thread.Sleep(100) + + + n_retry = 0 + + + Var_tmp.nAddress = nVar_NC_state + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + If (Not IniRead.b_debug) Then + + System.Threading.Thread.Sleep(SLEEP_TIME) + + If IniRead.b_verbose Then Log.write(" Check NC connection 1") ' + + If IniRead.b_force_S10WLK32 Then ' vecchissimi cn serie 10 non winnbi ? + + If IniRead.b_verbose Then Log.write("b_force_S10WLK32") ' + + Else + + b_timeout = True + + Do While n_retry < MAX_RETRY + + System.Threading.Thread.Sleep(SLEEP_TIME) + + Try + + n_temp = CnOsai.ReadShortVar(Var_tmp) + + Catch ex As Exception + + MsgBox(ex.Message,, "check connection ") + + End Try + + + If n_temp <> ComCNOsai.ERRORVALUE Then + b_timeout = False + Exit Do + + End If + n_retry = n_retry + 1 + + ' If IniRead.b_verbose Then Log.write(" Check NC connection 2 : " & FrmMain.LblConnected.Text) + + + If Not (CnOsai Is Nothing) Then + CnOsai.CloseSession() + End If + + 'FrmMain.LblConnected.Text = Str(n_retry) + ' If IniRead.b_verbose Then Log.write(" Check NC connection 3 : " & FrmMain.LblConnected.Text) + + + System.Threading.Thread.Sleep(SLEEP_TIME) + CnOsai.OpenSession() + + If CnOsai.Connected Then + Else + ' FrmMain.LblConnected.Text = Str(n_retry) & " -- " & CnOsai.ErrMsg + ' If IniRead.b_verbose Then Log.write(" Check NC connection 4 ( bad ) : " & FrmMain.LblConnected.Text) + + End If + + Loop + End If + + + If b_timeout Then + + 'FrmMain.LblConnected.Text = Message.msg(13) ' " CANNOT CONNECT (2)" + 'FrmMain.LblConnected.ForeColor = Color.OrangeRed + MsgBox(CnOsai.ErrMsg, MsgBoxStyle.Critical, Message.msg(13)) ' CANNOT CONNECT (2) + Log.write(Message.msg(13) & " - " & CnOsai.ErrMsg) + + 'End + + Else + + ' Imposto Label Connected con il nome del Channel utilizzato + 'FrmMain.LblConnected.Text = FrmMain.LblConnected.Text + " (" + IniRead.szNameNC + ")" + 'FrmMain.LblConnected.ForeColor = Color.DarkGreen + + 'Log.write(FrmMain.LblConnected.Text) + + End If + + + + End If + + End Sub + ' ------------------------------------------------------------------------------- + ' ---- interfaccia con simulazione della scrittura variabili CN ----------------- + ' ------------------------------------------------------------------------------- + Sub Write_NC_var(ByVal n_var As Integer, ByVal n_value As Integer) + + Dim Var_tmp As ComCNOsai.stVAR + + If Not IniRead.b_debug Then ' effettiva scrittura su CN + + Var_tmp.nAddress = n_var + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + Call CnOsai.WriteShortVar(Var_tmp, n_value) + + Else ' simulation + ' If n_var = IniRead.nVar_prg_1_ok Then + ' + ' If n_value = 0 Then + ' FrmMain.LblSimPrgSent1.BackColor = Color.Azure + ' Else + ' FrmMain.LblSimPrgSent1.BackColor = Color.LawnGreen + ' End If + ' End If + ' + ' If n_var = IniRead.nVar_prg_2_ok Then + ' If n_value = 0 Then + ' FrmMain.LblSimPrgSent2.BackColor = Color.Azure + ' Else + ' FrmMain.LblSimPrgSent2.BackColor = Color.LawnGreen + ' End If + ' End If + End If + + End Sub + ' ------------------------------------------------------------------------------- + ' ---- interfaccia con simulazione della lettura variabili CN ------------------- + ' ------------------------------------------------------------------------------- + Function Read_Nc_var(ByVal n_var As Integer) As Short + + Dim Var_tmp As ComCNOsai.stVAR + + Dim n_temp As Short + + If Not IniRead.b_debug Then ' effettiva lettura da CN + + Var_tmp.nAddress = n_var + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + n_temp = CnOsai.ReadShortVar(Var_tmp) + + 'Else ' simulation + ' n_temp = FrmMain.n_simulated_index ' read the state of the buttons .... + End If + + Return n_temp + + End Function + + Sub Write_NC_L_var(ByVal n_var As Integer, ByVal d_value As Double) + + Dim Var_tmp As ComCNOsai.stVAR + + If Not IniRead.b_debug Then ' effettiva scrittura su CN + + Var_tmp.nAddress = n_var + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + Call CnOsai.WriteVarL(Var_tmp, d_value) + + Else ' simulation + End If + + End Sub + + Function Read_Nc_L_var(ByVal n_var) As Double + + Dim Var_tmp As ComCNOsai.stVAR + + Dim d_temp As Double + + If Not IniRead.b_debug Then ' effettiva lettura da CN + + Var_tmp.nAddress = n_var + Var_tmp.nBit = 0 ' solo x evitare warning ... + Var_tmp.nNumCn = 1 ' solo x evitare warning ... + Var_tmp.szVarName = "" ' solo x evitare warning ... + + d_temp = CnOsai.ReadVarL(Var_tmp) + + Else ' simulation + d_temp = 0.1234 + End If + + Return d_temp + + End Function + + ' ------------------------------------------------------------------------------- + ' ---- Controlla se CN è in RUN ------------------------------------------------- + ' ------------------------------------------------------------------------------- + Function Check_NC_running() As Boolean + + Dim info1 As CndexLinkDotNet.Cndex.GETINFO1DATA + Dim ProcStat As CndexLinkDotNet.Cndex.PROCDATA + + Dim n_NC_status As Byte + ' Dim n_NC_status_bis As Byte + + + info1.rap_feed_ov = 0 ' per placare i warning ma non sembra funzionare.... + + Check_NC_running = True + + ' If (CnOsai.NcInfo1(info1)) Then + ' n_NC_status = info1.status + + If (CnOsai.NcProcessStatus(ProcStat)) Then + + + n_NC_status = ProcStat.Status + + Select Case n_NC_status + + Case ComCNOsai.EMERG_ + Check_NC_running = False + + Case ComCNOsai.ERRO_ + Check_NC_running = False + + Case ComCNOsai.RESET_ + Check_NC_running = False + + Case ComCNOsai.IDLE_ + Check_NC_running = False + + Case ComCNOsai.CYCLE_ + Check_NC_running = True + + Case ComCNOsai.HOLDA_ + Case ComCNOsai.RUNH_ + Case ComCNOsai.HRUN_ + + + End Select + + End If + + Return Check_NC_running + + End Function + + ' ------------------------------------------------------------------------------- + ' ---- Get NC status ------------------------------------------------- + ' ------------------------------------------------------------------------------- + Function Get_NC_status(ByRef n_NC_sub_status As Short) As Short + + Dim info1 As CndexLinkDotNet.Cndex.GETINFO1DATA + Dim ProcStat As CndexLinkDotNet.Cndex.PROCDATA + + Dim n_NC_status As Short + + info1.rap_feed_ov = 0 ' per placare i warning ma non sembra funzionare.... + + + If (CnOsai.NcProcessStatus(ProcStat)) Then + n_NC_status = ProcStat.Status + n_NC_sub_status = ProcStat.SubStatus + Else + MsgBox(CnOsai.ErrMsg) + End If + + Return n_NC_status + + End Function + + + + + Function CN_error_class() As Long + + Return CnOsai.ErrClass + + End Function + + Function CN_error_num() As Long + + Return CnOsai.ErrNum + + End Function + + +End Module diff --git a/EgwProxy.OsaiCncLib/Modules/M_machine.vb b/EgwProxy.OsaiCncLib/Modules/M_machine.vb new file mode 100644 index 0000000..deb429e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/M_machine.vb @@ -0,0 +1,21 @@ +Module M_machine + + Sub get_machine_state() + + machine_state = Read_Nc_var(IniRead.nVar_NC_state) + + End Sub + + Sub set_var_prg_1_ok(ByVal state As Integer) + + Write_NC_var(IniRead.nVar_prg_1_ok, state) + + End Sub + + Sub set_var_prg_2_ok(ByVal state As Integer) + + Write_NC_var(IniRead.nVar_prg_2_ok, state) + + End Sub + +End Module diff --git a/EgwProxy.OsaiCncLib/Modules/M_state_machine.vb b/EgwProxy.OsaiCncLib/Modules/M_state_machine.vb new file mode 100644 index 0000000..44e9ef7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/M_state_machine.vb @@ -0,0 +1,375 @@ +Imports System.IO + +Module M_state_machine + + +#Region "Global Constants" + + Public Const ODD As Integer = 1 + Public Const EVEN As Integer = 0 ' was 2 , changed to 0 for zero based arrays + + Public Const ERR_RET As Short = 0 + Public Const OK_RET As Short = 1 + +#End Region + +#Region "ENUM States" + + Public Enum mach_state_Type + T_RESET = 0 + T_READY = 1 + T_MACHINING_1 = 2 + T_END_MACHINING_1 = 3 + T_MACHINING_2 = 4 + T_END_MACHINING_2 = 5 + T_BAD_PART = 8 + End Enum + +#End Region + +#Region "Global Vars" + + Public machine_state As mach_state_Type + Public sim_machine_state As mach_state_Type + + Public b_restarting As Boolean + Public sz_start_datetime(2) As String + + Public b_running As Boolean + Public sz_next_program As String + +#End Region + +#Region "local variables " + + Private prev_machine_state As mach_state_Type + Private entry_state As Boolean + Private b_check_new_program As Boolean + + + + Private b_machining_odd_prog As Boolean + + Private sz_dest As String + Private sz_source As String + Private sz_source_s(10) As String + + +#End Region + + Sub init() + + b_running = True + + machine_state = mach_state_Type.T_RESET + prev_machine_state = mach_state_Type.T_RESET + + b_restarting = False + + entry_state = True + + b_check_new_program = False + + ' set the fist machining to be ODD + Call set_b_machining_odd_prog(True) + + + + End Sub + ' + ' the real main state machine + ' + Sub go() + + 'If Not b_running Then Exit Sub + + '' Call Display_machine_data() + + 'Call M_machine.get_machine_state() + + 'If entry_state Then FrmMain.LblMachState.Text = Message.msg(45) ' waiting machine to get ready...... + + + Dim ncInfo As CndexLinkDotNet.Cndex.GETINFO1DATA + ncInfo = Nothing + + + Dim machineStatus As Byte + Dim modeSelected As Byte + + ' modi/stati vedere CncOSAI riga 85 + + machineStatus = CnOsai.GetMachineStatus() + modeSelected = CnOsai.GetModeSelected() + + + ' valore bitmap dello statup IOB + Dim status As Short = 0 + + ' power on + If CnOsai.Connected Then + status += 1 + End If + + ' RUN mode + If (machineStatus = ComCNOsai.CYCLE_ And modeSelected = ComCNOsai.AUTO) Then + status += 2 + End If + + ' Allarme + If (machineStatus = ComCNOsai.ERRO_) Then + status += 8 + End If + + ' Manuale + If (modeSelected <> ComCNOsai.AUTO) Then + status += 16 + End If + + ' Allarme + If (machineStatus = ComCNOsai.EMERG_) Then + status += 32 + End If + + + ' compongo i bit di status... + Dim IobBitmap As String + IobBitmap = "--------------" + vbCrLf + IobBitmap += "Bitmap IOB:" + vbCrLf + IobBitmap += status.ToString() + vbCrLf + IobBitmap += "--------------" + vbCrLf + vbCrLf + + ' per leggere variabili dichiaro la struttura + Dim temp As ComCNOsai.stVAR + temp.nAddress = nVar_NC_state ' da conf che vale 352 da + temp.nBit = 0 + temp.nNumCn = 1 + temp.szVarName = "" + + Dim risultato As Short + risultato = CnOsai.ReadShortVar(temp) + + IobBitmap += vbCrLf + IobBitmap += "Variabile " + nVar_NC_state.ToString() + ": " + risultato.ToString() + + + 'FrmMain.LblMapoIOB.Text = IobBitmap + + + + 'CnOsai.NcInfo1(ncInfo) + + 'FrmMain.LblMachState.Text = "Status:" + machineStatus.ToString() + " / Mode: " + modeSelected.ToString() + + '' wait for state 0 or 1 at beginning + + 'If entry_state And (machine_state = mach_state_Type.T_MACHINING_1) Then Exit Sub + 'If entry_state And (machine_state = mach_state_Type.T_MACHINING_2) Then Exit Sub + 'If entry_state And (machine_state = mach_state_Type.T_END_MACHINING_1) Then Exit Sub + 'If entry_state And (machine_state = mach_state_Type.T_END_MACHINING_2) Then Exit Sub + + 'entry_state = False + + 'Select Case machine_state + + ' ' _______________________ T_RESET STATE ____________________ + + ' Case mach_state_Type.T_RESET + ' FrmMain.LblMachState.Text = Message.msg(46) ' Not Ready + + ' '_______________________ T_READY STATE ____________________ + + ' Case mach_state_Type.T_READY + ' FrmMain.LblMachState.Text = Message.msg(47) ' Ready + ' FrmMain.LblProgramName.Text = "------" + + ' If prev_machine_state <> mach_state_Type.T_READY Then ' state change ?? + ' b_check_new_program = True ' enable 1 run only after state change + ' End If ' cambio di stato + + ' If b_check_new_program Then ' + ' If get_next_item_no_qty() Then + ' Call start_machining() + ' b_check_new_program = False + ' End If + ' End If ' controllo programmi disponibili abilitato + + ' '_______________________ T_MACHINING_1 STATE ____________________ + + ' Case mach_state_Type.T_MACHINING_1 + + ' FrmMain.LblMachState.Text = Message.msg(49) ' machining + + ' If prev_machine_state <> mach_state_Type.T_MACHINING_1 Then ' state change ?? + + ' If prev_machine_state = mach_state_Type.T_MACHINING_2 Then ' skipped end machining 2 ?? + + + ' End If ' skipped end machining 2 + + ' b_check_new_program = True ' enable 1 run only after state change + + ' ' save start time + + ' sz_start_datetime(ODD) = Now.ToString + ' Debug.Print(" Start time " & sz_start_datetime(ODD) & " odd/even " & Str(ODD)) + ' Call Log.write("Start time" & sz_start_datetime(ODD) & " odd/even " & Str(ODD)) + + ' ' here change in queue display drawing if any + ' ' here change in drawing if any + ' ' Call M_wmf.picture_send(True) + + + + ' End If ' state change + + ' Call check_and_start() + + ' '_______________________ T_END_MACHINING_1 STATE ____________________ + + ' Case mach_state_Type.T_END_MACHINING_1 + + ' FrmMain.LblMachState.Text = Message.msg(48) ' end machining + ' FrmMain.LblProgramName.Text = "------" + + ' If prev_machine_state <> mach_state_Type.T_END_MACHINING_1 Then ' state change ?? + + ' ' here change in drawing if any + + ' End If ' state change + + ' Call check_and_start() + + ' '_______________________ T_MACHINING_2 STATE ____________________ + + ' Case mach_state_Type.T_MACHINING_2 + + ' FrmMain.LblMachState.Text = Message.msg(49) ' machining + + ' If prev_machine_state <> mach_state_Type.T_MACHINING_2 Then ' state change ?? + + ' If prev_machine_state = mach_state_Type.T_MACHINING_1 Then ' skipped end machining 1 ?? + + + ' End If ' skipped end machining 1 + + ' b_check_new_program = True ' enable 1 run only after state change + + ' ' save start time + + ' sz_start_datetime(EVEN) = Now.ToString + ' Debug.Print(" Start time " & sz_start_datetime(EVEN) & " odd/even " & Str(EVEN)) + ' Call Log.write("Start time" & sz_start_datetime(EVEN) & " odd/even " & Str(EVEN)) + + ' ' here change in queue display drawing if any + ' ' here change in drawing if any + ' ' Call M_wmf.picture_send(False) + + + ' End If ' state change + + ' Call check_and_start() + + ' '_______________________ T_END_MACHINING_2 STATE ____________________ + + ' Case mach_state_Type.T_END_MACHINING_2 + + ' FrmMain.LblMachState.Text = Message.msg(48) ' end machining + ' FrmMain.LblProgramName.Text = "------" + + ' If prev_machine_state <> mach_state_Type.T_END_MACHINING_2 Then ' state change ?? + + ' ' here change in drawing if any + + ' End If ' state change + + ' Call check_and_start() + + ' '__________________________________________ + + 'End Select + + 'prev_machine_state = machine_state + + End Sub + + ' returns the next item from the queue ( if any ) + + Private Function get_next_item_no_qty() As Boolean + + Dim b_ret As Boolean = False + + + + Return b_ret + + End Function + + Private Sub check_and_start() + + If b_check_new_program Then ' available programs check enabled ?? + If get_next_item_no_qty() Then + Call start_machining() + b_check_new_program = False + End If + End If ' available programs check enabled + + End Sub + + ' some serious processing here .... + + Private Sub start_machining() + + End Sub + + Private Sub crea_programma() + + + End Sub + + Private Sub set_dest_program_name() + + + + End Sub + + Private Sub set_b_machining_odd_prog(ByVal b As Boolean) + + + End Sub + + '------------------------------------------------------------- + '------------------------------------------------------------- + +#Region "my funny valentine" + ' + ' ritorna 1 ( OK_RET ) se ok ; 0 ( ERR_RET ) se in errore + ' + Function my_f_____copy_file_to_nc(ByVal sz_Pc_file_name As String, ByVal sz_Nc_file_name As String) As Short + + + + End Function + + Sub my_f_____File_Delete(ByVal sz_to_delete As String) + + End Sub + + ' + ' ritorna 1 ( OK_RET ) se ok ; 0 ( ERR_RET ) se in errore + ' + Function my_f_____copy_file_from_nc(ByVal sz_Nc_file_name As String, ByVal sz_Pc_file_name As String) As Short + + + End Function + + + +#End Region + + Private Sub Display_machine_data() + + + End Sub + +End Module diff --git a/EgwProxy.OsaiCncLib/Modules/Message.vb b/EgwProxy.OsaiCncLib/Modules/Message.vb new file mode 100644 index 0000000..174080d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Modules/Message.vb @@ -0,0 +1,36 @@ +' +' libreria : VBlib +' file : Message +' +' funzioni : gestione messaggi +' +' copyright 2008-2015 C.Viviani +' +Imports System +Imports System.IO +Imports System.IO.File + +Public Module Message + + Public msg() As String + + Sub init() + + Dim sz_filename As String + + sz_filename = Application.StartupPath & "\messages\" & Application.ProductName & ".msg" + + If File.Exists(sz_filename) Then ' + Try + msg = System.IO.File.ReadAllLines(sz_filename) + Catch e As Exception + MsgBox(e.Message, MsgBoxStyle.Critical, "Error !") + 'End + End Try + Else + MsgBox(" Missing message file :" & vbCrLf & sz_filename, MsgBoxStyle.Critical, "Error 3 :") + 'End + End If + End Sub + +End Module diff --git a/EgwProxy.OsaiCncLib/My Project/Application.Designer.vb b/EgwProxy.OsaiCncLib/My Project/Application.Designer.vb new file mode 100644 index 0000000..88dd01c --- /dev/null +++ b/EgwProxy.OsaiCncLib/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/EgwProxy.OsaiCncLib/My Project/Application.myapp b/EgwProxy.OsaiCncLib/My Project/Application.myapp new file mode 100644 index 0000000..8f84d6b --- /dev/null +++ b/EgwProxy.OsaiCncLib/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + true + FrmMain + false + 0 + true + 0 + true + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/My Project/AssemblyInfo.vb b/EgwProxy.OsaiCncLib/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..6371468 --- /dev/null +++ b/EgwProxy.OsaiCncLib/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + +' + +' + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + +' +' diff --git a/EgwProxy.OsaiCncLib/My Project/Resources.Designer.vb b/EgwProxy.OsaiCncLib/My Project/Resources.Designer.vb new file mode 100644 index 0000000..4dce655 --- /dev/null +++ b/EgwProxy.OsaiCncLib/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("EgwProxy.OsaiCncLib.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/EgwProxy.OsaiCncLib/My Project/Resources.resx b/EgwProxy.OsaiCncLib/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/EgwProxy.OsaiCncLib/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/My Project/Settings.Designer.vb b/EgwProxy.OsaiCncLib/My Project/Settings.Designer.vb new file mode 100644 index 0000000..397efe1 --- /dev/null +++ b/EgwProxy.OsaiCncLib/My Project/Settings.Designer.vb @@ -0,0 +1,93 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + + _ + Public ReadOnly Property door_pro_WebReference_OPENcontrol() As String + Get + Return CType(Me("door_pro_WebReference_OPENcontrol"),String) + End Get + End Property + + _ + Public ReadOnly Property d_prod_WebReference_OPENcontrol() As String + Get + Return CType(Me("d_prod_WebReference_OPENcontrol"),String) + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.EgwProxy.OsaiCncLib.My.MySettings + Get + Return Global.EgwProxy.OsaiCncLib.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/EgwProxy.OsaiCncLib/My Project/Settings.settings b/EgwProxy.OsaiCncLib/My Project/Settings.settings new file mode 100644 index 0000000..631b566 --- /dev/null +++ b/EgwProxy.OsaiCncLib/My Project/Settings.settings @@ -0,0 +1,12 @@ + + + + + + http://192.168.20.2:8080 + + + http://192.168.20.2:8080 + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/My Project/app.manifest b/EgwProxy.OsaiCncLib/My Project/app.manifest new file mode 100644 index 0000000..4c249cd --- /dev/null +++ b/EgwProxy.OsaiCncLib/My Project/app.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + diff --git a/EgwProxy.OsaiCncLib/S10DLLPRJ.dll b/EgwProxy.OsaiCncLib/S10DLLPRJ.dll new file mode 100644 index 0000000000000000000000000000000000000000..98a51adea43fab5e9bd4c5a7fdce0f8bbab3d9d3 GIT binary patch literal 32768 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�o4F5hazE->VKPq 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 literal 0 HcmV?d00001 diff --git a/EgwProxy.OsaiCncLib/S10WLK32.LIB b/EgwProxy.OsaiCncLib/S10WLK32.LIB new file mode 100644 index 0000000000000000000000000000000000000000..b645f309e52f431fc08c01f9d0546a22704f2b2a GIT binary patch literal 11210 zcmdT~O>A4o5gtj7T+6PaSdML3vPAv=xK%8P@=swD^iS;w)*ndOIW!1ElTS8LSrkaB zaDgBNf&jhr6y%gckXtW7ddVs2AxME-8=!~g6tss1IRx${_w<{$`}WPgw|pfku%L_}(mzNf<+U(Rt-CkV0vZ%hk-a|ycChG4c zIz3Eu=04HrCyEA66EUT}Ry6P(+DvaNn)r%{DfL9r)H_5>({)Xqc!Fl%S2VLl#56mv zX!2tsrkT$bO=i#r4MNT|x~^#GO(Le@Yl_Z)NyIdCQqkEDiI|3-Dw_TVxS+ug6pg$~ z#B}~uMX7F#7c~5lqLDGkL1QzD#=j?G8hcOC#5U#$8t>Kg7M`HFK1CN^BVw9+Lled^ z2Ra9yPha2(nwntB=U3J?H?mv#TffTP%&u&1ZDjMgg^RDO-d$Rxe184j>S|nrejlhP zg{_zGt>4Yxy1sRt@*8{JZqBRK%9Y*B!XdzWVhi<(k!NOrT%CU#Mo5jIl(Ry1zn|`+Qg}JdSr6k=^m?482*Y zmFsMWzA5{5=#s1#!Cl$it}KX-BTQ(xci15SORrU~Ua0TO6>y3)(_VuJ6U`etzggdx zbGLcdpLn&bw=IlMa-h3fc~~woNNDp>E*9RQ73JbBUfr$2gREDqRHa8aMPP1KDmxAI z<09y9Y;V`_mK(t(#5?zDUbVp+aS@NH@ZfgY+bP|u>_6a0a3zQYZkgcb9#yJ!_Y0wD zbHCv#IYnT`mqNuarwB~fLYOyPLc9}S3iC!>#K86{g`VV=32wL)1|jGy6v4K@%z4tT zZJrXddy0@8VfszZJ@j6tO-yx33{MTip&SbCWW7R3#t+lJ^GdZ`x6CGFUCH}5SqTYVw3&@A=pCS5W6#3Es(bp-W@9=yZ^cBwcCuqMj zMO2?A>IA(%OSFZ&Vjjac=rS7 zygNelDrDX0_ao?yp*@3K<@<4>_wd{XW-q?K1?rn4dhG(y8+bnD@8^iV08L;#|8E~& z?{oAV{e+Iv&uN}c(Rmu6(=rDrKpFx=|wt1<1|UrG(!_KMaQV0UZ9ug zIQ^7P&=5UOC#jEmX_hX~&uET1sPmci-9>qM3PjVRFb8s`NTKlyV@Di}ovoS&#}X$3 znBvGnD|&!}Wt}!?yMh+je4GZyqi!M-5vMDd0FQ=q!3`r0Gh?R_nDOXm(mO}C8A%VK zNiV`+{D=h8H9rwDb@<{SE4bmmCNAQxfZ@WL3b-Uv^SgIsuY2$#;Jf_l`YG}l}v zRNLuZN)$SoZimN+W;h(ql3;$q?Tkn`pW#I})CjEIGF+Fr8ll`ji)p*25n-572aU-> zQx8QkgEykM*(;H8T-9{AuM$L@STUonthjKpxI-IJ<8=~lES%fC7_3Qj-cCn1Z#9~C z==4g}?fRAsftBYa?ga2Vckbf09jGhsmmwj5&?47O*I{tz$_^5yo4Bb#mzgqP80~o2 zFd`KS#B6;=a^@HY64j0BBM2vrD>h+%0jxPGcU;cgd zKOKaegXo_`9mhMmlhY>De~?Nb`)K^>@bo&tE*0v9iN%0_3Sa&Vy}xQ*o@0hCex~&<1$ro#(Z7Tq^D~tC3`>R#?HD)d zgxs_l>hC)Wrdl*4z4-p^$jP;Gv0ABBw(F^x>}+avW&JL{8T*_7hu`EL)TSKuSNl1i zCvh;0V&(B3#{2Ea5&GeW05RA|9$+U0)6Nk2Lw*!+{0TBrSHMZL4j5!~mO~EnNBNKb zaPLIF&@Fy+(iZ+6c44qbPPrL>SX|acVc#D*eSi4WA07{qI$ZWr@;UY?O1G_$w3QDMCs)LL6!w<`;=IPwnwsEu~7+aF`=Vf<`45V1M_EokVc@UwIv zV!giy4WW04>)Xtl;&z%)rf%69)605MVU6TF>1qc@Xk4`MIbq$i4cdbVMLR8%bpLg zUkzr4(g`XCjAJr-3rIGana^^A`EW4r_Hp7D1&Pu6%#!x(s6a$U6kb3qNZDv+j_J#8 zD?#ZAc@VFqEGo#}4=}snc!^kk3RuT9RwU=O0A-`8xh42@kH(W(vF!fydWWZp3#Vh9X*#5;>%f$8Hq0_6w8?%;FL)4y@3ekvyU(50>mFJz6@%_ zLyj*EGBwVrhZxZm>e}4B1dBP(IL-oKo0tt^Cr7nmfhh`$7NBf23km*c-Aj2))Zx9iz{;4o> z>T)??LZew#W@~b?(adTlow<`5?a(sb1lybvSfVB_r(>NI&CD&yHm5aStkm8XV$$tz zMkA`~J6G^6sMd3e1~Hm%)3c1_1KGa}w27Foe{&Y1`NhEkl#OQgFUdA97`(^94;iw1 F`Y--Up5_1m literal 0 HcmV?d00001 diff --git a/EgwProxy.OsaiCncLib/Service References/OPENcontrol.wsdl b/EgwProxy.OsaiCncLib/Service References/OPENcontrol.wsdl new file mode 100644 index 0000000..1a05dbc --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OPENcontrol.wsdl @@ -0,0 +1,5895 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service definition of function ns__BootPhaseEnquiry + + + + + Service definition of function ns__BootReboot + + + + + Service definition of function ns__BootShutDown + + + + + Service definition of function ns__BootMode + + + + + Service definition of function ns__GetHWKey + + + + + Service definition of function ns__ReadVarWord + + + + + Service definition of function ns__ReadVarDouble + + + + + Service definition of function ns__WriteVarWord + + + + + Service definition of function ns__WriteVarWordBit + + + + + Service definition of function ns__WriteVarDouble + + + + + Service definition of function ns__ReadVarText + + + + + Service definition of function ns__WriteVarText + + + + + Service definition of function ns__ReadWarningMsg + + + + + Service definition of function ns__ResetSingleTableII + + + + + Service definition of function ns__LockTableII + + + + + Service definition of function ns__UnLockTableII + + + + + Service definition of function ns__GetOriginTabRecordII + + + + + Service definition of function ns__SetOriginTabRecordII + + + + + Service definition of function ns__GetToolTabRecordII + + + + + Service definition of function ns__SetToolTabRecordII + + + + + Service definition of function ns__GetOffsetTabRecordII + + + + + Service definition of function ns__SetOffsetTabRecordII + + + + + Service definition of function ns__GetUserTabRecordII + + + + + Service definition of function ns__SetUserTabRecordII + + + + + Service definition of function ns__SaveTables + + + + + Service definition of function ns__RestoreSingleTable + + + + + Service definition of function ns__SaveSingleTable + + + + + Service definition of function ns__SaveBackupMemory + + + + + Service definition of function ns__RestoreBackupMemory + + + + + Service definition of function ns__Cycle + + + + + Service definition of function ns__SyncroCycle + + + + + Service definition of function ns__Reset + + + + + Service definition of function ns__Hold + + + + + Service definition of function ns__SetFeedManOver + + + + + Service definition of function ns__SetFeedRateOver + + + + + Service definition of function ns__SetFeedRapidOver + + + + + Service definition of function ns__SetSpeedRateOver + + + + + Service definition of function ns__SetManMovDirection + + + + + Service definition of function ns__GetVarJOG + + + + + Service definition of function ns__SetVarJOG + + + + + Service definition of function ns__SetVarUAS + + + + + Service definition of function ns__GetVarRCM + + + + + Service definition of function ns__SetVarRCM + + + + + Service definition of function ns__GetProcVarWord + + + + + Service definition of function ns__SetProcVarWord + + + + + Service definition of function ns__GetProcVarDouble + + + + + Service definition of function ns__SetProcVarDouble + + + + + Service definition of function ns__SetMdiString + + + + + Service definition of function ns__SetProcessMode + + + + + Service definition of function ns__SelectProcess + + + + + Service definition of function ns__GetSelectedProcess + + + + + Service definition of function ns__SelectProcAxis + + + + + Service definition of function ns__SelectPartProgram + + + + + Service definition of function ns__SelectPartProgramFromDrive + + + + + Service definition of function ns__GetActivePartProgram + + + + + Service definition of function ns__GetPartProgramLines + + + + + Service definition of function ns__GetAxOriginNum + + + + + Service definition of function ns__GetAxesPosition + + + + + Service definition of function ns__GetNcInfo1 + + + + + Service definition of function ns__GetNcInfo2 + + + + + Service definition of function ns__GetToolNames + + + + + Service definition of function ns__GetProcessStatus + + + + + Service definition of function ns__GetBlkNum + + + + + Service definition of function ns__ReadErrMsg + + + + + Service definition of function ns__ReadPartProgramMsg + + + + + Service definition of function ns__GetGCode + + + + + Service definition of function ns__GetMCode + + + + + Service definition of function ns__SkipPProgBlock + + + + + Service definition of function ns__Ese + + + + + Service definition of function ns__EseEx + + + + + Service definition of function ns__Exe + + + + + Service definition of function ns__AxesRef + + + + + Service definition of function ns__DncInit + + + + + Service definition of function ns__DncData + + + + + Service definition of function ns__DncEof + + + + + Service definition of function ns__DncStop + + + + + Service definition of function ns__GetAxesInfo3 + + + + + Service definition of function ns__GetCodeNumber + + + + + Service definition of function ns__GetOptions + + + + + Service definition of function ns__GetDateTime + + + + + Service definition of function ns__SetDateTime + + + + + Service definition of function ns__GetSerialNumber + + + + + Service definition of function ns__PutFile + + + + + Service definition of function ns__GetFile + + + + + Service definition of function ns__PutBinaryFile + + + + + Service definition of function ns__GetBinaryFile + + + + + Service definition of function ns__LogFSSetSecurityLevel + + + + + Service definition of function ns__LogFSGetSecurityLevel + + + + + Service definition of function ns__LogFSLongFileNames + + + + + Service definition of function ns__LogFSGetNumDrive + + + + + Service definition of function ns__LogFSGetDriveList + + + + + Service definition of function ns__LogFSGetHiddenDriveList + + + + + Service definition of function ns__LogFSGetDrivePath + + + + + Service definition of function ns__LogFSAddDrive + + + + + Service definition of function ns__LogFSRemoveDrive + + + + + Service definition of function ns__LogFSReloadDriveList + + + + + Service definition of function ns__LogFSCreateDir + + + + + Service definition of function ns__LogFSCreateFile + + + + + Service definition of function ns__LogFSGetFileSize + + + + + Service definition of function ns__LogFSGetFileAttrib + + + + + Service definition of function ns__LogFSSetFileAttrib + + + + + Service definition of function ns__LogFSChangeFileAttrib + + + + + Service definition of function ns__LogFSFindFirst + + + + + Service definition of function ns__LogFSFindNext + + + + + Service definition of function ns__LogFSFindClose + + + + + Service definition of function ns__LogFSRemoveFile + + + + + Service definition of function ns__LogFSRemoveDir + + + + + Service definition of function ns__LogFSRename + + + + + Service definition of function ns__LogFSCopyFile + + + + + Service definition of function ns__LogFSGetInfo + + + + + Service definition of function ns__GetAvailableCustomEvents + + + + + Service definition of function ns__GetSysTick + + + + + Service definition of function ns__GetProcessConfNum + + + + + Service definition of function ns__MonOpenChannel + + + + + Service definition of function ns__MonCloseChannel + + + + + Service definition of function ns__MonAddVariable + + + + + Service definition of function ns__MonDeleteVariable + + + + + Service definition of function ns__MonStartSampling + + + + + Service definition of function ns__MonStopSampling + + + + + Service definition of function ns__MonGetVariable + + + + + Service definition of function ns__CheckHistory + + + + + Service definition of function ns__ReadHistoryEmergMsg + + + + + Service definition of function ns__ReadHistoryErrorMsg + + + + + Service definition of function ns__ReadHistoryLogMsg + + + + + Service definition of function ns__ReadHistoryAnomalyMsg + + + + + Service definition of function ns__ReadCurrentErrorMsg + + + + + Service definition of function ns__ReadCurrentEmergMsg + + + + + Service definition of function ns__ReadCurrentAnomalyMsg + + + + + Service definition of function ns__GetPTechSizes + + + + + Service definition of function ns__LoadPTech + + + + + Service definition of function ns__GetMarkerInfo + + + + + Service definition of function ns__ManagePartProgram + + + + + Service definition of function ns__LogFSOpenFile + + + + + Service definition of function ns__LogFSCloseFile + + + + + Service definition of function ns__LogFSWriteRecord + + + + + Service definition of function ns__LogFSReadRecord + + + + + Service definition of function ns__ReadRemapDefinitions + + + + + Service definition of function ns__WriteRemapDefinitions + + + + + Service definition of function ns__GetServoPar + + + + + Service definition of function ns__SetServoPar + + + + + Service definition of function ns__GetCNCRegKey + + + + + Service definition of function ns__SetIpAddress + + + + + Service definition of function ns__GetProcInInput + + + + + Service definition of function ns__SndProcInpData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPENcontrol Web Services Definition + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.AxesRefR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.AxesRefR.datasource new file mode 100644 index 0000000..3b1d239 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.AxesRefR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.AxesRefR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootModeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootModeR.datasource new file mode 100644 index 0000000..a90d038 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootModeR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.BootModeR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootPhaseEnquiryR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootPhaseEnquiryR.datasource new file mode 100644 index 0000000..159a0e8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootPhaseEnquiryR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.BootPhaseEnquiryR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootRebootR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootRebootR.datasource new file mode 100644 index 0000000..84b4303 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootRebootR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.BootRebootR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootShutDownR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootShutDownR.datasource new file mode 100644 index 0000000..d4b8b81 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.BootShutDownR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.BootShutDownR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.CheckHistoryR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.CheckHistoryR.datasource new file mode 100644 index 0000000..0ba1827 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.CheckHistoryR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.CheckHistoryR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.CycleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.CycleR.datasource new file mode 100644 index 0000000..491b089 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.CycleR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.CycleR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncDataR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncDataR.datasource new file mode 100644 index 0000000..384538b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncDataR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.DncDataR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncEofR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncEofR.datasource new file mode 100644 index 0000000..2a71169 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncEofR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.DncEofR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncInitR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncInitR.datasource new file mode 100644 index 0000000..8222350 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncInitR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.DncInitR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncStopR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncStopR.datasource new file mode 100644 index 0000000..7007760 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.DncStopR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.DncStopR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.EseExR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.EseExR.datasource new file mode 100644 index 0000000..9a4da56 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.EseExR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.EseExR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.EseR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.EseR.datasource new file mode 100644 index 0000000..5337b09 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.EseR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.EseR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ExeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ExeR.datasource new file mode 100644 index 0000000..d192bbc --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ExeR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ExeR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetActivePartProgramR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetActivePartProgramR.datasource new file mode 100644 index 0000000..4d8286d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetActivePartProgramR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetActivePartProgramR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAvailableCustomEventsR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAvailableCustomEventsR.datasource new file mode 100644 index 0000000..9d86fb2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAvailableCustomEventsR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetAvailableCustomEventsR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxOriginNumR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxOriginNumR.datasource new file mode 100644 index 0000000..3fda8b7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxOriginNumR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetAxOriginNumR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxesInfo3R.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxesInfo3R.datasource new file mode 100644 index 0000000..0b54762 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxesInfo3R.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetAxesInfo3R, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxesPositionR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxesPositionR.datasource new file mode 100644 index 0000000..db0789e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetAxesPositionR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetAxesPositionR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetBinaryFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetBinaryFileR.datasource new file mode 100644 index 0000000..682d3ef --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetBinaryFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetBinaryFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetBlkNumR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetBlkNumR.datasource new file mode 100644 index 0000000..62663a0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetBlkNumR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetBlkNumR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetCNCRegKeyR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetCNCRegKeyR.datasource new file mode 100644 index 0000000..db6aa03 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetCNCRegKeyR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetCNCRegKeyR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetCodeNumberR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetCodeNumberR.datasource new file mode 100644 index 0000000..d5ea723 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetCodeNumberR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetCodeNumberR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetDateTimeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetDateTimeR.datasource new file mode 100644 index 0000000..90b8574 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetDateTimeR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetDateTimeR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetFileR.datasource new file mode 100644 index 0000000..06c5dec --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetGCodeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetGCodeR.datasource new file mode 100644 index 0000000..e543fd4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetGCodeR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetGCodeR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetHWKeyR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetHWKeyR.datasource new file mode 100644 index 0000000..62f68a4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetHWKeyR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetHWKeyR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetMCodeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetMCodeR.datasource new file mode 100644 index 0000000..b0c6840 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetMCodeR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetMCodeR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetMarkerInfoR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetMarkerInfoR.datasource new file mode 100644 index 0000000..fcec22c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetMarkerInfoR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetMarkerInfoR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetNcInfo1R.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetNcInfo1R.datasource new file mode 100644 index 0000000..b507f84 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetNcInfo1R.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetNcInfo1R, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetNcInfo2R.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetNcInfo2R.datasource new file mode 100644 index 0000000..f82938e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetNcInfo2R.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetNcInfo2R, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOffsetTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOffsetTabRecordIIR.datasource new file mode 100644 index 0000000..16b8367 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOffsetTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetOffsetTabRecordIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOptionsR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOptionsR.datasource new file mode 100644 index 0000000..5aee318 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOptionsR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetOptionsR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOriginTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOriginTabRecordIIR.datasource new file mode 100644 index 0000000..f0814f6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetOriginTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetOriginTabRecordIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetPTechSizesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetPTechSizesR.datasource new file mode 100644 index 0000000..42b4e88 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetPTechSizesR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetPTechSizesR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetPartProgramLinesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetPartProgramLinesR.datasource new file mode 100644 index 0000000..1eee709 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetPartProgramLinesR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetPartProgramLinesR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcInInputR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcInInputR.datasource new file mode 100644 index 0000000..207b95c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcInInputR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetProcInInputR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcVarDoubleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcVarDoubleR.datasource new file mode 100644 index 0000000..883f4e9 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetProcVarDoubleR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcVarWordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcVarWordR.datasource new file mode 100644 index 0000000..1187568 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcVarWordR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetProcVarWordR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcessConfNumR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcessConfNumR.datasource new file mode 100644 index 0000000..4107d04 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcessConfNumR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetProcessConfNumR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcessStatusR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcessStatusR.datasource new file mode 100644 index 0000000..fbd4cf6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetProcessStatusR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetProcessStatusR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSelectedProcessR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSelectedProcessR.datasource new file mode 100644 index 0000000..c0eaf61 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSelectedProcessR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetSelectedProcessR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSerialNumberR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSerialNumberR.datasource new file mode 100644 index 0000000..29d8cd2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSerialNumberR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetSerialNumberR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetServoParR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetServoParR.datasource new file mode 100644 index 0000000..1c2d6e5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetServoParR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetServoParR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSysTickR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSysTickR.datasource new file mode 100644 index 0000000..2dc11e9 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetSysTickR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetSysTickR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetToolNamesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetToolNamesR.datasource new file mode 100644 index 0000000..f6fd446 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetToolNamesR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetToolNamesR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetToolTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetToolTabRecordIIR.datasource new file mode 100644 index 0000000..107e829 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetToolTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetToolTabRecordIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetUserTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetUserTabRecordIIR.datasource new file mode 100644 index 0000000..e9c7c0b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetUserTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetUserTabRecordIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetVarJOGR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetVarJOGR.datasource new file mode 100644 index 0000000..e2f0376 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetVarJOGR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetVarJOGR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetVarRCMR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetVarRCMR.datasource new file mode 100644 index 0000000..7548dad --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.GetVarRCMR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.GetVarRCMR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.HoldR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.HoldR.datasource new file mode 100644 index 0000000..c650101 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.HoldR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.HoldR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LoadPTechR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LoadPTechR.datasource new file mode 100644 index 0000000..c9398e8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LoadPTechR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LoadPTechR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LockTableIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LockTableIIR.datasource new file mode 100644 index 0000000..ac762b6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LockTableIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LockTableIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSAddDriveR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSAddDriveR.datasource new file mode 100644 index 0000000..f85045c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSAddDriveR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSAddDriveR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSChangeFileAttribR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSChangeFileAttribR.datasource new file mode 100644 index 0000000..5f5c102 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSChangeFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSChangeFileAttribR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCloseFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCloseFileR.datasource new file mode 100644 index 0000000..6a59616 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCloseFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSCloseFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCopyFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCopyFileR.datasource new file mode 100644 index 0000000..bd92531 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCopyFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSCopyFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCreateDirR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCreateDirR.datasource new file mode 100644 index 0000000..8fb87f6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCreateDirR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSCreateDirR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCreateFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCreateFileR.datasource new file mode 100644 index 0000000..fec46a8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSCreateFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSCreateFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindCloseR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindCloseR.datasource new file mode 100644 index 0000000..23ab8a4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindCloseR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSFindCloseR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindFirstR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindFirstR.datasource new file mode 100644 index 0000000..a41884b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindFirstR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSFindFirstR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindNextR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindNextR.datasource new file mode 100644 index 0000000..fdb3101 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSFindNextR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSFindNextR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetDriveListR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetDriveListR.datasource new file mode 100644 index 0000000..9b7b67e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetDriveListR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSGetDriveListR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetDrivePathR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetDrivePathR.datasource new file mode 100644 index 0000000..4bbe87c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetDrivePathR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSGetDrivePathR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetFileAttribR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetFileAttribR.datasource new file mode 100644 index 0000000..1cf60e0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSGetFileAttribR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetFileSizeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetFileSizeR.datasource new file mode 100644 index 0000000..3723424 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetFileSizeR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSGetFileSizeR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetHiddenDriveListR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetHiddenDriveListR.datasource new file mode 100644 index 0000000..719673f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetHiddenDriveListR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSGetHiddenDriveListR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetInfoR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetInfoR.datasource new file mode 100644 index 0000000..f57e1ad --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetInfoR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSGetInfoR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetNumDriveR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetNumDriveR.datasource new file mode 100644 index 0000000..a137dbc --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetNumDriveR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSGetNumDriveR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetSecurityLevelR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetSecurityLevelR.datasource new file mode 100644 index 0000000..47cd435 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSGetSecurityLevelR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSGetSecurityLevelR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSLongFileNamesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSLongFileNamesR.datasource new file mode 100644 index 0000000..f79a2a6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSLongFileNamesR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSLongFileNamesR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSOpenFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSOpenFileR.datasource new file mode 100644 index 0000000..80b5c7e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSOpenFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSOpenFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSReadRecordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSReadRecordR.datasource new file mode 100644 index 0000000..0762756 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSReadRecordR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSReadRecordR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSReloadDriveListR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSReloadDriveListR.datasource new file mode 100644 index 0000000..d3fa136 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSReloadDriveListR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSReloadDriveListR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveDirR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveDirR.datasource new file mode 100644 index 0000000..c143a64 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveDirR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSRemoveDirR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveDriveR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveDriveR.datasource new file mode 100644 index 0000000..f180267 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveDriveR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSRemoveDriveR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveFileR.datasource new file mode 100644 index 0000000..80900e5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRemoveFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSRemoveFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRenameR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRenameR.datasource new file mode 100644 index 0000000..c84ced3 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSRenameR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSRenameR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSSetFileAttribR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSSetFileAttribR.datasource new file mode 100644 index 0000000..bf67c9b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSSetFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSSetFileAttribR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSSetSecurityLevelR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSSetSecurityLevelR.datasource new file mode 100644 index 0000000..7b31e87 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSSetSecurityLevelR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSSetSecurityLevelR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSWriteRecordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSWriteRecordR.datasource new file mode 100644 index 0000000..4918b52 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.LogFSWriteRecordR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.LogFSWriteRecordR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ManagePartProgramR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ManagePartProgramR.datasource new file mode 100644 index 0000000..13cc907 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ManagePartProgramR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ManagePartProgramR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonAddVariableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonAddVariableR.datasource new file mode 100644 index 0000000..e8644ff --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonAddVariableR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.MonAddVariableR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonCloseChannelR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonCloseChannelR.datasource new file mode 100644 index 0000000..f628a58 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonCloseChannelR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.MonCloseChannelR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonDeleteVariableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonDeleteVariableR.datasource new file mode 100644 index 0000000..887bd94 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonDeleteVariableR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.MonDeleteVariableR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonGetVariableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonGetVariableR.datasource new file mode 100644 index 0000000..5775b9c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonGetVariableR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.MonGetVariableR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonOpenChannelR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonOpenChannelR.datasource new file mode 100644 index 0000000..7856278 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonOpenChannelR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.MonOpenChannelR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonStartSamplingR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonStartSamplingR.datasource new file mode 100644 index 0000000..602e916 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonStartSamplingR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.MonStartSamplingR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonStopSamplingR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonStopSamplingR.datasource new file mode 100644 index 0000000..08dac7a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.MonStopSamplingR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.MonStopSamplingR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.PutBinaryFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.PutBinaryFileR.datasource new file mode 100644 index 0000000..71763e3 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.PutBinaryFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.PutBinaryFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.PutFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.PutFileR.datasource new file mode 100644 index 0000000..cee97aa --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.PutFileR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.PutFileR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentAnomalyMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentAnomalyMsgR.datasource new file mode 100644 index 0000000..c8b6044 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentAnomalyMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadCurrentAnomalyMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentEmergMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentEmergMsgR.datasource new file mode 100644 index 0000000..7159959 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentEmergMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadCurrentEmergMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentErrorMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentErrorMsgR.datasource new file mode 100644 index 0000000..5947e47 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadCurrentErrorMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadCurrentErrorMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadErrMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadErrMsgR.datasource new file mode 100644 index 0000000..f53f595 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadErrMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadErrMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryAnomalyMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryAnomalyMsgR.datasource new file mode 100644 index 0000000..3e93edf --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryAnomalyMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadHistoryAnomalyMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryEmergMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryEmergMsgR.datasource new file mode 100644 index 0000000..aa3747c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryEmergMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadHistoryEmergMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryErrorMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryErrorMsgR.datasource new file mode 100644 index 0000000..65e0ae3 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryErrorMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadHistoryErrorMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryLogMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryLogMsgR.datasource new file mode 100644 index 0000000..06e105b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadHistoryLogMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadHistoryLogMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadPartProgramMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadPartProgramMsgR.datasource new file mode 100644 index 0000000..3a54ebf --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadPartProgramMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadPartProgramMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadRemapDefinitionsR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadRemapDefinitionsR.datasource new file mode 100644 index 0000000..614dbb0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadRemapDefinitionsR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadRemapDefinitionsR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarDoubleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarDoubleR.datasource new file mode 100644 index 0000000..529f88c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadVarDoubleR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarTextR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarTextR.datasource new file mode 100644 index 0000000..0c744d3 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarTextR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadVarTextR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarWordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarWordR.datasource new file mode 100644 index 0000000..4c7e22e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadVarWordR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadVarWordR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadWarningMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadWarningMsgR.datasource new file mode 100644 index 0000000..eb1ceac --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ReadWarningMsgR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ReadWarningMsgR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ResetR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ResetR.datasource new file mode 100644 index 0000000..c391268 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ResetR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ResetR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ResetSingleTableIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ResetSingleTableIIR.datasource new file mode 100644 index 0000000..8a5984c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.ResetSingleTableIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.ResetSingleTableIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.RestoreBackupMemoryR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.RestoreBackupMemoryR.datasource new file mode 100644 index 0000000..4638282 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.RestoreBackupMemoryR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.RestoreBackupMemoryR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.RestoreSingleTableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.RestoreSingleTableR.datasource new file mode 100644 index 0000000..2cbbe4d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.RestoreSingleTableR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.RestoreSingleTableR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveBackupMemoryR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveBackupMemoryR.datasource new file mode 100644 index 0000000..3ab4634 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveBackupMemoryR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SaveBackupMemoryR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveSingleTableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveSingleTableR.datasource new file mode 100644 index 0000000..791ca11 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveSingleTableR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SaveSingleTableR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveTablesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveTablesR.datasource new file mode 100644 index 0000000..e902d0a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SaveTablesR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SaveTablesR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectPartProgramFromDriveR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectPartProgramFromDriveR.datasource new file mode 100644 index 0000000..fafebd0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectPartProgramFromDriveR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SelectPartProgramFromDriveR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectPartProgramR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectPartProgramR.datasource new file mode 100644 index 0000000..ea289a4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectPartProgramR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SelectPartProgramR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectProcAxisR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectProcAxisR.datasource new file mode 100644 index 0000000..1bb9dc5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectProcAxisR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SelectProcAxisR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectProcessR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectProcessR.datasource new file mode 100644 index 0000000..37be233 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SelectProcessR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SelectProcessR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetDateTimeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetDateTimeR.datasource new file mode 100644 index 0000000..492f070 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetDateTimeR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetDateTimeR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedManOverR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedManOverR.datasource new file mode 100644 index 0000000..063e4e6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedManOverR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetFeedManOverR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedRapidOverR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedRapidOverR.datasource new file mode 100644 index 0000000..bb6fadb --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedRapidOverR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetFeedRapidOverR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedRateOverR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedRateOverR.datasource new file mode 100644 index 0000000..74d318b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetFeedRateOverR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetFeedRateOverR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetIpAddressR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetIpAddressR.datasource new file mode 100644 index 0000000..5083b20 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetIpAddressR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetIpAddressR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetManMovDirectionR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetManMovDirectionR.datasource new file mode 100644 index 0000000..22b2855 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetManMovDirectionR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetManMovDirectionR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetMdiStringR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetMdiStringR.datasource new file mode 100644 index 0000000..809f865 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetMdiStringR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetMdiStringR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetOffsetTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetOffsetTabRecordIIR.datasource new file mode 100644 index 0000000..4155f2a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetOffsetTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetOffsetTabRecordIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetOriginTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetOriginTabRecordIIR.datasource new file mode 100644 index 0000000..9d6c6ff --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetOriginTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetOriginTabRecordIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcVarDoubleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcVarDoubleR.datasource new file mode 100644 index 0000000..5aa975a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetProcVarDoubleR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcVarWordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcVarWordR.datasource new file mode 100644 index 0000000..420a7be --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcVarWordR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetProcVarWordR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcessModeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcessModeR.datasource new file mode 100644 index 0000000..587d2b5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetProcessModeR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetProcessModeR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetServoParR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetServoParR.datasource new file mode 100644 index 0000000..d723812 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetServoParR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetServoParR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetSpeedRateOverR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetSpeedRateOverR.datasource new file mode 100644 index 0000000..4e5c0a5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetSpeedRateOverR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetSpeedRateOverR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetToolTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetToolTabRecordIIR.datasource new file mode 100644 index 0000000..661f8d5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetToolTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetToolTabRecordIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetUserTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetUserTabRecordIIR.datasource new file mode 100644 index 0000000..96bdc53 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetUserTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetUserTabRecordIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarJOGR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarJOGR.datasource new file mode 100644 index 0000000..694c86d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarJOGR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetVarJOGR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarRCMR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarRCMR.datasource new file mode 100644 index 0000000..993db33 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarRCMR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetVarRCMR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarUASR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarUASR.datasource new file mode 100644 index 0000000..d3292cf --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SetVarUASR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SetVarUASR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SkipPProgBlockR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SkipPProgBlockR.datasource new file mode 100644 index 0000000..54cd59f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SkipPProgBlockR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SkipPProgBlockR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SndProcInpDataR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SndProcInpDataR.datasource new file mode 100644 index 0000000..d9a2cf3 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SndProcInpDataR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SndProcInpDataR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SyncroCycleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SyncroCycleR.datasource new file mode 100644 index 0000000..c0973cd --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.SyncroCycleR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.SyncroCycleR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.UnLockTableIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.UnLockTableIIR.datasource new file mode 100644 index 0000000..54a9cc6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.UnLockTableIIR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.UnLockTableIIR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteRemapDefinitionsR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteRemapDefinitionsR.datasource new file mode 100644 index 0000000..237b4e8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteRemapDefinitionsR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.WriteRemapDefinitionsR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarDoubleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarDoubleR.datasource new file mode 100644 index 0000000..01feb70 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.WriteVarDoubleR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarTextR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarTextR.datasource new file mode 100644 index 0000000..d983b65 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarTextR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.WriteVarTextR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarWordBitR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarWordBitR.datasource new file mode 100644 index 0000000..0dbbb10 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarWordBitR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.WriteVarWordBitR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarWordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarWordR.datasource new file mode 100644 index 0000000..e6f91c4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/CVCncLib.OpenControl.WriteVarWordR.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.OpenControl.WriteVarWordR, Service References.OpenControl.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/OPENcontrol.wsdl b/EgwProxy.OsaiCncLib/Service References/OpenControl/OPENcontrol.wsdl new file mode 100644 index 0000000..478497a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/OPENcontrol.wsdl @@ -0,0 +1,5895 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service definition of function ns__BootPhaseEnquiry + + + + + Service definition of function ns__BootReboot + + + + + Service definition of function ns__BootShutDown + + + + + Service definition of function ns__BootMode + + + + + Service definition of function ns__GetHWKey + + + + + Service definition of function ns__ReadVarWord + + + + + Service definition of function ns__ReadVarDouble + + + + + Service definition of function ns__WriteVarWord + + + + + Service definition of function ns__WriteVarWordBit + + + + + Service definition of function ns__WriteVarDouble + + + + + Service definition of function ns__ReadVarText + + + + + Service definition of function ns__WriteVarText + + + + + Service definition of function ns__ReadWarningMsg + + + + + Service definition of function ns__ResetSingleTableII + + + + + Service definition of function ns__LockTableII + + + + + Service definition of function ns__UnLockTableII + + + + + Service definition of function ns__GetOriginTabRecordII + + + + + Service definition of function ns__SetOriginTabRecordII + + + + + Service definition of function ns__GetToolTabRecordII + + + + + Service definition of function ns__SetToolTabRecordII + + + + + Service definition of function ns__GetOffsetTabRecordII + + + + + Service definition of function ns__SetOffsetTabRecordII + + + + + Service definition of function ns__GetUserTabRecordII + + + + + Service definition of function ns__SetUserTabRecordII + + + + + Service definition of function ns__SaveTables + + + + + Service definition of function ns__RestoreSingleTable + + + + + Service definition of function ns__SaveSingleTable + + + + + Service definition of function ns__SaveBackupMemory + + + + + Service definition of function ns__RestoreBackupMemory + + + + + Service definition of function ns__Cycle + + + + + Service definition of function ns__SyncroCycle + + + + + Service definition of function ns__Reset + + + + + Service definition of function ns__Hold + + + + + Service definition of function ns__SetFeedManOver + + + + + Service definition of function ns__SetFeedRateOver + + + + + Service definition of function ns__SetFeedRapidOver + + + + + Service definition of function ns__SetSpeedRateOver + + + + + Service definition of function ns__SetManMovDirection + + + + + Service definition of function ns__GetVarJOG + + + + + Service definition of function ns__SetVarJOG + + + + + Service definition of function ns__SetVarUAS + + + + + Service definition of function ns__GetVarRCM + + + + + Service definition of function ns__SetVarRCM + + + + + Service definition of function ns__GetProcVarWord + + + + + Service definition of function ns__SetProcVarWord + + + + + Service definition of function ns__GetProcVarDouble + + + + + Service definition of function ns__SetProcVarDouble + + + + + Service definition of function ns__SetMdiString + + + + + Service definition of function ns__SetProcessMode + + + + + Service definition of function ns__SelectProcess + + + + + Service definition of function ns__GetSelectedProcess + + + + + Service definition of function ns__SelectProcAxis + + + + + Service definition of function ns__SelectPartProgram + + + + + Service definition of function ns__SelectPartProgramFromDrive + + + + + Service definition of function ns__GetActivePartProgram + + + + + Service definition of function ns__GetPartProgramLines + + + + + Service definition of function ns__GetAxOriginNum + + + + + Service definition of function ns__GetAxesPosition + + + + + Service definition of function ns__GetNcInfo1 + + + + + Service definition of function ns__GetNcInfo2 + + + + + Service definition of function ns__GetToolNames + + + + + Service definition of function ns__GetProcessStatus + + + + + Service definition of function ns__GetBlkNum + + + + + Service definition of function ns__ReadErrMsg + + + + + Service definition of function ns__ReadPartProgramMsg + + + + + Service definition of function ns__GetGCode + + + + + Service definition of function ns__GetMCode + + + + + Service definition of function ns__SkipPProgBlock + + + + + Service definition of function ns__Ese + + + + + Service definition of function ns__EseEx + + + + + Service definition of function ns__Exe + + + + + Service definition of function ns__AxesRef + + + + + Service definition of function ns__DncInit + + + + + Service definition of function ns__DncData + + + + + Service definition of function ns__DncEof + + + + + Service definition of function ns__DncStop + + + + + Service definition of function ns__GetAxesInfo3 + + + + + Service definition of function ns__GetCodeNumber + + + + + Service definition of function ns__GetOptions + + + + + Service definition of function ns__GetDateTime + + + + + Service definition of function ns__SetDateTime + + + + + Service definition of function ns__GetSerialNumber + + + + + Service definition of function ns__PutFile + + + + + Service definition of function ns__GetFile + + + + + Service definition of function ns__PutBinaryFile + + + + + Service definition of function ns__GetBinaryFile + + + + + Service definition of function ns__LogFSSetSecurityLevel + + + + + Service definition of function ns__LogFSGetSecurityLevel + + + + + Service definition of function ns__LogFSLongFileNames + + + + + Service definition of function ns__LogFSGetNumDrive + + + + + Service definition of function ns__LogFSGetDriveList + + + + + Service definition of function ns__LogFSGetHiddenDriveList + + + + + Service definition of function ns__LogFSGetDrivePath + + + + + Service definition of function ns__LogFSAddDrive + + + + + Service definition of function ns__LogFSRemoveDrive + + + + + Service definition of function ns__LogFSReloadDriveList + + + + + Service definition of function ns__LogFSCreateDir + + + + + Service definition of function ns__LogFSCreateFile + + + + + Service definition of function ns__LogFSGetFileSize + + + + + Service definition of function ns__LogFSGetFileAttrib + + + + + Service definition of function ns__LogFSSetFileAttrib + + + + + Service definition of function ns__LogFSChangeFileAttrib + + + + + Service definition of function ns__LogFSFindFirst + + + + + Service definition of function ns__LogFSFindNext + + + + + Service definition of function ns__LogFSFindClose + + + + + Service definition of function ns__LogFSRemoveFile + + + + + Service definition of function ns__LogFSRemoveDir + + + + + Service definition of function ns__LogFSRename + + + + + Service definition of function ns__LogFSCopyFile + + + + + Service definition of function ns__LogFSGetInfo + + + + + Service definition of function ns__GetAvailableCustomEvents + + + + + Service definition of function ns__GetSysTick + + + + + Service definition of function ns__GetProcessConfNum + + + + + Service definition of function ns__MonOpenChannel + + + + + Service definition of function ns__MonCloseChannel + + + + + Service definition of function ns__MonAddVariable + + + + + Service definition of function ns__MonDeleteVariable + + + + + Service definition of function ns__MonStartSampling + + + + + Service definition of function ns__MonStopSampling + + + + + Service definition of function ns__MonGetVariable + + + + + Service definition of function ns__CheckHistory + + + + + Service definition of function ns__ReadHistoryEmergMsg + + + + + Service definition of function ns__ReadHistoryErrorMsg + + + + + Service definition of function ns__ReadHistoryLogMsg + + + + + Service definition of function ns__ReadHistoryAnomalyMsg + + + + + Service definition of function ns__ReadCurrentErrorMsg + + + + + Service definition of function ns__ReadCurrentEmergMsg + + + + + Service definition of function ns__ReadCurrentAnomalyMsg + + + + + Service definition of function ns__GetPTechSizes + + + + + Service definition of function ns__LoadPTech + + + + + Service definition of function ns__GetMarkerInfo + + + + + Service definition of function ns__ManagePartProgram + + + + + Service definition of function ns__LogFSOpenFile + + + + + Service definition of function ns__LogFSCloseFile + + + + + Service definition of function ns__LogFSWriteRecord + + + + + Service definition of function ns__LogFSReadRecord + + + + + Service definition of function ns__ReadRemapDefinitions + + + + + Service definition of function ns__WriteRemapDefinitions + + + + + Service definition of function ns__GetServoPar + + + + + Service definition of function ns__SetServoPar + + + + + Service definition of function ns__GetCNCRegKey + + + + + Service definition of function ns__SetIpAddress + + + + + Service definition of function ns__GetProcInInput + + + + + Service definition of function ns__SndProcInpData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPENcontrol Web Services Definition + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/Reference.svcmap b/EgwProxy.OsaiCncLib/Service References/OpenControl/Reference.svcmap new file mode 100644 index 0000000..7320447 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/Reference.svcmap @@ -0,0 +1,30 @@ + + + + false + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/Reference.vb b/EgwProxy.OsaiCncLib/Service References/OpenControl/Reference.vb new file mode 100644 index 0000000..6d6c43d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/Reference.vb @@ -0,0 +1,29126 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace OpenControl + + _ + Public Interface OPENcontrolPortType + + 'CODEGEN: Generating message contract since the operation BootPhaseEnquiry is neither RPC nor document wrapped. + _ + Function BootPhaseEnquiry(ByVal request As OpenControl.BootPhaseEnquiryRequest) As OpenControl.BootPhaseEnquiryResponse + + 'CODEGEN: Generating message contract since the operation BootReboot is neither RPC nor document wrapped. + _ + Function BootReboot(ByVal request As OpenControl.BootRebootRequest) As OpenControl.BootRebootResponse + + 'CODEGEN: Generating message contract since the operation BootShutDown is neither RPC nor document wrapped. + _ + Function BootShutDown(ByVal request As OpenControl.BootShutDownRequest) As OpenControl.BootShutDownResponse + + 'CODEGEN: Generating message contract since the operation BootMode is neither RPC nor document wrapped. + _ + Function BootMode(ByVal request As OpenControl.BootModeRequest) As OpenControl.BootModeResponse + + 'CODEGEN: Generating message contract since the operation GetHWKey is neither RPC nor document wrapped. + _ + Function GetHWKey(ByVal request As OpenControl.GetHWKeyRequest) As OpenControl.GetHWKeyResponse + + 'CODEGEN: Generating message contract since the operation ReadVarWord is neither RPC nor document wrapped. + _ + Function ReadVarWord(ByVal request As OpenControl.ReadVarWordRequest) As OpenControl.ReadVarWordResponse + + 'CODEGEN: Generating message contract since the operation ReadVarDouble is neither RPC nor document wrapped. + _ + Function ReadVarDouble(ByVal request As OpenControl.ReadVarDoubleRequest) As OpenControl.ReadVarDoubleResponse + + 'CODEGEN: Generating message contract since the operation WriteVarWord is neither RPC nor document wrapped. + _ + Function WriteVarWord(ByVal request As OpenControl.WriteVarWordRequest) As OpenControl.WriteVarWordResponse + + 'CODEGEN: Generating message contract since the operation WriteVarWordBit is neither RPC nor document wrapped. + _ + Function WriteVarWordBit(ByVal request As OpenControl.WriteVarWordBitRequest) As OpenControl.WriteVarWordBitResponse + + 'CODEGEN: Generating message contract since the operation WriteVarDouble is neither RPC nor document wrapped. + _ + Function WriteVarDouble(ByVal request As OpenControl.WriteVarDoubleRequest) As OpenControl.WriteVarDoubleResponse + + 'CODEGEN: Generating message contract since the operation ReadVarText is neither RPC nor document wrapped. + _ + Function ReadVarText(ByVal request As OpenControl.ReadVarTextRequest) As OpenControl.ReadVarTextResponse + + 'CODEGEN: Generating message contract since the operation WriteVarText is neither RPC nor document wrapped. + _ + Function WriteVarText(ByVal request As OpenControl.WriteVarTextRequest) As OpenControl.WriteVarTextResponse + + 'CODEGEN: Generating message contract since the operation ReadWarningMsg is neither RPC nor document wrapped. + _ + Function ReadWarningMsg(ByVal request As OpenControl.ReadWarningMsgRequest) As OpenControl.ReadWarningMsgResponse + + 'CODEGEN: Generating message contract since the operation ResetSingleTableII is neither RPC nor document wrapped. + _ + Function ResetSingleTableII(ByVal request As OpenControl.ResetSingleTableIIRequest) As OpenControl.ResetSingleTableIIResponse + + 'CODEGEN: Generating message contract since the operation LockTableII is neither RPC nor document wrapped. + _ + Function LockTableII(ByVal request As OpenControl.LockTableIIRequest) As OpenControl.LockTableIIResponse + + 'CODEGEN: Generating message contract since the operation UnLockTableII is neither RPC nor document wrapped. + _ + Function UnLockTableII(ByVal request As OpenControl.UnLockTableIIRequest) As OpenControl.UnLockTableIIResponse + + 'CODEGEN: Generating message contract since the operation GetOriginTabRecordII is neither RPC nor document wrapped. + _ + Function GetOriginTabRecordII(ByVal request As OpenControl.GetOriginTabRecordIIRequest) As OpenControl.GetOriginTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SetOriginTabRecordII is neither RPC nor document wrapped. + _ + Function SetOriginTabRecordII(ByVal request As OpenControl.SetOriginTabRecordIIRequest) As OpenControl.SetOriginTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation GetToolTabRecordII is neither RPC nor document wrapped. + _ + Function GetToolTabRecordII(ByVal request As OpenControl.GetToolTabRecordIIRequest) As OpenControl.GetToolTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SetToolTabRecordII is neither RPC nor document wrapped. + _ + Function SetToolTabRecordII(ByVal request As OpenControl.SetToolTabRecordIIRequest) As OpenControl.SetToolTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation GetOffsetTabRecordII is neither RPC nor document wrapped. + _ + Function GetOffsetTabRecordII(ByVal request As OpenControl.GetOffsetTabRecordIIRequest) As OpenControl.GetOffsetTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SetOffsetTabRecordII is neither RPC nor document wrapped. + _ + Function SetOffsetTabRecordII(ByVal request As OpenControl.SetOffsetTabRecordIIRequest) As OpenControl.SetOffsetTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation GetUserTabRecordII is neither RPC nor document wrapped. + _ + Function GetUserTabRecordII(ByVal request As OpenControl.GetUserTabRecordIIRequest) As OpenControl.GetUserTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SetUserTabRecordII is neither RPC nor document wrapped. + _ + Function SetUserTabRecordII(ByVal request As OpenControl.SetUserTabRecordIIRequest) As OpenControl.SetUserTabRecordIIResponse + + 'CODEGEN: Generating message contract since the operation SaveTables is neither RPC nor document wrapped. + _ + Function SaveTables(ByVal request As OpenControl.SaveTablesRequest) As OpenControl.SaveTablesResponse + + 'CODEGEN: Generating message contract since the operation RestoreSingleTable is neither RPC nor document wrapped. + _ + Function RestoreSingleTable(ByVal request As OpenControl.RestoreSingleTableRequest) As OpenControl.RestoreSingleTableResponse + + 'CODEGEN: Generating message contract since the operation SaveSingleTable is neither RPC nor document wrapped. + _ + Function SaveSingleTable(ByVal request As OpenControl.SaveSingleTableRequest) As OpenControl.SaveSingleTableResponse + + 'CODEGEN: Generating message contract since the operation SaveBackupMemory is neither RPC nor document wrapped. + _ + Function SaveBackupMemory(ByVal request As OpenControl.SaveBackupMemoryRequest) As OpenControl.SaveBackupMemoryResponse + + 'CODEGEN: Generating message contract since the operation RestoreBackupMemory is neither RPC nor document wrapped. + _ + Function RestoreBackupMemory(ByVal request As OpenControl.RestoreBackupMemoryRequest) As OpenControl.RestoreBackupMemoryResponse + + 'CODEGEN: Generating message contract since the operation Cycle is neither RPC nor document wrapped. + _ + Function Cycle(ByVal request As OpenControl.CycleRequest) As OpenControl.CycleResponse + + 'CODEGEN: Generating message contract since the operation SyncroCycle is neither RPC nor document wrapped. + _ + Function SyncroCycle(ByVal request As OpenControl.SyncroCycleRequest) As OpenControl.SyncroCycleResponse + + 'CODEGEN: Generating message contract since the operation Reset is neither RPC nor document wrapped. + _ + Function Reset(ByVal request As OpenControl.ResetRequest) As OpenControl.ResetResponse + + 'CODEGEN: Generating message contract since the operation Hold is neither RPC nor document wrapped. + _ + Function Hold(ByVal request As OpenControl.HoldRequest) As OpenControl.HoldResponse + + 'CODEGEN: Generating message contract since the operation SetFeedManOver is neither RPC nor document wrapped. + _ + Function SetFeedManOver(ByVal request As OpenControl.SetFeedManOverRequest) As OpenControl.SetFeedManOverResponse + + 'CODEGEN: Generating message contract since the operation SetFeedRateOver is neither RPC nor document wrapped. + _ + Function SetFeedRateOver(ByVal request As OpenControl.SetFeedRateOverRequest) As OpenControl.SetFeedRateOverResponse + + 'CODEGEN: Generating message contract since the operation SetFeedRapidOver is neither RPC nor document wrapped. + _ + Function SetFeedRapidOver(ByVal request As OpenControl.SetFeedRapidOverRequest) As OpenControl.SetFeedRapidOverResponse + + 'CODEGEN: Generating message contract since the operation SetSpeedRateOver is neither RPC nor document wrapped. + _ + Function SetSpeedRateOver(ByVal request As OpenControl.SetSpeedRateOverRequest) As OpenControl.SetSpeedRateOverResponse + + 'CODEGEN: Generating message contract since the operation SetManMovDirection is neither RPC nor document wrapped. + _ + Function SetManMovDirection(ByVal request As OpenControl.SetManMovDirectionRequest) As OpenControl.SetManMovDirectionResponse + + 'CODEGEN: Generating message contract since the operation GetVarJOG is neither RPC nor document wrapped. + _ + Function GetVarJOG(ByVal request As OpenControl.GetVarJOGRequest) As OpenControl.GetVarJOGResponse + + 'CODEGEN: Generating message contract since the operation SetVarJOG is neither RPC nor document wrapped. + _ + Function SetVarJOG(ByVal request As OpenControl.SetVarJOGRequest) As OpenControl.SetVarJOGResponse + + 'CODEGEN: Generating message contract since the operation SetVarUAS is neither RPC nor document wrapped. + _ + Function SetVarUAS(ByVal request As OpenControl.SetVarUASRequest) As OpenControl.SetVarUASResponse + + 'CODEGEN: Generating message contract since the operation GetVarRCM is neither RPC nor document wrapped. + _ + Function GetVarRCM(ByVal request As OpenControl.GetVarRCMRequest) As OpenControl.GetVarRCMResponse + + 'CODEGEN: Generating message contract since the operation SetVarRCM is neither RPC nor document wrapped. + _ + Function SetVarRCM(ByVal request As OpenControl.SetVarRCMRequest) As OpenControl.SetVarRCMResponse + + 'CODEGEN: Generating message contract since the operation GetProcVarWord is neither RPC nor document wrapped. + _ + Function GetProcVarWord(ByVal request As OpenControl.GetProcVarWordRequest) As OpenControl.GetProcVarWordResponse + + 'CODEGEN: Generating message contract since the operation SetProcVarWord is neither RPC nor document wrapped. + _ + Function SetProcVarWord(ByVal request As OpenControl.SetProcVarWordRequest) As OpenControl.SetProcVarWordResponse + + 'CODEGEN: Generating message contract since the operation GetProcVarDouble is neither RPC nor document wrapped. + _ + Function GetProcVarDouble(ByVal request As OpenControl.GetProcVarDoubleRequest) As OpenControl.GetProcVarDoubleResponse + + 'CODEGEN: Generating message contract since the operation SetProcVarDouble is neither RPC nor document wrapped. + _ + Function SetProcVarDouble(ByVal request As OpenControl.SetProcVarDoubleRequest) As OpenControl.SetProcVarDoubleResponse + + 'CODEGEN: Generating message contract since the operation SetMdiString is neither RPC nor document wrapped. + _ + Function SetMdiString(ByVal request As OpenControl.SetMdiStringRequest) As OpenControl.SetMdiStringResponse + + 'CODEGEN: Generating message contract since the operation SetProcessMode is neither RPC nor document wrapped. + _ + Function SetProcessMode(ByVal request As OpenControl.SetProcessModeRequest) As OpenControl.SetProcessModeResponse + + 'CODEGEN: Generating message contract since the operation SelectProcess is neither RPC nor document wrapped. + _ + Function SelectProcess(ByVal request As OpenControl.SelectProcessRequest) As OpenControl.SelectProcessResponse + + 'CODEGEN: Generating message contract since the operation GetSelectedProcess is neither RPC nor document wrapped. + _ + Function GetSelectedProcess(ByVal request As OpenControl.GetSelectedProcessRequest) As OpenControl.GetSelectedProcessResponse + + 'CODEGEN: Generating message contract since the operation SelectProcAxis is neither RPC nor document wrapped. + _ + Function SelectProcAxis(ByVal request As OpenControl.SelectProcAxisRequest) As OpenControl.SelectProcAxisResponse + + 'CODEGEN: Generating message contract since the operation SelectPartProgram is neither RPC nor document wrapped. + _ + Function SelectPartProgram(ByVal request As OpenControl.SelectPartProgramRequest) As OpenControl.SelectPartProgramResponse + + 'CODEGEN: Generating message contract since the operation SelectPartProgramFromDrive is neither RPC nor document wrapped. + _ + Function SelectPartProgramFromDrive(ByVal request As OpenControl.SelectPartProgramFromDriveRequest) As OpenControl.SelectPartProgramFromDriveResponse + + 'CODEGEN: Generating message contract since the operation GetActivePartProgram is neither RPC nor document wrapped. + _ + Function GetActivePartProgram(ByVal request As OpenControl.GetActivePartProgramRequest) As OpenControl.GetActivePartProgramResponse + + 'CODEGEN: Generating message contract since the operation GetPartProgramLines is neither RPC nor document wrapped. + _ + Function GetPartProgramLines(ByVal request As OpenControl.GetPartProgramLinesRequest) As OpenControl.GetPartProgramLinesResponse + + 'CODEGEN: Generating message contract since the operation GetAxOriginNum is neither RPC nor document wrapped. + _ + Function GetAxOriginNum(ByVal request As OpenControl.GetAxOriginNumRequest) As OpenControl.GetAxOriginNumResponse + + 'CODEGEN: Generating message contract since the operation GetAxesPosition is neither RPC nor document wrapped. + _ + Function GetAxesPosition(ByVal request As OpenControl.GetAxesPositionRequest) As OpenControl.GetAxesPositionResponse + + 'CODEGEN: Generating message contract since the operation GetNcInfo1 is neither RPC nor document wrapped. + _ + Function GetNcInfo1(ByVal request As OpenControl.GetNcInfo1Request) As OpenControl.GetNcInfo1Response + + 'CODEGEN: Generating message contract since the operation GetNcInfo2 is neither RPC nor document wrapped. + _ + Function GetNcInfo2(ByVal request As OpenControl.GetNcInfo2Request) As OpenControl.GetNcInfo2Response + + 'CODEGEN: Generating message contract since the operation GetToolNames is neither RPC nor document wrapped. + _ + Function GetToolNames(ByVal request As OpenControl.GetToolNamesRequest) As OpenControl.GetToolNamesResponse + + 'CODEGEN: Generating message contract since the operation GetProcessStatus is neither RPC nor document wrapped. + _ + Function GetProcessStatus(ByVal request As OpenControl.GetProcessStatusRequest) As OpenControl.GetProcessStatusResponse + + 'CODEGEN: Generating message contract since the operation GetBlkNum is neither RPC nor document wrapped. + _ + Function GetBlkNum(ByVal request As OpenControl.GetBlkNumRequest) As OpenControl.GetBlkNumResponse + + 'CODEGEN: Generating message contract since the operation ReadErrMsg is neither RPC nor document wrapped. + _ + Function ReadErrMsg(ByVal request As OpenControl.ReadErrMsgRequest) As OpenControl.ReadErrMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadPartProgramMsg is neither RPC nor document wrapped. + _ + Function ReadPartProgramMsg(ByVal request As OpenControl.ReadPartProgramMsgRequest) As OpenControl.ReadPartProgramMsgResponse + + 'CODEGEN: Generating message contract since the operation GetGCode is neither RPC nor document wrapped. + _ + Function GetGCode(ByVal request As OpenControl.GetGCodeRequest) As OpenControl.GetGCodeResponse + + 'CODEGEN: Generating message contract since the operation GetMCode is neither RPC nor document wrapped. + _ + Function GetMCode(ByVal request As OpenControl.GetMCodeRequest) As OpenControl.GetMCodeResponse + + 'CODEGEN: Generating message contract since the operation SkipPProgBlock is neither RPC nor document wrapped. + _ + Function SkipPProgBlock(ByVal request As OpenControl.SkipPProgBlockRequest) As OpenControl.SkipPProgBlockResponse + + 'CODEGEN: Generating message contract since the operation Ese is neither RPC nor document wrapped. + _ + Function Ese(ByVal request As OpenControl.EseRequest) As OpenControl.EseResponse + + 'CODEGEN: Generating message contract since the operation EseEx is neither RPC nor document wrapped. + _ + Function EseEx(ByVal request As OpenControl.EseExRequest) As OpenControl.EseExResponse + + 'CODEGEN: Generating message contract since the operation Exe is neither RPC nor document wrapped. + _ + Function Exe(ByVal request As OpenControl.ExeRequest) As OpenControl.ExeResponse + + 'CODEGEN: Generating message contract since the operation AxesRef is neither RPC nor document wrapped. + _ + Function AxesRef(ByVal request As OpenControl.AxesRefRequest) As OpenControl.AxesRefResponse + + 'CODEGEN: Generating message contract since the operation DncInit is neither RPC nor document wrapped. + _ + Function DncInit(ByVal request As OpenControl.DncInitRequest) As OpenControl.DncInitResponse + + 'CODEGEN: Generating message contract since the operation DncData is neither RPC nor document wrapped. + _ + Function DncData(ByVal request As OpenControl.DncDataRequest) As OpenControl.DncDataResponse + + 'CODEGEN: Generating message contract since the operation DncEof is neither RPC nor document wrapped. + _ + Function DncEof(ByVal request As OpenControl.DncEofRequest) As OpenControl.DncEofResponse + + 'CODEGEN: Generating message contract since the operation DncStop is neither RPC nor document wrapped. + _ + Function DncStop(ByVal request As OpenControl.DncStopRequest) As OpenControl.DncStopResponse + + 'CODEGEN: Generating message contract since the operation GetAxesInfo3 is neither RPC nor document wrapped. + _ + Function GetAxesInfo3(ByVal request As OpenControl.GetAxesInfo3Request) As OpenControl.GetAxesInfo3Response + + 'CODEGEN: Generating message contract since the operation GetCodeNumber is neither RPC nor document wrapped. + _ + Function GetCodeNumber(ByVal request As OpenControl.GetCodeNumberRequest) As OpenControl.GetCodeNumberResponse + + 'CODEGEN: Generating message contract since the operation GetOptions is neither RPC nor document wrapped. + _ + Function GetOptions(ByVal request As OpenControl.GetOptionsRequest) As OpenControl.GetOptionsResponse + + 'CODEGEN: Generating message contract since the operation GetDateTime is neither RPC nor document wrapped. + _ + Function GetDateTime(ByVal request As OpenControl.GetDateTimeRequest) As OpenControl.GetDateTimeResponse + + 'CODEGEN: Generating message contract since the operation SetDateTime is neither RPC nor document wrapped. + _ + Function SetDateTime(ByVal request As OpenControl.SetDateTimeRequest) As OpenControl.SetDateTimeResponse + + 'CODEGEN: Generating message contract since the operation GetSerialNumber is neither RPC nor document wrapped. + _ + Function GetSerialNumber(ByVal request As OpenControl.GetSerialNumberRequest) As OpenControl.GetSerialNumberResponse + + 'CODEGEN: Generating message contract since the operation PutFile is neither RPC nor document wrapped. + _ + Function PutFile(ByVal request As OpenControl.PutFileRequest) As OpenControl.PutFileResponse + + 'CODEGEN: Generating message contract since the operation GetFile is neither RPC nor document wrapped. + _ + Function GetFile(ByVal request As OpenControl.GetFileRequest) As OpenControl.GetFileResponse + + 'CODEGEN: Generating message contract since the operation PutBinaryFile is neither RPC nor document wrapped. + _ + Function PutBinaryFile(ByVal request As OpenControl.PutBinaryFileRequest) As OpenControl.PutBinaryFileResponse + + 'CODEGEN: Generating message contract since the operation GetBinaryFile is neither RPC nor document wrapped. + _ + Function GetBinaryFile(ByVal request As OpenControl.GetBinaryFileRequest) As OpenControl.GetBinaryFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSSetSecurityLevel is neither RPC nor document wrapped. + _ + Function LogFSSetSecurityLevel(ByVal request As OpenControl.LogFSSetSecurityLevelRequest) As OpenControl.LogFSSetSecurityLevelResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetSecurityLevel is neither RPC nor document wrapped. + _ + Function LogFSGetSecurityLevel(ByVal request As OpenControl.LogFSGetSecurityLevelRequest) As OpenControl.LogFSGetSecurityLevelResponse + + 'CODEGEN: Generating message contract since the operation LogFSLongFileNames is neither RPC nor document wrapped. + _ + Function LogFSLongFileNames(ByVal request As OpenControl.LogFSLongFileNamesRequest) As OpenControl.LogFSLongFileNamesResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetNumDrive is neither RPC nor document wrapped. + _ + Function LogFSGetNumDrive(ByVal request As OpenControl.LogFSGetNumDriveRequest) As OpenControl.LogFSGetNumDriveResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetDriveList is neither RPC nor document wrapped. + _ + Function LogFSGetDriveList(ByVal request As OpenControl.LogFSGetDriveListRequest) As OpenControl.LogFSGetDriveListResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetHiddenDriveList is neither RPC nor document wrapped. + _ + Function LogFSGetHiddenDriveList(ByVal request As OpenControl.LogFSGetHiddenDriveListRequest) As OpenControl.LogFSGetHiddenDriveListResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetDrivePath is neither RPC nor document wrapped. + _ + Function LogFSGetDrivePath(ByVal request As OpenControl.LogFSGetDrivePathRequest) As OpenControl.LogFSGetDrivePathResponse + + 'CODEGEN: Generating message contract since the operation LogFSAddDrive is neither RPC nor document wrapped. + _ + Function LogFSAddDrive(ByVal request As OpenControl.LogFSAddDriveRequest) As OpenControl.LogFSAddDriveResponse + + 'CODEGEN: Generating message contract since the operation LogFSRemoveDrive is neither RPC nor document wrapped. + _ + Function LogFSRemoveDrive(ByVal request As OpenControl.LogFSRemoveDriveRequest) As OpenControl.LogFSRemoveDriveResponse + + 'CODEGEN: Generating message contract since the operation LogFSReloadDriveList is neither RPC nor document wrapped. + _ + Function LogFSReloadDriveList(ByVal request As OpenControl.LogFSReloadDriveListRequest) As OpenControl.LogFSReloadDriveListResponse + + 'CODEGEN: Generating message contract since the operation LogFSCreateDir is neither RPC nor document wrapped. + _ + Function LogFSCreateDir(ByVal request As OpenControl.LogFSCreateDirRequest) As OpenControl.LogFSCreateDirResponse + + 'CODEGEN: Generating message contract since the operation LogFSCreateFile is neither RPC nor document wrapped. + _ + Function LogFSCreateFile(ByVal request As OpenControl.LogFSCreateFileRequest) As OpenControl.LogFSCreateFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetFileSize is neither RPC nor document wrapped. + _ + Function LogFSGetFileSize(ByVal request As OpenControl.LogFSGetFileSizeRequest) As OpenControl.LogFSGetFileSizeResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetFileAttrib is neither RPC nor document wrapped. + _ + Function LogFSGetFileAttrib(ByVal request As OpenControl.LogFSGetFileAttribRequest) As OpenControl.LogFSGetFileAttribResponse + + 'CODEGEN: Generating message contract since the operation LogFSSetFileAttrib is neither RPC nor document wrapped. + _ + Function LogFSSetFileAttrib(ByVal request As OpenControl.LogFSSetFileAttribRequest) As OpenControl.LogFSSetFileAttribResponse + + 'CODEGEN: Generating message contract since the operation LogFSChangeFileAttrib is neither RPC nor document wrapped. + _ + Function LogFSChangeFileAttrib(ByVal request As OpenControl.LogFSChangeFileAttribRequest) As OpenControl.LogFSChangeFileAttribResponse + + 'CODEGEN: Generating message contract since the operation LogFSFindFirst is neither RPC nor document wrapped. + _ + Function LogFSFindFirst(ByVal request As OpenControl.LogFSFindFirstRequest) As OpenControl.LogFSFindFirstResponse + + 'CODEGEN: Generating message contract since the operation LogFSFindNext is neither RPC nor document wrapped. + _ + Function LogFSFindNext(ByVal request As OpenControl.LogFSFindNextRequest) As OpenControl.LogFSFindNextResponse + + 'CODEGEN: Generating message contract since the operation LogFSFindClose is neither RPC nor document wrapped. + _ + Function LogFSFindClose(ByVal request As OpenControl.LogFSFindCloseRequest) As OpenControl.LogFSFindCloseResponse + + 'CODEGEN: Generating message contract since the operation LogFSRemoveFile is neither RPC nor document wrapped. + _ + Function LogFSRemoveFile(ByVal request As OpenControl.LogFSRemoveFileRequest) As OpenControl.LogFSRemoveFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSRemoveDir is neither RPC nor document wrapped. + _ + Function LogFSRemoveDir(ByVal request As OpenControl.LogFSRemoveDirRequest) As OpenControl.LogFSRemoveDirResponse + + 'CODEGEN: Generating message contract since the operation LogFSRename is neither RPC nor document wrapped. + _ + Function LogFSRename(ByVal request As OpenControl.LogFSRenameRequest) As OpenControl.LogFSRenameResponse + + 'CODEGEN: Generating message contract since the operation LogFSCopyFile is neither RPC nor document wrapped. + _ + Function LogFSCopyFile(ByVal request As OpenControl.LogFSCopyFileRequest) As OpenControl.LogFSCopyFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSGetInfo is neither RPC nor document wrapped. + _ + Function LogFSGetInfo(ByVal request As OpenControl.LogFSGetInfoRequest) As OpenControl.LogFSGetInfoResponse + + 'CODEGEN: Generating message contract since the operation GetAvailableCustomEvents is neither RPC nor document wrapped. + _ + Function GetAvailableCustomEvents(ByVal request As OpenControl.GetAvailableCustomEventsRequest) As OpenControl.GetAvailableCustomEventsResponse + + 'CODEGEN: Generating message contract since the operation GetSysTick is neither RPC nor document wrapped. + _ + Function GetSysTick(ByVal request As OpenControl.GetSysTickRequest) As OpenControl.GetSysTickResponse + + 'CODEGEN: Generating message contract since the operation GetProcessConfNum is neither RPC nor document wrapped. + _ + Function GetProcessConfNum(ByVal request As OpenControl.GetProcessConfNumRequest) As OpenControl.GetProcessConfNumResponse + + 'CODEGEN: Generating message contract since the operation MonOpenChannel is neither RPC nor document wrapped. + _ + Function MonOpenChannel(ByVal request As OpenControl.MonOpenChannelRequest) As OpenControl.MonOpenChannelResponse + + 'CODEGEN: Generating message contract since the operation MonCloseChannel is neither RPC nor document wrapped. + _ + Function MonCloseChannel(ByVal request As OpenControl.MonCloseChannelRequest) As OpenControl.MonCloseChannelResponse + + 'CODEGEN: Generating message contract since the operation MonAddVariable is neither RPC nor document wrapped. + _ + Function MonAddVariable(ByVal request As OpenControl.MonAddVariableRequest) As OpenControl.MonAddVariableResponse + + 'CODEGEN: Generating message contract since the operation MonDeleteVariable is neither RPC nor document wrapped. + _ + Function MonDeleteVariable(ByVal request As OpenControl.MonDeleteVariableRequest) As OpenControl.MonDeleteVariableResponse + + 'CODEGEN: Generating message contract since the operation MonStartSampling is neither RPC nor document wrapped. + _ + Function MonStartSampling(ByVal request As OpenControl.MonStartSamplingRequest) As OpenControl.MonStartSamplingResponse + + 'CODEGEN: Generating message contract since the operation MonStopSampling is neither RPC nor document wrapped. + _ + Function MonStopSampling(ByVal request As OpenControl.MonStopSamplingRequest) As OpenControl.MonStopSamplingResponse + + 'CODEGEN: Generating message contract since the operation MonGetVariable is neither RPC nor document wrapped. + _ + Function MonGetVariable(ByVal request As OpenControl.MonGetVariableRequest) As OpenControl.MonGetVariableResponse + + 'CODEGEN: Generating message contract since the operation CheckHistory is neither RPC nor document wrapped. + _ + Function CheckHistory(ByVal request As OpenControl.CheckHistoryRequest) As OpenControl.CheckHistoryResponse + + 'CODEGEN: Generating message contract since the operation ReadHistoryEmergMsg is neither RPC nor document wrapped. + _ + Function ReadHistoryEmergMsg(ByVal request As OpenControl.ReadHistoryEmergMsgRequest) As OpenControl.ReadHistoryEmergMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadHistoryErrorMsg is neither RPC nor document wrapped. + _ + Function ReadHistoryErrorMsg(ByVal request As OpenControl.ReadHistoryErrorMsgRequest) As OpenControl.ReadHistoryErrorMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadHistoryLogMsg is neither RPC nor document wrapped. + _ + Function ReadHistoryLogMsg(ByVal request As OpenControl.ReadHistoryLogMsgRequest) As OpenControl.ReadHistoryLogMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadHistoryAnomalyMsg is neither RPC nor document wrapped. + _ + Function ReadHistoryAnomalyMsg(ByVal request As OpenControl.ReadHistoryAnomalyMsgRequest) As OpenControl.ReadHistoryAnomalyMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadCurrentErrorMsg is neither RPC nor document wrapped. + _ + Function ReadCurrentErrorMsg(ByVal request As OpenControl.ReadCurrentErrorMsgRequest) As OpenControl.ReadCurrentErrorMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadCurrentEmergMsg is neither RPC nor document wrapped. + _ + Function ReadCurrentEmergMsg(ByVal request As OpenControl.ReadCurrentEmergMsgRequest) As OpenControl.ReadCurrentEmergMsgResponse + + 'CODEGEN: Generating message contract since the operation ReadCurrentAnomalyMsg is neither RPC nor document wrapped. + _ + Function ReadCurrentAnomalyMsg(ByVal request As OpenControl.ReadCurrentAnomalyMsgRequest) As OpenControl.ReadCurrentAnomalyMsgResponse + + 'CODEGEN: Generating message contract since the operation GetPTechSizes is neither RPC nor document wrapped. + _ + Function GetPTechSizes(ByVal request As OpenControl.GetPTechSizesRequest) As OpenControl.GetPTechSizesResponse + + 'CODEGEN: Generating message contract since the operation LoadPTech is neither RPC nor document wrapped. + _ + Function LoadPTech(ByVal request As OpenControl.LoadPTechRequest) As OpenControl.LoadPTechResponse + + 'CODEGEN: Generating message contract since the operation GetMarkerInfo is neither RPC nor document wrapped. + _ + Function GetMarkerInfo(ByVal request As OpenControl.GetMarkerInfoRequest) As OpenControl.GetMarkerInfoResponse + + 'CODEGEN: Generating message contract since the operation ManagePartProgram is neither RPC nor document wrapped. + _ + Function ManagePartProgram(ByVal request As OpenControl.ManagePartProgramRequest) As OpenControl.ManagePartProgramResponse + + 'CODEGEN: Generating message contract since the operation LogFSOpenFile is neither RPC nor document wrapped. + _ + Function LogFSOpenFile(ByVal request As OpenControl.LogFSOpenFileRequest) As OpenControl.LogFSOpenFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSCloseFile is neither RPC nor document wrapped. + _ + Function LogFSCloseFile(ByVal request As OpenControl.LogFSCloseFileRequest) As OpenControl.LogFSCloseFileResponse + + 'CODEGEN: Generating message contract since the operation LogFSWriteRecord is neither RPC nor document wrapped. + _ + Function LogFSWriteRecord(ByVal request As OpenControl.LogFSWriteRecordRequest) As OpenControl.LogFSWriteRecordResponse + + 'CODEGEN: Generating message contract since the operation LogFSReadRecord is neither RPC nor document wrapped. + _ + Function LogFSReadRecord(ByVal request As OpenControl.LogFSReadRecordRequest) As OpenControl.LogFSReadRecordResponse + + 'CODEGEN: Generating message contract since the operation ReadRemapDefinitions is neither RPC nor document wrapped. + _ + Function ReadRemapDefinitions(ByVal request As OpenControl.ReadRemapDefinitionsRequest) As OpenControl.ReadRemapDefinitionsResponse + + 'CODEGEN: Generating message contract since the operation WriteRemapDefinitions is neither RPC nor document wrapped. + _ + Function WriteRemapDefinitions(ByVal request As OpenControl.WriteRemapDefinitionsRequest) As OpenControl.WriteRemapDefinitionsResponse + + 'CODEGEN: Generating message contract since the operation GetServoPar is neither RPC nor document wrapped. + _ + Function GetServoPar(ByVal request As OpenControl.GetServoParRequest) As OpenControl.GetServoParResponse + + 'CODEGEN: Generating message contract since the operation SetServoPar is neither RPC nor document wrapped. + _ + Function SetServoPar(ByVal request As OpenControl.SetServoParRequest) As OpenControl.SetServoParResponse + + 'CODEGEN: Generating message contract since the operation GetCNCRegKey is neither RPC nor document wrapped. + _ + Function GetCNCRegKey(ByVal request As OpenControl.GetCNCRegKeyRequest) As OpenControl.GetCNCRegKeyResponse + + 'CODEGEN: Generating message contract since the operation SetIpAddress is neither RPC nor document wrapped. + _ + Function SetIpAddress(ByVal request As OpenControl.SetIpAddressRequest) As OpenControl.SetIpAddressResponse + + 'CODEGEN: Generating message contract since the operation GetProcInInput is neither RPC nor document wrapped. + _ + Function GetProcInInput(ByVal request As OpenControl.GetProcInInputRequest) As OpenControl.GetProcInInputResponse + + 'CODEGEN: Generating message contract since the operation SndProcInpData is neither RPC nor document wrapped. + _ + Function SndProcInpData(ByVal request As OpenControl.SndProcInpDataRequest) As OpenControl.SndProcInpDataResponse + End Interface + + ''' + _ + Partial Public Class BootPhaseEnquiry + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEFRAME + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private rowField As UShort + + Private colField As UShort + + Private lenField As UShort + + Private textField() As Byte + + ''' + _ + Public Property row() As UShort + Get + Return Me.rowField + End Get + Set + Me.rowField = value + Me.RaisePropertyChanged("row") + End Set + End Property + + ''' + _ + Public Property col() As UShort + Get + Return Me.colField + End Get + Set + Me.colField = value + Me.RaisePropertyChanged("col") + End Set + End Property + + ''' + _ + Public Property len() As UShort + Get + Return Me.lenField + End Get + Set + Me.lenField = value + Me.RaisePropertyChanged("len") + End Set + End Property + + ''' + _ + Public Property text() As Byte() + Get + Return Me.textField + End Get + Set + Me.textField = value + Me.RaisePropertyChanged("text") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEFIELDCONTROL + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private strmatchField() As Byte + + Private rangebyteField() As Byte + + Private rangeintField() As Short + + Private rangelongField() As Long + + Private rangeuintField() As UShort + + Private rangeulongField() As ULong + + Private rangefloatField() As Double + + Private rangedoubleField() As Double + + ''' + _ + Public Property strmatch() As Byte() + Get + Return Me.strmatchField + End Get + Set + Me.strmatchField = value + Me.RaisePropertyChanged("strmatch") + End Set + End Property + + ''' + _ + Public Property rangebyte() As Byte() + Get + Return Me.rangebyteField + End Get + Set + Me.rangebyteField = value + Me.RaisePropertyChanged("rangebyte") + End Set + End Property + + ''' + _ + Public Property rangeint() As Short() + Get + Return Me.rangeintField + End Get + Set + Me.rangeintField = value + Me.RaisePropertyChanged("rangeint") + End Set + End Property + + ''' + _ + Public Property rangelong() As Long() + Get + Return Me.rangelongField + End Get + Set + Me.rangelongField = value + Me.RaisePropertyChanged("rangelong") + End Set + End Property + + ''' + _ + Public Property rangeuint() As UShort() + Get + Return Me.rangeuintField + End Get + Set + Me.rangeuintField = value + Me.RaisePropertyChanged("rangeuint") + End Set + End Property + + ''' + _ + Public Property rangeulong() As ULong() + Get + Return Me.rangeulongField + End Get + Set + Me.rangeulongField = value + Me.RaisePropertyChanged("rangeulong") + End Set + End Property + + ''' + _ + Public Property rangefloat() As Double() + Get + Return Me.rangefloatField + End Get + Set + Me.rangefloatField = value + Me.RaisePropertyChanged("rangefloat") + End Set + End Property + + ''' + _ + Public Property rangedouble() As Double() + Get + Return Me.rangedoubleField + End Get + Set + Me.rangedoubleField = value + Me.RaisePropertyChanged("rangedouble") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEFIELDCHECK + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private convField As Byte + + Private valueField As DEFIELDCONTROL + + ''' + _ + Public Property conv() As Byte + Get + Return Me.convField + End Get + Set + Me.convField = value + Me.RaisePropertyChanged("conv") + End Set + End Property + + ''' + _ + Public Property value() As DEFIELDCONTROL + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEFIELD + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private rowField As UShort + + Private colField As UShort + + Private typeField As Byte + + Private myIdField As Byte + + Private sizeField As UShort + + Private disSizeField As UShort + + Private checkField As DEFIELDCHECK + + ''' + _ + Public Property row() As UShort + Get + Return Me.rowField + End Get + Set + Me.rowField = value + Me.RaisePropertyChanged("row") + End Set + End Property + + ''' + _ + Public Property col() As UShort + Get + Return Me.colField + End Get + Set + Me.colField = value + Me.RaisePropertyChanged("col") + End Set + End Property + + ''' + _ + Public Property type() As Byte + Get + Return Me.typeField + End Get + Set + Me.typeField = value + Me.RaisePropertyChanged("type") + End Set + End Property + + ''' + _ + Public Property myId() As Byte + Get + Return Me.myIdField + End Get + Set + Me.myIdField = value + Me.RaisePropertyChanged("myId") + End Set + End Property + + ''' + _ + Public Property size() As UShort + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("size") + End Set + End Property + + ''' + _ + Public Property disSize() As UShort + Get + Return Me.disSizeField + End Get + Set + Me.disSizeField = value + Me.RaisePropertyChanged("disSize") + End Set + End Property + + ''' + _ + Public Property check() As DEFIELDCHECK + Get + Return Me.checkField + End Get + Set + Me.checkField = value + Me.RaisePropertyChanged("check") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DEKEY + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private abortField() As Byte + + Private confirm1Field() As Byte + + Private confirm2Field() As Byte + + Private confirm3Field() As Byte + + Private resetField() As Byte + + Private incresField() As Byte + + ''' + _ + Public Property abort() As Byte() + Get + Return Me.abortField + End Get + Set + Me.abortField = value + Me.RaisePropertyChanged("abort") + End Set + End Property + + ''' + _ + Public Property confirm1() As Byte() + Get + Return Me.confirm1Field + End Get + Set + Me.confirm1Field = value + Me.RaisePropertyChanged("confirm1") + End Set + End Property + + ''' + _ + Public Property confirm2() As Byte() + Get + Return Me.confirm2Field + End Get + Set + Me.confirm2Field = value + Me.RaisePropertyChanged("confirm2") + End Set + End Property + + ''' + _ + Public Property confirm3() As Byte() + Get + Return Me.confirm3Field + End Get + Set + Me.confirm3Field = value + Me.RaisePropertyChanged("confirm3") + End Set + End Property + + ''' + _ + Public Property reset() As Byte() + Get + Return Me.resetField + End Get + Set + Me.resetField = value + Me.RaisePropertyChanged("reset") + End Set + End Property + + ''' + _ + Public Property incres() As Byte() + Get + Return Me.incresField + End Get + Set + Me.incresField = value + Me.RaisePropertyChanged("incres") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class USERINPTAB + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private myIdField As Short + + Private iniRowField As Byte + + Private iniColField As Byte + + Private totRowField As Byte + + Private totColField As Byte + + Private myTypeField As Byte + + Private helpField() As Byte + + Private totFrameField As Byte + + Private totFieldField As Byte + + Private keyField As DEKEY + + Private fldField() As DEFIELD + + Private frmField() As DEFRAME + + Private strDef1Field() As Byte + + Private strDef2Field() As Byte + + Private strDef3Field() As Byte + + Private strDef4Field() As Byte + + Private strDef5Field() As Byte + + Private strDef6Field() As Byte + + Private strDef7Field() As Byte + + Private strDef8Field() As Byte + + Private decolorField() As ULong + + ''' + _ + Public Property myId() As Short + Get + Return Me.myIdField + End Get + Set + Me.myIdField = value + Me.RaisePropertyChanged("myId") + End Set + End Property + + ''' + _ + Public Property iniRow() As Byte + Get + Return Me.iniRowField + End Get + Set + Me.iniRowField = value + Me.RaisePropertyChanged("iniRow") + End Set + End Property + + ''' + _ + Public Property iniCol() As Byte + Get + Return Me.iniColField + End Get + Set + Me.iniColField = value + Me.RaisePropertyChanged("iniCol") + End Set + End Property + + ''' + _ + Public Property totRow() As Byte + Get + Return Me.totRowField + End Get + Set + Me.totRowField = value + Me.RaisePropertyChanged("totRow") + End Set + End Property + + ''' + _ + Public Property totCol() As Byte + Get + Return Me.totColField + End Get + Set + Me.totColField = value + Me.RaisePropertyChanged("totCol") + End Set + End Property + + ''' + _ + Public Property myType() As Byte + Get + Return Me.myTypeField + End Get + Set + Me.myTypeField = value + Me.RaisePropertyChanged("myType") + End Set + End Property + + ''' + _ + Public Property help() As Byte() + Get + Return Me.helpField + End Get + Set + Me.helpField = value + Me.RaisePropertyChanged("help") + End Set + End Property + + ''' + _ + Public Property totFrame() As Byte + Get + Return Me.totFrameField + End Get + Set + Me.totFrameField = value + Me.RaisePropertyChanged("totFrame") + End Set + End Property + + ''' + _ + Public Property totField() As Byte + Get + Return Me.totFieldField + End Get + Set + Me.totFieldField = value + Me.RaisePropertyChanged("totField") + End Set + End Property + + ''' + _ + Public Property key() As DEKEY + Get + Return Me.keyField + End Get + Set + Me.keyField = value + Me.RaisePropertyChanged("key") + End Set + End Property + + ''' + _ + Public Property fld() As DEFIELD() + Get + Return Me.fldField + End Get + Set + Me.fldField = value + Me.RaisePropertyChanged("fld") + End Set + End Property + + ''' + _ + Public Property frm() As DEFRAME() + Get + Return Me.frmField + End Get + Set + Me.frmField = value + Me.RaisePropertyChanged("frm") + End Set + End Property + + ''' + _ + Public Property strDef1() As Byte() + Get + Return Me.strDef1Field + End Get + Set + Me.strDef1Field = value + Me.RaisePropertyChanged("strDef1") + End Set + End Property + + ''' + _ + Public Property strDef2() As Byte() + Get + Return Me.strDef2Field + End Get + Set + Me.strDef2Field = value + Me.RaisePropertyChanged("strDef2") + End Set + End Property + + ''' + _ + Public Property strDef3() As Byte() + Get + Return Me.strDef3Field + End Get + Set + Me.strDef3Field = value + Me.RaisePropertyChanged("strDef3") + End Set + End Property + + ''' + _ + Public Property strDef4() As Byte() + Get + Return Me.strDef4Field + End Get + Set + Me.strDef4Field = value + Me.RaisePropertyChanged("strDef4") + End Set + End Property + + ''' + _ + Public Property strDef5() As Byte() + Get + Return Me.strDef5Field + End Get + Set + Me.strDef5Field = value + Me.RaisePropertyChanged("strDef5") + End Set + End Property + + ''' + _ + Public Property strDef6() As Byte() + Get + Return Me.strDef6Field + End Get + Set + Me.strDef6Field = value + Me.RaisePropertyChanged("strDef6") + End Set + End Property + + ''' + _ + Public Property strDef7() As Byte() + Get + Return Me.strDef7Field + End Get + Set + Me.strDef7Field = value + Me.RaisePropertyChanged("strDef7") + End Set + End Property + + ''' + _ + Public Property strDef8() As Byte() + Get + Return Me.strDef8Field + End Get + Set + Me.strDef8Field = value + Me.RaisePropertyChanged("strDef8") + End Set + End Property + + ''' + _ + Public Property decolor() As ULong() + Get + Return Me.decolorField + End Get + Set + Me.decolorField = value + Me.RaisePropertyChanged("decolor") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class INPUTINFO + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private isInInputField As Byte + + Private dataField As USERINPTAB + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property isInInput() As Byte + Get + Return Me.isInInputField + End Get + Set + Me.isInInputField = value + Me.RaisePropertyChanged("isInInput") + End Set + End Property + + ''' + _ + Public Property Data() As USERINPTAB + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class REMAPDEF + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private varTypeField As Byte + + Private physAddrField As UShort + + Private physBitField As Byte + + Private logicAddrField As UShort + + Private logicBitField As Byte + + Private modeField As Byte + + Private riseTimeField As UInteger + + Private fallTimeField As UInteger + + Private valueField As UInteger + + Private iOMsgIdField As UInteger + + Private iOClassField As Byte + + Private currPhysValueField As UInteger + + Private currLogicValueField As UInteger + + ''' + _ + Public Property VarType() As Byte + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + ''' + _ + Public Property PhysAddr() As UShort + Get + Return Me.physAddrField + End Get + Set + Me.physAddrField = value + Me.RaisePropertyChanged("PhysAddr") + End Set + End Property + + ''' + _ + Public Property PhysBit() As Byte + Get + Return Me.physBitField + End Get + Set + Me.physBitField = value + Me.RaisePropertyChanged("PhysBit") + End Set + End Property + + ''' + _ + Public Property LogicAddr() As UShort + Get + Return Me.logicAddrField + End Get + Set + Me.logicAddrField = value + Me.RaisePropertyChanged("LogicAddr") + End Set + End Property + + ''' + _ + Public Property LogicBit() As Byte + Get + Return Me.logicBitField + End Get + Set + Me.logicBitField = value + Me.RaisePropertyChanged("LogicBit") + End Set + End Property + + ''' + _ + Public Property Mode() As Byte + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + ''' + _ + Public Property RiseTime() As UInteger + Get + Return Me.riseTimeField + End Get + Set + Me.riseTimeField = value + Me.RaisePropertyChanged("RiseTime") + End Set + End Property + + ''' + _ + Public Property FallTime() As UInteger + Get + Return Me.fallTimeField + End Get + Set + Me.fallTimeField = value + Me.RaisePropertyChanged("FallTime") + End Set + End Property + + ''' + _ + Public Property Value() As UInteger + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property IOMsgId() As UInteger + Get + Return Me.iOMsgIdField + End Get + Set + Me.iOMsgIdField = value + Me.RaisePropertyChanged("IOMsgId") + End Set + End Property + + ''' + _ + Public Property IOClass() As Byte + Get + Return Me.iOClassField + End Get + Set + Me.iOClassField = value + Me.RaisePropertyChanged("IOClass") + End Set + End Property + + ''' + _ + Public Property CurrPhysValue() As UInteger + Get + Return Me.currPhysValueField + End Get + Set + Me.currPhysValueField = value + Me.RaisePropertyChanged("CurrPhysValue") + End Set + End Property + + ''' + _ + Public Property CurrLogicValue() As UInteger + Get + Return Me.currLogicValueField + End Get + Set + Me.currLogicValueField = value + Me.RaisePropertyChanged("CurrLogicValue") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MARKERINFO + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private numberField As Short + + Private lineNumField() As UInteger + + Private numBlksField() As UInteger + + Private markerNameField()() As Byte + + Private pPnameField()() As Byte + + Private breakValField As UInteger + + ''' + _ + Public Property Number() As Short + Get + Return Me.numberField + End Get + Set + Me.numberField = value + Me.RaisePropertyChanged("Number") + End Set + End Property + + ''' + _ + Public Property LineNum() As UInteger() + Get + Return Me.lineNumField + End Get + Set + Me.lineNumField = value + Me.RaisePropertyChanged("LineNum") + End Set + End Property + + ''' + _ + Public Property NumBlks() As UInteger() + Get + Return Me.numBlksField + End Get + Set + Me.numBlksField = value + Me.RaisePropertyChanged("NumBlks") + End Set + End Property + + ''' + _ + Public Property MarkerName() As Byte()() + Get + Return Me.markerNameField + End Get + Set + Me.markerNameField = value + Me.RaisePropertyChanged("MarkerName") + End Set + End Property + + ''' + _ + Public Property PPname() As Byte()() + Get + Return Me.pPnameField + End Get + Set + Me.pPnameField = value + Me.RaisePropertyChanged("PPname") + End Set + End Property + + ''' + _ + Public Property breakVal() As UInteger + Get + Return Me.breakValField + End Get + Set + Me.breakValField = value + Me.RaisePropertyChanged("breakVal") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MSGANOMALY + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private lineaField As UInteger + + Private formatTxtField() As Byte + + ''' + _ + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + Me.RaisePropertyChanged("BootID") + End Set + End Property + + ''' + _ + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + Me.RaisePropertyChanged("SystemTime") + End Set + End Property + + ''' + _ + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + Me.RaisePropertyChanged("UnIdSeq") + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + Me.RaisePropertyChanged("CodeErr") + End Set + End Property + + ''' + _ + Public Property Linea() As UInteger + Get + Return Me.lineaField + End Get + Set + Me.lineaField = value + Me.RaisePropertyChanged("Linea") + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + Me.RaisePropertyChanged("FormatTxt") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SYSTEMTIMECNDEX + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private wYearField As UShort + + Private wMonthField As UShort + + Private wDayOfWeekField As UShort + + Private wDayField As UShort + + Private wHourField As UShort + + Private wMinuteField As UShort + + Private wSecondField As UShort + + Private wMillisecondsField As UShort + + ''' + _ + Public Property wYear() As UShort + Get + Return Me.wYearField + End Get + Set + Me.wYearField = value + Me.RaisePropertyChanged("wYear") + End Set + End Property + + ''' + _ + Public Property wMonth() As UShort + Get + Return Me.wMonthField + End Get + Set + Me.wMonthField = value + Me.RaisePropertyChanged("wMonth") + End Set + End Property + + ''' + _ + Public Property wDayOfWeek() As UShort + Get + Return Me.wDayOfWeekField + End Get + Set + Me.wDayOfWeekField = value + Me.RaisePropertyChanged("wDayOfWeek") + End Set + End Property + + ''' + _ + Public Property wDay() As UShort + Get + Return Me.wDayField + End Get + Set + Me.wDayField = value + Me.RaisePropertyChanged("wDay") + End Set + End Property + + ''' + _ + Public Property wHour() As UShort + Get + Return Me.wHourField + End Get + Set + Me.wHourField = value + Me.RaisePropertyChanged("wHour") + End Set + End Property + + ''' + _ + Public Property wMinute() As UShort + Get + Return Me.wMinuteField + End Get + Set + Me.wMinuteField = value + Me.RaisePropertyChanged("wMinute") + End Set + End Property + + ''' + _ + Public Property wSecond() As UShort + Get + Return Me.wSecondField + End Get + Set + Me.wSecondField = value + Me.RaisePropertyChanged("wSecond") + End Set + End Property + + ''' + _ + Public Property wMilliseconds() As UShort + Get + Return Me.wMillisecondsField + End Get + Set + Me.wMillisecondsField = value + Me.RaisePropertyChanged("wMilliseconds") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MSGLOGS + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeLogField As UInteger + + Private errinfoField As UInteger + + Private formatTxtField() As Byte + + ''' + _ + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + Me.RaisePropertyChanged("BootID") + End Set + End Property + + ''' + _ + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + Me.RaisePropertyChanged("SystemTime") + End Set + End Property + + ''' + _ + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + Me.RaisePropertyChanged("UnIdSeq") + End Set + End Property + + ''' + _ + Public Property CodeLog() As UInteger + Get + Return Me.codeLogField + End Get + Set + Me.codeLogField = value + Me.RaisePropertyChanged("CodeLog") + End Set + End Property + + ''' + _ + Public Property Errinfo() As UInteger + Get + Return Me.errinfoField + End Get + Set + Me.errinfoField = value + Me.RaisePropertyChanged("Errinfo") + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + Me.RaisePropertyChanged("FormatTxt") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MSGERROR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private processField As Short + + Private comandoField As SByte + + Private subComField As SByte + + Private formatTxtField() As Byte + + ''' + _ + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + Me.RaisePropertyChanged("BootID") + End Set + End Property + + ''' + _ + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + Me.RaisePropertyChanged("SystemTime") + End Set + End Property + + ''' + _ + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + Me.RaisePropertyChanged("UnIdSeq") + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + Me.RaisePropertyChanged("CodeErr") + End Set + End Property + + ''' + _ + Public Property Process() As Short + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Comando() As SByte + Get + Return Me.comandoField + End Get + Set + Me.comandoField = value + Me.RaisePropertyChanged("Comando") + End Set + End Property + + ''' + _ + Public Property SubCom() As SByte + Get + Return Me.subComField + End Get + Set + Me.subComField = value + Me.RaisePropertyChanged("SubCom") + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + Me.RaisePropertyChanged("FormatTxt") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MSGEMERGENCY + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private processField As Short + + Private procErrField As Short + + Private formatTxtField() As Byte + + ''' + _ + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + Me.RaisePropertyChanged("BootID") + End Set + End Property + + ''' + _ + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + Me.RaisePropertyChanged("SystemTime") + End Set + End Property + + ''' + _ + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + Me.RaisePropertyChanged("UnIdSeq") + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + Me.RaisePropertyChanged("CodeErr") + End Set + End Property + + ''' + _ + Public Property Process() As Short + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property ProcErr() As Short + Get + Return Me.procErrField + End Get + Set + Me.procErrField = value + Me.RaisePropertyChanged("ProcErr") + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + Me.RaisePropertyChanged("FormatTxt") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MONVARDESCR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private classField As UShort + + Private subClassField As UShort + + Private deviceIDField As UShort + + Private codeField As UShort + + Private addressField As UShort + + Private signalField As UShort + + Private samplingPeriodField As Double + + ''' + _ + Public Property [Class]() As UShort + Get + Return Me.classField + End Get + Set + Me.classField = value + Me.RaisePropertyChanged("Class") + End Set + End Property + + ''' + _ + Public Property SubClass() As UShort + Get + Return Me.subClassField + End Get + Set + Me.subClassField = value + Me.RaisePropertyChanged("SubClass") + End Set + End Property + + ''' + _ + Public Property DeviceID() As UShort + Get + Return Me.deviceIDField + End Get + Set + Me.deviceIDField = value + Me.RaisePropertyChanged("DeviceID") + End Set + End Property + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Address() As UShort + Get + Return Me.addressField + End Get + Set + Me.addressField = value + Me.RaisePropertyChanged("Address") + End Set + End Property + + ''' + _ + Public Property Signal() As UShort + Get + Return Me.signalField + End Get + Set + Me.signalField = value + Me.RaisePropertyChanged("Signal") + End Set + End Property + + ''' + _ + Public Property SamplingPeriod() As Double + Get + Return Me.samplingPeriodField + End Get + Set + Me.samplingPeriodField = value + Me.RaisePropertyChanged("SamplingPeriod") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MONCUSTOMEVENTINFO + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private idField As UShort + + Private typeField As UShort + + Private nameField As String + + ''' + _ + Public Property ID() As UShort + Get + Return Me.idField + End Get + Set + Me.idField = value + Me.RaisePropertyChanged("ID") + End Set + End Property + + ''' + _ + Public Property Type() As UShort + Get + Return Me.typeField + End Get + Set + Me.typeField = value + Me.RaisePropertyChanged("Type") + End Set + End Property + + ''' + _ + Public Property Name() As String + Get + Return Me.nameField + End Get + Set + Me.nameField = value + Me.RaisePropertyChanged("Name") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class FILEFINDDATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileAttributesField As UInteger + + Private lowDateCreationTimeField As UInteger + + Private highDateCreationTimeField As UInteger + + Private lowDateLastAccessTimeField As UInteger + + Private highDateLastAccessTimeField As UInteger + + Private lowDateLastWriteTimeField As UInteger + + Private highDateLastWriteTimeField As UInteger + + Private fileSizeHighField As UInteger + + Private fileSizeLowField As UInteger + + Private fileNameField As String + + ''' + _ + Public Property FileAttributes() As UInteger + Get + Return Me.fileAttributesField + End Get + Set + Me.fileAttributesField = value + Me.RaisePropertyChanged("FileAttributes") + End Set + End Property + + ''' + _ + Public Property LowDateCreationTime() As UInteger + Get + Return Me.lowDateCreationTimeField + End Get + Set + Me.lowDateCreationTimeField = value + Me.RaisePropertyChanged("LowDateCreationTime") + End Set + End Property + + ''' + _ + Public Property HighDateCreationTime() As UInteger + Get + Return Me.highDateCreationTimeField + End Get + Set + Me.highDateCreationTimeField = value + Me.RaisePropertyChanged("HighDateCreationTime") + End Set + End Property + + ''' + _ + Public Property LowDateLastAccessTime() As UInteger + Get + Return Me.lowDateLastAccessTimeField + End Get + Set + Me.lowDateLastAccessTimeField = value + Me.RaisePropertyChanged("LowDateLastAccessTime") + End Set + End Property + + ''' + _ + Public Property HighDateLastAccessTime() As UInteger + Get + Return Me.highDateLastAccessTimeField + End Get + Set + Me.highDateLastAccessTimeField = value + Me.RaisePropertyChanged("HighDateLastAccessTime") + End Set + End Property + + ''' + _ + Public Property LowDateLastWriteTime() As UInteger + Get + Return Me.lowDateLastWriteTimeField + End Get + Set + Me.lowDateLastWriteTimeField = value + Me.RaisePropertyChanged("LowDateLastWriteTime") + End Set + End Property + + ''' + _ + Public Property HighDateLastWriteTime() As UInteger + Get + Return Me.highDateLastWriteTimeField + End Get + Set + Me.highDateLastWriteTimeField = value + Me.RaisePropertyChanged("HighDateLastWriteTime") + End Set + End Property + + ''' + _ + Public Property FileSizeHigh() As UInteger + Get + Return Me.fileSizeHighField + End Get + Set + Me.fileSizeHighField = value + Me.RaisePropertyChanged("FileSizeHigh") + End Set + End Property + + ''' + _ + Public Property FileSizeLow() As UInteger + Get + Return Me.fileSizeLowField + End Get + Set + Me.fileSizeLowField = value + Me.RaisePropertyChanged("FileSizeLow") + End Set + End Property + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ERRMSG + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private msg1Field As String + + Private msg2Field As String + + Private msg3Field As String + + Private msg4Field As String + + ''' + _ + Public Property Msg1() As String + Get + Return Me.msg1Field + End Get + Set + Me.msg1Field = value + Me.RaisePropertyChanged("Msg1") + End Set + End Property + + ''' + _ + Public Property Msg2() As String + Get + Return Me.msg2Field + End Get + Set + Me.msg2Field = value + Me.RaisePropertyChanged("Msg2") + End Set + End Property + + ''' + _ + Public Property Msg3() As String + Get + Return Me.msg3Field + End Get + Set + Me.msg3Field = value + Me.RaisePropertyChanged("Msg3") + End Set + End Property + + ''' + _ + Public Property Msg4() As String + Get + Return Me.msg4Field + End Get + Set + Me.msg4Field = value + Me.RaisePropertyChanged("Msg4") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GETBLKNUMDATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private ppActNumField As UShort + + Private mainActBlkField As UInteger + + Private sbr1ActBlkField As UInteger + + Private sbr2ActBlkField As UInteger + + Private sbr3ActBlkField As UInteger + + Private sbr4ActBlkField As UInteger + + ''' + _ + Public Property ppActNum() As UShort + Get + Return Me.ppActNumField + End Get + Set + Me.ppActNumField = value + Me.RaisePropertyChanged("ppActNum") + End Set + End Property + + ''' + _ + Public Property MainActBlk() As UInteger + Get + Return Me.mainActBlkField + End Get + Set + Me.mainActBlkField = value + Me.RaisePropertyChanged("MainActBlk") + End Set + End Property + + ''' + _ + Public Property Sbr1ActBlk() As UInteger + Get + Return Me.sbr1ActBlkField + End Get + Set + Me.sbr1ActBlkField = value + Me.RaisePropertyChanged("Sbr1ActBlk") + End Set + End Property + + ''' + _ + Public Property Sbr2ActBlk() As UInteger + Get + Return Me.sbr2ActBlkField + End Get + Set + Me.sbr2ActBlkField = value + Me.RaisePropertyChanged("Sbr2ActBlk") + End Set + End Property + + ''' + _ + Public Property Sbr3ActBlk() As UInteger + Get + Return Me.sbr3ActBlkField + End Get + Set + Me.sbr3ActBlkField = value + Me.RaisePropertyChanged("Sbr3ActBlk") + End Set + End Property + + ''' + _ + Public Property Sbr4ActBlk() As UInteger + Get + Return Me.sbr4ActBlkField + End Get + Set + Me.sbr4ActBlkField = value + Me.RaisePropertyChanged("Sbr4ActBlk") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class PROCDATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private modeField As UShort + + Private statusField As UShort + + Private subStatusField As UShort + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + ''' + _ + Public Property Status() As UShort + Get + Return Me.statusField + End Get + Set + Me.statusField = value + Me.RaisePropertyChanged("Status") + End Set + End Property + + ''' + _ + Public Property SubStatus() As UShort + Get + Return Me.subStatusField + End Get + Set + Me.subStatusField = value + Me.RaisePropertyChanged("SubStatus") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GETINFO2DATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private statusWordField As UShort + + Private urpField As Double + + Private actToolField As Double + + Private actOffsetField As UShort + + Private progToolField As Double + + Private progOffsetField As UShort + + Private mStatusField As UShort + + Private mValueField() As UShort + + Private ax1NameField As Byte + + Private ax1OffsetField As Double + + Private ax2NameField As Byte + + Private ax2OffsetField As Double + + Private radiusField As Double + + ''' + _ + Public Property StatusWord() As UShort + Get + Return Me.statusWordField + End Get + Set + Me.statusWordField = value + Me.RaisePropertyChanged("StatusWord") + End Set + End Property + + ''' + _ + Public Property Urp() As Double + Get + Return Me.urpField + End Get + Set + Me.urpField = value + Me.RaisePropertyChanged("Urp") + End Set + End Property + + ''' + _ + Public Property ActTool() As Double + Get + Return Me.actToolField + End Get + Set + Me.actToolField = value + Me.RaisePropertyChanged("ActTool") + End Set + End Property + + ''' + _ + Public Property ActOffset() As UShort + Get + Return Me.actOffsetField + End Get + Set + Me.actOffsetField = value + Me.RaisePropertyChanged("ActOffset") + End Set + End Property + + ''' + _ + Public Property ProgTool() As Double + Get + Return Me.progToolField + End Get + Set + Me.progToolField = value + Me.RaisePropertyChanged("ProgTool") + End Set + End Property + + ''' + _ + Public Property ProgOffset() As UShort + Get + Return Me.progOffsetField + End Get + Set + Me.progOffsetField = value + Me.RaisePropertyChanged("ProgOffset") + End Set + End Property + + ''' + _ + Public Property MStatus() As UShort + Get + Return Me.mStatusField + End Get + Set + Me.mStatusField = value + Me.RaisePropertyChanged("MStatus") + End Set + End Property + + ''' + _ + Public Property MValue() As UShort() + Get + Return Me.mValueField + End Get + Set + Me.mValueField = value + Me.RaisePropertyChanged("MValue") + End Set + End Property + + ''' + _ + Public Property Ax1Name() As Byte + Get + Return Me.ax1NameField + End Get + Set + Me.ax1NameField = value + Me.RaisePropertyChanged("Ax1Name") + End Set + End Property + + ''' + _ + Public Property Ax1Offset() As Double + Get + Return Me.ax1OffsetField + End Get + Set + Me.ax1OffsetField = value + Me.RaisePropertyChanged("Ax1Offset") + End Set + End Property + + ''' + _ + Public Property Ax2Name() As Byte + Get + Return Me.ax2NameField + End Get + Set + Me.ax2NameField = value + Me.RaisePropertyChanged("Ax2Name") + End Set + End Property + + ''' + _ + Public Property Ax2Offset() As Double + Get + Return Me.ax2OffsetField + End Get + Set + Me.ax2OffsetField = value + Me.RaisePropertyChanged("Ax2Offset") + End Set + End Property + + ''' + _ + Public Property Radius() As Double + Get + Return Me.radiusField + End Get + Set + Me.radiusField = value + Me.RaisePropertyChanged("Radius") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GETINFO1DATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private statusField As Byte + + Private substatusField As Byte + + Private modeselectField As Byte + + Private jogdirField As Byte + + Private speedovField As UShort + + Private feedovField As UShort + + Private rapfeedovField As UShort + + Private manfeedovField As UShort + + Private jogincrField As Double + + Private numaxselField As Byte + + Private axselField() As Byte + + Private actualtoolField As Double + + Private progrtoolField As Double + + Private actualtooloffField As UShort + + Private progrtooloffField As UShort + + Private realspeedField As Double + + Private progrspeedField As Double + + Private progrfeedField As Double + + Private rapidfeedField As Double + + Private realfeedField As Double + + Private feedmisunitField As UShort + + Private mainprogrnameField As String + + Private dryrunField As Byte + + Private rapidoverrideField As Byte + + Private disableslashedblkField As Byte + + Private optionalstopField As Byte + + Private forcerapidfeedField As Byte + + Private autojogretField As Byte + + Private blockretraceField As Byte + + Private lastncerrorField As UShort + + Private freeField As String + + ''' + _ + Public Property status() As Byte + Get + Return Me.statusField + End Get + Set + Me.statusField = value + Me.RaisePropertyChanged("status") + End Set + End Property + + ''' + _ + Public Property substatus() As Byte + Get + Return Me.substatusField + End Get + Set + Me.substatusField = value + Me.RaisePropertyChanged("substatus") + End Set + End Property + + ''' + _ + Public Property modeselect() As Byte + Get + Return Me.modeselectField + End Get + Set + Me.modeselectField = value + Me.RaisePropertyChanged("modeselect") + End Set + End Property + + ''' + _ + Public Property jogdir() As Byte + Get + Return Me.jogdirField + End Get + Set + Me.jogdirField = value + Me.RaisePropertyChanged("jogdir") + End Set + End Property + + ''' + _ + Public Property speedov() As UShort + Get + Return Me.speedovField + End Get + Set + Me.speedovField = value + Me.RaisePropertyChanged("speedov") + End Set + End Property + + ''' + _ + Public Property feedov() As UShort + Get + Return Me.feedovField + End Get + Set + Me.feedovField = value + Me.RaisePropertyChanged("feedov") + End Set + End Property + + ''' + _ + Public Property rapfeedov() As UShort + Get + Return Me.rapfeedovField + End Get + Set + Me.rapfeedovField = value + Me.RaisePropertyChanged("rapfeedov") + End Set + End Property + + ''' + _ + Public Property manfeedov() As UShort + Get + Return Me.manfeedovField + End Get + Set + Me.manfeedovField = value + Me.RaisePropertyChanged("manfeedov") + End Set + End Property + + ''' + _ + Public Property jogincr() As Double + Get + Return Me.jogincrField + End Get + Set + Me.jogincrField = value + Me.RaisePropertyChanged("jogincr") + End Set + End Property + + ''' + _ + Public Property numaxsel() As Byte + Get + Return Me.numaxselField + End Get + Set + Me.numaxselField = value + Me.RaisePropertyChanged("numaxsel") + End Set + End Property + + ''' + _ + Public Property axsel() As Byte() + Get + Return Me.axselField + End Get + Set + Me.axselField = value + Me.RaisePropertyChanged("axsel") + End Set + End Property + + ''' + _ + Public Property actualtool() As Double + Get + Return Me.actualtoolField + End Get + Set + Me.actualtoolField = value + Me.RaisePropertyChanged("actualtool") + End Set + End Property + + ''' + _ + Public Property progrtool() As Double + Get + Return Me.progrtoolField + End Get + Set + Me.progrtoolField = value + Me.RaisePropertyChanged("progrtool") + End Set + End Property + + ''' + _ + Public Property actualtooloff() As UShort + Get + Return Me.actualtooloffField + End Get + Set + Me.actualtooloffField = value + Me.RaisePropertyChanged("actualtooloff") + End Set + End Property + + ''' + _ + Public Property progrtooloff() As UShort + Get + Return Me.progrtooloffField + End Get + Set + Me.progrtooloffField = value + Me.RaisePropertyChanged("progrtooloff") + End Set + End Property + + ''' + _ + Public Property realspeed() As Double + Get + Return Me.realspeedField + End Get + Set + Me.realspeedField = value + Me.RaisePropertyChanged("realspeed") + End Set + End Property + + ''' + _ + Public Property progrspeed() As Double + Get + Return Me.progrspeedField + End Get + Set + Me.progrspeedField = value + Me.RaisePropertyChanged("progrspeed") + End Set + End Property + + ''' + _ + Public Property progrfeed() As Double + Get + Return Me.progrfeedField + End Get + Set + Me.progrfeedField = value + Me.RaisePropertyChanged("progrfeed") + End Set + End Property + + ''' + _ + Public Property rapidfeed() As Double + Get + Return Me.rapidfeedField + End Get + Set + Me.rapidfeedField = value + Me.RaisePropertyChanged("rapidfeed") + End Set + End Property + + ''' + _ + Public Property realfeed() As Double + Get + Return Me.realfeedField + End Get + Set + Me.realfeedField = value + Me.RaisePropertyChanged("realfeed") + End Set + End Property + + ''' + _ + Public Property feedmisunit() As UShort + Get + Return Me.feedmisunitField + End Get + Set + Me.feedmisunitField = value + Me.RaisePropertyChanged("feedmisunit") + End Set + End Property + + ''' + _ + Public Property mainprogrname() As String + Get + Return Me.mainprogrnameField + End Get + Set + Me.mainprogrnameField = value + Me.RaisePropertyChanged("mainprogrname") + End Set + End Property + + ''' + _ + Public Property dryrun() As Byte + Get + Return Me.dryrunField + End Get + Set + Me.dryrunField = value + Me.RaisePropertyChanged("dryrun") + End Set + End Property + + ''' + _ + Public Property rapidoverride() As Byte + Get + Return Me.rapidoverrideField + End Get + Set + Me.rapidoverrideField = value + Me.RaisePropertyChanged("rapidoverride") + End Set + End Property + + ''' + _ + Public Property disableslashedblk() As Byte + Get + Return Me.disableslashedblkField + End Get + Set + Me.disableslashedblkField = value + Me.RaisePropertyChanged("disableslashedblk") + End Set + End Property + + ''' + _ + Public Property optionalstop() As Byte + Get + Return Me.optionalstopField + End Get + Set + Me.optionalstopField = value + Me.RaisePropertyChanged("optionalstop") + End Set + End Property + + ''' + _ + Public Property forcerapidfeed() As Byte + Get + Return Me.forcerapidfeedField + End Get + Set + Me.forcerapidfeedField = value + Me.RaisePropertyChanged("forcerapidfeed") + End Set + End Property + + ''' + _ + Public Property autojogret() As Byte + Get + Return Me.autojogretField + End Get + Set + Me.autojogretField = value + Me.RaisePropertyChanged("autojogret") + End Set + End Property + + ''' + _ + Public Property blockretrace() As Byte + Get + Return Me.blockretraceField + End Get + Set + Me.blockretraceField = value + Me.RaisePropertyChanged("blockretrace") + End Set + End Property + + ''' + _ + Public Property lastncerror() As UShort + Get + Return Me.lastncerrorField + End Get + Set + Me.lastncerrorField = value + Me.RaisePropertyChanged("lastncerror") + End Set + End Property + + ''' + _ + Public Property free() As String + Get + Return Me.freeField + End Get + Set + Me.freeField = value + Me.RaisePropertyChanged("free") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GETINTDATA + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisNameField As Byte + + Private modeField As Byte + + Private positionField As Double + + Private totalOffsetField As Double + + ''' + _ + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + ''' + _ + Public Property mode() As Byte + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("mode") + End Set + End Property + + ''' + _ + Public Property position() As Double + Get + Return Me.positionField + End Get + Set + Me.positionField = value + Me.RaisePropertyChanged("position") + End Set + End Property + + ''' + _ + Public Property TotalOffset() As Double + Get + Return Me.totalOffsetField + End Get + Set + Me.totalOffsetField = value + Me.RaisePropertyChanged("TotalOffset") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class AXORIGNUM + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisNameField As Byte + + Private originNumberField As Byte + + Private originFlagField As UShort + + ''' + _ + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + ''' + _ + Public Property OriginNumber() As Byte + Get + Return Me.originNumberField + End Get + Set + Me.originNumberField = value + Me.RaisePropertyChanged("OriginNumber") + End Set + End Property + + ''' + _ + Public Property OriginFlag() As UShort + Get + Return Me.originFlagField + End Get + Set + Me.originFlagField = value + Me.RaisePropertyChanged("OriginFlag") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class USERTABLEII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private userValField() As Double + + ''' + _ + Public Property UserVal() As Double() + Get + Return Me.userValField + End Get + Set + Me.userValField = value + Me.RaisePropertyChanged("UserVal") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class OFFSETVALII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private valOrigField As Double + + Private maxChangeValField As Double + + Private actChangeValField As Double + + ''' + _ + Public Property ValOrig() As Double + Get + Return Me.valOrigField + End Get + Set + Me.valOrigField = value + Me.RaisePropertyChanged("ValOrig") + End Set + End Property + + ''' + _ + Public Property MaxChangeVal() As Double + Get + Return Me.maxChangeValField + End Get + Set + Me.maxChangeValField = value + Me.RaisePropertyChanged("MaxChangeVal") + End Set + End Property + + ''' + _ + Public Property ActChangeVal() As Double + Get + Return Me.actChangeValField + End Get + Set + Me.actChangeValField = value + Me.RaisePropertyChanged("ActChangeVal") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class OFFSETTABLEII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private lenValField() As OFFSETVALII + + Private diaValField() As OFFSETVALII + + Private orientField As UShort + + Private externTypeField As UShort + + Private externIndField As UShort + + Private duserField() As Double + + Private suserField() As Short + + Private descrField() As UShort + + ''' + _ + Public Property LenVal() As OFFSETVALII() + Get + Return Me.lenValField + End Get + Set + Me.lenValField = value + Me.RaisePropertyChanged("LenVal") + End Set + End Property + + ''' + _ + Public Property DiaVal() As OFFSETVALII() + Get + Return Me.diaValField + End Get + Set + Me.diaValField = value + Me.RaisePropertyChanged("DiaVal") + End Set + End Property + + ''' + _ + Public Property Orient() As UShort + Get + Return Me.orientField + End Get + Set + Me.orientField = value + Me.RaisePropertyChanged("Orient") + End Set + End Property + + ''' + _ + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + Me.RaisePropertyChanged("ExternType") + End Set + End Property + + ''' + _ + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + Me.RaisePropertyChanged("ExternInd") + End Set + End Property + + ''' + _ + Public Property Duser() As Double() + Get + Return Me.duserField + End Get + Set + Me.duserField = value + Me.RaisePropertyChanged("Duser") + End Set + End Property + + ''' + _ + Public Property Suser() As Short() + Get + Return Me.suserField + End Get + Set + Me.suserField = value + Me.RaisePropertyChanged("Suser") + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + Me.RaisePropertyChanged("Descr") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class TOOLTABLEII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private toolNameField As String + + Private statusField As UShort + + Private lifeTypeField As UShort + + Private maxLifeField As Double + + Private remLifeField As Double + + Private offsNumField As UShort + + Private externTypeField As UShort + + Private externIndField As UShort + + Private duserField() As Double + + Private suserField() As Short + + Private descrField() As UShort + + ''' + _ + Public Property ToolName() As String + Get + Return Me.toolNameField + End Get + Set + Me.toolNameField = value + Me.RaisePropertyChanged("ToolName") + End Set + End Property + + ''' + _ + Public Property Status() As UShort + Get + Return Me.statusField + End Get + Set + Me.statusField = value + Me.RaisePropertyChanged("Status") + End Set + End Property + + ''' + _ + Public Property LifeType() As UShort + Get + Return Me.lifeTypeField + End Get + Set + Me.lifeTypeField = value + Me.RaisePropertyChanged("LifeType") + End Set + End Property + + ''' + _ + Public Property MaxLife() As Double + Get + Return Me.maxLifeField + End Get + Set + Me.maxLifeField = value + Me.RaisePropertyChanged("MaxLife") + End Set + End Property + + ''' + _ + Public Property RemLife() As Double + Get + Return Me.remLifeField + End Get + Set + Me.remLifeField = value + Me.RaisePropertyChanged("RemLife") + End Set + End Property + + ''' + _ + Public Property OffsNum() As UShort + Get + Return Me.offsNumField + End Get + Set + Me.offsNumField = value + Me.RaisePropertyChanged("OffsNum") + End Set + End Property + + ''' + _ + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + Me.RaisePropertyChanged("ExternType") + End Set + End Property + + ''' + _ + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + Me.RaisePropertyChanged("ExternInd") + End Set + End Property + + ''' + _ + Public Property Duser() As Double() + Get + Return Me.duserField + End Get + Set + Me.duserField = value + Me.RaisePropertyChanged("Duser") + End Set + End Property + + ''' + _ + Public Property Suser() As Short() + Get + Return Me.suserField + End Get + Set + Me.suserField = value + Me.RaisePropertyChanged("Suser") + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + Me.RaisePropertyChanged("Descr") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ORIGINTABLEII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisValField() As Double + + Private externTypeField As UShort + + Private externIndField As UShort + + Private descrField() As UShort + + ''' + _ + Public Property AxisVal() As Double() + Get + Return Me.axisValField + End Get + Set + Me.axisValField = value + Me.RaisePropertyChanged("AxisVal") + End Set + End Property + + ''' + _ + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + Me.RaisePropertyChanged("ExternType") + End Set + End Property + + ''' + _ + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + Me.RaisePropertyChanged("ExternInd") + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + Me.RaisePropertyChanged("Descr") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class BootPhaseEnquiryR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private phaseField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Phase() As UShort + Get + Return Me.phaseField + End Get + Set + Me.phaseField = value + Me.RaisePropertyChanged("Phase") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class BootPhaseEnquiryRequest + + _ + Public BootPhaseEnquiry As OpenControl.BootPhaseEnquiry + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootPhaseEnquiry As OpenControl.BootPhaseEnquiry) + MyBase.New + Me.BootPhaseEnquiry = BootPhaseEnquiry + End Sub + End Class + + _ + Partial Public Class BootPhaseEnquiryResponse + + _ + Public BootPhaseEnquiryR As OpenControl.BootPhaseEnquiryR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootPhaseEnquiryR As OpenControl.BootPhaseEnquiryR) + MyBase.New + Me.BootPhaseEnquiryR = BootPhaseEnquiryR + End Sub + End Class + + ''' + _ + Partial Public Class BootReboot + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class BootRebootR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class BootRebootRequest + + _ + Public BootReboot As OpenControl.BootReboot + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootReboot As OpenControl.BootReboot) + MyBase.New + Me.BootReboot = BootReboot + End Sub + End Class + + _ + Partial Public Class BootRebootResponse + + _ + Public BootRebootR As OpenControl.BootRebootR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootRebootR As OpenControl.BootRebootR) + MyBase.New + Me.BootRebootR = BootRebootR + End Sub + End Class + + ''' + _ + Partial Public Class BootShutDown + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class BootShutDownR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class BootShutDownRequest + + _ + Public BootShutDown As OpenControl.BootShutDown + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootShutDown As OpenControl.BootShutDown) + MyBase.New + Me.BootShutDown = BootShutDown + End Sub + End Class + + _ + Partial Public Class BootShutDownResponse + + _ + Public BootShutDownR As OpenControl.BootShutDownR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootShutDownR As OpenControl.BootShutDownR) + MyBase.New + Me.BootShutDownR = BootShutDownR + End Sub + End Class + + ''' + _ + Partial Public Class BootMode + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private modeField As UShort + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class BootModeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class BootModeRequest + + _ + Public BootMode As OpenControl.BootMode + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootMode As OpenControl.BootMode) + MyBase.New + Me.BootMode = BootMode + End Sub + End Class + + _ + Partial Public Class BootModeResponse + + _ + Public BootModeR As OpenControl.BootModeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal BootModeR As OpenControl.BootModeR) + MyBase.New + Me.BootModeR = BootModeR + End Sub + End Class + + ''' + _ + Partial Public Class GetHWKey + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetHWKeyR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private hwKeyField() As Byte + + Private securLevelField() As Byte + + Private releaseField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property HwKey() As Byte() + Get + Return Me.hwKeyField + End Get + Set + Me.hwKeyField = value + Me.RaisePropertyChanged("HwKey") + End Set + End Property + + ''' + _ + Public Property SecurLevel() As Byte() + Get + Return Me.securLevelField + End Get + Set + Me.securLevelField = value + Me.RaisePropertyChanged("SecurLevel") + End Set + End Property + + ''' + _ + Public Property Release() As String + Get + Return Me.releaseField + End Get + Set + Me.releaseField = value + Me.RaisePropertyChanged("Release") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetHWKeyRequest + + _ + Public GetHWKey As OpenControl.GetHWKey + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetHWKey As OpenControl.GetHWKey) + MyBase.New + Me.GetHWKey = GetHWKey + End Sub + End Class + + _ + Partial Public Class GetHWKeyResponse + + _ + Public GetHWKeyR As OpenControl.GetHWKeyR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetHWKeyR As OpenControl.GetHWKeyR) + MyBase.New + Me.GetHWKeyR = GetHWKeyR + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarWord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private numVarField As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarWordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField() As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As UShort() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadVarWordRequest + + _ + Public ReadVarWord As OpenControl.ReadVarWord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarWord As OpenControl.ReadVarWord) + MyBase.New + Me.ReadVarWord = ReadVarWord + End Sub + End Class + + _ + Partial Public Class ReadVarWordResponse + + _ + Public ReadVarWordR As OpenControl.ReadVarWordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarWordR As OpenControl.ReadVarWordR) + MyBase.New + Me.ReadVarWordR = ReadVarWordR + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarDouble + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private numVarField As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarDoubleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField() As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As Double() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadVarDoubleRequest + + _ + Public ReadVarDouble As OpenControl.ReadVarDouble + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarDouble As OpenControl.ReadVarDouble) + MyBase.New + Me.ReadVarDouble = ReadVarDouble + End Sub + End Class + + _ + Partial Public Class ReadVarDoubleResponse + + _ + Public ReadVarDoubleR As OpenControl.ReadVarDoubleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarDoubleR As OpenControl.ReadVarDoubleR) + MyBase.New + Me.ReadVarDoubleR = ReadVarDoubleR + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarWord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private numVarField As UShort + + Private valueField() As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + ''' + _ + Public Property Value() As UShort() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarWordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteVarWordRequest + + _ + Public WriteVarWord As OpenControl.WriteVarWord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarWord As OpenControl.WriteVarWord) + MyBase.New + Me.WriteVarWord = WriteVarWord + End Sub + End Class + + _ + Partial Public Class WriteVarWordResponse + + _ + Public WriteVarWordR As OpenControl.WriteVarWordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarWordR As OpenControl.WriteVarWordR) + MyBase.New + Me.WriteVarWordR = WriteVarWordR + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarWordBit + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private bitIndexField As UShort + + Private bitValueField As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property BitIndex() As UShort + Get + Return Me.bitIndexField + End Get + Set + Me.bitIndexField = value + Me.RaisePropertyChanged("BitIndex") + End Set + End Property + + ''' + _ + Public Property BitValue() As UShort + Get + Return Me.bitValueField + End Get + Set + Me.bitValueField = value + Me.RaisePropertyChanged("BitValue") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarWordBitR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteVarWordBitRequest + + _ + Public WriteVarWordBit As OpenControl.WriteVarWordBit + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarWordBit As OpenControl.WriteVarWordBit) + MyBase.New + Me.WriteVarWordBit = WriteVarWordBit + End Sub + End Class + + _ + Partial Public Class WriteVarWordBitResponse + + _ + Public WriteVarWordBitR As OpenControl.WriteVarWordBitR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarWordBitR As OpenControl.WriteVarWordBitR) + MyBase.New + Me.WriteVarWordBitR = WriteVarWordBitR + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarDouble + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private numVarField As UShort + + Private valueField() As Double + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + ''' + _ + Public Property Value() As Double() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarDoubleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteVarDoubleRequest + + _ + Public WriteVarDouble As OpenControl.WriteVarDouble + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarDouble As OpenControl.WriteVarDouble) + MyBase.New + Me.WriteVarDouble = WriteVarDouble + End Sub + End Class + + _ + Partial Public Class WriteVarDoubleResponse + + _ + Public WriteVarDoubleR As OpenControl.WriteVarDoubleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarDoubleR As OpenControl.WriteVarDoubleR) + MyBase.New + Me.WriteVarDoubleR = WriteVarDoubleR + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarText + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private sizeField As UShort + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property Size() As UShort + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadVarTextR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private textField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Text() As String + Get + Return Me.textField + End Get + Set + Me.textField = value + Me.RaisePropertyChanged("Text") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadVarTextRequest + + _ + Public ReadVarText As OpenControl.ReadVarText + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarText As OpenControl.ReadVarText) + MyBase.New + Me.ReadVarText = ReadVarText + End Sub + End Class + + _ + Partial Public Class ReadVarTextResponse + + _ + Public ReadVarTextR As OpenControl.ReadVarTextR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadVarTextR As OpenControl.ReadVarTextR) + MyBase.New + Me.ReadVarTextR = ReadVarTextR + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarText + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private codeField As UShort + + Private processField As UShort + + Private indexField As UShort + + Private lenField As UShort + + Private textField As String + + ''' + _ + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + Me.RaisePropertyChanged("Code") + End Set + End Property + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + ''' + _ + Public Property Len() As UShort + Get + Return Me.lenField + End Get + Set + Me.lenField = value + Me.RaisePropertyChanged("Len") + End Set + End Property + + ''' + _ + Public Property Text() As String + Get + Return Me.textField + End Get + Set + Me.textField = value + Me.RaisePropertyChanged("Text") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteVarTextR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteVarTextRequest + + _ + Public WriteVarText As OpenControl.WriteVarText + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarText As OpenControl.WriteVarText) + MyBase.New + Me.WriteVarText = WriteVarText + End Sub + End Class + + _ + Partial Public Class WriteVarTextResponse + + _ + Public WriteVarTextR As OpenControl.WriteVarTextR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteVarTextR As OpenControl.WriteVarTextR) + MyBase.New + Me.WriteVarTextR = WriteVarTextR + End Sub + End Class + + ''' + _ + Partial Public Class ReadWarningMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadWarningMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private warningMsgField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property WarningMsg() As String + Get + Return Me.warningMsgField + End Get + Set + Me.warningMsgField = value + Me.RaisePropertyChanged("WarningMsg") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadWarningMsgRequest + + _ + Public ReadWarningMsg As OpenControl.ReadWarningMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadWarningMsg As OpenControl.ReadWarningMsg) + MyBase.New + Me.ReadWarningMsg = ReadWarningMsg + End Sub + End Class + + _ + Partial Public Class ReadWarningMsgResponse + + _ + Public ReadWarningMsgR As OpenControl.ReadWarningMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadWarningMsgR As OpenControl.ReadWarningMsgR) + MyBase.New + Me.ReadWarningMsgR = ReadWarningMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ResetSingleTableII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private tableNumField As UShort + + ''' + _ + Public Property TableNum() As UShort + Get + Return Me.tableNumField + End Get + Set + Me.tableNumField = value + Me.RaisePropertyChanged("TableNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ResetSingleTableIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ResetSingleTableIIRequest + + _ + Public ResetSingleTableII As OpenControl.ResetSingleTableII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ResetSingleTableII As OpenControl.ResetSingleTableII) + MyBase.New + Me.ResetSingleTableII = ResetSingleTableII + End Sub + End Class + + _ + Partial Public Class ResetSingleTableIIResponse + + _ + Public ResetSingleTableIIR As OpenControl.ResetSingleTableIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ResetSingleTableIIR As OpenControl.ResetSingleTableIIR) + MyBase.New + Me.ResetSingleTableIIR = ResetSingleTableIIR + End Sub + End Class + + ''' + _ + Partial Public Class LockTableII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private tableNumField As UShort + + ''' + _ + Public Property TableNum() As UShort + Get + Return Me.tableNumField + End Get + Set + Me.tableNumField = value + Me.RaisePropertyChanged("TableNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LockTableIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LockTableIIRequest + + _ + Public LockTableII As OpenControl.LockTableII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LockTableII As OpenControl.LockTableII) + MyBase.New + Me.LockTableII = LockTableII + End Sub + End Class + + _ + Partial Public Class LockTableIIResponse + + _ + Public LockTableIIR As OpenControl.LockTableIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LockTableIIR As OpenControl.LockTableIIR) + MyBase.New + Me.LockTableIIR = LockTableIIR + End Sub + End Class + + ''' + _ + Partial Public Class UnLockTableII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private tableNumField As UShort + + ''' + _ + Public Property TableNum() As UShort + Get + Return Me.tableNumField + End Get + Set + Me.tableNumField = value + Me.RaisePropertyChanged("TableNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class UnLockTableIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class UnLockTableIIRequest + + _ + Public UnLockTableII As OpenControl.UnLockTableII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal UnLockTableII As OpenControl.UnLockTableII) + MyBase.New + Me.UnLockTableII = UnLockTableII + End Sub + End Class + + _ + Partial Public Class UnLockTableIIResponse + + _ + Public UnLockTableIIR As OpenControl.UnLockTableIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal UnLockTableIIR As OpenControl.UnLockTableIIR) + MyBase.New + Me.UnLockTableIIR = UnLockTableIIR + End Sub + End Class + + ''' + _ + Partial Public Class GetOriginTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetOriginTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private recordBuffField As ORIGINTABLEII + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As ORIGINTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetOriginTabRecordIIRequest + + _ + Public GetOriginTabRecordII As OpenControl.GetOriginTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOriginTabRecordII As OpenControl.GetOriginTabRecordII) + MyBase.New + Me.GetOriginTabRecordII = GetOriginTabRecordII + End Sub + End Class + + _ + Partial Public Class GetOriginTabRecordIIResponse + + _ + Public GetOriginTabRecordIIR As OpenControl.GetOriginTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOriginTabRecordIIR As OpenControl.GetOriginTabRecordIIR) + MyBase.New + Me.GetOriginTabRecordIIR = GetOriginTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SetOriginTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + Private recordBuffField As ORIGINTABLEII + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As ORIGINTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetOriginTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetOriginTabRecordIIRequest + + _ + Public SetOriginTabRecordII As OpenControl.SetOriginTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetOriginTabRecordII As OpenControl.SetOriginTabRecordII) + MyBase.New + Me.SetOriginTabRecordII = SetOriginTabRecordII + End Sub + End Class + + _ + Partial Public Class SetOriginTabRecordIIResponse + + _ + Public SetOriginTabRecordIIR As OpenControl.SetOriginTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetOriginTabRecordIIR As OpenControl.SetOriginTabRecordIIR) + MyBase.New + Me.SetOriginTabRecordIIR = SetOriginTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class GetToolTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetToolTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private recordBuffField As TOOLTABLEII + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As TOOLTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetToolTabRecordIIRequest + + _ + Public GetToolTabRecordII As OpenControl.GetToolTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetToolTabRecordII As OpenControl.GetToolTabRecordII) + MyBase.New + Me.GetToolTabRecordII = GetToolTabRecordII + End Sub + End Class + + _ + Partial Public Class GetToolTabRecordIIResponse + + _ + Public GetToolTabRecordIIR As OpenControl.GetToolTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetToolTabRecordIIR As OpenControl.GetToolTabRecordIIR) + MyBase.New + Me.GetToolTabRecordIIR = GetToolTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SetToolTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + Private recordBuffField As TOOLTABLEII + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As TOOLTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetToolTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetToolTabRecordIIRequest + + _ + Public SetToolTabRecordII As OpenControl.SetToolTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetToolTabRecordII As OpenControl.SetToolTabRecordII) + MyBase.New + Me.SetToolTabRecordII = SetToolTabRecordII + End Sub + End Class + + _ + Partial Public Class SetToolTabRecordIIResponse + + _ + Public SetToolTabRecordIIR As OpenControl.SetToolTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetToolTabRecordIIR As OpenControl.SetToolTabRecordIIR) + MyBase.New + Me.SetToolTabRecordIIR = SetToolTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class GetOffsetTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetOffsetTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private recordBuffField As OFFSETTABLEII + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As OFFSETTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetOffsetTabRecordIIRequest + + _ + Public GetOffsetTabRecordII As OpenControl.GetOffsetTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOffsetTabRecordII As OpenControl.GetOffsetTabRecordII) + MyBase.New + Me.GetOffsetTabRecordII = GetOffsetTabRecordII + End Sub + End Class + + _ + Partial Public Class GetOffsetTabRecordIIResponse + + _ + Public GetOffsetTabRecordIIR As OpenControl.GetOffsetTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOffsetTabRecordIIR As OpenControl.GetOffsetTabRecordIIR) + MyBase.New + Me.GetOffsetTabRecordIIR = GetOffsetTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SetOffsetTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + Private recordBuffField As OFFSETTABLEII + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As OFFSETTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetOffsetTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetOffsetTabRecordIIRequest + + _ + Public SetOffsetTabRecordII As OpenControl.SetOffsetTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetOffsetTabRecordII As OpenControl.SetOffsetTabRecordII) + MyBase.New + Me.SetOffsetTabRecordII = SetOffsetTabRecordII + End Sub + End Class + + _ + Partial Public Class SetOffsetTabRecordIIResponse + + _ + Public SetOffsetTabRecordIIR As OpenControl.SetOffsetTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetOffsetTabRecordIIR As OpenControl.SetOffsetTabRecordIIR) + MyBase.New + Me.SetOffsetTabRecordIIR = SetOffsetTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class GetUserTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetUserTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private recordBuffField As USERTABLEII + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As USERTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetUserTabRecordIIRequest + + _ + Public GetUserTabRecordII As OpenControl.GetUserTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetUserTabRecordII As OpenControl.GetUserTabRecordII) + MyBase.New + Me.GetUserTabRecordII = GetUserTabRecordII + End Sub + End Class + + _ + Partial Public Class GetUserTabRecordIIResponse + + _ + Public GetUserTabRecordIIR As OpenControl.GetUserTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetUserTabRecordIIR As OpenControl.GetUserTabRecordIIR) + MyBase.New + Me.GetUserTabRecordIIR = GetUserTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SetUserTabRecordII + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private recordNumField As UInteger + + Private recordBuffField As USERTABLEII + + ''' + _ + Public Property RecordNum() As UInteger + Get + Return Me.recordNumField + End Get + Set + Me.recordNumField = value + Me.RaisePropertyChanged("RecordNum") + End Set + End Property + + ''' + _ + Public Property RecordBuff() As USERTABLEII + Get + Return Me.recordBuffField + End Get + Set + Me.recordBuffField = value + Me.RaisePropertyChanged("RecordBuff") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetUserTabRecordIIR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetUserTabRecordIIRequest + + _ + Public SetUserTabRecordII As OpenControl.SetUserTabRecordII + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetUserTabRecordII As OpenControl.SetUserTabRecordII) + MyBase.New + Me.SetUserTabRecordII = SetUserTabRecordII + End Sub + End Class + + _ + Partial Public Class SetUserTabRecordIIResponse + + _ + Public SetUserTabRecordIIR As OpenControl.SetUserTabRecordIIR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetUserTabRecordIIR As OpenControl.SetUserTabRecordIIR) + MyBase.New + Me.SetUserTabRecordIIR = SetUserTabRecordIIR + End Sub + End Class + + ''' + _ + Partial Public Class SaveTables + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private localDirField As String + + ''' + _ + Public Property LocalDir() As String + Get + Return Me.localDirField + End Get + Set + Me.localDirField = value + Me.RaisePropertyChanged("LocalDir") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SaveTablesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SaveTablesRequest + + _ + Public SaveTables As OpenControl.SaveTables + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveTables As OpenControl.SaveTables) + MyBase.New + Me.SaveTables = SaveTables + End Sub + End Class + + _ + Partial Public Class SaveTablesResponse + + _ + Public SaveTablesR As OpenControl.SaveTablesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveTablesR As OpenControl.SaveTablesR) + MyBase.New + Me.SaveTablesR = SaveTablesR + End Sub + End Class + + ''' + _ + Partial Public Class RestoreSingleTable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private localDirField As String + + Private tableTypeField As TABLETYPEII + + ''' + _ + Public Property LocalDir() As String + Get + Return Me.localDirField + End Get + Set + Me.localDirField = value + Me.RaisePropertyChanged("LocalDir") + End Set + End Property + + ''' + _ + Public Property TableType() As TABLETYPEII + Get + Return Me.tableTypeField + End Get + Set + Me.tableTypeField = value + Me.RaisePropertyChanged("TableType") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum TABLETYPEII + + ''' + _ + TabTypeTools + + ''' + _ + TabTypeOffsets + + ''' + _ + TabTypeOrigins + + ''' + _ + TabTypeUser + End Enum + + ''' + _ + Partial Public Class RestoreSingleTableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class RestoreSingleTableRequest + + _ + Public RestoreSingleTable As OpenControl.RestoreSingleTable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal RestoreSingleTable As OpenControl.RestoreSingleTable) + MyBase.New + Me.RestoreSingleTable = RestoreSingleTable + End Sub + End Class + + _ + Partial Public Class RestoreSingleTableResponse + + _ + Public RestoreSingleTableR As OpenControl.RestoreSingleTableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal RestoreSingleTableR As OpenControl.RestoreSingleTableR) + MyBase.New + Me.RestoreSingleTableR = RestoreSingleTableR + End Sub + End Class + + ''' + _ + Partial Public Class SaveSingleTable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private localDirField As String + + Private tableTypeField As TABLETYPEII + + ''' + _ + Public Property LocalDir() As String + Get + Return Me.localDirField + End Get + Set + Me.localDirField = value + Me.RaisePropertyChanged("LocalDir") + End Set + End Property + + ''' + _ + Public Property TableType() As TABLETYPEII + Get + Return Me.tableTypeField + End Get + Set + Me.tableTypeField = value + Me.RaisePropertyChanged("TableType") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SaveSingleTableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SaveSingleTableRequest + + _ + Public SaveSingleTable As OpenControl.SaveSingleTable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveSingleTable As OpenControl.SaveSingleTable) + MyBase.New + Me.SaveSingleTable = SaveSingleTable + End Sub + End Class + + _ + Partial Public Class SaveSingleTableResponse + + _ + Public SaveSingleTableR As OpenControl.SaveSingleTableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveSingleTableR As OpenControl.SaveSingleTableR) + MyBase.New + Me.SaveSingleTableR = SaveSingleTableR + End Sub + End Class + + ''' + _ + Partial Public Class SaveBackupMemory + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileNameField As String + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SaveBackupMemoryR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SaveBackupMemoryRequest + + _ + Public SaveBackupMemory As OpenControl.SaveBackupMemory + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveBackupMemory As OpenControl.SaveBackupMemory) + MyBase.New + Me.SaveBackupMemory = SaveBackupMemory + End Sub + End Class + + _ + Partial Public Class SaveBackupMemoryResponse + + _ + Public SaveBackupMemoryR As OpenControl.SaveBackupMemoryR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SaveBackupMemoryR As OpenControl.SaveBackupMemoryR) + MyBase.New + Me.SaveBackupMemoryR = SaveBackupMemoryR + End Sub + End Class + + ''' + _ + Partial Public Class RestoreBackupMemory + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileNameField As String + + Private restoreMaskField As UInteger + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + ''' + _ + Public Property RestoreMask() As UInteger + Get + Return Me.restoreMaskField + End Get + Set + Me.restoreMaskField = value + Me.RaisePropertyChanged("RestoreMask") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class RestoreBackupMemoryR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class RestoreBackupMemoryRequest + + _ + Public RestoreBackupMemory As OpenControl.RestoreBackupMemory + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal RestoreBackupMemory As OpenControl.RestoreBackupMemory) + MyBase.New + Me.RestoreBackupMemory = RestoreBackupMemory + End Sub + End Class + + _ + Partial Public Class RestoreBackupMemoryResponse + + _ + Public RestoreBackupMemoryR As OpenControl.RestoreBackupMemoryR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal RestoreBackupMemoryR As OpenControl.RestoreBackupMemoryR) + MyBase.New + Me.RestoreBackupMemoryR = RestoreBackupMemoryR + End Sub + End Class + + ''' + _ + Partial Public Class Cycle + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private cmdField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Cmd() As UShort + Get + Return Me.cmdField + End Get + Set + Me.cmdField = value + Me.RaisePropertyChanged("Cmd") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class CycleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class CycleRequest + + _ + Public Cycle As OpenControl.Cycle + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Cycle As OpenControl.Cycle) + MyBase.New + Me.Cycle = Cycle + End Sub + End Class + + _ + Partial Public Class CycleResponse + + _ + Public CycleR As OpenControl.CycleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal CycleR As OpenControl.CycleR) + MyBase.New + Me.CycleR = CycleR + End Sub + End Class + + ''' + _ + Partial Public Class SyncroCycle + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SyncroCycleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SyncroCycleRequest + + _ + Public SyncroCycle As OpenControl.SyncroCycle + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SyncroCycle As OpenControl.SyncroCycle) + MyBase.New + Me.SyncroCycle = SyncroCycle + End Sub + End Class + + _ + Partial Public Class SyncroCycleResponse + + _ + Public SyncroCycleR As OpenControl.SyncroCycleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SyncroCycleR As OpenControl.SyncroCycleR) + MyBase.New + Me.SyncroCycleR = SyncroCycleR + End Sub + End Class + + ''' + _ + Partial Public Class Reset + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ResetR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ResetRequest + + _ + Public Reset As OpenControl.Reset + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Reset As OpenControl.Reset) + MyBase.New + Me.Reset = Reset + End Sub + End Class + + _ + Partial Public Class ResetResponse + + _ + Public ResetR As OpenControl.ResetR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ResetR As OpenControl.ResetR) + MyBase.New + Me.ResetR = ResetR + End Sub + End Class + + ''' + _ + Partial Public Class Hold + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private cmdField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Cmd() As UShort + Get + Return Me.cmdField + End Get + Set + Me.cmdField = value + Me.RaisePropertyChanged("Cmd") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class HoldR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class HoldRequest + + _ + Public Hold As OpenControl.Hold + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Hold As OpenControl.Hold) + MyBase.New + Me.Hold = Hold + End Sub + End Class + + _ + Partial Public Class HoldResponse + + _ + Public HoldR As OpenControl.HoldR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal HoldR As OpenControl.HoldR) + MyBase.New + Me.HoldR = HoldR + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedManOver + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private feedManOverField As UShort + + Private directionField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property FeedManOver() As UShort + Get + Return Me.feedManOverField + End Get + Set + Me.feedManOverField = value + Me.RaisePropertyChanged("FeedManOver") + End Set + End Property + + ''' + _ + Public Property Direction() As UShort + Get + Return Me.directionField + End Get + Set + Me.directionField = value + Me.RaisePropertyChanged("Direction") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedManOverR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetFeedManOverRequest + + _ + Public SetFeedManOver As OpenControl.SetFeedManOver + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedManOver As OpenControl.SetFeedManOver) + MyBase.New + Me.SetFeedManOver = SetFeedManOver + End Sub + End Class + + _ + Partial Public Class SetFeedManOverResponse + + _ + Public SetFeedManOverR As OpenControl.SetFeedManOverR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedManOverR As OpenControl.SetFeedManOverR) + MyBase.New + Me.SetFeedManOverR = SetFeedManOverR + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedRateOver + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private feedRateOverField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property FeedRateOver() As UShort + Get + Return Me.feedRateOverField + End Get + Set + Me.feedRateOverField = value + Me.RaisePropertyChanged("FeedRateOver") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedRateOverR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetFeedRateOverRequest + + _ + Public SetFeedRateOver As OpenControl.SetFeedRateOver + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedRateOver As OpenControl.SetFeedRateOver) + MyBase.New + Me.SetFeedRateOver = SetFeedRateOver + End Sub + End Class + + _ + Partial Public Class SetFeedRateOverResponse + + _ + Public SetFeedRateOverR As OpenControl.SetFeedRateOverR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedRateOverR As OpenControl.SetFeedRateOverR) + MyBase.New + Me.SetFeedRateOverR = SetFeedRateOverR + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedRapidOver + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private feedRapidOverField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property FeedRapidOver() As UShort + Get + Return Me.feedRapidOverField + End Get + Set + Me.feedRapidOverField = value + Me.RaisePropertyChanged("FeedRapidOver") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetFeedRapidOverR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetFeedRapidOverRequest + + _ + Public SetFeedRapidOver As OpenControl.SetFeedRapidOver + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedRapidOver As OpenControl.SetFeedRapidOver) + MyBase.New + Me.SetFeedRapidOver = SetFeedRapidOver + End Sub + End Class + + _ + Partial Public Class SetFeedRapidOverResponse + + _ + Public SetFeedRapidOverR As OpenControl.SetFeedRapidOverR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetFeedRapidOverR As OpenControl.SetFeedRapidOverR) + MyBase.New + Me.SetFeedRapidOverR = SetFeedRapidOverR + End Sub + End Class + + ''' + _ + Partial Public Class SetSpeedRateOver + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private speedRateOverField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property SpeedRateOver() As UShort + Get + Return Me.speedRateOverField + End Get + Set + Me.speedRateOverField = value + Me.RaisePropertyChanged("SpeedRateOver") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetSpeedRateOverR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetSpeedRateOverRequest + + _ + Public SetSpeedRateOver As OpenControl.SetSpeedRateOver + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetSpeedRateOver As OpenControl.SetSpeedRateOver) + MyBase.New + Me.SetSpeedRateOver = SetSpeedRateOver + End Sub + End Class + + _ + Partial Public Class SetSpeedRateOverResponse + + _ + Public SetSpeedRateOverR As OpenControl.SetSpeedRateOverR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetSpeedRateOverR As OpenControl.SetSpeedRateOverR) + MyBase.New + Me.SetSpeedRateOverR = SetSpeedRateOverR + End Sub + End Class + + ''' + _ + Partial Public Class SetManMovDirection + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private directionField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Direction() As UShort + Get + Return Me.directionField + End Get + Set + Me.directionField = value + Me.RaisePropertyChanged("Direction") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetManMovDirectionR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetManMovDirectionRequest + + _ + Public SetManMovDirection As OpenControl.SetManMovDirection + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetManMovDirection As OpenControl.SetManMovDirection) + MyBase.New + Me.SetManMovDirection = SetManMovDirection + End Sub + End Class + + _ + Partial Public Class SetManMovDirectionResponse + + _ + Public SetManMovDirectionR As OpenControl.SetManMovDirectionR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetManMovDirectionR As OpenControl.SetManMovDirectionR) + MyBase.New + Me.SetManMovDirectionR = SetManMovDirectionR + End Sub + End Class + + ''' + _ + Partial Public Class GetVarJOG + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetVarJOGR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetVarJOGRequest + + _ + Public GetVarJOG As OpenControl.GetVarJOG + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetVarJOG As OpenControl.GetVarJOG) + MyBase.New + Me.GetVarJOG = GetVarJOG + End Sub + End Class + + _ + Partial Public Class GetVarJOGResponse + + _ + Public GetVarJOGR As OpenControl.GetVarJOGR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetVarJOGR As OpenControl.GetVarJOGR) + MyBase.New + Me.GetVarJOGR = GetVarJOGR + End Sub + End Class + + ''' + _ + Partial Public Class SetVarJOG + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private valueField As Double + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetVarJOGR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetVarJOGRequest + + _ + Public SetVarJOG As OpenControl.SetVarJOG + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarJOG As OpenControl.SetVarJOG) + MyBase.New + Me.SetVarJOG = SetVarJOG + End Sub + End Class + + _ + Partial Public Class SetVarJOGResponse + + _ + Public SetVarJOGR As OpenControl.SetVarJOGR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarJOGR As OpenControl.SetVarJOGR) + MyBase.New + Me.SetVarJOGR = SetVarJOGR + End Sub + End Class + + ''' + _ + Partial Public Class SetVarUAS + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private modeField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetVarUASR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetVarUASRequest + + _ + Public SetVarUAS As OpenControl.SetVarUAS + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarUAS As OpenControl.SetVarUAS) + MyBase.New + Me.SetVarUAS = SetVarUAS + End Sub + End Class + + _ + Partial Public Class SetVarUASResponse + + _ + Public SetVarUASR As OpenControl.SetVarUASR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarUASR As OpenControl.SetVarUASR) + MyBase.New + Me.SetVarUASR = SetVarUASR + End Sub + End Class + + ''' + _ + Partial Public Class GetVarRCM + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetVarRCMR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As UShort + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetVarRCMRequest + + _ + Public GetVarRCM As OpenControl.GetVarRCM + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetVarRCM As OpenControl.GetVarRCM) + MyBase.New + Me.GetVarRCM = GetVarRCM + End Sub + End Class + + _ + Partial Public Class GetVarRCMResponse + + _ + Public GetVarRCMR As OpenControl.GetVarRCMR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetVarRCMR As OpenControl.GetVarRCMR) + MyBase.New + Me.GetVarRCMR = GetVarRCMR + End Sub + End Class + + ''' + _ + Partial Public Class SetVarRCM + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private modeField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetVarRCMR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetVarRCMRequest + + _ + Public SetVarRCM As OpenControl.SetVarRCM + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarRCM As OpenControl.SetVarRCM) + MyBase.New + Me.SetVarRCM = SetVarRCM + End Sub + End Class + + _ + Partial Public Class SetVarRCMResponse + + _ + Public SetVarRCMR As OpenControl.SetVarRCMR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetVarRCMR As OpenControl.SetVarRCMR) + MyBase.New + Me.SetVarRCMR = SetVarRCMR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcVarWord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private varTypeField As PROCWORDVARTYPE + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property VarType() As PROCWORDVARTYPE + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum PROCWORDVARTYPE + + ''' + _ + PROCWORDVARRCM + + ''' + _ + PROCWORDVARARM + + ''' + _ + PROCWORDVARDPS + + ''' + _ + PROCWORDVARRAP + + ''' + _ + PROCWORDVARTRP + + ''' + _ + PROCWORDVARVFF + + ''' + _ + PROCWORDVARUVR + + ''' + _ + PROCWORDVARDLA + + ''' + _ + PROCWORDVARMBR + + ''' + _ + PROCWORDVARURL + + ''' + _ + PROCWORDVARDSB + + ''' + _ + PROCWORDVARUSO + + ''' + _ + PROCWORDVARERR + + ''' + _ + PROCWORDVARHMP + + ''' + _ + PROCWORDVARUAS + + ''' + _ + PROCWORDVARMBA + + ''' + _ + PROCWORDVARREM + End Enum + + ''' + _ + Partial Public Class GetProcVarWordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As UShort + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcVarWordRequest + + _ + Public GetProcVarWord As OpenControl.GetProcVarWord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcVarWord As OpenControl.GetProcVarWord) + MyBase.New + Me.GetProcVarWord = GetProcVarWord + End Sub + End Class + + _ + Partial Public Class GetProcVarWordResponse + + _ + Public GetProcVarWordR As OpenControl.GetProcVarWordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcVarWordR As OpenControl.GetProcVarWordR) + MyBase.New + Me.GetProcVarWordR = GetProcVarWordR + End Sub + End Class + + ''' + _ + Partial Public Class SetProcVarWord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private varTypeField As PROCWORDVARTYPE + + Private valueField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property VarType() As PROCWORDVARTYPE + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + ''' + _ + Public Property Value() As UShort + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetProcVarWordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetProcVarWordRequest + + _ + Public SetProcVarWord As OpenControl.SetProcVarWord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcVarWord As OpenControl.SetProcVarWord) + MyBase.New + Me.SetProcVarWord = SetProcVarWord + End Sub + End Class + + _ + Partial Public Class SetProcVarWordResponse + + _ + Public SetProcVarWordR As OpenControl.SetProcVarWordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcVarWordR As OpenControl.SetProcVarWordR) + MyBase.New + Me.SetProcVarWordR = SetProcVarWordR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcVarDouble + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private varTypeField As PROCDOUBLEVARTYPE + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property VarType() As PROCDOUBLEVARTYPE + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum PROCDOUBLEVARTYPE + + ''' + _ + PROCDOUBLEVARURP + + ''' + _ + PROCDOUBLEVARDWT + + ''' + _ + PROCDOUBLEVARJOG + + ''' + _ + PROCDOUBLEVARMDA + + ''' + _ + PROCDOUBLEVARMSA + + ''' + _ + PROCDOUBLEVARSSL + + ''' + _ + PROCDOUBLEVARVEF + + ''' + _ + PROCDOUBLEVARUPO + + ''' + _ + PROCDOUBLEVARUPA + + ''' + _ + PROCDOUBLEVARCET + + ''' + _ + PROCDOUBLEVARFCT + + ''' + _ + PROCDOUBLEVARMBRLEN + + ''' + _ + PROCDOUBLEVARMBRTHR + End Enum + + ''' + _ + Partial Public Class GetProcVarDoubleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcVarDoubleRequest + + _ + Public GetProcVarDouble As OpenControl.GetProcVarDouble + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcVarDouble As OpenControl.GetProcVarDouble) + MyBase.New + Me.GetProcVarDouble = GetProcVarDouble + End Sub + End Class + + _ + Partial Public Class GetProcVarDoubleResponse + + _ + Public GetProcVarDoubleR As OpenControl.GetProcVarDoubleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcVarDoubleR As OpenControl.GetProcVarDoubleR) + MyBase.New + Me.GetProcVarDoubleR = GetProcVarDoubleR + End Sub + End Class + + ''' + _ + Partial Public Class SetProcVarDouble + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private varTypeField As PROCDOUBLEVARTYPE + + Private valueField As Double + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property VarType() As PROCDOUBLEVARTYPE + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + Me.RaisePropertyChanged("VarType") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetProcVarDoubleR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetProcVarDoubleRequest + + _ + Public SetProcVarDouble As OpenControl.SetProcVarDouble + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcVarDouble As OpenControl.SetProcVarDouble) + MyBase.New + Me.SetProcVarDouble = SetProcVarDouble + End Sub + End Class + + _ + Partial Public Class SetProcVarDoubleResponse + + _ + Public SetProcVarDoubleR As OpenControl.SetProcVarDoubleR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcVarDoubleR As OpenControl.SetProcVarDoubleR) + MyBase.New + Me.SetProcVarDoubleR = SetProcVarDoubleR + End Sub + End Class + + ''' + _ + Partial Public Class SetMdiString + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private mdiStringField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property MdiString() As String + Get + Return Me.mdiStringField + End Get + Set + Me.mdiStringField = value + Me.RaisePropertyChanged("MdiString") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetMdiStringR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetMdiStringRequest + + _ + Public SetMdiString As OpenControl.SetMdiString + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetMdiString As OpenControl.SetMdiString) + MyBase.New + Me.SetMdiString = SetMdiString + End Sub + End Class + + _ + Partial Public Class SetMdiStringResponse + + _ + Public SetMdiStringR As OpenControl.SetMdiStringR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetMdiStringR As OpenControl.SetMdiStringR) + MyBase.New + Me.SetMdiStringR = SetMdiStringR + End Sub + End Class + + ''' + _ + Partial Public Class SetProcessMode + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private modeField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetProcessModeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetProcessModeRequest + + _ + Public SetProcessMode As OpenControl.SetProcessMode + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcessMode As OpenControl.SetProcessMode) + MyBase.New + Me.SetProcessMode = SetProcessMode + End Sub + End Class + + _ + Partial Public Class SetProcessModeResponse + + _ + Public SetProcessModeR As OpenControl.SetProcessModeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetProcessModeR As OpenControl.SetProcessModeR) + MyBase.New + Me.SetProcessModeR = SetProcessModeR + End Sub + End Class + + ''' + _ + Partial Public Class SelectProcess + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SelectProcessR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SelectProcessRequest + + _ + Public SelectProcess As OpenControl.SelectProcess + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectProcess As OpenControl.SelectProcess) + MyBase.New + Me.SelectProcess = SelectProcess + End Sub + End Class + + _ + Partial Public Class SelectProcessResponse + + _ + Public SelectProcessR As OpenControl.SelectProcessR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectProcessR As OpenControl.SelectProcessR) + MyBase.New + Me.SelectProcessR = SelectProcessR + End Sub + End Class + + ''' + _ + Partial Public Class GetSelectedProcess + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetSelectedProcessR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private procNumField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetSelectedProcessRequest + + _ + Public GetSelectedProcess As OpenControl.GetSelectedProcess + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSelectedProcess As OpenControl.GetSelectedProcess) + MyBase.New + Me.GetSelectedProcess = GetSelectedProcess + End Sub + End Class + + _ + Partial Public Class GetSelectedProcessResponse + + _ + Public GetSelectedProcessR As OpenControl.GetSelectedProcessR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSelectedProcessR As OpenControl.GetSelectedProcessR) + MyBase.New + Me.GetSelectedProcessR = GetSelectedProcessR + End Sub + End Class + + ''' + _ + Partial Public Class SelectProcAxis + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private axisNameField As Byte + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SelectProcAxisR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SelectProcAxisRequest + + _ + Public SelectProcAxis As OpenControl.SelectProcAxis + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectProcAxis As OpenControl.SelectProcAxis) + MyBase.New + Me.SelectProcAxis = SelectProcAxis + End Sub + End Class + + _ + Partial Public Class SelectProcAxisResponse + + _ + Public SelectProcAxisR As OpenControl.SelectProcAxisR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectProcAxisR As OpenControl.SelectProcAxisR) + MyBase.New + Me.SelectProcAxisR = SelectProcAxisR + End Sub + End Class + + ''' + _ + Partial Public Class SelectPartProgram + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private pPNameField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property PPName() As String + Get + Return Me.pPNameField + End Get + Set + Me.pPNameField = value + Me.RaisePropertyChanged("PPName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SelectPartProgramR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SelectPartProgramRequest + + _ + Public SelectPartProgram As OpenControl.SelectPartProgram + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectPartProgram As OpenControl.SelectPartProgram) + MyBase.New + Me.SelectPartProgram = SelectPartProgram + End Sub + End Class + + _ + Partial Public Class SelectPartProgramResponse + + _ + Public SelectPartProgramR As OpenControl.SelectPartProgramR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectPartProgramR As OpenControl.SelectPartProgramR) + MyBase.New + Me.SelectPartProgramR = SelectPartProgramR + End Sub + End Class + + ''' + _ + Partial Public Class SelectPartProgramFromDrive + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private pPNameField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property PPName() As String + Get + Return Me.pPNameField + End Get + Set + Me.pPNameField = value + Me.RaisePropertyChanged("PPName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SelectPartProgramFromDriveR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SelectPartProgramFromDriveRequest + + _ + Public SelectPartProgramFromDrive As OpenControl.SelectPartProgramFromDrive + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectPartProgramFromDrive As OpenControl.SelectPartProgramFromDrive) + MyBase.New + Me.SelectPartProgramFromDrive = SelectPartProgramFromDrive + End Sub + End Class + + _ + Partial Public Class SelectPartProgramFromDriveResponse + + _ + Public SelectPartProgramFromDriveR As OpenControl.SelectPartProgramFromDriveR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SelectPartProgramFromDriveR As OpenControl.SelectPartProgramFromDriveR) + MyBase.New + Me.SelectPartProgramFromDriveR = SelectPartProgramFromDriveR + End Sub + End Class + + ''' + _ + Partial Public Class GetActivePartProgram + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetActivePartProgramR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private levelField As UShort + + Private mainField As String + + Private subField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Level() As UShort + Get + Return Me.levelField + End Get + Set + Me.levelField = value + Me.RaisePropertyChanged("Level") + End Set + End Property + + ''' + _ + Public Property Main() As String + Get + Return Me.mainField + End Get + Set + Me.mainField = value + Me.RaisePropertyChanged("Main") + End Set + End Property + + ''' + _ + Public Property [Sub]() As String + Get + Return Me.subField + End Get + Set + Me.subField = value + Me.RaisePropertyChanged("Sub") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetActivePartProgramRequest + + _ + Public GetActivePartProgram As OpenControl.GetActivePartProgram + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetActivePartProgram As OpenControl.GetActivePartProgram) + MyBase.New + Me.GetActivePartProgram = GetActivePartProgram + End Sub + End Class + + _ + Partial Public Class GetActivePartProgramResponse + + _ + Public GetActivePartProgramR As OpenControl.GetActivePartProgramR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetActivePartProgramR As OpenControl.GetActivePartProgramR) + MyBase.New + Me.GetActivePartProgramR = GetActivePartProgramR + End Sub + End Class + + ''' + _ + Partial Public Class GetPartProgramLines + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetPartProgramLinesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private pPLine1Field As String + + Private pPLine2Field As String + + Private pPLine3Field As String + + Private pPLine4Field As String + + Private pPLine5Field As String + + Private pPLine6Field As String + + Private pPLine7Field As String + + Private pPLine8Field As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property PPLine1() As String + Get + Return Me.pPLine1Field + End Get + Set + Me.pPLine1Field = value + Me.RaisePropertyChanged("PPLine1") + End Set + End Property + + ''' + _ + Public Property PPLine2() As String + Get + Return Me.pPLine2Field + End Get + Set + Me.pPLine2Field = value + Me.RaisePropertyChanged("PPLine2") + End Set + End Property + + ''' + _ + Public Property PPLine3() As String + Get + Return Me.pPLine3Field + End Get + Set + Me.pPLine3Field = value + Me.RaisePropertyChanged("PPLine3") + End Set + End Property + + ''' + _ + Public Property PPLine4() As String + Get + Return Me.pPLine4Field + End Get + Set + Me.pPLine4Field = value + Me.RaisePropertyChanged("PPLine4") + End Set + End Property + + ''' + _ + Public Property PPLine5() As String + Get + Return Me.pPLine5Field + End Get + Set + Me.pPLine5Field = value + Me.RaisePropertyChanged("PPLine5") + End Set + End Property + + ''' + _ + Public Property PPLine6() As String + Get + Return Me.pPLine6Field + End Get + Set + Me.pPLine6Field = value + Me.RaisePropertyChanged("PPLine6") + End Set + End Property + + ''' + _ + Public Property PPLine7() As String + Get + Return Me.pPLine7Field + End Get + Set + Me.pPLine7Field = value + Me.RaisePropertyChanged("PPLine7") + End Set + End Property + + ''' + _ + Public Property PPLine8() As String + Get + Return Me.pPLine8Field + End Get + Set + Me.pPLine8Field = value + Me.RaisePropertyChanged("PPLine8") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetPartProgramLinesRequest + + _ + Public GetPartProgramLines As OpenControl.GetPartProgramLines + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetPartProgramLines As OpenControl.GetPartProgramLines) + MyBase.New + Me.GetPartProgramLines = GetPartProgramLines + End Sub + End Class + + _ + Partial Public Class GetPartProgramLinesResponse + + _ + Public GetPartProgramLinesR As OpenControl.GetPartProgramLinesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetPartProgramLinesR As OpenControl.GetPartProgramLinesR) + MyBase.New + Me.GetPartProgramLinesR = GetPartProgramLinesR + End Sub + End Class + + ''' + _ + Partial Public Class GetAxOriginNum + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private axesNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property AxesNum() As UShort + Get + Return Me.axesNumField + End Get + Set + Me.axesNumField = value + Me.RaisePropertyChanged("AxesNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetAxOriginNumR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private axesNumField As UShort + + Private axOriginNumField() As AXORIGNUM + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property AxesNum() As UShort + Get + Return Me.axesNumField + End Get + Set + Me.axesNumField = value + Me.RaisePropertyChanged("AxesNum") + End Set + End Property + + ''' + _ + Public Property AxOriginNum() As AXORIGNUM() + Get + Return Me.axOriginNumField + End Get + Set + Me.axOriginNumField = value + Me.RaisePropertyChanged("AxOriginNum") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetAxOriginNumRequest + + _ + Public GetAxOriginNum As OpenControl.GetAxOriginNum + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxOriginNum As OpenControl.GetAxOriginNum) + MyBase.New + Me.GetAxOriginNum = GetAxOriginNum + End Sub + End Class + + _ + Partial Public Class GetAxOriginNumResponse + + _ + Public GetAxOriginNumR As OpenControl.GetAxOriginNumR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxOriginNumR As OpenControl.GetAxOriginNumR) + MyBase.New + Me.GetAxOriginNumR = GetAxOriginNumR + End Sub + End Class + + ''' + _ + Partial Public Class GetAxesPosition + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private axisNameField As Byte + + Private selectField As UShort + + Private numAxisField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + ''' + _ + Public Property [Select]() As UShort + Get + Return Me.selectField + End Get + Set + Me.selectField = value + Me.RaisePropertyChanged("Select") + End Set + End Property + + ''' + _ + Public Property NumAxis() As UShort + Get + Return Me.numAxisField + End Get + Set + Me.numAxisField = value + Me.RaisePropertyChanged("NumAxis") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetAxesPositionR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private numAxisField As UShort + + Private intPosField() As GETINTDATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property NumAxis() As UShort + Get + Return Me.numAxisField + End Get + Set + Me.numAxisField = value + Me.RaisePropertyChanged("NumAxis") + End Set + End Property + + ''' + _ + Public Property IntPos() As GETINTDATA() + Get + Return Me.intPosField + End Get + Set + Me.intPosField = value + Me.RaisePropertyChanged("IntPos") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetAxesPositionRequest + + _ + Public GetAxesPosition As OpenControl.GetAxesPosition + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxesPosition As OpenControl.GetAxesPosition) + MyBase.New + Me.GetAxesPosition = GetAxesPosition + End Sub + End Class + + _ + Partial Public Class GetAxesPositionResponse + + _ + Public GetAxesPositionR As OpenControl.GetAxesPositionR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxesPositionR As OpenControl.GetAxesPositionR) + MyBase.New + Me.GetAxesPositionR = GetAxesPositionR + End Sub + End Class + + ''' + _ + Partial Public Class GetNcInfo1 + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetNcInfo1R + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private getInfoField As GETINFO1DATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property GetInfo() As GETINFO1DATA + Get + Return Me.getInfoField + End Get + Set + Me.getInfoField = value + Me.RaisePropertyChanged("GetInfo") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetNcInfo1Request + + _ + Public GetNcInfo1 As OpenControl.GetNcInfo1 + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetNcInfo1 As OpenControl.GetNcInfo1) + MyBase.New + Me.GetNcInfo1 = GetNcInfo1 + End Sub + End Class + + _ + Partial Public Class GetNcInfo1Response + + _ + Public GetNcInfo1R As OpenControl.GetNcInfo1R + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetNcInfo1R As OpenControl.GetNcInfo1R) + MyBase.New + Me.GetNcInfo1R = GetNcInfo1R + End Sub + End Class + + ''' + _ + Partial Public Class GetNcInfo2 + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetNcInfo2R + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private getInfoField As GETINFO2DATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property GetInfo() As GETINFO2DATA + Get + Return Me.getInfoField + End Get + Set + Me.getInfoField = value + Me.RaisePropertyChanged("GetInfo") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetNcInfo2Request + + _ + Public GetNcInfo2 As OpenControl.GetNcInfo2 + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetNcInfo2 As OpenControl.GetNcInfo2) + MyBase.New + Me.GetNcInfo2 = GetNcInfo2 + End Sub + End Class + + _ + Partial Public Class GetNcInfo2Response + + _ + Public GetNcInfo2R As OpenControl.GetNcInfo2R + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetNcInfo2R As OpenControl.GetNcInfo2R) + MyBase.New + Me.GetNcInfo2R = GetNcInfo2R + End Sub + End Class + + ''' + _ + Partial Public Class GetToolNames + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetToolNamesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private toolField As String + + Private progToolField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Tool() As String + Get + Return Me.toolField + End Get + Set + Me.toolField = value + Me.RaisePropertyChanged("Tool") + End Set + End Property + + ''' + _ + Public Property ProgTool() As String + Get + Return Me.progToolField + End Get + Set + Me.progToolField = value + Me.RaisePropertyChanged("ProgTool") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetToolNamesRequest + + _ + Public GetToolNames As OpenControl.GetToolNames + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetToolNames As OpenControl.GetToolNames) + MyBase.New + Me.GetToolNames = GetToolNames + End Sub + End Class + + _ + Partial Public Class GetToolNamesResponse + + _ + Public GetToolNamesR As OpenControl.GetToolNamesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetToolNamesR As OpenControl.GetToolNamesR) + MyBase.New + Me.GetToolNamesR = GetToolNamesR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcessStatus + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetProcessStatusR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private procStatField As PROCDATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ProcStat() As PROCDATA + Get + Return Me.procStatField + End Get + Set + Me.procStatField = value + Me.RaisePropertyChanged("ProcStat") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcessStatusRequest + + _ + Public GetProcessStatus As OpenControl.GetProcessStatus + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcessStatus As OpenControl.GetProcessStatus) + MyBase.New + Me.GetProcessStatus = GetProcessStatus + End Sub + End Class + + _ + Partial Public Class GetProcessStatusResponse + + _ + Public GetProcessStatusR As OpenControl.GetProcessStatusR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcessStatusR As OpenControl.GetProcessStatusR) + MyBase.New + Me.GetProcessStatusR = GetProcessStatusR + End Sub + End Class + + ''' + _ + Partial Public Class GetBlkNum + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetBlkNumR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private getBlkNumField As GETBLKNUMDATA + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property GetBlkNum() As GETBLKNUMDATA + Get + Return Me.getBlkNumField + End Get + Set + Me.getBlkNumField = value + Me.RaisePropertyChanged("GetBlkNum") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetBlkNumRequest + + _ + Public GetBlkNum As OpenControl.GetBlkNum + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetBlkNum As OpenControl.GetBlkNum) + MyBase.New + Me.GetBlkNum = GetBlkNum + End Sub + End Class + + _ + Partial Public Class GetBlkNumResponse + + _ + Public GetBlkNumR As OpenControl.GetBlkNumR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetBlkNumR As OpenControl.GetBlkNumR) + MyBase.New + Me.GetBlkNumR = GetBlkNumR + End Sub + End Class + + ''' + _ + Partial Public Class ReadErrMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadErrMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private sysErrMsgField As ERRMSG + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property SysErrMsg() As ERRMSG + Get + Return Me.sysErrMsgField + End Get + Set + Me.sysErrMsgField = value + Me.RaisePropertyChanged("SysErrMsg") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadErrMsgRequest + + _ + Public ReadErrMsg As OpenControl.ReadErrMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadErrMsg As OpenControl.ReadErrMsg) + MyBase.New + Me.ReadErrMsg = ReadErrMsg + End Sub + End Class + + _ + Partial Public Class ReadErrMsgResponse + + _ + Public ReadErrMsgR As OpenControl.ReadErrMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadErrMsgR As OpenControl.ReadErrMsgR) + MyBase.New + Me.ReadErrMsgR = ReadErrMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadPartProgramMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadPartProgramMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private partProgramMsgField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property PartProgramMsg() As String + Get + Return Me.partProgramMsgField + End Get + Set + Me.partProgramMsgField = value + Me.RaisePropertyChanged("PartProgramMsg") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadPartProgramMsgRequest + + _ + Public ReadPartProgramMsg As OpenControl.ReadPartProgramMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadPartProgramMsg As OpenControl.ReadPartProgramMsg) + MyBase.New + Me.ReadPartProgramMsg = ReadPartProgramMsg + End Sub + End Class + + _ + Partial Public Class ReadPartProgramMsgResponse + + _ + Public ReadPartProgramMsgR As OpenControl.ReadPartProgramMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadPartProgramMsgR As OpenControl.ReadPartProgramMsgR) + MyBase.New + Me.ReadPartProgramMsgR = ReadPartProgramMsgR + End Sub + End Class + + ''' + _ + Partial Public Class GetGCode + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetGCodeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private gCodeField() As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property GCode() As UShort() + Get + Return Me.gCodeField + End Get + Set + Me.gCodeField = value + Me.RaisePropertyChanged("GCode") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetGCodeRequest + + _ + Public GetGCode As OpenControl.GetGCode + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetGCode As OpenControl.GetGCode) + MyBase.New + Me.GetGCode = GetGCode + End Sub + End Class + + _ + Partial Public Class GetGCodeResponse + + _ + Public GetGCodeR As OpenControl.GetGCodeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetGCodeR As OpenControl.GetGCodeR) + MyBase.New + Me.GetGCodeR = GetGCodeR + End Sub + End Class + + ''' + _ + Partial Public Class GetMCode + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetMCodeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private mCodeField() As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property MCode() As UShort() + Get + Return Me.mCodeField + End Get + Set + Me.mCodeField = value + Me.RaisePropertyChanged("MCode") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetMCodeRequest + + _ + Public GetMCode As OpenControl.GetMCode + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetMCode As OpenControl.GetMCode) + MyBase.New + Me.GetMCode = GetMCode + End Sub + End Class + + _ + Partial Public Class GetMCodeResponse + + _ + Public GetMCodeR As OpenControl.GetMCodeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetMCodeR As OpenControl.GetMCodeR) + MyBase.New + Me.GetMCodeR = GetMCodeR + End Sub + End Class + + ''' + _ + Partial Public Class SkipPProgBlock + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private numOfBlocksField As UInteger + + Private directionField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property NumOfBlocks() As UInteger + Get + Return Me.numOfBlocksField + End Get + Set + Me.numOfBlocksField = value + Me.RaisePropertyChanged("NumOfBlocks") + End Set + End Property + + ''' + _ + Public Property Direction() As UShort + Get + Return Me.directionField + End Get + Set + Me.directionField = value + Me.RaisePropertyChanged("Direction") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SkipPProgBlockR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SkipPProgBlockRequest + + _ + Public SkipPProgBlock As OpenControl.SkipPProgBlock + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SkipPProgBlock As OpenControl.SkipPProgBlock) + MyBase.New + Me.SkipPProgBlock = SkipPProgBlock + End Sub + End Class + + _ + Partial Public Class SkipPProgBlockResponse + + _ + Public SkipPProgBlockR As OpenControl.SkipPProgBlockR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SkipPProgBlockR As OpenControl.SkipPProgBlockR) + MyBase.New + Me.SkipPProgBlockR = SkipPProgBlockR + End Sub + End Class + + ''' + _ + Partial Public Class Ese + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private blockNumField As UInteger + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property BlockNum() As UInteger + Get + Return Me.blockNumField + End Get + Set + Me.blockNumField = value + Me.RaisePropertyChanged("BlockNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class EseR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class EseRequest + + _ + Public Ese As OpenControl.Ese + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Ese As OpenControl.Ese) + MyBase.New + Me.Ese = Ese + End Sub + End Class + + _ + Partial Public Class EseResponse + + _ + Public EseR As OpenControl.EseR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal EseR As OpenControl.EseR) + MyBase.New + Me.EseR = EseR + End Sub + End Class + + ''' + _ + Partial Public Class EseEx + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private modeField As RCMTOMODE + + Private maskField As UInteger + + Private blockNumField As UInteger + + Private lineNumField As UInteger + + Private brkValField As UInteger + + Private labelField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Mode() As RCMTOMODE + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + ''' + _ + Public Property Mask() As UInteger + Get + Return Me.maskField + End Get + Set + Me.maskField = value + Me.RaisePropertyChanged("Mask") + End Set + End Property + + ''' + _ + Public Property BlockNum() As UInteger + Get + Return Me.blockNumField + End Get + Set + Me.blockNumField = value + Me.RaisePropertyChanged("BlockNum") + End Set + End Property + + ''' + _ + Public Property LineNum() As UInteger + Get + Return Me.lineNumField + End Get + Set + Me.lineNumField = value + Me.RaisePropertyChanged("LineNum") + End Set + End Property + + ''' + _ + Public Property BrkVal() As UInteger + Get + Return Me.brkValField + End Get + Set + Me.brkValField = value + Me.RaisePropertyChanged("BrkVal") + End Set + End Property + + ''' + _ + Public Property Label() As String + Get + Return Me.labelField + End Get + Set + Me.labelField = value + Me.RaisePropertyChanged("Label") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum RCMTOMODE + + ''' + _ + RCMTOTO + + ''' + _ + RCMTONEXT + End Enum + + ''' + _ + Partial Public Class EseExR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class EseExRequest + + _ + Public EseEx As OpenControl.EseEx + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal EseEx As OpenControl.EseEx) + MyBase.New + Me.EseEx = EseEx + End Sub + End Class + + _ + Partial Public Class EseExResponse + + _ + Public EseExR As OpenControl.EseExR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal EseExR As OpenControl.EseExR) + MyBase.New + Me.EseExR = EseExR + End Sub + End Class + + ''' + _ + Partial Public Class Exe + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private funcField As UShort + + Private modeField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Func() As UShort + Get + Return Me.funcField + End Get + Set + Me.funcField = value + Me.RaisePropertyChanged("Func") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ExeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ExeRequest + + _ + Public Exe As OpenControl.Exe + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal Exe As OpenControl.Exe) + MyBase.New + Me.Exe = Exe + End Sub + End Class + + _ + Partial Public Class ExeResponse + + _ + Public ExeR As OpenControl.ExeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ExeR As OpenControl.ExeR) + MyBase.New + Me.ExeR = ExeR + End Sub + End Class + + ''' + _ + Partial Public Class AxesRef + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private numAxField As UShort + + Private axisNameField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property NumAx() As UShort + Get + Return Me.numAxField + End Get + Set + Me.numAxField = value + Me.RaisePropertyChanged("NumAx") + End Set + End Property + + ''' + _ + Public Property AxisName() As String + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + Me.RaisePropertyChanged("AxisName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class AxesRefR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class AxesRefRequest + + _ + Public AxesRef As OpenControl.AxesRef + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal AxesRef As OpenControl.AxesRef) + MyBase.New + Me.AxesRef = AxesRef + End Sub + End Class + + _ + Partial Public Class AxesRefResponse + + _ + Public AxesRefR As OpenControl.AxesRefR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal AxesRefR As OpenControl.AxesRefR) + MyBase.New + Me.AxesRefR = AxesRefR + End Sub + End Class + + ''' + _ + Partial Public Class DncInit + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private pathNameField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DncInitR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class DncInitRequest + + _ + Public DncInit As OpenControl.DncInit + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncInit As OpenControl.DncInit) + MyBase.New + Me.DncInit = DncInit + End Sub + End Class + + _ + Partial Public Class DncInitResponse + + _ + Public DncInitR As OpenControl.DncInitR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncInitR As OpenControl.DncInitR) + MyBase.New + Me.DncInitR = DncInitR + End Sub + End Class + + ''' + _ + Partial Public Class DncData + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + Private dataField As String + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + ''' + _ + Public Property Data() As String + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DncDataR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class DncDataRequest + + _ + Public DncData As OpenControl.DncData + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncData As OpenControl.DncData) + MyBase.New + Me.DncData = DncData + End Sub + End Class + + _ + Partial Public Class DncDataResponse + + _ + Public DncDataR As OpenControl.DncDataR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncDataR As OpenControl.DncDataR) + MyBase.New + Me.DncDataR = DncDataR + End Sub + End Class + + ''' + _ + Partial Public Class DncEof + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DncEofR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class DncEofRequest + + _ + Public DncEof As OpenControl.DncEof + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncEof As OpenControl.DncEof) + MyBase.New + Me.DncEof = DncEof + End Sub + End Class + + _ + Partial Public Class DncEofResponse + + _ + Public DncEofR As OpenControl.DncEofR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncEofR As OpenControl.DncEofR) + MyBase.New + Me.DncEofR = DncEofR + End Sub + End Class + + ''' + _ + Partial Public Class DncStop + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private procNumField As UShort + + ''' + _ + Public Property ProcNum() As UShort + Get + Return Me.procNumField + End Get + Set + Me.procNumField = value + Me.RaisePropertyChanged("ProcNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class DncStopR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class DncStopRequest + + _ + Public DncStop As OpenControl.DncStop + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncStop As OpenControl.DncStop) + MyBase.New + Me.DncStop = DncStop + End Sub + End Class + + _ + Partial Public Class DncStopResponse + + _ + Public DncStopR As OpenControl.DncStopR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal DncStopR As OpenControl.DncStopR) + MyBase.New + Me.DncStopR = DncStopR + End Sub + End Class + + ''' + _ + Partial Public Class GetAxesInfo3 + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisIdField As UShort + + Private axesNumField As UShort + + ''' + _ + Public Property AxisId() As UShort + Get + Return Me.axisIdField + End Get + Set + Me.axisIdField = value + Me.RaisePropertyChanged("AxisId") + End Set + End Property + + ''' + _ + Public Property AxesNum() As UShort + Get + Return Me.axesNumField + End Get + Set + Me.axesNumField = value + Me.RaisePropertyChanged("AxesNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetAxesInfo3R + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private axesNumField As UShort + + Private axOwnerListField() As UShort + + Private axNameListField() As Byte + + Private axTypeField() As UShort + + Private axInterfaceField() As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property AxesNum() As UShort + Get + Return Me.axesNumField + End Get + Set + Me.axesNumField = value + Me.RaisePropertyChanged("AxesNum") + End Set + End Property + + ''' + _ + Public Property AxOwnerList() As UShort() + Get + Return Me.axOwnerListField + End Get + Set + Me.axOwnerListField = value + Me.RaisePropertyChanged("AxOwnerList") + End Set + End Property + + ''' + _ + Public Property AxNameList() As Byte() + Get + Return Me.axNameListField + End Get + Set + Me.axNameListField = value + Me.RaisePropertyChanged("AxNameList") + End Set + End Property + + ''' + _ + Public Property AxType() As UShort() + Get + Return Me.axTypeField + End Get + Set + Me.axTypeField = value + Me.RaisePropertyChanged("AxType") + End Set + End Property + + ''' + _ + Public Property AxInterface() As UShort() + Get + Return Me.axInterfaceField + End Get + Set + Me.axInterfaceField = value + Me.RaisePropertyChanged("AxInterface") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetAxesInfo3Request + + _ + Public GetAxesInfo3 As OpenControl.GetAxesInfo3 + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxesInfo3 As OpenControl.GetAxesInfo3) + MyBase.New + Me.GetAxesInfo3 = GetAxesInfo3 + End Sub + End Class + + _ + Partial Public Class GetAxesInfo3Response + + _ + Public GetAxesInfo3R As OpenControl.GetAxesInfo3R + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAxesInfo3R As OpenControl.GetAxesInfo3R) + MyBase.New + Me.GetAxesInfo3R = GetAxesInfo3R + End Sub + End Class + + ''' + _ + Partial Public Class GetCodeNumber + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetCodeNumberR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private codeNumberField As String + + Private swVersionField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property CodeNumber() As String + Get + Return Me.codeNumberField + End Get + Set + Me.codeNumberField = value + Me.RaisePropertyChanged("CodeNumber") + End Set + End Property + + ''' + _ + Public Property SwVersion() As String + Get + Return Me.swVersionField + End Get + Set + Me.swVersionField = value + Me.RaisePropertyChanged("SwVersion") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCodeNumberRequest + + _ + Public GetCodeNumber As OpenControl.GetCodeNumber + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCodeNumber As OpenControl.GetCodeNumber) + MyBase.New + Me.GetCodeNumber = GetCodeNumber + End Sub + End Class + + _ + Partial Public Class GetCodeNumberResponse + + _ + Public GetCodeNumberR As OpenControl.GetCodeNumberR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCodeNumberR As OpenControl.GetCodeNumberR) + MyBase.New + Me.GetCodeNumberR = GetCodeNumberR + End Sub + End Class + + ''' + _ + Partial Public Class GetOptions + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetOptionsR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private optionField() As Byte + + Private securLevelField() As Byte + + Private swVersionField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property [Option]() As Byte() + Get + Return Me.optionField + End Get + Set + Me.optionField = value + Me.RaisePropertyChanged("Option") + End Set + End Property + + ''' + _ + Public Property SecurLevel() As Byte() + Get + Return Me.securLevelField + End Get + Set + Me.securLevelField = value + Me.RaisePropertyChanged("SecurLevel") + End Set + End Property + + ''' + _ + Public Property SwVersion() As String + Get + Return Me.swVersionField + End Get + Set + Me.swVersionField = value + Me.RaisePropertyChanged("SwVersion") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetOptionsRequest + + _ + Public GetOptions As OpenControl.GetOptions + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOptions As OpenControl.GetOptions) + MyBase.New + Me.GetOptions = GetOptions + End Sub + End Class + + _ + Partial Public Class GetOptionsResponse + + _ + Public GetOptionsR As OpenControl.GetOptionsR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetOptionsR As OpenControl.GetOptionsR) + MyBase.New + Me.GetOptionsR = GetOptionsR + End Sub + End Class + + ''' + _ + Partial Public Class GetDateTime + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetDateTimeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private yearField As UShort + + Private monthField As UShort + + Private dayField As UShort + + Private hourField As UShort + + Private minuteField As UShort + + Private secondField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Year() As UShort + Get + Return Me.yearField + End Get + Set + Me.yearField = value + Me.RaisePropertyChanged("Year") + End Set + End Property + + ''' + _ + Public Property Month() As UShort + Get + Return Me.monthField + End Get + Set + Me.monthField = value + Me.RaisePropertyChanged("Month") + End Set + End Property + + ''' + _ + Public Property Day() As UShort + Get + Return Me.dayField + End Get + Set + Me.dayField = value + Me.RaisePropertyChanged("Day") + End Set + End Property + + ''' + _ + Public Property Hour() As UShort + Get + Return Me.hourField + End Get + Set + Me.hourField = value + Me.RaisePropertyChanged("Hour") + End Set + End Property + + ''' + _ + Public Property Minute() As UShort + Get + Return Me.minuteField + End Get + Set + Me.minuteField = value + Me.RaisePropertyChanged("Minute") + End Set + End Property + + ''' + _ + Public Property Second() As UShort + Get + Return Me.secondField + End Get + Set + Me.secondField = value + Me.RaisePropertyChanged("Second") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetDateTimeRequest + + _ + Public GetDateTime As OpenControl.GetDateTime + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetDateTime As OpenControl.GetDateTime) + MyBase.New + Me.GetDateTime = GetDateTime + End Sub + End Class + + _ + Partial Public Class GetDateTimeResponse + + _ + Public GetDateTimeR As OpenControl.GetDateTimeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetDateTimeR As OpenControl.GetDateTimeR) + MyBase.New + Me.GetDateTimeR = GetDateTimeR + End Sub + End Class + + ''' + _ + Partial Public Class SetDateTime + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private yearField As UShort + + Private monthField As UShort + + Private dayField As UShort + + Private hourField As UShort + + Private minuteField As UShort + + Private secondField As UShort + + ''' + _ + Public Property Year() As UShort + Get + Return Me.yearField + End Get + Set + Me.yearField = value + Me.RaisePropertyChanged("Year") + End Set + End Property + + ''' + _ + Public Property Month() As UShort + Get + Return Me.monthField + End Get + Set + Me.monthField = value + Me.RaisePropertyChanged("Month") + End Set + End Property + + ''' + _ + Public Property Day() As UShort + Get + Return Me.dayField + End Get + Set + Me.dayField = value + Me.RaisePropertyChanged("Day") + End Set + End Property + + ''' + _ + Public Property Hour() As UShort + Get + Return Me.hourField + End Get + Set + Me.hourField = value + Me.RaisePropertyChanged("Hour") + End Set + End Property + + ''' + _ + Public Property Minute() As UShort + Get + Return Me.minuteField + End Get + Set + Me.minuteField = value + Me.RaisePropertyChanged("Minute") + End Set + End Property + + ''' + _ + Public Property Second() As UShort + Get + Return Me.secondField + End Get + Set + Me.secondField = value + Me.RaisePropertyChanged("Second") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetDateTimeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetDateTimeRequest + + _ + Public SetDateTime As OpenControl.SetDateTime + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetDateTime As OpenControl.SetDateTime) + MyBase.New + Me.SetDateTime = SetDateTime + End Sub + End Class + + _ + Partial Public Class SetDateTimeResponse + + _ + Public SetDateTimeR As OpenControl.SetDateTimeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetDateTimeR As OpenControl.SetDateTimeR) + MyBase.New + Me.SetDateTimeR = SetDateTimeR + End Sub + End Class + + ''' + _ + Partial Public Class GetSerialNumber + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetSerialNumberR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private serialNumberField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property SerialNumber() As String + Get + Return Me.serialNumberField + End Get + Set + Me.serialNumberField = value + Me.RaisePropertyChanged("SerialNumber") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetSerialNumberRequest + + _ + Public GetSerialNumber As OpenControl.GetSerialNumber + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSerialNumber As OpenControl.GetSerialNumber) + MyBase.New + Me.GetSerialNumber = GetSerialNumber + End Sub + End Class + + _ + Partial Public Class GetSerialNumberResponse + + _ + Public GetSerialNumberR As OpenControl.GetSerialNumberR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSerialNumberR As OpenControl.GetSerialNumberR) + MyBase.New + Me.GetSerialNumberR = GetSerialNumberR + End Sub + End Class + + ''' + _ + Partial Public Class PutFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private dataField As String + + Private sizeField As UInteger + + Private pathNameField As String + + ''' + _ + Public Property Data() As String + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class PutFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class PutFileRequest + + _ + Public PutFile As OpenControl.PutFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal PutFile As OpenControl.PutFile) + MyBase.New + Me.PutFile = PutFile + End Sub + End Class + + _ + Partial Public Class PutFileResponse + + _ + Public PutFileR As OpenControl.PutFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal PutFileR As OpenControl.PutFileR) + MyBase.New + Me.PutFileR = PutFileR + End Sub + End Class + + ''' + _ + Partial Public Class GetFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private sizeField As UInteger + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private sizeField As UInteger + + Private dataField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + ''' + _ + Public Property Data() As String + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetFileRequest + + _ + Public GetFile As OpenControl.GetFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetFile As OpenControl.GetFile) + MyBase.New + Me.GetFile = GetFile + End Sub + End Class + + _ + Partial Public Class GetFileResponse + + _ + Public GetFileR As OpenControl.GetFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetFileR As OpenControl.GetFileR) + MyBase.New + Me.GetFileR = GetFileR + End Sub + End Class + + ''' + _ + Partial Public Class PutBinaryFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private dataField() As Byte + + Private pathNameField As String + + ''' + _ + Public Property Data() As Byte() + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class PutBinaryFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class PutBinaryFileRequest + + _ + Public PutBinaryFile As OpenControl.PutBinaryFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal PutBinaryFile As OpenControl.PutBinaryFile) + MyBase.New + Me.PutBinaryFile = PutBinaryFile + End Sub + End Class + + _ + Partial Public Class PutBinaryFileResponse + + _ + Public PutBinaryFileR As OpenControl.PutBinaryFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal PutBinaryFileR As OpenControl.PutBinaryFileR) + MyBase.New + Me.PutBinaryFileR = PutBinaryFileR + End Sub + End Class + + ''' + _ + Partial Public Class GetBinaryFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private sizeField As UInteger + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetBinaryFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField() As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As Byte() + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetBinaryFileRequest + + _ + Public GetBinaryFile As OpenControl.GetBinaryFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetBinaryFile As OpenControl.GetBinaryFile) + MyBase.New + Me.GetBinaryFile = GetBinaryFile + End Sub + End Class + + _ + Partial Public Class GetBinaryFileResponse + + _ + Public GetBinaryFileR As OpenControl.GetBinaryFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetBinaryFileR As OpenControl.GetBinaryFileR) + MyBase.New + Me.GetBinaryFileR = GetBinaryFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSSetSecurityLevel + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private passwordField As String + + Private securityLevelField As SECURITYLEVEL + + ''' + _ + Public Property Password() As String + Get + Return Me.passwordField + End Get + Set + Me.passwordField = value + Me.RaisePropertyChanged("Password") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Public Enum SECURITYLEVEL + + ''' + _ + SECURITYLEVELADMIN + + ''' + _ + SECURITYLEVELSERVICE + + ''' + _ + SECURITYLEVELOEMADMIN + + ''' + _ + SECURITYLEVELOEMSERVICE + + ''' + _ + SECURITYLEVELUSERADMIN + + ''' + _ + SECURITYLEVELUSERSERVICE + End Enum + + ''' + _ + Partial Public Class LogFSSetSecurityLevelR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private oldSecurityLevelField As SECURITYLEVEL + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property OldSecurityLevel() As SECURITYLEVEL + Get + Return Me.oldSecurityLevelField + End Get + Set + Me.oldSecurityLevelField = value + Me.RaisePropertyChanged("OldSecurityLevel") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSSetSecurityLevelRequest + + _ + Public LogFSSetSecurityLevel As OpenControl.LogFSSetSecurityLevel + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSSetSecurityLevel As OpenControl.LogFSSetSecurityLevel) + MyBase.New + Me.LogFSSetSecurityLevel = LogFSSetSecurityLevel + End Sub + End Class + + _ + Partial Public Class LogFSSetSecurityLevelResponse + + _ + Public LogFSSetSecurityLevelR As OpenControl.LogFSSetSecurityLevelR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSSetSecurityLevelR As OpenControl.LogFSSetSecurityLevelR) + MyBase.New + Me.LogFSSetSecurityLevelR = LogFSSetSecurityLevelR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetSecurityLevel + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetSecurityLevelR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private securityLevelField As SECURITYLEVEL + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetSecurityLevelRequest + + _ + Public LogFSGetSecurityLevel As OpenControl.LogFSGetSecurityLevel + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetSecurityLevel As OpenControl.LogFSGetSecurityLevel) + MyBase.New + Me.LogFSGetSecurityLevel = LogFSGetSecurityLevel + End Sub + End Class + + _ + Partial Public Class LogFSGetSecurityLevelResponse + + _ + Public LogFSGetSecurityLevelR As OpenControl.LogFSGetSecurityLevelR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetSecurityLevelR As OpenControl.LogFSGetSecurityLevelR) + MyBase.New + Me.LogFSGetSecurityLevelR = LogFSGetSecurityLevelR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSLongFileNames + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSLongFileNamesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private useLongFileNamesField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property UseLongFileNames() As UShort + Get + Return Me.useLongFileNamesField + End Get + Set + Me.useLongFileNamesField = value + Me.RaisePropertyChanged("UseLongFileNames") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSLongFileNamesRequest + + _ + Public LogFSLongFileNames As OpenControl.LogFSLongFileNames + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSLongFileNames As OpenControl.LogFSLongFileNames) + MyBase.New + Me.LogFSLongFileNames = LogFSLongFileNames + End Sub + End Class + + _ + Partial Public Class LogFSLongFileNamesResponse + + _ + Public LogFSLongFileNamesR As OpenControl.LogFSLongFileNamesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSLongFileNamesR As OpenControl.LogFSLongFileNamesR) + MyBase.New + Me.LogFSLongFileNamesR = LogFSLongFileNamesR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetNumDrive + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetNumDriveR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private numHiddenDriveField As UShort + + Private numUserDriveField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property NumHiddenDrive() As UShort + Get + Return Me.numHiddenDriveField + End Get + Set + Me.numHiddenDriveField = value + Me.RaisePropertyChanged("NumHiddenDrive") + End Set + End Property + + ''' + _ + Public Property NumUserDrive() As UShort + Get + Return Me.numUserDriveField + End Get + Set + Me.numUserDriveField = value + Me.RaisePropertyChanged("NumUserDrive") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetNumDriveRequest + + _ + Public LogFSGetNumDrive As OpenControl.LogFSGetNumDrive + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetNumDrive As OpenControl.LogFSGetNumDrive) + MyBase.New + Me.LogFSGetNumDrive = LogFSGetNumDrive + End Sub + End Class + + _ + Partial Public Class LogFSGetNumDriveResponse + + _ + Public LogFSGetNumDriveR As OpenControl.LogFSGetNumDriveR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetNumDriveR As OpenControl.LogFSGetNumDriveR) + MyBase.New + Me.LogFSGetNumDriveR = LogFSGetNumDriveR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetDriveList + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private indexField As UShort + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetDriveListR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private driveNameField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetDriveListRequest + + _ + Public LogFSGetDriveList As OpenControl.LogFSGetDriveList + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetDriveList As OpenControl.LogFSGetDriveList) + MyBase.New + Me.LogFSGetDriveList = LogFSGetDriveList + End Sub + End Class + + _ + Partial Public Class LogFSGetDriveListResponse + + _ + Public LogFSGetDriveListR As OpenControl.LogFSGetDriveListR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetDriveListR As OpenControl.LogFSGetDriveListR) + MyBase.New + Me.LogFSGetDriveListR = LogFSGetDriveListR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetHiddenDriveList + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private indexField As UShort + + ''' + _ + Public Property Index() As UShort + Get + Return Me.indexField + End Get + Set + Me.indexField = value + Me.RaisePropertyChanged("Index") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetHiddenDriveListR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private driveNameField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetHiddenDriveListRequest + + _ + Public LogFSGetHiddenDriveList As OpenControl.LogFSGetHiddenDriveList + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetHiddenDriveList As OpenControl.LogFSGetHiddenDriveList) + MyBase.New + Me.LogFSGetHiddenDriveList = LogFSGetHiddenDriveList + End Sub + End Class + + _ + Partial Public Class LogFSGetHiddenDriveListResponse + + _ + Public LogFSGetHiddenDriveListR As OpenControl.LogFSGetHiddenDriveListR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetHiddenDriveListR As OpenControl.LogFSGetHiddenDriveListR) + MyBase.New + Me.LogFSGetHiddenDriveListR = LogFSGetHiddenDriveListR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetDrivePath + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private driveNameField As String + + Private securityLevelField As SECURITYLEVEL + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetDrivePathR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private drivePathField As String + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property DrivePath() As String + Get + Return Me.drivePathField + End Get + Set + Me.drivePathField = value + Me.RaisePropertyChanged("DrivePath") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetDrivePathRequest + + _ + Public LogFSGetDrivePath As OpenControl.LogFSGetDrivePath + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetDrivePath As OpenControl.LogFSGetDrivePath) + MyBase.New + Me.LogFSGetDrivePath = LogFSGetDrivePath + End Sub + End Class + + _ + Partial Public Class LogFSGetDrivePathResponse + + _ + Public LogFSGetDrivePathR As OpenControl.LogFSGetDrivePathR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetDrivePathR As OpenControl.LogFSGetDrivePathR) + MyBase.New + Me.LogFSGetDrivePathR = LogFSGetDrivePathR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSAddDrive + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private driveNameField As String + + Private pathNameField As String + + Private temporaryField As Boolean + + Private securityLevelField As SECURITYLEVEL + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Temporary() As Boolean + Get + Return Me.temporaryField + End Get + Set + Me.temporaryField = value + Me.RaisePropertyChanged("Temporary") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSAddDriveR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSAddDriveRequest + + _ + Public LogFSAddDrive As OpenControl.LogFSAddDrive + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSAddDrive As OpenControl.LogFSAddDrive) + MyBase.New + Me.LogFSAddDrive = LogFSAddDrive + End Sub + End Class + + _ + Partial Public Class LogFSAddDriveResponse + + _ + Public LogFSAddDriveR As OpenControl.LogFSAddDriveR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSAddDriveR As OpenControl.LogFSAddDriveR) + MyBase.New + Me.LogFSAddDriveR = LogFSAddDriveR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveDrive + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private driveNameField As String + + Private securityLevelField As SECURITYLEVEL + + ''' + _ + Public Property DriveName() As String + Get + Return Me.driveNameField + End Get + Set + Me.driveNameField = value + Me.RaisePropertyChanged("DriveName") + End Set + End Property + + ''' + _ + Public Property SecurityLevel() As SECURITYLEVEL + Get + Return Me.securityLevelField + End Get + Set + Me.securityLevelField = value + Me.RaisePropertyChanged("SecurityLevel") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveDriveR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSRemoveDriveRequest + + _ + Public LogFSRemoveDrive As OpenControl.LogFSRemoveDrive + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveDrive As OpenControl.LogFSRemoveDrive) + MyBase.New + Me.LogFSRemoveDrive = LogFSRemoveDrive + End Sub + End Class + + _ + Partial Public Class LogFSRemoveDriveResponse + + _ + Public LogFSRemoveDriveR As OpenControl.LogFSRemoveDriveR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveDriveR As OpenControl.LogFSRemoveDriveR) + MyBase.New + Me.LogFSRemoveDriveR = LogFSRemoveDriveR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSReloadDriveList + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSReloadDriveListR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSReloadDriveListRequest + + _ + Public LogFSReloadDriveList As OpenControl.LogFSReloadDriveList + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSReloadDriveList As OpenControl.LogFSReloadDriveList) + MyBase.New + Me.LogFSReloadDriveList = LogFSReloadDriveList + End Sub + End Class + + _ + Partial Public Class LogFSReloadDriveListResponse + + _ + Public LogFSReloadDriveListR As OpenControl.LogFSReloadDriveListR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSReloadDriveListR As OpenControl.LogFSReloadDriveListR) + MyBase.New + Me.LogFSReloadDriveListR = LogFSReloadDriveListR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCreateDir + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCreateDirR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSCreateDirRequest + + _ + Public LogFSCreateDir As OpenControl.LogFSCreateDir + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCreateDir As OpenControl.LogFSCreateDir) + MyBase.New + Me.LogFSCreateDir = LogFSCreateDir + End Sub + End Class + + _ + Partial Public Class LogFSCreateDirResponse + + _ + Public LogFSCreateDirR As OpenControl.LogFSCreateDirR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCreateDirR As OpenControl.LogFSCreateDirR) + MyBase.New + Me.LogFSCreateDirR = LogFSCreateDirR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCreateFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCreateFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSCreateFileRequest + + _ + Public LogFSCreateFile As OpenControl.LogFSCreateFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCreateFile As OpenControl.LogFSCreateFile) + MyBase.New + Me.LogFSCreateFile = LogFSCreateFile + End Sub + End Class + + _ + Partial Public Class LogFSCreateFileResponse + + _ + Public LogFSCreateFileR As OpenControl.LogFSCreateFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCreateFileR As OpenControl.LogFSCreateFileR) + MyBase.New + Me.LogFSCreateFileR = LogFSCreateFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetFileSize + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetFileSizeR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private sizeField As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Size() As UInteger + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + Me.RaisePropertyChanged("Size") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetFileSizeRequest + + _ + Public LogFSGetFileSize As OpenControl.LogFSGetFileSize + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetFileSize As OpenControl.LogFSGetFileSize) + MyBase.New + Me.LogFSGetFileSize = LogFSGetFileSize + End Sub + End Class + + _ + Partial Public Class LogFSGetFileSizeResponse + + _ + Public LogFSGetFileSizeR As OpenControl.LogFSGetFileSizeR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetFileSizeR As OpenControl.LogFSGetFileSizeR) + MyBase.New + Me.LogFSGetFileSizeR = LogFSGetFileSizeR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetFileAttrib + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetFileAttribR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private attribField As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Attrib() As UInteger + Get + Return Me.attribField + End Get + Set + Me.attribField = value + Me.RaisePropertyChanged("Attrib") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetFileAttribRequest + + _ + Public LogFSGetFileAttrib As OpenControl.LogFSGetFileAttrib + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetFileAttrib As OpenControl.LogFSGetFileAttrib) + MyBase.New + Me.LogFSGetFileAttrib = LogFSGetFileAttrib + End Sub + End Class + + _ + Partial Public Class LogFSGetFileAttribResponse + + _ + Public LogFSGetFileAttribR As OpenControl.LogFSGetFileAttribR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetFileAttribR As OpenControl.LogFSGetFileAttribR) + MyBase.New + Me.LogFSGetFileAttribR = LogFSGetFileAttribR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSSetFileAttrib + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private attribField As UInteger + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Attrib() As UInteger + Get + Return Me.attribField + End Get + Set + Me.attribField = value + Me.RaisePropertyChanged("Attrib") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSSetFileAttribR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSSetFileAttribRequest + + _ + Public LogFSSetFileAttrib As OpenControl.LogFSSetFileAttrib + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSSetFileAttrib As OpenControl.LogFSSetFileAttrib) + MyBase.New + Me.LogFSSetFileAttrib = LogFSSetFileAttrib + End Sub + End Class + + _ + Partial Public Class LogFSSetFileAttribResponse + + _ + Public LogFSSetFileAttribR As OpenControl.LogFSSetFileAttribR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSSetFileAttribR As OpenControl.LogFSSetFileAttribR) + MyBase.New + Me.LogFSSetFileAttribR = LogFSSetFileAttribR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSChangeFileAttrib + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private addField As UInteger + + Private removeField As UInteger + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Add() As UInteger + Get + Return Me.addField + End Get + Set + Me.addField = value + Me.RaisePropertyChanged("Add") + End Set + End Property + + ''' + _ + Public Property Remove() As UInteger + Get + Return Me.removeField + End Get + Set + Me.removeField = value + Me.RaisePropertyChanged("Remove") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSChangeFileAttribR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSChangeFileAttribRequest + + _ + Public LogFSChangeFileAttrib As OpenControl.LogFSChangeFileAttrib + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSChangeFileAttrib As OpenControl.LogFSChangeFileAttrib) + MyBase.New + Me.LogFSChangeFileAttrib = LogFSChangeFileAttrib + End Sub + End Class + + _ + Partial Public Class LogFSChangeFileAttribResponse + + _ + Public LogFSChangeFileAttribR As OpenControl.LogFSChangeFileAttribR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSChangeFileAttribR As OpenControl.LogFSChangeFileAttribR) + MyBase.New + Me.LogFSChangeFileAttribR = LogFSChangeFileAttribR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindFirst + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileNameField As String + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindFirstR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private findDataField As FILEFINDDATA + + Private finderField As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property FindData() As FILEFINDDATA + Get + Return Me.findDataField + End Get + Set + Me.findDataField = value + Me.RaisePropertyChanged("FindData") + End Set + End Property + + ''' + _ + Public Property Finder() As UInteger + Get + Return Me.finderField + End Get + Set + Me.finderField = value + Me.RaisePropertyChanged("Finder") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSFindFirstRequest + + _ + Public LogFSFindFirst As OpenControl.LogFSFindFirst + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindFirst As OpenControl.LogFSFindFirst) + MyBase.New + Me.LogFSFindFirst = LogFSFindFirst + End Sub + End Class + + _ + Partial Public Class LogFSFindFirstResponse + + _ + Public LogFSFindFirstR As OpenControl.LogFSFindFirstR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindFirstR As OpenControl.LogFSFindFirstR) + MyBase.New + Me.LogFSFindFirstR = LogFSFindFirstR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindNext + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private finderField As UInteger + + ''' + _ + Public Property Finder() As UInteger + Get + Return Me.finderField + End Get + Set + Me.finderField = value + Me.RaisePropertyChanged("Finder") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindNextR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private findDataField As FILEFINDDATA + + Private foundField As Boolean + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property FindData() As FILEFINDDATA + Get + Return Me.findDataField + End Get + Set + Me.findDataField = value + Me.RaisePropertyChanged("FindData") + End Set + End Property + + ''' + _ + Public Property Found() As Boolean + Get + Return Me.foundField + End Get + Set + Me.foundField = value + Me.RaisePropertyChanged("Found") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSFindNextRequest + + _ + Public LogFSFindNext As OpenControl.LogFSFindNext + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindNext As OpenControl.LogFSFindNext) + MyBase.New + Me.LogFSFindNext = LogFSFindNext + End Sub + End Class + + _ + Partial Public Class LogFSFindNextResponse + + _ + Public LogFSFindNextR As OpenControl.LogFSFindNextR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindNextR As OpenControl.LogFSFindNextR) + MyBase.New + Me.LogFSFindNextR = LogFSFindNextR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindClose + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private finderField As UInteger + + ''' + _ + Public Property Finder() As UInteger + Get + Return Me.finderField + End Get + Set + Me.finderField = value + Me.RaisePropertyChanged("Finder") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSFindCloseR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSFindCloseRequest + + _ + Public LogFSFindClose As OpenControl.LogFSFindClose + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindClose As OpenControl.LogFSFindClose) + MyBase.New + Me.LogFSFindClose = LogFSFindClose + End Sub + End Class + + _ + Partial Public Class LogFSFindCloseResponse + + _ + Public LogFSFindCloseR As OpenControl.LogFSFindCloseR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSFindCloseR As OpenControl.LogFSFindCloseR) + MyBase.New + Me.LogFSFindCloseR = LogFSFindCloseR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private fileNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + Me.RaisePropertyChanged("FileName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSRemoveFileRequest + + _ + Public LogFSRemoveFile As OpenControl.LogFSRemoveFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveFile As OpenControl.LogFSRemoveFile) + MyBase.New + Me.LogFSRemoveFile = LogFSRemoveFile + End Sub + End Class + + _ + Partial Public Class LogFSRemoveFileResponse + + _ + Public LogFSRemoveFileR As OpenControl.LogFSRemoveFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveFileR As OpenControl.LogFSRemoveFileR) + MyBase.New + Me.LogFSRemoveFileR = LogFSRemoveFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveDir + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRemoveDirR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSRemoveDirRequest + + _ + Public LogFSRemoveDir As OpenControl.LogFSRemoveDir + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveDir As OpenControl.LogFSRemoveDir) + MyBase.New + Me.LogFSRemoveDir = LogFSRemoveDir + End Sub + End Class + + _ + Partial Public Class LogFSRemoveDirResponse + + _ + Public LogFSRemoveDirR As OpenControl.LogFSRemoveDirR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRemoveDirR As OpenControl.LogFSRemoveDirR) + MyBase.New + Me.LogFSRemoveDirR = LogFSRemoveDirR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRename + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private newPathNameField As String + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property NewPathName() As String + Get + Return Me.newPathNameField + End Get + Set + Me.newPathNameField = value + Me.RaisePropertyChanged("NewPathName") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSRenameR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSRenameRequest + + _ + Public LogFSRename As OpenControl.LogFSRename + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRename As OpenControl.LogFSRename) + MyBase.New + Me.LogFSRename = LogFSRename + End Sub + End Class + + _ + Partial Public Class LogFSRenameResponse + + _ + Public LogFSRenameR As OpenControl.LogFSRenameR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSRenameR As OpenControl.LogFSRenameR) + MyBase.New + Me.LogFSRenameR = LogFSRenameR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCopyFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private newPathNameField As String + + Private failIfExistsField As Boolean + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property NewPathName() As String + Get + Return Me.newPathNameField + End Get + Set + Me.newPathNameField = value + Me.RaisePropertyChanged("NewPathName") + End Set + End Property + + ''' + _ + Public Property FailIfExists() As Boolean + Get + Return Me.failIfExistsField + End Get + Set + Me.failIfExistsField = value + Me.RaisePropertyChanged("FailIfExists") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCopyFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSCopyFileRequest + + _ + Public LogFSCopyFile As OpenControl.LogFSCopyFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCopyFile As OpenControl.LogFSCopyFile) + MyBase.New + Me.LogFSCopyFile = LogFSCopyFile + End Sub + End Class + + _ + Partial Public Class LogFSCopyFileResponse + + _ + Public LogFSCopyFileR As OpenControl.LogFSCopyFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCopyFileR As OpenControl.LogFSCopyFileR) + MyBase.New + Me.LogFSCopyFileR = LogFSCopyFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetInfo + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private selectorField As UInteger + + Private itemCounterField As UShort + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property Selector() As UInteger + Get + Return Me.selectorField + End Get + Set + Me.selectorField = value + Me.RaisePropertyChanged("Selector") + End Set + End Property + + ''' + _ + Public Property ItemCounter() As UShort + Get + Return Me.itemCounterField + End Get + Set + Me.itemCounterField = value + Me.RaisePropertyChanged("ItemCounter") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSGetInfoR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private bufferField() As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Buffer() As UInteger() + Get + Return Me.bufferField + End Get + Set + Me.bufferField = value + Me.RaisePropertyChanged("Buffer") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSGetInfoRequest + + _ + Public LogFSGetInfo As OpenControl.LogFSGetInfo + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetInfo As OpenControl.LogFSGetInfo) + MyBase.New + Me.LogFSGetInfo = LogFSGetInfo + End Sub + End Class + + _ + Partial Public Class LogFSGetInfoResponse + + _ + Public LogFSGetInfoR As OpenControl.LogFSGetInfoR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSGetInfoR As OpenControl.LogFSGetInfoR) + MyBase.New + Me.LogFSGetInfoR = LogFSGetInfoR + End Sub + End Class + + ''' + _ + Partial Public Class GetAvailableCustomEvents + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private maxEventsField As UShort + + ''' + _ + Public Property MaxEvents() As UShort + Get + Return Me.maxEventsField + End Get + Set + Me.maxEventsField = value + Me.RaisePropertyChanged("MaxEvents") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetAvailableCustomEventsR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private numEventsField As UShort + + Private eventDataField() As MONCUSTOMEVENTINFO + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property NumEvents() As UShort + Get + Return Me.numEventsField + End Get + Set + Me.numEventsField = value + Me.RaisePropertyChanged("NumEvents") + End Set + End Property + + ''' + _ + Public Property EventData() As MONCUSTOMEVENTINFO() + Get + Return Me.eventDataField + End Get + Set + Me.eventDataField = value + Me.RaisePropertyChanged("EventData") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetAvailableCustomEventsRequest + + _ + Public GetAvailableCustomEvents As OpenControl.GetAvailableCustomEvents + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAvailableCustomEvents As OpenControl.GetAvailableCustomEvents) + MyBase.New + Me.GetAvailableCustomEvents = GetAvailableCustomEvents + End Sub + End Class + + _ + Partial Public Class GetAvailableCustomEventsResponse + + _ + Public GetAvailableCustomEventsR As OpenControl.GetAvailableCustomEventsR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetAvailableCustomEventsR As OpenControl.GetAvailableCustomEventsR) + MyBase.New + Me.GetAvailableCustomEventsR = GetAvailableCustomEventsR + End Sub + End Class + + ''' + _ + Partial Public Class GetSysTick + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetSysTickR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private sysTickField As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property SysTick() As Double + Get + Return Me.sysTickField + End Get + Set + Me.sysTickField = value + Me.RaisePropertyChanged("SysTick") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetSysTickRequest + + _ + Public GetSysTick As OpenControl.GetSysTick + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSysTick As OpenControl.GetSysTick) + MyBase.New + Me.GetSysTick = GetSysTick + End Sub + End Class + + _ + Partial Public Class GetSysTickResponse + + _ + Public GetSysTickR As OpenControl.GetSysTickR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetSysTickR As OpenControl.GetSysTickR) + MyBase.New + Me.GetSysTickR = GetSysTickR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcessConfNum + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetProcessConfNumR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private processConfNumField As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ProcessConfNum() As Byte + Get + Return Me.processConfNumField + End Get + Set + Me.processConfNumField = value + Me.RaisePropertyChanged("ProcessConfNum") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcessConfNumRequest + + _ + Public GetProcessConfNum As OpenControl.GetProcessConfNum + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcessConfNum As OpenControl.GetProcessConfNum) + MyBase.New + Me.GetProcessConfNum = GetProcessConfNum + End Sub + End Class + + _ + Partial Public Class GetProcessConfNumResponse + + _ + Public GetProcessConfNumR As OpenControl.GetProcessConfNumR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcessConfNumR As OpenControl.GetProcessConfNumR) + MyBase.New + Me.GetProcessConfNumR = GetProcessConfNumR + End Sub + End Class + + ''' + _ + Partial Public Class MonOpenChannel + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private synchronizedField As Boolean + + ''' + _ + Public Property Synchronized() As Boolean + Get + Return Me.synchronizedField + End Get + Set + Me.synchronizedField = value + Me.RaisePropertyChanged("Synchronized") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonOpenChannelR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private channelIDField As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonOpenChannelRequest + + _ + Public MonOpenChannel As OpenControl.MonOpenChannel + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonOpenChannel As OpenControl.MonOpenChannel) + MyBase.New + Me.MonOpenChannel = MonOpenChannel + End Sub + End Class + + _ + Partial Public Class MonOpenChannelResponse + + _ + Public MonOpenChannelR As OpenControl.MonOpenChannelR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonOpenChannelR As OpenControl.MonOpenChannelR) + MyBase.New + Me.MonOpenChannelR = MonOpenChannelR + End Sub + End Class + + ''' + _ + Partial Public Class MonCloseChannel + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonCloseChannelR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonCloseChannelRequest + + _ + Public MonCloseChannel As OpenControl.MonCloseChannel + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonCloseChannel As OpenControl.MonCloseChannel) + MyBase.New + Me.MonCloseChannel = MonCloseChannel + End Sub + End Class + + _ + Partial Public Class MonCloseChannelResponse + + _ + Public MonCloseChannelR As OpenControl.MonCloseChannelR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonCloseChannelR As OpenControl.MonCloseChannelR) + MyBase.New + Me.MonCloseChannelR = MonCloseChannelR + End Sub + End Class + + ''' + _ + Partial Public Class MonAddVariable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + Private varDescrField As MONVARDESCR + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + ''' + _ + Public Property VarDescr() As MONVARDESCR + Get + Return Me.varDescrField + End Get + Set + Me.varDescrField = value + Me.RaisePropertyChanged("VarDescr") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonAddVariableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private variableIDField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property VariableID() As UShort + Get + Return Me.variableIDField + End Get + Set + Me.variableIDField = value + Me.RaisePropertyChanged("VariableID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonAddVariableRequest + + _ + Public MonAddVariable As OpenControl.MonAddVariable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonAddVariable As OpenControl.MonAddVariable) + MyBase.New + Me.MonAddVariable = MonAddVariable + End Sub + End Class + + _ + Partial Public Class MonAddVariableResponse + + _ + Public MonAddVariableR As OpenControl.MonAddVariableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonAddVariableR As OpenControl.MonAddVariableR) + MyBase.New + Me.MonAddVariableR = MonAddVariableR + End Sub + End Class + + ''' + _ + Partial Public Class MonDeleteVariable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + Private variableIDField As UShort + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + ''' + _ + Public Property VariableID() As UShort + Get + Return Me.variableIDField + End Get + Set + Me.variableIDField = value + Me.RaisePropertyChanged("VariableID") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonDeleteVariableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonDeleteVariableRequest + + _ + Public MonDeleteVariable As OpenControl.MonDeleteVariable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonDeleteVariable As OpenControl.MonDeleteVariable) + MyBase.New + Me.MonDeleteVariable = MonDeleteVariable + End Sub + End Class + + _ + Partial Public Class MonDeleteVariableResponse + + _ + Public MonDeleteVariableR As OpenControl.MonDeleteVariableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonDeleteVariableR As OpenControl.MonDeleteVariableR) + MyBase.New + Me.MonDeleteVariableR = MonDeleteVariableR + End Sub + End Class + + ''' + _ + Partial Public Class MonStartSampling + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonStartSamplingR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonStartSamplingRequest + + _ + Public MonStartSampling As OpenControl.MonStartSampling + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonStartSampling As OpenControl.MonStartSampling) + MyBase.New + Me.MonStartSampling = MonStartSampling + End Sub + End Class + + _ + Partial Public Class MonStartSamplingResponse + + _ + Public MonStartSamplingR As OpenControl.MonStartSamplingR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonStartSamplingR As OpenControl.MonStartSamplingR) + MyBase.New + Me.MonStartSamplingR = MonStartSamplingR + End Sub + End Class + + ''' + _ + Partial Public Class MonStopSampling + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonStopSamplingR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonStopSamplingRequest + + _ + Public MonStopSampling As OpenControl.MonStopSampling + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonStopSampling As OpenControl.MonStopSampling) + MyBase.New + Me.MonStopSampling = MonStopSampling + End Sub + End Class + + _ + Partial Public Class MonStopSamplingResponse + + _ + Public MonStopSamplingR As OpenControl.MonStopSamplingR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonStopSamplingR As OpenControl.MonStopSamplingR) + MyBase.New + Me.MonStopSamplingR = MonStopSamplingR + End Sub + End Class + + ''' + _ + Partial Public Class MonGetVariable + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private channelIDField As UInteger + + Private variableIDField As UShort + + Private maxSamplesField As UShort + + ''' + _ + Public Property ChannelID() As UInteger + Get + Return Me.channelIDField + End Get + Set + Me.channelIDField = value + Me.RaisePropertyChanged("ChannelID") + End Set + End Property + + ''' + _ + Public Property VariableID() As UShort + Get + Return Me.variableIDField + End Get + Set + Me.variableIDField = value + Me.RaisePropertyChanged("VariableID") + End Set + End Property + + ''' + _ + Public Property MaxSamples() As UShort + Get + Return Me.maxSamplesField + End Get + Set + Me.maxSamplesField = value + Me.RaisePropertyChanged("MaxSamples") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class MonGetVariableR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private numSampleReadField As UShort + + Private dataBufferField() As Double + + Private timeBufferField() As Long + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property NumSampleRead() As UShort + Get + Return Me.numSampleReadField + End Get + Set + Me.numSampleReadField = value + Me.RaisePropertyChanged("NumSampleRead") + End Set + End Property + + ''' + _ + Public Property DataBuffer() As Double() + Get + Return Me.dataBufferField + End Get + Set + Me.dataBufferField = value + Me.RaisePropertyChanged("DataBuffer") + End Set + End Property + + ''' + _ + Public Property TimeBuffer() As Long() + Get + Return Me.timeBufferField + End Get + Set + Me.timeBufferField = value + Me.RaisePropertyChanged("TimeBuffer") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class MonGetVariableRequest + + _ + Public MonGetVariable As OpenControl.MonGetVariable + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonGetVariable As OpenControl.MonGetVariable) + MyBase.New + Me.MonGetVariable = MonGetVariable + End Sub + End Class + + _ + Partial Public Class MonGetVariableResponse + + _ + Public MonGetVariableR As OpenControl.MonGetVariableR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal MonGetVariableR As OpenControl.MonGetVariableR) + MyBase.New + Me.MonGetVariableR = MonGetVariableR + End Sub + End Class + + ''' + _ + Partial Public Class CheckHistory + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class CheckHistoryR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private thisBootMsgCounterField() As UInteger + + Private allBootMsgCounterField() As UInteger + + Private thisBootIDField() As UInteger + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ThisBootMsgCounter() As UInteger() + Get + Return Me.thisBootMsgCounterField + End Get + Set + Me.thisBootMsgCounterField = value + Me.RaisePropertyChanged("ThisBootMsgCounter") + End Set + End Property + + ''' + _ + Public Property AllBootMsgCounter() As UInteger() + Get + Return Me.allBootMsgCounterField + End Get + Set + Me.allBootMsgCounterField = value + Me.RaisePropertyChanged("AllBootMsgCounter") + End Set + End Property + + ''' + _ + Public Property ThisBootID() As UInteger() + Get + Return Me.thisBootIDField + End Get + Set + Me.thisBootIDField = value + Me.RaisePropertyChanged("ThisBootID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class CheckHistoryRequest + + _ + Public CheckHistory As OpenControl.CheckHistory + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal CheckHistory As OpenControl.CheckHistory) + MyBase.New + Me.CheckHistory = CheckHistory + End Sub + End Class + + _ + Partial Public Class CheckHistoryResponse + + _ + Public CheckHistoryR As OpenControl.CheckHistoryR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal CheckHistoryR As OpenControl.CheckHistoryR) + MyBase.New + Me.CheckHistoryR = CheckHistoryR + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryEmergMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private readModeField As Integer + + Private recNumField As UInteger + + ''' + _ + Public Property ReadMode() As Integer + Get + Return Me.readModeField + End Get + Set + Me.readModeField = value + Me.RaisePropertyChanged("ReadMode") + End Set + End Property + + ''' + _ + Public Property RecNum() As UInteger + Get + Return Me.recNumField + End Get + Set + Me.recNumField = value + Me.RaisePropertyChanged("RecNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryEmergMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGEMERGENCY + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGEMERGENCY + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadHistoryEmergMsgRequest + + _ + Public ReadHistoryEmergMsg As OpenControl.ReadHistoryEmergMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryEmergMsg As OpenControl.ReadHistoryEmergMsg) + MyBase.New + Me.ReadHistoryEmergMsg = ReadHistoryEmergMsg + End Sub + End Class + + _ + Partial Public Class ReadHistoryEmergMsgResponse + + _ + Public ReadHistoryEmergMsgR As OpenControl.ReadHistoryEmergMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryEmergMsgR As OpenControl.ReadHistoryEmergMsgR) + MyBase.New + Me.ReadHistoryEmergMsgR = ReadHistoryEmergMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryErrorMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private readModeField As Integer + + Private recNumField As UInteger + + ''' + _ + Public Property ReadMode() As Integer + Get + Return Me.readModeField + End Get + Set + Me.readModeField = value + Me.RaisePropertyChanged("ReadMode") + End Set + End Property + + ''' + _ + Public Property RecNum() As UInteger + Get + Return Me.recNumField + End Get + Set + Me.recNumField = value + Me.RaisePropertyChanged("RecNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryErrorMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGERROR + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGERROR + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadHistoryErrorMsgRequest + + _ + Public ReadHistoryErrorMsg As OpenControl.ReadHistoryErrorMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryErrorMsg As OpenControl.ReadHistoryErrorMsg) + MyBase.New + Me.ReadHistoryErrorMsg = ReadHistoryErrorMsg + End Sub + End Class + + _ + Partial Public Class ReadHistoryErrorMsgResponse + + _ + Public ReadHistoryErrorMsgR As OpenControl.ReadHistoryErrorMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryErrorMsgR As OpenControl.ReadHistoryErrorMsgR) + MyBase.New + Me.ReadHistoryErrorMsgR = ReadHistoryErrorMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryLogMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private noHistoryField As Integer + + Private readModeField As Integer + + Private recNumField As UInteger + + ''' + _ + Public Property NoHistory() As Integer + Get + Return Me.noHistoryField + End Get + Set + Me.noHistoryField = value + Me.RaisePropertyChanged("NoHistory") + End Set + End Property + + ''' + _ + Public Property ReadMode() As Integer + Get + Return Me.readModeField + End Get + Set + Me.readModeField = value + Me.RaisePropertyChanged("ReadMode") + End Set + End Property + + ''' + _ + Public Property RecNum() As UInteger + Get + Return Me.recNumField + End Get + Set + Me.recNumField = value + Me.RaisePropertyChanged("RecNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryLogMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGLOGS + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGLOGS + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadHistoryLogMsgRequest + + _ + Public ReadHistoryLogMsg As OpenControl.ReadHistoryLogMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryLogMsg As OpenControl.ReadHistoryLogMsg) + MyBase.New + Me.ReadHistoryLogMsg = ReadHistoryLogMsg + End Sub + End Class + + _ + Partial Public Class ReadHistoryLogMsgResponse + + _ + Public ReadHistoryLogMsgR As OpenControl.ReadHistoryLogMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryLogMsgR As OpenControl.ReadHistoryLogMsgR) + MyBase.New + Me.ReadHistoryLogMsgR = ReadHistoryLogMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryAnomalyMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private readModeField As Integer + + Private recNumField As UInteger + + ''' + _ + Public Property ReadMode() As Integer + Get + Return Me.readModeField + End Get + Set + Me.readModeField = value + Me.RaisePropertyChanged("ReadMode") + End Set + End Property + + ''' + _ + Public Property RecNum() As UInteger + Get + Return Me.recNumField + End Get + Set + Me.recNumField = value + Me.RaisePropertyChanged("RecNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadHistoryAnomalyMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGANOMALY + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGANOMALY + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadHistoryAnomalyMsgRequest + + _ + Public ReadHistoryAnomalyMsg As OpenControl.ReadHistoryAnomalyMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryAnomalyMsg As OpenControl.ReadHistoryAnomalyMsg) + MyBase.New + Me.ReadHistoryAnomalyMsg = ReadHistoryAnomalyMsg + End Sub + End Class + + _ + Partial Public Class ReadHistoryAnomalyMsgResponse + + _ + Public ReadHistoryAnomalyMsgR As OpenControl.ReadHistoryAnomalyMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadHistoryAnomalyMsgR As OpenControl.ReadHistoryAnomalyMsgR) + MyBase.New + Me.ReadHistoryAnomalyMsgR = ReadHistoryAnomalyMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentErrorMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentErrorMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGERROR + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGERROR + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadCurrentErrorMsgRequest + + _ + Public ReadCurrentErrorMsg As OpenControl.ReadCurrentErrorMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentErrorMsg As OpenControl.ReadCurrentErrorMsg) + MyBase.New + Me.ReadCurrentErrorMsg = ReadCurrentErrorMsg + End Sub + End Class + + _ + Partial Public Class ReadCurrentErrorMsgResponse + + _ + Public ReadCurrentErrorMsgR As OpenControl.ReadCurrentErrorMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentErrorMsgR As OpenControl.ReadCurrentErrorMsgR) + MyBase.New + Me.ReadCurrentErrorMsgR = ReadCurrentErrorMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentEmergMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentEmergMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGEMERGENCY + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGEMERGENCY + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadCurrentEmergMsgRequest + + _ + Public ReadCurrentEmergMsg As OpenControl.ReadCurrentEmergMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentEmergMsg As OpenControl.ReadCurrentEmergMsg) + MyBase.New + Me.ReadCurrentEmergMsg = ReadCurrentEmergMsg + End Sub + End Class + + _ + Partial Public Class ReadCurrentEmergMsgResponse + + _ + Public ReadCurrentEmergMsgR As OpenControl.ReadCurrentEmergMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentEmergMsgR As OpenControl.ReadCurrentEmergMsgR) + MyBase.New + Me.ReadCurrentEmergMsgR = ReadCurrentEmergMsgR + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentAnomalyMsg + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadCurrentAnomalyMsgR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataField As MSGANOMALY + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Data() As MSGANOMALY + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadCurrentAnomalyMsgRequest + + _ + Public ReadCurrentAnomalyMsg As OpenControl.ReadCurrentAnomalyMsg + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentAnomalyMsg As OpenControl.ReadCurrentAnomalyMsg) + MyBase.New + Me.ReadCurrentAnomalyMsg = ReadCurrentAnomalyMsg + End Sub + End Class + + _ + Partial Public Class ReadCurrentAnomalyMsgResponse + + _ + Public ReadCurrentAnomalyMsgR As OpenControl.ReadCurrentAnomalyMsgR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadCurrentAnomalyMsgR As OpenControl.ReadCurrentAnomalyMsgR) + MyBase.New + Me.ReadCurrentAnomalyMsgR = ReadCurrentAnomalyMsgR + End Sub + End Class + + ''' + _ + Partial Public Class GetPTechSizes + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetPTechSizesR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private ind1Field As UShort + + Private ind2Field As UShort + + Private ind3Field As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Ind1() As UShort + Get + Return Me.ind1Field + End Get + Set + Me.ind1Field = value + Me.RaisePropertyChanged("Ind1") + End Set + End Property + + ''' + _ + Public Property Ind2() As UShort + Get + Return Me.ind2Field + End Get + Set + Me.ind2Field = value + Me.RaisePropertyChanged("Ind2") + End Set + End Property + + ''' + _ + Public Property Ind3() As UShort + Get + Return Me.ind3Field + End Get + Set + Me.ind3Field = value + Me.RaisePropertyChanged("Ind3") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetPTechSizesRequest + + _ + Public GetPTechSizes As OpenControl.GetPTechSizes + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetPTechSizes As OpenControl.GetPTechSizes) + MyBase.New + Me.GetPTechSizes = GetPTechSizes + End Sub + End Class + + _ + Partial Public Class GetPTechSizesResponse + + _ + Public GetPTechSizesR As OpenControl.GetPTechSizesR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetPTechSizesR As OpenControl.GetPTechSizesR) + MyBase.New + Me.GetPTechSizesR = GetPTechSizesR + End Sub + End Class + + ''' + _ + Partial Public Class LoadPTech + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private pPPathNameField As String + + Private writeModeField As UShort + + Private sheetField As UShort + + Private lineField As UShort + + Private columnField As UShort + + Private numVarField As UShort + + Private dataField() As Double + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property PPPathName() As String + Get + Return Me.pPPathNameField + End Get + Set + Me.pPPathNameField = value + Me.RaisePropertyChanged("PPPathName") + End Set + End Property + + ''' + _ + Public Property WriteMode() As UShort + Get + Return Me.writeModeField + End Get + Set + Me.writeModeField = value + Me.RaisePropertyChanged("WriteMode") + End Set + End Property + + ''' + _ + Public Property Sheet() As UShort + Get + Return Me.sheetField + End Get + Set + Me.sheetField = value + Me.RaisePropertyChanged("Sheet") + End Set + End Property + + ''' + _ + Public Property Line() As UShort + Get + Return Me.lineField + End Get + Set + Me.lineField = value + Me.RaisePropertyChanged("Line") + End Set + End Property + + ''' + _ + Public Property Column() As UShort + Get + Return Me.columnField + End Get + Set + Me.columnField = value + Me.RaisePropertyChanged("Column") + End Set + End Property + + ''' + _ + Public Property NumVar() As UShort + Get + Return Me.numVarField + End Get + Set + Me.numVarField = value + Me.RaisePropertyChanged("NumVar") + End Set + End Property + + ''' + _ + Public Property Data() As Double() + Get + Return Me.dataField + End Get + Set + Me.dataField = value + Me.RaisePropertyChanged("Data") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LoadPTechR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LoadPTechRequest + + _ + Public LoadPTech As OpenControl.LoadPTech + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LoadPTech As OpenControl.LoadPTech) + MyBase.New + Me.LoadPTech = LoadPTech + End Sub + End Class + + _ + Partial Public Class LoadPTechResponse + + _ + Public LoadPTechR As OpenControl.LoadPTechR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LoadPTechR As OpenControl.LoadPTechR) + MyBase.New + Me.LoadPTechR = LoadPTechR + End Sub + End Class + + ''' + _ + Partial Public Class GetMarkerInfo + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private requestField As Byte + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Request() As Byte + Get + Return Me.requestField + End Get + Set + Me.requestField = value + Me.RaisePropertyChanged("Request") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetMarkerInfoR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private markerInfoField As MARKERINFO + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property MarkerInfo() As MARKERINFO + Get + Return Me.markerInfoField + End Get + Set + Me.markerInfoField = value + Me.RaisePropertyChanged("MarkerInfo") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetMarkerInfoRequest + + _ + Public GetMarkerInfo As OpenControl.GetMarkerInfo + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetMarkerInfo As OpenControl.GetMarkerInfo) + MyBase.New + Me.GetMarkerInfo = GetMarkerInfo + End Sub + End Class + + _ + Partial Public Class GetMarkerInfoResponse + + _ + Public GetMarkerInfoR As OpenControl.GetMarkerInfoR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetMarkerInfoR As OpenControl.GetMarkerInfoR) + MyBase.New + Me.GetMarkerInfoR = GetMarkerInfoR + End Sub + End Class + + ''' + _ + Partial Public Class ManagePartProgram + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private modeField As UShort + + Private pPPathField As String + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + ''' + _ + Public Property PPPath() As String + Get + Return Me.pPPathField + End Get + Set + Me.pPPathField = value + Me.RaisePropertyChanged("PPPath") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ManagePartProgramR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errStringField() As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrString() As Byte() + Get + Return Me.errStringField + End Get + Set + Me.errStringField = value + Me.RaisePropertyChanged("ErrString") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ManagePartProgramRequest + + _ + Public ManagePartProgram As OpenControl.ManagePartProgram + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ManagePartProgram As OpenControl.ManagePartProgram) + MyBase.New + Me.ManagePartProgram = ManagePartProgram + End Sub + End Class + + _ + Partial Public Class ManagePartProgramResponse + + _ + Public ManagePartProgramR As OpenControl.ManagePartProgramR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ManagePartProgramR As OpenControl.ManagePartProgramR) + MyBase.New + Me.ManagePartProgramR = ManagePartProgramR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSOpenFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private pathNameField As String + + Private writeModeField As Boolean + + Private dOSDateLastWriteField As UShort + + Private dOSTimeLastWriteField As UShort + + ''' + _ + Public Property PathName() As String + Get + Return Me.pathNameField + End Get + Set + Me.pathNameField = value + Me.RaisePropertyChanged("PathName") + End Set + End Property + + ''' + _ + Public Property WriteMode() As Boolean + Get + Return Me.writeModeField + End Get + Set + Me.writeModeField = value + Me.RaisePropertyChanged("WriteMode") + End Set + End Property + + ''' + _ + Public Property DOSDateLastWrite() As UShort + Get + Return Me.dOSDateLastWriteField + End Get + Set + Me.dOSDateLastWriteField = value + Me.RaisePropertyChanged("DOSDateLastWrite") + End Set + End Property + + ''' + _ + Public Property DOSTimeLastWrite() As UShort + Get + Return Me.dOSTimeLastWriteField + End Get + Set + Me.dOSTimeLastWriteField = value + Me.RaisePropertyChanged("DOSTimeLastWrite") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSOpenFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private fileIDField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSOpenFileRequest + + _ + Public LogFSOpenFile As OpenControl.LogFSOpenFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSOpenFile As OpenControl.LogFSOpenFile) + MyBase.New + Me.LogFSOpenFile = LogFSOpenFile + End Sub + End Class + + _ + Partial Public Class LogFSOpenFileResponse + + _ + Public LogFSOpenFileR As OpenControl.LogFSOpenFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSOpenFileR As OpenControl.LogFSOpenFileR) + MyBase.New + Me.LogFSOpenFileR = LogFSOpenFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCloseFile + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileIDField As UShort + + Private transactionField As UShort + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property Transaction() As UShort + Get + Return Me.transactionField + End Get + Set + Me.transactionField = value + Me.RaisePropertyChanged("Transaction") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSCloseFileR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private fileIDField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSCloseFileRequest + + _ + Public LogFSCloseFile As OpenControl.LogFSCloseFile + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCloseFile As OpenControl.LogFSCloseFile) + MyBase.New + Me.LogFSCloseFile = LogFSCloseFile + End Sub + End Class + + _ + Partial Public Class LogFSCloseFileResponse + + _ + Public LogFSCloseFileR As OpenControl.LogFSCloseFileR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSCloseFileR As OpenControl.LogFSCloseFileR) + MyBase.New + Me.LogFSCloseFileR = LogFSCloseFileR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSWriteRecord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileIDField As UShort + + Private transactionField As UShort + + Private recordLenField As UInteger + + Private recordField() As Byte + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property Transaction() As UShort + Get + Return Me.transactionField + End Get + Set + Me.transactionField = value + Me.RaisePropertyChanged("Transaction") + End Set + End Property + + ''' + _ + Public Property RecordLen() As UInteger + Get + Return Me.recordLenField + End Get + Set + Me.recordLenField = value + Me.RaisePropertyChanged("RecordLen") + End Set + End Property + + ''' + _ + Public Property Record() As Byte() + Get + Return Me.recordField + End Get + Set + Me.recordField = value + Me.RaisePropertyChanged("Record") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSWriteRecordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSWriteRecordRequest + + _ + Public LogFSWriteRecord As OpenControl.LogFSWriteRecord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSWriteRecord As OpenControl.LogFSWriteRecord) + MyBase.New + Me.LogFSWriteRecord = LogFSWriteRecord + End Sub + End Class + + _ + Partial Public Class LogFSWriteRecordResponse + + _ + Public LogFSWriteRecordR As OpenControl.LogFSWriteRecordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSWriteRecordR As OpenControl.LogFSWriteRecordR) + MyBase.New + Me.LogFSWriteRecordR = LogFSWriteRecordR + End Sub + End Class + + ''' + _ + Partial Public Class LogFSReadRecord + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private fileIDField As UShort + + Private transactionField As UShort + + Private recordLenField As UInteger + + ''' + _ + Public Property FileID() As UShort + Get + Return Me.fileIDField + End Get + Set + Me.fileIDField = value + Me.RaisePropertyChanged("FileID") + End Set + End Property + + ''' + _ + Public Property Transaction() As UShort + Get + Return Me.transactionField + End Get + Set + Me.transactionField = value + Me.RaisePropertyChanged("Transaction") + End Set + End Property + + ''' + _ + Public Property RecordLen() As UInteger + Get + Return Me.recordLenField + End Get + Set + Me.recordLenField = value + Me.RaisePropertyChanged("RecordLen") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class LogFSReadRecordR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private dataSizeField As UInteger + + Private recordField() As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property DataSize() As UInteger + Get + Return Me.dataSizeField + End Get + Set + Me.dataSizeField = value + Me.RaisePropertyChanged("DataSize") + End Set + End Property + + ''' + _ + Public Property Record() As Byte() + Get + Return Me.recordField + End Get + Set + Me.recordField = value + Me.RaisePropertyChanged("Record") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class LogFSReadRecordRequest + + _ + Public LogFSReadRecord As OpenControl.LogFSReadRecord + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSReadRecord As OpenControl.LogFSReadRecord) + MyBase.New + Me.LogFSReadRecord = LogFSReadRecord + End Sub + End Class + + _ + Partial Public Class LogFSReadRecordResponse + + _ + Public LogFSReadRecordR As OpenControl.LogFSReadRecordR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal LogFSReadRecordR As OpenControl.LogFSReadRecordR) + MyBase.New + Me.LogFSReadRecordR = LogFSReadRecordR + End Sub + End Class + + ''' + _ + Partial Public Class ReadRemapDefinitions + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private arraySizeField As Integer + + Private typeField As Integer + + ''' + _ + Public Property ArraySize() As Integer + Get + Return Me.arraySizeField + End Get + Set + Me.arraySizeField = value + Me.RaisePropertyChanged("ArraySize") + End Set + End Property + + ''' + _ + Public Property Type() As Integer + Get + Return Me.typeField + End Get + Set + Me.typeField = value + Me.RaisePropertyChanged("Type") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class ReadRemapDefinitionsR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private arrayField() As REMAPDEF + + Private definitionsCntField As Integer + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Array() As REMAPDEF() + Get + Return Me.arrayField + End Get + Set + Me.arrayField = value + Me.RaisePropertyChanged("Array") + End Set + End Property + + ''' + _ + Public Property DefinitionsCnt() As Integer + Get + Return Me.definitionsCntField + End Get + Set + Me.definitionsCntField = value + Me.RaisePropertyChanged("DefinitionsCnt") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class ReadRemapDefinitionsRequest + + _ + Public ReadRemapDefinitions As OpenControl.ReadRemapDefinitions + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadRemapDefinitions As OpenControl.ReadRemapDefinitions) + MyBase.New + Me.ReadRemapDefinitions = ReadRemapDefinitions + End Sub + End Class + + _ + Partial Public Class ReadRemapDefinitionsResponse + + _ + Public ReadRemapDefinitionsR As OpenControl.ReadRemapDefinitionsR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal ReadRemapDefinitionsR As OpenControl.ReadRemapDefinitionsR) + MyBase.New + Me.ReadRemapDefinitionsR = ReadRemapDefinitionsR + End Sub + End Class + + ''' + _ + Partial Public Class WriteRemapDefinitions + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private arraySizeField As Integer + + Private arrayField() As REMAPDEF + + Private typeField As Integer + + Private modeField As Integer + + ''' + _ + Public Property ArraySize() As Integer + Get + Return Me.arraySizeField + End Get + Set + Me.arraySizeField = value + Me.RaisePropertyChanged("ArraySize") + End Set + End Property + + ''' + _ + Public Property Array() As REMAPDEF() + Get + Return Me.arrayField + End Get + Set + Me.arrayField = value + Me.RaisePropertyChanged("Array") + End Set + End Property + + ''' + _ + Public Property Type() As Integer + Get + Return Me.typeField + End Get + Set + Me.typeField = value + Me.RaisePropertyChanged("Type") + End Set + End Property + + ''' + _ + Public Property Mode() As Integer + Get + Return Me.modeField + End Get + Set + Me.modeField = value + Me.RaisePropertyChanged("Mode") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class WriteRemapDefinitionsR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class WriteRemapDefinitionsRequest + + _ + Public WriteRemapDefinitions As OpenControl.WriteRemapDefinitions + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteRemapDefinitions As OpenControl.WriteRemapDefinitions) + MyBase.New + Me.WriteRemapDefinitions = WriteRemapDefinitions + End Sub + End Class + + _ + Partial Public Class WriteRemapDefinitionsResponse + + _ + Public WriteRemapDefinitionsR As OpenControl.WriteRemapDefinitionsR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal WriteRemapDefinitionsR As OpenControl.WriteRemapDefinitionsR) + MyBase.New + Me.WriteRemapDefinitionsR = WriteRemapDefinitionsR + End Sub + End Class + + ''' + _ + Partial Public Class GetServoPar + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisIdField As UShort + + Private parIdField As UShort + + ''' + _ + Public Property AxisId() As UShort + Get + Return Me.axisIdField + End Get + Set + Me.axisIdField = value + Me.RaisePropertyChanged("AxisId") + End Set + End Property + + ''' + _ + Public Property ParId() As UShort + Get + Return Me.parIdField + End Get + Set + Me.parIdField = value + Me.RaisePropertyChanged("ParId") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetServoParR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueField As Double + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetServoParRequest + + _ + Public GetServoPar As OpenControl.GetServoPar + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetServoPar As OpenControl.GetServoPar) + MyBase.New + Me.GetServoPar = GetServoPar + End Sub + End Class + + _ + Partial Public Class GetServoParResponse + + _ + Public GetServoParR As OpenControl.GetServoParR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetServoParR As OpenControl.GetServoParR) + MyBase.New + Me.GetServoParR = GetServoParR + End Sub + End Class + + ''' + _ + Partial Public Class SetServoPar + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private axisIdField As UShort + + Private parIdField As UShort + + Private valueField As Double + + ''' + _ + Public Property AxisId() As UShort + Get + Return Me.axisIdField + End Get + Set + Me.axisIdField = value + Me.RaisePropertyChanged("AxisId") + End Set + End Property + + ''' + _ + Public Property ParId() As UShort + Get + Return Me.parIdField + End Get + Set + Me.parIdField = value + Me.RaisePropertyChanged("ParId") + End Set + End Property + + ''' + _ + Public Property Value() As Double + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetServoParR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetServoParRequest + + _ + Public SetServoPar As OpenControl.SetServoPar + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetServoPar As OpenControl.SetServoPar) + MyBase.New + Me.SetServoPar = SetServoPar + End Sub + End Class + + _ + Partial Public Class SetServoParResponse + + _ + Public SetServoParR As OpenControl.SetServoParR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetServoParR As OpenControl.SetServoParR) + MyBase.New + Me.SetServoParR = SetServoParR + End Sub + End Class + + ''' + _ + Partial Public Class GetCNCRegKey + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private keyField As String + + Private subKeyField As String + + Private valueLenField As Integer + + ''' + _ + Public Property Key() As String + Get + Return Me.keyField + End Get + Set + Me.keyField = value + Me.RaisePropertyChanged("Key") + End Set + End Property + + ''' + _ + Public Property SubKey() As String + Get + Return Me.subKeyField + End Get + Set + Me.subKeyField = value + Me.RaisePropertyChanged("SubKey") + End Set + End Property + + ''' + _ + Public Property ValueLen() As Integer + Get + Return Me.valueLenField + End Get + Set + Me.valueLenField = value + Me.RaisePropertyChanged("ValueLen") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetCNCRegKeyR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private valueLenField As Integer + + Private valueField() As Byte + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ValueLen() As Integer + Get + Return Me.valueLenField + End Get + Set + Me.valueLenField = value + Me.RaisePropertyChanged("ValueLen") + End Set + End Property + + ''' + _ + Public Property Value() As Byte() + Get + Return Me.valueField + End Get + Set + Me.valueField = value + Me.RaisePropertyChanged("Value") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCNCRegKeyRequest + + _ + Public GetCNCRegKey As OpenControl.GetCNCRegKey + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCNCRegKey As OpenControl.GetCNCRegKey) + MyBase.New + Me.GetCNCRegKey = GetCNCRegKey + End Sub + End Class + + _ + Partial Public Class GetCNCRegKeyResponse + + _ + Public GetCNCRegKeyR As OpenControl.GetCNCRegKeyR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCNCRegKeyR As OpenControl.GetCNCRegKeyR) + MyBase.New + Me.GetCNCRegKeyR = GetCNCRegKeyR + End Sub + End Class + + ''' + _ + Partial Public Class SetIpAddress + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private ipAddressField As String + + Private subNetMaskField As String + + Private defaultGatewayField As String + + Private dnsField As String + + Private winsField As String + + Private netField As String + + ''' + _ + Public Property IpAddress() As String + Get + Return Me.ipAddressField + End Get + Set + Me.ipAddressField = value + Me.RaisePropertyChanged("IpAddress") + End Set + End Property + + ''' + _ + Public Property SubNetMask() As String + Get + Return Me.subNetMaskField + End Get + Set + Me.subNetMaskField = value + Me.RaisePropertyChanged("SubNetMask") + End Set + End Property + + ''' + _ + Public Property DefaultGateway() As String + Get + Return Me.defaultGatewayField + End Get + Set + Me.defaultGatewayField = value + Me.RaisePropertyChanged("DefaultGateway") + End Set + End Property + + ''' + _ + Public Property Dns() As String + Get + Return Me.dnsField + End Get + Set + Me.dnsField = value + Me.RaisePropertyChanged("Dns") + End Set + End Property + + ''' + _ + Public Property Wins() As String + Get + Return Me.winsField + End Get + Set + Me.winsField = value + Me.RaisePropertyChanged("Wins") + End Set + End Property + + ''' + _ + Public Property Net() As String + Get + Return Me.netField + End Get + Set + Me.netField = value + Me.RaisePropertyChanged("Net") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SetIpAddressR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SetIpAddressRequest + + _ + Public SetIpAddress As OpenControl.SetIpAddress + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetIpAddress As OpenControl.SetIpAddress) + MyBase.New + Me.SetIpAddress = SetIpAddress + End Sub + End Class + + _ + Partial Public Class SetIpAddressResponse + + _ + Public SetIpAddressR As OpenControl.SetIpAddressR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SetIpAddressR As OpenControl.SetIpAddressR) + MyBase.New + Me.SetIpAddressR = SetIpAddressR + End Sub + End Class + + ''' + _ + Partial Public Class GetProcInInput + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class GetProcInInputR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private procInfoField As INPUTINFO + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ProcInfo() As INPUTINFO + Get + Return Me.procInfoField + End Get + Set + Me.procInfoField = value + Me.RaisePropertyChanged("ProcInfo") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetProcInInputRequest + + _ + Public GetProcInInput As OpenControl.GetProcInInput + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcInInput As OpenControl.GetProcInInput) + MyBase.New + Me.GetProcInInput = GetProcInInput + End Sub + End Class + + _ + Partial Public Class GetProcInInputResponse + + _ + Public GetProcInInputR As OpenControl.GetProcInInputR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetProcInInputR As OpenControl.GetProcInInputR) + MyBase.New + Me.GetProcInInputR = GetProcInInputR + End Sub + End Class + + ''' + _ + Partial Public Class SndProcInpData + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private processField As UShort + + Private keyPressedField As UShort + + Private numDataField As UShort + + Private arDataField() As Byte + + Private arSizeField As UShort + + ''' + _ + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + Me.RaisePropertyChanged("Process") + End Set + End Property + + ''' + _ + Public Property keyPressed() As UShort + Get + Return Me.keyPressedField + End Get + Set + Me.keyPressedField = value + Me.RaisePropertyChanged("keyPressed") + End Set + End Property + + ''' + _ + Public Property numData() As UShort + Get + Return Me.numDataField + End Get + Set + Me.numDataField = value + Me.RaisePropertyChanged("numData") + End Set + End Property + + ''' + _ + Public Property arData() As Byte() + Get + Return Me.arDataField + End Get + Set + Me.arDataField = value + Me.RaisePropertyChanged("arData") + End Set + End Property + + ''' + _ + Public Property arSize() As UShort + Get + Return Me.arSizeField + End Get + Set + Me.arSizeField = value + Me.RaisePropertyChanged("arSize") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + ''' + _ + Partial Public Class SndProcInpDataR + Inherits Object + Implements System.ComponentModel.INotifyPropertyChanged + + Private retvalField As UShort + + Private errClassField As UInteger + + Private errNumField As UInteger + + ''' + _ + Public Property retval() As UShort + Get + Return Me.retvalField + End Get + Set + Me.retvalField = value + Me.RaisePropertyChanged("retval") + End Set + End Property + + ''' + _ + Public Property ErrClass() As UInteger + Get + Return Me.errClassField + End Get + Set + Me.errClassField = value + Me.RaisePropertyChanged("ErrClass") + End Set + End Property + + ''' + _ + Public Property ErrNum() As UInteger + Get + Return Me.errNumField + End Get + Set + Me.errNumField = value + Me.RaisePropertyChanged("ErrNum") + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class SndProcInpDataRequest + + _ + Public SndProcInpData As OpenControl.SndProcInpData + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SndProcInpData As OpenControl.SndProcInpData) + MyBase.New + Me.SndProcInpData = SndProcInpData + End Sub + End Class + + _ + Partial Public Class SndProcInpDataResponse + + _ + Public SndProcInpDataR As OpenControl.SndProcInpDataR + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal SndProcInpDataR As OpenControl.SndProcInpDataR) + MyBase.New + Me.SndProcInpDataR = SndProcInpDataR + End Sub + End Class + + _ + Public Interface OPENcontrolPortTypeChannel + Inherits OpenControl.OPENcontrolPortType, System.ServiceModel.IClientChannel + End Interface + + _ + Partial Public Class OPENcontrolPortTypeClient + Inherits System.ServiceModel.ClientBase(Of OpenControl.OPENcontrolPortType) + Implements OpenControl.OPENcontrolPortType + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal endpointConfigurationName As String) + MyBase.New(endpointConfigurationName) + End Sub + + Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String) + MyBase.New(endpointConfigurationName, remoteAddress) + End Sub + + Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As System.ServiceModel.EndpointAddress) + MyBase.New(endpointConfigurationName, remoteAddress) + End Sub + + Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, ByVal remoteAddress As System.ServiceModel.EndpointAddress) + MyBase.New(binding, remoteAddress) + End Sub + + _ + Function OpenControl_OPENcontrolPortType_BootPhaseEnquiry(ByVal request As OpenControl.BootPhaseEnquiryRequest) As OpenControl.BootPhaseEnquiryResponse Implements OpenControl.OPENcontrolPortType.BootPhaseEnquiry + Return MyBase.Channel.BootPhaseEnquiry(request) + End Function + + Public Function BootPhaseEnquiry(ByVal BootPhaseEnquiry1 As OpenControl.BootPhaseEnquiry) As OpenControl.BootPhaseEnquiryR + Dim inValue As OpenControl.BootPhaseEnquiryRequest = New OpenControl.BootPhaseEnquiryRequest() + inValue.BootPhaseEnquiry = BootPhaseEnquiry1 + Dim retVal As OpenControl.BootPhaseEnquiryResponse = CType(Me,OpenControl.OPENcontrolPortType).BootPhaseEnquiry(inValue) + Return retVal.BootPhaseEnquiryR + End Function + + _ + Function OpenControl_OPENcontrolPortType_BootReboot(ByVal request As OpenControl.BootRebootRequest) As OpenControl.BootRebootResponse Implements OpenControl.OPENcontrolPortType.BootReboot + Return MyBase.Channel.BootReboot(request) + End Function + + Public Function BootReboot(ByVal BootReboot1 As OpenControl.BootReboot) As OpenControl.BootRebootR + Dim inValue As OpenControl.BootRebootRequest = New OpenControl.BootRebootRequest() + inValue.BootReboot = BootReboot1 + Dim retVal As OpenControl.BootRebootResponse = CType(Me,OpenControl.OPENcontrolPortType).BootReboot(inValue) + Return retVal.BootRebootR + End Function + + _ + Function OpenControl_OPENcontrolPortType_BootShutDown(ByVal request As OpenControl.BootShutDownRequest) As OpenControl.BootShutDownResponse Implements OpenControl.OPENcontrolPortType.BootShutDown + Return MyBase.Channel.BootShutDown(request) + End Function + + Public Function BootShutDown(ByVal BootShutDown1 As OpenControl.BootShutDown) As OpenControl.BootShutDownR + Dim inValue As OpenControl.BootShutDownRequest = New OpenControl.BootShutDownRequest() + inValue.BootShutDown = BootShutDown1 + Dim retVal As OpenControl.BootShutDownResponse = CType(Me,OpenControl.OPENcontrolPortType).BootShutDown(inValue) + Return retVal.BootShutDownR + End Function + + _ + Function OpenControl_OPENcontrolPortType_BootMode(ByVal request As OpenControl.BootModeRequest) As OpenControl.BootModeResponse Implements OpenControl.OPENcontrolPortType.BootMode + Return MyBase.Channel.BootMode(request) + End Function + + Public Function BootMode(ByVal BootMode1 As OpenControl.BootMode) As OpenControl.BootModeR + Dim inValue As OpenControl.BootModeRequest = New OpenControl.BootModeRequest() + inValue.BootMode = BootMode1 + Dim retVal As OpenControl.BootModeResponse = CType(Me,OpenControl.OPENcontrolPortType).BootMode(inValue) + Return retVal.BootModeR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetHWKey(ByVal request As OpenControl.GetHWKeyRequest) As OpenControl.GetHWKeyResponse Implements OpenControl.OPENcontrolPortType.GetHWKey + Return MyBase.Channel.GetHWKey(request) + End Function + + Public Function GetHWKey(ByVal GetHWKey1 As OpenControl.GetHWKey) As OpenControl.GetHWKeyR + Dim inValue As OpenControl.GetHWKeyRequest = New OpenControl.GetHWKeyRequest() + inValue.GetHWKey = GetHWKey1 + Dim retVal As OpenControl.GetHWKeyResponse = CType(Me,OpenControl.OPENcontrolPortType).GetHWKey(inValue) + Return retVal.GetHWKeyR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadVarWord(ByVal request As OpenControl.ReadVarWordRequest) As OpenControl.ReadVarWordResponse Implements OpenControl.OPENcontrolPortType.ReadVarWord + Return MyBase.Channel.ReadVarWord(request) + End Function + + Public Function ReadVarWord(ByVal ReadVarWord1 As OpenControl.ReadVarWord) As OpenControl.ReadVarWordR + Dim inValue As OpenControl.ReadVarWordRequest = New OpenControl.ReadVarWordRequest() + inValue.ReadVarWord = ReadVarWord1 + Dim retVal As OpenControl.ReadVarWordResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadVarWord(inValue) + Return retVal.ReadVarWordR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadVarDouble(ByVal request As OpenControl.ReadVarDoubleRequest) As OpenControl.ReadVarDoubleResponse Implements OpenControl.OPENcontrolPortType.ReadVarDouble + Return MyBase.Channel.ReadVarDouble(request) + End Function + + Public Function ReadVarDouble(ByVal ReadVarDouble1 As OpenControl.ReadVarDouble) As OpenControl.ReadVarDoubleR + Dim inValue As OpenControl.ReadVarDoubleRequest = New OpenControl.ReadVarDoubleRequest() + inValue.ReadVarDouble = ReadVarDouble1 + Dim retVal As OpenControl.ReadVarDoubleResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadVarDouble(inValue) + Return retVal.ReadVarDoubleR + End Function + + _ + Function OpenControl_OPENcontrolPortType_WriteVarWord(ByVal request As OpenControl.WriteVarWordRequest) As OpenControl.WriteVarWordResponse Implements OpenControl.OPENcontrolPortType.WriteVarWord + Return MyBase.Channel.WriteVarWord(request) + End Function + + Public Function WriteVarWord(ByVal WriteVarWord1 As OpenControl.WriteVarWord) As OpenControl.WriteVarWordR + Dim inValue As OpenControl.WriteVarWordRequest = New OpenControl.WriteVarWordRequest() + inValue.WriteVarWord = WriteVarWord1 + Dim retVal As OpenControl.WriteVarWordResponse = CType(Me,OpenControl.OPENcontrolPortType).WriteVarWord(inValue) + Return retVal.WriteVarWordR + End Function + + _ + Function OpenControl_OPENcontrolPortType_WriteVarWordBit(ByVal request As OpenControl.WriteVarWordBitRequest) As OpenControl.WriteVarWordBitResponse Implements OpenControl.OPENcontrolPortType.WriteVarWordBit + Return MyBase.Channel.WriteVarWordBit(request) + End Function + + Public Function WriteVarWordBit(ByVal WriteVarWordBit1 As OpenControl.WriteVarWordBit) As OpenControl.WriteVarWordBitR + Dim inValue As OpenControl.WriteVarWordBitRequest = New OpenControl.WriteVarWordBitRequest() + inValue.WriteVarWordBit = WriteVarWordBit1 + Dim retVal As OpenControl.WriteVarWordBitResponse = CType(Me,OpenControl.OPENcontrolPortType).WriteVarWordBit(inValue) + Return retVal.WriteVarWordBitR + End Function + + _ + Function OpenControl_OPENcontrolPortType_WriteVarDouble(ByVal request As OpenControl.WriteVarDoubleRequest) As OpenControl.WriteVarDoubleResponse Implements OpenControl.OPENcontrolPortType.WriteVarDouble + Return MyBase.Channel.WriteVarDouble(request) + End Function + + Public Function WriteVarDouble(ByVal WriteVarDouble1 As OpenControl.WriteVarDouble) As OpenControl.WriteVarDoubleR + Dim inValue As OpenControl.WriteVarDoubleRequest = New OpenControl.WriteVarDoubleRequest() + inValue.WriteVarDouble = WriteVarDouble1 + Dim retVal As OpenControl.WriteVarDoubleResponse = CType(Me,OpenControl.OPENcontrolPortType).WriteVarDouble(inValue) + Return retVal.WriteVarDoubleR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadVarText(ByVal request As OpenControl.ReadVarTextRequest) As OpenControl.ReadVarTextResponse Implements OpenControl.OPENcontrolPortType.ReadVarText + Return MyBase.Channel.ReadVarText(request) + End Function + + Public Function ReadVarText(ByVal ReadVarText1 As OpenControl.ReadVarText) As OpenControl.ReadVarTextR + Dim inValue As OpenControl.ReadVarTextRequest = New OpenControl.ReadVarTextRequest() + inValue.ReadVarText = ReadVarText1 + Dim retVal As OpenControl.ReadVarTextResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadVarText(inValue) + Return retVal.ReadVarTextR + End Function + + _ + Function OpenControl_OPENcontrolPortType_WriteVarText(ByVal request As OpenControl.WriteVarTextRequest) As OpenControl.WriteVarTextResponse Implements OpenControl.OPENcontrolPortType.WriteVarText + Return MyBase.Channel.WriteVarText(request) + End Function + + Public Function WriteVarText(ByVal WriteVarText1 As OpenControl.WriteVarText) As OpenControl.WriteVarTextR + Dim inValue As OpenControl.WriteVarTextRequest = New OpenControl.WriteVarTextRequest() + inValue.WriteVarText = WriteVarText1 + Dim retVal As OpenControl.WriteVarTextResponse = CType(Me,OpenControl.OPENcontrolPortType).WriteVarText(inValue) + Return retVal.WriteVarTextR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadWarningMsg(ByVal request As OpenControl.ReadWarningMsgRequest) As OpenControl.ReadWarningMsgResponse Implements OpenControl.OPENcontrolPortType.ReadWarningMsg + Return MyBase.Channel.ReadWarningMsg(request) + End Function + + Public Function ReadWarningMsg(ByVal ReadWarningMsg1 As OpenControl.ReadWarningMsg) As OpenControl.ReadWarningMsgR + Dim inValue As OpenControl.ReadWarningMsgRequest = New OpenControl.ReadWarningMsgRequest() + inValue.ReadWarningMsg = ReadWarningMsg1 + Dim retVal As OpenControl.ReadWarningMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadWarningMsg(inValue) + Return retVal.ReadWarningMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ResetSingleTableII(ByVal request As OpenControl.ResetSingleTableIIRequest) As OpenControl.ResetSingleTableIIResponse Implements OpenControl.OPENcontrolPortType.ResetSingleTableII + Return MyBase.Channel.ResetSingleTableII(request) + End Function + + Public Function ResetSingleTableII(ByVal ResetSingleTableII1 As OpenControl.ResetSingleTableII) As OpenControl.ResetSingleTableIIR + Dim inValue As OpenControl.ResetSingleTableIIRequest = New OpenControl.ResetSingleTableIIRequest() + inValue.ResetSingleTableII = ResetSingleTableII1 + Dim retVal As OpenControl.ResetSingleTableIIResponse = CType(Me,OpenControl.OPENcontrolPortType).ResetSingleTableII(inValue) + Return retVal.ResetSingleTableIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LockTableII(ByVal request As OpenControl.LockTableIIRequest) As OpenControl.LockTableIIResponse Implements OpenControl.OPENcontrolPortType.LockTableII + Return MyBase.Channel.LockTableII(request) + End Function + + Public Function LockTableII(ByVal LockTableII1 As OpenControl.LockTableII) As OpenControl.LockTableIIR + Dim inValue As OpenControl.LockTableIIRequest = New OpenControl.LockTableIIRequest() + inValue.LockTableII = LockTableII1 + Dim retVal As OpenControl.LockTableIIResponse = CType(Me,OpenControl.OPENcontrolPortType).LockTableII(inValue) + Return retVal.LockTableIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_UnLockTableII(ByVal request As OpenControl.UnLockTableIIRequest) As OpenControl.UnLockTableIIResponse Implements OpenControl.OPENcontrolPortType.UnLockTableII + Return MyBase.Channel.UnLockTableII(request) + End Function + + Public Function UnLockTableII(ByVal UnLockTableII1 As OpenControl.UnLockTableII) As OpenControl.UnLockTableIIR + Dim inValue As OpenControl.UnLockTableIIRequest = New OpenControl.UnLockTableIIRequest() + inValue.UnLockTableII = UnLockTableII1 + Dim retVal As OpenControl.UnLockTableIIResponse = CType(Me,OpenControl.OPENcontrolPortType).UnLockTableII(inValue) + Return retVal.UnLockTableIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetOriginTabRecordII(ByVal request As OpenControl.GetOriginTabRecordIIRequest) As OpenControl.GetOriginTabRecordIIResponse Implements OpenControl.OPENcontrolPortType.GetOriginTabRecordII + Return MyBase.Channel.GetOriginTabRecordII(request) + End Function + + Public Function GetOriginTabRecordII(ByVal GetOriginTabRecordII1 As OpenControl.GetOriginTabRecordII) As OpenControl.GetOriginTabRecordIIR + Dim inValue As OpenControl.GetOriginTabRecordIIRequest = New OpenControl.GetOriginTabRecordIIRequest() + inValue.GetOriginTabRecordII = GetOriginTabRecordII1 + Dim retVal As OpenControl.GetOriginTabRecordIIResponse = CType(Me,OpenControl.OPENcontrolPortType).GetOriginTabRecordII(inValue) + Return retVal.GetOriginTabRecordIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetOriginTabRecordII(ByVal request As OpenControl.SetOriginTabRecordIIRequest) As OpenControl.SetOriginTabRecordIIResponse Implements OpenControl.OPENcontrolPortType.SetOriginTabRecordII + Return MyBase.Channel.SetOriginTabRecordII(request) + End Function + + Public Function SetOriginTabRecordII(ByVal SetOriginTabRecordII1 As OpenControl.SetOriginTabRecordII) As OpenControl.SetOriginTabRecordIIR + Dim inValue As OpenControl.SetOriginTabRecordIIRequest = New OpenControl.SetOriginTabRecordIIRequest() + inValue.SetOriginTabRecordII = SetOriginTabRecordII1 + Dim retVal As OpenControl.SetOriginTabRecordIIResponse = CType(Me,OpenControl.OPENcontrolPortType).SetOriginTabRecordII(inValue) + Return retVal.SetOriginTabRecordIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetToolTabRecordII(ByVal request As OpenControl.GetToolTabRecordIIRequest) As OpenControl.GetToolTabRecordIIResponse Implements OpenControl.OPENcontrolPortType.GetToolTabRecordII + Return MyBase.Channel.GetToolTabRecordII(request) + End Function + + Public Function GetToolTabRecordII(ByVal GetToolTabRecordII1 As OpenControl.GetToolTabRecordII) As OpenControl.GetToolTabRecordIIR + Dim inValue As OpenControl.GetToolTabRecordIIRequest = New OpenControl.GetToolTabRecordIIRequest() + inValue.GetToolTabRecordII = GetToolTabRecordII1 + Dim retVal As OpenControl.GetToolTabRecordIIResponse = CType(Me,OpenControl.OPENcontrolPortType).GetToolTabRecordII(inValue) + Return retVal.GetToolTabRecordIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetToolTabRecordII(ByVal request As OpenControl.SetToolTabRecordIIRequest) As OpenControl.SetToolTabRecordIIResponse Implements OpenControl.OPENcontrolPortType.SetToolTabRecordII + Return MyBase.Channel.SetToolTabRecordII(request) + End Function + + Public Function SetToolTabRecordII(ByVal SetToolTabRecordII1 As OpenControl.SetToolTabRecordII) As OpenControl.SetToolTabRecordIIR + Dim inValue As OpenControl.SetToolTabRecordIIRequest = New OpenControl.SetToolTabRecordIIRequest() + inValue.SetToolTabRecordII = SetToolTabRecordII1 + Dim retVal As OpenControl.SetToolTabRecordIIResponse = CType(Me,OpenControl.OPENcontrolPortType).SetToolTabRecordII(inValue) + Return retVal.SetToolTabRecordIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetOffsetTabRecordII(ByVal request As OpenControl.GetOffsetTabRecordIIRequest) As OpenControl.GetOffsetTabRecordIIResponse Implements OpenControl.OPENcontrolPortType.GetOffsetTabRecordII + Return MyBase.Channel.GetOffsetTabRecordII(request) + End Function + + Public Function GetOffsetTabRecordII(ByVal GetOffsetTabRecordII1 As OpenControl.GetOffsetTabRecordII) As OpenControl.GetOffsetTabRecordIIR + Dim inValue As OpenControl.GetOffsetTabRecordIIRequest = New OpenControl.GetOffsetTabRecordIIRequest() + inValue.GetOffsetTabRecordII = GetOffsetTabRecordII1 + Dim retVal As OpenControl.GetOffsetTabRecordIIResponse = CType(Me,OpenControl.OPENcontrolPortType).GetOffsetTabRecordII(inValue) + Return retVal.GetOffsetTabRecordIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetOffsetTabRecordII(ByVal request As OpenControl.SetOffsetTabRecordIIRequest) As OpenControl.SetOffsetTabRecordIIResponse Implements OpenControl.OPENcontrolPortType.SetOffsetTabRecordII + Return MyBase.Channel.SetOffsetTabRecordII(request) + End Function + + Public Function SetOffsetTabRecordII(ByVal SetOffsetTabRecordII1 As OpenControl.SetOffsetTabRecordII) As OpenControl.SetOffsetTabRecordIIR + Dim inValue As OpenControl.SetOffsetTabRecordIIRequest = New OpenControl.SetOffsetTabRecordIIRequest() + inValue.SetOffsetTabRecordII = SetOffsetTabRecordII1 + Dim retVal As OpenControl.SetOffsetTabRecordIIResponse = CType(Me,OpenControl.OPENcontrolPortType).SetOffsetTabRecordII(inValue) + Return retVal.SetOffsetTabRecordIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetUserTabRecordII(ByVal request As OpenControl.GetUserTabRecordIIRequest) As OpenControl.GetUserTabRecordIIResponse Implements OpenControl.OPENcontrolPortType.GetUserTabRecordII + Return MyBase.Channel.GetUserTabRecordII(request) + End Function + + Public Function GetUserTabRecordII(ByVal GetUserTabRecordII1 As OpenControl.GetUserTabRecordII) As OpenControl.GetUserTabRecordIIR + Dim inValue As OpenControl.GetUserTabRecordIIRequest = New OpenControl.GetUserTabRecordIIRequest() + inValue.GetUserTabRecordII = GetUserTabRecordII1 + Dim retVal As OpenControl.GetUserTabRecordIIResponse = CType(Me,OpenControl.OPENcontrolPortType).GetUserTabRecordII(inValue) + Return retVal.GetUserTabRecordIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetUserTabRecordII(ByVal request As OpenControl.SetUserTabRecordIIRequest) As OpenControl.SetUserTabRecordIIResponse Implements OpenControl.OPENcontrolPortType.SetUserTabRecordII + Return MyBase.Channel.SetUserTabRecordII(request) + End Function + + Public Function SetUserTabRecordII(ByVal SetUserTabRecordII1 As OpenControl.SetUserTabRecordII) As OpenControl.SetUserTabRecordIIR + Dim inValue As OpenControl.SetUserTabRecordIIRequest = New OpenControl.SetUserTabRecordIIRequest() + inValue.SetUserTabRecordII = SetUserTabRecordII1 + Dim retVal As OpenControl.SetUserTabRecordIIResponse = CType(Me,OpenControl.OPENcontrolPortType).SetUserTabRecordII(inValue) + Return retVal.SetUserTabRecordIIR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SaveTables(ByVal request As OpenControl.SaveTablesRequest) As OpenControl.SaveTablesResponse Implements OpenControl.OPENcontrolPortType.SaveTables + Return MyBase.Channel.SaveTables(request) + End Function + + Public Function SaveTables(ByVal SaveTables1 As OpenControl.SaveTables) As OpenControl.SaveTablesR + Dim inValue As OpenControl.SaveTablesRequest = New OpenControl.SaveTablesRequest() + inValue.SaveTables = SaveTables1 + Dim retVal As OpenControl.SaveTablesResponse = CType(Me,OpenControl.OPENcontrolPortType).SaveTables(inValue) + Return retVal.SaveTablesR + End Function + + _ + Function OpenControl_OPENcontrolPortType_RestoreSingleTable(ByVal request As OpenControl.RestoreSingleTableRequest) As OpenControl.RestoreSingleTableResponse Implements OpenControl.OPENcontrolPortType.RestoreSingleTable + Return MyBase.Channel.RestoreSingleTable(request) + End Function + + Public Function RestoreSingleTable(ByVal RestoreSingleTable1 As OpenControl.RestoreSingleTable) As OpenControl.RestoreSingleTableR + Dim inValue As OpenControl.RestoreSingleTableRequest = New OpenControl.RestoreSingleTableRequest() + inValue.RestoreSingleTable = RestoreSingleTable1 + Dim retVal As OpenControl.RestoreSingleTableResponse = CType(Me,OpenControl.OPENcontrolPortType).RestoreSingleTable(inValue) + Return retVal.RestoreSingleTableR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SaveSingleTable(ByVal request As OpenControl.SaveSingleTableRequest) As OpenControl.SaveSingleTableResponse Implements OpenControl.OPENcontrolPortType.SaveSingleTable + Return MyBase.Channel.SaveSingleTable(request) + End Function + + Public Function SaveSingleTable(ByVal SaveSingleTable1 As OpenControl.SaveSingleTable) As OpenControl.SaveSingleTableR + Dim inValue As OpenControl.SaveSingleTableRequest = New OpenControl.SaveSingleTableRequest() + inValue.SaveSingleTable = SaveSingleTable1 + Dim retVal As OpenControl.SaveSingleTableResponse = CType(Me,OpenControl.OPENcontrolPortType).SaveSingleTable(inValue) + Return retVal.SaveSingleTableR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SaveBackupMemory(ByVal request As OpenControl.SaveBackupMemoryRequest) As OpenControl.SaveBackupMemoryResponse Implements OpenControl.OPENcontrolPortType.SaveBackupMemory + Return MyBase.Channel.SaveBackupMemory(request) + End Function + + Public Function SaveBackupMemory(ByVal SaveBackupMemory1 As OpenControl.SaveBackupMemory) As OpenControl.SaveBackupMemoryR + Dim inValue As OpenControl.SaveBackupMemoryRequest = New OpenControl.SaveBackupMemoryRequest() + inValue.SaveBackupMemory = SaveBackupMemory1 + Dim retVal As OpenControl.SaveBackupMemoryResponse = CType(Me,OpenControl.OPENcontrolPortType).SaveBackupMemory(inValue) + Return retVal.SaveBackupMemoryR + End Function + + _ + Function OpenControl_OPENcontrolPortType_RestoreBackupMemory(ByVal request As OpenControl.RestoreBackupMemoryRequest) As OpenControl.RestoreBackupMemoryResponse Implements OpenControl.OPENcontrolPortType.RestoreBackupMemory + Return MyBase.Channel.RestoreBackupMemory(request) + End Function + + Public Function RestoreBackupMemory(ByVal RestoreBackupMemory1 As OpenControl.RestoreBackupMemory) As OpenControl.RestoreBackupMemoryR + Dim inValue As OpenControl.RestoreBackupMemoryRequest = New OpenControl.RestoreBackupMemoryRequest() + inValue.RestoreBackupMemory = RestoreBackupMemory1 + Dim retVal As OpenControl.RestoreBackupMemoryResponse = CType(Me,OpenControl.OPENcontrolPortType).RestoreBackupMemory(inValue) + Return retVal.RestoreBackupMemoryR + End Function + + _ + Function OpenControl_OPENcontrolPortType_Cycle(ByVal request As OpenControl.CycleRequest) As OpenControl.CycleResponse Implements OpenControl.OPENcontrolPortType.Cycle + Return MyBase.Channel.Cycle(request) + End Function + + Public Function Cycle(ByVal Cycle1 As OpenControl.Cycle) As OpenControl.CycleR + Dim inValue As OpenControl.CycleRequest = New OpenControl.CycleRequest() + inValue.Cycle = Cycle1 + Dim retVal As OpenControl.CycleResponse = CType(Me,OpenControl.OPENcontrolPortType).Cycle(inValue) + Return retVal.CycleR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SyncroCycle(ByVal request As OpenControl.SyncroCycleRequest) As OpenControl.SyncroCycleResponse Implements OpenControl.OPENcontrolPortType.SyncroCycle + Return MyBase.Channel.SyncroCycle(request) + End Function + + Public Function SyncroCycle(ByVal SyncroCycle1 As OpenControl.SyncroCycle) As OpenControl.SyncroCycleR + Dim inValue As OpenControl.SyncroCycleRequest = New OpenControl.SyncroCycleRequest() + inValue.SyncroCycle = SyncroCycle1 + Dim retVal As OpenControl.SyncroCycleResponse = CType(Me,OpenControl.OPENcontrolPortType).SyncroCycle(inValue) + Return retVal.SyncroCycleR + End Function + + _ + Function OpenControl_OPENcontrolPortType_Reset(ByVal request As OpenControl.ResetRequest) As OpenControl.ResetResponse Implements OpenControl.OPENcontrolPortType.Reset + Return MyBase.Channel.Reset(request) + End Function + + Public Function Reset(ByVal Reset1 As OpenControl.Reset) As OpenControl.ResetR + Dim inValue As OpenControl.ResetRequest = New OpenControl.ResetRequest() + inValue.Reset = Reset1 + Dim retVal As OpenControl.ResetResponse = CType(Me,OpenControl.OPENcontrolPortType).Reset(inValue) + Return retVal.ResetR + End Function + + _ + Function OpenControl_OPENcontrolPortType_Hold(ByVal request As OpenControl.HoldRequest) As OpenControl.HoldResponse Implements OpenControl.OPENcontrolPortType.Hold + Return MyBase.Channel.Hold(request) + End Function + + Public Function Hold(ByVal Hold1 As OpenControl.Hold) As OpenControl.HoldR + Dim inValue As OpenControl.HoldRequest = New OpenControl.HoldRequest() + inValue.Hold = Hold1 + Dim retVal As OpenControl.HoldResponse = CType(Me,OpenControl.OPENcontrolPortType).Hold(inValue) + Return retVal.HoldR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetFeedManOver(ByVal request As OpenControl.SetFeedManOverRequest) As OpenControl.SetFeedManOverResponse Implements OpenControl.OPENcontrolPortType.SetFeedManOver + Return MyBase.Channel.SetFeedManOver(request) + End Function + + Public Function SetFeedManOver(ByVal SetFeedManOver1 As OpenControl.SetFeedManOver) As OpenControl.SetFeedManOverR + Dim inValue As OpenControl.SetFeedManOverRequest = New OpenControl.SetFeedManOverRequest() + inValue.SetFeedManOver = SetFeedManOver1 + Dim retVal As OpenControl.SetFeedManOverResponse = CType(Me,OpenControl.OPENcontrolPortType).SetFeedManOver(inValue) + Return retVal.SetFeedManOverR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetFeedRateOver(ByVal request As OpenControl.SetFeedRateOverRequest) As OpenControl.SetFeedRateOverResponse Implements OpenControl.OPENcontrolPortType.SetFeedRateOver + Return MyBase.Channel.SetFeedRateOver(request) + End Function + + Public Function SetFeedRateOver(ByVal SetFeedRateOver1 As OpenControl.SetFeedRateOver) As OpenControl.SetFeedRateOverR + Dim inValue As OpenControl.SetFeedRateOverRequest = New OpenControl.SetFeedRateOverRequest() + inValue.SetFeedRateOver = SetFeedRateOver1 + Dim retVal As OpenControl.SetFeedRateOverResponse = CType(Me,OpenControl.OPENcontrolPortType).SetFeedRateOver(inValue) + Return retVal.SetFeedRateOverR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetFeedRapidOver(ByVal request As OpenControl.SetFeedRapidOverRequest) As OpenControl.SetFeedRapidOverResponse Implements OpenControl.OPENcontrolPortType.SetFeedRapidOver + Return MyBase.Channel.SetFeedRapidOver(request) + End Function + + Public Function SetFeedRapidOver(ByVal SetFeedRapidOver1 As OpenControl.SetFeedRapidOver) As OpenControl.SetFeedRapidOverR + Dim inValue As OpenControl.SetFeedRapidOverRequest = New OpenControl.SetFeedRapidOverRequest() + inValue.SetFeedRapidOver = SetFeedRapidOver1 + Dim retVal As OpenControl.SetFeedRapidOverResponse = CType(Me,OpenControl.OPENcontrolPortType).SetFeedRapidOver(inValue) + Return retVal.SetFeedRapidOverR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetSpeedRateOver(ByVal request As OpenControl.SetSpeedRateOverRequest) As OpenControl.SetSpeedRateOverResponse Implements OpenControl.OPENcontrolPortType.SetSpeedRateOver + Return MyBase.Channel.SetSpeedRateOver(request) + End Function + + Public Function SetSpeedRateOver(ByVal SetSpeedRateOver1 As OpenControl.SetSpeedRateOver) As OpenControl.SetSpeedRateOverR + Dim inValue As OpenControl.SetSpeedRateOverRequest = New OpenControl.SetSpeedRateOverRequest() + inValue.SetSpeedRateOver = SetSpeedRateOver1 + Dim retVal As OpenControl.SetSpeedRateOverResponse = CType(Me,OpenControl.OPENcontrolPortType).SetSpeedRateOver(inValue) + Return retVal.SetSpeedRateOverR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetManMovDirection(ByVal request As OpenControl.SetManMovDirectionRequest) As OpenControl.SetManMovDirectionResponse Implements OpenControl.OPENcontrolPortType.SetManMovDirection + Return MyBase.Channel.SetManMovDirection(request) + End Function + + Public Function SetManMovDirection(ByVal SetManMovDirection1 As OpenControl.SetManMovDirection) As OpenControl.SetManMovDirectionR + Dim inValue As OpenControl.SetManMovDirectionRequest = New OpenControl.SetManMovDirectionRequest() + inValue.SetManMovDirection = SetManMovDirection1 + Dim retVal As OpenControl.SetManMovDirectionResponse = CType(Me,OpenControl.OPENcontrolPortType).SetManMovDirection(inValue) + Return retVal.SetManMovDirectionR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetVarJOG(ByVal request As OpenControl.GetVarJOGRequest) As OpenControl.GetVarJOGResponse Implements OpenControl.OPENcontrolPortType.GetVarJOG + Return MyBase.Channel.GetVarJOG(request) + End Function + + Public Function GetVarJOG(ByVal GetVarJOG1 As OpenControl.GetVarJOG) As OpenControl.GetVarJOGR + Dim inValue As OpenControl.GetVarJOGRequest = New OpenControl.GetVarJOGRequest() + inValue.GetVarJOG = GetVarJOG1 + Dim retVal As OpenControl.GetVarJOGResponse = CType(Me,OpenControl.OPENcontrolPortType).GetVarJOG(inValue) + Return retVal.GetVarJOGR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetVarJOG(ByVal request As OpenControl.SetVarJOGRequest) As OpenControl.SetVarJOGResponse Implements OpenControl.OPENcontrolPortType.SetVarJOG + Return MyBase.Channel.SetVarJOG(request) + End Function + + Public Function SetVarJOG(ByVal SetVarJOG1 As OpenControl.SetVarJOG) As OpenControl.SetVarJOGR + Dim inValue As OpenControl.SetVarJOGRequest = New OpenControl.SetVarJOGRequest() + inValue.SetVarJOG = SetVarJOG1 + Dim retVal As OpenControl.SetVarJOGResponse = CType(Me,OpenControl.OPENcontrolPortType).SetVarJOG(inValue) + Return retVal.SetVarJOGR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetVarUAS(ByVal request As OpenControl.SetVarUASRequest) As OpenControl.SetVarUASResponse Implements OpenControl.OPENcontrolPortType.SetVarUAS + Return MyBase.Channel.SetVarUAS(request) + End Function + + Public Function SetVarUAS(ByVal SetVarUAS1 As OpenControl.SetVarUAS) As OpenControl.SetVarUASR + Dim inValue As OpenControl.SetVarUASRequest = New OpenControl.SetVarUASRequest() + inValue.SetVarUAS = SetVarUAS1 + Dim retVal As OpenControl.SetVarUASResponse = CType(Me,OpenControl.OPENcontrolPortType).SetVarUAS(inValue) + Return retVal.SetVarUASR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetVarRCM(ByVal request As OpenControl.GetVarRCMRequest) As OpenControl.GetVarRCMResponse Implements OpenControl.OPENcontrolPortType.GetVarRCM + Return MyBase.Channel.GetVarRCM(request) + End Function + + Public Function GetVarRCM(ByVal GetVarRCM1 As OpenControl.GetVarRCM) As OpenControl.GetVarRCMR + Dim inValue As OpenControl.GetVarRCMRequest = New OpenControl.GetVarRCMRequest() + inValue.GetVarRCM = GetVarRCM1 + Dim retVal As OpenControl.GetVarRCMResponse = CType(Me,OpenControl.OPENcontrolPortType).GetVarRCM(inValue) + Return retVal.GetVarRCMR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetVarRCM(ByVal request As OpenControl.SetVarRCMRequest) As OpenControl.SetVarRCMResponse Implements OpenControl.OPENcontrolPortType.SetVarRCM + Return MyBase.Channel.SetVarRCM(request) + End Function + + Public Function SetVarRCM(ByVal SetVarRCM1 As OpenControl.SetVarRCM) As OpenControl.SetVarRCMR + Dim inValue As OpenControl.SetVarRCMRequest = New OpenControl.SetVarRCMRequest() + inValue.SetVarRCM = SetVarRCM1 + Dim retVal As OpenControl.SetVarRCMResponse = CType(Me,OpenControl.OPENcontrolPortType).SetVarRCM(inValue) + Return retVal.SetVarRCMR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetProcVarWord(ByVal request As OpenControl.GetProcVarWordRequest) As OpenControl.GetProcVarWordResponse Implements OpenControl.OPENcontrolPortType.GetProcVarWord + Return MyBase.Channel.GetProcVarWord(request) + End Function + + Public Function GetProcVarWord(ByVal GetProcVarWord1 As OpenControl.GetProcVarWord) As OpenControl.GetProcVarWordR + Dim inValue As OpenControl.GetProcVarWordRequest = New OpenControl.GetProcVarWordRequest() + inValue.GetProcVarWord = GetProcVarWord1 + Dim retVal As OpenControl.GetProcVarWordResponse = CType(Me,OpenControl.OPENcontrolPortType).GetProcVarWord(inValue) + Return retVal.GetProcVarWordR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetProcVarWord(ByVal request As OpenControl.SetProcVarWordRequest) As OpenControl.SetProcVarWordResponse Implements OpenControl.OPENcontrolPortType.SetProcVarWord + Return MyBase.Channel.SetProcVarWord(request) + End Function + + Public Function SetProcVarWord(ByVal SetProcVarWord1 As OpenControl.SetProcVarWord) As OpenControl.SetProcVarWordR + Dim inValue As OpenControl.SetProcVarWordRequest = New OpenControl.SetProcVarWordRequest() + inValue.SetProcVarWord = SetProcVarWord1 + Dim retVal As OpenControl.SetProcVarWordResponse = CType(Me,OpenControl.OPENcontrolPortType).SetProcVarWord(inValue) + Return retVal.SetProcVarWordR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetProcVarDouble(ByVal request As OpenControl.GetProcVarDoubleRequest) As OpenControl.GetProcVarDoubleResponse Implements OpenControl.OPENcontrolPortType.GetProcVarDouble + Return MyBase.Channel.GetProcVarDouble(request) + End Function + + Public Function GetProcVarDouble(ByVal GetProcVarDouble1 As OpenControl.GetProcVarDouble) As OpenControl.GetProcVarDoubleR + Dim inValue As OpenControl.GetProcVarDoubleRequest = New OpenControl.GetProcVarDoubleRequest() + inValue.GetProcVarDouble = GetProcVarDouble1 + Dim retVal As OpenControl.GetProcVarDoubleResponse = CType(Me,OpenControl.OPENcontrolPortType).GetProcVarDouble(inValue) + Return retVal.GetProcVarDoubleR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetProcVarDouble(ByVal request As OpenControl.SetProcVarDoubleRequest) As OpenControl.SetProcVarDoubleResponse Implements OpenControl.OPENcontrolPortType.SetProcVarDouble + Return MyBase.Channel.SetProcVarDouble(request) + End Function + + Public Function SetProcVarDouble(ByVal SetProcVarDouble1 As OpenControl.SetProcVarDouble) As OpenControl.SetProcVarDoubleR + Dim inValue As OpenControl.SetProcVarDoubleRequest = New OpenControl.SetProcVarDoubleRequest() + inValue.SetProcVarDouble = SetProcVarDouble1 + Dim retVal As OpenControl.SetProcVarDoubleResponse = CType(Me,OpenControl.OPENcontrolPortType).SetProcVarDouble(inValue) + Return retVal.SetProcVarDoubleR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetMdiString(ByVal request As OpenControl.SetMdiStringRequest) As OpenControl.SetMdiStringResponse Implements OpenControl.OPENcontrolPortType.SetMdiString + Return MyBase.Channel.SetMdiString(request) + End Function + + Public Function SetMdiString(ByVal SetMdiString1 As OpenControl.SetMdiString) As OpenControl.SetMdiStringR + Dim inValue As OpenControl.SetMdiStringRequest = New OpenControl.SetMdiStringRequest() + inValue.SetMdiString = SetMdiString1 + Dim retVal As OpenControl.SetMdiStringResponse = CType(Me,OpenControl.OPENcontrolPortType).SetMdiString(inValue) + Return retVal.SetMdiStringR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetProcessMode(ByVal request As OpenControl.SetProcessModeRequest) As OpenControl.SetProcessModeResponse Implements OpenControl.OPENcontrolPortType.SetProcessMode + Return MyBase.Channel.SetProcessMode(request) + End Function + + Public Function SetProcessMode(ByVal SetProcessMode1 As OpenControl.SetProcessMode) As OpenControl.SetProcessModeR + Dim inValue As OpenControl.SetProcessModeRequest = New OpenControl.SetProcessModeRequest() + inValue.SetProcessMode = SetProcessMode1 + Dim retVal As OpenControl.SetProcessModeResponse = CType(Me,OpenControl.OPENcontrolPortType).SetProcessMode(inValue) + Return retVal.SetProcessModeR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SelectProcess(ByVal request As OpenControl.SelectProcessRequest) As OpenControl.SelectProcessResponse Implements OpenControl.OPENcontrolPortType.SelectProcess + Return MyBase.Channel.SelectProcess(request) + End Function + + Public Function SelectProcess(ByVal SelectProcess1 As OpenControl.SelectProcess) As OpenControl.SelectProcessR + Dim inValue As OpenControl.SelectProcessRequest = New OpenControl.SelectProcessRequest() + inValue.SelectProcess = SelectProcess1 + Dim retVal As OpenControl.SelectProcessResponse = CType(Me,OpenControl.OPENcontrolPortType).SelectProcess(inValue) + Return retVal.SelectProcessR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetSelectedProcess(ByVal request As OpenControl.GetSelectedProcessRequest) As OpenControl.GetSelectedProcessResponse Implements OpenControl.OPENcontrolPortType.GetSelectedProcess + Return MyBase.Channel.GetSelectedProcess(request) + End Function + + Public Function GetSelectedProcess(ByVal GetSelectedProcess1 As OpenControl.GetSelectedProcess) As OpenControl.GetSelectedProcessR + Dim inValue As OpenControl.GetSelectedProcessRequest = New OpenControl.GetSelectedProcessRequest() + inValue.GetSelectedProcess = GetSelectedProcess1 + Dim retVal As OpenControl.GetSelectedProcessResponse = CType(Me,OpenControl.OPENcontrolPortType).GetSelectedProcess(inValue) + Return retVal.GetSelectedProcessR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SelectProcAxis(ByVal request As OpenControl.SelectProcAxisRequest) As OpenControl.SelectProcAxisResponse Implements OpenControl.OPENcontrolPortType.SelectProcAxis + Return MyBase.Channel.SelectProcAxis(request) + End Function + + Public Function SelectProcAxis(ByVal SelectProcAxis1 As OpenControl.SelectProcAxis) As OpenControl.SelectProcAxisR + Dim inValue As OpenControl.SelectProcAxisRequest = New OpenControl.SelectProcAxisRequest() + inValue.SelectProcAxis = SelectProcAxis1 + Dim retVal As OpenControl.SelectProcAxisResponse = CType(Me,OpenControl.OPENcontrolPortType).SelectProcAxis(inValue) + Return retVal.SelectProcAxisR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SelectPartProgram(ByVal request As OpenControl.SelectPartProgramRequest) As OpenControl.SelectPartProgramResponse Implements OpenControl.OPENcontrolPortType.SelectPartProgram + Return MyBase.Channel.SelectPartProgram(request) + End Function + + Public Function SelectPartProgram(ByVal SelectPartProgram1 As OpenControl.SelectPartProgram) As OpenControl.SelectPartProgramR + Dim inValue As OpenControl.SelectPartProgramRequest = New OpenControl.SelectPartProgramRequest() + inValue.SelectPartProgram = SelectPartProgram1 + Dim retVal As OpenControl.SelectPartProgramResponse = CType(Me,OpenControl.OPENcontrolPortType).SelectPartProgram(inValue) + Return retVal.SelectPartProgramR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SelectPartProgramFromDrive(ByVal request As OpenControl.SelectPartProgramFromDriveRequest) As OpenControl.SelectPartProgramFromDriveResponse Implements OpenControl.OPENcontrolPortType.SelectPartProgramFromDrive + Return MyBase.Channel.SelectPartProgramFromDrive(request) + End Function + + Public Function SelectPartProgramFromDrive(ByVal SelectPartProgramFromDrive1 As OpenControl.SelectPartProgramFromDrive) As OpenControl.SelectPartProgramFromDriveR + Dim inValue As OpenControl.SelectPartProgramFromDriveRequest = New OpenControl.SelectPartProgramFromDriveRequest() + inValue.SelectPartProgramFromDrive = SelectPartProgramFromDrive1 + Dim retVal As OpenControl.SelectPartProgramFromDriveResponse = CType(Me,OpenControl.OPENcontrolPortType).SelectPartProgramFromDrive(inValue) + Return retVal.SelectPartProgramFromDriveR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetActivePartProgram(ByVal request As OpenControl.GetActivePartProgramRequest) As OpenControl.GetActivePartProgramResponse Implements OpenControl.OPENcontrolPortType.GetActivePartProgram + Return MyBase.Channel.GetActivePartProgram(request) + End Function + + Public Function GetActivePartProgram(ByVal GetActivePartProgram1 As OpenControl.GetActivePartProgram) As OpenControl.GetActivePartProgramR + Dim inValue As OpenControl.GetActivePartProgramRequest = New OpenControl.GetActivePartProgramRequest() + inValue.GetActivePartProgram = GetActivePartProgram1 + Dim retVal As OpenControl.GetActivePartProgramResponse = CType(Me,OpenControl.OPENcontrolPortType).GetActivePartProgram(inValue) + Return retVal.GetActivePartProgramR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetPartProgramLines(ByVal request As OpenControl.GetPartProgramLinesRequest) As OpenControl.GetPartProgramLinesResponse Implements OpenControl.OPENcontrolPortType.GetPartProgramLines + Return MyBase.Channel.GetPartProgramLines(request) + End Function + + Public Function GetPartProgramLines(ByVal GetPartProgramLines1 As OpenControl.GetPartProgramLines) As OpenControl.GetPartProgramLinesR + Dim inValue As OpenControl.GetPartProgramLinesRequest = New OpenControl.GetPartProgramLinesRequest() + inValue.GetPartProgramLines = GetPartProgramLines1 + Dim retVal As OpenControl.GetPartProgramLinesResponse = CType(Me,OpenControl.OPENcontrolPortType).GetPartProgramLines(inValue) + Return retVal.GetPartProgramLinesR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetAxOriginNum(ByVal request As OpenControl.GetAxOriginNumRequest) As OpenControl.GetAxOriginNumResponse Implements OpenControl.OPENcontrolPortType.GetAxOriginNum + Return MyBase.Channel.GetAxOriginNum(request) + End Function + + Public Function GetAxOriginNum(ByVal GetAxOriginNum1 As OpenControl.GetAxOriginNum) As OpenControl.GetAxOriginNumR + Dim inValue As OpenControl.GetAxOriginNumRequest = New OpenControl.GetAxOriginNumRequest() + inValue.GetAxOriginNum = GetAxOriginNum1 + Dim retVal As OpenControl.GetAxOriginNumResponse = CType(Me,OpenControl.OPENcontrolPortType).GetAxOriginNum(inValue) + Return retVal.GetAxOriginNumR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetAxesPosition(ByVal request As OpenControl.GetAxesPositionRequest) As OpenControl.GetAxesPositionResponse Implements OpenControl.OPENcontrolPortType.GetAxesPosition + Return MyBase.Channel.GetAxesPosition(request) + End Function + + Public Function GetAxesPosition(ByVal GetAxesPosition1 As OpenControl.GetAxesPosition) As OpenControl.GetAxesPositionR + Dim inValue As OpenControl.GetAxesPositionRequest = New OpenControl.GetAxesPositionRequest() + inValue.GetAxesPosition = GetAxesPosition1 + Dim retVal As OpenControl.GetAxesPositionResponse = CType(Me,OpenControl.OPENcontrolPortType).GetAxesPosition(inValue) + Return retVal.GetAxesPositionR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetNcInfo1(ByVal request As OpenControl.GetNcInfo1Request) As OpenControl.GetNcInfo1Response Implements OpenControl.OPENcontrolPortType.GetNcInfo1 + Return MyBase.Channel.GetNcInfo1(request) + End Function + + Public Function GetNcInfo1(ByVal GetNcInfo11 As OpenControl.GetNcInfo1) As OpenControl.GetNcInfo1R + Dim inValue As OpenControl.GetNcInfo1Request = New OpenControl.GetNcInfo1Request() + inValue.GetNcInfo1 = GetNcInfo11 + Dim retVal As OpenControl.GetNcInfo1Response = CType(Me,OpenControl.OPENcontrolPortType).GetNcInfo1(inValue) + Return retVal.GetNcInfo1R + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetNcInfo2(ByVal request As OpenControl.GetNcInfo2Request) As OpenControl.GetNcInfo2Response Implements OpenControl.OPENcontrolPortType.GetNcInfo2 + Return MyBase.Channel.GetNcInfo2(request) + End Function + + Public Function GetNcInfo2(ByVal GetNcInfo21 As OpenControl.GetNcInfo2) As OpenControl.GetNcInfo2R + Dim inValue As OpenControl.GetNcInfo2Request = New OpenControl.GetNcInfo2Request() + inValue.GetNcInfo2 = GetNcInfo21 + Dim retVal As OpenControl.GetNcInfo2Response = CType(Me,OpenControl.OPENcontrolPortType).GetNcInfo2(inValue) + Return retVal.GetNcInfo2R + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetToolNames(ByVal request As OpenControl.GetToolNamesRequest) As OpenControl.GetToolNamesResponse Implements OpenControl.OPENcontrolPortType.GetToolNames + Return MyBase.Channel.GetToolNames(request) + End Function + + Public Function GetToolNames(ByVal GetToolNames1 As OpenControl.GetToolNames) As OpenControl.GetToolNamesR + Dim inValue As OpenControl.GetToolNamesRequest = New OpenControl.GetToolNamesRequest() + inValue.GetToolNames = GetToolNames1 + Dim retVal As OpenControl.GetToolNamesResponse = CType(Me,OpenControl.OPENcontrolPortType).GetToolNames(inValue) + Return retVal.GetToolNamesR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetProcessStatus(ByVal request As OpenControl.GetProcessStatusRequest) As OpenControl.GetProcessStatusResponse Implements OpenControl.OPENcontrolPortType.GetProcessStatus + Return MyBase.Channel.GetProcessStatus(request) + End Function + + Public Function GetProcessStatus(ByVal GetProcessStatus1 As OpenControl.GetProcessStatus) As OpenControl.GetProcessStatusR + Dim inValue As OpenControl.GetProcessStatusRequest = New OpenControl.GetProcessStatusRequest() + inValue.GetProcessStatus = GetProcessStatus1 + Dim retVal As OpenControl.GetProcessStatusResponse = CType(Me,OpenControl.OPENcontrolPortType).GetProcessStatus(inValue) + Return retVal.GetProcessStatusR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetBlkNum(ByVal request As OpenControl.GetBlkNumRequest) As OpenControl.GetBlkNumResponse Implements OpenControl.OPENcontrolPortType.GetBlkNum + Return MyBase.Channel.GetBlkNum(request) + End Function + + Public Function GetBlkNum(ByVal GetBlkNum1 As OpenControl.GetBlkNum) As OpenControl.GetBlkNumR + Dim inValue As OpenControl.GetBlkNumRequest = New OpenControl.GetBlkNumRequest() + inValue.GetBlkNum = GetBlkNum1 + Dim retVal As OpenControl.GetBlkNumResponse = CType(Me,OpenControl.OPENcontrolPortType).GetBlkNum(inValue) + Return retVal.GetBlkNumR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadErrMsg(ByVal request As OpenControl.ReadErrMsgRequest) As OpenControl.ReadErrMsgResponse Implements OpenControl.OPENcontrolPortType.ReadErrMsg + Return MyBase.Channel.ReadErrMsg(request) + End Function + + Public Function ReadErrMsg(ByVal ReadErrMsg1 As OpenControl.ReadErrMsg) As OpenControl.ReadErrMsgR + Dim inValue As OpenControl.ReadErrMsgRequest = New OpenControl.ReadErrMsgRequest() + inValue.ReadErrMsg = ReadErrMsg1 + Dim retVal As OpenControl.ReadErrMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadErrMsg(inValue) + Return retVal.ReadErrMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadPartProgramMsg(ByVal request As OpenControl.ReadPartProgramMsgRequest) As OpenControl.ReadPartProgramMsgResponse Implements OpenControl.OPENcontrolPortType.ReadPartProgramMsg + Return MyBase.Channel.ReadPartProgramMsg(request) + End Function + + Public Function ReadPartProgramMsg(ByVal ReadPartProgramMsg1 As OpenControl.ReadPartProgramMsg) As OpenControl.ReadPartProgramMsgR + Dim inValue As OpenControl.ReadPartProgramMsgRequest = New OpenControl.ReadPartProgramMsgRequest() + inValue.ReadPartProgramMsg = ReadPartProgramMsg1 + Dim retVal As OpenControl.ReadPartProgramMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadPartProgramMsg(inValue) + Return retVal.ReadPartProgramMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetGCode(ByVal request As OpenControl.GetGCodeRequest) As OpenControl.GetGCodeResponse Implements OpenControl.OPENcontrolPortType.GetGCode + Return MyBase.Channel.GetGCode(request) + End Function + + Public Function GetGCode(ByVal GetGCode1 As OpenControl.GetGCode) As OpenControl.GetGCodeR + Dim inValue As OpenControl.GetGCodeRequest = New OpenControl.GetGCodeRequest() + inValue.GetGCode = GetGCode1 + Dim retVal As OpenControl.GetGCodeResponse = CType(Me,OpenControl.OPENcontrolPortType).GetGCode(inValue) + Return retVal.GetGCodeR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetMCode(ByVal request As OpenControl.GetMCodeRequest) As OpenControl.GetMCodeResponse Implements OpenControl.OPENcontrolPortType.GetMCode + Return MyBase.Channel.GetMCode(request) + End Function + + Public Function GetMCode(ByVal GetMCode1 As OpenControl.GetMCode) As OpenControl.GetMCodeR + Dim inValue As OpenControl.GetMCodeRequest = New OpenControl.GetMCodeRequest() + inValue.GetMCode = GetMCode1 + Dim retVal As OpenControl.GetMCodeResponse = CType(Me,OpenControl.OPENcontrolPortType).GetMCode(inValue) + Return retVal.GetMCodeR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SkipPProgBlock(ByVal request As OpenControl.SkipPProgBlockRequest) As OpenControl.SkipPProgBlockResponse Implements OpenControl.OPENcontrolPortType.SkipPProgBlock + Return MyBase.Channel.SkipPProgBlock(request) + End Function + + Public Function SkipPProgBlock(ByVal SkipPProgBlock1 As OpenControl.SkipPProgBlock) As OpenControl.SkipPProgBlockR + Dim inValue As OpenControl.SkipPProgBlockRequest = New OpenControl.SkipPProgBlockRequest() + inValue.SkipPProgBlock = SkipPProgBlock1 + Dim retVal As OpenControl.SkipPProgBlockResponse = CType(Me,OpenControl.OPENcontrolPortType).SkipPProgBlock(inValue) + Return retVal.SkipPProgBlockR + End Function + + _ + Function OpenControl_OPENcontrolPortType_Ese(ByVal request As OpenControl.EseRequest) As OpenControl.EseResponse Implements OpenControl.OPENcontrolPortType.Ese + Return MyBase.Channel.Ese(request) + End Function + + Public Function Ese(ByVal Ese1 As OpenControl.Ese) As OpenControl.EseR + Dim inValue As OpenControl.EseRequest = New OpenControl.EseRequest() + inValue.Ese = Ese1 + Dim retVal As OpenControl.EseResponse = CType(Me,OpenControl.OPENcontrolPortType).Ese(inValue) + Return retVal.EseR + End Function + + _ + Function OpenControl_OPENcontrolPortType_EseEx(ByVal request As OpenControl.EseExRequest) As OpenControl.EseExResponse Implements OpenControl.OPENcontrolPortType.EseEx + Return MyBase.Channel.EseEx(request) + End Function + + Public Function EseEx(ByVal EseEx1 As OpenControl.EseEx) As OpenControl.EseExR + Dim inValue As OpenControl.EseExRequest = New OpenControl.EseExRequest() + inValue.EseEx = EseEx1 + Dim retVal As OpenControl.EseExResponse = CType(Me,OpenControl.OPENcontrolPortType).EseEx(inValue) + Return retVal.EseExR + End Function + + _ + Function OpenControl_OPENcontrolPortType_Exe(ByVal request As OpenControl.ExeRequest) As OpenControl.ExeResponse Implements OpenControl.OPENcontrolPortType.Exe + Return MyBase.Channel.Exe(request) + End Function + + Public Function Exe(ByVal Exe1 As OpenControl.Exe) As OpenControl.ExeR + Dim inValue As OpenControl.ExeRequest = New OpenControl.ExeRequest() + inValue.Exe = Exe1 + Dim retVal As OpenControl.ExeResponse = CType(Me,OpenControl.OPENcontrolPortType).Exe(inValue) + Return retVal.ExeR + End Function + + _ + Function OpenControl_OPENcontrolPortType_AxesRef(ByVal request As OpenControl.AxesRefRequest) As OpenControl.AxesRefResponse Implements OpenControl.OPENcontrolPortType.AxesRef + Return MyBase.Channel.AxesRef(request) + End Function + + Public Function AxesRef(ByVal AxesRef1 As OpenControl.AxesRef) As OpenControl.AxesRefR + Dim inValue As OpenControl.AxesRefRequest = New OpenControl.AxesRefRequest() + inValue.AxesRef = AxesRef1 + Dim retVal As OpenControl.AxesRefResponse = CType(Me,OpenControl.OPENcontrolPortType).AxesRef(inValue) + Return retVal.AxesRefR + End Function + + _ + Function OpenControl_OPENcontrolPortType_DncInit(ByVal request As OpenControl.DncInitRequest) As OpenControl.DncInitResponse Implements OpenControl.OPENcontrolPortType.DncInit + Return MyBase.Channel.DncInit(request) + End Function + + Public Function DncInit(ByVal DncInit1 As OpenControl.DncInit) As OpenControl.DncInitR + Dim inValue As OpenControl.DncInitRequest = New OpenControl.DncInitRequest() + inValue.DncInit = DncInit1 + Dim retVal As OpenControl.DncInitResponse = CType(Me,OpenControl.OPENcontrolPortType).DncInit(inValue) + Return retVal.DncInitR + End Function + + _ + Function OpenControl_OPENcontrolPortType_DncData(ByVal request As OpenControl.DncDataRequest) As OpenControl.DncDataResponse Implements OpenControl.OPENcontrolPortType.DncData + Return MyBase.Channel.DncData(request) + End Function + + Public Function DncData(ByVal DncData1 As OpenControl.DncData) As OpenControl.DncDataR + Dim inValue As OpenControl.DncDataRequest = New OpenControl.DncDataRequest() + inValue.DncData = DncData1 + Dim retVal As OpenControl.DncDataResponse = CType(Me,OpenControl.OPENcontrolPortType).DncData(inValue) + Return retVal.DncDataR + End Function + + _ + Function OpenControl_OPENcontrolPortType_DncEof(ByVal request As OpenControl.DncEofRequest) As OpenControl.DncEofResponse Implements OpenControl.OPENcontrolPortType.DncEof + Return MyBase.Channel.DncEof(request) + End Function + + Public Function DncEof(ByVal DncEof1 As OpenControl.DncEof) As OpenControl.DncEofR + Dim inValue As OpenControl.DncEofRequest = New OpenControl.DncEofRequest() + inValue.DncEof = DncEof1 + Dim retVal As OpenControl.DncEofResponse = CType(Me,OpenControl.OPENcontrolPortType).DncEof(inValue) + Return retVal.DncEofR + End Function + + _ + Function OpenControl_OPENcontrolPortType_DncStop(ByVal request As OpenControl.DncStopRequest) As OpenControl.DncStopResponse Implements OpenControl.OPENcontrolPortType.DncStop + Return MyBase.Channel.DncStop(request) + End Function + + Public Function DncStop(ByVal DncStop1 As OpenControl.DncStop) As OpenControl.DncStopR + Dim inValue As OpenControl.DncStopRequest = New OpenControl.DncStopRequest() + inValue.DncStop = DncStop1 + Dim retVal As OpenControl.DncStopResponse = CType(Me,OpenControl.OPENcontrolPortType).DncStop(inValue) + Return retVal.DncStopR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetAxesInfo3(ByVal request As OpenControl.GetAxesInfo3Request) As OpenControl.GetAxesInfo3Response Implements OpenControl.OPENcontrolPortType.GetAxesInfo3 + Return MyBase.Channel.GetAxesInfo3(request) + End Function + + Public Function GetAxesInfo3(ByVal GetAxesInfo31 As OpenControl.GetAxesInfo3) As OpenControl.GetAxesInfo3R + Dim inValue As OpenControl.GetAxesInfo3Request = New OpenControl.GetAxesInfo3Request() + inValue.GetAxesInfo3 = GetAxesInfo31 + Dim retVal As OpenControl.GetAxesInfo3Response = CType(Me,OpenControl.OPENcontrolPortType).GetAxesInfo3(inValue) + Return retVal.GetAxesInfo3R + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetCodeNumber(ByVal request As OpenControl.GetCodeNumberRequest) As OpenControl.GetCodeNumberResponse Implements OpenControl.OPENcontrolPortType.GetCodeNumber + Return MyBase.Channel.GetCodeNumber(request) + End Function + + Public Function GetCodeNumber(ByVal GetCodeNumber1 As OpenControl.GetCodeNumber) As OpenControl.GetCodeNumberR + Dim inValue As OpenControl.GetCodeNumberRequest = New OpenControl.GetCodeNumberRequest() + inValue.GetCodeNumber = GetCodeNumber1 + Dim retVal As OpenControl.GetCodeNumberResponse = CType(Me,OpenControl.OPENcontrolPortType).GetCodeNumber(inValue) + Return retVal.GetCodeNumberR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetOptions(ByVal request As OpenControl.GetOptionsRequest) As OpenControl.GetOptionsResponse Implements OpenControl.OPENcontrolPortType.GetOptions + Return MyBase.Channel.GetOptions(request) + End Function + + Public Function GetOptions(ByVal GetOptions1 As OpenControl.GetOptions) As OpenControl.GetOptionsR + Dim inValue As OpenControl.GetOptionsRequest = New OpenControl.GetOptionsRequest() + inValue.GetOptions = GetOptions1 + Dim retVal As OpenControl.GetOptionsResponse = CType(Me,OpenControl.OPENcontrolPortType).GetOptions(inValue) + Return retVal.GetOptionsR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetDateTime(ByVal request As OpenControl.GetDateTimeRequest) As OpenControl.GetDateTimeResponse Implements OpenControl.OPENcontrolPortType.GetDateTime + Return MyBase.Channel.GetDateTime(request) + End Function + + Public Function GetDateTime(ByVal GetDateTime1 As OpenControl.GetDateTime) As OpenControl.GetDateTimeR + Dim inValue As OpenControl.GetDateTimeRequest = New OpenControl.GetDateTimeRequest() + inValue.GetDateTime = GetDateTime1 + Dim retVal As OpenControl.GetDateTimeResponse = CType(Me,OpenControl.OPENcontrolPortType).GetDateTime(inValue) + Return retVal.GetDateTimeR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetDateTime(ByVal request As OpenControl.SetDateTimeRequest) As OpenControl.SetDateTimeResponse Implements OpenControl.OPENcontrolPortType.SetDateTime + Return MyBase.Channel.SetDateTime(request) + End Function + + Public Function SetDateTime(ByVal SetDateTime1 As OpenControl.SetDateTime) As OpenControl.SetDateTimeR + Dim inValue As OpenControl.SetDateTimeRequest = New OpenControl.SetDateTimeRequest() + inValue.SetDateTime = SetDateTime1 + Dim retVal As OpenControl.SetDateTimeResponse = CType(Me,OpenControl.OPENcontrolPortType).SetDateTime(inValue) + Return retVal.SetDateTimeR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetSerialNumber(ByVal request As OpenControl.GetSerialNumberRequest) As OpenControl.GetSerialNumberResponse Implements OpenControl.OPENcontrolPortType.GetSerialNumber + Return MyBase.Channel.GetSerialNumber(request) + End Function + + Public Function GetSerialNumber(ByVal GetSerialNumber1 As OpenControl.GetSerialNumber) As OpenControl.GetSerialNumberR + Dim inValue As OpenControl.GetSerialNumberRequest = New OpenControl.GetSerialNumberRequest() + inValue.GetSerialNumber = GetSerialNumber1 + Dim retVal As OpenControl.GetSerialNumberResponse = CType(Me,OpenControl.OPENcontrolPortType).GetSerialNumber(inValue) + Return retVal.GetSerialNumberR + End Function + + _ + Function OpenControl_OPENcontrolPortType_PutFile(ByVal request As OpenControl.PutFileRequest) As OpenControl.PutFileResponse Implements OpenControl.OPENcontrolPortType.PutFile + Return MyBase.Channel.PutFile(request) + End Function + + Public Function PutFile(ByVal PutFile1 As OpenControl.PutFile) As OpenControl.PutFileR + Dim inValue As OpenControl.PutFileRequest = New OpenControl.PutFileRequest() + inValue.PutFile = PutFile1 + Dim retVal As OpenControl.PutFileResponse = CType(Me,OpenControl.OPENcontrolPortType).PutFile(inValue) + Return retVal.PutFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetFile(ByVal request As OpenControl.GetFileRequest) As OpenControl.GetFileResponse Implements OpenControl.OPENcontrolPortType.GetFile + Return MyBase.Channel.GetFile(request) + End Function + + Public Function GetFile(ByVal GetFile1 As OpenControl.GetFile) As OpenControl.GetFileR + Dim inValue As OpenControl.GetFileRequest = New OpenControl.GetFileRequest() + inValue.GetFile = GetFile1 + Dim retVal As OpenControl.GetFileResponse = CType(Me,OpenControl.OPENcontrolPortType).GetFile(inValue) + Return retVal.GetFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_PutBinaryFile(ByVal request As OpenControl.PutBinaryFileRequest) As OpenControl.PutBinaryFileResponse Implements OpenControl.OPENcontrolPortType.PutBinaryFile + Return MyBase.Channel.PutBinaryFile(request) + End Function + + Public Function PutBinaryFile(ByVal PutBinaryFile1 As OpenControl.PutBinaryFile) As OpenControl.PutBinaryFileR + Dim inValue As OpenControl.PutBinaryFileRequest = New OpenControl.PutBinaryFileRequest() + inValue.PutBinaryFile = PutBinaryFile1 + Dim retVal As OpenControl.PutBinaryFileResponse = CType(Me,OpenControl.OPENcontrolPortType).PutBinaryFile(inValue) + Return retVal.PutBinaryFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetBinaryFile(ByVal request As OpenControl.GetBinaryFileRequest) As OpenControl.GetBinaryFileResponse Implements OpenControl.OPENcontrolPortType.GetBinaryFile + Return MyBase.Channel.GetBinaryFile(request) + End Function + + Public Function GetBinaryFile(ByVal GetBinaryFile1 As OpenControl.GetBinaryFile) As OpenControl.GetBinaryFileR + Dim inValue As OpenControl.GetBinaryFileRequest = New OpenControl.GetBinaryFileRequest() + inValue.GetBinaryFile = GetBinaryFile1 + Dim retVal As OpenControl.GetBinaryFileResponse = CType(Me,OpenControl.OPENcontrolPortType).GetBinaryFile(inValue) + Return retVal.GetBinaryFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSSetSecurityLevel(ByVal request As OpenControl.LogFSSetSecurityLevelRequest) As OpenControl.LogFSSetSecurityLevelResponse Implements OpenControl.OPENcontrolPortType.LogFSSetSecurityLevel + Return MyBase.Channel.LogFSSetSecurityLevel(request) + End Function + + Public Function LogFSSetSecurityLevel(ByVal LogFSSetSecurityLevel1 As OpenControl.LogFSSetSecurityLevel) As OpenControl.LogFSSetSecurityLevelR + Dim inValue As OpenControl.LogFSSetSecurityLevelRequest = New OpenControl.LogFSSetSecurityLevelRequest() + inValue.LogFSSetSecurityLevel = LogFSSetSecurityLevel1 + Dim retVal As OpenControl.LogFSSetSecurityLevelResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSSetSecurityLevel(inValue) + Return retVal.LogFSSetSecurityLevelR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSGetSecurityLevel(ByVal request As OpenControl.LogFSGetSecurityLevelRequest) As OpenControl.LogFSGetSecurityLevelResponse Implements OpenControl.OPENcontrolPortType.LogFSGetSecurityLevel + Return MyBase.Channel.LogFSGetSecurityLevel(request) + End Function + + Public Function LogFSGetSecurityLevel(ByVal LogFSGetSecurityLevel1 As OpenControl.LogFSGetSecurityLevel) As OpenControl.LogFSGetSecurityLevelR + Dim inValue As OpenControl.LogFSGetSecurityLevelRequest = New OpenControl.LogFSGetSecurityLevelRequest() + inValue.LogFSGetSecurityLevel = LogFSGetSecurityLevel1 + Dim retVal As OpenControl.LogFSGetSecurityLevelResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSGetSecurityLevel(inValue) + Return retVal.LogFSGetSecurityLevelR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSLongFileNames(ByVal request As OpenControl.LogFSLongFileNamesRequest) As OpenControl.LogFSLongFileNamesResponse Implements OpenControl.OPENcontrolPortType.LogFSLongFileNames + Return MyBase.Channel.LogFSLongFileNames(request) + End Function + + Public Function LogFSLongFileNames(ByVal LogFSLongFileNames1 As OpenControl.LogFSLongFileNames) As OpenControl.LogFSLongFileNamesR + Dim inValue As OpenControl.LogFSLongFileNamesRequest = New OpenControl.LogFSLongFileNamesRequest() + inValue.LogFSLongFileNames = LogFSLongFileNames1 + Dim retVal As OpenControl.LogFSLongFileNamesResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSLongFileNames(inValue) + Return retVal.LogFSLongFileNamesR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSGetNumDrive(ByVal request As OpenControl.LogFSGetNumDriveRequest) As OpenControl.LogFSGetNumDriveResponse Implements OpenControl.OPENcontrolPortType.LogFSGetNumDrive + Return MyBase.Channel.LogFSGetNumDrive(request) + End Function + + Public Function LogFSGetNumDrive(ByVal LogFSGetNumDrive1 As OpenControl.LogFSGetNumDrive) As OpenControl.LogFSGetNumDriveR + Dim inValue As OpenControl.LogFSGetNumDriveRequest = New OpenControl.LogFSGetNumDriveRequest() + inValue.LogFSGetNumDrive = LogFSGetNumDrive1 + Dim retVal As OpenControl.LogFSGetNumDriveResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSGetNumDrive(inValue) + Return retVal.LogFSGetNumDriveR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSGetDriveList(ByVal request As OpenControl.LogFSGetDriveListRequest) As OpenControl.LogFSGetDriveListResponse Implements OpenControl.OPENcontrolPortType.LogFSGetDriveList + Return MyBase.Channel.LogFSGetDriveList(request) + End Function + + Public Function LogFSGetDriveList(ByVal LogFSGetDriveList1 As OpenControl.LogFSGetDriveList) As OpenControl.LogFSGetDriveListR + Dim inValue As OpenControl.LogFSGetDriveListRequest = New OpenControl.LogFSGetDriveListRequest() + inValue.LogFSGetDriveList = LogFSGetDriveList1 + Dim retVal As OpenControl.LogFSGetDriveListResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSGetDriveList(inValue) + Return retVal.LogFSGetDriveListR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSGetHiddenDriveList(ByVal request As OpenControl.LogFSGetHiddenDriveListRequest) As OpenControl.LogFSGetHiddenDriveListResponse Implements OpenControl.OPENcontrolPortType.LogFSGetHiddenDriveList + Return MyBase.Channel.LogFSGetHiddenDriveList(request) + End Function + + Public Function LogFSGetHiddenDriveList(ByVal LogFSGetHiddenDriveList1 As OpenControl.LogFSGetHiddenDriveList) As OpenControl.LogFSGetHiddenDriveListR + Dim inValue As OpenControl.LogFSGetHiddenDriveListRequest = New OpenControl.LogFSGetHiddenDriveListRequest() + inValue.LogFSGetHiddenDriveList = LogFSGetHiddenDriveList1 + Dim retVal As OpenControl.LogFSGetHiddenDriveListResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSGetHiddenDriveList(inValue) + Return retVal.LogFSGetHiddenDriveListR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSGetDrivePath(ByVal request As OpenControl.LogFSGetDrivePathRequest) As OpenControl.LogFSGetDrivePathResponse Implements OpenControl.OPENcontrolPortType.LogFSGetDrivePath + Return MyBase.Channel.LogFSGetDrivePath(request) + End Function + + Public Function LogFSGetDrivePath(ByVal LogFSGetDrivePath1 As OpenControl.LogFSGetDrivePath) As OpenControl.LogFSGetDrivePathR + Dim inValue As OpenControl.LogFSGetDrivePathRequest = New OpenControl.LogFSGetDrivePathRequest() + inValue.LogFSGetDrivePath = LogFSGetDrivePath1 + Dim retVal As OpenControl.LogFSGetDrivePathResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSGetDrivePath(inValue) + Return retVal.LogFSGetDrivePathR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSAddDrive(ByVal request As OpenControl.LogFSAddDriveRequest) As OpenControl.LogFSAddDriveResponse Implements OpenControl.OPENcontrolPortType.LogFSAddDrive + Return MyBase.Channel.LogFSAddDrive(request) + End Function + + Public Function LogFSAddDrive(ByVal LogFSAddDrive1 As OpenControl.LogFSAddDrive) As OpenControl.LogFSAddDriveR + Dim inValue As OpenControl.LogFSAddDriveRequest = New OpenControl.LogFSAddDriveRequest() + inValue.LogFSAddDrive = LogFSAddDrive1 + Dim retVal As OpenControl.LogFSAddDriveResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSAddDrive(inValue) + Return retVal.LogFSAddDriveR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSRemoveDrive(ByVal request As OpenControl.LogFSRemoveDriveRequest) As OpenControl.LogFSRemoveDriveResponse Implements OpenControl.OPENcontrolPortType.LogFSRemoveDrive + Return MyBase.Channel.LogFSRemoveDrive(request) + End Function + + Public Function LogFSRemoveDrive(ByVal LogFSRemoveDrive1 As OpenControl.LogFSRemoveDrive) As OpenControl.LogFSRemoveDriveR + Dim inValue As OpenControl.LogFSRemoveDriveRequest = New OpenControl.LogFSRemoveDriveRequest() + inValue.LogFSRemoveDrive = LogFSRemoveDrive1 + Dim retVal As OpenControl.LogFSRemoveDriveResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSRemoveDrive(inValue) + Return retVal.LogFSRemoveDriveR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSReloadDriveList(ByVal request As OpenControl.LogFSReloadDriveListRequest) As OpenControl.LogFSReloadDriveListResponse Implements OpenControl.OPENcontrolPortType.LogFSReloadDriveList + Return MyBase.Channel.LogFSReloadDriveList(request) + End Function + + Public Function LogFSReloadDriveList(ByVal LogFSReloadDriveList1 As OpenControl.LogFSReloadDriveList) As OpenControl.LogFSReloadDriveListR + Dim inValue As OpenControl.LogFSReloadDriveListRequest = New OpenControl.LogFSReloadDriveListRequest() + inValue.LogFSReloadDriveList = LogFSReloadDriveList1 + Dim retVal As OpenControl.LogFSReloadDriveListResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSReloadDriveList(inValue) + Return retVal.LogFSReloadDriveListR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSCreateDir(ByVal request As OpenControl.LogFSCreateDirRequest) As OpenControl.LogFSCreateDirResponse Implements OpenControl.OPENcontrolPortType.LogFSCreateDir + Return MyBase.Channel.LogFSCreateDir(request) + End Function + + Public Function LogFSCreateDir(ByVal LogFSCreateDir1 As OpenControl.LogFSCreateDir) As OpenControl.LogFSCreateDirR + Dim inValue As OpenControl.LogFSCreateDirRequest = New OpenControl.LogFSCreateDirRequest() + inValue.LogFSCreateDir = LogFSCreateDir1 + Dim retVal As OpenControl.LogFSCreateDirResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSCreateDir(inValue) + Return retVal.LogFSCreateDirR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSCreateFile(ByVal request As OpenControl.LogFSCreateFileRequest) As OpenControl.LogFSCreateFileResponse Implements OpenControl.OPENcontrolPortType.LogFSCreateFile + Return MyBase.Channel.LogFSCreateFile(request) + End Function + + Public Function LogFSCreateFile(ByVal LogFSCreateFile1 As OpenControl.LogFSCreateFile) As OpenControl.LogFSCreateFileR + Dim inValue As OpenControl.LogFSCreateFileRequest = New OpenControl.LogFSCreateFileRequest() + inValue.LogFSCreateFile = LogFSCreateFile1 + Dim retVal As OpenControl.LogFSCreateFileResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSCreateFile(inValue) + Return retVal.LogFSCreateFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSGetFileSize(ByVal request As OpenControl.LogFSGetFileSizeRequest) As OpenControl.LogFSGetFileSizeResponse Implements OpenControl.OPENcontrolPortType.LogFSGetFileSize + Return MyBase.Channel.LogFSGetFileSize(request) + End Function + + Public Function LogFSGetFileSize(ByVal LogFSGetFileSize1 As OpenControl.LogFSGetFileSize) As OpenControl.LogFSGetFileSizeR + Dim inValue As OpenControl.LogFSGetFileSizeRequest = New OpenControl.LogFSGetFileSizeRequest() + inValue.LogFSGetFileSize = LogFSGetFileSize1 + Dim retVal As OpenControl.LogFSGetFileSizeResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSGetFileSize(inValue) + Return retVal.LogFSGetFileSizeR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSGetFileAttrib(ByVal request As OpenControl.LogFSGetFileAttribRequest) As OpenControl.LogFSGetFileAttribResponse Implements OpenControl.OPENcontrolPortType.LogFSGetFileAttrib + Return MyBase.Channel.LogFSGetFileAttrib(request) + End Function + + Public Function LogFSGetFileAttrib(ByVal LogFSGetFileAttrib1 As OpenControl.LogFSGetFileAttrib) As OpenControl.LogFSGetFileAttribR + Dim inValue As OpenControl.LogFSGetFileAttribRequest = New OpenControl.LogFSGetFileAttribRequest() + inValue.LogFSGetFileAttrib = LogFSGetFileAttrib1 + Dim retVal As OpenControl.LogFSGetFileAttribResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSGetFileAttrib(inValue) + Return retVal.LogFSGetFileAttribR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSSetFileAttrib(ByVal request As OpenControl.LogFSSetFileAttribRequest) As OpenControl.LogFSSetFileAttribResponse Implements OpenControl.OPENcontrolPortType.LogFSSetFileAttrib + Return MyBase.Channel.LogFSSetFileAttrib(request) + End Function + + Public Function LogFSSetFileAttrib(ByVal LogFSSetFileAttrib1 As OpenControl.LogFSSetFileAttrib) As OpenControl.LogFSSetFileAttribR + Dim inValue As OpenControl.LogFSSetFileAttribRequest = New OpenControl.LogFSSetFileAttribRequest() + inValue.LogFSSetFileAttrib = LogFSSetFileAttrib1 + Dim retVal As OpenControl.LogFSSetFileAttribResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSSetFileAttrib(inValue) + Return retVal.LogFSSetFileAttribR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSChangeFileAttrib(ByVal request As OpenControl.LogFSChangeFileAttribRequest) As OpenControl.LogFSChangeFileAttribResponse Implements OpenControl.OPENcontrolPortType.LogFSChangeFileAttrib + Return MyBase.Channel.LogFSChangeFileAttrib(request) + End Function + + Public Function LogFSChangeFileAttrib(ByVal LogFSChangeFileAttrib1 As OpenControl.LogFSChangeFileAttrib) As OpenControl.LogFSChangeFileAttribR + Dim inValue As OpenControl.LogFSChangeFileAttribRequest = New OpenControl.LogFSChangeFileAttribRequest() + inValue.LogFSChangeFileAttrib = LogFSChangeFileAttrib1 + Dim retVal As OpenControl.LogFSChangeFileAttribResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSChangeFileAttrib(inValue) + Return retVal.LogFSChangeFileAttribR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSFindFirst(ByVal request As OpenControl.LogFSFindFirstRequest) As OpenControl.LogFSFindFirstResponse Implements OpenControl.OPENcontrolPortType.LogFSFindFirst + Return MyBase.Channel.LogFSFindFirst(request) + End Function + + Public Function LogFSFindFirst(ByVal LogFSFindFirst1 As OpenControl.LogFSFindFirst) As OpenControl.LogFSFindFirstR + Dim inValue As OpenControl.LogFSFindFirstRequest = New OpenControl.LogFSFindFirstRequest() + inValue.LogFSFindFirst = LogFSFindFirst1 + Dim retVal As OpenControl.LogFSFindFirstResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSFindFirst(inValue) + Return retVal.LogFSFindFirstR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSFindNext(ByVal request As OpenControl.LogFSFindNextRequest) As OpenControl.LogFSFindNextResponse Implements OpenControl.OPENcontrolPortType.LogFSFindNext + Return MyBase.Channel.LogFSFindNext(request) + End Function + + Public Function LogFSFindNext(ByVal LogFSFindNext1 As OpenControl.LogFSFindNext) As OpenControl.LogFSFindNextR + Dim inValue As OpenControl.LogFSFindNextRequest = New OpenControl.LogFSFindNextRequest() + inValue.LogFSFindNext = LogFSFindNext1 + Dim retVal As OpenControl.LogFSFindNextResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSFindNext(inValue) + Return retVal.LogFSFindNextR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSFindClose(ByVal request As OpenControl.LogFSFindCloseRequest) As OpenControl.LogFSFindCloseResponse Implements OpenControl.OPENcontrolPortType.LogFSFindClose + Return MyBase.Channel.LogFSFindClose(request) + End Function + + Public Function LogFSFindClose(ByVal LogFSFindClose1 As OpenControl.LogFSFindClose) As OpenControl.LogFSFindCloseR + Dim inValue As OpenControl.LogFSFindCloseRequest = New OpenControl.LogFSFindCloseRequest() + inValue.LogFSFindClose = LogFSFindClose1 + Dim retVal As OpenControl.LogFSFindCloseResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSFindClose(inValue) + Return retVal.LogFSFindCloseR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSRemoveFile(ByVal request As OpenControl.LogFSRemoveFileRequest) As OpenControl.LogFSRemoveFileResponse Implements OpenControl.OPENcontrolPortType.LogFSRemoveFile + Return MyBase.Channel.LogFSRemoveFile(request) + End Function + + Public Function LogFSRemoveFile(ByVal LogFSRemoveFile1 As OpenControl.LogFSRemoveFile) As OpenControl.LogFSRemoveFileR + Dim inValue As OpenControl.LogFSRemoveFileRequest = New OpenControl.LogFSRemoveFileRequest() + inValue.LogFSRemoveFile = LogFSRemoveFile1 + Dim retVal As OpenControl.LogFSRemoveFileResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSRemoveFile(inValue) + Return retVal.LogFSRemoveFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSRemoveDir(ByVal request As OpenControl.LogFSRemoveDirRequest) As OpenControl.LogFSRemoveDirResponse Implements OpenControl.OPENcontrolPortType.LogFSRemoveDir + Return MyBase.Channel.LogFSRemoveDir(request) + End Function + + Public Function LogFSRemoveDir(ByVal LogFSRemoveDir1 As OpenControl.LogFSRemoveDir) As OpenControl.LogFSRemoveDirR + Dim inValue As OpenControl.LogFSRemoveDirRequest = New OpenControl.LogFSRemoveDirRequest() + inValue.LogFSRemoveDir = LogFSRemoveDir1 + Dim retVal As OpenControl.LogFSRemoveDirResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSRemoveDir(inValue) + Return retVal.LogFSRemoveDirR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSRename(ByVal request As OpenControl.LogFSRenameRequest) As OpenControl.LogFSRenameResponse Implements OpenControl.OPENcontrolPortType.LogFSRename + Return MyBase.Channel.LogFSRename(request) + End Function + + Public Function LogFSRename(ByVal LogFSRename1 As OpenControl.LogFSRename) As OpenControl.LogFSRenameR + Dim inValue As OpenControl.LogFSRenameRequest = New OpenControl.LogFSRenameRequest() + inValue.LogFSRename = LogFSRename1 + Dim retVal As OpenControl.LogFSRenameResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSRename(inValue) + Return retVal.LogFSRenameR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSCopyFile(ByVal request As OpenControl.LogFSCopyFileRequest) As OpenControl.LogFSCopyFileResponse Implements OpenControl.OPENcontrolPortType.LogFSCopyFile + Return MyBase.Channel.LogFSCopyFile(request) + End Function + + Public Function LogFSCopyFile(ByVal LogFSCopyFile1 As OpenControl.LogFSCopyFile) As OpenControl.LogFSCopyFileR + Dim inValue As OpenControl.LogFSCopyFileRequest = New OpenControl.LogFSCopyFileRequest() + inValue.LogFSCopyFile = LogFSCopyFile1 + Dim retVal As OpenControl.LogFSCopyFileResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSCopyFile(inValue) + Return retVal.LogFSCopyFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSGetInfo(ByVal request As OpenControl.LogFSGetInfoRequest) As OpenControl.LogFSGetInfoResponse Implements OpenControl.OPENcontrolPortType.LogFSGetInfo + Return MyBase.Channel.LogFSGetInfo(request) + End Function + + Public Function LogFSGetInfo(ByVal LogFSGetInfo1 As OpenControl.LogFSGetInfo) As OpenControl.LogFSGetInfoR + Dim inValue As OpenControl.LogFSGetInfoRequest = New OpenControl.LogFSGetInfoRequest() + inValue.LogFSGetInfo = LogFSGetInfo1 + Dim retVal As OpenControl.LogFSGetInfoResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSGetInfo(inValue) + Return retVal.LogFSGetInfoR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetAvailableCustomEvents(ByVal request As OpenControl.GetAvailableCustomEventsRequest) As OpenControl.GetAvailableCustomEventsResponse Implements OpenControl.OPENcontrolPortType.GetAvailableCustomEvents + Return MyBase.Channel.GetAvailableCustomEvents(request) + End Function + + Public Function GetAvailableCustomEvents(ByVal GetAvailableCustomEvents1 As OpenControl.GetAvailableCustomEvents) As OpenControl.GetAvailableCustomEventsR + Dim inValue As OpenControl.GetAvailableCustomEventsRequest = New OpenControl.GetAvailableCustomEventsRequest() + inValue.GetAvailableCustomEvents = GetAvailableCustomEvents1 + Dim retVal As OpenControl.GetAvailableCustomEventsResponse = CType(Me,OpenControl.OPENcontrolPortType).GetAvailableCustomEvents(inValue) + Return retVal.GetAvailableCustomEventsR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetSysTick(ByVal request As OpenControl.GetSysTickRequest) As OpenControl.GetSysTickResponse Implements OpenControl.OPENcontrolPortType.GetSysTick + Return MyBase.Channel.GetSysTick(request) + End Function + + Public Function GetSysTick(ByVal GetSysTick1 As OpenControl.GetSysTick) As OpenControl.GetSysTickR + Dim inValue As OpenControl.GetSysTickRequest = New OpenControl.GetSysTickRequest() + inValue.GetSysTick = GetSysTick1 + Dim retVal As OpenControl.GetSysTickResponse = CType(Me,OpenControl.OPENcontrolPortType).GetSysTick(inValue) + Return retVal.GetSysTickR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetProcessConfNum(ByVal request As OpenControl.GetProcessConfNumRequest) As OpenControl.GetProcessConfNumResponse Implements OpenControl.OPENcontrolPortType.GetProcessConfNum + Return MyBase.Channel.GetProcessConfNum(request) + End Function + + Public Function GetProcessConfNum(ByVal GetProcessConfNum1 As OpenControl.GetProcessConfNum) As OpenControl.GetProcessConfNumR + Dim inValue As OpenControl.GetProcessConfNumRequest = New OpenControl.GetProcessConfNumRequest() + inValue.GetProcessConfNum = GetProcessConfNum1 + Dim retVal As OpenControl.GetProcessConfNumResponse = CType(Me,OpenControl.OPENcontrolPortType).GetProcessConfNum(inValue) + Return retVal.GetProcessConfNumR + End Function + + _ + Function OpenControl_OPENcontrolPortType_MonOpenChannel(ByVal request As OpenControl.MonOpenChannelRequest) As OpenControl.MonOpenChannelResponse Implements OpenControl.OPENcontrolPortType.MonOpenChannel + Return MyBase.Channel.MonOpenChannel(request) + End Function + + Public Function MonOpenChannel(ByVal MonOpenChannel1 As OpenControl.MonOpenChannel) As OpenControl.MonOpenChannelR + Dim inValue As OpenControl.MonOpenChannelRequest = New OpenControl.MonOpenChannelRequest() + inValue.MonOpenChannel = MonOpenChannel1 + Dim retVal As OpenControl.MonOpenChannelResponse = CType(Me,OpenControl.OPENcontrolPortType).MonOpenChannel(inValue) + Return retVal.MonOpenChannelR + End Function + + _ + Function OpenControl_OPENcontrolPortType_MonCloseChannel(ByVal request As OpenControl.MonCloseChannelRequest) As OpenControl.MonCloseChannelResponse Implements OpenControl.OPENcontrolPortType.MonCloseChannel + Return MyBase.Channel.MonCloseChannel(request) + End Function + + Public Function MonCloseChannel(ByVal MonCloseChannel1 As OpenControl.MonCloseChannel) As OpenControl.MonCloseChannelR + Dim inValue As OpenControl.MonCloseChannelRequest = New OpenControl.MonCloseChannelRequest() + inValue.MonCloseChannel = MonCloseChannel1 + Dim retVal As OpenControl.MonCloseChannelResponse = CType(Me,OpenControl.OPENcontrolPortType).MonCloseChannel(inValue) + Return retVal.MonCloseChannelR + End Function + + _ + Function OpenControl_OPENcontrolPortType_MonAddVariable(ByVal request As OpenControl.MonAddVariableRequest) As OpenControl.MonAddVariableResponse Implements OpenControl.OPENcontrolPortType.MonAddVariable + Return MyBase.Channel.MonAddVariable(request) + End Function + + Public Function MonAddVariable(ByVal MonAddVariable1 As OpenControl.MonAddVariable) As OpenControl.MonAddVariableR + Dim inValue As OpenControl.MonAddVariableRequest = New OpenControl.MonAddVariableRequest() + inValue.MonAddVariable = MonAddVariable1 + Dim retVal As OpenControl.MonAddVariableResponse = CType(Me,OpenControl.OPENcontrolPortType).MonAddVariable(inValue) + Return retVal.MonAddVariableR + End Function + + _ + Function OpenControl_OPENcontrolPortType_MonDeleteVariable(ByVal request As OpenControl.MonDeleteVariableRequest) As OpenControl.MonDeleteVariableResponse Implements OpenControl.OPENcontrolPortType.MonDeleteVariable + Return MyBase.Channel.MonDeleteVariable(request) + End Function + + Public Function MonDeleteVariable(ByVal MonDeleteVariable1 As OpenControl.MonDeleteVariable) As OpenControl.MonDeleteVariableR + Dim inValue As OpenControl.MonDeleteVariableRequest = New OpenControl.MonDeleteVariableRequest() + inValue.MonDeleteVariable = MonDeleteVariable1 + Dim retVal As OpenControl.MonDeleteVariableResponse = CType(Me,OpenControl.OPENcontrolPortType).MonDeleteVariable(inValue) + Return retVal.MonDeleteVariableR + End Function + + _ + Function OpenControl_OPENcontrolPortType_MonStartSampling(ByVal request As OpenControl.MonStartSamplingRequest) As OpenControl.MonStartSamplingResponse Implements OpenControl.OPENcontrolPortType.MonStartSampling + Return MyBase.Channel.MonStartSampling(request) + End Function + + Public Function MonStartSampling(ByVal MonStartSampling1 As OpenControl.MonStartSampling) As OpenControl.MonStartSamplingR + Dim inValue As OpenControl.MonStartSamplingRequest = New OpenControl.MonStartSamplingRequest() + inValue.MonStartSampling = MonStartSampling1 + Dim retVal As OpenControl.MonStartSamplingResponse = CType(Me,OpenControl.OPENcontrolPortType).MonStartSampling(inValue) + Return retVal.MonStartSamplingR + End Function + + _ + Function OpenControl_OPENcontrolPortType_MonStopSampling(ByVal request As OpenControl.MonStopSamplingRequest) As OpenControl.MonStopSamplingResponse Implements OpenControl.OPENcontrolPortType.MonStopSampling + Return MyBase.Channel.MonStopSampling(request) + End Function + + Public Function MonStopSampling(ByVal MonStopSampling1 As OpenControl.MonStopSampling) As OpenControl.MonStopSamplingR + Dim inValue As OpenControl.MonStopSamplingRequest = New OpenControl.MonStopSamplingRequest() + inValue.MonStopSampling = MonStopSampling1 + Dim retVal As OpenControl.MonStopSamplingResponse = CType(Me,OpenControl.OPENcontrolPortType).MonStopSampling(inValue) + Return retVal.MonStopSamplingR + End Function + + _ + Function OpenControl_OPENcontrolPortType_MonGetVariable(ByVal request As OpenControl.MonGetVariableRequest) As OpenControl.MonGetVariableResponse Implements OpenControl.OPENcontrolPortType.MonGetVariable + Return MyBase.Channel.MonGetVariable(request) + End Function + + Public Function MonGetVariable(ByVal MonGetVariable1 As OpenControl.MonGetVariable) As OpenControl.MonGetVariableR + Dim inValue As OpenControl.MonGetVariableRequest = New OpenControl.MonGetVariableRequest() + inValue.MonGetVariable = MonGetVariable1 + Dim retVal As OpenControl.MonGetVariableResponse = CType(Me,OpenControl.OPENcontrolPortType).MonGetVariable(inValue) + Return retVal.MonGetVariableR + End Function + + _ + Function OpenControl_OPENcontrolPortType_CheckHistory(ByVal request As OpenControl.CheckHistoryRequest) As OpenControl.CheckHistoryResponse Implements OpenControl.OPENcontrolPortType.CheckHistory + Return MyBase.Channel.CheckHistory(request) + End Function + + Public Function CheckHistory(ByVal CheckHistory1 As OpenControl.CheckHistory) As OpenControl.CheckHistoryR + Dim inValue As OpenControl.CheckHistoryRequest = New OpenControl.CheckHistoryRequest() + inValue.CheckHistory = CheckHistory1 + Dim retVal As OpenControl.CheckHistoryResponse = CType(Me,OpenControl.OPENcontrolPortType).CheckHistory(inValue) + Return retVal.CheckHistoryR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadHistoryEmergMsg(ByVal request As OpenControl.ReadHistoryEmergMsgRequest) As OpenControl.ReadHistoryEmergMsgResponse Implements OpenControl.OPENcontrolPortType.ReadHistoryEmergMsg + Return MyBase.Channel.ReadHistoryEmergMsg(request) + End Function + + Public Function ReadHistoryEmergMsg(ByVal ReadHistoryEmergMsg1 As OpenControl.ReadHistoryEmergMsg) As OpenControl.ReadHistoryEmergMsgR + Dim inValue As OpenControl.ReadHistoryEmergMsgRequest = New OpenControl.ReadHistoryEmergMsgRequest() + inValue.ReadHistoryEmergMsg = ReadHistoryEmergMsg1 + Dim retVal As OpenControl.ReadHistoryEmergMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadHistoryEmergMsg(inValue) + Return retVal.ReadHistoryEmergMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadHistoryErrorMsg(ByVal request As OpenControl.ReadHistoryErrorMsgRequest) As OpenControl.ReadHistoryErrorMsgResponse Implements OpenControl.OPENcontrolPortType.ReadHistoryErrorMsg + Return MyBase.Channel.ReadHistoryErrorMsg(request) + End Function + + Public Function ReadHistoryErrorMsg(ByVal ReadHistoryErrorMsg1 As OpenControl.ReadHistoryErrorMsg) As OpenControl.ReadHistoryErrorMsgR + Dim inValue As OpenControl.ReadHistoryErrorMsgRequest = New OpenControl.ReadHistoryErrorMsgRequest() + inValue.ReadHistoryErrorMsg = ReadHistoryErrorMsg1 + Dim retVal As OpenControl.ReadHistoryErrorMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadHistoryErrorMsg(inValue) + Return retVal.ReadHistoryErrorMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadHistoryLogMsg(ByVal request As OpenControl.ReadHistoryLogMsgRequest) As OpenControl.ReadHistoryLogMsgResponse Implements OpenControl.OPENcontrolPortType.ReadHistoryLogMsg + Return MyBase.Channel.ReadHistoryLogMsg(request) + End Function + + Public Function ReadHistoryLogMsg(ByVal ReadHistoryLogMsg1 As OpenControl.ReadHistoryLogMsg) As OpenControl.ReadHistoryLogMsgR + Dim inValue As OpenControl.ReadHistoryLogMsgRequest = New OpenControl.ReadHistoryLogMsgRequest() + inValue.ReadHistoryLogMsg = ReadHistoryLogMsg1 + Dim retVal As OpenControl.ReadHistoryLogMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadHistoryLogMsg(inValue) + Return retVal.ReadHistoryLogMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadHistoryAnomalyMsg(ByVal request As OpenControl.ReadHistoryAnomalyMsgRequest) As OpenControl.ReadHistoryAnomalyMsgResponse Implements OpenControl.OPENcontrolPortType.ReadHistoryAnomalyMsg + Return MyBase.Channel.ReadHistoryAnomalyMsg(request) + End Function + + Public Function ReadHistoryAnomalyMsg(ByVal ReadHistoryAnomalyMsg1 As OpenControl.ReadHistoryAnomalyMsg) As OpenControl.ReadHistoryAnomalyMsgR + Dim inValue As OpenControl.ReadHistoryAnomalyMsgRequest = New OpenControl.ReadHistoryAnomalyMsgRequest() + inValue.ReadHistoryAnomalyMsg = ReadHistoryAnomalyMsg1 + Dim retVal As OpenControl.ReadHistoryAnomalyMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadHistoryAnomalyMsg(inValue) + Return retVal.ReadHistoryAnomalyMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadCurrentErrorMsg(ByVal request As OpenControl.ReadCurrentErrorMsgRequest) As OpenControl.ReadCurrentErrorMsgResponse Implements OpenControl.OPENcontrolPortType.ReadCurrentErrorMsg + Return MyBase.Channel.ReadCurrentErrorMsg(request) + End Function + + Public Function ReadCurrentErrorMsg(ByVal ReadCurrentErrorMsg1 As OpenControl.ReadCurrentErrorMsg) As OpenControl.ReadCurrentErrorMsgR + Dim inValue As OpenControl.ReadCurrentErrorMsgRequest = New OpenControl.ReadCurrentErrorMsgRequest() + inValue.ReadCurrentErrorMsg = ReadCurrentErrorMsg1 + Dim retVal As OpenControl.ReadCurrentErrorMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadCurrentErrorMsg(inValue) + Return retVal.ReadCurrentErrorMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadCurrentEmergMsg(ByVal request As OpenControl.ReadCurrentEmergMsgRequest) As OpenControl.ReadCurrentEmergMsgResponse Implements OpenControl.OPENcontrolPortType.ReadCurrentEmergMsg + Return MyBase.Channel.ReadCurrentEmergMsg(request) + End Function + + Public Function ReadCurrentEmergMsg(ByVal ReadCurrentEmergMsg1 As OpenControl.ReadCurrentEmergMsg) As OpenControl.ReadCurrentEmergMsgR + Dim inValue As OpenControl.ReadCurrentEmergMsgRequest = New OpenControl.ReadCurrentEmergMsgRequest() + inValue.ReadCurrentEmergMsg = ReadCurrentEmergMsg1 + Dim retVal As OpenControl.ReadCurrentEmergMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadCurrentEmergMsg(inValue) + Return retVal.ReadCurrentEmergMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadCurrentAnomalyMsg(ByVal request As OpenControl.ReadCurrentAnomalyMsgRequest) As OpenControl.ReadCurrentAnomalyMsgResponse Implements OpenControl.OPENcontrolPortType.ReadCurrentAnomalyMsg + Return MyBase.Channel.ReadCurrentAnomalyMsg(request) + End Function + + Public Function ReadCurrentAnomalyMsg(ByVal ReadCurrentAnomalyMsg1 As OpenControl.ReadCurrentAnomalyMsg) As OpenControl.ReadCurrentAnomalyMsgR + Dim inValue As OpenControl.ReadCurrentAnomalyMsgRequest = New OpenControl.ReadCurrentAnomalyMsgRequest() + inValue.ReadCurrentAnomalyMsg = ReadCurrentAnomalyMsg1 + Dim retVal As OpenControl.ReadCurrentAnomalyMsgResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadCurrentAnomalyMsg(inValue) + Return retVal.ReadCurrentAnomalyMsgR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetPTechSizes(ByVal request As OpenControl.GetPTechSizesRequest) As OpenControl.GetPTechSizesResponse Implements OpenControl.OPENcontrolPortType.GetPTechSizes + Return MyBase.Channel.GetPTechSizes(request) + End Function + + Public Function GetPTechSizes(ByVal GetPTechSizes1 As OpenControl.GetPTechSizes) As OpenControl.GetPTechSizesR + Dim inValue As OpenControl.GetPTechSizesRequest = New OpenControl.GetPTechSizesRequest() + inValue.GetPTechSizes = GetPTechSizes1 + Dim retVal As OpenControl.GetPTechSizesResponse = CType(Me,OpenControl.OPENcontrolPortType).GetPTechSizes(inValue) + Return retVal.GetPTechSizesR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LoadPTech(ByVal request As OpenControl.LoadPTechRequest) As OpenControl.LoadPTechResponse Implements OpenControl.OPENcontrolPortType.LoadPTech + Return MyBase.Channel.LoadPTech(request) + End Function + + Public Function LoadPTech(ByVal LoadPTech1 As OpenControl.LoadPTech) As OpenControl.LoadPTechR + Dim inValue As OpenControl.LoadPTechRequest = New OpenControl.LoadPTechRequest() + inValue.LoadPTech = LoadPTech1 + Dim retVal As OpenControl.LoadPTechResponse = CType(Me,OpenControl.OPENcontrolPortType).LoadPTech(inValue) + Return retVal.LoadPTechR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetMarkerInfo(ByVal request As OpenControl.GetMarkerInfoRequest) As OpenControl.GetMarkerInfoResponse Implements OpenControl.OPENcontrolPortType.GetMarkerInfo + Return MyBase.Channel.GetMarkerInfo(request) + End Function + + Public Function GetMarkerInfo(ByVal GetMarkerInfo1 As OpenControl.GetMarkerInfo) As OpenControl.GetMarkerInfoR + Dim inValue As OpenControl.GetMarkerInfoRequest = New OpenControl.GetMarkerInfoRequest() + inValue.GetMarkerInfo = GetMarkerInfo1 + Dim retVal As OpenControl.GetMarkerInfoResponse = CType(Me,OpenControl.OPENcontrolPortType).GetMarkerInfo(inValue) + Return retVal.GetMarkerInfoR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ManagePartProgram(ByVal request As OpenControl.ManagePartProgramRequest) As OpenControl.ManagePartProgramResponse Implements OpenControl.OPENcontrolPortType.ManagePartProgram + Return MyBase.Channel.ManagePartProgram(request) + End Function + + Public Function ManagePartProgram(ByVal ManagePartProgram1 As OpenControl.ManagePartProgram) As OpenControl.ManagePartProgramR + Dim inValue As OpenControl.ManagePartProgramRequest = New OpenControl.ManagePartProgramRequest() + inValue.ManagePartProgram = ManagePartProgram1 + Dim retVal As OpenControl.ManagePartProgramResponse = CType(Me,OpenControl.OPENcontrolPortType).ManagePartProgram(inValue) + Return retVal.ManagePartProgramR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSOpenFile(ByVal request As OpenControl.LogFSOpenFileRequest) As OpenControl.LogFSOpenFileResponse Implements OpenControl.OPENcontrolPortType.LogFSOpenFile + Return MyBase.Channel.LogFSOpenFile(request) + End Function + + Public Function LogFSOpenFile(ByVal LogFSOpenFile1 As OpenControl.LogFSOpenFile) As OpenControl.LogFSOpenFileR + Dim inValue As OpenControl.LogFSOpenFileRequest = New OpenControl.LogFSOpenFileRequest() + inValue.LogFSOpenFile = LogFSOpenFile1 + Dim retVal As OpenControl.LogFSOpenFileResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSOpenFile(inValue) + Return retVal.LogFSOpenFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSCloseFile(ByVal request As OpenControl.LogFSCloseFileRequest) As OpenControl.LogFSCloseFileResponse Implements OpenControl.OPENcontrolPortType.LogFSCloseFile + Return MyBase.Channel.LogFSCloseFile(request) + End Function + + Public Function LogFSCloseFile(ByVal LogFSCloseFile1 As OpenControl.LogFSCloseFile) As OpenControl.LogFSCloseFileR + Dim inValue As OpenControl.LogFSCloseFileRequest = New OpenControl.LogFSCloseFileRequest() + inValue.LogFSCloseFile = LogFSCloseFile1 + Dim retVal As OpenControl.LogFSCloseFileResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSCloseFile(inValue) + Return retVal.LogFSCloseFileR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSWriteRecord(ByVal request As OpenControl.LogFSWriteRecordRequest) As OpenControl.LogFSWriteRecordResponse Implements OpenControl.OPENcontrolPortType.LogFSWriteRecord + Return MyBase.Channel.LogFSWriteRecord(request) + End Function + + Public Function LogFSWriteRecord(ByVal LogFSWriteRecord1 As OpenControl.LogFSWriteRecord) As OpenControl.LogFSWriteRecordR + Dim inValue As OpenControl.LogFSWriteRecordRequest = New OpenControl.LogFSWriteRecordRequest() + inValue.LogFSWriteRecord = LogFSWriteRecord1 + Dim retVal As OpenControl.LogFSWriteRecordResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSWriteRecord(inValue) + Return retVal.LogFSWriteRecordR + End Function + + _ + Function OpenControl_OPENcontrolPortType_LogFSReadRecord(ByVal request As OpenControl.LogFSReadRecordRequest) As OpenControl.LogFSReadRecordResponse Implements OpenControl.OPENcontrolPortType.LogFSReadRecord + Return MyBase.Channel.LogFSReadRecord(request) + End Function + + Public Function LogFSReadRecord(ByVal LogFSReadRecord1 As OpenControl.LogFSReadRecord) As OpenControl.LogFSReadRecordR + Dim inValue As OpenControl.LogFSReadRecordRequest = New OpenControl.LogFSReadRecordRequest() + inValue.LogFSReadRecord = LogFSReadRecord1 + Dim retVal As OpenControl.LogFSReadRecordResponse = CType(Me,OpenControl.OPENcontrolPortType).LogFSReadRecord(inValue) + Return retVal.LogFSReadRecordR + End Function + + _ + Function OpenControl_OPENcontrolPortType_ReadRemapDefinitions(ByVal request As OpenControl.ReadRemapDefinitionsRequest) As OpenControl.ReadRemapDefinitionsResponse Implements OpenControl.OPENcontrolPortType.ReadRemapDefinitions + Return MyBase.Channel.ReadRemapDefinitions(request) + End Function + + Public Function ReadRemapDefinitions(ByVal ReadRemapDefinitions1 As OpenControl.ReadRemapDefinitions) As OpenControl.ReadRemapDefinitionsR + Dim inValue As OpenControl.ReadRemapDefinitionsRequest = New OpenControl.ReadRemapDefinitionsRequest() + inValue.ReadRemapDefinitions = ReadRemapDefinitions1 + Dim retVal As OpenControl.ReadRemapDefinitionsResponse = CType(Me,OpenControl.OPENcontrolPortType).ReadRemapDefinitions(inValue) + Return retVal.ReadRemapDefinitionsR + End Function + + _ + Function OpenControl_OPENcontrolPortType_WriteRemapDefinitions(ByVal request As OpenControl.WriteRemapDefinitionsRequest) As OpenControl.WriteRemapDefinitionsResponse Implements OpenControl.OPENcontrolPortType.WriteRemapDefinitions + Return MyBase.Channel.WriteRemapDefinitions(request) + End Function + + Public Function WriteRemapDefinitions(ByVal WriteRemapDefinitions1 As OpenControl.WriteRemapDefinitions) As OpenControl.WriteRemapDefinitionsR + Dim inValue As OpenControl.WriteRemapDefinitionsRequest = New OpenControl.WriteRemapDefinitionsRequest() + inValue.WriteRemapDefinitions = WriteRemapDefinitions1 + Dim retVal As OpenControl.WriteRemapDefinitionsResponse = CType(Me,OpenControl.OPENcontrolPortType).WriteRemapDefinitions(inValue) + Return retVal.WriteRemapDefinitionsR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetServoPar(ByVal request As OpenControl.GetServoParRequest) As OpenControl.GetServoParResponse Implements OpenControl.OPENcontrolPortType.GetServoPar + Return MyBase.Channel.GetServoPar(request) + End Function + + Public Function GetServoPar(ByVal GetServoPar1 As OpenControl.GetServoPar) As OpenControl.GetServoParR + Dim inValue As OpenControl.GetServoParRequest = New OpenControl.GetServoParRequest() + inValue.GetServoPar = GetServoPar1 + Dim retVal As OpenControl.GetServoParResponse = CType(Me,OpenControl.OPENcontrolPortType).GetServoPar(inValue) + Return retVal.GetServoParR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetServoPar(ByVal request As OpenControl.SetServoParRequest) As OpenControl.SetServoParResponse Implements OpenControl.OPENcontrolPortType.SetServoPar + Return MyBase.Channel.SetServoPar(request) + End Function + + Public Function SetServoPar(ByVal SetServoPar1 As OpenControl.SetServoPar) As OpenControl.SetServoParR + Dim inValue As OpenControl.SetServoParRequest = New OpenControl.SetServoParRequest() + inValue.SetServoPar = SetServoPar1 + Dim retVal As OpenControl.SetServoParResponse = CType(Me,OpenControl.OPENcontrolPortType).SetServoPar(inValue) + Return retVal.SetServoParR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetCNCRegKey(ByVal request As OpenControl.GetCNCRegKeyRequest) As OpenControl.GetCNCRegKeyResponse Implements OpenControl.OPENcontrolPortType.GetCNCRegKey + Return MyBase.Channel.GetCNCRegKey(request) + End Function + + Public Function GetCNCRegKey(ByVal GetCNCRegKey1 As OpenControl.GetCNCRegKey) As OpenControl.GetCNCRegKeyR + Dim inValue As OpenControl.GetCNCRegKeyRequest = New OpenControl.GetCNCRegKeyRequest() + inValue.GetCNCRegKey = GetCNCRegKey1 + Dim retVal As OpenControl.GetCNCRegKeyResponse = CType(Me,OpenControl.OPENcontrolPortType).GetCNCRegKey(inValue) + Return retVal.GetCNCRegKeyR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SetIpAddress(ByVal request As OpenControl.SetIpAddressRequest) As OpenControl.SetIpAddressResponse Implements OpenControl.OPENcontrolPortType.SetIpAddress + Return MyBase.Channel.SetIpAddress(request) + End Function + + Public Function SetIpAddress(ByVal SetIpAddress1 As OpenControl.SetIpAddress) As OpenControl.SetIpAddressR + Dim inValue As OpenControl.SetIpAddressRequest = New OpenControl.SetIpAddressRequest() + inValue.SetIpAddress = SetIpAddress1 + Dim retVal As OpenControl.SetIpAddressResponse = CType(Me,OpenControl.OPENcontrolPortType).SetIpAddress(inValue) + Return retVal.SetIpAddressR + End Function + + _ + Function OpenControl_OPENcontrolPortType_GetProcInInput(ByVal request As OpenControl.GetProcInInputRequest) As OpenControl.GetProcInInputResponse Implements OpenControl.OPENcontrolPortType.GetProcInInput + Return MyBase.Channel.GetProcInInput(request) + End Function + + Public Function GetProcInInput(ByVal GetProcInInput1 As OpenControl.GetProcInInput) As OpenControl.GetProcInInputR + Dim inValue As OpenControl.GetProcInInputRequest = New OpenControl.GetProcInInputRequest() + inValue.GetProcInInput = GetProcInInput1 + Dim retVal As OpenControl.GetProcInInputResponse = CType(Me,OpenControl.OPENcontrolPortType).GetProcInInput(inValue) + Return retVal.GetProcInInputR + End Function + + _ + Function OpenControl_OPENcontrolPortType_SndProcInpData(ByVal request As OpenControl.SndProcInpDataRequest) As OpenControl.SndProcInpDataResponse Implements OpenControl.OPENcontrolPortType.SndProcInpData + Return MyBase.Channel.SndProcInpData(request) + End Function + + Public Function SndProcInpData(ByVal SndProcInpData1 As OpenControl.SndProcInpData) As OpenControl.SndProcInpDataR + Dim inValue As OpenControl.SndProcInpDataRequest = New OpenControl.SndProcInpDataRequest() + inValue.SndProcInpData = SndProcInpData1 + Dim retVal As OpenControl.SndProcInpDataResponse = CType(Me,OpenControl.OPENcontrolPortType).SndProcInpData(inValue) + Return retVal.SndProcInpDataR + End Function + End Class +End Namespace diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/configuration.svcinfo b/EgwProxy.OsaiCncLib/Service References/OpenControl/configuration.svcinfo new file mode 100644 index 0000000..d909ea0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/configuration.svcinfo @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/configuration91.svcinfo b/EgwProxy.OsaiCncLib/Service References/OpenControl/configuration91.svcinfo new file mode 100644 index 0000000..e063641 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/configuration91.svcinfo @@ -0,0 +1,201 @@ + + + + + + + OPENcontrol + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + None + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Raccolta) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + + + http://192.168.20.2:8080 + + + + + + basicHttpBinding + + + OPENcontrol + + + OpenControl.OPENcontrolPortType + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + OPENcontrol + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.AxesRefR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.AxesRefR.datasource new file mode 100644 index 0000000..ef2624f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.AxesRefR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.AxesRefR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootModeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootModeR.datasource new file mode 100644 index 0000000..a3c2cf1 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootModeR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.BootModeR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootPhaseEnquiryR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootPhaseEnquiryR.datasource new file mode 100644 index 0000000..75e5409 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootPhaseEnquiryR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.BootPhaseEnquiryR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootRebootR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootRebootR.datasource new file mode 100644 index 0000000..0ba444b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootRebootR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.BootRebootR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootShutDownR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootShutDownR.datasource new file mode 100644 index 0000000..1937b7c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.BootShutDownR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.BootShutDownR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.CheckHistoryR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.CheckHistoryR.datasource new file mode 100644 index 0000000..5d6e692 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.CheckHistoryR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.CheckHistoryR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.CycleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.CycleR.datasource new file mode 100644 index 0000000..d432022 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.CycleR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.CycleR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncDataR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncDataR.datasource new file mode 100644 index 0000000..19a92e1 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncDataR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.DncDataR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncEofR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncEofR.datasource new file mode 100644 index 0000000..151f5dc --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncEofR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.DncEofR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncInitR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncInitR.datasource new file mode 100644 index 0000000..e100dfd --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncInitR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.DncInitR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncStopR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncStopR.datasource new file mode 100644 index 0000000..820ab07 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.DncStopR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.DncStopR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.EseExR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.EseExR.datasource new file mode 100644 index 0000000..7441426 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.EseExR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.EseExR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.EseR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.EseR.datasource new file mode 100644 index 0000000..e08262a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.EseR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.EseR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ExeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ExeR.datasource new file mode 100644 index 0000000..512ef56 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ExeR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ExeR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetActivePartProgramR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetActivePartProgramR.datasource new file mode 100644 index 0000000..d8f2116 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetActivePartProgramR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetActivePartProgramR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAvailableCustomEventsR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAvailableCustomEventsR.datasource new file mode 100644 index 0000000..ee49b63 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAvailableCustomEventsR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetAvailableCustomEventsR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxOriginNumR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxOriginNumR.datasource new file mode 100644 index 0000000..71b62f1 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxOriginNumR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetAxOriginNumR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxesInfo3R.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxesInfo3R.datasource new file mode 100644 index 0000000..5f1e220 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxesInfo3R.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetAxesInfo3R, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxesPositionR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxesPositionR.datasource new file mode 100644 index 0000000..819064d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetAxesPositionR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetAxesPositionR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetBinaryFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetBinaryFileR.datasource new file mode 100644 index 0000000..0fe6bb4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetBinaryFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetBinaryFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetBlkNumR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetBlkNumR.datasource new file mode 100644 index 0000000..baa3061 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetBlkNumR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetBlkNumR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetCNCRegKeyR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetCNCRegKeyR.datasource new file mode 100644 index 0000000..0bb2175 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetCNCRegKeyR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetCNCRegKeyR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetCodeNumberR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetCodeNumberR.datasource new file mode 100644 index 0000000..baf7a38 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetCodeNumberR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetCodeNumberR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetDateTimeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetDateTimeR.datasource new file mode 100644 index 0000000..24c641c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetDateTimeR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetDateTimeR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetFileR.datasource new file mode 100644 index 0000000..ae2b75a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetGCodeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetGCodeR.datasource new file mode 100644 index 0000000..0c875b5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetGCodeR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetGCodeR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetHWKeyR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetHWKeyR.datasource new file mode 100644 index 0000000..6c90e4f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetHWKeyR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetHWKeyR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetMCodeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetMCodeR.datasource new file mode 100644 index 0000000..3203e13 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetMCodeR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetMCodeR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetMarkerInfoR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetMarkerInfoR.datasource new file mode 100644 index 0000000..603f44f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetMarkerInfoR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetMarkerInfoR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetNcInfo1R.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetNcInfo1R.datasource new file mode 100644 index 0000000..7c06944 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetNcInfo1R.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetNcInfo1R, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetNcInfo2R.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetNcInfo2R.datasource new file mode 100644 index 0000000..bda4d4a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetNcInfo2R.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetNcInfo2R, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOffsetTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOffsetTabRecordIIR.datasource new file mode 100644 index 0000000..4181ce5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOffsetTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetOffsetTabRecordIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOptionsR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOptionsR.datasource new file mode 100644 index 0000000..6ecb29a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOptionsR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetOptionsR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOriginTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOriginTabRecordIIR.datasource new file mode 100644 index 0000000..8d00a74 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetOriginTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetOriginTabRecordIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetPTechSizesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetPTechSizesR.datasource new file mode 100644 index 0000000..4e93811 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetPTechSizesR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetPTechSizesR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetPartProgramLinesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetPartProgramLinesR.datasource new file mode 100644 index 0000000..3c2fdc4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetPartProgramLinesR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetPartProgramLinesR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcInInputR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcInInputR.datasource new file mode 100644 index 0000000..a1bcf1f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcInInputR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetProcInInputR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcVarDoubleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcVarDoubleR.datasource new file mode 100644 index 0000000..95012fc --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetProcVarDoubleR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcVarWordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcVarWordR.datasource new file mode 100644 index 0000000..031011d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcVarWordR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetProcVarWordR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcessConfNumR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcessConfNumR.datasource new file mode 100644 index 0000000..616f80b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcessConfNumR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetProcessConfNumR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcessStatusR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcessStatusR.datasource new file mode 100644 index 0000000..c366ec8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetProcessStatusR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetProcessStatusR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSelectedProcessR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSelectedProcessR.datasource new file mode 100644 index 0000000..b09993d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSelectedProcessR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetSelectedProcessR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSerialNumberR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSerialNumberR.datasource new file mode 100644 index 0000000..905df7d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSerialNumberR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetSerialNumberR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetServoParR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetServoParR.datasource new file mode 100644 index 0000000..1a9d019 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetServoParR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetServoParR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSysTickR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSysTickR.datasource new file mode 100644 index 0000000..fedd8be --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetSysTickR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetSysTickR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetToolNamesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetToolNamesR.datasource new file mode 100644 index 0000000..abea45e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetToolNamesR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetToolNamesR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetToolTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetToolTabRecordIIR.datasource new file mode 100644 index 0000000..b20f41c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetToolTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetToolTabRecordIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetUserTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetUserTabRecordIIR.datasource new file mode 100644 index 0000000..ecd0e66 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetUserTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetUserTabRecordIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetVarJOGR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetVarJOGR.datasource new file mode 100644 index 0000000..5add65c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetVarJOGR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetVarJOGR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetVarRCMR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetVarRCMR.datasource new file mode 100644 index 0000000..5414542 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.GetVarRCMR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.GetVarRCMR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.HoldR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.HoldR.datasource new file mode 100644 index 0000000..3bd6ec2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.HoldR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.HoldR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LoadPTechR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LoadPTechR.datasource new file mode 100644 index 0000000..a2f71c8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LoadPTechR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LoadPTechR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LockTableIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LockTableIIR.datasource new file mode 100644 index 0000000..fd8a65f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LockTableIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LockTableIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSAddDriveR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSAddDriveR.datasource new file mode 100644 index 0000000..ec8cd2a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSAddDriveR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSAddDriveR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSChangeFileAttribR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSChangeFileAttribR.datasource new file mode 100644 index 0000000..6cb8260 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSChangeFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSChangeFileAttribR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCloseFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCloseFileR.datasource new file mode 100644 index 0000000..1414f3b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCloseFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSCloseFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCopyFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCopyFileR.datasource new file mode 100644 index 0000000..5edcc1d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCopyFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSCopyFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCreateDirR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCreateDirR.datasource new file mode 100644 index 0000000..d462e51 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCreateDirR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSCreateDirR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCreateFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCreateFileR.datasource new file mode 100644 index 0000000..3cf1e44 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSCreateFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSCreateFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindCloseR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindCloseR.datasource new file mode 100644 index 0000000..b2ef7bf --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindCloseR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSFindCloseR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindFirstR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindFirstR.datasource new file mode 100644 index 0000000..a908cd7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindFirstR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSFindFirstR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindNextR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindNextR.datasource new file mode 100644 index 0000000..34a6cd4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSFindNextR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSFindNextR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetDriveListR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetDriveListR.datasource new file mode 100644 index 0000000..a823294 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetDriveListR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSGetDriveListR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetDrivePathR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetDrivePathR.datasource new file mode 100644 index 0000000..b2dd91b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetDrivePathR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSGetDrivePathR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetFileAttribR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetFileAttribR.datasource new file mode 100644 index 0000000..44a29aa --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSGetFileAttribR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetFileSizeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetFileSizeR.datasource new file mode 100644 index 0000000..b04c2e1 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetFileSizeR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSGetFileSizeR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetHiddenDriveListR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetHiddenDriveListR.datasource new file mode 100644 index 0000000..f8f9bc0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetHiddenDriveListR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSGetHiddenDriveListR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetInfoR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetInfoR.datasource new file mode 100644 index 0000000..5e9be6d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetInfoR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSGetInfoR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetNumDriveR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetNumDriveR.datasource new file mode 100644 index 0000000..2e28a6e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetNumDriveR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSGetNumDriveR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetSecurityLevelR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetSecurityLevelR.datasource new file mode 100644 index 0000000..7c461d6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSGetSecurityLevelR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSGetSecurityLevelR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSLongFileNamesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSLongFileNamesR.datasource new file mode 100644 index 0000000..7dacbf2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSLongFileNamesR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSLongFileNamesR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSOpenFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSOpenFileR.datasource new file mode 100644 index 0000000..382147f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSOpenFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSOpenFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSReadRecordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSReadRecordR.datasource new file mode 100644 index 0000000..52ff102 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSReadRecordR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSReadRecordR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSReloadDriveListR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSReloadDriveListR.datasource new file mode 100644 index 0000000..39259b9 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSReloadDriveListR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSReloadDriveListR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveDirR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveDirR.datasource new file mode 100644 index 0000000..3762856 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveDirR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSRemoveDirR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveDriveR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveDriveR.datasource new file mode 100644 index 0000000..bec347e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveDriveR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSRemoveDriveR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveFileR.datasource new file mode 100644 index 0000000..d9d716b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRemoveFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSRemoveFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRenameR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRenameR.datasource new file mode 100644 index 0000000..0cff132 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSRenameR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSRenameR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSSetFileAttribR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSSetFileAttribR.datasource new file mode 100644 index 0000000..a05a2a0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSSetFileAttribR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSSetFileAttribR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSSetSecurityLevelR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSSetSecurityLevelR.datasource new file mode 100644 index 0000000..b54794d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSSetSecurityLevelR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSSetSecurityLevelR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSWriteRecordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSWriteRecordR.datasource new file mode 100644 index 0000000..a07761a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.LogFSWriteRecordR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.LogFSWriteRecordR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ManagePartProgramR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ManagePartProgramR.datasource new file mode 100644 index 0000000..ba7201a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ManagePartProgramR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ManagePartProgramR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonAddVariableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonAddVariableR.datasource new file mode 100644 index 0000000..efd117f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonAddVariableR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.MonAddVariableR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonCloseChannelR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonCloseChannelR.datasource new file mode 100644 index 0000000..d08c273 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonCloseChannelR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.MonCloseChannelR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonDeleteVariableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonDeleteVariableR.datasource new file mode 100644 index 0000000..763a967 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonDeleteVariableR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.MonDeleteVariableR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonGetVariableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonGetVariableR.datasource new file mode 100644 index 0000000..77e6904 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonGetVariableR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.MonGetVariableR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonOpenChannelR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonOpenChannelR.datasource new file mode 100644 index 0000000..ca6e2a8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonOpenChannelR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.MonOpenChannelR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonStartSamplingR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonStartSamplingR.datasource new file mode 100644 index 0000000..dcb8f61 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonStartSamplingR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.MonStartSamplingR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonStopSamplingR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonStopSamplingR.datasource new file mode 100644 index 0000000..4a2ab32 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.MonStopSamplingR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.MonStopSamplingR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.PutBinaryFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.PutBinaryFileR.datasource new file mode 100644 index 0000000..4a03ce6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.PutBinaryFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.PutBinaryFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.PutFileR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.PutFileR.datasource new file mode 100644 index 0000000..c4da1cd --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.PutFileR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.PutFileR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentAnomalyMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentAnomalyMsgR.datasource new file mode 100644 index 0000000..081286a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentAnomalyMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadCurrentAnomalyMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentEmergMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentEmergMsgR.datasource new file mode 100644 index 0000000..eed473f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentEmergMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadCurrentEmergMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentErrorMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentErrorMsgR.datasource new file mode 100644 index 0000000..6909bac --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadCurrentErrorMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadCurrentErrorMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadErrMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadErrMsgR.datasource new file mode 100644 index 0000000..139e36c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadErrMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadErrMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryAnomalyMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryAnomalyMsgR.datasource new file mode 100644 index 0000000..6dd6f92 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryAnomalyMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadHistoryAnomalyMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryEmergMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryEmergMsgR.datasource new file mode 100644 index 0000000..82d6d58 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryEmergMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadHistoryEmergMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryErrorMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryErrorMsgR.datasource new file mode 100644 index 0000000..eb0c4c7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryErrorMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadHistoryErrorMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryLogMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryLogMsgR.datasource new file mode 100644 index 0000000..ea293bf --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadHistoryLogMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadHistoryLogMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadPartProgramMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadPartProgramMsgR.datasource new file mode 100644 index 0000000..34c0acc --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadPartProgramMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadPartProgramMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadRemapDefinitionsR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadRemapDefinitionsR.datasource new file mode 100644 index 0000000..4209d67 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadRemapDefinitionsR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadRemapDefinitionsR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarDoubleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarDoubleR.datasource new file mode 100644 index 0000000..ace215c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadVarDoubleR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarTextR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarTextR.datasource new file mode 100644 index 0000000..d07da09 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarTextR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadVarTextR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarWordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarWordR.datasource new file mode 100644 index 0000000..8ff1b73 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadVarWordR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadVarWordR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadWarningMsgR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadWarningMsgR.datasource new file mode 100644 index 0000000..51f57f5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ReadWarningMsgR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ReadWarningMsgR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ResetR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ResetR.datasource new file mode 100644 index 0000000..e80d724 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ResetR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ResetR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ResetSingleTableIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ResetSingleTableIIR.datasource new file mode 100644 index 0000000..1d08884 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.ResetSingleTableIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.ResetSingleTableIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.RestoreBackupMemoryR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.RestoreBackupMemoryR.datasource new file mode 100644 index 0000000..6c34b91 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.RestoreBackupMemoryR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.RestoreBackupMemoryR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.RestoreSingleTableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.RestoreSingleTableR.datasource new file mode 100644 index 0000000..108ec29 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.RestoreSingleTableR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.RestoreSingleTableR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveBackupMemoryR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveBackupMemoryR.datasource new file mode 100644 index 0000000..82cdd07 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveBackupMemoryR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SaveBackupMemoryR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveSingleTableR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveSingleTableR.datasource new file mode 100644 index 0000000..3a9445e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveSingleTableR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SaveSingleTableR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveTablesR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveTablesR.datasource new file mode 100644 index 0000000..63bf908 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SaveTablesR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SaveTablesR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectPartProgramFromDriveR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectPartProgramFromDriveR.datasource new file mode 100644 index 0000000..86af186 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectPartProgramFromDriveR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SelectPartProgramFromDriveR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectPartProgramR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectPartProgramR.datasource new file mode 100644 index 0000000..4f3bcc4 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectPartProgramR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SelectPartProgramR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectProcAxisR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectProcAxisR.datasource new file mode 100644 index 0000000..c8304ca --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectProcAxisR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SelectProcAxisR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectProcessR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectProcessR.datasource new file mode 100644 index 0000000..a73d04c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SelectProcessR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SelectProcessR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetDateTimeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetDateTimeR.datasource new file mode 100644 index 0000000..e266b21 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetDateTimeR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetDateTimeR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedManOverR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedManOverR.datasource new file mode 100644 index 0000000..b37841e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedManOverR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetFeedManOverR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedRapidOverR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedRapidOverR.datasource new file mode 100644 index 0000000..543e662 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedRapidOverR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetFeedRapidOverR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedRateOverR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedRateOverR.datasource new file mode 100644 index 0000000..7dca320 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetFeedRateOverR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetFeedRateOverR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetIpAddressR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetIpAddressR.datasource new file mode 100644 index 0000000..1d0c1a7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetIpAddressR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetIpAddressR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetManMovDirectionR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetManMovDirectionR.datasource new file mode 100644 index 0000000..cdb586c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetManMovDirectionR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetManMovDirectionR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetMdiStringR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetMdiStringR.datasource new file mode 100644 index 0000000..e32f02d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetMdiStringR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetMdiStringR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetOffsetTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetOffsetTabRecordIIR.datasource new file mode 100644 index 0000000..b33ed80 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetOffsetTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetOffsetTabRecordIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetOriginTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetOriginTabRecordIIR.datasource new file mode 100644 index 0000000..a95c94d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetOriginTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetOriginTabRecordIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcVarDoubleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcVarDoubleR.datasource new file mode 100644 index 0000000..e151551 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetProcVarDoubleR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcVarWordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcVarWordR.datasource new file mode 100644 index 0000000..87401ee --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcVarWordR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetProcVarWordR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcessModeR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcessModeR.datasource new file mode 100644 index 0000000..8c966b8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetProcessModeR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetProcessModeR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetServoParR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetServoParR.datasource new file mode 100644 index 0000000..17bca38 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetServoParR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetServoParR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetSpeedRateOverR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetSpeedRateOverR.datasource new file mode 100644 index 0000000..287f588 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetSpeedRateOverR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetSpeedRateOverR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetToolTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetToolTabRecordIIR.datasource new file mode 100644 index 0000000..49f7611 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetToolTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetToolTabRecordIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetUserTabRecordIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetUserTabRecordIIR.datasource new file mode 100644 index 0000000..5be1fcc --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetUserTabRecordIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetUserTabRecordIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarJOGR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarJOGR.datasource new file mode 100644 index 0000000..5b882e5 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarJOGR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetVarJOGR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarRCMR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarRCMR.datasource new file mode 100644 index 0000000..eb034e0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarRCMR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetVarRCMR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarUASR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarUASR.datasource new file mode 100644 index 0000000..701e0e3 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SetVarUASR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SetVarUASR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SkipPProgBlockR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SkipPProgBlockR.datasource new file mode 100644 index 0000000..3211d7a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SkipPProgBlockR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SkipPProgBlockR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SndProcInpDataR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SndProcInpDataR.datasource new file mode 100644 index 0000000..0aac9c7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SndProcInpDataR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SndProcInpDataR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SyncroCycleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SyncroCycleR.datasource new file mode 100644 index 0000000..b7ff327 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.SyncroCycleR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.SyncroCycleR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.UnLockTableIIR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.UnLockTableIIR.datasource new file mode 100644 index 0000000..2dfd5f1 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.UnLockTableIIR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.UnLockTableIIR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteRemapDefinitionsR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteRemapDefinitionsR.datasource new file mode 100644 index 0000000..c43c0e9 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteRemapDefinitionsR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.WriteRemapDefinitionsR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarDoubleR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarDoubleR.datasource new file mode 100644 index 0000000..fd1580b --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarDoubleR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.WriteVarDoubleR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarTextR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarTextR.datasource new file mode 100644 index 0000000..a7e060c --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarTextR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.WriteVarTextR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarWordBitR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarWordBitR.datasource new file mode 100644 index 0000000..1f4dd1a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarWordBitR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.WriteVarWordBitR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarWordR.datasource b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarWordR.datasource new file mode 100644 index 0000000..941f455 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Service References/OpenControl/easysuperv.OpenControl.WriteVarWordR.datasource @@ -0,0 +1,10 @@ + + + + easysuperv.OpenControl.WriteVarWordR, Service References.OpenControl.Reference.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/AXORIGNUM1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/AXORIGNUM1.datasource new file mode 100644 index 0000000..9cdd4f2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/AXORIGNUM1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.AXORIGNUM, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/DRIVEBASICINFO1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/DRIVEBASICINFO1.datasource new file mode 100644 index 0000000..b8a700a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/DRIVEBASICINFO1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.DRIVEBASICINFO, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/ERRMSG1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/ERRMSG1.datasource new file mode 100644 index 0000000..c524fe2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/ERRMSG1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.ERRMSG, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/FILEFINDDATA1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/FILEFINDDATA1.datasource new file mode 100644 index 0000000..8c0b013 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/FILEFINDDATA1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.FILEFINDDATA, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/GETBLKNUMDATA1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/GETBLKNUMDATA1.datasource new file mode 100644 index 0000000..3fda17e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/GETBLKNUMDATA1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.GETBLKNUMDATA, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/GETINFO1DATA1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/GETINFO1DATA1.datasource new file mode 100644 index 0000000..9f9f8dd --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/GETINFO1DATA1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.GETINFO1DATA, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/GETINFO2DATA1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/GETINFO2DATA1.datasource new file mode 100644 index 0000000..96fd1d7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/GETINFO2DATA1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.GETINFO2DATA, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/GETINTDATA1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/GETINTDATA1.datasource new file mode 100644 index 0000000..6c7ffb2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/GETINTDATA1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.GETINTDATA, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/INPUTINFO1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/INPUTINFO1.datasource new file mode 100644 index 0000000..1167d69 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/INPUTINFO1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.INPUTINFO, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MAGAZINETABLEII1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MAGAZINETABLEII1.datasource new file mode 100644 index 0000000..dd1125d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MAGAZINETABLEII1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MAGAZINETABLEII, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MARKERINFO1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MARKERINFO1.datasource new file mode 100644 index 0000000..25bea94 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MARKERINFO1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MARKERINFO, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MONCUSTOMEVENTINFO1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MONCUSTOMEVENTINFO1.datasource new file mode 100644 index 0000000..05a6985 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MONCUSTOMEVENTINFO1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MONCUSTOMEVENTINFO, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MONDRYRUN1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MONDRYRUN1.datasource new file mode 100644 index 0000000..b9d1126 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MONDRYRUN1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MONDRYRUN, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MONENTEMOVI1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MONENTEMOVI1.datasource new file mode 100644 index 0000000..a1c937a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MONENTEMOVI1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MONENTEMOVI, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MSGANOMALY1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MSGANOMALY1.datasource new file mode 100644 index 0000000..7eaf1c2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MSGANOMALY1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MSGANOMALY, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MSGEMERGENCY1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MSGEMERGENCY1.datasource new file mode 100644 index 0000000..2f89aa7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MSGEMERGENCY1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MSGEMERGENCY, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MSGERROR1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MSGERROR1.datasource new file mode 100644 index 0000000..04ab38e --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MSGERROR1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MSGERROR, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/MSGLOGS1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/MSGLOGS1.datasource new file mode 100644 index 0000000..400f7fb --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/MSGLOGS1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.MSGLOGS, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/OFFSETTABLEII1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/OFFSETTABLEII1.datasource new file mode 100644 index 0000000..a4d3e3d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/OFFSETTABLEII1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.OFFSETTABLEII, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/OPENcontrol.wsdl b/EgwProxy.OsaiCncLib/Web References/WebReference/OPENcontrol.wsdl new file mode 100644 index 0000000..036e7aa --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/OPENcontrol.wsdl @@ -0,0 +1,8075 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service definition of function ns__BootPhaseEnquiry + + + + + Service definition of function ns__BootReboot + + + + + Service definition of function ns__BootShutDown + + + + + Service definition of function ns__BootMode + + + + + Service definition of function ns__GetHWKey + + + + + Service definition of function ns__ReadVarWord + + + + + Service definition of function ns__ReadVarDouble + + + + + Service definition of function ns__WriteVarWord + + + + + Service definition of function ns__WriteVarWordBit + + + + + Service definition of function ns__WriteVarDouble + + + + + Service definition of function ns__ReadVarText + + + + + Service definition of function ns__WriteVarText + + + + + Service definition of function ns__ReadNamedVarBool + + + + + Service definition of function ns__ReadNamedVarByte + + + + + Service definition of function ns__ReadNamedVarShort + + + + + Service definition of function ns__ReadNamedVarWord + + + + + Service definition of function ns__ReadNamedVarLong + + + + + Service definition of function ns__ReadNamedVarDword + + + + + Service definition of function ns__ReadNamedVarDouble + + + + + Service definition of function ns__ReadNamedVarString + + + + + Service definition of function ns__WriteNamedVarBool + + + + + Service definition of function ns__WriteNamedVarByte + + + + + Service definition of function ns__WriteNamedVarShort + + + + + Service definition of function ns__WriteNamedVarWord + + + + + Service definition of function ns__WriteNamedVarLong + + + + + Service definition of function ns__WriteNamedVarDword + + + + + Service definition of function ns__WriteNamedVarDouble + + + + + Service definition of function ns__WriteNamedVarString + + + + + Service definition of function ns__ReadWarningMsg + + + + + Service definition of function ns__ResetSingleTableII + + + + + Service definition of function ns__LockTableII + + + + + Service definition of function ns__UnLockTableII + + + + + Service definition of function ns__GetOriginTabRecordII + + + + + Service definition of function ns__SetOriginTabRecordII + + + + + Service definition of function ns__GetToolTabRecordII + + + + + Service definition of function ns__SetToolTabRecordII + + + + + Service definition of function ns__GetOffsetTabRecordII + + + + + Service definition of function ns__SetOffsetTabRecordII + + + + + Service definition of function ns__GetUserTabRecordII + + + + + Service definition of function ns__SetUserTabRecordII + + + + + Service definition of function ns__GetMagazineTabRecordII + + + + + Service definition of function ns__SetMagazineTabRecordII + + + + + Service definition of function ns__GetPocketTabRecordII + + + + + Service definition of function ns__SetPocketTabRecordII + + + + + Service definition of function ns__SaveTables + + + + + Service definition of function ns__RestoreSingleTable + + + + + Service definition of function ns__SaveSingleTable + + + + + Service definition of function ns__SaveBackupMemory + + + + + Service definition of function ns__RestoreBackupMemory + + + + + Service definition of function ns__ToolSearch + + + + + Service definition of function ns__ToolSearchLife + + + + + Service definition of function ns__ToolSearchDir + + + + + Service definition of function ns__ToolSearchLifeDir + + + + + Service definition of function ns__ToolSameFamily + + + + + Service definition of function ns__ToolLoad + + + + + Service definition of function ns__ToolUnload + + + + + Service definition of function ns__PocketSearch + + + + + Service definition of function ns__PocketClosest + + + + + Service definition of function ns__PocketNearest + + + + + Service definition of function ns__ToolLife + + + + + Service definition of function ns__LoadTableFromFile + + + + + Service definition of function ns__MagConfigurePockets + + + + + Service definition of function ns__Cycle + + + + + Service definition of function ns__SyncroCycle + + + + + Service definition of function ns__Reset + + + + + Service definition of function ns__Hold + + + + + Service definition of function ns__SetFeedManOver + + + + + Service definition of function ns__SetFeedRateOver + + + + + Service definition of function ns__SetFeedRapidOver + + + + + Service definition of function ns__SetSpeedRateOver + + + + + Service definition of function ns__SetManMovDirection + + + + + Service definition of function ns__GetVarJOG + + + + + Service definition of function ns__SetVarJOG + + + + + Service definition of function ns__SetVarUAS + + + + + Service definition of function ns__GetVarRCM + + + + + Service definition of function ns__SetVarRCM + + + + + Service definition of function ns__GetVarCYCTIME + + + + + Service definition of function ns__SetVarCYCTIME + + + + + Service definition of function ns__GetProcVarWord + + + + + Service definition of function ns__SetProcVarWord + + + + + Service definition of function ns__GetProcVarDouble + + + + + Service definition of function ns__SetProcVarDouble + + + + + Service definition of function ns__SetMdiString + + + + + Service definition of function ns__SetProcessMode + + + + + Service definition of function ns__SelectProcess + + + + + Service definition of function ns__GetSelectedProcess + + + + + Service definition of function ns__SelectProcAxis + + + + + Service definition of function ns__SelectPartProgram + + + + + Service definition of function ns__SelectPartProgramFromDrive + + + + + Service definition of function ns__GetActivePartProgram + + + + + Service definition of function ns__GetActivePartProgramFullPath + + + + + Service definition of function ns__GetPartProgramLines + + + + + Service definition of function ns__GetAxOriginNum + + + + + Service definition of function ns__GetAxesPosition + + + + + Service definition of function ns__GetNcInfo1 + + + + + Service definition of function ns__GetNcInfo2 + + + + + Service definition of function ns__GetToolNames + + + + + Service definition of function ns__GetProcessStatus + + + + + Service definition of function ns__GetBlkNum + + + + + Service definition of function ns__ReadErrMsg + + + + + Service definition of function ns__ReadPartProgramMsg + + + + + Service definition of function ns__GetGCode + + + + + Service definition of function ns__GetMCode + + + + + Service definition of function ns__SkipPProgBlock + + + + + Service definition of function ns__Ese + + + + + Service definition of function ns__EseEx + + + + + Service definition of function ns__Exe + + + + + Service definition of function ns__AxesRef + + + + + Service definition of function ns__DncInit + + + + + Service definition of function ns__DncData + + + + + Service definition of function ns__DncEof + + + + + Service definition of function ns__DncStop + + + + + Service definition of function ns__GetAxesInfo3 + + + + + Service definition of function ns__GetCodeNumber + + + + + Service definition of function ns__GetOptions + + + + + Service definition of function ns__GetDateTime + + + + + Service definition of function ns__SetDateTime + + + + + Service definition of function ns__GetSerialNumber + + + + + Service definition of function ns__PutFile + + + + + Service definition of function ns__GetFile + + + + + Service definition of function ns__PutBinaryFile + + + + + Service definition of function ns__GetBinaryFile + + + + + Service definition of function ns__LogFSSetSecurityLevel + + + + + Service definition of function ns__LogFSGetSecurityLevel + + + + + Service definition of function ns__LogFSLongFileNames + + + + + Service definition of function ns__LogFSGetNumDrive + + + + + Service definition of function ns__LogFSGetDriveList + + + + + Service definition of function ns__LogFSGetHiddenDriveList + + + + + Service definition of function ns__LogFSGetDrivePath + + + + + Service definition of function ns__LogFSAddDrive + + + + + Service definition of function ns__LogFSRemoveDrive + + + + + Service definition of function ns__LogFSReloadDriveList + + + + + Service definition of function ns__LogFSCreateDir + + + + + Service definition of function ns__LogFSCreateFile + + + + + Service definition of function ns__LogFSGetFileSize + + + + + Service definition of function ns__LogFSGetFileAttrib + + + + + Service definition of function ns__LogFSSetFileAttrib + + + + + Service definition of function ns__LogFSChangeFileAttrib + + + + + Service definition of function ns__LogFSFindFirst + + + + + Service definition of function ns__LogFSFindNext + + + + + Service definition of function ns__LogFSFindClose + + + + + Service definition of function ns__LogFSRemoveFile + + + + + Service definition of function ns__LogFSRemoveDir + + + + + Service definition of function ns__LogFSRename + + + + + Service definition of function ns__LogFSCopyFile + + + + + Service definition of function ns__LogFSGetInfo + + + + + Service definition of function ns__LogFSOpenFile + + + + + Service definition of function ns__LogFSCloseFile + + + + + Service definition of function ns__GetSysTick + + + + + Service definition of function ns__GetProcessConfNum + + + + + Service definition of function ns__CheckHistory + + + + + Service definition of function ns__ReadHistoryEmergMsg + + + + + Service definition of function ns__ReadHistoryErrorMsg + + + + + Service definition of function ns__ReadHistoryLogMsg + + + + + Service definition of function ns__ReadHistoryAnomalyMsg + + + + + Service definition of function ns__ReadCurrentErrorMsg + + + + + Service definition of function ns__ReadCurrentEmergMsg + + + + + Service definition of function ns__ReadCurrentAnomalyMsg + + + + + Service definition of function ns__GetPTechSizes + + + + + Service definition of function ns__LoadPTech + + + + + Service definition of function ns__GetMarkerInfo + + + + + Service definition of function ns__ManagePartProgram + + + + + Service definition of function ns__LogFSWriteRecord + + + + + Service definition of function ns__LogFSReadRecord + + + + + Service definition of function ns__ReadRemapDefinitions + + + + + Service definition of function ns__WriteRemapDefinitions + + + + + Service definition of function ns__GetServoPar + + + + + Service definition of function ns__SetServoPar + + + + + Service definition of function ns__GetCNCRegKey + + + + + Service definition of function ns__GetSecurityData + + + + + Service definition of function ns__SetSecurityData + + + + + Service definition of function ns__SetIpAddress + + + + + Service definition of function ns__GetProcInInput + + + + + Service definition of function ns__SndProcInpData + + + + + Service definition of function ns__GetPartProgramLinesEx + + + + + Service definition of function ns__SetMdiStringEx + + + + + Service definition of function ns__GetExpireData + + + + + Service definition of function ns__GetRemainingTime + + + + + Service definition of function ns__GenerateUserKey + + + + + Service definition of function ns__WriteActivationKey + + + + + Service definition of function ns__GetAvailableCustomEvents + + + + + Service definition of function ns__MonOpenChannel + + + + + Service definition of function ns__MonCloseChannel + + + + + Service definition of function ns__MonAddVariable + + + + + Service definition of function ns__MonDeleteVariable + + + + + Service definition of function ns__MonStartSampling + + + + + Service definition of function ns__MonStopSampling + + + + + Service definition of function ns__MonGetVariable + + + + + Service definition of function ns__MonGetVariableS + + + + + Service definition of function ns__MonGetDryRun + + + + + Service definition of function ns__MonGetMov + + + + + Service definition of function ns__GetDriveBasicInfo + + + + + Service definition of function ns__ReadStatistics + + + + + Service definition of function ns__ReadStatisticsBaseFrequency + + + + + Service definition of function ns__GetActiveAmp + + + + + Service definition of function ns__SetActiveAmp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPENcontrol Web Services Definition + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/ORIGINTABLEII1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/ORIGINTABLEII1.datasource new file mode 100644 index 0000000..f134bc2 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/ORIGINTABLEII1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.ORIGINTABLEII, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/POCKETTABLEII1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/POCKETTABLEII1.datasource new file mode 100644 index 0000000..46e6d6f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/POCKETTABLEII1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.POCKETTABLEII, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/PROCDATA1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/PROCDATA1.datasource new file mode 100644 index 0000000..474d77d --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/PROCDATA1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.PROCDATA, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/REMAPDEF1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/REMAPDEF1.datasource new file mode 100644 index 0000000..bbe43e8 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/REMAPDEF1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.REMAPDEF, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/Reference.map b/EgwProxy.OsaiCncLib/Web References/WebReference/Reference.map new file mode 100644 index 0000000..81da549 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/Reference.map @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/Reference.vb b/EgwProxy.OsaiCncLib/Web References/WebReference/Reference.vb new file mode 100644 index 0000000..87a807a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/Reference.vb @@ -0,0 +1,20797 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + +Imports System +Imports System.ComponentModel +Imports System.Diagnostics +Imports System.Web.Services +Imports System.Web.Services.Protocols +Imports System.Xml.Serialization + +' +'This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.42000. +' +Namespace WebReference + + ''' + _ + Partial Public Class OPENcontrol + Inherits System.Web.Services.Protocols.SoapHttpClientProtocol + + Private BootPhaseEnquiryOperationCompleted As System.Threading.SendOrPostCallback + + Private BootRebootOperationCompleted As System.Threading.SendOrPostCallback + + Private BootShutDownOperationCompleted As System.Threading.SendOrPostCallback + + Private BootModeOperationCompleted As System.Threading.SendOrPostCallback + + Private GetHWKeyOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadVarWordOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadVarDoubleOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteVarWordOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteVarWordBitOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteVarDoubleOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadVarTextOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteVarTextOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadNamedVarBoolOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadNamedVarByteOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadNamedVarShortOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadNamedVarWordOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadNamedVarLongOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadNamedVarDwordOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadNamedVarDoubleOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadNamedVarStringOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteNamedVarBoolOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteNamedVarByteOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteNamedVarShortOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteNamedVarWordOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteNamedVarLongOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteNamedVarDwordOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteNamedVarDoubleOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteNamedVarStringOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadWarningMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private ResetSingleTableIIOperationCompleted As System.Threading.SendOrPostCallback + + Private LockTableIIOperationCompleted As System.Threading.SendOrPostCallback + + Private UnLockTableIIOperationCompleted As System.Threading.SendOrPostCallback + + Private GetOriginTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private SetOriginTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private GetToolTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private SetToolTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private GetOffsetTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private SetOffsetTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private GetUserTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private SetUserTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private GetMagazineTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private SetMagazineTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private GetPocketTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private SetPocketTabRecordIIOperationCompleted As System.Threading.SendOrPostCallback + + Private SaveTablesOperationCompleted As System.Threading.SendOrPostCallback + + Private RestoreSingleTableOperationCompleted As System.Threading.SendOrPostCallback + + Private SaveSingleTableOperationCompleted As System.Threading.SendOrPostCallback + + Private SaveBackupMemoryOperationCompleted As System.Threading.SendOrPostCallback + + Private RestoreBackupMemoryOperationCompleted As System.Threading.SendOrPostCallback + + Private ToolSearchOperationCompleted As System.Threading.SendOrPostCallback + + Private ToolSearchLifeOperationCompleted As System.Threading.SendOrPostCallback + + Private ToolSearchDirOperationCompleted As System.Threading.SendOrPostCallback + + Private ToolSearchLifeDirOperationCompleted As System.Threading.SendOrPostCallback + + Private ToolSameFamilyOperationCompleted As System.Threading.SendOrPostCallback + + Private ToolLoadOperationCompleted As System.Threading.SendOrPostCallback + + Private ToolUnloadOperationCompleted As System.Threading.SendOrPostCallback + + Private PocketSearchOperationCompleted As System.Threading.SendOrPostCallback + + Private PocketClosestOperationCompleted As System.Threading.SendOrPostCallback + + Private PocketNearestOperationCompleted As System.Threading.SendOrPostCallback + + Private ToolLifeOperationCompleted As System.Threading.SendOrPostCallback + + Private LoadTableFromFileOperationCompleted As System.Threading.SendOrPostCallback + + Private MagConfigurePocketsOperationCompleted As System.Threading.SendOrPostCallback + + Private CycleOperationCompleted As System.Threading.SendOrPostCallback + + Private SyncroCycleOperationCompleted As System.Threading.SendOrPostCallback + + Private ResetOperationCompleted As System.Threading.SendOrPostCallback + + Private HoldOperationCompleted As System.Threading.SendOrPostCallback + + Private SetFeedManOverOperationCompleted As System.Threading.SendOrPostCallback + + Private SetFeedRateOverOperationCompleted As System.Threading.SendOrPostCallback + + Private SetFeedRapidOverOperationCompleted As System.Threading.SendOrPostCallback + + Private SetSpeedRateOverOperationCompleted As System.Threading.SendOrPostCallback + + Private SetManMovDirectionOperationCompleted As System.Threading.SendOrPostCallback + + Private GetVarJOGOperationCompleted As System.Threading.SendOrPostCallback + + Private SetVarJOGOperationCompleted As System.Threading.SendOrPostCallback + + Private SetVarUASOperationCompleted As System.Threading.SendOrPostCallback + + Private GetVarRCMOperationCompleted As System.Threading.SendOrPostCallback + + Private SetVarRCMOperationCompleted As System.Threading.SendOrPostCallback + + Private GetVarCYCTIMEOperationCompleted As System.Threading.SendOrPostCallback + + Private SetVarCYCTIMEOperationCompleted As System.Threading.SendOrPostCallback + + Private GetProcVarWordOperationCompleted As System.Threading.SendOrPostCallback + + Private SetProcVarWordOperationCompleted As System.Threading.SendOrPostCallback + + Private GetProcVarDoubleOperationCompleted As System.Threading.SendOrPostCallback + + Private SetProcVarDoubleOperationCompleted As System.Threading.SendOrPostCallback + + Private SetMdiStringOperationCompleted As System.Threading.SendOrPostCallback + + Private SetProcessModeOperationCompleted As System.Threading.SendOrPostCallback + + Private SelectProcessOperationCompleted As System.Threading.SendOrPostCallback + + Private GetSelectedProcessOperationCompleted As System.Threading.SendOrPostCallback + + Private SelectProcAxisOperationCompleted As System.Threading.SendOrPostCallback + + Private SelectPartProgramOperationCompleted As System.Threading.SendOrPostCallback + + Private SelectPartProgramFromDriveOperationCompleted As System.Threading.SendOrPostCallback + + Private GetActivePartProgramOperationCompleted As System.Threading.SendOrPostCallback + + Private GetActivePartProgramFullPathOperationCompleted As System.Threading.SendOrPostCallback + + Private GetPartProgramLinesOperationCompleted As System.Threading.SendOrPostCallback + + Private GetAxOriginNumOperationCompleted As System.Threading.SendOrPostCallback + + Private GetAxesPositionOperationCompleted As System.Threading.SendOrPostCallback + + Private GetNcInfo1OperationCompleted As System.Threading.SendOrPostCallback + + Private GetNcInfo2OperationCompleted As System.Threading.SendOrPostCallback + + Private GetToolNamesOperationCompleted As System.Threading.SendOrPostCallback + + Private GetProcessStatusOperationCompleted As System.Threading.SendOrPostCallback + + Private GetBlkNumOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadErrMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadPartProgramMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private GetGCodeOperationCompleted As System.Threading.SendOrPostCallback + + Private GetMCodeOperationCompleted As System.Threading.SendOrPostCallback + + Private SkipPProgBlockOperationCompleted As System.Threading.SendOrPostCallback + + Private EseOperationCompleted As System.Threading.SendOrPostCallback + + Private EseExOperationCompleted As System.Threading.SendOrPostCallback + + Private ExeOperationCompleted As System.Threading.SendOrPostCallback + + Private AxesRefOperationCompleted As System.Threading.SendOrPostCallback + + Private DncInitOperationCompleted As System.Threading.SendOrPostCallback + + Private DncDataOperationCompleted As System.Threading.SendOrPostCallback + + Private DncEofOperationCompleted As System.Threading.SendOrPostCallback + + Private DncStopOperationCompleted As System.Threading.SendOrPostCallback + + Private GetAxesInfo3OperationCompleted As System.Threading.SendOrPostCallback + + Private GetCodeNumberOperationCompleted As System.Threading.SendOrPostCallback + + Private GetOptionsOperationCompleted As System.Threading.SendOrPostCallback + + Private GetDateTimeOperationCompleted As System.Threading.SendOrPostCallback + + Private SetDateTimeOperationCompleted As System.Threading.SendOrPostCallback + + Private GetSerialNumberOperationCompleted As System.Threading.SendOrPostCallback + + Private PutFileOperationCompleted As System.Threading.SendOrPostCallback + + Private GetFileOperationCompleted As System.Threading.SendOrPostCallback + + Private PutBinaryFileOperationCompleted As System.Threading.SendOrPostCallback + + Private GetBinaryFileOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSSetSecurityLevelOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSGetSecurityLevelOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSLongFileNamesOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSGetNumDriveOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSGetDriveListOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSGetHiddenDriveListOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSGetDrivePathOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSAddDriveOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSRemoveDriveOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSReloadDriveListOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSCreateDirOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSCreateFileOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSGetFileSizeOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSGetFileAttribOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSSetFileAttribOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSChangeFileAttribOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSFindFirstOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSFindNextOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSFindCloseOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSRemoveFileOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSRemoveDirOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSRenameOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSCopyFileOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSGetInfoOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSOpenFileOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSCloseFileOperationCompleted As System.Threading.SendOrPostCallback + + Private GetSysTickOperationCompleted As System.Threading.SendOrPostCallback + + Private GetProcessConfNumOperationCompleted As System.Threading.SendOrPostCallback + + Private CheckHistoryOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadHistoryEmergMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadHistoryErrorMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadHistoryLogMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadHistoryAnomalyMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadCurrentErrorMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadCurrentEmergMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadCurrentAnomalyMsgOperationCompleted As System.Threading.SendOrPostCallback + + Private GetPTechSizesOperationCompleted As System.Threading.SendOrPostCallback + + Private LoadPTechOperationCompleted As System.Threading.SendOrPostCallback + + Private GetMarkerInfoOperationCompleted As System.Threading.SendOrPostCallback + + Private ManagePartProgramOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSWriteRecordOperationCompleted As System.Threading.SendOrPostCallback + + Private LogFSReadRecordOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadRemapDefinitionsOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteRemapDefinitionsOperationCompleted As System.Threading.SendOrPostCallback + + Private GetServoParOperationCompleted As System.Threading.SendOrPostCallback + + Private SetServoParOperationCompleted As System.Threading.SendOrPostCallback + + Private GetCNCRegKeyOperationCompleted As System.Threading.SendOrPostCallback + + Private GetSecurityDataOperationCompleted As System.Threading.SendOrPostCallback + + Private SetSecurityDataOperationCompleted As System.Threading.SendOrPostCallback + + Private SetIpAddressOperationCompleted As System.Threading.SendOrPostCallback + + Private GetProcInInputOperationCompleted As System.Threading.SendOrPostCallback + + Private SndProcInpDataOperationCompleted As System.Threading.SendOrPostCallback + + Private GetPartProgramLinesExOperationCompleted As System.Threading.SendOrPostCallback + + Private SetMdiStringExOperationCompleted As System.Threading.SendOrPostCallback + + Private GetExpireDataOperationCompleted As System.Threading.SendOrPostCallback + + Private GetRemainingTimeOperationCompleted As System.Threading.SendOrPostCallback + + Private GenerateUserKeyOperationCompleted As System.Threading.SendOrPostCallback + + Private WriteActivationKeyOperationCompleted As System.Threading.SendOrPostCallback + + Private GetAvailableCustomEventsOperationCompleted As System.Threading.SendOrPostCallback + + Private MonOpenChannelOperationCompleted As System.Threading.SendOrPostCallback + + Private MonCloseChannelOperationCompleted As System.Threading.SendOrPostCallback + + Private MonAddVariableOperationCompleted As System.Threading.SendOrPostCallback + + Private MonDeleteVariableOperationCompleted As System.Threading.SendOrPostCallback + + Private MonStartSamplingOperationCompleted As System.Threading.SendOrPostCallback + + Private MonStopSamplingOperationCompleted As System.Threading.SendOrPostCallback + + Private MonGetVariableOperationCompleted As System.Threading.SendOrPostCallback + + Private MonGetVariableSOperationCompleted As System.Threading.SendOrPostCallback + + Private MonGetDryRunOperationCompleted As System.Threading.SendOrPostCallback + + Private MonGetMovOperationCompleted As System.Threading.SendOrPostCallback + + Private GetDriveBasicInfoOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadStatisticsOperationCompleted As System.Threading.SendOrPostCallback + + Private ReadStatisticsBaseFrequencyOperationCompleted As System.Threading.SendOrPostCallback + + Private GetActiveAmpOperationCompleted As System.Threading.SendOrPostCallback + + Private SetActiveAmpOperationCompleted As System.Threading.SendOrPostCallback + + Private useDefaultCredentialsSetExplicitly As Boolean + + ''' + Public Sub New() + MyBase.New + Me.Url = Global.EgwProxy.OsaiCncLib.My.MySettings.Default.d_prod_WebReference_OPENcontrol + If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then + Me.UseDefaultCredentials = true + Me.useDefaultCredentialsSetExplicitly = false + Else + Me.useDefaultCredentialsSetExplicitly = true + End If + End Sub + + Public Shadows Property Url() As String + Get + Return MyBase.Url + End Get + Set + If (((Me.IsLocalFileSystemWebService(MyBase.Url) = true) _ + AndAlso (Me.useDefaultCredentialsSetExplicitly = false)) _ + AndAlso (Me.IsLocalFileSystemWebService(value) = false)) Then + MyBase.UseDefaultCredentials = false + End If + MyBase.Url = value + End Set + End Property + + Public Shadows Property UseDefaultCredentials() As Boolean + Get + Return MyBase.UseDefaultCredentials + End Get + Set + MyBase.UseDefaultCredentials = value + Me.useDefaultCredentialsSetExplicitly = true + End Set + End Property + + ''' + Public Event BootPhaseEnquiryCompleted As BootPhaseEnquiryCompletedEventHandler + + ''' + Public Event BootRebootCompleted As BootRebootCompletedEventHandler + + ''' + Public Event BootShutDownCompleted As BootShutDownCompletedEventHandler + + ''' + Public Event BootModeCompleted As BootModeCompletedEventHandler + + ''' + Public Event GetHWKeyCompleted As GetHWKeyCompletedEventHandler + + ''' + Public Event ReadVarWordCompleted As ReadVarWordCompletedEventHandler + + ''' + Public Event ReadVarDoubleCompleted As ReadVarDoubleCompletedEventHandler + + ''' + Public Event WriteVarWordCompleted As WriteVarWordCompletedEventHandler + + ''' + Public Event WriteVarWordBitCompleted As WriteVarWordBitCompletedEventHandler + + ''' + Public Event WriteVarDoubleCompleted As WriteVarDoubleCompletedEventHandler + + ''' + Public Event ReadVarTextCompleted As ReadVarTextCompletedEventHandler + + ''' + Public Event WriteVarTextCompleted As WriteVarTextCompletedEventHandler + + ''' + Public Event ReadNamedVarBoolCompleted As ReadNamedVarBoolCompletedEventHandler + + ''' + Public Event ReadNamedVarByteCompleted As ReadNamedVarByteCompletedEventHandler + + ''' + Public Event ReadNamedVarShortCompleted As ReadNamedVarShortCompletedEventHandler + + ''' + Public Event ReadNamedVarWordCompleted As ReadNamedVarWordCompletedEventHandler + + ''' + Public Event ReadNamedVarLongCompleted As ReadNamedVarLongCompletedEventHandler + + ''' + Public Event ReadNamedVarDwordCompleted As ReadNamedVarDwordCompletedEventHandler + + ''' + Public Event ReadNamedVarDoubleCompleted As ReadNamedVarDoubleCompletedEventHandler + + ''' + Public Event ReadNamedVarStringCompleted As ReadNamedVarStringCompletedEventHandler + + ''' + Public Event WriteNamedVarBoolCompleted As WriteNamedVarBoolCompletedEventHandler + + ''' + Public Event WriteNamedVarByteCompleted As WriteNamedVarByteCompletedEventHandler + + ''' + Public Event WriteNamedVarShortCompleted As WriteNamedVarShortCompletedEventHandler + + ''' + Public Event WriteNamedVarWordCompleted As WriteNamedVarWordCompletedEventHandler + + ''' + Public Event WriteNamedVarLongCompleted As WriteNamedVarLongCompletedEventHandler + + ''' + Public Event WriteNamedVarDwordCompleted As WriteNamedVarDwordCompletedEventHandler + + ''' + Public Event WriteNamedVarDoubleCompleted As WriteNamedVarDoubleCompletedEventHandler + + ''' + Public Event WriteNamedVarStringCompleted As WriteNamedVarStringCompletedEventHandler + + ''' + Public Event ReadWarningMsgCompleted As ReadWarningMsgCompletedEventHandler + + ''' + Public Event ResetSingleTableIICompleted As ResetSingleTableIICompletedEventHandler + + ''' + Public Event LockTableIICompleted As LockTableIICompletedEventHandler + + ''' + Public Event UnLockTableIICompleted As UnLockTableIICompletedEventHandler + + ''' + Public Event GetOriginTabRecordIICompleted As GetOriginTabRecordIICompletedEventHandler + + ''' + Public Event SetOriginTabRecordIICompleted As SetOriginTabRecordIICompletedEventHandler + + ''' + Public Event GetToolTabRecordIICompleted As GetToolTabRecordIICompletedEventHandler + + ''' + Public Event SetToolTabRecordIICompleted As SetToolTabRecordIICompletedEventHandler + + ''' + Public Event GetOffsetTabRecordIICompleted As GetOffsetTabRecordIICompletedEventHandler + + ''' + Public Event SetOffsetTabRecordIICompleted As SetOffsetTabRecordIICompletedEventHandler + + ''' + Public Event GetUserTabRecordIICompleted As GetUserTabRecordIICompletedEventHandler + + ''' + Public Event SetUserTabRecordIICompleted As SetUserTabRecordIICompletedEventHandler + + ''' + Public Event GetMagazineTabRecordIICompleted As GetMagazineTabRecordIICompletedEventHandler + + ''' + Public Event SetMagazineTabRecordIICompleted As SetMagazineTabRecordIICompletedEventHandler + + ''' + Public Event GetPocketTabRecordIICompleted As GetPocketTabRecordIICompletedEventHandler + + ''' + Public Event SetPocketTabRecordIICompleted As SetPocketTabRecordIICompletedEventHandler + + ''' + Public Event SaveTablesCompleted As SaveTablesCompletedEventHandler + + ''' + Public Event RestoreSingleTableCompleted As RestoreSingleTableCompletedEventHandler + + ''' + Public Event SaveSingleTableCompleted As SaveSingleTableCompletedEventHandler + + ''' + Public Event SaveBackupMemoryCompleted As SaveBackupMemoryCompletedEventHandler + + ''' + Public Event RestoreBackupMemoryCompleted As RestoreBackupMemoryCompletedEventHandler + + ''' + Public Event ToolSearchCompleted As ToolSearchCompletedEventHandler + + ''' + Public Event ToolSearchLifeCompleted As ToolSearchLifeCompletedEventHandler + + ''' + Public Event ToolSearchDirCompleted As ToolSearchDirCompletedEventHandler + + ''' + Public Event ToolSearchLifeDirCompleted As ToolSearchLifeDirCompletedEventHandler + + ''' + Public Event ToolSameFamilyCompleted As ToolSameFamilyCompletedEventHandler + + ''' + Public Event ToolLoadCompleted As ToolLoadCompletedEventHandler + + ''' + Public Event ToolUnloadCompleted As ToolUnloadCompletedEventHandler + + ''' + Public Event PocketSearchCompleted As PocketSearchCompletedEventHandler + + ''' + Public Event PocketClosestCompleted As PocketClosestCompletedEventHandler + + ''' + Public Event PocketNearestCompleted As PocketNearestCompletedEventHandler + + ''' + Public Event ToolLifeCompleted As ToolLifeCompletedEventHandler + + ''' + Public Event LoadTableFromFileCompleted As LoadTableFromFileCompletedEventHandler + + ''' + Public Event MagConfigurePocketsCompleted As MagConfigurePocketsCompletedEventHandler + + ''' + Public Event CycleCompleted As CycleCompletedEventHandler + + ''' + Public Event SyncroCycleCompleted As SyncroCycleCompletedEventHandler + + ''' + Public Event ResetCompleted As ResetCompletedEventHandler + + ''' + Public Event HoldCompleted As HoldCompletedEventHandler + + ''' + Public Event SetFeedManOverCompleted As SetFeedManOverCompletedEventHandler + + ''' + Public Event SetFeedRateOverCompleted As SetFeedRateOverCompletedEventHandler + + ''' + Public Event SetFeedRapidOverCompleted As SetFeedRapidOverCompletedEventHandler + + ''' + Public Event SetSpeedRateOverCompleted As SetSpeedRateOverCompletedEventHandler + + ''' + Public Event SetManMovDirectionCompleted As SetManMovDirectionCompletedEventHandler + + ''' + Public Event GetVarJOGCompleted As GetVarJOGCompletedEventHandler + + ''' + Public Event SetVarJOGCompleted As SetVarJOGCompletedEventHandler + + ''' + Public Event SetVarUASCompleted As SetVarUASCompletedEventHandler + + ''' + Public Event GetVarRCMCompleted As GetVarRCMCompletedEventHandler + + ''' + Public Event SetVarRCMCompleted As SetVarRCMCompletedEventHandler + + ''' + Public Event GetVarCYCTIMECompleted As GetVarCYCTIMECompletedEventHandler + + ''' + Public Event SetVarCYCTIMECompleted As SetVarCYCTIMECompletedEventHandler + + ''' + Public Event GetProcVarWordCompleted As GetProcVarWordCompletedEventHandler + + ''' + Public Event SetProcVarWordCompleted As SetProcVarWordCompletedEventHandler + + ''' + Public Event GetProcVarDoubleCompleted As GetProcVarDoubleCompletedEventHandler + + ''' + Public Event SetProcVarDoubleCompleted As SetProcVarDoubleCompletedEventHandler + + ''' + Public Event SetMdiStringCompleted As SetMdiStringCompletedEventHandler + + ''' + Public Event SetProcessModeCompleted As SetProcessModeCompletedEventHandler + + ''' + Public Event SelectProcessCompleted As SelectProcessCompletedEventHandler + + ''' + Public Event GetSelectedProcessCompleted As GetSelectedProcessCompletedEventHandler + + ''' + Public Event SelectProcAxisCompleted As SelectProcAxisCompletedEventHandler + + ''' + Public Event SelectPartProgramCompleted As SelectPartProgramCompletedEventHandler + + ''' + Public Event SelectPartProgramFromDriveCompleted As SelectPartProgramFromDriveCompletedEventHandler + + ''' + Public Event GetActivePartProgramCompleted As GetActivePartProgramCompletedEventHandler + + ''' + Public Event GetActivePartProgramFullPathCompleted As GetActivePartProgramFullPathCompletedEventHandler + + ''' + Public Event GetPartProgramLinesCompleted As GetPartProgramLinesCompletedEventHandler + + ''' + Public Event GetAxOriginNumCompleted As GetAxOriginNumCompletedEventHandler + + ''' + Public Event GetAxesPositionCompleted As GetAxesPositionCompletedEventHandler + + ''' + Public Event GetNcInfo1Completed As GetNcInfo1CompletedEventHandler + + ''' + Public Event GetNcInfo2Completed As GetNcInfo2CompletedEventHandler + + ''' + Public Event GetToolNamesCompleted As GetToolNamesCompletedEventHandler + + ''' + Public Event GetProcessStatusCompleted As GetProcessStatusCompletedEventHandler + + ''' + Public Event GetBlkNumCompleted As GetBlkNumCompletedEventHandler + + ''' + Public Event ReadErrMsgCompleted As ReadErrMsgCompletedEventHandler + + ''' + Public Event ReadPartProgramMsgCompleted As ReadPartProgramMsgCompletedEventHandler + + ''' + Public Event GetGCodeCompleted As GetGCodeCompletedEventHandler + + ''' + Public Event GetMCodeCompleted As GetMCodeCompletedEventHandler + + ''' + Public Event SkipPProgBlockCompleted As SkipPProgBlockCompletedEventHandler + + ''' + Public Event EseCompleted As EseCompletedEventHandler + + ''' + Public Event EseExCompleted As EseExCompletedEventHandler + + ''' + Public Event ExeCompleted As ExeCompletedEventHandler + + ''' + Public Event AxesRefCompleted As AxesRefCompletedEventHandler + + ''' + Public Event DncInitCompleted As DncInitCompletedEventHandler + + ''' + Public Event DncDataCompleted As DncDataCompletedEventHandler + + ''' + Public Event DncEofCompleted As DncEofCompletedEventHandler + + ''' + Public Event DncStopCompleted As DncStopCompletedEventHandler + + ''' + Public Event GetAxesInfo3Completed As GetAxesInfo3CompletedEventHandler + + ''' + Public Event GetCodeNumberCompleted As GetCodeNumberCompletedEventHandler + + ''' + Public Event GetOptionsCompleted As GetOptionsCompletedEventHandler + + ''' + Public Event GetDateTimeCompleted As GetDateTimeCompletedEventHandler + + ''' + Public Event SetDateTimeCompleted As SetDateTimeCompletedEventHandler + + ''' + Public Event GetSerialNumberCompleted As GetSerialNumberCompletedEventHandler + + ''' + Public Event PutFileCompleted As PutFileCompletedEventHandler + + ''' + Public Event GetFileCompleted As GetFileCompletedEventHandler + + ''' + Public Event PutBinaryFileCompleted As PutBinaryFileCompletedEventHandler + + ''' + Public Event GetBinaryFileCompleted As GetBinaryFileCompletedEventHandler + + ''' + Public Event LogFSSetSecurityLevelCompleted As LogFSSetSecurityLevelCompletedEventHandler + + ''' + Public Event LogFSGetSecurityLevelCompleted As LogFSGetSecurityLevelCompletedEventHandler + + ''' + Public Event LogFSLongFileNamesCompleted As LogFSLongFileNamesCompletedEventHandler + + ''' + Public Event LogFSGetNumDriveCompleted As LogFSGetNumDriveCompletedEventHandler + + ''' + Public Event LogFSGetDriveListCompleted As LogFSGetDriveListCompletedEventHandler + + ''' + Public Event LogFSGetHiddenDriveListCompleted As LogFSGetHiddenDriveListCompletedEventHandler + + ''' + Public Event LogFSGetDrivePathCompleted As LogFSGetDrivePathCompletedEventHandler + + ''' + Public Event LogFSAddDriveCompleted As LogFSAddDriveCompletedEventHandler + + ''' + Public Event LogFSRemoveDriveCompleted As LogFSRemoveDriveCompletedEventHandler + + ''' + Public Event LogFSReloadDriveListCompleted As LogFSReloadDriveListCompletedEventHandler + + ''' + Public Event LogFSCreateDirCompleted As LogFSCreateDirCompletedEventHandler + + ''' + Public Event LogFSCreateFileCompleted As LogFSCreateFileCompletedEventHandler + + ''' + Public Event LogFSGetFileSizeCompleted As LogFSGetFileSizeCompletedEventHandler + + ''' + Public Event LogFSGetFileAttribCompleted As LogFSGetFileAttribCompletedEventHandler + + ''' + Public Event LogFSSetFileAttribCompleted As LogFSSetFileAttribCompletedEventHandler + + ''' + Public Event LogFSChangeFileAttribCompleted As LogFSChangeFileAttribCompletedEventHandler + + ''' + Public Event LogFSFindFirstCompleted As LogFSFindFirstCompletedEventHandler + + ''' + Public Event LogFSFindNextCompleted As LogFSFindNextCompletedEventHandler + + ''' + Public Event LogFSFindCloseCompleted As LogFSFindCloseCompletedEventHandler + + ''' + Public Event LogFSRemoveFileCompleted As LogFSRemoveFileCompletedEventHandler + + ''' + Public Event LogFSRemoveDirCompleted As LogFSRemoveDirCompletedEventHandler + + ''' + Public Event LogFSRenameCompleted As LogFSRenameCompletedEventHandler + + ''' + Public Event LogFSCopyFileCompleted As LogFSCopyFileCompletedEventHandler + + ''' + Public Event LogFSGetInfoCompleted As LogFSGetInfoCompletedEventHandler + + ''' + Public Event LogFSOpenFileCompleted As LogFSOpenFileCompletedEventHandler + + ''' + Public Event LogFSCloseFileCompleted As LogFSCloseFileCompletedEventHandler + + ''' + Public Event GetSysTickCompleted As GetSysTickCompletedEventHandler + + ''' + Public Event GetProcessConfNumCompleted As GetProcessConfNumCompletedEventHandler + + ''' + Public Event CheckHistoryCompleted As CheckHistoryCompletedEventHandler + + ''' + Public Event ReadHistoryEmergMsgCompleted As ReadHistoryEmergMsgCompletedEventHandler + + ''' + Public Event ReadHistoryErrorMsgCompleted As ReadHistoryErrorMsgCompletedEventHandler + + ''' + Public Event ReadHistoryLogMsgCompleted As ReadHistoryLogMsgCompletedEventHandler + + ''' + Public Event ReadHistoryAnomalyMsgCompleted As ReadHistoryAnomalyMsgCompletedEventHandler + + ''' + Public Event ReadCurrentErrorMsgCompleted As ReadCurrentErrorMsgCompletedEventHandler + + ''' + Public Event ReadCurrentEmergMsgCompleted As ReadCurrentEmergMsgCompletedEventHandler + + ''' + Public Event ReadCurrentAnomalyMsgCompleted As ReadCurrentAnomalyMsgCompletedEventHandler + + ''' + Public Event GetPTechSizesCompleted As GetPTechSizesCompletedEventHandler + + ''' + Public Event LoadPTechCompleted As LoadPTechCompletedEventHandler + + ''' + Public Event GetMarkerInfoCompleted As GetMarkerInfoCompletedEventHandler + + ''' + Public Event ManagePartProgramCompleted As ManagePartProgramCompletedEventHandler + + ''' + Public Event LogFSWriteRecordCompleted As LogFSWriteRecordCompletedEventHandler + + ''' + Public Event LogFSReadRecordCompleted As LogFSReadRecordCompletedEventHandler + + ''' + Public Event ReadRemapDefinitionsCompleted As ReadRemapDefinitionsCompletedEventHandler + + ''' + Public Event WriteRemapDefinitionsCompleted As WriteRemapDefinitionsCompletedEventHandler + + ''' + Public Event GetServoParCompleted As GetServoParCompletedEventHandler + + ''' + Public Event SetServoParCompleted As SetServoParCompletedEventHandler + + ''' + Public Event GetCNCRegKeyCompleted As GetCNCRegKeyCompletedEventHandler + + ''' + Public Event GetSecurityDataCompleted As GetSecurityDataCompletedEventHandler + + ''' + Public Event SetSecurityDataCompleted As SetSecurityDataCompletedEventHandler + + ''' + Public Event SetIpAddressCompleted As SetIpAddressCompletedEventHandler + + ''' + Public Event GetProcInInputCompleted As GetProcInInputCompletedEventHandler + + ''' + Public Event SndProcInpDataCompleted As SndProcInpDataCompletedEventHandler + + ''' + Public Event GetPartProgramLinesExCompleted As GetPartProgramLinesExCompletedEventHandler + + ''' + Public Event SetMdiStringExCompleted As SetMdiStringExCompletedEventHandler + + ''' + Public Event GetExpireDataCompleted As GetExpireDataCompletedEventHandler + + ''' + Public Event GetRemainingTimeCompleted As GetRemainingTimeCompletedEventHandler + + ''' + Public Event GenerateUserKeyCompleted As GenerateUserKeyCompletedEventHandler + + ''' + Public Event WriteActivationKeyCompleted As WriteActivationKeyCompletedEventHandler + + ''' + Public Event GetAvailableCustomEventsCompleted As GetAvailableCustomEventsCompletedEventHandler + + ''' + Public Event MonOpenChannelCompleted As MonOpenChannelCompletedEventHandler + + ''' + Public Event MonCloseChannelCompleted As MonCloseChannelCompletedEventHandler + + ''' + Public Event MonAddVariableCompleted As MonAddVariableCompletedEventHandler + + ''' + Public Event MonDeleteVariableCompleted As MonDeleteVariableCompletedEventHandler + + ''' + Public Event MonStartSamplingCompleted As MonStartSamplingCompletedEventHandler + + ''' + Public Event MonStopSamplingCompleted As MonStopSamplingCompletedEventHandler + + ''' + Public Event MonGetVariableCompleted As MonGetVariableCompletedEventHandler + + ''' + Public Event MonGetVariableSCompleted As MonGetVariableSCompletedEventHandler + + ''' + Public Event MonGetDryRunCompleted As MonGetDryRunCompletedEventHandler + + ''' + Public Event MonGetMovCompleted As MonGetMovCompletedEventHandler + + ''' + Public Event GetDriveBasicInfoCompleted As GetDriveBasicInfoCompletedEventHandler + + ''' + Public Event ReadStatisticsCompleted As ReadStatisticsCompletedEventHandler + + ''' + Public Event ReadStatisticsBaseFrequencyCompleted As ReadStatisticsBaseFrequencyCompletedEventHandler + + ''' + Public Event GetActiveAmpCompleted As GetActiveAmpCompletedEventHandler + + ''' + Public Event SetActiveAmpCompleted As SetActiveAmpCompletedEventHandler + + ''' + _ + Public Function BootPhaseEnquiry(ByRef Phase As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("BootPhaseEnquiry", New Object(-1) {}) + Phase = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub BootPhaseEnquiryAsync() + Me.BootPhaseEnquiryAsync(Nothing) + End Sub + + ''' + Public Overloads Sub BootPhaseEnquiryAsync(ByVal userState As Object) + If (Me.BootPhaseEnquiryOperationCompleted Is Nothing) Then + Me.BootPhaseEnquiryOperationCompleted = AddressOf Me.OnBootPhaseEnquiryOperationCompleted + End If + Me.InvokeAsync("BootPhaseEnquiry", New Object(-1) {}, Me.BootPhaseEnquiryOperationCompleted, userState) + End Sub + + Private Sub OnBootPhaseEnquiryOperationCompleted(ByVal arg As Object) + If (Not (Me.BootPhaseEnquiryCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent BootPhaseEnquiryCompleted(Me, New BootPhaseEnquiryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function BootReboot(ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("BootReboot", New Object(-1) {}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub BootRebootAsync() + Me.BootRebootAsync(Nothing) + End Sub + + ''' + Public Overloads Sub BootRebootAsync(ByVal userState As Object) + If (Me.BootRebootOperationCompleted Is Nothing) Then + Me.BootRebootOperationCompleted = AddressOf Me.OnBootRebootOperationCompleted + End If + Me.InvokeAsync("BootReboot", New Object(-1) {}, Me.BootRebootOperationCompleted, userState) + End Sub + + Private Sub OnBootRebootOperationCompleted(ByVal arg As Object) + If (Not (Me.BootRebootCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent BootRebootCompleted(Me, New BootRebootCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function BootShutDown(ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("BootShutDown", New Object(-1) {}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub BootShutDownAsync() + Me.BootShutDownAsync(Nothing) + End Sub + + ''' + Public Overloads Sub BootShutDownAsync(ByVal userState As Object) + If (Me.BootShutDownOperationCompleted Is Nothing) Then + Me.BootShutDownOperationCompleted = AddressOf Me.OnBootShutDownOperationCompleted + End If + Me.InvokeAsync("BootShutDown", New Object(-1) {}, Me.BootShutDownOperationCompleted, userState) + End Sub + + Private Sub OnBootShutDownOperationCompleted(ByVal arg As Object) + If (Not (Me.BootShutDownCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent BootShutDownCompleted(Me, New BootShutDownCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function BootMode(ByVal Mode As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("BootMode", New Object() {Mode}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub BootModeAsync(ByVal Mode As UShort) + Me.BootModeAsync(Mode, Nothing) + End Sub + + ''' + Public Overloads Sub BootModeAsync(ByVal Mode As UShort, ByVal userState As Object) + If (Me.BootModeOperationCompleted Is Nothing) Then + Me.BootModeOperationCompleted = AddressOf Me.OnBootModeOperationCompleted + End If + Me.InvokeAsync("BootMode", New Object() {Mode}, Me.BootModeOperationCompleted, userState) + End Sub + + Private Sub OnBootModeOperationCompleted(ByVal arg As Object) + If (Not (Me.BootModeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent BootModeCompleted(Me, New BootModeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetHWKey( ByRef HwKey() As Byte, ByRef SecurLevel() As Byte, ByRef Release As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetHWKey", New Object(-1) {}) + HwKey = CType(results(1),Byte()) + SecurLevel = CType(results(2),Byte()) + Release = CType(results(3),String) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetHWKeyAsync() + Me.GetHWKeyAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetHWKeyAsync(ByVal userState As Object) + If (Me.GetHWKeyOperationCompleted Is Nothing) Then + Me.GetHWKeyOperationCompleted = AddressOf Me.OnGetHWKeyOperationCompleted + End If + Me.InvokeAsync("GetHWKey", New Object(-1) {}, Me.GetHWKeyOperationCompleted, userState) + End Sub + + Private Sub OnGetHWKeyOperationCompleted(ByVal arg As Object) + If (Not (Me.GetHWKeyCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetHWKeyCompleted(Me, New GetHWKeyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadVarWord(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByRef Value() As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadVarWord", New Object() {Code, Process, Index, NumVar}) + Value = CType(results(1),UShort()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadVarWordAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort) + Me.ReadVarWordAsync(Code, Process, Index, NumVar, Nothing) + End Sub + + ''' + Public Overloads Sub ReadVarWordAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByVal userState As Object) + If (Me.ReadVarWordOperationCompleted Is Nothing) Then + Me.ReadVarWordOperationCompleted = AddressOf Me.OnReadVarWordOperationCompleted + End If + Me.InvokeAsync("ReadVarWord", New Object() {Code, Process, Index, NumVar}, Me.ReadVarWordOperationCompleted, userState) + End Sub + + Private Sub OnReadVarWordOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadVarWordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadVarWordCompleted(Me, New ReadVarWordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadVarDouble(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByRef Value() As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadVarDouble", New Object() {Code, Process, Index, NumVar}) + Value = CType(results(1),Double()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadVarDoubleAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort) + Me.ReadVarDoubleAsync(Code, Process, Index, NumVar, Nothing) + End Sub + + ''' + Public Overloads Sub ReadVarDoubleAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByVal userState As Object) + If (Me.ReadVarDoubleOperationCompleted Is Nothing) Then + Me.ReadVarDoubleOperationCompleted = AddressOf Me.OnReadVarDoubleOperationCompleted + End If + Me.InvokeAsync("ReadVarDouble", New Object() {Code, Process, Index, NumVar}, Me.ReadVarDoubleOperationCompleted, userState) + End Sub + + Private Sub OnReadVarDoubleOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadVarDoubleCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadVarDoubleCompleted(Me, New ReadVarDoubleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteVarWord(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByVal Value() As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteVarWord", New Object() {Code, Process, Index, NumVar, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteVarWordAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByVal Value() As UShort) + Me.WriteVarWordAsync(Code, Process, Index, NumVar, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteVarWordAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByVal Value() As UShort, ByVal userState As Object) + If (Me.WriteVarWordOperationCompleted Is Nothing) Then + Me.WriteVarWordOperationCompleted = AddressOf Me.OnWriteVarWordOperationCompleted + End If + Me.InvokeAsync("WriteVarWord", New Object() {Code, Process, Index, NumVar, Value}, Me.WriteVarWordOperationCompleted, userState) + End Sub + + Private Sub OnWriteVarWordOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteVarWordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteVarWordCompleted(Me, New WriteVarWordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteVarWordBit(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal BitIndex As UShort, ByVal BitValue As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteVarWordBit", New Object() {Code, Process, Index, BitIndex, BitValue}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteVarWordBitAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal BitIndex As UShort, ByVal BitValue As UShort) + Me.WriteVarWordBitAsync(Code, Process, Index, BitIndex, BitValue, Nothing) + End Sub + + ''' + Public Overloads Sub WriteVarWordBitAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal BitIndex As UShort, ByVal BitValue As UShort, ByVal userState As Object) + If (Me.WriteVarWordBitOperationCompleted Is Nothing) Then + Me.WriteVarWordBitOperationCompleted = AddressOf Me.OnWriteVarWordBitOperationCompleted + End If + Me.InvokeAsync("WriteVarWordBit", New Object() {Code, Process, Index, BitIndex, BitValue}, Me.WriteVarWordBitOperationCompleted, userState) + End Sub + + Private Sub OnWriteVarWordBitOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteVarWordBitCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteVarWordBitCompleted(Me, New WriteVarWordBitCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteVarDouble(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByVal Value() As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteVarDouble", New Object() {Code, Process, Index, NumVar, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteVarDoubleAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByVal Value() As Double) + Me.WriteVarDoubleAsync(Code, Process, Index, NumVar, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteVarDoubleAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal NumVar As UShort, ByVal Value() As Double, ByVal userState As Object) + If (Me.WriteVarDoubleOperationCompleted Is Nothing) Then + Me.WriteVarDoubleOperationCompleted = AddressOf Me.OnWriteVarDoubleOperationCompleted + End If + Me.InvokeAsync("WriteVarDouble", New Object() {Code, Process, Index, NumVar, Value}, Me.WriteVarDoubleOperationCompleted, userState) + End Sub + + Private Sub OnWriteVarDoubleOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteVarDoubleCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteVarDoubleCompleted(Me, New WriteVarDoubleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadVarText(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal Size As UShort, ByRef Text As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadVarText", New Object() {Code, Process, Index, Size}) + Text = CType(results(1),String) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadVarTextAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal Size As UShort) + Me.ReadVarTextAsync(Code, Process, Index, Size, Nothing) + End Sub + + ''' + Public Overloads Sub ReadVarTextAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal Size As UShort, ByVal userState As Object) + If (Me.ReadVarTextOperationCompleted Is Nothing) Then + Me.ReadVarTextOperationCompleted = AddressOf Me.OnReadVarTextOperationCompleted + End If + Me.InvokeAsync("ReadVarText", New Object() {Code, Process, Index, Size}, Me.ReadVarTextOperationCompleted, userState) + End Sub + + Private Sub OnReadVarTextOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadVarTextCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadVarTextCompleted(Me, New ReadVarTextCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteVarText(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal Len As UShort, ByVal Text As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteVarText", New Object() {Code, Process, Index, Len, Text}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteVarTextAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal Len As UShort, ByVal Text As String) + Me.WriteVarTextAsync(Code, Process, Index, Len, Text, Nothing) + End Sub + + ''' + Public Overloads Sub WriteVarTextAsync(ByVal Code As UShort, ByVal Process As UShort, ByVal Index As UShort, ByVal Len As UShort, ByVal Text As String, ByVal userState As Object) + If (Me.WriteVarTextOperationCompleted Is Nothing) Then + Me.WriteVarTextOperationCompleted = AddressOf Me.OnWriteVarTextOperationCompleted + End If + Me.InvokeAsync("WriteVarText", New Object() {Code, Process, Index, Len, Text}, Me.WriteVarTextOperationCompleted, userState) + End Sub + + Private Sub OnWriteVarTextOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteVarTextCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteVarTextCompleted(Me, New WriteVarTextCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadNamedVarBool(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByRef Value() As Integer, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadNamedVarBool", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}) + Value = CType(results(1),Integer()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadNamedVarBoolAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short) + Me.ReadNamedVarBoolAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Nothing) + End Sub + + ''' + Public Overloads Sub ReadNamedVarBoolAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal userState As Object) + If (Me.ReadNamedVarBoolOperationCompleted Is Nothing) Then + Me.ReadNamedVarBoolOperationCompleted = AddressOf Me.OnReadNamedVarBoolOperationCompleted + End If + Me.InvokeAsync("ReadNamedVarBool", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}, Me.ReadNamedVarBoolOperationCompleted, userState) + End Sub + + Private Sub OnReadNamedVarBoolOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadNamedVarBoolCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadNamedVarBoolCompleted(Me, New ReadNamedVarBoolCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadNamedVarByte(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByRef Value() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadNamedVarByte", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}) + Value = CType(results(1),Byte()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadNamedVarByteAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short) + Me.ReadNamedVarByteAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Nothing) + End Sub + + ''' + Public Overloads Sub ReadNamedVarByteAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal userState As Object) + If (Me.ReadNamedVarByteOperationCompleted Is Nothing) Then + Me.ReadNamedVarByteOperationCompleted = AddressOf Me.OnReadNamedVarByteOperationCompleted + End If + Me.InvokeAsync("ReadNamedVarByte", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}, Me.ReadNamedVarByteOperationCompleted, userState) + End Sub + + Private Sub OnReadNamedVarByteOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadNamedVarByteCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadNamedVarByteCompleted(Me, New ReadNamedVarByteCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadNamedVarShort(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByRef Value() As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadNamedVarShort", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}) + Value = CType(results(1),Short()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadNamedVarShortAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short) + Me.ReadNamedVarShortAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Nothing) + End Sub + + ''' + Public Overloads Sub ReadNamedVarShortAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal userState As Object) + If (Me.ReadNamedVarShortOperationCompleted Is Nothing) Then + Me.ReadNamedVarShortOperationCompleted = AddressOf Me.OnReadNamedVarShortOperationCompleted + End If + Me.InvokeAsync("ReadNamedVarShort", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}, Me.ReadNamedVarShortOperationCompleted, userState) + End Sub + + Private Sub OnReadNamedVarShortOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadNamedVarShortCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadNamedVarShortCompleted(Me, New ReadNamedVarShortCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadNamedVarWord(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByRef Value() As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadNamedVarWord", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}) + Value = CType(results(1),UShort()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadNamedVarWordAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short) + Me.ReadNamedVarWordAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Nothing) + End Sub + + ''' + Public Overloads Sub ReadNamedVarWordAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal userState As Object) + If (Me.ReadNamedVarWordOperationCompleted Is Nothing) Then + Me.ReadNamedVarWordOperationCompleted = AddressOf Me.OnReadNamedVarWordOperationCompleted + End If + Me.InvokeAsync("ReadNamedVarWord", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}, Me.ReadNamedVarWordOperationCompleted, userState) + End Sub + + Private Sub OnReadNamedVarWordOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadNamedVarWordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadNamedVarWordCompleted(Me, New ReadNamedVarWordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadNamedVarLong(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByRef Value() As Long, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadNamedVarLong", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}) + Value = CType(results(1),Long()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadNamedVarLongAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short) + Me.ReadNamedVarLongAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Nothing) + End Sub + + ''' + Public Overloads Sub ReadNamedVarLongAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal userState As Object) + If (Me.ReadNamedVarLongOperationCompleted Is Nothing) Then + Me.ReadNamedVarLongOperationCompleted = AddressOf Me.OnReadNamedVarLongOperationCompleted + End If + Me.InvokeAsync("ReadNamedVarLong", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}, Me.ReadNamedVarLongOperationCompleted, userState) + End Sub + + Private Sub OnReadNamedVarLongOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadNamedVarLongCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadNamedVarLongCompleted(Me, New ReadNamedVarLongCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadNamedVarDword(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByRef Value() As ULong, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadNamedVarDword", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}) + Value = CType(results(1),ULong()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadNamedVarDwordAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short) + Me.ReadNamedVarDwordAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Nothing) + End Sub + + ''' + Public Overloads Sub ReadNamedVarDwordAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal userState As Object) + If (Me.ReadNamedVarDwordOperationCompleted Is Nothing) Then + Me.ReadNamedVarDwordOperationCompleted = AddressOf Me.OnReadNamedVarDwordOperationCompleted + End If + Me.InvokeAsync("ReadNamedVarDword", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}, Me.ReadNamedVarDwordOperationCompleted, userState) + End Sub + + Private Sub OnReadNamedVarDwordOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadNamedVarDwordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadNamedVarDwordCompleted(Me, New ReadNamedVarDwordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadNamedVarDouble(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByRef Value() As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadNamedVarDouble", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}) + Value = CType(results(1),Double()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadNamedVarDoubleAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short) + Me.ReadNamedVarDoubleAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Nothing) + End Sub + + ''' + Public Overloads Sub ReadNamedVarDoubleAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal userState As Object) + If (Me.ReadNamedVarDoubleOperationCompleted Is Nothing) Then + Me.ReadNamedVarDoubleOperationCompleted = AddressOf Me.OnReadNamedVarDoubleOperationCompleted + End If + Me.InvokeAsync("ReadNamedVarDouble", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3}, Me.ReadNamedVarDoubleOperationCompleted, userState) + End Sub + + Private Sub OnReadNamedVarDoubleOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadNamedVarDoubleCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadNamedVarDoubleCompleted(Me, New ReadNamedVarDoubleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadNamedVarString(ByVal Process As UShort, ByVal pVarName As String, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Length As UShort, ByRef Value As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadNamedVarString", New Object() {Process, pVarName, Index1, Index2, Index3, Length}) + Value = CType(results(1),String) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadNamedVarStringAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Length As UShort) + Me.ReadNamedVarStringAsync(Process, pVarName, Index1, Index2, Index3, Length, Nothing) + End Sub + + ''' + Public Overloads Sub ReadNamedVarStringAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Length As UShort, ByVal userState As Object) + If (Me.ReadNamedVarStringOperationCompleted Is Nothing) Then + Me.ReadNamedVarStringOperationCompleted = AddressOf Me.OnReadNamedVarStringOperationCompleted + End If + Me.InvokeAsync("ReadNamedVarString", New Object() {Process, pVarName, Index1, Index2, Index3, Length}, Me.ReadNamedVarStringOperationCompleted, userState) + End Sub + + Private Sub OnReadNamedVarStringOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadNamedVarStringCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadNamedVarStringCompleted(Me, New ReadNamedVarStringCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteNamedVarBool(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Integer, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteNamedVarBool", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteNamedVarBoolAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Integer) + Me.WriteNamedVarBoolAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteNamedVarBoolAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Integer, ByVal userState As Object) + If (Me.WriteNamedVarBoolOperationCompleted Is Nothing) Then + Me.WriteNamedVarBoolOperationCompleted = AddressOf Me.OnWriteNamedVarBoolOperationCompleted + End If + Me.InvokeAsync("WriteNamedVarBool", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}, Me.WriteNamedVarBoolOperationCompleted, userState) + End Sub + + Private Sub OnWriteNamedVarBoolOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteNamedVarBoolCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteNamedVarBoolCompleted(Me, New WriteNamedVarBoolCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteNamedVarByte(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteNamedVarByte", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteNamedVarByteAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Byte) + Me.WriteNamedVarByteAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteNamedVarByteAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Byte, ByVal userState As Object) + If (Me.WriteNamedVarByteOperationCompleted Is Nothing) Then + Me.WriteNamedVarByteOperationCompleted = AddressOf Me.OnWriteNamedVarByteOperationCompleted + End If + Me.InvokeAsync("WriteNamedVarByte", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}, Me.WriteNamedVarByteOperationCompleted, userState) + End Sub + + Private Sub OnWriteNamedVarByteOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteNamedVarByteCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteNamedVarByteCompleted(Me, New WriteNamedVarByteCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteNamedVarShort(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteNamedVarShort", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteNamedVarShortAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Short) + Me.WriteNamedVarShortAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteNamedVarShortAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Short, ByVal userState As Object) + If (Me.WriteNamedVarShortOperationCompleted Is Nothing) Then + Me.WriteNamedVarShortOperationCompleted = AddressOf Me.OnWriteNamedVarShortOperationCompleted + End If + Me.InvokeAsync("WriteNamedVarShort", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}, Me.WriteNamedVarShortOperationCompleted, userState) + End Sub + + Private Sub OnWriteNamedVarShortOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteNamedVarShortCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteNamedVarShortCompleted(Me, New WriteNamedVarShortCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteNamedVarWord(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteNamedVarWord", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteNamedVarWordAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As UShort) + Me.WriteNamedVarWordAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteNamedVarWordAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As UShort, ByVal userState As Object) + If (Me.WriteNamedVarWordOperationCompleted Is Nothing) Then + Me.WriteNamedVarWordOperationCompleted = AddressOf Me.OnWriteNamedVarWordOperationCompleted + End If + Me.InvokeAsync("WriteNamedVarWord", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}, Me.WriteNamedVarWordOperationCompleted, userState) + End Sub + + Private Sub OnWriteNamedVarWordOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteNamedVarWordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteNamedVarWordCompleted(Me, New WriteNamedVarWordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteNamedVarLong(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Long, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteNamedVarLong", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteNamedVarLongAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Long) + Me.WriteNamedVarLongAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteNamedVarLongAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Long, ByVal userState As Object) + If (Me.WriteNamedVarLongOperationCompleted Is Nothing) Then + Me.WriteNamedVarLongOperationCompleted = AddressOf Me.OnWriteNamedVarLongOperationCompleted + End If + Me.InvokeAsync("WriteNamedVarLong", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}, Me.WriteNamedVarLongOperationCompleted, userState) + End Sub + + Private Sub OnWriteNamedVarLongOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteNamedVarLongCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteNamedVarLongCompleted(Me, New WriteNamedVarLongCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteNamedVarDword(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As ULong, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteNamedVarDword", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteNamedVarDwordAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As ULong) + Me.WriteNamedVarDwordAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteNamedVarDwordAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As ULong, ByVal userState As Object) + If (Me.WriteNamedVarDwordOperationCompleted Is Nothing) Then + Me.WriteNamedVarDwordOperationCompleted = AddressOf Me.OnWriteNamedVarDwordOperationCompleted + End If + Me.InvokeAsync("WriteNamedVarDword", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}, Me.WriteNamedVarDwordOperationCompleted, userState) + End Sub + + Private Sub OnWriteNamedVarDwordOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteNamedVarDwordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteNamedVarDwordCompleted(Me, New WriteNamedVarDwordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteNamedVarDouble(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteNamedVarDouble", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteNamedVarDoubleAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Double) + Me.WriteNamedVarDoubleAsync(Process, pVarName, NumVar, Index1, Index2, Index3, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteNamedVarDoubleAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal NumVar As UShort, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Value() As Double, ByVal userState As Object) + If (Me.WriteNamedVarDoubleOperationCompleted Is Nothing) Then + Me.WriteNamedVarDoubleOperationCompleted = AddressOf Me.OnWriteNamedVarDoubleOperationCompleted + End If + Me.InvokeAsync("WriteNamedVarDouble", New Object() {Process, pVarName, NumVar, Index1, Index2, Index3, Value}, Me.WriteNamedVarDoubleOperationCompleted, userState) + End Sub + + Private Sub OnWriteNamedVarDoubleOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteNamedVarDoubleCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteNamedVarDoubleCompleted(Me, New WriteNamedVarDoubleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteNamedVarString(ByVal Process As UShort, ByVal pVarName As String, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Length As UShort, ByVal Value As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteNamedVarString", New Object() {Process, pVarName, Index1, Index2, Index3, Length, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteNamedVarStringAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Length As UShort, ByVal Value As String) + Me.WriteNamedVarStringAsync(Process, pVarName, Index1, Index2, Index3, Length, Value, Nothing) + End Sub + + ''' + Public Overloads Sub WriteNamedVarStringAsync(ByVal Process As UShort, ByVal pVarName As String, ByVal Index1 As UShort, ByVal Index2 As Short, ByVal Index3 As Short, ByVal Length As UShort, ByVal Value As String, ByVal userState As Object) + If (Me.WriteNamedVarStringOperationCompleted Is Nothing) Then + Me.WriteNamedVarStringOperationCompleted = AddressOf Me.OnWriteNamedVarStringOperationCompleted + End If + Me.InvokeAsync("WriteNamedVarString", New Object() {Process, pVarName, Index1, Index2, Index3, Length, Value}, Me.WriteNamedVarStringOperationCompleted, userState) + End Sub + + Private Sub OnWriteNamedVarStringOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteNamedVarStringCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteNamedVarStringCompleted(Me, New WriteNamedVarStringCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadWarningMsg( ByRef WarningMsg As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadWarningMsg", New Object(-1) {}) + WarningMsg = CType(results(1),String) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadWarningMsgAsync() + Me.ReadWarningMsgAsync(Nothing) + End Sub + + ''' + Public Overloads Sub ReadWarningMsgAsync(ByVal userState As Object) + If (Me.ReadWarningMsgOperationCompleted Is Nothing) Then + Me.ReadWarningMsgOperationCompleted = AddressOf Me.OnReadWarningMsgOperationCompleted + End If + Me.InvokeAsync("ReadWarningMsg", New Object(-1) {}, Me.ReadWarningMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadWarningMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadWarningMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadWarningMsgCompleted(Me, New ReadWarningMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ResetSingleTableII(ByVal TableNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ResetSingleTableII", New Object() {TableNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ResetSingleTableIIAsync(ByVal TableNum As UShort) + Me.ResetSingleTableIIAsync(TableNum, Nothing) + End Sub + + ''' + Public Overloads Sub ResetSingleTableIIAsync(ByVal TableNum As UShort, ByVal userState As Object) + If (Me.ResetSingleTableIIOperationCompleted Is Nothing) Then + Me.ResetSingleTableIIOperationCompleted = AddressOf Me.OnResetSingleTableIIOperationCompleted + End If + Me.InvokeAsync("ResetSingleTableII", New Object() {TableNum}, Me.ResetSingleTableIIOperationCompleted, userState) + End Sub + + Private Sub OnResetSingleTableIIOperationCompleted(ByVal arg As Object) + If (Not (Me.ResetSingleTableIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ResetSingleTableIICompleted(Me, New ResetSingleTableIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LockTableII(ByVal TableNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LockTableII", New Object() {TableNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LockTableIIAsync(ByVal TableNum As UShort) + Me.LockTableIIAsync(TableNum, Nothing) + End Sub + + ''' + Public Overloads Sub LockTableIIAsync(ByVal TableNum As UShort, ByVal userState As Object) + If (Me.LockTableIIOperationCompleted Is Nothing) Then + Me.LockTableIIOperationCompleted = AddressOf Me.OnLockTableIIOperationCompleted + End If + Me.InvokeAsync("LockTableII", New Object() {TableNum}, Me.LockTableIIOperationCompleted, userState) + End Sub + + Private Sub OnLockTableIIOperationCompleted(ByVal arg As Object) + If (Not (Me.LockTableIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LockTableIICompleted(Me, New LockTableIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function UnLockTableII(ByVal TableNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("UnLockTableII", New Object() {TableNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub UnLockTableIIAsync(ByVal TableNum As UShort) + Me.UnLockTableIIAsync(TableNum, Nothing) + End Sub + + ''' + Public Overloads Sub UnLockTableIIAsync(ByVal TableNum As UShort, ByVal userState As Object) + If (Me.UnLockTableIIOperationCompleted Is Nothing) Then + Me.UnLockTableIIOperationCompleted = AddressOf Me.OnUnLockTableIIOperationCompleted + End If + Me.InvokeAsync("UnLockTableII", New Object() {TableNum}, Me.UnLockTableIIOperationCompleted, userState) + End Sub + + Private Sub OnUnLockTableIIOperationCompleted(ByVal arg As Object) + If (Not (Me.UnLockTableIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent UnLockTableIICompleted(Me, New UnLockTableIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetOriginTabRecordII(ByVal RecordNum As UInteger, ByRef RecordBuff As ORIGINTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetOriginTabRecordII", New Object() {RecordNum}) + RecordBuff = CType(results(1),ORIGINTABLEII) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetOriginTabRecordIIAsync(ByVal RecordNum As UInteger) + Me.GetOriginTabRecordIIAsync(RecordNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetOriginTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal userState As Object) + If (Me.GetOriginTabRecordIIOperationCompleted Is Nothing) Then + Me.GetOriginTabRecordIIOperationCompleted = AddressOf Me.OnGetOriginTabRecordIIOperationCompleted + End If + Me.InvokeAsync("GetOriginTabRecordII", New Object() {RecordNum}, Me.GetOriginTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnGetOriginTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.GetOriginTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetOriginTabRecordIICompleted(Me, New GetOriginTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetOriginTabRecordII(ByVal RecordNum As UInteger, ByVal RecordBuff As ORIGINTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetOriginTabRecordII", New Object() {RecordNum, RecordBuff}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetOriginTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As ORIGINTABLEII) + Me.SetOriginTabRecordIIAsync(RecordNum, RecordBuff, Nothing) + End Sub + + ''' + Public Overloads Sub SetOriginTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As ORIGINTABLEII, ByVal userState As Object) + If (Me.SetOriginTabRecordIIOperationCompleted Is Nothing) Then + Me.SetOriginTabRecordIIOperationCompleted = AddressOf Me.OnSetOriginTabRecordIIOperationCompleted + End If + Me.InvokeAsync("SetOriginTabRecordII", New Object() {RecordNum, RecordBuff}, Me.SetOriginTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnSetOriginTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.SetOriginTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetOriginTabRecordIICompleted(Me, New SetOriginTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetToolTabRecordII(ByVal RecordNum As UInteger, ByRef RecordBuff As TOOLTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetToolTabRecordII", New Object() {RecordNum}) + RecordBuff = CType(results(1),TOOLTABLEII) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetToolTabRecordIIAsync(ByVal RecordNum As UInteger) + Me.GetToolTabRecordIIAsync(RecordNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetToolTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal userState As Object) + If (Me.GetToolTabRecordIIOperationCompleted Is Nothing) Then + Me.GetToolTabRecordIIOperationCompleted = AddressOf Me.OnGetToolTabRecordIIOperationCompleted + End If + Me.InvokeAsync("GetToolTabRecordII", New Object() {RecordNum}, Me.GetToolTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnGetToolTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.GetToolTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetToolTabRecordIICompleted(Me, New GetToolTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetToolTabRecordII(ByVal RecordNum As UInteger, ByVal RecordBuff As TOOLTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetToolTabRecordII", New Object() {RecordNum, RecordBuff}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetToolTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As TOOLTABLEII) + Me.SetToolTabRecordIIAsync(RecordNum, RecordBuff, Nothing) + End Sub + + ''' + Public Overloads Sub SetToolTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As TOOLTABLEII, ByVal userState As Object) + If (Me.SetToolTabRecordIIOperationCompleted Is Nothing) Then + Me.SetToolTabRecordIIOperationCompleted = AddressOf Me.OnSetToolTabRecordIIOperationCompleted + End If + Me.InvokeAsync("SetToolTabRecordII", New Object() {RecordNum, RecordBuff}, Me.SetToolTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnSetToolTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.SetToolTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetToolTabRecordIICompleted(Me, New SetToolTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetOffsetTabRecordII(ByVal RecordNum As UInteger, ByRef RecordBuff As OFFSETTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetOffsetTabRecordII", New Object() {RecordNum}) + RecordBuff = CType(results(1),OFFSETTABLEII) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetOffsetTabRecordIIAsync(ByVal RecordNum As UInteger) + Me.GetOffsetTabRecordIIAsync(RecordNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetOffsetTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal userState As Object) + If (Me.GetOffsetTabRecordIIOperationCompleted Is Nothing) Then + Me.GetOffsetTabRecordIIOperationCompleted = AddressOf Me.OnGetOffsetTabRecordIIOperationCompleted + End If + Me.InvokeAsync("GetOffsetTabRecordII", New Object() {RecordNum}, Me.GetOffsetTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnGetOffsetTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.GetOffsetTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetOffsetTabRecordIICompleted(Me, New GetOffsetTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetOffsetTabRecordII(ByVal RecordNum As UInteger, ByVal RecordBuff As OFFSETTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetOffsetTabRecordII", New Object() {RecordNum, RecordBuff}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetOffsetTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As OFFSETTABLEII) + Me.SetOffsetTabRecordIIAsync(RecordNum, RecordBuff, Nothing) + End Sub + + ''' + Public Overloads Sub SetOffsetTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As OFFSETTABLEII, ByVal userState As Object) + If (Me.SetOffsetTabRecordIIOperationCompleted Is Nothing) Then + Me.SetOffsetTabRecordIIOperationCompleted = AddressOf Me.OnSetOffsetTabRecordIIOperationCompleted + End If + Me.InvokeAsync("SetOffsetTabRecordII", New Object() {RecordNum, RecordBuff}, Me.SetOffsetTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnSetOffsetTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.SetOffsetTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetOffsetTabRecordIICompleted(Me, New SetOffsetTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetUserTabRecordII(ByVal RecordNum As UInteger, ByRef RecordBuff As USERTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetUserTabRecordII", New Object() {RecordNum}) + RecordBuff = CType(results(1),USERTABLEII) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetUserTabRecordIIAsync(ByVal RecordNum As UInteger) + Me.GetUserTabRecordIIAsync(RecordNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetUserTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal userState As Object) + If (Me.GetUserTabRecordIIOperationCompleted Is Nothing) Then + Me.GetUserTabRecordIIOperationCompleted = AddressOf Me.OnGetUserTabRecordIIOperationCompleted + End If + Me.InvokeAsync("GetUserTabRecordII", New Object() {RecordNum}, Me.GetUserTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnGetUserTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.GetUserTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetUserTabRecordIICompleted(Me, New GetUserTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetUserTabRecordII(ByVal RecordNum As UInteger, ByVal RecordBuff As USERTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetUserTabRecordII", New Object() {RecordNum, RecordBuff}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetUserTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As USERTABLEII) + Me.SetUserTabRecordIIAsync(RecordNum, RecordBuff, Nothing) + End Sub + + ''' + Public Overloads Sub SetUserTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As USERTABLEII, ByVal userState As Object) + If (Me.SetUserTabRecordIIOperationCompleted Is Nothing) Then + Me.SetUserTabRecordIIOperationCompleted = AddressOf Me.OnSetUserTabRecordIIOperationCompleted + End If + Me.InvokeAsync("SetUserTabRecordII", New Object() {RecordNum, RecordBuff}, Me.SetUserTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnSetUserTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.SetUserTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetUserTabRecordIICompleted(Me, New SetUserTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetMagazineTabRecordII(ByVal RecordNum As UInteger, ByRef RecordBuff As MAGAZINETABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetMagazineTabRecordII", New Object() {RecordNum}) + RecordBuff = CType(results(1),MAGAZINETABLEII) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetMagazineTabRecordIIAsync(ByVal RecordNum As UInteger) + Me.GetMagazineTabRecordIIAsync(RecordNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetMagazineTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal userState As Object) + If (Me.GetMagazineTabRecordIIOperationCompleted Is Nothing) Then + Me.GetMagazineTabRecordIIOperationCompleted = AddressOf Me.OnGetMagazineTabRecordIIOperationCompleted + End If + Me.InvokeAsync("GetMagazineTabRecordII", New Object() {RecordNum}, Me.GetMagazineTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnGetMagazineTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.GetMagazineTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetMagazineTabRecordIICompleted(Me, New GetMagazineTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetMagazineTabRecordII(ByVal RecordNum As UInteger, ByVal RecordBuff As MAGAZINETABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetMagazineTabRecordII", New Object() {RecordNum, RecordBuff}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetMagazineTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As MAGAZINETABLEII) + Me.SetMagazineTabRecordIIAsync(RecordNum, RecordBuff, Nothing) + End Sub + + ''' + Public Overloads Sub SetMagazineTabRecordIIAsync(ByVal RecordNum As UInteger, ByVal RecordBuff As MAGAZINETABLEII, ByVal userState As Object) + If (Me.SetMagazineTabRecordIIOperationCompleted Is Nothing) Then + Me.SetMagazineTabRecordIIOperationCompleted = AddressOf Me.OnSetMagazineTabRecordIIOperationCompleted + End If + Me.InvokeAsync("SetMagazineTabRecordII", New Object() {RecordNum, RecordBuff}, Me.SetMagazineTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnSetMagazineTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.SetMagazineTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetMagazineTabRecordIICompleted(Me, New SetMagazineTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetPocketTabRecordII(ByVal MagazineNum As UShort, ByVal RecordNum As UInteger, ByRef RecordBuff As POCKETTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetPocketTabRecordII", New Object() {MagazineNum, RecordNum}) + RecordBuff = CType(results(1),POCKETTABLEII) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetPocketTabRecordIIAsync(ByVal MagazineNum As UShort, ByVal RecordNum As UInteger) + Me.GetPocketTabRecordIIAsync(MagazineNum, RecordNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetPocketTabRecordIIAsync(ByVal MagazineNum As UShort, ByVal RecordNum As UInteger, ByVal userState As Object) + If (Me.GetPocketTabRecordIIOperationCompleted Is Nothing) Then + Me.GetPocketTabRecordIIOperationCompleted = AddressOf Me.OnGetPocketTabRecordIIOperationCompleted + End If + Me.InvokeAsync("GetPocketTabRecordII", New Object() {MagazineNum, RecordNum}, Me.GetPocketTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnGetPocketTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.GetPocketTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetPocketTabRecordIICompleted(Me, New GetPocketTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetPocketTabRecordII(ByVal MagazineNum As UShort, ByVal RecordNum As UInteger, ByVal RecordBuff As POCKETTABLEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetPocketTabRecordII", New Object() {MagazineNum, RecordNum, RecordBuff}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetPocketTabRecordIIAsync(ByVal MagazineNum As UShort, ByVal RecordNum As UInteger, ByVal RecordBuff As POCKETTABLEII) + Me.SetPocketTabRecordIIAsync(MagazineNum, RecordNum, RecordBuff, Nothing) + End Sub + + ''' + Public Overloads Sub SetPocketTabRecordIIAsync(ByVal MagazineNum As UShort, ByVal RecordNum As UInteger, ByVal RecordBuff As POCKETTABLEII, ByVal userState As Object) + If (Me.SetPocketTabRecordIIOperationCompleted Is Nothing) Then + Me.SetPocketTabRecordIIOperationCompleted = AddressOf Me.OnSetPocketTabRecordIIOperationCompleted + End If + Me.InvokeAsync("SetPocketTabRecordII", New Object() {MagazineNum, RecordNum, RecordBuff}, Me.SetPocketTabRecordIIOperationCompleted, userState) + End Sub + + Private Sub OnSetPocketTabRecordIIOperationCompleted(ByVal arg As Object) + If (Not (Me.SetPocketTabRecordIICompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetPocketTabRecordIICompleted(Me, New SetPocketTabRecordIICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SaveTables( ByVal LocalDir As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SaveTables", New Object() {LocalDir}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SaveTablesAsync(ByVal LocalDir As String) + Me.SaveTablesAsync(LocalDir, Nothing) + End Sub + + ''' + Public Overloads Sub SaveTablesAsync(ByVal LocalDir As String, ByVal userState As Object) + If (Me.SaveTablesOperationCompleted Is Nothing) Then + Me.SaveTablesOperationCompleted = AddressOf Me.OnSaveTablesOperationCompleted + End If + Me.InvokeAsync("SaveTables", New Object() {LocalDir}, Me.SaveTablesOperationCompleted, userState) + End Sub + + Private Sub OnSaveTablesOperationCompleted(ByVal arg As Object) + If (Not (Me.SaveTablesCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SaveTablesCompleted(Me, New SaveTablesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function RestoreSingleTable( ByVal LocalDir As String, ByVal TableType As TABLETYPEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("RestoreSingleTable", New Object() {LocalDir, TableType}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub RestoreSingleTableAsync(ByVal LocalDir As String, ByVal TableType As TABLETYPEII) + Me.RestoreSingleTableAsync(LocalDir, TableType, Nothing) + End Sub + + ''' + Public Overloads Sub RestoreSingleTableAsync(ByVal LocalDir As String, ByVal TableType As TABLETYPEII, ByVal userState As Object) + If (Me.RestoreSingleTableOperationCompleted Is Nothing) Then + Me.RestoreSingleTableOperationCompleted = AddressOf Me.OnRestoreSingleTableOperationCompleted + End If + Me.InvokeAsync("RestoreSingleTable", New Object() {LocalDir, TableType}, Me.RestoreSingleTableOperationCompleted, userState) + End Sub + + Private Sub OnRestoreSingleTableOperationCompleted(ByVal arg As Object) + If (Not (Me.RestoreSingleTableCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent RestoreSingleTableCompleted(Me, New RestoreSingleTableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SaveSingleTable( ByVal LocalDir As String, ByVal TableType As TABLETYPEII, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SaveSingleTable", New Object() {LocalDir, TableType}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SaveSingleTableAsync(ByVal LocalDir As String, ByVal TableType As TABLETYPEII) + Me.SaveSingleTableAsync(LocalDir, TableType, Nothing) + End Sub + + ''' + Public Overloads Sub SaveSingleTableAsync(ByVal LocalDir As String, ByVal TableType As TABLETYPEII, ByVal userState As Object) + If (Me.SaveSingleTableOperationCompleted Is Nothing) Then + Me.SaveSingleTableOperationCompleted = AddressOf Me.OnSaveSingleTableOperationCompleted + End If + Me.InvokeAsync("SaveSingleTable", New Object() {LocalDir, TableType}, Me.SaveSingleTableOperationCompleted, userState) + End Sub + + Private Sub OnSaveSingleTableOperationCompleted(ByVal arg As Object) + If (Not (Me.SaveSingleTableCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SaveSingleTableCompleted(Me, New SaveSingleTableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SaveBackupMemory( ByVal FileName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SaveBackupMemory", New Object() {FileName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SaveBackupMemoryAsync(ByVal FileName As String) + Me.SaveBackupMemoryAsync(FileName, Nothing) + End Sub + + ''' + Public Overloads Sub SaveBackupMemoryAsync(ByVal FileName As String, ByVal userState As Object) + If (Me.SaveBackupMemoryOperationCompleted Is Nothing) Then + Me.SaveBackupMemoryOperationCompleted = AddressOf Me.OnSaveBackupMemoryOperationCompleted + End If + Me.InvokeAsync("SaveBackupMemory", New Object() {FileName}, Me.SaveBackupMemoryOperationCompleted, userState) + End Sub + + Private Sub OnSaveBackupMemoryOperationCompleted(ByVal arg As Object) + If (Not (Me.SaveBackupMemoryCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SaveBackupMemoryCompleted(Me, New SaveBackupMemoryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function RestoreBackupMemory( ByVal FileName As String, ByVal RestoreMask As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("RestoreBackupMemory", New Object() {FileName, RestoreMask}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub RestoreBackupMemoryAsync(ByVal FileName As String, ByVal RestoreMask As UInteger) + Me.RestoreBackupMemoryAsync(FileName, RestoreMask, Nothing) + End Sub + + ''' + Public Overloads Sub RestoreBackupMemoryAsync(ByVal FileName As String, ByVal RestoreMask As UInteger, ByVal userState As Object) + If (Me.RestoreBackupMemoryOperationCompleted Is Nothing) Then + Me.RestoreBackupMemoryOperationCompleted = AddressOf Me.OnRestoreBackupMemoryOperationCompleted + End If + Me.InvokeAsync("RestoreBackupMemory", New Object() {FileName, RestoreMask}, Me.RestoreBackupMemoryOperationCompleted, userState) + End Sub + + Private Sub OnRestoreBackupMemoryOperationCompleted(ByVal arg As Object) + If (Not (Me.RestoreBackupMemoryCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent RestoreBackupMemoryCompleted(Me, New RestoreBackupMemoryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ToolSearch( ByVal ToolCode As String, ByVal Magazine As Short, ByRef ToolIndex As Short, ByRef Pocket As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ToolSearch", New Object() {ToolCode, Magazine}) + ToolIndex = CType(results(1),Short) + Pocket = CType(results(2),Short) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ToolSearchAsync(ByVal ToolCode As String, ByVal Magazine As Short) + Me.ToolSearchAsync(ToolCode, Magazine, Nothing) + End Sub + + ''' + Public Overloads Sub ToolSearchAsync(ByVal ToolCode As String, ByVal Magazine As Short, ByVal userState As Object) + If (Me.ToolSearchOperationCompleted Is Nothing) Then + Me.ToolSearchOperationCompleted = AddressOf Me.OnToolSearchOperationCompleted + End If + Me.InvokeAsync("ToolSearch", New Object() {ToolCode, Magazine}, Me.ToolSearchOperationCompleted, userState) + End Sub + + Private Sub OnToolSearchOperationCompleted(ByVal arg As Object) + If (Not (Me.ToolSearchCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ToolSearchCompleted(Me, New ToolSearchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ToolSearchLife( ByVal ToolCode As String, ByVal Magazine As Short, ByVal LifeVal As Double, ByRef ToolIndex As Short, ByRef Pocket As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ToolSearchLife", New Object() {ToolCode, Magazine, LifeVal}) + ToolIndex = CType(results(1),Short) + Pocket = CType(results(2),Short) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ToolSearchLifeAsync(ByVal ToolCode As String, ByVal Magazine As Short, ByVal LifeVal As Double) + Me.ToolSearchLifeAsync(ToolCode, Magazine, LifeVal, Nothing) + End Sub + + ''' + Public Overloads Sub ToolSearchLifeAsync(ByVal ToolCode As String, ByVal Magazine As Short, ByVal LifeVal As Double, ByVal userState As Object) + If (Me.ToolSearchLifeOperationCompleted Is Nothing) Then + Me.ToolSearchLifeOperationCompleted = AddressOf Me.OnToolSearchLifeOperationCompleted + End If + Me.InvokeAsync("ToolSearchLife", New Object() {ToolCode, Magazine, LifeVal}, Me.ToolSearchLifeOperationCompleted, userState) + End Sub + + Private Sub OnToolSearchLifeOperationCompleted(ByVal arg As Object) + If (Not (Me.ToolSearchLifeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ToolSearchLifeCompleted(Me, New ToolSearchLifeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ToolSearchDir( ByVal ToolCode As String, ByVal Magazine As Short, ByVal StartPocket As Short, ByVal Direction As Short, ByRef ToolIndex As Short, ByRef Pocket As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ToolSearchDir", New Object() {ToolCode, Magazine, StartPocket, Direction}) + ToolIndex = CType(results(1),Short) + Pocket = CType(results(2),Short) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ToolSearchDirAsync(ByVal ToolCode As String, ByVal Magazine As Short, ByVal StartPocket As Short, ByVal Direction As Short) + Me.ToolSearchDirAsync(ToolCode, Magazine, StartPocket, Direction, Nothing) + End Sub + + ''' + Public Overloads Sub ToolSearchDirAsync(ByVal ToolCode As String, ByVal Magazine As Short, ByVal StartPocket As Short, ByVal Direction As Short, ByVal userState As Object) + If (Me.ToolSearchDirOperationCompleted Is Nothing) Then + Me.ToolSearchDirOperationCompleted = AddressOf Me.OnToolSearchDirOperationCompleted + End If + Me.InvokeAsync("ToolSearchDir", New Object() {ToolCode, Magazine, StartPocket, Direction}, Me.ToolSearchDirOperationCompleted, userState) + End Sub + + Private Sub OnToolSearchDirOperationCompleted(ByVal arg As Object) + If (Not (Me.ToolSearchDirCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ToolSearchDirCompleted(Me, New ToolSearchDirCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ToolSearchLifeDir( ByVal ToolCode As String, ByVal Magazine As Short, ByVal LifeVal As Double, ByVal StartPocket As Short, ByRef ToolIndex As Short, ByRef Pocket As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ToolSearchLifeDir", New Object() {ToolCode, Magazine, LifeVal, StartPocket}) + ToolIndex = CType(results(1),Short) + Pocket = CType(results(2),Short) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ToolSearchLifeDirAsync(ByVal ToolCode As String, ByVal Magazine As Short, ByVal LifeVal As Double, ByVal StartPocket As Short) + Me.ToolSearchLifeDirAsync(ToolCode, Magazine, LifeVal, StartPocket, Nothing) + End Sub + + ''' + Public Overloads Sub ToolSearchLifeDirAsync(ByVal ToolCode As String, ByVal Magazine As Short, ByVal LifeVal As Double, ByVal StartPocket As Short, ByVal userState As Object) + If (Me.ToolSearchLifeDirOperationCompleted Is Nothing) Then + Me.ToolSearchLifeDirOperationCompleted = AddressOf Me.OnToolSearchLifeDirOperationCompleted + End If + Me.InvokeAsync("ToolSearchLifeDir", New Object() {ToolCode, Magazine, LifeVal, StartPocket}, Me.ToolSearchLifeDirOperationCompleted, userState) + End Sub + + Private Sub OnToolSearchLifeDirOperationCompleted(ByVal arg As Object) + If (Not (Me.ToolSearchLifeDirCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ToolSearchLifeDirCompleted(Me, New ToolSearchLifeDirCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ToolSameFamily( ByVal ToolCode As String, ByVal Magazine As Short, ByRef ToolInMaga As Short, ByRef ToolsOutMaga As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ToolSameFamily", New Object() {ToolCode, Magazine}) + ToolInMaga = CType(results(1),Short) + ToolsOutMaga = CType(results(2),Short) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ToolSameFamilyAsync(ByVal ToolCode As String, ByVal Magazine As Short) + Me.ToolSameFamilyAsync(ToolCode, Magazine, Nothing) + End Sub + + ''' + Public Overloads Sub ToolSameFamilyAsync(ByVal ToolCode As String, ByVal Magazine As Short, ByVal userState As Object) + If (Me.ToolSameFamilyOperationCompleted Is Nothing) Then + Me.ToolSameFamilyOperationCompleted = AddressOf Me.OnToolSameFamilyOperationCompleted + End If + Me.InvokeAsync("ToolSameFamily", New Object() {ToolCode, Magazine}, Me.ToolSameFamilyOperationCompleted, userState) + End Sub + + Private Sub OnToolSameFamilyOperationCompleted(ByVal arg As Object) + If (Not (Me.ToolSameFamilyCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ToolSameFamilyCompleted(Me, New ToolSameFamilyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ToolLoad(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal Pocket As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ToolLoad", New Object() {ToolIndex, Magazine, Pocket}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ToolLoadAsync(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal Pocket As Short) + Me.ToolLoadAsync(ToolIndex, Magazine, Pocket, Nothing) + End Sub + + ''' + Public Overloads Sub ToolLoadAsync(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal Pocket As Short, ByVal userState As Object) + If (Me.ToolLoadOperationCompleted Is Nothing) Then + Me.ToolLoadOperationCompleted = AddressOf Me.OnToolLoadOperationCompleted + End If + Me.InvokeAsync("ToolLoad", New Object() {ToolIndex, Magazine, Pocket}, Me.ToolLoadOperationCompleted, userState) + End Sub + + Private Sub OnToolLoadOperationCompleted(ByVal arg As Object) + If (Not (Me.ToolLoadCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ToolLoadCompleted(Me, New ToolLoadCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ToolUnload(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal Pocket As Short, ByVal Position As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ToolUnload", New Object() {ToolIndex, Magazine, Pocket, Position}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ToolUnloadAsync(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal Pocket As Short, ByVal Position As Short) + Me.ToolUnloadAsync(ToolIndex, Magazine, Pocket, Position, Nothing) + End Sub + + ''' + Public Overloads Sub ToolUnloadAsync(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal Pocket As Short, ByVal Position As Short, ByVal userState As Object) + If (Me.ToolUnloadOperationCompleted Is Nothing) Then + Me.ToolUnloadOperationCompleted = AddressOf Me.OnToolUnloadOperationCompleted + End If + Me.InvokeAsync("ToolUnload", New Object() {ToolIndex, Magazine, Pocket, Position}, Me.ToolUnloadOperationCompleted, userState) + End Sub + + Private Sub OnToolUnloadOperationCompleted(ByVal arg As Object) + If (Not (Me.ToolUnloadCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ToolUnloadCompleted(Me, New ToolUnloadCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function PocketSearch(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal StartPocket As Short, ByVal Direction As Short, ByRef Pocket As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("PocketSearch", New Object() {ToolIndex, Magazine, StartPocket, Direction}) + Pocket = CType(results(1),Short) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub PocketSearchAsync(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal StartPocket As Short, ByVal Direction As Short) + Me.PocketSearchAsync(ToolIndex, Magazine, StartPocket, Direction, Nothing) + End Sub + + ''' + Public Overloads Sub PocketSearchAsync(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal StartPocket As Short, ByVal Direction As Short, ByVal userState As Object) + If (Me.PocketSearchOperationCompleted Is Nothing) Then + Me.PocketSearchOperationCompleted = AddressOf Me.OnPocketSearchOperationCompleted + End If + Me.InvokeAsync("PocketSearch", New Object() {ToolIndex, Magazine, StartPocket, Direction}, Me.PocketSearchOperationCompleted, userState) + End Sub + + Private Sub OnPocketSearchOperationCompleted(ByVal arg As Object) + If (Not (Me.PocketSearchCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent PocketSearchCompleted(Me, New PocketSearchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function PocketClosest(ByVal Magazine As Short, ByVal ActualPocket As Short, ByVal Pocket1 As Short, ByVal Pocket2 As Short, ByRef Direction As Short, ByRef Pocket As Short, ByRef HorizontalDistance As Short, ByRef VerticalDistance As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("PocketClosest", New Object() {Magazine, ActualPocket, Pocket1, Pocket2}) + Direction = CType(results(1),Short) + Pocket = CType(results(2),Short) + HorizontalDistance = CType(results(3),Short) + VerticalDistance = CType(results(4),Short) + ErrClass = CType(results(5),UInteger) + ErrNum = CType(results(6),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub PocketClosestAsync(ByVal Magazine As Short, ByVal ActualPocket As Short, ByVal Pocket1 As Short, ByVal Pocket2 As Short) + Me.PocketClosestAsync(Magazine, ActualPocket, Pocket1, Pocket2, Nothing) + End Sub + + ''' + Public Overloads Sub PocketClosestAsync(ByVal Magazine As Short, ByVal ActualPocket As Short, ByVal Pocket1 As Short, ByVal Pocket2 As Short, ByVal userState As Object) + If (Me.PocketClosestOperationCompleted Is Nothing) Then + Me.PocketClosestOperationCompleted = AddressOf Me.OnPocketClosestOperationCompleted + End If + Me.InvokeAsync("PocketClosest", New Object() {Magazine, ActualPocket, Pocket1, Pocket2}, Me.PocketClosestOperationCompleted, userState) + End Sub + + Private Sub OnPocketClosestOperationCompleted(ByVal arg As Object) + If (Not (Me.PocketClosestCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent PocketClosestCompleted(Me, New PocketClosestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function PocketNearest(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal ActualPocket As Short, ByRef Pocket As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("PocketNearest", New Object() {ToolIndex, Magazine, ActualPocket}) + Pocket = CType(results(1),Short) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub PocketNearestAsync(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal ActualPocket As Short) + Me.PocketNearestAsync(ToolIndex, Magazine, ActualPocket, Nothing) + End Sub + + ''' + Public Overloads Sub PocketNearestAsync(ByVal ToolIndex As Short, ByVal Magazine As Short, ByVal ActualPocket As Short, ByVal userState As Object) + If (Me.PocketNearestOperationCompleted Is Nothing) Then + Me.PocketNearestOperationCompleted = AddressOf Me.OnPocketNearestOperationCompleted + End If + Me.InvokeAsync("PocketNearest", New Object() {ToolIndex, Magazine, ActualPocket}, Me.PocketNearestOperationCompleted, userState) + End Sub + + Private Sub OnPocketNearestOperationCompleted(ByVal arg As Object) + If (Not (Me.PocketNearestCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent PocketNearestCompleted(Me, New PocketNearestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ToolLife(ByVal ToolIndex As Short, ByVal Value As Double, ByRef RemLife As Double, ByRef ToolStatus As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ToolLife", New Object() {ToolIndex, Value}) + RemLife = CType(results(1),Double) + ToolStatus = CType(results(2),Short) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ToolLifeAsync(ByVal ToolIndex As Short, ByVal Value As Double) + Me.ToolLifeAsync(ToolIndex, Value, Nothing) + End Sub + + ''' + Public Overloads Sub ToolLifeAsync(ByVal ToolIndex As Short, ByVal Value As Double, ByVal userState As Object) + If (Me.ToolLifeOperationCompleted Is Nothing) Then + Me.ToolLifeOperationCompleted = AddressOf Me.OnToolLifeOperationCompleted + End If + Me.InvokeAsync("ToolLife", New Object() {ToolIndex, Value}, Me.ToolLifeOperationCompleted, userState) + End Sub + + Private Sub OnToolLifeOperationCompleted(ByVal arg As Object) + If (Not (Me.ToolLifeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ToolLifeCompleted(Me, New ToolLifeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LoadTableFromFile( ByVal FileName As String, ByVal AuxFileName As String, ByVal TableType As UShort, ByVal Param1 As UShort, ByVal Param2 As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LoadTableFromFile", New Object() {FileName, AuxFileName, TableType, Param1, Param2}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LoadTableFromFileAsync(ByVal FileName As String, ByVal AuxFileName As String, ByVal TableType As UShort, ByVal Param1 As UShort, ByVal Param2 As UShort) + Me.LoadTableFromFileAsync(FileName, AuxFileName, TableType, Param1, Param2, Nothing) + End Sub + + ''' + Public Overloads Sub LoadTableFromFileAsync(ByVal FileName As String, ByVal AuxFileName As String, ByVal TableType As UShort, ByVal Param1 As UShort, ByVal Param2 As UShort, ByVal userState As Object) + If (Me.LoadTableFromFileOperationCompleted Is Nothing) Then + Me.LoadTableFromFileOperationCompleted = AddressOf Me.OnLoadTableFromFileOperationCompleted + End If + Me.InvokeAsync("LoadTableFromFile", New Object() {FileName, AuxFileName, TableType, Param1, Param2}, Me.LoadTableFromFileOperationCompleted, userState) + End Sub + + Private Sub OnLoadTableFromFileOperationCompleted(ByVal arg As Object) + If (Not (Me.LoadTableFromFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LoadTableFromFileCompleted(Me, New LoadTableFromFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MagConfigurePockets(ByVal magNum As Short, ByVal fPocket As Short, ByVal lPocket As Short, ByVal pockType As Short, ByVal rndPock As Short, ByVal nearCfg As Short, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MagConfigurePockets", New Object() {magNum, fPocket, lPocket, pockType, rndPock, nearCfg}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MagConfigurePocketsAsync(ByVal magNum As Short, ByVal fPocket As Short, ByVal lPocket As Short, ByVal pockType As Short, ByVal rndPock As Short, ByVal nearCfg As Short) + Me.MagConfigurePocketsAsync(magNum, fPocket, lPocket, pockType, rndPock, nearCfg, Nothing) + End Sub + + ''' + Public Overloads Sub MagConfigurePocketsAsync(ByVal magNum As Short, ByVal fPocket As Short, ByVal lPocket As Short, ByVal pockType As Short, ByVal rndPock As Short, ByVal nearCfg As Short, ByVal userState As Object) + If (Me.MagConfigurePocketsOperationCompleted Is Nothing) Then + Me.MagConfigurePocketsOperationCompleted = AddressOf Me.OnMagConfigurePocketsOperationCompleted + End If + Me.InvokeAsync("MagConfigurePockets", New Object() {magNum, fPocket, lPocket, pockType, rndPock, nearCfg}, Me.MagConfigurePocketsOperationCompleted, userState) + End Sub + + Private Sub OnMagConfigurePocketsOperationCompleted(ByVal arg As Object) + If (Not (Me.MagConfigurePocketsCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MagConfigurePocketsCompleted(Me, New MagConfigurePocketsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function Cycle(ByVal ProcNum As UShort, ByVal Cmd As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("Cycle", New Object() {ProcNum, Cmd}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub CycleAsync(ByVal ProcNum As UShort, ByVal Cmd As UShort) + Me.CycleAsync(ProcNum, Cmd, Nothing) + End Sub + + ''' + Public Overloads Sub CycleAsync(ByVal ProcNum As UShort, ByVal Cmd As UShort, ByVal userState As Object) + If (Me.CycleOperationCompleted Is Nothing) Then + Me.CycleOperationCompleted = AddressOf Me.OnCycleOperationCompleted + End If + Me.InvokeAsync("Cycle", New Object() {ProcNum, Cmd}, Me.CycleOperationCompleted, userState) + End Sub + + Private Sub OnCycleOperationCompleted(ByVal arg As Object) + If (Not (Me.CycleCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent CycleCompleted(Me, New CycleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SyncroCycle(ByVal ProcNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SyncroCycle", New Object() {ProcNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SyncroCycleAsync(ByVal ProcNum As UShort) + Me.SyncroCycleAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub SyncroCycleAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.SyncroCycleOperationCompleted Is Nothing) Then + Me.SyncroCycleOperationCompleted = AddressOf Me.OnSyncroCycleOperationCompleted + End If + Me.InvokeAsync("SyncroCycle", New Object() {ProcNum}, Me.SyncroCycleOperationCompleted, userState) + End Sub + + Private Sub OnSyncroCycleOperationCompleted(ByVal arg As Object) + If (Not (Me.SyncroCycleCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SyncroCycleCompleted(Me, New SyncroCycleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function Reset(ByVal ProcNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("Reset", New Object() {ProcNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ResetAsync(ByVal ProcNum As UShort) + Me.ResetAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub ResetAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.ResetOperationCompleted Is Nothing) Then + Me.ResetOperationCompleted = AddressOf Me.OnResetOperationCompleted + End If + Me.InvokeAsync("Reset", New Object() {ProcNum}, Me.ResetOperationCompleted, userState) + End Sub + + Private Sub OnResetOperationCompleted(ByVal arg As Object) + If (Not (Me.ResetCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ResetCompleted(Me, New ResetCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function Hold(ByVal ProcNum As UShort, ByVal Cmd As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("Hold", New Object() {ProcNum, Cmd}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub HoldAsync(ByVal ProcNum As UShort, ByVal Cmd As UShort) + Me.HoldAsync(ProcNum, Cmd, Nothing) + End Sub + + ''' + Public Overloads Sub HoldAsync(ByVal ProcNum As UShort, ByVal Cmd As UShort, ByVal userState As Object) + If (Me.HoldOperationCompleted Is Nothing) Then + Me.HoldOperationCompleted = AddressOf Me.OnHoldOperationCompleted + End If + Me.InvokeAsync("Hold", New Object() {ProcNum, Cmd}, Me.HoldOperationCompleted, userState) + End Sub + + Private Sub OnHoldOperationCompleted(ByVal arg As Object) + If (Not (Me.HoldCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent HoldCompleted(Me, New HoldCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetFeedManOver(ByVal ProcNum As UShort, ByVal FeedManOver As UShort, ByVal Direction As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetFeedManOver", New Object() {ProcNum, FeedManOver, Direction}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetFeedManOverAsync(ByVal ProcNum As UShort, ByVal FeedManOver As UShort, ByVal Direction As UShort) + Me.SetFeedManOverAsync(ProcNum, FeedManOver, Direction, Nothing) + End Sub + + ''' + Public Overloads Sub SetFeedManOverAsync(ByVal ProcNum As UShort, ByVal FeedManOver As UShort, ByVal Direction As UShort, ByVal userState As Object) + If (Me.SetFeedManOverOperationCompleted Is Nothing) Then + Me.SetFeedManOverOperationCompleted = AddressOf Me.OnSetFeedManOverOperationCompleted + End If + Me.InvokeAsync("SetFeedManOver", New Object() {ProcNum, FeedManOver, Direction}, Me.SetFeedManOverOperationCompleted, userState) + End Sub + + Private Sub OnSetFeedManOverOperationCompleted(ByVal arg As Object) + If (Not (Me.SetFeedManOverCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetFeedManOverCompleted(Me, New SetFeedManOverCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetFeedRateOver(ByVal ProcNum As UShort, ByVal FeedRateOver As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetFeedRateOver", New Object() {ProcNum, FeedRateOver}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetFeedRateOverAsync(ByVal ProcNum As UShort, ByVal FeedRateOver As UShort) + Me.SetFeedRateOverAsync(ProcNum, FeedRateOver, Nothing) + End Sub + + ''' + Public Overloads Sub SetFeedRateOverAsync(ByVal ProcNum As UShort, ByVal FeedRateOver As UShort, ByVal userState As Object) + If (Me.SetFeedRateOverOperationCompleted Is Nothing) Then + Me.SetFeedRateOverOperationCompleted = AddressOf Me.OnSetFeedRateOverOperationCompleted + End If + Me.InvokeAsync("SetFeedRateOver", New Object() {ProcNum, FeedRateOver}, Me.SetFeedRateOverOperationCompleted, userState) + End Sub + + Private Sub OnSetFeedRateOverOperationCompleted(ByVal arg As Object) + If (Not (Me.SetFeedRateOverCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetFeedRateOverCompleted(Me, New SetFeedRateOverCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetFeedRapidOver(ByVal ProcNum As UShort, ByVal FeedRapidOver As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetFeedRapidOver", New Object() {ProcNum, FeedRapidOver}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetFeedRapidOverAsync(ByVal ProcNum As UShort, ByVal FeedRapidOver As UShort) + Me.SetFeedRapidOverAsync(ProcNum, FeedRapidOver, Nothing) + End Sub + + ''' + Public Overloads Sub SetFeedRapidOverAsync(ByVal ProcNum As UShort, ByVal FeedRapidOver As UShort, ByVal userState As Object) + If (Me.SetFeedRapidOverOperationCompleted Is Nothing) Then + Me.SetFeedRapidOverOperationCompleted = AddressOf Me.OnSetFeedRapidOverOperationCompleted + End If + Me.InvokeAsync("SetFeedRapidOver", New Object() {ProcNum, FeedRapidOver}, Me.SetFeedRapidOverOperationCompleted, userState) + End Sub + + Private Sub OnSetFeedRapidOverOperationCompleted(ByVal arg As Object) + If (Not (Me.SetFeedRapidOverCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetFeedRapidOverCompleted(Me, New SetFeedRapidOverCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetSpeedRateOver(ByVal ProcNum As UShort, ByVal SpeedRateOver As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetSpeedRateOver", New Object() {ProcNum, SpeedRateOver}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetSpeedRateOverAsync(ByVal ProcNum As UShort, ByVal SpeedRateOver As UShort) + Me.SetSpeedRateOverAsync(ProcNum, SpeedRateOver, Nothing) + End Sub + + ''' + Public Overloads Sub SetSpeedRateOverAsync(ByVal ProcNum As UShort, ByVal SpeedRateOver As UShort, ByVal userState As Object) + If (Me.SetSpeedRateOverOperationCompleted Is Nothing) Then + Me.SetSpeedRateOverOperationCompleted = AddressOf Me.OnSetSpeedRateOverOperationCompleted + End If + Me.InvokeAsync("SetSpeedRateOver", New Object() {ProcNum, SpeedRateOver}, Me.SetSpeedRateOverOperationCompleted, userState) + End Sub + + Private Sub OnSetSpeedRateOverOperationCompleted(ByVal arg As Object) + If (Not (Me.SetSpeedRateOverCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetSpeedRateOverCompleted(Me, New SetSpeedRateOverCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetManMovDirection(ByVal ProcNum As UShort, ByVal Direction As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetManMovDirection", New Object() {ProcNum, Direction}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetManMovDirectionAsync(ByVal ProcNum As UShort, ByVal Direction As UShort) + Me.SetManMovDirectionAsync(ProcNum, Direction, Nothing) + End Sub + + ''' + Public Overloads Sub SetManMovDirectionAsync(ByVal ProcNum As UShort, ByVal Direction As UShort, ByVal userState As Object) + If (Me.SetManMovDirectionOperationCompleted Is Nothing) Then + Me.SetManMovDirectionOperationCompleted = AddressOf Me.OnSetManMovDirectionOperationCompleted + End If + Me.InvokeAsync("SetManMovDirection", New Object() {ProcNum, Direction}, Me.SetManMovDirectionOperationCompleted, userState) + End Sub + + Private Sub OnSetManMovDirectionOperationCompleted(ByVal arg As Object) + If (Not (Me.SetManMovDirectionCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetManMovDirectionCompleted(Me, New SetManMovDirectionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetVarJOG(ByVal ProcNum As UShort, ByRef Value As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetVarJOG", New Object() {ProcNum}) + Value = CType(results(1),Double) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetVarJOGAsync(ByVal ProcNum As UShort) + Me.GetVarJOGAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetVarJOGAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetVarJOGOperationCompleted Is Nothing) Then + Me.GetVarJOGOperationCompleted = AddressOf Me.OnGetVarJOGOperationCompleted + End If + Me.InvokeAsync("GetVarJOG", New Object() {ProcNum}, Me.GetVarJOGOperationCompleted, userState) + End Sub + + Private Sub OnGetVarJOGOperationCompleted(ByVal arg As Object) + If (Not (Me.GetVarJOGCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetVarJOGCompleted(Me, New GetVarJOGCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetVarJOG(ByVal ProcNum As UShort, ByVal Value As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetVarJOG", New Object() {ProcNum, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetVarJOGAsync(ByVal ProcNum As UShort, ByVal Value As Double) + Me.SetVarJOGAsync(ProcNum, Value, Nothing) + End Sub + + ''' + Public Overloads Sub SetVarJOGAsync(ByVal ProcNum As UShort, ByVal Value As Double, ByVal userState As Object) + If (Me.SetVarJOGOperationCompleted Is Nothing) Then + Me.SetVarJOGOperationCompleted = AddressOf Me.OnSetVarJOGOperationCompleted + End If + Me.InvokeAsync("SetVarJOG", New Object() {ProcNum, Value}, Me.SetVarJOGOperationCompleted, userState) + End Sub + + Private Sub OnSetVarJOGOperationCompleted(ByVal arg As Object) + If (Not (Me.SetVarJOGCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetVarJOGCompleted(Me, New SetVarJOGCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetVarUAS(ByVal ProcNum As UShort, ByVal Mode As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetVarUAS", New Object() {ProcNum, Mode}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetVarUASAsync(ByVal ProcNum As UShort, ByVal Mode As UShort) + Me.SetVarUASAsync(ProcNum, Mode, Nothing) + End Sub + + ''' + Public Overloads Sub SetVarUASAsync(ByVal ProcNum As UShort, ByVal Mode As UShort, ByVal userState As Object) + If (Me.SetVarUASOperationCompleted Is Nothing) Then + Me.SetVarUASOperationCompleted = AddressOf Me.OnSetVarUASOperationCompleted + End If + Me.InvokeAsync("SetVarUAS", New Object() {ProcNum, Mode}, Me.SetVarUASOperationCompleted, userState) + End Sub + + Private Sub OnSetVarUASOperationCompleted(ByVal arg As Object) + If (Not (Me.SetVarUASCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetVarUASCompleted(Me, New SetVarUASCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetVarRCM(ByVal ProcNum As UShort, ByRef Value As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetVarRCM", New Object() {ProcNum}) + Value = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetVarRCMAsync(ByVal ProcNum As UShort) + Me.GetVarRCMAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetVarRCMAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetVarRCMOperationCompleted Is Nothing) Then + Me.GetVarRCMOperationCompleted = AddressOf Me.OnGetVarRCMOperationCompleted + End If + Me.InvokeAsync("GetVarRCM", New Object() {ProcNum}, Me.GetVarRCMOperationCompleted, userState) + End Sub + + Private Sub OnGetVarRCMOperationCompleted(ByVal arg As Object) + If (Not (Me.GetVarRCMCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetVarRCMCompleted(Me, New GetVarRCMCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetVarRCM(ByVal ProcNum As UShort, ByVal Mode As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetVarRCM", New Object() {ProcNum, Mode}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetVarRCMAsync(ByVal ProcNum As UShort, ByVal Mode As UShort) + Me.SetVarRCMAsync(ProcNum, Mode, Nothing) + End Sub + + ''' + Public Overloads Sub SetVarRCMAsync(ByVal ProcNum As UShort, ByVal Mode As UShort, ByVal userState As Object) + If (Me.SetVarRCMOperationCompleted Is Nothing) Then + Me.SetVarRCMOperationCompleted = AddressOf Me.OnSetVarRCMOperationCompleted + End If + Me.InvokeAsync("SetVarRCM", New Object() {ProcNum, Mode}, Me.SetVarRCMOperationCompleted, userState) + End Sub + + Private Sub OnSetVarRCMOperationCompleted(ByVal arg As Object) + If (Not (Me.SetVarRCMCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetVarRCMCompleted(Me, New SetVarRCMCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetVarCYCTIME(ByVal ProcNum As UShort, ByRef Value As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetVarCYCTIME", New Object() {ProcNum}) + Value = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetVarCYCTIMEAsync(ByVal ProcNum As UShort) + Me.GetVarCYCTIMEAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetVarCYCTIMEAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetVarCYCTIMEOperationCompleted Is Nothing) Then + Me.GetVarCYCTIMEOperationCompleted = AddressOf Me.OnGetVarCYCTIMEOperationCompleted + End If + Me.InvokeAsync("GetVarCYCTIME", New Object() {ProcNum}, Me.GetVarCYCTIMEOperationCompleted, userState) + End Sub + + Private Sub OnGetVarCYCTIMEOperationCompleted(ByVal arg As Object) + If (Not (Me.GetVarCYCTIMECompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetVarCYCTIMECompleted(Me, New GetVarCYCTIMECompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetVarCYCTIME(ByVal ProcNum As UShort, ByVal Value As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetVarCYCTIME", New Object() {ProcNum, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetVarCYCTIMEAsync(ByVal ProcNum As UShort, ByVal Value As UShort) + Me.SetVarCYCTIMEAsync(ProcNum, Value, Nothing) + End Sub + + ''' + Public Overloads Sub SetVarCYCTIMEAsync(ByVal ProcNum As UShort, ByVal Value As UShort, ByVal userState As Object) + If (Me.SetVarCYCTIMEOperationCompleted Is Nothing) Then + Me.SetVarCYCTIMEOperationCompleted = AddressOf Me.OnSetVarCYCTIMEOperationCompleted + End If + Me.InvokeAsync("SetVarCYCTIME", New Object() {ProcNum, Value}, Me.SetVarCYCTIMEOperationCompleted, userState) + End Sub + + Private Sub OnSetVarCYCTIMEOperationCompleted(ByVal arg As Object) + If (Not (Me.SetVarCYCTIMECompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetVarCYCTIMECompleted(Me, New SetVarCYCTIMECompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetProcVarWord(ByVal ProcNum As UShort, ByVal VarType As PROCWORDVARTYPE, ByRef Value As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetProcVarWord", New Object() {ProcNum, VarType}) + Value = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetProcVarWordAsync(ByVal ProcNum As UShort, ByVal VarType As PROCWORDVARTYPE) + Me.GetProcVarWordAsync(ProcNum, VarType, Nothing) + End Sub + + ''' + Public Overloads Sub GetProcVarWordAsync(ByVal ProcNum As UShort, ByVal VarType As PROCWORDVARTYPE, ByVal userState As Object) + If (Me.GetProcVarWordOperationCompleted Is Nothing) Then + Me.GetProcVarWordOperationCompleted = AddressOf Me.OnGetProcVarWordOperationCompleted + End If + Me.InvokeAsync("GetProcVarWord", New Object() {ProcNum, VarType}, Me.GetProcVarWordOperationCompleted, userState) + End Sub + + Private Sub OnGetProcVarWordOperationCompleted(ByVal arg As Object) + If (Not (Me.GetProcVarWordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetProcVarWordCompleted(Me, New GetProcVarWordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetProcVarWord(ByVal ProcNum As UShort, ByVal VarType As PROCWORDVARTYPE, ByVal Value As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetProcVarWord", New Object() {ProcNum, VarType, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetProcVarWordAsync(ByVal ProcNum As UShort, ByVal VarType As PROCWORDVARTYPE, ByVal Value As UShort) + Me.SetProcVarWordAsync(ProcNum, VarType, Value, Nothing) + End Sub + + ''' + Public Overloads Sub SetProcVarWordAsync(ByVal ProcNum As UShort, ByVal VarType As PROCWORDVARTYPE, ByVal Value As UShort, ByVal userState As Object) + If (Me.SetProcVarWordOperationCompleted Is Nothing) Then + Me.SetProcVarWordOperationCompleted = AddressOf Me.OnSetProcVarWordOperationCompleted + End If + Me.InvokeAsync("SetProcVarWord", New Object() {ProcNum, VarType, Value}, Me.SetProcVarWordOperationCompleted, userState) + End Sub + + Private Sub OnSetProcVarWordOperationCompleted(ByVal arg As Object) + If (Not (Me.SetProcVarWordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetProcVarWordCompleted(Me, New SetProcVarWordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetProcVarDouble(ByVal ProcNum As UShort, ByVal VarType As PROCDOUBLEVARTYPE, ByRef Value As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetProcVarDouble", New Object() {ProcNum, VarType}) + Value = CType(results(1),Double) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetProcVarDoubleAsync(ByVal ProcNum As UShort, ByVal VarType As PROCDOUBLEVARTYPE) + Me.GetProcVarDoubleAsync(ProcNum, VarType, Nothing) + End Sub + + ''' + Public Overloads Sub GetProcVarDoubleAsync(ByVal ProcNum As UShort, ByVal VarType As PROCDOUBLEVARTYPE, ByVal userState As Object) + If (Me.GetProcVarDoubleOperationCompleted Is Nothing) Then + Me.GetProcVarDoubleOperationCompleted = AddressOf Me.OnGetProcVarDoubleOperationCompleted + End If + Me.InvokeAsync("GetProcVarDouble", New Object() {ProcNum, VarType}, Me.GetProcVarDoubleOperationCompleted, userState) + End Sub + + Private Sub OnGetProcVarDoubleOperationCompleted(ByVal arg As Object) + If (Not (Me.GetProcVarDoubleCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetProcVarDoubleCompleted(Me, New GetProcVarDoubleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetProcVarDouble(ByVal ProcNum As UShort, ByVal VarType As PROCDOUBLEVARTYPE, ByVal Value As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetProcVarDouble", New Object() {ProcNum, VarType, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetProcVarDoubleAsync(ByVal ProcNum As UShort, ByVal VarType As PROCDOUBLEVARTYPE, ByVal Value As Double) + Me.SetProcVarDoubleAsync(ProcNum, VarType, Value, Nothing) + End Sub + + ''' + Public Overloads Sub SetProcVarDoubleAsync(ByVal ProcNum As UShort, ByVal VarType As PROCDOUBLEVARTYPE, ByVal Value As Double, ByVal userState As Object) + If (Me.SetProcVarDoubleOperationCompleted Is Nothing) Then + Me.SetProcVarDoubleOperationCompleted = AddressOf Me.OnSetProcVarDoubleOperationCompleted + End If + Me.InvokeAsync("SetProcVarDouble", New Object() {ProcNum, VarType, Value}, Me.SetProcVarDoubleOperationCompleted, userState) + End Sub + + Private Sub OnSetProcVarDoubleOperationCompleted(ByVal arg As Object) + If (Not (Me.SetProcVarDoubleCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetProcVarDoubleCompleted(Me, New SetProcVarDoubleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetMdiString(ByVal ProcNum As UShort, ByVal MdiString As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetMdiString", New Object() {ProcNum, MdiString}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetMdiStringAsync(ByVal ProcNum As UShort, ByVal MdiString As String) + Me.SetMdiStringAsync(ProcNum, MdiString, Nothing) + End Sub + + ''' + Public Overloads Sub SetMdiStringAsync(ByVal ProcNum As UShort, ByVal MdiString As String, ByVal userState As Object) + If (Me.SetMdiStringOperationCompleted Is Nothing) Then + Me.SetMdiStringOperationCompleted = AddressOf Me.OnSetMdiStringOperationCompleted + End If + Me.InvokeAsync("SetMdiString", New Object() {ProcNum, MdiString}, Me.SetMdiStringOperationCompleted, userState) + End Sub + + Private Sub OnSetMdiStringOperationCompleted(ByVal arg As Object) + If (Not (Me.SetMdiStringCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetMdiStringCompleted(Me, New SetMdiStringCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetProcessMode(ByVal ProcNum As UShort, ByVal Mode As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetProcessMode", New Object() {ProcNum, Mode}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetProcessModeAsync(ByVal ProcNum As UShort, ByVal Mode As UShort) + Me.SetProcessModeAsync(ProcNum, Mode, Nothing) + End Sub + + ''' + Public Overloads Sub SetProcessModeAsync(ByVal ProcNum As UShort, ByVal Mode As UShort, ByVal userState As Object) + If (Me.SetProcessModeOperationCompleted Is Nothing) Then + Me.SetProcessModeOperationCompleted = AddressOf Me.OnSetProcessModeOperationCompleted + End If + Me.InvokeAsync("SetProcessMode", New Object() {ProcNum, Mode}, Me.SetProcessModeOperationCompleted, userState) + End Sub + + Private Sub OnSetProcessModeOperationCompleted(ByVal arg As Object) + If (Not (Me.SetProcessModeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetProcessModeCompleted(Me, New SetProcessModeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SelectProcess(ByVal ProcNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SelectProcess", New Object() {ProcNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SelectProcessAsync(ByVal ProcNum As UShort) + Me.SelectProcessAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub SelectProcessAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.SelectProcessOperationCompleted Is Nothing) Then + Me.SelectProcessOperationCompleted = AddressOf Me.OnSelectProcessOperationCompleted + End If + Me.InvokeAsync("SelectProcess", New Object() {ProcNum}, Me.SelectProcessOperationCompleted, userState) + End Sub + + Private Sub OnSelectProcessOperationCompleted(ByVal arg As Object) + If (Not (Me.SelectProcessCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SelectProcessCompleted(Me, New SelectProcessCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetSelectedProcess(ByRef ProcNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetSelectedProcess", New Object(-1) {}) + ProcNum = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetSelectedProcessAsync() + Me.GetSelectedProcessAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetSelectedProcessAsync(ByVal userState As Object) + If (Me.GetSelectedProcessOperationCompleted Is Nothing) Then + Me.GetSelectedProcessOperationCompleted = AddressOf Me.OnGetSelectedProcessOperationCompleted + End If + Me.InvokeAsync("GetSelectedProcess", New Object(-1) {}, Me.GetSelectedProcessOperationCompleted, userState) + End Sub + + Private Sub OnGetSelectedProcessOperationCompleted(ByVal arg As Object) + If (Not (Me.GetSelectedProcessCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetSelectedProcessCompleted(Me, New GetSelectedProcessCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SelectProcAxis(ByVal ProcNum As UShort, ByVal AxisName As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SelectProcAxis", New Object() {ProcNum, AxisName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SelectProcAxisAsync(ByVal ProcNum As UShort, ByVal AxisName As Byte) + Me.SelectProcAxisAsync(ProcNum, AxisName, Nothing) + End Sub + + ''' + Public Overloads Sub SelectProcAxisAsync(ByVal ProcNum As UShort, ByVal AxisName As Byte, ByVal userState As Object) + If (Me.SelectProcAxisOperationCompleted Is Nothing) Then + Me.SelectProcAxisOperationCompleted = AddressOf Me.OnSelectProcAxisOperationCompleted + End If + Me.InvokeAsync("SelectProcAxis", New Object() {ProcNum, AxisName}, Me.SelectProcAxisOperationCompleted, userState) + End Sub + + Private Sub OnSelectProcAxisOperationCompleted(ByVal arg As Object) + If (Not (Me.SelectProcAxisCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SelectProcAxisCompleted(Me, New SelectProcAxisCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SelectPartProgram(ByVal ProcNum As UShort, ByVal PPName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SelectPartProgram", New Object() {ProcNum, PPName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SelectPartProgramAsync(ByVal ProcNum As UShort, ByVal PPName As String) + Me.SelectPartProgramAsync(ProcNum, PPName, Nothing) + End Sub + + ''' + Public Overloads Sub SelectPartProgramAsync(ByVal ProcNum As UShort, ByVal PPName As String, ByVal userState As Object) + If (Me.SelectPartProgramOperationCompleted Is Nothing) Then + Me.SelectPartProgramOperationCompleted = AddressOf Me.OnSelectPartProgramOperationCompleted + End If + Me.InvokeAsync("SelectPartProgram", New Object() {ProcNum, PPName}, Me.SelectPartProgramOperationCompleted, userState) + End Sub + + Private Sub OnSelectPartProgramOperationCompleted(ByVal arg As Object) + If (Not (Me.SelectPartProgramCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SelectPartProgramCompleted(Me, New SelectPartProgramCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SelectPartProgramFromDrive(ByVal ProcNum As UShort, ByVal PPName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SelectPartProgramFromDrive", New Object() {ProcNum, PPName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SelectPartProgramFromDriveAsync(ByVal ProcNum As UShort, ByVal PPName As String) + Me.SelectPartProgramFromDriveAsync(ProcNum, PPName, Nothing) + End Sub + + ''' + Public Overloads Sub SelectPartProgramFromDriveAsync(ByVal ProcNum As UShort, ByVal PPName As String, ByVal userState As Object) + If (Me.SelectPartProgramFromDriveOperationCompleted Is Nothing) Then + Me.SelectPartProgramFromDriveOperationCompleted = AddressOf Me.OnSelectPartProgramFromDriveOperationCompleted + End If + Me.InvokeAsync("SelectPartProgramFromDrive", New Object() {ProcNum, PPName}, Me.SelectPartProgramFromDriveOperationCompleted, userState) + End Sub + + Private Sub OnSelectPartProgramFromDriveOperationCompleted(ByVal arg As Object) + If (Not (Me.SelectPartProgramFromDriveCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SelectPartProgramFromDriveCompleted(Me, New SelectPartProgramFromDriveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetActivePartProgram(ByVal ProcNum As UShort, ByRef Level As UShort, ByRef Main As String, ByRef [Sub] As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetActivePartProgram", New Object() {ProcNum}) + Level = CType(results(1),UShort) + Main = CType(results(2),String) + [Sub] = CType(results(3),String) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetActivePartProgramAsync(ByVal ProcNum As UShort) + Me.GetActivePartProgramAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetActivePartProgramAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetActivePartProgramOperationCompleted Is Nothing) Then + Me.GetActivePartProgramOperationCompleted = AddressOf Me.OnGetActivePartProgramOperationCompleted + End If + Me.InvokeAsync("GetActivePartProgram", New Object() {ProcNum}, Me.GetActivePartProgramOperationCompleted, userState) + End Sub + + Private Sub OnGetActivePartProgramOperationCompleted(ByVal arg As Object) + If (Not (Me.GetActivePartProgramCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetActivePartProgramCompleted(Me, New GetActivePartProgramCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetActivePartProgramFullPath(ByVal ProcNum As UShort, ByRef Level As UShort, ByRef Main As String, ByRef [Sub] As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetActivePartProgramFullPath", New Object() {ProcNum}) + Level = CType(results(1),UShort) + Main = CType(results(2),String) + [Sub] = CType(results(3),String) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetActivePartProgramFullPathAsync(ByVal ProcNum As UShort) + Me.GetActivePartProgramFullPathAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetActivePartProgramFullPathAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetActivePartProgramFullPathOperationCompleted Is Nothing) Then + Me.GetActivePartProgramFullPathOperationCompleted = AddressOf Me.OnGetActivePartProgramFullPathOperationCompleted + End If + Me.InvokeAsync("GetActivePartProgramFullPath", New Object() {ProcNum}, Me.GetActivePartProgramFullPathOperationCompleted, userState) + End Sub + + Private Sub OnGetActivePartProgramFullPathOperationCompleted(ByVal arg As Object) + If (Not (Me.GetActivePartProgramFullPathCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetActivePartProgramFullPathCompleted(Me, New GetActivePartProgramFullPathCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetPartProgramLines(ByVal ProcNum As UShort, ByRef PPLine1 As String, ByRef PPLine2 As String, ByRef PPLine3 As String, ByRef PPLine4 As String, ByRef PPLine5 As String, ByRef PPLine6 As String, ByRef PPLine7 As String, ByRef PPLine8 As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetPartProgramLines", New Object() {ProcNum}) + PPLine1 = CType(results(1),String) + PPLine2 = CType(results(2),String) + PPLine3 = CType(results(3),String) + PPLine4 = CType(results(4),String) + PPLine5 = CType(results(5),String) + PPLine6 = CType(results(6),String) + PPLine7 = CType(results(7),String) + PPLine8 = CType(results(8),String) + ErrClass = CType(results(9),UInteger) + ErrNum = CType(results(10),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetPartProgramLinesAsync(ByVal ProcNum As UShort) + Me.GetPartProgramLinesAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetPartProgramLinesAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetPartProgramLinesOperationCompleted Is Nothing) Then + Me.GetPartProgramLinesOperationCompleted = AddressOf Me.OnGetPartProgramLinesOperationCompleted + End If + Me.InvokeAsync("GetPartProgramLines", New Object() {ProcNum}, Me.GetPartProgramLinesOperationCompleted, userState) + End Sub + + Private Sub OnGetPartProgramLinesOperationCompleted(ByVal arg As Object) + If (Not (Me.GetPartProgramLinesCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetPartProgramLinesCompleted(Me, New GetPartProgramLinesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetAxOriginNum(ByVal ProcNum As UShort, ByRef AxesNum As UShort, ByRef AxOriginNum() As AXORIGNUM, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetAxOriginNum", New Object() {ProcNum, AxesNum}) + AxesNum = CType(results(1),UShort) + AxOriginNum = CType(results(2),AXORIGNUM()) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetAxOriginNumAsync(ByVal ProcNum As UShort, ByVal AxesNum As UShort) + Me.GetAxOriginNumAsync(ProcNum, AxesNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetAxOriginNumAsync(ByVal ProcNum As UShort, ByVal AxesNum As UShort, ByVal userState As Object) + If (Me.GetAxOriginNumOperationCompleted Is Nothing) Then + Me.GetAxOriginNumOperationCompleted = AddressOf Me.OnGetAxOriginNumOperationCompleted + End If + Me.InvokeAsync("GetAxOriginNum", New Object() {ProcNum, AxesNum}, Me.GetAxOriginNumOperationCompleted, userState) + End Sub + + Private Sub OnGetAxOriginNumOperationCompleted(ByVal arg As Object) + If (Not (Me.GetAxOriginNumCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetAxOriginNumCompleted(Me, New GetAxOriginNumCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetAxesPosition(ByVal ProcNum As UShort, ByVal AxisName As Byte, ByVal [Select] As UShort, ByRef NumAxis As UShort, ByRef IntPos() As GETINTDATA, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetAxesPosition", New Object() {ProcNum, AxisName, [Select], NumAxis}) + NumAxis = CType(results(1),UShort) + IntPos = CType(results(2),GETINTDATA()) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetAxesPositionAsync(ByVal ProcNum As UShort, ByVal AxisName As Byte, ByVal [Select] As UShort, ByVal NumAxis As UShort) + Me.GetAxesPositionAsync(ProcNum, AxisName, [Select], NumAxis, Nothing) + End Sub + + ''' + Public Overloads Sub GetAxesPositionAsync(ByVal ProcNum As UShort, ByVal AxisName As Byte, ByVal [Select] As UShort, ByVal NumAxis As UShort, ByVal userState As Object) + If (Me.GetAxesPositionOperationCompleted Is Nothing) Then + Me.GetAxesPositionOperationCompleted = AddressOf Me.OnGetAxesPositionOperationCompleted + End If + Me.InvokeAsync("GetAxesPosition", New Object() {ProcNum, AxisName, [Select], NumAxis}, Me.GetAxesPositionOperationCompleted, userState) + End Sub + + Private Sub OnGetAxesPositionOperationCompleted(ByVal arg As Object) + If (Not (Me.GetAxesPositionCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetAxesPositionCompleted(Me, New GetAxesPositionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetNcInfo1(ByVal ProcNum As UShort, ByRef GetInfo As GETINFO1DATA, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetNcInfo1", New Object() {ProcNum}) + GetInfo = CType(results(1),GETINFO1DATA) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetNcInfo1Async(ByVal ProcNum As UShort) + Me.GetNcInfo1Async(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetNcInfo1Async(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetNcInfo1OperationCompleted Is Nothing) Then + Me.GetNcInfo1OperationCompleted = AddressOf Me.OnGetNcInfo1OperationCompleted + End If + Me.InvokeAsync("GetNcInfo1", New Object() {ProcNum}, Me.GetNcInfo1OperationCompleted, userState) + End Sub + + Private Sub OnGetNcInfo1OperationCompleted(ByVal arg As Object) + If (Not (Me.GetNcInfo1CompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetNcInfo1Completed(Me, New GetNcInfo1CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetNcInfo2(ByVal ProcNum As UShort, ByRef GetInfo As GETINFO2DATA, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetNcInfo2", New Object() {ProcNum}) + GetInfo = CType(results(1),GETINFO2DATA) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetNcInfo2Async(ByVal ProcNum As UShort) + Me.GetNcInfo2Async(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetNcInfo2Async(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetNcInfo2OperationCompleted Is Nothing) Then + Me.GetNcInfo2OperationCompleted = AddressOf Me.OnGetNcInfo2OperationCompleted + End If + Me.InvokeAsync("GetNcInfo2", New Object() {ProcNum}, Me.GetNcInfo2OperationCompleted, userState) + End Sub + + Private Sub OnGetNcInfo2OperationCompleted(ByVal arg As Object) + If (Not (Me.GetNcInfo2CompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetNcInfo2Completed(Me, New GetNcInfo2CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetToolNames(ByVal ProcNum As UShort, ByRef Tool As String, ByRef ProgTool As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetToolNames", New Object() {ProcNum}) + Tool = CType(results(1),String) + ProgTool = CType(results(2),String) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetToolNamesAsync(ByVal ProcNum As UShort) + Me.GetToolNamesAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetToolNamesAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetToolNamesOperationCompleted Is Nothing) Then + Me.GetToolNamesOperationCompleted = AddressOf Me.OnGetToolNamesOperationCompleted + End If + Me.InvokeAsync("GetToolNames", New Object() {ProcNum}, Me.GetToolNamesOperationCompleted, userState) + End Sub + + Private Sub OnGetToolNamesOperationCompleted(ByVal arg As Object) + If (Not (Me.GetToolNamesCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetToolNamesCompleted(Me, New GetToolNamesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetProcessStatus(ByVal ProcNum As UShort, ByRef ProcStat As PROCDATA, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetProcessStatus", New Object() {ProcNum}) + ProcStat = CType(results(1),PROCDATA) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetProcessStatusAsync(ByVal ProcNum As UShort) + Me.GetProcessStatusAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetProcessStatusAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetProcessStatusOperationCompleted Is Nothing) Then + Me.GetProcessStatusOperationCompleted = AddressOf Me.OnGetProcessStatusOperationCompleted + End If + Me.InvokeAsync("GetProcessStatus", New Object() {ProcNum}, Me.GetProcessStatusOperationCompleted, userState) + End Sub + + Private Sub OnGetProcessStatusOperationCompleted(ByVal arg As Object) + If (Not (Me.GetProcessStatusCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetProcessStatusCompleted(Me, New GetProcessStatusCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetBlkNum(ByVal ProcNum As UShort, ByRef GetBlkNum1 As GETBLKNUMDATA, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetBlkNum", New Object() {ProcNum}) + GetBlkNum1 = CType(results(1),GETBLKNUMDATA) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetBlkNumAsync(ByVal ProcNum As UShort) + Me.GetBlkNumAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetBlkNumAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetBlkNumOperationCompleted Is Nothing) Then + Me.GetBlkNumOperationCompleted = AddressOf Me.OnGetBlkNumOperationCompleted + End If + Me.InvokeAsync("GetBlkNum", New Object() {ProcNum}, Me.GetBlkNumOperationCompleted, userState) + End Sub + + Private Sub OnGetBlkNumOperationCompleted(ByVal arg As Object) + If (Not (Me.GetBlkNumCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetBlkNumCompleted(Me, New GetBlkNumCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadErrMsg(ByVal ProcNum As UShort, ByRef SysErrMsg As ERRMSG, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadErrMsg", New Object() {ProcNum}) + SysErrMsg = CType(results(1),ERRMSG) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadErrMsgAsync(ByVal ProcNum As UShort) + Me.ReadErrMsgAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub ReadErrMsgAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.ReadErrMsgOperationCompleted Is Nothing) Then + Me.ReadErrMsgOperationCompleted = AddressOf Me.OnReadErrMsgOperationCompleted + End If + Me.InvokeAsync("ReadErrMsg", New Object() {ProcNum}, Me.ReadErrMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadErrMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadErrMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadErrMsgCompleted(Me, New ReadErrMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadPartProgramMsg(ByVal ProcNum As UShort, ByRef PartProgramMsg As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadPartProgramMsg", New Object() {ProcNum}) + PartProgramMsg = CType(results(1),String) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadPartProgramMsgAsync(ByVal ProcNum As UShort) + Me.ReadPartProgramMsgAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub ReadPartProgramMsgAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.ReadPartProgramMsgOperationCompleted Is Nothing) Then + Me.ReadPartProgramMsgOperationCompleted = AddressOf Me.OnReadPartProgramMsgOperationCompleted + End If + Me.InvokeAsync("ReadPartProgramMsg", New Object() {ProcNum}, Me.ReadPartProgramMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadPartProgramMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadPartProgramMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadPartProgramMsgCompleted(Me, New ReadPartProgramMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetGCode(ByVal ProcNum As UShort, ByRef GCode() As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetGCode", New Object() {ProcNum}) + GCode = CType(results(1),UShort()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetGCodeAsync(ByVal ProcNum As UShort) + Me.GetGCodeAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetGCodeAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetGCodeOperationCompleted Is Nothing) Then + Me.GetGCodeOperationCompleted = AddressOf Me.OnGetGCodeOperationCompleted + End If + Me.InvokeAsync("GetGCode", New Object() {ProcNum}, Me.GetGCodeOperationCompleted, userState) + End Sub + + Private Sub OnGetGCodeOperationCompleted(ByVal arg As Object) + If (Not (Me.GetGCodeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetGCodeCompleted(Me, New GetGCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetMCode(ByVal ProcNum As UShort, ByRef MCode() As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetMCode", New Object() {ProcNum}) + MCode = CType(results(1),UShort()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetMCodeAsync(ByVal ProcNum As UShort) + Me.GetMCodeAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetMCodeAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetMCodeOperationCompleted Is Nothing) Then + Me.GetMCodeOperationCompleted = AddressOf Me.OnGetMCodeOperationCompleted + End If + Me.InvokeAsync("GetMCode", New Object() {ProcNum}, Me.GetMCodeOperationCompleted, userState) + End Sub + + Private Sub OnGetMCodeOperationCompleted(ByVal arg As Object) + If (Not (Me.GetMCodeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetMCodeCompleted(Me, New GetMCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SkipPProgBlock(ByVal ProcNum As UShort, ByVal NumOfBlocks As UInteger, ByVal Direction As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SkipPProgBlock", New Object() {ProcNum, NumOfBlocks, Direction}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SkipPProgBlockAsync(ByVal ProcNum As UShort, ByVal NumOfBlocks As UInteger, ByVal Direction As UShort) + Me.SkipPProgBlockAsync(ProcNum, NumOfBlocks, Direction, Nothing) + End Sub + + ''' + Public Overloads Sub SkipPProgBlockAsync(ByVal ProcNum As UShort, ByVal NumOfBlocks As UInteger, ByVal Direction As UShort, ByVal userState As Object) + If (Me.SkipPProgBlockOperationCompleted Is Nothing) Then + Me.SkipPProgBlockOperationCompleted = AddressOf Me.OnSkipPProgBlockOperationCompleted + End If + Me.InvokeAsync("SkipPProgBlock", New Object() {ProcNum, NumOfBlocks, Direction}, Me.SkipPProgBlockOperationCompleted, userState) + End Sub + + Private Sub OnSkipPProgBlockOperationCompleted(ByVal arg As Object) + If (Not (Me.SkipPProgBlockCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SkipPProgBlockCompleted(Me, New SkipPProgBlockCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function Ese(ByVal ProcNum As UShort, ByVal BlockNum As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("Ese", New Object() {ProcNum, BlockNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub EseAsync(ByVal ProcNum As UShort, ByVal BlockNum As UInteger) + Me.EseAsync(ProcNum, BlockNum, Nothing) + End Sub + + ''' + Public Overloads Sub EseAsync(ByVal ProcNum As UShort, ByVal BlockNum As UInteger, ByVal userState As Object) + If (Me.EseOperationCompleted Is Nothing) Then + Me.EseOperationCompleted = AddressOf Me.OnEseOperationCompleted + End If + Me.InvokeAsync("Ese", New Object() {ProcNum, BlockNum}, Me.EseOperationCompleted, userState) + End Sub + + Private Sub OnEseOperationCompleted(ByVal arg As Object) + If (Not (Me.EseCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent EseCompleted(Me, New EseCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function EseEx(ByVal ProcNum As UShort, ByVal Mode As RCMTOMODE, ByVal Mask As UInteger, ByVal BlockNum As UInteger, ByVal LineNum As UInteger, ByVal BrkVal As UInteger, ByVal Label As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("EseEx", New Object() {ProcNum, Mode, Mask, BlockNum, LineNum, BrkVal, Label}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub EseExAsync(ByVal ProcNum As UShort, ByVal Mode As RCMTOMODE, ByVal Mask As UInteger, ByVal BlockNum As UInteger, ByVal LineNum As UInteger, ByVal BrkVal As UInteger, ByVal Label As String) + Me.EseExAsync(ProcNum, Mode, Mask, BlockNum, LineNum, BrkVal, Label, Nothing) + End Sub + + ''' + Public Overloads Sub EseExAsync(ByVal ProcNum As UShort, ByVal Mode As RCMTOMODE, ByVal Mask As UInteger, ByVal BlockNum As UInteger, ByVal LineNum As UInteger, ByVal BrkVal As UInteger, ByVal Label As String, ByVal userState As Object) + If (Me.EseExOperationCompleted Is Nothing) Then + Me.EseExOperationCompleted = AddressOf Me.OnEseExOperationCompleted + End If + Me.InvokeAsync("EseEx", New Object() {ProcNum, Mode, Mask, BlockNum, LineNum, BrkVal, Label}, Me.EseExOperationCompleted, userState) + End Sub + + Private Sub OnEseExOperationCompleted(ByVal arg As Object) + If (Not (Me.EseExCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent EseExCompleted(Me, New EseExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function Exe(ByVal ProcNum As UShort, ByVal Func As UShort, ByVal Mode As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("Exe", New Object() {ProcNum, Func, Mode}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ExeAsync(ByVal ProcNum As UShort, ByVal Func As UShort, ByVal Mode As UShort) + Me.ExeAsync(ProcNum, Func, Mode, Nothing) + End Sub + + ''' + Public Overloads Sub ExeAsync(ByVal ProcNum As UShort, ByVal Func As UShort, ByVal Mode As UShort, ByVal userState As Object) + If (Me.ExeOperationCompleted Is Nothing) Then + Me.ExeOperationCompleted = AddressOf Me.OnExeOperationCompleted + End If + Me.InvokeAsync("Exe", New Object() {ProcNum, Func, Mode}, Me.ExeOperationCompleted, userState) + End Sub + + Private Sub OnExeOperationCompleted(ByVal arg As Object) + If (Not (Me.ExeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ExeCompleted(Me, New ExeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function AxesRef(ByVal ProcNum As UShort, ByVal NumAx As UShort, ByVal AxisName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("AxesRef", New Object() {ProcNum, NumAx, AxisName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub AxesRefAsync(ByVal ProcNum As UShort, ByVal NumAx As UShort, ByVal AxisName As String) + Me.AxesRefAsync(ProcNum, NumAx, AxisName, Nothing) + End Sub + + ''' + Public Overloads Sub AxesRefAsync(ByVal ProcNum As UShort, ByVal NumAx As UShort, ByVal AxisName As String, ByVal userState As Object) + If (Me.AxesRefOperationCompleted Is Nothing) Then + Me.AxesRefOperationCompleted = AddressOf Me.OnAxesRefOperationCompleted + End If + Me.InvokeAsync("AxesRef", New Object() {ProcNum, NumAx, AxisName}, Me.AxesRefOperationCompleted, userState) + End Sub + + Private Sub OnAxesRefOperationCompleted(ByVal arg As Object) + If (Not (Me.AxesRefCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent AxesRefCompleted(Me, New AxesRefCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function DncInit(ByVal ProcNum As UShort, ByVal PathName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("DncInit", New Object() {ProcNum, PathName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub DncInitAsync(ByVal ProcNum As UShort, ByVal PathName As String) + Me.DncInitAsync(ProcNum, PathName, Nothing) + End Sub + + ''' + Public Overloads Sub DncInitAsync(ByVal ProcNum As UShort, ByVal PathName As String, ByVal userState As Object) + If (Me.DncInitOperationCompleted Is Nothing) Then + Me.DncInitOperationCompleted = AddressOf Me.OnDncInitOperationCompleted + End If + Me.InvokeAsync("DncInit", New Object() {ProcNum, PathName}, Me.DncInitOperationCompleted, userState) + End Sub + + Private Sub OnDncInitOperationCompleted(ByVal arg As Object) + If (Not (Me.DncInitCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent DncInitCompleted(Me, New DncInitCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function DncData(ByVal ProcNum As UShort, ByVal Data As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("DncData", New Object() {ProcNum, Data}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub DncDataAsync(ByVal ProcNum As UShort, ByVal Data As String) + Me.DncDataAsync(ProcNum, Data, Nothing) + End Sub + + ''' + Public Overloads Sub DncDataAsync(ByVal ProcNum As UShort, ByVal Data As String, ByVal userState As Object) + If (Me.DncDataOperationCompleted Is Nothing) Then + Me.DncDataOperationCompleted = AddressOf Me.OnDncDataOperationCompleted + End If + Me.InvokeAsync("DncData", New Object() {ProcNum, Data}, Me.DncDataOperationCompleted, userState) + End Sub + + Private Sub OnDncDataOperationCompleted(ByVal arg As Object) + If (Not (Me.DncDataCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent DncDataCompleted(Me, New DncDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function DncEof(ByVal ProcNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("DncEof", New Object() {ProcNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub DncEofAsync(ByVal ProcNum As UShort) + Me.DncEofAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub DncEofAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.DncEofOperationCompleted Is Nothing) Then + Me.DncEofOperationCompleted = AddressOf Me.OnDncEofOperationCompleted + End If + Me.InvokeAsync("DncEof", New Object() {ProcNum}, Me.DncEofOperationCompleted, userState) + End Sub + + Private Sub OnDncEofOperationCompleted(ByVal arg As Object) + If (Not (Me.DncEofCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent DncEofCompleted(Me, New DncEofCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function DncStop(ByVal ProcNum As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("DncStop", New Object() {ProcNum}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub DncStopAsync(ByVal ProcNum As UShort) + Me.DncStopAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub DncStopAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.DncStopOperationCompleted Is Nothing) Then + Me.DncStopOperationCompleted = AddressOf Me.OnDncStopOperationCompleted + End If + Me.InvokeAsync("DncStop", New Object() {ProcNum}, Me.DncStopOperationCompleted, userState) + End Sub + + Private Sub OnDncStopOperationCompleted(ByVal arg As Object) + If (Not (Me.DncStopCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent DncStopCompleted(Me, New DncStopCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetAxesInfo3(ByVal AxisId As UShort, ByRef AxesNum As UShort, ByRef AxOwnerList() As UShort, ByRef AxNameList() As Byte, ByRef AxType() As UShort, ByRef AxInterface() As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetAxesInfo3", New Object() {AxisId, AxesNum}) + AxesNum = CType(results(1),UShort) + AxOwnerList = CType(results(2),UShort()) + AxNameList = CType(results(3),Byte()) + AxType = CType(results(4),UShort()) + AxInterface = CType(results(5),UShort()) + ErrClass = CType(results(6),UInteger) + ErrNum = CType(results(7),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetAxesInfo3Async(ByVal AxisId As UShort, ByVal AxesNum As UShort) + Me.GetAxesInfo3Async(AxisId, AxesNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetAxesInfo3Async(ByVal AxisId As UShort, ByVal AxesNum As UShort, ByVal userState As Object) + If (Me.GetAxesInfo3OperationCompleted Is Nothing) Then + Me.GetAxesInfo3OperationCompleted = AddressOf Me.OnGetAxesInfo3OperationCompleted + End If + Me.InvokeAsync("GetAxesInfo3", New Object() {AxisId, AxesNum}, Me.GetAxesInfo3OperationCompleted, userState) + End Sub + + Private Sub OnGetAxesInfo3OperationCompleted(ByVal arg As Object) + If (Not (Me.GetAxesInfo3CompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetAxesInfo3Completed(Me, New GetAxesInfo3CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetCodeNumber( ByRef CodeNumber As String, ByRef SwVersion As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetCodeNumber", New Object(-1) {}) + CodeNumber = CType(results(1),String) + SwVersion = CType(results(2),String) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetCodeNumberAsync() + Me.GetCodeNumberAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetCodeNumberAsync(ByVal userState As Object) + If (Me.GetCodeNumberOperationCompleted Is Nothing) Then + Me.GetCodeNumberOperationCompleted = AddressOf Me.OnGetCodeNumberOperationCompleted + End If + Me.InvokeAsync("GetCodeNumber", New Object(-1) {}, Me.GetCodeNumberOperationCompleted, userState) + End Sub + + Private Sub OnGetCodeNumberOperationCompleted(ByVal arg As Object) + If (Not (Me.GetCodeNumberCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetCodeNumberCompleted(Me, New GetCodeNumberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetOptions( ByRef [Option]() As Byte, ByRef SecurLevel() As Byte, ByRef SwVersion As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetOptions", New Object(-1) {}) + [Option] = CType(results(1),Byte()) + SecurLevel = CType(results(2),Byte()) + SwVersion = CType(results(3),String) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetOptionsAsync() + Me.GetOptionsAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetOptionsAsync(ByVal userState As Object) + If (Me.GetOptionsOperationCompleted Is Nothing) Then + Me.GetOptionsOperationCompleted = AddressOf Me.OnGetOptionsOperationCompleted + End If + Me.InvokeAsync("GetOptions", New Object(-1) {}, Me.GetOptionsOperationCompleted, userState) + End Sub + + Private Sub OnGetOptionsOperationCompleted(ByVal arg As Object) + If (Not (Me.GetOptionsCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetOptionsCompleted(Me, New GetOptionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetDateTime(ByRef Year As UShort, ByRef Month As UShort, ByRef Day As UShort, ByRef Hour As UShort, ByRef Minute As UShort, ByRef Second As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetDateTime", New Object(-1) {}) + Year = CType(results(1),UShort) + Month = CType(results(2),UShort) + Day = CType(results(3),UShort) + Hour = CType(results(4),UShort) + Minute = CType(results(5),UShort) + Second = CType(results(6),UShort) + ErrClass = CType(results(7),UInteger) + ErrNum = CType(results(8),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetDateTimeAsync() + Me.GetDateTimeAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetDateTimeAsync(ByVal userState As Object) + If (Me.GetDateTimeOperationCompleted Is Nothing) Then + Me.GetDateTimeOperationCompleted = AddressOf Me.OnGetDateTimeOperationCompleted + End If + Me.InvokeAsync("GetDateTime", New Object(-1) {}, Me.GetDateTimeOperationCompleted, userState) + End Sub + + Private Sub OnGetDateTimeOperationCompleted(ByVal arg As Object) + If (Not (Me.GetDateTimeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetDateTimeCompleted(Me, New GetDateTimeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetDateTime(ByVal Year As UShort, ByVal Month As UShort, ByVal Day As UShort, ByVal Hour As UShort, ByVal Minute As UShort, ByVal Second As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetDateTime", New Object() {Year, Month, Day, Hour, Minute, Second}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetDateTimeAsync(ByVal Year As UShort, ByVal Month As UShort, ByVal Day As UShort, ByVal Hour As UShort, ByVal Minute As UShort, ByVal Second As UShort) + Me.SetDateTimeAsync(Year, Month, Day, Hour, Minute, Second, Nothing) + End Sub + + ''' + Public Overloads Sub SetDateTimeAsync(ByVal Year As UShort, ByVal Month As UShort, ByVal Day As UShort, ByVal Hour As UShort, ByVal Minute As UShort, ByVal Second As UShort, ByVal userState As Object) + If (Me.SetDateTimeOperationCompleted Is Nothing) Then + Me.SetDateTimeOperationCompleted = AddressOf Me.OnSetDateTimeOperationCompleted + End If + Me.InvokeAsync("SetDateTime", New Object() {Year, Month, Day, Hour, Minute, Second}, Me.SetDateTimeOperationCompleted, userState) + End Sub + + Private Sub OnSetDateTimeOperationCompleted(ByVal arg As Object) + If (Not (Me.SetDateTimeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetDateTimeCompleted(Me, New SetDateTimeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetSerialNumber( ByRef SerialNumber As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetSerialNumber", New Object(-1) {}) + SerialNumber = CType(results(1),String) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetSerialNumberAsync() + Me.GetSerialNumberAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetSerialNumberAsync(ByVal userState As Object) + If (Me.GetSerialNumberOperationCompleted Is Nothing) Then + Me.GetSerialNumberOperationCompleted = AddressOf Me.OnGetSerialNumberOperationCompleted + End If + Me.InvokeAsync("GetSerialNumber", New Object(-1) {}, Me.GetSerialNumberOperationCompleted, userState) + End Sub + + Private Sub OnGetSerialNumberOperationCompleted(ByVal arg As Object) + If (Not (Me.GetSerialNumberCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetSerialNumberCompleted(Me, New GetSerialNumberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function PutFile( ByVal Data As String, ByVal Size As UInteger, ByVal PathName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("PutFile", New Object() {Data, Size, PathName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub PutFileAsync(ByVal Data As String, ByVal Size As UInteger, ByVal PathName As String) + Me.PutFileAsync(Data, Size, PathName, Nothing) + End Sub + + ''' + Public Overloads Sub PutFileAsync(ByVal Data As String, ByVal Size As UInteger, ByVal PathName As String, ByVal userState As Object) + If (Me.PutFileOperationCompleted Is Nothing) Then + Me.PutFileOperationCompleted = AddressOf Me.OnPutFileOperationCompleted + End If + Me.InvokeAsync("PutFile", New Object() {Data, Size, PathName}, Me.PutFileOperationCompleted, userState) + End Sub + + Private Sub OnPutFileOperationCompleted(ByVal arg As Object) + If (Not (Me.PutFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent PutFileCompleted(Me, New PutFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetFile( ByVal PathName As String, ByRef Size As UInteger, ByRef Data As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetFile", New Object() {PathName, Size}) + Size = CType(results(1),UInteger) + Data = CType(results(2),String) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetFileAsync(ByVal PathName As String, ByVal Size As UInteger) + Me.GetFileAsync(PathName, Size, Nothing) + End Sub + + ''' + Public Overloads Sub GetFileAsync(ByVal PathName As String, ByVal Size As UInteger, ByVal userState As Object) + If (Me.GetFileOperationCompleted Is Nothing) Then + Me.GetFileOperationCompleted = AddressOf Me.OnGetFileOperationCompleted + End If + Me.InvokeAsync("GetFile", New Object() {PathName, Size}, Me.GetFileOperationCompleted, userState) + End Sub + + Private Sub OnGetFileOperationCompleted(ByVal arg As Object) + If (Not (Me.GetFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetFileCompleted(Me, New GetFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function PutBinaryFile( ByVal Data() As Byte, ByVal PathName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("PutBinaryFile", New Object() {Data, PathName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub PutBinaryFileAsync(ByVal Data() As Byte, ByVal PathName As String) + Me.PutBinaryFileAsync(Data, PathName, Nothing) + End Sub + + ''' + Public Overloads Sub PutBinaryFileAsync(ByVal Data() As Byte, ByVal PathName As String, ByVal userState As Object) + If (Me.PutBinaryFileOperationCompleted Is Nothing) Then + Me.PutBinaryFileOperationCompleted = AddressOf Me.OnPutBinaryFileOperationCompleted + End If + Me.InvokeAsync("PutBinaryFile", New Object() {Data, PathName}, Me.PutBinaryFileOperationCompleted, userState) + End Sub + + Private Sub OnPutBinaryFileOperationCompleted(ByVal arg As Object) + If (Not (Me.PutBinaryFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent PutBinaryFileCompleted(Me, New PutBinaryFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetBinaryFile( ByVal PathName As String, ByVal Size As UInteger, ByRef Data() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetBinaryFile", New Object() {PathName, Size}) + Data = CType(results(1),Byte()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetBinaryFileAsync(ByVal PathName As String, ByVal Size As UInteger) + Me.GetBinaryFileAsync(PathName, Size, Nothing) + End Sub + + ''' + Public Overloads Sub GetBinaryFileAsync(ByVal PathName As String, ByVal Size As UInteger, ByVal userState As Object) + If (Me.GetBinaryFileOperationCompleted Is Nothing) Then + Me.GetBinaryFileOperationCompleted = AddressOf Me.OnGetBinaryFileOperationCompleted + End If + Me.InvokeAsync("GetBinaryFile", New Object() {PathName, Size}, Me.GetBinaryFileOperationCompleted, userState) + End Sub + + Private Sub OnGetBinaryFileOperationCompleted(ByVal arg As Object) + If (Not (Me.GetBinaryFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetBinaryFileCompleted(Me, New GetBinaryFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSSetSecurityLevel( ByVal Password As String, ByVal SecurityLevel As SECURITYLEVEL, ByRef OldSecurityLevel As SECURITYLEVEL, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSSetSecurityLevel", New Object() {Password, SecurityLevel}) + OldSecurityLevel = CType(results(1),SECURITYLEVEL) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSSetSecurityLevelAsync(ByVal Password As String, ByVal SecurityLevel As SECURITYLEVEL) + Me.LogFSSetSecurityLevelAsync(Password, SecurityLevel, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSSetSecurityLevelAsync(ByVal Password As String, ByVal SecurityLevel As SECURITYLEVEL, ByVal userState As Object) + If (Me.LogFSSetSecurityLevelOperationCompleted Is Nothing) Then + Me.LogFSSetSecurityLevelOperationCompleted = AddressOf Me.OnLogFSSetSecurityLevelOperationCompleted + End If + Me.InvokeAsync("LogFSSetSecurityLevel", New Object() {Password, SecurityLevel}, Me.LogFSSetSecurityLevelOperationCompleted, userState) + End Sub + + Private Sub OnLogFSSetSecurityLevelOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSSetSecurityLevelCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSSetSecurityLevelCompleted(Me, New LogFSSetSecurityLevelCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSGetSecurityLevel(ByRef SecurityLevel As SECURITYLEVEL, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSGetSecurityLevel", New Object(-1) {}) + SecurityLevel = CType(results(1),SECURITYLEVEL) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSGetSecurityLevelAsync() + Me.LogFSGetSecurityLevelAsync(Nothing) + End Sub + + ''' + Public Overloads Sub LogFSGetSecurityLevelAsync(ByVal userState As Object) + If (Me.LogFSGetSecurityLevelOperationCompleted Is Nothing) Then + Me.LogFSGetSecurityLevelOperationCompleted = AddressOf Me.OnLogFSGetSecurityLevelOperationCompleted + End If + Me.InvokeAsync("LogFSGetSecurityLevel", New Object(-1) {}, Me.LogFSGetSecurityLevelOperationCompleted, userState) + End Sub + + Private Sub OnLogFSGetSecurityLevelOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSGetSecurityLevelCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSGetSecurityLevelCompleted(Me, New LogFSGetSecurityLevelCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSLongFileNames(ByRef UseLongFileNames As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSLongFileNames", New Object(-1) {}) + UseLongFileNames = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSLongFileNamesAsync() + Me.LogFSLongFileNamesAsync(Nothing) + End Sub + + ''' + Public Overloads Sub LogFSLongFileNamesAsync(ByVal userState As Object) + If (Me.LogFSLongFileNamesOperationCompleted Is Nothing) Then + Me.LogFSLongFileNamesOperationCompleted = AddressOf Me.OnLogFSLongFileNamesOperationCompleted + End If + Me.InvokeAsync("LogFSLongFileNames", New Object(-1) {}, Me.LogFSLongFileNamesOperationCompleted, userState) + End Sub + + Private Sub OnLogFSLongFileNamesOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSLongFileNamesCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSLongFileNamesCompleted(Me, New LogFSLongFileNamesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSGetNumDrive(ByRef NumHiddenDrive As UShort, ByRef NumUserDrive As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSGetNumDrive", New Object(-1) {}) + NumHiddenDrive = CType(results(1),UShort) + NumUserDrive = CType(results(2),UShort) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSGetNumDriveAsync() + Me.LogFSGetNumDriveAsync(Nothing) + End Sub + + ''' + Public Overloads Sub LogFSGetNumDriveAsync(ByVal userState As Object) + If (Me.LogFSGetNumDriveOperationCompleted Is Nothing) Then + Me.LogFSGetNumDriveOperationCompleted = AddressOf Me.OnLogFSGetNumDriveOperationCompleted + End If + Me.InvokeAsync("LogFSGetNumDrive", New Object(-1) {}, Me.LogFSGetNumDriveOperationCompleted, userState) + End Sub + + Private Sub OnLogFSGetNumDriveOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSGetNumDriveCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSGetNumDriveCompleted(Me, New LogFSGetNumDriveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSGetDriveList(ByVal Index As UShort, ByRef DriveName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSGetDriveList", New Object() {Index}) + DriveName = CType(results(1),String) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSGetDriveListAsync(ByVal Index As UShort) + Me.LogFSGetDriveListAsync(Index, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSGetDriveListAsync(ByVal Index As UShort, ByVal userState As Object) + If (Me.LogFSGetDriveListOperationCompleted Is Nothing) Then + Me.LogFSGetDriveListOperationCompleted = AddressOf Me.OnLogFSGetDriveListOperationCompleted + End If + Me.InvokeAsync("LogFSGetDriveList", New Object() {Index}, Me.LogFSGetDriveListOperationCompleted, userState) + End Sub + + Private Sub OnLogFSGetDriveListOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSGetDriveListCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSGetDriveListCompleted(Me, New LogFSGetDriveListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSGetHiddenDriveList(ByVal Index As UShort, ByRef DriveName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSGetHiddenDriveList", New Object() {Index}) + DriveName = CType(results(1),String) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSGetHiddenDriveListAsync(ByVal Index As UShort) + Me.LogFSGetHiddenDriveListAsync(Index, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSGetHiddenDriveListAsync(ByVal Index As UShort, ByVal userState As Object) + If (Me.LogFSGetHiddenDriveListOperationCompleted Is Nothing) Then + Me.LogFSGetHiddenDriveListOperationCompleted = AddressOf Me.OnLogFSGetHiddenDriveListOperationCompleted + End If + Me.InvokeAsync("LogFSGetHiddenDriveList", New Object() {Index}, Me.LogFSGetHiddenDriveListOperationCompleted, userState) + End Sub + + Private Sub OnLogFSGetHiddenDriveListOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSGetHiddenDriveListCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSGetHiddenDriveListCompleted(Me, New LogFSGetHiddenDriveListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSGetDrivePath( ByVal DriveName As String, ByVal SecurityLevel As SECURITYLEVEL, ByRef DrivePath As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSGetDrivePath", New Object() {DriveName, SecurityLevel}) + DrivePath = CType(results(1),String) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSGetDrivePathAsync(ByVal DriveName As String, ByVal SecurityLevel As SECURITYLEVEL) + Me.LogFSGetDrivePathAsync(DriveName, SecurityLevel, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSGetDrivePathAsync(ByVal DriveName As String, ByVal SecurityLevel As SECURITYLEVEL, ByVal userState As Object) + If (Me.LogFSGetDrivePathOperationCompleted Is Nothing) Then + Me.LogFSGetDrivePathOperationCompleted = AddressOf Me.OnLogFSGetDrivePathOperationCompleted + End If + Me.InvokeAsync("LogFSGetDrivePath", New Object() {DriveName, SecurityLevel}, Me.LogFSGetDrivePathOperationCompleted, userState) + End Sub + + Private Sub OnLogFSGetDrivePathOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSGetDrivePathCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSGetDrivePathCompleted(Me, New LogFSGetDrivePathCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSAddDrive( ByVal DriveName As String, ByVal PathName As String, ByVal Temporary As Boolean, ByVal SecurityLevel As SECURITYLEVEL, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSAddDrive", New Object() {DriveName, PathName, Temporary, SecurityLevel}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSAddDriveAsync(ByVal DriveName As String, ByVal PathName As String, ByVal Temporary As Boolean, ByVal SecurityLevel As SECURITYLEVEL) + Me.LogFSAddDriveAsync(DriveName, PathName, Temporary, SecurityLevel, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSAddDriveAsync(ByVal DriveName As String, ByVal PathName As String, ByVal Temporary As Boolean, ByVal SecurityLevel As SECURITYLEVEL, ByVal userState As Object) + If (Me.LogFSAddDriveOperationCompleted Is Nothing) Then + Me.LogFSAddDriveOperationCompleted = AddressOf Me.OnLogFSAddDriveOperationCompleted + End If + Me.InvokeAsync("LogFSAddDrive", New Object() {DriveName, PathName, Temporary, SecurityLevel}, Me.LogFSAddDriveOperationCompleted, userState) + End Sub + + Private Sub OnLogFSAddDriveOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSAddDriveCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSAddDriveCompleted(Me, New LogFSAddDriveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSRemoveDrive( ByVal DriveName As String, ByVal SecurityLevel As SECURITYLEVEL, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSRemoveDrive", New Object() {DriveName, SecurityLevel}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSRemoveDriveAsync(ByVal DriveName As String, ByVal SecurityLevel As SECURITYLEVEL) + Me.LogFSRemoveDriveAsync(DriveName, SecurityLevel, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSRemoveDriveAsync(ByVal DriveName As String, ByVal SecurityLevel As SECURITYLEVEL, ByVal userState As Object) + If (Me.LogFSRemoveDriveOperationCompleted Is Nothing) Then + Me.LogFSRemoveDriveOperationCompleted = AddressOf Me.OnLogFSRemoveDriveOperationCompleted + End If + Me.InvokeAsync("LogFSRemoveDrive", New Object() {DriveName, SecurityLevel}, Me.LogFSRemoveDriveOperationCompleted, userState) + End Sub + + Private Sub OnLogFSRemoveDriveOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSRemoveDriveCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSRemoveDriveCompleted(Me, New LogFSRemoveDriveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSReloadDriveList(ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSReloadDriveList", New Object(-1) {}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSReloadDriveListAsync() + Me.LogFSReloadDriveListAsync(Nothing) + End Sub + + ''' + Public Overloads Sub LogFSReloadDriveListAsync(ByVal userState As Object) + If (Me.LogFSReloadDriveListOperationCompleted Is Nothing) Then + Me.LogFSReloadDriveListOperationCompleted = AddressOf Me.OnLogFSReloadDriveListOperationCompleted + End If + Me.InvokeAsync("LogFSReloadDriveList", New Object(-1) {}, Me.LogFSReloadDriveListOperationCompleted, userState) + End Sub + + Private Sub OnLogFSReloadDriveListOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSReloadDriveListCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSReloadDriveListCompleted(Me, New LogFSReloadDriveListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSCreateDir( ByVal PathName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSCreateDir", New Object() {PathName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSCreateDirAsync(ByVal PathName As String) + Me.LogFSCreateDirAsync(PathName, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSCreateDirAsync(ByVal PathName As String, ByVal userState As Object) + If (Me.LogFSCreateDirOperationCompleted Is Nothing) Then + Me.LogFSCreateDirOperationCompleted = AddressOf Me.OnLogFSCreateDirOperationCompleted + End If + Me.InvokeAsync("LogFSCreateDir", New Object() {PathName}, Me.LogFSCreateDirOperationCompleted, userState) + End Sub + + Private Sub OnLogFSCreateDirOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSCreateDirCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSCreateDirCompleted(Me, New LogFSCreateDirCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSCreateFile( ByVal PathName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSCreateFile", New Object() {PathName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSCreateFileAsync(ByVal PathName As String) + Me.LogFSCreateFileAsync(PathName, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSCreateFileAsync(ByVal PathName As String, ByVal userState As Object) + If (Me.LogFSCreateFileOperationCompleted Is Nothing) Then + Me.LogFSCreateFileOperationCompleted = AddressOf Me.OnLogFSCreateFileOperationCompleted + End If + Me.InvokeAsync("LogFSCreateFile", New Object() {PathName}, Me.LogFSCreateFileOperationCompleted, userState) + End Sub + + Private Sub OnLogFSCreateFileOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSCreateFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSCreateFileCompleted(Me, New LogFSCreateFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSGetFileSize( ByVal PathName As String, ByRef Size As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSGetFileSize", New Object() {PathName}) + Size = CType(results(1),UInteger) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSGetFileSizeAsync(ByVal PathName As String) + Me.LogFSGetFileSizeAsync(PathName, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSGetFileSizeAsync(ByVal PathName As String, ByVal userState As Object) + If (Me.LogFSGetFileSizeOperationCompleted Is Nothing) Then + Me.LogFSGetFileSizeOperationCompleted = AddressOf Me.OnLogFSGetFileSizeOperationCompleted + End If + Me.InvokeAsync("LogFSGetFileSize", New Object() {PathName}, Me.LogFSGetFileSizeOperationCompleted, userState) + End Sub + + Private Sub OnLogFSGetFileSizeOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSGetFileSizeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSGetFileSizeCompleted(Me, New LogFSGetFileSizeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSGetFileAttrib( ByVal PathName As String, ByRef Attrib As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSGetFileAttrib", New Object() {PathName}) + Attrib = CType(results(1),UInteger) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSGetFileAttribAsync(ByVal PathName As String) + Me.LogFSGetFileAttribAsync(PathName, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSGetFileAttribAsync(ByVal PathName As String, ByVal userState As Object) + If (Me.LogFSGetFileAttribOperationCompleted Is Nothing) Then + Me.LogFSGetFileAttribOperationCompleted = AddressOf Me.OnLogFSGetFileAttribOperationCompleted + End If + Me.InvokeAsync("LogFSGetFileAttrib", New Object() {PathName}, Me.LogFSGetFileAttribOperationCompleted, userState) + End Sub + + Private Sub OnLogFSGetFileAttribOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSGetFileAttribCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSGetFileAttribCompleted(Me, New LogFSGetFileAttribCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSSetFileAttrib( ByVal PathName As String, ByVal Attrib As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSSetFileAttrib", New Object() {PathName, Attrib}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSSetFileAttribAsync(ByVal PathName As String, ByVal Attrib As UInteger) + Me.LogFSSetFileAttribAsync(PathName, Attrib, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSSetFileAttribAsync(ByVal PathName As String, ByVal Attrib As UInteger, ByVal userState As Object) + If (Me.LogFSSetFileAttribOperationCompleted Is Nothing) Then + Me.LogFSSetFileAttribOperationCompleted = AddressOf Me.OnLogFSSetFileAttribOperationCompleted + End If + Me.InvokeAsync("LogFSSetFileAttrib", New Object() {PathName, Attrib}, Me.LogFSSetFileAttribOperationCompleted, userState) + End Sub + + Private Sub OnLogFSSetFileAttribOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSSetFileAttribCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSSetFileAttribCompleted(Me, New LogFSSetFileAttribCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSChangeFileAttrib( ByVal PathName As String, ByVal Add As UInteger, ByVal Remove As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSChangeFileAttrib", New Object() {PathName, Add, Remove}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSChangeFileAttribAsync(ByVal PathName As String, ByVal Add As UInteger, ByVal Remove As UInteger) + Me.LogFSChangeFileAttribAsync(PathName, Add, Remove, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSChangeFileAttribAsync(ByVal PathName As String, ByVal Add As UInteger, ByVal Remove As UInteger, ByVal userState As Object) + If (Me.LogFSChangeFileAttribOperationCompleted Is Nothing) Then + Me.LogFSChangeFileAttribOperationCompleted = AddressOf Me.OnLogFSChangeFileAttribOperationCompleted + End If + Me.InvokeAsync("LogFSChangeFileAttrib", New Object() {PathName, Add, Remove}, Me.LogFSChangeFileAttribOperationCompleted, userState) + End Sub + + Private Sub OnLogFSChangeFileAttribOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSChangeFileAttribCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSChangeFileAttribCompleted(Me, New LogFSChangeFileAttribCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSFindFirst( ByVal FileName As String, ByRef FindData As FILEFINDDATA, ByRef Finder As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSFindFirst", New Object() {FileName}) + FindData = CType(results(1),FILEFINDDATA) + Finder = CType(results(2),UInteger) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSFindFirstAsync(ByVal FileName As String) + Me.LogFSFindFirstAsync(FileName, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSFindFirstAsync(ByVal FileName As String, ByVal userState As Object) + If (Me.LogFSFindFirstOperationCompleted Is Nothing) Then + Me.LogFSFindFirstOperationCompleted = AddressOf Me.OnLogFSFindFirstOperationCompleted + End If + Me.InvokeAsync("LogFSFindFirst", New Object() {FileName}, Me.LogFSFindFirstOperationCompleted, userState) + End Sub + + Private Sub OnLogFSFindFirstOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSFindFirstCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSFindFirstCompleted(Me, New LogFSFindFirstCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSFindNext(ByVal Finder As UInteger, ByRef FindData As FILEFINDDATA, ByRef Found As Boolean, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSFindNext", New Object() {Finder}) + FindData = CType(results(1),FILEFINDDATA) + Found = CType(results(2),Boolean) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSFindNextAsync(ByVal Finder As UInteger) + Me.LogFSFindNextAsync(Finder, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSFindNextAsync(ByVal Finder As UInteger, ByVal userState As Object) + If (Me.LogFSFindNextOperationCompleted Is Nothing) Then + Me.LogFSFindNextOperationCompleted = AddressOf Me.OnLogFSFindNextOperationCompleted + End If + Me.InvokeAsync("LogFSFindNext", New Object() {Finder}, Me.LogFSFindNextOperationCompleted, userState) + End Sub + + Private Sub OnLogFSFindNextOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSFindNextCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSFindNextCompleted(Me, New LogFSFindNextCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSFindClose(ByVal Finder As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSFindClose", New Object() {Finder}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSFindCloseAsync(ByVal Finder As UInteger) + Me.LogFSFindCloseAsync(Finder, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSFindCloseAsync(ByVal Finder As UInteger, ByVal userState As Object) + If (Me.LogFSFindCloseOperationCompleted Is Nothing) Then + Me.LogFSFindCloseOperationCompleted = AddressOf Me.OnLogFSFindCloseOperationCompleted + End If + Me.InvokeAsync("LogFSFindClose", New Object() {Finder}, Me.LogFSFindCloseOperationCompleted, userState) + End Sub + + Private Sub OnLogFSFindCloseOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSFindCloseCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSFindCloseCompleted(Me, New LogFSFindCloseCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSRemoveFile( ByVal PathName As String, ByVal FileName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSRemoveFile", New Object() {PathName, FileName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSRemoveFileAsync(ByVal PathName As String, ByVal FileName As String) + Me.LogFSRemoveFileAsync(PathName, FileName, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSRemoveFileAsync(ByVal PathName As String, ByVal FileName As String, ByVal userState As Object) + If (Me.LogFSRemoveFileOperationCompleted Is Nothing) Then + Me.LogFSRemoveFileOperationCompleted = AddressOf Me.OnLogFSRemoveFileOperationCompleted + End If + Me.InvokeAsync("LogFSRemoveFile", New Object() {PathName, FileName}, Me.LogFSRemoveFileOperationCompleted, userState) + End Sub + + Private Sub OnLogFSRemoveFileOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSRemoveFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSRemoveFileCompleted(Me, New LogFSRemoveFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSRemoveDir( ByVal PathName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSRemoveDir", New Object() {PathName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSRemoveDirAsync(ByVal PathName As String) + Me.LogFSRemoveDirAsync(PathName, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSRemoveDirAsync(ByVal PathName As String, ByVal userState As Object) + If (Me.LogFSRemoveDirOperationCompleted Is Nothing) Then + Me.LogFSRemoveDirOperationCompleted = AddressOf Me.OnLogFSRemoveDirOperationCompleted + End If + Me.InvokeAsync("LogFSRemoveDir", New Object() {PathName}, Me.LogFSRemoveDirOperationCompleted, userState) + End Sub + + Private Sub OnLogFSRemoveDirOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSRemoveDirCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSRemoveDirCompleted(Me, New LogFSRemoveDirCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSRename( ByVal PathName As String, ByVal NewPathName As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSRename", New Object() {PathName, NewPathName}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSRenameAsync(ByVal PathName As String, ByVal NewPathName As String) + Me.LogFSRenameAsync(PathName, NewPathName, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSRenameAsync(ByVal PathName As String, ByVal NewPathName As String, ByVal userState As Object) + If (Me.LogFSRenameOperationCompleted Is Nothing) Then + Me.LogFSRenameOperationCompleted = AddressOf Me.OnLogFSRenameOperationCompleted + End If + Me.InvokeAsync("LogFSRename", New Object() {PathName, NewPathName}, Me.LogFSRenameOperationCompleted, userState) + End Sub + + Private Sub OnLogFSRenameOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSRenameCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSRenameCompleted(Me, New LogFSRenameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSCopyFile( ByVal PathName As String, ByVal NewPathName As String, ByVal FailIfExists As Boolean, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSCopyFile", New Object() {PathName, NewPathName, FailIfExists}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSCopyFileAsync(ByVal PathName As String, ByVal NewPathName As String, ByVal FailIfExists As Boolean) + Me.LogFSCopyFileAsync(PathName, NewPathName, FailIfExists, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSCopyFileAsync(ByVal PathName As String, ByVal NewPathName As String, ByVal FailIfExists As Boolean, ByVal userState As Object) + If (Me.LogFSCopyFileOperationCompleted Is Nothing) Then + Me.LogFSCopyFileOperationCompleted = AddressOf Me.OnLogFSCopyFileOperationCompleted + End If + Me.InvokeAsync("LogFSCopyFile", New Object() {PathName, NewPathName, FailIfExists}, Me.LogFSCopyFileOperationCompleted, userState) + End Sub + + Private Sub OnLogFSCopyFileOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSCopyFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSCopyFileCompleted(Me, New LogFSCopyFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSGetInfo( ByVal PathName As String, ByVal Selector As UInteger, ByVal ItemCounter As UShort, ByRef Buffer() As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSGetInfo", New Object() {PathName, Selector, ItemCounter}) + Buffer = CType(results(1),UInteger()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSGetInfoAsync(ByVal PathName As String, ByVal Selector As UInteger, ByVal ItemCounter As UShort) + Me.LogFSGetInfoAsync(PathName, Selector, ItemCounter, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSGetInfoAsync(ByVal PathName As String, ByVal Selector As UInteger, ByVal ItemCounter As UShort, ByVal userState As Object) + If (Me.LogFSGetInfoOperationCompleted Is Nothing) Then + Me.LogFSGetInfoOperationCompleted = AddressOf Me.OnLogFSGetInfoOperationCompleted + End If + Me.InvokeAsync("LogFSGetInfo", New Object() {PathName, Selector, ItemCounter}, Me.LogFSGetInfoOperationCompleted, userState) + End Sub + + Private Sub OnLogFSGetInfoOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSGetInfoCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSGetInfoCompleted(Me, New LogFSGetInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSOpenFile( ByVal PathName As String, ByVal WriteMode As Boolean, ByVal DOSDateLastWrite As UShort, ByVal DOSTimeLastWrite As UShort, ByRef FileID As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSOpenFile", New Object() {PathName, WriteMode, DOSDateLastWrite, DOSTimeLastWrite}) + FileID = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSOpenFileAsync(ByVal PathName As String, ByVal WriteMode As Boolean, ByVal DOSDateLastWrite As UShort, ByVal DOSTimeLastWrite As UShort) + Me.LogFSOpenFileAsync(PathName, WriteMode, DOSDateLastWrite, DOSTimeLastWrite, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSOpenFileAsync(ByVal PathName As String, ByVal WriteMode As Boolean, ByVal DOSDateLastWrite As UShort, ByVal DOSTimeLastWrite As UShort, ByVal userState As Object) + If (Me.LogFSOpenFileOperationCompleted Is Nothing) Then + Me.LogFSOpenFileOperationCompleted = AddressOf Me.OnLogFSOpenFileOperationCompleted + End If + Me.InvokeAsync("LogFSOpenFile", New Object() {PathName, WriteMode, DOSDateLastWrite, DOSTimeLastWrite}, Me.LogFSOpenFileOperationCompleted, userState) + End Sub + + Private Sub OnLogFSOpenFileOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSOpenFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSOpenFileCompleted(Me, New LogFSOpenFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSCloseFile(ByRef FileID As UShort, ByVal Transaction As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSCloseFile", New Object() {FileID, Transaction}) + FileID = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSCloseFileAsync(ByVal FileID As UShort, ByVal Transaction As UShort) + Me.LogFSCloseFileAsync(FileID, Transaction, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSCloseFileAsync(ByVal FileID As UShort, ByVal Transaction As UShort, ByVal userState As Object) + If (Me.LogFSCloseFileOperationCompleted Is Nothing) Then + Me.LogFSCloseFileOperationCompleted = AddressOf Me.OnLogFSCloseFileOperationCompleted + End If + Me.InvokeAsync("LogFSCloseFile", New Object() {FileID, Transaction}, Me.LogFSCloseFileOperationCompleted, userState) + End Sub + + Private Sub OnLogFSCloseFileOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSCloseFileCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSCloseFileCompleted(Me, New LogFSCloseFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetSysTick(ByRef SysTick As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetSysTick", New Object(-1) {}) + SysTick = CType(results(1),Double) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetSysTickAsync() + Me.GetSysTickAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetSysTickAsync(ByVal userState As Object) + If (Me.GetSysTickOperationCompleted Is Nothing) Then + Me.GetSysTickOperationCompleted = AddressOf Me.OnGetSysTickOperationCompleted + End If + Me.InvokeAsync("GetSysTick", New Object(-1) {}, Me.GetSysTickOperationCompleted, userState) + End Sub + + Private Sub OnGetSysTickOperationCompleted(ByVal arg As Object) + If (Not (Me.GetSysTickCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetSysTickCompleted(Me, New GetSysTickCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetProcessConfNum(ByRef ProcessConfNum As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetProcessConfNum", New Object(-1) {}) + ProcessConfNum = CType(results(1),Byte) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetProcessConfNumAsync() + Me.GetProcessConfNumAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetProcessConfNumAsync(ByVal userState As Object) + If (Me.GetProcessConfNumOperationCompleted Is Nothing) Then + Me.GetProcessConfNumOperationCompleted = AddressOf Me.OnGetProcessConfNumOperationCompleted + End If + Me.InvokeAsync("GetProcessConfNum", New Object(-1) {}, Me.GetProcessConfNumOperationCompleted, userState) + End Sub + + Private Sub OnGetProcessConfNumOperationCompleted(ByVal arg As Object) + If (Not (Me.GetProcessConfNumCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetProcessConfNumCompleted(Me, New GetProcessConfNumCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function CheckHistory( ByRef ThisBootMsgCounter() As UInteger, ByRef AllBootMsgCounter() As UInteger, ByRef ThisBootID() As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("CheckHistory", New Object(-1) {}) + ThisBootMsgCounter = CType(results(1),UInteger()) + AllBootMsgCounter = CType(results(2),UInteger()) + ThisBootID = CType(results(3),UInteger()) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub CheckHistoryAsync() + Me.CheckHistoryAsync(Nothing) + End Sub + + ''' + Public Overloads Sub CheckHistoryAsync(ByVal userState As Object) + If (Me.CheckHistoryOperationCompleted Is Nothing) Then + Me.CheckHistoryOperationCompleted = AddressOf Me.OnCheckHistoryOperationCompleted + End If + Me.InvokeAsync("CheckHistory", New Object(-1) {}, Me.CheckHistoryOperationCompleted, userState) + End Sub + + Private Sub OnCheckHistoryOperationCompleted(ByVal arg As Object) + If (Not (Me.CheckHistoryCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent CheckHistoryCompleted(Me, New CheckHistoryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadHistoryEmergMsg(ByVal ReadMode As Integer, ByVal RecNum As UInteger, ByRef Data As MSGEMERGENCY, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadHistoryEmergMsg", New Object() {ReadMode, RecNum}) + Data = CType(results(1),MSGEMERGENCY) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadHistoryEmergMsgAsync(ByVal ReadMode As Integer, ByVal RecNum As UInteger) + Me.ReadHistoryEmergMsgAsync(ReadMode, RecNum, Nothing) + End Sub + + ''' + Public Overloads Sub ReadHistoryEmergMsgAsync(ByVal ReadMode As Integer, ByVal RecNum As UInteger, ByVal userState As Object) + If (Me.ReadHistoryEmergMsgOperationCompleted Is Nothing) Then + Me.ReadHistoryEmergMsgOperationCompleted = AddressOf Me.OnReadHistoryEmergMsgOperationCompleted + End If + Me.InvokeAsync("ReadHistoryEmergMsg", New Object() {ReadMode, RecNum}, Me.ReadHistoryEmergMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadHistoryEmergMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadHistoryEmergMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadHistoryEmergMsgCompleted(Me, New ReadHistoryEmergMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadHistoryErrorMsg(ByVal ReadMode As Integer, ByVal RecNum As UInteger, ByRef Data As MSGERROR, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadHistoryErrorMsg", New Object() {ReadMode, RecNum}) + Data = CType(results(1),MSGERROR) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadHistoryErrorMsgAsync(ByVal ReadMode As Integer, ByVal RecNum As UInteger) + Me.ReadHistoryErrorMsgAsync(ReadMode, RecNum, Nothing) + End Sub + + ''' + Public Overloads Sub ReadHistoryErrorMsgAsync(ByVal ReadMode As Integer, ByVal RecNum As UInteger, ByVal userState As Object) + If (Me.ReadHistoryErrorMsgOperationCompleted Is Nothing) Then + Me.ReadHistoryErrorMsgOperationCompleted = AddressOf Me.OnReadHistoryErrorMsgOperationCompleted + End If + Me.InvokeAsync("ReadHistoryErrorMsg", New Object() {ReadMode, RecNum}, Me.ReadHistoryErrorMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadHistoryErrorMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadHistoryErrorMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadHistoryErrorMsgCompleted(Me, New ReadHistoryErrorMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadHistoryLogMsg(ByVal NoHistory As Integer, ByVal ReadMode As Integer, ByVal RecNum As UInteger, ByRef Data As MSGLOGS, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadHistoryLogMsg", New Object() {NoHistory, ReadMode, RecNum}) + Data = CType(results(1),MSGLOGS) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadHistoryLogMsgAsync(ByVal NoHistory As Integer, ByVal ReadMode As Integer, ByVal RecNum As UInteger) + Me.ReadHistoryLogMsgAsync(NoHistory, ReadMode, RecNum, Nothing) + End Sub + + ''' + Public Overloads Sub ReadHistoryLogMsgAsync(ByVal NoHistory As Integer, ByVal ReadMode As Integer, ByVal RecNum As UInteger, ByVal userState As Object) + If (Me.ReadHistoryLogMsgOperationCompleted Is Nothing) Then + Me.ReadHistoryLogMsgOperationCompleted = AddressOf Me.OnReadHistoryLogMsgOperationCompleted + End If + Me.InvokeAsync("ReadHistoryLogMsg", New Object() {NoHistory, ReadMode, RecNum}, Me.ReadHistoryLogMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadHistoryLogMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadHistoryLogMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadHistoryLogMsgCompleted(Me, New ReadHistoryLogMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadHistoryAnomalyMsg(ByVal ReadMode As Integer, ByVal RecNum As UInteger, ByRef Data As MSGANOMALY, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadHistoryAnomalyMsg", New Object() {ReadMode, RecNum}) + Data = CType(results(1),MSGANOMALY) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadHistoryAnomalyMsgAsync(ByVal ReadMode As Integer, ByVal RecNum As UInteger) + Me.ReadHistoryAnomalyMsgAsync(ReadMode, RecNum, Nothing) + End Sub + + ''' + Public Overloads Sub ReadHistoryAnomalyMsgAsync(ByVal ReadMode As Integer, ByVal RecNum As UInteger, ByVal userState As Object) + If (Me.ReadHistoryAnomalyMsgOperationCompleted Is Nothing) Then + Me.ReadHistoryAnomalyMsgOperationCompleted = AddressOf Me.OnReadHistoryAnomalyMsgOperationCompleted + End If + Me.InvokeAsync("ReadHistoryAnomalyMsg", New Object() {ReadMode, RecNum}, Me.ReadHistoryAnomalyMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadHistoryAnomalyMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadHistoryAnomalyMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadHistoryAnomalyMsgCompleted(Me, New ReadHistoryAnomalyMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadCurrentErrorMsg(ByVal Process As UShort, ByRef Data As MSGERROR, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadCurrentErrorMsg", New Object() {Process}) + Data = CType(results(1),MSGERROR) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadCurrentErrorMsgAsync(ByVal Process As UShort) + Me.ReadCurrentErrorMsgAsync(Process, Nothing) + End Sub + + ''' + Public Overloads Sub ReadCurrentErrorMsgAsync(ByVal Process As UShort, ByVal userState As Object) + If (Me.ReadCurrentErrorMsgOperationCompleted Is Nothing) Then + Me.ReadCurrentErrorMsgOperationCompleted = AddressOf Me.OnReadCurrentErrorMsgOperationCompleted + End If + Me.InvokeAsync("ReadCurrentErrorMsg", New Object() {Process}, Me.ReadCurrentErrorMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadCurrentErrorMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadCurrentErrorMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadCurrentErrorMsgCompleted(Me, New ReadCurrentErrorMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadCurrentEmergMsg(ByVal Process As UShort, ByRef Data As MSGEMERGENCY, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadCurrentEmergMsg", New Object() {Process}) + Data = CType(results(1),MSGEMERGENCY) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadCurrentEmergMsgAsync(ByVal Process As UShort) + Me.ReadCurrentEmergMsgAsync(Process, Nothing) + End Sub + + ''' + Public Overloads Sub ReadCurrentEmergMsgAsync(ByVal Process As UShort, ByVal userState As Object) + If (Me.ReadCurrentEmergMsgOperationCompleted Is Nothing) Then + Me.ReadCurrentEmergMsgOperationCompleted = AddressOf Me.OnReadCurrentEmergMsgOperationCompleted + End If + Me.InvokeAsync("ReadCurrentEmergMsg", New Object() {Process}, Me.ReadCurrentEmergMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadCurrentEmergMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadCurrentEmergMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadCurrentEmergMsgCompleted(Me, New ReadCurrentEmergMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadCurrentAnomalyMsg(ByRef Data As MSGANOMALY, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadCurrentAnomalyMsg", New Object(-1) {}) + Data = CType(results(1),MSGANOMALY) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadCurrentAnomalyMsgAsync() + Me.ReadCurrentAnomalyMsgAsync(Nothing) + End Sub + + ''' + Public Overloads Sub ReadCurrentAnomalyMsgAsync(ByVal userState As Object) + If (Me.ReadCurrentAnomalyMsgOperationCompleted Is Nothing) Then + Me.ReadCurrentAnomalyMsgOperationCompleted = AddressOf Me.OnReadCurrentAnomalyMsgOperationCompleted + End If + Me.InvokeAsync("ReadCurrentAnomalyMsg", New Object(-1) {}, Me.ReadCurrentAnomalyMsgOperationCompleted, userState) + End Sub + + Private Sub OnReadCurrentAnomalyMsgOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadCurrentAnomalyMsgCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadCurrentAnomalyMsgCompleted(Me, New ReadCurrentAnomalyMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetPTechSizes(ByVal Process As UShort, ByRef Ind1 As UShort, ByRef Ind2 As UShort, ByRef Ind3 As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetPTechSizes", New Object() {Process}) + Ind1 = CType(results(1),UShort) + Ind2 = CType(results(2),UShort) + Ind3 = CType(results(3),UShort) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetPTechSizesAsync(ByVal Process As UShort) + Me.GetPTechSizesAsync(Process, Nothing) + End Sub + + ''' + Public Overloads Sub GetPTechSizesAsync(ByVal Process As UShort, ByVal userState As Object) + If (Me.GetPTechSizesOperationCompleted Is Nothing) Then + Me.GetPTechSizesOperationCompleted = AddressOf Me.OnGetPTechSizesOperationCompleted + End If + Me.InvokeAsync("GetPTechSizes", New Object() {Process}, Me.GetPTechSizesOperationCompleted, userState) + End Sub + + Private Sub OnGetPTechSizesOperationCompleted(ByVal arg As Object) + If (Not (Me.GetPTechSizesCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetPTechSizesCompleted(Me, New GetPTechSizesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LoadPTech(ByVal Process As UShort, ByVal PPPathName As String, ByVal WriteMode As UShort, ByVal Sheet As UShort, ByVal Line As UShort, ByVal Column As UShort, ByVal NumVar As UShort, ByVal Data() As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LoadPTech", New Object() {Process, PPPathName, WriteMode, Sheet, Line, Column, NumVar, Data}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LoadPTechAsync(ByVal Process As UShort, ByVal PPPathName As String, ByVal WriteMode As UShort, ByVal Sheet As UShort, ByVal Line As UShort, ByVal Column As UShort, ByVal NumVar As UShort, ByVal Data() As Double) + Me.LoadPTechAsync(Process, PPPathName, WriteMode, Sheet, Line, Column, NumVar, Data, Nothing) + End Sub + + ''' + Public Overloads Sub LoadPTechAsync(ByVal Process As UShort, ByVal PPPathName As String, ByVal WriteMode As UShort, ByVal Sheet As UShort, ByVal Line As UShort, ByVal Column As UShort, ByVal NumVar As UShort, ByVal Data() As Double, ByVal userState As Object) + If (Me.LoadPTechOperationCompleted Is Nothing) Then + Me.LoadPTechOperationCompleted = AddressOf Me.OnLoadPTechOperationCompleted + End If + Me.InvokeAsync("LoadPTech", New Object() {Process, PPPathName, WriteMode, Sheet, Line, Column, NumVar, Data}, Me.LoadPTechOperationCompleted, userState) + End Sub + + Private Sub OnLoadPTechOperationCompleted(ByVal arg As Object) + If (Not (Me.LoadPTechCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LoadPTechCompleted(Me, New LoadPTechCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetMarkerInfo(ByVal Process As UShort, ByVal Request As Byte, ByRef MarkerInfo As MARKERINFO, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetMarkerInfo", New Object() {Process, Request}) + MarkerInfo = CType(results(1),MARKERINFO) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetMarkerInfoAsync(ByVal Process As UShort, ByVal Request As Byte) + Me.GetMarkerInfoAsync(Process, Request, Nothing) + End Sub + + ''' + Public Overloads Sub GetMarkerInfoAsync(ByVal Process As UShort, ByVal Request As Byte, ByVal userState As Object) + If (Me.GetMarkerInfoOperationCompleted Is Nothing) Then + Me.GetMarkerInfoOperationCompleted = AddressOf Me.OnGetMarkerInfoOperationCompleted + End If + Me.InvokeAsync("GetMarkerInfo", New Object() {Process, Request}, Me.GetMarkerInfoOperationCompleted, userState) + End Sub + + Private Sub OnGetMarkerInfoOperationCompleted(ByVal arg As Object) + If (Not (Me.GetMarkerInfoCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetMarkerInfoCompleted(Me, New GetMarkerInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ManagePartProgram(ByVal Process As UShort, ByVal Mode As UShort, ByVal PPPath As String, ByRef ErrString() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ManagePartProgram", New Object() {Process, Mode, PPPath}) + ErrString = CType(results(1),Byte()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ManagePartProgramAsync(ByVal Process As UShort, ByVal Mode As UShort, ByVal PPPath As String) + Me.ManagePartProgramAsync(Process, Mode, PPPath, Nothing) + End Sub + + ''' + Public Overloads Sub ManagePartProgramAsync(ByVal Process As UShort, ByVal Mode As UShort, ByVal PPPath As String, ByVal userState As Object) + If (Me.ManagePartProgramOperationCompleted Is Nothing) Then + Me.ManagePartProgramOperationCompleted = AddressOf Me.OnManagePartProgramOperationCompleted + End If + Me.InvokeAsync("ManagePartProgram", New Object() {Process, Mode, PPPath}, Me.ManagePartProgramOperationCompleted, userState) + End Sub + + Private Sub OnManagePartProgramOperationCompleted(ByVal arg As Object) + If (Not (Me.ManagePartProgramCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ManagePartProgramCompleted(Me, New ManagePartProgramCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSWriteRecord(ByVal FileID As UShort, ByVal Transaction As UShort, ByVal RecordLen As UInteger, ByVal Record() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSWriteRecord", New Object() {FileID, Transaction, RecordLen, Record}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSWriteRecordAsync(ByVal FileID As UShort, ByVal Transaction As UShort, ByVal RecordLen As UInteger, ByVal Record() As Byte) + Me.LogFSWriteRecordAsync(FileID, Transaction, RecordLen, Record, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSWriteRecordAsync(ByVal FileID As UShort, ByVal Transaction As UShort, ByVal RecordLen As UInteger, ByVal Record() As Byte, ByVal userState As Object) + If (Me.LogFSWriteRecordOperationCompleted Is Nothing) Then + Me.LogFSWriteRecordOperationCompleted = AddressOf Me.OnLogFSWriteRecordOperationCompleted + End If + Me.InvokeAsync("LogFSWriteRecord", New Object() {FileID, Transaction, RecordLen, Record}, Me.LogFSWriteRecordOperationCompleted, userState) + End Sub + + Private Sub OnLogFSWriteRecordOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSWriteRecordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSWriteRecordCompleted(Me, New LogFSWriteRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function LogFSReadRecord(ByVal FileID As UShort, ByVal Transaction As UShort, ByVal RecordLen As UInteger, ByRef DataSize As UInteger, ByRef Record() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("LogFSReadRecord", New Object() {FileID, Transaction, RecordLen}) + DataSize = CType(results(1),UInteger) + Record = CType(results(2),Byte()) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub LogFSReadRecordAsync(ByVal FileID As UShort, ByVal Transaction As UShort, ByVal RecordLen As UInteger) + Me.LogFSReadRecordAsync(FileID, Transaction, RecordLen, Nothing) + End Sub + + ''' + Public Overloads Sub LogFSReadRecordAsync(ByVal FileID As UShort, ByVal Transaction As UShort, ByVal RecordLen As UInteger, ByVal userState As Object) + If (Me.LogFSReadRecordOperationCompleted Is Nothing) Then + Me.LogFSReadRecordOperationCompleted = AddressOf Me.OnLogFSReadRecordOperationCompleted + End If + Me.InvokeAsync("LogFSReadRecord", New Object() {FileID, Transaction, RecordLen}, Me.LogFSReadRecordOperationCompleted, userState) + End Sub + + Private Sub OnLogFSReadRecordOperationCompleted(ByVal arg As Object) + If (Not (Me.LogFSReadRecordCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent LogFSReadRecordCompleted(Me, New LogFSReadRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadRemapDefinitions(ByVal ArraySize As Integer, ByVal Type As Integer, ByRef Array() As REMAPDEF, ByRef DefinitionsCnt As Integer, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadRemapDefinitions", New Object() {ArraySize, Type}) + Array = CType(results(1),REMAPDEF()) + DefinitionsCnt = CType(results(2),Integer) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadRemapDefinitionsAsync(ByVal ArraySize As Integer, ByVal Type As Integer) + Me.ReadRemapDefinitionsAsync(ArraySize, Type, Nothing) + End Sub + + ''' + Public Overloads Sub ReadRemapDefinitionsAsync(ByVal ArraySize As Integer, ByVal Type As Integer, ByVal userState As Object) + If (Me.ReadRemapDefinitionsOperationCompleted Is Nothing) Then + Me.ReadRemapDefinitionsOperationCompleted = AddressOf Me.OnReadRemapDefinitionsOperationCompleted + End If + Me.InvokeAsync("ReadRemapDefinitions", New Object() {ArraySize, Type}, Me.ReadRemapDefinitionsOperationCompleted, userState) + End Sub + + Private Sub OnReadRemapDefinitionsOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadRemapDefinitionsCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadRemapDefinitionsCompleted(Me, New ReadRemapDefinitionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteRemapDefinitions(ByVal ArraySize As Integer, ByVal Array() As REMAPDEF, ByVal Type As Integer, ByVal Mode As Integer, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteRemapDefinitions", New Object() {ArraySize, Array, Type, Mode}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteRemapDefinitionsAsync(ByVal ArraySize As Integer, ByVal Array() As REMAPDEF, ByVal Type As Integer, ByVal Mode As Integer) + Me.WriteRemapDefinitionsAsync(ArraySize, Array, Type, Mode, Nothing) + End Sub + + ''' + Public Overloads Sub WriteRemapDefinitionsAsync(ByVal ArraySize As Integer, ByVal Array() As REMAPDEF, ByVal Type As Integer, ByVal Mode As Integer, ByVal userState As Object) + If (Me.WriteRemapDefinitionsOperationCompleted Is Nothing) Then + Me.WriteRemapDefinitionsOperationCompleted = AddressOf Me.OnWriteRemapDefinitionsOperationCompleted + End If + Me.InvokeAsync("WriteRemapDefinitions", New Object() {ArraySize, Array, Type, Mode}, Me.WriteRemapDefinitionsOperationCompleted, userState) + End Sub + + Private Sub OnWriteRemapDefinitionsOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteRemapDefinitionsCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteRemapDefinitionsCompleted(Me, New WriteRemapDefinitionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetServoPar(ByVal AxisId As UShort, ByVal ParId As UShort, ByRef Value As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetServoPar", New Object() {AxisId, ParId}) + Value = CType(results(1),Double) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetServoParAsync(ByVal AxisId As UShort, ByVal ParId As UShort) + Me.GetServoParAsync(AxisId, ParId, Nothing) + End Sub + + ''' + Public Overloads Sub GetServoParAsync(ByVal AxisId As UShort, ByVal ParId As UShort, ByVal userState As Object) + If (Me.GetServoParOperationCompleted Is Nothing) Then + Me.GetServoParOperationCompleted = AddressOf Me.OnGetServoParOperationCompleted + End If + Me.InvokeAsync("GetServoPar", New Object() {AxisId, ParId}, Me.GetServoParOperationCompleted, userState) + End Sub + + Private Sub OnGetServoParOperationCompleted(ByVal arg As Object) + If (Not (Me.GetServoParCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetServoParCompleted(Me, New GetServoParCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetServoPar(ByVal AxisId As UShort, ByVal ParId As UShort, ByVal Value As Double, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetServoPar", New Object() {AxisId, ParId, Value}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetServoParAsync(ByVal AxisId As UShort, ByVal ParId As UShort, ByVal Value As Double) + Me.SetServoParAsync(AxisId, ParId, Value, Nothing) + End Sub + + ''' + Public Overloads Sub SetServoParAsync(ByVal AxisId As UShort, ByVal ParId As UShort, ByVal Value As Double, ByVal userState As Object) + If (Me.SetServoParOperationCompleted Is Nothing) Then + Me.SetServoParOperationCompleted = AddressOf Me.OnSetServoParOperationCompleted + End If + Me.InvokeAsync("SetServoPar", New Object() {AxisId, ParId, Value}, Me.SetServoParOperationCompleted, userState) + End Sub + + Private Sub OnSetServoParOperationCompleted(ByVal arg As Object) + If (Not (Me.SetServoParCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetServoParCompleted(Me, New SetServoParCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetCNCRegKey( ByVal Key As String, ByVal SubKey As String, ByRef ValueLen As Integer, ByRef Value() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetCNCRegKey", New Object() {Key, SubKey, ValueLen}) + ValueLen = CType(results(1),Integer) + Value = CType(results(2),Byte()) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetCNCRegKeyAsync(ByVal Key As String, ByVal SubKey As String, ByVal ValueLen As Integer) + Me.GetCNCRegKeyAsync(Key, SubKey, ValueLen, Nothing) + End Sub + + ''' + Public Overloads Sub GetCNCRegKeyAsync(ByVal Key As String, ByVal SubKey As String, ByVal ValueLen As Integer, ByVal userState As Object) + If (Me.GetCNCRegKeyOperationCompleted Is Nothing) Then + Me.GetCNCRegKeyOperationCompleted = AddressOf Me.OnGetCNCRegKeyOperationCompleted + End If + Me.InvokeAsync("GetCNCRegKey", New Object() {Key, SubKey, ValueLen}, Me.GetCNCRegKeyOperationCompleted, userState) + End Sub + + Private Sub OnGetCNCRegKeyOperationCompleted(ByVal arg As Object) + If (Not (Me.GetCNCRegKeyCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetCNCRegKeyCompleted(Me, New GetCNCRegKeyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetSecurityData(ByRef Data As SECURDATA, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetSecurityData", New Object(-1) {}) + Data = CType(results(1),SECURDATA) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetSecurityDataAsync() + Me.GetSecurityDataAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetSecurityDataAsync(ByVal userState As Object) + If (Me.GetSecurityDataOperationCompleted Is Nothing) Then + Me.GetSecurityDataOperationCompleted = AddressOf Me.OnGetSecurityDataOperationCompleted + End If + Me.InvokeAsync("GetSecurityData", New Object(-1) {}, Me.GetSecurityDataOperationCompleted, userState) + End Sub + + Private Sub OnGetSecurityDataOperationCompleted(ByVal arg As Object) + If (Not (Me.GetSecurityDataCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetSecurityDataCompleted(Me, New GetSecurityDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetSecurityData(ByVal Data As SECURDATA, ByVal Flag As Boolean, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetSecurityData", New Object() {Data, Flag}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetSecurityDataAsync(ByVal Data As SECURDATA, ByVal Flag As Boolean) + Me.SetSecurityDataAsync(Data, Flag, Nothing) + End Sub + + ''' + Public Overloads Sub SetSecurityDataAsync(ByVal Data As SECURDATA, ByVal Flag As Boolean, ByVal userState As Object) + If (Me.SetSecurityDataOperationCompleted Is Nothing) Then + Me.SetSecurityDataOperationCompleted = AddressOf Me.OnSetSecurityDataOperationCompleted + End If + Me.InvokeAsync("SetSecurityData", New Object() {Data, Flag}, Me.SetSecurityDataOperationCompleted, userState) + End Sub + + Private Sub OnSetSecurityDataOperationCompleted(ByVal arg As Object) + If (Not (Me.SetSecurityDataCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetSecurityDataCompleted(Me, New SetSecurityDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetIpAddress( ByVal IpAddress As String, ByVal SubNetMask As String, ByVal DefaultGateway As String, ByVal Dns As String, ByVal Wins As String, ByVal Net As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetIpAddress", New Object() {IpAddress, SubNetMask, DefaultGateway, Dns, Wins, Net}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetIpAddressAsync(ByVal IpAddress As String, ByVal SubNetMask As String, ByVal DefaultGateway As String, ByVal Dns As String, ByVal Wins As String, ByVal Net As String) + Me.SetIpAddressAsync(IpAddress, SubNetMask, DefaultGateway, Dns, Wins, Net, Nothing) + End Sub + + ''' + Public Overloads Sub SetIpAddressAsync(ByVal IpAddress As String, ByVal SubNetMask As String, ByVal DefaultGateway As String, ByVal Dns As String, ByVal Wins As String, ByVal Net As String, ByVal userState As Object) + If (Me.SetIpAddressOperationCompleted Is Nothing) Then + Me.SetIpAddressOperationCompleted = AddressOf Me.OnSetIpAddressOperationCompleted + End If + Me.InvokeAsync("SetIpAddress", New Object() {IpAddress, SubNetMask, DefaultGateway, Dns, Wins, Net}, Me.SetIpAddressOperationCompleted, userState) + End Sub + + Private Sub OnSetIpAddressOperationCompleted(ByVal arg As Object) + If (Not (Me.SetIpAddressCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetIpAddressCompleted(Me, New SetIpAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetProcInInput(ByVal Process As UShort, ByRef ProcInfo As INPUTINFO, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetProcInInput", New Object() {Process}) + ProcInfo = CType(results(1),INPUTINFO) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetProcInInputAsync(ByVal Process As UShort) + Me.GetProcInInputAsync(Process, Nothing) + End Sub + + ''' + Public Overloads Sub GetProcInInputAsync(ByVal Process As UShort, ByVal userState As Object) + If (Me.GetProcInInputOperationCompleted Is Nothing) Then + Me.GetProcInInputOperationCompleted = AddressOf Me.OnGetProcInInputOperationCompleted + End If + Me.InvokeAsync("GetProcInInput", New Object() {Process}, Me.GetProcInInputOperationCompleted, userState) + End Sub + + Private Sub OnGetProcInInputOperationCompleted(ByVal arg As Object) + If (Not (Me.GetProcInInputCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetProcInInputCompleted(Me, New GetProcInInputCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SndProcInpData(ByVal Process As UShort, ByVal keyPressed As UShort, ByVal numData As UShort, ByVal arData() As Byte, ByVal arSize As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SndProcInpData", New Object() {Process, keyPressed, numData, arData, arSize}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SndProcInpDataAsync(ByVal Process As UShort, ByVal keyPressed As UShort, ByVal numData As UShort, ByVal arData() As Byte, ByVal arSize As UShort) + Me.SndProcInpDataAsync(Process, keyPressed, numData, arData, arSize, Nothing) + End Sub + + ''' + Public Overloads Sub SndProcInpDataAsync(ByVal Process As UShort, ByVal keyPressed As UShort, ByVal numData As UShort, ByVal arData() As Byte, ByVal arSize As UShort, ByVal userState As Object) + If (Me.SndProcInpDataOperationCompleted Is Nothing) Then + Me.SndProcInpDataOperationCompleted = AddressOf Me.OnSndProcInpDataOperationCompleted + End If + Me.InvokeAsync("SndProcInpData", New Object() {Process, keyPressed, numData, arData, arSize}, Me.SndProcInpDataOperationCompleted, userState) + End Sub + + Private Sub OnSndProcInpDataOperationCompleted(ByVal arg As Object) + If (Not (Me.SndProcInpDataCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SndProcInpDataCompleted(Me, New SndProcInpDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetPartProgramLinesEx(ByVal ProcNum As UShort, ByRef PPLine1() As Byte, ByRef PPLine2() As Byte, ByRef PPLine3() As Byte, ByRef PPLine4() As Byte, ByRef PPLine5() As Byte, ByRef PPLine6() As Byte, ByRef PPLine7() As Byte, ByRef PPLine8() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetPartProgramLinesEx", New Object() {ProcNum}) + PPLine1 = CType(results(1),Byte()) + PPLine2 = CType(results(2),Byte()) + PPLine3 = CType(results(3),Byte()) + PPLine4 = CType(results(4),Byte()) + PPLine5 = CType(results(5),Byte()) + PPLine6 = CType(results(6),Byte()) + PPLine7 = CType(results(7),Byte()) + PPLine8 = CType(results(8),Byte()) + ErrClass = CType(results(9),UInteger) + ErrNum = CType(results(10),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetPartProgramLinesExAsync(ByVal ProcNum As UShort) + Me.GetPartProgramLinesExAsync(ProcNum, Nothing) + End Sub + + ''' + Public Overloads Sub GetPartProgramLinesExAsync(ByVal ProcNum As UShort, ByVal userState As Object) + If (Me.GetPartProgramLinesExOperationCompleted Is Nothing) Then + Me.GetPartProgramLinesExOperationCompleted = AddressOf Me.OnGetPartProgramLinesExOperationCompleted + End If + Me.InvokeAsync("GetPartProgramLinesEx", New Object() {ProcNum}, Me.GetPartProgramLinesExOperationCompleted, userState) + End Sub + + Private Sub OnGetPartProgramLinesExOperationCompleted(ByVal arg As Object) + If (Not (Me.GetPartProgramLinesExCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetPartProgramLinesExCompleted(Me, New GetPartProgramLinesExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetMdiStringEx(ByVal ProcNum As UShort, ByVal MdiString As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetMdiStringEx", New Object() {ProcNum, MdiString}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetMdiStringExAsync(ByVal ProcNum As UShort, ByVal MdiString As String) + Me.SetMdiStringExAsync(ProcNum, MdiString, Nothing) + End Sub + + ''' + Public Overloads Sub SetMdiStringExAsync(ByVal ProcNum As UShort, ByVal MdiString As String, ByVal userState As Object) + If (Me.SetMdiStringExOperationCompleted Is Nothing) Then + Me.SetMdiStringExOperationCompleted = AddressOf Me.OnSetMdiStringExOperationCompleted + End If + Me.InvokeAsync("SetMdiStringEx", New Object() {ProcNum, MdiString}, Me.SetMdiStringExOperationCompleted, userState) + End Sub + + Private Sub OnSetMdiStringExOperationCompleted(ByVal arg As Object) + If (Not (Me.SetMdiStringExCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetMdiStringExCompleted(Me, New SetMdiStringExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetExpireData(ByRef Day As UShort, ByRef Month As UShort, ByRef Year As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetExpireData", New Object(-1) {}) + Day = CType(results(1),UShort) + Month = CType(results(2),UShort) + Year = CType(results(3),UShort) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetExpireDataAsync() + Me.GetExpireDataAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetExpireDataAsync(ByVal userState As Object) + If (Me.GetExpireDataOperationCompleted Is Nothing) Then + Me.GetExpireDataOperationCompleted = AddressOf Me.OnGetExpireDataOperationCompleted + End If + Me.InvokeAsync("GetExpireData", New Object(-1) {}, Me.GetExpireDataOperationCompleted, userState) + End Sub + + Private Sub OnGetExpireDataOperationCompleted(ByVal arg As Object) + If (Not (Me.GetExpireDataCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetExpireDataCompleted(Me, New GetExpireDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetRemainingTime(ByRef remTime As Long, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetRemainingTime", New Object(-1) {}) + remTime = CType(results(1),Long) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetRemainingTimeAsync() + Me.GetRemainingTimeAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetRemainingTimeAsync(ByVal userState As Object) + If (Me.GetRemainingTimeOperationCompleted Is Nothing) Then + Me.GetRemainingTimeOperationCompleted = AddressOf Me.OnGetRemainingTimeOperationCompleted + End If + Me.InvokeAsync("GetRemainingTime", New Object(-1) {}, Me.GetRemainingTimeOperationCompleted, userState) + End Sub + + Private Sub OnGetRemainingTimeOperationCompleted(ByVal arg As Object) + If (Not (Me.GetRemainingTimeCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetRemainingTimeCompleted(Me, New GetRemainingTimeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GenerateUserKey( ByRef keyUser() As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GenerateUserKey", New Object(-1) {}) + keyUser = CType(results(1),String()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GenerateUserKeyAsync() + Me.GenerateUserKeyAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GenerateUserKeyAsync(ByVal userState As Object) + If (Me.GenerateUserKeyOperationCompleted Is Nothing) Then + Me.GenerateUserKeyOperationCompleted = AddressOf Me.OnGenerateUserKeyOperationCompleted + End If + Me.InvokeAsync("GenerateUserKey", New Object(-1) {}, Me.GenerateUserKeyOperationCompleted, userState) + End Sub + + Private Sub OnGenerateUserKeyOperationCompleted(ByVal arg As Object) + If (Not (Me.GenerateUserKeyCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GenerateUserKeyCompleted(Me, New GenerateUserKeyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function WriteActivationKey( ByVal OEMKey As String, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("WriteActivationKey", New Object() {OEMKey}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub WriteActivationKeyAsync(ByVal OEMKey As String) + Me.WriteActivationKeyAsync(OEMKey, Nothing) + End Sub + + ''' + Public Overloads Sub WriteActivationKeyAsync(ByVal OEMKey As String, ByVal userState As Object) + If (Me.WriteActivationKeyOperationCompleted Is Nothing) Then + Me.WriteActivationKeyOperationCompleted = AddressOf Me.OnWriteActivationKeyOperationCompleted + End If + Me.InvokeAsync("WriteActivationKey", New Object() {OEMKey}, Me.WriteActivationKeyOperationCompleted, userState) + End Sub + + Private Sub OnWriteActivationKeyOperationCompleted(ByVal arg As Object) + If (Not (Me.WriteActivationKeyCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent WriteActivationKeyCompleted(Me, New WriteActivationKeyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetAvailableCustomEvents(ByVal MaxEvents As UShort, ByRef NumEvents As UShort, ByRef EventData() As MONCUSTOMEVENTINFO, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetAvailableCustomEvents", New Object() {MaxEvents}) + NumEvents = CType(results(1),UShort) + EventData = CType(results(2),MONCUSTOMEVENTINFO()) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetAvailableCustomEventsAsync(ByVal MaxEvents As UShort) + Me.GetAvailableCustomEventsAsync(MaxEvents, Nothing) + End Sub + + ''' + Public Overloads Sub GetAvailableCustomEventsAsync(ByVal MaxEvents As UShort, ByVal userState As Object) + If (Me.GetAvailableCustomEventsOperationCompleted Is Nothing) Then + Me.GetAvailableCustomEventsOperationCompleted = AddressOf Me.OnGetAvailableCustomEventsOperationCompleted + End If + Me.InvokeAsync("GetAvailableCustomEvents", New Object() {MaxEvents}, Me.GetAvailableCustomEventsOperationCompleted, userState) + End Sub + + Private Sub OnGetAvailableCustomEventsOperationCompleted(ByVal arg As Object) + If (Not (Me.GetAvailableCustomEventsCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetAvailableCustomEventsCompleted(Me, New GetAvailableCustomEventsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonOpenChannel(ByVal Synchronized As Boolean, ByRef ChannelID As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonOpenChannel", New Object() {Synchronized}) + ChannelID = CType(results(1),UInteger) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonOpenChannelAsync(ByVal Synchronized As Boolean) + Me.MonOpenChannelAsync(Synchronized, Nothing) + End Sub + + ''' + Public Overloads Sub MonOpenChannelAsync(ByVal Synchronized As Boolean, ByVal userState As Object) + If (Me.MonOpenChannelOperationCompleted Is Nothing) Then + Me.MonOpenChannelOperationCompleted = AddressOf Me.OnMonOpenChannelOperationCompleted + End If + Me.InvokeAsync("MonOpenChannel", New Object() {Synchronized}, Me.MonOpenChannelOperationCompleted, userState) + End Sub + + Private Sub OnMonOpenChannelOperationCompleted(ByVal arg As Object) + If (Not (Me.MonOpenChannelCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonOpenChannelCompleted(Me, New MonOpenChannelCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonCloseChannel(ByVal ChannelID As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonCloseChannel", New Object() {ChannelID}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonCloseChannelAsync(ByVal ChannelID As UInteger) + Me.MonCloseChannelAsync(ChannelID, Nothing) + End Sub + + ''' + Public Overloads Sub MonCloseChannelAsync(ByVal ChannelID As UInteger, ByVal userState As Object) + If (Me.MonCloseChannelOperationCompleted Is Nothing) Then + Me.MonCloseChannelOperationCompleted = AddressOf Me.OnMonCloseChannelOperationCompleted + End If + Me.InvokeAsync("MonCloseChannel", New Object() {ChannelID}, Me.MonCloseChannelOperationCompleted, userState) + End Sub + + Private Sub OnMonCloseChannelOperationCompleted(ByVal arg As Object) + If (Not (Me.MonCloseChannelCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonCloseChannelCompleted(Me, New MonCloseChannelCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonAddVariable(ByVal ChannelID As UInteger, ByVal VarDescr As MONVARDESCR, ByRef VariableID As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonAddVariable", New Object() {ChannelID, VarDescr}) + VariableID = CType(results(1),UShort) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonAddVariableAsync(ByVal ChannelID As UInteger, ByVal VarDescr As MONVARDESCR) + Me.MonAddVariableAsync(ChannelID, VarDescr, Nothing) + End Sub + + ''' + Public Overloads Sub MonAddVariableAsync(ByVal ChannelID As UInteger, ByVal VarDescr As MONVARDESCR, ByVal userState As Object) + If (Me.MonAddVariableOperationCompleted Is Nothing) Then + Me.MonAddVariableOperationCompleted = AddressOf Me.OnMonAddVariableOperationCompleted + End If + Me.InvokeAsync("MonAddVariable", New Object() {ChannelID, VarDescr}, Me.MonAddVariableOperationCompleted, userState) + End Sub + + Private Sub OnMonAddVariableOperationCompleted(ByVal arg As Object) + If (Not (Me.MonAddVariableCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonAddVariableCompleted(Me, New MonAddVariableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonDeleteVariable(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonDeleteVariable", New Object() {ChannelID, VariableID}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonDeleteVariableAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort) + Me.MonDeleteVariableAsync(ChannelID, VariableID, Nothing) + End Sub + + ''' + Public Overloads Sub MonDeleteVariableAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal userState As Object) + If (Me.MonDeleteVariableOperationCompleted Is Nothing) Then + Me.MonDeleteVariableOperationCompleted = AddressOf Me.OnMonDeleteVariableOperationCompleted + End If + Me.InvokeAsync("MonDeleteVariable", New Object() {ChannelID, VariableID}, Me.MonDeleteVariableOperationCompleted, userState) + End Sub + + Private Sub OnMonDeleteVariableOperationCompleted(ByVal arg As Object) + If (Not (Me.MonDeleteVariableCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonDeleteVariableCompleted(Me, New MonDeleteVariableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonStartSampling(ByVal ChannelID As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonStartSampling", New Object() {ChannelID}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonStartSamplingAsync(ByVal ChannelID As UInteger) + Me.MonStartSamplingAsync(ChannelID, Nothing) + End Sub + + ''' + Public Overloads Sub MonStartSamplingAsync(ByVal ChannelID As UInteger, ByVal userState As Object) + If (Me.MonStartSamplingOperationCompleted Is Nothing) Then + Me.MonStartSamplingOperationCompleted = AddressOf Me.OnMonStartSamplingOperationCompleted + End If + Me.InvokeAsync("MonStartSampling", New Object() {ChannelID}, Me.MonStartSamplingOperationCompleted, userState) + End Sub + + Private Sub OnMonStartSamplingOperationCompleted(ByVal arg As Object) + If (Not (Me.MonStartSamplingCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonStartSamplingCompleted(Me, New MonStartSamplingCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonStopSampling(ByVal ChannelID As UInteger, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonStopSampling", New Object() {ChannelID}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonStopSamplingAsync(ByVal ChannelID As UInteger) + Me.MonStopSamplingAsync(ChannelID, Nothing) + End Sub + + ''' + Public Overloads Sub MonStopSamplingAsync(ByVal ChannelID As UInteger, ByVal userState As Object) + If (Me.MonStopSamplingOperationCompleted Is Nothing) Then + Me.MonStopSamplingOperationCompleted = AddressOf Me.OnMonStopSamplingOperationCompleted + End If + Me.InvokeAsync("MonStopSampling", New Object() {ChannelID}, Me.MonStopSamplingOperationCompleted, userState) + End Sub + + Private Sub OnMonStopSamplingOperationCompleted(ByVal arg As Object) + If (Not (Me.MonStopSamplingCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonStopSamplingCompleted(Me, New MonStopSamplingCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonGetVariable(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort, ByRef NumSampleRead As UShort, ByRef DataBuffer() As Double, ByRef TimeBuffer() As Long, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonGetVariable", New Object() {ChannelID, VariableID, MaxSamples}) + NumSampleRead = CType(results(1),UShort) + DataBuffer = CType(results(2),Double()) + TimeBuffer = CType(results(3),Long()) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonGetVariableAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort) + Me.MonGetVariableAsync(ChannelID, VariableID, MaxSamples, Nothing) + End Sub + + ''' + Public Overloads Sub MonGetVariableAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort, ByVal userState As Object) + If (Me.MonGetVariableOperationCompleted Is Nothing) Then + Me.MonGetVariableOperationCompleted = AddressOf Me.OnMonGetVariableOperationCompleted + End If + Me.InvokeAsync("MonGetVariable", New Object() {ChannelID, VariableID, MaxSamples}, Me.MonGetVariableOperationCompleted, userState) + End Sub + + Private Sub OnMonGetVariableOperationCompleted(ByVal arg As Object) + If (Not (Me.MonGetVariableCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonGetVariableCompleted(Me, New MonGetVariableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonGetVariableS(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByRef DataBuffer() As Byte, ByRef TimeBuffer() As Byte, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonGetVariableS", New Object() {ChannelID, VariableID}) + DataBuffer = CType(results(1),Byte()) + TimeBuffer = CType(results(2),Byte()) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonGetVariableSAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort) + Me.MonGetVariableSAsync(ChannelID, VariableID, Nothing) + End Sub + + ''' + Public Overloads Sub MonGetVariableSAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal userState As Object) + If (Me.MonGetVariableSOperationCompleted Is Nothing) Then + Me.MonGetVariableSOperationCompleted = AddressOf Me.OnMonGetVariableSOperationCompleted + End If + Me.InvokeAsync("MonGetVariableS", New Object() {ChannelID, VariableID}, Me.MonGetVariableSOperationCompleted, userState) + End Sub + + Private Sub OnMonGetVariableSOperationCompleted(ByVal arg As Object) + If (Not (Me.MonGetVariableSCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonGetVariableSCompleted(Me, New MonGetVariableSCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonGetDryRun(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort, ByVal DataSize As UInteger, ByRef numSampleRead As UShort, ByRef readData() As MONDRYRUN, ByRef timeBuffer() As Long, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonGetDryRun", New Object() {ChannelID, VariableID, MaxSamples, DataSize}) + numSampleRead = CType(results(1),UShort) + readData = CType(results(2),MONDRYRUN()) + timeBuffer = CType(results(3),Long()) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonGetDryRunAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort, ByVal DataSize As UInteger) + Me.MonGetDryRunAsync(ChannelID, VariableID, MaxSamples, DataSize, Nothing) + End Sub + + ''' + Public Overloads Sub MonGetDryRunAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort, ByVal DataSize As UInteger, ByVal userState As Object) + If (Me.MonGetDryRunOperationCompleted Is Nothing) Then + Me.MonGetDryRunOperationCompleted = AddressOf Me.OnMonGetDryRunOperationCompleted + End If + Me.InvokeAsync("MonGetDryRun", New Object() {ChannelID, VariableID, MaxSamples, DataSize}, Me.MonGetDryRunOperationCompleted, userState) + End Sub + + Private Sub OnMonGetDryRunOperationCompleted(ByVal arg As Object) + If (Not (Me.MonGetDryRunCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonGetDryRunCompleted(Me, New MonGetDryRunCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function MonGetMov(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort, ByRef numSampleRead As UShort, ByRef readData() As MONENTEMOVI, ByRef timeBuffer() As Long, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("MonGetMov", New Object() {ChannelID, VariableID, MaxSamples}) + numSampleRead = CType(results(1),UShort) + readData = CType(results(2),MONENTEMOVI()) + timeBuffer = CType(results(3),Long()) + ErrClass = CType(results(4),UInteger) + ErrNum = CType(results(5),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub MonGetMovAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort) + Me.MonGetMovAsync(ChannelID, VariableID, MaxSamples, Nothing) + End Sub + + ''' + Public Overloads Sub MonGetMovAsync(ByVal ChannelID As UInteger, ByVal VariableID As UShort, ByVal MaxSamples As UShort, ByVal userState As Object) + If (Me.MonGetMovOperationCompleted Is Nothing) Then + Me.MonGetMovOperationCompleted = AddressOf Me.OnMonGetMovOperationCompleted + End If + Me.InvokeAsync("MonGetMov", New Object() {ChannelID, VariableID, MaxSamples}, Me.MonGetMovOperationCompleted, userState) + End Sub + + Private Sub OnMonGetMovOperationCompleted(ByVal arg As Object) + If (Not (Me.MonGetMovCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent MonGetMovCompleted(Me, New MonGetMovCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetDriveBasicInfo(ByVal AxisID As UShort, ByRef DriveBasicInfo As DRIVEBASICINFO, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetDriveBasicInfo", New Object() {AxisID}) + DriveBasicInfo = CType(results(1),DRIVEBASICINFO) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetDriveBasicInfoAsync(ByVal AxisID As UShort) + Me.GetDriveBasicInfoAsync(AxisID, Nothing) + End Sub + + ''' + Public Overloads Sub GetDriveBasicInfoAsync(ByVal AxisID As UShort, ByVal userState As Object) + If (Me.GetDriveBasicInfoOperationCompleted Is Nothing) Then + Me.GetDriveBasicInfoOperationCompleted = AddressOf Me.OnGetDriveBasicInfoOperationCompleted + End If + Me.InvokeAsync("GetDriveBasicInfo", New Object() {AxisID}, Me.GetDriveBasicInfoOperationCompleted, userState) + End Sub + + Private Sub OnGetDriveBasicInfoOperationCompleted(ByVal arg As Object) + If (Not (Me.GetDriveBasicInfoCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetDriveBasicInfoCompleted(Me, New GetDriveBasicInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadStatistics(ByVal NumVar As UShort, ByRef Value() As Long, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadStatistics", New Object() {NumVar}) + Value = CType(results(1),Long()) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadStatisticsAsync(ByVal NumVar As UShort) + Me.ReadStatisticsAsync(NumVar, Nothing) + End Sub + + ''' + Public Overloads Sub ReadStatisticsAsync(ByVal NumVar As UShort, ByVal userState As Object) + If (Me.ReadStatisticsOperationCompleted Is Nothing) Then + Me.ReadStatisticsOperationCompleted = AddressOf Me.OnReadStatisticsOperationCompleted + End If + Me.InvokeAsync("ReadStatistics", New Object() {NumVar}, Me.ReadStatisticsOperationCompleted, userState) + End Sub + + Private Sub OnReadStatisticsOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadStatisticsCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadStatisticsCompleted(Me, New ReadStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function ReadStatisticsBaseFrequency(ByRef baseFrequency As Long, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("ReadStatisticsBaseFrequency", New Object(-1) {}) + baseFrequency = CType(results(1),Long) + ErrClass = CType(results(2),UInteger) + ErrNum = CType(results(3),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub ReadStatisticsBaseFrequencyAsync() + Me.ReadStatisticsBaseFrequencyAsync(Nothing) + End Sub + + ''' + Public Overloads Sub ReadStatisticsBaseFrequencyAsync(ByVal userState As Object) + If (Me.ReadStatisticsBaseFrequencyOperationCompleted Is Nothing) Then + Me.ReadStatisticsBaseFrequencyOperationCompleted = AddressOf Me.OnReadStatisticsBaseFrequencyOperationCompleted + End If + Me.InvokeAsync("ReadStatisticsBaseFrequency", New Object(-1) {}, Me.ReadStatisticsBaseFrequencyOperationCompleted, userState) + End Sub + + Private Sub OnReadStatisticsBaseFrequencyOperationCompleted(ByVal arg As Object) + If (Not (Me.ReadStatisticsBaseFrequencyCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent ReadStatisticsBaseFrequencyCompleted(Me, New ReadStatisticsBaseFrequencyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function GetActiveAmp(ByRef ActiveAmp As UShort, ByRef RunningAmp As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("GetActiveAmp", New Object(-1) {}) + ActiveAmp = CType(results(1),UShort) + RunningAmp = CType(results(2),UShort) + ErrClass = CType(results(3),UInteger) + ErrNum = CType(results(4),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub GetActiveAmpAsync() + Me.GetActiveAmpAsync(Nothing) + End Sub + + ''' + Public Overloads Sub GetActiveAmpAsync(ByVal userState As Object) + If (Me.GetActiveAmpOperationCompleted Is Nothing) Then + Me.GetActiveAmpOperationCompleted = AddressOf Me.OnGetActiveAmpOperationCompleted + End If + Me.InvokeAsync("GetActiveAmp", New Object(-1) {}, Me.GetActiveAmpOperationCompleted, userState) + End Sub + + Private Sub OnGetActiveAmpOperationCompleted(ByVal arg As Object) + If (Not (Me.GetActiveAmpCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent GetActiveAmpCompleted(Me, New GetActiveAmpCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function SetActiveAmp(ByVal ActiveAmp As UShort, ByRef ErrClass As UInteger, ByRef ErrNum As UInteger) As UShort + Dim results() As Object = Me.Invoke("SetActiveAmp", New Object() {ActiveAmp}) + ErrClass = CType(results(1),UInteger) + ErrNum = CType(results(2),UInteger) + Return CType(results(0),UShort) + End Function + + ''' + Public Overloads Sub SetActiveAmpAsync(ByVal ActiveAmp As UShort) + Me.SetActiveAmpAsync(ActiveAmp, Nothing) + End Sub + + ''' + Public Overloads Sub SetActiveAmpAsync(ByVal ActiveAmp As UShort, ByVal userState As Object) + If (Me.SetActiveAmpOperationCompleted Is Nothing) Then + Me.SetActiveAmpOperationCompleted = AddressOf Me.OnSetActiveAmpOperationCompleted + End If + Me.InvokeAsync("SetActiveAmp", New Object() {ActiveAmp}, Me.SetActiveAmpOperationCompleted, userState) + End Sub + + Private Sub OnSetActiveAmpOperationCompleted(ByVal arg As Object) + If (Not (Me.SetActiveAmpCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent SetActiveAmpCompleted(Me, New SetActiveAmpCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + Public Shadows Sub CancelAsync(ByVal userState As Object) + MyBase.CancelAsync(userState) + End Sub + + Private Function IsLocalFileSystemWebService(ByVal url As String) As Boolean + If ((url Is Nothing) _ + OrElse (url Is String.Empty)) Then + Return false + End If + Dim wsUri As System.Uri = New System.Uri(url) + If ((wsUri.Port >= 1024) _ + AndAlso (String.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) = 0)) Then + Return true + End If + Return false + End Function + End Class + + ''' + _ + Partial Public Class ORIGINTABLEII + + Private axisValField() As Double + + Private externTypeField As UShort + + Private externIndField As UShort + + Private descrField() As UShort + + ''' + _ + Public Property AxisVal() As Double() + Get + Return Me.axisValField + End Get + Set + Me.axisValField = value + End Set + End Property + + ''' + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + End Set + End Property + + ''' + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class DRIVEBASICINFO + + Private vendorIDField As ULong + + Private partNumberCodedField As ULong + + Private partNumberAsciiField() As Byte + + Private serialNumberCodedField As ULong + + Private serialNumberAsciiField() As Byte + + Private firmwareVersionField As ULong + + Private hardwareVersionField As ULong + + ''' + Public Property VendorID() As ULong + Get + Return Me.vendorIDField + End Get + Set + Me.vendorIDField = value + End Set + End Property + + ''' + Public Property PartNumberCoded() As ULong + Get + Return Me.partNumberCodedField + End Get + Set + Me.partNumberCodedField = value + End Set + End Property + + ''' + _ + Public Property PartNumberAscii() As Byte() + Get + Return Me.partNumberAsciiField + End Get + Set + Me.partNumberAsciiField = value + End Set + End Property + + ''' + Public Property SerialNumberCoded() As ULong + Get + Return Me.serialNumberCodedField + End Get + Set + Me.serialNumberCodedField = value + End Set + End Property + + ''' + _ + Public Property SerialNumberAscii() As Byte() + Get + Return Me.serialNumberAsciiField + End Get + Set + Me.serialNumberAsciiField = value + End Set + End Property + + ''' + Public Property FirmwareVersion() As ULong + Get + Return Me.firmwareVersionField + End Get + Set + Me.firmwareVersionField = value + End Set + End Property + + ''' + Public Property HardwareVersion() As ULong + Get + Return Me.hardwareVersionField + End Get + Set + Me.hardwareVersionField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MONENTEMOVI + + Private contEntiField As ULong + + Private procesIdField As UShort + + Private umField As Byte + + Private movTypeField As Byte + + Private gmodeField As Byte + + Private orarioField As Byte + + Private stopEndMovField As SByte + + Private axNameField() As Byte + + Private pinizialeField() As Double + + Private pfinaleField() As Double + + Private centroField() As Double + + Private helicStepField As Double + + Private versoreOrtogField() As Double + + Private rTVField() As Double + + Private bRKField As Double + + Private tbeginField As Double + + Private tmovField As Double + + Private tendField As Double + + Private lineMainField As ULong + + ''' + Public Property ContEnti() As ULong + Get + Return Me.contEntiField + End Get + Set + Me.contEntiField = value + End Set + End Property + + ''' + Public Property ProcesId() As UShort + Get + Return Me.procesIdField + End Get + Set + Me.procesIdField = value + End Set + End Property + + ''' + Public Property um() As Byte + Get + Return Me.umField + End Get + Set + Me.umField = value + End Set + End Property + + ''' + Public Property MovType() As Byte + Get + Return Me.movTypeField + End Get + Set + Me.movTypeField = value + End Set + End Property + + ''' + Public Property Gmode() As Byte + Get + Return Me.gmodeField + End Get + Set + Me.gmodeField = value + End Set + End Property + + ''' + Public Property Orario() As Byte + Get + Return Me.orarioField + End Get + Set + Me.orarioField = value + End Set + End Property + + ''' + Public Property StopEndMov() As SByte + Get + Return Me.stopEndMovField + End Get + Set + Me.stopEndMovField = value + End Set + End Property + + ''' + _ + Public Property AxName() As Byte() + Get + Return Me.axNameField + End Get + Set + Me.axNameField = value + End Set + End Property + + ''' + _ + Public Property Piniziale() As Double() + Get + Return Me.pinizialeField + End Get + Set + Me.pinizialeField = value + End Set + End Property + + ''' + _ + Public Property Pfinale() As Double() + Get + Return Me.pfinaleField + End Get + Set + Me.pfinaleField = value + End Set + End Property + + ''' + _ + Public Property Centro() As Double() + Get + Return Me.centroField + End Get + Set + Me.centroField = value + End Set + End Property + + ''' + Public Property HelicStep() As Double + Get + Return Me.helicStepField + End Get + Set + Me.helicStepField = value + End Set + End Property + + ''' + _ + Public Property VersoreOrtog() As Double() + Get + Return Me.versoreOrtogField + End Get + Set + Me.versoreOrtogField = value + End Set + End Property + + ''' + _ + Public Property RTV() As Double() + Get + Return Me.rTVField + End Get + Set + Me.rTVField = value + End Set + End Property + + ''' + Public Property BRK() As Double + Get + Return Me.bRKField + End Get + Set + Me.bRKField = value + End Set + End Property + + ''' + Public Property Tbegin() As Double + Get + Return Me.tbeginField + End Get + Set + Me.tbeginField = value + End Set + End Property + + ''' + Public Property Tmov() As Double + Get + Return Me.tmovField + End Get + Set + Me.tmovField = value + End Set + End Property + + ''' + Public Property Tend() As Double + Get + Return Me.tendField + End Get + Set + Me.tendField = value + End Set + End Property + + ''' + Public Property LineMain() As ULong + Get + Return Me.lineMainField + End Get + Set + Me.lineMainField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class statements + + Private blkStatusField As Byte + + Private numCharField As Byte + + Private blockField() As String + + ''' + Public Property BlkStatus() As Byte + Get + Return Me.blkStatusField + End Get + Set + Me.blkStatusField = value + End Set + End Property + + ''' + Public Property NumChar() As Byte + Get + Return Me.numCharField + End Get + Set + Me.numCharField = value + End Set + End Property + + ''' + _ + Public Property Block() As String() + Get + Return Me.blockField + End Get + Set + Me.blockField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MONDRYRUN + + Private procesIdField As UShort + + Private statementField As statements + + Private umField As Byte + + Private actualToolField() As String + + Private actualToolOffField As UShort + + Private movTypeField As Byte + + Private gmodeField As Byte + + Private orarioField As Byte + + Private visualPntField() As Double + + Private pfinaleField() As Double + + Private centroField() As Double + + Private helicStepField As Double + + Private axNameField() As Byte + + ''' + Public Property ProcesId() As UShort + Get + Return Me.procesIdField + End Get + Set + Me.procesIdField = value + End Set + End Property + + ''' + Public Property Statement() As statements + Get + Return Me.statementField + End Get + Set + Me.statementField = value + End Set + End Property + + ''' + Public Property um() As Byte + Get + Return Me.umField + End Get + Set + Me.umField = value + End Set + End Property + + ''' + _ + Public Property ActualTool() As String() + Get + Return Me.actualToolField + End Get + Set + Me.actualToolField = value + End Set + End Property + + ''' + Public Property ActualToolOff() As UShort + Get + Return Me.actualToolOffField + End Get + Set + Me.actualToolOffField = value + End Set + End Property + + ''' + Public Property MovType() As Byte + Get + Return Me.movTypeField + End Get + Set + Me.movTypeField = value + End Set + End Property + + ''' + Public Property Gmode() As Byte + Get + Return Me.gmodeField + End Get + Set + Me.gmodeField = value + End Set + End Property + + ''' + Public Property Orario() As Byte + Get + Return Me.orarioField + End Get + Set + Me.orarioField = value + End Set + End Property + + ''' + _ + Public Property VisualPnt() As Double() + Get + Return Me.visualPntField + End Get + Set + Me.visualPntField = value + End Set + End Property + + ''' + _ + Public Property Pfinale() As Double() + Get + Return Me.pfinaleField + End Get + Set + Me.pfinaleField = value + End Set + End Property + + ''' + _ + Public Property Centro() As Double() + Get + Return Me.centroField + End Get + Set + Me.centroField = value + End Set + End Property + + ''' + Public Property HelicStep() As Double + Get + Return Me.helicStepField + End Get + Set + Me.helicStepField = value + End Set + End Property + + ''' + _ + Public Property AxName() As Byte() + Get + Return Me.axNameField + End Get + Set + Me.axNameField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MONVARDESCR + + Private classField As UShort + + Private subClassField As UShort + + Private deviceIDField As UShort + + Private codeField As UShort + + Private addressField As UShort + + Private signalField As UShort + + Private samplingPeriodField As Double + + ''' + Public Property [Class]() As UShort + Get + Return Me.classField + End Get + Set + Me.classField = value + End Set + End Property + + ''' + Public Property SubClass() As UShort + Get + Return Me.subClassField + End Get + Set + Me.subClassField = value + End Set + End Property + + ''' + Public Property DeviceID() As UShort + Get + Return Me.deviceIDField + End Get + Set + Me.deviceIDField = value + End Set + End Property + + ''' + Public Property Code() As UShort + Get + Return Me.codeField + End Get + Set + Me.codeField = value + End Set + End Property + + ''' + Public Property Address() As UShort + Get + Return Me.addressField + End Get + Set + Me.addressField = value + End Set + End Property + + ''' + Public Property Signal() As UShort + Get + Return Me.signalField + End Get + Set + Me.signalField = value + End Set + End Property + + ''' + Public Property SamplingPeriod() As Double + Get + Return Me.samplingPeriodField + End Get + Set + Me.samplingPeriodField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MONCUSTOMEVENTINFO + + Private idField As UShort + + Private typeField As UShort + + Private nameField As String + + ''' + Public Property ID() As UShort + Get + Return Me.idField + End Get + Set + Me.idField = value + End Set + End Property + + ''' + Public Property Type() As UShort + Get + Return Me.typeField + End Get + Set + Me.typeField = value + End Set + End Property + + ''' + _ + Public Property Name() As String + Get + Return Me.nameField + End Get + Set + Me.nameField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class DEFRAME + + Private rowField As UShort + + Private colField As UShort + + Private lenField As UShort + + Private textField() As Byte + + ''' + Public Property row() As UShort + Get + Return Me.rowField + End Get + Set + Me.rowField = value + End Set + End Property + + ''' + Public Property col() As UShort + Get + Return Me.colField + End Get + Set + Me.colField = value + End Set + End Property + + ''' + Public Property len() As UShort + Get + Return Me.lenField + End Get + Set + Me.lenField = value + End Set + End Property + + ''' + _ + Public Property text() As Byte() + Get + Return Me.textField + End Get + Set + Me.textField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class DEFIELDCONTROL + + Private strmatchField() As Byte + + Private rangebyteField() As Byte + + Private rangeintField() As Short + + Private rangelongField() As Long + + Private rangeuintField() As UShort + + Private rangeulongField() As ULong + + Private rangefloatField() As Double + + Private rangedoubleField() As Double + + ''' + _ + Public Property strmatch() As Byte() + Get + Return Me.strmatchField + End Get + Set + Me.strmatchField = value + End Set + End Property + + ''' + _ + Public Property rangebyte() As Byte() + Get + Return Me.rangebyteField + End Get + Set + Me.rangebyteField = value + End Set + End Property + + ''' + _ + Public Property rangeint() As Short() + Get + Return Me.rangeintField + End Get + Set + Me.rangeintField = value + End Set + End Property + + ''' + _ + Public Property rangelong() As Long() + Get + Return Me.rangelongField + End Get + Set + Me.rangelongField = value + End Set + End Property + + ''' + _ + Public Property rangeuint() As UShort() + Get + Return Me.rangeuintField + End Get + Set + Me.rangeuintField = value + End Set + End Property + + ''' + _ + Public Property rangeulong() As ULong() + Get + Return Me.rangeulongField + End Get + Set + Me.rangeulongField = value + End Set + End Property + + ''' + _ + Public Property rangefloat() As Double() + Get + Return Me.rangefloatField + End Get + Set + Me.rangefloatField = value + End Set + End Property + + ''' + _ + Public Property rangedouble() As Double() + Get + Return Me.rangedoubleField + End Get + Set + Me.rangedoubleField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class DEFIELDCHECK + + Private convField As Byte + + Private valueField As DEFIELDCONTROL + + ''' + Public Property conv() As Byte + Get + Return Me.convField + End Get + Set + Me.convField = value + End Set + End Property + + ''' + Public Property value() As DEFIELDCONTROL + Get + Return Me.valueField + End Get + Set + Me.valueField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class DEFIELD + + Private rowField As UShort + + Private colField As UShort + + Private typeField As Byte + + Private myIdField As Byte + + Private sizeField As UShort + + Private disSizeField As UShort + + Private checkField As DEFIELDCHECK + + ''' + Public Property row() As UShort + Get + Return Me.rowField + End Get + Set + Me.rowField = value + End Set + End Property + + ''' + Public Property col() As UShort + Get + Return Me.colField + End Get + Set + Me.colField = value + End Set + End Property + + ''' + Public Property type() As Byte + Get + Return Me.typeField + End Get + Set + Me.typeField = value + End Set + End Property + + ''' + Public Property myId() As Byte + Get + Return Me.myIdField + End Get + Set + Me.myIdField = value + End Set + End Property + + ''' + Public Property size() As UShort + Get + Return Me.sizeField + End Get + Set + Me.sizeField = value + End Set + End Property + + ''' + Public Property disSize() As UShort + Get + Return Me.disSizeField + End Get + Set + Me.disSizeField = value + End Set + End Property + + ''' + Public Property check() As DEFIELDCHECK + Get + Return Me.checkField + End Get + Set + Me.checkField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class DEKEY + + Private abortField() As Byte + + Private confirm1Field() As Byte + + Private confirm2Field() As Byte + + Private confirm3Field() As Byte + + Private resetField() As Byte + + Private incresField() As Byte + + ''' + _ + Public Property abort() As Byte() + Get + Return Me.abortField + End Get + Set + Me.abortField = value + End Set + End Property + + ''' + _ + Public Property confirm1() As Byte() + Get + Return Me.confirm1Field + End Get + Set + Me.confirm1Field = value + End Set + End Property + + ''' + _ + Public Property confirm2() As Byte() + Get + Return Me.confirm2Field + End Get + Set + Me.confirm2Field = value + End Set + End Property + + ''' + _ + Public Property confirm3() As Byte() + Get + Return Me.confirm3Field + End Get + Set + Me.confirm3Field = value + End Set + End Property + + ''' + _ + Public Property reset() As Byte() + Get + Return Me.resetField + End Get + Set + Me.resetField = value + End Set + End Property + + ''' + _ + Public Property incres() As Byte() + Get + Return Me.incresField + End Get + Set + Me.incresField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class USERINPTAB + + Private myIdField As Short + + Private iniRowField As Byte + + Private iniColField As Byte + + Private totRowField As Byte + + Private totColField As Byte + + Private myTypeField As Byte + + Private helpField() As Byte + + Private totFrameField As Byte + + Private totFieldField As Byte + + Private keyField As DEKEY + + Private fldField() As DEFIELD + + Private frmField() As DEFRAME + + Private strDef1Field() As Byte + + Private strDef2Field() As Byte + + Private strDef3Field() As Byte + + Private strDef4Field() As Byte + + Private strDef5Field() As Byte + + Private strDef6Field() As Byte + + Private strDef7Field() As Byte + + Private strDef8Field() As Byte + + Private decolorField() As ULong + + ''' + Public Property myId() As Short + Get + Return Me.myIdField + End Get + Set + Me.myIdField = value + End Set + End Property + + ''' + Public Property iniRow() As Byte + Get + Return Me.iniRowField + End Get + Set + Me.iniRowField = value + End Set + End Property + + ''' + Public Property iniCol() As Byte + Get + Return Me.iniColField + End Get + Set + Me.iniColField = value + End Set + End Property + + ''' + Public Property totRow() As Byte + Get + Return Me.totRowField + End Get + Set + Me.totRowField = value + End Set + End Property + + ''' + Public Property totCol() As Byte + Get + Return Me.totColField + End Get + Set + Me.totColField = value + End Set + End Property + + ''' + Public Property myType() As Byte + Get + Return Me.myTypeField + End Get + Set + Me.myTypeField = value + End Set + End Property + + ''' + _ + Public Property help() As Byte() + Get + Return Me.helpField + End Get + Set + Me.helpField = value + End Set + End Property + + ''' + Public Property totFrame() As Byte + Get + Return Me.totFrameField + End Get + Set + Me.totFrameField = value + End Set + End Property + + ''' + Public Property totField() As Byte + Get + Return Me.totFieldField + End Get + Set + Me.totFieldField = value + End Set + End Property + + ''' + Public Property key() As DEKEY + Get + Return Me.keyField + End Get + Set + Me.keyField = value + End Set + End Property + + ''' + _ + Public Property fld() As DEFIELD() + Get + Return Me.fldField + End Get + Set + Me.fldField = value + End Set + End Property + + ''' + _ + Public Property frm() As DEFRAME() + Get + Return Me.frmField + End Get + Set + Me.frmField = value + End Set + End Property + + ''' + _ + Public Property strDef1() As Byte() + Get + Return Me.strDef1Field + End Get + Set + Me.strDef1Field = value + End Set + End Property + + ''' + _ + Public Property strDef2() As Byte() + Get + Return Me.strDef2Field + End Get + Set + Me.strDef2Field = value + End Set + End Property + + ''' + _ + Public Property strDef3() As Byte() + Get + Return Me.strDef3Field + End Get + Set + Me.strDef3Field = value + End Set + End Property + + ''' + _ + Public Property strDef4() As Byte() + Get + Return Me.strDef4Field + End Get + Set + Me.strDef4Field = value + End Set + End Property + + ''' + _ + Public Property strDef5() As Byte() + Get + Return Me.strDef5Field + End Get + Set + Me.strDef5Field = value + End Set + End Property + + ''' + _ + Public Property strDef6() As Byte() + Get + Return Me.strDef6Field + End Get + Set + Me.strDef6Field = value + End Set + End Property + + ''' + _ + Public Property strDef7() As Byte() + Get + Return Me.strDef7Field + End Get + Set + Me.strDef7Field = value + End Set + End Property + + ''' + _ + Public Property strDef8() As Byte() + Get + Return Me.strDef8Field + End Get + Set + Me.strDef8Field = value + End Set + End Property + + ''' + _ + Public Property decolor() As ULong() + Get + Return Me.decolorField + End Get + Set + Me.decolorField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class INPUTINFO + + Private processField As UShort + + Private isInInputField As Byte + + Private dataField As USERINPTAB + + ''' + Public Property Process() As UShort + Get + Return Me.processField + End Get + Set + Me.processField = value + End Set + End Property + + ''' + Public Property isInInput() As Byte + Get + Return Me.isInInputField + End Get + Set + Me.isInInputField = value + End Set + End Property + + ''' + Public Property Data() As USERINPTAB + Get + Return Me.dataField + End Get + Set + Me.dataField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class SECUR + + Private securLevelField As UShort + + Private enabStrField() As Byte + + Private key1Field() As Byte + + Private key2Field() As Byte + + Private key3Field() As Byte + + ''' + Public Property SecurLevel() As UShort + Get + Return Me.securLevelField + End Get + Set + Me.securLevelField = value + End Set + End Property + + ''' + _ + Public Property EnabStr() As Byte() + Get + Return Me.enabStrField + End Get + Set + Me.enabStrField = value + End Set + End Property + + ''' + _ + Public Property Key1() As Byte() + Get + Return Me.key1Field + End Get + Set + Me.key1Field = value + End Set + End Property + + ''' + _ + Public Property Key2() As Byte() + Get + Return Me.key2Field + End Get + Set + Me.key2Field = value + End Set + End Property + + ''' + _ + Public Property Key3() As Byte() + Get + Return Me.key3Field + End Get + Set + Me.key3Field = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class LEVEL + + Private passwField() As Byte + + Private enabStrField() As Byte + + Private ctrlField() As Byte + + ''' + _ + Public Property Passw() As Byte() + Get + Return Me.passwField + End Get + Set + Me.passwField = value + End Set + End Property + + ''' + _ + Public Property EnabStr() As Byte() + Get + Return Me.enabStrField + End Get + Set + Me.enabStrField = value + End Set + End Property + + ''' + _ + Public Property Ctrl() As Byte() + Get + Return Me.ctrlField + End Get + Set + Me.ctrlField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class SECURDATA + + Private levelInfoField() As LEVEL + + Private securInfoField As SECUR + + ''' + _ + Public Property LevelInfo() As LEVEL() + Get + Return Me.levelInfoField + End Get + Set + Me.levelInfoField = value + End Set + End Property + + ''' + Public Property SecurInfo() As SECUR + Get + Return Me.securInfoField + End Get + Set + Me.securInfoField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class REMAPDEF + + Private varTypeField As Byte + + Private physAddrField As UShort + + Private physBitField As Byte + + Private logicAddrField As UShort + + Private logicBitField As Byte + + Private modeField As Byte + + Private riseTimeField As UInteger + + Private fallTimeField As UInteger + + Private valueField As UInteger + + Private iOMsgIdField As UInteger + + Private iOClassField As Byte + + Private currPhysValueField As UInteger + + Private currLogicValueField As UInteger + + ''' + Public Property VarType() As Byte + Get + Return Me.varTypeField + End Get + Set + Me.varTypeField = value + End Set + End Property + + ''' + Public Property PhysAddr() As UShort + Get + Return Me.physAddrField + End Get + Set + Me.physAddrField = value + End Set + End Property + + ''' + Public Property PhysBit() As Byte + Get + Return Me.physBitField + End Get + Set + Me.physBitField = value + End Set + End Property + + ''' + Public Property LogicAddr() As UShort + Get + Return Me.logicAddrField + End Get + Set + Me.logicAddrField = value + End Set + End Property + + ''' + Public Property LogicBit() As Byte + Get + Return Me.logicBitField + End Get + Set + Me.logicBitField = value + End Set + End Property + + ''' + Public Property Mode() As Byte + Get + Return Me.modeField + End Get + Set + Me.modeField = value + End Set + End Property + + ''' + Public Property RiseTime() As UInteger + Get + Return Me.riseTimeField + End Get + Set + Me.riseTimeField = value + End Set + End Property + + ''' + Public Property FallTime() As UInteger + Get + Return Me.fallTimeField + End Get + Set + Me.fallTimeField = value + End Set + End Property + + ''' + Public Property Value() As UInteger + Get + Return Me.valueField + End Get + Set + Me.valueField = value + End Set + End Property + + ''' + Public Property IOMsgId() As UInteger + Get + Return Me.iOMsgIdField + End Get + Set + Me.iOMsgIdField = value + End Set + End Property + + ''' + Public Property IOClass() As Byte + Get + Return Me.iOClassField + End Get + Set + Me.iOClassField = value + End Set + End Property + + ''' + Public Property CurrPhysValue() As UInteger + Get + Return Me.currPhysValueField + End Get + Set + Me.currPhysValueField = value + End Set + End Property + + ''' + Public Property CurrLogicValue() As UInteger + Get + Return Me.currLogicValueField + End Get + Set + Me.currLogicValueField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MARKERINFO + + Private numberField As Short + + Private lineNumField() As UInteger + + Private numBlksField() As UInteger + + Private markerNameField()() As Byte + + Private pPnameField()() As Byte + + Private breakValField As UInteger + + ''' + Public Property Number() As Short + Get + Return Me.numberField + End Get + Set + Me.numberField = value + End Set + End Property + + ''' + _ + Public Property LineNum() As UInteger() + Get + Return Me.lineNumField + End Get + Set + Me.lineNumField = value + End Set + End Property + + ''' + _ + Public Property NumBlks() As UInteger() + Get + Return Me.numBlksField + End Get + Set + Me.numBlksField = value + End Set + End Property + + ''' + _ + Public Property MarkerName() As Byte()() + Get + Return Me.markerNameField + End Get + Set + Me.markerNameField = value + End Set + End Property + + ''' + _ + Public Property PPname() As Byte()() + Get + Return Me.pPnameField + End Get + Set + Me.pPnameField = value + End Set + End Property + + ''' + Public Property breakVal() As UInteger + Get + Return Me.breakValField + End Get + Set + Me.breakValField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MSGANOMALY + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private lineaField As UInteger + + Private formatTxtField() As Byte + + ''' + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + End Set + End Property + + ''' + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + End Set + End Property + + ''' + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + End Set + End Property + + ''' + Public Property Linea() As UInteger + Get + Return Me.lineaField + End Get + Set + Me.lineaField = value + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class SYSTEMTIMECNDEX + + Private wYearField As UShort + + Private wMonthField As UShort + + Private wDayOfWeekField As UShort + + Private wDayField As UShort + + Private wHourField As UShort + + Private wMinuteField As UShort + + Private wSecondField As UShort + + Private wMillisecondsField As UShort + + ''' + Public Property wYear() As UShort + Get + Return Me.wYearField + End Get + Set + Me.wYearField = value + End Set + End Property + + ''' + Public Property wMonth() As UShort + Get + Return Me.wMonthField + End Get + Set + Me.wMonthField = value + End Set + End Property + + ''' + Public Property wDayOfWeek() As UShort + Get + Return Me.wDayOfWeekField + End Get + Set + Me.wDayOfWeekField = value + End Set + End Property + + ''' + Public Property wDay() As UShort + Get + Return Me.wDayField + End Get + Set + Me.wDayField = value + End Set + End Property + + ''' + Public Property wHour() As UShort + Get + Return Me.wHourField + End Get + Set + Me.wHourField = value + End Set + End Property + + ''' + Public Property wMinute() As UShort + Get + Return Me.wMinuteField + End Get + Set + Me.wMinuteField = value + End Set + End Property + + ''' + Public Property wSecond() As UShort + Get + Return Me.wSecondField + End Get + Set + Me.wSecondField = value + End Set + End Property + + ''' + Public Property wMilliseconds() As UShort + Get + Return Me.wMillisecondsField + End Get + Set + Me.wMillisecondsField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MSGLOGS + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeLogField As UInteger + + Private errinfoField As UInteger + + Private formatTxtField() As Byte + + ''' + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + End Set + End Property + + ''' + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + End Set + End Property + + ''' + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + End Set + End Property + + ''' + _ + Public Property CodeLog() As UInteger + Get + Return Me.codeLogField + End Get + Set + Me.codeLogField = value + End Set + End Property + + ''' + _ + Public Property Errinfo() As UInteger + Get + Return Me.errinfoField + End Get + Set + Me.errinfoField = value + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MSGERROR + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private processField As Short + + Private comandoField As SByte + + Private subComField As SByte + + Private formatTxtField() As Byte + + ''' + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + End Set + End Property + + ''' + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + End Set + End Property + + ''' + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + End Set + End Property + + ''' + Public Property Process() As Short + Get + Return Me.processField + End Get + Set + Me.processField = value + End Set + End Property + + ''' + Public Property Comando() As SByte + Get + Return Me.comandoField + End Get + Set + Me.comandoField = value + End Set + End Property + + ''' + Public Property SubCom() As SByte + Get + Return Me.subComField + End Get + Set + Me.subComField = value + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MSGEMERGENCY + + Private bootIDField As UInteger + + Private systemTimeField As SYSTEMTIMECNDEX + + Private unIdSeqField As UInteger + + Private codeErrField As UInteger + + Private processField As Short + + Private procErrField As Short + + Private formatTxtField() As Byte + + ''' + Public Property BootID() As UInteger + Get + Return Me.bootIDField + End Get + Set + Me.bootIDField = value + End Set + End Property + + ''' + Public Property SystemTime() As SYSTEMTIMECNDEX + Get + Return Me.systemTimeField + End Get + Set + Me.systemTimeField = value + End Set + End Property + + ''' + Public Property UnIdSeq() As UInteger + Get + Return Me.unIdSeqField + End Get + Set + Me.unIdSeqField = value + End Set + End Property + + ''' + _ + Public Property CodeErr() As UInteger + Get + Return Me.codeErrField + End Get + Set + Me.codeErrField = value + End Set + End Property + + ''' + Public Property Process() As Short + Get + Return Me.processField + End Get + Set + Me.processField = value + End Set + End Property + + ''' + _ + Public Property ProcErr() As Short + Get + Return Me.procErrField + End Get + Set + Me.procErrField = value + End Set + End Property + + ''' + _ + Public Property FormatTxt() As Byte() + Get + Return Me.formatTxtField + End Get + Set + Me.formatTxtField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class FILEFINDDATA + + Private fileAttributesField As UInteger + + Private lowDateCreationTimeField As UInteger + + Private highDateCreationTimeField As UInteger + + Private lowDateLastAccessTimeField As UInteger + + Private highDateLastAccessTimeField As UInteger + + Private lowDateLastWriteTimeField As UInteger + + Private highDateLastWriteTimeField As UInteger + + Private fileSizeHighField As UInteger + + Private fileSizeLowField As UInteger + + Private fileNameField As String + + ''' + Public Property FileAttributes() As UInteger + Get + Return Me.fileAttributesField + End Get + Set + Me.fileAttributesField = value + End Set + End Property + + ''' + Public Property LowDateCreationTime() As UInteger + Get + Return Me.lowDateCreationTimeField + End Get + Set + Me.lowDateCreationTimeField = value + End Set + End Property + + ''' + Public Property HighDateCreationTime() As UInteger + Get + Return Me.highDateCreationTimeField + End Get + Set + Me.highDateCreationTimeField = value + End Set + End Property + + ''' + Public Property LowDateLastAccessTime() As UInteger + Get + Return Me.lowDateLastAccessTimeField + End Get + Set + Me.lowDateLastAccessTimeField = value + End Set + End Property + + ''' + Public Property HighDateLastAccessTime() As UInteger + Get + Return Me.highDateLastAccessTimeField + End Get + Set + Me.highDateLastAccessTimeField = value + End Set + End Property + + ''' + Public Property LowDateLastWriteTime() As UInteger + Get + Return Me.lowDateLastWriteTimeField + End Get + Set + Me.lowDateLastWriteTimeField = value + End Set + End Property + + ''' + Public Property HighDateLastWriteTime() As UInteger + Get + Return Me.highDateLastWriteTimeField + End Get + Set + Me.highDateLastWriteTimeField = value + End Set + End Property + + ''' + Public Property FileSizeHigh() As UInteger + Get + Return Me.fileSizeHighField + End Get + Set + Me.fileSizeHighField = value + End Set + End Property + + ''' + Public Property FileSizeLow() As UInteger + Get + Return Me.fileSizeLowField + End Get + Set + Me.fileSizeLowField = value + End Set + End Property + + ''' + _ + Public Property FileName() As String + Get + Return Me.fileNameField + End Get + Set + Me.fileNameField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class ERRMSG + + Private msg1Field As String + + Private msg2Field As String + + Private msg3Field As String + + Private msg4Field As String + + ''' + _ + Public Property Msg1() As String + Get + Return Me.msg1Field + End Get + Set + Me.msg1Field = value + End Set + End Property + + ''' + _ + Public Property Msg2() As String + Get + Return Me.msg2Field + End Get + Set + Me.msg2Field = value + End Set + End Property + + ''' + _ + Public Property Msg3() As String + Get + Return Me.msg3Field + End Get + Set + Me.msg3Field = value + End Set + End Property + + ''' + _ + Public Property Msg4() As String + Get + Return Me.msg4Field + End Get + Set + Me.msg4Field = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class GETBLKNUMDATA + + Private ppActNumField As UShort + + Private mainActBlkField As UInteger + + Private sbr1ActBlkField As UInteger + + Private sbr2ActBlkField As UInteger + + Private sbr3ActBlkField As UInteger + + Private sbr4ActBlkField As UInteger + + ''' + Public Property ppActNum() As UShort + Get + Return Me.ppActNumField + End Get + Set + Me.ppActNumField = value + End Set + End Property + + ''' + Public Property MainActBlk() As UInteger + Get + Return Me.mainActBlkField + End Get + Set + Me.mainActBlkField = value + End Set + End Property + + ''' + Public Property Sbr1ActBlk() As UInteger + Get + Return Me.sbr1ActBlkField + End Get + Set + Me.sbr1ActBlkField = value + End Set + End Property + + ''' + Public Property Sbr2ActBlk() As UInteger + Get + Return Me.sbr2ActBlkField + End Get + Set + Me.sbr2ActBlkField = value + End Set + End Property + + ''' + Public Property Sbr3ActBlk() As UInteger + Get + Return Me.sbr3ActBlkField + End Get + Set + Me.sbr3ActBlkField = value + End Set + End Property + + ''' + Public Property Sbr4ActBlk() As UInteger + Get + Return Me.sbr4ActBlkField + End Get + Set + Me.sbr4ActBlkField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class PROCDATA + + Private modeField As UShort + + Private statusField As UShort + + Private subStatusField As UShort + + ''' + Public Property Mode() As UShort + Get + Return Me.modeField + End Get + Set + Me.modeField = value + End Set + End Property + + ''' + Public Property Status() As UShort + Get + Return Me.statusField + End Get + Set + Me.statusField = value + End Set + End Property + + ''' + Public Property SubStatus() As UShort + Get + Return Me.subStatusField + End Get + Set + Me.subStatusField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class GETINFO2DATA + + Private statusWordField As UShort + + Private urpField As Double + + Private actToolField As Double + + Private actOffsetField As UShort + + Private progToolField As Double + + Private progOffsetField As UShort + + Private mStatusField As UShort + + Private mValueField() As UShort + + Private ax1NameField As Byte + + Private ax1OffsetField As Double + + Private ax2NameField As Byte + + Private ax2OffsetField As Double + + Private radiusField As Double + + ''' + Public Property StatusWord() As UShort + Get + Return Me.statusWordField + End Get + Set + Me.statusWordField = value + End Set + End Property + + ''' + Public Property Urp() As Double + Get + Return Me.urpField + End Get + Set + Me.urpField = value + End Set + End Property + + ''' + Public Property ActTool() As Double + Get + Return Me.actToolField + End Get + Set + Me.actToolField = value + End Set + End Property + + ''' + Public Property ActOffset() As UShort + Get + Return Me.actOffsetField + End Get + Set + Me.actOffsetField = value + End Set + End Property + + ''' + Public Property ProgTool() As Double + Get + Return Me.progToolField + End Get + Set + Me.progToolField = value + End Set + End Property + + ''' + Public Property ProgOffset() As UShort + Get + Return Me.progOffsetField + End Get + Set + Me.progOffsetField = value + End Set + End Property + + ''' + _ + Public Property MStatus() As UShort + Get + Return Me.mStatusField + End Get + Set + Me.mStatusField = value + End Set + End Property + + ''' + _ + Public Property MValue() As UShort() + Get + Return Me.mValueField + End Get + Set + Me.mValueField = value + End Set + End Property + + ''' + Public Property Ax1Name() As Byte + Get + Return Me.ax1NameField + End Get + Set + Me.ax1NameField = value + End Set + End Property + + ''' + Public Property Ax1Offset() As Double + Get + Return Me.ax1OffsetField + End Get + Set + Me.ax1OffsetField = value + End Set + End Property + + ''' + Public Property Ax2Name() As Byte + Get + Return Me.ax2NameField + End Get + Set + Me.ax2NameField = value + End Set + End Property + + ''' + Public Property Ax2Offset() As Double + Get + Return Me.ax2OffsetField + End Get + Set + Me.ax2OffsetField = value + End Set + End Property + + ''' + Public Property Radius() As Double + Get + Return Me.radiusField + End Get + Set + Me.radiusField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class GETINFO1DATA + + Private statusField As Byte + + Private substatusField As Byte + + Private modeselectField As Byte + + Private jogdirField As Byte + + Private speedovField As UShort + + Private feedovField As UShort + + Private rapfeedovField As UShort + + Private manfeedovField As UShort + + Private jogincrField As Double + + Private numaxselField As Byte + + Private axselField() As Byte + + Private actualtoolField As Double + + Private progrtoolField As Double + + Private actualtooloffField As UShort + + Private progrtooloffField As UShort + + Private realspeedField As Double + + Private progrspeedField As Double + + Private progrfeedField As Double + + Private rapidfeedField As Double + + Private realfeedField As Double + + Private feedmisunitField As UShort + + Private mainprogrnameField As String + + Private dryrunField As Byte + + Private rapidoverrideField As Byte + + Private disableslashedblkField As Byte + + Private optionalstopField As Byte + + Private forcerapidfeedField As Byte + + Private autojogretField As Byte + + Private blockretraceField As Byte + + Private lastncerrorField As UShort + + Private freeField As String + + ''' + Public Property status() As Byte + Get + Return Me.statusField + End Get + Set + Me.statusField = value + End Set + End Property + + ''' + Public Property substatus() As Byte + Get + Return Me.substatusField + End Get + Set + Me.substatusField = value + End Set + End Property + + ''' + _ + Public Property modeselect() As Byte + Get + Return Me.modeselectField + End Get + Set + Me.modeselectField = value + End Set + End Property + + ''' + _ + Public Property jogdir() As Byte + Get + Return Me.jogdirField + End Get + Set + Me.jogdirField = value + End Set + End Property + + ''' + _ + Public Property speedov() As UShort + Get + Return Me.speedovField + End Get + Set + Me.speedovField = value + End Set + End Property + + ''' + _ + Public Property feedov() As UShort + Get + Return Me.feedovField + End Get + Set + Me.feedovField = value + End Set + End Property + + ''' + _ + Public Property rapfeedov() As UShort + Get + Return Me.rapfeedovField + End Get + Set + Me.rapfeedovField = value + End Set + End Property + + ''' + _ + Public Property manfeedov() As UShort + Get + Return Me.manfeedovField + End Get + Set + Me.manfeedovField = value + End Set + End Property + + ''' + _ + Public Property jogincr() As Double + Get + Return Me.jogincrField + End Get + Set + Me.jogincrField = value + End Set + End Property + + ''' + _ + Public Property numaxsel() As Byte + Get + Return Me.numaxselField + End Get + Set + Me.numaxselField = value + End Set + End Property + + ''' + _ + Public Property axsel() As Byte() + Get + Return Me.axselField + End Get + Set + Me.axselField = value + End Set + End Property + + ''' + _ + Public Property actualtool() As Double + Get + Return Me.actualtoolField + End Get + Set + Me.actualtoolField = value + End Set + End Property + + ''' + _ + Public Property progrtool() As Double + Get + Return Me.progrtoolField + End Get + Set + Me.progrtoolField = value + End Set + End Property + + ''' + _ + Public Property actualtooloff() As UShort + Get + Return Me.actualtooloffField + End Get + Set + Me.actualtooloffField = value + End Set + End Property + + ''' + _ + Public Property progrtooloff() As UShort + Get + Return Me.progrtooloffField + End Get + Set + Me.progrtooloffField = value + End Set + End Property + + ''' + _ + Public Property realspeed() As Double + Get + Return Me.realspeedField + End Get + Set + Me.realspeedField = value + End Set + End Property + + ''' + _ + Public Property progrspeed() As Double + Get + Return Me.progrspeedField + End Get + Set + Me.progrspeedField = value + End Set + End Property + + ''' + _ + Public Property progrfeed() As Double + Get + Return Me.progrfeedField + End Get + Set + Me.progrfeedField = value + End Set + End Property + + ''' + _ + Public Property rapidfeed() As Double + Get + Return Me.rapidfeedField + End Get + Set + Me.rapidfeedField = value + End Set + End Property + + ''' + _ + Public Property realfeed() As Double + Get + Return Me.realfeedField + End Get + Set + Me.realfeedField = value + End Set + End Property + + ''' + _ + Public Property feedmisunit() As UShort + Get + Return Me.feedmisunitField + End Get + Set + Me.feedmisunitField = value + End Set + End Property + + ''' + _ + Public Property mainprogrname() As String + Get + Return Me.mainprogrnameField + End Get + Set + Me.mainprogrnameField = value + End Set + End Property + + ''' + _ + Public Property dryrun() As Byte + Get + Return Me.dryrunField + End Get + Set + Me.dryrunField = value + End Set + End Property + + ''' + _ + Public Property rapidoverride() As Byte + Get + Return Me.rapidoverrideField + End Get + Set + Me.rapidoverrideField = value + End Set + End Property + + ''' + _ + Public Property disableslashedblk() As Byte + Get + Return Me.disableslashedblkField + End Get + Set + Me.disableslashedblkField = value + End Set + End Property + + ''' + _ + Public Property optionalstop() As Byte + Get + Return Me.optionalstopField + End Get + Set + Me.optionalstopField = value + End Set + End Property + + ''' + _ + Public Property forcerapidfeed() As Byte + Get + Return Me.forcerapidfeedField + End Get + Set + Me.forcerapidfeedField = value + End Set + End Property + + ''' + _ + Public Property autojogret() As Byte + Get + Return Me.autojogretField + End Get + Set + Me.autojogretField = value + End Set + End Property + + ''' + _ + Public Property blockretrace() As Byte + Get + Return Me.blockretraceField + End Get + Set + Me.blockretraceField = value + End Set + End Property + + ''' + _ + Public Property lastncerror() As UShort + Get + Return Me.lastncerrorField + End Get + Set + Me.lastncerrorField = value + End Set + End Property + + ''' + _ + Public Property free() As String + Get + Return Me.freeField + End Get + Set + Me.freeField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class GETINTDATA + + Private axisNameField As Byte + + Private modeField As Byte + + Private positionField As Double + + Private totalOffsetField As Double + + ''' + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + End Set + End Property + + ''' + Public Property mode() As Byte + Get + Return Me.modeField + End Get + Set + Me.modeField = value + End Set + End Property + + ''' + Public Property position() As Double + Get + Return Me.positionField + End Get + Set + Me.positionField = value + End Set + End Property + + ''' + Public Property TotalOffset() As Double + Get + Return Me.totalOffsetField + End Get + Set + Me.totalOffsetField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class AXORIGNUM + + Private axisNameField As Byte + + Private originNumberField As Byte + + Private originFlagField As UShort + + ''' + Public Property AxisName() As Byte + Get + Return Me.axisNameField + End Get + Set + Me.axisNameField = value + End Set + End Property + + ''' + Public Property OriginNumber() As Byte + Get + Return Me.originNumberField + End Get + Set + Me.originNumberField = value + End Set + End Property + + ''' + Public Property OriginFlag() As UShort + Get + Return Me.originFlagField + End Get + Set + Me.originFlagField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class POCKETTABLEII + + Private statusField As Short + + Private isRandomField As Short + + Private typeField As Short + + Private classField As Short + + Private toolIndField As Short + + Private descrField() As UShort + + ''' + Public Property Status() As Short + Get + Return Me.statusField + End Get + Set + Me.statusField = value + End Set + End Property + + ''' + Public Property isRandom() As Short + Get + Return Me.isRandomField + End Get + Set + Me.isRandomField = value + End Set + End Property + + ''' + Public Property Type() As Short + Get + Return Me.typeField + End Get + Set + Me.typeField = value + End Set + End Property + + ''' + Public Property [Class]() As Short + Get + Return Me.classField + End Get + Set + Me.classField = value + End Set + End Property + + ''' + Public Property ToolInd() As Short + Get + Return Me.toolIndField + End Get + Set + Me.toolIndField = value + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class MAGAZINETABLEII + + Private typeField As Short + + Private numPocketsField As Short + + Private rowPocketsField As Short + + Private externTypeField As Short + + Private externIndField As Short + + Private duserField() As Double + + Private suserField() As Short + + Private descrField() As UShort + + ''' + Public Property Type() As Short + Get + Return Me.typeField + End Get + Set + Me.typeField = value + End Set + End Property + + ''' + Public Property NumPockets() As Short + Get + Return Me.numPocketsField + End Get + Set + Me.numPocketsField = value + End Set + End Property + + ''' + Public Property RowPockets() As Short + Get + Return Me.rowPocketsField + End Get + Set + Me.rowPocketsField = value + End Set + End Property + + ''' + Public Property ExternType() As Short + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + End Set + End Property + + ''' + Public Property ExternInd() As Short + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + End Set + End Property + + ''' + _ + Public Property Duser() As Double() + Get + Return Me.duserField + End Get + Set + Me.duserField = value + End Set + End Property + + ''' + _ + Public Property Suser() As Short() + Get + Return Me.suserField + End Get + Set + Me.suserField = value + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class USERTABLEII + + Private userValField() As Double + + ''' + _ + Public Property UserVal() As Double() + Get + Return Me.userValField + End Get + Set + Me.userValField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class OFFSETVALII + + Private valOrigField As Double + + Private maxChangeValField As Double + + Private actChangeValField As Double + + ''' + Public Property ValOrig() As Double + Get + Return Me.valOrigField + End Get + Set + Me.valOrigField = value + End Set + End Property + + ''' + Public Property MaxChangeVal() As Double + Get + Return Me.maxChangeValField + End Get + Set + Me.maxChangeValField = value + End Set + End Property + + ''' + Public Property ActChangeVal() As Double + Get + Return Me.actChangeValField + End Get + Set + Me.actChangeValField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class OFFSETTABLEII + + Private lenValField() As OFFSETVALII + + Private diaValField() As OFFSETVALII + + Private orientField As UShort + + Private externTypeField As UShort + + Private externIndField As UShort + + Private duserField() As Double + + Private suserField() As Short + + Private descrField() As UShort + + ''' + _ + Public Property LenVal() As OFFSETVALII() + Get + Return Me.lenValField + End Get + Set + Me.lenValField = value + End Set + End Property + + ''' + _ + Public Property DiaVal() As OFFSETVALII() + Get + Return Me.diaValField + End Get + Set + Me.diaValField = value + End Set + End Property + + ''' + Public Property Orient() As UShort + Get + Return Me.orientField + End Get + Set + Me.orientField = value + End Set + End Property + + ''' + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + End Set + End Property + + ''' + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + End Set + End Property + + ''' + _ + Public Property Duser() As Double() + Get + Return Me.duserField + End Get + Set + Me.duserField = value + End Set + End Property + + ''' + _ + Public Property Suser() As Short() + Get + Return Me.suserField + End Get + Set + Me.suserField = value + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + End Set + End Property + End Class + + ''' + _ + Partial Public Class TOOLTABLEII + + Private toolNameField As String + + Private statusField As UShort + + Private lifeTypeField As UShort + + Private maxLifeField As Double + + Private remLifeField As Double + + Private offsNumField As UShort + + Private externTypeField As UShort + + Private externIndField As UShort + + Private duserField() As Double + + Private suserField() As Short + + Private descrField() As UShort + + ''' + _ + Public Property ToolName() As String + Get + Return Me.toolNameField + End Get + Set + Me.toolNameField = value + End Set + End Property + + ''' + Public Property Status() As UShort + Get + Return Me.statusField + End Get + Set + Me.statusField = value + End Set + End Property + + ''' + Public Property LifeType() As UShort + Get + Return Me.lifeTypeField + End Get + Set + Me.lifeTypeField = value + End Set + End Property + + ''' + Public Property MaxLife() As Double + Get + Return Me.maxLifeField + End Get + Set + Me.maxLifeField = value + End Set + End Property + + ''' + Public Property RemLife() As Double + Get + Return Me.remLifeField + End Get + Set + Me.remLifeField = value + End Set + End Property + + ''' + Public Property OffsNum() As UShort + Get + Return Me.offsNumField + End Get + Set + Me.offsNumField = value + End Set + End Property + + ''' + Public Property ExternType() As UShort + Get + Return Me.externTypeField + End Get + Set + Me.externTypeField = value + End Set + End Property + + ''' + Public Property ExternInd() As UShort + Get + Return Me.externIndField + End Get + Set + Me.externIndField = value + End Set + End Property + + ''' + _ + Public Property Duser() As Double() + Get + Return Me.duserField + End Get + Set + Me.duserField = value + End Set + End Property + + ''' + _ + Public Property Suser() As Short() + Get + Return Me.suserField + End Get + Set + Me.suserField = value + End Set + End Property + + ''' + _ + Public Property Descr() As UShort() + Get + Return Me.descrField + End Get + Set + Me.descrField = value + End Set + End Property + End Class + + ''' + _ + Public Enum TABLETYPEII + + ''' + _ + TabTypeTools + + ''' + _ + TabTypeOffsets + + ''' + _ + TabTypeOrigins + + ''' + _ + TabTypeUser + End Enum + + ''' + _ + Public Enum PROCWORDVARTYPE + + ''' + _ + PROCWORDVARRCM + + ''' + _ + PROCWORDVARARM + + ''' + _ + PROCWORDVARDPS + + ''' + _ + PROCWORDVARRAP + + ''' + _ + PROCWORDVARTRP + + ''' + _ + PROCWORDVARVFF + + ''' + _ + PROCWORDVARUVR + + ''' + _ + PROCWORDVARDLA + + ''' + _ + PROCWORDVARMBR + + ''' + _ + PROCWORDVARURL + + ''' + _ + PROCWORDVARDSB + + ''' + _ + PROCWORDVARUSO + + ''' + _ + PROCWORDVARERR + + ''' + _ + PROCWORDVARHMP + + ''' + _ + PROCWORDVARUAS + + ''' + _ + PROCWORDVARMBA + + ''' + _ + PROCWORDVARREM + End Enum + + ''' + _ + Public Enum PROCDOUBLEVARTYPE + + ''' + _ + PROCDOUBLEVARURP + + ''' + _ + PROCDOUBLEVARDWT + + ''' + _ + PROCDOUBLEVARJOG + + ''' + _ + PROCDOUBLEVARMDA + + ''' + _ + PROCDOUBLEVARMSA + + ''' + _ + PROCDOUBLEVARSSL + + ''' + _ + PROCDOUBLEVARVEF + + ''' + _ + PROCDOUBLEVARUPO + + ''' + _ + PROCDOUBLEVARUPA + + ''' + _ + PROCDOUBLEVARCET + + ''' + _ + PROCDOUBLEVARFCT + + ''' + _ + PROCDOUBLEVARMBRLEN + + ''' + _ + PROCDOUBLEVARMBRTHR + End Enum + + ''' + _ + Public Enum RCMTOMODE + + ''' + _ + RCMTOTO + + ''' + _ + RCMTONEXT + End Enum + + ''' + _ + Public Enum SECURITYLEVEL + + ''' + _ + SECURITYLEVELADMIN + + ''' + _ + SECURITYLEVELSERVICE + + ''' + _ + SECURITYLEVELOEMADMIN + + ''' + _ + SECURITYLEVELOEMSERVICE + + ''' + _ + SECURITYLEVELUSERADMIN + + ''' + _ + SECURITYLEVELUSERSERVICE + End Enum + + ''' + _ + Public Delegate Sub BootPhaseEnquiryCompletedEventHandler(ByVal sender As Object, ByVal e As BootPhaseEnquiryCompletedEventArgs) + + ''' + _ + Partial Public Class BootPhaseEnquiryCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Phase() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub BootRebootCompletedEventHandler(ByVal sender As Object, ByVal e As BootRebootCompletedEventArgs) + + ''' + _ + Partial Public Class BootRebootCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub BootShutDownCompletedEventHandler(ByVal sender As Object, ByVal e As BootShutDownCompletedEventArgs) + + ''' + _ + Partial Public Class BootShutDownCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub BootModeCompletedEventHandler(ByVal sender As Object, ByVal e As BootModeCompletedEventArgs) + + ''' + _ + Partial Public Class BootModeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetHWKeyCompletedEventHandler(ByVal sender As Object, ByVal e As GetHWKeyCompletedEventArgs) + + ''' + _ + Partial Public Class GetHWKeyCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property HwKey() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property SecurLevel() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property Release() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadVarWordCompletedEventHandler(ByVal sender As Object, ByVal e As ReadVarWordCompletedEventArgs) + + ''' + _ + Partial Public Class ReadVarWordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As UShort() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadVarDoubleCompletedEventHandler(ByVal sender As Object, ByVal e As ReadVarDoubleCompletedEventArgs) + + ''' + _ + Partial Public Class ReadVarDoubleCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Double() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Double()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteVarWordCompletedEventHandler(ByVal sender As Object, ByVal e As WriteVarWordCompletedEventArgs) + + ''' + _ + Partial Public Class WriteVarWordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteVarWordBitCompletedEventHandler(ByVal sender As Object, ByVal e As WriteVarWordBitCompletedEventArgs) + + ''' + _ + Partial Public Class WriteVarWordBitCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteVarDoubleCompletedEventHandler(ByVal sender As Object, ByVal e As WriteVarDoubleCompletedEventArgs) + + ''' + _ + Partial Public Class WriteVarDoubleCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadVarTextCompletedEventHandler(ByVal sender As Object, ByVal e As ReadVarTextCompletedEventArgs) + + ''' + _ + Partial Public Class ReadVarTextCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Text() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteVarTextCompletedEventHandler(ByVal sender As Object, ByVal e As WriteVarTextCompletedEventArgs) + + ''' + _ + Partial Public Class WriteVarTextCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadNamedVarBoolCompletedEventHandler(ByVal sender As Object, ByVal e As ReadNamedVarBoolCompletedEventArgs) + + ''' + _ + Partial Public Class ReadNamedVarBoolCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Integer() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Integer()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadNamedVarByteCompletedEventHandler(ByVal sender As Object, ByVal e As ReadNamedVarByteCompletedEventArgs) + + ''' + _ + Partial Public Class ReadNamedVarByteCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadNamedVarShortCompletedEventHandler(ByVal sender As Object, ByVal e As ReadNamedVarShortCompletedEventArgs) + + ''' + _ + Partial Public Class ReadNamedVarShortCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Short() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadNamedVarWordCompletedEventHandler(ByVal sender As Object, ByVal e As ReadNamedVarWordCompletedEventArgs) + + ''' + _ + Partial Public Class ReadNamedVarWordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As UShort() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadNamedVarLongCompletedEventHandler(ByVal sender As Object, ByVal e As ReadNamedVarLongCompletedEventArgs) + + ''' + _ + Partial Public Class ReadNamedVarLongCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Long() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Long()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadNamedVarDwordCompletedEventHandler(ByVal sender As Object, ByVal e As ReadNamedVarDwordCompletedEventArgs) + + ''' + _ + Partial Public Class ReadNamedVarDwordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As ULong() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),ULong()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadNamedVarDoubleCompletedEventHandler(ByVal sender As Object, ByVal e As ReadNamedVarDoubleCompletedEventArgs) + + ''' + _ + Partial Public Class ReadNamedVarDoubleCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Double() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Double()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadNamedVarStringCompletedEventHandler(ByVal sender As Object, ByVal e As ReadNamedVarStringCompletedEventArgs) + + ''' + _ + Partial Public Class ReadNamedVarStringCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteNamedVarBoolCompletedEventHandler(ByVal sender As Object, ByVal e As WriteNamedVarBoolCompletedEventArgs) + + ''' + _ + Partial Public Class WriteNamedVarBoolCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteNamedVarByteCompletedEventHandler(ByVal sender As Object, ByVal e As WriteNamedVarByteCompletedEventArgs) + + ''' + _ + Partial Public Class WriteNamedVarByteCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteNamedVarShortCompletedEventHandler(ByVal sender As Object, ByVal e As WriteNamedVarShortCompletedEventArgs) + + ''' + _ + Partial Public Class WriteNamedVarShortCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteNamedVarWordCompletedEventHandler(ByVal sender As Object, ByVal e As WriteNamedVarWordCompletedEventArgs) + + ''' + _ + Partial Public Class WriteNamedVarWordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteNamedVarLongCompletedEventHandler(ByVal sender As Object, ByVal e As WriteNamedVarLongCompletedEventArgs) + + ''' + _ + Partial Public Class WriteNamedVarLongCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteNamedVarDwordCompletedEventHandler(ByVal sender As Object, ByVal e As WriteNamedVarDwordCompletedEventArgs) + + ''' + _ + Partial Public Class WriteNamedVarDwordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteNamedVarDoubleCompletedEventHandler(ByVal sender As Object, ByVal e As WriteNamedVarDoubleCompletedEventArgs) + + ''' + _ + Partial Public Class WriteNamedVarDoubleCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteNamedVarStringCompletedEventHandler(ByVal sender As Object, ByVal e As WriteNamedVarStringCompletedEventArgs) + + ''' + _ + Partial Public Class WriteNamedVarStringCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadWarningMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadWarningMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadWarningMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property WarningMsg() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ResetSingleTableIICompletedEventHandler(ByVal sender As Object, ByVal e As ResetSingleTableIICompletedEventArgs) + + ''' + _ + Partial Public Class ResetSingleTableIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LockTableIICompletedEventHandler(ByVal sender As Object, ByVal e As LockTableIICompletedEventArgs) + + ''' + _ + Partial Public Class LockTableIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub UnLockTableIICompletedEventHandler(ByVal sender As Object, ByVal e As UnLockTableIICompletedEventArgs) + + ''' + _ + Partial Public Class UnLockTableIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetOriginTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As GetOriginTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class GetOriginTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property RecordBuff() As ORIGINTABLEII + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),ORIGINTABLEII) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetOriginTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As SetOriginTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class SetOriginTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetToolTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As GetToolTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class GetToolTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property RecordBuff() As TOOLTABLEII + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),TOOLTABLEII) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetToolTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As SetToolTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class SetToolTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetOffsetTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As GetOffsetTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class GetOffsetTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property RecordBuff() As OFFSETTABLEII + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),OFFSETTABLEII) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetOffsetTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As SetOffsetTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class SetOffsetTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetUserTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As GetUserTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class GetUserTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property RecordBuff() As USERTABLEII + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),USERTABLEII) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetUserTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As SetUserTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class SetUserTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetMagazineTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As GetMagazineTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class GetMagazineTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property RecordBuff() As MAGAZINETABLEII + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MAGAZINETABLEII) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetMagazineTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As SetMagazineTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class SetMagazineTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetPocketTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As GetPocketTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class GetPocketTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property RecordBuff() As POCKETTABLEII + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),POCKETTABLEII) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetPocketTabRecordIICompletedEventHandler(ByVal sender As Object, ByVal e As SetPocketTabRecordIICompletedEventArgs) + + ''' + _ + Partial Public Class SetPocketTabRecordIICompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SaveTablesCompletedEventHandler(ByVal sender As Object, ByVal e As SaveTablesCompletedEventArgs) + + ''' + _ + Partial Public Class SaveTablesCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub RestoreSingleTableCompletedEventHandler(ByVal sender As Object, ByVal e As RestoreSingleTableCompletedEventArgs) + + ''' + _ + Partial Public Class RestoreSingleTableCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SaveSingleTableCompletedEventHandler(ByVal sender As Object, ByVal e As SaveSingleTableCompletedEventArgs) + + ''' + _ + Partial Public Class SaveSingleTableCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SaveBackupMemoryCompletedEventHandler(ByVal sender As Object, ByVal e As SaveBackupMemoryCompletedEventArgs) + + ''' + _ + Partial Public Class SaveBackupMemoryCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub RestoreBackupMemoryCompletedEventHandler(ByVal sender As Object, ByVal e As RestoreBackupMemoryCompletedEventArgs) + + ''' + _ + Partial Public Class RestoreBackupMemoryCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ToolSearchCompletedEventHandler(ByVal sender As Object, ByVal e As ToolSearchCompletedEventArgs) + + ''' + _ + Partial Public Class ToolSearchCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ToolIndex() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short) + End Get + End Property + + ''' + Public ReadOnly Property Pocket() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ToolSearchLifeCompletedEventHandler(ByVal sender As Object, ByVal e As ToolSearchLifeCompletedEventArgs) + + ''' + _ + Partial Public Class ToolSearchLifeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ToolIndex() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short) + End Get + End Property + + ''' + Public ReadOnly Property Pocket() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ToolSearchDirCompletedEventHandler(ByVal sender As Object, ByVal e As ToolSearchDirCompletedEventArgs) + + ''' + _ + Partial Public Class ToolSearchDirCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ToolIndex() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short) + End Get + End Property + + ''' + Public ReadOnly Property Pocket() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ToolSearchLifeDirCompletedEventHandler(ByVal sender As Object, ByVal e As ToolSearchLifeDirCompletedEventArgs) + + ''' + _ + Partial Public Class ToolSearchLifeDirCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ToolIndex() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short) + End Get + End Property + + ''' + Public ReadOnly Property Pocket() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ToolSameFamilyCompletedEventHandler(ByVal sender As Object, ByVal e As ToolSameFamilyCompletedEventArgs) + + ''' + _ + Partial Public Class ToolSameFamilyCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ToolInMaga() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short) + End Get + End Property + + ''' + Public ReadOnly Property ToolsOutMaga() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ToolLoadCompletedEventHandler(ByVal sender As Object, ByVal e As ToolLoadCompletedEventArgs) + + ''' + _ + Partial Public Class ToolLoadCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ToolUnloadCompletedEventHandler(ByVal sender As Object, ByVal e As ToolUnloadCompletedEventArgs) + + ''' + _ + Partial Public Class ToolUnloadCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub PocketSearchCompletedEventHandler(ByVal sender As Object, ByVal e As PocketSearchCompletedEventArgs) + + ''' + _ + Partial Public Class PocketSearchCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Pocket() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub PocketClosestCompletedEventHandler(ByVal sender As Object, ByVal e As PocketClosestCompletedEventArgs) + + ''' + _ + Partial Public Class PocketClosestCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Direction() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short) + End Get + End Property + + ''' + Public ReadOnly Property Pocket() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Short) + End Get + End Property + + ''' + Public ReadOnly Property HorizontalDistance() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),Short) + End Get + End Property + + ''' + Public ReadOnly Property VerticalDistance() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(6),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub PocketNearestCompletedEventHandler(ByVal sender As Object, ByVal e As PocketNearestCompletedEventArgs) + + ''' + _ + Partial Public Class PocketNearestCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Pocket() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ToolLifeCompletedEventHandler(ByVal sender As Object, ByVal e As ToolLifeCompletedEventArgs) + + ''' + _ + Partial Public Class ToolLifeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property RemLife() As Double + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Double) + End Get + End Property + + ''' + Public ReadOnly Property ToolStatus() As Short + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Short) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LoadTableFromFileCompletedEventHandler(ByVal sender As Object, ByVal e As LoadTableFromFileCompletedEventArgs) + + ''' + _ + Partial Public Class LoadTableFromFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MagConfigurePocketsCompletedEventHandler(ByVal sender As Object, ByVal e As MagConfigurePocketsCompletedEventArgs) + + ''' + _ + Partial Public Class MagConfigurePocketsCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub CycleCompletedEventHandler(ByVal sender As Object, ByVal e As CycleCompletedEventArgs) + + ''' + _ + Partial Public Class CycleCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SyncroCycleCompletedEventHandler(ByVal sender As Object, ByVal e As SyncroCycleCompletedEventArgs) + + ''' + _ + Partial Public Class SyncroCycleCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ResetCompletedEventHandler(ByVal sender As Object, ByVal e As ResetCompletedEventArgs) + + ''' + _ + Partial Public Class ResetCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub HoldCompletedEventHandler(ByVal sender As Object, ByVal e As HoldCompletedEventArgs) + + ''' + _ + Partial Public Class HoldCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetFeedManOverCompletedEventHandler(ByVal sender As Object, ByVal e As SetFeedManOverCompletedEventArgs) + + ''' + _ + Partial Public Class SetFeedManOverCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetFeedRateOverCompletedEventHandler(ByVal sender As Object, ByVal e As SetFeedRateOverCompletedEventArgs) + + ''' + _ + Partial Public Class SetFeedRateOverCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetFeedRapidOverCompletedEventHandler(ByVal sender As Object, ByVal e As SetFeedRapidOverCompletedEventArgs) + + ''' + _ + Partial Public Class SetFeedRapidOverCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetSpeedRateOverCompletedEventHandler(ByVal sender As Object, ByVal e As SetSpeedRateOverCompletedEventArgs) + + ''' + _ + Partial Public Class SetSpeedRateOverCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetManMovDirectionCompletedEventHandler(ByVal sender As Object, ByVal e As SetManMovDirectionCompletedEventArgs) + + ''' + _ + Partial Public Class SetManMovDirectionCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetVarJOGCompletedEventHandler(ByVal sender As Object, ByVal e As GetVarJOGCompletedEventArgs) + + ''' + _ + Partial Public Class GetVarJOGCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Double + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Double) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetVarJOGCompletedEventHandler(ByVal sender As Object, ByVal e As SetVarJOGCompletedEventArgs) + + ''' + _ + Partial Public Class SetVarJOGCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetVarUASCompletedEventHandler(ByVal sender As Object, ByVal e As SetVarUASCompletedEventArgs) + + ''' + _ + Partial Public Class SetVarUASCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetVarRCMCompletedEventHandler(ByVal sender As Object, ByVal e As GetVarRCMCompletedEventArgs) + + ''' + _ + Partial Public Class GetVarRCMCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetVarRCMCompletedEventHandler(ByVal sender As Object, ByVal e As SetVarRCMCompletedEventArgs) + + ''' + _ + Partial Public Class SetVarRCMCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetVarCYCTIMECompletedEventHandler(ByVal sender As Object, ByVal e As GetVarCYCTIMECompletedEventArgs) + + ''' + _ + Partial Public Class GetVarCYCTIMECompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetVarCYCTIMECompletedEventHandler(ByVal sender As Object, ByVal e As SetVarCYCTIMECompletedEventArgs) + + ''' + _ + Partial Public Class SetVarCYCTIMECompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetProcVarWordCompletedEventHandler(ByVal sender As Object, ByVal e As GetProcVarWordCompletedEventArgs) + + ''' + _ + Partial Public Class GetProcVarWordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetProcVarWordCompletedEventHandler(ByVal sender As Object, ByVal e As SetProcVarWordCompletedEventArgs) + + ''' + _ + Partial Public Class SetProcVarWordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetProcVarDoubleCompletedEventHandler(ByVal sender As Object, ByVal e As GetProcVarDoubleCompletedEventArgs) + + ''' + _ + Partial Public Class GetProcVarDoubleCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Double + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Double) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetProcVarDoubleCompletedEventHandler(ByVal sender As Object, ByVal e As SetProcVarDoubleCompletedEventArgs) + + ''' + _ + Partial Public Class SetProcVarDoubleCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetMdiStringCompletedEventHandler(ByVal sender As Object, ByVal e As SetMdiStringCompletedEventArgs) + + ''' + _ + Partial Public Class SetMdiStringCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetProcessModeCompletedEventHandler(ByVal sender As Object, ByVal e As SetProcessModeCompletedEventArgs) + + ''' + _ + Partial Public Class SetProcessModeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SelectProcessCompletedEventHandler(ByVal sender As Object, ByVal e As SelectProcessCompletedEventArgs) + + ''' + _ + Partial Public Class SelectProcessCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetSelectedProcessCompletedEventHandler(ByVal sender As Object, ByVal e As GetSelectedProcessCompletedEventArgs) + + ''' + _ + Partial Public Class GetSelectedProcessCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ProcNum() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SelectProcAxisCompletedEventHandler(ByVal sender As Object, ByVal e As SelectProcAxisCompletedEventArgs) + + ''' + _ + Partial Public Class SelectProcAxisCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SelectPartProgramCompletedEventHandler(ByVal sender As Object, ByVal e As SelectPartProgramCompletedEventArgs) + + ''' + _ + Partial Public Class SelectPartProgramCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SelectPartProgramFromDriveCompletedEventHandler(ByVal sender As Object, ByVal e As SelectPartProgramFromDriveCompletedEventArgs) + + ''' + _ + Partial Public Class SelectPartProgramFromDriveCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetActivePartProgramCompletedEventHandler(ByVal sender As Object, ByVal e As GetActivePartProgramCompletedEventArgs) + + ''' + _ + Partial Public Class GetActivePartProgramCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Level() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Main() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property [Sub]() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetActivePartProgramFullPathCompletedEventHandler(ByVal sender As Object, ByVal e As GetActivePartProgramFullPathCompletedEventArgs) + + ''' + _ + Partial Public Class GetActivePartProgramFullPathCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Level() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Main() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property [Sub]() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetPartProgramLinesCompletedEventHandler(ByVal sender As Object, ByVal e As GetPartProgramLinesCompletedEventArgs) + + ''' + _ + Partial Public Class GetPartProgramLinesCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property PPLine1() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property PPLine2() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property PPLine3() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),String) + End Get + End Property + + ''' + Public ReadOnly Property PPLine4() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),String) + End Get + End Property + + ''' + Public ReadOnly Property PPLine5() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),String) + End Get + End Property + + ''' + Public ReadOnly Property PPLine6() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(6),String) + End Get + End Property + + ''' + Public ReadOnly Property PPLine7() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(7),String) + End Get + End Property + + ''' + Public ReadOnly Property PPLine8() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(8),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(9),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(10),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetAxOriginNumCompletedEventHandler(ByVal sender As Object, ByVal e As GetAxOriginNumCompletedEventArgs) + + ''' + _ + Partial Public Class GetAxOriginNumCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property AxesNum() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property AxOriginNum() As AXORIGNUM() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),AXORIGNUM()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetAxesPositionCompletedEventHandler(ByVal sender As Object, ByVal e As GetAxesPositionCompletedEventArgs) + + ''' + _ + Partial Public Class GetAxesPositionCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property NumAxis() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property IntPos() As GETINTDATA() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),GETINTDATA()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetNcInfo1CompletedEventHandler(ByVal sender As Object, ByVal e As GetNcInfo1CompletedEventArgs) + + ''' + _ + Partial Public Class GetNcInfo1CompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property GetInfo() As GETINFO1DATA + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),GETINFO1DATA) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetNcInfo2CompletedEventHandler(ByVal sender As Object, ByVal e As GetNcInfo2CompletedEventArgs) + + ''' + _ + Partial Public Class GetNcInfo2CompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property GetInfo() As GETINFO2DATA + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),GETINFO2DATA) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetToolNamesCompletedEventHandler(ByVal sender As Object, ByVal e As GetToolNamesCompletedEventArgs) + + ''' + _ + Partial Public Class GetToolNamesCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Tool() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ProgTool() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetProcessStatusCompletedEventHandler(ByVal sender As Object, ByVal e As GetProcessStatusCompletedEventArgs) + + ''' + _ + Partial Public Class GetProcessStatusCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ProcStat() As PROCDATA + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),PROCDATA) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetBlkNumCompletedEventHandler(ByVal sender As Object, ByVal e As GetBlkNumCompletedEventArgs) + + ''' + _ + Partial Public Class GetBlkNumCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property GetBlkNum1() As GETBLKNUMDATA + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),GETBLKNUMDATA) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadErrMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadErrMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadErrMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property SysErrMsg() As ERRMSG + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),ERRMSG) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadPartProgramMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadPartProgramMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadPartProgramMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property PartProgramMsg() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetGCodeCompletedEventHandler(ByVal sender As Object, ByVal e As GetGCodeCompletedEventArgs) + + ''' + _ + Partial Public Class GetGCodeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property GCode() As UShort() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetMCodeCompletedEventHandler(ByVal sender As Object, ByVal e As GetMCodeCompletedEventArgs) + + ''' + _ + Partial Public Class GetMCodeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property MCode() As UShort() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SkipPProgBlockCompletedEventHandler(ByVal sender As Object, ByVal e As SkipPProgBlockCompletedEventArgs) + + ''' + _ + Partial Public Class SkipPProgBlockCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub EseCompletedEventHandler(ByVal sender As Object, ByVal e As EseCompletedEventArgs) + + ''' + _ + Partial Public Class EseCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub EseExCompletedEventHandler(ByVal sender As Object, ByVal e As EseExCompletedEventArgs) + + ''' + _ + Partial Public Class EseExCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ExeCompletedEventHandler(ByVal sender As Object, ByVal e As ExeCompletedEventArgs) + + ''' + _ + Partial Public Class ExeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub AxesRefCompletedEventHandler(ByVal sender As Object, ByVal e As AxesRefCompletedEventArgs) + + ''' + _ + Partial Public Class AxesRefCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub DncInitCompletedEventHandler(ByVal sender As Object, ByVal e As DncInitCompletedEventArgs) + + ''' + _ + Partial Public Class DncInitCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub DncDataCompletedEventHandler(ByVal sender As Object, ByVal e As DncDataCompletedEventArgs) + + ''' + _ + Partial Public Class DncDataCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub DncEofCompletedEventHandler(ByVal sender As Object, ByVal e As DncEofCompletedEventArgs) + + ''' + _ + Partial Public Class DncEofCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub DncStopCompletedEventHandler(ByVal sender As Object, ByVal e As DncStopCompletedEventArgs) + + ''' + _ + Partial Public Class DncStopCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetAxesInfo3CompletedEventHandler(ByVal sender As Object, ByVal e As GetAxesInfo3CompletedEventArgs) + + ''' + _ + Partial Public Class GetAxesInfo3CompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property AxesNum() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property AxOwnerList() As UShort() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UShort()) + End Get + End Property + + ''' + Public ReadOnly Property AxNameList() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property AxType() As UShort() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UShort()) + End Get + End Property + + ''' + Public ReadOnly Property AxInterface() As UShort() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UShort()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(6),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(7),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetCodeNumberCompletedEventHandler(ByVal sender As Object, ByVal e As GetCodeNumberCompletedEventArgs) + + ''' + _ + Partial Public Class GetCodeNumberCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property CodeNumber() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property SwVersion() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetOptionsCompletedEventHandler(ByVal sender As Object, ByVal e As GetOptionsCompletedEventArgs) + + ''' + _ + Partial Public Class GetOptionsCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property [Option]() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property SecurLevel() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property SwVersion() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetDateTimeCompletedEventHandler(ByVal sender As Object, ByVal e As GetDateTimeCompletedEventArgs) + + ''' + _ + Partial Public Class GetDateTimeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Year() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Month() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Day() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Hour() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Minute() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Second() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(6),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(7),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(8),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetDateTimeCompletedEventHandler(ByVal sender As Object, ByVal e As SetDateTimeCompletedEventArgs) + + ''' + _ + Partial Public Class SetDateTimeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetSerialNumberCompletedEventHandler(ByVal sender As Object, ByVal e As GetSerialNumberCompletedEventArgs) + + ''' + _ + Partial Public Class GetSerialNumberCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property SerialNumber() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub PutFileCompletedEventHandler(ByVal sender As Object, ByVal e As PutFileCompletedEventArgs) + + ''' + _ + Partial Public Class PutFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetFileCompletedEventHandler(ByVal sender As Object, ByVal e As GetFileCompletedEventArgs) + + ''' + _ + Partial Public Class GetFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Size() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property Data() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub PutBinaryFileCompletedEventHandler(ByVal sender As Object, ByVal e As PutBinaryFileCompletedEventArgs) + + ''' + _ + Partial Public Class PutBinaryFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetBinaryFileCompletedEventHandler(ByVal sender As Object, ByVal e As GetBinaryFileCompletedEventArgs) + + ''' + _ + Partial Public Class GetBinaryFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSSetSecurityLevelCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSSetSecurityLevelCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSSetSecurityLevelCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property OldSecurityLevel() As SECURITYLEVEL + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),SECURITYLEVEL) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSGetSecurityLevelCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSGetSecurityLevelCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSGetSecurityLevelCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property SecurityLevel() As SECURITYLEVEL + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),SECURITYLEVEL) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSLongFileNamesCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSLongFileNamesCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSLongFileNamesCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property UseLongFileNames() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSGetNumDriveCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSGetNumDriveCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSGetNumDriveCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property NumHiddenDrive() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property NumUserDrive() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSGetDriveListCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSGetDriveListCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSGetDriveListCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property DriveName() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSGetHiddenDriveListCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSGetHiddenDriveListCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSGetHiddenDriveListCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property DriveName() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSGetDrivePathCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSGetDrivePathCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSGetDrivePathCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property DrivePath() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSAddDriveCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSAddDriveCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSAddDriveCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSRemoveDriveCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSRemoveDriveCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSRemoveDriveCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSReloadDriveListCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSReloadDriveListCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSReloadDriveListCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSCreateDirCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSCreateDirCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSCreateDirCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSCreateFileCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSCreateFileCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSCreateFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSGetFileSizeCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSGetFileSizeCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSGetFileSizeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Size() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSGetFileAttribCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSGetFileAttribCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSGetFileAttribCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Attrib() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSSetFileAttribCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSSetFileAttribCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSSetFileAttribCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSChangeFileAttribCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSChangeFileAttribCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSChangeFileAttribCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSFindFirstCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSFindFirstCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSFindFirstCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property FindData() As FILEFINDDATA + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),FILEFINDDATA) + End Get + End Property + + ''' + Public ReadOnly Property Finder() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSFindNextCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSFindNextCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSFindNextCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property FindData() As FILEFINDDATA + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),FILEFINDDATA) + End Get + End Property + + ''' + Public ReadOnly Property Found() As Boolean + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Boolean) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSFindCloseCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSFindCloseCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSFindCloseCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSRemoveFileCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSRemoveFileCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSRemoveFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSRemoveDirCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSRemoveDirCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSRemoveDirCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSRenameCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSRenameCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSRenameCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSCopyFileCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSCopyFileCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSCopyFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSGetInfoCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSGetInfoCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSGetInfoCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Buffer() As UInteger() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSOpenFileCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSOpenFileCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSOpenFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property FileID() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSCloseFileCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSCloseFileCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSCloseFileCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property FileID() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetSysTickCompletedEventHandler(ByVal sender As Object, ByVal e As GetSysTickCompletedEventArgs) + + ''' + _ + Partial Public Class GetSysTickCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property SysTick() As Double + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Double) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetProcessConfNumCompletedEventHandler(ByVal sender As Object, ByVal e As GetProcessConfNumCompletedEventArgs) + + ''' + _ + Partial Public Class GetProcessConfNumCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ProcessConfNum() As Byte + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Byte) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub CheckHistoryCompletedEventHandler(ByVal sender As Object, ByVal e As CheckHistoryCompletedEventArgs) + + ''' + _ + Partial Public Class CheckHistoryCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ThisBootMsgCounter() As UInteger() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger()) + End Get + End Property + + ''' + Public ReadOnly Property AllBootMsgCounter() As UInteger() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger()) + End Get + End Property + + ''' + Public ReadOnly Property ThisBootID() As UInteger() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadHistoryEmergMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadHistoryEmergMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadHistoryEmergMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As MSGEMERGENCY + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MSGEMERGENCY) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadHistoryErrorMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadHistoryErrorMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadHistoryErrorMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As MSGERROR + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MSGERROR) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadHistoryLogMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadHistoryLogMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadHistoryLogMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As MSGLOGS + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MSGLOGS) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadHistoryAnomalyMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadHistoryAnomalyMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadHistoryAnomalyMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As MSGANOMALY + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MSGANOMALY) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadCurrentErrorMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadCurrentErrorMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadCurrentErrorMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As MSGERROR + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MSGERROR) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadCurrentEmergMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadCurrentEmergMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadCurrentEmergMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As MSGEMERGENCY + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MSGEMERGENCY) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadCurrentAnomalyMsgCompletedEventHandler(ByVal sender As Object, ByVal e As ReadCurrentAnomalyMsgCompletedEventArgs) + + ''' + _ + Partial Public Class ReadCurrentAnomalyMsgCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As MSGANOMALY + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MSGANOMALY) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetPTechSizesCompletedEventHandler(ByVal sender As Object, ByVal e As GetPTechSizesCompletedEventArgs) + + ''' + _ + Partial Public Class GetPTechSizesCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Ind1() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Ind2() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Ind3() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LoadPTechCompletedEventHandler(ByVal sender As Object, ByVal e As LoadPTechCompletedEventArgs) + + ''' + _ + Partial Public Class LoadPTechCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetMarkerInfoCompletedEventHandler(ByVal sender As Object, ByVal e As GetMarkerInfoCompletedEventArgs) + + ''' + _ + Partial Public Class GetMarkerInfoCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property MarkerInfo() As MARKERINFO + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),MARKERINFO) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ManagePartProgramCompletedEventHandler(ByVal sender As Object, ByVal e As ManagePartProgramCompletedEventArgs) + + ''' + _ + Partial Public Class ManagePartProgramCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrString() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSWriteRecordCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSWriteRecordCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSWriteRecordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub LogFSReadRecordCompletedEventHandler(ByVal sender As Object, ByVal e As LogFSReadRecordCompletedEventArgs) + + ''' + _ + Partial Public Class LogFSReadRecordCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property DataSize() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property Record() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadRemapDefinitionsCompletedEventHandler(ByVal sender As Object, ByVal e As ReadRemapDefinitionsCompletedEventArgs) + + ''' + _ + Partial Public Class ReadRemapDefinitionsCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Array() As REMAPDEF() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),REMAPDEF()) + End Get + End Property + + ''' + Public ReadOnly Property DefinitionsCnt() As Integer + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Integer) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteRemapDefinitionsCompletedEventHandler(ByVal sender As Object, ByVal e As WriteRemapDefinitionsCompletedEventArgs) + + ''' + _ + Partial Public Class WriteRemapDefinitionsCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetServoParCompletedEventHandler(ByVal sender As Object, ByVal e As GetServoParCompletedEventArgs) + + ''' + _ + Partial Public Class GetServoParCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Double + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Double) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetServoParCompletedEventHandler(ByVal sender As Object, ByVal e As SetServoParCompletedEventArgs) + + ''' + _ + Partial Public Class SetServoParCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetCNCRegKeyCompletedEventHandler(ByVal sender As Object, ByVal e As GetCNCRegKeyCompletedEventArgs) + + ''' + _ + Partial Public Class GetCNCRegKeyCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ValueLen() As Integer + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Integer) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetSecurityDataCompletedEventHandler(ByVal sender As Object, ByVal e As GetSecurityDataCompletedEventArgs) + + ''' + _ + Partial Public Class GetSecurityDataCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Data() As SECURDATA + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),SECURDATA) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetSecurityDataCompletedEventHandler(ByVal sender As Object, ByVal e As SetSecurityDataCompletedEventArgs) + + ''' + _ + Partial Public Class SetSecurityDataCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetIpAddressCompletedEventHandler(ByVal sender As Object, ByVal e As SetIpAddressCompletedEventArgs) + + ''' + _ + Partial Public Class SetIpAddressCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetProcInInputCompletedEventHandler(ByVal sender As Object, ByVal e As GetProcInInputCompletedEventArgs) + + ''' + _ + Partial Public Class GetProcInInputCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ProcInfo() As INPUTINFO + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),INPUTINFO) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SndProcInpDataCompletedEventHandler(ByVal sender As Object, ByVal e As SndProcInpDataCompletedEventArgs) + + ''' + _ + Partial Public Class SndProcInpDataCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetPartProgramLinesExCompletedEventHandler(ByVal sender As Object, ByVal e As GetPartProgramLinesExCompletedEventArgs) + + ''' + _ + Partial Public Class GetPartProgramLinesExCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property PPLine1() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property PPLine2() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property PPLine3() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property PPLine4() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property PPLine5() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property PPLine6() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(6),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property PPLine7() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(7),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property PPLine8() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(8),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(9),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(10),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetMdiStringExCompletedEventHandler(ByVal sender As Object, ByVal e As SetMdiStringExCompletedEventArgs) + + ''' + _ + Partial Public Class SetMdiStringExCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetExpireDataCompletedEventHandler(ByVal sender As Object, ByVal e As GetExpireDataCompletedEventArgs) + + ''' + _ + Partial Public Class GetExpireDataCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Day() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Month() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Year() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetRemainingTimeCompletedEventHandler(ByVal sender As Object, ByVal e As GetRemainingTimeCompletedEventArgs) + + ''' + _ + Partial Public Class GetRemainingTimeCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property remTime() As Long + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Long) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GenerateUserKeyCompletedEventHandler(ByVal sender As Object, ByVal e As GenerateUserKeyCompletedEventArgs) + + ''' + _ + Partial Public Class GenerateUserKeyCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property keyUser() As String() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub WriteActivationKeyCompletedEventHandler(ByVal sender As Object, ByVal e As WriteActivationKeyCompletedEventArgs) + + ''' + _ + Partial Public Class WriteActivationKeyCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetAvailableCustomEventsCompletedEventHandler(ByVal sender As Object, ByVal e As GetAvailableCustomEventsCompletedEventArgs) + + ''' + _ + Partial Public Class GetAvailableCustomEventsCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property NumEvents() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property EventData() As MONCUSTOMEVENTINFO() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),MONCUSTOMEVENTINFO()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonOpenChannelCompletedEventHandler(ByVal sender As Object, ByVal e As MonOpenChannelCompletedEventArgs) + + ''' + _ + Partial Public Class MonOpenChannelCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ChannelID() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonCloseChannelCompletedEventHandler(ByVal sender As Object, ByVal e As MonCloseChannelCompletedEventArgs) + + ''' + _ + Partial Public Class MonCloseChannelCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonAddVariableCompletedEventHandler(ByVal sender As Object, ByVal e As MonAddVariableCompletedEventArgs) + + ''' + _ + Partial Public Class MonAddVariableCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property VariableID() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonDeleteVariableCompletedEventHandler(ByVal sender As Object, ByVal e As MonDeleteVariableCompletedEventArgs) + + ''' + _ + Partial Public Class MonDeleteVariableCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonStartSamplingCompletedEventHandler(ByVal sender As Object, ByVal e As MonStartSamplingCompletedEventArgs) + + ''' + _ + Partial Public Class MonStartSamplingCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonStopSamplingCompletedEventHandler(ByVal sender As Object, ByVal e As MonStopSamplingCompletedEventArgs) + + ''' + _ + Partial Public Class MonStopSamplingCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonGetVariableCompletedEventHandler(ByVal sender As Object, ByVal e As MonGetVariableCompletedEventArgs) + + ''' + _ + Partial Public Class MonGetVariableCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property NumSampleRead() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property DataBuffer() As Double() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Double()) + End Get + End Property + + ''' + Public ReadOnly Property TimeBuffer() As Long() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),Long()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonGetVariableSCompletedEventHandler(ByVal sender As Object, ByVal e As MonGetVariableSCompletedEventArgs) + + ''' + _ + Partial Public Class MonGetVariableSCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property DataBuffer() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property TimeBuffer() As Byte() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),Byte()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonGetDryRunCompletedEventHandler(ByVal sender As Object, ByVal e As MonGetDryRunCompletedEventArgs) + + ''' + _ + Partial Public Class MonGetDryRunCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property numSampleRead() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property readData() As MONDRYRUN() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),MONDRYRUN()) + End Get + End Property + + ''' + Public ReadOnly Property timeBuffer() As Long() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),Long()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub MonGetMovCompletedEventHandler(ByVal sender As Object, ByVal e As MonGetMovCompletedEventArgs) + + ''' + _ + Partial Public Class MonGetMovCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property numSampleRead() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property readData() As MONENTEMOVI() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),MONENTEMOVI()) + End Get + End Property + + ''' + Public ReadOnly Property timeBuffer() As Long() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),Long()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetDriveBasicInfoCompletedEventHandler(ByVal sender As Object, ByVal e As GetDriveBasicInfoCompletedEventArgs) + + ''' + _ + Partial Public Class GetDriveBasicInfoCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property DriveBasicInfo() As DRIVEBASICINFO + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),DRIVEBASICINFO) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadStatisticsCompletedEventHandler(ByVal sender As Object, ByVal e As ReadStatisticsCompletedEventArgs) + + ''' + _ + Partial Public Class ReadStatisticsCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property Value() As Long() + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Long()) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub ReadStatisticsBaseFrequencyCompletedEventHandler(ByVal sender As Object, ByVal e As ReadStatisticsBaseFrequencyCompletedEventArgs) + + ''' + _ + Partial Public Class ReadStatisticsBaseFrequencyCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property baseFrequency() As Long + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Long) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub GetActiveAmpCompletedEventHandler(ByVal sender As Object, ByVal e As GetActiveAmpCompletedEventArgs) + + ''' + _ + Partial Public Class GetActiveAmpCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ActiveAmp() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UShort) + End Get + End Property + + ''' + Public ReadOnly Property RunningAmp() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),UInteger) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub SetActiveAmpCompletedEventHandler(ByVal sender As Object, ByVal e As SetActiveAmpCompletedEventArgs) + + ''' + _ + Partial Public Class SetActiveAmpCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As UShort + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),UShort) + End Get + End Property + + ''' + Public ReadOnly Property ErrClass() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),UInteger) + End Get + End Property + + ''' + Public ReadOnly Property ErrNum() As UInteger + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),UInteger) + End Get + End Property + End Class +End Namespace diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/SECURDATA1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/SECURDATA1.datasource new file mode 100644 index 0000000..76e1d1a --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/SECURDATA1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.SECURDATA, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/SECURITYLEVEL1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/SECURITYLEVEL1.datasource new file mode 100644 index 0000000..065565f --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/SECURITYLEVEL1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.SECURITYLEVEL, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/TOOLTABLEII1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/TOOLTABLEII1.datasource new file mode 100644 index 0000000..28ffbc7 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/TOOLTABLEII1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.TOOLTABLEII, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/Web References/WebReference/USERTABLEII1.datasource b/EgwProxy.OsaiCncLib/Web References/WebReference/USERTABLEII1.datasource new file mode 100644 index 0000000..99f15b6 --- /dev/null +++ b/EgwProxy.OsaiCncLib/Web References/WebReference/USERTABLEII1.datasource @@ -0,0 +1,10 @@ + + + + EgwProxy.OsaiCncLib.WebReference.USERTABLEII, Web References.WebReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/api/index.md b/EgwProxy.OsaiCncLib/api/index.md new file mode 100644 index 0000000..4769181 --- /dev/null +++ b/EgwProxy.OsaiCncLib/api/index.md @@ -0,0 +1,10 @@ +# EgwProxy.OsaiCncLib + +Libreria di comunicazione verso PLC OSAI (classici). + +Esempi CNC supportati: + - OPEN (soap) + - CNDEX + - VB6 + +Impiegare il menù laterale per navigare nel codice del progetto. \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/app.config b/EgwProxy.OsaiCncLib/app.config new file mode 100644 index 0000000..5b47729 --- /dev/null +++ b/EgwProxy.OsaiCncLib/app.config @@ -0,0 +1,48 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://192.168.20.2:8080 + + + http://192.168.20.2:8080 + + + + diff --git a/EgwProxy.OsaiCncLib/articles/intro.md b/EgwProxy.OsaiCncLib/articles/intro.md new file mode 100644 index 0000000..bac371a --- /dev/null +++ b/EgwProxy.OsaiCncLib/articles/intro.md @@ -0,0 +1,9 @@ +# EgwProxy.OsaiCncLib: + +Libreria proxy di comunicazione con CNC Osai + + - OPEN + - CNDEX + - VB6 + +Installabile come nuget package da proxy aziendale diff --git a/EgwProxy.OsaiCncLib/articles/toc.md b/EgwProxy.OsaiCncLib/articles/toc.md new file mode 100644 index 0000000..89dec33 --- /dev/null +++ b/EgwProxy.OsaiCncLib/articles/toc.md @@ -0,0 +1 @@ +#[Introduction](intro.md) diff --git a/EgwProxy.OsaiCncLib/docfx.json b/EgwProxy.OsaiCncLib/docfx.json new file mode 100644 index 0000000..435e349 --- /dev/null +++ b/EgwProxy.OsaiCncLib/docfx.json @@ -0,0 +1,69 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "*.csproj", + "*.vbproj" + ], + "cwd": ".", + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "obj/api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml" + ], + "cwd": "obj" + }, + { + "files": [ + "api/*.md", + "articles/**.md", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ] + } +} \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/index.md b/EgwProxy.OsaiCncLib/index.md new file mode 100644 index 0000000..aef1be0 --- /dev/null +++ b/EgwProxy.OsaiCncLib/index.md @@ -0,0 +1,18 @@ +# EgwProxy.OsaiCncLib: + +Documentazione relativa alla libreria EgwProxy.OsaiCncLib. + +Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo + +https://nexus.steamware.net/#browse/browse:nuget-hosted + + +Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi. + +## Articles + +Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles + +## Api + +Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib/qq b/EgwProxy.OsaiCncLib/qq new file mode 100644 index 0000000..e69de29 diff --git a/EgwProxy.OsaiCncLib/reg.bat b/EgwProxy.OsaiCncLib/reg.bat new file mode 100644 index 0000000..290c254 --- /dev/null +++ b/EgwProxy.OsaiCncLib/reg.bat @@ -0,0 +1 @@ +c:\windows\system32\regsvr32 c:\Users\carlo\Documents\Projects\vs2008\d_prod\d_prod\s10dllprj.dll > qq diff --git a/EgwProxy.OsaiCncLib/testSam.XmlSerializers.dll b/EgwProxy.OsaiCncLib/testSam.XmlSerializers.dll new file mode 100644 index 0000000000000000000000000000000000000000..5a74cc594e375b066c30686aea8c050113332099 GIT binary patch literal 838656 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 S8c3f1dNB3k=JWfJ1OGqjQYsh# literal 0 HcmV?d00001 diff --git a/EgwProxy.OsaiCncLib/testSam.vshost.exe b/EgwProxy.OsaiCncLib/testSam.vshost.exe new file mode 100644 index 0000000000000000000000000000000000000000..681ab771eb267aad9397bb2eaf7889c5ac0e15e6 GIT binary patch literal 22696 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 wj{B?PH3nCjG}491+ySfEVd + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://192.168.20.2:8080 + + + http://192.168.20.2:8080 + + + + diff --git a/EgwProxy.OsaiCncLib/toc.yml b/EgwProxy.OsaiCncLib/toc.yml new file mode 100644 index 0000000..7eee9ff --- /dev/null +++ b/EgwProxy.OsaiCncLib/toc.yml @@ -0,0 +1,6 @@ + +- name: Articles + href: articles/ +- name: API Documentation + href: obj/api/ + homepage: api/index.md diff --git a/EgwProxy.OsaiCncLib/ureg.bat b/EgwProxy.OsaiCncLib/ureg.bat new file mode 100644 index 0000000..9166160 --- /dev/null +++ b/EgwProxy.OsaiCncLib/ureg.bat @@ -0,0 +1 @@ +c:\windows\system32\regsvr32 /u s10dllprj.dll diff --git a/EgwProxy.SqlDb.Test/App.config b/EgwProxy.SqlDb.Test/App.config new file mode 100644 index 0000000..e63126c --- /dev/null +++ b/EgwProxy.SqlDb.Test/App.config @@ -0,0 +1,25 @@ + + + + + +
+ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.SqlDb.Test/EgwProxy.SqlDb.Test.csproj b/EgwProxy.SqlDb.Test/EgwProxy.SqlDb.Test.csproj new file mode 100644 index 0000000..bf81c28 --- /dev/null +++ b/EgwProxy.SqlDb.Test/EgwProxy.SqlDb.Test.csproj @@ -0,0 +1,105 @@ + + + + + + Debug + AnyCPU + {A11CA446-AE97-413D-A567-45A081F003DB} + Exe + EgwProxy.SqlDb.Test + EgwProxy.SqlDb.Test + v4.6.2 + 512 + true + true + + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\Remote_DEBUG\ + DEBUG;TRACE + full + AnyCPU + 7.3 + prompt + true + + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll + + + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + + + + + + + + + + + + + + + + + + + + + Always + + + + + + + + {a5f9e2c8-b866-4470-923c-11ba35270963} + EgwProxy.SqlDb + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + "$(ProjectDir)setupTgt.bat" "$(ConfigurationName)" "$(ProjectDir)" + + + "$(ProjectDir)postBuildTgt.bat" "$(ConfigurationName)" "$(TargetDir)" + + \ No newline at end of file diff --git a/EgwProxy.SqlDb.Test/Program.cs b/EgwProxy.SqlDb.Test/Program.cs new file mode 100644 index 0000000..8610e35 --- /dev/null +++ b/EgwProxy.SqlDb.Test/Program.cs @@ -0,0 +1,296 @@ +using EgwProxy.SqlDb.Controllers; +using EgwProxy.SqlDb.DbModels; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.IO; +using System.Linq; +using System.Text; +using static System.Net.Mime.MediaTypeNames; + +namespace EgwProxy.SqlDb.Test +{ + internal class Program + { + #region Protected Methods + + /// + /// legge conf in formato stringa + /// + /// + /// + protected static string ReadSetting(string key) + { + string answ = ""; + try + { + answ = $"{ConfigurationManager.AppSettings[key]}" ?? ""; + } + catch (Exception exc) + { + Console.Write("Eccezione in ReadSettings"); + Console.Write(exc.Message); + } + return answ; + } + + #endregion Protected Methods + + #region Private Fields + + /// + /// Helper separatore dash + /// + private const string separator = "------------------------"; + + #endregion Private Fields + + #region Private Methods + + /// + /// Programma principale + /// + /// + private static void Main(string[] args) + { + Console.WriteLine(separator); + Console.WriteLine("Test DB Client"); + Console.WriteLine(separator); + Console.WriteLine(); + string exePath = System.Reflection.Assembly.GetExecutingAssembly().Location; + string BaseDirectory = Path.GetDirectoryName(exePath); + string testFile = Path.Combine(BaseDirectory, ReadSetting("testFile")); + string connStr = ""; + DbController dbClient = new DbController(connStr); + if (!string.IsNullOrEmpty(testFile)) + { + Console.WriteLine(separator); + Console.WriteLine($"Mode json ({testFile})"); + Console.WriteLine(separator); + Console.WriteLine(); + if (File.Exists(testFile)) + { + var rawData = File.ReadAllText(testFile); + if (!string.IsNullOrEmpty(rawData)) + { + TestSetup testConf = new TestSetup(); + try + { + testConf = JsonConvert.DeserializeObject(rawData); + } + catch + { } + // setup server + connStr = $"data source={testConf.server};initial catalog={testConf.dbName};persist security info=True;user id={testConf.user};password={testConf.password};MultipleActiveResultSets=True;App={testConf.app}"; + dbClient = new DbController(connStr); + serverTest(dbClient); + + // eseguo per ogni step + foreach (var item in testConf.steps) + { + Console.WriteLine($"------ Step {item.id} | {item.description} ------"); + StringBuilder sb = new StringBuilder(); + sb.AppendLine(separator); + switch (item.action) + { + case stepType.GetSyncState: + var currTab = dbClient.SyncStateGetAll(); + if (currTab != null && currTab.Count > 0) + { + foreach (var syncRec in currTab) + { + sb.AppendLine($"{syncRec.TableName} | {syncRec.LastIdx} | {syncRec.Note} | {syncRec.LastUpdate}"); + } + } + else + { + sb.AppendLine("Error: Table empty/missing!"); + } + sb.AppendLine(separator); + + break; + + + case stepType.ResetPodl: + sb.AppendLine("Inizio reset PODL"); + + var dbRes = dbClient.ResetPODLMes(); + if (dbRes.Count == 0) + { + sb.AppendLine("Pulizia eseguita!"); + } + else + { + sb.AppendLine("Problemi con svuotamento tab PODL"); + } + + sb.AppendLine(separator); + + break; + case stepType.SetNewPodl: + sb.AppendLine($"Inizio inserimento {item.paramList.Count} rec"); + // creo una lista di PODL da processare... + List CurrPodlReq = new List(); + foreach (var podl in item.paramList) + { + int idxPodl = 0; + int.TryParse(podl, out idxPodl); + MesPODLReqModel newRec = new MesPODLReqModel() + { + Attivabile = true, + CodArticolo = "ART000000", + IdxMacchina = "SIMUL_01", + IdxODL = 0, + IdxPromessa = idxPodl, + NumPezzi = 1 + }; + CurrPodlReq.Add(newRec); + sb.AppendLine($"Aggiunto PODL{podl:0000000}"); + } + // chiamo procedura insert PODL + bool fatto = dbClient.MesPodlWriteReq(CurrPodlReq); + sb.AppendLine($"Records Aggiunti!"); + sb.AppendLine(separator); + break; + case stepType.DbMigrateAndSync: + try + { + var esitoMigrate = dbClient.DbForceMigrate(); + sb.Append($"Migration: {esitoMigrate}"); + } + catch (Exception exc) + { + sb.AppendLine($"eccezione in migrate:{Environment.NewLine}{exc}"); + } + break; + + case stepType.ExecExportAll: + try + { + var esitoExport = dbClient.SyncStateDoExportAll(); + sb.Append($"ExportAll: {esitoExport}"); + } + catch (Exception exc) + { + sb.AppendLine($"eccezione in ExportAll:{Environment.NewLine}{exc}"); + } + break; + case stepType.ExecImportAll: + try + { + var esitoImport = dbClient.SyncStateDoImportAll(); + sb.Append($"ImportAll: {esitoImport}"); + } + catch (Exception exc) + { + sb.AppendLine($"eccezione in ImportAll:{Environment.NewLine}{exc}"); + } + break; + case stepType.GetMachFluxLog: + try + { + var currFL = dbClient.MachFluxLogGetNew(0); + // mostro le righe + foreach (var fluxRow in currFL) + { + // aggiungo riga in out + sb.Append($"{fluxRow.Id:000} | {fluxRow.DtEvento} | {fluxRow.CodFlux} | {fluxRow.Valore}"); + } + // aggiorno syncstate... + int lastIdx = currFL.Max(x => x.Id); + SyncStateModel currSync = new SyncStateModel() + { + LastIdx = lastIdx, + LastUpdate = DateTime.Now, + Note = "Test update", + TableName = "FluxLog" + }; + dbClient.SyncStateUpsert(currSync); + } + catch (Exception exc) + { + sb.AppendLine($"eccezione in GetMachFluxLog:{Environment.NewLine}{exc}"); + } + break; + case stepType.GetMachProdData: + try + { + var currFL = dbClient.MachProdDataGetNew(0); + // mostro le righe + foreach (var fluxRow in currFL) + { + // aggiungo riga in out + sb.Append($"{fluxRow.Id:000} | {fluxRow.DtEve} | {fluxRow.CodComm} | {fluxRow.Action}"); + } + // aggiorno syncstate... + int lastIdx = currFL.Max(x => x.Id); + SyncStateModel currSync = new SyncStateModel() + { + LastIdx = lastIdx, + LastUpdate = DateTime.Now, + Note = "Test update", + TableName = "ProdData" + }; + dbClient.SyncStateUpsert(currSync); + } + catch (Exception exc) + { + sb.AppendLine($"eccezione in GetMachProdData:{Environment.NewLine}{exc}"); + } + break; + case stepType.GetMachSignLog: + try + { + var currFL = dbClient.MachSigLogGetNew(0); + // mostro le righe + foreach (var fluxRow in currFL) + { + // aggiungo riga in out + sb.Append($"{fluxRow.Id:000} | {fluxRow.DtEve} | {fluxRow.ValInt} | {fluxRow.Valore}"); + } + // aggiorno syncstate... + int lastIdx = currFL.Max(x => x.Id); + SyncStateModel currSync = new SyncStateModel() + { + LastIdx = lastIdx, + LastUpdate = DateTime.Now, + Note = "Test update", + TableName = "SignLog" + }; + dbClient.SyncStateUpsert(currSync); + } + catch (Exception exc) + { + sb.AppendLine($"eccezione in GetMachSignLog:{Environment.NewLine}{exc}"); + } + break; + + default: + break; + } + string esitoStep = sb.ToString(); + + Console.WriteLine(esitoStep); + Console.WriteLine($"------ Done Step {item.id} ------"); + Console.WriteLine(); + Console.WriteLine("Press a key to continue..."); + Console.ReadKey(); + } + } + } + } + } + + private static void serverTest(DbController dbClient) + { + Console.WriteLine(separator); + string testServer = dbClient.ServerOk(); + Console.WriteLine($"Test connessione: esito {testServer}"); + Console.WriteLine(separator); + Console.WriteLine(); + } + + #endregion Private Methods + } +} diff --git a/EgwProxy.SqlDb.Test/Properties/AssemblyInfo.cs b/EgwProxy.SqlDb.Test/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f9eb4d2 --- /dev/null +++ b/EgwProxy.SqlDb.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("EgwProxy.SqlDb.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.SqlDb.Test")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a11ca446-ae97-413d-a567-45a081f003db")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/BackupDb.sql b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/BackupDb.sql new file mode 100644 index 0000000000000000000000000000000000000000..2d93c8f654601df55d4b7ce6e06da67ec3b1adb5 GIT binary patch literal 1062 zcmaizZ7%~+5QWcYiT`lFA)!BjkZh|((3Y+EfXKGpQmU2RdWj#8XJ&(4gxuV{FEe+} znKQF*uaOSaQ&YzZ>hkTV!D(A3?3>)3X{f$tx=@XMU5N&|)r0Qw>2tfN1x1Q|t@C0> zdusbB@Y;rXeC*e>#y-Zc$J%zZ4p?nJcUS`mLq^IBnu8p`$~ZqVr`!bAXVwhQ;FcUd z6Sw5p=E}JrVVUXf7xb}5NwJUc&Sd8+UOcgz>zbYMJ76}PRnBd~Oo>)7$kC#l)nEB+ zR6NVC3N4zjFdlQpgJ;y|YZ~9U%E7gmz-s6$5>!vfFy&^-cfv3o27EJT`E@hHV?>^mRm)Xg!Sf!RjCBlFz@zT3e~V!`ZDGAbdqXkwf|>Cx za0l3?o`LZ)MPFc1^HJ8PPG2>&Pj_@3HKH03*w$^T)<=6?!aPrG2Xz&|F2Ww2WDIV2O~ z718+-9+p?ZF4hq}7`yV;`B~-P%fYHf`u@J#t?%rD9Jz*W=8Sn)l)S|Ds;iEdf)tt-Q4-cgRb}I c+0e;B?$Uo;55`+wDOKuu?@!D8gw8wq1&u^yAOHXW literal 0 HcmV?d00001 diff --git a/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineEvList.sql b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineEvList.sql new file mode 100644 index 0000000000000000000000000000000000000000..0504d5c5057fd99a62fbc8dc892bf346e537473f GIT binary patch literal 4796 zcmcIoTTdHD6h5z8ssCZ#SW*hbNl28mRc!2lE8herv_dFyjgwj;HnJT;`SESP?;Ib` zu6IqtL$q4&&d#~t$N&CQm6r6SAtw@~hu^LoVpW$jyf^UeLayXbnaZW?;{8ZQvXHh6 zWGH{hSSDCEGRMxPd@tWgRZjI;!`_iJrK76=YP^2L6#&ry-+(=G?1EoM*IhgV z=wIO);SQiW#qW*Gu)f7T!IyyN9iB5l2HlyJ^`M%bJ&Brx>gVA^EwAftVE)1s3G;3D3t9cODkPL z9<%g7VeYY>0&)z#x4@y~1NdhQ-TCbfH|;cpHEvWh+U`naA1nO?yz8o03w|;mzk&Y- z>c1vn?*Kuc(L2B3{^kD6RVFYbh;AII>U`F0G?@XdYT(J+OU zBYd4>m)_ac%X!fs?!QFVH8jndh{6scuZ1gJv%wDZ-d<_`Rx_gw%bd#Ju>TNGj|k^@ zF2~?Wizcugy>botI(TEu7{@J0OZ@l9p^8HH^u3BWJ65YVus#KT6?a3nN@AjDzX@zM zMLf_lZD9V6=U9E>vaMSq>$fsn7?l(f)nSEAws@Q_l*Q%QlP8domEc=n&XN2q?z?z4 zYj^OK`A}cUNQ~$SvuyNIkb_KS5SCfE(5St^iWcmlu4Vbxfbj}@{C=+9 ze~&k-j?7C^smZ>=oM=VNV^?(NM(!c`6h3Di%0oO=2xikY;%=sqmxp+!5X>z`4IxKs zG@dKO96M9wb|1X*6b^L%d`bTdb%xSR0bf@Pt7B207YaX8S!T#(*3WxjXQ_VcC?Nd+ z`|c@M=WJiuXNHiRwe|zzE2(8ioBD6>r#*`JYrwS3-T%%`jPV6VvbpbO-O%@BQHvnN~vp17<`3&3)^ag9hT zLFHv9Vb%xrD`VxDlO*vCzKHcd{LFi4GjHak+0k>YOoEpiCGa_rnas{nUfKW8_9?7i zmSJv-F8UrlWciT)>J`DhZUZjsw*&a7%ySke>}C)38*K+uUN$j=%lZxEevzIC5l%=?Nl!o1~4gHzW8l5)i}N}Oxs z?9IuVaee|jk{jpjF7&f(_A`~$mx>nR~qka3^cYxVGs!=4-w-J;~Lb z9po^3*Sn>hDc(36)l^=-{ee1H(aA8+kMWW9r*U;#MQ;|XC}AAV@@{~t_YoE)jfq+} z+LN7#wzl&TS3DnPt2leB(`&09NBHGLw?4nS#0zkv*TM?#4AAt@5x%ABH9t`VoG7xf z!OY}|v!%}ku;?9H|M3&Q%Tqi<(7MKF4sC}jRgq&kUewB`64Q4V@mGFUF&<_6lq1s1 z)_9&;I3x2Pgjgxu4+&=49(L?(V`uC>Vn45gRY>Q)z8CpgezQk*;A?i}M6-4)$AxnE z{{ZwxkXWtz@M>8lU`J;3Gt#LIpQ$|8DK2JE @LastIdx) + BEGIN + /* -------------------------------------------------- + * Invier solo VARIAZIONI dei valori + * - CurrentPP (Part Program) + * - ActiveProdOrder (Ordine in esecuzione) + * + * andando ad incrociare ogni record col precedente... + * -------------------------------------------------- */ + + -- processo dati ORDINI + ;WITH cteCurrOrd AS + ( + SELECT ID + ,ActiveProdOrder + ,Targa as IdxMacchina + ,[DateTime] AS DtEvento + FROM syn_M2ERP_MACHINE_STATE + WHERE ID > @LastIdx AND ID <= @NewIdx + ) + , ctePrevOrd AS + ( + SELECT ID + ,ActiveProdOrder + ,Targa as IdxMacchina + ,[DateTime] AS DtEvento + FROM syn_M2ERP_MACHINE_STATE + WHERE ID >= @LastIdx AND ID < @NewIdx + ) + + -- lego i valori col precedente x calcolare se siano variati x insert valori + INSERT INTO MachineFluxLog(DtEvento, IdxMacchina, CodFlux, Valore, Cnt) + SELECT curr.DtEvento, curr.IdxMacchina, 'ProdOrd' AS CodFlux, curr.ActiveProdOrder as Valore, 0 as Cnt + FROM cteCurrOrd curr + INNER JOIN ctePrevOrd prev + ON curr.ID = prev.ID+1 + WHERE curr.ActiveProdOrder <> prev.ActiveProdOrder + + -- processo dati Part Program + ;WITH cteCurrPP AS + ( + SELECT ID + ,CurrentPP + ,Targa as IdxMacchina + ,[DateTime] AS DtEvento + FROM syn_M2ERP_MACHINE_STATE + WHERE ID > @LastIdx AND ID <= @NewIdx + ) + , ctePrevPP AS + ( + SELECT ID + ,CurrentPP + ,Targa as IdxMacchina + ,[DateTime] AS DtEvento + FROM syn_M2ERP_MACHINE_STATE + WHERE ID >= @LastIdx AND ID < @NewIdx + ) + + -- lego i valori col precedente x calcolare se siano variati x insert valori + INSERT INTO MachineFluxLog(DtEvento, IdxMacchina, CodFlux, Valore, Cnt) + SELECT curr.DtEvento, curr.IdxMacchina, 'PartProg' as CodFlux, curr.CurrentPP as Valore, 0 as Cnt + FROM cteCurrPP curr + INNER JOIN ctePrevPP prev + ON curr.ID = prev.ID+1 + WHERE curr.CurrentPP <> prev.CurrentPP + + + -- aggiorno valore indice processato + MERGE SyncState AS tgt + USING (SELECT @NewIdx as LastIdx, 'ToMachineFluxLog' AS TableName) as src (LastIdx, TableName) + ON (tgt.TableName = src.TableName) + WHEN MATCHED THEN + UPDATE SET LastIdx = src.LastIdx + ,Note = 'UPDATED from ' + CAST(@LastIdx AS NVARCHAR(50)) + ,LastUpdate = GETDATE() + WHEN NOT MATCHED THEN + INSERT (LastIdx, TableName, Note, LastUpdate) + VALUES (src.LastIdx, src.TableName, 'CREATED', GETDATE()); + + END + + COMMIT tran +END \ No newline at end of file diff --git a/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineProdData.sql b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineProdData.sql new file mode 100644 index 0000000..dc114fb --- /dev/null +++ b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineProdData.sql @@ -0,0 +1,166 @@ +ALTER PROCEDURE [dbo].[stp_GetMachineProdData] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + BEGIN tran + + -- dichiarazioni variabili x recupero dati + DECLARE @LastIdx INT = 0 + DECLARE @NewIdx INT = 0 + + -- recupero valore ultima riga stato processata... + SELECT @LastIdx = ISNULL(LastIdx,0) + FROM SyncState + WHERE TableName = 'ToMachineProdData' + + -- recupero nuovo MAX idx + SELECT @NewIdx = ISNULL(MAX(ID),0) + FROM syn_M2ERP_PRODORDERS + + -- eseguo SOLO SE ho dati aggiuntivi... + IF(@NewIdx > @LastIdx) + BEGIN + /* -------------------------------------------------- + * Invierò solo VARIAZIONI dei valori + * - CurrentProdOrder (iniziato/concluso) + * - Quantità Produzione + * - dati FluxLog x ordini/quantità/tempi di produzione + * + * andando ad incrociare ogni record col precedente... + * -------------------------------------------------- */ + + -- processo dati ORDINI + ;WITH cteCurrOrd AS + ( + SELECT ID + ,ProdOrder + ,Targa as IdxMacchina + ,[DateTime] AS DtEvento + ,ProdOrderState + ,ProdQty + FROM syn_M2ERP_PRODORDERS + WHERE ID > @LastIdx AND ID <= @NewIdx + ) + , ctePrevOrd AS + ( + SELECT ID + ,ProdOrder + ,Targa as IdxMacchina + ,[DateTime] AS DtEvento + ,ProdOrderState + ,ProdQty + FROM syn_M2ERP_PRODORDERS + WHERE ID >= @LastIdx AND ID < @NewIdx + ) + , cteActDec AS + ( + SELECT curr.DtEvento as DtEve + ,curr.IdxMacchina + ,CASE + WHEN curr.ProdOrderState = 1 THEN 'StartOrd' + --WHEN curr.ProdOrderState = 2 THEN 'PauseOrd' + WHEN curr.ProdOrderState = 3 THEN 'EndOrd' + --WHEN curr.ProdOrderState = 6 THEN 'InsOrd' + ELSE 'NONE' + END AS OrdAction + ,CASE + WHEN LEFT(curr.ProdOrder, 4) = 'PODL' THEN REPLACE(curr.ProdOrder,'PODL','') + ELSE 0 END AS IdxPodl + ,CASE + WHEN LEFT(curr.ProdOrder, 3) = 'ODL' THEN REPLACE(curr.ProdOrder,'ODL','') + ELSE 0 END AS IdxOdl + ,curr.ProdOrder as CodComm + ,curr.ProdQty as PzCount + FROM cteCurrOrd curr + INNER JOIN ctePrevOrd prev + ON curr.ID = prev.ID+1 + WHERE (curr.ProdOrder <> prev.ProdOrder) + OR (curr.ProdOrderState <> prev.ProdOrderState) + OR (curr.ProdQty <> prev.ProdQty) + ) + -- lego i valori col precedente x calcolare se siano variati x insert valori + INSERT INTO MachineProdData(DtEve, IdxMacchina, Action, IdxPodl, IdxOdl, CodComm, PzCount) + SELECT DtEve, IdxMacchina, OrdAction, IdxPodl, IdxOdl, CodComm, PzCount + FROM cteActDec + WHERE OrdAction <> 'NONE' + + -- ora processo ANCHE come fluxLog i record dei degli ordini (cod ordine, tempi...) + ;WITH cteCurrOrd AS + ( + SELECT ID + ,ProdOrder + ,Targa as IdxMacchina + ,[DateTime] AS DtEvento + ,ProdOrderState + ,ProdQty + ,ElapsedTime + FROM syn_M2ERP_PRODORDERS + WHERE ID > @LastIdx AND ID <= @NewIdx + ) + , ctePrevOrd AS + ( + SELECT ID + ,ProdOrder + ,Targa as IdxMacchina + ,[DateTime] AS DtEvento + ,ProdOrderState + ,ProdQty + ,ElapsedTime + FROM syn_M2ERP_PRODORDERS + WHERE ID >= @LastIdx AND ID < @NewIdx + ) + , cteActDec AS + ( + SELECT curr.DtEvento as DtEve + ,curr.IdxMacchina + ,CASE + WHEN curr.ProdOrderState = 1 THEN 'StartOrd' + --WHEN curr.ProdOrderState = 2 THEN 'PauseOrd' + WHEN curr.ProdOrderState = 3 THEN 'EndOrd' + --WHEN curr.ProdOrderState = 6 THEN 'InsOrd' + ELSE 'NONE' + END AS OrdAction + ,CAST(CASE + WHEN LEFT(curr.ProdOrder, 4) = 'PODL' THEN REPLACE(curr.ProdOrder,'PODL','') + ELSE '0' END AS NVARCHAR(50)) AS IdxPodl + ,CAST(CASE + WHEN LEFT(curr.ProdOrder, 3) = 'ODL' THEN REPLACE(curr.ProdOrder,'ODL','') + ELSE '0' END AS NVARCHAR(50)) AS IdxOdl + ,CAST(curr.ProdOrder AS NVARCHAR(50)) as CodComm + ,curr.ProdQty as PzCount + ,CAST(curr.ElapsedTime AS NVARCHAR(50)) AS ElapsedTime + FROM cteCurrOrd curr + INNER JOIN ctePrevOrd prev + ON curr.ID = prev.ID+1 + WHERE (curr.ProdOrder <> prev.ProdOrder) + OR (curr.ProdOrderState <> prev.ProdOrderState) + OR (curr.ProdQty <> prev.ProdQty) + ) + -- lego i valori col precedente x calcolare se siano variati x insert valori + --INSERT INTO MachineFluxLog(DtEvento, IdxMacchina, CodFlux, Valore, Cnt) + SELECT DtEve as DtEvento, IdxMacchina, CodFlux, Valore,0 as Cnt + FROM cteActDec + UNPIVOT (Valore FOR CodFlux IN (CodComm, ElapsedTime, IdxOdl, IdxPOdl)) AS Unpvt + WHERE OrdAction <> 'NONE' + AND Valore <> '0' + + -- aggiorno valore indice processato + MERGE SyncState AS tgt + USING (SELECT @NewIdx as LastIdx, 'ToMachineProdData' AS TableName) as src (LastIdx, TableName) + ON (tgt.TableName = src.TableName) + WHEN MATCHED THEN + UPDATE SET LastIdx = src.LastIdx + ,Note = 'UPDATED from ' + CAST(@LastIdx AS NVARCHAR(50)) + ,LastUpdate = GETDATE() + WHEN NOT MATCHED THEN + INSERT (LastIdx, TableName, Note, LastUpdate) + VALUES (src.LastIdx, src.TableName, 'CREATED', GETDATE()); + + END + + COMMIT tran + +END diff --git a/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineSigLog.sql b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/GetMachineSigLog.sql new file mode 100644 index 0000000000000000000000000000000000000000..c53906384198002030b1f2a2205ce88698d54882 GIT binary patch literal 5748 zcmcIoZBH9V5T37BssCZWVNwc#BqU1ODi}M&mEQy=w2Ba-#vxXSjchle{P?!dGsEU~ z_tqd3p_6@gyR)AhDAVn3>Aw z%yPZKov;C>kU*mm>Rbxo<1?#EHDLglZH8^&KA1yb8eJ)j3TJub`8Ap3HRNFSZ zX9#!=pPs7cTcE#^LOn^J{fgh?JJxow*H^5tmA9=ez&W&u=~0w|-`E+A_cPehsRyn>nOEfKd8?HqDnX2%I^Hw9K`p$@$L z2kv9_Q@A>{O6bp=O^j0w9&f-Jx7lQ_HaWrGTdI8@d4;QYVGZVrCf*OA^$vc`NV^m% z#Z4}ue@E~?^kXBPTP155tim$zxoKYGx>zQS+MD>iAW6}ymE$QUie+gq#|BHP4Wr~|gF z1NGfm0V~E*vNnfx|2<;SI=lg}!}@!Ss!To(GYinN_e^=PBCSCV<`VWFe77~$`OptT zT-Gb6u}f;McfjD5ywEor3;!*$>ar{!u%a=OS$|`Ac@CZ)3&uOGQMSWRpkpPVEjVHw z2|MsI3fb*#;zw&Yk)Q32w&N;xf=+?X)tIK7{<%OyoFP6&T^9wTu>mRF2nM>{`OAUU?MX$-T3htrTw&9_i z-wZ2G^9&^-mVCy_W1hBLZlT+ya>(L5by^0rUXu8-QJ)VVS_6yHcWV6>v|UtUyX@k> zuVW3ne0InA9+EkWeV9XDPvkvd#%|jEp0=)flKM~3Z|T`3mXm9p&RAXXvnF+HcS=Ruf6s1r z?@}VOTKhtI!e^g#{OO0%PZS;Txtdt9Zw%}`_|+w>$NUx(bM2_@_wdiNLVDWux-3u~ zi9MIBKExX0Y!5Rv#hyQj^OO~zy!b7`RnFc{?mi)VDXM2|W=P{Zho(c7f*m5iA{dJ4 z`~1387vGzjuIrgqmg{V%+&ra8xrP;)Ct_lo-|5QC9{Z!f8L5wXJ3ZTXtN~CNYZXh9 z&ZRO~ufTZg!vE~H3e8R{(O#6ve{rK%Tu>nf@NRl)_FiH9#!>rByZbaBlu~$kd6Ht^ zNQq1%;&AXy`&y-IF0IM$j?8jAhvckU^@M%HD)VFYJ5UZO#E-WcpL4S3{9dS4+OTjF zalz>DxbYlHeEOLxPPyX>FvD+5hKL5ZJXzowRl^#edcYxeYSxe+Sm@P$$V-vJGU>^ zvG0syoAAD3XS4%*YEPK&hVean*P-f#w-i2VqDbroErqU)+!P8)+(KS2yl*k4)<^2V zhV&E(W1i>88rl!~h%YJQCF2CjG^|YR0u)-AvNq$H+A%9*kVg^OH>XJUS zZ_EbSx7_~Gu5J4i@QOwrYhHP4J@DRy#}T?o*CG0yqH!0xlgux7+rNgjFYv+rIcx{- z42U&Zwx6N!7+DRPbcrXA!e!77kR}~2iJ>IKmg46v{bjbdZdVJWlbT&FFUF*7GD5~# zNv}Mb02`v^gJrY|BnYf9R zDz6n0CRcmrqj4L|L(@es#kr%ZN3?6d(EkXHVou~3KH3KQ$Y%+8(XK+eLWZvC-8PJMZGs#N{^$za8n6cE~r~(sWz8`CpKnct0xt Tm7WC*aV0aYl_lvXMfnilwa;MgHjf`CQQXfpQL zV_#o8AMXb`SE5*b1@-uL)k2GOi5zoxt)Xr;(?Gk(ePzno3w&o-rfU1mK53!-a2XXWF4_No-l=D@ASxL hGIe{k*7{rqZPjM$$p7Ltv5Hmvq2GID@oY{aeFB?bjOYLW literal 0 HcmV?d00001 diff --git a/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/SyncPodlToMachine.sql b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/SyncPodlToMachine.sql new file mode 100644 index 0000000000000000000000000000000000000000..6ac30097ef2005d199b556b7bbb7787b40793a77 GIT binary patch literal 6816 zcmeHMTW=dx5S~{f@gJ5aw-797UqA&U*LFj|H-bYSswy(|wpdEC!Rr9w#{=Itv$My0 z^ClqfmgV*Co|!pwJKvcz{`Hr>jAbDsIh9D}xXxsNr=gtTeuQ@~WF_B9A}^(f`>*9z zuH+Rc6TH6wXCf0>;>~xm#z+jhx8*JAgOa~bA>&w1WU5aQmJp-Y%8n67=Lv;VIfqYxddkM5&z8 z>>fbY1-zNyy2M;-e817T2J$)l$QaEKoiXlWd{fX;M_L}?{RkuU93w}MP|8-vlU%1K z@*I*DkQafQwmwpCUf|i|M%^Fe9A<~x+<~{pkW0&Z^6n1RGtHj~cqfpW=DMD%9;9ca zoYyVqT$KGRi}0E1&wTs>wla63iagr(y-GXH?kqE|p#evF;9DUF=I{bzOl?y2=%)o8 zn&^UV&*3MojuEtMmwtkXGi%Ra(Kz?a!~BlcFegscRz59YBjd<*b*>|G#A5>QFQD%R zxwn)fP!w0$31ZE+X5R`jHX6fCPP;{Za*f72Z-(jzW(;|`c8BtN@diMfcmhlT@7Jd6tf`zm$WJ)AmNE?IWv3v}>y6|F0vyAh*eZkuu%a}&YZj;`HHv6t_~?6vQ#a!z zSKSO~*@lvR=s1L@?t_oEV5f%_sO5x;G?6+e+M5w{7doC(8%zS7~y!)jE%lSM%Xo26|Auva_6z?u&$Q80a~nd zoR#H$u+nDuJFt@V)KqJzeYN9110kFD|4-zz0#-LsdeoT#GgK1Ay4<*)=2al6>Lmx7 z{SxbHj7oUQ{;K5b;=TbbXNvfPt}ihj<6ckPr0np$`b48+U1*V z$5>%pao5ngE>cyhcFBF%Z)d+HPVj4-!C3i~^{%68mpz2GF{&uyht-p1xkZY0i9E@y zVLh)_2Um41)40@d`Z%1gm_2?HIGnHkE$6Gpy6Qvh{@nAG?a)p2LyB(FjiM(zYt}d8 zIiLL~uFm3lwTE6y=yxr!53yG_$WDPgkM_~;<0+=v#qpik*RjR^QsoPMxJqd&I7k zIeI4SdtB(AxXp8Am!_^laDB~318}cvc~4*iZDB9X_sFnE6+2|+N$cZROx6MXnz OMDc&15q6NFYWf@8dzSzJ literal 0 HcmV?d00001 diff --git a/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/Test.sql b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/Test.sql new file mode 100644 index 0000000..a0fae83 --- /dev/null +++ b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/Test.sql @@ -0,0 +1,98 @@ +select * from ActType +select * from ActList +select * from SyncState +select * from MesPODL_last +select * from MesPODL_req + +select * from MachineFluxLog +select * from MachineProdData +select * from MachineSignalLog + + +-- test scrittura PODL: OK! +exec dbo.SyncPodlToMachine + +exec dbo.GetMachineSigLog +select * from SyncState +select * from MachineSignalLog + +/* +truncate table MachineFluxLog +update SyncState +set lastidx=0 +where TableName='ToMachineFluxLog' +*/ + +select top 2 * from MachineFluxLog order by 1 desc +select top 2 * from MachineProdData order by 1 desc +select top 10 * from MachineSignalLog order by 1 desc +select * from SyncState + +exec dbo.GetMachineFluxLog +select * from MachineFluxLog + +select * from syn_ERP2M +select * from syn_M2ERP_MACHINE_STATE +select * from syn_M2ERP_PRODORDERS + + +select top 10 * from syn_M2ERP_PRODORDERS +where ProdOrder LIKE 'PODL000%' + + +select top 10 * from syn_M2ERP_PRODORDERS +where ProdOrder LIKE '%ODL%' +order by 1 desc + +EXEC GetMachineProdData +SELECT * FROM SyncState +SELECT * FROM MachineFluxLog +SELECT * FROM MachineProdData +SELECT * FROM MachineSignalLog + + +/* +truncate table MachineProdData +update SyncState +set lastidx=0 +where TableName='ToMachineProdData' +*/ + +select * from ActType + + + +/* + +drop table __MigrationHistory +drop table ActList +drop table ActType +drop table MachineEventList +drop table MachineFluxLog +drop table MachinePODL +drop table MesPODL_last +drop table MesPODL_req +drop table SyncState + +drop PROCEDURE dbo.BackupDb +drop PROCEDURE dbo.ExportAll +drop PROCEDURE dbo.GetMachineEvList +drop PROCEDURE dbo.GetMachineFluxLog +drop PROCEDURE dbo.ImportAll +drop PROCEDURE dbo.ResetPodlMes +drop PROCEDURE dbo.SyncPodlToMachine + +*/ + + + + + +select * from ERP2M + +select * from M2ERP_MACHINE_STATE where ActiveProdOrder = 'ODL0003743' +select * from M2ERP_PRODORDERS + +select * from M2ERP_PRODORDERS where ProdOrder = 'ODL0003743' + + diff --git a/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/ext_stp_OrdState.sql b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/ext_stp_OrdState.sql new file mode 100644 index 0000000..cac40ae --- /dev/null +++ b/EgwProxy.SqlDb.Test/SqlFromDebug/PAMA/ext_stp_OrdState.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: S.E.L. +-- Create date: 2023.03.17 +-- Description: Verifica ordini aperti - EXT schema/special +-- ============================================= +CREATE PROCEDURE ext.stp_OrdState +( + @onlyOpen INT = 0 -- 1 = solo ordini rimasti aperti/validi +) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + + IF (@onlyOpen = 0) + BEGIN + ;WITH cteOrd AS + ( + SELECT ProdOrder, MAX(id) as lastID + FROM syn_M2ERP_PRODORDERS + GROUP BY ProdOrder + ) + SELECT m2erp.* + FROM syn_M2ERP_PRODORDERS m2erp + INNER JOIN cteord cte ON m2erp.ID=cte.lastID + ORDER BY 1 DESC + END + ELSE + BEGIN + ;WITH cteOrd AS + ( + SELECT ProdOrder, MAX(id) as lastID + FROM syn_M2ERP_PRODORDERS + GROUP BY ProdOrder + ) + SELECT m2erp.* + FROM syn_M2ERP_PRODORDERS m2erp + INNER JOIN cteord cte ON m2erp.ID=cte.lastID + WHERE m2erp.ProdOrderState NOT IN (3,4) + ORDER BY 1 DESC + END + + + +END +GO diff --git a/EgwProxy.SqlDb.Test/TestSetup.cs b/EgwProxy.SqlDb.Test/TestSetup.cs new file mode 100644 index 0000000..ad358b1 --- /dev/null +++ b/EgwProxy.SqlDb.Test/TestSetup.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.Test +{ + public class TestSetup + { + public string app { get; set; } = "testApp"; + public string server { get; set; } = ""; + public string user { get; set; } = ""; + public string password { get; set; } = ""; + public string dbName { get; set; } = "MoonPro_IOB_ISF_PAMA"; + public List steps { get; set; } + } + + public class singleStep + { + public string id { get; set; } = "00"; + public string description { get; set; } = "00"; + public stepType action { get; set; } = stepType.None; + + public List paramList { get; set; } = new List(); + } + + public enum stepType + { + None, + DbMigrateAndSync, + ExecExportAll, + ExecImportAll, + GetMachSignLog, + GetMachProdData, + GetMachFluxLog, + GetSyncState, + ResetPodl, + SetNewPodl, + //procPodl + } +} diff --git a/EgwProxy.SqlDb.Test/conf/.placeholder b/EgwProxy.SqlDb.Test/conf/.placeholder new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/EgwProxy.SqlDb.Test/conf/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/EgwProxy.SqlDb.Test/conf/testSetup.json b/EgwProxy.SqlDb.Test/conf/testSetup.json new file mode 100644 index 0000000..9592729 --- /dev/null +++ b/EgwProxy.SqlDb.Test/conf/testSetup.json @@ -0,0 +1,71 @@ +{ + "server": "308SERVER60\\LANTEK", + "user": "steamware", + "password": "viadante16", + "steps": [ + { + "id": "00", + "description": "Db Migrate + SYNC", + "action": "DbMigrateAndSync", + "paramList": [] + }, + { + "id": "01", + "description": "Test SYNC", + "action": "GetSyncState", + "paramList": [] + }, + { + "id": "02", + "description": "Reset PODL MES", + "action": "ResetPodl", + "paramList": [] + }, + //{ + // "id": "03", + // "description": "upload Test PODL", + // "action": "SetNewPodl", + // "paramList": [ + // "1001", + // "1002", + // "1003" + // ] + //} + { + "id": "03", + "description": "Export All", + "action": "ExecExportAll", + "paramList": [] + }, + { + "id": "04", + "description": "Import All", + "action": "ExecImportAll", + "paramList": [] + }, + { + "id": "05", + "description": "Get SignLog", + "action": "GetMachSignLog", + "paramList": [] + }, + { + "id": "06", + "description": "Get ProdData", + "action": "GetMachProdData", + "paramList": [] + }, + { + "id": "07", + "description": "Get FluxLog", + "action": "GetMachFluxLog", + "paramList": [] + }, + { + "id": "08", + "description": "Test SYNC", + "action": "GetSyncState", + "paramList": [] + } + ] +} \ No newline at end of file diff --git a/EgwProxy.SqlDb.Test/packages.config b/EgwProxy.SqlDb.Test/packages.config new file mode 100644 index 0000000..c3ae258 --- /dev/null +++ b/EgwProxy.SqlDb.Test/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.SqlDb.Test/postBuildTgt.bat b/EgwProxy.SqlDb.Test/postBuildTgt.bat new file mode 100644 index 0000000..7866f5c --- /dev/null +++ b/EgwProxy.SqlDb.Test/postBuildTgt.bat @@ -0,0 +1,74 @@ +@echo off +echo Effettua pulizia post build: configurazione %1. directory %2 + +RD /S /Q %2"\lib\da" +RD /S /Q %2"\lib\de" +RD /S /Q %2"\lib\es" +RD /S /Q %2"\lib\fr" +RD /S /Q %2"\lib\it" +RD /S /Q %2"\lib\ja-JP" +RD /S /Q %2"\lib\ko" +RD /S /Q %2"\lib\nl" +RD /S /Q %2"\lib\pl" +RD /S /Q %2"\lib\pt" +RD /S /Q %2"\lib\ru" +RD /S /Q %2"\lib\sv" +RD /S /Q %2"\lib\tr" +RD /S /Q %2"\lib\zh" + +MOVE /Y %2"da" %2"lib\" +MOVE /Y %2"de" %2"lib\" +MOVE /Y %2"es" %2"lib\" +MOVE /Y %2"fr" %2"lib\" +MOVE /Y %2"it" %2"lib\" +MOVE /Y %2"ja-JP" %2"lib\" +MOVE /Y %2"ko" %2"lib\" +MOVE /Y %2"nl" %2"lib\" +MOVE /Y %2"pl" %2"lib\" +MOVE /Y %2"pt" %2"lib\" +MOVE /Y %2"ru" %2"lib\" +MOVE /Y %2"sv" %2"lib\" +MOVE /Y %2"tr" %2"lib\" +MOVE /Y %2"zh" %2"lib\" + + +if %1 == "Release" goto Release +if %1 == "Debug" goto Debug +if %1 == "Remote_DEBUG" goto RemoteDebug + +:Release +REM INIZIO eliminando i files pdb +del /S %2"*.pdb"" +del /S %2"lib/*.pdb"" +echo Release: eliminato pdb!!! +goto END + +:Debug +echo Debug: nulla da eliminare + +REM copia script verso server remoto +REM ROBOCOPY . \\10.150.0.1\Steamware\SqlDbTest-DEB /MIR + +goto END + + +:RemoteDebug +REM copia script verso server remoto +REM echo Debug remoto: effettuo robocopy sync (verificare remote per cliente) + +REM FINASSI +REM ROBOCOPY . \\10.150.0.1\Steamware\SqlDbTest-DEB /MIR +REM Baglietto +REM ROBOCOPY . \\192.168.60.15\Steamware\SqlDbTest-DEB /MIR +REM GIACOVELLI LOCOROTONDO +REM ROBOCOPY . \\192.168.1.93\Steamware\SqlDbTest-DEB /MIR +REM IMI Remosa +ROBOCOPY . \\192.168.0.12\Steamware\SqlDbTest-DEB /MIR + +REM IOB-WIN-SIM +REM ROBOCOPY . \\IOB-WIN-SIMULA\Steamware\SqlDbTest-DEB /MIR + +goto END + +:END +echo Fatto! \ No newline at end of file diff --git a/EgwProxy.SqlDb.Test/setupTgt.bat b/EgwProxy.SqlDb.Test/setupTgt.bat new file mode 100644 index 0000000..ba685c0 --- /dev/null +++ b/EgwProxy.SqlDb.Test/setupTgt.bat @@ -0,0 +1,25 @@ +@echo off +echo Effettua setup dei file specifici per i vari ambienti pre build installer: verifica da nome configurazione %1 + + +if %1 == "Release" goto Release +if %1 == "Debug" goto Debug +if %1 == "Remote_DEBUG" goto RemoteDebug + +:Release +echo Release: nulla da copiare +goto END + +:Debug +echo Debug: copia file ini x simulazione Debug +REM del %2"DATA\CONF\EsaKvara.ini" +REM copy %2"Resources\SCM\EsaKvara_SIM.ini" %2"DATA\CONF\EsaKvara.ini" +goto END + + +:RemoteDebug +echo RemoteDebug: nulla da copiare +goto END + +:END +echo Fatto! \ No newline at end of file diff --git a/EgwProxy.SqlDb/App.config b/EgwProxy.SqlDb/App.config new file mode 100644 index 0000000..0c73aaa --- /dev/null +++ b/EgwProxy.SqlDb/App.config @@ -0,0 +1,15 @@ + + + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.SqlDb/Controllers/DbController.cs b/EgwProxy.SqlDb/Controllers/DbController.cs new file mode 100644 index 0000000..7200b7f --- /dev/null +++ b/EgwProxy.SqlDb/Controllers/DbController.cs @@ -0,0 +1,316 @@ +using EgwProxy.SqlDb.DbModels; +using NLog; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace EgwProxy.SqlDb.Controllers +{ + /// + /// Controller accesso dati DB IOB_ISF + /// + public class DbController : IDisposable + { + #region Public Constructors + + /// + /// Avvio dell'oggetto gestione DB con stringa di connessione specifica + /// + /// Connessione DB locale di SYNC + public DbController(string connSyncState) + { + connString = connSyncState; + Log.Info("Avviata classe DbController"); + } + + #endregion Public Constructors + + #region Public Methods + + /// + /// Recupera la tab di ActList corrente + /// + /// + public List ActListGetAll() + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .DbSetActions + .ToList(); + } + + return dbResult; + } + + /// + /// Recupera la tab di ActType corrente + /// + /// + public List ActTypeGetAll() + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .DbSetActListType + .ToList(); + } + return dbResult; + } + + public bool DbForceMigrate() + { + bool fatto = false; + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbSyncStateCtx.DbForceMigrate(); + fatto = true; + } + return fatto; + } + + /// + /// Dispose classe + /// + public void Dispose() + { + // Clear database context + connString = ""; + } + + /// + /// Recupera la tab FluxLog x i record successivi all'ID già processato + /// + /// + /// + public List MachFluxLogGetNew(long lastIdx) + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .DbSetMachFluxLog + .Where(x => x.Id > lastIdx) + .OrderBy(x => x.Id) + .ToList(); + } + return dbResult; + } + + /// + /// Recupera la tab PODL Macchina x i record successivi all'ID già processato + /// + /// + /// + public List MachPOdlGetNew(long lastIdx) + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .DbSetMachPODL + .Where(x => x.IdxPromessa > lastIdx) + .OrderBy(x => x.IdxPromessa) + .ToList(); + } + return dbResult; + } + + /// + /// Recupera la tab ProdData x i record successivi all'ID già processato + /// + /// + /// + public List MachProdDataGetNew(long lastIdx) + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .DbSetMachProdData + .Where(x => x.Id > lastIdx) + .OrderBy(x => x.Id) + .ToList(); + } + return dbResult; + } + + /// + /// Recupera la tab EvList x i record successivi all'ID già processato + /// + /// + /// + public List MachSigLogGetNew(long lastIdx) + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .DbSetMachEvList + .Where(x => x.Id > lastIdx) + .OrderBy(x => x.Id) + .ToList(); + } + return dbResult; + } + + /// + /// Scrive elenco PODL attivi al momento x processing successivo + /// + /// + /// + public bool MesPodlWriteReq(List CurrPodlReq) + { + bool fatto = false; + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + try + { + // in primis verifica SE sia vuota la tab req... + var oldData = dbSyncStateCtx + .DbSetMesPodlReq + .ToList(); + // se vuota scrive i record e salva + if (oldData.Count == 0) + { + // aggiungo i nuovi record + var dbResult = dbSyncStateCtx + .DbSetMesPodlReq + .AddRange(CurrPodlReq); + // salvo + dbSyncStateCtx.SaveChanges(); + fatto = true; + } + } + catch //(Exception exc) + { } + } + return fatto; + } + + /// + /// Esegue reset tabelle PODL MEs e restituisce elenco finale (vuoto) + /// + /// + public List ResetPODLMes() + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .Database + .SqlQuery("EXEC dbo.stp_ResetPodlMes") + .ToList(); + } + return dbResult; + } + + public string ServerOk() + { + return SyncStateGetAll().Count() > 0 ? "OK" : "NA"; + } + + /// + /// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi + /// restitusice in output la tab di SyncState x verificare lo stato + /// + /// + public List SyncStateDoExportAll() + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .Database + .SqlQuery("EXEC dbo.stp_ExportAll") + .ToList(); + } + return dbResult; + } + + /// + /// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi + /// restitusice in output la tab di SyncState x verificare lo stato + /// + /// + public List SyncStateDoImportAll() + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .Database + .SqlQuery("EXEC dbo.stp_ImportAll") + .ToList(); + } + return dbResult; + } + + /// + /// recupera la tab di SyncState corrente + /// + /// + public List SyncStateGetAll() + { + List dbResult = new List(); + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + dbResult = dbSyncStateCtx + .DbSetSyncState + .ToList(); + } + return dbResult; + } + + /// + /// Aggiorna record SyncState corrente + /// + /// + public bool SyncStateUpsert(SyncStateModel newVal) + { + bool fatto = false; + using (var dbSyncStateCtx = new SyncStateDbContext(connString)) + { + // cerco record + var dbResult = dbSyncStateCtx + .DbSetSyncState + .Where(x => x.TableName == newVal.TableName) + .FirstOrDefault(); + // se trovato aggiorno + if (dbResult != null) + { + dbResult.LastIdx = newVal.LastIdx; + dbResult.Note = newVal.Note; + dbResult.LastUpdate = newVal.LastUpdate; + //dbSyncStateCtx.Entry(dbResult).State = System.Data.Entity.EntityState.Modified; + } + // altrimenti aggiungo + else + { + dbSyncStateCtx.DbSetSyncState.Add(newVal); + } + + // salvo + dbSyncStateCtx.SaveChanges(); + fatto = true; + } + return fatto; + } + + #endregion Public Methods + + #region Protected Fields + + protected static string connString = ""; + + #endregion Protected Fields + + #region Private Fields + + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + #endregion Private Fields + } +} \ No newline at end of file diff --git a/EgwProxy.SqlDb/DbModels/ActListModel.cs b/EgwProxy.SqlDb/DbModels/ActListModel.cs new file mode 100644 index 0000000..7c704a8 --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/ActListModel.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("ActList")] + public partial class ActListModel + { + [Key, Column("IdxAct"), DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } = 0; + + public DateTime DtRif { get; set; } = DateTime.Today; + + [StringLength(50)] + public string Source { get; set; } = "IN"; + + [StringLength(50)] + public string Dest { get; set; } = "OUT"; + + [StringLength(250)] + public string Action { get; set; } = ""; + + [StringLength(2500)] + public string Value { get; set; } = ""; + + } +} diff --git a/EgwProxy.SqlDb/DbModels/ActTypeModel.cs b/EgwProxy.SqlDb/DbModels/ActTypeModel.cs new file mode 100644 index 0000000..850af7c --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/ActTypeModel.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("ActType")] + public partial class ActTypeModel + { + [Key, StringLength(250)] + public string Action { get; set; } = ""; + + [StringLength(500)] + public string Description { get; set; } = ""; + + } +} diff --git a/EgwProxy.SqlDb/DbModels/MachFluxLogModel.cs b/EgwProxy.SqlDb/DbModels/MachFluxLogModel.cs new file mode 100644 index 0000000..5b80c54 --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/MachFluxLogModel.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("MachineFluxLog")] + public partial class MachFluxLogModel + { + [Key, Column("IdxFL"), DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } = 0; + + public DateTime DtEvento { get; set; } = DateTime.Now; + + [StringLength(50)] + public string IdxMacchina { get; set; } = ""; + + [StringLength(50)] + public string CodFlux { get; set; } = ""; + + [StringLength(250)] + public string Valore { get; set; } = ""; + + public int Cnt { get; set; } = 0; + + } +} diff --git a/EgwProxy.SqlDb/DbModels/MachPODLModel.cs b/EgwProxy.SqlDb/DbModels/MachPODLModel.cs new file mode 100644 index 0000000..c8775d8 --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/MachPODLModel.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("MachinePODL")] + public partial class MachPODLModel + { + [Key] + public int IdxRec { get; set; } = 0; + + public int IdxPromessa { get; set; } = 0; + + [StringLength(50)] + public string KeyRichiesta { get; set; } = ""; + [StringLength(50)] + public string KeyBCode { get; set; } = ""; + + public bool Attivabile { get; set; } = false; + + public int IdxODL { get; set; } = 0; + + [StringLength(50)] + public string CodArticolo { get; set; } = ""; + + [StringLength(50)] + public string CodGruppo { get; set; } = ""; + + [StringLength(50)] + public string IdxMacchina { get; set; } = ""; + + public int NumPezzi { get; set; } = 0; + + public decimal TCAssegnato { get; set; } = 0; + + public DateTime DueDate { get; set; } = DateTime.Today; + + public int Priorita { get; set; } = 0; + public int PzPallet { get; set; } = 0; + + [StringLength(2500)] + public string Note { get; set; } = ""; + + [StringLength(50)] + public string CodCli { get; set; } = ""; + + public DateTime InsertDate { get; set; } = DateTime.Today; + } +} diff --git a/EgwProxy.SqlDb/DbModels/MachProdDataModel.cs b/EgwProxy.SqlDb/DbModels/MachProdDataModel.cs new file mode 100644 index 0000000..f5fb455 --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/MachProdDataModel.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("MachineProdData")] + public partial class MachProdDataModel + { + [Key, Column("IdxPD"), DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } = 0; + + public DateTime DtEve { get; set; } = DateTime.Now; + + [StringLength(50)] + public string IdxMacchina { get; set; } = ""; + + public string Action { get; set; } = ""; + + public string CodComm { get; set; } = ""; + + public int PzCount { get; set; } = 0; + + public int IdxPodl { get; set; } = 0; + + public int IdxOdl { get; set; } = 0; + + } +} diff --git a/EgwProxy.SqlDb/DbModels/MachSigLogModel.cs b/EgwProxy.SqlDb/DbModels/MachSigLogModel.cs new file mode 100644 index 0000000..9bdc7c5 --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/MachSigLogModel.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("MachineSignalLog")] + public partial class MachSigLogModel + { + [Key, Column("IdxEv"), DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } = 0; + + public DateTime DtEve { get; set; } = DateTime.Now; + + [StringLength(50)] + public string IdxMacchina { get; set; } = ""; + + public int ValInt { get; set; } = 0; + + public string Valore { get; set; } = ""; + + } +} diff --git a/EgwProxy.SqlDb/DbModels/MesPODLLastModel.cs b/EgwProxy.SqlDb/DbModels/MesPODLLastModel.cs new file mode 100644 index 0000000..17f55be --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/MesPODLLastModel.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("MesPODL_last")] + public partial class MesPODLLastModel + { + [Key] + public int IdxRec { get; set; } = 0; + + public int IdxPromessa { get; set; } = 0; + + [StringLength(50)] + public string KeyRichiesta { get; set; } = ""; + [StringLength(50)] + public string KeyBCode { get; set; } = ""; + + public bool Attivabile { get; set; } = false; + + public int IdxODL { get; set; } = 0; + + [StringLength(50)] + public string CodArticolo { get; set; } = ""; + + [StringLength(50)] + public string CodGruppo { get; set; } = ""; + + [StringLength(50)] + public string IdxMacchina { get; set; } = ""; + + public int NumPezzi { get; set; } = 0; + + public decimal TCAssegnato { get; set; } = 0; + + public DateTime DueDate { get; set; } = DateTime.Today; + + public int Priorita { get; set; } = 0; + public int PzPallet { get; set; } = 0; + + [StringLength(2500)] + public string Note { get; set; } = ""; + + [StringLength(50)] + public string CodCli { get; set; } = ""; + + public DateTime InsertDate { get; set; } = DateTime.Today; + } +} diff --git a/EgwProxy.SqlDb/DbModels/MesPODLReqModel.cs b/EgwProxy.SqlDb/DbModels/MesPODLReqModel.cs new file mode 100644 index 0000000..bf63f04 --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/MesPODLReqModel.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("MesPODL_req")] + public partial class MesPODLReqModel + { + [Key] + public int IdxRec { get; set; } = 0; + + public int IdxPromessa { get; set; } = 0; + + [StringLength(50)] + public string KeyRichiesta { get; set; } = ""; + [StringLength(50)] + public string KeyBCode { get; set; } = ""; + + public bool Attivabile { get; set; } = false; + + public int IdxODL { get; set; } = 0; + + [StringLength(50)] + public string CodArticolo { get; set; } = ""; + + [StringLength(50)] + public string CodGruppo { get; set; } = ""; + + [StringLength(50)] + public string IdxMacchina { get; set; } = ""; + + public int NumPezzi { get; set; } = 0; + + public decimal TCAssegnato { get; set; } = 0; + + public DateTime DueDate { get; set; } = DateTime.Today; + + public int Priorita { get; set; } = 0; + public int PzPallet { get; set; } = 0; + + [StringLength(2500)] + public string Note { get; set; } = ""; + + [StringLength(50)] + public string CodCli { get; set; } = ""; + + public DateTime InsertDate { get; set; } = DateTime.Today; + } +} diff --git a/EgwProxy.SqlDb/DbModels/SyncStateModel.cs b/EgwProxy.SqlDb/DbModels/SyncStateModel.cs new file mode 100644 index 0000000..ecf559a --- /dev/null +++ b/EgwProxy.SqlDb/DbModels/SyncStateModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb.DbModels +{ + // + // This is here so CodeMaid doesn't reorganize this document + // + [Table("SyncState")] + public partial class SyncStateModel + { + [Key, StringLength(250)] + public string TableName { get; set; } = ""; + + public long LastIdx { get; set; } = 0; + + public string Note { get; set; } = ""; + + public DateTime LastUpdate { get; set; } = DateTime.Today; + } +} diff --git a/EgwProxy.SqlDb/EgwProxy.SqlDb.csproj b/EgwProxy.SqlDb/EgwProxy.SqlDb.csproj new file mode 100644 index 0000000..38d1d01 --- /dev/null +++ b/EgwProxy.SqlDb/EgwProxy.SqlDb.csproj @@ -0,0 +1,162 @@ + + + + + + Debug + AnyCPU + {A5F9E2C8-B866-4470-923C-11BA35270963} + Library + Properties + EgwProxy.SqlDb + EgwProxy.SqlDb + v4.6.2 + 512 + true + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\Remote_DEBUG\ + DEBUG;TRACE + full + AnyCPU + 7.3 + prompt + + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll + + + ..\packages\NLog.5.1.2\lib\net46\NLog.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + 202303131052295_InitialDb.cs + + + + 202303131054149_AddStoredProc.cs + + + + 202303141853160_FixSigLogTable.cs + + + + 202303150807341_AddMacProdData.cs + + + + + + + + + + + + + + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + + 202303131052295_InitialDb.cs + + + 202303131054149_AddStoredProc.cs + + + 202303141853160_FixSigLogTable.cs + + + 202303150807341_AddMacProdData.cs + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + \ No newline at end of file diff --git a/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.Designer.cs b/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.Designer.cs new file mode 100644 index 0000000..fbbceea --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.Designer.cs @@ -0,0 +1,29 @@ +// +namespace EgwProxy.SqlDb.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class InitialDb : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(InitialDb)); + + string IMigrationMetadata.Id + { + get { return "202303131052295_InitialDb"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.cs b/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.cs new file mode 100644 index 0000000..e655f31 --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.cs @@ -0,0 +1,157 @@ +namespace EgwProxy.SqlDb.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class InitialDb : DbMigration + { + public override void Up() + { + CreateTable( + "dbo.ActList", + c => new + { + IdxAct = c.Int(nullable: false, identity: true), + DtRif = c.DateTime(nullable: false), + Source = c.String(maxLength: 50), + Dest = c.String(maxLength: 50), + Action = c.String(maxLength: 250), + Value = c.String(maxLength: 500), + }) + .PrimaryKey(t => t.IdxAct); + + CreateTable( + "dbo.ActType", + c => new + { + Action = c.String(nullable: false, maxLength: 250), + Description = c.String(maxLength: 500), + }) + .PrimaryKey(t => t.Action); + + CreateTable( + "dbo.MachineEventList", + c => new + { + IdxEv = c.Int(nullable: false, identity: true), + InizioStato = c.DateTime(nullable: false), + IdxMacchina = c.String(maxLength: 50), + IdxTipo = c.Int(nullable: false), + CodArticolo = c.String(maxLength: 50), + Value = c.String(maxLength: 250), + MatrOpr = c.Int(nullable: false), + Pallet = c.String(maxLength: 20), + }) + .PrimaryKey(t => t.IdxEv); + + CreateTable( + "dbo.MachineFluxLog", + c => new + { + IdxFL = c.Int(nullable: false, identity: true), + DtEvento = c.DateTime(nullable: false), + IdxMacchina = c.String(maxLength: 50), + CodFlux = c.String(maxLength: 50), + Valore = c.String(maxLength: 250), + Cnt = c.Int(nullable: false), + }) + .PrimaryKey(t => t.IdxFL); + + CreateTable( + "dbo.MachinePODL", + c => new + { + IdxRec = c.Int(nullable: false, identity: true), + IdxPromessa = c.Int(nullable: false), + KeyRichiesta = c.String(maxLength: 50), + KeyBCode = c.String(maxLength: 50), + Attivabile = c.Boolean(nullable: false), + IdxODL = c.Int(nullable: false), + CodArticolo = c.String(maxLength: 50), + CodGruppo = c.String(maxLength: 50), + IdxMacchina = c.String(maxLength: 50), + NumPezzi = c.Int(nullable: false), + TCAssegnato = c.Decimal(nullable: false, precision: 18, scale: 2), + DueDate = c.DateTime(nullable: false), + Priorita = c.Int(nullable: false), + PzPallet = c.Int(nullable: false), + Note = c.String(maxLength: 2500), + CodCli = c.String(maxLength: 50), + InsertDate = c.DateTime(nullable: false), + }) + .PrimaryKey(t => t.IdxRec); + + CreateTable( + "dbo.MesPODL_last", + c => new + { + IdxRec = c.Int(nullable: false, identity: true), + IdxPromessa = c.Int(nullable: false), + KeyRichiesta = c.String(maxLength: 50), + KeyBCode = c.String(maxLength: 50), + Attivabile = c.Boolean(nullable: false), + IdxODL = c.Int(nullable: false), + CodArticolo = c.String(maxLength: 50), + CodGruppo = c.String(maxLength: 50), + IdxMacchina = c.String(maxLength: 50), + NumPezzi = c.Int(nullable: false), + TCAssegnato = c.Decimal(nullable: false, precision: 18, scale: 2), + DueDate = c.DateTime(nullable: false), + Priorita = c.Int(nullable: false), + PzPallet = c.Int(nullable: false), + Note = c.String(maxLength: 2500), + CodCli = c.String(maxLength: 50), + InsertDate = c.DateTime(nullable: false), + }) + .PrimaryKey(t => t.IdxRec); + + CreateTable( + "dbo.MesPODL_req", + c => new + { + IdxRec = c.Int(nullable: false, identity: true), + IdxPromessa = c.Int(nullable: false), + KeyRichiesta = c.String(maxLength: 50), + KeyBCode = c.String(maxLength: 50), + Attivabile = c.Boolean(nullable: false), + IdxODL = c.Int(nullable: false), + CodArticolo = c.String(maxLength: 50), + CodGruppo = c.String(maxLength: 50), + IdxMacchina = c.String(maxLength: 50), + NumPezzi = c.Int(nullable: false), + TCAssegnato = c.Decimal(nullable: false, precision: 18, scale: 2), + DueDate = c.DateTime(nullable: false), + Priorita = c.Int(nullable: false), + PzPallet = c.Int(nullable: false), + Note = c.String(maxLength: 2500), + CodCli = c.String(maxLength: 50), + InsertDate = c.DateTime(nullable: false), + }) + .PrimaryKey(t => t.IdxRec); + + CreateTable( + "dbo.SyncState", + c => new + { + TableName = c.String(nullable: false, maxLength: 250), + LastIdx = c.Long(nullable: false), + Note = c.String(), + LastUpdate = c.DateTime(nullable: false), + }) + .PrimaryKey(t => t.TableName); + + } + + public override void Down() + { + DropTable("dbo.SyncState"); + DropTable("dbo.MesPODL_req"); + DropTable("dbo.MesPODL_last"); + DropTable("dbo.MachinePODL"); + DropTable("dbo.MachineFluxLog"); + DropTable("dbo.MachineEventList"); + DropTable("dbo.ActType"); + DropTable("dbo.ActList"); + } + } +} diff --git a/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.resx b/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.resx new file mode 100644 index 0000000..d5bb474 --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303131052295_InitialDb.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.Designer.cs b/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.Designer.cs new file mode 100644 index 0000000..523b66d --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.Designer.cs @@ -0,0 +1,29 @@ +// +namespace EgwProxy.SqlDb.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class AddStoredProc : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddStoredProc)); + + string IMigrationMetadata.Id + { + get { return "202303131054149_AddStoredProc"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.cs b/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.cs new file mode 100644 index 0000000..3f7f479 --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.cs @@ -0,0 +1,49 @@ +namespace EgwProxy.SqlDb.Migrations +{ + using System; + using System.Data.Entity.Migrations; + using System.IO; + + public partial class AddStoredProc : DbMigration + { + public override void Up() + { + AlterColumn("dbo.ActList", "Value", c => c.String(maxLength: 2500)); + + // aggiunta stored + addStoredProc("stp_SyncPodlToMachine"); + addStoredProc("stp_GetMachineEvList"); + addStoredProc("stp_GetMachineFluxLog"); + addStoredProc("stp_GetMachineProdData"); + addStoredProc("stp_GetMachineSigLog"); + addStoredProc("stp_BackupDb"); + addStoredProc("stp_ExportAll"); + addStoredProc("stp_ImportAll"); + addStoredProc("stp_ResetPodlMes"); + } + + public override void Down() + { + AlterColumn("dbo.ActList", "Value", c => c.String(maxLength: 500)); + + // drop delle stored + DropStoredProcedure("dbo.stp_SyncPodlToMachine"); + DropStoredProcedure("dbo.stp_GetMachineEvList"); + DropStoredProcedure("dbo.stp_GetMachineFluxLog"); + DropStoredProcedure("dbo.stp_GetMachineProdData"); + DropStoredProcedure("dbo.stp_GetMachineSigLog"); + DropStoredProcedure("dbo.stp_BackupDb"); + DropStoredProcedure("dbo.stp_ExportAll"); + DropStoredProcedure("dbo.stp_ImportAll"); + DropStoredProcedure("dbo.stp_ResetPodlMes"); + } + + + private void addStoredProc(string storedName) + { + string path = Path.Combine("StoredProc", $"{storedName}.sql"); + string storedBody = File.ReadAllText(path); + CreateStoredProcedure($"dbo.{storedName}", storedBody); + } + } +} diff --git a/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.resx b/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.resx new file mode 100644 index 0000000..317805c --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303131054149_AddStoredProc.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.Designer.cs b/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.Designer.cs new file mode 100644 index 0000000..17ca8c8 --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.Designer.cs @@ -0,0 +1,29 @@ +// +namespace EgwProxy.SqlDb.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class FixSigLogTable : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(FixSigLogTable)); + + string IMigrationMetadata.Id + { + get { return "202303141853160_FixSigLogTable"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.cs b/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.cs new file mode 100644 index 0000000..18421d8 --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.cs @@ -0,0 +1,45 @@ +namespace EgwProxy.SqlDb.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class FixSigLogTable : DbMigration + { + public override void Up() + { + CreateTable( + "dbo.MachineSignalLog", + c => new + { + IdxEv = c.Int(nullable: false, identity: true), + DtEve = c.DateTime(nullable: false), + IdxMacchina = c.String(maxLength: 50), + ValInt = c.Int(nullable: false), + Valore = c.String(), + }) + .PrimaryKey(t => t.IdxEv); + + DropTable("dbo.MachineEventList"); + } + + public override void Down() + { + CreateTable( + "dbo.MachineEventList", + c => new + { + IdxEv = c.Int(nullable: false, identity: true), + InizioStato = c.DateTime(nullable: false), + IdxMacchina = c.String(maxLength: 50), + IdxTipo = c.Int(nullable: false), + CodArticolo = c.String(maxLength: 50), + Value = c.String(maxLength: 250), + MatrOpr = c.Int(nullable: false), + Pallet = c.String(maxLength: 20), + }) + .PrimaryKey(t => t.IdxEv); + + DropTable("dbo.MachineSignalLog"); + } + } +} diff --git a/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.resx b/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.resx new file mode 100644 index 0000000..0dcaca9 --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303141853160_FixSigLogTable.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.Designer.cs b/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.Designer.cs new file mode 100644 index 0000000..8b43da2 --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.Designer.cs @@ -0,0 +1,29 @@ +// +namespace EgwProxy.SqlDb.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class AddMacProdData : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddMacProdData)); + + string IMigrationMetadata.Id + { + get { return "202303150807341_AddMacProdData"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.cs b/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.cs new file mode 100644 index 0000000..6d26948 --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.cs @@ -0,0 +1,32 @@ +namespace EgwProxy.SqlDb.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddMacProdData : DbMigration + { + public override void Up() + { + CreateTable( + "dbo.MachineProdData", + c => new + { + IdxPD = c.Int(nullable: false, identity: true), + DtEve = c.DateTime(nullable: false), + IdxMacchina = c.String(maxLength: 50), + Action = c.String(), + CodComm = c.String(), + PzCount = c.Int(nullable: false), + IdxPodl = c.Int(nullable: false), + IdxOdl = c.Int(nullable: false), + }) + .PrimaryKey(t => t.IdxPD); + + } + + public override void Down() + { + DropTable("dbo.MachineProdData"); + } + } +} diff --git a/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.resx b/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.resx new file mode 100644 index 0000000..364cabe --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/202303150807341_AddMacProdData.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/EgwProxy.SqlDb/Migrations/ConfigurationInit.cs b/EgwProxy.SqlDb/Migrations/ConfigurationInit.cs new file mode 100644 index 0000000..36b93ce --- /dev/null +++ b/EgwProxy.SqlDb/Migrations/ConfigurationInit.cs @@ -0,0 +1,40 @@ +namespace EgwProxy.SqlDb.Migrations +{ + using EgwProxy.SqlDb.DbModels; + using System; + using System.Data.Entity; + using System.Data.Entity.Migrations; + using System.Linq; + + //public class ConfigurationInit : DropCreateDatabaseAlways + public class ConfigurationInit : DbMigrationsConfiguration + { + public ConfigurationInit() + { + AutomaticMigrationsEnabled = false; + } + + protected override void Seed(SyncStateDbContext context) + { + // aggiunta preliminare tipo attività sync ammessi + context.DbSetActListType.AddOrUpdate( + new ActTypeModel() { Action = "SetPodlData", Description = "Sincronizzazione dati PODL | MES --> MACH" }, + new ActTypeModel() { Action = "GetPodlData", Description = "Lettura stato macchina x avvio prod ODL da PODL e sync relativa | MACH --> MES" }, + new ActTypeModel() { Action = "GetEvList", Description = "Lettura info da impianto e decodifica come EvList | MACH --> MES" }, + new ActTypeModel() { Action = "GetFluxLog", Description = "Lettura info da impianto e decodifica come FluxLog | MACH --> MES" }, + new ActTypeModel() { Action = "GetSigLog", Description = "Lettura info da impianto e decodifica come SignalLog | MACH --> MES" }, + new ActTypeModel() { Action = "StartProd", Description = "Dichiarazione inizio lavorazione (commessa) | MACH --> MES" }, + new ActTypeModel() { Action = "EndProd", Description = "Dichiarazione fine lavorazione (commessa) | MACH --> MES" } + ); + + context.DbSetSyncState.AddOrUpdate( + new SyncStateModel() { TableName = "ActList", LastIdx = 0, Note = "NO EXEC", LastUpdate = DateTime.Today }, + new SyncStateModel() { TableName = "PODL_req", LastIdx = 0, Note = "NO EXEC", LastUpdate = DateTime.Today }, + new SyncStateModel() { TableName = "EvList", LastIdx = 0, Note = "NO EXEC", LastUpdate = DateTime.Today }, + new SyncStateModel() { TableName = "FluxLog", LastIdx = 0, Note = "NO EXEC", LastUpdate = DateTime.Today } + ); + + base.Seed(context); + } + } +} diff --git a/EgwProxy.SqlDb/MyDbInitializer.cs b/EgwProxy.SqlDb/MyDbInitializer.cs new file mode 100644 index 0000000..41037f3 --- /dev/null +++ b/EgwProxy.SqlDb/MyDbInitializer.cs @@ -0,0 +1,35 @@ +using EgwProxy.SqlDb.DbModels; +using System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Data.Entity.Migrations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb +{ + public class MyDbInitializer : IDatabaseInitializer + { + public void InitializeDatabase(SyncStateDbContext context) + { + // aggiunta preliminare tipo attività sync ammessi + context.DbSetActListType.AddOrUpdate( + new ActTypeModel() { Action = "SetPodlData", Description = "Sincronizzazione dati PODL | MES --> MACH" }, + new ActTypeModel() { Action = "GetPodlData", Description = "Lettura stato macchina x avvio prod ODL da PODL e sync relativa | MACH --> MES" }, + new ActTypeModel() { Action = "GetEvList", Description = "Lettura info da impianto e decodifica come EvList | MACH --> MES" }, + new ActTypeModel() { Action = "GetFluxLog", Description = "Lettura info da impianto e decodifica come FluxLog | MACH --> MES" } + ); + + context.DbSetSyncState.AddOrUpdate( + new SyncStateModel() { TableName = "ActList", LastIdx = 0, Note = "NO EXEC", LastUpdate = DateTime.Today }, + new SyncStateModel() { TableName = "PODL_req", LastIdx = 0, Note = "NO EXEC", LastUpdate = DateTime.Today }, + new SyncStateModel() { TableName = "EvList", LastIdx = 0, Note = "NO EXEC", LastUpdate = DateTime.Today }, + new SyncStateModel() { TableName = "FluxLog", LastIdx = 0, Note = "NO EXEC", LastUpdate = DateTime.Today } + ); + + context.SaveChanges(); + + } + } +} diff --git a/EgwProxy.SqlDb/Properties/AssemblyInfo.cs b/EgwProxy.SqlDb/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..020365f --- /dev/null +++ b/EgwProxy.SqlDb/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("EgwProxy.SqlDb")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EgwProxy.SqlDb")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a5f9e2c8-b866-4470-923c-11ba35270963")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EgwProxy.SqlDb/SqlScript/AddFunc.sql b/EgwProxy.SqlDb/SqlScript/AddFunc.sql new file mode 100644 index 0000000..c4e98d2 --- /dev/null +++ b/EgwProxy.SqlDb/SqlScript/AddFunc.sql @@ -0,0 +1,24 @@ + +/*************************************** +* FUNCTION f_padLeft +* +* fornisce una stringa della lunghezza desiderata aggiungendo a sx il carattere richiesto alla @string originale +* +* Steamware, S.E.L. +* mod: 2010.03.19 +* +****************************************/ +CREATE FUNCTION [dbo].[f_padLeft] (@string VARCHAR(255), @desired_length INTEGER, @pad_character CHAR(1)) +RETURNS VARCHAR(255) AS +BEGIN + + -- Prefix the required number of spaces to bulk up the string and then replace the spaces with the desired character + RETURN CASE + WHEN LEN(@string) < @desired_length + THEN REPLACE(SPACE(@desired_length - LEN(@string)), ' ', @pad_character) + @string + ELSE @string + END + +END + +GO; \ No newline at end of file diff --git a/EgwProxy.SqlDb/StoredProc/stp_BackupDb.sql b/EgwProxy.SqlDb/StoredProc/stp_BackupDb.sql new file mode 100644 index 0000000..64fbee2 --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_BackupDb.sql @@ -0,0 +1,11 @@ + +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + +-- Effettua backjup del database nella cartella configurata (di default C:\DbBackup) per il DB di default --> modificare di conseguenza... +BACKUP DATABASE MoonPro_IOB_ISF +TO DISK = 'C:\Steamware\DbBackup\MoonPro_IOB_ISF.bak' + WITH FORMAT, + MEDIANAME = 'SQLServerBackups', + NAME = 'Full Backup of IOB ISF DB'; diff --git a/EgwProxy.SqlDb/StoredProc/stp_ExportAll.sql b/EgwProxy.SqlDb/StoredProc/stp_ExportAll.sql new file mode 100644 index 0000000..8b68581 --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_ExportAll.sql @@ -0,0 +1,7 @@ +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + +-- Effettua tutte le chiamate di export specifiche per il processo e poi restituisce lettura tabella SyncState +SELECT * +FROM SyncState diff --git a/EgwProxy.SqlDb/StoredProc/stp_GetMachineEvList.sql b/EgwProxy.SqlDb/StoredProc/stp_GetMachineEvList.sql new file mode 100644 index 0000000..9706d60 --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_GetMachineEvList.sql @@ -0,0 +1,21 @@ +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + +/* -------------------------------------------------- +* DECODIFICA STANDARD +* STATE MACHINE 60 +* bitmap MAPO +* B0: POWER_ON +* B1: RUN +* B2: pzCount +* B3: allarme +* B4: manuale +* B5: slowTC +* B6: WarmUpCoolDown +* B7: emergenza +* -------------------------------------------------- */ + +-- Effettua le verifiche necessarie sulle varie tabelle, leggendo dall'ultimo punto precedente e popolando MachineEventList +SELECT * +FROM MachineEventList diff --git a/EgwProxy.SqlDb/StoredProc/stp_GetMachineFluxLog.sql b/EgwProxy.SqlDb/StoredProc/stp_GetMachineFluxLog.sql new file mode 100644 index 0000000..5cbb899 --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_GetMachineFluxLog.sql @@ -0,0 +1,11 @@ +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + +/* -------------------------------------------------- +* Popola le tabelle parametri secondo disponibilità per successivo sync/invio +* -------------------------------------------------- */ + +-- Effettua le verifiche necessarie sulle varie tabelle, leggendo dall'ultimo punto precedente e popolando MachineFluxLog +SELECT * +FROM MachineFluxLog diff --git a/EgwProxy.SqlDb/StoredProc/stp_GetMachineProdData.sql b/EgwProxy.SqlDb/StoredProc/stp_GetMachineProdData.sql new file mode 100644 index 0000000..17920ba --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_GetMachineProdData.sql @@ -0,0 +1,9 @@ +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + + + +-- Effettua le verifiche necessarie sulle varie tabelle, leggendo dall'ultimo punto precedente e popolando MachineEventList +SELECT * +FROM MachineProdData diff --git a/EgwProxy.SqlDb/StoredProc/stp_GetMachineSigLog.sql b/EgwProxy.SqlDb/StoredProc/stp_GetMachineSigLog.sql new file mode 100644 index 0000000..808d1ab --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_GetMachineSigLog.sql @@ -0,0 +1,81 @@ +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + +BEGIN tran + + -- dichiarazioni variabili x recupero dati + DECLARE @LastIdx INT = 0 + DECLARE @NewIdx INT = 0 + + -- recupero valore ultima riga stato processata... + SELECT @LastIdx = ISNULL(LastIdx,0) + FROM SyncState + WHERE TableName = 'ToMachineSigLog' + + -- recupero nuovo MAX idx + SELECT @NewIdx = ISNULL(MAX(ID),0) + FROM syn_M2ERP_MACHINE_STATE + + -- eseguo SOLO SE ho dati aggiuntivi... + IF(@NewIdx > @LastIdx) + BEGIN + /* -------------------------------------------------- + * DECODIFICA STANDARD + * STATE MACHINE 60 + * bitmap MAPO + * B0: POWER_ON + * B1: RUN + * B2: pzCount + * B3: allarme + * B4: manuale + * B5: slowTC + * B6: WarmUpCoolDown + * B7: emergenza + * -------------------------------------------------- */ + + -- decodifica colonne PAMA: + -- M_ON --> PowerON (B0) + -- Auto --> Lavora (B1) + -- AlarmMode --> Allarme (B3) + -- ManualMode/Mda/Jog --> Manuale (B4) + -- Mda/Jog --> Manuale (B4) + -- ManualMode --> Manuale (B4) + + -- recupero i nuovi record da processare... + ;WITH cteSigLog AS + ( + SELECT [DateTime] AS DtEve + ,Targa AS IdxMacchina + , 128 -- B7: emergenza armata (B7 --> 128) + + CASE WHEN M_ON = 1 THEN 1 ELSE 0 END -- B0: spenta + + CASE WHEN [Auto] = 1 THEN 2 ELSE 0 END -- B1: lavora + + CASE WHEN AlarmMode = 1 THEN 8 ELSE 0 END -- B3: allarme + + CASE WHEN (ManualMode = 1 OR Mda = 1 OR Jog = 1) THEN 16 ELSE 0 END -- B4: manuale + AS ValInt + FROM syn_M2ERP_MACHINE_STATE + WHERE ID > @LastIdx AND ID <= @NewIdx + ) + + --vero insert valori + INSERT INTO MachineSignalLog(DtEve, IdxMacchina, ValInt, Valore) + SELECT * + ,CONVERT(VARCHAR(1000),CONVERT(VARBINARY(2), ValInt), 2) AS Valore + --,CONVERT(VARBINARY(2), ValInt) AS Valore + FROM cteSigLog + + -- aggiorno valore indice processato + MERGE SyncState AS tgt + USING (SELECT @NewIdx as LastIdx, 'ToMachineSigLog' AS TableName) as src (LastIdx, TableName) + ON (tgt.TableName = src.TableName) + WHEN MATCHED THEN + UPDATE SET LastIdx = src.LastIdx + ,Note = 'UPDATED from ' + CAST(@LastIdx AS NVARCHAR(50)) + ,LastUpdate = GETDATE() + WHEN NOT MATCHED THEN + INSERT (LastIdx, TableName, Note, LastUpdate) + VALUES (src.LastIdx, src.TableName, 'CREATED', GETDATE()); + + END + +COMMIT tran \ No newline at end of file diff --git a/EgwProxy.SqlDb/StoredProc/stp_ImportAll.sql b/EgwProxy.SqlDb/StoredProc/stp_ImportAll.sql new file mode 100644 index 0000000..a8f5535 --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_ImportAll.sql @@ -0,0 +1,7 @@ +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + +-- Effettua tutti i task di import e poi restituisce lettura tabella SyncState +SELECT * +FROM SyncState diff --git a/EgwProxy.SqlDb/StoredProc/stp_ResetPodlMes.sql b/EgwProxy.SqlDb/StoredProc/stp_ResetPodlMes.sql new file mode 100644 index 0000000..07a04f4 --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_ResetPodlMes.sql @@ -0,0 +1,15 @@ + +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + +-- Effettua reset delle tabelle PODL (ATTENZIONE!!!), da decommentare +--TRUNCATE TABLE MesPODL_req; +--DBCC CHECKIDENT ('MesPODL_req', RESEED, 0); + +--TRUNCATE TABLE MesPODL_last; +--DBCC CHECKIDENT ('MesPODL_last', RESEED, 0); + +-- elenco righe finale +SELECT * +FROM MesPODL_req \ No newline at end of file diff --git a/EgwProxy.SqlDb/StoredProc/stp_SyncPodlToMachine.sql b/EgwProxy.SqlDb/StoredProc/stp_SyncPodlToMachine.sql new file mode 100644 index 0000000..0d1ed27 --- /dev/null +++ b/EgwProxy.SqlDb/StoredProc/stp_SyncPodlToMachine.sql @@ -0,0 +1,16 @@ + +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +SET NOCOUNT ON; + +-- Calcola i NUOVI PODL e scrive ADD relativo +SELECT * +FROM MesPODL_last + +-- Calcola i VECCHI PODL e scrive DELETE relativo +SELECT * +FROM MesPODL_req + +-- Calcola i PODL modificati e scrive update relativo +SELECT * +FROM MesPODL_req diff --git a/EgwProxy.SqlDb/SyncStateDbContext.cs b/EgwProxy.SqlDb/SyncStateDbContext.cs new file mode 100644 index 0000000..eb77520 --- /dev/null +++ b/EgwProxy.SqlDb/SyncStateDbContext.cs @@ -0,0 +1,111 @@ +using EgwProxy.SqlDb.DbModels; +using EgwProxy.SqlDb.Migrations; +using NLog; +using System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwProxy.SqlDb +{ + /// + /// Classe per accesso dati SyncState del DB + /// + public partial class SyncStateDbContext : DbContext + { + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + /// + /// Costruttore implicito + /// + public SyncStateDbContext() : base("name=SyncState") + { + Log.Info("Init 01 SyncStateDbContext - DONE"); + } + + protected string connString = ""; + + /// + /// Costruttore da connectionString + /// + /// + public SyncStateDbContext(string connectionString) : base(connectionString) + { + Log.Info("Init 02 SyncStateDbContext - DONE"); + connString = connectionString; +#if false + try + { + // se non ci fosse... crea o migra! + Database.CreateIfNotExists(); + Database.SetInitializer(new MyDbInitializer()); + Database.Initialize(false); + } + catch (Exception exc) + { + Log.Error(exc, "Exception during context initialization 02"); + } +#endif + } + + public void DbForceMigrate() + { + try + { + // se non ci fosse... crea o migra! + //Database.Migrate(); + Database.CreateIfNotExists(); + Database.SetInitializer(new MyDbInitializer()); + Database.Initialize(true); + Log.Info("DbForceMigrate: done!"); + } + catch (Exception exc) + { + Log.Error(exc, "DbForceMigrate: Exception during context initialization 01"); + } + } + + /// + /// DbSet Flux Log già decodificato + /// + public virtual DbSet DbSetActListType{ get; set; } + /// + /// DbSet dei dati stato sync DB esterni <--> locale + /// + public virtual DbSet DbSetSyncState { get; set; } + /// + /// DbSet ActionList da MES / MACCHINA + /// + public virtual DbSet DbSetActions { get; set; } + /// + /// DbSet PODL da Macchina + /// + public virtual DbSet DbSetMachPODL { get; set; } + /// + /// DbSet PODL Req da MES + /// + public virtual DbSet DbSetMesPodlReq { get; set; } + /// + /// DbSet PODL Last da MES + /// + public virtual DbSet DbSetMesPodlLast { get; set; } + /// + /// DbSet Flux Log già decodificato + /// + public virtual DbSet DbSetMachFluxLog { get; set; } + /// + /// DbSet Flux Log già decodificato + /// + public virtual DbSet DbSetMachEvList { get; set; } + /// + /// DbSet Prod Data da macchina + /// + public virtual DbSet DbSetMachProdData { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + } + } +} diff --git a/EgwProxy.SqlDb/docfx.json b/EgwProxy.SqlDb/docfx.json new file mode 100644 index 0000000..435e349 --- /dev/null +++ b/EgwProxy.SqlDb/docfx.json @@ -0,0 +1,69 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "*.csproj", + "*.vbproj" + ], + "cwd": ".", + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "obj/api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml" + ], + "cwd": "obj" + }, + { + "files": [ + "api/*.md", + "articles/**.md", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ] + } +} \ No newline at end of file diff --git a/EgwProxy.SqlDb/index.md b/EgwProxy.SqlDb/index.md new file mode 100644 index 0000000..972a639 --- /dev/null +++ b/EgwProxy.SqlDb/index.md @@ -0,0 +1,17 @@ +# EgwProxy.SqlDb Library + +Documentazione relativa alla libreria di interfaccia con un generico DB SQL di frontiera per le operazioni di R/W dei dati di produzione. + +Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo + +https://nexus.steamware.net/#browse/browse:nuget-hosted + +Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi. + +## Articles + +Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles + +## Api + +Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation \ No newline at end of file diff --git a/EgwProxy.SqlDb/packages.config b/EgwProxy.SqlDb/packages.config new file mode 100644 index 0000000..20df8dd --- /dev/null +++ b/EgwProxy.SqlDb/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/EgwProxy.SqlDb/toc.yml b/EgwProxy.SqlDb/toc.yml new file mode 100644 index 0000000..7eee9ff --- /dev/null +++ b/EgwProxy.SqlDb/toc.yml @@ -0,0 +1,6 @@ + +- name: Articles + href: articles/ +- name: API Documentation + href: obj/api/ + homepage: api/index.md From d9f06a1cfbed63de772077a1dc38c28283922322 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 11:50:39 +0100 Subject: [PATCH 03/18] Aggiunta gitlab preliminare... --- .gitlab-ci.yml | 671 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 671 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..99171eb --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,671 @@ +variables: + NUGET_PATH: 'C:\Tools\nuget.exe' + MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe' + SOL_NAME: 'IOB-WIN-NEXT' + APP_NAME: 'IOB-WIN-NEXT' + NUM_REL: '0.1.2.3' + NUM_DEB: '0.1.2-beta.3' + CONFIG: '' + VERS_MAIN: '3.6' + NEW_REL: '' + OUTPUT_DIR: '' + NET_SHARE_X: '\\codedoc.egalware.com\library' + NET_USER_X: 'gitlab' + NEXUS_PATH: 'MAPO/IOB-WIN-NEXT' + +.DocReplica: &DocReplica + - | + net use X: /delete + net use X: $env:NET_SHARE_X /u:$env:NET_USER_X $XDRIVE_PASSWD + ROBOCOPY docfx X:\$env:APP_NAME /MIR /XF .git* /XD .git + SLEEP 2 + net use X: /delete + +# helper x fix pacchetti nuget da repo locale nexus.steamware.net +.nuget-fix: &nuget-fix + - | + echo "esecuzione Nuget FIX steps" + dotnet nuget list source + $hasSource = dotnet nuget list source | Select-String -Pattern "Steamware Nexus Proxy" + if (! [String]::IsNullOrWhiteSpace($hasSource)) { + dotnet nuget remove source "`"Steamware Nexus Proxy`"" + } + $hasSource = dotnet nuget list source | Select-String -Pattern "Steamware Nexus" + if (! [String]::IsNullOrWhiteSpace($hasSource)) { + dotnet nuget remove source "`"Steamware Nexus`"" + } + $hasSource = dotnet nuget list source | Select-String -Pattern "nexus-proxy-v3" + if (! [String]::IsNullOrWhiteSpace($hasSource)) { + dotnet nuget remove source nexus-proxy-v3 + } + $hasSource = dotnet nuget list source | Select-String -Pattern "nexus-hosted" + if (! [String]::IsNullOrWhiteSpace($hasSource)) { + dotnet nuget remove source nexus-hosted + } + $hasSource = dotnet nuget list source | Select-String -Pattern "Microsoft Visual Studio Offline Packages" + if (! [String]::IsNullOrWhiteSpace($hasSource)) { + dotnet nuget remove source 'Microsoft Visual Studio Offline Packages' + } + echo "Situazione sorgenti post remove:" + dotnet nuget list source + dotnet nuget add source https://nexus.steamware.net/repository/nuget-proxy-v3/index.json -n nexus-proxy-v3 -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text + dotnet nuget add source https://nexus.steamware.net/repository/nuget-hosted/ -n nexus-hosted -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text + $hasSource = dotnet nuget list source + echo "Situazione sorgenti FINALE:" + dotnet nuget list source + +# helper x fix version number +.version-fix: &version-fix + - | + $env:NEW_REL = $env:VERS_MAIN+"."+(get-date -format yyMM)+"."+(get-date -format ddHH) + $env:NUM_REL = $env:VERS_MAIN+"."+(get-date -format yyMM)+"."+(get-date -format dHH) + $env:NUM_DEB = $env:VERS_MAIN+"."+(get-date -format yyMM)+"-beta."+(get-date -format dHH) + $env:NEW_COPYRIGHT = "EgalWare @ 2006-" + (get-date -format yyyy) + $contenuto = Get-Content -path 'VersGen\VersGen.cs' -Raw + $newContenuto = $contenuto -replace '0.0.0.0', $env:NEW_REL + $newContenuto = $newContenuto -replace 'EgalWare © 2006', $env:NEW_COPYRIGHT + $newContenuto | Set-Content -Path 'VersGen\VersGen.cs' + # display versioni generate + $resoconto = "Effettuato fix file VersGen | release v: " + $env:NUM_REL + " | debug v: " + $env:NUM_DEB; + Write-Output $resoconto; + echo "Replace completati" + +# helper x fix nuspec file +.nuspec-fix: &nuspec-fix + - | + echo "Modifica dati file nuspec Release" + $currRelease = $env:NUM_REL + $currDebug = $env:NUM_DEB + $find = "(.|\n)*?"; + $fileNameRel = "$env:APP_NAME.Release.nuspec"; + $replRel = "" + $currRelease + ""; + $nuspDataRel = Get-Content $fileNameRel; + $nuspDataRelUpd = $nuspDataRel -replace $find, $replRel; + $nuspDataRelUpd = $nuspDataRelUpd -replace "#copyright#", $replCopy; + $nuspDataRelUpd = $nuspDataRelUpd -replace "#releaseNotes#", "Build $adesso"; + Set-Content -Path $fileNameRel -Value $nuspDataRelUpd; + echo "Modifica dati file nuspec Debug" + $fileNameDeb = "$env:APP_NAME.Debug.nuspec"; + $replDeb = "" + $currDebug + ""; + $nuspDataDeb = Get-Content $fileNameDeb; + $nuspDataDebUpd = $nuspDataDeb -replace $find, $replDeb; + $nuspDataDebUpd = $nuspDataDebUpd -replace "#copyright#", $replCopy; + $nuspDataDebUpd = $nuspDataDebUpd -replace "#releaseNotes#", "Build $adesso"; + Set-Content -Path $fileNameDeb -Value $nuspDataDebUpd; + echo "replace completati" + +# helper pulizia files zip +.cleanup-zip: &cleanup-zip + - | + $env:OUTPUT_DIR = "Releases\" + $CI_COMMIT_BRANCH + "\*" + if ((Test-Path $env:OUTPUT_DIR)) + { + Remove-Item $env:OUTPUT_DIR -Force -Recurse -ErrorAction Ignore + } + echo "Clening ZIP dir: $env:OUTPUT_DIR" + +# helper creazione files zip +.zipper: &zipper + - | + $7zipPath = $env:ProgramFiles+"\7-Zip\7z.exe" + if (-not (Test-Path -Path $7zipPath -PathType Leaf)) { + throw "7 zip file '$7zipPath' not found" + } + Set-Alias 7zip $7zipPath + $Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip" + cd "$env:APP_NAME\bin\" + $Source = "*" + 7zip a -tzip $Target $Source -xr!DATA\CONF + echo "called ZIP $Source --> $Target" + +# helper creazione hash files +.hashBuild: &hashBuild + - | + $Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip" + $MD5 = Get-FileHash $Target -Algorithm MD5 + $SHA1 = Get-FileHash $Target -Algorithm SHA1 + New-Item $Target".md5" + New-Item $Target".sha1" + $MD5.Hash | Set-Content -Path $Target".md5" + $SHA1.Hash | Set-Content -Path $Target".sha1" + echo "Created HASH files for $Target" + +.nexusUpload: &nexusUpload + - | + Set-Alias mCurl C:\Windows\system32\curl.exe + $VersNumb = $env:NEW_REL + echo "Curr Version: $VersNumb" + if($CI_COMMIT_BRANCH -eq "master") + { + $version = "stable" + } + else + { + $version = "unstable" + } + $File2Send = Get-ChildItem("Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".*") + ForEach ($File in $File2Send) { + $FileName = Split-Path $File -leaf + mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/LAST/$FileName + mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/ARCHIVE/$VersNumb/$FileName + } + echo "Upload area utility for Releases\$CI_COMMIT_BRANCH\$env:APP_NAME.*" + $FileUtility = Get-ChildItem("Releases\$CI_COMMIT_BRANCH\$env:APP_NAME.*") + ForEach ($File in $FileUtility) { + $FileName = Split-Path $File -leaf + mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/utility/MAPO/$env:APP_NAME/$version/$FileName + } + +stages: + - build + - staging + - release + - docfx + +# -------------------------------- +# BUILD +# -------------------------------- +EgwProxy.Ftp:build: + stage: build + tags: + - win + variables: + APP_NAME: EgwProxy.Ftp + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.Ftp/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' + changes: + - EgwProxy.Ftp/* +# only: +# refs: +# - develop +# - SDK/Ftp + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + +# EgwProxy.Icoel:build: +# stage: build +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.Icoel +# only: +# refs: +# - develop +# - SDK/Icoel +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + +# EgwProxy.MultiCncLib:build: +# stage: build +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.MultiCncLib +# only: +# refs: +# - develop +# - SDK/MultiCnc +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + +# EgwProxy.OsaiCncLib:build: +# stage: build +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.OsaiCncLib +# only: +# refs: +# - develop +# - SDK/OsaiCnc +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + +# EgwProxy.SqlDb:build: +# stage: build +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.SqlDb +# only: +# refs: +# - develop +# - SDK/SqlDb +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + +# EgwProxy.Gomba:build: +# stage: build +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.Gomba +# only: +# refs: +# - develop +# - SDK/Gomba +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + + +# # -------------------------------- +# # STAGING: (nuget beta) +# # -------------------------------- +# EgwProxy.Ftp:staging: +# stage: staging +# needs: ["EgwProxy.Ftp:build"] +# tags: +# - win +# variables: +# CONFIG: Debug +# APP_NAME: EgwProxy.Ftp +# only: +# refs: +# - develop +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.Icoel:staging: +# stage: staging +# needs: ["EgwProxy.Icoel:build"] +# tags: +# - win +# variables: +# CONFIG: Debug +# APP_NAME: EgwProxy.Icoel +# only: +# refs: +# - develop +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.MultiCncLib:staging: +# stage: staging +# needs: ["EgwProxy.MultiCncLib:build"] +# tags: +# - win +# variables: +# CONFIG: Debug +# APP_NAME: EgwProxy.MultiCncLib +# only: +# refs: +# - develop +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' +# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_DEB' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.OsaiCncLib:staging: +# stage: staging +# needs: ["EgwProxy.OsaiCncLib:build"] +# tags: +# - win +# variables: +# CONFIG: Debug +# APP_NAME: EgwProxy.OsaiCncLib +# only: +# refs: +# - develop +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' +# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_DEB' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.SqlDb:staging: +# stage: staging +# needs: ["EgwProxy.SqlDb:build"] +# tags: +# - win +# variables: +# CONFIG: Debug +# APP_NAME: EgwProxy.SqlDb +# only: +# refs: +# - develop +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.Gomba:staging: +# stage: staging +# needs: ["EgwProxy.Gomba:build"] +# tags: +# - win +# variables: +# CONFIG: Debug +# APP_NAME: EgwProxy.Gomba +# only: +# refs: +# - develop +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + + +# # -------------------------------- +# # RELEASE +# # -------------------------------- +# EgwProxy.Ftp:build:release: +# stage: release +# needs: ["EgwProxy.Ftp:build"] +# tags: +# - win +# variables: +# CONFIG: Release +# APP_NAME: EgwProxy.Ftp +# only: +# refs: +# - SDK/Ftp +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.Icoel:build:release: +# stage: release +# needs: ["EgwProxy.Icoel:build"] +# tags: +# - win +# variables: +# CONFIG: Release +# APP_NAME: EgwProxy.Icoel +# only: +# refs: +# - SDK/Icoel +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.MultiCncLib:build:release: +# stage: release +# needs: ["EgwProxy.MultiCncLib:build"] +# tags: +# - win +# variables: +# CONFIG: Release +# APP_NAME: EgwProxy.MultiCncLib +# only: +# refs: +# - SDK/MultiCnc +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.OsaiCncLib:build:release: +# stage: release +# needs: ["EgwProxy.OsaiCncLib:build"] +# tags: +# - win +# variables: +# CONFIG: Release +# APP_NAME: EgwProxy.OsaiCncLib +# only: +# refs: +# - SDK/OsaiCnc +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.SqlDb:build:release: +# stage: release +# needs: ["EgwProxy.SqlDb:build"] +# tags: +# - win +# variables: +# CONFIG: Release +# APP_NAME: EgwProxy.SqlDb +# only: +# refs: +# - SDK/SqlDb +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# EgwProxy.Gomba:build:release: +# stage: release +# needs: ["EgwProxy.Gomba:build"] +# tags: +# - win +# variables: +# CONFIG: Release +# APP_NAME: EgwProxy.Gomba +# only: +# refs: +# - SDK/Gomba +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# - *version-fix +# - *nuspec-fix +# script: +# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' +# - '& Remove-Item *.nupkg' +# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' +# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + +# # -------------------------------- +# # DocFx +# # -------------------------------- +# EgwProxy.Ftp:docfx: +# stage: docfx +# needs: ["EgwProxy.Ftp:build"] +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.Ftp +# only: +# - SDK/Ftp +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# script: +# - docfx $env:APP_NAME/docfx.json +# - mv $env:APP_NAME/_site "docfx" +# - *DocReplica + +# EgwProxy.Icoel:docfx: +# stage: docfx +# needs: ["EgwProxy.Icoel:build"] +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.Icoel +# only: +# - SDK/Icoel +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# script: +# - docfx $env:APP_NAME/docfx.json +# - mv $env:APP_NAME/_site "docfx" +# - *DocReplica + +# EgwProxy.MultiCncLib:docfx: +# stage: docfx +# needs: ["EgwProxy.MultiCncLib:build"] +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.MultiCncLib +# only: +# - SDK/MultiCnc +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# script: +# - docfx $env:APP_NAME/docfx.json +# - mv $env:APP_NAME/_site "docfx" +# - *DocReplica + +# EgwProxy.OsaiCncLib:docfx: +# stage: docfx +# needs: ["EgwProxy.OsaiCncLib:build"] +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.OsaiCncLib +# only: +# - SDK/OsaiCnc +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# script: +# - docfx $env:APP_NAME/docfx.json +# - mv $env:APP_NAME/_site "docfx" +# - *DocReplica + +# EgwProxy.SqlDb:docfx: +# stage: docfx +# needs: ["EgwProxy.SqlDb:build"] +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.SqlDb +# only: +# - SDK/SqlDb +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# script: +# - docfx $env:APP_NAME/docfx.json +# - mv $env:APP_NAME/_site "docfx" +# - *DocReplica + +# EgwProxy.Gomba:docfx: +# stage: docfx +# needs: ["EgwProxy.Gomba:build"] +# tags: +# - win +# variables: +# APP_NAME: EgwProxy.Gomba +# only: +# - SDK/Gomba +# before_script: +# - *nuget-fix +# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' +# script: +# - docfx $env:APP_NAME/docfx.json +# - mv $env:APP_NAME/_site "docfx" +# - *DocReplica From 5e5dfe6fbcf5006df04be757514c9f9097a9794f Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 11:50:59 +0100 Subject: [PATCH 04/18] Aggiunta file x nupkg + readme iniziale --- EgwProxy.FTP.sln | 31 +++++++++ EgwProxy.Ftp.Debug.nuspec | 26 ++++++++ EgwProxy.Ftp.Release.nuspec | 23 +++++++ EgwProxy.Gomba.Debug.nuspec | 28 ++++++++ EgwProxy.Gomba.Release.nuspec | 27 ++++++++ EgwProxy.Gomba.sln | 31 +++++++++ EgwProxy.Icoel.Debug.nuspec | 24 +++++++ EgwProxy.Icoel.Release.nuspec | 23 +++++++ EgwProxy.Icoel.sln | 37 ++++++++++ EgwProxy.MultiCncLib.Debug.nuspec | 20 ++++++ EgwProxy.MultiCncLib.Release.nuspec | 19 ++++++ EgwProxy.MultiCncLib.sln | 66 ++++++++++++++++++ EgwProxy.OsaiCncLib.Debug.nuspec | 20 ++++++ EgwProxy.OsaiCncLib.Release.nuspec | 19 ++++++ EgwProxy.OsaiCncLib.sln | 66 ++++++++++++++++++ EgwProxy.SqlDb.Debug.nuspec | 24 +++++++ EgwProxy.SqlDb.Release.nuspec | 23 +++++++ EgwProxy.SqlDb.sln | 36 ++++++++++ README.md | 100 +++++----------------------- README.pdf | Bin 0 -> 43228 bytes VersGen/App.config | 6 ++ VersGen/Properties/AssemblyInfo.cs | 32 +++++++++ VersGen/VersGen.cs | 9 +++ VersGen/VersGen.csproj | 91 +++++++++++++++++++++++++ VersGen/VersGen.vb | 8 +++ 25 files changed, 705 insertions(+), 84 deletions(-) create mode 100644 EgwProxy.FTP.sln create mode 100644 EgwProxy.Ftp.Debug.nuspec create mode 100644 EgwProxy.Ftp.Release.nuspec create mode 100644 EgwProxy.Gomba.Debug.nuspec create mode 100644 EgwProxy.Gomba.Release.nuspec create mode 100644 EgwProxy.Gomba.sln create mode 100644 EgwProxy.Icoel.Debug.nuspec create mode 100644 EgwProxy.Icoel.Release.nuspec create mode 100644 EgwProxy.Icoel.sln create mode 100644 EgwProxy.MultiCncLib.Debug.nuspec create mode 100644 EgwProxy.MultiCncLib.Release.nuspec create mode 100644 EgwProxy.MultiCncLib.sln create mode 100644 EgwProxy.OsaiCncLib.Debug.nuspec create mode 100644 EgwProxy.OsaiCncLib.Release.nuspec create mode 100644 EgwProxy.OsaiCncLib.sln create mode 100644 EgwProxy.SqlDb.Debug.nuspec create mode 100644 EgwProxy.SqlDb.Release.nuspec create mode 100644 EgwProxy.SqlDb.sln create mode 100644 README.pdf create mode 100644 VersGen/App.config create mode 100644 VersGen/Properties/AssemblyInfo.cs create mode 100644 VersGen/VersGen.cs create mode 100644 VersGen/VersGen.csproj create mode 100644 VersGen/VersGen.vb diff --git a/EgwProxy.FTP.sln b/EgwProxy.FTP.sln new file mode 100644 index 0000000..20d16d7 --- /dev/null +++ b/EgwProxy.FTP.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32901.82 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Ftp.Test", "EgwProxy.Ftp.Test\EgwProxy.Ftp.Test.csproj", "{A655A6AC-5997-46F9-9752-8C621B80516C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Ftp", "EgwProxy.Ftp\EgwProxy.Ftp.csproj", "{35D95ED8-E48A-434D-A305-A83E48C8FC6F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A655A6AC-5997-46F9-9752-8C621B80516C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A655A6AC-5997-46F9-9752-8C621B80516C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A655A6AC-5997-46F9-9752-8C621B80516C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A655A6AC-5997-46F9-9752-8C621B80516C}.Release|Any CPU.Build.0 = Release|Any CPU + {35D95ED8-E48A-434D-A305-A83E48C8FC6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {35D95ED8-E48A-434D-A305-A83E48C8FC6F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {35D95ED8-E48A-434D-A305-A83E48C8FC6F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {35D95ED8-E48A-434D-A305-A83E48C8FC6F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E2472E21-58D3-4EAD-BC4A-BC3915B18BEF} + EndGlobalSection +EndGlobal diff --git a/EgwProxy.Ftp.Debug.nuspec b/EgwProxy.Ftp.Debug.nuspec new file mode 100644 index 0000000..a10657b --- /dev/null +++ b/EgwProxy.Ftp.Debug.nuspec @@ -0,0 +1,26 @@ + + + + EgwProxy.Ftp + #version# + EgwProxy.Ftp + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con server Ftp (IOB-WIN-NEXT) - beta/unstable + #releaseNotes# + #copyright# + EgwProxy.Ftp EgwProxy Ftp + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Ftp.Release.nuspec b/EgwProxy.Ftp.Release.nuspec new file mode 100644 index 0000000..c0d2481 --- /dev/null +++ b/EgwProxy.Ftp.Release.nuspec @@ -0,0 +1,23 @@ + + + + EgwProxy.Ftp + #version# + EgwProxy.Ftp + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con server Ftp (IOB-WIN-NEXT) + #releaseNotes# + #copyright# + EgwProxy.Ftp EgwProxy Ftp + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba.Debug.nuspec b/EgwProxy.Gomba.Debug.nuspec new file mode 100644 index 0000000..6827c27 --- /dev/null +++ b/EgwProxy.Gomba.Debug.nuspec @@ -0,0 +1,28 @@ + + + + EgwProxy.Gomba + #version# + EgwProxy.Gomba + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con adapter SOAP XML delle bilance Gomba x scambio dati (IOB-WIN-NEXT) - beta/unstable + #releaseNotes# + #copyright# + EgwProxy.Gomba EgwProxy Gomba + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba.Release.nuspec b/EgwProxy.Gomba.Release.nuspec new file mode 100644 index 0000000..69db26d --- /dev/null +++ b/EgwProxy.Gomba.Release.nuspec @@ -0,0 +1,27 @@ + + + + EgwProxy.Gomba + #version# + EgwProxy.Gomba + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con adapter SOAP XML delle bilance Gomba x scambio dati (IOB-WIN-NEXT) + #releaseNotes# + #copyright# + EgwProxy.Gomba EgwProxy Gomba + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba.sln b/EgwProxy.Gomba.sln new file mode 100644 index 0000000..29c25ec --- /dev/null +++ b/EgwProxy.Gomba.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.32630.192 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Gomba.Test", "EgwProxy.Gomba.Test\EgwProxy.Gomba.Test.csproj", "{2B7F1536-61D1-4F05-AF8D-62A52D114479}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Gomba", "EgwProxy.Gomba\EgwProxy.Gomba.csproj", "{CC377124-1B94-40C1-B552-D6D42EB2BF27}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2B7F1536-61D1-4F05-AF8D-62A52D114479}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2B7F1536-61D1-4F05-AF8D-62A52D114479}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2B7F1536-61D1-4F05-AF8D-62A52D114479}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2B7F1536-61D1-4F05-AF8D-62A52D114479}.Release|Any CPU.Build.0 = Release|Any CPU + {CC377124-1B94-40C1-B552-D6D42EB2BF27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CC377124-1B94-40C1-B552-D6D42EB2BF27}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CC377124-1B94-40C1-B552-D6D42EB2BF27}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CC377124-1B94-40C1-B552-D6D42EB2BF27}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {DA96981F-F7D0-47A9-A51F-9BCC8D35619F} + EndGlobalSection +EndGlobal diff --git a/EgwProxy.Icoel.Debug.nuspec b/EgwProxy.Icoel.Debug.nuspec new file mode 100644 index 0000000..90dd7f6 --- /dev/null +++ b/EgwProxy.Icoel.Debug.nuspec @@ -0,0 +1,24 @@ + + + + EgwProxy.Icoel + #version# + EgwProxy.Icoel + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con SOAP API del sizer di Icoel (IOB-WIN-NEXT) - beta/unstable + #releaseNotes# + #copyright# + EgwProxy.Icoel EgwProxy Icoel + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel.Release.nuspec b/EgwProxy.Icoel.Release.nuspec new file mode 100644 index 0000000..980049e --- /dev/null +++ b/EgwProxy.Icoel.Release.nuspec @@ -0,0 +1,23 @@ + + + + EgwProxy.Icoel + #version# + EgwProxy.Icoel + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con SOAP API del sizer di Icoel (IOB-WIN-NEXT) + #releaseNotes# + #copyright# + EgwProxy.Icoel EgwProxy Icoel + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Icoel.sln b/EgwProxy.Icoel.sln new file mode 100644 index 0000000..9b3a9da --- /dev/null +++ b/EgwProxy.Icoel.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32421.90 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Icoel", "EgwProxy.Icoel\EgwProxy.Icoel.csproj", "{C45F5E6E-866B-4A34-A598-29AAB2D178AD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Icoel.Test", "EgwProxy.Icoel.Test\EgwProxy.Icoel.Test.csproj", "{A655A6AC-5997-46F9-9752-8C621B80516C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Icoel.DataLayer", "EgwProxy.Icoel.DataLayer\EgwProxy.Icoel.DataLayer.csproj", "{E36544CB-D699-48D8-9F81-C2758E7C7D19}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C45F5E6E-866B-4A34-A598-29AAB2D178AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C45F5E6E-866B-4A34-A598-29AAB2D178AD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C45F5E6E-866B-4A34-A598-29AAB2D178AD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C45F5E6E-866B-4A34-A598-29AAB2D178AD}.Release|Any CPU.Build.0 = Release|Any CPU + {A655A6AC-5997-46F9-9752-8C621B80516C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A655A6AC-5997-46F9-9752-8C621B80516C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A655A6AC-5997-46F9-9752-8C621B80516C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A655A6AC-5997-46F9-9752-8C621B80516C}.Release|Any CPU.Build.0 = Release|Any CPU + {E36544CB-D699-48D8-9F81-C2758E7C7D19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E36544CB-D699-48D8-9F81-C2758E7C7D19}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E36544CB-D699-48D8-9F81-C2758E7C7D19}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E36544CB-D699-48D8-9F81-C2758E7C7D19}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E2472E21-58D3-4EAD-BC4A-BC3915B18BEF} + EndGlobalSection +EndGlobal diff --git a/EgwProxy.MultiCncLib.Debug.nuspec b/EgwProxy.MultiCncLib.Debug.nuspec new file mode 100644 index 0000000..497ba01 --- /dev/null +++ b/EgwProxy.MultiCncLib.Debug.nuspec @@ -0,0 +1,20 @@ + + + + EgwProxy.MultiCncLib + #version# + EgwProxy.MultiCncLib + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione CNC FANUC, SIEMENS, OSAI - beta/unstable + #releaseNotes# + #copyright# + EgwProxy.MultiCncLib EgwProxy MultiCncLib FANUC SIEMENS OSAI + + + + + + + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib.Release.nuspec b/EgwProxy.MultiCncLib.Release.nuspec new file mode 100644 index 0000000..94582f8 --- /dev/null +++ b/EgwProxy.MultiCncLib.Release.nuspec @@ -0,0 +1,19 @@ + + + + EgwProxy.MultiCncLib + #version# + EgwProxy.MultiCncLib + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione CNC FANUC, SIEMENS, OSAI + #releaseNotes# + #copyright# + EgwProxy.MultiCncLib EgwProxy MultiCncLib FANUC SIEMENS OSAI + + + + + + \ No newline at end of file diff --git a/EgwProxy.MultiCncLib.sln b/EgwProxy.MultiCncLib.sln new file mode 100644 index 0000000..143b61a --- /dev/null +++ b/EgwProxy.MultiCncLib.sln @@ -0,0 +1,66 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.32505.173 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{58E399F3-9D4E-49D3-AB35-9ED536543D50}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EgwProxy.MultiCncLib", "EgwProxy.MultiCncLib\EgwProxy.MultiCncLib.vbproj", "{2D769FFD-1122-4276-A115-29246E6D23C5}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B52E3E86-1B82-4F4D-982C-0C8909CD2A28}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + FANUC|Any CPU = FANUC|Any CPU + FANUC|x86 = FANUC|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + SIEMENS|Any CPU = SIEMENS|Any CPU + SIEMENS|x86 = SIEMENS|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.FANUC|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.FANUC|Any CPU.Build.0 = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.FANUC|x86.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.FANUC|x86.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.ActiveCfg = Release|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.Build.0 = Release|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|Any CPU.Build.0 = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|x86.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|x86.Build.0 = Debug|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|x86.ActiveCfg = Debug|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|x86.Build.0 = Debug|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.FANUC|Any CPU.ActiveCfg = FANUC|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.FANUC|Any CPU.Build.0 = FANUC|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.FANUC|x86.ActiveCfg = FANUC|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.FANUC|x86.Build.0 = FANUC|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.Build.0 = Release|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|x86.ActiveCfg = Release|x86 + {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|x86.Build.0 = Release|x86 + {2D769FFD-1122-4276-A115-29246E6D23C5}.SIEMENS|Any CPU.ActiveCfg = SIEMENS|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.SIEMENS|Any CPU.Build.0 = SIEMENS|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.SIEMENS|x86.ActiveCfg = SIEMENS|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.SIEMENS|x86.Build.0 = SIEMENS|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {801DCDC5-B7D3-4EA5-B543-783D2C91765F} + EndGlobalSection +EndGlobal diff --git a/EgwProxy.OsaiCncLib.Debug.nuspec b/EgwProxy.OsaiCncLib.Debug.nuspec new file mode 100644 index 0000000..ebddc89 --- /dev/null +++ b/EgwProxy.OsaiCncLib.Debug.nuspec @@ -0,0 +1,20 @@ + + + + EgwProxy.OsaiCncLib + #version# + EgwProxy.OsaiCncLib + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione CNC OSAI - beta/unstable + #releaseNotes# + #copyright# + EgwProxy.OsaiCncLib EgwProxy OsaiCncLib + + + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib.Release.nuspec b/EgwProxy.OsaiCncLib.Release.nuspec new file mode 100644 index 0000000..98a5782 --- /dev/null +++ b/EgwProxy.OsaiCncLib.Release.nuspec @@ -0,0 +1,19 @@ + + + + EgwProxy.OsaiCncLib + #version# + EgwProxy.OsaiCncLib + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione CNC OSAI + #releaseNotes# + #copyright# + EgwProxy.OsaiCncLib EgwProxy OsaiCncLib + + + + + + \ No newline at end of file diff --git a/EgwProxy.OsaiCncLib.sln b/EgwProxy.OsaiCncLib.sln new file mode 100644 index 0000000..79bd764 --- /dev/null +++ b/EgwProxy.OsaiCncLib.sln @@ -0,0 +1,66 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.32505.173 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{58E399F3-9D4E-49D3-AB35-9ED536543D50}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EgwProxy.OsaiCncLib", "EgwProxy.OsaiCncLib\EgwProxy.OsaiCncLib.vbproj", "{DC6B309E-F8E9-4BA2-A621-4F617C072533}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B52E3E86-1B82-4F4D-982C-0C8909CD2A28}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + FANUC|Any CPU = FANUC|Any CPU + FANUC|x86 = FANUC|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + SIEMENS|Any CPU = SIEMENS|Any CPU + SIEMENS|x86 = SIEMENS|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.FANUC|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.FANUC|Any CPU.Build.0 = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.FANUC|x86.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.FANUC|x86.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.ActiveCfg = Release|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.Build.0 = Release|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|Any CPU.Build.0 = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|x86.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|x86.Build.0 = Debug|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Debug|x86.ActiveCfg = Debug|x86 + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Debug|x86.Build.0 = Debug|x86 + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.FANUC|Any CPU.ActiveCfg = Release|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.FANUC|Any CPU.Build.0 = Release|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.FANUC|x86.ActiveCfg = Release|x86 + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.FANUC|x86.Build.0 = Release|x86 + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Release|Any CPU.Build.0 = Release|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Release|x86.ActiveCfg = Release|x86 + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Release|x86.Build.0 = Release|x86 + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SIEMENS|Any CPU.ActiveCfg = Release|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SIEMENS|Any CPU.Build.0 = Release|Any CPU + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SIEMENS|x86.ActiveCfg = Release|x86 + {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SIEMENS|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {801DCDC5-B7D3-4EA5-B543-783D2C91765F} + EndGlobalSection +EndGlobal diff --git a/EgwProxy.SqlDb.Debug.nuspec b/EgwProxy.SqlDb.Debug.nuspec new file mode 100644 index 0000000..d6e91d6 --- /dev/null +++ b/EgwProxy.SqlDb.Debug.nuspec @@ -0,0 +1,24 @@ + + + + EgwProxy.SqlDb + #version# + EgwProxy.SqlDb + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con generico DB SqlDb di frontiera x scambio dati (IOB-WIN-NEXT) - beta/unstable + #releaseNotes# + #copyright# + EgwProxy.SqlDb EgwProxy SqlDb + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.SqlDb.Release.nuspec b/EgwProxy.SqlDb.Release.nuspec new file mode 100644 index 0000000..f0bf521 --- /dev/null +++ b/EgwProxy.SqlDb.Release.nuspec @@ -0,0 +1,23 @@ + + + + EgwProxy.SqlDb + #version# + EgwProxy.SqlDb + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con generico DB SqlDb di frontiera x scambio dati (IOB-WIN-NEXT) + #releaseNotes# + #copyright# + EgwProxy.SqlDb EgwProxy SqlDb + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.SqlDb.sln b/EgwProxy.SqlDb.sln new file mode 100644 index 0000000..4528799 --- /dev/null +++ b/EgwProxy.SqlDb.sln @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33424.131 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.SqlDb", "EgwProxy.SqlDb\EgwProxy.SqlDb.csproj", "{A5F9E2C8-B866-4470-923C-11BA35270963}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.SqlDb.Test", "EgwProxy.SqlDb.Test\EgwProxy.SqlDb.Test.csproj", "{A11CA446-AE97-413D-A567-45A081F003DB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + Remote_DEBUG|Any CPU = Remote_DEBUG|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A5F9E2C8-B866-4470-923C-11BA35270963}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A5F9E2C8-B866-4470-923C-11BA35270963}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A5F9E2C8-B866-4470-923C-11BA35270963}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A5F9E2C8-B866-4470-923C-11BA35270963}.Release|Any CPU.Build.0 = Release|Any CPU + {A5F9E2C8-B866-4470-923C-11BA35270963}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {A5F9E2C8-B866-4470-923C-11BA35270963}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU + {A11CA446-AE97-413D-A567-45A081F003DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A11CA446-AE97-413D-A567-45A081F003DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A11CA446-AE97-413D-A567-45A081F003DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A11CA446-AE97-413D-A567-45A081F003DB}.Release|Any CPU.Build.0 = Release|Any CPU + {A11CA446-AE97-413D-A567-45A081F003DB}.Remote_DEBUG|Any CPU.ActiveCfg = Remote_DEBUG|Any CPU + {A11CA446-AE97-413D-A567-45A081F003DB}.Remote_DEBUG|Any CPU.Build.0 = Remote_DEBUG|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E2472E21-58D3-4EAD-BC4A-BC3915B18BEF} + EndGlobalSection +EndGlobal diff --git a/README.md b/README.md index b752a51..7ef11ee 100644 --- a/README.md +++ b/README.md @@ -1,93 +1,25 @@ # MAPO-IOB-LIBS +Di seguito le informazioni relative ai progetti LIBS legati a Mapo-IOB, in particoalre ai vari nuget proxy creati x comunicare con specifiche logiche /librerie. +Le varie librerie sono chiamate **EgwProxy.** e quindi sono ricercabili (nel nostro nexus repository aziendale) secondo quel nome. -## Getting started +L'insieme delle librerie era prima enl progewtto IOB-WIN-NEXT insieme ai client stessi, ma epr semplificare e meglio gestire i rilasci è stato separato a fine 2024. -To make it easy for you to get started with GitLab, here's a list of recommended next steps. +## Standard Tecnici -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! +Il progetto impiega i seguenti standard tecnici: -## Add your files +- C# (W-IOB) +- nuget packages -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: +## Versions -``` -cd existing_repo -git remote add origin https://gitlab.steamware.net/egalware-web/mes/mapo/mapo-iob-libs.git -git branch -M main -git push -uf origin main -``` - -## Integrate with your tools - -- [ ] [Set up project integrations](https://gitlab.steamware.net/egalware-web/mes/mapo/mapo-iob-libs/-/settings/integrations) - -## Collaborate with your team - -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -## Test and Deploy - -Use the built-in continuous integration in GitLab. - -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -*** - -# Editing this README - -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. - -## Suggestions for a good README - -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. - -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. - -## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. - -## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. +| rel | Date | Note | +|--|--|--| +| 1.0.20* | 2020 | inizio progetto dentro IOB-WIN-NEXT | +| 3.5.20* | 2020 | Client base MultiCNC ed OSAI | +| 3.5.21* | 2021 | Client Icoel e Sql | +| 3.6.22* | 2022 | Client FTP | +| 3.6.23* | 2023 | Client Gomba | +| 3.7.24* | 2024.12.23 | Spostamento progetto EgwProxy in repository separato da IOB-WIN-NEXT | diff --git a/README.pdf b/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..019f4df925f39993156c512335342b1d70e83b74 GIT binary patch literal 43228 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%0D8er1oZzXeA1eRzUHQjuGLL=Z!goaJkh1o(rJ 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 AiU0rr literal 0 HcmV?d00001 diff --git a/VersGen/App.config b/VersGen/App.config new file mode 100644 index 0000000..8d23437 --- /dev/null +++ b/VersGen/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/VersGen/Properties/AssemblyInfo.cs b/VersGen/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..15292d5 --- /dev/null +++ b/VersGen/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("VersGen")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("VersGen")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("58e399f3-9d4e-49d3-ab35-9ed536543d50")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] diff --git a/VersGen/VersGen.cs b/VersGen/VersGen.cs new file mode 100644 index 0000000..f9851db --- /dev/null +++ b/VersGen/VersGen.cs @@ -0,0 +1,9 @@ +// +// This code was generated by a tool. Any changes made manually will be lost +// the next time this code is regenerated. +// +using System.Reflection; +[assembly: AssemblyVersion("0.0.0.0")] +[assembly: AssemblyFileVersion("0.0.0.0")] +[assembly: AssemblyCopyright("EgalWare © 2006+")] +[assembly: AssemblyCompany("EgalWare")] \ No newline at end of file diff --git a/VersGen/VersGen.csproj b/VersGen/VersGen.csproj new file mode 100644 index 0000000..4919637 --- /dev/null +++ b/VersGen/VersGen.csproj @@ -0,0 +1,91 @@ + + + + + Debug + AnyCPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50} + Library + Properties + VersGen + VersGen + v4.6.2 + 512 + true + + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + false + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + false + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VersGen/VersGen.vb b/VersGen/VersGen.vb new file mode 100644 index 0000000..718fc6b --- /dev/null +++ b/VersGen/VersGen.vb @@ -0,0 +1,8 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + + + + + From 09bf601e55f0c4f246dd986a5fd2d4ac9a98c2be Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 11:54:06 +0100 Subject: [PATCH 05/18] =?UTF-8?q?Yaml:=20-=20test=20comandi=20modalit?= =?UTF-8?q?=C3=A0=20dotnet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 99171eb..2854abc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,7 @@ variables: NUM_REL: '0.1.2.3' NUM_DEB: '0.1.2-beta.3' CONFIG: '' - VERS_MAIN: '3.6' + VERS_MAIN: '3.7' NEW_REL: '' OUTPUT_DIR: '' NET_SHARE_X: '\\codedoc.egalware.com\library' @@ -185,10 +185,12 @@ EgwProxy.Ftp:build: # - SDK/Ftp before_script: - *nuget-fix - - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - dotnet restore "$env:APP_NAME.sln" + # - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + - dotnet build "$env:APP_NAME\$env:APP_NAME.csproj" + # - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' # EgwProxy.Icoel:build: # stage: build From 6ef38083f88859551c1ecd8267de23c0cf17fc99 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 11:56:12 +0100 Subject: [PATCH 06/18] update readme x test compilazione condizionale --- EgwProxy.Ftp/index.md | 2 ++ EgwProxy.Ftp/index.pdf | Bin 0 -> 38204 bytes 2 files changed, 2 insertions(+) create mode 100644 EgwProxy.Ftp/index.pdf diff --git a/EgwProxy.Ftp/index.md b/EgwProxy.Ftp/index.md index 2610c65..d82d0e6 100644 --- a/EgwProxy.Ftp/index.md +++ b/EgwProxy.Ftp/index.md @@ -8,6 +8,8 @@ https://nexus.steamware.net/#browse/browse:nuget-hosted Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi. +L'oggetot id base è **EgwProxy.Ftp.Manager** + ## Articles Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles diff --git a/EgwProxy.Ftp/index.pdf b/EgwProxy.Ftp/index.pdf new file mode 100644 index 0000000000000000000000000000000000000000..af99bdec06d82203a312b39ccd7ce188b5fbf4ae GIT binary patch literal 38204 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 literal 0 HcmV?d00001 From d03cb61083cf6a3bcbef9169e82ce9189a6bcd36 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 11:59:34 +0100 Subject: [PATCH 07/18] modifica parametri compilazione --- .gitlab-ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2854abc..396c1aa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -173,9 +173,9 @@ EgwProxy.Ftp:build: APP_NAME: EgwProxy.Ftp rules: - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.Ftp/* - when: always + # changes: + # - EgwProxy.Ftp/* + # when: always - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' changes: - EgwProxy.Ftp/* @@ -189,7 +189,8 @@ EgwProxy.Ftp:build: # - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - - dotnet build "$env:APP_NAME\$env:APP_NAME.csproj" + - dotnet build "$env:APP_NAME\$env:APP_NAME.csproj" --configuration Release --arch x86 --outputPath bin/ --verbosity minimal + # - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' # EgwProxy.Icoel:build: From 9672375fc262ffa00d844cfc20240e58b61f4804 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:00:48 +0100 Subject: [PATCH 08/18] Test modifica sintassi YAML --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 396c1aa..ebc3e50 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -189,7 +189,7 @@ EgwProxy.Ftp:build: # - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - - dotnet build "$env:APP_NAME\$env:APP_NAME.csproj" --configuration Release --arch x86 --outputPath bin/ --verbosity minimal + - dotnet build "$env:APP_NAME\$env:APP_NAME.csproj" --configuration Release --arch x86 --output bin/ --verbosity minimal # - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' From 669c1d1891d6985c4cd085d0cd315a5075a2f19e Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:08:11 +0100 Subject: [PATCH 09/18] refresh sln x nuget + test vecchia sintassi --- .gitlab-ci.yml | 12 ++++++------ EgwProxy.FTP.sln | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ebc3e50..a7452ad 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -170,7 +170,8 @@ EgwProxy.Ftp:build: tags: - win variables: - APP_NAME: EgwProxy.Ftp + APP_NAME: EgwProxy.Ftp + SOL_NAME: EgwProxy.FTP rules: - if: $CI_COMMIT_BRANCH == 'develop' # changes: @@ -185,13 +186,12 @@ EgwProxy.Ftp:build: # - SDK/Ftp before_script: - *nuget-fix - - dotnet restore "$env:APP_NAME.sln" - # - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + # - dotnet restore "$env:SOL_NAME.sln" + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - - dotnet build "$env:APP_NAME\$env:APP_NAME.csproj" --configuration Release --arch x86 --output bin/ --verbosity minimal - - # - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + # - dotnet build $env:APP_NAME\$env:APP_NAME.csproj #--configuration Release --arch x86 --output bin/ --verbosity minimal + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' # EgwProxy.Icoel:build: # stage: build diff --git a/EgwProxy.FTP.sln b/EgwProxy.FTP.sln index 20d16d7..ffe8d6e 100644 --- a/EgwProxy.FTP.sln +++ b/EgwProxy.FTP.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.32901.82 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35527.113 d17.12 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Ftp.Test", "EgwProxy.Ftp.Test\EgwProxy.Ftp.Test.csproj", "{A655A6AC-5997-46F9-9752-8C621B80516C}" EndProject From 7d2888f00eabc132adb8b3f61890645fb77d3e15 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:09:24 +0100 Subject: [PATCH 10/18] modifica sintassi restore --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a7452ad..c474bc6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -186,8 +186,8 @@ EgwProxy.Ftp:build: # - SDK/Ftp before_script: - *nuget-fix - # - dotnet restore "$env:SOL_NAME.sln" - - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - dotnet restore "$env:SOL_NAME.sln" + # - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: # - dotnet build $env:APP_NAME\$env:APP_NAME.csproj #--configuration Release --arch x86 --output bin/ --verbosity minimal From 42e4077b088d38a4eafc196345b057acf46840a6 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:11:09 +0100 Subject: [PATCH 11/18] Ancora modifica sintassi YAML --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c474bc6..f492913 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -187,6 +187,7 @@ EgwProxy.Ftp:build: before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" + - dotnet restore "$env:APP_NAME\$env:APP_NAME.csproj" # - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: From 7ecf55d579c640fefb02cd9e2af09aceb72e1b81 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:12:07 +0100 Subject: [PATCH 12/18] aggiunta rule controllo modifiche --- .gitlab-ci.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f492913..48172e1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -174,9 +174,9 @@ EgwProxy.Ftp:build: SOL_NAME: EgwProxy.FTP rules: - if: $CI_COMMIT_BRANCH == 'develop' - # changes: - # - EgwProxy.Ftp/* - # when: always + changes: + - EgwProxy.Ftp/* + when: always - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' changes: - EgwProxy.Ftp/* @@ -186,12 +186,9 @@ EgwProxy.Ftp:build: # - SDK/Ftp before_script: - *nuget-fix - - dotnet restore "$env:SOL_NAME.sln" - - dotnet restore "$env:APP_NAME\$env:APP_NAME.csproj" - # - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - # - dotnet build $env:APP_NAME\$env:APP_NAME.csproj #--configuration Release --arch x86 --output bin/ --verbosity minimal - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' # EgwProxy.Icoel:build: From b0bddc62a29181bfd9ac1e9e899b5c0744e34f09 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:14:15 +0100 Subject: [PATCH 13/18] modifica yaml --- .gitlab-ci.yml | 81 +++++++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 48172e1..8255f8e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -171,7 +171,6 @@ EgwProxy.Ftp:build: - win variables: APP_NAME: EgwProxy.Ftp - SOL_NAME: EgwProxy.FTP rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: @@ -180,10 +179,6 @@ EgwProxy.Ftp:build: - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' changes: - EgwProxy.Ftp/* -# only: -# refs: -# - develop -# - SDK/Ftp before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -191,39 +186,51 @@ EgwProxy.Ftp:build: script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' -# EgwProxy.Icoel:build: -# stage: build -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.Icoel -# only: -# refs: -# - develop -# - SDK/Icoel -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' +EgwProxy.Icoel:build: + stage: build + tags: + - win + variables: + APP_NAME: EgwProxy.Icoel + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.Icoel/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/Icoel' + changes: + - EgwProxy.Icoel/* + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' -# EgwProxy.MultiCncLib:build: -# stage: build -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.MultiCncLib -# only: -# refs: -# - develop -# - SDK/MultiCnc -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' +EgwProxy.MultiCncLib:build: + stage: build + tags: + - win + variables: + APP_NAME: EgwProxy.MultiCncLib + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.MultiCncLib/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/MultiCncLib' + changes: + - EgwProxy.MultiCncLib/* + only: + refs: + - develop + - SDK/MultiCnc + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' # EgwProxy.OsaiCncLib:build: # stage: build From 11dbd80bf3e0b7267358b89af0932a58e4aedf80 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:17:02 +0100 Subject: [PATCH 14/18] correzione yaml --- .gitlab-ci.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8255f8e..798fcdb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -221,10 +221,6 @@ EgwProxy.MultiCncLib:build: - if: $CI_COMMIT_BRANCH == 'SDK/MultiCncLib' changes: - EgwProxy.MultiCncLib/* - only: - refs: - - develop - - SDK/MultiCnc before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' From 72e5fa04518438fd26e2ca959def250089df3498 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:19:26 +0100 Subject: [PATCH 15/18] Continuo fix yaml --- .gitlab-ci.yml | 126 +++++++++++++++++++++++++++---------------------- 1 file changed, 69 insertions(+), 57 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 798fcdb..57d3247 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -173,9 +173,9 @@ EgwProxy.Ftp:build: APP_NAME: EgwProxy.Ftp rules: - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.Ftp/* - when: always + # changes: + # - EgwProxy.Ftp/* + # when: always - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' changes: - EgwProxy.Ftp/* @@ -194,9 +194,9 @@ EgwProxy.Icoel:build: APP_NAME: EgwProxy.Icoel rules: - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.Icoel/* - when: always + # changes: + # - EgwProxy.Icoel/* + # when: always - if: $CI_COMMIT_BRANCH == 'SDK/Icoel' changes: - EgwProxy.Icoel/* @@ -215,9 +215,9 @@ EgwProxy.MultiCncLib:build: APP_NAME: EgwProxy.MultiCncLib rules: - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.MultiCncLib/* - when: always + # changes: + # - EgwProxy.MultiCncLib/* + # when: always - if: $CI_COMMIT_BRANCH == 'SDK/MultiCncLib' changes: - EgwProxy.MultiCncLib/* @@ -228,56 +228,68 @@ EgwProxy.MultiCncLib:build: script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' -# EgwProxy.OsaiCncLib:build: -# stage: build -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.OsaiCncLib -# only: -# refs: -# - develop -# - SDK/OsaiCnc -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' +EgwProxy.OsaiCncLib:build: + stage: build + tags: + - win + variables: + APP_NAME: EgwProxy.OsaiCncLib + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + # changes: + # - EgwProxy.OsaiCncLib/* + # when: always + - if: $CI_COMMIT_BRANCH == 'SDK/OsaiCnc' + changes: + - EgwProxy.OsaiCncLib/* + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' -# EgwProxy.SqlDb:build: -# stage: build -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.SqlDb -# only: -# refs: -# - develop -# - SDK/SqlDb -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' +EgwProxy.SqlDb:build: + stage: build + tags: + - win + variables: + APP_NAME: EgwProxy.SqlDb + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + # changes: + # - EgwProxy.SqlDb/* + # when: always + - if: $CI_COMMIT_BRANCH == 'SDK/SqlDb' + changes: + - EgwProxy.SqlDb/* + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' -# EgwProxy.Gomba:build: -# stage: build -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.Gomba -# only: -# refs: -# - develop -# - SDK/Gomba -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' +EgwProxy.Gomba:build: + stage: build + tags: + - win + variables: + APP_NAME: EgwProxy.Gomba + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + # changes: + # - EgwProxy.Gomba/* + # when: always + - if: $CI_COMMIT_BRANCH == 'SDK/Gomba' + changes: + - EgwProxy.Gomba/* + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' # # -------------------------------- From adbffb2c416fdc3f92adabac5522d9df354f4cda Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 12:23:06 +0100 Subject: [PATCH 16/18] update yaml x step staging --- .gitlab-ci.yml | 304 ++++++++++++++++++++++++------------------------- 1 file changed, 149 insertions(+), 155 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 57d3247..dabc263 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -173,9 +173,9 @@ EgwProxy.Ftp:build: APP_NAME: EgwProxy.Ftp rules: - if: $CI_COMMIT_BRANCH == 'develop' - # changes: - # - EgwProxy.Ftp/* - # when: always + changes: + - EgwProxy.Ftp/* + when: always - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' changes: - EgwProxy.Ftp/* @@ -194,9 +194,9 @@ EgwProxy.Icoel:build: APP_NAME: EgwProxy.Icoel rules: - if: $CI_COMMIT_BRANCH == 'develop' - # changes: - # - EgwProxy.Icoel/* - # when: always + changes: + - EgwProxy.Icoel/* + when: always - if: $CI_COMMIT_BRANCH == 'SDK/Icoel' changes: - EgwProxy.Icoel/* @@ -215,9 +215,9 @@ EgwProxy.MultiCncLib:build: APP_NAME: EgwProxy.MultiCncLib rules: - if: $CI_COMMIT_BRANCH == 'develop' - # changes: - # - EgwProxy.MultiCncLib/* - # when: always + changes: + - EgwProxy.MultiCncLib/* + when: always - if: $CI_COMMIT_BRANCH == 'SDK/MultiCncLib' changes: - EgwProxy.MultiCncLib/* @@ -236,9 +236,9 @@ EgwProxy.OsaiCncLib:build: APP_NAME: EgwProxy.OsaiCncLib rules: - if: $CI_COMMIT_BRANCH == 'develop' - # changes: - # - EgwProxy.OsaiCncLib/* - # when: always + changes: + - EgwProxy.OsaiCncLib/* + when: always - if: $CI_COMMIT_BRANCH == 'SDK/OsaiCnc' changes: - EgwProxy.OsaiCncLib/* @@ -257,9 +257,9 @@ EgwProxy.SqlDb:build: APP_NAME: EgwProxy.SqlDb rules: - if: $CI_COMMIT_BRANCH == 'develop' - # changes: - # - EgwProxy.SqlDb/* - # when: always + changes: + - EgwProxy.SqlDb/* + when: always - if: $CI_COMMIT_BRANCH == 'SDK/SqlDb' changes: - EgwProxy.SqlDb/* @@ -278,9 +278,9 @@ EgwProxy.Gomba:build: APP_NAME: EgwProxy.Gomba rules: - if: $CI_COMMIT_BRANCH == 'develop' - # changes: - # - EgwProxy.Gomba/* - # when: always + changes: + - EgwProxy.Gomba/* + when: always - if: $CI_COMMIT_BRANCH == 'SDK/Gomba' changes: - EgwProxy.Gomba/* @@ -292,148 +292,142 @@ EgwProxy.Gomba:build: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' -# # -------------------------------- -# # STAGING: (nuget beta) -# # -------------------------------- -# EgwProxy.Ftp:staging: -# stage: staging -# needs: ["EgwProxy.Ftp:build"] -# tags: -# - win -# variables: -# CONFIG: Debug -# APP_NAME: EgwProxy.Ftp -# only: -# refs: -# - develop -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +# -------------------------------- +# STAGING: (nuget beta) +# -------------------------------- +EgwProxy.Ftp:staging: + stage: staging + needs: ["EgwProxy.Ftp:build"] + tags: + - win + variables: + CONFIG: Debug + APP_NAME: EgwProxy.Ftp + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.Icoel:staging: -# stage: staging -# needs: ["EgwProxy.Icoel:build"] -# tags: -# - win -# variables: -# CONFIG: Debug -# APP_NAME: EgwProxy.Icoel -# only: -# refs: -# - develop -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.Icoel:staging: + stage: staging + needs: ["EgwProxy.Icoel:build"] + tags: + - win + variables: + CONFIG: Debug + APP_NAME: EgwProxy.Icoel + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.MultiCncLib:staging: -# stage: staging -# needs: ["EgwProxy.MultiCncLib:build"] -# tags: -# - win -# variables: -# CONFIG: Debug -# APP_NAME: EgwProxy.MultiCncLib -# only: -# refs: -# - develop -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' -# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_DEB' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.MultiCncLib:staging: + stage: staging + needs: ["EgwProxy.MultiCncLib:build"] + tags: + - win + variables: + CONFIG: Debug + APP_NAME: EgwProxy.MultiCncLib + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' +# - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_DEB' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.OsaiCncLib:staging: -# stage: staging -# needs: ["EgwProxy.OsaiCncLib:build"] -# tags: -# - win -# variables: -# CONFIG: Debug -# APP_NAME: EgwProxy.OsaiCncLib -# only: -# refs: -# - develop -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' -# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_DEB' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.OsaiCncLib:staging: + stage: staging + needs: ["EgwProxy.OsaiCncLib:build"] + tags: + - win + variables: + CONFIG: Debug + APP_NAME: EgwProxy.OsaiCncLib + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' +# - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_DEB' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.SqlDb:staging: -# stage: staging -# needs: ["EgwProxy.SqlDb:build"] -# tags: -# - win -# variables: -# CONFIG: Debug -# APP_NAME: EgwProxy.SqlDb -# only: -# refs: -# - develop -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.SqlDb:staging: + stage: staging + needs: ["EgwProxy.SqlDb:build"] + tags: + - win + variables: + CONFIG: Debug + APP_NAME: EgwProxy.SqlDb + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.Gomba:staging: -# stage: staging -# needs: ["EgwProxy.Gomba:build"] -# tags: -# - win -# variables: -# CONFIG: Debug -# APP_NAME: EgwProxy.Gomba -# only: -# refs: -# - develop -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.Gomba:staging: + stage: staging + needs: ["EgwProxy.Gomba:build"] + tags: + - win + variables: + CONFIG: Debug + APP_NAME: EgwProxy.Gomba + rules: + - if: $CI_COMMIT_BRANCH == 'develop' + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' # # -------------------------------- From 3be97a9d1dbe35d0ad8d19440e1f18d8dd4f1330 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 14:22:26 +0100 Subject: [PATCH 17/18] fix yaml x precedenza build/staging --- .gitlab-ci.yml | 84 ++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 48 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dabc263..3e4a508 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -171,14 +171,6 @@ EgwProxy.Ftp:build: - win variables: APP_NAME: EgwProxy.Ftp - rules: - - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.Ftp/* - when: always - - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' - changes: - - EgwProxy.Ftp/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -192,14 +184,6 @@ EgwProxy.Icoel:build: - win variables: APP_NAME: EgwProxy.Icoel - rules: - - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.Icoel/* - when: always - - if: $CI_COMMIT_BRANCH == 'SDK/Icoel' - changes: - - EgwProxy.Icoel/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -213,14 +197,6 @@ EgwProxy.MultiCncLib:build: - win variables: APP_NAME: EgwProxy.MultiCncLib - rules: - - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.MultiCncLib/* - when: always - - if: $CI_COMMIT_BRANCH == 'SDK/MultiCncLib' - changes: - - EgwProxy.MultiCncLib/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -234,14 +210,6 @@ EgwProxy.OsaiCncLib:build: - win variables: APP_NAME: EgwProxy.OsaiCncLib - rules: - - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.OsaiCncLib/* - when: always - - if: $CI_COMMIT_BRANCH == 'SDK/OsaiCnc' - changes: - - EgwProxy.OsaiCncLib/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -255,14 +223,6 @@ EgwProxy.SqlDb:build: - win variables: APP_NAME: EgwProxy.SqlDb - rules: - - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.SqlDb/* - when: always - - if: $CI_COMMIT_BRANCH == 'SDK/SqlDb' - changes: - - EgwProxy.SqlDb/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -276,14 +236,6 @@ EgwProxy.Gomba:build: - win variables: APP_NAME: EgwProxy.Gomba - rules: - - if: $CI_COMMIT_BRANCH == 'develop' - changes: - - EgwProxy.Gomba/* - when: always - - if: $CI_COMMIT_BRANCH == 'SDK/Gomba' - changes: - - EgwProxy.Gomba/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -305,6 +257,12 @@ EgwProxy.Ftp:staging: APP_NAME: EgwProxy.Ftp rules: - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.Ftp/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' + changes: + - EgwProxy.Ftp/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -327,6 +285,12 @@ EgwProxy.Icoel:staging: APP_NAME: EgwProxy.Icoel rules: - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.Icoel/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/Icoel' + changes: + - EgwProxy.Icoel/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -349,6 +313,12 @@ EgwProxy.MultiCncLib:staging: APP_NAME: EgwProxy.MultiCncLib rules: - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.MultiCncLib/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/MultiCncLib' + changes: + - EgwProxy.MultiCncLib/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -372,6 +342,12 @@ EgwProxy.OsaiCncLib:staging: APP_NAME: EgwProxy.OsaiCncLib rules: - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.OsaiCncLib/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/OsaiCnc' + changes: + - EgwProxy.OsaiCncLib/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -395,6 +371,12 @@ EgwProxy.SqlDb:staging: APP_NAME: EgwProxy.SqlDb rules: - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.SqlDb/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/SqlDb' + changes: + - EgwProxy.SqlDb/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -417,6 +399,12 @@ EgwProxy.Gomba:staging: APP_NAME: EgwProxy.Gomba rules: - if: $CI_COMMIT_BRANCH == 'develop' + changes: + - EgwProxy.Gomba/* + when: always + - if: $CI_COMMIT_BRANCH == 'SDK/Gomba' + changes: + - EgwProxy.Gomba/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' From 8f91c33f795a41207a4f66e359955ad485898693 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 23 Dec 2024 14:55:50 +0100 Subject: [PATCH 18/18] Completata review yaml x pubblicazione --- .gitlab-ci.yml | 647 ++++++++++++++++++++++++++----------------------- 1 file changed, 337 insertions(+), 310 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3e4a508..4ac3f26 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -166,81 +166,81 @@ stages: # BUILD # -------------------------------- EgwProxy.Ftp:build: - stage: build - tags: + stage: build + tags: - win - variables: + variables: APP_NAME: EgwProxy.Ftp - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.Icoel:build: - stage: build - tags: + stage: build + tags: - win - variables: + variables: APP_NAME: EgwProxy.Icoel - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.MultiCncLib:build: - stage: build - tags: + stage: build + tags: - win - variables: + variables: APP_NAME: EgwProxy.MultiCncLib - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.OsaiCncLib:build: - stage: build - tags: + stage: build + tags: - win - variables: + variables: APP_NAME: EgwProxy.OsaiCncLib - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.SqlDb:build: - stage: build - tags: + stage: build + tags: - win - variables: + variables: APP_NAME: EgwProxy.SqlDb - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.Gomba:build: - stage: build - tags: + stage: build + tags: - win - variables: + variables: APP_NAME: EgwProxy.Gomba - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' @@ -248,14 +248,14 @@ EgwProxy.Gomba:build: # STAGING: (nuget beta) # -------------------------------- EgwProxy.Ftp:staging: - stage: staging - needs: ["EgwProxy.Ftp:build"] - tags: + stage: staging + needs: ["EgwProxy.Ftp:build"] + tags: - win - variables: + variables: CONFIG: Debug APP_NAME: EgwProxy.Ftp - rules: + rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.Ftp/* @@ -263,12 +263,12 @@ EgwProxy.Ftp:staging: - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' changes: - EgwProxy.Ftp/* - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' @@ -276,14 +276,14 @@ EgwProxy.Ftp:staging: - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Icoel:staging: - stage: staging - needs: ["EgwProxy.Icoel:build"] - tags: + stage: staging + needs: ["EgwProxy.Icoel:build"] + tags: - win - variables: + variables: CONFIG: Debug APP_NAME: EgwProxy.Icoel - rules: + rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.Icoel/* @@ -291,12 +291,12 @@ EgwProxy.Icoel:staging: - if: $CI_COMMIT_BRANCH == 'SDK/Icoel' changes: - EgwProxy.Icoel/* - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' @@ -304,14 +304,14 @@ EgwProxy.Icoel:staging: - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.MultiCncLib:staging: - stage: staging - needs: ["EgwProxy.MultiCncLib:build"] - tags: + stage: staging + needs: ["EgwProxy.MultiCncLib:build"] + tags: - win - variables: + variables: CONFIG: Debug APP_NAME: EgwProxy.MultiCncLib - rules: + rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.MultiCncLib/* @@ -319,12 +319,12 @@ EgwProxy.MultiCncLib:staging: - if: $CI_COMMIT_BRANCH == 'SDK/MultiCncLib' changes: - EgwProxy.MultiCncLib/* - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' @@ -333,14 +333,14 @@ EgwProxy.MultiCncLib:staging: - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.OsaiCncLib:staging: - stage: staging - needs: ["EgwProxy.OsaiCncLib:build"] - tags: + stage: staging + needs: ["EgwProxy.OsaiCncLib:build"] + tags: - win - variables: + variables: CONFIG: Debug APP_NAME: EgwProxy.OsaiCncLib - rules: + rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.OsaiCncLib/* @@ -348,12 +348,12 @@ EgwProxy.OsaiCncLib:staging: - if: $CI_COMMIT_BRANCH == 'SDK/OsaiCnc' changes: - EgwProxy.OsaiCncLib/* - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' @@ -362,14 +362,14 @@ EgwProxy.OsaiCncLib:staging: - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.SqlDb:staging: - stage: staging - needs: ["EgwProxy.SqlDb:build"] - tags: + stage: staging + needs: ["EgwProxy.SqlDb:build"] + tags: - win - variables: + variables: CONFIG: Debug APP_NAME: EgwProxy.SqlDb - rules: + rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.SqlDb/* @@ -377,12 +377,12 @@ EgwProxy.SqlDb:staging: - if: $CI_COMMIT_BRANCH == 'SDK/SqlDb' changes: - EgwProxy.SqlDb/* - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' @@ -390,14 +390,14 @@ EgwProxy.SqlDb:staging: - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Gomba:staging: - stage: staging - needs: ["EgwProxy.Gomba:build"] - tags: + stage: staging + needs: ["EgwProxy.Gomba:build"] + tags: - win - variables: + variables: CONFIG: Debug APP_NAME: EgwProxy.Gomba - rules: + rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.Gomba/* @@ -405,12 +405,12 @@ EgwProxy.Gomba:staging: - if: $CI_COMMIT_BRANCH == 'SDK/Gomba' changes: - EgwProxy.Gomba/* - before_script: + before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix - script: + script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' @@ -418,252 +418,279 @@ EgwProxy.Gomba:staging: - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# # -------------------------------- -# # RELEASE -# # -------------------------------- -# EgwProxy.Ftp:build:release: -# stage: release -# needs: ["EgwProxy.Ftp:build"] -# tags: -# - win -# variables: -# CONFIG: Release -# APP_NAME: EgwProxy.Ftp -# only: -# refs: -# - SDK/Ftp -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' -# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +# -------------------------------- +# RELEASE +# -------------------------------- +EgwProxy.Ftp:build:release: + stage: release + needs: ["EgwProxy.Ftp:build"] + tags: + - win + variables: + CONFIG: Release + APP_NAME: EgwProxy.Ftp + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.Ftp/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.Icoel:build:release: -# stage: release -# needs: ["EgwProxy.Icoel:build"] -# tags: -# - win -# variables: -# CONFIG: Release -# APP_NAME: EgwProxy.Icoel -# only: -# refs: -# - SDK/Icoel -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' -# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.Icoel:build:release: + stage: release + needs: ["EgwProxy.Icoel:build"] + tags: + - win + variables: + CONFIG: Release + APP_NAME: EgwProxy.Icoel + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.Icoel/* + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.MultiCncLib:build:release: -# stage: release -# needs: ["EgwProxy.MultiCncLib:build"] -# tags: -# - win -# variables: -# CONFIG: Release -# APP_NAME: EgwProxy.MultiCncLib -# only: -# refs: -# - SDK/MultiCnc -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' -# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.MultiCncLib:build:release: + stage: release + needs: ["EgwProxy.MultiCncLib:build"] + tags: + - win + variables: + CONFIG: Release + APP_NAME: EgwProxy.MultiCncLib + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.MultiCncLib/* + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.vbproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.OsaiCncLib:build:release: -# stage: release -# needs: ["EgwProxy.OsaiCncLib:build"] -# tags: -# - win -# variables: -# CONFIG: Release -# APP_NAME: EgwProxy.OsaiCncLib -# only: -# refs: -# - SDK/OsaiCnc -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.OsaiCncLib:build:release: + stage: release + needs: ["EgwProxy.OsaiCncLib:build"] + tags: + - win + variables: + CONFIG: Release + APP_NAME: EgwProxy.OsaiCncLib + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.OsaiCncLib/* + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.SqlDb:build:release: -# stage: release -# needs: ["EgwProxy.SqlDb:build"] -# tags: -# - win -# variables: -# CONFIG: Release -# APP_NAME: EgwProxy.SqlDb -# only: -# refs: -# - SDK/SqlDb -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' -# # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.SqlDb:build:release: + stage: release + needs: ["EgwProxy.SqlDb:build"] + tags: + - win + variables: + CONFIG: Release + APP_NAME: EgwProxy.SqlDb + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.SqlDb/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' +# - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# EgwProxy.Gomba:build:release: -# stage: release -# needs: ["EgwProxy.Gomba:build"] -# tags: -# - win -# variables: -# CONFIG: Release -# APP_NAME: EgwProxy.Gomba -# only: -# refs: -# - SDK/Gomba -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# - *version-fix -# - *nuspec-fix -# script: -# - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' -# - '& Remove-Item *.nupkg' -# - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' -# - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' -# - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.Gomba:build:release: + stage: release + needs: ["EgwProxy.Gomba:build"] + tags: + - win + variables: + CONFIG: Release + APP_NAME: EgwProxy.Gomba + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.Gomba/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' + - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -# # -------------------------------- -# # DocFx -# # -------------------------------- -# EgwProxy.Ftp:docfx: -# stage: docfx -# needs: ["EgwProxy.Ftp:build"] -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.Ftp -# only: -# - SDK/Ftp -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# script: -# - docfx $env:APP_NAME/docfx.json -# - mv $env:APP_NAME/_site "docfx" -# - *DocReplica +# -------------------------------- +# DocFx +# -------------------------------- +EgwProxy.Ftp:docfx: + stage: docfx + needs: ["EgwProxy.Ftp:build"] + tags: + - win + variables: + APP_NAME: EgwProxy.Ftp + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.Ftp/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica -# EgwProxy.Icoel:docfx: -# stage: docfx -# needs: ["EgwProxy.Icoel:build"] -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.Icoel -# only: -# - SDK/Icoel -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# script: -# - docfx $env:APP_NAME/docfx.json -# - mv $env:APP_NAME/_site "docfx" -# - *DocReplica +EgwProxy.Icoel:docfx: + stage: docfx + needs: ["EgwProxy.Icoel:build"] + tags: + - win + variables: + APP_NAME: EgwProxy.Icoel + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.Icoel/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica -# EgwProxy.MultiCncLib:docfx: -# stage: docfx -# needs: ["EgwProxy.MultiCncLib:build"] -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.MultiCncLib -# only: -# - SDK/MultiCnc -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# script: -# - docfx $env:APP_NAME/docfx.json -# - mv $env:APP_NAME/_site "docfx" -# - *DocReplica +EgwProxy.MultiCncLib:docfx: + stage: docfx + needs: ["EgwProxy.MultiCncLib:build"] + tags: + - win + variables: + APP_NAME: EgwProxy.MultiCncLib + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.MultiCncLib/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica -# EgwProxy.OsaiCncLib:docfx: -# stage: docfx -# needs: ["EgwProxy.OsaiCncLib:build"] -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.OsaiCncLib -# only: -# - SDK/OsaiCnc -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# script: -# - docfx $env:APP_NAME/docfx.json -# - mv $env:APP_NAME/_site "docfx" -# - *DocReplica +EgwProxy.OsaiCncLib:docfx: + stage: docfx + needs: ["EgwProxy.OsaiCncLib:build"] + tags: + - win + variables: + APP_NAME: EgwProxy.OsaiCncLib + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.OsaiCncLib/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica -# EgwProxy.SqlDb:docfx: -# stage: docfx -# needs: ["EgwProxy.SqlDb:build"] -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.SqlDb -# only: -# - SDK/SqlDb -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# script: -# - docfx $env:APP_NAME/docfx.json -# - mv $env:APP_NAME/_site "docfx" -# - *DocReplica +EgwProxy.SqlDb:docfx: + stage: docfx + needs: ["EgwProxy.SqlDb:build"] + tags: + - win + variables: + APP_NAME: EgwProxy.SqlDb + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.SqlDb/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica -# EgwProxy.Gomba:docfx: -# stage: docfx -# needs: ["EgwProxy.Gomba:build"] -# tags: -# - win -# variables: -# APP_NAME: EgwProxy.Gomba -# only: -# - SDK/Gomba -# before_script: -# - *nuget-fix -# - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' -# script: -# - docfx $env:APP_NAME/docfx.json -# - mv $env:APP_NAME/_site "docfx" -# - *DocReplica +EgwProxy.Gomba:docfx: + stage: docfx + needs: ["EgwProxy.Gomba:build"] + tags: + - win + variables: + APP_NAME: EgwProxy.Gomba + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - EgwProxy.Gomba/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica