| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*using Cognex.VisionPro.ToolBlock;
- using Cognex.VisionPro;
- using MathNet.Numerics.LinearAlgebra;
- using MathNet.Numerics.RootFinding;
- using NPOI.SS.Formula.Functions;
- using NPOI.Util;
- using OpenCvSharp;
- using OpenCvSharp.Flann;
- using Prism.Events;
- using Prism.Ioc;
- using Prism.Mvvm;
- using Prism.Regions;
- using Prism.Services.Dialogs;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.IO;
- using System.Linq;
- using System.Net.Sockets;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Documents;
- using System.Windows.Interop;
- using System.Windows.Media;
- using System.Windows.Media.Media3D;
- using Team.FFFeederService;
- using Team.FFFeederService.Interfaces;
- using TeamAAS_VP.Data;
- using TeamAAS_VP.Enums;
- using TeamAAS_VP.Events;
- using TeamAAS_VP.Models;
- using TeamAAS_VP.ViewModels.Home;
- using TouchSocket.Core;
- using TouchSocket.Sockets;
- using TeamAAS_VP.Core;
- using TeamAAS_VP.Interfaces;
- public class UserScript:IBackgroundScripting
- {
- #region 属性
- public IRegionManager regionManager{get;set;}
- public IEventAggregator eventAggregator{get;set;}
- public IContainerProvider container{get;set;}
- public Management management{get;set;}
- public ProductModel CurrentProduct { get; set; }
- #endregion
-
- public async Task Execute()
- {
- if(management==null)
- return;// Task.CompletedTask;
- foreach (var item in management.DeviceConfig.Robots)
- {
- //绑定接收机器人数据事件
- management.RobotService.GetRobot(item.Id).ReceivedEvent += Robot_ReceivedEvent;
- }
- //后台服务器接收数据事件绑定
- management.BgCommunicate.ReceivedEvent += BgCommunicate_ReceivedEvent;
- while(true)
- {
- await Task.Delay(5000);
- }
- //return Task.CompletedTask;
- }
-
- //机器人接收数据
- private async void Robot_ReceivedEvent(Guid robotid, object arg2, TouchSocket.Sockets.ReceivedDataEventArgs e)
- {
- var robot = await management.RobotService.GetRobotAsync(robotid);
- var r = management.DeviceConfig.Robots.FirstOrDefault(ro => ro.Id == robotid);
- string robotname=r.RobotName;
- //从服务器收到信息。但是一般byteBlock和requestInfo会根据适配器呈现不同的值。
- var buffer = e.ByteBlock.Span.ToString(robot.GetEncoding());
- if (robot.ConnectType == TCPConnectType.Client)
- {
- //await robot.SendAsync($"123"); //发送数据
- }
- else
- {
- var cient = (ITcpSessionClient)arg2;
- //await robot.SendAsync(cient, $"123"); //发送数据
- }
- }
-
- //后台TCP接收数据
- private async void BgCommunicate_ReceivedEvent(ITcpSessionClient client, string msg)
- {
- //SendTaskMessage($"服务器[{client.ServicePort}]ReceiveFor客户端[{client.Id}:{client.IP}]:{msg}", MessageLevel.Info);
- //await management.BgCommunicate.SendAsync(client, $"123"); //发送数据
- }
- public void SendTaskMessage(string msg, MessageLevel level)
- {
- eventAggregator.GetEvent<TaskMessageNotification>().Publish(new TeamAAS_VP.Models.MessageStruct() { Message = msg, level = level });
- }
- }*/
|