可以使用程序編輯器的變量表來分配對(duì)個(gè)別子例程或中斷例程的變量。
局部變量可用作傳遞至子例程的參數(shù),,并可用于增加子例程的移植性或重新使用子例程,。
程序中的每個(gè) POU (頁 115) 都有自身的變量表,并占 L 存儲(chǔ)器的 64 個(gè)字節(jié)(如果在LAD 或 FBD 中編程,,則占 60個(gè)字節(jié)),。借助局部變量表,可對(duì)特定范圍內(nèi)的變量進(jìn)行定義:局部變量僅在創(chuàng)建時(shí)所處的 POU 內(nèi)部有效,。相反,,在每個(gè) POU中均有效的全局符號(hào)只能在符號(hào)表中定義。當(dāng)您為全局符號(hào)和局部變量使用相同的符號(hào)名時(shí)(例如 INPUT1),,在定義局部變量的 POU 中局部定義優(yōu)先,,在其他 POU中使用全局定義。
在局部變量表中進(jìn)行分配時(shí),,聲明類型(TEMP,、IN、IN_OUT 或OUT)和數(shù)據(jù)類型,,但不要存儲(chǔ)器地址,;程序編輯器自動(dòng)在 L存儲(chǔ)器中為所有局部變量分配存儲(chǔ)器位置。
變量表符號(hào)地址分配將符號(hào)名稱與存儲(chǔ)相關(guān)數(shù)據(jù)值的 L存儲(chǔ)器地址進(jìn)行關(guān)聯(lián),。局部變量表不支持對(duì)符號(hào)名稱直接賦值的符號(hào)常數(shù)(這在符號(hào)/全局變量表中是允許的),。
可進(jìn)行的局部變量分配類型取決于在其中進(jìn)行分配的 POU,。主程序(OB1)、中斷例程和子例程可使用臨時(shí) (TEMP)變量,。只有在執(zhí)行塊時(shí),,臨時(shí)變量才可用,,塊執(zhí)行完成后,,臨時(shí)變量可被覆蓋。
數(shù)據(jù)值可以作為參數(shù)與子例程間進(jìn)行傳遞,,具體如下所述:
● 如果要將數(shù)據(jù)值傳遞至子例程,,則在子例程變量表中創(chuàng)建一個(gè)變量,并將其聲明類型為 IN,。
● 如果要將子例程中建立的數(shù)據(jù)值傳回至調(diào)用例程,,則在子例程的變量表中創(chuàng)建一個(gè)變量,并將其聲明類型為 OUT,。
● 如果要將初始數(shù)據(jù)值傳遞至子例程,,則執(zhí)行一項(xiàng)可修改數(shù)據(jù)值的操作,并將修改后的結(jié)果傳回至調(diào)用例程,,然后在子例程變量表中創(chuàng)建一個(gè)變量,,并將其聲明類型為IN_OUT。
在程序中使用局部變量之前,,先在變量表中賦值,。在程序中使用符號(hào)名時(shí),程序編輯器首先檢查相應(yīng) POU的局部變量表,,然后檢查符號(hào)表,。如果符號(hào)名在這兩處均未定義,程序編輯器則將之視為未定義的全局符號(hào),;此類符號(hào)用綠色波浪下劃線加以指示,。程序編輯器不會(huì)自動(dòng)重新讀取變量表并對(duì)您的程序邏輯做出更正。如果以后對(duì)該符號(hào)名稱的數(shù)據(jù)類型分配進(jìn)行定義(在局部變量表中),,必須在符號(hào)名稱前手動(dòng)插入一個(gè)井號(hào)(#),,例如:#UndefinedLocalVar(在程序邏輯中)因此,在使用之前聲明變量可將編程工作量降至低,。每個(gè)子例程調(diào)用的輸入/輸出參數(shù)的大限制是16,。如果嘗試下載一個(gè)超出此項(xiàng)限制的程序,STEP 7-Micro/WIN SMART 返回錯(cuò)誤,。

檢測到非致命錯(cuò)誤時(shí),,CPU 不會(huì)切換為 STOP 模式。它僅僅是把事件記錄到 SM存儲(chǔ)器中,,之后便會(huì)繼續(xù)執(zhí)行程序,。但是,如果用戶希望在發(fā)生非致命錯(cuò)誤時(shí)強(qiáng)下面的示例程序顯示一個(gè)程序段,用于監(jiān)視兩個(gè)全局非致命錯(cuò)
CPU中的程序編譯錯(cuò)誤:
下載程序時(shí),,CPU 會(huì)對(duì)程序進(jìn)行編譯,。如果 CPU檢測到程序違反編譯規(guī)則,將中止下載,,并生成一個(gè)錯(cuò)誤代碼,。(已經(jīng)下載到 CPU的程序仍然存在于存儲(chǔ)器中,不會(huì)丟失,。)可以在修正錯(cuò)誤后再次下載程序,。
I/O 設(shè)備錯(cuò)誤 上電和下載系統(tǒng)塊后,CPU 驗(yàn)證系統(tǒng)塊中存儲(chǔ)的 I/O 組態(tài)與CPU,、信號(hào)板和實(shí)際存在的擴(kuò)展模塊是否匹配,。任何不匹配將導(dǎo)致生成設(shè)備的組態(tài)錯(cuò)誤。在運(yùn)行時(shí),,設(shè)備檢測到的其他 I/O問題(如缺少用戶電源或輸入值超出限制)可生成 I/O 錯(cuò)誤,。CPU 將模塊狀態(tài)信息存儲(chǔ)在特殊存儲(chǔ)器 (SM)位中。程序可以監(jiān)視和評(píng)估這些位,。SM5.0 是全局 I/O 錯(cuò)誤位,,當(dāng)存在任何 I/O錯(cuò)誤條件時(shí),它將保持置位,。
程序在執(zhí)行過程中可能產(chǎn)生錯(cuò)誤,。這些錯(cuò)誤的原因可能是指令使用不正確或指令處理的數(shù)據(jù)無效。例如,,如果程序執(zhí)行期間更改了指針,,則程序編譯時(shí)有效的間接地址指針可能會(huì)指向非法地址。更改指針指向無效地址為運(yùn)行時(shí)間編程問題的一個(gè)示例,。發(fā)生運(yùn)行時(shí)編程故障時(shí),,CPU 會(huì)將 SM4.3 置位。SM4.3 會(huì)在 CPU 處于 RUN模式期間一直保持置位,。程序可通過執(zhí)行 GET_ERROR 指令 (頁 391)獲取當(dāng)前非致命錯(cuò)誤代碼并將 SM4.3復(fù)位為 OFF,。
SIMATIC S7-200 SMART 產(chǎn)品亮點(diǎn):
機(jī)型豐富,,更多選擇
提供不同類型,、I/O 點(diǎn)數(shù)豐富的CPU 模塊,單體I/O 點(diǎn)數(shù)可達(dá)60 點(diǎn),,可滿足大部分小型自動(dòng)化設(shè)備的控制需求,。另外,CPU 模塊配備標(biāo)準(zhǔn)型和經(jīng)濟(jì)型供用戶選擇,,對(duì)于不同的應(yīng)用需求,,產(chǎn)品配置更加靈活,,大限度的控制成本。
選件擴(kuò)展,,精確定制
新穎的信號(hào)板設(shè)計(jì)可擴(kuò)展通信端口,、數(shù)字量通道、模擬量通道,。在不額外占用電控柜空間的前提下,,信號(hào)板擴(kuò)展能更加貼合用戶的實(shí)際配置,提升產(chǎn)品的利用率,,同時(shí)降低用戶的擴(kuò)展成本,。
高速芯片,性能
配備西門子高速處理器芯片,,基本指令執(zhí)行時(shí)間可達(dá)0.15 μs,在同級(jí)別小型PLC 中,。一顆強(qiáng)有力的“芯”,,能讓您在應(yīng)對(duì)繁瑣的程序邏輯,復(fù)雜的工藝要求時(shí)表現(xiàn)的從容不迫,。
以太互聯(lián),,經(jīng)濟(jì)便捷
CPU 模塊本體標(biāo)配以太網(wǎng)接口,集成了強(qiáng)大的以太網(wǎng)通信功能,。一根普通的網(wǎng)線即可將程序下載到PLC 中,,方便快捷,省去了編程電纜,。通過以太網(wǎng)接口還可與其它CPU 模塊,、觸摸屏、計(jì)算機(jī)進(jìn)行通信,,輕松組網(wǎng),。
三軸脈沖,運(yùn)動(dòng)自如
CPU 模塊本體多集成3 路高速脈沖輸出,,頻率高達(dá)100 kHz,,支持PWM/PTO輸出方式以及多種運(yùn)動(dòng)模式,可自由設(shè)置運(yùn)動(dòng)包絡(luò),。配以方便易用的向?qū)гO(shè)置功能,,快速實(shí)現(xiàn)設(shè)備調(diào)速、定位等功能,。
通用SD 卡,,方便下載
本機(jī)集成Micro SD 卡插槽,使用市面上通用的Micro SD 卡即可實(shí)現(xiàn)程序的更新和PLC 固件升級(jí),,極大地方便了客戶工程師對(duì)終用戶的服務(wù)支持,,也省去了因PLC 固件升級(jí)返廠服務(wù)的不便,。
軟件友好,編程高效
在繼承西門子編程軟件強(qiáng)大功能的基礎(chǔ)上,,融入了更多的人性化設(shè)計(jì),,如新穎的帶狀式菜單、全移動(dòng)式界面窗口,、方便的程序注釋功能,、強(qiáng)大的密碼保護(hù)等。在體驗(yàn)強(qiáng)大功能的同時(shí),,大幅提高開發(fā)效率,,縮短產(chǎn)品上市時(shí)間。
*整合,,無縫集成
SIMATIC S7-200 SMART 可編程控制器,,SIMATIC SMART LINE 觸摸屏和SINAMICSV20 變頻器*整合,為OEM 客戶帶來高性價(jià)比的小型自動(dòng)化解決方案,,滿足客戶對(duì)于人機(jī)交互,、控制、驅(qū)動(dòng)等功能的*需求,。
為了幫助您確定是在 RUN 模式還是在 STOP 模式下將程序相關(guān)變更下載至PLC,,需考量在 RUN 模式下執(zhí)行編輯時(shí)各種類型的程序變更所產(chǎn)生的影響:
● 如果刪除輸出的控制邏輯,則在下次重新上電或切換為 STOP模式之前,,輸出將始終保持為其后的狀態(tài),。
● 如果刪除在 RUN 模式下執(zhí)行編輯時(shí)已運(yùn)行的 HSC、Motion,、或 PLS 函數(shù),,則HSC、Motion,、或 PLS 函數(shù)將繼續(xù)運(yùn)行,,直至下一次上電循環(huán)或切換到 STOP模式。
● 如果在 RUN 模式下執(zhí)行編輯的過程中刪除 ATCH 或 DTCH指令卻未刪除相應(yīng)中斷例程,,則在下次重新上電或切換為 STOP模式之前,,無論何時(shí)只要發(fā)生控制事件,仍會(huì)繼續(xù)執(zhí)行中斷例程,。
● 如果添加以*掃描標(biāo)志為條件的 ATCH 指令,,則在下次重新上電或發(fā)生 STOP-toRUN模式轉(zhuǎn)換之前,CPU 不會(huì)使能相關(guān)事件,。
● 如果刪除 ENI 或 DISI 指令,,則在下次重新上電或發(fā)生 RUN-STOP模式轉(zhuǎn)換之前,激活的中斷例程仍將繼續(xù)運(yùn)行,。
● 如果在 RUN 模式下執(zhí)行編輯的過程中修改 RCV 指令表的地址,,且 RCV指令處于激活狀態(tài),,則 PLC會(huì)將接收到的數(shù)據(jù)寫入舊的表地址中。完成當(dāng)前(舊地址)接收請求之后,,PLC才會(huì)使用新地址,。由于已完成程序編輯,如果程序在新地址中查找數(shù)據(jù),,會(huì)發(fā)現(xiàn)其中不存在數(shù)據(jù),。GET 與 PUT 指令的功能類似。

