123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- using System;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Runtime.InteropServices;
- namespace MainForm.ClassFile.XiaomiAPI_RouteCom
- {
- /// <summary>
- /// 小米MES - RouteCommunication.dll调用类
- /// </summary>
- public class XiaomiMES_RouteCommunication
- {
- #region 调用DLL
- /// <summary>
- /// 初始化路由文件配置
- /// </summary>
- /// <param name="isPlatForm">使用时填写0,表示从平台外部读取配置文件</param>
- /// <returns>0表示成功;-1表示失败</returns>
- //[DllImport("RouteCommunication.dll", EntryPoint = "Ex_InitRoute", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
- [DllImport("RouteCommunication.dll", EntryPoint = "Ex_InitRoute", CharSet = CharSet.Ansi)]
- private static extern int Ex_InitRoute(int isPlatForm);
- #region 仅限4个主板SN(用不到)
- /// <summary>
- /// 绑定SN - 仅限4个主板SN(用不到)
- /// </summary>
- /// <param name="PlateSN">载具SN</param>
- /// <param name="BoardSN4">4个主板SN。中间使用’.'分隔,如“111.222.333.444”</param>
- /// <returns>0表示成功,-1表示失败,-2表示重复绑定</returns>
- [DllImport("RouteCommunication.dll", EntryPoint = "EX_BindRouteSnCombine4", CharSet = CharSet.Ansi)]
- private static extern int EX_BindRouteSnCombine4(string PlateSN, string BoardSN4);
- /// <summary>
- /// 查询SN - 仅限4个主板SN(用不到)
- /// </summary>
- /// <param name="PlateSN">载具SN</param>
- /// <param name="BoardSN4">4个主板SN。中间使用’.'分隔,如“111.222.333.444”</param>
- /// <returns>0表示成功,-1表示失败</returns>
- [DllImport("RouteCommunication.dll", EntryPoint = "EX_QueryPlateSN4", CharSet = CharSet.Ansi)]
- //private static extern int EX_QueryPlateSN4(string PlateSN, string* BoardSN4);
- private static extern int EX_QueryPlateSN4(string PlateSN, ref string BoardSN4);
- /// <summary>
- /// 删除SN - 仅限4个主板SN(用不到)
- /// </summary>
- /// <param name="PlateSN">载具SN</param>
- /// <returns>0表示成功;-1表示失败</returns>
- [DllImport("RouteCommunication.dll", EntryPoint = "EX_DeletePlateSN4", CharSet = CharSet.Ansi)]
- private static extern int EX_DeletePlateSN4(string PlateSN);
- #endregion 仅限4个主板SN(用不到)
- /// <summary>
- /// 绑定SN
- /// </summary>
- /// <param name="strPlateSN">载具SN</param>
- /// <param name="flagMsg">标识符</param>
- /// <param name="msg">绑定的信息</param>
- /// <returns>0表示成功;-1表示失败</returns>
- [DllImport("RouteCommunication.dll", EntryPoint = "EX_BindMaterialMsg", CharSet = CharSet.Ansi)]
- private static extern int EX_BindMaterialMsg(string strPlateSN, string flagMsg, string msg);
- /// <summary>
- /// 查询SN
- /// </summary>
- /// <param name="strPlateSN">载具SN</param>
- /// <param name="flagMsg">标识符</param>
- /// <param name="msg">绑定的信息</param>
- /// <returns>0表示成功;-1表示失败</returns>
- [DllImport("RouteCommunication.dll", EntryPoint = "EX_QueryMaterialMsg", CharSet = CharSet.Ansi)]
- //private static extern int EX_QueryMaterialMsg(string strPlateSN, string flagMsg, char* msg);
- private static extern int EX_QueryMaterialMsg(string strPlateSN, string flagMsg, ref string msg);
- /// <summary>
- /// 删除SN
- /// </summary>
- /// <param name="strPlateSN">载具SN</param>
- /// <param name="flagMsg">标识符(暂时可以随意传值)</param>
- /// <returns>0表示成功;-1表示失败</returns>
- [DllImport("RouteCommunication.dll", EntryPoint = "EX_DeleteMaterialMsg", CharSet = CharSet.Ansi)]
- private static extern int EX_DeleteMaterialMsg(string strPlateSN, string flagMsg);
- #endregion 调用DLL
- /// <summary>
- /// 初始化
- /// </summary>
- /// <returns>0表示成功;-1表示失败</returns>
- public static int Init()
- {
- if (!GlobalContext.IsUseMESRoute)
- return 0;
- else
- return Ex_InitRoute(0);
- }
- /// <summary>
- /// SN绑定数据
- /// </summary>
- /// <param name="sn">物料号</param>
- /// <param name="data">要绑定的数据</param>
- /// <returns>0表示成功;-1表示失败</returns>
- public static int SNBindData(string sn, string data)
- {
- if (!GlobalContext.IsUseMESRoute)
- return 0;
- else
- return EX_BindMaterialMsg(sn, sn, data);
- }
- /// <summary>
- /// SN查询数据
- /// </summary>
- /// <param name="sn">物料号</param>
- /// <param name="data">要绑定的数据</param>
- /// <returns>0表示成功;-1表示失败</returns>
- public static int SNQueryData(string sn, ref string data)
- {
- if (!GlobalContext.IsUseMESRoute)
- {
- data = "";
- return 0;
- }
- else
- return EX_QueryMaterialMsg(sn, sn, ref data);
- }
- /// <summary>
- /// SN清空数据
- /// </summary>
- /// <param name="sn">物料号</param>
- /// <returns>0表示成功;-1表示失败</returns>
- public static int SNDeleteData(string sn)
- {
- if (!GlobalContext.IsUseMESRoute)
- return 0;
- else
- return EX_DeleteMaterialMsg(sn, sn);
- }
- }
- }
|