忍者ブログ

設備のマニアどっとこむ

設備、電子工作、DIYのブログ!

11/14

Mon

2016

【NODE js / arduino】簡易監視システムを作る 前編

工場や商業施設など大規模な現場の場合、遠隔・集中監視のため設備員用の監視システムが使用されている。メーカーとしては横河電機やアズビル、富士電機製のものなどがあり、それぞれ自社システムにて構築されているものがほとんどだ。しかしさまざまなものがオープンソース化されている現在、メーカーでなければ構築できない、という時代は過ぎ去るのでないかと考えている。

今回、arduino、NODE js、Javascript等を用いて簡易的な監視システムを作ってみることにした。

まず一般的な監視システムの一例を紹介する。

現場機器からの信号をI/Oカードで受け取り監視サーバとデータのやり取りをする。
そしてクライアントPCから監視サーバへアクセスし監視、操作を実施する。
クライアントPCは通常複数あるのが一般的で、一台壊れても監視そのものには影響がない。


続いて今回構築する簡易の監視システムはこのようになっている。

監視サーバの代わりにPC内でNODEjsを動かす事にした。これによりarduinoとシリアル通信しつつjavascriptを用いてウェブブラウザでやりとりができる。ローカルの機器とはarduinoと接続する。ちなみにOSはウインドウズ10で実施。


手順としてはまず、NODEjsをインストールするところから始める。
http://nodejs.jp/よりダウンロードできる。
下記のようなコマンドプロンプト画面で操作する。

NODE JSはさまざまなモジュールをダウンロードできる機能がある。
シリアル通信などをするための準備段階として下記コマンドでインストールする。

npm install  express
npm install  serialport
npm install  socket.io

続いてJavascriptファイルと監視画面のhtmlファイルを作っていく


ファイル名:index.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var SerialPort = require('serialport');
var serial = new SerialPort('COM3',{   //MACだとポート名が異なる
    baudrate:74880    //alduinoとの通信速度
});
app.get('/',function(req,res){
    res.sendfile('index.htm'); //htmlファイルを呼び出す
});
serial.on('open',function(){
    console.log('open'); //コマンドプロンプトへ出力
});
serial.on('data',function(data){
    io.emit('recvmsg',data.toString());  //温度データ取り込み
});
io.on('connection',function(socket){   //alduinoへ信号出力
    socket.on('sendmsg',function(msg){
console.log('socket.on');
        serial.write(msg,function(err,results){
        });
    });
});
http.listen(3000,function(){ //http://localhost:3000/へ出力
    console.log('listen 3000 port');
});
続いて監視画面となるHTMLの作成

ファイル名:index.htm
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>arduino control</title>
  <style>
   article, aside, dialog, figure, footer, header,
   hgroup, menu, nav, section { display: block; }
  </style>
 </head>
 <body>
 <script>
document.write("temperature");
</script>
<h1>hello</h1>
<br></br>
<button>on</button> 
<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket = io();
$('button').click(function(){
socket.emit('sendmsg','1');//ブラウザのボタンから1を出力
});
socket.on('recvmsg',function(data){
$('h1').text(data);//ブラウザへ温度を出力
});
</script>        
</script>
 </body>
</html>
これで準備はOK、かなり簡単なインターフェースだが、PC側の準備はこれで問題ない。
あとは後編にてarduino IDEのプログラムと回路構成について説明する。

→後編はこちら




拍手[0回]

PR

11/04

Fri

2016

arduinoで自己保持回路をつくる

以前にシーケンス回路の入門編の記事を書きましたが、今回電子回路で自己保持回路を作ってみました。 

盤内のすべて強電の回路で盤を組むと回路の変更ができなかったり、リレーの数が多くなり高額になってしまっています。そのため、制御回路が複雑な場合はシーケンサーをつかったりします。

そのシーケンサーをプログラムの書き込める電子回路モジュールarduinoで代用してみました。


左がarduinoUNOで右がブレッドボードです。

押しボタンスッチ黒、赤の片側をそれぞれデジタル入力7番、8番ピンと10kΩをはさんでGNDへ、スイッチのもう片方をarduinoから出力されている5Vへ接続しています。

プログラムのソースはこちら↓↓

int val = 0;


int val2 = 0;


int state = 0;


int old_val;



void setup() {


pinMode(13,OUTPUT);


pinMode(7,INPUT);


pinMode(8,INPUT);


}


void loop() {


val = digitalRead(7);


val2 = digitalRead(8);


if((val == HIGH)&&(state==0))


{


state = 1 - state ;


}


if((val2 == HIGH)&&(state==1))


{


state = 1 - state ;


}


old_val;


if(state == 1){


digitalWrite(13,HIGH);


}else{


digitalWrite(13,LOW);


}}




黒いボタンを押すと13番ピンへ5Vが出力され続けLEDが点灯します。
OFFにするときは赤のボタンを押します。

これを応用し出力にSSRリレーをつなげれば強電の回路を組み合わせることができます。
例)スマフォで家電を遠隔操作する方法
  自動点滅器について
  音に反応する照明

