計測自動制御学会東北支部 第 217 回研究研集会(2004.7.15)
資料番号 217-3

Linux による Serial-Ethernet 変換器を用いた遠隔制御システムの構築
The Construction of Remote Control System Using Serial-Ethernet Converter by Linux○ 橋元直樹*，秋山宜万*，松尾健史*，三浦武*，谷口敏幸*○ Naoki Hashimoto*，Yoshikazu Akiyama*，Kenshi Matsuo*，Takeshi Miura *，Toshiyuki Taniguchi**秋田大学*Akita University
キーワード：遠隔制御(remote control)，通信遅延(time delay)，パケット損失(packet loss)，リナックス(linux)，シリアル−イーサネット変換器(serial-ethernet converter)
連絡先：〒010-8502 秋田県秋田市手形学園町 1-1 秋田大学工学資源学部 電気電子工学科
三浦武，TEL：(018)889-2329，FAX：(018)837-0406，E-mail：miura＠ipc.akita-u.ac.jp

1．はじめにを共通の線で結び，標準化された信号形式と伝送手順を用いて，その間の通信を行い，分散し近年の情報通信技術およびインターネットた制御システムを統一する分散制御システム

をはじめとするその利用技術には目覚しいもへの要求が高まってきている．しかし，ネットのがあるが，その展開の一つとして情報通信ネワークを制御のための信号を伝える媒体としットワークと制御理論の融合が注目されてきて使おうとすると，制御装置と制御対象はパケ

1)ット通信による計測・制御信号の送受信を行うている ．
従来の制御では，制御対象と制御装置が何十ため，ネットワークの込み具合による信号の遅メートルも離れて置かれている場合でも制御れが無視できないだけではなく，どれだけ遅れ信号の伝達，すなわち通信の問題は制御とは切るかを予測できないなどの「通信遅延」や，トり離して考えるのが普通であった．制御の側でラフィックなどの通信環境によって「パケットは，通信は遅れなしに理想的に行われる．すな損失」などの問題が生じ，制御システムに大きわち通信路容量は無限大であるとして設計し，な影響を与えると考えられる．このようなこと

一方，通信路はなるべく遅れを少なくするようから，制御システムにおいて通信の問題を切りに設計する．このように，両方の問題を分けて離して考えることができなくなった．

2)

本研究では実際に遠隔制御システムを構築考えていた ．
近年の技術進歩に伴って，プラントなどの新し，遠隔制御の基礎実験を行った．また，計測・設や保守を効率的に行うため複数の制御装置制御データの転送においてパケット損失が発1

2‑1．RDTSC の精度生した場合，制御システムに与える影響について考察した．
なお，本研究では低コスト性および汎用性をCPU に内蔵されている 64bit カウンタ（Time考慮して，制御システムの OS にはフリーかつStamp Counter）より周波数クロックを取得する

オープンソースである Linux とし，近年高速，RDTSC (Read Time Stamp Counter) 命令を利用

低価格化が進んでいる Ethernet， また現在のして一定周期で処理を実行させる．RDTSC はネットワークにおいて最も普及し標準的なプLinux の時間管理に用いられており，分解能はロトコルである TCP/IP を用いている．また，

1CPU クロック，安定性はコンピュータの持つFA 業界の標準であるシリアル機器を統一，管水晶発振器に依存する．本研究では Intel 社の理を行う分散制御を想定し Serial-Ethernet 変換

Celeron プロセッサ 1.0[GHz]を搭載した PC/AT器を用いて遠隔制御システムを構築した．

互換パーソナルコンピュータを使用しており，分解能は理論上 1[ns]となる．しかし，クロッ

2． Linux によるリアルタイムによるリアルタイム実行
リアルタイム実行

