Baumer GAPI ile donanım tetikleyici kullanımı
Yazılım Örneği: Baumer GAPI v2.8.0
Tüm Baumer kameralar, opto-izole edilmiş Line0 ve/veya GPIO’lar Line1 ve Line2 üzerinden donanım tetikleme imkanı sunar. Donanım tetikleyici olarak hangi hatların kullanılabilir olduğunu öğrenmek için, belirli kameranızın Kullanıcı Kılavuzu’ndaki proses arayüzü bölümünü kontrol edin. Baumer kameralarının tüm özellikleri, EMVA standart özellik adı düzenine (SFNC) versiyon 1.5.1 veya sonrasına göre adlandırılmıştır.Sekansör ile ne yapılacağı veya şekil ve gölge uygulamasının ne zaman kullanılacağı hakkında daha fazla bilgi edinmek isterseniz, aşağıdaki uygulama notlarına ve VCXG.I kameralarının kullanıcı kılavuzuna başvurabilirsiniz.
Line0 üzerinden 12 V / 24 V kullanarak donanım tetikleme
Baumer kameralar, endüstri standartlarına uygun olarak 0 … 4.5 V’yi düşük ve 11 … 30 V aralığını yüksek olarak kabul eden opto-kuplajlı girişler sağlar. Bu nedenle, 11 V ile 30 V arasında bir tetikleme sinyaline ihtiyacınız olacak. Burada kameranın Line0 üzerinde opto-izole edilmiş bir hattı olduğunu varsayıyoruz.
Bu örnek, yalnızca kameranın nasıl yapılandırılacağını gösterir ve pDevice’in zaten bir kameraya geçerli bir bağlantı tuttuğunu varsayar. Aşağıda gösterildiği gibi kamera kurulduktan sonra, Line0 üzerindeki “yüksek” bir tetikleme sinyali, tek bir görüntünün edinimini başlatır ve bu görüntü, standart BGAPI::DataStream::GetFilledBuffer() yöntemi ile alınabilir.
// SETUP DIGITAL IO CONTROL
pDevice->GetRemoteNode("LineSelector")->SetString("Line0");
pDevice->GetRemoteNode("LineInverter")->SetBool(false); //high means high
// SETUP DEBOUNCER
// make sure only intended signals trigger the camera (ignore jitters on the line)
pDevice->GetRemoteNode("LineDebouncerHighTimeAbs")->SetDouble(1.0); // in µsec
pDevice->GetRemoteNode("LineDebouncerLowTimeAbs")->SetDouble(1.0); // in µsec
// SETUP ACQUISITION CONTROL
pDevice->GetRemoteNode("TriggerMode")->SetString("On");
pDevice->GetRemoteNode("TriggerSource")->SetString("Line0");
pDevice->GetRemoteNode("TriggerActivation")->SetString("RisingEdge");
pDevice->GetRemoteNode("TriggerDelay")->SetDouble(0.0); // delay in µsec
// SETUP DIGITAL IO CONTROL
mDevice.RemoteNodeList["LineSelector"].Value = "Line0";
mDevice.RemoteNodeList["LineInverter"].Value = false; // high means high
// SETUP DEBOUNCER
// make sure only intended signals trigger the camera (ignore jitters on the line)
mDevice.RemoteNodeList["LineDebouncerHighTimeAbs"].Value = (double)1.0; // in µsec
mDevice.RemoteNodeList["LineDebouncerLowTimeAbs"].Value = (double)1.0; // in µsec
// SETUP ACQUISITION CONTROL
mDevice.RemoteNodeList["TriggerMode"].Value = "On";
mDevice.RemoteNodeList["TriggerSource"].Value = "Line0";
mDevice.RemoteNodeList["TriggerActivation"].Value = "RisingEdge";
mDevice.RemoteNodeList["TriggerDelay"].Value = (double)0.0; // in µsec
GPIO Line1 / Line2 üzerinden 5 V kullanarak donanım tetikleme
Çoğu Baumer kamera, potansiyel farkı olmayan genel amaçlı giriş/çıkış hatlarına (GPIO) sahip olup, bu GPIO’lar için 2 V veya daha yüksek tetikleme sinyalleri gereklidir (FPGA giriş 0 … 0.8 V düşük, 2.0 … 30 V yüksek).
// SETUP DIGITAL IO CONTROL
pDevice->GetRemoteNode("LineSelector")->SetString("Line1"); // GPIO Line1
pDevice->GetRemoteNode("LineMode")->SetString("Input");
pDevice->GetRemoteNode("LineInverter")->SetBool(false);
// SETUP DEBOUNCER
// make sure only intended signals trigger the camera (ignore jitters on the line)
pDevice->GetRemoteNode("LineDebouncerHighTimeAbs")->SetDouble(1.0); // in µsec
pDevice->GetRemoteNode("LineDebouncerLowTimeAbs")->SetDouble(1.0); // in µsec
// SETUP ACQUISITION CONTROL
pDevice->GetRemoteNode("TriggerMode")->SetString("On");
pDevice->GetRemoteNode("TriggerSource")->SetString("Line1");
pDevice->GetRemoteNode("TriggerActivation")->SetString("RisingEdge");
pDevice->GetRemoteNode("TriggerDelay")->SetDouble(0.0); // delay in µsec
// SETUP DIGITAL IO CONTROL
mDevice.RemoteNodeList["LineSelector"].Value = "Line1"; // GPIO Line1
mDevice.RemoteNodeList["LineMode"].Value = "Input";
mDevice.RemoteNodeList["LineInverter"].Value = false;
// SETUP DEBOUNCER
// make sure only intended signals trigger the camera (ignore jitters on the line)
mDevice.RemoteNodeList["LineDebouncerHighTimeAbs"].Value = (double)1.0; // in µsec
mDevice.RemoteNodeList["LineDebouncerLowTimeAbs"].Value = (double)1.0; // in µsec
// ACQUISITION CONTROL
mDevice.RemoteNodeList["TriggerMode"].Value = "On";
mDevice.RemoteNodeList["TriggerSource"].Value = "Line1";
mDevice.RemoteNodeList["TriggerActivation"].Value = "RisingEdge";
mDevice.RemoteNodeList["TriggerDelay"].Value = (double)0.0; // in µsec
İndirmeler
Yazılım Örnekleri
Baumer GAPI ile donanım tetikleyici kullanımı