サンプルプログラム > DIO > Visual C++/CLI
オブジェクト
テキストボックス | Name |
ID番号 | idTextBox |
入力No. | inputNoTextBox |
出力No. | outputNoTextBox |
出力データ | outputDataTextBox |
変数
オープン
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);