alielie
2026-04-23 ef52fd6fd07508883dce4eb002acda59f0169e59
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
using System;
using System.Collections.Generic;
using System.Net.Sockets;
 
namespace ConnectionUtil
{
    public interface SCADAApi : IDisposable
    {
        /// <summary>
        /// 连接方法
        /// </summary>
        /// <param name="config"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        bool Connect(object config, out string errMsg);
        /// <summary>
        /// IP连接Scada服务器
        /// </summary>
        /// <param name="IP">MES服务器IP</param>
        /// <param name="Port"> MES服务器Port口</param>
        /// <param name="LocalIP">本地连接IP</param>
        /// <param name="LocalPort">本地连接端口</param>
        /// <returns></returns>
        bool Connect(string IP, int Port, string LocalIP, int LocalPort);
 
        /// <summary>
        /// 连接Scada管理服务器
        /// </summary>
        /// <param name="IP"> Scada服务器IP</param>
        /// <param name="Port">ScadPort口</param>
        /// <param name="LocalPort">本地连接端口</param>
        /// <param name="errMsg"></param>
        /// <param name="socket"></param>
        /// <returns></returns>
        bool Connect2(string IP, int Port, int LocalPort, out string errMsg, Socket socket = null);
 
        /// <summary>
        ///  连接Scada管理服务器
        /// </summary>
        /// <param name="IP">ScadaManagerIP</param>
        /// <param name="Port">ScadaManagerPort口</param>
        /// <param name="LocalPort">本地连接端口</param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        bool ConnectManager(string IP, int Port, int LocalPort, out string errMsg);
 
        /// <summary>
        /// 断开服务器连接
        /// </summary>
        void DisConnect();
 
        /// <summary>
        /// 批量写增加参数
        /// </summary>
        /// <param name="id"></param>
        /// <param name="par"></param>
        /// <returns></returns>
        bool DoAddParWriteMultiple(int id, string par);
 
        /// <summary>
        /// 换型
        /// </summary>
        /// <param name="_ProductLineName"></param>
        /// <param name="_ProductName"></param>
        /// <param name="errMsg"></param>
        /// <param name="_WorkStationName"></param>
        /// <returns></returns>
        bool DoDoChangeModel(string _ProductLineName, string _ProductName, out string errMsg, string _WorkStationName = null);
 
        /// <summary>
        /// 批量读值
        /// </summary>
        /// <param name="_Id"></param>
        /// <returns></returns>
        string[,] DoFctReadMultiple(int[] _Id);
 
        /// <summary>
        /// 单一读值
        /// </summary>
        /// <param name="_name"></param>
        /// <param name="result"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        bool DoFctReadSingle(string _name, out string result, out string errMsg);
 
        /// <summary>
        /// 单一写值
        /// </summary>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        bool DoFctWriteMultiple(out string errMsg);
 
        /// <summary>
        /// 写单一值
        /// </summary>
        /// <param name="_name"></param>
        /// <param name="_value"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        bool DoFctWriteSingle(string _name, string _value, out string errMsg);
 
        /// <summary>
        /// mqtt发布消息
        /// </summary>
        /// <param name="topic">主题</param>
        /// <param name="_value">值</param>
        /// <param name="errMsg">错误信息></param>
        /// <returns></returns>
        bool DoMqttPublish(string topic, string _value, out string errMsg);
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="_user"></param>
        /// <param name="_password"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        bool DoLogin(string _user, string _password, out string errMsg);
 
        /// <summary>
        /// 重启DataServer服务器
        /// </summary>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        bool DoReSETDataServer(out string errMsg);
 
        /// <summary>
        ///  获取动态IP
        /// </summary>
        /// <returns></returns>
        string getLocalIP();
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="_paraMPairs"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        short[,] GetLowerComputerStatus(short[] _paraMPairs, out string errMsg);
 
        /// <summary>
        /// 初始化批量写参数
        /// </summary>
        void InitParWriteMultiple();
 
        /// <summary>
        /// 检查与LTSCADA是否断开连接了
        /// </summary>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        bool IsConnected(out string errMsg);
 
        /// <summary>
        /// 批量写
        /// </summary>
        /// <param name="_paraMPairs">参数列表</param>
        /// <param name="errMsg">错误信息</param>
        /// <returns>处理结果</returns>
        bool ToFctWriteMultiple(Dictionary<int, string> _paraMPairs, out string errMsg);
    }
}