常德西門子PLC代理商
常德西門子PLC代理商
S7-1200和S7-1500指令的比較
下圖是博途的STEP7 V12幫助中的指令概覽,??梢钥闯觯琒7-1200和S7-1500的指令是兼容的,,S7-1200的指令是S7-1500的指令的子集,。可以認(rèn)為S7-1200是精簡版的S7-1500,。如果暫時(shí)沒有條件使用S7-1500,,可以先使用S7-1200,為今后使用S7-1500打下基礎(chǔ),。
1.可用的編程語言
S7-1500和S7-1200都能使用梯形圖(LAD),、功能塊圖(FBD)和結(jié)構(gòu)化控制語言(SCL)語言,。為了和S7-300/400兼容,S7-1500還可以使用STL語言,。
2.指令的比較
1)S7-1500的基本指令比S7-1200多9條指令,。
2)擴(kuò)展指令中只有S7-1500有PROFIenergy(使用 PROFINET 進(jìn)行能源管理)指令。此外S7-1500比S7-1200多11條指令,。
3)“技術(shù)"類指令S7-1500比S7-1200多5條高速計(jì)數(shù)器指令,。
4)“通信"類指令S7-1200比S7-1500多3條發(fā)送電子郵件的指令。
S7-1200 間接尋址指令的應(yīng)用
S7-1200的間接尋址需要通過數(shù)據(jù)塊中的數(shù)組來實(shí)現(xiàn),。指令FieldRead通過索引(又稱為下標(biāo))變量從數(shù)組中讀取數(shù)值,,指令FieldWrite 通過索引變量向數(shù)組中寫數(shù)值,使用這兩條指令可以實(shí)現(xiàn)間接尋址,。
索引變量是間接尋址中的地址指針,,它的值是要讀寫的數(shù)組元素的索引值。地址指針就像收音機(jī)調(diào)臺的指針,,改變指針的位置,,指針指向不同電臺。改變地址指針中的索引值,,指針“指向"數(shù)組不同的元素,。間接尋址的優(yōu)點(diǎn)是可以在程序處理期間,通過改變指針的值動(dòng)態(tài)地修改指令中的地址,。
首先生成一個(gè)名為“數(shù)據(jù)塊1"的全局?jǐn)?shù)據(jù)塊DB2,,在數(shù)據(jù)塊中生成名為“數(shù)組1"的數(shù)組Array[1..10] of Int,其元素的數(shù)據(jù)類型為Int,。
這兩條指令沒有列入指令列表和指令列表,,編程時(shí)將收藏夾中的空邏輯框插入程序,點(diǎn)擊其中紅色的“??",,打開下拉式列表框,,可以看到列表框底部的指令FieldWrite或FieldRead。點(diǎn)擊生成的指令框中的“???",,用列表設(shè)置要寫入或讀取的數(shù)據(jù)類型為Int(見下圖),。兩條指令的參數(shù)MEMBER的實(shí)參必須是數(shù)組的個(gè)元素“數(shù)據(jù)塊1".數(shù)組1[1]。
指令的輸入?yún)?shù)索引值“INDEX"是要讀寫的數(shù)組中的元素的下標(biāo),,數(shù)據(jù)類型為DINT(雙整數(shù)),。參數(shù)“VALUE"是要寫入數(shù)組元素的值或要讀取的數(shù)組元素的值。
下圖中的FieldWrite指令將常數(shù)25寫入數(shù)組1中的元素“數(shù)組1[3]",。FieldRead指令讀取數(shù)組元素“數(shù)組1[3]"的值,,將它保存到MW20。改變INDEX的值,可以讀寫別的數(shù)組元素的值
USS_PORT在發(fā)生通信錯(cuò)誤時(shí),,通常進(jìn)行3次嘗試來完成通信事件,,那么S7-1200與變頻器通信的時(shí)間就是USS_PORT發(fā)生通信超時(shí)的時(shí)間間隔。例如:如果通信波特率是57600,,那么USS_PORT與變頻器通信的時(shí)間間隔應(yīng)當(dāng)大于小的調(diào)用時(shí)間間隔,,即大于36.1Ms而小于109Ms。S7-1200 USS 協(xié)議庫默認(rèn)的通信錯(cuò)誤超時(shí)嘗試次數(shù)是2次,。
基于以上的USS_PORT通信時(shí)間的處理,,我們建議在循環(huán)中斷OB塊中調(diào)用USS_PORT通信功能塊。在建立循環(huán)中斷OB塊時(shí),,我們可以設(shè)置循環(huán)中斷OB塊的掃描時(shí)間,,以滿足通信的要求。循環(huán)中斷OB塊的掃描時(shí)間的設(shè)置如下圖所示:
圖9:循環(huán)中斷OB塊的掃描時(shí)間的設(shè)置2.USS_DRV功能塊的編程
USS_DRV功能塊的編程如下圖所示,。
圖10: USS_DRV功能塊的編程USS_DRV功能塊用來與變頻器進(jìn)行交換數(shù)據(jù),,從而讀取變頻器的狀態(tài)以及控制變頻器的運(yùn)行。每個(gè)變頻器使用的一個(gè)USS_DRV功能塊,,但是同一個(gè)CM1241 RS485模塊的USS網(wǎng)絡(luò)的所有變頻器(多16個(gè))都使用同一個(gè)USS_DRV_DB,。
USS_DRV_DB:變頻器進(jìn)行USS通信的數(shù)據(jù)塊。
RUN: DB塊的變頻器啟動(dòng)指令,。
OFF2: 緊急停止,,自由停車。 該位為0時(shí)停車,。
OFF3: 快速停車,,帶制動(dòng)停車,。 該位為0時(shí)停車,。
F_ACK: 變頻器故障確認(rèn)。
DIR : 變頻器控制電機(jī)的轉(zhuǎn)向,。
SPEED_SP: 變頻器的速度設(shè)定值,。ERROR: 程序輸出錯(cuò)誤。
RUN_EN: 變頻器運(yùn)行狀態(tài)指示,。
D_DIR: 變頻器運(yùn)行方向狀態(tài)指示,。
INHIBIT: 變頻器是否被禁止的狀態(tài)指示。
FAULT: 變頻器故障,。
SPEED: 變頻器的反饋的實(shí)際速度值,。DRIVE: 變頻器的USS站地址。變頻器參數(shù)P2011設(shè)置,。
PZD_LEN: 變頻器的循環(huán)過程字,。 變頻器參數(shù)P2012設(shè)置。注意:變頻器的PKW的長度在這里是特殊需要注意的,在使用USS通信時(shí)必須是4,,如果改成3或者127都將不能讀取反饋回來的過程值,。
3.USS_RPM功能塊的編程USS_RPM功能塊的編程 如下圖所示。
圖11:USS_RPM功能塊的編程USS_RPM功能塊用于通過USS通信從變頻器讀取參數(shù),。
REQ: 讀取參數(shù)請求,。
DRIVE: 變頻器的USS站地址。
PARAM: 變頻器的參數(shù)代碼,。
INDEX: 變頻器的參數(shù)索引代碼
USS_DB: 變頻器進(jìn)行USS通信的數(shù)據(jù)塊,。DONE: 讀取參數(shù)完成。
ERROR: 讀取參數(shù)錯(cuò)誤,。
STATUS: 讀取參數(shù)狀態(tài)代碼,。
VALUE: 所讀取的參數(shù)的值。注意:進(jìn)行讀取參數(shù)功能塊編程時(shí),,各個(gè)數(shù)據(jù)的數(shù)據(jù)類型一定要正確對應(yīng),。如果需要設(shè)置變量讀取參數(shù)時(shí),注意該參數(shù)變量的初始值不能為0,,否則容易產(chǎn)生通信錯(cuò)誤,。
4.USS_WPM功能塊的編程USS_WPM功能塊的編程如下圖所示。
圖12:USS_WPM功能塊的編程USS_WPM 功能塊用于通過USS通信設(shè)置變頻器的參數(shù),。
REQ: 讀取參數(shù)請求,。
DRIVE: 變頻器的USS站地址。
PARAM: 變頻器的參數(shù)代碼,。
INDEX: 變頻器的參數(shù)索引代碼,。
EEPROM:把參數(shù)存儲到變頻器的EEPROM。
VALUE: 設(shè)置參數(shù)的值,。
USS_DB: 變頻器進(jìn)行USS通信的數(shù)據(jù)塊,。DONE: 讀取參數(shù)完成。
ERROR: 讀取參數(shù)錯(cuò)誤狀態(tài),。
STATUS: 讀取參數(shù)狀態(tài)代碼,。注意:對寫入?yún)?shù)功能塊編程時(shí),各個(gè)數(shù)據(jù)的數(shù)據(jù)類型一定要正確對應(yīng),。如果需要設(shè)置變量進(jìn)行寫入?yún)?shù)值時(shí),,注意該參數(shù)變量的初始值不能為0,否則容易產(chǎn)生通信錯(cuò)誤,。
5. 3 S7 1200 PLC進(jìn)行USS通信的調(diào)試S7-1200 PLC 通過CM1241 RS485模塊與變頻器進(jìn)行USS通信時(shí),,需要注意如下幾點(diǎn):
當(dāng)同一個(gè)CM1241 RS485 模塊帶有多個(gè)(多16個(gè))USS變頻器時(shí),這個(gè)時(shí)候通信的USS_DB是同一個(gè),,USS_DRV功能塊調(diào)用多次,,每個(gè)USS_DRV功能塊調(diào)用時(shí),,相對應(yīng)的USS站地址與實(shí)際的變頻器要*,而其它的控制參數(shù)也要*,。
當(dāng)同一個(gè)S7-1200 PLC 帶有多個(gè)CM1241 RS485模塊(多3個(gè))時(shí),,這個(gè)時(shí)候通信的USS_DB相對應(yīng)的是3個(gè),每個(gè)CM1241 RS485模塊的USS網(wǎng)絡(luò)使用相同的USS_DB,不同的USS網(wǎng)絡(luò)使用不同的USS_DB,。
當(dāng)對變頻器的參數(shù)進(jìn)行讀寫操作時(shí),,注意不能同時(shí)進(jìn)行USS_RPM和USS_WPM的操作,并且同一時(shí)間只能進(jìn)行一個(gè)參數(shù)的讀或者寫操作,,而不能進(jìn)行多個(gè)參數(shù)的讀或者寫操作,。
2產(chǎn)品分類編輯
可編程控制器是由現(xiàn)代化生產(chǎn)的需要而產(chǎn)生的,可編程序控制器的分
西門子PLCS7-200系列
類也必然要符合現(xiàn)代化生產(chǎn)的需求,。
一般來說可以從三個(gè)角度對可編程序控制器進(jìn)行分類,。其一是從可編程序控制器的控制規(guī)模大小去分類,其二是從可編程序控制器的性能高低去分類,,其三是從可編程序控制器的結(jié)構(gòu)特點(diǎn)去分類,。在S7-1200 PLC 與變頻器的USS通信的實(shí)際使用過程中,需要根據(jù)網(wǎng)絡(luò)的現(xiàn)場情況,,對問題進(jìn)行具體的解決,。