我正在编写一个程序,将运行在车床和加工中心。在加载过程中,我如何最好地初始化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();
}发布于 2013-09-10 20:37:20
您需要一个例程来检查当前的机器类型。就像这样:
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类型。
更新
我们现在有了一个标准的机器不可知论的库,它非常适合这一点。
请看一下童子军的样本程序。
发布于 2013-09-11 18:29:04
看看c#接口介绍和这个视频为机器中性应用程序使用.Net接口。使用接口允许您针对接口进行编程,而不是直接针对API编程。
https://stackoverflow.com/questions/18690669
复制相似问题