Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

OpenPLCでRasPiをPLC化

産業用自動機械の制御は今でも結構な割合がPLC方式です。
学習しようにもシーケンサー高いし、プログラムツールもメーカ固定だし……なんかヤダ。

そんな私と貴方のためのオープンなPLCがOpenPLCです。
いくつかのフレームワークに対応していますが、特にRasPiで動くのが大きい。
加えて、今どきな感じでブラウザ上でのコントロールも可能。



ラダー言語は国際標準に則っているので、基本的な知見は他の会社の奴にも転用できます。

nkfコマンドで半角カナと全角カナが混じったファイル群に秩序を取り戻す

shuzo-kino.hateblo.jp

実際のところ

バッチ処理対象のファイルで、どういうわけか半角カナと全角カナが入り交じるという地獄のような状態が発生しました。
どうもエクスポートするツールの都合らしいのですが……
「アクション001」と「アクション003」はこのままバッチで纏めようとすると地獄をみます。
というわけで、先に半角カナを全部全角カナに変更しようと思います。

対象の判定も面倒くさいので、総当たり式にmvコマンドの内部でnkfを実行する方針でやりました。

ImageMagickをつかって連番PDFからGIF画像をつくる

世の中パワーポイントをつかってスライドをMPEG4動画化する方法もあるようですが……
どうせなら軽い、早い、柔軟の三拍子そろったImageMagickをつかいます(血走った目

実際のところ

すごいファイル001(1).pdf ~ すごいファイル097(1).pdf ……といった感じの98個の連番PDFがあったとします。
どれも単一ページでアルファが掛かっているとします。
また、動画は4fps=250msecごとにスライドして欲しい状況です。

$ convert -delay 25 -loop 0 -background white -flatten -alpha すごいファイル*.pdf result.gif

アルファが掛かっているので、そのままやると残像が残ってしまいます。そこで、”-background white -flatten -alpha ”でアルファまわりを無力化しときます。
遅延はdelayオプションで指定なわけですが……どういった訳か1/100秒単位の指定になります。ミリ秒じゃねぇのかよ(激怒

まぁともかく、これで目当ての動画はできました

UNIQUE関数で重複を取り除いた新しい列を返す

UNIQUE関数は要素から重複を取り除いて新しい列を返してくれる関数です

別のところから持ってきた内容について、使われている要素が何個か抽出するときに使えます。

たとえば、こんな感じ
f:id:shuzo_kino:20180619235113p:plain

表計算ソフトで日付計算する

shuzo-kino.hateblo.jp
では関数で日付の差分をみましたが、今回は計算でやる方法

実際のところ

A1に開始日、A2に終了日が入っているとします。
その際、日付であれば単純に引き算するだけです

= A2 - A1

これは、以下と同じ意味です。

=DATEDIF(A2, A1, "D")

外発的動機付けと内発的動機付け

ここの所仕事に対するモチベーションが尽きかけています。
それでいて確実に激務化しており……これは早急な対策をしないと近いうちに心が折れると日々焦っていました。

パっと考え付くのは心理学系だったので、その手の本やサイトを読み漁ってる内に目に入ったのが「外発的動機付け」と「内発的動機付け」というコトバ。

「外発的動機付け」はカネ、目先の自尊心、罰則の回避等々の短期的な利益に基づいた動機付けです。
これまで見てきたアレコレを総合すると、世の中この外発的な動機付けが大半を占めているように感じます。

一方、「内発的動機付け」は自分がやりたいからやるといった風に、外部からの評価を考えない方向での動機付けになります。
趣味だとか採算度外視の社会事業なんかがこれに該当しそうです。

最近の私を振り返ると、入金や納期という「外発的」な話ばかりに気を取られていたような気がします。
いまの仕事についても、これからの経営についても、内発動機付けができるよう考えないといけませんね。

【イベントログ】Physical Computing Kids Dayのお手伝いをしてきました。

www.physical-computing.jp

 日時:2018年6月16日(土)10:20~17:00

     ※事前登録のある参加者のみAM10:00~開場に入場できます。

秋葉原UDX4階のイベント会場NextⅢで開催された、
Physical Computing Kids Day(主催:TechShare株式会社様)に増援としてイベント手伝いをしてきました。

内容はロボットアームに3Dプリンタ、Scratchを用いたローバーの操作まで盛り沢山。
時間の制約で簡単なところまでしか扱えませんでしたが、
これら技術をつかってどんなことが出来るかイメージはして貰える様になったんじゃないかなと思ってます。

* 会場の様子