SECS/GEM是SEMI中的半导体设备通信标准框架
通常来讲,SECS/GEM标准定义了信息、状态机和情境,设备与工厂选择性的实现,来让工厂软件可以控制并监视制造设备。spa
GEM 接口接口
GEM 工厂自动化提供了框架,从远程主机监控和控制设备。容许来自不一样供应商的设
备在制造工厂中自动化。
GEM 标准定义了一组基本的 GEM 要求和一组额外的 GEM 功能。 GEM 要求每一个 GEM
界面中都包含特定元素。 可是,它鼓励每一个接口都具备独特的机器特定元素。事件
在使用SECS/GEM标准的工厂内部,存在主机和设备这二者。由设备方实施和遵照SEMI标准的运行软件。制造商(工厂)构建与设备接口创建通信的主机软件,进而实现工厂对设备的控制。element
主机选择性实现通信标准,由于它只设定设备的预期行为。若是要使用接口与功能,主机与设备必须实现具体、清晰功能与行为。get
SECS/GEM SEMI链接性标准定义了主机和设备开始创建通信的方式,而且还定义了当通信中断时从新创建通信的方式。在线识别方法负责验证设备的硬件和软件标识。终端服务功能容许主机操做员和设备操做员在控制台上交换手动输入的文本。cmd
SECS/GEM SEMI链接性标准归纳了主机与设备操做员之间的合做等级的控制状态模型。设备提供三种基本的主机控制等级:离线,在线/本地,以及在线/远程,肯定了主机控制和监控设备的能力。设备操做员设定主机控制的等级。远程控制功能容许主机发送诸如“启动”、“中止”、“暂停”、“继续”和“中断”这样的指令,用以控制设备的工做过程。string
收集事件和警报功能使主机能监控设备的运做状况。设备收集事件功能会将重要的正常活动和异常活动通知主机。当潜在的危险活动出现并随后被清除时,设备警报功能会通知主机。主机设定哪些收集事件和警报须要通知。SECS/GEM链接性标准要求特定的事件必须有通知,但通常会给设备定义额外的事件,以便主机监控具体设备相关的活动。it
主机能够将 设备 配置为在某种状态 时自动在报告中发送 数据 。 这种强大的数据收集方法能够收集更多数据 。自动化
处理程序管理提供了在主机和设备之间传输处理 程序的方法。主机还能够查询可用的过程程序列表并删除过程程序。
GEM容许主机 用来控制和配置机器。
每一个GEM 接口定义一组远程命令。机器也能够实现自定义命令。
每一个GEM 接口定义一组 GEM 所需的常量。设备常量能够配置设备软件和硬件的行为。
// 报警设置
public void AlarmSet(int ALID, bool bSet)
{
// eq_alarm_set, ALID, set
string cmd = "";
CListOperate.listAppend(ref cmd, ALID.ToString(), bSet ? "1" : "0");
m_pImpl.toolCmd(cmd);
}
// 报警获取列表
public List<AlarmInfo> AlarmGetList()
{
// eq_alarm_get_list
// ALID, ALTX, Enable, Set
string cmd = "";
RcResult reply;
reply = m_pImpl.toolCmdReply(cmd);
// 解析
List<AlarmInfo> listInfo = new List<AlarmInfo>();
if (reply.rc == 0 && reply.result != null)
{
string[] listAlarm = null;
string[] element = null;
CListOperate.listSplit(reply.result, ref listAlarm);
for (int i = 0; i < listAlarm.Length; i++ ) { CListOperate.listSplit(listAlarm[i], ref element); if (element != null && element.Length > 3) { AlarmInfo info = new AlarmInfo(); info.ALID = element[0]; info.ALTX = element[1]; info.bEnable = element[2]=="1"?true:false; info.bSet = element[3] == "1" ? true : false; listInfo.Add(info); } } } return listInfo; }