クの精度は利用環境にも著しく影響されるので理論通り 1[ns]とはならない．よってここで，制御において，信号のサンプリング間隔の精RDTSC の精度を確認するため RDTSC で 1[µs]度および揺れ幅すなわち安定性はデータの解(1000 クロック)の空ループを 1[s](1000000 クロ

析結果に大きな影響を与えるため，センサ信号ック)間実行させる．この方法により 1[µs]に生を読み取り，制御演算を行い，アクチュエータじる極めて小さな誤差も 1000000 回ループさに制御信号を送るなどの処理をリアルタイムせることによって誤差が蓄積され 1[s]後にはで行うことが非常に重要である．ここで言うリ測定可能な大きな誤差となって現れる．結果，

アルタイムとは処理の実行開始が指示されて1.142074[s]となり，これより RDTSC では 1[μから処理終了までの時間が規定され，実時間制s]で約 150[ns]程度の誤差を生じることが分か約を保障するという意味である．近年の制御手った．

法の多くはこのように一定周期で制御則を実2‑2． リアルタイム処理アルゴリズム行することが一般的である．OS のないシステ
ムや MS-DOS のようなシングルタスクの OSでは，CPU を自由に使用可能なため，一定周リアルタイムで処理を行わせるアルゴリズ期で制御則を実行する点には問題がない．それ

ムは，RDTSC によりクロック取得を繰り返しに対して，Windows や Linux のようなマルチタながら，ある目標時間になると処理を実行させスクの OS では CPU を使える時間が原則としるものである．最初に基準となるクロックを取て不定であるため，一定周期で処理を実行でき得し，変数に取り込む．その変数に周期時間をない可能性がある．しかし，本研究では低コス加え目標時間とし，その後 RDTSC で時間取得

トにシステムを構築するため，フリーでオープを行わせながら処理実行を待機させ，取得時間

ンソースな OS である Linux を用いることを考が目標時間になると処理を実行する．以上を繰える．はじめに，この Linux を制御用の OSり返し行わせることによりリアルタイムで処として使用することが可能であるかを検討す理を行わせる．なお，取得されたクロックは時る．

間に換算している．Fig.1 にリアルタイムで処理を実行するアルゴリズムのフローチャートを示す．
2

開始

2
interval [ms]基準時間の設定
目標時間の設定no

目標時間経過？

時間取得

1

yes
処理実行

500
cycle

0

no終了？
yes

Fig.2

終了

1000

Period of process execution(1.0[ms]，1000cycles)

Fig.1

Flowchart3．Serial−
Serial−Ethernet 変換器（変換器（XPort）XPort）

2‑3． 性能評価実験

FA 業界でスタンダードとして使用されているシリアル機器では，まだシリアル通信が主流上記のアルゴリズムを用いて周期精度およである．Ethernet コントロールをもたず外部とび周期時間の揺れ幅を確認する実験を行った．の通信手段としてシリアルを標準装備した

1[ms]周期を目標として，1000 周期の計測を行CPU は，安価で扱いやすい．また歴史が古いたった．実験結果を Fig.2 に示す．稀に 2[ms]のめ，蓄積された多くのリソースが存在し，簡単ように周期が長くなる，すなわち実行が遅れるにそれらを放棄するわけにはいかない現状もという特徴が見られた．しかし，目標周期に対ある 3)．

する平均誤差は 4[μs]となり，周期の揺れ幅はXPort はシリアル機器を Ethernet に接続する平均 1%(誤差 ± 10[μs])以内に収めることがでために必要なハードウェア／ソフトウェアをき，また誤差が 1%以上の数は 1000 回中約 20搭載しており，シリアル機器を Ethernet 経由で個となり，全般に目標周期は精度良く保たれて完全にコントロール可能にすることができる．

いる．

その結果，複数のシリアル機器を 1 台の PC で集中管理することや，1 台のシリアル機器を複以上の実験結果から周期の揺れ幅も非常に数の PC で共有することも可能となる．

小さく，また周期が長くなる確率も小さいことからリアルタイム機能を持たないマルチタス

本研究では，この XPort を使用し遠隔制御シ

クな Linux を制御用の OS として使用するこステムを構築する．また，実際のフィールドでとが可能であると考えられる．

