| | |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | |
| | | using HH.WCS.Mobox3.AnGang.AppStart; |
| | | using HH.WCS.Mobox3.AnGang.Devices; |
| | | using HH.WCS.Mobox3.AnGang.core; |
| | | using HH.WCS.Mobox3.AnGang.device; |
| | | |
| | | using Microsoft.Owin.Hosting; |
| | | |
| | | using Topshelf; |
| | | |
| | | using Monitor = HH.WCS.Mobox3.AnGang.core.Monitor; |
| | | |
| | | namespace HH.WCS.Mobox3.AnGang { |
| | | internal class Program |
| | | { |
| | | //[STAThread] // SNAP 注释该行保留其他行后,程序正常运行 |
| | | static void Main(string[] args) |
| | | { |
| | | //基础设置信息初始化 |
| | |
| | | //2.0 开启tcp |
| | | StartTcp(); |
| | | //3.0 开启S7 |
| | | StartS7(); |
| | | //StartS7(); |
| | | //4.0 开启Modbus |
| | | StartModbus(); |
| | | //StartModbus(); |
| | | |
| | | //开启相机 |
| | | StartSnap(); |
| | | |
| | | //5.0 开启线程 |
| | | var rc = HostFactory.Run(x => |
| | |
| | | Console.WriteLine("Startup ApiController"); |
| | | Task.Run(() => |
| | | { |
| | | var url = Settings.Config.WebApiUrl; |
| | | var url = Settings.WebApiUrl; |
| | | Console.WriteLine(url); |
| | | using (WebApp.Start<Startup>(url)) |
| | | { |
| | |
| | | /// </summary> |
| | | private static void StartTcp() |
| | | { |
| | | var tcpServerIP = Settings.Config.TCPServerIP; |
| | | var tcpServerPort = Settings.Config.TCPServerPort; |
| | | var tcpServerIP = Settings.TCPServerIP; |
| | | var tcpServerPort = Settings.TCPServerPort; |
| | | new TcpServer(tcpServerIP, tcpServerPort); |
| | | |
| | | } |
| | |
| | | // Console.WriteLine("S7ProductionLineHelper," + item.ProductionLine_IP); |
| | | // } |
| | | //} |
| | | |
| | | ////称重的S7设备 |
| | | //var weightPLCDevice = Settings.WeightDevices; |
| | | |
| | | //if (weightPLCDevice.Count > 0) |
| | | //{ |
| | | // foreach (var item in weightPLCDevice) |
| | | // { |
| | | // new S7Helper(item.WeightDevice_IP, (short)item.WeightDevice_Rack, (short)item.WeightDevice_Slot); |
| | | // Console.WriteLine("S7WeightDeviceHelper," + item.WeightDevice_Name); |
| | | // } |
| | | //} |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | //} |
| | | } |
| | | |
| | | private static void StartSnap() { |
| | | new SnapManager(Settings.Snaps[0]); |
| | | } |
| | | |
| | | public class WorkThread |
| | | { |
| | | public void Start() |
| | | { |
| | | List<Task> tasks = new List<Task>(); |
| | | // 添加任务推送线程 |
| | | //tasks.Add(GetTask(WCSCore.Dispatch)); |
| | | |
| | | ////添加自定义线程 |
| | | //tasks.Add(GetTask(Monitor.CheckEmptyCnt));//检测空托盘 |
| | | |
| | | ////根据S7/Modbus协议判断输送线的信号 原材料产线库区=>满托缓存库区,空托缓存库区=>原材料产线库区 |
| | | //tasks.Add(GetTask(Monitor.CheckS7Devices)); |
| | | tasks.Add(GetTask(WCSCore.Dispatch)); |
| | | //tasks.Add(GetTask(Monitor.CheckCountOrder)); |
| | | |
| | | Task.WaitAll(tasks.ToArray()); |
| | | } |