在Siemens s7 webserver

时间:2016-12-19 12:48:00

标签: javascript html json

我正在使用带有集成网络服务器的西门子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:"
}

非常感谢你。

1 个答案:

答案 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个变量。有关更多信息,请与我联系..