首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我想要一个同时适用于车床和磨坊的程序,那么最好的方法是初始化Okuma API?

如果我想要一个同时适用于车床和磨坊的程序,那么最好的方法是初始化Okuma API?
EN

Stack Overflow用户
提问于 2013-09-09 02:15:41
回答 2查看 480关注 0票数 3

我正在编写一个程序,将运行在车床和加工中心。在加载过程中,我如何最好地初始化API而不执行。我应该为每种机器类型调用一个类,还是可以在同一个类中调用每个类(并关闭它们)?

添加的例子,目前的方法只是车床.

代码语言:javascript
复制
 using Okuma.CLDATAPI.DataAPI;
 using Okuma.CLDATAPI.Enumerations;
 using Okuma.CLDATAPI.Structures;
 using Okuma.CLDATAPI.DataAPI.MacMan;

 public class LatheDutyOnline
 {
 private CMachine Objl;
 private CVariables Objlv;
 private CIO IO;
 private CATC ObjAtc;
 private CAxis objaxis;
 private CBallScrew objBS;
 private CProgram objProgram;
 private CSpec objSpec;
 private CSpindle objSpindle;

 private void Form1_Load(System.Object sender, System.EventArgs e)
    {
        Objl = new CMachine();
        Objl.Init();
        Objlv = new CVariables();
        IO = new CIO();
        ObjAtc = new CATC();
        objaxis = new CAxis();
        objBS = new CBallScrew();
        objProgram = new CProgram();
        objSpec = new CSpec();
        objSpindle = new CSpindle();
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-10 20:37:20

您需要一个例程来检查当前的机器类型。就像这样:

代码语言:javascript
复制
Private Sub CheckMachineType()  
    If System.IO.File.Exists("C:\OSP-P\SHAREDDLL\LDATAPI.DLL") And   System.IO.File.Exists("C:\OSP-P\VOLANTE\CRAD\LCMDAPI.EXE") Then  
        MachineType = Lathe  
    ElseIf System.IO.File.Exists("C:\OSP-P\SHAREDDLL\MDATAPI.DLL") And System.IO.File.Exists("C:\OSP-P\VOLANTE\CRAD\MCMDAPI.EXE") Then    
        MachineType = MachiningCenter  
    Else  
        MachineType = NonOSP  
    End If
End Sub

然后,可以根据MachineType的值初始化正确的API类型。

更新

我们现在有了一个标准的机器不可知论的库,它非常适合这一点。

请看一下童子军的样本程序。

票数 3
EN

Stack Overflow用户

发布于 2013-09-11 18:29:04

看看c#接口介绍和这个视频为机器中性应用程序使用.Net接口。使用接口允许您针对接口进行编程,而不是直接针对API编程。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18690669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档