大恒水星火星系列带IO口的工业相机支持GPIO信号的输入输出,引脚示意图如下:
水星系列
火星系列
其中GPIO输入输出有两路,均为line2橙色线和line3粉色线,公共地为pin2蓝色线
程序控制输入输出首先进行输入模式或者输出模式的设置
*********************C#*************
m_objIGXFeatureControl.GetEnumFeature("LineSelector").SetValue("Line2");
m_objIGXFeatureControl.GetEnumFeature("LineMode").SetValue("Output");
m_objIGXFeatureControl.GetEnumFeature("LineSelector").SetValue("Line3");
m_objIGXFeatureControl.GetEnumFeature("LineMode").SetValue("Output");
********************C++************************************
m_MerCamera->SetEnum(GX_ENUM_LINE_SELECTOR, GX_ENUM_LINE_SELECTOR_LINE2);
m_MerCamera->SetEnum(GX_ENUM_LINE_MODE, GX_ENUM_LINE_MODE_OUTPUT);
m_MerCamera->SetEnum(GX_ENUM_LINE_SELECTOR, GX_ENUM_LINE_SELECTOR_LINE3);
m_MerCamera->SetEnum(GX_ENUM_LINE_MODE, GX_ENUM_LINE_MODE_OUTPUT);
再进行信号控制
************C#**************************
m_objIGXFeatureControl.GetEnumFeature("LineSelector").SetValue("Line2");
m_objIGXFeatureControl.GetBoolFeature("LineInverter").SetValue(true);
m_objIGXFeatureControl.GetEnumFeature("LineSelector").SetValue("Line3");
m_objIGXFeatureControl.GetBoolFeature("LineInverter").SetValue(false);
********************C++************************************
m_MerCamera->SetEnum(GX_ENUM_LINE_SELECTOR, GX_ENUM_LINE_SELECTOR_LINE2);
m_MerCamera->SetBool(GX_BOOL_LINE_INVERTER, true);
m_MerCamera->SetEnum(GX_ENUM_LINE_SELECTOR, GX_ENUM_LINE_SELECTOR_LINE3);
m_MerCamera->SetBool(GX_BOOL_LINE_INVERTER, false);