は XPort のシリアルポートに接続されるのは本手法は，Linux 本体にはなるべく手を加え計測器，アクチュエータ，コントローラなどであるが，本研究では制御の方法論に自由度を持ず，開発の容易さを重視した手法である．

たせるため汎用のコンピュータを用いて制御システムを構築する．

3

4． 通信機構

Table.1 Statistic result [ms]Linux にはネットワークで接続された他のコンピュータのプロセス間で双方向通信が可能となる socket システムコールが用意されている．ソケットはネットワークで接続された他のコンピュータのプロセス間で通信し，データのaverage

30．073maximum

54．320minimum

26．023standard deviation

290938．4

medium30．068

読み書きすることによって，双方向通信が可能

Round Trip Time [ms]である．ソケットはメモリ内に設けられたバッファ領域をプロセス間の通信経路にしている．
通信手順は，まず socket( )でプロセス間通信のための端点を作成する．そして connect( )でSerial−Ethernet 変換器に対して接続要求を行う．接続に成功すると通信用ソケットを読み書きすることによってデータの送受信を行う．ま50

40

30

た本研究では，現在最も普及しているネットワ

0ークプロトコル TCP/IP を用いる．
Linux でシリアル通信を行う場合，デバイス

5000
cycle
Fig.3

ファイルを利用する．本研究においてシリアル10000

Round Trip Time側では，シリアルポートのデバイスファイル/dev/ttyS0 を読み書きすることによってデータの送受信を行う．

600packets

5． 遅延特性の計測
本研究で使用する Serial−Ethernet 変換器の400200

性能およびネットワークのパケット遅延特性を評価するため以下の実験を行った．

030.005‑1． 性能評価実験

30.05
30.10
30.15
Round Trip Time [ms]Fig.4

評価するネットワークに接続されたコンピ

Histogramュータ間に連続的にパケットを流す ping−pong 実験により，パケットの往復時間（RTT：

ライアントはサーバに向けて 4Byte の数値デ

Round Trip Time）すなわち通信遅延を計測し，ータを送信し，サーバはデータを受け取り，そSerial−Ethernet 変換器の性能およびネットワのままクライアントに向けてエコーバックすークの特徴付けを行う．本研究では，クロスケることによって RTT の計測を行った．また，ーブルを用いて XPort を介し 2 台の Celeron

送信データのヘッダにはパケット損失を確認

1.0[GHz]の PC を接続し RTT の計測を行う．ク4

Host Computer

Networkedm ++v+PI controller

Remote Computerplant•c− b++dFig.5

Remote control model

するために送信番号を組み込んだ．なお，試行る方式の 80%以上を占める PI 制御を用いた．

回数は 10000 回，PC 間の距離は約 1.5[m]であなお本研究では，ハブやルーターなどの通信機る．

器を介さずに 2 台のコンピュータを Serial−Ethernet 変換器経由で直結しデータのやりとり

5‑2． 実験結果および考察実験結果および考察をする閉ざされたネットワークで実験を行う．
Fig.5 に本研究で構築した遠隔制御モデルを示す．

統計値を Table.1 に，RTT の計測結果を Fig.3にそれぞれ示す．これらより，ほぼ全てのパケ6‑1．実験システム

ットが遅延 30[ms]付近に集中しており，RTTの平均値は約 30[ms]であることが分かる．また，ごく稀に 50[ms]程度の遅延が生じている

本研究での実験システムを Fig.6 に示す．リことが確認できる．Fig.4 は横軸を遅延時間，モートコンピュータがドライバとなりモータ縦軸をパケット数としたヒストグラムである．

を駆動し，ホストコンピュータが制御演算を行

ただし，遅延時間は 30[ms]付近に限定してあう役割を担っている．

る．この図から分かるようにパケットの遅延特

リモートコンピュータから DA 変換器によ性は正規分布や指数分布ではなく 3 つ山型にってアナログ電圧に変換され，アンプで電力増なっている．また本研究においてパケット損失幅を行い DC サーボモータへ印加し駆動させは起こらなかった．なお，他のトラフィックがる．モータを駆動した際の回転子速度はタコジ存在しないため評価結果には再現性があるこェネレータによって検出し，ローパスフィルタとが予想されるが，実際に同じ測定を 10 回行および AD 変換器を介してリモートコンピュい再現性があったことを確認した．

