/// <summary> /// 设置二维比较输出参数 /// </summary> /// <param name="cardId">卡号</param> /// <param name="chn">0,1</param> /// <param name="axisxId">x轴</param> /// <param name="axisyId">y轴</param> /// <param name="src">比较源,0:规划,1:编码器</param> /// <param name="outType">输出方式,0:脉冲,1:电平</param> /// <param name="startLevel">起始电平方式0:位置比较输出引脚电平复位,1:位置比较输出引脚电平取反</param> /// <param name="pulseWidth">脉冲方式脉冲时间,单位微秒</param> /// <param name="maxerr">比较范围最大误差</param> /// <param name="threshold">最优算法阈值</param> /// <returns></returns> public short Cmp2dSetPrm(short cardId, short chn, short axisxId, short axisyId, short src, short outType, short startLevel, short pulseWidth, short maxerr, short threshold) { mc.T2DComparePrm p = new mc.T2DComparePrm() { encx = axisxId, ency = axisyId, source = src, outputType = outType, startLevel = startLevel, time = pulseWidth, maxerr = maxerr, threshold = threshold }; return(mc.GT_2DCompareSetPrm(cardId, chn, ref p)); }
/// <summary> /// 二维位置比较参数 /// </summary> /// <param name="nCardNum"></param> /// <param name="chn">通道号 0:HSIO1 ; 通道号 1: HSIO2</param> /// <param name="pPrm">参数</param> /// <returns></returns> public override short D2DCompareSetPrm(short nCardNum, short chn, ref object pPrm) { short nRtn = 0; var newPrm = (DD_COMPARE_PRM)pPrm; var gprm = new mc.T2DComparePrm(); gprm.encx = newPrm.nEncx; gprm.ency = newPrm.nEncy; gprm.source = newPrm.nSource; gprm.outputType = newPrm.nOutputType; gprm.startLevel = newPrm.nStartLevel; gprm.time = newPrm.nTime; gprm.maxerr = newPrm.nMaxerr; gprm.threshold = newPrm.nThreshold; nRtn |= mc.GT_2DCompareSetPrm(nCardNum, chn, ref gprm); return(nRtn); }