西門(mén)子電纜6ES7902-3AC00-0AA0
更新操作系統(tǒng)時(shí),,應(yīng)當(dāng)始終更新為相關(guān)訂貨號(hào)產(chǎn)品可用的版本。以前版本的操作系統(tǒng)可作為備份,,以允許用戶恢復(fù)到最初的版本,,盡管迄今為止還未發(fā)現(xiàn)有這樣做的必要。
CPU操作系統(tǒng)的版本適用于該訂貨號(hào)的所有版本。
用戶可以通過(guò)微存儲(chǔ)卡執(zhí)行更新或者在線更新:
1.微存儲(chǔ)卡:
創(chuàng)建操作系統(tǒng)更新卡的前提條件:
·存儲(chǔ)容量為4MB(訂貨號(hào)6ES7953-8LM20-0AA0)
或更高的微存儲(chǔ)卡
·STEP7V5.1+SP2或更高版本
·帶有外部PROM編程器(6ES7792-0AA00-0A0)的PC或
帶有適配器(6ES7798-0BA00-0A0)的PG720/740或
FieldPG/PowerPG,,用于編程微存儲(chǔ)卡
使用STEP7創(chuàng)建操作系統(tǒng)更新卡的步驟:
1.下載所需的CPU文件,。
2.雙擊文件名解壓縮文件
3.在SIMATICManager中執(zhí)行“File/S7MemoryCard/Delete”命令,刪除微存儲(chǔ)卡,。
4.在SIMATICManager中選擇“PLC/UpdateOperatingSystem”編程操作系統(tǒng),,然后選擇目標(biāo)目錄并打開(kāi)CPU_HD.UPD文件啟動(dòng)編程過(guò)程。
5.當(dāng)屏幕上出現(xiàn)“Thefirmwareupdateforthemodulewithordernumber6ES7315-2EH13-0AB0wastransferredsuccessfullytotheS7memorycard”(訂貨號(hào)為6ES7315-2EH13-0AB0的模塊的固件更新內(nèi)容已經(jīng)成功傳送至S7存儲(chǔ)卡)提示消息時(shí),,操作系統(tǒng)更新卡的編程即告完成,。
執(zhí)行操作系統(tǒng)更新:
1.切斷CPU所在機(jī)架的電源(PS)
2.將PLC從通信網(wǎng)絡(luò)斷開(kāi)
3.將準(zhǔn)備好的操作系統(tǒng)更新卡插入CPU中
4.接通CPU所在機(jī)架的電源(PS)
5.操作系統(tǒng)將從微存儲(chǔ)卡傳送到CPU內(nèi)部閃存EPROM。傳送期間CPU的所有LED(FRCE,、RUN、STOP,、SF,、BF)都將點(diǎn)亮。
6.大約2分鐘后,,操作系統(tǒng)更新完成,。此時(shí)CPU上的STOPLED慢速閃爍=>請(qǐng)求系統(tǒng)存儲(chǔ)器復(fù)位。
7.切斷電源并插入操作所需的微存儲(chǔ)卡,。
8.接通電源,。CPU自動(dòng)執(zhí)行一次總復(fù)位,然后立即轉(zhuǎn)為操作就緒狀態(tài),。
9.將PLC重新接入通信網(wǎng)絡(luò)之前,,必須進(jìn)行時(shí)鐘同步。
2.在線更新:
前提條件:
·使用STEP7V5.3及更高版本可以在線更新固件,。
·待更新的模塊所在的站必須能夠在線訪問(wèn),。
·必須將一個(gè)MMC插入模塊
·編程設(shè)備(PG或PC)的文件系統(tǒng)上必須含有固件版本的文件。
一個(gè)文件夾中只能包含一個(gè)固件版本的文件,。
執(zhí)行固件更新:
1.啟動(dòng)STEP7并切換到HW-Config,。
2.打開(kāi)待更新的CPU所在的站。
3.選擇CPU,。
4.選擇菜單項(xiàng)“Targetsystem>Firmwareupdate”,。只有當(dāng)所選的CPU支持“Firmwareupdate”功能時(shí),該菜單項(xiàng)才可用,。
5.在打開(kāi)的菜單項(xiàng)“Firmwareupdate”中,,使用“Search”按鈕選擇固件更新文件(*.UPD)的路徑。
6.選定一個(gè)文件之后,,將會(huì)在“Firmwareupdate”對(duì)話框的下半部分提示該文件適合哪些模塊,,以及從哪個(gè)固件版本開(kāi)始可以使用該文件。
7.點(diǎn)擊“Execute”按鈕。STEP7將檢查模塊是否可以解析所選的文件—如果結(jié)果是肯定的—則將文件裝載到CPU,。如果為此需要更改CPU的運(yùn)行模式,,則系統(tǒng)會(huì)要求用戶執(zhí)行此更改操作。然后CPU將自行更新固件,。
8.通過(guò)STEP7檢查(讀CPU診斷緩沖區(qū))CPU是否使用新的固件成功啟動(dòng),。
請(qǐng)注意:
當(dāng)CPU執(zhí)行完一次總復(fù)位之后,下列值將保留:
·MPI接口的參數(shù)(MPI地址和最高的MPI地址)
·CPU的IP地址
·子網(wǎng)掩碼
·靜態(tài)SNMP參數(shù)
西門(mén)子電纜6ES7902-3AC00-0AA0

