0

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

太感谢了。

4

1 回答 1

0

我认为你应该看看这篇文章...... https://api.jquery.com/jquery.getjson/

您还没有在 IOwebserver.htm 文件中以 JSON 格式返回密钥。

" :="webdata".HMI_skalert: " -> 在这种情况下使用AWP 命令的 JSON 对象的值.. :="Name_of_DataBlock".variable: -> 符号 (:=) 和 (:) 是使用的 AWP 命令的边界在 Simatic 网络服务器中

所以尝试像这样重新制作这个文件:

{
 "HMI_skalert":":='webdata'.HMI_skalert:",
 "Tank1_masse":":='webdata'.Tank1_masse:"
}

如果这不起作用,请尝试将撇号双引号 (") 换成一个 (')。

例如,我使用间隔加载 XML 文件为 Simatic S7-S1200 WebServer 加载 57 个变量。欲了解更多信息联系我..

于 2017-01-03T23:26:15.707 回答