当前位置: 首页 > java >正文

BeckHoff <--> 基恩士(CV-X300)三维机械手视觉系统的通讯 控制

一、 BeckHoff与 基恩士 CV-X300采用Profinet通讯

1、硬件配置  

2、视觉实例配置

3、

二、通讯接口定义(PLC 增加的结构体数据)

1、 ST_CV_X_Vision_Input  结构体

STRUCT
Cmd_Complete   :BOOL; //Turns on when command processing is complete.
Cmd_Err        :BOOL; // Turns off when command processing is successful and turns on when it fails.
Cmd_Ready      :BOOL; // Turns on when command processes can be received.
Result_Ready   :BOOL; //Turns on when data transmission is complete.
Result_OR      :BOOL; // Used to output the OR result for the judged value of tools specified in the output settings.
Reserved0_5    :BOOL;
Reserved0_6    :BOOL;
Reserved0_7    :BOOL;
Ready1         :BOOL; // Output when trigger n input is acceptable.
Ready2         :BOOL; //
Ready3         :BOOL; //
Ready4         :BOOL; //
Reserved1_4    :BOOL;
Reserved1_5    :BOOL;
Reserved1_6    :BOOL;
Reserved1_7    :BOOL;
Ack1           :BOOL; //Becomes ON when Trigger 1 input is accepted. Becomes OFF when Trigger 1 input is set to OFF.
Ack2           :BOOL; // Becomes ON when Trigger 2 input is accepted. Becomes OFF when Trigger 2 input is set to OFF.
Ack3           :BOOL; // Becomes ON when Trigger 3 input is accepted. Becomes OFF when Trigger 3 input is set to OFF.
Ack4           :BOOL; // Becomes ON when Trigger 4 input is accepted. Becomes OFF when Trigger 4 input is set to OFF.
Reserved2_4    :BOOL;
Reserved2_5    :BOOL;
Reserved2_6    :BOOL;
Reserved2_7    :BOOL;
Busy           :BOOL; // This signal is output during image processing or command processing.
Error          :BOOL; //This signal is output while any of system errors occur with the dialog displayed on the screen.
Reserved3_2    :BOOL;
Run            :BOOL; //This signal is output when the controller is in Run mode.
Reserved3_4    :BOOL;
Reserved3_5    :BOOL;
OutPut_Img_Busy:BOOL;
OutPut_Img_Status :BOOL;
Tool_Judge_Value       : ARRAY [0..7] OF BYTE ;//Returns the judgment value allocated to the bit allocation region 结果判断存储位
Result_Data_128Byte    : ARRAY [0..127] OF BYTE;// Result Data
Result_Data_32Byte1    : ARRAY [0..31] OF BYTE;// Result Data
Result_Data_32Byte2    : ARRAY [0..31] OF BYTE;// Result Data
Result_Data_32Byte3    : ARRAY [0..31] OF BYTE;// Result Data
Result_Data_32Byte4    : ARRAY [0..31] OF BYTE;// Result Data
Result_Data_32Byte5    : ARRAY [0..31] OF BYTE;// Result Data
END_STRUCT

2、ST_CV_X_Vision_Output  结构体

STRUCT
Cmd_Request	  :BOOL;  //Requests command execution when the signal switches from OFF to ON.
Reserved0_1	  :BOOL;
Reserved0_2	  :BOOL;
Result_Ack	  :BOOL;  //Provides notification of data acquisition when the signal switches from OFF to ON.
Error_Reset_Request	:BOOL;//Clears Error when the signal switches from OFF to ON.
Reserved0_5	  :BOOL;
Reserved0_6	  :BOOL;
Reserved0_7	  :BOOL;
Trg1	      :BOOL;  //Allows the camera assigned to trigger ‘n’ to capture images (leading edge synchronization).
Trg2	      :BOOL;
Trg3	      :BOOL;
Trg4	      :BOOL;
Reserved1_4	  :BOOL;
Reserved1_5	  :BOOL;
Reserved1_6	  :BOOL;
Reserved1_7	  :BOOL;
Reset	      :BOOL;  //Used to perform reset operation  Reset Command = Initialize Controller
EXT	          :BOOL;  //Used to suspend the occurrence of internal triggers and the acceptance of external triggers.
Test	      :BOOL;  //Used to suspend the status output and other outputs for trial run or any other reasons.
Reserved2_3	  :BOOL;
Reserved2_4	  :BOOL;
Reserved2_5	  :BOOL;
Reserved2_6	  :BOOL;
Reserved2_7   :BOOL;
Reserved3	  :BYTE;
Reserved4_11  :ARRAY [4..11]OF BYTE ;
Parameter_128Byte    : ARRAY [0..127] OF BYTE;// Parameter Data
Parameter_32Byte1    : ARRAY [0..31] OF BYTE;// Parameter Data
Parameter_32Byte2    : ARRAY [0..31] OF BYTE;// Parameter Data
Parameter_32Byte3    : ARRAY [0..31] OF BYTE;// Parameter Data
Parameter_32Byte4    : ARRAY [0..31] OF BYTE;// Parameter Data
Parameter_32Byte5    : ARRAY [0..31] OF BYTE;// Parameter Data
END_STRUCT

3、ST_CV_X_Vision_Input_Decode 结构体; Result_Data_128Byte + 32 x 5 Byte = 288 Bytes

