函數庫和功能塊的說明
- - - - - -
功能和功能塊是預定義的元素,可用于以IEC 61131-3標準的文本和圖形語言編寫“功能塊”和“程序”類型的程序模塊的算法和邏輯。
這些元素在輸入和輸出處具有參數。 通常,每個參數都有一個名稱及其用途。
# ◇ 1. 標準功能塊
## ◇ 1.1. 雙穩態SR觸發器
該功能塊是具有主要輸入S(設置)的雙穩態SR觸發器。 當輸入S1變為“ 1”時,輸出Q1變為“ 1”。 即使S1返回“ 0”,也保持該狀態。 輸入R變為“ 1”時,輸出Q1返回“ 0”。 如果輸入S1和R同時處于“ 1”,則主導輸入S1將把輸出Q1設置為“ 1”。 首次調用功能塊時,Q1的初始狀態為“ 0”。
### ◇ 1.1.1. 雙穩態RS觸發器
該功能塊是具有主要輸入R(復位)的雙穩態RS觸發器。 當輸入S變為“ 1”時,輸出Q1變為“ 1”。 即使S返回“ 0”,也保持該狀態。 當輸入R1變為“ 1”時,輸出Q1返回“ 0”。 如果輸入S和R1同時處于“ 1”,則主導輸入R1將把輸出Q1設置為“ 0”。 首次調用功能塊時,Q1的初始狀態為“ 0”。
### ◇ 1.1.2. SEMA-信號量
該功能塊是一個信號燈,它定義了一種機制,該機制允許程序元素互斥訪問某些資源。
### ◇ 1.1.3. R\_TRIG-邊緣上升指示器
該功能塊是一個上升沿指示器,當信號的上升沿時在輸出端生成單個脈沖。 如果輸入CLK從“ 0”到“ 1”的跳變,則輸出Q變為“ 1”。 從一個塊執行到下一個(一個周期)輸出保持為狀態“ 1”。 然后輸出返回到“ 0”。
### ◇ 1.1.4. F\_TRIG-邊緣下降指標
該功能塊是一個邊沿下降指示器,當信號的邊沿下降時,在輸出端生成單個脈沖。
如果輸入CLK從“ 1”到“ 0”的轉換,則輸出Q變為“ 1”。 從一個塊執行到下一個塊,輸出將保持狀態“ 1”。 然后輸出返回到“ 0”。
### ◇ 1.1.5. CTU-增量計數器
該功能塊是一個增量計數器。 輸入R處的信號“ 1”導致將值“ 0”分配給輸出CV。 在輸入CU從“ 0”到“ 1”的每個躍遷中,CV的值增加1。當CV> = PV時,輸出Q設置為“ 1”。
注意:計數器僅在達到使用的數據類型的最大值之前起作用。 不會發生溢出。
BOOL類型的CU,RESET輸入和Q輸出,WORD類型的PV輸入和CV輸出。
對于輸入CU的每個邊沿(從FALSE到TRUE的轉換),CV輸出增加1。當計數器達到設置的PV值時,輸出Q設置為TRUE。 在輸入RESET = TRUE時,CV計數器復位為0。
### ◇ 1.1.6. CTD-減量計數器
該功能塊是一個減量計數器。 輸入LD處的信號“ 1”導致將輸入PV處的值分配給輸出CV。 在CD輸入上從“ 0”到“ 1”的每次轉換,CV值都會減少1。
當CV <= 0時,輸出Q取值為“ 1”。
注意:計數器僅在達到最小值之前起作用。
使用的數據類型。 不會發生溢出。
### ◇ 1.1.7. CTUD-反向計數器
該功能塊是可逆計數器。 輸入R處的信號“ 1”導致將值“ 0”分配給輸出CV。 輸入LD處的信號“ 1”導致將輸入PV處的值分配給輸出CV。 在輸入CU上從“ 0”到“ 1”的每次轉換時,CV值都增加1。在輸入CD上從“ 0”到“ 1”的每次轉換時,CV值都減少1。
如果信號“ 1”同時到達輸入R和LD,則首先處理輸入R。
當CV> = PV時,QU輸出設置為“ 1”。
當CV <= 0時,QD輸出設置為“ 1”。
注意:減法計數器僅在達到使用的數據類型的最小值之前起作用,累加計數器僅在達到使用的數據類型的最大值之前起作用。 不會發生溢出。
### ◇ 1.1.8. TP-脈沖中繼器
該功能塊是脈沖轉發器,用于生成給定持續時間的脈沖。 如果IN變為“ 1”,則Q變為“ 1”,內部時間(ET)開始。 如果內部時間達到PT值,則Q變為“ 0”(與IN無關)。 如果IN變為“ 0”,內部時間計數將停止/復位。 如果內部時間尚未達到PT值,則IN脈沖不會影響內部時間。 如果內部時間已達到PT值且IN為“ 0”,則內部時間將停止/復位,并且Q將變為“ 0”。
### ◇ 1.1.9. TON-延遲開啟計時器
該功能塊是帶延時的計時器。 當輸入端的信號狀態從0變為1并在指定時間后設置為輸出1時,它開始。
如果IN變為“ 1”,則開始內部時間(ET)倒計時。 如果內部時間達到PT值,則Q變為“ 1”。 如果IN變為“ 0”,則Q變為“ 0”,并且內部計時停止/復位。 如果在內部時間達到PT值之前IN變為“ 0”,則內部計時將停止/復位,并且輸出Q不會設置為“ 0”。
### ◇ 1.1.10. TOF-延遲關機定時器
該功能塊是具有延遲關閉功能的計時器。 當輸入端的信號狀態從1變為0并在指定時間后設置為輸出0時,它開始。
如果IN變為“ 1”,則Q變為“ 1”。
如果IN變為“ 0”,則開始內部時間(ET)倒計時。
如果內部時間達到PT值,則Q變為“ 0”。
如果IN變為“ 1”,則Q變為“ 1”,并且內部計時停止/復位。
如果IN在內部時間達到PT值之前變為“ 1”,則內部計時將停止/復位,并且輸出Q不會設置為“ 0”。
## ◇ 1.2. 附加功能塊
### ◇ 1.2.1. RTC-實時時鐘
該功能塊是一個實時時鐘,具有許多使用選項,包括添加時間戳以在生成的報告,警報消息等中設置日期和時間。
PDT(預設DT)輸入用于設置時間。 時鐘開始從PDT值開始遞減計數。 輸出Q(BOOL)將重復EN的值。 CDT(當前DT)輸出給出當前日期和時間。
### ◇ 1.2.2. 積分-積分
積分功能塊對輸入的XIN值隨時間進行積分。
### ◇ 1.2.3. 導數-導數
微分功能塊產生與輸入參數XIN的變化率成比例的XOUT值。
### ◇ 1.2.4. PID-比例積分微分調節器
該功能塊是在自動控制系統中使用的反饋設備,用于生成控制信號。 PID控制器生成一個控制信號,該信號是三項之和,其中第一項與輸入信號成比例,第二項是輸入信號的積分,第三項是輸入信號的導數。
### ◇ 1.2.5. 滯后-滯后
遲滯功能塊提供輸出遲滯布爾值,該值由輸入參數XIN1和XIN2(帶浮點的REAL類型)之間的差值確定。
## ◇ 1.3. 數值運算
### ◇ 1.3.1. ABS-號碼模塊
此功能將輸入數字IN的IN模塊返回到OUT。
### ◇ 1.3.2. SQRT-平方根
此函數將輸入數字IN的平方根返回到OUT。
### ◇ 1.3.3. LN是自然對數
此函數將IN的自然對數的值返回OUT。
### ◇ 1.3.4. 對數-以10為底的對數
此函數從OUT返回IN的以10為底的對數值。
### ◇ 1.3.5. EXP-求冪
此函數將提高到IN冪的指數值返回OUT。
### ◇ 1.3.6. SIN-正弦
此函數將IN的正弦值返回到OUT。
### ◇ 1.3.7. 余弦-余弦
此函數返回OUT余弦值IN。
### ◇ 1.3.8. TAN-切線
此函數將IN的切線的值返回到OUT。
### ◇ 1.3.9. ASIN-反正弦
該功能塊將反正弦IN的值返回OUT。
### ◇ 1.3.10. ACOS-反余弦
此函數返回反余弦IN的OUT值。
### ◇ 1.3.11. ATAN-切線
此函數將IN的OUT切線返回到OUT。
## ◇ 1.4. 算術運算
### ◇ 1.4.1. 添加-加法
此函數返回將IN1和IN2與OUT相加的結果。
### ◇ 1.4.2. MUL-乘法
該函數將IN1和IN2相乘的結果返回到OUT。
### ◇ 1.4.3. 減-減
此函數將IN1減去IN2的結果返回到OUT。
### ◇ 1.4.4. DIV-部門
該函數將IN1除以IN2的結果返回到OUT。
### ◇ 1.4.5. MOD-除法運算的余數
該功能將IN1除以IN2的余數返回到OUT。
### ◇ 1.4.6. EXPT-求冪
此函數將IN1的值增加到OUT2的冪,然后返回OUT。
### ◇ 1.4.7. 移動-分配
此函數將IN值返回到OUT。
## ◇ 1.5. 臨時操作
### ◇ 1.5.1. ADD\_TIME-添加TIME類型的變量
此函數將TIME類型的輸入值IN(k)相加,并在TIME類型的OUT中返回結果。 輸入IN(n)的數量是可變的-從2到20。默認值為2。
### ◇ 1.5.2. ADD\_TOD\_TIME-將TOD一天中的時間添加到TIME
此函數將類型TOD(TIME*OF*DAY)的輸入變量IN1與類型TIME的變量IN2相加。 返回值OUT的類型為TIME*OF*DAY。
### ◇ 1.5.3. ADD\_DT\_TIME-將時間添加到DT
此函數ADD*DT*TIME將時間段(TIME格式)添加到時間點(DT格式),并因此提供新的時間點(DT格式)。 時間點(參數T)必須在DT#1990-01-01-00:00:00.000到DT#2089-12-31-23:59:59.999的范圍內。
該功能不執行輸入檢查。 如果加法結果不在允許范圍內,則將結果限制為相應的值,并且將狀態字的二進制結果(BR)的位設置為“ 0”。
對于輸入參數T和輸出參數,只能將符號定義的變量關聯。
### ◇ 1.5.4. MULTIME-TIME時間乘以數字
此函數將TIME類型的輸入值IN1乘以ANY\_NUM類型的數字IN2并將結果返回到TIME類型的OUT。
### ◇ 1.5.5. SUB\_TIME-TIME類型的兩個值的差
此函數從TIME類型的輸入值IN1減去TIME類型的輸入IN2的值,并將結果返回到TIME類型的OUT。
### ◇ 1.5.6. SUB\_DATE\_DATE-DATE類型的兩個值的差
此函數從DATE類型的輸入值IN1中減去DATE類型的輸入值IN2,并將其TIME類型的差返回到OUT。
### ◇ 1.5.7. SUB\_TOD\_TIME-從一天中的時間TOD時間間隔TIME減去
此函數從TOD類型的輸入值IN1(TIME*OF*DAY)中減去TIME類型的輸入值IN2,并將結果返回到TIME*OF*DAY類型的OUT。
### ◇ 1.5.8. SUB\_DT\_TIME-從時間間隔TIME的時間點DT減去
此功能從時刻(DT格式)中減去時間間隔(TIME格式),并提供新的時刻(DT格式)作為結果。 時間(參數T)必須在DT#1990-01-01-00:00:00.000到DT#2089-12- 31-23:59:59.999的范圍內。 該功能不執行輸入檢查。 如果減法的結果不在允許范圍內,則將結果限制為相應的值,并且將狀態字的二進制結果(BR)的位設置為“ 0”。
對于輸入參數T和輸出參數,只能將符號定義的變量關聯。
### ◇ 1.5.9. DIVTIME-用數字除以TIME
此函數將TIME類型的輸入值IN1除以ANY\_NUM類型的數字IN2,并在TIME類型的OUT中返回結果。
## ◇ 1.6. 位偏移量運算
### ◇ 1.6.1. SHL-算術左移
此函數將自變量IN的算術移位返回OUT到左邊N位,并用零填充右邊的位。
### ◇ 1.6.2. SHR-向右算術移位
該函數將自變量IN的算術移位返回OUT到右邊N位,并用零填充左邊的位。
### ◇ 1.6.3. ROR-循環右移
此函數將參數IN的循環移位向左返回N位,以返回OUT。
### ◇ 1.6.4. ROL-循環左移
此函數將參數IN的循環右移N位返回OUT。
## ◇ 1.7. 按位運算
### ◇ 1.7.1. 與-按位與
該功能塊表示所有輸入參數IN 1 ... IN n的“邏輯與”組織。
### ◇ 1.7.2. 或-按位或
該函數表示所有輸入參數IN 1 ... IN n的“邏輯或”組織。
### ◇ 1.7.3. XOR-按位異或
該函數表示所有輸入參數IN 1 ... IN n的“邏輯異或”的組織。
### ◇ 1.7.4. 不-按位反轉
此函數表示輸入自變量IN的“邏輯反轉”的組織。
## ◇ 1.8. 選擇操作
### ◇ 1.8.1. SEL-兩個值的選擇
此函數根據參數G的值將兩個參數IN1或IN2之一返回給OUT。如果G = 0,則OUT為X1,否則OUT為X2。
### ◇ 1.8.2. MAX-最大
此函數將輸入參數IN1和IN2的最大值返回OUT。
### ◇ 1.8.3. MIN-最小值
此函數將輸入參數IN1和IN2的最小值返回到OUT。
### ◇ 1.8.4. LIMIT-值限制器
此函數將輸入參數IN的值返回到OUT;如果它超過MX值,則MX返回到OUT;如果IN小于MN,則MN返回到OUT。
### ◇ 1.8.5. MUX-多路復用器(從N中選擇1個)
此函數根據輸入K將輸入IN(K)的值返回到OUT。輸入IN:sub: (n)的數量是可變的-從2到20。默認值為2。
## ◇ 1.9. 比較運算
### ◇ 1.9.1. GT-超過
此函數比較所有輸入參數,如果滿足以下條件,則返回True:(IN1> IN2)&(IN2> IN3)&...(IN n-1 > IN n ),否則返回OUT假的。 輸入IN (n)的數量是可變的-從2到20。默認值為2。
### ◇ 1.9.2. GE-大于或等于
此函數比較所有輸入參數,如果滿足以下條件,則返回True:(IN1> = IN2)&(IN2> = IN3)&...(IN n-1 > = IN n ),否則在OUT中返回False。 輸入IN (n)的數量是可變的-從2到20。默認值為2。
### ◇ 1.9.3. 情商-平等
此函數比較所有輸入參數,如果滿足以下條件,則在OUT輸出上返回True:(IN1 = IN2)&(IN2 = IN3)&...(IN n-1 = IN n );否則,OUT返回假的。 輸入IN (n)的數量是可變的-從2到20。默認值為2。
### ◇ 1.9.4. LT-小于
此函數比較所有輸入參數,如果滿足以下條件,則在OUT輸出上返回True:(IN1 < 輸入IN ),否則,OUT返回假的。 n
### ◇ 1.9.5. LE-小于或等于
如果滿足以下條件,則此函數比較所有輸入自變量并輸出True:(IN1 <= IN2)&(IN2 <= IN3)&...(IN n-1 <= IN n ),否則在OUT中返回False。 輸入IN (n)的數量是可變的-從2到20。默認值為2。
### ◇ 1.9.6. NE-不相等
如果滿足以下條件,則此函數比較所有輸入參數并輸出True:(IN1 <> IN2)&(IN2 <> IN3)&...(IN n-1 <> IN n ),否則在OUT中返回False。 輸入IN (n)的數量是可變的-從2到20。默認值為2。
## ◇ 1.10. 字符串類型為STRING的字符串操作
## ◇ 1.11. LEN-線長
此函數將字符串IN的長度返回到OUT。 輸入參數只能與符號定義的變量關聯。
### ◇ 1.11.1. 左-線的左側
此函數將IN字符串中的前L個字符返回到OUT。 如果L大于STRING變量的當前長度,則返回輸入值。 當L = 0且有一個空字符串時,將返回一個空字符串作為輸入值。 如果數字L為負,則輸出一個空字符串。 只有符號定義的變量可以映射到IN參數和返回值。
### ◇ 1.11.2. RIGHT-行的右側
此函數將IN字符串中的最后L個字符返回到OUT。 如果L大于當前的STRING長度,則返回輸入值。 當L = 0且有一個空字符串時,將返回一個空字符串作為輸入值。 如果數字L為負,則輸出一個空字符串。 只有符號定義的變量可以映射到IN參數和返回值。
### ◇ 1.11.3. MID-行中間
此函數從IN字符串的L個字符(從位置P開始)返回到OUT。如果L和(P-1)的總和超過STRING變量的當前長度,則返回一個字符串,從輸入字符串的第P個字符開始直至其結尾。 在所有其他情況下(P在當前長度之外,P和/或L為零或負),將輸出一個空字符串。 只有符號定義的變量可以映射到IN參數和返回值。
### ◇ 1.11.4. CONCAT-兩個變量STRING的并集
此函數返回OUT中的IN1和IN2行的并集(串聯)。
### ◇ 1.11.5. CONCAT\_DAT\_TOD-時間的并集(串聯)
此函數將DATE和TOD類型的輸入值分別為IN1和IN2的串聯返回到DT OUT OUT。
### ◇ 1.11.6. INSERT-插入STRING變量
此函數從位置P開始返回到已插入字符串IN2的字符串IN1到OUT。如果P為零,則將第二個字符串插入第一個字符串之前。 如果P大于第一個字符串的當前長度,則將第二個字符串附加到第一個字符串之后。 如果P為負,則輸出一個空字符串。 輸入參數IN1和IN2以及輸出參數只能與符號定義的變量關聯。
### ◇ 1.11.7. 刪除-在STRING變量中刪除
此函數將字符串IN1返回OUT,從位置P開始刪除其中的L個字符。如果L和/或P等于零,或者P大于輸入字符串的當前長度,則返回輸入字符串。 如果L和P的總和大于輸入的字符串,則將該字符串刪除到最后。 如果L和/或P為負值,則輸出為空。 僅將符號定義的變量映射到IN輸入參數和輸出參數。
### ◇ 1.11.8. 替換-替換為STRING變量
此函數將字符串IN1返回到OUT,其中從位置P開始的字符由L替換為字符串IN2的第一個字符。 如果L為零,則返回第一行字符。 如果P等于零或一,則替換從第一個字符(包括第一個字符)開始。 如果P位于第一行字符之外,則第二行將附加到第一行。 如果L和/或P為負,則返回一個空字符串。 輸入參數IN1和IN2以及輸出參數只能與符號定義的變量關聯。
### ◇ 1.11.9. 查找-在STRING變量中搜索
此功能將OUT IN1中的IN2所在的位置編號返回到OUT。 搜索從左側開始,報告字符串的首次出現。 如果第一行未包含第二行字符,則返回零。 輸入參數IN1和IN2只能與符號定義的變量關聯。
- - - - - -
[< 前頁](IL.html) [回目錄](../_index.html)

- 軟件操作手冊
- 軟件安裝與使用
- 開發環境界面
- 程序的主菜單
- 工具欄
- 項目樹
- 項目設置面板
- ST和IL語言的的文本編輯器
- 梯形圖LD語言編輯器
- 功能塊圖FBD語言編輯器
- SFC語言編輯器
- 資源編輯面板
- 數據類型編輯面板
- 項目實例面板
- 功能和功能塊庫
- 調試控制臺
- 搜索項目
- 調試面板
- 圖形面板用于在調試模式下更改變量的值
- 軟件操作
- 快速操作流程
- 項目操作實踐
- IO變量掛載
- 應用程序選項
- 程序下載與調試
- Modbus配置使用方法
- 通過U盤更新應用程序
- 串口下載應用程序
- C語言嵌入
- 狀態指示
- 重置內部文件存儲
- IEC61131編程語言
- LD語言概述
- FBD語言
- SFC語言概述
- ST語言概述
- IL語言
- 函數庫和功能塊的說明