伺服電源模塊6SN1146-1BB01-0BA0
伺服電源模塊6SN1146-1BB01-0BA0
有需要聯(lián)系公司現(xiàn)貨價(jià)優(yōu)
【產(chǎn)品價(jià)格】電議(含17%增值稅)
【產(chǎn)品質(zhì)量】原裝正品、假一罰十。
【產(chǎn)品包裝】全新原裝、現(xiàn)貨銷售。
【售后服務(wù)】質(zhì)保一年,貨到后有任何質(zhì)量問題7天內(nèi)包換(人為除外)
公司所售出的產(chǎn)品,全新原裝,質(zhì)保一年、但凡發(fā)現(xiàn)有任何質(zhì)量問題,可無條件退換(非人為損壞).
希殿電氣技術(shù)(上海)有限公司(西門子合作伙伴)
聯(lián) 系 人 :康經(jīng)理(銷售工程師)
在線商務(wù)Q Q :192061030
聯(lián) 系 手 機(jī) :18621061383(微信)
聯(lián) 系 電 話 :021-60541249
公 司 傳 真 :021-57271268
郵 箱 :192061030@qq.com
地 址:上海市金山區(qū)楓涇鎮(zhèn)涇波路999弄20棟
【分享】關(guān)于Variant數(shù)據(jù)類型在LAD中的簡(jiǎn)單用法。 精華星級(jí)星級(jí)星級(jí)星級(jí)星級(jí)熱門
yming版主
2017-09-27 16:03:08樓主
在1200/1500版區(qū)中,有不少關(guān)于Variant的疑惑、討論。根據(jù)我對(duì)這個(gè)Variant的學(xué)習(xí)和使用,
結(jié)合各位大俠的表述,說一下我對(duì)它的認(rèn)識(shí)和理解。
一、什么情況下,會(huì)考慮使用Variant?
如果你想做一個(gè)通用功能的函數(shù)、函數(shù)塊,而被處理的數(shù)據(jù)類型是不確定的(被處理數(shù)據(jù)可能是
整數(shù);也可能是實(shí)數(shù)等等);但執(zhí)行的功能是一樣的時(shí)候,就要考慮使用Variant。
二、Variant用在哪里?
Variant主要用在這個(gè)通用的函數(shù)(FC)、函數(shù)塊(FB)的接口處和它們的局部變量中。(如果
是一個(gè)專用的函數(shù)、函數(shù)塊,數(shù)據(jù)類型都是確定的,你不需要用Variant。)
三、Variant到底是什么?
Variant在使用上,雖然把它稱為指針,但實(shí)際上,它是在函數(shù)、函數(shù)塊上開了一個(gè)個(gè)不占用
空間的“口子”,對(duì)于函數(shù)要處理的各種數(shù)據(jù)類型變量,都可以通過它進(jìn)入函數(shù)(只是進(jìn)入哦,
函數(shù)內(nèi)的計(jì)算,不能在此取得數(shù)值)。
四、在哪里可以取得進(jìn)入函數(shù)的Variant變量的值呢?
取得Variant變量的值是要用VariantGet獲得,用VariantPut輸出。
下面用個(gè)簡(jiǎn)單例子來詳細(xì)說明:
首先注意到,用Variant做函數(shù),它只支持固件版本4.0以上的1200PLC。
例如:我需要個(gè)通用的功能函數(shù),來處理一個(gè)數(shù)值的1/2,然后輸出。根據(jù)以往項(xiàng)目經(jīng)驗(yàn),主要是處理整數(shù)
,雙精度整數(shù)、實(shí)數(shù)、長(zhǎng)實(shí)數(shù)四種。準(zhǔn)備寫個(gè)通用函數(shù)放到全局庫(kù)中,各項(xiàng)目可以調(diào)用。(否則我需要針對(duì)不同的數(shù)據(jù)類型寫四個(gè)FC。)
1、首先,新建個(gè)FC(取個(gè)名字HafB)
2、在函數(shù)輸入接口處寫個(gè)變量,數(shù)據(jù)類型選擇Variant;在輸出接口也寫個(gè)變量,數(shù)據(jù)類型也選
擇Variant。為了處理出錯(cuò),添加個(gè)狀態(tài)字。
然后使用中間局部變量,添加可能需要的各種數(shù)據(jù)類型,用它們來獲取實(shí)際使用時(shí)的值。最后用
個(gè)布爾值變量,控制本函數(shù)的ENO。
見下圖:
3、寫FC程序
程序很簡(jiǎn)單,寫出一個(gè)程序段,然后就是復(fù)制-拷貝-粘貼,然后再用鼠標(biāo)按住那幾個(gè)聲明的變量
拖-拽-放。
每一個(gè)處理程序段中,都是從VariantGet指令獲取這個(gè)數(shù)據(jù)類型的數(shù)值,然后處理計(jì)算,發(fā)送到
輸出,然后置位旗標(biāo)。
4、函數(shù)測(cè)試
為方便測(cè)試,我建了個(gè)數(shù)據(jù)類型(一股腦的把四種類型都寫進(jìn)去);然后建個(gè)全局DB,使用這個(gè)
自定義數(shù)據(jù)類型,分別作測(cè)試函數(shù)的輸入和輸出。
下圖:
然后
在主循環(huán)OB1中拖入4個(gè)寫好的FC(HafB),打開上述DB,用鼠標(biāo)按住變量旗標(biāo),拖入到各自的
FC接口。下載硬件配置,下載全部程序,啟動(dòng)運(yùn)行。
故意用個(gè)不在范圍的數(shù)據(jù)類型,看看FC是如何處理的。
至此,一個(gè)簡(jiǎn)單地、通用的FC就完成了??梢酝系阶约旱娜謳?kù)中,供以后調(diào)用啦。