Contenu connexe Plus de Yutaka Kikuchi (20) Exineris Project by kochi.ex2. 高知から来ました
• kochi.ex • 高知組み込み会
2020.03.18 菊池豊 高知工科大学 2
2020/03/18 16)12kochi.ex -- Elixir community in Kochi - connpass
1 / 1 ページhttps://kochi-ex.connpass.com/
イベント メンバー 資料 0 ツイート グループのメンバーです
全てのイベントを見る(3件)
グループの説明
Elixir / Nerves / Phoenix / Erlang を中心とした研究・開発・勉強を楽しむ非営利の団体です。高知県を中心に活動してます。
オフ会を不定期に開催しています。
終了したイベント
メンバー (20人)
管理者管理者
他のメンバー他のメンバー
資料(0件)
グループに紐付いているイベントページで資料が投稿
されると、最近10件まで表示されます。
kochi.ex -- Elixir community in Kochi
ご利用ガイド 利用規約 特定商取引法に基づく表示 プライバシーポリシー connpassへのお問い合わせ
powered by connpass
イベントを作成 メンバー追加 グループメッセージを送る ブラックリスト グループを編集する
kochi.ex -- Elixir community in Kochi
いいね! 10
フォロー参加者
フォローブックマーク
2019/10/11(金) 18:00∼
kochi.ex 発足会・記念講演会 #2
kikuyuta 他
高知県高知市永国寺町6-28
13人
フォロー参加者
フォローブックマーク
2019/07/05(金) 17:00∼
kochi.ex もくもぐ会 #1
kikuyuta
高知県高知市永国寺町6-28
5/10人
フォローブックマーク
2019/05/28(火) 13:30∼
Elixir Nerves トレーニング #0 in 高知.日本
kikuyuta
高知県高知市永国寺町6-28
3/3人
2020/03/18 16)15高知組み込み会 - connpass
1 / 6 ページhttps://kochi-embedded-meeting.connpass.com/
イベント メンバー 資料 0 ツイート グループのメンバーです
グループの説明
はじめに
高知市近辺で組み込みソフトウェアに関わる人達のスキルアップや情報交換、勉強会などの場を提供することを目的に立ち上げ
たコミュニティです。 ハードウェアエンジニアやウェブクリエイターなど、組み込みに関心のある人達にも参加頂ける会にした
いと思っています。
IoTと名前のつく講座やセミナーはたくさん開催されていますが、ビジネスやクラウド寄りの話が多いように思います。センサ
ーやマイコンあってこそのIoTですので、このコミュニティで勉強しませんか。
メンバー (38人)
管理者管理者
他のメンバー他のメンバー
高知組み込み会
Kochi Embedded Meeting
もっと見る開催前イベント
2020/04/03(金) 高知組み込み会 #5 「ロ…
いいね! 0
2020/03/18 16)15高知組み込み会 - connpass
5 / 8 ページhttps://kochi-embedded-meeting.connpass.com/
全てのイベントを見る(5件)
次回イベント
終了したイベント
高知組み込み会
フォロー参加者
フォローブックマーク
開催前 2020/04/03(金) 19:00∼
高知組み込み会 #5 「ロボットシステムのつくりかた」
YujiChiya
高知県高知市永国寺町6-28
18人
フォロー参加者
2020/01/17(金) 19:00∼
高知組み込み会 #4 「車載系」
YujiChiya
高知県高知市永国寺町6-28
11人
フォロー参加者
2019/11/22(金) 19:00∼
高知組み込み会 #3 「盤屋の会」
YujiChiya
高知県高知市永国寺町6-28
14人
フォロー参加者
2019/07/26(金) 18:30∼
高知組み込み会 #2 「回顧録」
YujiChiya
高知県高知市永国寺町6-28
7/50人
フォロー参加者
フォローブックマーク
2019/06/28(金) 19:00∼
高知組み込み会 #1 「IoTと組み込みと私」
YujiChiya
〒780-0844 高知県高知市永国寺町2-22
14人
13. Elixir を採用することに
• 並行・並列プログラミング関数型言語
– アクターモデルによる並行性(プロセスとメッセージ)
• プロセス(OSのプロセスと異なる軽量スレッド)
– 1CPUで数十万プロセスも可能
– 1プロセスあたり3kB程度のメモリ使用
• 耐障害性
– アプリ停止なしの障害時プロセス再起動
– プロセスのホットスワップ可能
• 元々は電話交換システム用(1986〜)
– にできた Erlang の上に乗ってる
2020.03.18 菊池豊 高知工科大学 19
14. Nerves: Elixir の IoT フレームワーク
• Elixir の環境に連続する IoT 開発環境が利用可能
• 基本的な I/O アクセス手法を提供
• ターゲット用に 12MB〜 のファームウェアを生成
• ターゲットHW: Raspberry Pi, BeagleBone, x86_64
• Apache 2.0
• https://nerves-project.org/
– hex と github も
2020.03.18 菊池豊 高知工科大学 20
15. どうやって制御を Elixir で書くのか
• LLD: Ladder Logic Diagram (ラダー・ロジック図)
– リレー回路を模倣するプログラミング図
• 例題をLLDで描くと
– X0: 緑ボタン
– X1: 赤ボタン
– Y0: MC(リレー)
• 出力を入力に正帰還
2020.03.18 菊池豊 高知工科大学 21
Wikipedia 「ラダー・ロジック」より
16. 素直に Elixir で書くと
Naive implementation in Elixir
• 要素 elements
– X0: 緑ボタン
– X1: 赤ボタン
– Y0: MC(リレー)
• 関係の記述をループさせる
Loop the rungs
– PLC と同じ動作 same as PLC
– ウーン… Not so beautiful
2020.03.18 菊池豊 高知工科大学 22
Wikipedia 「ラダー・ロジック」より
r = fn(x0, x1, y0)
-> (x0 or y0) and not x1
end
y0 = r.(x0, x1, y0)
17. Elixir ならこんなことができるのでは…
• スタイル
– 各デバイスをそれぞれプロセスに
– それらの関連性を記述する
• Pub/Sub モデルとかで
• 良いこと
– レベルではなくエッジで動作
• 無限ループで模倣でない
– 各要素が SV 監視下に
2020.03.18 菊池豊 高知工科大学 25
A bottunB bottun
Main
Supervisor
20. 標準的なPLCのI/O拡張
菊池豊 高知工科大学 28
DI
• 入出力ボードを追加できるようにする
– 要は単一のホスト
CPU
DO
…
AI AO RS485等
…
必要な入出力点数に応じて増やせるが…
バス配線ないしはディジーチェーン
ここが性能の
限界を決める
ここが分散の限界を決める
2020.03.18
21. 拡張は分散で
菊池豊 高知工科大学 29
• ホストを増やせるようにする
• IP/Ethernetで接続
必要なAD入出力点数に応じてホストが増加
CPU CPU CPU CPU CPU CPU…
DIO DIO DIO AIO AIORS485等
すべてに
CPU装備
HUBによるスター配線
2020.03.18
軽量スレッドの
並行動作で協調
22. Exi 1 仕様
菊池豊 高知工科大学 30
項目 機能・性能 コンボボード デジタルボード アナログボード
設計 完了 完了 完了
製作 試作4枚 試作3枚 試作3枚
CPU ARM Cortex-A9 相当 ◯ ◯ ◯
デジタル入力 絶縁入力 8チャンネル 16チャンネル
デジタル出力 絶縁出力 4チャンネル 16チャンネル
アナログ入力 4-20mA 5チャンネル 16チャンネル
アナログ出力 4-20mA, 給電・無給電兼用 1チャンネル 16チャンネル
RS422/485 Half dup / Full dup 切替対応 1ポート 1ポート 1ポート
RS232 デバッグ用コンソール 5pin 1ポート 1ポート 1ポート
USB USB 2.0(拡張用内蔵ポート) 2ポート 2ポート 2ポート
LAN 100baseTX auto MDIX 1ポート 1ポート 1ポート
SDカード 誤操作防止位置マウント 1スロット 1スロット 1スロット
RTC 5ppm精度、バッテリバックアップ ◯ ◯ ◯
ウォッチドッグタイマ MAX6369もしくは相当品 ◯ ◯ ◯
状態表示LED 4色 (Green, Yellow, Orange, Red) ◯ ◯ ◯
電源断検出 検出電圧設定可能(半固定抵抗) ◯ ◯ ◯
電源 PoE (IEEE802.3af) 準拠 ◯ ◯ ◯
動作温度範囲 -20℃〜70℃ ◯ ◯ ◯
ケース DINレール装着型 ◯ ◯ ◯
2020.03.18
23. ご清聴ありがとうございました
Thank you for your attention
2020.03.18 菊池豊 高知工科大学 33
ご清聴ありがとうございました
Thank you for your attention
2020.03.18 菊池豊 高知工科大学 31