メニュー 5.もっと便利な使い方 5-2.F&e Web Server Exインストール済みプログラム

5.1.F&e Web Server Ex専用コマンド

F&e Web Serverではイベント検出時に実行*1したり、 リモートからtelnet*2して実行する専用コマンドがあります。
専用コマンドの他にもF&e Web Serverのベースになっている Linuxのコマンドも利用可能です。
F&e Web Serverで利用できる専用コマンドは以下の通りです。
CFを読み込み専用/読み書き可能モードに切り替える
カウント値/ON時間などのソフトウェアカウンタの値を変更する
カウンタ入力の現在値を変更・表示する
メールを送信する
デジタル出力からデータを出力する
本体のLED(RUN/STATUS)の操作を行う
現在装着されているF&eITデバイスを確認する
F&e Web Serverが収集したデータを読み込む
デジタル入出力から直接データを読み込む
アナログ入力から直接データを読み込む
PLCから直接データを読み込む
PLCへ直接データを書き込む
FeWSサービス起動中にPLCへデータを書き込む
アナログ出力からデータを出力する
任意のタイミングでファイル保存をコントロールする
シリアル通信の確認を行う
他のF&e Web Server Exと通信する
★マークが付いているコマンドはイベント検出時に実行することで機器制御に利用可能です。

コマンドの使用例でコマンドプロンプトが
#
のように"#"になっているものはrootユーザで、
$
のように"$"になっているものは一般ユーザー(ユーザー:contec)で利用します。
*1. コマンドをイベントから実行させる際には、コマンドをフルパスで記述する必要があります。
イベントからは ユーザー:contec(一般ユーザー) でコマンドが実行されます。
テストの際にはcontecユーザーで実行して確認してください。
*2. telnetする場合にはユーザー:contec、パスワード:contecでログインします。
rootユーザーでは直接ログインできませんので contec でログインした後に su コマンドで rootユーザーになってください。
rootユーザーのパスワードは root です。
telnetサービスは「3.10.telnet/ftpサービスを停止・開始する」で 有効/無効の操作が行えます。工場出荷時は [有効] になっています。
インターネットなどセキュリティに不安があるネットワークで運用する場合には [無効] にしてください。必要な時のみ [有効] にすることを推奨します。

5.1.1.CFを読込み専用/書込み可能モードに切り替える

 F&e Web ServerではCF(コンパクトフラッシュ)にシステムとデータを 以下のように格納しています。
区分 内容 ディレクトリ 標準状態
システム OS / 読込み専用
システム Web関連(HTML) /usr/apache/html 読込み専用
システム Web関連(CGIコンテンツ) /usr/apache/cgi-bin 読込み専用
データ 設定 /home/fws/conf 書込み可能
データ データ /home/fws/data 書込み可能
 通常運用時はシステム側は「読込み専用」、データ側は「書込み可能」 で運用されます。
 この状態では(Web関連が読込み専用な状態)モニタリングの画面を 作成してもそのディレクトリに保存することができません。 モニタリング画面を所定の位置に保存する為にはシステム領域を 「書込み可能」な状態にする必要があります。 それには以下のrommodeコマンドを使用します。

※このコマンドはrootユーザーでのみご利用になれます
 Ver.1.03〜は一般ユーザーでもsudo経由で利用できます
◆rommode … CFのシステム領域を読込み専用/書込み可能に切り替える
 ○コマンドパス : /usr/local/sbin/rommode
 ○コマンド : rommode [Option]
   [Option] … ro / rw
     ro:読込み専用に、 rw:書込み可能に
 ○使用例
 システム領域を書込み可能に
# rommode rw
 システム領域を読込み専用に
# rommode ro


5.1.2.カウント値/ON時間などのソフトウェアカウンタの値を変更する

 ソフトウェアカウンタの値を変更するには/home/fws/spool/fws_device_?.dmp (?はデバイスID)に変更したい値を書き込むことで行います。

 /home/fws/spool/fws_device_?.dmpは「.」区切りのフォーマット (ver 1.05以降。それ以前は「,」区切り)で
