我正在使用带有集成网络服务器的西门子S7-1200 PLC。 我想使用javascript在网页中显示来自PLC的多个模拟值。使用一个标记可以很好地工作,但如何使用JSON结构添加和显示多个标记?
我做了以下事情: - 使用建议的代码更新了javascript - 更新了脚本从
读取的htm文件但我不知道我是否做得对,我该如何打电话 对于不同的变量。
这就是我想要显示数据的表格:
<table>
<tr>
<td class="static_field">Nivå [m]:</td>
<td class="output_field"><label id="HMI_skalert">0</label></td>
</tr>
<tr>
<td class="static_field">Masse [tonn]:</td>
<td class="output_field"><label id="Tank1_masse">0</label></td>
</tr>
</table>
SCRIPT:
<script type="text/Javascript">
$(document).ready(function(){
$.ajaxSetup({ cache: false });
setInterval(function() {
$.getJSON("IOwebserver.htm", function(result){
HMI_skalert= result.HMI_skalert
Tank1_masse=result.Tank1_masse
});
},1000);
});
</script>
文件: IOwebserver.htm
{
":="webdata".HMI_skalert:",
":="webdata".Tank1_masse:"
}
非常感谢你。
答案 0 :(得分:0)
我认为你应该看一下这篇文章...... https://api.jquery.com/jquery.getjson/
您在IOwebserver.htm文件中没有JSON中的返回键。
“:=”webdata“.HMI_skalert:” - &gt;在这种情况下使用 AWP命令的JSON对象的值.. :=“Name_of_DataBlock”。变量: - &gt;符号(:=)和(:)是Simatic WebServer中使用的AWP命令的边界
所以尝试像这样重新制作这个文件:
{
"HMI_skalert":":='webdata'.HMI_skalert:",
"Tank1_masse":":='webdata'.Tank1_masse:"
}
如果这不起作用,请尝试将撇号dobule引号(“)换成一个(')。
例如,我使用间隔加载XML文件为Simatic S7-S1200 WebServer加载57个变量。有关更多信息,请与我联系..