示例#1
0
        private static bool queryValve(afmdbEntities ctx, ValveType type)
        {
            var   valves = from v in ctx.valve where v.ValveType == (int)type select v;
            valve vFind  = valves.First();

            return(vFind != null);
        }
示例#2
0
        public static PointD ToCamera(this PointD point, ValveType valveType)
        {
            PointD rtn = null;

            switch (valveType)
            {
            case ValveType.Valve1:
                //rtn = (point.ToSystem() + Machine.Instance.Robot.CalibPrm.NeedleCamera1 - Machine.Instance.Robot.CalibPrm.NeedleJet1).ToPoint().ToMachine();
                rtn = (point.ToSystem() + Machine.Instance.Robot.CalibPrm.NeedleJet1 - Machine.Instance.Robot.CalibPrm.NeedleCamera1).ToPoint().ToMachine();
                break;

            case ValveType.Valve2:
                if (Machine.Instance.Setting.DualValveMode != DualValveMode.跟随)
                {
                    // todo 待处理--不转棋盘坐标么???
                    rtn = new PointD(
                        point.X + Machine.Instance.Robot.CalibPrm.NeedleCamera2.X - Machine.Instance.Robot.CalibPrm.NeedleJet2.X + Math.Abs(Machine.Instance.Robot.PosA),
                        point.Y + Machine.Instance.Robot.CalibPrm.NeedleCamera2.Y - Machine.Instance.Robot.CalibPrm.NeedleJet2.Y + Math.Abs(Machine.Instance.Robot.PosB));
                }
                else
                {
                    // todo 待处理--不转棋盘坐标么???
                    rtn = new PointD(point.X - Machine.Instance.Robot.CalibPrm.NeedleCamera2.X + Machine.Instance.Robot.CalibPrm.NeedleJet2.X,
                                     point.Y - Machine.Instance.Robot.CalibPrm.NeedleCamera2.Y + Machine.Instance.Robot.CalibPrm.NeedleJet2.Y);
                }
                break;
            }
            return(new PointD());
        }
示例#3
0
        /// <summary>
        /// 相机坐标转换倾斜喷嘴坐标
        /// </summary>
        /// <param name="point"></param>
        /// <param name="valveType"></param>
        /// <param name="tiltType"></param>
        /// <returns></returns>
        public static PointD ToNeedle(this PointD point, ValveType valveType, TiltType tiltType)
        {
            PointD rtn = null;

            if (valveType == ValveType.Valve1 || valveType == ValveType.Both)
            {
                if (tiltType == TiltType.NoTilt)
                {
                    return(rtn = (point.ToSystem() + Machine.Instance.Robot.CalibPrm.NeedleCamera1 - Machine.Instance.Robot.CalibPrm.NeedleJet1).ToPoint().ToMachine());
                }
                AngleHeightPosOffset curTiltCalibPrm = Machine.Instance.Robot.CalibPrm.AngleHeightPosOffsetList.Find(t => t.TiltType.Equals(tiltType));
                if (curTiltCalibPrm == null)
                {
                    return(null);
                }
                rtn = (point.ToSystem() + curTiltCalibPrm.ValveCameraOffset - curTiltCalibPrm.DispenseOffset).ToPoint().ToMachine();
            }
            else
            {
                if (Machine.Instance.Setting.DualValveMode != DualValveMode.跟随)
                {
                    rtn = new PointD(
                        point.X + Machine.Instance.Robot.CalibPrm.NeedleCamera2.X - Machine.Instance.Robot.CalibPrm.NeedleJet2.X + Math.Abs(Machine.Instance.Robot.PosA),
                        point.Y + Machine.Instance.Robot.CalibPrm.NeedleCamera2.Y - Machine.Instance.Robot.CalibPrm.NeedleJet2.Y + Math.Abs(Machine.Instance.Robot.PosB));
                }
                else
                {
                    rtn = new PointD(
                        point.X + Machine.Instance.Robot.CalibPrm.NeedleCamera2.X - Machine.Instance.Robot.CalibPrm.NeedleJet2.X,
                        point.Y + Machine.Instance.Robot.CalibPrm.NeedleCamera2.Y - Machine.Instance.Robot.CalibPrm.NeedleJet2.Y);
                }
            }
            return(rtn);
        }
示例#4
0
 public PatternItem(int i, int j, PointD point, ValveType valve, bool enabled)
 {
     this.I       = i;
     this.J       = j;
     this.Point   = point;
     this.Valve   = valve;
     this.Enabled = enabled;
 }
示例#5
0
        public SettingWeightForm Setup(ValveWeightPrm valWtPrm)
        {
            this.valveKey = valWtPrm.Key;
            LngPropertyProxyTypeDescriptor proxyObj = new LngPropertyProxyTypeDescriptor(valWtPrm, this.GetType().Name);

            this.propertyGrid1.SelectedObject = proxyObj;
            this.valveWeightPrm       = valWtPrm;
            this.valveWeightPrmBackUp = (ValveWeightPrm)valWtPrm.Clone();
            return(this);
        }