編寫(xiě),、編譯并下載程序
編寫(xiě),、編譯并下載程序 可在PLC變量表里面為變量命名
西門(mén)子RS485電纜6ES7 902-3AB00-0AA0

變量命名
編寫(xiě)、編譯并下載程序 編譯并下載程序

編譯并下載程序
在STEP7(TIA Portal)中如何為S7-1200/1500實(shí)現(xiàn)積分編程,?
為了近似測(cè)定面積,,使用以SCL語(yǔ)言編寫(xiě)的FB "Integration"程序塊可以持續(xù)對(duì)區(qū)域面積進(jìn)行累加。
說(shuō)明
積分是對(duì)給定函數(shù)曲線的面積進(jìn)行數(shù)學(xué)計(jì)算,。但是實(shí)際曲線往往沒(méi)有明確的數(shù)學(xué)關(guān)系,,而是隨時(shí)間變化的模擬量。積分計(jì)算就是把所有由兩個(gè)過(guò)程值與時(shí)間所圍成的梯形區(qū)域面積相加,,梯形面積等于兩個(gè)過(guò)程值的平均值乘以時(shí)間間隔,。
西門(mén)子RS485電纜6ES7 902-3AB00-0AA0

下載附件是以SCL語(yǔ)言編寫(xiě)的用于計(jì)算積分的 "Integration" 功能塊

表示了FB "Integration"的調(diào)用參數(shù)。FB "Integration"中 "in"參數(shù)為轉(zhuǎn)化為浮點(diǎn)數(shù)的模擬量輸入值,。
- 如果"enable" 參數(shù)接收到 "False" 值,,那么積分計(jì)算將停止并且"out"參數(shù)輸出后計(jì)算值。
- 如果 "reset"接收到 "True"值,,那么"out"輸出將復(fù)位為零,。
- 計(jì)算結(jié)果存儲(chǔ)于 "out" 輸出。
- 當(dāng)使能積分后,,"error"會(huì)在啟動(dòng)計(jì)算時(shí)輸出一個(gè)周期的"True"信號(hào)(信號(hào)在積分計(jì)算期間失效),。
要使用 "in"參數(shù)的輸入值啟動(dòng)積分計(jì)算,必須
- 設(shè)置"enable"參數(shù)的值為"True",。
- 設(shè)置 "reset"參數(shù)的值為 "False",。
- 西門(mén)子電纜6ES7 902-3AC00-0AA0

