#include "matrix32.h" long DataIn[256]; /* 読み込みデータ用バッファ */ long DataOut[256]; /* 書き込みデータ用バッファ */ short RetCode; /* 戻り値 */ long DNG_Version; /* Matrixバージョン番号 */ short DNG_LPT; /* LPTポート番号 */ short DNG_LPTADR; /* LPTポートのアドレス */ short DNG_Count; /* LPTポートに接続されているMatrix数 */ short DNG_Mem; /* Matrixのメモリサイズ */ short DNG_MaxVar; /* 最大データフィールド数 */ short i; /*----------------------------------------------------*/ /* Matrix-API の初期化 */ /*----------------------------------------------------*/ RetCode = Init_MatrixAPI(); if(RetCode < 0) exit; /*-----------------------------------------------------*/ /* LPT1があるかどうか確認 */ /*-----------------------------------------------------*/ DNG_LPT = 1; DNG_LPTADR = GetPortAdr(DNG_LPT); if(DNG_LPTADR == 0) { printf(”LPT1はがありません!”); Release_MatrixAPI(); exit; } /*-----------------------------------------------------*/ /* LPT1に接続されたMatrix数を調べる */ /*-----------------------------------------------------*/ DNG_Count = Dongle_Count(DNG_LPT); if(DNG_Count == 0) { printf(”LPT1にMatrixは接続されていません!”); Release_MatrixAPI(); exit; } /*-----------------------------------------------------*/ /* LPT1に接続された最後のMatrixのメモリサイズ */ /*-----------------------------------------------------*/ DNG_Mem = Dongle_MemSize(DNG_Count, DNG_LPT); if(DNG_Mem == 0) { printf(”メモリサイズは読み取れません!”); Release_MatrixAPI(); exit; } DNG_MaxVar = DNG_Mem / 4; /* データフィールド数 */ /*-----------------------------------------------------*/ /* LPT1に接続された最後のMatrixのバージョン */ /*-----------------------------------------------------*/ DNG_Version = Dongle_Version(DNG_Count, DNG_LPT); if(DNG_Version > 0) { printf("このMatrixのバージョン : %d.%d", HIWORD(DNG_Version), LOWORD(DNG_Version)); } else { printf(”Matrixのバージョンを読み取れませんでした”); Release_MatrixAPI(); exit; } /*-----------------------------------------------------*/ /* LPT1に接続された最後のMatrixから 15個のデータフィールドを*/ /* ユーザコード 1234 で読み取り、表示する */ /*-----------------------------------------------------*/ RetCode=Dongle_ReadData(1234, DataIn, 15, DNG_Count, DNG_LPT); if(RetCode < 0) { printf("データ読み取り中にエラー発生"); Release_MatrixAPI(); exit; } for(i=0; i<15; i++) { printf("データフィールドフィールド %d = %ld", i+1, DataIn[i]); } /*-----------------------------------------------------*/ /* LPT1に接続された最後のMatrixの15個のデータフィールドに */ /* ユーザコード 1234 で値101,102,103…を書き込む */ /*-----------------------------------------------------*/ for(i=0; i<15; i++) { DataOut[i] = 101 + i; } RetCode=Dongle_WriteData(1234, DataOut, 15, DNG_Count, DNG_LPT); if(RetCode < 0) { printf("Matrix書き込み中にエラー発生!"); Release_MatrixAPI(); exit; } /*-----------------------------------------------------*/ /* Matrix-APIの解放 */ /*-----------------------------------------------------*/ Release_MatrixAPI();