圖9 觸摸屏界面
BASIC程序代碼如下:
auto: ’開機自動運行程序
Dim speed1 ’定義速度變量
FLASH_READ 1, speed1 ’讀取已儲存在Flash中的速度值
modbus_reg(2) = speed1 ’將讀取的速度值顯示在觸摸屏上
run_state = 1 ’ 定義運動狀態:1:停止,2:運行
out(1,0) ’初始化輸出口1
out(3,0) ’初始化輸出口3
while 1
if in(1) = 1 then ’ 觸摸屏的啟動按鈕按下
if run_state = 1 then
stop 1
run 1, runtask ’啟動任務1:runtask
end if
else
if in(4) = 1 then ’ 觸摸屏的回零按鈕按下
if run_state = 1 then
homemove ’運動平臺回原點
end if
else
if modbus_bit(0) = 1 then ’ 觸摸屏的保存參數按鈕按下
modbus_bit(0) = 0
speed1= modbus_reg(2)
FLASH_WRITE 1, speed1 ’將速度參數保存到FLASH中
end if
end if
end if
wend
end
runtask: ’運行
run_state =2
out(3,0) ’ 運動完成信號置零
out(1,1) ’開激光
base(0,1,2)
VSPEED = speed1 ’設定當前坐標系插補軌跡速度
pmoveabs(100,100) ’按絕對坐標點位運動到起始點
wait idle ’等待軸停止
move(1000,0) ’直線插補,相對運動到(1000,0)
wait idle ’等待軸停止
MHELICAL(-1000,0,-500,0,1,100,1) ’螺旋插補,XY軸順時針、相對運動半個圓、
’同時U軸轉180度;
’U軸設定為每100個脈沖對應180度
wait idle ’等待軸停止
move(1000,0) ’直線插補,相對運動到(1000,0)
wait idle ’等待軸停止
MHELICAL(-1000,0,-500,0,1,100,1) ’螺旋插補,XY順時針相對運動半個圓、
’同時U軸轉180度
wait idle ’等待軸停止,整個軌跡結束
out(1,0) ’關激光
run_state = 1
out(3,1) ’ 運動完成信號輸出
end
程序中幾個關鍵指令解釋如下:
1.PMOVEABS
語法:PMOVEABS( position1, position2, position3, position4 )
描述:點位運動
參數:position i:第i個軸運動坐標
2.MOVE
語法:MOVE( distance1 ,distance2 ,distance3 ,distance4 )
描述:直線插補運動
參數:distance i:第i個軸運動距離
3.MHELICAL
語法:MHELICAL(end1,end2,centre1,centre2,direction,distance3,mode)
描述:螺旋插補運動,第一軸和第二軸進行圓弧插補,第三軸相對于一、二軸的圓弧角做比例運動
參數:end1:第一個軸終點坐標
end2:第二個軸終點坐標
centre1:第一個軸圓心坐標,相對與起始點
centre2:第二個軸圓心坐標,相對與起始點
Direction:0-逆時針,1-順時針
distance3:第三個軸運動距離
Mode:0-第三軸參與速度計算;1-第三軸不參與速度計算
六 總結
綜上所述,我們可以看出,和PLC相比SMC6480運動控制器具有運動控制功能多、處理I/O信號能力強、性價比高等優點;而且采用BASIC編程十分簡單、方便,很容易上手;使用SMC6480運動控制器可以輕而易舉地完成各種自動化設備的復雜運動控制。
作者簡介
聶國強 男 ,工程師 2007年河北工程大學自動化專業畢業,現在深圳從事自動化技術研發工作。
左 力 男, 博士,高級工程師 1998年華中理工大學機械學院畢業,現在深圳從事自動化技術研發工作。