「カテゴリID(デジタル入力なので1固定)」、「チャネル番号」、「カウント種別(0…カウント値、1…ON時間)」 「セットする値」になっています。

 ○使用例
 DeviceID:0に設定されているDIO-8/8のチャネル3のカウント値を100にする
$ echo 1.3.0.100 >> /home/fws/spool/fws_device_0.dmp
 DeviceID:2に設定されているDIO-8/8のチャネル3のON時間値を50にする
$ echo 1.3.1.50 >> /home/fws/spool/fws_device_2.dmp
 DeviceID:7に設定されているDI-16のチャネル15のカウント値を300にする
$ echo 1.15.0.300 >> /home/fws/spool/fws_device_7.dmp


5.1.3.カウンタ入力の現在値を変更・表示する

◆cntctrl … カウンタユニット制御コマンド
 ○コマンドパス : /usr/local/bin/cntctrl
 ○コマンド : cntctrl [Option] [DeviceID] [Channel] arg1 arg2 arg3
   [Option] … --set / --read / --setall
   [DeviceID] … 0 〜 7
   [Channel] … 0 or 1
   arg1 … それぞれの引数1
   arg2 … それぞれの引数2
   arg3 … それぞれの引数3
 ○使用例
 カウンタの値を 5000 に設定 ( DeviceID:3, CH0 )
$ cntctrl --set 3 0 5000
DeviceID : 3 -> CNT24-2(FIT)
[Set] Count Data = 5000
 カウンタの値を全チャネル 3000 に設定 ( DeviceID:3 )
$ cntctrl --setall 3 3000
DeviceID : 3 -> CNT24-2(FIT)
 カウンタ値を表示 ( DeviceID:3, CH1 )
$ cntctrl --read 3 1
DeviceID : 3 -> CNT24-2(FIT)
[Read] Count Data = 5869

5.1.4.メールを送信する

 メールをコマンドラインから送信するには/dev/elogparamに 送信するメールの指示を書き込むことで行えます。 /dev/elogparamに書き込む値は引数の順に 「イベント番号」「送信先メールアドレス」「警報メッセージ」「本文」 になります。「本文」内にスペースを含めることはできません。

 ○送信例(送信先/警報メッセージリストを使用)
$ echo 1 S0 L0 test > /dev/elogparam
 上記例ではイベント1が発生したことを送信先1宛に 警報メッセージ1+「test」という本文のメールを送信します。

 ○送信例(送信先/警報メッセージを直接指定)
$ echo 1 foo@hogehoge.co.jp Message test > /dev/elogparam
 上記例ではイベント1が発生したことをfoo@hogehoge.co.jp宛に 「Message」+「test」という本文のメールを送信します。

 送信先、警報メッセージが"S0/L0"のように、先頭に"S","L"が指定された場合には F&eWSのWeb上で設定されたファイル(/home/fws/conf/fws_mail.conf, /home/fws/conf/fws_msg.conf)を参照して該当のアドレス、メッセージに 置き換えます。"S","L"指定を行う場合はS0が送信先設定1、 S1が送信先設定2、…、S19が送信先設定20、L0が警報メッセージ1、 L1が警報メッセージ2、L299が警報メッセージ300になります。
 指定の無いものはそのまま順にメールアドレス/メッセージ本文としてメールを送信します。

5.1.5.デジタル出力からデータを出力する

◆diowrite … デジタル出力への書込み
 ○コマンドパス : /usr/local/bin/diowrite
 ○コマンド : diowrite [DeviceID] [Port] [Data]
  [DeviceID] … 書き込むデバイスのDeviceID
  [Port] … 書き込むデバイスのポート
          【DIO-8/8】Y … 1
          【DO-16】Y0 … 0、Y1 … 1
          【DIO-16/16】Y-00〜Y07 … 2、Y-10〜Y17 … 3
          【DO-32】Y-00〜Y07 … 0、Y-10〜Y17 … 1
                Y-20〜Y27 … 2、Y-30〜Y37 … 3
  [Data] … 書き込むデータ(先頭に0xを付けると16進で入力可)
 または
 ○コマンド : diowrite [DeviceID] [Port] [Bit] [Data]
  [Bit] … 書き込むデバイスのビット位置(0〜7)
  [Data] … 書き込むデータ(OFF:0,ON:1)
 ○利用可能デバイス : DIO-8/8(FIT), DO-16(FIT)
 ○使用例
