读取KUKAC4.8.3系统机器人轴参数

描述

读取KUKAC4.8.3系统机器人轴参数!用于测量电极的磨损量.

 

GLOBALDEF SGL_GET_CONTACT_POS()

      SWITCH SG_ExtaxActive  选择轴号

         CASE

            SG_AxisContactPosGrad = SGL_GSD("DRIVE","E1","ContactPosition")* 1E-6

         CASE 2

            SG_AxisContactPosGrad = SGL_GSD("DRIVE","E2","ContactPosition")* 1E-6

         CASE 3

            SG_AxisContactPosGrad = SGL_GSD("DRIVE","E3","ContactPosition")* 1E-6

         CASE 4

            SG_AxisContactPosGrad = SGL_GSD("DRIVE","E4","ContactPosition")* 1E-6

         CASE 5

            SG_AxisContactPosGrad = SGL_GSD("DRIVE","E5","ContactPosition")* 1E-6

         CASE 6

            SG_AxisContactPosGrad = SGL_GSD("DRIVE","E6","ContactPosition")* 1E-6

      ENDSWITCH

      SG_AxisContactPosAct_MM = SG_AxisContactPosGrad * SG_MmGrad[SG_ActiveGunNumber]

SG_AxisContactPosAct_MM 轴位置的获得换算

SG_MMGrad[1]=0.0166666666666667

      IF($ERR.INTERPRETER == #S_INT)THEN

         ; SG_ActGunPosGrad仅在提交解释器的调试过程中有效         SG_ForceDeltaPosGrad = SG_ActGunPosGrad - SG_AxisContactPosGrad

      ENDIF

   ;ENDFOLD

END   获得轴的位置

 

 

GLOBALDEFFCTREAL SGL_GSD(OWNER_NAME[]:IN, OWNER_AXNAME[]:IN, VAR_NAME[]:IN)

   ;FOLD SGL_GSD

      CHAR OWNER_NAME[]

      CHAR OWNER_AXNAME[]

      CHAR VAR_NAME[]

      REAL VALUE

      INT RET_STATUS

      RET_STATUS =-1

      ON_ERROR_PROCEED

      VALUE = GET_SYSTEM_DATA(OWNER_NAME[], OWNER_AXNAME[], VAR_NAME[], RET_STATUS) 获得KUAK机器人的系统轴的参数

      IF((RET_STATUS <> 0) or ($err.number <> 0))then

      如果函数返回状态不是0 或者故障码不等于0

         VALUE =-1.0反馈-1

         SGL_SSD_ERROR(OWNER_NAME[], OWNER_AXNAME[], VAR_NAME[], VALUE, RET_STATUS提示驱动程序和轴的故障提示

         ERR_RAISE($ERR)

      ENDIF

      RETURN VALUE

   ;ENDFOLD

ENDFCT

 

 

GET_SYSTEM_DATA(OWNER_NAME[], OWNER_AXNAME[], VAR_NAME[], RET_STATUS)  系统函数: "获得系统数据"

"DRIVE" , "E1"  , "ContactPosition" -----获得E1轴的接触位置

DRIVE:驱动设备 

E1: 外部轴

ContactPosition:接触位置

 

可以读取系统变量(轴对称控制器参数)

 

STATUS  状态: 类型INT  是否以成功执行或出现了什么错误

     0 成功

     1 收件人姓名不详

     2 对应的轴不存在

     3 驱动程序不知道变量名

     4 变量是写保护的

     5 传输值超出了该参数的值范围

OWNER_NAME[]  类型:字符串  ---所有者名称

     函数调用的收件人或变量的所有者。最初,只有值驱动器是允许的。

OWNER_AXNAME[]类型:字符串  ---所有者轴名称

     写入轴的名称

     A1---A6表示机器人轴

     E1---E6表示外部轴

从轴可以通过这个后缀来寻址。和轴的索引,例如E1轴的第二个从驱动器的E1.S2

解耦得轴也可以被寻址.

对于非特定于axis的数据,这里传输一个空字符串.

VAR_NAME[]类型:字符串 写入参数名称

 

电伺服外部轴的其他应用: 

  USER_VelGain    = SGL_GSD("DRIVE", TEST_AXIS[],"VelGain.PTP")驱动设备PTP速度增益

  USER_VelIntTime = SGL_GSD("DRIVE", TEST_AXIS[],"VelIntTime.PTP")驱动设备PTP 速度时间

  USER_PosGain    = SGL_GSD("DRIVE", TEST_AXIS[],"PosGain.PTP")驱动设备PTP位置值

   SG_LogbookCurrent.ContactStrategy = SGL_GSD("DRIVE", axisstring[],"DetectContactInfo") 驱动设备的检测联系方式

   SG_LogbookCurrent.Threshold = SGL_GSD("DRIVE", axisstring[],"DetectThreshold")检测阈值

   SG_LogbookCurrent.ForceOffset = SGL_GSD("DRIVE", axisstring[],"ForceOffset")力偏移

  USER_ForceGain    =SGL_GSD("DRIVE", TEST_AXIS[],"ForceGain")力的增益

责任编辑:xj

       原文标题:SGL_GSD读取系统参数

文章出处:【微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分