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