Beispiel #1
0
        public AxisGroup(A3200HC a3200HC, string name, string[] nodeNameSet, AxisGroupType groupType, double safetyOffset)
            : base(a3200HC, name, 0, 0)
        {
            this.name      = name;
            this.a3200HC   = a3200HC;
            this.type      = Type.Axes;
            this.axisNoSet = (int[])nodeNameSet.Clone();

            if (nodeNameSet.Length < 2)
            {
                throw new Exception("Node name set must 2 or more name");
            }

            this.GroupType = groupType;

            if (groupType == AxisGroupType.DoubleCarriage)
            {
                if (nodeNameSet.Length != 2)
                {
                    throw new HardwareException("Double Carriage support only 2 axis number");
                }

                if (safetyOffset == 0)
                {
                    throw new HardwareException("Double Carriage must have safetyOffset configuration");
                }
                else
                {
                    this.safetyOffset = safetyOffset;
                }
            }
        }
Beispiel #2
0
        // native Ensemble units are mm/s for velocity and G for accel


        // Constructors & Finalizers -------------------------------------------
        public Axis(A3200HC a3200HC, string name, uint nodeId, uint pointId)
            : base(a3200HC, name, nodeId, pointId)
        {
            base.type     = Type.Axis;
            lastProfile   = new MoveProfile();
            nativeProfile = new MoveProfile();
        }
Beispiel #3
0
        // Constructors & Finalizers -------------------------------------------

        public IOPoint(A3200HC a3200HC, string name, uint nodeId, uint pointId)
        {
            this.a3200HC = a3200HC;
            this.name    = name;
            this.nodeId  = nodeId;
            this.pointId = pointId;
        }
Beispiel #4
0
        public void AssignAxis(A3200HC a3200, IAnalogInput iAnalogInput)
        {
            if (DesignMode)
            {
                return;
            }

            _a3200        = a3200;
            _iAnalogInput = iAnalogInput;

            tmrUpdate.Enabled = true;
        }
Beispiel #5
0
        // Constructors & Finalizers -------------------------------------------

        public IONode(A3200HC a3200HC, uint nodeID, string nodeName
                      , uint digInCount
                      , uint digOutCount
                      , uint analogInCount
                      , uint analogOutCount)
        {
            this.a3200HC        = a3200HC;
            this.nodeID         = nodeID;
            this.nodeName       = nodeName;
            this.digInCount     = (int)digInCount;
            this.digOutCount    = (int)digOutCount;
            this.analogInCount  = (int)analogInCount;
            this.analogOutCount = (int)analogOutCount;
            this.axisCount      = 1; //Fix 1 node = 1 axis

            digitalInputMap  = new Hashtable();
            digitalOutputMap = new Hashtable();
            analogInputMap   = new Hashtable();
            analogOutputMap  = new Hashtable();

            // create all IO points here and assign default names
            string pointName;

            for (uint point = 0; point < this.digInCount; point++)
            {
                pointName = string.Format("DigitalIn {0}", point);
                this.CreateDigitalInput(pointName, point);
            }

            for (uint point = 0; point < this.digOutCount; point++)
            {
                pointName = string.Format("DigitalOut {0}", point);
                this.CreateDigitalOutput(pointName, point);
            }

            for (uint point = 0; point < this.analogInCount; point++)
            {
                pointName = string.Format("AnalogIn {0}", point);
                this.CreateAnalogInput(pointName, point);
            }

            for (uint point = 0; point < this.analogOutCount; point++)
            {
                pointName = string.Format("AnalogOut {0}", point);
                this.CreateAnalogOutput(pointName, point);
            }

            for (uint point = 0; point < this.axisCount; point++)
            {
                pointName = string.Format("Axis {0}", nodeID);
                this.CreateAxis(pointName, nodeID);
            }
        }
        public void AssignAxis(A3200HC a3200, int card, int bit)
        {
            if (DesignMode)
            {
                return;
            }

            _a3200 = a3200;
            _card  = card;
            _bit   = bit;

            tmrUpdate.Enabled = true;
        }
Beispiel #7
0
        // Constructors & Finalizers -------------------------------------------
        public AxisGroup(A3200HC a3200HC, string name, uint[] axisNoSet)
            : base(a3200HC, name, 0, 0)
        {
            this.name      = name;
            this.a3200HC   = a3200HC;
            this.type      = Type.Axes;
            this.axisNoSet = (int[])axisNoSet.Clone();

            if (axisNoSet.Length < 2)
            {
                throw new Exception("Node name set must 2 or more name");
            }
        }
 //Analog Input
 public void AssignAxis(A3200HC a3200, IAnalogInput iAnalogInput)
 {
     _a3200        = a3200;
     _iAnalogInput = iAnalogInput;
     _ioMode       = IOMode.AnalogInput;
     if (_a3200 != null)
     {
         try
         {
             _analogValue = _a3200.GetRawValue(iAnalogInput).ToString();
         }
         catch (Exception ex)
         { }
     }
 }
            //Input
            public void AssignAxis(A3200HC a3200, int card, int bit)
            {
                _a3200  = a3200;
                _card   = card;
                _bit    = bit;
                _ioMode = IOMode.Input;
                IDigitalInput digitalInput = HSTMachine.Workcell._ioManifest.GetDigitalInput(_bit + (_card * 8));

                if (_a3200 != null)
                {
                    try
                    {
                        _iostate = _a3200.GetState(digitalInput) == DigitalIOState.On ? true : false;
                    }
                    catch (Exception ex)
                    { }
                }
            }
Beispiel #10
0
 // Constructors & Finalizers -------------------------------------------
 internal IOStore(A3200HC a3200HC)
 {
     this.a3200HC = a3200HC;
 }
Beispiel #11
0
        // Constructors & Finalizers -------------------------------------------

        public DigitalInput(A3200HC a3200HC, string name, uint nodeID, uint pointId)
            : base(a3200HC, name, nodeID, pointId)
        {
            base.type = Type.DigitalInput;
        }
        // Constructors & Finalizers -------------------------------------------

        public DigitalOutput(A3200HC iai, string name, uint nodeId, uint pointId)
            : base(iai, name, nodeId, pointId)
        {
            base.type = Type.DigitalOutput;
        }
        // Constructors & Finalizers -------------------------------------------

        public AnalogOutput(A3200HC a3200HC, string name, uint nodeId, uint pointId)
            : base(a3200HC, name, nodeId, pointId)
        {
            base.type = Type.AnalogOutput;
        }