$ diowrite 0 1 0xF0
DeviceID : 0 -> DIO-8/8(FIT)
Data[1] : F0(h)
bit | 0 1 2 3 4 5 6 7
data : 0 0 0 0 1 1 1 1
$ diowrite 0 1 255
DeviceID : 0 -> DIO-8/8(FIT)
Data[1] : F0(h)
bit | 0 1 2 3 4 5 6 7
data : 0 0 0 0 1 1 1 1
$ diowrite 0 1 7 0
DeviceID : 0 -> DIO-8/8(FIT)
Data[1] : E0(h)
bit | 0 1 2 3 4 5 6 7
data : 0 0 0 0 1 1 1 0

5.1.6.本体のLED(RUN/STATUS)の操作を行う

◆ledctrl … CPU-CB20(FIT)本体のLED制御コマンド
 ○コマンドパス : /usr/local/bin/ledctrl
 ○コマンド : ledctrl [LED] [Status]
  [LED] … 0:STATUS , 1:RUN
  [Status] … 0:消灯, 1:点灯, -1:反転
※Statusの省略時は状態読み出しになり、1が点灯中, 0が消灯中になります。
 ○使用例
 RUN LED を点灯
$ ledctrl 1 1
 STATUS LED の状態を取得
$ ledctrl 0
1

5.1.7.現在装着されているF&eITデバイスを確認する

◆search_dev … 接続されているユニットの一覧表示
 ○コマンドパス : /usr/local/bin/search_dev
 ○コマンド : search_dev
 ○使用例
$ search_dev
PC Information : CPU-CB20(FIT)
DeviceID[0] : DIO-8/8(FIT) Rev.0 found.
DeviceID[1] : DI-16(FIT) Rev.2 found.
DeviceID[2] : ADI12-8(FIT) Rev.0 found.
DeviceID[3] : CNT24-2(FIT) Rev.0 found.
DeviceID[4] : DO-16(FIT) Rev.0 found.
DeviceID[5] : not found.
DeviceID[6] : not found.
DeviceID[7] : not found.

3 device found.
 コマンドに -d を付けると出力内容が変更されます。
$ search_dev -d
0,01,00,DIO-8/8(FIT),0
1,01,01,DI-16(FIT),2
2,02,00,ADI12-8(FIT),0
3,03,00,CNT24-2(FIT),0
4,01,02,DO-16(FIT),0
5,FF,FF,
6,FF,FF,
7,FF,FF,
 ","区切りで順にデバイスID、カテゴリID、プロダクトID、デバイス名称、リビジョンNo になります。


5.1.8.F&e Web Serverが収集したデータを読み込む

◆getdata … F&eWSサービスが共有メモリに格納した値を読み出すコマンド
 ○コマンドパス : /usr/local/bin/getdata
 ○コマンド : getdata [DeviceID] [CH] [INCH]
  [DeviceID] … 読み出す対象のDeviceID(F&eITデバイスは0〜7、PLCはP0〜P15、仮想デバイスはU0〜U3)
* [DeviceID]に
 all と入力すると全データ
 event と入力すると全イベントの状態
を出力します。
  [CH] … 読み出す対象のチャネル(PLC,仮想デバイスの場合は点目で0〜47)
  [INCH] … 読み出す対象のチャネルタイプ
          デジタル入力: 0…現在値, 1…カウント値, 2…ON時間値
          カウンタ入力: 0…現在値, 1…増分カウント値
          アナログ入力: 不要
          PLC: 指定時はビット位置
          仮想デバイス: 不要
 ○戻り値
 【通常指定の場合】
  (全て)
   現在値
 【CHのみ指定の場合】
  (デジタル入出力)
   CHの現在値,CHのカウント値,CHのON時間値
  (カウンタ入力)
   CHの現在値,CHの増分カウント値
  (その他)
 【DeviceID指定のみの場合】
  (デジタル入出力)
   Ch0の現在値,Ch0のカウント値,Ch0のON時間値,Ch1の現在値,Ch1のカウント値,Ch1のON時間値,...
  (カウンタ入力)
   Ch0の現在値,Ch0の増分カウント値,Ch1の現在値,Ch1の増分カウント値,...
  (その他)
   Ch0の現在値,Ch1の現在値,...
 【DeviceIDにallを指定した場合】
   DeviceID,チャネル数,チャネル内のデータ数,データ(Ch0),データ(Ch1),...
 【DeviceIDにeventを指定した場合】
   1バイトずつイベントの状態を表示(0…未設定,1…未発生,2…発生中)
 ○使用例
 デバイスID:0(この場合はDIO-8/8)で格納された値を読み込む
