1.ABB机器人PCSDK提供了丰富的日志接口,比如可以方便的实现如下的自动读取机器人日志功能(即机器人有新日志产生,上位机即可自动获取并更新日志显示)
2. 要读取日志信息,可以创建如下代码
privatevoidbutton8_Click(object sender, EventArgs e) { EventLog log = controller.EventLog; EventLogCategory cat; cat = log.GetCategory(0); //0表示读取所有日志,具体见CategoryTypethis.textBox4.Text = ""; {foreach (EventLogMessage emsg in cat.Messages) {this.textBox4.Text = this.textBox4.Text+emsg.Timestamp+" "+emsg.Title+" "+"\r\n"; //讲每一条日志的时间戳和日志标题写入并显示 } } }
3. 以上方法需要人为触发获取,也可通过Subscribe方法进行订阅,即事件触发
privatevoidsubscribe_msg() { log = controller.EventLog; log.MessageWritten += new EventHandler<MessageWrittenEventArgs>(msg_WritenChanged);//添加日志事件触发 }
privatevoidmsg_WritenChanged(object sender, MessageWrittenEventArgs e) {this.Invoke(new EventHandler(UpdateGUI5), sender, e);//为了避免界面线程和主线程冲突,采用委托方式 }privatevoidUpdateGUI5(object sender, System.EventArgs e) { this.textBox4.Text = ""; { cat = log.GetCategory(0);foreach (EventLogMessage emsg in cat.Messages) {this.textBox4.Text = this.textBox4.Text + emsg.Timestamp + " " + emsg.Number+emsg.SequenceNumber+" "+emsg.Title + " " + "\r\n";//将日志的时间戳,日志代码和日志标题写入 } } }
********************************
|