Beispiel #1
0
        private void refreshRobotDataInstance()
        {
            if (aRTDE.isSynchronizing)
            {
                RTDEOutputObj OutObj = aRTDE.getOutputObj();

                dataGridData otherData = RobotOtherData.Find(x => x.varName == "A1");
                otherData.varValue = Math.Round(OutObj.actual_q.X / Math.PI * 180, 2);

                otherData          = RobotOtherData.Find(x => x.varName == "A2");
                otherData.varValue = Math.Round(OutObj.actual_q.Y / Math.PI * 180, 2);

                otherData          = RobotOtherData.Find(x => x.varName == "A3");
                otherData.varValue = Math.Round(OutObj.actual_q.Z / Math.PI * 180, 2);

                otherData          = RobotOtherData.Find(x => x.varName == "A4");
                otherData.varValue = Math.Round(OutObj.actual_q.Rx / Math.PI * 180, 2);

                otherData          = RobotOtherData.Find(x => x.varName == "A5");
                otherData.varValue = Math.Round(OutObj.actual_q.Ry / Math.PI * 180, 2);

                otherData          = RobotOtherData.Find(x => x.varName == "A6");
                otherData.varValue = Math.Round(OutObj.actual_q.Rz / Math.PI * 180, 2);
            }
        }
        private void initData()
        {
            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "I" + i;
                myData.varValue = 0;
                RexrothInputData.Add(myData);
            }
            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "O" + i;
                myData.varValue = 0;
                RexrothOutputData.Add(myData);
            }

            dataGridData otherData = new dataGridData();

            otherData.varName  = "AI1";
            otherData.varValue = 0;
            RexrothOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "AI2";
            otherData.varValue = 0;
            RexrothOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "AO1";
            otherData.varValue = 0;
            RexrothOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "AO2";
            otherData.varValue = 0;
            RexrothOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "X电机";
            otherData.varValue = 0;
            RexrothOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "Y电机";
            otherData.varValue = 0;
            RexrothOtherData.Add(otherData);
        }
        /// <summary>
        /// OPC UA值的响应函数
        /// </summary>
        /// <param name="clientHandle"></param>
        /// <param name="value"></param>
        private void ClientApi_ValueChanged(object clientHandle, DataValue value)
        {
            opcRealated.opcUA.opcUAServer curServer = m_Server;
            // 如果需要唤醒主线程的更新控件功能.
            if (!this.CheckAccess())
            {
                // Asynchronous execution of the valueChanged delegate.
                this.Dispatcher.BeginInvoke(new valueChanged(ClientApi_ValueChanged), clientHandle, value);
                return;
            }

            String keyID = (String)clientHandle;

            dataGridData curData = beckhoffInputData.Find(c => c.IID.Equals(keyID));

            curData.varValue = double.Parse(Utils.Format("{0}", value.Value));
        }
        private void initData()
        {
            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "I" + i;
                myData.varValue = 0;
                beckhoffInputData.Add(myData);
            }
            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "O" + i;
                myData.varValue = 0;
                beckhoffOutputData.Add(myData);
            }

            dataGridData otherData = new dataGridData();

            otherData.varName  = "AI1";
            otherData.varValue = 0;
            beckhoffOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "AO1";
            otherData.varValue = 0;
            beckhoffOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "电流";
            otherData.varValue = 0;
            beckhoffOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "气压";
            otherData.varValue = 0;
            beckhoffOtherData.Add(otherData);
        }
        private void initData()
        {
            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "I" + i;
                myData.varValue = 0;
                SiemensInputData.Add(myData);
            }
            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "O" + i;
                myData.varValue = 0;
                SiemensOutputData.Add(myData);
            }

            //dataGridData otherData = new dataGridData();
            //otherData.varName = "AI1";
            //otherData.varValue = 0;
            //SiemensOtherData.Add(otherData);

            //otherData = new dataGridData();
            //otherData.varName = "AO1";
            //otherData.varValue = 0;
            //SiemensOtherData.Add(otherData);

            //otherData = new dataGridData();
            //otherData.varName = "电流";
            //otherData.varValue = 0;
            //SiemensOtherData.Add(otherData);

            //otherData = new dataGridData();
            //otherData.varName = "气压";
            //otherData.varValue = 0;
            //SiemensOtherData.Add(otherData);
        }
