追記

一往確認日記


2017年05月20日 [長年日記]

_ LadderDriveでPLCデバイスの読み書きがものすごく簡単になりました。

Escalatorというのは、各種PLCがメーカーや機種毎にプロジェクトデータが異なるため互換性がなく、移植するのが大変なのを解決しようとして進めてましたが、本来の目的での進行は一時停止状態です。

LadderDrive

代わりに、PLCデバイスの読み書きツールとして充実してきました。

前回のLadder Driveでデバイスの読み書き
ではRuby言語で下の様にプログラムを書いてデバイスにアクセスしていました。

require 'ladder_drive'

@protocol = LadderDrive::Protocol::Mitsubishi::McProtocol.new host:"192.168.0.10"

puts @protocol.get_bit_from_device("M1000")

@protocol.get_bit_from_deviceなんて長ったらしいので、後になるとメソッド名を忘れてしまってなんだっけとなってしまうことは明白です。

実はこれを書きながらアイディアが浮かんでいました。
それから2ヶ月以上経ってようやく実装しました。

PLCに接続するまでは変わりなく、三菱電機製のPLCにMCプロトコルで接続する場合は、IPアドレスを指定し下の様になります。(ここまでは一緒ですね)

require 'ladder_drive'

plc = LadderDrive::Protocol::Mitsubishi::McProtocol.new host:"192.168.0.10"

ここからが本題です。
ladder_drive バージョン 0.4.0 からはデバイスにアクセスするのに配列の様にアクセスできます。
配列だと添え字を使いますが、デバイス名で指定します。*1

この様に直感的でわかりやすくなっています。

plc["D0"] = 123

ブロック転送も簡単です。
例えば0クリアーしたい場合(ラダーだとFMOVなどを使用するシーン)は下の様にかけます。

