{心中有空間,夢想就有可能}
德國制造: 現(xiàn)貨 聯(lián) 系 人: 黃勇《黃工》 24小時聯(lián)系手機: 13701633515
全新原裝: 參數(shù)
質(zhì)量保證: 保修
價格優(yōu)勢: 特價
我公司大量現(xiàn)貨供應(yīng),價格優(yōu)勢,品質(zhì)保證,德國原裝進口
大量功能特性為用戶針對 S7-300 進行的編程、調(diào)試和維護提供支持。
SIMATIC S7-300 符合以下國內(nèi)和國際標(biāo)準(zhǔn):
SIMATIC S7-300 的 CPU 支持下列通訊模式:
STEP 7 用戶界面使用方便,可用于對通訊功能進行組態(tài),使組態(tài)更加容易。
數(shù)據(jù)通訊
SIMATIC S7-300 配備不同的數(shù)據(jù)通訊機制:
全局?jǐn)?shù)據(jù)
通過使用“全局?jǐn)?shù)據(jù)通訊”服務(wù),聯(lián)網(wǎng)的 CPU 可以循環(huán)方式相互交換數(shù)據(jù)(最多 8 GD 數(shù)據(jù)包,每個包含 22 字節(jié)/循環(huán))。通過這種方式,一個 CPU 訪問可另一個 CPU 的數(shù)據(jù)、位存儲器或過程映像。只能通過 MPI 進行全局?jǐn)?shù)據(jù)交換。使用 STEP 7 中的 GD 表進行組態(tài)。
通訊功能
可以使用集成在系統(tǒng)中的功能塊建立與 S7/C7 合作伙伴的通訊服務(wù)。
這些服務(wù)是:
可以使用加載的功能塊建立與 S5 對等和非西門子設(shè)備的通訊服務(wù)。
這些服務(wù)是:
與全局?jǐn)?shù)據(jù)相比,必須建立通訊功能的通訊鏈路。
集成到 IT 世界
通過 S7-300,可將當(dāng)今的 IT 技術(shù)方便的集成到自動化系統(tǒng)中。使用 CP 343-1 Advanced 可以實現(xiàn)下列 IT 功能:
S7-300 PROFINET CPU 配備集成的 Web 服務(wù)器。使用標(biāo)準(zhǔn) Web 瀏覽器,可從 S7-300 站讀取信息:
同步模式系統(tǒng)功能支持同步耦合
使用等距PROFIBU 的周期。
這形成了可采集和處理輸入信號并定期(恒定的總線循環(huán)時間)產(chǎn)生輸出信號的自動化解決方案。同時創(chuàng)建一致的過程映像分割。
由于分布式 I/O 的等距和同步信號處理,S7-300 保證了精確可重復(fù)的規(guī)定過程響應(yīng)時間。
支持系統(tǒng)功能同步模式的組件系列眾多,可用于解決運動控制、測量值采集、高速閉環(huán)控制等方面要求嚴(yán)格的任務(wù)。
因此SIMATIC S7-300 目前適用于分布式自動化解決方案中的高速機加工過程,可確保極高精度和重復(fù)性。其結(jié)果是,在保持始終如一的最佳質(zhì)量的同時提高產(chǎn)量。
SIMATIC S7-300 的許多輸入/輸出模塊都具有智能能力:
診斷
可使用診斷來確定信號采集或模擬量處理是否分別在數(shù)字量模塊或模擬量模塊中功能正常。在評估診斷時,必須區(qū)別可參數(shù)化診斷消息和非可參數(shù)化診斷消息:
若診斷報警處于活動狀態(tài)(例如,“編碼器電源掉電”),則模塊輸出一個診斷報警(對于可參數(shù)化診斷報警,只在相關(guān)參數(shù)化后輸出)。CPU 中斷執(zhí)行用戶程序或較低的優(yōu)先級,處理相關(guān)的診斷中斷塊 (OB 82)。
通電后,西門子S7-400 CPU 或 CPU 318-2 開始執(zhí)行用戶程序之前,啟動程序已開始工作。在啟動程序中,用戶可以對循環(huán)程序通過編程啟動 OB 來進行相應(yīng)地定義預(yù)設(shè)置。
如下有三種啟動方式:
啟動模式 | 描述 |
啟動(暖啟動) | 程序處理重新啟動,數(shù)據(jù)繼續(xù)保持。 |
冷啟動 | 當(dāng)前數(shù)據(jù)丟失,程序處理以初始值再次啟動。 |
熱啟動 | 一旦供電恢復(fù),程序從斷電時的值開始繼續(xù)工作。 |
在操作模式“STARTUP”中:
啟動(暖啟動):
圖 01
在啟動(暖啟動)中, 程序處理以“基本設(shè)置”內(nèi)系統(tǒng)數(shù)據(jù)和用戶地址范圍為程序啟動點來重啟。
如果系統(tǒng)不要求完全復(fù)位,那么啟動(暖啟動)一直是可行的。在如下情況發(fā)生后,只有啟動(暖啟動)可行:
啟動(暖啟動)的操作命令:
用戶可以觸發(fā)手動啟動(暖啟動):
在 POWER ON 時,下面的狀態(tài)會觸發(fā)自動啟動(暖啟動):
冷啟動:
圖 02
冷啟動的操作命令:
熱啟動:
圖 03
在 RUN 狀態(tài)下電源中斷后再次供電,S7-400 CPU 通過初始化路徑然后自動執(zhí)行熱啟動。重新熱啟動后,用戶程序在中斷點繼續(xù)運行 (定時器,計數(shù)器,指示器不被重新設(shè)置,當(dāng)前數(shù)值保存在 DB 塊中)。在斷電前未執(zhí)行的用戶程序被稱為剩余循環(huán)程序。剩余循環(huán)程序同時包括時間和報警控制程序部分。
原則上來說,如果用戶程序在 STOP 狀態(tài)下沒有改變 (例如裝載一個修改過的塊) 或者因為某些原因而不需要進行啟動 (暖啟動),那么,熱啟動是允許的。
熱啟動的操作命令:
如果相關(guān)參數(shù)已設(shè)定于 CPU 中,并且是如下原因造成 STOP, 那么手動熱啟動是可行的:
用戶可以觸發(fā)熱啟動:
自動熱啟動可在 POWER ON 狀態(tài)下被觸發(fā),如果:
在S7-200編程中,子程序想必大家都用過,使用子程序可以更好地組織程序結(jié)構(gòu),便于閱讀和調(diào)試,也可以縮短程序代碼。但是使用子程序也有一些需要注意的地方,除了子程序在同一周期內(nèi)被多次調(diào)用時,不能使用上升沿、下降沿、定時器和計數(shù)器之外,還有子程序中局部變量的特點,在編程多次調(diào)用帶參數(shù)子程序時要特別注意。下面就是前些天熱線上遇到的一個Case,非常有代表性,在這里跟大家分享。
E:您好,西門子技術(shù)支持。
C:您好,我想問下,200子程序是不是多次調(diào)用時會不好使?
E:不會啊,您是不是在子程序里使用了沿指令或者定時器?
C:沒有啊,我就編了一句很簡單的開關(guān)程序,開關(guān)閉合,線圈導(dǎo)通,然后主程序里調(diào)用了兩次這個子程序,結(jié)果第一個I點閉合了,兩個Q點都導(dǎo)通了。
E:(心里活動:看來是和子程序的局部變量有關(guān)了,估計客戶程序邏輯有問題)那請您描述一下您的子程序吧,我?guī)湍纯础?/span>
于是客戶描述了一下自己的程序,大致了解了之后告知客戶我這邊測試下,稍后回復(fù)。
客戶的程序是這樣的:
子程序:是個常見的自保持邏輯,接口參數(shù)如紅框所示。
圖. 01
主程序:調(diào)用了兩次上面的子程序,實現(xiàn)I0.0和I0.1控制Q0.0的閉合和斷開,I0.2和I0.3控制Q0.1的閉合和斷開。
圖. 02
那么在線測試下程序執(zhí)行情況,發(fā)現(xiàn)果然如客戶所描述的,I0.0為1后,Q0.0和Q0.1都為1了。見下圖.03所示。而如果閉合I0.2,則Q0.0和Q0.1都斷開。
圖. 03
為什么會這樣呢?首先我們先明確子程序局部變量的特點。局部變量的變量類型分為四種:IN,IN_OUT,OUT和TEMP,局部變量存儲區(qū)是在子程序調(diào)用時開辟的,子程序調(diào)用完成,局部變量占用的存儲空間釋放。
我們來分析下客戶的子程序。
在主程序第一次調(diào)用子程序時,如果I0.0為1,I0.1為0,它們將自身值分別傳給輸入局部變量#AA和#BB,子程序中程序邏輯執(zhí)行如下圖.04所示。此時局部變量#CC值為1,子程序完成,#CC將值傳送到輸出參數(shù)Q0.0上,使其置1。根據(jù)局部變量的特點,子程序第一次調(diào)用完成后,局部變量存儲區(qū)釋放。
圖.04
那么當(dāng)主程序第二次調(diào)用該子程序時,開辟臨時存儲空間,但是此時的存儲空間與第一次調(diào)用時開辟的不一定一致??墒?,也有可能由于程序簡單,仍然使用第一次調(diào)用時占用的存儲空間。如果這種情況發(fā)生了,那么第一次調(diào)用時已經(jīng)將#CC的L0.2置了1,而此值依舊存在,那么第二次調(diào)用時雖然輸入?yún)?shù)I0.2和I0.3為0 ,但是#CC(L0.2)為1,由于客戶的子程序邏輯有自保持部分,所以最后L0.2的邏輯結(jié)果仍然是1。子程序完成后,#CC將值傳送到輸出參數(shù)Q0.1上,使其置1。所以就會出現(xiàn)客戶反映的那種問題。
那么該如何避免這種情況呢?
大家是否還記得剛剛介紹局部變量參數(shù)類型時除了IN, OUT類型外,還有一種類型叫IN_OUT,這種類型的參數(shù)是先讀入,然后再寫出,這里我們就可以利用它的特點解決上面的問題。
下面對子程序的參數(shù)進行修改,將原先的#CC變量類型改為IN_OUT。如下圖所示:
圖.05
主程序結(jié)構(gòu)不變,如下所示,可以看到由于#CC的類型是IN-OUT,它在子程序塊的接口位置也轉(zhuǎn)到了左側(cè)輸入側(cè)。
圖.06
下面再次將I0.0置1,其他輸入都為0,監(jiān)控程序狀態(tài),如圖.07所示,可以看到只有Q0.0為1,Q0.1狀態(tài)為0。而如果將I0.1置1, Q0.0被復(fù)位,Q0.1還是0,這樣就符合客戶的控制要求了。
圖.07
同樣,如果只給I0.2置1,那么也只有Q0.1會亮,不會再影響Q0.0。
了解了IN_OUT類型變量的特點,就不難分析以上的結(jié)果。因為每次調(diào)用子程序時,局部變量#CC都會先去讀取輸入?yún)?shù)Q0.0或Q0.1的狀態(tài),所以即使兩次調(diào)用子程序時,#CC變量使用的同一區(qū)域,該區(qū)域的值也會在開始被Q點的狀態(tài)所修改,就不存在兩次調(diào)用相互影響的情況了。
另外,如果在子程序一開始就添加一條指令,對局部變量#CC進行賦初值(如圖.08),也可以避免臨時變量區(qū)數(shù)值不定的問題,您可以嘗試測試下。
圖.08
所以,在編寫200子程序時要特別注意局部變量的特點,一旦出現(xiàn)多次調(diào)用不正常的情況,就可以從局部變量的特點出發(fā)分析,看看是不是存在隱患。善加利用IN_OUT變量也許可以解決許多問題。
總線連接器 | |
6GK1 905-6AA00 | 快速剝線工具 |
6ES7972-0BA52-0XA0 | 快速連線DP總線接頭不帶編程口 |
6ES7972-0BB52-0XA0 | 快速連線DP總線接頭帶編程口 |
6ES7 972-0BA50-0XA0 | 快速連線網(wǎng)絡(luò)接頭(不帶編程口) |
6ES7 972-0BB50-0XA0 | 快速連線網(wǎng)絡(luò)接頭(帶編程口) |
6ES7 972-0BA12-0XA0 | 90度網(wǎng)絡(luò)接頭(不帶編程口) |
6ES7 972-0BB12-0XA0 | 90度網(wǎng)絡(luò)接頭(帶編程口) |
6ES7 972-0BA42-0XA0 | 35度DP總線不帶編程口接頭 |
6ES7 972-0BB42-0XA0 | 35度DP總線帶編程口接頭 |
6ES7 972-0BA41-0XA0 | 35度網(wǎng)絡(luò)接頭(不帶編程口) |
6ES7 972-0BB41-0XA0 | 35度網(wǎng)絡(luò)接頭(帶編程口) |
6GK1 500-0EA02 | 無角度網(wǎng)絡(luò)接頭(不帶編程口) |
6GK1 500-0FC00 | 無角度快速連線網(wǎng)絡(luò)接頭(不帶編程口) |
網(wǎng)絡(luò)部件 | |
6ES7 972-0AA01-0XA0 | 12M PROFIBUS 中繼器 IP20 |
6ES7 972-0AB01-0XA0 | 12M PROFIBUS 診斷中繼器 |
6ES7 972-0DA00-0AA0 | 有源終端元件 |
6ES7 972-4AA02-0XA0 | 電源導(dǎo)軌輔助裝置 |
6GK1 500-3AA00 | 光纖總線端子OBT |
6GK1 503-0AA00 | 紅外線鏈接模塊 ILM |
6GK1 503-3CA00 | PROFIBUS OLM/P12 (1個RS485接口,兩個BFOC) |
6GK1 503-2CB00 | PROFIBUS OLM/G11 (1個RS485接口,兩個BFOC) |
6GK1 503-3CB00 | PROFIBUS OLM/G12 (1個RS485接口,四個BFOC) |
6GK1 503-3CC00 | PROFIBUS OLM/G12-1300 (1個RS486接口,四個BFOC) |
6ES7 181-0AA01-0AA0 | BT200 硬件測試裝置 |
6ES7 193-8MA00-0AA0 | BT200 記錄軟件套裝 Win95/98/NT |
6ES7 193-8LA00-0AA0 | 充電器 BT200 230V |
6ES7 193-8LB00-0AA0 | 充電器 BT200 110V |
軟件 | |
6GK1 704-5CW64-3AA0 | SOFTNET S7 /2005 |
6GK1 704-5DW64-3AA0 | SOFTNET DP /2005 |
6GK1 704-5SW64-3AA0 | SOFTNET DP Slave /2005 |
6GK1 713-5DB64-3AA0 | DP-5613 /2005 網(wǎng)卡驅(qū)動程序 |
6GK1 713-5FB64-3AA0 | FMS-5613 /2005 網(wǎng)卡驅(qū)動程序 |
6GK1 713-5CB64-3AA0 | S7-5613 /2005 網(wǎng)卡驅(qū)動程序 |
工業(yè)以太網(wǎng) | |
網(wǎng)卡及電纜: | |
6GK1 161-3AA01 | CP1613網(wǎng)卡(以太網(wǎng)10M/100M自適應(yīng),PCI總線硬卡) |
6GK1 161-2AA00 | CP1612網(wǎng)卡(以太網(wǎng)10M/100M自適應(yīng),PCI總線) |
6GK1 161-6AA00 | CP1616網(wǎng)卡(32位,33/66M,4個接口,PCI總線) |
6GK1 151-2AA00 | CP1512網(wǎng)卡(10M/100M以太網(wǎng),PCMCIA筆記本用) |
6GK1 151-5AA00 | CP1515網(wǎng)卡(11M無線以太網(wǎng),PCMCIA筆記本用) |
6GK1 611-0TA01-1DV0 | MOBIC T8 V1.2 |
6XV1 850-0AH10 | ITP標(biāo)準(zhǔn)工業(yè)以太網(wǎng)通訊電纜 (米) |
6XV1 850-0BT10 | ITP標(biāo)準(zhǔn)工業(yè)以太網(wǎng)電纜 (100米) 9/15 |
6XV1 850-0BN15 | ITP標(biāo)準(zhǔn)工業(yè)以太網(wǎng)電纜 (15米) 9/15 |
6XV1 870-3QN10 | TP轉(zhuǎn)接軟線RJ45/RJ45,10米 |
6XV1 850-0BH20 | ITP標(biāo)準(zhǔn)工業(yè)以太網(wǎng)電纜 (2米) 9/15 |
6XV1 840-2AH10 | FC標(biāo)準(zhǔn)工業(yè)以太網(wǎng)通訊電纜 (米) |
6XV1 850-2LN10 | TP轉(zhuǎn)接軟線15/RJ45,10米 |
6XV1 850-2GN10 | TP轉(zhuǎn)接軟線RJ45/RJ45,10米 |
6XV1 850-2JN10 | TP轉(zhuǎn)接軟線9/RJ45,10米 |
6XV1 850-2HN10 | TP XP 轉(zhuǎn)接軟線RJ45/RJ45,10米 |
6GK1 901-1FC00-0AA0 | FC引出插座RJ45 |
網(wǎng)絡(luò)部件 | |
OSM/ESM | |
6GK1 105-2AA10 | 工業(yè)以太網(wǎng)OSM ITP62 (六個ITP口) |
6GK1 105-2AB10 | 工業(yè)以太網(wǎng)OSM TP62 (六個RJ45口) |
6GK1 105-2AE00 | 工業(yè)以太網(wǎng)OSM TP22 (二個RJ45口) |
6GK1 105-4AA00 | 工業(yè)以太網(wǎng)OSM BC08 (八個BFOC口) |
6GK1 105-3AA10 | 工業(yè)以太網(wǎng)ESM (八個ITP口) |
6GK1 105-3AB10 | 工業(yè)以太網(wǎng)ESM (八個RJ45口) |
6GK1 105-3AC00 | 工業(yè)以太網(wǎng)ESM (四個RJ45口) |
西門子SIMATIC S7家族中的控制器按照應(yīng)用場合、性能等分為S7-1200、S7-200、S7-300、S7-400等各種不同的系列。而每一系列中又細分不同的型號,例如,S7-400系列中有S7-412、S7-414、S7-416、S7-417等型號。不同系列、不同型號的控制器對應(yīng)不同的控制性能(運算速度、內(nèi)存容量等)。本文基于S7-400系列控制器,詳細介紹內(nèi)存的類型、分配情況及實際使用過程中可能的內(nèi)存優(yōu)化方法。
1.內(nèi)存類型
S7-400型控制器的內(nèi)存按照功能的不同,可以分為:
√ 系統(tǒng)內(nèi)存(System Memory)--- 控制器的自身功能(M、T、C等)
√ 工作內(nèi)存(work Memory)--- 用于運行程序;
√ 裝載內(nèi)存(Load Memory)--- 用于裝載程序;
其中,工作內(nèi)存部分又可以細分為:
√ 代碼工作內(nèi)存(Code Memory)--- 用于運行程序的代碼部分;
√ 數(shù)據(jù)工作內(nèi)存(Data Memory)--- 用于運行程序的數(shù)據(jù)部分;
S7-400型控制器的內(nèi)存按照集成方式的不同,可以分為:
√ 集成內(nèi)存(Integrated)--- 直接集成在控制器內(nèi)部隨控制器一起提供,無需額外訂購;
√ 擴展內(nèi)存(Expanded)--- 通過擴展存儲卡的方式擴展提供,需要額外訂購;
一般情況下,控制器的工作內(nèi)存不可擴展,而裝載內(nèi)存則可以通過FEPROM或RAM的方式進行擴展。如果希望和集成的RAM裝載內(nèi)存無縫擴展使用,則擴展的裝載內(nèi)存必須選用RAM類型。下圖為CPU 412的性能參數(shù)示例。
圖 1 CPU 412的性能參數(shù)示例
2.內(nèi)存分配
控制器內(nèi)存詳細分配情況如下表所示。#
內(nèi)存類型 | 內(nèi)容 | 注釋信息 |
裝載內(nèi)存 | 系統(tǒng)數(shù)據(jù)/System Data | 硬件組態(tài)數(shù)據(jù) |
程序塊/Program Blocks | 程序塊 | |
(FBs,FCs,OBs,Symbols1),Comments1)) | ||
工作內(nèi)存 | 數(shù)據(jù)塊/Data Blocks | 數(shù)據(jù)塊 (DBs) |
(數(shù)據(jù)部分) | 系統(tǒng)數(shù)據(jù)/System Data | 硬件組態(tài)信息,非裝載內(nèi)存中的全部硬件組態(tài)數(shù)據(jù) |
SFC動態(tài)創(chuàng)建的DB塊/DBs Created by SFC | 通過SFC21/22等動態(tài)創(chuàng)建的數(shù)據(jù)塊 | |
本地數(shù)據(jù)/Local Data | 各優(yōu)先級中斷所需的臨時數(shù)據(jù)存儲區(qū) | |
工作內(nèi)存 | 邏輯功能塊/Logic Blocks | 邏輯功能塊 (FBs,FCs) |
(代碼部分) | 通信數(shù)據(jù)緩沖/Communication Data Buffer2) |