この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
use_di_do:start [2023/04/28 14:39] admin |
use_di_do:start [2023/09/15 17:35] (現在) コンサルティンググループ |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== DI/DO の利用 ====== | + | ====== DI/DO の利用(Use of DI/DO) ====== |
\\ | \\ | ||
ライン 5: | ライン 5: | ||
MA-X3xx シリーズは、 | MA-X3xx シリーズは、 | ||
- | - 標準版(拡張なし、メインボード側): DI 2ch / DO 1ch | + | - 標準版(standard)(拡張なし、メインボード側): DI 2ch / DO 1ch |
- | - DI/DO/AI 拡張(/LAD, 拡張ボード側): 1. に加えて、DI 24ch / DO 8ch | + | - DI/DO/AI 拡張(extended)(/LAD, 拡張ボード側): 1. に加えて、DI 24ch / DO 8ch |
を使用することができます。 | を使用することができます。 | ||
- | === 標準版 === | + | === 標準版(standard) === |
{{:use_di_do:max3xx_dido_00.png|}} | {{:use_di_do:max3xx_dido_00.png|}} | ||
- | === /AD === | + | === /AD(extended) === |
{{:use_di_do:max3xx_dido_01.png|}} | {{:use_di_do:max3xx_dido_01.png|}} | ||
+ | |||
+ | {{:use_di_do:24ピン着脱式スクリューレス端子台.png?200|}} | ||
+ | ※ /AD(extended)には24ピン着脱式スクリューレス端子台が同梱されています。 | ||
+ | (Phoenix contact製 DMC 0,5/12-G1-2,54 P20 THR R72 接続ケーブルAWG26~AWG20対応) | ||
\\ | \\ | ||
- | ===== DI の使用 ===== | + | ===== DI の使用(Use of DI) ===== |
==== 仕様 ==== | ==== 仕様 ==== | ||
ライン 26: | ライン 30: | ||
=== 等価回路 === | === 等価回路 === | ||
- | == メインボード側 == | + | == メインボード側(standard) == |
{{:use_di_do:max3xx_dido_02.png|MA-X3xx DI 等価回路}} | {{:use_di_do:max3xx_dido_02.png|MA-X3xx DI 等価回路}} | ||
- | == 拡張ボード側 == | + | == 拡張ボード側(extended) == |
{{:use_di_do:max3xx_dido_03.png|MA-X3xx DI 等価回路}} | {{:use_di_do:max3xx_dido_03.png|MA-X3xx DI 等価回路}} | ||
DI 部はフォトカプラ及び電流制限抵抗により構成されています。また、外部電源の接続方法によりマイナスコモン、及びプラスコモンの機器と接続が可能です。\\ | DI 部はフォトカプラ及び電流制限抵抗により構成されています。また、外部電源の接続方法によりマイナスコモン、及びプラスコモンの機器と接続が可能です。\\ | ||
- | グループ毎に共通コモンとなっています。 | + | グループ毎に共通コモンとなっています。\\ |
+ | |||
+ | (The DI section consists of a photocoupler and a current limiting resistor. Depending on the external power supply connection method, it can be connected to devices with negative common or positive common. | ||
+ | The common is common for each group.) | ||
\\ | \\ | ||
ライン 41: | ライン 48: | ||
==== アクセス ==== | ==== アクセス ==== | ||
- | 従来使用していた sysfs GPIO が deprecated で廃止予定のため、[[https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/about/|libgpio]] を利用してアクセスします。 | + | 従来使用していた sysfs GPIO が deprecated で廃止予定のため、[[https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/about/|libgpiod]] を利用してアクセスします。\\ |
+ | (Since sysfs GPIO used in the past is deprecated and scheduled to be discontinued, libgpiod is used for access.) | ||
* [参考] [[https://www.thegoodpenguin.co.uk/blog/stop-using-sys-class-gpio-its-deprecated/|Stop using /sys/class/gpio – it’s deprecated]] | * [参考] [[https://www.thegoodpenguin.co.uk/blog/stop-using-sys-class-gpio-its-deprecated/|Stop using /sys/class/gpio – it’s deprecated]] | ||
- | === メインボード側 === | + | === メインボード側(standard) === |
|<15em 3em 10em>| | |<15em 3em 10em>| | ||
ライン 53: | ライン 61: | ||
| 2| DIN_S1 | | | | 2| DIN_S1 | | | ||
- | === 拡張ボード側 === | + | === 拡張ボード側(extended) === |
|<30em 3em 10em 10em 5em>| | |<30em 3em 10em 10em 5em>| | ||
ライン 68: | ライン 76: | ||
| 24| EXT_DI23 | Filtered_DI23 | F3| | | 24| EXT_DI23 | Filtered_DI23 | F3| | ||
- | ※ フィルタについて: 64Hz 2bit シフトレジスタ を利用したステートマシンによるチャタリング除去フィルタが入っています。 | + | ※ フィルタについて: 64Hz 2bit シフトレジスタ を利用したステートマシンによるチャタリング除去フィルタが入っています。\\ |
+ | (About the filter: A state machine chatter removal filter using 64Hz 2bit shift registers is included.) | ||
<code> | <code> | ||
ライン 127: | ライン 136: | ||
\\ | \\ | ||
- | ==== gpiod のアプリケーションによるアクセス ==== | + | ==== gpiod のアプリケーションによるアクセス(Access by gpiod applications) ==== |
gpiod パッケージのアプリケーションでアクセスします。 | gpiod パッケージのアプリケーションでアクセスします。 | ||
- | === GPIO の検索 === | + | === GPIO の検索(GPIO Search) === |
- | <code> | + | <konsole> |
root@metis:~# gpiofind EXT_DI10 | root@metis:~# gpiofind EXT_DI10 | ||
gpiochip3 10 | gpiochip3 10 | ||
- | </code> | + | </konsole> |
- | === GPIO 値の読取 === | + | === GPIO 値の読取(Read GPIO values) === |
- | <code> | + | <konsole> |
root@metis:~# gpioget `gpiofind EXT_DI11` | root@metis:~# gpioget `gpiofind EXT_DI11` | ||
0 | 0 | ||
root@metis:~# | root@metis:~# | ||
- | </code> | + | </konsole> |
\\ | \\ | ||
- | ==== プログラムによるアクセス ==== | + | ==== プログラムによるアクセス(Programmatic Access) ==== |
libgpiod を使用してプログラムを作成します。 | libgpiod を使用してプログラムを作成します。 | ||
ライン 156: | ライン 165: | ||
[[https://github.com/centurysys/nim_gpiod|Nim 用の binding]] を作成したので、C 言語より簡単にプログラムをすることもできます。 | [[https://github.com/centurysys/nim_gpiod|Nim 用の binding]] を作成したので、C 言語より簡単にプログラムをすることもできます。 | ||
- | <file nim gpiod.nim> | + | <codify nim> |
import std/asyncdispatch | import std/asyncdispatch | ||
import std/times | import std/times | ||
import nim_gpiod | import nim_gpiod | ||
- | |||
proc asyncMain() {.async.} = | proc asyncMain() {.async.} = | ||
- | let di0 = newGpio("DI0", "NimGPIO") | + | let di0 = newGpio("DIN_S0", "NimGPIO") |
if di0.isNil: | if di0.isNil: | ||
echo "newGpio failed." | echo "newGpio failed." | ||
ライン 174: | ライン 182: | ||
waitFor asyncMain() | waitFor asyncMain() | ||
- | </file> | + | </codify> |
\\ | \\ | ||
- | ===== DO の使用 ===== | + | ===== DO の使用(Use of DO) ===== |
==== 仕様 ==== | ==== 仕様 ==== | ||
ライン 184: | ライン 192: | ||
=== 等価回路 === | === 等価回路 === | ||
- | == メインボード側 == | + | == メインボード側(standard) == |
{{:use_di_do:max3xx_dido_05.png|DO 等価回路}} | {{:use_di_do:max3xx_dido_05.png|DO 等価回路}} | ||
- | == 拡張ボード側 == | + | == 拡張ボード側(extended) == |
{{:use_di_do:max3xx_dido_06.png|DO 等価回路}} | {{:use_di_do:max3xx_dido_06.png|DO 等価回路}} | ||
- | DO 部はフォトカプラ及び過電流保護素子により構成されています。グループ毎に共通コモンとなっています。 | + | DO 部はフォトカプラ及び過電流保護素子により構成されています。グループ毎に共通コモンとなっています。\\ |
+ | (The DO section consists of a photocoupler and an overcurrent protection element. Each group has a common common.) | ||
\\ | \\ | ||
- | ==== アクセス === | + | ==== アクセス(Access) === |
- | LED class driver にバインドしています。 | + | LED class driver にバインドしています。(Bound to LED class driver.) |
- | <code> | + | <konsole> |
root@metis:/sys/class/leds# ls | root@metis:/sys/class/leds# ls | ||
ADC_Power EXT_DO0 EXT_DO6 MSP430_EXT2_TEST MobileLED_R0 PowerLED:G system-status1:g | ADC_Power EXT_DO0 EXT_DO6 MSP430_EXT2_TEST MobileLED_R0 PowerLED:G system-status1:g | ||
ライン 208: | ライン 217: | ||
DO_T0 EXT_DO4 MSP430_EXT1_TEST MobileLED_G1 PHY0_Reset mmc1:: system-status3:g | DO_T0 EXT_DO4 MSP430_EXT1_TEST MobileLED_G1 PHY0_Reset mmc1:: system-status3:g | ||
EXT_24V_ON EXT_DO5 MSP430_EXT2_RST MobileLED_G2 PHY1_Reset power-stat:r system-status3:r | EXT_24V_ON EXT_DO5 MSP430_EXT2_RST MobileLED_G2 PHY1_Reset power-stat:r system-status3:r | ||
- | </code> | + | </konsole> |
- | === メインボード側 === | + | === メインボード側(standard) === |
|<15em 3em 10em>| | |<15em 3em 10em>| | ||
ライン 216: | ライン 225: | ||
| 1| DO_S0 | | | | 1| DO_S0 | | | ||
- | === 拡張ボード側 === | + | === 拡張ボード側(extended) === |
|<15em 3em 10em>| | |<15em 3em 10em>| |