示例#6
0
 public ValveDriver(IPacketTransmitter pPacketTransmitter, ValveType vt)
 {
     myPacketTransmitter = pPacketTransmitter;
     switch (vt)
     {
         case ValveType.In:
             bValveCommand = Constants.COMM_TX_VALVE_IN_DRIVE;
             break;
         case ValveType.Out:
             bValveCommand = Constants.COMM_TX_VALVE_OUT_DRIVE;
             break;
     }
 }
示例#7
0
        /// <summary>
        /// 相机坐标 + 打胶偏移
        /// </summary>
        /// <param name="point"></param>
        /// <param name="valveType"></param>
        /// <returns></returns>
        public static PointD ByNeedleJet(this PointD point, ValveType valveType)
        {
            PointD rtn = null;

            switch (valveType)
            {
            case ValveType.Valve1:
                rtn = (point.ToSystem() + Machine.Instance.Robot.CalibPrm.NeedleJet1).ToMachine();
                break;

            case ValveType.Valve2:

                break;
            }
            return(rtn);
        }
示例#8
0
        private void BtnGo_Click(object sender, EventArgs e)
        {
            Location  loc   = LocationMgr.Instance.FindBy(this.listBox1.SelectedItem.ToString());
            ValveType valve = ValveType.Valve1;

            if (this.rdoValve1Goto.Checked)
            {
                valve = ValveType.Valve1;
            }
            else
            {
                valve = ValveType.Valve2;
            }
            if (loc != null)
            {
                Machine.Instance.Robot.MoveToLoc(loc.ToNeedle(valve));
            }
        }
示例#9
0
 public IFluider CreatFluider(ValveType valveType)
 {
     if (valveType == ValveType.Both)
     {
         if (Machine.Instance.DualValve is JtDualValve)
         {
             return(new JtValveFluider());
         }
         else if (Machine.Instance.DualValve is SvDualValve)
         {
             return(new SvValveFluider());
         }
         else
         {
             return(new GearValveFluider());
         }
     }
     else
     {
         Valve valve = null;
         if (valveType == ValveType.Valve1)
         {
             valve = Machine.Instance.Valve1;
         }
         else
         {
             valve = Machine.Instance.Valve2;
         }
         if (valve is JtValve)
         {
             return(new JtValveFluider());
         }
         else if (valve is SvValve)
         {
             return(new SvValveFluider());
         }
         else
         {
             return(new GearValveFluider());
         }
     }
 }
示例#10
0
        public static Location ToNeedle(this Location loc, ValveType valve)
        {
            Location rtn = null;

            switch (valve)
            {
            case ValveType.Valve1:
                rtn = new Location()
                {
                    X = loc.X + Machine.Instance.Robot.CalibPrm.NeedleCamera1.X - Machine.Instance.Robot.CalibPrm.NeedleJet1.X,
                    Y = loc.Y + Machine.Instance.Robot.CalibPrm.NeedleCamera1.Y - Machine.Instance.Robot.CalibPrm.NeedleJet1.Y,
                    Z = loc.Z
                };
                break;

            case ValveType.Valve2:
                if (Machine.Instance.Setting.DualValveMode != DualValveMode.跟随)
                {
                    rtn = new Location()
                    {
                        X = loc.X + Machine.Instance.Robot.CalibPrm.NeedleCamera2.X - Machine.Instance.Robot.CalibPrm.NeedleJet2.X + Math.Abs(Machine.Instance.Robot.PosA),
                        Y = loc.Y + Machine.Instance.Robot.CalibPrm.NeedleCamera2.Y - Machine.Instance.Robot.CalibPrm.NeedleJet2.Y + Math.Abs(Machine.Instance.Robot.PosB),
                        Z = loc.Z
                    };
                }
                else
                {
                    rtn = new Location()
                    {
                        X = loc.X + Machine.Instance.Robot.CalibPrm.NeedleCamera2.X - Machine.Instance.Robot.CalibPrm.NeedleJet2.X,
                        Y = loc.Y + Machine.Instance.Robot.CalibPrm.NeedleCamera2.Y - Machine.Instance.Robot.CalibPrm.NeedleJet2.Y,
                        Z = loc.Z
                    };
                }
                break;
            }
            return(rtn);
        }
示例#11
0
        public TeachNeedleToHeightSensor(int vavelNo)
        {
            this.valvelNo = vavelNo;
            if (valvelNo == 1)
            {
                this.curValve = ValveType.Valve1;
            }
            else
            {
                this.curValve = ValveType.Valve2;
            }
            InitializeComponent();
            this.picDiagram.Image = Properties.Resources.TeachNeedleToHeightSensor;
            UpdateByFlag();

            this.txtState.ReadOnly = true;
            this.txtRead.ReadOnly  = true;
            this.ReadLanguageResources();
            this.lblDiagram.Text = this.lblTip[24];

            this.txtLaserHeight.ReadOnly = true;
            this.txtNeedlePosZ.ReadOnly  = true;
            this.FormClosed += TeachNeedleToHeightSensor_FormClosed;
        }
示例#12
0
 public GearValve(ValveType valveType, Proportioner proportioner, Card card, short chn, ValvePrm prm) : base(valveType, ValveSeries.齿轮泵阀, proportioner, card, chn, prm)
 {
     this.Prm = prm.GearValvePrm;
 }
示例#13
0
 public Valve()
 {
     valveType = ValveType.UNKNOWN;
 }