доступ к msg.payload в узле uibuilder - красный - msg.payload в графическом режиме не работает - PullRequest
0 голосов
/ 05 марта 2020

В uibuilder в нод-красном я пытаюсь построить мой msg.payload, используя библиотеку plotly. Я использую scope.$watch для доступа к своему msg.payload внутри скрипта, но он не работает. У меня нет никакого сюжета на моем экране. Использую ли я хороший метод для доступа к моему msg.payload внутри моего <script></script>, а затем передаю его в мой html код?

в моей функции getData() я должен (хотел бы) получить msg.payload, которая фактически является значением из ячейки датчика. Затем это значение должно быть введено в диаграмму для построения в реальном времени значений ячеек датчика ... Собственно, с моим кодом я не получаю никакого значения в своей диаграмме ...

Я импортировал библиотеку plotly выше моего кода

<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>


 <div class="navbar"><span>Real-Time Chart with Plotly.js</span></div>
    <div class="wrapper">
        <div id="chart"></div>
        <script>

            (function(scope) {
                scope.$watch('msg', function(msg) {
                    getData(msg.payload);
            });

            function getData(d) {
                return d;
            }  
            Plotly.plot('chart',[{
                y:[getData()],
                type:'line'
            }]);

            var cnt = 0;
            setInterval(function(){
                Plotly.extendTraces('chart',{ y:[[getData()]]}, [0]);
                cnt++;
                if(cnt > 500) {
                    Plotly.relayout('chart',{
                        xaxis: {
                            range: [cnt-500,cnt]
                        }
                    });
                }
            },15);
            })(scope);
        </script>
...