讀取KUKAC4.8.3系統機器人軸參數!用于測量電極的磨損量.
GLOBALDEF SGL_GET_CONTACT_POS()
SWITCH SG_ExtaxActive 選擇軸號
CASE 1
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)
;FOLDSGL_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自動化應用】歡迎添加關注!文章轉載請注明出處。
-
機器人
+關注
關注
211文章
28557瀏覽量
207689 -
GSD
+關注
關注
2文章
25瀏覽量
10741 -
KUKA
+關注
關注
3文章
217瀏覽量
16573
原文標題:SGL_GSD讀取系統參數
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論