using CSZTM; using GTN; using Rs.Motion.Base; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Net.NetworkInformation; using System.Text; using System.Threading.Tasks; namespace Rs.Motion.GugaoEcat { public class ZtmCardManager : ICardManager { Dictionary mcDic = new Dictionary(); /// /// 执行底层接口的返回值 /// private short apiResult = 0; private short mc0 = -1; private short mc1 = -1; /// /// 保存一共有多少张卡 /// Dictionary cardDic= new Dictionary(); private ZtmCardManager() { } private static ZtmCardManager instance; public static ZtmCardManager Instance { get { if(instance==null) { instance = new ZtmCardManager(); } return instance; } } /// /// 同一类卡统一初始化 /// /// public override ErrorCode Init() { //string ip1 = "192.168.100.2"; //string ip2 = "192.168.100.1"; //apiResult = ZTM.ZT_Open(ip1.ToCharArray(), ref mc0, 2000); //if (apiResult != 0) //{ // return ErrorCode.CardInitFail; //} //apiResult = ZTM.ZT_GetConnectionStatus(ip1.ToCharArray(), ref mc0); //if (1 != apiResult) //{ // return ErrorCode.CardInitFail; //} //mcDic.Add(0, mc0); //apiResult = ZTM.ZT_Open(ip2.ToCharArray(), ref mc1, 2000); //if (apiResult != 0) //{ // return ErrorCode.CardInitFail; //} //apiResult = ZTM.ZT_GetConnectionStatus(ip2.ToCharArray(), ref mc0); //if (1 != apiResult) //{ // return ErrorCode.CardInitFail; //} //mcDic.Add(1, mc1); IsInitialized = true; return ErrorCode.Ok; } public ICard GetCard(short cardID) { if(cardDic.ContainsKey((ushort)cardID)) return cardDic[(ushort)cardID]; ICard card = new ZtmCard((ushort)cardID, (ushort)mcDic[cardID], 10, $"ztm{cardID}.xml"); card.Init(); cardDic.Add((ushort)cardID, card); return card; } } }