若要使 CPU 從項(xiàng)目中獲取其以太網(wǎng)網(wǎng)絡(luò)端口的相關(guān)信息,,則請單擊“IP地址數(shù)據(jù)固定為下面的值,,不能通過其它方式更改”(IP address data is fixed to the values below and cannot be changed by other means) 復(fù)選框。然后便可輸入以下以太網(wǎng)信息:
● “IP 地址”(IP Address):每個(gè)設(shè)備必須有一個(gè) Internet 協(xié)議 (IP)地址,。設(shè)備使用此地址在更加復(fù)雜的路由網(wǎng)絡(luò)中傳送數(shù)據(jù),。
● “子網(wǎng)掩碼”(Subnet Mask):子網(wǎng)是已連接的網(wǎng)絡(luò)設(shè)備的邏輯分組。在局域網(wǎng) (LAN)中,,子網(wǎng)中的節(jié)點(diǎn)彼此之間的物理位置通常相對(duì)接近,。子網(wǎng)掩碼定義 IP
子網(wǎng)的邊界。子網(wǎng)掩碼 255.255.255.0 通常適用于本地網(wǎng)絡(luò),。
● “默認(rèn)網(wǎng)關(guān)”(Default Gateway):網(wǎng)關(guān)(或 IP 路由器)是 LAN 之間的鏈路。LAN中的計(jì)算機(jī)可使用網(wǎng)關(guān)向其它網(wǎng)絡(luò)發(fā)送消息,,這些網(wǎng)絡(luò)可能還隱含著其它
LAN,。如果數(shù)據(jù)的目的地不在 LAN內(nèi),網(wǎng)關(guān)會(huì)將數(shù)據(jù)轉(zhuǎn)發(fā)給可將數(shù)據(jù)傳送到其目的地的另一個(gè)網(wǎng)絡(luò)或網(wǎng)絡(luò)組,。網(wǎng)關(guān)依靠IP 地址來傳送和接收數(shù)據(jù)包,。
● “站名稱”(Station Name):站名稱是在網(wǎng)絡(luò)上定義的 CPU名稱。在“通信”(Communications) 對(duì)話框中,,請使用有助于識(shí)別 CPU 的名稱,。
可組態(tài)專門用于處理通信請求的掃描周期時(shí)間百分比。增加專門用于處理通信請求的時(shí)間百分比時(shí),,亦會(huì)增加掃描時(shí)間,,從而減慢控制過程的運(yùn)行速度。掃描時(shí)間僅在過程通信請求需要處理時(shí)增加,。專門用于處理通信請求的默認(rèn)掃描時(shí)間百分比被設(shè)為10%,。該設(shè)置在處理編譯/狀態(tài)監(jiān)控操作和盡量減小對(duì)控制過程的影響之間進(jìn)行了合理的折衷。您可以調(diào)整該設(shè)置,,每次增加 5%,,較為 50%。隨著 S7-200 SMART CPU通信伙伴的增多,,將需要更多的后臺(tái)時(shí)間來處理這些伙伴的請求,。GET 和 PUT指令需要額外資源來創(chuàng)建并保持與其它設(shè)備間的連接,。如果有 HMI 設(shè)備或其它的 CPU通過 EM DP01 與 S7-200 SMART CPU 通信,則 EM DP01 PROFIBUS DP模塊需要額外的后臺(tái)通信時(shí)間,。開放式用戶通信 (OUC) 還會(huì)給 CPU增加額外負(fù)荷,,并可能需要額外的后臺(tái)時(shí)間。
S7-200 SMART CPU 模塊本體集成1 個(gè)以太網(wǎng)接口和1 個(gè)RS485 接口,,通過擴(kuò)展CM01 信號(hào)板,,其通信端口數(shù)量多可增至3 個(gè)??蓾M足小型自動(dòng)化設(shè)備連接觸摸屏,、變頻器等第三方設(shè)備的眾多需求。
以太網(wǎng)通信
所有CPU 模塊標(biāo)配以太網(wǎng)接口,,支持西門子S7 協(xié)議,、TCP/IP 協(xié)議、有效支持多種終端連接:
可作為程序下載端口(使用普通網(wǎng)線即可)
與SMART LINE HMI 進(jìn)行通信
通過交換機(jī)與多臺(tái)以太網(wǎng)設(shè)備進(jìn)行通信,,實(shí)現(xiàn)數(shù)據(jù)的快速交互
多支持4 個(gè)設(shè)備通信
串口通信
S7-200 SMART CPU 模塊均集成1 個(gè)RS485 接口,,可以與變頻器、觸摸屏等第三方設(shè)備通信,。如果需要額外的串口,,可通過擴(kuò)展CM01 信號(hào)板來實(shí)現(xiàn),信號(hào)板支持RS232/RS485 自由轉(zhuǎn)換,,多支持4 個(gè)設(shè)備,。串口支持下列協(xié)議:
Modbus-RTU
PPI
USS
自由口通信
與上位機(jī)的通信
通過PC Access,操作人員可以輕松通過上位機(jī)讀取S7-200 SMART 的數(shù)據(jù),,從而實(shí)現(xiàn)設(shè)備監(jiān)控或者進(jìn)行數(shù)據(jù)存檔管理,。
(PC Access 是專門為S7-200 系列PLC 開發(fā)的OPC 服務(wù)器協(xié)議,專門用于小型PLC 與上位機(jī)交互的OPC 軟件)

S7-200 SMART CPU 為數(shù)字量輸入點(diǎn)提供脈沖捕捉功能,。通過脈沖捕捉功能可以捕捉高電平脈沖或低電平脈沖,。此類脈沖出現(xiàn)的時(shí)間極短,CPU在掃描周期開始讀取數(shù)字量輸入時(shí),,可能無法始終看到此類脈沖,。當(dāng)為某一輸入點(diǎn)啟用脈沖捕捉時(shí),輸入狀態(tài)的改變被鎖定,,并保持至下一次輸入循環(huán)更新,。 這樣可確保延續(xù)時(shí)間很短的脈沖被捕捉,并保持至 S7-200 SMART CPU 讀取輸入,??筛鶕?jù) CPU 型號(hào) (頁 20)單獨(dú)啟用*四個(gè)數(shù)字量輸入點(diǎn)(I0.0 至 I0.7 以及 I1.0 至I1.5)的脈沖捕捉操作。如果組態(tài)中包含 SB DT04,,則可啟用此信號(hào)板上提供的兩個(gè)附加數(shù)字量輸入點(diǎn)的脈沖捕捉操作,。