国产清洁工av剧情精品_欧洲日韩av网站_国产视频手机在线播放_亚洲精品国产va在线观看蜜芽_AV网页在线好看_久久精品国产亚洲精品2023_一级日韩一级欧美_亚洲欧美日韩中文天堂_最近中文字幕mv在线视频_男女啪啪高潮激烈免费版网站

您好,歡迎訪問(wèn)泰安宏盛自動(dòng)化科技有限公司!
20年專(zhuān)注工控自動(dòng)化研發(fā)制造 系統(tǒng)設(shè)計(jì)\制作\安裝一條龍服務(wù)
全國(guó)咨詢(xún)熱線:18605386049
當(dāng)前位置: 首頁(yè) > 技術(shù)資料 > 程序案例

威綸通觸摸屏宏指令,調(diào)用宏指令分類(lèi)函數(shù),詳解與實(shí)操

作者:小編 時(shí)間:2022-12-16 15:12:01 點(diǎn)擊:

前面小節(jié)我們介紹了下圖中的數(shù)學(xué)運(yùn)算,

字符串處理,數(shù)據(jù)轉(zhuǎn)換,數(shù)據(jù)操作分類(lèi)函數(shù),

這小節(jié)我們繼續(xù)了解宏控制分類(lèi)下的函數(shù),

通過(guò)編寫(xiě)程序來(lái)實(shí)踐。

0784082bf9f48041b68.jpg

宏在編寫(xiě)好后,可以供元件調(diào)用,也可以供其他宏調(diào)用。

威綸提供3個(gè)宏操作的函數(shù)。

1.DELAY。

主要用于在宏指令執(zhí)行過(guò)程當(dāng)中延時(shí)執(zhí)行的功能。

例如DELAY(1000),表示延時(shí)1000ms后,再執(zhí)行后面的宏指令。

macro_command main()

int value=0,n=0

int i=0

for i=0 to 3 step 1

RAND(value)

n=value%255

//延時(shí)500ms再執(zhí)行后面的SetData(n, "Local HMI", LW, 0, 1)

DELAY(500)

SetData(n, "Local HMI", LW, 0, 1)

next

end macro_command

2. ASYNC_TRIG_MACRO。

函數(shù)用于在一個(gè)宏指令中,使用異步的方法調(diào)用其他宏指令。

例如我們編寫(xiě)好了一個(gè)宏,ID為0,名稱(chēng)為macro_0

我們就可以通過(guò)宏ID,或宏名稱(chēng)調(diào)用宏。

ASYNC_TRIG_MACRO(0)

ASYNC_TRIG_MACRO("macro_0")

3. SYNC_TRIG_MACRO。

跟上邊的函數(shù)類(lèi)似,我們可以使用同步方式調(diào)用一個(gè)宏。

在使用上是相同的,也可以傳遞宏ID,或宏名稱(chēng)。

如下

macro_command main()

SYNC_TRIG_MACRO(0)

SYNC_TRIG_MACRO("macro_1")

end macro_command

同步可以理解為函數(shù)必須等被調(diào)用的宏執(zhí)行完才往下繼續(xù)執(zhí)行。

而異步不會(huì)關(guān)心被調(diào)用的宏是否執(zhí)行完,僅觸發(fā)一次調(diào)用就繼續(xù)執(zhí)行后面的代碼。

這里我們可以編寫(xiě)一個(gè)例程來(lái)使用宏指令相關(guān)的函數(shù),同時(shí)查看同步,異步的區(qū)別。

首先編寫(xiě)兩個(gè)宏指令,實(shí)現(xiàn)對(duì)LW0,LW1寄存器數(shù)值的修改,用于被調(diào)用其他宏調(diào)用。

代碼如下

第一個(gè)宏ID為0,名稱(chēng)為 macro_0,實(shí)現(xiàn)了對(duì)地址LW0的隨機(jī)修改。

macro_command main()

int value=0

int i=0

for i=0 to 255 step 10

value = value+10

SetData(value, "Local HMI", LW, 0, 1)

DELAY(100)

next

end macro_command

第二個(gè)宏ID為1,名稱(chēng)為 macro_1,實(shí)現(xiàn)了對(duì)地址LW1的隨機(jī)修改。

macro_command main()

int value=0

int i=0

for i=0 to 255 step 10

value = value+10

SetData(value, "Local HMI", LW, 1, 1)

DELAY(100)

next

end macro_command

然后再編寫(xiě)兩個(gè)宏,對(duì)前面編寫(xiě)好的宏進(jìn)行同步與異步調(diào)用。

第三個(gè)宏,實(shí)現(xiàn)對(duì)第一個(gè),第二個(gè)宏的異步調(diào)用。

可以通過(guò)宏ID或宏名稱(chēng)調(diào)用。

macro_command main()

ASYNC_TRIG_MACRO(0)

ASYNC_TRIG_MACRO("macro_1")

end macro_command

第四個(gè)宏,實(shí)現(xiàn)對(duì)第一個(gè),第二個(gè)宏的同步調(diào)用。

macro_command main()

SYNC_TRIG_MACRO(0)

SYNC_TRIG_MACRO("macro_1")

end macro_command

然后是添加元件,來(lái)顯示宏執(zhí)行的效果。

如下圖,我們添加了一個(gè)棒圖元件,一個(gè)表針元件。

同時(shí)設(shè)置了其讀寫(xiě)地址為L(zhǎng)W0和LW1,以及數(shù)值范圍為0-255.

再添加兩個(gè)位狀態(tài)設(shè)置元件,調(diào)用宏3,宏4.



QQ在線咨詢(xún)
聯(lián)系電話
17658151177
售后服務(wù)
17658151177