Read data | |
code | func |
0x01 | modbus_read_bits() |
0x02 | modbus_read_input_bits() |
0x03 | modbus_read_registers() |
0x04 | modbus_read_input_registers() |
- | modbus_report_slave_id() |
Write data | |
code | func |
0x05 | modbus_write_bit() |
0x06 | modbus_write_register() |
0x0F | modbus_write_bits() |
0x10 | modbus_write_registers() |
Write and read data | |
code | func |
0x17 | modbus_write_and_read_registers() |
2012年12月20日木曜日
libmodbusのコマンドとファンクションコードの対応
とりあえず、必要そうなところだけまとめてみる。
2012年12月12日水曜日
libmodbusを使う
VoyageLinuxでlibmodbusを使う。
ソースをダウンロードする。
http://libmodbus.org/
解凍する。
tar xvfz libmodbus-3.0.3.tar.gz
解凍されたディレクトリに入り、
./configure
make
make install
でOKのよう。
/tests のサンプルを実行する。
こちらも
make
だけで、コンパイルされた。
逆にtests/READMEに書いてある方法だとコンパイルできない??
gcc ./random-test-server.c -o random-test-server `pkg-config --libs --cflags libmodbus`
この場合、ソース内の
#include <modbus.h>
を
#include <modbus/modbus.h>
とする。
後は、ソース内のttyUSB0とかをttyS1などに変更した。
とりあえず、modbus接続された機器になんらかの指令は出せている模様。
ソースをダウンロードする。
http://libmodbus.org/
解凍する。
tar xvfz libmodbus-3.0.3.tar.gz
解凍されたディレクトリに入り、
./configure
make
make install
でOKのよう。
/tests のサンプルを実行する。
こちらも
make
だけで、コンパイルされた。
逆にtests/READMEに書いてある方法だとコンパイルできない??
gcc ./random-test-server.c -o random-test-server `pkg-config --libs --cflags libmodbus`
この場合、ソース内の
#include <modbus.h>
を
#include <modbus/modbus.h>
とする。
後は、ソース内のttyUSB0とかをttyS1などに変更した。
とりあえず、modbus接続された機器になんらかの指令は出せている模様。
VoyageLinuxのremountroとremountrwについて
VoyageLinuxのremountroとremountrwについて調べてみる。
場所はどこ?
# which remountrw# which remountrw
/usr/local/sbin/remountrw
場所はどこ?
# which remountrw# which remountrw
/usr/local/sbin/remountrw
それぞれの中身を見てみる。
# cat remountro
#!/bin/sh
sync
sleep 1
mount -o remount,ro /
# cat remountrw
#!/bin/sh
mount -o remount,rw,noatime /
syncの後のsleep1ってなぜ?
1秒じゃない場合、syncはどう動くの?
と謎が出たが、とりあえず未調査。
VoyageLinuxでlm_sensorsを動かす(失敗?)
VoyageLinux上で、CPU温度を取りたい。
apt-get install lm-sensors
apt-get install lm-sensors
sensors-detect
で出力されたログの通り以下を編集する。
vi /etc/modules
再起動し、
lsmod
で確認すると、
i2c_i801
が読み込まれている模様。
CPU温度を取得してみるが、温度がまったく変化しない。
# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +26.8 C (crit = +100.0 C)
何かがおかしい。。。
2012年12月7日金曜日
Voyage Linuxをインストール
Voyage Linuxをインストールする。
以下ハードウェアへインストール。
IEI WAFER-CV-N26001
インストール時の設定など。
Grubにいくつか設定追加が必要なよう。
i8042.nopnp
nolapic_timer
などを
vi /boot/grub/menu.lst
の
kernel ~~の行に追加。
インストール手順は、以下を参考にした。ステキなまとまりっぷり。
インストール後に、ファイルの書換が出来なくてあわてるというオチもあり。
remountrw
をいれて、マウントを行う必要がある。
~~~~
少し使っていて、以下のダイアログが出るようになった。
EXT2-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
指示の通り、以下を入力してみた。
e2fsck -c -f /dev/sda1
修復できた模様。
少し使っていて、以下のダイアログが出るようになった。
EXT2-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
指示の通り、以下を入力してみた。
e2fsck -c -f /dev/sda1
修復できた模様。
登録:
投稿 (Atom)