$ getdata 0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0
 デバイスID:2(この場合はADI12-8)のCH1の値を読み込む
$ getdata 2 1
4.341797
 デバイスID:0(この場合はDIO-8/8)のCH1のON時間値を読み込む
$ getdata 0 1 2
20
 デバイスID:3(この場合はCNT24-2)のCH0の増分カウンタ値を読み込む
$ getdata 3 0 1
16
 PLC要求番号:1(この場合はD0000から4点)の値を読み込む
$ getdata P0
4320,7777,5109,65535
 PLC要求番号:8(この場合はR0000から4点)の4点目の値を読み込む
$ getdata P7 3
9999
 PLC要求番号:8(この場合はR0000から4点)の4点目のビット2の値を読み込む
$ getdata P7 3 2
1
 存在しないデバイスにアクセスした場合
$ getdata 7
Unknown category ID = 0
 全ての値を表示
$ getdata all
0,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,32,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2,8,1,0.004883,0.009766,0.009766,0.014648,0.004883,0.004883,0.004883,-0.004883
3,8,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4,0,0
5,0,0
6,0,0
7,0,0
P0,4,1,1,0,0,1
P1,8,1,1987,1999,1998,1997,1997,1996,1996,1996
P2,4,1,0,1234,0,4321
P3,1,1,1999
P4,4,1,0,0,0,0
P5,16,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
P6,4,1,1,0,0,1
P7,4,1,1,0,0,3
P8,14,1,3,0,3,0,0,0,0,0,0,0,915,0,0,0
P9,2,1,61441,0
P10,4,1,0,0,21,16
P11,0,1
P12,0,1
P13,0,1
P14,0,1
P15,0,1
U0,0,1
U1,0,1
U2,0,1
U3,4,1,52.401367,46.000000,12.802734,0.000000
 イベントの状態を表示
$ getdata event
1112100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
※.1行で出力されます

5.1.9.デジタル入出力から直接データを読み込む

◆dioread … デジタル入力の読み込み
 ○コマンドパス : /usr/local/bin/dioread
 ○コマンド : dioread [DeviceID] [Port]
  [DeviceID] … 読み込むデバイスのDeviceID
  [Port] … 読み込むデバイスのポート 省略時は全ポート
 ○利用可能デバイス : DIO-8/8(FIT), DI-16(FIT), DO-16(FIT)
 ○使用例
$ dioread 0
DeviceID : 0 -> DIO-8/8(FIT)
Data[0] : 00(h)
bit | 0 1 2 3 4 5 6 7
data : 0 0 0 0 0 0 0 0
Data[1] : F0(h)
bit | 0 1 2 3 4 5 6 7
data : 0 0 0 0 1 1 1 1
$ dioread 0 0
DeviceID : 0 -> DIO-8/8(FIT)
Data[0] : 00(h)
bit | 0 1 2 3 4 5 6 7
data : 0 0 0 0 0 0 0 0

5.1.10.アナログ入力から直接データを読み込む

※このコマンドはF&eWSサービスが起動中は使用しないで下さい
◆airead … アナログ入力の読み込み
 ○コマンドパス : /usr/local/bin/airead
 ○コマンド : airead [DeviceID] [Range] [Channel]
  [DeviceID] … 読み込むデバイスのDeviceID
  [Range] … 入力レンジ 0:-10V〜10V, 1:-5V〜5V, 2:0V〜10V, 3:0V〜5V, 4:0mA〜20mA
  [Channel] … 読み込むチャネル 省略時は全チャネルから読み込む
 ○利用可能デバイス : ADI12-8(FIT), ADI16-4(FIT)
 ○使用例
