using System;
using System.Collections.Generic;
using SIASUN.Autopilot.Model;

namespace SIASUN.Autopilot.Device
{
    public interface IOpcHelper
    {
        /// <summary>
        /// OPC初始化
        /// </summary>
        void Opc_Init(List<MoBeckhoffNode> mlist);

        /// <summary>
        /// OPC断开连接 
        /// </summary>
        void Opc_disConnect();

        /// <summary>
        /// 添加事件通知
        /// </summary>
        /// <param name="command"></param>
        /// <returns></returns>
        bool Opc_AddNotification(string command);

        /// <summary>
        /// 删除事件通知
        /// </summary>
        /// <returns></returns>
        bool Opc_DelNotification(string command);

        /// <summary>
        /// 向opc发送数据
        /// </summary>
        void SetOpcSend(string nodeName, string value);

        /// <summary>
        /// 从opc接收数据
        /// </summary>
        string GetOpcRecv(string nodeName, out Type _type);

        /// <summary>
        /// 获取opc状态
        /// </summary>
        /// <returns></returns>
        bool OpcConnectState();
    }
}
