ke_junjie
2025-06-04 84620534eb627e95811b971a4b552b6a177829bf
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
 
using iWareModel;
using System.Collections.Generic;
using System.ServiceModel;
 
namespace iWareSda
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“ISrmService”。
    [ServiceContract, XmlSerializerFormat(Style = OperationFormatStyle.Rpc)]
    public interface ISrmService
    {
        /// <summary>
        /// 获取SrmEntity实体集合
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        List<SrmEntity> GetSrm_CacheEntity();
 
        /// <summary>
        /// 获取堆垛机实时数据
        /// </summary>
        /// <param name="srmId"></param>
        /// <returns></returns>
        [OperationContract]
        SrmView GetSrmInfo(int srmId);
 
        /// <summary>
        /// 发送堆垛机任务
        /// </summary>
        /// <param name="srmId"></param>
        /// <param name="taskId"></param>
        /// <param name="sourcePlace"></param>
        /// <param name="toPlace"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity SendSrmTask(int srmId, int taskId, string sourcePlace, string toPlace, short command, short pallettype);
 
        /// <summary>
        /// 堆垛机解警
        /// </summary>
        /// <param name="srmId"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity ReleaseAlert(int srmId);
 
        /// <summary>
        /// 堆垛机继续任务
        /// </summary>
        /// <param name="srmId"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity ContinueTask(int srmId);
 
 
 
        /// <summary>
        /// 堆垛机急停
        /// </summary>
        /// <param name="srmId"></param>
        [OperationContract]
        SdaResEntity SendEStop(int srmId);
 
        /// <summary>
        /// 堆垛机删除任务
        /// </summary>
        [OperationContract]
        SdaResEntity SendSrmDelete(int srmId);
 
 
        /// <summary>
        /// 堆垛机是否就绪
        /// </summary>
        /// <param name="srmId"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity IsReady(int srmId, out string msg);
 
        /// <summary>
        /// 判断堆垛机是否可用,是否可以发送新任务给堆垛机
        /// </summary>
        /// <param name="srmId"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity IsAllowSendTask(int srmId, out string msg);
 
        /// <summary>
        /// 任务完成信号的确认反馈
        /// </summary>
        /// <param name="srmId"></param>
        /// <param name="taskId"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity ConfirmTaskFinish(int srmId, int taskId);
 
        /// <summary>
        /// 任务是否完成
        /// </summary>
        /// <param name="srmId"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity IsTaskFinish(int srmId, int taskId);
 
 
        /// <summary>
        /// 是否允许给堆垛机发送新任务
        /// </summary>
        /// <param name="srmId"></param>
        /// <param name="taskId"></param>
        /// <returns>true:允许,false:不允许</returns>
        [OperationContract]
        SdaResEntity IsAllowSendNewTaskToSrm(int srmId);
 
 
        /// <summary>
        /// 判断是否有心跳
        /// </summary>
        /// <param name="deviceId"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity IsHaveHeatBeat(int deviceId);
 
        /// <summary>
        /// 堆垛机是否满足下发任务的要求
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity IsAllowIssueTask(int deviceId);
 
 
        /// <summary>
        /// 写入STB
        /// </summary>
        /// <param name="deviceId"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity WriteStb(int deviceId, int value);
 
        /// <summary>
        /// 写入AckTaskFinish
        /// </summary>
        /// <param name="deviceId"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        [OperationContract]
        SdaResEntity WriteAckTaskFinish(int deviceId, int value);
    }
}