如果我想要一个同时适用于车床和铣床的程序,初始化Okuma API的最佳方法是什么?

如果我想要一个同时适用于车床和铣床的程序,初始化Okuma API的最佳方法是什么?,api,okuma,Api,Okuma,我正在写一个程序,将运行在车床和加工中心。如何最好地初始化API而不在加载过程中执行。我应该为每种机器类型调用一个类,还是可以在同一个类中调用每一个(并关闭它们) 添加了当前方法的示例,仅适用于车床 using Okuma.CLDATAPI.DataAPI; using Okuma.CLDATAPI.Enumerations; using Okuma.CLDATAPI.Structures; using Okuma.CLDATAPI.DataAPI.MacMan; public cl

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

添加了当前方法的示例,仅适用于车床

 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();
    }

您需要一个例行程序来检查当前的机器类型。大概是这样的:

Private子CheckMachineType()
如果System.IO.File.Exists(“C:\OSP-P\sharedll\LDATAPI.DLL”)和System.IO.File.Exists(“C:\OSP-P\VOLANTE\CRAD\LCMDAPI.EXE”),则
机床类型=车床
ElseIf System.IO.File.Exists(“C:\OSP-P\sharedll\MDATAPI.DLL”)和System.IO.File.Exists(“C:\OSP-P\VOLANTE\CRAD\MCMDAPI.EXE”),则
MachineType=加工中心
其他的
MachineType=NonOSP
如果结束
端接头
然后可以根据MachineType的值初始化正确的API类型


更新 我们现在有一个标准的机器不可知论库,非常适合于此。
请看一下SCOUT的示例程序


看看这段视频。使用接口允许您针对接口编程,而不是直接针对API编程

在这个问题上,我没有足够的篇幅来提出任何建议。你能提供一个代码示例吗?我添加了当前使用的代码。我还想有一个加工中心的程序工作。这需要一些相同的对象。这些Okuma问题是怎么回事?制造商是否将其客户送到这里?如果没有人使用合适的标签,这是行不通的。我们都没有足够的分数来制作标签:(谢谢你的标签,汉斯!