西門子觸摸屏代理商6AV2181-4GB10-0AX0 西門子觸摸屏代理商6AV2181-4GB10-0AX0
6GK7 243-1EX01-0XE0 CP243-1 工業以太網模塊
6GK7 243-1GX00-0XE0 CP243-1IT 工業以太網模塊
附件
6ES7 291-8GF23-0XA0 MC291,新CPU22x存儲器盒,64K
6ES7 297-1AA23-0XA0 CC292,CPU22x時鐘/日期電池盒
6ES7 291-8BA20-0XA0 BC293,CPU22x電池盒
6ES7 290-6AA20-0XA0 擴展電纜,I/O擴展,0.8米,CPU22x/EM
6ES7 901-3CB30-0XA0 編程/通訊電纜,PC/PPI,帶光電隔離,5-開關,5m
6ES7 901-3DB30-0XA0 編程/通訊電纜,PC/PPI,帶光電隔離,USB接口,5-開關
6ES7 292-1AD20-0AA0 CPU22x/EM端子連接器塊,7個端子,可拆卸
6ES7 292-1AE20-0AA0 CPU22x/EM端子連接器塊,12個端子,可拆卸
6ES7 292-1AG20-0AA0 CPU22x/EM連接器塊,18個端子,可拆卸
6AV6 640-0AA00-0AX0 TD400C文本顯示器
6EP1 332-1SH31 專為S7-200 設計電源,24V/3.5A 可并聯5個
6ES7 810-2CC03-0YX0 STEP 7-Micro/Win32 V4.0 包含SP6升級包
6ES7 272-0AA30-0YA0 TD200文本顯示器
6XV1830-0EH10 網絡總線
6ES7972-0BB12-0XA0 網絡總線連結器,帶編程口,垂直電纜出線
6ES7972-0BA12-0XA0 網絡總線連結器,不帶編程口,垂直電纜出線
6ES7972-0BA41-0XA0 網絡總線連結器,不帶編程口,35度垂直電纜出線
6ES7972-0BB41-0XA0 網絡總線連結器,帶編程口,35度垂直電纜出線
西門子 PLC中OB、FC、FB、SFC、SFB 能塊使用概述
S7-300/400PLC程序采用結構化程序,把程序分成多個模塊,各模塊完成相應的功能。結合起來就能實現一個復雜的控制系統。就像高級語言一樣,用子程序實現特定的功能,再通過主程序調用各子程序,從而能實現復雜的程序。
在S7-300/400PLC中寫在OB1模塊里和程序就是主程序,子程序寫在功能(FC),功能塊(FB)。
FC運行是產生臨時變量執行結束后數據就丟失-----不具有儲存功能
FB運行時需要調用各種參數,于是就產生了背景數據塊DB。例如用FB41來作PID控制,則它的PID控制參數就要存在DB里面。FB具有儲存功能
系統功能塊(SFB)和系統功能(SFC)也是相當于子程序,只不過SFB和SFC是集成在S7 CPU中的功能塊,用戶能直接調用不需自已寫程序。
SFC與FC不具有儲存功能,FB和SFB具有儲存功能 。
OB模塊相當于子程序,負責調用其他模塊。如果程序簡單只需要OB就可以實現。
用西門子PLC編程時,可以用到功能塊FB和功能FC(FB、FC都是組織塊)資料上說FB與FC都可以作為用戶編寫的子程序,但是我不明白這兩個組織塊之間到底有什么區別阿?在應用上到底有什么不同之處嗎?
FB--功能塊,帶背景數據塊
FC--功能,相當于函數
他們之間的主要區別是:FC使用的是共享數據塊,FB使用的是背景數據塊
舉個例子,如果您要對3個參數相同的電機進行控制,那么只需要使用FB編程外加3個背景數據塊就可以了,但是,如果您使用FC,那么您需要不斷的修改共享數據塊,否則會導致數據丟失。FB確保了3個電機的參數互不干擾。
FB,FC本質都是一樣的,都相當于子程序,可以被其他程序調用(也可以調用其他子程序)。他們的大區別是,FB與DB配合使用,DB中保存著FB使用的數據,即使FB退出后也會一直保留。FC就沒有一個的數據塊來存放數據,只在運行期間會被分配一個臨時的數據區。
在實際編程中,是使用FB還是FC,要看實際的需要決定。
FB與FC沒有太大的差別,FB帶有背景數據塊,而FC沒有。所以FB帶上不同的數據塊,就可以帶上不同的參數值。這樣就可以用同一FB和不同的背景數據塊,被多個對象調用。
FC和FB像C中的函數,只不過FB可以生成靜態變量,在下次函數調用時數據可以保留,而FC的變量只在調用期內有效,下次調用又重新更換。
這是一般的理解;FB需要背景數據塊,而FC是沒有的;參數的傳遞方式不同,FB的輸入輸出對應著背景數據塊地址,而FC的輸入輸出是沒有實際地址對應的,只有的程序調用時,才會和實際的地址產生對應關系。FB參數傳遞的是數據,FC參數傳遞的是數據的地址。
FB(功能塊)的處理方式是圍繞著數據塊處理數據,他的入口參數和出口參數都是數據塊里的數據,以及STAT的數據都是數據塊里,入口參數和出口參數、STAT可以認為是靜態數據,這些數據不會因為函數消失而逝去,他會一直保存在數據塊里。FB里的變量與他的背景數據塊是一一對應的,而他的對應并不是一層不變的。更確切的說,FB里的變量在調用時將根據AR2的值當作偏移量與背景數據塊是一一對應。如果一個FB功能塊里沒有入口參數、出口參數及STAT數據,他將不需要背景數據塊,這時的FB和沒有入口出口參數的FC就沒有什么區別了,就只能使用臨時變量和全局變量了。用很多人認為,FB的背景數據塊必須由FB生成、FB里的*個變量對應著背景數據塊的*個變量,還有就是由FB生成的數據塊只能作為FB的背景數據塊使用。其實這些理解是錯誤的,FB的背景數據塊不一定是通過FB生成的,可以像生成共享數據塊一樣生成FB的背景數據塊,換句話說,普通的數據塊也可以作為FB的背景數據塊,不過這種做法是有一定前提的,就是這個數據塊的字節數必須大于等于FB所需的字節數,如果小于FB所需的字節數時,FB訪問到超出背景數據塊的變量時就會找不到變量的地址,肯定會出錯了。FB里的*個變量對應可以對應數據塊字節數減去FB所需背景數據塊字節數里的任意位置的變量,我覺得這個比較好理解,在多重背景里不就是這樣嗎。
談到這里我得說點別的,好像這種情況下,FB里不可以有多重背景,在S7里,多重背景好像是不允許嵌套的,說道這里我馬上在S7做了測試,證明我的想法是錯誤的,多重背景是可以嵌套的。話回正題,由FB生成的數據塊也是可以像訪問普通數據塊一樣通過共享數據塊方式訪問,不信,你可以自己試一試。說說如何使用普通的數據塊作為FB的背景數據塊,會不會有人現在就開始自己試了,怎么不行呢,一調用程序就程序紅色,有錯誤啊。告訴你,使用CALL指令編寫時SETP7會自動檢查DB塊和FB的關系,要是時間標記和大小不*就會報錯。在這里我們可以使用UC指令調用FB,UC指令是不傳遞參數的(對于這個說法,我不太認同,我將會在使用UC調用FC時是如何傳遞參數一節講述),那么我們如何將參數傳遞給FB呢?又如何將FB的輸出讀出來呢?
西門子300輸入模塊與模擬量的連接問題:當331與熱電偶,壓力傳感無件.位置傳感元件連接時,怎么處理數值的呢?這方面的資料能給小點*一下嗎?PLC程序里面的字等的處理我會的,但是怎么知道比如說:50度是相對于字是多少?還是,我用壓力傳感器,那字又得不同了呀.哎,說不清
A)你看這樣說對你有幫助沒:如果是熱電偶或熱電阻,你就把PIW的值除以10;如果是4-20mA信號,你就用這個公式轉換:PV=(OV-OSL)*(PH-PL)/(OSH-OSL)+PL注:PV為你要顯示的測量值,PH、PL為儀表的上、下限。OV為通道測量得出的值,OSH=27648,OSL=0。又一般情況下,儀表下限為0,即PL=0,所以此公式可以簡化為PV=OV*PH/27648.0。
B)上面說的沒有錯,關于壓力等信號,你可以用FC105實現。
C)你看看PLC模版說明就明白了
D)可以使用標準信號轉換模塊,把多種信號轉換成標準的4-20mA或0-5V,這樣還可以解決信號不穩定引起的系統問題,有效的保護PLC.
E)如果是S7-300/400系統,??梢圆捎?/span>FC105,也可以自己編程,首先整數轉換為雙整數,雙整數轉換為實數,然后實數除,實數乘。
F)剛接觸step7,上位是wincc,像溫度,壓力這樣的模擬量輸入點,只要求在上位機顯示,我在step7符號表里是用PIW這樣的直接外部輸入格式的,在用wincc做上位的時候看見好像要從step7的DB塊里讀數據啊,那這些模擬量點在step7里到底該怎么處理呢?怎樣從硬件組態分配的地址里讀取,然后讓wincc對應上,然后在上位機上顯示呢?呵呵,菜鳥剛接觸,請高手幫忙,謝謝!
G)將您讀入的數據存入DB塊中,Wincc讀取DB中的數據。Wincc不能直接操作PIW,PQW等外部點。
H)sm331 工作時有沒有指示燈亮,剛上電的時候紅燈會亮一會兒正常工作時,模擬量模塊沒有亮的!模擬量模塊除了SF燈外,其余燈是不會亮的,只有SF燈亮的情況下說明模塊本身或者接線存在問題。正常時是不會亮的,組態錯誤,接線錯誤都會亮
I)用系統庫啊,我吊用FC105的,輸入顯示上下幅度就行了,好用啊,程序是系統加保護的,要看算法,我有解保護軟件。
J)如果是熱電偶,則把數值除10即可,其它調用FC105,注意單極性還是雙極性,雙極性就是有負值,單極性對應值0~27648,雙極性對應-27648~27648
K)太簡單了: L PIW400 //采集到的輸入 T mw100 //將WORD格式變成整數 ITD //將整數轉換成雙整數 DTR //將雙整數轉換成浮點數即小數 L MD200 //此數為零點,由你自己根據現場表調定 +R L MD300 //此數為比例,由你自己根據現場表調定 *R T MD400 //此數為結果.實踐證明結果比FC105準確,因為FC105我看過里邊的程序根本就沒有調零點,而且*標準的0~20mA或4~20mA信號是不存在的,總有差別,還不如用現場表比對來得OK.根據上面公式,側一高一低兩個數就可算出響應傳感器的MD200和MD300.如果有相關資料交換的,我還可以給你帶濾波的算法.
L)硬件上配AI輸入模塊,(可在功能塊是設定數據輸入類型),然后在程序中直接調用FC105給定,AI地址、輸入極性(僅電壓信號),和實際值的上下限,就可以在輸出中得的對應的實際值,FC105可在標準功能厙中找到,如不懂用法,可在選中后按F1看幫助。
看AI模塊的接線圖和D/A轉換的規則,自己編程嘛
M)不可能,我一直在用啊,怎么會呢,8點,4通道沒有任何關系,哪怕你 ,只用了一個點,都沒有關系啊不過,不用的通道要和M連接(沒有記錯的話),讀到到數值會準確點啊,不接也沒有太大問題的啊
N)奇怪啊,如果PLC不供給24VDC,接線方法不是直接把2根線接到PLC的端子上啊,S7組態選為4線制,接線請參照《深入淺出西門子PLC》傳感器連接一節。北京航空航天大學出版社。我口述一下:假如變送器的端子是1+、2-;PLC是3+、4-;那么還應該有一個24VDC,端子是5+6-;其接線為:1——5、6——4、3——2。
O)8個點.4組通道,把不用的通道就不要激活,比如一個卡用了三個點,那就是說,要用兩組通道,那接了三個點,有個點是空著的,這時SF燈會亮,怎樣解決呢?如果選用C檔,或者是D檔,可串入一個4-20mA的信號,如果是A檔,B檔,就加個電阻就好啦!!
P)不要使用萬流表測量模擬量實際電流,那種方法是錯誤的。
Q)外供電源,模板只接受4~20mA,組態必須采用四線制,即你說的C位置,而不是D位置。如果還出現32767上溢的問題,就是有干擾,建議信號輸入模板前加直流無源隔離器。保你沒問題。工程做多了,這些問題都應該清楚。你的問題主要出現在四線制和兩線制上,建議多學學儀表知識。
西門子MMC卡試用指南
MMC 卡是一種 FEPROM 卡,用于新型的 S7-300 CPU,包括緊湊型 CPU和由標準型更新的新型 CPU。新型 CPU均沒有內置的裝載存儲器,必須使用 MMC 卡作為其裝載存儲器保存用戶數據。
CPU掉電時,會自動將工作存儲器中的數據拷貝到 MMC中,保存 DB塊數據。
1.MMC卡型號
MMC 卡需要用戶根據程序大小單獨訂貨,選型時建議大于 CPU 工作內存,CPU313,CPU314,CPU315-2DP,CPU317-2DP 系列CPU的可插拔MMC卡大支持8 MB ,其他 支持4 MB 用于新型 S7-300 CPU的MMC 卡(Micro Memory Card )型號如下: