コンテンツにスキップ
サンプルプログラム > DIO >

Visual C#

オブジェクト

テキストボックス Name
ID番号 Id
入力No. InputNo
出力No. OutputNo
出力データ OutputData

変数

ushort id;

オープン

int result;

id = Convert.ToUInt16(Id.Text);
result = Pmcm.Open( id, "PMC-M2C-U" );
if( result == Pmcm.PMCM_RESULT_SUCCESS )
{
    MessageBox.Show( "オープン成功", "", MessageBoxButtons.OK, MessageBoxIcon.Information );
}
else
{
    MessageBox.Show( "オープン失敗", "", MessageBoxButtons.OK, MessageBoxIcon.Stop );
}

設定

int result;
ushort axis;
string outputString;

axis = Pmcm.PMCM_AXIS_X + Pmcm.PMCM_AXIS_Y;

// 汎用デジタル入力として使用する場合はINPとPCSをオンで検知(負論理)に設定
result = Pmcm.SetSensorConfig( id, axis, Pmcm.PMCM_LOGIC, 0x30 );
if( result != Pmcm.PMCM_RESULT_SUCCESS )
{
    outputString = String.Format( "PmcmSetSensorConfig ERROR : 0x{0:X}", result );
    MessageBox.Show( outputString, "", MessageBoxButtons.OK, MessageBoxIcon.Stop );
    return;
}

// 汎用デジタル入力として使用する場合はLTCを立ち下がりエッジに設定
result = Pmcm.SetSensorConfig( id, axis, Pmcm.PMCM_LTC_FUNC, 0 );
if( result != Pmcm.PMCM_RESULT_SUCCESS )
{
    outputString = String.Format( "PmcmSetSensorConfig ERROR : 0x{0:X}", result );
    MessageBox.Show( outputString, "", MessageBoxButtons.OK, MessageBoxIcon.Stop );
    return;
}

入力

int result;
byte[] inputData = new byte[1];
ushort inputNo;
string outputString;

inputNo = Convert.ToUInt16( InputNo.Text );

result = Pmcm.DioInput( id, inputData, inputNo, 1 );
if( result == Pmcm.PMCM_RESULT_SUCCESS )
{
    outputString = String.Format( "入力データ : {0:D}", inputData[0] );
    MessageBox.Show( outputString, "", MessageBoxButtons.OK, MessageBoxIcon.Information );
}
else
{
    outputString = String.Format( "PmcmDioInput ERROR : 0x{0:X}", result );
    MessageBox.Show( outputString, "", MessageBoxButtons.OK, MessageBoxIcon.Stop );
}

出力

int result;
byte[] outputData = new byte[1];
ushort outputNo;
string outputString;

outputData[0] = Convert.ToByte( OutputData.Text );
outputNo = Convert.ToUInt16( OutputNo.Text );

result = Pmcm.DioOutput( id, outputData, outputNo, 1 );
if( result == Pmcm.PMCM_RESULT_SUCCESS )
{
    MessageBox.Show( "出力正常終了", "", MessageBoxButtons.OK, MessageBoxIcon.Information );
}
else
{
    outputString = String.Format( "PmcmDioOutput ERROR : 0x{0:X}", result );
    MessageBox.Show( outputString, "", MessageBoxButtons.OK, MessageBoxIcon.Stop );
}

クローズ

bool result;

result = Pmcm.Close( id );