using System;
using System.Collections.Generic;
using System.Net.Sockets;
namespace ConnectionUtil
{
public interface SCADAApi : IDisposable
{
///
/// 连接方法
///
///
///
///
bool Connect(object config, out string errMsg);
///
/// IP连接Scada服务器
///
/// MES服务器IP
/// MES服务器Port口
/// 本地连接IP
/// 本地连接端口
///
bool Connect(string IP, int Port, string LocalIP, int LocalPort);
///
/// 连接Scada管理服务器
///
/// Scada服务器IP
/// ScadPort口
/// 本地连接端口
///
///
///
bool Connect2(string IP, int Port, int LocalPort, out string errMsg, Socket socket = null);
///
/// 连接Scada管理服务器
///
/// ScadaManagerIP
/// ScadaManagerPort口
/// 本地连接端口
///
///
bool ConnectManager(string IP, int Port, int LocalPort, out string errMsg);
///
/// 断开服务器连接
///
void DisConnect();
///
/// 批量写增加参数
///
///
///
///
bool DoAddParWriteMultiple(int id, string par);
///
/// 换型
///
///
///
///
///
///
bool DoDoChangeModel(string _ProductLineName, string _ProductName, out string errMsg, string _WorkStationName = null);
///
/// 批量读值
///
///
///
string[,] DoFctReadMultiple(int[] _Id);
///
/// 单一读值
///
///
///
///
///
bool DoFctReadSingle(string _name, out string result, out string errMsg);
///
/// 单一写值
///
///
///
bool DoFctWriteMultiple(out string errMsg);
///
/// 写单一值
///
///
///
///
///
bool DoFctWriteSingle(string _name, string _value, out string errMsg);
///
/// mqtt发布消息
///
/// 主题
/// 值
/// 错误信息>
///
bool DoMqttPublish(string topic, string _value, out string errMsg);
///
///
///
///
///
///
///
bool DoLogin(string _user, string _password, out string errMsg);
///
/// 重启DataServer服务器
///
///
///
bool DoReSETDataServer(out string errMsg);
///
/// 获取动态IP
///
///
string getLocalIP();
///
///
///
///
///
///
short[,] GetLowerComputerStatus(short[] _paraMPairs, out string errMsg);
///
/// 初始化批量写参数
///
void InitParWriteMultiple();
///
/// 检查与LTSCADA是否断开连接了
///
///
///
bool IsConnected(out string errMsg);
///
/// 批量写
///
/// 参数列表
/// 错误信息
/// 处理结果
bool ToFctWriteMultiple(Dictionary _paraMPairs, out string errMsg);
}
}