kazelee
1 天以前 6ed44f32c96a17fd10601a24c3c36ca1229bc89b
Program.cs
@@ -3,17 +3,19 @@
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]
        //[STAThread] // SNAP 注释该行保留其他行后,程序正常运行
        static void Main(string[] args)
        {
            //基础设置信息初始化
@@ -21,7 +23,7 @@
            //1.0 开启api
            Startup();
            //2.0 开启tcp
            StartTcp();
            //StartTcp();
            //3.0 开启S7
            //StartS7();
            //4.0 开启Modbus
@@ -59,7 +61,7 @@
            Console.WriteLine("Startup ApiController");
            Task.Run(() =>
            {
                var url = Settings.Config.WebApiUrl;
                var url = Settings.WebApiUrl;
                Console.WriteLine(url);
                using (WebApp.Start<Startup>(url))
                {
@@ -74,9 +76,9 @@
        /// </summary>
        private static void StartTcp()
        {
            var tcpServerIP = Settings.Config.TCPServerIP;
            var tcpServerPort = Settings.Config.TCPServerPort;
            new TcpServer(tcpServerIP, tcpServerPort);
            //var tcpServerIP = Settings.TCPServerIP;
            //var tcpServerPort = Settings.TCPServerPort;
            //new TcpServer(tcpServerIP, tcpServerPort);
        }
@@ -115,8 +117,7 @@
        }
        private static void StartSnap() {
            //new SnapManager(Settings.Snap);
            new SnapManager(Settings.Config.Snap[0]);
            new SnapManager(Settings.Snaps[0]);
        }
        public class WorkThread
@@ -125,13 +126,11 @@
            {
                List<Task> tasks = new List<Task>();
                // 添加任务推送线程
                //tasks.Add(GetTask(WCSCore.Dispatch));
                tasks.Add(GetTask(WCSCore.Dispatch));
                //tasks.Add(GetTask(Monitor.CheckCountOrder));
                ////添加自定义线程
                //tasks.Add(GetTask(Monitor.CheckEmptyCnt));//检测空托盘
                ////根据S7/Modbus协议判断输送线的信号  原材料产线库区=>满托缓存库区,空托缓存库区=>原材料产线库区
                //tasks.Add(GetTask(Monitor.CheckS7Devices));
                tasks.Add(GetTask(Monitor.InboundDataSync));
                tasks.Add(GetTask(Monitor.OutboundDataSync));
                Task.WaitAll(tasks.ToArray());
            }