メインコンテンツまでスキップ

Microsoft Excel版 LINシミュレーションプログラム

画面構成(Settingシート)

Excel版 LINシミュレーションプログラム Settingシート
項目説明
Connectボタンクリックすると、PCに接続しているMicroPeckerXが認識されます。
Serial認識したMicroPeckerXのシリアル番号を表示します。
Parameter Setting
(①枠部分)
シミュレーションモード、LINリビジョン、ボーレート等を設定します。
Master Sim Setting
(②枠部分)
マスタシミュレーション用の送信スケジュールと、割り込み送信フレームを設定します。
Slave Sim Setting
(③枠部分)
スレーブシミュレーション用のレスポンスIDリストを設定します。

画面構成(Monitoringシート)

Excel版 LINシミュレーションプログラム Monitoringシート
項目説明
Startボタンクリックすると、モニタリングと送信スケジュールに基づくフレーム(またはレスポンスIDリストに基づくレスポンス)の送信を開始します。
Stopボタンクリックすると、モニタリングと送信スケジュールに基づくフレーム(またはレスポンスIDリストに基づくレスポンス)の送信を停止します。
MasterChange Sch.ボタンクリックすると、使用する送信スケジュールを切り替えます。
送信スケジュールの内容については「送信スケジュール」を参照してください。
Change Dataボタンクリックすると、現在使用している送信スケジュールで上側に設定したフレームのD1をFFHに変更します。
フレームの内容については「送信スケジュール」を参照してください。
Interrupt Sendボタンクリックすると、割り込み送信フレームを送信します。
割り込み送信フレームの内容については「割り込み送信フレーム」を参照してください。
SlaveChange Dataボタンクリックすると、レスポンスIDリストで上側に設定したレスポンスのD1を00Hに変更します。
レスポンスIDリストの内容については「レスポンスIDリスト」を参照してください。
Send Wakeupボタンクリックすると、ウェイクアップパルスを送信します。
Statusモニタリングと送信スケジュールに基づくフレーム(またはレスポンスIDリストに基づくレスポンス)送信の状態を表示します。
Start:動作中 Stop:停止中
Monitor Log
(①枠部分)
送受信したログ情報を表示します。ログ情報は1秒ごとに更新され、その際に前回のログ情報は全てクリアされます。
ただし、ログ情報がない場合は更新されず、前回のログが表示されたままになります。
表示内容については「ログ表示部詳細」を参照してください。

Monitor Log詳細

項目説明
Time Stampタイムスタンプを「sssss.mmmuuu」形式で表示します。
Dirログ方向を表示します。
Rx:受信ログ Tx:送信ログ
Typeログ種別を表示します。
IDLIN IDを16進数で表示します。
DLデータ長(1~8)を表示します。
Dataデータ(D1~D8)を16進数で表示します。
CSチェックサムを16進数で表示します。

送信スケジュール

各送信スケジュールの内容は以下の通りです。
Dir、ID、Delay、DataはSettingシートで変更可能です(DLはIDに応じて自動調整されます)。

No.DirIDDelayDLData(16進数)
D1D2D3D4D5D6D7D8
0
(※1)
Tx10H500ms243HCBH
Rx11H500ms-
1
(※1)
Tx20H500ms412H56H9AHDEH
Rx21H500ms-

実装例(コメント付きソースコード)

VBAサンプル本体ロジックは MPXCtrl_LIN_ExcelVBA_Sample.xlsm に含まれます。
MPXCtrlFree.bas はAPI宣言・定数・構造体定義です。以下はサンプルと同じAPIシーケンスで実装する場合の例です。

Option Explicit

Sub StartLinSimulation(ByVal mode As Byte)
Dim dev(0 To 0) As StMPXDeviceInfo
Dim count As Byte
Dim ret As Long
Dim serial As Long
Dim p As StMPXLINParam

' 1) Open
ret = MPXOpen(dev(0), 1, count)
If ret <> E_OK Or count = 0 Then Exit Sub
serial = dev(0).Serial

' 2) LINパラメータ設定(mode: Monitor/Master/Slave)
p.Mode = mode
p.Revision = MPX_LIN_REV_21
p.Baudrate = 19200
p.SyncBreak = 13
p.Delimiter = 1
p.HeaderSpace = 1
p.ResponseSpace = 1
p.ByteSpace = 1
ret = MPXLINSetParam(serial, p)
If ret <> E_OK Then Exit Sub

' 3) ログ取得方式設定
ret = MPXSetGetLogMode(serial, MPX_INNERCH_LIN, MPX_GETLOGMODE_GETLOGAPI)
If ret <> E_OK Then Exit Sub

' 4) 必要に応じて Master/Slave 設定
' Master: MPXLINSetMasterSchedule, MPXLINSetMasterSim, MPXLINSetStatus
' Slave : MPXLINSetSlaveSim

' 5) 開始
ret = MPXMonitorStart(serial, MPX_SYNC_MASTER)
End Sub

Sub StopLinSimulation(ByVal serial As Long)
Dim ms As Long, us As Integer
Call MPXMonitorStop(serial, ms, us)
Call MPXClose
End Sub

※1:「Change Schedule」ボタンをクリックする度に、使用する送信スケジュールを切り替えます。

割り込み送信フレーム

割り込み送信フレームの内容は以下の通りです。
Dir、ID、DataはSettingシートで変更可能です(DLはIDに応じて自動調整されます)。

DirIDDLData(16進数)
D1D2D3D4D5D6D7D8
Tx35H802H13H46H57H8AH9BHCEHDFH

レスポンスIDリスト

レスポンスIDリストの内容は以下の通りです。
ID、DataはSettingシートで変更可能です(DLはIDに応じて自動調整されます)。

IDDLData(16進数)
D1D2D3D4D5D6D7D8
12H212H34H
34H8FEHDCHBAH98H76H54H32H10H