$ airead 2 0
17:28:45,188, -0.576, -0.571, -0.571, -0.557, -0.557, -0.552, -0.542, -0.542,
$ airead 2 0 7
17:32:57,841, Ch1, 799, -0.503,

5.1.11.PLCから直接データを読み込む

※以下のコマンドはF&eWSサービスが停止中の場合のみ利用可能です。
◆melseca2lin … 三菱電機 MELSEC-A/MELSEC-FXシリーズからデータを読み込み
 ○コマンドパス : /usr/local/bin/melseca2lin
 ○コマンド : melseca2lin [config file] [Device:StartAddress:Length] …
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress:Length] … PLCからデータを要求するデバイスを指定
                   デバイス、先頭アドレス、読込み点数を":"で区切りで指定
                   最大で16個まで要求可能
 ○使用例
$ melseca2lin /home/fws/conf/plc.conf R:1000:8
0000,1111,2222,3333,4444,5555,6666,FFFF
$ melseca2lin /home/fws/conf/plc.conf X:1F0:4 D:1000:8
0001,0000,0001,0000
FFFF,DDDD,CCCC,1111,2222,3333,4444,5555

◆melsecq2lin/melsecqE2lin … 三菱電機 MELSEC-Qシリーズからデータを読み込み
 ○コマンドパス(シリアル) : /usr/local/bin/melsecq2lin
 ○コマンドパス(Ethernet) : /usr/local/bin/melsecqE2lin
 ○コマンド : melsecq2lin [config file] [Device:StartAddress:Length] …
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress:Length] … PLCからデータを要求するデバイスを指定
                   デバイス、先頭アドレス、読込み点数を":"で区切りで指定
                   最大で16個まで要求可能
 ○使用例
$ melsecq2lin /home/fws/conf/plc.conf R:1000:8
0000,1111,2222,3333,4444,5555,6666,FFFF
$ melsecqE2lin /home/fws/conf/plc.conf X:1F0:4 D:1000:8
0001,0000,0001,0000
FFFF,DDDD,CCCC,1111,2222,3333,4444,5555

◆fp02lin … 松下電工 FPシリーズからデータを読み込み
 ○コマンドパス : /usr/local/bin/fp02lin
 ○コマンド : fp02lin [config file] [Device:StartAddress:Length] …
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress:Length] … PLCからデータを要求するデバイスを指定
                   デバイス、先頭アドレス、読込み点数を":"で区切りで指定
                   最大で16個まで要求可能
 ○使用例
$ fp02lin /home/fws/conf/plc.conf DT:0:8
0000,1111,2222,3333,4444,5555,6666,FFFF
$ fp02lin /home/fws/conf/plc.conf X:11F:4 DT:100:8
0001,0000,0001,0000
FFFF,DDDD,CCCC,1111,2222,3333,4444,5555

◆cs12lin/cs1E2lin … オムロン SYSMAC-CS1/CJ1シリーズからデータを読み込み
 ○コマンドパス(RS-232C) : /usr/local/bin/cs12lin
 ○コマンドパス(Ethernet) : /usr/local/bin/cs1E2lin
 ○コマンド : cs12lin [config file] [Device:StartAddress:Length] …
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress:Length] … PLCからデータを要求するデバイスを指定
                   デバイス、先頭アドレス、読込み点数を":"で区切りで指定
                   最大で16個まで要求可能
 ○使用例
$ cs12lin /home/fws/conf/plc.conf DM:0:8
0000,1111,2222,3333,4444,5555,6666,FFFF
$ cs1E2lin /home/fws/conf/plc.conf CIO:11F:4 DM:100:8
0001,0000,0001,0000
FFFF,DDDD,CCCC,1111,2222,3333,4444,5555
◆pc3j2lin/pc3jE2lin … JTEKT TOYOPUC-PC3Jシリーズからデータを読み込み
 ○コマンドパス(シリアル) : /usr/local/bin/pc3j2lin
 ○コマンドパス(Ethernet) : /usr/local/bin/pc3jE2lin
 ○コマンド : pc3j2lin [config file] [Device:StartAddress:Length] …
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress:Length] … PLCからデータを要求するデバイスを指定
                   デバイス、先頭アドレス、読込み点数を":"で区切りで指定
                   最大で16個まで要求可能
 ○使用例
