CogToolBlock スクリプトの簡単なサンプル

CogToolBlock スクリプトの簡単なサンプルです。QuickBuild の中で任意に計算するには、スクリプトを使うと、シンプルです。CogToolGroup でもできますが、VisionPro 6.1 で追加された CogToolBlock は、入力と出力をマウス操作で追加できます。

コグネックスのサポートウェブページに、CogToolGroup スクリプトで、ビジョンツールの結果を、ファイルや RS232 に出力するサンプルがあります。

製品:VisionPro

動作確認バージョン:7.1

言語:VBシンプルスクリプト

—– 任意の値を掛け算する —–

Input1, Double
Input2, Double
Output, Double

Public Overrides Function GroupRun(ByRef message As String, ByRef result As CogToolResultConstants) As Boolean
Outputs.Output = Inputs.Input1 * Inputs.Input2
Return False
End Function

—– PatMax の複数の結果から任意の1個の位置座標を出力する —–

Input1, CogPMAlignResults
Input2, Int32
Output, ICogTransform2D

Public Overrides Function GroupRun(ByRef message As String, ByRef result As CogToolResultConstants) As Boolean
Outputs.Output = Inputs.Input1.Item(Inputs.Input2).GetPose()
Return false
End Function

—– GetMeasure を使って、ブロブの横幅・縦幅を出力する —–

Input1, CogBlobResults
Input2, Int32
Output1, Double
Output2, Double

Public Overrides Function GroupRun(ByRef message As String, ByRef result As CogToolResultConstants) As Boolean
Outputs.Output1 = Inputs.Input1.GetBlobs(True).Item(Inputs.Input2).GetMeasure(CogBlobMeasureConstants.BoundingBoxPrincipalAxisWidth)
Outputs.Output2 = Inputs.Input1.GetBlobs(True).Item(Inputs.Input2).GetMeasure(CogBlobMeasureConstants.BoundingBoxPrincipalAxisHeight)
Return False
End Function

—– 検査エラーのときに画像をファイルに保存する —–

InputCondition, Int32
InputImage, ICogImage

参照を追加、Cognex.VisionPro.ImageFile.dll

Dim ImageCount As Integer

Public Overrides Function GroupRun(ByRef message As String, ByRef result As CogToolResultConstants) As Boolean
If Inputs.InputCondition <= 0 Then
ImageCount = ImageCount + 1
Dim dtNow As DateTime = DateTime.Now
Dim fName As String = “C:\Temp\err” + dtNow.ToString(“-yyMMdd-HHmmss-”) + ImageCount.ToString() + “.bmp
Dim imgFile As New Cognex.VisionPro.ImageFile.CogImageFile
imgFile.Open(fName, Cognex.VisionPro.ImageFile.CogImageFileModeConstants.Write)
imgFile.Append(Inputs.InputImage)
imgFile.Close()
End If
Return False
End Function

Public Overrides Sub Initialize(ByVal host As Cognex.VisionPro.ToolGroup.CogToolGroup)
MyBase.Initialize(host)
ImageCount = 0
End Sub

—– CogToolBlock にビジョンツールがあるとき追加されるコード —–

Public Overrides Function GroupRun(ByRef message As String, ByRef result As CogToolResultConstants) As Boolean
For Each tool as Cognex.VisionPro.ICogTool in Tools
RunTool(tool, message, result)
Next
Return False
End Function

ビジョンツールは、blob = Tools.CogBlobTool1 のようにアクセスします。