サンプルプログラム > DIO > Visual C++
オブジェクト
テキストボックス | ID | メンバ変数 |
ID番号 | IDC_ID | m_wID |
入力No. | IDC_INPUT_NO | m_wInputNo |
出力No. | IDC_OUTPUT_NO | m_wOutputNo |
出力データ | IDC_OUTPUT_DATA | m_byOutData |
オープン
if( !UpdateData( TRUE ) ) {
return;
}
int nResult;
nResult = PmcmOpen( m_wID, "PMC-M2C-U" );
if( nResult == PMCM_RESULT_SUCCESS ) {
AfxMessageBox( "オープン成功", MB_OK | MB_ICONINFORMATION );
} else {
AfxMessageBox( "オープン失敗", MB_OK | MB_ICONSTOP );
}
設定
int nResult;
WORD wAxis;
char szResult[64];
wAxis = PMCM_AXIS_X + PMCM_AXIS_Y;
// 汎用デジタル入力として使用する場合はINPとPCSをオンで検知(負論理)に設定
nResult = PmcmSetSensorConfig( m_wID, wAxis, PMCM_LOGIC, 0x30 );
if( nResult != PMCM_RESULT_SUCCESS ) {
wsprintf( szResult, "PmcmSetSensorConfig ERROR : 0x%X", nResult );
AfxMessageBox( szResult, MB_OK | MB_ICONSTOP );
return;
}
// 汎用デジタル入力として使用する場合はLTCを立ち下がりエッジに設定
nResult = PmcmSetSensorConfig( m_wID, wAxis, PMCM_LTC_FUNC, 0 );
if( nResult != PMCM_RESULT_SUCCESS ) {
wsprintf( szResult, "PmcmSetSensorConfig ERROR : 0x%X", nResult );
AfxMessageBox( szResult, MB_OK | MB_ICONSTOP );
return;
}
入力
if( !UpdateData( TRUE ) ) {
return;
}
int nResult;
BYTE byData;
char szInResult[64];
nResult = PmcmDioInput( m_wID, &byData, m_wInputNo, 1 );
if( nResult == PMCM_RESULT_SUCCESS ) {
wsprintf( szInResult, "入力データ: %d", byData );
AfxMessageBox( szInResult, MB_OK | MB_ICONINFORMATION );
} else {
wsprintf( szInResult, "PmcmDioInput ERROR : 0x%X", nResult );
AfxMessageBox( szInResult, MB_OK | MB_ICONSTOP );
}
出力
if( !UpdateData( TRUE ) ) {
return;
}
int nResult;
char szOutResult[64];
nResult = PmcmDioOutput( m_wID, &m_byOutData, m_wOutputNo, 1 );
if( nResult == PMCM_RESULT_SUCCESS ) {
AfxMessageBox( "出力正常終了", MB_OK | MB_ICONINFORMATION );
} else {
wsprintf( szOutResult, "PmcmDioOutput ERROR : 0x%X", nResult );
AfxMessageBox( szOutResult, MB_OK | MB_ICONSTOP );
}
クローズ
BOOL bResult;
bResult = PmcmClose( m_wID );