可以使用程序編輯器的變量表來(lái)分配對(duì)個(gè)別子例程或中斷例程的變量。
局部變量可用作傳遞至子例程的參數(shù),,并可用于增加子例程的移植性或重新使用子例程,。
程序中的每個(gè) POU (頁(yè) 115) 都有自身的變量表,并占 L 存儲(chǔ)器的 64 個(gè)字節(jié)(如果在LAD 或 FBD 中編程,,則占 60個(gè)字節(jié)),。借助局部變量表,可對(duì)特定范圍內(nèi)的變量進(jìn)行定義:局部變量?jī)H在創(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ò)誤,。

檢測(cè)到非致命錯(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檢測(cè)到程序違反編譯規(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è)備檢測(cè)到的其他 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ù)無(wú)效,。例如,如果程序執(zhí)行期間更改了指針,,則程序編譯時(shí)有效的間接地址指針可能會(huì)指向非法地址,。更改指針指向無(wú)效地址為運(yùn)行時(shí)間編程問題的一個(gè)示例。發(fā)生運(yùn)行時(shí)編程故障時(shí),,CPU 會(huì)將 SM4.3 置位,。SM4.3 會(huì)在 CPU 處于 RUN模式期間一直保持置位。程序可通過執(zhí)行 GET_ERROR 指令 (頁(yè) 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í)間,。
*整合,無(wú)縫集成
SIMATIC S7-200 SMART 可編程控制器,,SIMATIC SMART LINE 觸摸屏和SINAMICSV20 變頻器*整合,,為OEM 客戶帶來(lái)高性價(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模式之前,無(wú)論何時(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)前(舊地址)接收請(qǐng)求之后,PLC才會(huì)使用新地址,。由于已完成程序編輯,,如果程序在新地址中查找數(shù)據(jù),會(huì)發(fā)現(xiàn)其中不存在數(shù)據(jù),。GET 與 PUT 指令的功能類似,。

若要使 CPU 從項(xiàng)目中獲取其以太網(wǎng)網(wǎng)絡(luò)端口的相關(guān)信息,則請(qǐng)單擊“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 地址來(lái)傳送和接收數(shù)據(jù)包。
● “站名稱”(Station Name):站名稱是在網(wǎng)絡(luò)上定義的 CPU名稱,。在“通信”(Communications) 對(duì)話框中,,請(qǐng)使用有助于識(shí)別 CPU 的名稱。
可組態(tài)專門用于處理通信請(qǐng)求的掃描周期時(shí)間百分比,。增加專門用于處理通信請(qǐng)求的時(shí)間百分比時(shí),,亦會(huì)增加掃描時(shí)間,,從而減慢控制過程的運(yùn)行速度。掃描時(shí)間僅在過程通信請(qǐng)求需要處理時(shí)增加,。專門用于處理通信請(qǐng)求的默認(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í)間來(lái)處理這些伙伴的請(qǐng)求,。GET 和 PUT指令需要額外資源來(lái)創(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)板來(lái)實(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í),,可能無(wú)法始終看到此類脈沖。當(dāng)為某一輸入點(diǎn)啟用脈沖捕捉時(shí),,輸入狀態(tài)的改變被鎖定,,并保持至下一次輸入循環(huán)更新。 這樣可確保延續(xù)時(shí)間很短的脈沖被捕捉,,并保持至 S7-200 SMART CPU 讀取輸入,。可根據(jù) CPU 型號(hào) (頁(yè) 20)單獨(dú)啟用*四個(gè)數(shù)字量輸入點(diǎn)(I0.0 至 I0.7 以及 I1.0 至I1.5)的脈沖捕捉操作,。如果組態(tài)中包含 SB DT04,,則可啟用此信號(hào)板上提供的兩個(gè)附加數(shù)字量輸入點(diǎn)的脈沖捕捉操作。