下表列出了 FB "Integration" 的輸入和輸出參數(shù)。
參數(shù) | 接口 | 數(shù)據(jù)類型 | 描述 |
---|
in | Input | DInt | 需要做積分計(jì)算的值 |
enable | Input | Bool | 使能積分計(jì)算 |
reset | Input | Bool | 復(fù)位( 為 True 時(shí)復(fù)位輸出參數(shù)) |
out | Output | LReal | 積分后的值(可保持) |
error | Output | Bool | 錯(cuò)誤輸出
|
在STEP7(TIA Portal)中如何安全地并且間接地尋址,?
描述
采用間接尋址時(shí),,只有程序執(zhí)行時(shí),用于讀或?qū)憯?shù)值的地址才得以確定,。使用這種方法可以減少編程量并使得程序更靈活,。通常來(lái)講,程序創(chuàng)建后訪問(wèn)地址也就確定了,。為了使得間接尋址更靈活和更安全,,可以
- 使用"Array"數(shù)據(jù)類型用于組合相同的數(shù)據(jù)類型,。
- 對(duì)于不同的存儲(chǔ)區(qū),采用index來(lái)訪問(wèn)相關(guān)的針對(duì)每個(gè)應(yīng)用不同的變量,。
在下面的例子中,,對(duì)于三個(gè)變量的訪問(wèn)采用了不同的存儲(chǔ)區(qū)。表01 顯示了三個(gè)變量的訪問(wèn)列表,,每個(gè)都有單獨(dú)的索引,。
索引 | 訪問(wèn)變量 | 存儲(chǔ)區(qū) |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
創(chuàng)建一個(gè)功能,并聲明輸入變量為"Int"類型,。圖.01 顯示了對(duì)于"AccessGroupInt"功能塊的編程示例,,通過(guò)index進(jìn)行間接尋址并返回值??梢栽诔绦蛑兄苯邮褂瞄g接訪問(wèn),,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。這一編程方法
- 可追蹤,,因?yàn)榭梢允褂媒徊嫠饕?/li>
- 安全,,因?yàn)閮H使用了預(yù)定義的內(nèi)存區(qū)。
- 通用,,因?yàn)榧瓤梢杂糜跇?biāo)準(zhǔn)塊也可以用于優(yōu)化的數(shù)據(jù)區(qū) 。

在下面的示例中數(shù)據(jù)被從三個(gè)不同的優(yōu)化的數(shù)據(jù)塊中讀出或?qū)懭?。三個(gè)數(shù)據(jù)塊"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的變量聲明:
- DB 變量1:"MyBool" Bool類型
- DB 變量2:"MyInt" Int類型
- DB 變量3:"MyWord" Word類型

創(chuàng)建的PLC數(shù)據(jù)類型"SiloUDT"用于尋址包含不同數(shù)據(jù)類型的DB變量,。 "AccessGroupSiloRead"功能塊用于讀出返回值,是由PLC 數(shù)據(jù)類型 "SiloUDT"定義的,?;诖丝梢栽谝粋€(gè)FB中間接訪問(wèn),例如如圖.03所示的指令:
- "Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));

