8. 生データを符号ありに変換したい

8.1. 完了イメージ

符号なしの生データを符号ありに変換できます

../../_images/unsignedToSigned_goal.png



8.2. 手順1

メニューバーをクリック

../../_images/unsignedToSigned_01.png


8.3. 手順2

「Flow Editor」をクリック

../../_images/unsignedToSigned_02.png


8.4. 手順3

「フロー2」タブをクリック

../../_images/unsignedToSigned_03.png


8.5. 手順4

functionノードを新規作成

../../_images/unsignedToSigned_04.png


8.6. 手順5

新規作成したfunctionノードをダブルクリック

../../_images/unsignedToSigned_05.png


8.7. 手順6

コード欄の「return msg;」を削除

../../_images/unsignedToSigned_06.png


8.8. 手順7

以下のJavaScriptコードをコピーし、コード欄にペースト

//表示データ選択時
if(msg.payload.length != 0) {
    msg.payload[0].series.forEach((seriesName, i) =>{
        //変換する系列の系列名は?
        if(seriesName == "系列名"){
            let tmp = msg.payload[0].data[i].map(elem => {
                let y = elem.y;

                //符号ありに変換
                if (y > 32767) {
                    y = y - 65536;
                }

                return {x:elem.x, y};
            });
            msg.payload[0].data[i] = tmp;
        }
    });
//表示データ未選択時
}else{
    //何もしない
}

return msg;

注釈

符号ありに変換したい系列が複数あるとき、下記のように、「|| series == "系列名"」を増やしていけば良いです。

//表示データ選択時
if(msg.payload.length != 0) {
    msg.payload[0].series.forEach((seriesName, i) =>{
        //変換する系列の系列名は?
        if (seriesName == "系列名1" || seriesName == "系列名2" || seriesName == "系列名3") {
            let tmp = msg.payload[0].data[i].map(elem => {
                let y = elem.y;

                //符号ありに変換
                if (y > 32767) {
                    y = y - 65536;
                }

                return {x:elem.x, y};
            });
            msg.payload[0].data[i] = tmp;
        }
    });
//表示データ未選択時
}else{
    //何もしない
}

return msg;


8.9. 手順8

コード5行目の「系列名」に、変換したいデータのプルダウン項目名、または凡例名を入力

../../_images/unsignedToSigned_08.png


8.10. 手順9

「完了」をクリック

../../_images/unsignedToSigned_09.png


8.11. 手順10

編集したfunctionノードを、下図の通りに配置

../../_images/unsignedToSigned_10.png


8.12. 手順11

このままだと一番上のグラフだけ値が変換されるので、残りのchartノードの前にも追加

注釈

ノードを複製するには

  1. Ctrlキーを押しながら、Cキーを押してノードをコピーし

  2. Ctrlキーを押しながら、Vキーを押して貼り付け

します。

../../_images/unsignedToSigned_11.png


8.13. 手順12

「デプロイ」をクリック

../../_images/unsignedToSigned_12.png