发表于:2004/4/28 18:57:00
#0楼
以下是一個Script動畫範例,手上有GP的人可以將程式碼複製回去玩玩,這是一個繪圖的SCRIPT左邊繪畫出一個會旋轉的線條,右邊會出現一顆球在四方框內彈跳喔
測試機種GP2501S,PLC Type選擇MEMORY LINK SIO TYPE
觸發條件為判斷上下微分觸發Bit設定 [b:203800]
小台的GP也可以試試看,第一個程式為主程式,程式二為顏色變換,我設定為六十四色每隔一秒鐘自動變化顏色一次,人機畫面不需要畫任何東西,程式將會自動畫出動畫物件喔
^_^
/////////////////程式一開始///////////////////
if ([w:0209]==0)
{
[w:0200]=100
[w:0201]=100
}
endif
if ([w:0200]<200)
{
if ([w:0203]==0)
{[w:0200]=[w:0200]+[w:0212]+2
}
endif
if ([w:0200]>=200)
{[w:0203]=1
}
endif
}
endif
if ([w:0203]==1)
{
if ([w:0200]>100)
{[w:0200]=[w:0200]-[w:0212]-2
}
endif
if ([w:0200]<=100)
{[w:0203]=0
}
endif
}
endif
[w:0204]=300-[w:0200]
if ([w:0201]<200)
{
if ([w:0205]==0)
{[w:0201]=[w:0201]+[w:0212]+3
}
endif
if ([w:0201]>=200)
{[w:0205]=1
}
endif
}
endif
if ([w:0205]==1)
{
if ([w:0201]>100)
{[w:0201]=[w:0201]-[w:0212]-3
}
endif
if ([w:0201]<=100)
{[w:0205]=0
}
endif
}
endif
[w:0210]=300-[w:0201]
[w:0211]=65-[w:0206]
dsp_rectangle(90,90,210,210,0x0000+0,0x0000+0,0x0001)
//dsp_circle([w:LS0200],[w:LS0201],5,0x0000+[w:LS0206],0x0000+[w:LS0206],0x0001)
dsp_line([w:0200],[w:0201],[w:0204],[w:0210],0x0000+[w:0211],0x0000+0,0x0800)
dsp_rectangle(285,85,410,210,0x0000+0,0x0000+0,0x0001)
dsp_circle([w:0200]+200,[w:0201],5,0x0000+[w:0206],0x0000+[w:0206],0x0001)
[w:0209]=1
////////////////////程式一結束///////////////////////
////////////////////程式二開始///////////////////////
if ([w:0206]<65)
{
if ([w:0207]==0)
{[w:0206]=[w:0206]+1
}
endif
if ([w:0206]>=64)
{[w:0207]=1
}
endif
}
endif
if ([w:0207]==1)
{
if ([w:0206]>0)
{[w:0206]=[w:0206]-1
}
endif
if ([w:0206]<=1)
{[w:0207]=0
}
endif
}
endif
////////////////////程式二結束///////////////////////
測試機種GP2501S,PLC Type選擇MEMORY LINK SIO TYPE
觸發條件為判斷上下微分觸發Bit設定 [b:203800]
小台的GP也可以試試看,第一個程式為主程式,程式二為顏色變換,我設定為六十四色每隔一秒鐘自動變化顏色一次,人機畫面不需要畫任何東西,程式將會自動畫出動畫物件喔
^_^
/////////////////程式一開始///////////////////
if ([w:0209]==0)
{
[w:0200]=100
[w:0201]=100
}
endif
if ([w:0200]<200)
{
if ([w:0203]==0)
{[w:0200]=[w:0200]+[w:0212]+2
}
endif
if ([w:0200]>=200)
{[w:0203]=1
}
endif
}
endif
if ([w:0203]==1)
{
if ([w:0200]>100)
{[w:0200]=[w:0200]-[w:0212]-2
}
endif
if ([w:0200]<=100)
{[w:0203]=0
}
endif
}
endif
[w:0204]=300-[w:0200]
if ([w:0201]<200)
{
if ([w:0205]==0)
{[w:0201]=[w:0201]+[w:0212]+3
}
endif
if ([w:0201]>=200)
{[w:0205]=1
}
endif
}
endif
if ([w:0205]==1)
{
if ([w:0201]>100)
{[w:0201]=[w:0201]-[w:0212]-3
}
endif
if ([w:0201]<=100)
{[w:0205]=0
}
endif
}
endif
[w:0210]=300-[w:0201]
[w:0211]=65-[w:0206]
dsp_rectangle(90,90,210,210,0x0000+0,0x0000+0,0x0001)
//dsp_circle([w:LS0200],[w:LS0201],5,0x0000+[w:LS0206],0x0000+[w:LS0206],0x0001)
dsp_line([w:0200],[w:0201],[w:0204],[w:0210],0x0000+[w:0211],0x0000+0,0x0800)
dsp_rectangle(285,85,410,210,0x0000+0,0x0000+0,0x0001)
dsp_circle([w:0200]+200,[w:0201],5,0x0000+[w:0206],0x0000+[w:0206],0x0001)
[w:0209]=1
////////////////////程式一結束///////////////////////
////////////////////程式二開始///////////////////////
if ([w:0206]<65)
{
if ([w:0207]==0)
{[w:0206]=[w:0206]+1
}
endif
if ([w:0206]>=64)
{[w:0207]=1
}
endif
}
endif
if ([w:0207]==1)
{
if ([w:0206]>0)
{[w:0206]=[w:0206]-1
}
endif
if ([w:0206]<=1)
{[w:0207]=0
}
endif
}
endif
////////////////////程式二結束///////////////////////
浪跡天涯~無事一身輕^ ^