ータに取り込まれる．そして，速度情報はシリアルポートから送信し XPort で Serial-Ethernet

6． DC サーボモータのサーボモータの PI 遠隔制御
遠隔制御変換されホストコンピュータへデータ転送される．速度情報を受信したホストコンピュータ

リモートコンピュータとホストコンピューでは PI 速度制御演算を行い，モータの印加電タとの間で遠隔フィードバック制御を行った．

圧となる操作量を算出する．そしてその情報をなお，RTT の平均値が約 30[ms]であることを再び XPort 経由でリモートコンピュータへ転考慮して制御周期は 50[ms]としてある．

送し，モータに電圧を印加する．

制御対象には位置，速度制御に優れる DC サーボモータとし，制御方式は現在実用されてい5

Network

Remote Computer

Serial port

Serial-Ethernet converter

SerialEthernet

AD/DA converter

AmplifierLow-pass filter

Ethernet port

DC Motor

Tachogenerater

Host Computer

Fig.6

Experiment system

2000

1000

time delay [ms]rotor speed [min-1]40.0

remote control
general control

39.5

39.0

012time [sec]
Fig.7

6‑2.

020Fig.8

Step response

遠隔制御によるシステムへの影響

4060cycle

80100Time delay

かる．次に Fig.8 より遠隔制御における時間遅れは平均約 39[ms]となり，また，39.5[ms]程度

本モータに対して想定した設定目標は速度の遅れが周期的に発生していることが分かっ目標値に対してオーバーシュートが生じず，定た．

小さくなるような PI 制御パラメータを試行錯
6‑3.

誤的に設定した．このように制御設計したモー慣性負荷に対する速度応答

タに対して遠隔 PI 速度制御を行った．Fig.7 に速度応答，Fig.8 に計測・制御データの転送時

慣性負荷 5.0×10-5 [N･m･s2]を取り付けた際間すなわち通信遅延の結果を示す．Fig.7 より，の速度応答を Fig.9 に示す．慣性負荷を取り付

一般の制御ではオーバーシュートを生じずにけることによって，一般の制御に比べ大きなオ目標速度に収束するが，遠隔制御を行った場合，ーバーシュートが発生し，整定時間も大きくな

目標速度に対して約 30%程度のオーバーシュ

り，制御性能が劣化してしまっていることが確ートを生じ，速度波形が振動的になっており整認できる．

定時間が大きくなってしまっていることが分
6rotor speed [min-1]

3000
PC

remote control
general control
2000

Rotor Speed Data

Control Calculation

1000

Time Delay
DC Motor

01
Fig.9

2
3time [sec]45
Fig.10

Simulation

Speed response

6‑4.

rotor speed [min-1]

in inertial load wearing

通信遅延に対する速度応答
通信遅延に対する速度応答

計測・制御データの転送時間すなわち通信遅延の長さによってどのように速度応答が変化

2000

1000

non time delay
20[ms]
40[ms]

するか確認するため 1 台の PC で模擬的な実験を行った．Fig.10 に示すように，速度情報を取0得し PI 制御演算を行った後，モータに印加す

0.5
time [sec]1るまで模擬的に時間遅れを発生させるシステ
ムを構築し，時間遅れをそれぞれ任意に変化さFig.11

せた場合の速度応答を Fig.11 に示す．なお，遅respect to various delay time

Speed response with

延時間は 0，20，40[ms]の 3 パターンとし，制御周期は 50[ms]である．結果より，時間遅れを大きくしていくと徐々にオーバーシューおいてランダムに発生させるシステムをそれトも大きくなっており，遅延時間の長さが制御ぞれ構築し，パケット損失間隔と個数をそれぞ特性に影響することが分かった．

れ変えて実験を行う．ここで，損失したデータをどのように補間するかが問題となるが，本研

6‑5.