Beispiel #6
0
        private RTDE aRTDE;                  //RTDE instance, port: 30004
        #endregion

        #region initialize
        private void initData()
        {
            aDashBoard = new DashBoard("192.168.100.11");
            aRTClient  = new RTClient("192.168.100.11");
            aRTDE      = new RTDE(System.Environment.CurrentDirectory + "\\RTDEConfig.xml", "192.168.100.11");
            //RTDE用于采集数据
            aRTDE.startSync();
            if (!aRTDE.isSynchronizing)
            {
                Thread.Sleep(10);
            }


            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "I" + i;
                myData.varValue = 0;
                RobotInputData.Add(myData);
            }
            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "O" + i;
                myData.varValue = 0;
                RobotOutputData.Add(myData);
            }

            dataGridData otherData = new dataGridData();

            otherData.varName  = "A1";
            otherData.varValue = 0;
            RobotOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "A2";
            otherData.varValue = 0;
            RobotOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "A3";
            otherData.varValue = 0;
            RobotOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "A4";
            otherData.varValue = 0;
            RobotOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "A5";
            otherData.varValue = 0;
            RobotOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "A6";
            otherData.varValue = 0;
            RobotOtherData.Add(otherData);

            Thread thread = new Thread(new ThreadStart(refreshRobotData));

            thread.Start();
        }
        private void initData(opcUAServer curServer)
        {
            Subscription in_Subscription = curServer.AddSubscription(100);
            object       serverHandle    = null;            //初始化服务器句柄
            String       nodeIDStr       = "ns=2;s=curSimulation.IOGroup.Input0";
            NodeId       nodeId          = new NodeId(nodeIDStr);

            String iid  = "data1";
            object item = iid;

            try
            {
                in_Subscription.AddDataMonitoredItem(nodeId, item, ClientApi_ValueChanged, 100, out serverHandle);

                dataGridData myData = new dataGridData();
                myData.IID      = iid;
                myData.varName  = "I0";
                myData.varValue = 0;
                beckhoffInputData.Add(myData);
            }
            catch (Exception ex)
            {
                Console.WriteLine("添加项时出现异常,异常信息:" + ex);
            }

            serverHandle = null;                     //初始化服务器句柄
            nodeIDStr    = "ns=2;s=curSimulation.IOGroup.Input1";
            nodeId       = new NodeId(nodeIDStr);

            iid  = "data2";
            item = iid;

            try
            {
                in_Subscription.AddDataMonitoredItem(nodeId, item, ClientApi_ValueChanged, 100, out serverHandle);

                dataGridData myData = new dataGridData();
                myData.IID      = iid;
                myData.varName  = "I1";
                myData.varValue = 0;
                beckhoffInputData.Add(myData);
            }
            catch (Exception ex)
            {
                Console.WriteLine("添加项时出现异常,异常信息:" + ex);
            }

            for (int i = 2; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "I" + i;
                myData.varValue = 0;
                beckhoffInputData.Add(myData);
            }
            for (int i = 0; i < 16; i++)
            {
                dataGridData myData = new dataGridData();
                myData.varName  = "O" + i;
                myData.varValue = 0;
                beckhoffOutputData.Add(myData);
            }

            dataGridData otherData = new dataGridData();

            otherData.varName  = "AI1";
            otherData.varValue = 0;
            beckhoffOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "AO1";
            otherData.varValue = 0;
            beckhoffOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "电流";
            otherData.varValue = 0;
            beckhoffOtherData.Add(otherData);

            otherData          = new dataGridData();
            otherData.varName  = "气压";
            otherData.varValue = 0;
            beckhoffOtherData.Add(otherData);
        }
        private void initData()
        {
            for (int i = 0; i < 6; i++)
            {
                dataGridData myData      = new dataGridData();
                String       explainName = "";
                switch (i)
                {
                case 0:
                    explainName = "绿按钮";
                    break;

                case 1:
                    explainName = "红按钮";
                    break;

                case 2:
                    explainName = "急停按钮";
                    break;

                case 3:
                    explainName = "气缸左位";
                    break;

                case 4:
                    explainName = "气缸右位";
                    break;

                case 5:
                    explainName = "";
                    break;

                default:
                    explainName = "";
                    break;
                }

                myData.varName  = "I" + i + "/" + explainName;
                myData.varValue = 0;
                PFInputData.Add(myData);
            }
            for (int i = 0; i < 6; i++)
            {
                dataGridData myData      = new dataGridData();
                String       explainName = "";
                switch (i)
                {
                case 0:
                    explainName = "红灯";
                    break;

                case 1:
                    explainName = "绿灯";
                    break;

                case 2:
                    explainName = "黄灯";
                    break;

                case 3:
                    explainName = "急停灯";
                    break;

                case 4:
                    explainName = "气缸左移";
                    break;

                case 5:
                    explainName = "气缸右移";
                    break;

                default:
                    explainName = "";
                    break;
                }
                myData.varName  = "O" + i + "/" + explainName;
                myData.varValue = 0;
                PFOutputData.Add(myData);
            }
        }