大部分PLC都會内置很多基本的函數和功能塊供編程人員調用,而且很多具有通用性,也就是在不同品牌的PLC中,這些函數和功能塊的名稱、用法和功能相同,記住這些函數和功能塊的名稱和使用方法,能讓我們編程時更加便捷。下面以三菱PLC的編輯軟件GX Works3為例,展示這些函數、功能塊的使用方法。
邊緣檢測與計時器1, R_TRIG/F_TRIG(上升/下降沿檢測功能塊)
上升沿和下降沿應該是所有程序裡最常用的FB(功能塊)之一了,他的功能是檢測一個bool變量變化的邊緣,輸出一個掃描周期,下面通過一個例子介紹一下我常用的命名方法和編程格式:檢測開始按鈕X1的上升沿, 置位Y0,檢測停止按鈕X2的下降沿,複位Y0。
第一步聲明标簽, 我個人習慣将上升沿加前綴“rt”,下降沿加“ft”:
聲明标簽
第二步編程,FB的輸入引腳賦值要在()内操作,而輸出引腳可以當作變量直接使用,節省一個标簽:
編程格式
增加變量前綴,無論在程序的什麼地方使用,都能一眼看出變量的類型,方便閱讀程序。
2,TON/TOF(延時啟動/關閉功能塊)
延時功能塊也是非常常用的FB,除了起到延時的作用,還可以用來過濾信号,起到篩選的作用,例如:使用對射光電傳感器X0(阻擋時ON)檢測皮帶上産品縫隙,當傳感器OFF時間超過100ms時報警Y0。
聲明标簽 :
編程:
3,TP(脈沖定時器)
脈沖定時器的功能是輸出一個固定時長脈沖,典型的應用如報警燈的控制,舉個例子:當變量bAlarm觸發後,點亮報警燈Y0,要求每隔700ms亮一次,一次亮200ms,持續閃爍。
聲明标簽:
編程:
ton功能塊的輸入設置為自身輸出的非,作用是每隔700ms生成一個單掃描周期的脈沖,tp功能塊将脈沖的時長設定為200ms,并給到指示燈。
算術運算算數運算除了常用的" ","-","*","/"(加減乘除)還有“**”(幂運算)"<","=",">"(比較)等。還有一些常用的函數可供使用。
1,MAX,MIN(最大值,最小值函數)
選取最大值/最小值存入iMax/iMin中,三菱最多可比較28個數據。這個函數在我的《五子棋》遊戲程序中有用到,選取一個棋子4個方向連棋數和分數的最大值。
2,MOD(取餘數函數)
取餘數是非常有用的函數,比如生成一個範圍内的随機數時可以使用MOD對生成的數字進行限制;可以将一維數組存入多維數組時使用MOD進行設限,例如:将一維數組DataListA[0..99]的數據傳遞給二維數組DataListB[0..1,0..49]。
3,ABS(絕對值函數)
還有很多三角函數(sin,cos,tan)反三角函數,這裡就不再演示了,用法差不多。
類型轉換類型轉換的函數指令非常多,基本涵蓋了所有數據類型之間的相互轉換,格式基本相同。
類型轉換
下面以“幂運算”為例演示用法:
由于三菱的幂運算要求實數,所以在計算前先将整數轉為實數,計算後的結果也是實數,想要存入整數變量還要再轉為整數。
字符串處理字符串的處理函數經常在TCPIP通訊中用到,尤其是工業相機的應用中,種類也是非常多:
字符串處理
以常用的MID截取函數為例,講述函數用法:解析由相機發來的字符串,包含一個産品的XY坐标和旋轉角度C,存入實數變量iX,iY,iC。
MID函數
注意,字符串的空格也算一位。
輸入源字符串,截取長度,截取位置,将獲得的字符串轉換為實數後賦值。
其他在三菱的部件選擇窗口中,可以找到非常多的系統功能塊和函數:
部件選擇
沒有必要記住每一個函數的使用方法和名稱,當你需要實現某種功能時,直接在搜索框搜索功能名稱(中文就行),就會得到符合的功能塊,如果不會使用可以按F1按鍵查看幫助。
幫助文檔
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!