創(chuàng)建環(huán)境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13創(chuàng)建,。
下表列出了 FB "Integration" 的輸入和輸出參數(shù),。
參數(shù) | 接口 | 數(shù)據(jù)類型 | 描述 |
---|
in | Input | DInt | 需要做積分計(jì)算的值 |
enable | Input | Bool | 使能積分計(jì)算 |
reset | Input | Bool | 復(fù)位( 為 True 時(shí)復(fù)位輸出參數(shù)) |
out | Output | LReal | 積分后的值(可保持) |
error | Output | Bool | 錯(cuò)誤輸出
|
在STEP7(TIA Portal)中如何安全地并且間接地尋址?
描述
采用間接尋址時(shí),,只有程序執(zhí)行時(shí),,用于讀或?qū)憯?shù)值的地址才得以確定。使用這種方法可以減少編程量并使得程序更靈活,。通常來(lái)講,,程序創(chuàng)建后訪問(wèn)地址也就確定了。為了使得間接尋址更靈活和更安全,,可以
- 使用"Array"數(shù)據(jù)類型用于組合相同的數(shù)據(jù)類型,。
- 對(duì)于不同的存儲(chǔ)區(qū),采用index來(lái)訪問(wèn)相關(guān)的針對(duì)每個(gè)應(yīng)用不同的變量,。
在下面的例子中,,對(duì)于三個(gè)變量的訪問(wèn)采用了不同的存儲(chǔ)區(qū)。表01 顯示了三個(gè)變量的訪問(wèn)列表,,每個(gè)都有單獨(dú)的索引。
索引 | 訪問(wèn)變量 | 存儲(chǔ)區(qū) |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
創(chuàng)建一個(gè)功能,,并聲明輸入變量為"Int"類型,。圖.01 顯示了對(duì)于"AccessGroupInt"功能塊的編程示例,,通過(guò)index進(jìn)行間接尋址并返回值,??梢栽诔绦蛑兄苯邮褂瞄g接訪問(wèn),,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。這一編程方法
- 可追蹤,因?yàn)榭梢允褂媒徊嫠饕?/li>
- 安全,因?yàn)閮H使用了預(yù)定義的內(nèi)存區(qū),。
- 通用,,因?yàn)榧瓤梢杂糜跇?biāo)準(zhǔn)塊也可以用于優(yōu)化的數(shù)據(jù)區(qū) ,。
控制模式
1,、 系統(tǒng)設(shè)置遠(yuǎn)程/本地/手動(dòng)按鈕
1.1、 遠(yuǎn)程:只能通過(guò)上位機(jī)對(duì)系統(tǒng)進(jìn)行自動(dòng)啟/??刂?,單臺(tái)設(shè)備就地控制優(yōu)先,在程控時(shí),,可以通過(guò)上位機(jī)對(duì)設(shè)備進(jìn)行軟手操/自動(dòng)切換,軟手操啟/停,;
1.2,、 本地:只能通過(guò)觸摸屏對(duì)系統(tǒng)進(jìn)行自動(dòng)啟/??刂疲瑔闻_(tái)設(shè)備就地控制優(yōu)先,,在程控時(shí),可以通過(guò)觸摸屏對(duì)設(shè)備進(jìn)行軟手操/自動(dòng)切換,軟手操啟/停,;
1.3,、 手動(dòng):手動(dòng)控制時(shí),上位機(jī)/觸摸屏失效,,只能通過(guò)手動(dòng)控制設(shè)備的啟/停,。
2、 單臺(tái)設(shè)備控制
單臺(tái)設(shè)備必須有軟手操/自動(dòng)切換以及軟手操時(shí)可以啟/停功能,,由自動(dòng)切換到軟手操時(shí),,設(shè)備不能停機(jī);由軟手操切換到自動(dòng)時(shí),,設(shè)備啟/停取決于自動(dòng)程序,。
3、 單臺(tái)設(shè)備(泵,、風(fēng)機(jī)及其它大型設(shè)備)運(yùn)行滿24小時(shí)必須進(jìn)行輪換,,且必須有運(yùn)行時(shí)間累計(jì),如果由上位機(jī)設(shè)定啟/停順序除外,,操作人員自行設(shè)定,;
三、編程技巧
1,、 程序塊盡量細(xì)化,方便閱讀,,將同一類型的設(shè)備控制放在一個(gè)程序塊中,;
2、 如遇特殊情況下采用語(yǔ)言編程,,多數(shù)情況下請(qǐng)使用梯形圖編程,,方便別人閱讀;
3,、 對(duì)于經(jīng)常調(diào)用的子程序,,可以做成子模塊,,頻繁調(diào)用,例如:求幾個(gè)數(shù)平均值或求幾個(gè)數(shù)的大值,;
4,、 程序要有注釋,變量及中間變量必須有描述,,方便別人閱讀或以后查閱,;
5、 定期做程序備份,,工程名稱+系統(tǒng)名稱+當(dāng)天日期,;
6、 程序加密,,防止別人竊取,。
我想說(shuō)plc入門(mén)容易,深造難啊,。對(duì)于一些初學(xué)者,,看看書(shū)看看視頻沒(méi)有專門(mén)的去實(shí)踐學(xué)習(xí),大部分了解了plc的原理,,設(shè)計(jì)一些簡(jiǎn)單的程序可以運(yùn)用自如,,但是碰到一些復(fù)雜的要求時(shí),就懵逼了,,因?yàn)槲乙郧耙矔r(shí)常懵逼,。plc這個(gè)東西就得把指令融匯貫通,運(yùn)用自如,,才能編出一些較復(fù)雜的程序,。下面簡(jiǎn)單介紹一下學(xué)plc的技巧和方法,讓大家更快地去熟悉plc,、掌握plc,,讓我們口袋里的錢(qián)變得鼓鼓的。

