kazelee
2 天以前 6d2faa6e299bdfe545ee339269e64f2900229147
Program.cs
@@ -3,16 +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] // SNAP 注释该行保留其他行后,程序正常运行
        static void Main(string[] args)
        {
            //基础设置信息初始化
@@ -20,11 +23,14 @@
            //1.0 开启api
            Startup();
            //2.0 开启tcp
            StartTcp();
            //StartTcp();
            //3.0 开启S7
            StartS7();
            //StartS7();
            //4.0 开启Modbus
            StartModbus();
            //StartModbus();
            //开启相机
            StartSnap();
            //5.0 开启线程
            var rc = HostFactory.Run(x =>
@@ -55,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))
                {
@@ -70,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);
        }
@@ -90,18 +96,6 @@
            //    {
            //        new S7Helper(item.ProductionLine_IP, (short)item.ProductionLine_Rack, (short)item.ProductionLine_Slot);
            //        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);
            //    }
            //}
        }
@@ -122,19 +116,21 @@
            //}
        }
        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(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());
            }