PLC300怎么編輯模擬量取平均,用梯形圖,放在哪個(gè)模塊呢
劉玉蓉
發(fā)布于2014-11-20 17:20
12
0
標(biāo)簽:
PLC300怎么編輯模擬量取平均,用梯形圖,放在哪個(gè)模塊呢
問題補(bǔ)充:
變量圖在此
圖片說明: 1,變量
佳答案
1、模擬量取平均值是模擬量信號采樣濾波方式其中之一。這種程序好應(yīng)用STL(指令表語言)來編寫。模擬量取平均值程序放在按特定的次數(shù)讀取模擬量值完成之后來執(zhí)行。
《模擬量信號采樣濾波及STEP7語言的實(shí)現(xiàn)》連接:
https://wenku.baidu.com/view/8da0c4d4b9f3f90f76c61ba4.html
《有關(guān)采樣濾波的編程》:
https://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=56045&cid=1029
2、可以將將n次讀入的模擬量值存入一個(gè)地址連續(xù)的區(qū)域(例如DB),其后應(yīng)用冒泡排序法(從小到大)進(jìn)行排序后,取中間值即可。有關(guān)S7-300的冒泡排序法程序:
注意,應(yīng)用梯形圖不能編制地址指針尋址,因此需要STL來編寫:
轉(zhuǎn)帖:假定十個(gè)數(shù)據(jù),放在DB1中,安放順序如下:
DBW0
DBW2
…
DBW18
下面是西門子的程序
OPN DB 1 /////打開DB1這個(gè)數(shù)據(jù)塊
L 10 ////裝載10到MB0中,因?yàn)橛惺畟€(gè)數(shù)據(jù),要進(jìn)行十次排序,9次也可以的
LL0: T MB 0
L P#0.0 ////裝載地址指針,這是關(guān)鍵,不要搞錯(cuò)了
LAR1
L 9
LL1: T MB 2 ////內(nèi)部循環(huán),進(jìn)行9次,直到把大值排到后
L DBW [AR1,P#0.0]
L DBW [AR1,P#2.0]
<I
JC LL2 ////比較前后兩個(gè)值,如果前面大于后面的,則前后數(shù)據(jù)交換
L DBW [AR1,P#0.0]
T MW10//臨時(shí)變量
L DBW [AR1,P#2.0]
T DBW [AR1,P#0.0]
L MW10
T DBW [AR1,P#2.0]
LL2: +AR1 P#2.0 ////指針自動(dòng)進(jìn)行加4,因?yàn)槭钦麛?shù)型數(shù)據(jù),所以要跳過2個(gè)字節(jié)
L MB 2
LOOP LL1 ///這個(gè)指令自動(dòng)的將A寄存器里的值減1
L MB 0
LOOP LL0