private void CreateTestNodes() { // create test nodes var testNode = new NodeStringXOR(new Point(100, 50)); var testNode2 = new NodeString(new Point(-350, 40)); var testNode3 = new NodeChar(new Point(-300, -150)); var testNode4 = new NodeStringXOR(new Point(350, 150)); var testNode5 = new NodeLogicOutput(new Point(-280, 300)); var testNode6 = new NodeMonitor(new Point(600, 290)); // add nodes to control nodeGraphControl.AddNode(testNode); nodeGraphControl.AddNode(testNode2); nodeGraphControl.AddNode(testNode3); nodeGraphControl.AddNode(testNode4); nodeGraphControl.AddNode(testNode5); nodeGraphControl.AddNode(testNode6); // connect nodes nodeGraphControl.Connect((SocketOut)testNode3.Sockets[0], (SocketIn)testNode.GetSocketByName("Input key")); nodeGraphControl.Connect((SocketOut)testNode2.Sockets[0], (SocketIn)testNode.GetSocketByName("Input string")); nodeGraphControl.Connect((SocketOut)testNode.GetSocketByName("Output string"), (SocketIn)testNode4.GetSocketByName("Input string")); nodeGraphControl.Connect((SocketOut)testNode3.Sockets[0], (SocketIn)testNode4.GetSocketByName("Input key")); nodeGraphControl.Connect((SocketOut)testNode5.GetSocketByName("Output H"), (SocketIn)testNode.GetSocketByName("Input enabled")); nodeGraphControl.Connect((SocketOut)testNode5.GetSocketByName("Output H"), (SocketIn)testNode4.GetSocketByName("Input enabled")); nodeGraphControl.Connect((SocketOut)testNode4.GetSocketByName("Output string"), (SocketIn)testNode6.GetSocketByName("Input")); }
private void buttonClearDevCmd_Click(object sender, EventArgs e) { string nodeName = GetNodenameSel(); string reStr = ""; if (!NodeMonitor.DevReset(nodeName, ref reStr)) { Console.WriteLine(reStr); } }
public virtual void DrawLinks(Vector2 scrollPos, NodeMonitor monitor) { if (sockets != null) { foreach (var outputSocket in sockets.GetSockets(SocketIO.OUTPUT)) { if (outputSocket.connectedTo != null) { var inputSocket = (outputSocket.connectedTo as NodeEditor).GetSocketDimension(SocketIO.INPUT, 0); TreeEditor.DrawLinkBetweenDots(outputSocket.GetGlobalDimension(window).center, inputSocket.center, monitor != null && monitor.InSequence(outputSocket.connectedTo) ? Sockets.COLOR_RUNNING : Sockets.COLOR_LINK); } } } }
private void buttonRfidSimWrite_Click(object sender, EventArgs e) { try { string nodeName = GetNodenameSel(); string rfidVal = this.textBoxRfidVal.Text; NodeMonitor.SimSetRFID(nodeName, rfidVal); string barcode = this.textBoxBarcode.Text; NodeMonitor.SimSetBarcode(nodeName, barcode); } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } }
public static ContainerBuilder AddNodeMonitorService(this ContainerBuilder builder, IConfiguration configuration) { builder.Register(c => { var nodeMonitorConfigurationOptions = new NodeMonitorConfigurationOptions(); configuration.Bind(NodeMonitorConfigurationOptions.ConfigurationSectionName, nodeMonitorConfigurationOptions); var nodeMonitorProvider = new NodeMonitor(nodeMonitorConfigurationOptions, c.Resolve <Serilog.ILogger>()); return(nodeMonitorProvider); }).As <INodeMonitor>().InstancePerLifetimeScope(); builder.RegisterType <NodeMonitorService>().As <IHostedService>(); return(builder); }
public void InitializeChannels() { var nodeExchange = NodeConfiguration.NodeChannel; var nodeQueue = NodeConfiguration.NodeChannel + "Q"; var meshExchange = NodeConfiguration.MeshChannel; Bus.AddRabbitExchange(x => x .Direct(nodeExchange) .Immediate() .Mandatory() .AutoDelete() .PersistentDelivery() // we do want messages sticking around even if the broker dies ); Bus.AddRabbitQueue(x => x .QueueName(nodeQueue) .ExchangeName(nodeExchange) .Durable() // we do want messages sticking around even if the broker dies .AutoDelete() // we don't want queues lingering after the node is gone .StartSubscription()); Bus.AddRabbitExchange(x => x .Fanout(meshExchange) .Durable() ); //Now for the magic Bus.BindExchangeToQueue(meshExchange, nodeExchange, NodeConfiguration.NodeChannel); //If not an 'edge' node then add 'self' to the node registry if (!NodeConfiguration.AsProxy) { NodeRegistry.AddNode(NodeConfiguration.IdentityProvider.Identity); } //Start the monitor if (!NodeConfiguration.AsProxy) { NodeMonitor.Start(); } }
private void buttonDB2SimSet_Click(object sender, EventArgs e) { if (!SysCfg.SysCfgModel.SimMode) { MessageBox.Show("当前不处于仿真模式"); return; } try { string devName = GetNodenameSel(); int itemID = int.Parse(comboBoxDB2.Text); NodeMonitor.SimSetDB2(devName, itemID, int.Parse(this.textBoxDB2ItemVal.Text)); RefreshPLCComm(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
public bool Init() { List <string> nodeList = new List <string>(); List <string> nodeIDS = NodeMonitor.GetMonitorNodeIDS(); foreach (string nodeID in nodeIDS) { string nodeName = NodeMonitor.GetNodeName(nodeID); nodeList.Add(nodeID + ":" + nodeName); } this.comboBoxDevList.Items.AddRange(nodeList.ToArray()); this.comboBoxDevList.SelectedIndex = 0; this.cbxWMSimTasktype.Items.AddRange(new string[] { "上架", "下架" }); this.cbxWMSimTasktype.SelectedIndex = 0; DataTable dt = new DataTable("模拟WMS任务列表"); dt.Columns.AddRange(new DataColumn[] { new DataColumn("管理任务ID"), new DataColumn("任务类型"), new DataColumn("任务状态"), new DataColumn("托盘码"), new DataColumn("起始设备号"), new DataColumn("起始设备类型"), new DataColumn("起始设备参数"), new DataColumn("目标设备号"), new DataColumn("目标设备类型"), new DataColumn("任务创建时间"), new DataColumn("目标设备参数"), new DataColumn("备注") }); /* * DataRow dr = dt.Rows.Add(); * dr["管理任务ID"] = System.Guid.NewGuid().ToString(); * dr["任务类型"] = "产品入库"; * dr["任务状态"] = "待执行"; * dr["托盘码"] = "TP2018040412"; * dr["起始设备号"] = "12112"; * dr["起始设备类型"] = "工位"; * dr["起始设备参数"] = ""; * dr["目标设备号"] = "11001"; * dr["目标设备类型"] = "货位"; * dr["目标设备参数"] = "1-1-1"; * dr["备注"] = "";*/ this.dataGridView1.DataSource = dt; this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; OnRefreshWMSDt(); return(true); }
private void RefreshPLCComm() { if (this.dataGridViewDevDB1.InvokeRequired) { DlgtRefreshPLCComm dlgtRefresh = new DlgtRefreshPLCComm(RefreshPLCComm); this.Invoke(dlgtRefresh); } else { string nodeName = GetNodenameSel(); DataTable dt1 = null; DataTable dt2 = null; //DataTable dtTask = null; string taskDetail = ""; if (!NodeMonitor.GetDevRunningInfo(nodeName, ref dt1, ref dt2, ref taskDetail)) { Console.WriteLine("刷新工位信息失败"); return; } this.dataGridViewDevDB1.DataSource = dt1; for (int i = 0; i < this.dataGridViewDevDB1.Columns.Count; i++) { this.dataGridViewDevDB1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; this.dataGridViewDevDB1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; } this.dataGridViewDevDB1.Columns[this.dataGridViewDevDB1.Columns.Count - 1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; this.dataGridViewDevDB2.DataSource = dt2; for (int i = 0; i < this.dataGridViewDevDB2.Columns.Count; i++) { this.dataGridViewDevDB2.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; this.dataGridViewDevDB2.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; } this.dataGridViewDevDB2.Columns[this.dataGridViewDevDB2.Columns.Count - 1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; this.richTextBoxTaskInfo.Text = taskDetail; } }
public void SetMonitor(NodeMonitor monitor) { this.monitor = monitor; }
public bool Init() { this.comboBoxDevList.Items.AddRange(NodeMonitor.GetMonitorNodeNames().ToArray()); this.comboBoxDevList.SelectedIndex = 0; return(true); }