首先,、你得對(duì)編程感興趣,,設(shè)計(jì)出程序來(lái)感覺(jué)有成就感。有的人一看到界面,,一看到要求,,哎呦媽呀暈暈暈,哥快來(lái)扶我一把,。這樣的同學(xué)我勸你這輩子就告別工控這條路吧,。
第二、學(xué)習(xí)plc編程要有一定的電器基礎(chǔ),要明白各個(gè)電器的用途,因?yàn)镻LC說(shuō)白了也就是把很多的電器實(shí)物程序化(比如說(shuō)各種繼電器及計(jì)數(shù)器等),但是也有的人跨專業(yè)來(lái)學(xué),,感覺(jué)工控好啊,,工控好神奇啊,,帶著強(qiáng)烈的興趣來(lái)探索工控這個(gè)奧秘。這樣的同學(xué)可能后比有基礎(chǔ)的同學(xué)學(xué)的還要好,。
第三,、選擇一個(gè)品牌。
老大當(dāng)然是西門(mén)子,,尤其在冶金方面接近于99%,。ABB在石油方面用到的很廣。羅克韋爾也不錯(cuò),,就是價(jià)格稍微高一點(diǎn),。還有就是施耐德了。然后呢就是日本的一些牌子了,,三菱,、歐姆龍等。其次就是中國(guó)的一些品牌了比如說(shuō)和利時(shí),,臺(tái)達(dá),、信捷等一些品牌了。
第四,、沒(méi)時(shí)間的可以買(mǎi)本書(shū)買(mǎi)些視頻或者看看,,電腦下載一個(gè)對(duì)應(yīng)的編程軟件,試著編繪簡(jiǎn)易梯形圖:一般以現(xiàn)有的電工原理圖,,根據(jù)其工作原理進(jìn)行繪制,,由淺 入深,先求畫(huà)出,,再求簡(jiǎn)單明了,,慢慢領(lǐng)會(huì)繪制梯形圖心得。首先要理解電工原理圖的工作原理,,根據(jù)電 工原理圖的工作原理,,再按 PLC 的要求進(jìn)行繪制。應(yīng)把握的是,,不能簡(jiǎn)單地將 PLC 各接點(diǎn)與電工原理圖上 的各接點(diǎn)一一對(duì)應(yīng)(這是初學(xué)者的通病),,若是這樣的話就有可能步入死胡同,繪制的梯形圖只要能達(dá)到 目的即可,。有條件的就整個(gè)硬件或者模擬器,。
再有條件又有時(shí)間就去報(bào)培訓(xùn)班學(xué)吧,那樣學(xué)得會(huì)比自己學(xué)的全面容易,,也有硬件供你練習(xí)實(shí)踐