$ pc3j2lin /home/fws/conf/plc.conf P1D:0:8
0000,1111,2222,3333,4444,5555,6666,FFFF
$ pc3jE2lin /home/fws/conf/plc.conf P1X:1F:4 EB:1000:8
0001,0000,0001,0000
FFFF,DDDD,CCCC,1111,2222,3333,4444,5555

5.1.12.PLCへ直接データを書き込む

※以下のコマンドはF&eWSサービスが停止中の場合のみ利用可能です。
◆lin2melseca … 三菱電機 MELSEC-A/MELSEC-FXシリーズへデータを書き込み
 ○コマンドパス : /usr/local/bin/lin2melseca
 ○コマンド : lin2melseca [config file] [Device:StartAddress] [Data1] … [Data48]
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress] … PLCへデータを書き込むデバイスを指定
                   デバイス、先頭アドレスを":"で区切りで指定
  [Data1]〜[Data48] … 書き込むデータ
                ワードデバイスに書き込む場合には"0x"をデータの頭につけると
                16進数表記の書き込みが可能になります。
 ○使用例
$ lin2melseca /home/fws/conf/plc.conf R:1000 0x0000 1 3 0xFFFF

◆lin2melsecq/lin2melsecqE … 三菱電機 MELSEC-Qシリーズへデータを書き込み
 ○コマンドパス(シリアル) : /usr/local/bin/lin2melsecq
 ○コマンドパス(Ethernet) : /usr/local/bin/lin2melsecqE
 ○コマンド : lin2melsecq [config file] [Device:StartAddress] [Data1] … [Data48]
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress] … PLCへデータを書き込むデバイスを指定
                   デバイス、先頭アドレスを":"で区切りで指定
  [Data1]〜[Data48] … 書き込むデータ
                ワードデバイスに書き込む場合には"0x"をデータの頭につけると
                16進数表記の書き込みが可能になります。
 ○使用例
$ lin2melsecq /home/fws/conf/plc.conf R:1000 0x0000 1 3 0xFFFF
$ lin2melsecqE /home/fws/conf/plc.conf R:1000 0x0000 1 3 0xFFFF

◆lin2fp0 … 松下電工 FPシリーズへデータを書き込み
 ○コマンドパス : /usr/local/bin/lin2fp0
 ○コマンド : lin2fp0 [config file] [Device:StartAddress] [Data1] … [Data8]
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress] … PLCへデータを書き込むデバイスを指定
                   デバイス、先頭アドレスを":"で区切りで指定
  [Data1]〜[Data8] … 書き込むデータ
                ワードデバイスに書き込む場合には"0x"をデータの頭につけると
                16進数表記の書き込みが可能になります。
 ○使用例
$ lin2fp0 /home/fws/conf/plc.conf DT:100 0x0000 1 3 0xFFFF

◆lin2cs1/lin2cs1E … オムロン SYSMAC-CS1/CJシリーズへデータを書き込み
 ○コマンドパス(RS-232C) : /usr/local/bin/lin2cs1
 ○コマンドパス(Ethernet) : /usr/local/bin/lin2cs1E
 ○コマンド : lin2cs1 [config file] [Device:StartAddress] [Data1] … [Data8]
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress] … PLCへデータを書き込むデバイスを指定
                   デバイス、先頭アドレスを":"で区切りで指定
  [Data1]〜[Data32] … 書き込むデータ
                ワードデバイスに書き込む場合には"0x"をデータの頭につけると
                16進数表記の書き込みが可能になります。
 ○使用例
$ lin2cs1 /home/fws/conf/plc.conf DM:100 0x0000 1 3 0xFFFF
$ lin2cs1E /home/fws/conf/plc.conf DM:100 0x0000 1 3 0xFFFF

