222
schangxiang@126.com
2025-09-24 68941a04cb2320daa22ba0d5ac79a4447c29998d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
using HslCommunication.Profinet.Siemens;
using iWare_SCADA_BusinessLogical.BLL;
using iWare_SCADA_BusinessLogical.Utils;
using iWare_SCADA_Model;
using Newtonsoft.Json.Linq;
using Spire.Pdf.HtmlConverter;
using System;
using System.Collections.Generic;
using System.Data.Entity.Core.Common.CommandTrees;
using System.Data.Entity.Validation;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
 
namespace iWare_SCADA_BusinessLogical
{
    /// <summary>
    /// 测试内容
    /// </summary>
    public class MyTest
    {
        public static readonly MyTest Instance = new MyTest();
 
        string WorkingProcedure = "";
        public MyTest()
        {
        }
 
 
 
        public void DataCaptureStart()
        {
            DataCaptureConfig _dataCaptureConfig = new DataCaptureConfig()
            {
                DataCapturePLCType = (int)SiemensPLCS.S1200,
                PLCIP = "192.168.216.5",
                PLCPort = 102,
 
                DbNumber = "1141",
                Offset = "746.0",
                DataCaptureColumnType = "string"
            };
            var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig);
            if (plcService == null)
            {
                SystemValue.lbl_Alert_HMIBeartBeatMonitor = $"{RandomHelper.GenerateRandomCode(4)} 没有找到{_dataCaptureConfig.WorkingProcedure}的PLC设备";
                return;
            }
            if (plcService != null && !plcService.IsConnected)
            {
                plcService.Close();
                plcService.OpenService();
            }
 
            var str = $"读取OP35上线二维码";
            var str2 = $"读取OP35下线二维码";
 
            Dictionary<bool, DateTime> beartBeatDic = new Dictionary<bool, DateTime>();
            beartBeatDic.Add(false, DateTime.Now);
            bool BeartBeatMonitorflag = true;
            while (true)
            {
 
                try
                {
 
 
                    //_dataCaptureConfig
                    if (plcService == null || !plcService.IsConnected)
                    {
                        SystemValue.lbl_Alert_HMIBeartBeatMonitor = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC连接已断开,正在尝试打开!";
                        plcService.Close();
                        plcService.OpenService();
                        Thread.Sleep(100);
 
                        continue;
                    }
                    else
                    {
                        try
                        {//获取设备plc的心跳
 
                            var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset,
                                PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
                            Log4NetHelper.WriteInfoLog(LogType.FormMain, str + $",值:{value}");
 
                            var value2 = plcService.ReadValuePoint("4", "920.0",
                               PLCManger.GetTypeForString("string"));
                            Log4NetHelper.WriteInfoLog(LogType.FormMain, str2 + $",值:{value2}");
 
                            var str3 = $"读取OP35 SPC二维码";
                            var value3 = plcService.ReadValuePoint("4", "716.0",
                            PLCManger.GetTypeForString("string"));
                            Log4NetHelper.WriteInfoLog(LogType.FormMain, str3 + $",值:{value3}");
 
 
                            var str4 = $"读取OP35 OP3502A测量二维码";
                            var value4 = plcService.ReadValuePoint("2901", "514.0",
                            PLCManger.GetTypeForString("string"));
                            Log4NetHelper.WriteInfoLog(LogType.FormMain, str4 + $",值:{value4}");
 
 
                            var str5 = $"读取OP35 NOOK推出二维码";
                            var value5 = plcService.ReadValuePoint("4", "818",
                            PLCManger.GetTypeForString("string"));
                            Log4NetHelper.WriteInfoLog(LogType.FormMain, str5 + $",值:{value5}");
 
                        }
                        catch (Exception ex)
                        {
                            Log4NetHelper.WriteErrorLog(LogType.FormMain, str + $",读取异常1:", ex);
                        }
 
                    }
 
                }
                catch (Exception ex)
                {
 
                    Log4NetHelper.WriteErrorLog(LogType.FormMain, str + $",异常:", ex);
                }
                finally
                {
                    Thread.Sleep(1000);
                }
            }
        }
 
 
 
    }
}