固高运动控制卡的使用 <1> 启动程序以及环境(C#版)
需要的环境:
文件:ExtModule.cfg ;
GTS800_1.cfg (这里以GTS-400-PT型号的控制卡为例);
gts.cs
启动类:
public class GTS_Start { protected short _cardNum; protected short _mdl; protected bool _bHaveFather; protected string _sFile; protected string _sExtFile = "ExtModule.cfg"; public bool m_bCardOK = false; public GTS_Start(short cardNum, string sFile, short mdl = -1, bool bHaveFather = false, string sExtFile = "ExtModule.cfg") { _cardNum = cardNum; _mdl = mdl; _bHaveFather = bHaveFather; //_sFile = "GTS800_" + (_cardNum + 1).ToString() + ".cfg"; _sFile = sFile; _sExtFile = sExtFile; if (!_bHaveFather)//构造函数中调用虚拟函数时虚拟效果不起作用 OpenCard(); } ~GTS_Start() { Dispose(); } public void Dispose() { if (!_bHaveFather)//析构函数中调用虚拟函数时虚拟效果不起作用 CloseCard(); } public virtual short OpenCard() { try { short srn; srn = GTS.GT_Open(_cardNum, 0, 1); if (0 == srn) m_bCardOK = true; srn = GTS.GT_Reset(_cardNum); if (_mdl >= 0) {//扩展卡 srn = GTS.GT_OpenExtMdl(_cardNum, "gts.dll"); GTS.GT_ResetExtMdl(_cardNum); srn = GTS.GT_LoadExtConfig(_cardNum, _sExtFile); } //主卡 srn = GTS.GT_LoadConfig(_cardNum, _sFile); ClrStsAll(); return srn; } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(ex.Message); } return 0; } public virtual short CloseCard() { try { short srn = GTS.GT_Close(_cardNum); if (_mdl >= 0) srn = GTS.GT_CloseExtMdl(_cardNum); return srn; } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(ex.Message); } return 0; } public virtual short ClrStsAll() { return GTS.GT_ClrSts(_cardNum, 1, 8); } }
实例化:
//启动固高运动卡 new GTS_Start(0, Application.StartupPath + "\\GTS800_1.cfg", -1, false, Application.StartupPath + "\\ExtModule.cfg");