◆lin2pc3j/lin2pc3jE … JTEKT TOYOPUC-PC3Jシリーズへデータを書き込み
 ○コマンドパス(シリアル) : /usr/local/bin/lin2pc3j
 ○コマンドパス(Ethernet) : /usr/local/bin/lin2pc3jE
 ○コマンド : lin2pc3j [config file] [Device:StartAddress] [Data1] … [Data8]
  [config file] … PLC設定ファイル(Webで設定したものは/home/fws/conf/plc.confになります)
  [Device:StartAddress] … PLCへデータを書き込むデバイスを指定
                   デバイス、先頭アドレスを":"で区切りで指定
  [Data1]〜[Data32] … 書き込むデータ
                ワードデバイスに書き込む場合には"0x"をデータの頭につけると
                16進数表記の書き込みが可能になります。
 ○使用例
$ lin2pc3j /home/fws/conf/plc.conf P1D:100 0x0000 1 3 0xFFFF
$ lin2pc3jE /home/fws/conf/plc.conf P2D:100 0x0000 1 3 0xFFFF
JTEKT TOYOPUC-PC3JのEthernetの場合、ビットデバイスへの書込みはEthernetカードと同一の PRG.Noのみになります。この場合、Deviceの指定は読込みの際の P1Y ではなく Y のように PRG.Noを取った形で指定してください。異なる PRG.No へのビット書込みは行えません。

5.1.13.FeWSサービス起動中にPLCへデータを書き込む

※この方法はF&eWSサービスが動作中の場合のみ利用可能です。
◆接続しているPLCへデータを書き込む
 ○コマンド : echo [Device:StartAddress] [Data] > /dev/plcout
  [Device:Address] … PLCへデータを書き込むデバイスを指定
                デバイス、アドレスを":"で区切りで指定
  [Data] … 書き込むデータ
                ワードデバイスに書き込む場合には"0x"をデータの頭につけると
                16進数表記の書き込みが可能になります。
 ○使用例
$ echo D:0 1000 > /dev/plcout

JTEKT TOYOPUC-PC3JのEthernetの場合、ビットデバイスへの書込みはEthernetカードと同一の PRG.Noのみになります。この場合、Deviceの指定は読込みの際の P1Y ではなく Y のように PRG.Noを取った形で指定してください。異なる PRG.No へのビット書込みは行えません。

5.1.14.アナログ出力からデータを出力する

◆アナログ出力からデータを出力する
 ○コマンドパス : /usr/local/bin/dactrl
 ○コマンド : dactrl --set [DeviceID] [Channel] [Data]
  [DeviceID] … 出力するデバイスのDeviceID
  [Channel] … 出力するチャネル
  [Data] … 出力する値(ハードウェアに出力する値*3)
                DAI12-4の場合 0 〜 4095、DAI16-4の場合 0 〜 65535
                "0x"をデータの頭につけると16進数での指定が可能です。
 ○利用可能デバイス : DAI12-4(FIT), DAI16-4(FIT)
 ○使用例
$ dactrl --set 3 0 4095
*3.ハードウェアの解説書を参照ください

5.1.15.任意のタイミングでファイル保存をコントロールする

※このコマンドはF&eWSサービスが動作中の場合のみ利用可能です。
◆ファイル保存処理を制御する
 ○コマンドパス : /usr/local/bin/loggerctrl
 ○コマンド : loggerctrl [Option] [SaveID]
  [Option] … --save / --fill / --dump
     --save … 収集中のファイルに1件保存します
     --fill … 収集中のファイルを満了にします
     --dump … 収集中のファイルをCFにコピーします
     --show … 収集中のファイルの今のデータ内容を出力します
  [SaveID] … 保存設定番号(0〜9 ※ファイル保存設定番号から1引いた値)
 ○使用例
  保存設定4(SaveIDは3(=4-1))に現在のデータを追加
$ loggerctrl --save 3
  保存設定5(SaveIDは4(=5-1))を満了にする
$ loggerctrl --fill 4
  保存設定3(SaveIDは2(=3-1))で収集中のファイルのコピーをCFに保存
$ loggerctrl --dump 4
  保存設定2(SaveIDは1(=2-1))で収集中のファイルの現在のデータ内容を表示
