:1800弄(電子商務(wù)園)5005.
公司主營:西門子數(shù)控系統(tǒng),V20變頻器S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人機(jī)界面,變頻器,DP總線,MM420 變頻器MM430 變頻器MM
參考價(jià) | ¥670 |
訂貨量 | 1 |
更新時(shí)間:2018-11-24 13:39:05瀏覽次數(shù):394
聯(lián)系我們時(shí)請(qǐng)說明是化工儀器網(wǎng)上看到的信息,謝謝!
西門子變頻器6SL3210-1KE32-4UB1定制
本公司主營西門子工業(yè)自動(dòng)化產(chǎn)品,原裝,*、設(shè)定值和變量都可能是現(xiàn)實(shí)的值,它們的大小、范圍和工程單位都可能不一樣。在PID指令 對(duì)這些現(xiàn)實(shí)的值進(jìn)行運(yùn)算之前,必須把它們轉(zhuǎn)換成的浮點(diǎn)型表達(dá)形式。
轉(zhuǎn)換的步是把16位整數(shù)值轉(zhuǎn)成浮點(diǎn)型實(shí)數(shù)值。下面的指令序列提供了實(shí)現(xiàn)這種轉(zhuǎn)換的:
ITD AIW0,AC0 //將輸入值轉(zhuǎn)換為雙整數(shù)。DTR AC0, AC0 //將32位雙整數(shù)轉(zhuǎn)換為實(shí)數(shù)。 |
下一步是將現(xiàn)實(shí)的值的實(shí)數(shù)值表達(dá)形式轉(zhuǎn)換成0.0~1.0之間的化值。下面的算式可以用于標(biāo) 準(zhǔn)化設(shè)定值或變量值:
RNorm = ((RRaw / 跨度) + 偏移量) 其中: RNorm 是現(xiàn)實(shí)數(shù)值的化的實(shí)數(shù)值表達(dá)式 RRaw 是現(xiàn)實(shí)數(shù)值的未化的或原始的實(shí)數(shù)值表達(dá)式 偏移量 對(duì)于單極性為0.0 對(duì)于雙極性為0.5 跨度是可能值減去可能值: 對(duì)于單極性數(shù)值(典型值)為32,000 對(duì)于雙極性數(shù)值(典型值)為64,000 |
下面的指令序列顯示如何在AC0中將作為以前指令序列延續(xù)的雙極性值(其跨度為64,000)進(jìn)行 化:
/R 64000.0, AC0 //累加器中的化值 +R 0.5, AC0 //加上偏置,使其在0.0~1.0之間 MOVR AC0, VD100 //化的值存入回路表 |
回路輸出值一般是控制變量,比如,在汽車速度控制中,可以是油閥開度的設(shè)置。回路輸出是0.0和
1.0之間的一個(gè)化了的實(shí)數(shù)值。在回路輸出可以用于驅(qū)動(dòng)模擬輸出之前,回路輸出必須轉(zhuǎn)換成一個(gè)16位的標(biāo)定整數(shù)值。這一,是將PV和SP轉(zhuǎn)換為值的逆。步是使用下面給出的公 式,將回路輸出轉(zhuǎn)換成一個(gè)標(biāo)定的實(shí)數(shù)值:
RScal = (Mn -- 偏移量) * 跨度 其中: RScal 是回路輸出經(jīng)過標(biāo)定的實(shí)數(shù)值 Mn 是回路輸出化的實(shí)數(shù)值 偏移量 對(duì)于單極性值為0.0,對(duì)于雙極性值為0.5 跨度 值域大小,可能的值減去可能的值對(duì)于單極性為32,000 (典型值) 對(duì)于雙極性為64,000 (典型值) |
這一可以用下面的指令序列完成:
MOVR VD108, AC0 //把回路輸出值移入累加器 - R 0.5, AC0 //僅雙極性有此句 *R 64000.0, AC0 //在累加器中刻度值 |
下一步是把表示回路輸出的實(shí)數(shù)刻度值轉(zhuǎn)換成16位整數(shù)??赏ㄟ^下面的指令序列來完成:
ROUND AC0,AC0 //把實(shí)數(shù)轉(zhuǎn)換為32位整數(shù) DTI AC0, LW0 //把32位整數(shù)轉(zhuǎn)換為16位整數(shù)MOVW LW0,AQW0 //把16位整數(shù)寫入模擬輸出寄存器 |
如果增益為正,那么該回路為正作用回路。如果增益為負(fù),那么是反作用回路。(對(duì)于增益值為0.0的
I或ID控制,如果積分時(shí)間、微分時(shí)間為正,就是正作用回路;如果為負(fù)值,就是反作用回
路。)
變量和設(shè)定值是PID運(yùn)算的輸入值。因此回路表中的這些變量只能被PID指令讀而不能被改寫。
輸出變量是由PID運(yùn)算產(chǎn)生的,所以在每一次PID運(yùn)算完成之后,需更新回路表中的輸出值, 輸出值被限定在0.0~1.0之間。當(dāng)輸出由手動(dòng)轉(zhuǎn)變?yōu)?/span>PID(自動(dòng))控制時(shí),回路表中的輸出值可以用來初始化輸 出值。(有關(guān)PID指令的詳見下面的“控制"一節(jié))。
如果使用積分控制,積分項(xiàng)前值要根據(jù)PID運(yùn)算結(jié)果更新。這個(gè)更新了的值用作下一次PID運(yùn)算的輸 入,當(dāng)計(jì)算輸出值超過范圍(大于1.0或小于0.0),那么積分項(xiàng)前值必須根據(jù)下列公式進(jìn)行:
MX = 1.0 -- (MPn + MDn) 當(dāng)計(jì)算輸出Mn > 1.0 或 MX = -- (MPn + MDn) 當(dāng)計(jì)算輸出Mn < 0.0 其中: MX 是過的偏差的數(shù)值 MPn 是在采樣時(shí)間n時(shí)回路輸出的比例項(xiàng)的數(shù)值 MDn 是在采樣時(shí)間n時(shí)回路輸出的微分項(xiàng)的數(shù)值 Mn 是在采樣時(shí)間n時(shí)回路輸出的數(shù)值 |
這樣積分前值,一旦輸出回到范圍后,可以的響應(yīng)性能。而且積分項(xiàng)前值也要在
0.0~0.1之間,然后在每次PID運(yùn)算結(jié)束之后。把積分項(xiàng)前值寫入回路表,以備在下次PID運(yùn)算中 使用。
用戶可以在執(zhí)行PID指令以前修改回路表中積分項(xiàng)前值。在實(shí)際運(yùn)用中,這樣做的目的是找到由于積 分項(xiàng)前值引起的問題。手工積分項(xiàng)前值時(shí),必須小心謹(jǐn)慎,還應(yīng)保證寫入的值在0.0~1.0之間。
回路表中的給定值與變量的差值(e)是用于PID運(yùn)算中的差分運(yùn)算, 用戶不要去修改此值。
S7- 200的PID回路沒有內(nèi)置控制。只有當(dāng)PID盒接通時(shí),才執(zhí)行PID運(yùn)算。在這種意義上說,
PID運(yùn)算存在一種“自動(dòng)“運(yùn)行。當(dāng)PID運(yùn)算不被執(zhí)行時(shí),我們稱之為“手動(dòng)"。
同計(jì)數(shù)器指令相似,PID指令有一個(gè)使能位。當(dāng)該使能位檢測到一個(gè)的正跳變(從0到1)。PID指令 執(zhí)行一系列的,使PID指令從手動(dòng)無擾動(dòng)地切換到自動(dòng)。為了達(dá)到無擾動(dòng)切換,在轉(zhuǎn)變 到自動(dòng)控制前,必須把手動(dòng)下的輸出值填入回路表中的Mn欄。PID指令對(duì)回路表中的值進(jìn)行下列 ,以保證當(dāng)使能位正跳變出現(xiàn)時(shí),從手動(dòng)無擾動(dòng)切換到自動(dòng):
q 置設(shè)定值(SPn)=變量(PVn)
q 置變量前值(PVn--1)=變量現(xiàn)值(PVn)
q 置積分項(xiàng)前值(MX)=輸出值(Mn)
PID使能位的默認(rèn)值是1,在CPU啟動(dòng)或從STOP轉(zhuǎn)到RUN時(shí)建立。CPURUN后首
次使PID塊有效,沒有檢測到使能位的正跳變,那么就沒有無擾動(dòng)切換的。
PID指令是執(zhí)行PID運(yùn)算的簡單而功能強(qiáng)大的指令。如果需要其他處理,如檢查或回路變量的特 殊計(jì)算等,則這些處理必須使用S7-200支持的基本指令來實(shí)現(xiàn)。
如果指令的回路表起始地址或PID回路號(hào)操作數(shù)超出范圍,那么在編譯期間,CPU將產(chǎn)生編譯錯(cuò) 誤(范圍錯(cuò)誤),從而編譯失敗。
PID指令不檢查回路表中的一些輸入值 是否超界,您必須保證變量和設(shè)定值(以及作為輸入的和
前一次變量)必須在0.0到1.0之間。
如果PID計(jì)算的算術(shù)運(yùn)算發(fā)生錯(cuò)誤,那么特殊存儲(chǔ)器標(biāo)志位SM1.1 (溢出或值)會(huì)被置1,并且中止PID指令的執(zhí)行。(要想這種錯(cuò)誤,單靠改變回路表中的輸出值是不夠的,正確的是在下一 次執(zhí)行PID運(yùn)算之前,改變引起算術(shù)運(yùn)算錯(cuò)誤的輸入值,而不是更新輸出值)。
回路表有80字節(jié)長,它的格式如表6--44所示。
表6--44 回路表
偏移量 | 域 | 格式 | 類型 | 描述 |
0 | 變量 (PVn) | 實(shí)型 | 輸入 | 變量,必須在0.0~1.0之間 |
4 | 設(shè)定值 (SPn) | 實(shí)型 | 輸入 | 包含的設(shè)定值必須標(biāo)定在0.0和1.0之間。 |
8 | 輸出 (Mn) | 實(shí)型 | 輸入/ 輸出 | 輸出值,必須在0.0~1.0之間 |
12 | 增益 (KC) | 實(shí)型 | 輸入 | 增益是比例常數(shù)。 可正可負(fù) |
16 | 采樣時(shí)間 (TS) | 實(shí)型 | 輸入 | 包含采樣時(shí)間,單位為秒。必須是正數(shù) |
20 | 積分時(shí)間或復(fù)位 (TI) | 實(shí)型 | 輸入 | 包含積分時(shí)間或復(fù)位,單位為分鐘。必須是 正數(shù) |
24 | 微分時(shí)間或速率 (TD) | 實(shí)型 | 輸入 | 包含微分時(shí)間或速率,單位為分鐘。必須是 正數(shù) |
28 | 偏差 (MX) | 實(shí)型 | 輸入/ 輸出 | 積分項(xiàng)前項(xiàng),必須在0.0~1.0之間 |
32 | 以前的變量(PVn--1) | 實(shí)型 | 輸入/ 輸出 | 包含后一次執(zhí)行PID指令時(shí)所存儲(chǔ)的變量的值。 |
36 - 79 | 保留給自整定變量。對(duì)于詳細(xì)信息,參考表15- 1。 |
中斷允許指令(ENI)全局地允許所有被連接的中斷事件。中斷禁
止指令(DISI)全局地禁止處理所有中斷事件。
當(dāng)RUN時(shí),初始狀態(tài)為禁止中斷。在RUN,您可 以執(zhí)行全局中斷允許指令(ENI)允許所有中斷。執(zhí)行“禁用中斷"指令可禁止中斷;然而,的中斷事件仍繼續(xù)
排隊(duì)。
使ENO=0的錯(cuò)誤條件:
■ 0004 (試圖在中斷程序中執(zhí)行ENI、DISI或者HDEF指令。)
中斷條件返回指令(CRETI)用于根據(jù)前面的邏輯操作的條件,
從中斷程序中返回。
中斷連接指令(ATCH)將中斷事件EVNT與中斷程序號(hào)INT相關(guān)
聯(lián),并使能該中斷事件。
使ENO=0的錯(cuò)誤條件:
■ 0002 (與HSC的輸入分配相沖突)
中斷分離指令(DTCH)將中斷事件EVNT與中斷程序之間的關(guān)聯(lián)
切斷,并禁止該中斷事件。
中斷事指令從中斷隊(duì)列中所有EVNT類型的中斷事 件。使用此指令從中斷隊(duì)列中不需要的中斷事件。如果此 指令用于假的中斷事件,在從隊(duì)列中事件之前要首先 分離事件。否則,在執(zhí)件指令之后,新的事件將被增 加到隊(duì)列中。
實(shí)例說明了處于正交的高速計(jì)數(shù)器如何使用CLR_EVNT指 令中斷事件。如果光電傳感器正好處在從明亮過渡到黑暗 的邊界位置,那么在新的PV值裝載之前,小的機(jī)械振動(dòng)將生成 實(shí)際并不需要的中斷。
表6--45 中斷指令的有效操作數(shù)
輸入/輸出 | 數(shù)據(jù)類型 | 操作數(shù) |
INT | BYTE | 常數(shù)(0到127) |
EVNT | BYTE | 常數(shù) CPU 221和 CPU 222: 0到12,19到23和27到33 CPU 224: 0到23和27到33 CPU 224XP和 CPU 226: 0到33 |