STRUCT
ErrorCode     :INT;  // Status INT12
Reserved14    :INT;  // Status INT14
Total_Count   :DINT; // Status DINT16
CommandResult :DINT; // Status DINT20
CommandData  :ARRAY [1..29] OF DINT; // Vision Check Command Datas DINT 20 - DINT136 (相机命令应答自己设置为 116 ) == Result_Data_128Byte
arrResult_Data :ARRAY [1..8] OF DINT; // Vision Check Result Datas  DINT 140 - DINT168  == Result_Data_32Byte1 END_STRUCT

4、ST_CV_X_Vision_Output_Decode 结构体;   

Parameter_128Byte

STRUCT
ExecCondNo     :DINT;  // Control DINT12
CommandNumber  :DINT;  // Control DINT16
CmdParameter   :ARRAY [1..30] OF DINT; // Control Parameter DINT20 - DINT 136
END_STRUCT
END_TYPE

5、ST_CV_X_Vision_Result结构体

STRUCT
JudgeByte4   :BYTE; //Tool Judge Value 0 -7
JudgeByte5   :BYTE; //Tool Judge Value 8 -15
JudgeByte6   :BYTE; //Tool Judge Value 16 -23
JudgeByte7   :BYTE; //Tool Judge Value 24 -31
JudgeByte8   :BYTE; //Tool Judge Value 32 -39
JudgeByte9   :BYTE; //Tool Judge Value 40 -47
JudgeByte10  :BYTE; //Tool Judge Value 48 -55
JudgeByte11  :BYTE; //Tool Judge Value 56 -63
arrResult_Data :ARRAY [1..8] OF DINT; // Vision Check Result Datas
END_STRUCT

三、视觉通讯功能块接口定义

四、通讯功能块FB_TYP_161_Camera_CV_X_V1变量声明 

FUNCTION_BLOCK FB_TYP_161_Camera_CV_X_V1_0_1(*---------------------------------------------*)
(*IN variables*)
(*---------------------------------------------*)
VAR_INPUTiIn_idxElement				: INT;							(* !!!UNIQUE!!! Element identification*)ist_HWIn     				: ST_CV_X_Vision_Input;		    (* Profinet-interface: Inputs *)    ibImage_StorageEnable       :BOOL;	// 照片存储使能	istPart_ID                  : STRING(30);                   (* Part Barcode *)  // Carmera Software Need Config Command Parmeters Length		           
END_VAR(*---------------------------------------------*)
(*IN/OUT variables*)
(*---------------------------------------------*)
VAR_IN_OUTstINOUT_SYS_CELL					:ST_SYS_CELL;
END_VAR(*---------------------------------------------*)
(*OUT variables*)
(*---------------------------------------------*)
VAR_OUTPUTost_HWOut 					: ST_CV_X_Vision_Output;		(* Profinet-interface: Outputs *)oCurrent_Prog_No            : INT;	oCurrent_Exe_No             : INT;		
END_VAR(*---------------------------------------------*)
(*Local variables*)
(*---------------------------------------------*)
VARstVision_Data_Decode	    :ST_CV_X_Vision_Decode; 				(* Vision Interface Datas *)Dly_Ton			            : TON;Execution_Timeout           : TON;Step                        :INT;Start_Condition             :BOOL;Cmd_No                      :INT;	// 24 =Switch Program Numer,25=Read Prog No,41=Entry Execute No,42=Read Current Execute No,70=Entry String,71=Read String     Cmd_Type                    :BYTE;  // (*0= Switch Program Number,1=Switch Excution Condition Number,2=Trigger Check *) Count_No                    :INT;index                       :INT:=0;index1                      :INT:=0;strTemp                     :T_MAXSTRING;	Data_Barcode                :T_MAXSTRING;	arrData                     :ARRAY [0..255]OF BYTE;UnpackDWord                 :MEM.UnpackDWord;
END_VAR(*----------------------------------------
http://www.xdnf.cn/news/13291.html

相关文章:

  • minio私有桶授权访问
  • Leetcode 3574. Maximize Subarray GCD Score
  • java 面向对象编程
  • Linux下制作Nginx绿色免安装包
  • 7.4.分块查找
  • vue3 字体颜色设置的多种方式
  • sysctl优先级顺序
  • 第3章 MySQL数据类型
  • (八)深度循环神经网络:长序列建模、注意力机制与多模态融合
  • CloudReadering
  • Prompt Tuning、P-Tuning、Prefix Tuning的区别
  • c语言中的hashmap
  • ArkUI-X跨平台Bridge最佳实践
  • 张彬彬《龙骨焚箱》开机 奇幻冒险题材引期待
  • 在微服务架构中,怎么搭建Maven私服
  • crackme007
  • mysql8.4备份与恢复实践
  • bilibili-mcp 使用示例
  • 7.6 Finetuning the LLM on instruction data
  • 论文分享 _ Ladder:一种基于收敛的结构化图区块链_2025-06-10
  • 实战案例-FPGA如何实现JESD204B可重复的延迟
  • 2005-2021年中国地下水位年鉴数据(EXCEL/PDF)包含:各省监测点、监测深度等
  • 【存储系统】
  • 理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
  • 全新AI驱动Workspace Security 套件发布!Fortinet 电子邮件安全产品矩阵升级
  • PHP 多种内置的验证规则和函数
  • 在Jenkins上配置邮箱通知
  • 2025-03-15-位运算
  • 第一部分 -- ①语法分析的概要
  • Yolov5.6增加注意力机制+ByterTrack:目标检测与跟踪