T1-1 restart log
Summary
主要機器
T1-1 PC-01
OS : Windows 10
IP : 172.16.24.161
LabVIEW : 2020 (32bit) + Real-time module 2020 [インストールの詳細はこちら]
Account/PW: T1-1/t11user
SPICE program : 2021.1に動いていたものはこちら : (SPICE_T1-1_backup_20210122.zip)
このzipファイルは以下のフォルダを含んでいる
Spice用プログラム
spice
T11_SPICE_User
これらをcドライブ直下に展開して、C:¥Spice用プログラム/SPICEvi/ の中の「SPICE TAS Control.lvporj」を開いて、TAS Controller for SPICE.viをPXI RT targetで実行し、その後launch_spice.viを実行することでSPICEが起動できる。
PXI
OS : LabVIEW RT version 20.0
IP : 172.16.24.162
必要なini files: ni-rt/startup/ini/ 以下に system.ini, tasctrl.ini を入れる。2021.1に使用していたものはこちら( PXI_ini_files_20210219.zip 不必要なファイルも入っていますが、とりあえず今動いているPXIに入っていたiniファイルの全てです。)。
PLC
FA-M3
IP : 172.16.24.163
ラダープログラム(SPICE用):SP_5G_2.zip(2021.1現在動いているもの)。このzipファイルを解凍し、アプリケーション「Widefield」を使ってPLC上にコピーして走らせる。filman用のラダープログラムとは異なる。
2021年2月19日
ガイドホールでの作業
T1-1用desktop PCにWindows 10とLabVIEW2020, Real-time module 2020をインストールしたものをT1-1に設置した。
IP等を以前のマシンと同じに設定し、このWindows 10マシンからSPICEを動かすことができた。
注意点
またしても、PXIとの通信がうまくいかなかった。Windows defenderをOFFにすると正常に角度が表示された。Windows側の設定で、Windows defenderをONにしたままPXIとの通信用のportを開くことができるはずなので、後日その設定が必要。
2021年1月22日
ガイドホールでの作業
大山先生、岩佐先生とともにガイドに入り、T1-1で装置を動かしながらSPICEの説明を行った。
元々T1-1のコントロールPCだった Windows 7機を杉浦さんにwindows 10にしていただいた。しかし、Windows 7にもともと入っていたLabVIEW2012は、Windows 10上では動かなかった。そのため、LabVIEW2015以上のバージョンのLabVIEWが必要。
今回は中島研のWindows 10 note PC(Windows 10+LabVIEW2020)でT1-1を動かした。
1/7に疑問であった点で進展があったのは以下の点。
(1) LabVIEW real-time moduleが東大のライセンスに入っていない?->入ってました
中島研のWindows 10ノートを開いてNIのライセンスを確認し、以前情報センターからもらったシリアル番号を入力するとLabVIEW2020のReal-time moduleをactivateできた。
(1) status monitorのポートについて->ネットワーク設定を「プライベート」にする必要がある(?)
1/7はWindows 10側の「Windows defender」をoffにすると各軸が正しく表示され、drive, scan等のコマンドで正しく動かすことができた。
おそらく、status monitorの通信に使っているポートがWindows defenderによって遮断されていた可能性があるのではないかと思われる。
これは、Windowsが装置に接続された際に、それを「パブリックネットワーク」と認識したためである可能性がある。接続を「プライベート」にする方法を調べ中。
2021年1月7日
ガイドホールでの作業
念願叶ってWindows10 でSPICEを動かすことができた。ただいくつか問題も残ってる。
今回試したこと
Windows 10 + LabVIEW2020のインストールされたノートPCを持ち込み、従来のWindowsコントロールPC(Windows7)と入れ替えた。IP等も同じにした。
Windows 7機からC drive直下の「spice」「Spice用プログラム」「T11_SPICE_User」フォルダをWindows 10機にコピー
Main TAS.viを開き、C11日誌2020年12月24日で指摘されていたCodemaxの件を解決すべく、「Is Windows?」のboolean変数に繋がるワイヤからOS判定コマンドを切り離し、代わりに「False」の定数を接続した。
現在Windows 7のLabVIEW2012と組み合わせてうまく動いているPXIは温存し、以前C1-1のバックアップだったGPIBの無いPXIをラックにセットし、PXI上のLabVIEW RTをNI-MAXを使ってversion 20に入れ替え。(依存関係のあるプログラムも合わせて更新)こうすることで、Windows10機に入っているLabVIEW2020とバージョンを合わせた。
Windows 10機からSPICE TAS Control.lvporjを起動し、TAS controllerをPXI にdeployして実行、その後Launch spiceしてSPICEから分光器を動かすことができた。
ただ、ここにたどり着くまでにいくつか躓きポイントがあった。
(1) RTターゲットを有効化するにはLabVIEW2020 (32 bit版)が必要?
東大の情報センターからLabVIEWライセンスを取得してLabVIEW2020をインストールしたノートPCを用意した。当初はLabVIEW2020 64bitを用意していた。
これで「SPICE TAS Control.lvporj」を起動すると、本来PXIが表示され「RT PXIターゲット」と書かれている部分がエラー表示となっており、「このLabVIEWにはこの機能を実行するmoduleがありません」という意味のメッセージが出ていた。
PXIを制御するには、Windows機側のLabVIEWにもLabVIEW Real-time moduleだと判断し、その追加インストールを試みたが、そのmoduleが32 bit版のみ対応だった。
https://www.ni.com/pdf/manuals/374714l_0112.html
よって、ノートPCに32bitのLabVIEW2020をノートPCに入れ直すところから始め、それにReal-time moduleも追加インストールして「SPICE TAS Control.lvporj」を開いたところ、ようやく「RT PXIターゲット」の部分が正しく表示されるようになった。
(2) LabVIEW real-time moduleが東大のライセンスに入っていない?
追加インストールした時に情報センターからもらったシリアルでReal-time moduleをactivateできなかった。現在は試用モード(残り〜40日)で動かしている。
ナショナルインスツルメンツに電話してみたところ、LabVIEW academic packageには一応Real-time moduleも含まれているはずだという返答を得た。これを正しくactivateする方法について現在情報センターに問い合わせ中。
(3) status monitorのポートについて
無事に「TAS Controller for SPICE.vi」をPXI上で実行し、launch spice.viでSPICEを立ち上げたものの、status monitorに各軸の角度が表示されなかった。
PXI上のパルスモーターマネージャー等は正しく動いているようだったが、その中で現在角をstatus monitorに返すTCP通信でエラーが出ていた。
時間がなくてあまり詳しく調べられなかっが、とりあえず、Windows 10側の「Windows defender」をoffにすると各軸が正しく表示され、drive, scan等のコマンドで正しく動かすことができた。
おそらく、status monitorの通信に使っているポートがWindows defenderによって遮断されていた可能性があるのではないかと思われる。
これはSPICEおよびLabVIEWの問題ではなく純粋にWindowsの問題と思われるので、Windows defenderをONにして、かつ、特定のポートをstatus monitorのために解放する手順を今後調る。
今後の課題
とりあえずWindows 10にしてもSPICEは動くということが分かったので、現在のWindows 7機は10へとアップグレードする。(もしそこで何かトラブルが起きたとしても、中島研ノートPCからSPICEを使えるので、T1-1の装置整備は続行できる)
ナロアーの挙動がおかしい。これに関してはWin 7 / 10に関わらず出ている症状なので、今後viをチェックしてみる。
2020年12月24日
ガイドホールでの作業
12/22に確認された「パルスモーターマネージャー2」の中の「run判定.vi」で「VI リファレンスが存在しない」というエラーについて、桜井さんに聞いたところ、tasctrl.iniの中のpathが存在しないviを参照していたことがわかった。変更前のiniファイルの一番下の方には、
[ATT]
path="C:\\ni-rt\\STARTUP\\startup.exe\\att driver.vi"
[c2000]
path=counter
[h]
path=C:\\ni-rt\\STARTUP\\startup.exe\\pseudo.vi
[k]
path=C:\\ni-rt\\STARTUP\\startup.exe\\pseudo.vi
[l]
path=C:\\ni-rt\\STARTUP\\startup.exe\\pseudo.vi
[q]
path=C:\\ni-rt\\STARTUP\\startup.exe\\pseudo.vi
[e]
path=C:\\ni-rt\\STARTUP\\startup.exe\\pseudo.vi
[ei]
path=C:\\ni-rt\\STARTUP\\startup.exe\\pseudo.vi
[ef]
path=C:\\ni-rt\\STARTUP\\startup.exe\\pseudo.vi
という記述があった。現状のWindows 7場で動かしているSPICE関連のコードはアプリケーションとしてビルドされたものではないため(?)このstartup.exe以下のpseudo.viは呼び出せないらしい。そこで、上記の「path=」のラインが入っているブロックを消去したところ、エラーは出なくなった。
また、「driveコマンドを入れた直後は動かないがholdすると動く(その後holdされる)」という症状があったが、 これはタッチパネルの「Local/Remote」ボタンが「Local」になっていたためだったことが判明。「Remote」にしたところ、ナロアーを除く全ての軸がSPICEから動作できるようになり、UB matrixを決めて逆格子スキャンをするところまでできるようになった。
次回はWindows10+LabVIEW2020にこのSPICE環境を移植し、動作確認をする予定。また、ナロアーが動かない問題も原因を探る。
2020年12月14,22日
12/14 ガイドホールでの作業
Windows 7から「SPICE TAS Control.lvporj」を開き、TAS Controller for SPICE.viを開いた。さらにブロックダイアグラムを開いて行き、「read curr_angle.vi」を開いた。
そこには、各軸情報(軸名、エンコーダーの有無、そのタイプ、pulse/angleの変換定数等)を入力するボックスがあるので、手作業で入力し、そのvi単体で実行すると PXI上で実行された。
(この作業は、windowsから直接viを開くとダメらしい。lvprojファイルでRT targetとして指定されているviを開き、そこに含まれているsub viを芋づる式に引っ張ってくると、単品でもPXI上にdeploy してからexecute される。)
その結果、PXI上でread curr_angleを実行すると、PLCから正しく角度情報を取れているらしいことがわかった。これによりPXIとPLCの通信は問題なしと判明。
12/22 ガイドホールでの作業
まず、Windows 7のアカウントとログインパスワードをメモしておく
User : Admin / PW: neutrons
User : t11 user / PW: t11_user
Admin権限になって確認してみたが、windows 7側のTCP通信のportは問題なし。LabVIEW2012が全てのポートを使えるようになっていた。
普通にTAS Controller for SPICE.viとSPICE本体を起動しようとするも、やはりstatus monitorに角度が表示されない。
status monitorのviを開いて中身を見てみたところ、そのviが呼ばれた階層のini/フォルダーにいくつかの.iniファイルが入っていることを前提としてプログラムが書かれていることがわかった。以下にiniファイルについて整理しておく。
[PXI] ni-rt/startup/ini/ に入れておくべきもの
system.ini (各装置のIPやport番号が入っている)
tasctrl.ini (各軸のエンコーダー情報、パルス・角度変換に関わる情報などが入っている)
[Windows 7] C:¥Spice用プログラム/SPICEvi/ini/ に入れておくべきもの
system.ini (上のPXIに入れたものと同じものがここにも必要。ここからstatus monitor のポート番号などを読んでいる)
status monitor.ini (status monitorに表示する軸情報など)
今まではWindows 7上のini folderに入っていたsystem.iniが空だった。そのため軸が正しく表示されていなかった。
PXIに入れたのと同じsystem.iniをWindows 7上のiniフォルダにも入れたところ、SPICEを起動して各軸の情報が表示されるようになった。
その後、「count present time 2」のコマンドを試したところ、fast counterが正しく2秒間カウントした。これでSPICEとカウンターの接続はOKであることがわかった。
ただ、「driverel a2 1」のように軸を動かそうとすると、status monitor上のアクセスランプは一瞬点灯するものの「リトライエラー」と表示されて動かなかった。キューにはそのコマンドが残っているようで、その後「hold a2 1」としてa2軸をfreezeしようとすると、先ほど入力した目的角まで正しく動いてからhold状態になる。(SPICEから軸を動かすこと自体はできた!)
調べてみたところ、TAS Controller for SPICE.viの中の「パルスモーターマネージャー2」の中の「run判定.vi」で「VI リファレンスが存在しない」というエラーが出ている模様。おそらくここを解決すれば軸の動作に関しては大丈夫だと思われる。この点を24日に検証予定。
2020年11月16,26,30日
11/30のガイドホールの作業について、杉浦さんより
エアパットの稼働テストを行ったところ、一部エアが出ていない箇所が発見された。
また、装置下部のエアホースは劣化しており、いつ破れてもおかしくない状態にある。
以上の2点より後日、装置を天井クレーンにて吊り上げて、エアパットの不良原因調査とエアホースの交換を行う必要がある。
11/28の桜井さんとのミーティング
WindowsXP機の「C:¥backup」フォルダに過去のラダープログラムと思われるものが入っていることを確認した。下記画像のように2005年ごろ(おそらくPLCが導入されたころ)からバックアップがあり、2010年5月まではラダープログラムの名前は「SAJIKU.YPJT」であった。
2010年5月に非常停止ロジックが追加され、名前が「TASCTRL.YPJT」に変更されたが、基本的には同じものである。
そのため、これら、「SAJIKU」「TASCTRL」はfilman用のラダープログラムである。
SPICE用のラダープログラムは基本的に「SP_***.YPJT」のようなファイル名であるはずであるが、桜井さん曰く、T1-1ようにそのようなラダープログラムを作った記憶は無いとのこと。おそらく5Gのものを流用する形で使っていたと思われる。
11/26には桜井さんからラダープログラムの見方を教わった。時間があったらまとめてここにアップします。
11/30 タッチパッドを使った駆動試験
分光器の上にtilt,translation ゴニオを乗せて、タッチパッドを使って駆動試験を行なった。(ラダープログラムは2010/5の TASCTRL.YPJTを使用)
まず、ラックのブレーカーを上げて各種電源を入れていったところ、PLCのCPUに「ERR」のランプが出ていた。原因はわからないが、一度電源を落として再起動したところ「RUN」が点灯した。
タッチパッドによる軸の動きが非常に遅かったが、なんとか動いていることが確認できた。軸名のCとAが逆になっているので注意すること。
タッチバッドの「C3」ボタン→2θA→PLC Axis 11
タッチバッドの「A3」ボタン→ωA→PLC Axis 12
タッチバッドの「C2」ボタン→2θS→PLC Axis 5
タッチバッドの「A2」ボタン→ωS→PLC Axis 6
タッチバッドの「RYS」ボタン→RYS(Y tilt)→PLC Axis 10
タッチバッドの「YS」ボタン→YS(Y translation)→PLC Axis 9
タッチバッドの「RXS」ボタン→RXS(X tilt)→本来PLC Axis 8のはずだが、widefieldでラダーの中を見ると、RXSボタンを押した時にAxis 23がactiveになってしまう。これはタッチパッドのプログラムミス??
タッチバッドの「XS」ボタン→XS(X translation)→PLC Axis 7
上記の手順で各軸をチェックすることにより、tiltゴニオの配線がわからなくなっていたものが、正しく接続することができた。RXSに関しては(おそらくタッチバッドのプログラムミスにより?)駆動試験はできなかったが、消去法で正しい接続が見つかった。各ケーブルに養生テープを貼って油性マジックで軸の対応を書き入れた。
その後、SPICEを立ち上げを試みた。今回はC1-1から戻してもらったT1-1用のPXIを使って検証したが、PXIのLabVIEW-RTのversionが12.0から下げることができず、WinXP+LabVIEW 7.1からの接続はやはり不可能であった。Win7+LabVIEW2012で接続したが、やはり軸が表示されなかった。SPICEが悪いのか、PXI上のTAS Control for SPICE viが悪いのか今後調査が必要。
2020年11月4日
ガイドホールでの作業
桜井さんに立ち会って頂き、T1-1でSPICEの立ち上げを目指した。
まず、Linux PCの場所に入っていたWindows XP PC (旧コントロールPC)にWidefield2がインストールされていることを確認した。
これを用いてPLCに接続したところ「TASCTRL.YPJT」というラダープログラムがインストールされていることを確認した。
このプログラムを保存しておくべく、Widefield2を使ってPLCのIPアドレスを指定して「アップロード」(直感に反して、”アップロード”がPLCからPCにプログラムをコピーすること)を実行し、ラダープログラムをバックアップした
保存場所 (XP PC) C:¥Spice用プログラム/20201104_PLC_bk/TASCTRL/TASCTRL.YPJT
その後、T11でSPICEを動かす用に以前作ってもらったと思われるラダープログラムを探すが見つからなかった。おそらく5Gのものを使いまわした可能性があるということで「SP_5G_2.YPJT」をWidefield2を使ってPLCに送り込む。
ファイルの場所(XP PC) C:¥Spice用プログラム/SP_5G_2/SP_5G_2.YPJT
XP PCはLabVIEW7しか入っていないので、PXIに入っているLabVIEW 12 (ver. 8以上と互換)と通信できない。そのため、windows 7 PC(LabVIEW2012インストール済み)から各種プログラムを立ち上げる。
Windows7 PCからはLabVIEW プロジェクトファイルを開き、PXIで走らせるプログラムを実行、さらにSPICEを実行。
ファイルの場所(7 PC) C:¥Spice用プログラム/SPICEvi/SPICE TAS_Control.lvproj
SPICE TAS Control.lvproj を開いた画面
SPICEを起動したが、軸情報が正しく読み込めない。調べてみたところ、PXI上にあるべきファイルが足りないことがわかった。
PXI上で「TAS Controller for SPICE.vi」が実行された時に、system.ini, tasctrl.ini という二つのファイルを読みに行く。このファイルの置き場所は
PXI: ni-rt/startup/ini/
である。
filmanを使うときも、同じ場所に axis setting.ini, plc address.ini, などを置いておくことが必要。
PXIの上記のフォルダにアクセスするには、エクスプローラからftp://[PXIのIP address] を使って開く必要がある。
上記の操作を行ったところ、SPICEを起動して軸の現在値らしきものを表示することができた。(ただし、オフセット等はおかしな値なので、実際の角度にはなっていなかった。)
2020年10月28日
桜井さんとの情報交換
PXI, PLCの役割とそれぞれに入っているプログラムについて整理した。
PLC
ラダープログラムがインストールされている。
Filman用のラダープログラムと、SPICE用のラダープログラムは異なる。
PLCにラダープログラムを送る(この操作を”ダウンロード”という。直感には反するが)際には「Widefield」というプログラムが必要。
PXI
LabVIEW real timeが入っている
FilmanやSPICEを動かすには、それぞれ専用のLabVIEWプログラムをコントロールPCからPXIに送る必要がある。
コントロールPCでLabVIEWプロジェクトファイルを開いて、PXIのIPアドレスを指定して実行。
一度PXIの電源を落としてしまうと、上記のLabVIEWプログラムを送り込むプロセスを再度実行する必要がある。
Control PCからはTCP/IP経由で(つまりLANケーブルで)「drive c2 20」「drive coldtip 2」などの文字列を受け取り、それをPLCなどに伝えて実行する。
2020年10月26日
ガイドホールでの作業
IPアドレスの情報を整理した。
filman interface viのフォルダにあった「system.ini」によると
PLC: 172.16.24.163
PXI: 172.16.24.162
との表記があったのでこれを信じることにする。
PXIはC1-1の予備機だったので、IP address 172.16.24.50が設定されていたが、NI-MAXから設定することで(パスワードなしで)172.16.24.162に設定することができた。その際、default gatewayとDNS を入力する必要があるが、両者とも「172.16.24.1」と設定。
サブネットマスクは「255.255.255.0」なので、172.16.24. まではこのサブネット内のPCで共通。
PLCの隣のラックにある「Linux PCと思われていたPC」が起動してみたらwindows XPだったが、これ自身には固定IP 172.16.24.162が割り振られていた。杉浦さんと話した結果、これはおそらく「以前Control PCだったPC」であり、Windows 7 PCを新たに購入した際に元の位置を外されて、今後Linux をインストールする予定で、ラックに移動されたものである可能性が高い。
そのため、現在T1-1にはLinux PCが無い。
Windows XPにはLabVIEW 7がインストールされており、PXIのIP(172.16.24.162)をターゲットとして起動することを試みたが、通信時にエラーが出たという記述が出て止まってしまう。現在のPXI(C1-1予備品)にはLabVIEW8以降がインストールされており、互換性がないと思われる。
SPICEのLabVIEWソース
LabVIEWのソースの中で「te」コマンドに対応する「te.vi」を開いた。
基本的には「drive coldtip [number]」のような文字列を「TCP/IP send」と書かれたsubviに送っている。(おそらくこれはPXIに送られ、PXI側でこのSPICE文法のコマンドを解釈して、LAN経由でTEMCONにコマンドを送っている?(要確認))
Lakeshore335に変更する場合、この「TCP/IP send」subviを介さず、control PCからGPIBでLS335に命令を送ることになる??(擬似モーターとしての登録は必要?)
2020年10月19日
ガイドホールでの作業
C1-1にあったPXIの予備機(GPIBなし)をT1-1に持ってきた。一応シャーシに入って電源が点いた。
NI-MAXからソフトウェアを確認したところ下記の画面が得られた。
杉浦さんと装置の配線を確認した。
Control PC
OS : Windows7
LabVIEW2012 (いくつかバージョンが入っていたが、一番古いもので 8.x)
IP : 172.16.24.161
LANポートは2つあり、一つは東大ネットワークを引いているハブへ、もう一つはPXIも入っているラック2のハブへ繋がっていた。
アプリ化されているSPICEを起動しようとすると「LabVIEW 7が必要」とのメッセージが出て起動できなかった。(Control PCに入っているのはLabVIEW 8.xもしくはそれ以上のようだが、ver 7と8の間で互換性がないと思われる。)
ソースであるLabVIEWのviファイル群を直接開くとLabVIEW2012の上でも起動画面は出た。ただしモーターの値は読めていない(おそらくPXIが正しく設定でいない)
Filman PC
Linuxで動いているという話であったが、起動してみるとWindows XPだった。
Filman.batというファイルがあり、telnetでどこかに接続しようとしているようだったが、このPCにはLANは接続されていなかった。
三階での作業
Windows10 + LabVIEW2020でSPICEのソースとなるviを開くことはできた。実行しようとすると、特定のサブviが存在していないとのメッセージが出た。T1-1からとってき忘れたソースがあるということなので、これは次回取得する。
Windows10+LabVIEW2020で、Lakeshore335を動かしてみた。GPIBコマンドは以下の通り
KRDG? A(or B) A or B channelの温度を読む
SETP 1, [number] output 1のセットポイントを指定する
どちらも問題なく動いた。おそらくSPICEから上記のGPIBコマンドを送ることになる。