springboot与secs例子下载-----> 更多详细资料
这个演示的内容是JAVA集成SECS的工艺管理,假如这个工艺只要求管理两个参数湿度、温度信息。以下内容就具体使用JAVA与SECS通信,指令内容为S7F19 S7F23 S7F25
JAVA开发SECS快速入门资料,SECS S7F19
S7F23是SECS(SEMI Equipment Communications Standard)指令中的一种,其功能在于允许在单台设备与其主机系统之间传输格式化的工艺程序。当需要将编制好的工艺程序在设备与上位机之间进行传递时,这一消息机制便发挥着关键作用。
在S7F23消息执行过程中,MDLN(Manufacturer Data Lot Number,制造商数据批号)和SOFTREV(软件版本号)这两个参数值是从生成该工艺程序所使用的PCD(Process Control Definition,过程控制定义)中获取的。这些参数对于识别和追溯工艺程序的来源以及其所对应的软件版本至关重要。
另外,如果S7F23涉及多块数据(即工艺程序被分割为多个部分进行传输),那么必须先进行S7F1/F2询问/授权交易。这意味着在开始传输多个数据段之前,设备与主机系统间需首先通过S7F1/F2交易完成对传输权限的申请与确认,确保双方能够有序且安全地完成较大数据量的交换。
<div class="col-md-12" style="margin-top: 100px">
<table class="table" id="tablePPID">
<caption>PPID information List</caption>
<thead>
<tr>
<th>PPID</th>
<th>CCODE</th>
<th>相对湿度(%RH)</th>
<th>温度°C</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script>
function
getPPID(){
$.ajax({
type: 'GET',
url: '/S7F19',
data: {
id: 1
},
success: function (res) {
//console.log(res);
jsonArr=JSON.parse(res);
for(let i=0;i<jsonArr.length;i++){
let haveRow=false;
let $table = $('#tablePPID');
// 遍历table的每一行tr
$table.find('tr').each(function(rowIndex, row) {
// 使用原生JavaScript方式获取当前tr下的第一个td元素
var ppid = $(row).find('td').eq(0).text(); // 或者 $(row).children('td')[0]
if(jsonArr[i].PPID==ppid){
$(row).find('td').eq(1).text(jsonArr[i].CCODE);
$(row).find('td').eq(2).text(jsonArr[i].RH);
$(row).find('td').eq(3).text(jsonArr[i].Temp);
haveRow=true;
}
});
if(haveRow==false){
let tablehtml='<tr>'
+'<td>'+jsonArr[i].PPID+'</td>>'
+'<td>'+jsonArr[i].CCODE+'</td>>'
+'<td>'+jsonArr[i].RH+'</td>>'
+'<td>'+jsonArr[i].Temp+'</td>>'
+'</tr>>'
$('#tablePPID').find('tbody').append(tablehtml);
}
}
}
})
}
</script>
//更多java源码请查阅上面连接的源码
@RequestMapping("/S7F19")
@ResponseBody
public String S7F19() throws InterruptedException {
SecsMessage msg = null;
Secs2 secs2=null;
Optional<SecsMessage> reply=null;
String result="";
JSONArray array= JSONArray.parseArray(JSON.toJSONString(SecsBase.ppidList));
return array.toString();
}