$ loggerctrl --show 1
2009/01/19 10:03:56,0 ,0 ,0 ,0.00 ,0.00 ,0.00 ,0.00 ,0 ,0 ,0 ,0 ,56 ,5656.56

5.1.16.シリアル通信の確認を行う

このツールを使うことで対話的にシリアルポートを使ったデータの送受信が行えます。
◆ファイル保存処理を制御する
 ○コマンドパス : /usr/local/bin/rstest
 ○コマンド : rstest
プログラムを起動するとシリアルポートの設定が対話的に行われ、その後にメニューから シリアルポートのデータの送受信が行えます。

5.1.17.他のF&e Web Server Exと通信する

このコマンドを使うことによって他のF&e Web Server Exのコマンドを実行できます。
コマンドを実行するとUDPで指定されたF&e Web Server Exにリモートコマンドの実行を依頼し、実行結果を標準出力に表示します。
受信先のF&e Web Server Exではroot権限でコマンドが実行されます
◆別のF&e Web Server Exでコマンドを実行する
 ○コマンドパス : /usr/local/bin/netcmdreq
 ○コマンド : netcmdreq [IP]:[Port] [Command] [arg1 arg2 ...]
  [IP ] … 通信先のF&e Web Server ExのIPアドレスを指定します
  [Port] … 通信先のF&e Web Server ExのPort番号を指定します。通常は10506を指定します
  [Command] … 実行するコマンドを指定します。
        コマンドは通信先のF&e Web Server Exで予め設定しておく必要があります
  [arg1 arg2 ...] … Commnadで指定したコマンドの引数を指定します。
        引数の受取りは通信先のF&e Web Server Exで予め設定しておく必要があります
 ○使用例
  IPアドレス:192.168.1.101のF&e Web Server Exで「getdata all」を実行
$ netcmdreq 192.168.1.101:10506 GETDATA all
0,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,4,1,0.000000,0.000000,0.000000,0.000000
2,0,0
3,8,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4,0,0
5,0,0
6,0,0
7,0,0
P0,48,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
P1,0,1
P2,0,1
P3,0,1
P4,0,1
P5,0,1
P6,0,1
P7,0,1
P8,0,1
P9,0,1
P10,0,1
P11,0,1
P12,0,1
P13,0,1
P14,0,1
P15,0,1
U0,2,1,6.000000,606.060000
 ○F&e Web Server Exのリモートコマンド受け取り設定
  netcmdreqコマンドで送信するリモートコマンド受付側で設定しておく必要があります。
  設定は/etc/netcmd.lstというファイルを編集することで行います。
  編集の際にはrommodeコマンドでCFを書込み可能にした上でrootで行ってください。
  工場出荷時には以下のように設定されています。
0:HELO:echo "hello"
1:GETDATA:/usr/local/bin/getdata
1:CNTCTRL:/usr/local/bin/cntctrl
1:SHUTDOWN:/sbin/shutdown
  設定は1行で1コマンドを定義します。設定は「:」区切りで順に
   ・コマンド引数受付けの有無 … 0:無し, 1:有り
   ・コマンド名  … netcmdreqコマンドから渡すコマンド名
   ・実行コマンド … 受け取ったコマンド名で実際に実行するコマンドの絶対パス
  になります。
  設定は編集後に直ちに反映されます。

  工場出荷時の設定では
  1).生存確認(HELO)
$ netcmdreq 192.168.1.101:10506 HELO
hello
  2).データ取得(GETDATA) ※getdataコマンド
$ netcmdreq 192.168.1.101:10506 GETDATA P0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  3).カウンタ制御(CNTCTRL) ※cntctrlコマンド
$ netcmdreq 192.168.1.101:10506 CNTCTRL --setall 3 0
  4).シャットダウン(SHUTDOWN) ※shutdownコマンド
$ netcmdreq 192.168.1.101:10506 SHUTDOWN -r now
  の4コマンド分の設定が定義されています。


メニュー 5.もっと便利な使い方 5-2.F&e Web Server Exインストール済みプログラム

CONTEC.CO.,Ltd.