究ではまず，3 次のラグランジュ補間法とパケ

パケット損失によるパケット損失によるシステムによるシステムへの影響
システムへの影響

ット損失が発生した 1 つ前の操作量を利用す
これまでの実験ではデータ転送によるパケる方法で損失データの補間を行い両者の補間ット損失は生じなかった．しかし実際にインタ法を比較した．なお，パケット損失は 250[ms]ーネットを利用した遠隔制御を行った場合におきに一定間隔で計 10 個発生している．結果はトラフィックなどの通信環境によってデーを Fig.12 に示す．これより，(a)と(b)どちらのタが損失する可能性が考えられる．このように補間法でも速度制御できているものの，(a)のパケット損失が発生したとき，どのように速度ラグランジュ補間では速度波形が大きく振動応答特性が変化するか実験を行った．

していることが確認できる．これは，パケット損失が発生するまでの操作量が大きく変動しパケット損失を一定間隔および過渡状態に
7

rotor speed [min-1]

rotor speed [min-1]

2000

1000

2000

1000
using front data
packet loss point

lagrange
packet loss point0012time [sec](a) Lagrange interpolation

12time [sec](b)Front data interpolationinterpolated value

2000

rotor speed [min-1]

rotor speed [min-1]

Fig.12 Speed response

1000

012time [sec]2000

interpolated value

1000

012time [sec](b) packet loss：25(a) packet loss：4
Fig.13

Constant packet lossていたためラグランジュ法ではうまく補間でケット損失における大きな影響はみられなかきなかったと考えられる．よって，以下の実験った．

では(b)のパケット損失が発生した 1 つ前の操定常状態では操作量の変化が少ないため，た作量を利用する方法で損失データの補間をし，とえデータロスが発生しても大きな影響は出遠隔制御を行う．

ないと考えられる．よって次の実験では過渡状

Fig.13(a)にパケット損失が 500[ms]おきに一態においてパケット損失が発生した場合にの定間隔で計 4 個発生した場合，(b)に 100[ms]み限定して実験を行った．過渡状態をおきに計 25 個発生した場合の速度応答を示す．

0~1.0[sec]と定義し，その間でランダムにパケ(b)では 50%ものデータが損失しているにもかット損失を発生させるシステムを構築し，パケかわらずオーバーシュートも生じず，制御性能

ット損失数によって速度応答がどのように変を劣化させない結果となった．また(a)ではパ化するか実験を行った．実験結果を Fig.14 に8rotor speed [min-1]

rotor speed [min-1]

interpolated valueinterpolated value

2000

100002000

1000012time [sec](a)packet loss：3
Fig．1412time [sec](b)packet loss：10

Random packet loss

示す．(a)はパケット損失数が 3 個，(b)は 10 個

パケット損失に依存するため，それらを制御のである．結果より，パケット損失数が増加する一部分として組み込まれなければならない．

につれて整定時間が大きくなり，制御性能が劣化してしまった．これより過渡状態におけるパ

参考文献

ケット損失が遠隔制御システムにおいて大き

1) 汐月哲夫：情報通信ネットワークと制御理な影響を与えることが分かった．

論の融合の可能性，465/468，計測と制御，(2004)
2)木村英紀：制御工学の考え方，206/209，(2002)

7． おわりに3) 川口幸裕：シリアル機器を Ethernet に接続する，139/145，Interface，(2003)

近年，遠隔制御が非常に大きな注目をされている．しかし，遠隔制御を行う場合，通信遅延やパケット損失が制御システムに大きな影響を与えると考えられる．
本研究では実際に DC サーボモータの遠隔制御を行ったところ，6 章で示したようにオーバーシュートを生じてしまい，整定時間が大きくなる結果となった．このことから通信遅延が制御性能の劣化を引き起こしていることが示された．また，過渡状態において計測・制御データの転送中にパケット損失が発生することによっても，速度波形が大きく振動するなどのようにシステムに対して大きな影響を与えてしまうことも示された．
今後の課題として，制御の性能は通信遅延や9