在下面的示例中數(shù)據(jù)被從三個(gè)不同的優(yōu)化的數(shù)據(jù)塊中讀出或?qū)懭?。三個(gè)數(shù)據(jù)塊"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的變量聲明:
- DB 變量1:"MyBool" Bool類型
- DB 變量2:"MyInt" Int類型
- DB 變量3:"MyWord" Word類型

創(chuàng)建的PLC數(shù)據(jù)類型"SiloUDT"用于尋址包含不同數(shù)據(jù)類型的DB變量,。 "AccessGroupSiloRead"功能塊用于讀出返回值,,是由PLC 數(shù)據(jù)類型 "SiloUDT"定義的,。基于此可以在一個(gè)FB中間接訪問(wèn),,例如如圖.03所示的指令:
- "Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));

創(chuàng)建環(huán)境
此FAQ中的截屏由 STEP 7 V13創(chuàng)建,。
為了plc程序可讀性強(qiáng),短期內(nèi)可以讀懂并且能夠修改,,在PLC工作組內(nèi)部需要統(tǒng)一我們的編程標(biāo)準(zhǔn),,以便適應(yīng)將來(lái)工程人員調(diào)動(dòng)后,原來(lái)的程序能夠被后來(lái)的人在短期內(nèi)讀懂,,現(xiàn)統(tǒng)一標(biāo)準(zhǔn)如下:
一,、程序結(jié)構(gòu)
1、 程序結(jié)構(gòu)統(tǒng)一
OB1:主程序,;
OB100:初始化程序(無(wú)需主程序調(diào)用),;
OB35:100ms(可修改)中斷(無(wú)需主程序調(diào)用),可以調(diào)用PID模塊,;
OB80,、OB82、OB85,、OB86,、OB87、OB121,、OB122:故障診斷模塊(無(wú)需主程序調(diào)用,、無(wú)需編程);
FC1:系統(tǒng)模式,;
FC2:輸入處理,;
FC3:輸出處理;
FC4:運(yùn)行處理,;
FC5:停止處理,;
FC6:手自動(dòng)切換;
FC7:
,。,。。
,。,。。
FC100:之后用來(lái)建立一些可以循環(huán)調(diào)用的子程序,;
FC105:系統(tǒng)自帶,,模擬量輸入子程序(可以循環(huán)調(diào)用);
FC106:系統(tǒng)自帶,模擬量輸出子程序(可以循環(huán)調(diào)用),;
modbus通訊(CP341):FB7:P_RCV_RK,,F(xiàn)B8:P_SND_RK;
通訊CP340:FB2:P_RCV,,F(xiàn)B3:P_SND,;
一般PID:用FB41;
溫,、濕度PID:用FB58,;
如果程序塊與系統(tǒng)塊重復(fù),請(qǐng)避讓,。
2,、 數(shù)據(jù)塊
DB1:AI數(shù)據(jù),類型:REAL,,與上位機(jī)接口,;
DB2:AO數(shù)據(jù),類型:REAL,,與上位機(jī)接口,;
DB3:DI數(shù)據(jù),類型:BOOL,,與上位機(jī)接口,;
DB4:DO數(shù)據(jù),類型:BOOL,,與上位機(jī)接口,;
DB5:設(shè)備運(yùn)行時(shí)間及流量累計(jì),類型:REAL,,與上位機(jī)接口,;
DB6:報(bào)警消息,類型:BOOL,,與上位機(jī)接口,;
DB7:類型:REAL,中間寄存器,;
DB8:類型:INT,,中間寄存器;
DB9:類型:WORD,,中間寄存器,;
DB10:類型:BOOL,中間寄存器,;
DB11:之后用作與設(shè)備通訊用,,例如:MODBUS通訊等,;
DB100:之后用作調(diào)用FB塊時(shí)的背景數(shù)據(jù)塊;
M區(qū):也作為中間變量,。