示例#1
0
 void Start()
 {
     mtConnect    = GameObject.FindGameObjectWithTag("Controller").GetComponent <MTConnect>();
     uIController = GameObject.FindGameObjectWithTag("UIController").GetComponent <UIController>();
     parser       = GameObject.FindGameObjectWithTag("Controller").GetComponent <IndoorGMLParser>();
     if (parser.inspection)
     {
         navigation = GameObject.FindGameObjectWithTag("Controller").GetComponent <Navigation>();
     }
     machinePanelControl = GameObject.FindGameObjectWithTag("UIController").GetComponent <MachinePanelControl>();
 }
        public static List<StatusInfo> GetList(MTConnect.Application.Components.ReturnData probe)
        {
            var result = new List<StatusInfo>();

            if (probe.Devices != null && probe.Devices.Count > 0)
            {
                var device = probe.Devices[0];

                foreach (var item in device.DataItems) result.Add(ProcessDataItem(item));

                foreach (var component in device.Components)
                {
                    result.AddRange(ProcessComponent(component));

                    result.AddRange(ProcessSubcomponents(component.Components));
                }
            }

            return result;
        }
        private static StatusInfo ProcessDataItem(MTConnect.Application.Components.DataItem item)
        {
            var info = new StatusInfo();
            info.InfoType = StatusInfoType.MTConnect_Data_Item;

            info.Category = item.Category;
            info.Address = item.FullAddress;
            info.Name = item.Name;
            info.Id = item.Id;
            info.Type = item.Type;
            info.SubType = item.SubType;

            return info;
        }
        private static void ProcessDataItem(MTConnect.Application.Streams.DataItem item, List<StatusInfo> infos)
        {
            var info = infos.Find(x => x.Id == item.DataItemId);
            if (info != null)
            {
                info.Timestamp = item.Timestamp;

                info.PreviousValue1 = info.Value1;
                info.Value1 = item.CDATA;

                if (info.Category == MTConnect.DataItemCategory.CONDITION)
                {
                    info.PreviousValue2 = info.Value2;
                    info.Value2 = ((Condition)item).ConditionValue.ToString();
                }
            }
        }
示例#5
0
        private void SendSampleData(MTConnect.Application.Streams.ReturnData returnData, DeviceConfiguration config)
        {
            var data = new EventData(this);
            data.Id = "MTCONNECT_SAMPLE";
            data.Data01 = config;
            data.Data02 = returnData;

            SendData?.Invoke(data);
        }
        public static void ProcessList(MTConnect.Application.Streams.ReturnData current, List<StatusInfo> infos)
        {
            if (current.DeviceStreams != null && current.DeviceStreams.Count > 0)
            {
                var device = current.DeviceStreams[0];

                foreach (var item in device.DataItems) ProcessDataItem(item, infos);

                foreach (var componentStream in device.ComponentStreams)
                {
                    ProcessComponentStream(componentStream, infos);
                }
            }
        }
示例#7
0
        private void SendProbeData(MTConnect.Application.Components.ReturnData returnData, DeviceConfiguration config)
        {
            if (returnData != null && returnData.Header != null)
            {
                if (returnData.Header.InstanceId != agentInstanceId)
                {
                    SendAgentReset(config);
                }

                agentInstanceId = returnData.Header.InstanceId;
            }

            var data = new EventData(this);
            data.Id = "MTCONNECT_PROBE";
            data.Data01 = config;
            data.Data02 = returnData;

            SendData?.Invoke(data);
        }
 private void LoadProbeHeader(MTConnect.Application.Headers.Devices header)
 {
     InstanceId = header.InstanceId.ToString();
     Sender = header.Sender;
     Version = header.Version;
     BufferSize = String_Functions.FileSizeSuffix(header.BufferSize);
     AssetBufferSize = String_Functions.FileSizeSuffix(header.AssetBufferSize);
     AssetCount = header.AssetCount.ToString();
 }
示例#9
0
 void PrintXML(object sender, MTConnect.RealTimeEventArgs args)
 {
     SetText(args.document);
 }
        private void SendProbeHeader(MTConnect.Application.Headers.Devices header)
        {
            var data = new EventData(this);
            data.Id = "MTConnect_Probe_Header";
            data.Data02 = header;

            foreach (var page in ConfigurationPages)
            {
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    page.GetSentData(data);
                }), System.Windows.Threading.DispatcherPriority.Background, new object[] { });
            }
        }
        void RunProbe(string address, MTConnect.HTTP.ProxySettings proxy, int port, string deviceName)
        {
            var info = new Probe_Info();
            info.address = address;
            info.port = port;
            info.deviceName = deviceName;
            info.proxy = proxy;

            ThreadPool.QueueUserWorkItem(new WaitCallback(RunProbe_Worker), info);
        }