このブログはもともとcimetrix.comに掲載されていました。
はじめに
1977年、名作映画『未知との遭遇』が公開された。映画の終盤で、宇宙人と人間との劇的な「対話」が繰り広げられる。科学者の一人がこう発言する。「誰かがこの全てを記録しているといいのだが」
彼らが本当に求めていたのはメッセージのログ記録だった!
ソフトウェアのログ記録がアプリケーションのトラブルシューティングに重要であるのと同様に、工場のホストと製造設備間の詳細なメッセージ通信をログ記録することは、トラブルシューティングにおいて同様に重要です。
例えば、ホストがコマンドを送信し、機器がそのメッセージに基づいて動作するものの、何かが期待通りに機能しない場合があります。問題の発生箇所を特定するためには、送信されたメッセージと機器からの応答、および機器のその他のログを併せて確認することが非常に有用です。
記録されたメッセージを表示/表現するために使用されるフォーマットも非常に重要です。SECSメッセージフォーマットに関する最新の業界標準は、SEMI E173「XML SECS-IIメッセージ表記法(SMN)仕様」です。
例を挙げると:
<?xml version=”1.0″ encoding=”utf-8″?>
<SECSMessageScenario xmlns=”urn:semi-org:xsd.SMN”>
<Comment time=”2018-02-05T18:19:20.365Z”>State Change NotConnected</Comment>
<Comment time=”2018-02-05T18:19:20.400Z”>State Change NotSelected</Comment>
<HSMSMessage time=”2018-02-05T18:19:20.394Z” sType=”Select.req” direction=”H to E” txid=”1″>
<Header>FFFF0000000100000001</Header>
</HSMSMessage>
<HSMSMessage time=”2018-02-05T18:19:20.417Z” sType=”Select.rsp” direction=”E to H” txid=”1″>
<Header>FFFF0000000200000001</Header>
<Description>Communication Established</Description>
</HSMSMessage>
以下はS5、F5の例です:
<SECSMessage s=”5″ f=”5″ direction=”H to E” replyBit=”true” txid=”7″ time=”2018-02-05T18:19:20.507Z”>
<SECSData>
<UI4 />
</SECSData>
</SECSMessage>
<SECSMessage s=”5″ f=”6″ direction=”E to H” replyBit=”false” txid=”7″ time=”2018-02-05T18:19:20.507Z”>
<SECSData>
<LST>
<LST>
<BIN>0</BIN>
<UI4>1</UI4>
<ASC>Alarm 1 Text</ASC>
</LST>
</LST>
</SECSData>
</SECSMessage>
SMNフォーマットは、以下の用途に最適です:
- HSMSヘッダー情報を明確な方法で取得する
- 正確なバイナリ形式でのメッセージの記録
- ソフトウェアを使用してログを読み取る
- ホストまたは機器エミュレータを作成する。ソフトウェアアプリケーションからのログを読み取り、再生することが容易であるため。
- SMNログからのデータ抽出
ログは、機器、ホスト、あるいはCimetrixのCIMSnifferユーティリティのような「ネットワークスニッファ」によっても取得できます。
CimetrixのLogviewerユーティリティはSMNログもサポートしています:

これらの基準とツールが利用可能な今、メッセージが記録されていることを願う『未知との遭遇』の科学者のような真似をする理由はない。ログ記録を有効にせよ!
CimetrixのCIMConnect、HostConnect、およびSECSConnectはすべて、SMN形式でのメッセージ記録機能を提供します。