目录
一、 BeckHoff 与ABB 机器手 通讯采用PROFINET 通讯方式
6.1 调用 ABB参数配置、任务监控函数 F_SEQ_X2_Robot
一、 BeckHoff 与ABB 机器手 通讯采用PROFINET 通讯方式

二、通讯接口定义
1、 IO定义

2、全局变量配置

三、PLC通讯接口全局定义
全局变量数据结构

四、通讯程序接口变量声明
1、输入接口定义 变量声明
STRUCT
(*============================== INPUTS ==============================================*)
i_bExecError : BOOL; (*Execution Error (System output)*)
i_bEmgStop : BOOL; (*Emergency Stop (System output)*)
i_bMotorOnState : BOOL; (*Motors On State (System output)*)
i_bMotorOffState : BOOL; (*Motors Off State (System output)*)
i_bPPMoved : BOOL; (*Program Pointer Moved (System output)*)
i_bCycleOn : BOOL; (*Cycle On (System output)*)
i_bAutoOn : BOOL; (*Auto On (System output)*)
i_bUserError : BOOL; (*User Error active // programmed by stefan knoblauch. Not ABB Standard *)
i_bRes_by1b0 : BOOL; (*Reserve byte 1 bit 0*)
i_bRes_by1b1 : BOOL; (*Reserve byte 1 bit 1*)
i_bRes_by1b2 : BOOL; (*Reserve byte 1 bit 2*)
i_bRes_by1b3 : BOOL; (*Reserve byte 1 bit 3*)
i_bRes_by1b4 : BOOL; (*Reserve byte 1 bit 4*)
i_bRes_by1b5 : BOOL; (*Reserve byte 1 bit 5*)
i_bRes_by1b6 : BOOL; (*Reserve byte 1 bit 6*)
i_bRes_by1b7 : BOOL; (*Reserve byte 1 bit 7*)
i_bRes_by2b0 : BOOL; (*Reserve byte 2 bit 0*)
i_bRes_by2b1 : BOOL; (*Reserve byte 2 bit 1*)
i_bRes_by2b2 : BOOL; (*Reserve byte 2 bit 2*)
i_bRes_by2b3 : BOOL; (*Reserve byte 2 bit 3*)
i_bRes_by2b4 : BOOL; (*Reserve byte 2 bit 4*)
i_bRes_by2b5 : BOOL; (*Reserve byte 2 bit 5*)
i_bRes_by2b6 : BOOL; (*Reserve byte 2 bit 6*)
i_bRes_by2b7 : BOOL; (*Reserve byte 2 bit 7*)
i_bRes_by3b0 : BOOL; (*Reserve byte 3 bit 0*)
i_bRes_by3b1 : BOOL; (*Reserve byte 3 bit 1*)
i_bRes_by3b2 : BOOL; (*Reserve byte 3 bit 2*)
i_bRes_by3b3 : BOOL; (*Reserve byte 3 bit 3*)
i_bRes_by3b4 : BOOL; (*Reserve byte 3 bit 4*)
i_bRes_by3b5 : BOOL; (*Reserve byte 3 bit 5*)
i_bRes_by3b6 : BOOL; (*Reserve byte 3 bit 6*)
i_bRes_by3b7 : BOOL; (*Reserve byte 3 bit 7*)
i_bPickEnd_BoxEmpty : BOOL; (*Reserve byte 4 bit 0*) // 料框空,脉冲至滚筒3#
i_bPlaceEnd_BoxFull : BOOL; (*Reserve byte 4 bit 1*) // 料框满,脉冲至滚筒4#
i_bLoadEnd_ToNest1 : BOOL; (*Reserve byte 4 bit 2*) // 放置完成,脉冲至转台 Nest1
i_bUnloadEnd_ToNest12:BOOL; (*Reserve byte 4 bit 3*) // 取料完成,脉冲至转台 Nest12
i_bPickEnd_Once : BOOL; (*Reserve byte 4 bit 4*) // 单次抓取完成,脉冲至滚筒3#
i_bPlaceEnd_Once : BOOL; (*Reserve byte 4 bit 5*) // 单次放置完成,脉冲至滚筒4#
i_bRes_by4b6 : BOOL; (*Reserve byte 4 bit 6*)
i_bCheckPartStart : BOOL; (*Reserve byte 4 bit 7*) // 运行到位开启料箱内产品有无检测
i_bJobRequest : BOOL; (*Ready for new job*)
i_bJobRead : BOOL; (*Job data has been read*)
i_bJobActive : BOOL; (*Job is busy (running)*) // =忙碌中
i_bRobIsHome : BOOL; (*Robot is in home position*) // 原点
i_bRobInConveyorZone: BOOL; (*Robot is in Conveyor Zone*) // 在传输区域
i_bRobInRotaryZone : BOOL; (*Robot is in Rotary Zone *) // 在转台区域
i_bOpen_Gripper : BOOL; (*Reserve byte 5 bit 6*) // 打开夹爪
i_bClose_Gripper : BOOL; (*Reserve byte 5 bit 7*) // 关闭夹爪
i_bReject_DiscardEnd: BOOL; (*Reserve byte 6 bit 0*) // 废料丢弃完成
i_bLoadPartRuning : BOOL; (*Reserve byte 6 bit 1*) //取件过程中
i_bUnloadPartRuning : BOOL; (*Reserve byte 6 b //取件过程中it 1*) //取件过程中
i_bRes_by6b3 : BOOL; (*Reserve byte 6 bit 3*)
i_bRes_by6b4 : BOOL; (*Reserve byte 6 bit 4*)
i_bRes_by6b5 : BOOL; (*Reserve byte 6 bit 5*)
i_bRes_by6b6 : BOOL; (*Reserve byte 6 bit 6*)
i_bRes_by6b7 : BOOL; (*Reserve byte 6 bit 7*)
i_bRes_by7b0 : BOOL; (*Reserve byte 7 bit 0*)
i_bRes_by7b1 : BOOL; (*Reserve byte 7 bit 1*)
i_bRes_by7b2 : BOOL; (*Reserve byte 7 bit 2*)
i_bRes_by7b3 : BOOL; (*Reserve byte 7 bit 3*)
i_bRes_by7b4 : BOOL; (*Reserve byte 7 bit 4*)
i_bRes_by7b5 : BOOL; (*Reserve byte 7 bit 5*)
i_bRes_by7b6 : BOOL; (*Reserve byte 7 bit 6*)
i_bRes_by7b7 : BOOL; (*Reserve byte 7 bit 7*)
i_byJob : BYTE; (*Group Input byte 8 bit 64 -Bit 71*) (*Mirror of motion task to PLC, Bit 0*)
i_byOverride : BYTE; (*Group Input byte 9 bit 72 -Bit 79*) // 当前速度
i_byPickNo : BYTE; (*Group Input byte 10 bit 80 -Bit 87*) // 当前抓取号
i_byPlaceNo : BYTE; (*Group Input byte 11 bit 88 -Bit 95*) // 当前放置号
i_byGI_by12 : BYTE; (*Group Input byte 12 bit 96 -Bit 103*)
i_byGI_by13 : BYTE; (*Group Input byte 13 bit 104 -Bit 111*)
i_byGI_by14 : BYTE; (*Group Input byte 14 bit 112 -Bit 119*)
i_byGI_by15 : BYTE; (*Group Input byte 15 bit 120 -Bit 129*)
i_byRes_by16 : BYTE; (*Reserve byte 16*)
i_byRes_by17 : BYTE; (*Reserve byte 17*)
i_byRes_by18 : BYTE; (*Reserve byte 18*)
i_byRes_by19 : BYTE; (*Reserve byte 19*)
i_byRes_by20 : BYTE; (*Reserve byte 20*)
i_byRes_by21 : BYTE; (*Reserve byte 21*)
i_byRes_by22 : BYTE; (*Reserve byte 22*)
i_byRes_by23 : BYTE; (*Reserve byte 23*)
i_arbyRes : ARRAY [1..40] OF BYTE; (*Reserve byte 24 until byte 63*)
END_STRUCT
2、输出接口定义 变量声明
STRUCT
(*============================== OUTPUTS =============================================*)
q_bResetExecError : BOOL; (*Reset Execution Error (System input)*)
q_bResetEmgStop : BOOL; (*Reset Emergency Stop (System input)*)
q_bMotorsOn : BOOL; (*Motors On (System input)*)
q_bMotorsOff : BOOL; (*Motors On (System input)*)
q_bStartAtMain : BOOL; (*Start At Main (Program Pointer to Main) (System input)*)
q_bStop : BOOL; (*Stop Program (System input)*)
q_bRes_by0b6 : BOOL; (*Reserve byte 0 bit 6*)
q_bRes_by0b7 : BOOL; (*Reserve byte 0 bit 7*)
q_bRes_by1b0 : BOOL; (*Reserve byte 1 bit 0*)
q_bRes_by1b1 : BOOL; (*Reserve byte 1 bit 1*)
q_bRes_by1b2 : BOOL; (*Reserve byte 1 bit 2*)
q_bRes_by1b3 : BOOL; (*Reserve byte 1 bit 3*)
q_bRes_by1b4 : BOOL; (*Reserve byte 1 bit 4*)
q_bRes_by1b5 : BOOL; (*Reserve byte 1 bit 5*)
q_bRes_by1b6 : BOOL; (*Reserve byte 1 bit 6*)
q_bRes_by1b7 : BOOL; (*Reserve byte 1 bit 7*)
q_bRes_by2b0 : BOOL; (*Reserve byte 2 bit 0*)
q_bRes_by2b1 : BOOL; (*Reserve byte 2 bit 1*)
q_bRes_by2b2 : BOOL; (*Reserve byte 2 bit 2*)
q_bRes_by2b3 : BOOL; (*Reserve byte 2 bit 3*)
q_bRes_by2b4 : BOOL; (*Reserve byte 2 bit 4*)
&

1万+



被折叠的 条评论
为什么被折叠?



