應用領域 | 電子/電池 |
---|
SIMATIC S7-300, CP 340通訊處理器帶有20MA 接口 (TTY),包含程序包CD
![]() |
參考價 | 面議 |
更新時間:2022-08-11 14:23:55瀏覽次數(shù):295
聯(lián)系我們時請說明是化工儀器網上看到的信息,,謝謝!
6ES7340-1BH02-0AE0 SIMATIC S7-300,,CP 340 通信處理器 帶有 20mA 接口(TTY) 包括項目組態(tài)包 在 CD 上 |
6ES7340-1BH02-0AE0
SIEMENS西門子
*,質量保證,,保修一年
專業(yè)銷售及維修西門子各類工控自動化配件;
:S7-200CN,、S7-200SMART、S7-300,、S7-400,、 S7-1200、S7-1500,、ET200,、LOGO邏西門子可編程控制器輯控制模塊
西門子HMI人機界面:觸摸屏
西門子變頻器:MM420、MM430,、MM440,、G110、G120,、6SE70
西門子工業(yè)以太網:通訊網卡,、通訊電纜、通訊接頭,、總線連接器 工控機,、交換機、自動化軟件等系型號齊全,,快速報價,,買我們的產品無憂所值,我們的產品都承諾質保一年,,讓您買的省心舒心,,用的放心!
跟我一起玩200 smart PLC
關于數(shù)據(jù)的排序
之前,,看到過論壇上的大俠們做過一些關于數(shù)據(jù)的排序程序段子,,讓我記憶猶新的是阿鳴老師發(fā)帖的那個“冒泡法”程序,。其中心思想是利用指針的地址偏移及循環(huán)指令特性,將一組準備好了的數(shù)據(jù)逐個循環(huán)輪詢一次,,每一個數(shù)據(jù)都進行一次比較,,如果大于了怎么樣,小于了又怎么樣的處理,。前幾天論壇上又見到類似的問題,,由季俠熱心地回復了編程思路,不知道那位網友是否已經做出了該數(shù)據(jù)排序的程序,。
今天晚上閑來無事,,想起了那個問題,打算再做一次,。因為這個程序差不多已經成為比較經典的程序段子,,編程思路與前面的前輩們比起來顯得不成熟的多了,難免的一些失誤,,或者不足之處望包涵,。
假設,有10個數(shù)據(jù)(估計做這樣的程序都是以10個數(shù)據(jù)來比較排序的,,可能是出于常人的習慣思維),,數(shù)據(jù)地址假設是VW100開始的,具體數(shù)據(jù)如下表所示:
編程思路:
1) 初始化所需要調用的數(shù)據(jù)區(qū)數(shù)據(jù),,這步對于多次調用該程序段非常重要,。
2) 定義數(shù)據(jù)排序起始指針地址,&VB100取指針的起始地址,。
3) 利用循環(huán)指令,,做9個數(shù)據(jù)的循環(huán),因為是10個數(shù)據(jù)比較9次循環(huán)就*可以將全部的數(shù)據(jù)比較完成逐個進行數(shù)據(jù)的比較,。
4) 一次,,循環(huán)中先將2個數(shù)據(jù)比較,如果比較數(shù)據(jù)的結果VW100大于VW102,,則,,交換數(shù)據(jù)存儲地址的數(shù)據(jù),反之,,不交換數(shù)據(jù),。
5) 無論怎樣均指針下移一個字的地址區(qū)后,循環(huán)返回到循環(huán)起始,,再取小的數(shù)據(jù)與第三個數(shù)據(jù)進行比較,,比較結果仍然按第3步方式進行排序。
6) 同樣的方式,直到循環(huán)9次,,循環(huán)指令9次數(shù)到達后,,跳出循環(huán)指令,并將比較結果單獨存放到的地址VW200中,。
如果編輯的程序運行結果VW200的數(shù)據(jù)地址中是48,,說明程序是按編程思路是可行的,當然如果把這個程序稍加修改,,也可以做成自己的數(shù)據(jù)排序庫文件,,以方便今后遇見類似的程序復制調用之需要,或者稍加修改后,,將比較結果的大數(shù)據(jù)存放在VW200中,,編程思路就是這樣的過程。
為了方便比較數(shù)據(jù),,特在軟件系統(tǒng)塊中編輯了表中的數(shù)據(jù),,圖示:
在主程序中編輯數(shù)據(jù)排序程序:為壓縮頁面將程序轉換為STL語言方式顯示
為檢測程序的比較運行結果,新建一個“狀態(tài)圖表”將程序編譯,、保存,、下載到cpu,啟動M0.0 = 1,,監(jiān)控這些數(shù)據(jù)的變化規(guī)律,圖示:
程序運行的結果VW200 = 48符合當初的控制要求,,當然結果取指針的首地址VW100也是可以的,。
實際上,類似的程序很方便做比較大數(shù)或者小數(shù),,區(qū)別僅僅是將取指針數(shù)據(jù)的比較的指令稍加變換,,圖示:
重新編譯、保存程序,,并將修改后的程序下載到cpu,,驗證結果,圖示:
驗證結果VW200 = 120仍然符合比較大數(shù)據(jù)的需要,。反過來看,,如果需要比較更多的數(shù)據(jù),僅僅只需要將所需要的數(shù)據(jù)錄入后,,通過按比較數(shù)據(jù)的個數(shù)減1的方式啟用循環(huán)指令,,類似的“冒泡法”比較編程適用于一串連續(xù)的數(shù)據(jù)區(qū)比較結果,所謂的“冒泡法”實際就是循環(huán)指令的循環(huán),。該程序適宜于那些風機,、泵類運行時間數(shù)據(jù)的比較,來判斷所需要啟動風機、泵的其中一個優(yōu)先啟動條件,。
注:
如果需要將此類型的程序做成自己的庫文件形式或多次調用,,則在調用該程序段前必須*行數(shù)據(jù)區(qū)的初始化操作,然后錄入新的數(shù)據(jù)再進行比較,,以免引起數(shù)據(jù)處理時的結果錯亂,。比如,利用M0.0的上升沿初始化數(shù)據(jù)區(qū),,下降沿進行數(shù)據(jù)的比較等方式,。