CogToolBlock スクリプトの簡単なサンプルです。QuickBuild の中で任意に計算するには、スクリプトを使うと、シンプルです。CogToolGroup でもできますが、VisionPro 6.1 で追加された CogToolBlock は、入力と出力をマウス操作で追加できます。
コグネックスのサポートウェブページに、CogToolGroup スクリプトで、ビジョンツールの結果を、ファイルや RS232 に出力するサンプルがあります。
製品:VisionPro
動作確認バージョン:7.1
—– 任意の値を掛け算する —–
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 のようにアクセスします。