今回つかったarduino UNOはデジタル入出力が14個しかありませんが、価格が3千円程度と安くプログラミングも比較的簡単なのでウン十万するシーケンサーを使うより賢いかもしれません。
メンテもプログラムミングしたarduino基板を交換すればイイだけなのでメーカーを呼ぶ必要もありません。耐久性は疑問ですがなかなか使えそうです。
まだまだarduinoでいろいろできそうなので今後も紹介していきたいと思います。お楽しみに~

12/15追記
ガチの自己保持回路はこちら






拍手[0回]

10/11

Tue

2016

設備の仕事と残業について

最近、電通社員の過労死事件がきっかけかわからないが労働環境についてSNSなどで盛んに議論が行われている。

残念ながら設備の仕事も激務になりがちな職種である。今回残業のスペシャリスト(?)であるアルティメットがなぜ設備の仕事が忙しくなるのか考えてみた。

1.設備の老朽化
設備関係の仕事でもメンテナンス部署はどうしても業務が多くなってしまう。設備が古くなってくるとトラブルが多くなり、予定外の業務となり残業となる。しかし業務は増えても工場の生産やビルのテナント料は竣工から増えることはなく人件費を捻出できないので増員は難しい。

結局のところ設備のトラブルはいつ、どれくらい起こるか予測が難しく、メンテナンス要員が何人必要かわからないのである。

2.職場の問題
いろいろな現場をみてきたが、設備は同じでも業務がまったく違っていたりする。一番多い原因が「人的トラブルが起こったことによる業務の追加」である。

ミスが起きる→業務が増える→こなせなくてミスが起きる。という負のスパイラル。本当に必要かどうか疑問な書類が大量にあったりしてなぜか無くなることはない。つまり業務が増え続ける現場が世の中にはけっこう存在している。勇気をもって業務を減らすとういうことが必要だ。

3.信じられないほどの法規制
これは声を大にして言いたい。ほとんどの現場でなんらかのコンプライアンス業務があるだろう。電気事業法、消防法、高圧ガス保安法、建築基準法、労働安全衛生法、計量法など多種多様だ。官庁申請業務にはじまり、〇〇取扱い者でないと作業ができないといった規制も多い。

そして緩和することなく規制は増え続けている。これらの事情により、資格をもっている人に業務が集中してしまったり、人事異動がうまくできなかったりと激務になる要因となっている。


 設備の業務で激務になる要因はいろいろあるが、かくいうアルティメットも年間残業1200時間越えや、連続40時間労働など過労死ラインの状況になったこともある。はっきりいって設備の仕事は終わりがないので「どこまでやるか」「どこで妥協するか」が重要だと思う。ただ救いなのは設備はどの現場でも同じなので資格さえあれば職場は変えられるし全国で求人がある。激務から抜けられない人は最悪の状況になる前に環境を変えてみては?とアドバイスさせてもらいたい。






拍手[0回]

09/04

Sun

2016

ひと月エアコンをつけっぱなしにした話

ちょっと更新さぼってました。電験とかエネ管とかいろいろ…。

最近Twitterとかブログでちょいちょいみかけるエアコンの常時運転について試してみました。エアコンをON、OFFを繰り返すより電気代が安くなるという話です。

原理的にエアコンは室内の設定温度を目標に室外機のコンプレッサーが動作するというしくみです。マンションなどの断熱性の高い部屋であれば、常時エアコンを運転していた方がコンプレッサーを動作させる時間が少なくなる…  と納得はできるのですが、いざやってみるのは結構勇気がいりました。

7月は普段通りON、OFFを実施し、8月はずっとつけっぱなしで電気代はこんなかんじです。↓↓

8月のほうが高いですが、7月が30日間に対して8月が32日間の検針になっています。
燃料調整費単価も違うので値段は比較できません。
電力量で比較すると7月は1日あたり12.93KWh、8月は1日あたり13.81KWhです。

まあ、7月と8月の温度差もありますが、微増といったところでしょうか。

感想としては24時間運転しているので外出先から帰ったときや寝るときにとてもすずしく、若干トクした気分です。でも明細が家に来るまでドキドキしていました。エアコンの新旧も関係あるそうなのであくまでも真似するなら自己責任お願いします。


それにしても電気代が倍とかにならなくてよかった笑










拍手[0回]

05/14

Sat

2016

【DIY】音に反応する照明

音に反応する照明を作ってみました。

音に反応するセンサーとSSRリレーは秋月電子通商、ランプシェードはIKEA、電材関係はホームセンターで購入しました。

温度センサーは
PIC12F675使用 音スイッチキット
を使ってます。

①9V電池の入力で音に反応した場合、5Vの出力を出します。
②その信号でSSRリレー D2N202KDを動作させます。
③SSRリレーの2次側を100Vランプ回路に挟み込みます。

これでOKです。



底から見た写真 (ちなみに土台は鉢植えの花を買ったときについてきたカバーです)




物音に反応すると・・・。








                           /ピカッ\

※1月31日追記しました。




拍手[0回]

AD

シェアしてね

プロフィール

HN:
アルティメット雅史
性別:
男性
自己紹介:
製油所、データセンター、化学工場を渡り歩いた設備のマニア
最近はarduinoあたりの電子工作にハマる。
取得資格は電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士一次試験合格(電気・電子)、エネ電合格、フォークリフトほか

カウンター

お問い合わせ

忍者アクセスランキング

Copyright © 設備のマニアどっとこむ : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]