plc["D0", 10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

D0から10個に0を埋めています。

rubyは配列の掛け算で同じ値を繰り返し追加できるので、10000個になっても楽勝です。
Dメモリーを全部0クリアーさせるということも楽勝です。*2

n = 10000
plc["D0", n] = [0] * n

実際は一度に送信できる個数が決まっていますが、内部でせっせと小分けにして繰り返し通信してますので、読み込み際に分割の事は全く気にする必要がありません。

1分毎にログデータを取る場合はこんな感じです。

loop do
  puts plc["D0", 10]
  sleep 60
end

これを書いていたら飛び飛びのデバイスも下の様に指定できたら、結果を配列としていっぺんに取得できて便利じゃないかと思い始めました。
近いうちに試してみたいと思います。

puts plc["D0", "D2", "M100", "L10"]

現在はEthernet接続のMC Protocolとキーエンスの上位リンクでの接続に対応しています。

*1 そういう意味ではHashの方が近いですかね?

*2 PLCのツール使っちゃう場合が多いと思いますが、テストの用途の場合は強力な武器になります。


2017年05月11日 [長年日記]

_ bonoboが終了するようです。

以前 Movie NEX でBD、DVDを購入するとデジタル配信も視聴できる事を書きました。

デジタル配信の配信元が3つあり、その時 bonoboを選んだのですが 6月いっぱいで終了するそうです。

“直営型”映像配信「bonobo」が約1年9カ月で終了。ひかりTVで継続視聴も

bonoboのサービスは東映が行なっていたようです。

「bonobo(ボノボ)」サービス終了に関するお知らせ

ローグ・ワン/スター・ウォーズ・ストーリー MovieNEX(初回限定版) [ブルーレイ+DVD+デジタルコピー(クラウド対応)+MovieNEXワールド] [Blu-ray]

が来てデジタル配信を登録しようとした時に、配信元に以前あった bonobo がなくなっていたのに納得です。

bonobo でのコンテンツは ひかりTV に引き継がれるようですが、MovieNEX Clubで Google Play か niconico を選び直せるようですので、niconico にして以前のコンテンツも観れるようになりました。

bonoboの時は観れていた特典の映像は今の所確認できていない(やりかたがわからないだけ?)のでそれが観れないようなら残念です。


2017年05月08日 [長年日記]

_ スウガクって、なんの役に立ちますか?: ヘタな字も方向オンチもなおる!数学は最強の問題解決ツール(杉原 厚吉)

なかなかダイアリーを書く時間が取れず前回からほぼ1ヶ月経ってしまいました。
今後も宜しくお願いします。

昨日から読み始めた本です。

スウガクって、なんの役に立ちますか?: ヘタな字も方向オンチもなおる!数学は最強の問題解決ツール(杉原 厚吉)

数学は好きな方ですが、限られたことにしか使っていないのでこんなところに使えるんだと面白く読んでます。

席順を決めるときに、この人とこの人は隣同士にできない、逆に隣にしなければならないというのをどう組んでいくかということなど様々な事柄で数学が生かせるということが書かれています。

適度なお湯の温度を作り出す方法とか、きちんと分量を量らない人には面倒で役立ちそうにないのですが、コーヒーを淹れるのにも分量をきちんと量っている人にはヒントになると思います。
自分は量るタイプなんです。

タニタ デジタルクッキングスケール 1kg ホワイト KD-187-WH


2017年04月07日 [長年日記]

_ ParallelsでWindows 10 ビルド 10240 からのアップグレードが失敗

というのをQiitaに書きました。

ParallelsでWindows 10 ビルド 10240 からのアップグレードが失敗

ParallelsでしばらくWindows 10のアップグレードが失敗していて、ようやくクリーンインストールができたのでその事を書きました。
色々やってそのままのアップグレードが無理ではないかという結論に達し、クリーンインストールしたのですが、そもそもクリーンインストールの仕方が分からず放置していました。
この度本腰を入れて取り組んで、ようやくクリーンインストールの仕方が分かったので書きました。

同じ様な症状で困っている方(海外では困ってそうな方が結構いそうなんですが)の参考になれば幸いです。

iQ-Worksやら何やらを今後インストールして元に戻していかないといけないです。

irBoard発売2周年記念キャンペーンが終了しました。

irBoard発売2周年記念キャンペーンが終了して1週間近くになりそうですが、こちらでなかなか触れられずすみませんでした。
期間中問い合わせや購入いただいた皆様ありがとうございました。
今後もirBoardを宜しくお願いします。


2017年03月30日 [長年日記]

_ TODOをMarkdownで(3) - HackMDで (完結編)

TODOをMarkdownで(2)を書いてから半年以上経ってしまいました。

Markdownでは箇条書きなど書きやすく、ホワイトボードに書く様に今日やることや重要なことを書いて、日々書き換えていくということでした。
しかし、書き換えていくので以前書いていた内容が残らないのが問題となっていました。

これをバージョン管理ツールを利用して自動的に差分を記録するようにし後で確認できる様にしていました。
これを説明しようと考えていましたが、ソフトウェアに関わっていない人にバージョン管理ツールの説明をしてもピンとこないのではないかと思い書かずじまいになっていました。

先日Markdownで共同編集ができる MacMD というサービスを見つけました。

HackMD

Markdownのみならずグラフやフローチャートなどまで書けてしまう優れものです。
こちらでMarkdownの書き方からできることが説明されています。
機能紹介 - HackMD

さらに履歴機能があり、バージョン管理ツールを使用して実現していたことが最初から実装されてます。
上の機能紹介の履歴を見てみると下の様になっていて、修正された内容が見れる様になっています。

https://gyazo.com/dff31c089be33f3138f70ac963e97343

ということで、HackMDを利用すればやりたかったことが実現できてしまうということでした。

ちょっとタイトルとカバーに惹かれて買ってしまいました。

マークダウンでテキストから電子書籍を作ろう(柏原基規)

ドキュメントがなかなか充実せず申し訳ないと思っているのですが…
MarkdownからePubで提供できるということで試してみたいと思います。


2017年03月29日 [長年日記]

_ LEADERS II に胸熱

irBoard発売2周年記念キャンペーンは間もなく終了となります。
この機会をぜひご利用ください。

iPhone/iPadアプリ値下げ情報というサイトで、価格の変動を記録してくれています。

以下、キャンペーン中の変動のスクリーンショットです。



ちゃんと割引しているでしょう!という証拠として貼っておきます。
31日までですが、基準となる時間帯の都合もあり31日を過ぎても割引になっている場合もあるかもしれませんので、AppStoreにて価格を確認してみてください。

さて、LEADERS II ですが TBSで放映されたスペシャルドラマです。

LEADERS Ⅱ|TBSテレビ

LEADERS II、LEADERS 2、リーダーズII、リーダーズ2と表記が統一されてなくてぶれぶれです。

それはさておき、このドラマのことはメルマガで知ったのですが、トヨタをモデルにしたドラマです。
秋田ではTBSの放送はないのですが、昨今はありがたいことにインターネットで見逃し配信をしていますので後追いでみました。
4/2まで配信していますので、興味のある方はぜひご覧ください。

http://www.tbs.co.jp/muryou-douga/LEADERS2017/001.html

ものづくりへの情熱とそれを支える人々がとても素晴らしいものでした。
大泉洋演じる菊間武二郎にはここぞという時に泣かされてしまいました。
倒産の危機を乗り越えて今のトヨタがあると思うと何があっても頑張らないとなーと思います。

DVD化になるということで調べると前作もあるんですね。
そちらも観てみたいです。

LEADERS リーダーズ [DVD]
LEADERS II リーダーズ II [DVD]


2017年03月22日 [長年日記]

_ 新しいiPadがでましたね

昨日新しいiPadがAppleのサイトに掲載されました。
今回はマイナーアップデートの様です。

9.7インチiPad - Apple(日本)

iPadは32GBモデルから選べる様になっていますが、今まで出ていた小型のiPad mini 4は128GBモデルのみで、iPadの方が安く購入できますね。

irBoardには32GBモデルで十分ですから37,800円(税別)の方でも大丈夫です。

irBoard発売2周年記念キャンペーンはもう一週間ちょいありますので、併せてご検討ください。


2017年03月17日 [長年日記]

_ HANJO HANJO に irBoardの事が掲載されてました。

irBoardのページアクセスが最近グンと伸びた日がありました。
ちょうど割引の日と重なっていたので、みなさんお目が高いと思っていました。
ところが、そうではなかった様です。

以前、irBoardが中堅・中小製造業向けIoTツールとして選ばれたことをお伝えしました。

そのツールの事例や中小企業がIoTツールを導入する意義などについて、

【IoTツール最新事情:後編】中小経営者が今一番使いたいツール

という記事が出ていました。
なんと、その中で irBoard も少し紹介していただいておりました。
そのリンクを辿ってご覧いただいたのではないかと思い、ありがたいことです。

irBoard発売2周年記念キャンペーンはあと2週間残っていますので、是非ともこの期間にご検討ください。

記事は前編もありましたので併せてご覧ください。

じつはフォト手裏剣というアプリも中堅・中小製造業向けIoTツールとして選んでいただいたのですが、最新のOSに対応していないという事でApp Storeから姿を消してしまっています。
ご検討されている方には大変申し訳ありません。

現在更新作業中で、近いうちにリリースできる様に取り組んでいます。
それまでご迷惑をおかけしますが、今しばらくお待ちください。


2017年03月07日 [長年日記]

_ Ladder Driveでデバイスの読み書き

PLCのテストについてです。

この間 Escalator 改 Ladder Drive でPLCのテストというような事を書きました。

Ladder DriveはPLCのデバイスの読み書きができます。
この機能を利用してテストをしようという試みです。

Ladder Drive gemをインストール済みとして進めます。
まだの場合はこちらを参考にインストールしてください。

下のRubyプログラムで三菱電機製のPLCとMC Prortocolで接続しbitデバイスの読み込みができます。

read.rb:

require 'ladder_drive'

@protocol = LadderDrive::Protocol::Mitsubishi::McProtocol.new host:"192.168.0.10"

m1000 = @protocol.get_bit_from_device("M1000")

puts "M1000: #{m1000}"

1行目はLadder Driveを読み込んでいます。

2行目はPLCと接続するための物で192.168.0.10が接続するPLCのIPアドレスになります。

3行目のget_bit_from_deviceでM1000の値を読み込んでます。

4行目で結果を表示しています。

実行するとfalse(0)であることが表示されました。

$ ruby read.rb 
M1000: false

書き込みはset_bit_to_deviceを使用します。

m1000 = @protocol.set_bit_to_device(true, "M1000")

2017年03月06日 [長年日記]

_ Escalator を Ladder Driveに名称変更しました。

Escalatorというのは、各種PLCがメーカーや機種毎にプロジェクトデータが異なるため互換性がなく、移植するのが大変なのを解決しようとするものです。

ということで進めてきましたがSEO的にEscalatorはよろしくなかったので*1 Ladder Drive に名称を変更しました。

以前の記事はこちらでご覧になれます。

Ladder Driveだとまだ検索で該当するものが少ないようなので今後は Ladder Drive ということでよろしくお願いします。

延び延びになっていて本来の目的から逸れ始めたりしてますが乞うご期待。(というほどでもないですが…)

興味のある方は以下で予習して見てください。
説明がエスカレーター(Escalator)のままの箇所もありますがLadder Driveに置き換えて呼んでください。

Escalatorを試すために必要なRubyのインストールの仕方

エスカレーターインストールからテストまで

*1 本物のエスカレーターしかでてこないのです。