返信先: 射出成形機ロボットにIoT機能を搭載したい

プラスチックファン フォーラム 射出成形ロボ企画 射出成形機ロボットにIoT機能を搭載したい 返信先: 射出成形機ロボットにIoT機能を搭載したい

nori@kisyubitonori@kisyubito
参加者
#8476
3

こんにちは 前回の予告とうり グラフの作成の説明をしたいと思います
スプレッドシートに「グラフ」のシートを作ります
概要としてプラファンロボから送られてきた データーを保存する「log」のシートから
データーを読み取って 直近 72行分を グラフ表示します
72行は 1時間=60分 ÷ 5分 = 12行  12行X6時間 = 72行となります

以下が GASのコードになります
1回実行すると 「グラフ」のシートにアクセスするたびに 「log」シートからデーターを読んできて
グラフの更新がかかるようになります
スマホなどから このシートを 読み込むだけでも 現在の状況がわかりますが 次は WEBページを
作って もう少し見やすくしてみようと思います

function createChart() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var logSheet = spreadsheet.getSheetByName(“log”);
var graphSheet = spreadsheet.getSheetByName(“グラフ”);

// 既存のグラフを削除
var charts = graphSheet.getCharts();
for (var i = 0; i < charts.length; i++) {
graphSheet.removeChart(charts[i]);
}

// ログシートの最終行を取得
var lastRow = logSheet.getLastRow();

// グラフのデータ範囲を設定(最終行から上方向に72行分=6時間、または最大行数まで)
var startRow = Math.max(1, lastRow – 72); // 最小値を1とする
var endRow = lastRow;

var range = logSheet.getRange(startRow, 1, endRow – startRow + 1, logSheet.getLastColumn());

// グラフを作成する前にデータを四捨五入
var data = range.getValues();
for (var i = 0; i < data.length; i++) {
data[i][1] = Math.round(data[i][1] * 10) / 10; // 温度データ
data[i][2] = Math.round(data[i][2] * 10) / 10; // 湿度データ
}
range.setValues(data);

// グラフを作成
var chart = graphSheet.newChart()
.setChartType(Charts.ChartType.LINE)
.addRange(range)
.setPosition(2, 2, 0, 0)
.setOption(‘title’, ‘作業エリア’)
.setOption(‘hAxis.title’, ‘時間’)
.setOption(‘vAxis.title’, ‘値’)
.setOption(‘series.0’, {labelInLegend: ‘温度’})
.setOption(‘series.1’, {labelInLegend: ‘湿度’})
.build();

// シートにグラフを追加
graphSheet.insertChart(chart);
}

  • この記事を書いた人
  • 最新記事
  • 最新フォト
nori@kisyubito

nori@kisyubito

電機機器メーカーの成形部門に所属 主に自社製品の成形部品の新規立ち上げ、量産を担当                        Twitter ID @NoRITEC 個人的にプロダクトを企画製作し現業にも実装しています                                                   

0

Copyright© Plastic Fan , 2023 All Rights Reserved Powered by AFFINGER5.