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

Visual C++/CLI

オブジェクト

テキストボックス Name
ID番号 idTextBox
入力No. inputNoTextBox
出力No. outputNoTextBox
出力データ outputDataTextBox

変数

unsigned short id;

オープン

int result;

id = Convert::ToUInt16(idTextBox->Text);
result = PmcmOpen(id, "PMC-M2C-U");
if (result == PMCM_RESULT_SUCCESS) {
    MessageBox::Show("オープン成功", "", MessageBoxButtons::OK, MessageBoxIcon::Information);
} else {
    MessageBox::Show("オープン失敗", "", MessageBoxButtons::OK, MessageBoxIcon::Error);
}

設定

int result;
unsigned short axis;
String^ messageText;

axis = PMCM_AXIS_X + PMCM_AXIS_Y;

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

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

入力

int result;
unsigned char inputData;
unsigned short inputNo;
String^ messageText;

inputNo = Convert::ToUInt16(inputNoTextBox->Text);

result = PmcmDioInput(id, &inputData, inputNo, 1);
if (result == PMCM_RESULT_SUCCESS) {
    messageText = String::Format("入力データ : {0:D}", inputData);
    MessageBox::Show(messageText, "", MessageBoxButtons::OK, MessageBoxIcon::Information);
} else {
    messageText = String::Format("PmcmDioInput ERROR : 0x{0:X}", result);
    MessageBox::Show(messageText, "", MessageBoxButtons::OK, MessageBoxIcon::Error);
}

出力

int result;
unsigned char outputData;
unsigned short outputNo;
String^ messageText;

outputData = Convert::ToByte(outputDataTextBox->Text);
outputNo = Convert::ToUInt16(outputNoTextBox->Text);

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

クローズ

bool result;

result = PmcmClose(id);