6ES7334-0CE01-0AA0

SIMATIC S7-SCL FOR S7-300/400
啟動(dòng)S7-SCL軟件
Starting the S7-SCL Software
從Windows界面啟動(dòng)(Starting from the Windows Interface)
一旦在編程設(shè)備或PC中安裝了S7-SCL軟件,就能夠使用在Windows工具條的啟動(dòng)按鈕(在“SIMATIC/STEP7”組)啟動(dòng)S7-SCL。
從SIMATIC管理器啟動(dòng)(Starting from the SIMATIC Manager)
啟動(dòng)S7-SCL較快的方法是在SIMATIC管理器中將鼠標(biāo)定位在一個(gè)S7-SCL源文件上雙擊它。
用戶界面
User Interface
S7-SCL窗口有以下標(biāo)準(zhǔn)組件:

1. 標(biāo)題欄(Title bar):
包含窗口標(biāo)題和窗口控制鈕。
2. 菜單欄(Menu bar):
顯示所有打開的窗口可用的菜單項(xiàng)。
3. 工具條(Toolbar):
包含經(jīng)常使用的命令的按鈕。
4. 工作區(qū)(Working area):
包含一個(gè)或多個(gè)窗口,在其中能夠編輯程序文本或讀到編譯信息或調(diào)試數(shù)據(jù)。
5. 狀態(tài)條(Status bar):
顯示關(guān)于當(dāng)前項(xiàng)目的狀態(tài)和其他信息。
定制用戶界面
Customizing the User Interface
定制編輯器(Customizing the Editor)
要設(shè)置編輯器,選擇菜單命令選項(xiàng)(Options) > 定制(Customize),在“定制(Customize)”對(duì)話框中點(diǎn)擊“編輯器(Editor)”標(biāo)簽。此卡片內(nèi),能夠進(jìn)行下列設(shè)定:
在“編輯”卡片中的或選項(xiàng) 說明
字體 全部源文本的字體
制表長度 制表符的列數(shù)
顯示行數(shù) 從起始行開始顯示的行數(shù)
編譯前保存 編譯前,詢問是否要保存源文件
保存前的確認(rèn) 詢問保存前是否確認(rèn)
更改式樣和顏色(Adapting the Style and Color)
要更改各種語言符號(hào)的字體和顏色,選擇菜單命令,在“定制(Customize)”對(duì)話框中點(diǎn)擊“格式(Format)”標(biāo)簽。在這,能夠進(jìn)行如下設(shè)置:
在“格式(Format)”卡片中的選項(xiàng) 說明
用大寫字母的關(guān)鍵字 當(dāng)編寫程序時(shí),將S7-SCL關(guān)鍵字,如FOR、WHILE、UNCTION_BLOCK、
VAR或VAR_END格式化為大寫字符。
縮排關(guān)鍵字 編寫程序時(shí),在聲明部分和控制語句IF、CASE、WHILE和REPEAT中進(jìn)行
縮排。
自動(dòng)縮排 結(jié)束一行后,新行自動(dòng)用前一行同樣數(shù)量(空格)縮排。此設(shè)置僅
用于新行。
式樣/顏色 能夠選擇各種語言元素的字體和顏色。
當(dāng)在“格式(Format)”卡片中選擇了“使用以下格式(Use following formats)”選項(xiàng)時(shí),此卡片中的設(shè)置才有效。
工具條、斷點(diǎn)條、狀態(tài)條(Toolbar, Breakpoint Bar, Status Bar)能夠分別打開和關(guān)閉工具條、斷點(diǎn)條和狀態(tài)條的顯示。簡單選中和去選在視圖(View)菜單中專有的命令即可。此功能激活時(shí),在命令項(xiàng)前出現(xiàn)一個(gè)檢查標(biāo)志。
“錯(cuò)誤和警告”窗口("Errors and warnings" window)
編譯源文件時(shí),在“錯(cuò)誤和警告”窗口列出了出錯(cuò)和警告信息。使用菜單命令視圖(View) >錯(cuò)誤和警告(Errors and warnings)能夠激活和禁止它。
創(chuàng)建一個(gè)新的S7-SCL源文件
Creating a New S7-SCL Source File
在能夠編寫S7-SCL程序前,首先必須建立一個(gè)新的S7-SCL源文件。建立源文件是在S7程序的源文件夾里進(jìn)行的。
在SIMATIC管理器中S7程序的結(jié)構(gòu)(Structure of an S7 Program in the SIMATIC Manager)
在S7-SCL中建立的源文件集成到了S7程序結(jié)構(gòu)中,如下:
步驟大致如下(Follow the steps outlined below):
1. 用下列方法打開"新建(New)"對(duì)話框:
?? 在工具條上點(diǎn)擊"新建(New)"按鈕或
?? 在選擇菜單命令文件(File) > 新建(New)。
2. 在“新建(New)”對(duì)話框中,選擇
?? 一個(gè)項(xiàng)目(A project)
?? 對(duì)象類型設(shè)置為"S7-SCL源文件"以及
?? 在S7程序的源文件夾中
3. 在文本框中輸入源文件對(duì)象的名稱[文件名]。名字最多24個(gè)字符長。
4. “確定”。
源文件按照所選名稱建立起來了,并顯示在窗口中,能夠用它繼續(xù)工作。
注(Note)
也能夠用SIMATIC管理器通過選擇源文件夾和菜單命令插入(Insert)> S7軟件(S7 Software) > SCL源文件(SCL Source File)建立S7-SCL源文件。
打開一個(gè)S7-SCL源文件
Opening an S7-SCL Source File
打開一個(gè)S7-SCL源文件,以便編譯或編輯它。
大致步驟如下(Follow the steps outlined below):
1. 如下方法打開"打開(Open)"對(duì)話框:
?? 在工具條上點(diǎn)擊"打開(Open)"或
?? 選擇菜單命令文件(File) > 打開(Open)。
2. 對(duì)話框打開后,選擇以下內(nèi)容:
?? 所要求的項(xiàng)目
?? 所要求的S7程序
?? 相應(yīng)的源文件夾
3. 選擇S7-SCL源文件。
4. 點(diǎn)擊"確認(rèn)"。
注(Note)
也能夠在SIMATIC管理器中通過雙擊其圖標(biāo)或在對(duì)象已經(jīng)選中時(shí)用菜
單命令編輯(Edit) > 打開對(duì)象(Open Object)來打開一個(gè)S7-SCL源文
件。
關(guān)閉一個(gè)S7-SCL源文件
Closing an S7-SCL Source File
大致步驟如下(Follow the steps outlined below):
?? 選擇菜單文件(File) > 關(guān)閉(Close)。
?? 在窗口的標(biāo)題欄上點(diǎn)擊“關(guān)閉”符號(hào)[x]。
注(Note)
如果你改動(dòng)了源文件,會(huì)詢問你是否在關(guān)閉文件前保存,如果不保
存,改動(dòng)內(nèi)容會(huì)丟失。
打開塊
Opening Blocks
在S7-SCL應(yīng)用程序中不可能打開塊,總是打開相應(yīng)的源文件。然而,用S7-SCL建立的塊能夠用LAD/STL/FBD編輯器打開和顯示,并用STL編程語言編輯。不要用STL形式對(duì)塊作任何修改,理由如下:
?? 顯示的MC7命令不一定表示有效的STL塊。
改動(dòng)用STL編譯器正確的程序要求對(duì)STL和SCL都很精通。
用STL編譯的塊中有STL語言元素,不再是S7-SCL標(biāo)識(shí)符
S7-SCL源文件和MC7代碼不再*。
STEP 7的在線幫助中有更多有用信息。
注(Note)
在S7-SCL源文件中改動(dòng)來維護(hù)CPU程序更容易,重新編譯即可。
對(duì)象屬性
Specifying Object Properties
通過塊屬性的賦值來對(duì)象屬性。能夠在“屬性(Properties)”對(duì)話框中選擇S7-SCL源文件的屬性(如:作者)。
大致步驟如下(Follow the steps outlined below):
1. 選擇菜單命令文件(File) > 屬性(Properties)。
2. 在“屬性(Properties)”對(duì)話框中輸入要求的選項(xiàng)。
3. "確認(rèn)"。
用標(biāo)準(zhǔn)編輯器創(chuàng)建SCL源文件
Creating SCL Source Files with a
Standard Editor
也能夠用標(biāo)準(zhǔn)ASCII編輯器來編輯S7-SCL源文件。如果選用此方法,不能使用S7-SCL的強(qiáng)大編輯功能和集成的在線幫助。
一旦建立和保存源文件,必須用SIMATIC管理器導(dǎo)入到S7程序的源文件夾中(參見STEP 7資料)。接著就能夠在S7-SCL中打開源文件并繼續(xù)工作或編譯。
塊保護(hù)
Block Protection
在源程序中編者按制塊時(shí),能夠通過KNOW_HOW_PROTECT屬性來保護(hù)塊.
塊保護(hù)的結(jié)果(Result of Block Protection)
用增量STL編輯器打開編譯好的塊時(shí),塊的語句是隱藏的。
?? 在塊的聲明部分,只有顯示VAR_IN, VAR_OUT和VAR_IN_OUT類型的變量,而在聲明域VAR和VAR_TEMP保持
隱藏。
使用塊保護(hù)的規(guī)則(Rules for Using Block Protection)
?? 關(guān)鍵字是KNOW_HOW_PROTECT。在的有塊屬性之前輸入。
?? 用此方法保護(hù)OBs, FBs, FCs, 和DBs。
S7-SCL源文件通用規(guī)則
General Rules for S7-SCL Source Files
S7-SCL源文件必須遵照以下規(guī)則:
?? 能夠在S7-SCL源文件中編輯任意數(shù)量的邏輯塊(FB, FC, OB)、數(shù)據(jù)塊(DB)、和用戶定義數(shù)據(jù)類型(UDT)。
?? 每個(gè)塊均有*的結(jié)構(gòu)。
?? 每個(gè)語句和變量聲明均用分號(hào)(;)結(jié)束。
?? 大小寫無區(qū)別。
?? 注釋僅為程序的說明資料,不影響程序的運(yùn)行。
?? 當(dāng)調(diào)用功能塊時(shí),自動(dòng)建立實(shí)例數(shù)據(jù)塊,無需編輯。
?? DB0有特殊用途,不能用此號(hào)碼建立數(shù)據(jù)塊。
塊的次序
Order of the Blocks
建立S7-SCL源文件時(shí),記住以下規(guī)則左右著塊的次序:
?? 被調(diào)用的塊必須在調(diào)用它的塊之前出現(xiàn)。
?? 用戶定義數(shù)據(jù)類型(UDT)必須在使用它的塊之前出現(xiàn)。
?? 到用戶數(shù)據(jù)類型的數(shù)據(jù)塊必須在相應(yīng)UDT之后。
?? 共享的數(shù)據(jù)塊應(yīng)在所有存取其的塊之前
使用符號(hào)地址
Using Symbolic Addresses
在一個(gè)S7-SCL程序中,使用地址工作,如I/O信號(hào)、內(nèi)存位、計(jì)數(shù)器、定時(shí)器和塊等。能夠使
用地址方式(如 I1.1, M2.0, FB11)在程序中對(duì)這些元素尋址,然而如果使用符號(hào)(如
Motor_ON)S7-SCL源文件更易讀。使用符號(hào)能夠在用戶程序中存取地址。
本地的和共享的符號(hào)(Local and Shared Symbols)
?? 對(duì)CPU內(nèi)存區(qū)域和塊標(biāo)識(shí)符采用共享符號(hào)。它們?yōu)檎麄€(gè)應(yīng)用程序扎接受,且必須是的標(biāo)識(shí)符。能夠用
STEP 7 建立符號(hào)表。
?? 本地符號(hào)只在定義它們的塊內(nèi)可見,能夠?yàn)樽兞?、參?shù)、常量和跳轉(zhuǎn)達(dá)標(biāo)號(hào)名字,且能夠在不同的
塊為不同的用途用同一個(gè)名字。
注(Note)
確信符號(hào)名是的且不與任何關(guān)鍵字一樣。
取消最后的編輯操作
Undoing the Last Editing Action
用菜單命令Edit > Undo,能夠 撤消一個(gè)或幾個(gè)步驟。
不能夠撤消所有的活動(dòng),例如,菜單命令不能被撤消。
恢復(fù)編輯操作
Redoing an Editing Action
取消一個(gè)或幾個(gè)操作后,能夠用菜單命令編輯(Edit) > 重做(Redo)恢復(fù)操作步驟。
查找和替換文本對(duì)象
Finding and Replacing Text Objects
如果要編輯或修改一個(gè)S7-SCL源文件,能夠通過查找和替換文本對(duì)象來節(jié)省寶貴的時(shí)間。例
如,能夠查找關(guān)鍵字、標(biāo)識(shí)符、符號(hào)標(biāo)識(shí)符等。
大致步驟如下(Follow the steps outlined below):
1. 選擇菜單命令編輯(Edit) > 查找和替換(Find and Replace)....
2. 在“查找和替換"Find and Replace"對(duì)話框中輸入內(nèi)容。
3. 如下開始搜索:
?? 點(diǎn)擊"查找(Find)"按鈕找出文本對(duì)象并標(biāo)記或
?? 點(diǎn)擊"替換(Replace)"或"替換所有的(Replace All)"按鈕,找到文本并用輸入在"用…替換
(Replace with)"文本框中的內(nèi)容替換。
選擇文本對(duì)象
Selecting Text Objects
按下鼠標(biāo)鍵并拖動(dòng)鼠標(biāo)指針滑過要選擇的文本區(qū)域能夠選擇文本對(duì)象。
也能夠:
?? 通過選擇菜單命令編輯(Edit) > 選擇所有的(Select All),來選擇全部源文本。
?? 在其上雙擊鼠標(biāo)選擇一個(gè)字。
?? 點(diǎn)擊行左邊緣選擇整個(gè)行。
用菜單命令編輯(Edit) > 取消選擇(Undo Selection),能夠取消選擇。
拷貝文本對(duì)象
Copying Text Objects
1. 選中要拷貝的文本對(duì)象。
2. 如下拷貝對(duì)象:
?? 在工具條上點(diǎn)擊"拷貝(Copy)"按鈕或
?? 選擇菜單命令編輯(Edit) > 拷貝(Copy)。
3. 將光標(biāo)定位到要粘貼此對(duì)象的地方(同文件或不同應(yīng)用程序文件中)。
4. 如下粘貼對(duì)象:
?? 在工具條上點(diǎn)擊"粘貼(Paste)"按鈕或
?? 選擇菜單命令編輯(Edit) > 粘貼(Paste)。
剪切文本對(duì)象
Cutting Text Objects
用此功能,能夠?qū)⑦x擇的文本放置到剪貼板上。通常,此菜單命令結(jié)合菜單命令編輯(Edit)> 粘貼(Paste)一起使用,用來在當(dāng)前光標(biāo)位置插入剪貼板上的內(nèi)容。
大致步驟如下(Follow the steps outlined below):
1. 選擇要剪切的對(duì)象。
2. 如下剪切對(duì)象:
?? 在工具條上點(diǎn)擊"剪切(Cut)"按鈕或
?? 選擇菜單命令編輯(Edit) > 剪切(Cut)。
注(Note)
?? 如果菜單命令編輯(Edit) > 剪切(Cut)沒有激活(灰色背景),選擇的對(duì)象不能剪切。
?? 使用菜單命令,能夠在任何位置(同一文件或不同應(yīng)用程序中)插入此文本。
?? 剪貼板上的內(nèi)容在下次使用菜單命令編輯(Edit) > 剪切(Cut)或編輯(Edit) > 拷貝(Copy)前一
直保留。
刪除文本對(duì)象
Deleting Text Objects
能夠從源文本中刪除選中的文本對(duì)象。
大致步驟如下(Follow the steps outlined below):
1. 選中要?jiǎng)h除的文本。
2. 選擇菜單命令編輯(Edit) > 刪除(Delete)。
刪除的文本沒有拷入剪貼板。刪除的對(duì)象能夠用菜單命令編輯(Edit) > 取消(Undo)或編輯(Edit) > 恢復(fù)(Redo)來恢復(fù)。
將光標(biāo)定位到行
Positioning the Cursor in a Specific Line
用下列功能,能夠?qū)⒐鈽?biāo)定位到特定位置。
定位到特定行號(hào)(Positioning in a specific line-number)
能夠?qū)⒐鈽?biāo)定位到特定行的開始處:
1. 選擇菜單命令編輯(Edit) > 到某行(Go To Line)。
?? "Go To"對(duì)話框打開。
2. 在“Go To”對(duì)話框中輸入行號(hào)。
3. "確認(rèn)"。
定位光標(biāo)到下一個(gè)/前一個(gè)書簽位置(Positioning on the next/previous bookmark)
如果在源文件中設(shè)置了書簽,能夠在他們間瀏覽:
?? 選擇菜單命令編輯(Edit) > 到……(Go To) > 下一個(gè)書簽/前一個(gè)書簽(Next Bookmark / Previous
Bookmark)。
定位光標(biāo)到下一個(gè)/前一個(gè)程序代碼中的出錯(cuò)位置(Positioning on the next/previous
error in the program code)
編輯之后,所有語法錯(cuò)誤均通過指明行列號(hào)顯示在“錯(cuò)誤和警告(Errors and warnings)”窗
口。
S7-SCL提供在程序中各個(gè)出錯(cuò)位置間瀏覽的可能,以便所有匯集起來的錯(cuò)誤能夠依次被處
理。
1. 將光標(biāo)定位在源文本中的任意位置。
選擇菜單命令編輯(Edit) > 到……(Go To) > 下一個(gè)錯(cuò)誤/前一個(gè)錯(cuò)誤(Next Error /
Previous Error)。
設(shè)置字體和顏色
Setting the Font Style and Color
顏色 語言元素 舉例
藍(lán)色 關(guān)鍵字 ORGANIZATION_BLOCK
預(yù)定義數(shù)據(jù)類型 INT
預(yù)定義標(biāo)識(shí)符 ENO
標(biāo)準(zhǔn)函數(shù) BOOL_TO_WORD
黃褐色 運(yùn)算符 NOT
粉紅色 常量 TRUE
藍(lán)綠色 注釋 //...或(*...*)
紫色 在引號(hào)里和公共符號(hào)(符號(hào)表) "Motor"
黑色 正常文本 Variables
大致步驟如下(Follow the steps outlined below):
1. 選擇選項(xiàng)(Options) > 自定義(Customize)菜單命令。
2. 在顯示的對(duì)話框選擇"格式(Format)"卡。
3. 確信選項(xiàng)"使用下列打印格式(Use following formats for printing):"被激活。
4. 現(xiàn)在能夠進(jìn)行要求的設(shè)定。打開對(duì)話框后,點(diǎn)擊“幫助(Help)”能夠顯示關(guān)于對(duì)話框的詳細(xì)信息。
按語法調(diào)整行縮進(jìn)
Syntactically Correct Indenting of Lines
下列功能允許你通過縮進(jìn)行來構(gòu)造S7-SCL源文件:
?? 自動(dòng)縮進(jìn)(Automatic indent)
此功能激活后,接下來的新行則自動(dòng)用與前行一樣的空格縮進(jìn)。
?? 縮進(jìn)關(guān)鍵字(Indenting keywords)
此功能激活后,在聲明部分和控制結(jié)構(gòu)IF, CASE, FOR, WHILE和REPEAT均會(huì)縮進(jìn)。
大致步驟如下(Follow the steps outlined below):
1. 選擇選項(xiàng)(Options) > 自定義(Customize)菜單命令。
2. 在顯示的對(duì)話框中選擇"格式(Format)"卡。
3. 確信選項(xiàng)"使用下列格式(Use following formats)"被激活。
4. 激活選項(xiàng)"自動(dòng)縮進(jìn)(Indent automatically)"或"縮進(jìn)關(guān)鍵字"。
在源文本中放置書簽
Placing Bookmarks In The Source Text
現(xiàn)在能夠在源文件中用書簽快速瀏覽了。如,為了在源文件中各點(diǎn)處進(jìn)行有效的修訂,書簽
非常有用。
能夠在源文件中任意點(diǎn)處插入書簽。如果有幾個(gè)書簽,就能夠在各個(gè)書簽間前后瀏覽。
合法性(Validity)
打開源文件書簽就有效。他們不存貯在源文件中。
插入書簽(Inserting bookmarks)
1. 將光標(biāo)定位在要標(biāo)識(shí)的行處。
2. 選擇菜單命令編輯(Edit) > 書簽開/關(guān)(Bookmarks On/Off)。
在書簽間瀏覽(Navigating between the bookmarks)
選擇菜單命令編輯(Edit) > 到……(Go To) > 下一個(gè)書簽/前一個(gè)書簽(Next Bookmark /
Previous Bookmark)。
刪除書簽(Deleting bookmarks)
選擇菜單命令編輯(Edit) > 刪除所有書簽(Delete All Bookmarks)。
注(Note)
通過書簽塊使用書簽才能快速進(jìn)行所要求的功能。通過菜單命令視圖
(View) > 書簽塊(Bookmark Bar),來顯示書簽塊。
插入塊模板
Inserting Block Templates
一個(gè)S7-SCL的編輯功能允許你插入OB、FB、FCs、實(shí)例DB、DB、參照UDT的DB和UDT。使用塊模板使得編程更容易且符合語法要求。
大致步驟如下(Follow the steps outlined below):
1. 將光標(biāo)定位在要插入塊模板處。
2. 選擇菜單命令插入Insert > 塊模板Block Template > OB/FB/FC/DB/IDB/DB Referencing UDT/UDT。
插入塊調(diào)用
Inserting Block Calls
S7-SCL支持可編程塊調(diào)用。能夠調(diào)用以下塊:
?? 從SIMATIC庫中調(diào)用系統(tǒng)功能塊(SFB)和系統(tǒng)函數(shù)(SFC),
?? 用SCL創(chuàng)建的功能塊和函數(shù),
?? 用STEP 7其他語言創(chuàng)建的功能塊和函數(shù)。
大致步驟如下(Follow the steps outlined below):
1. 選擇插入(Insert) > 塊調(diào)用(Block Call)菜單命令。
2. 在對(duì)話框中選擇要求的SFC, SFB, FC,或FB,且"確認(rèn)"。
S7-SCL自動(dòng)拷貝調(diào)用的塊到S7程序中,且輸入塊調(diào)用和塊的正確語法的形式參數(shù)到源文件中。
3. 如果調(diào)用功能塊,加入關(guān)于實(shí)例DB的信息。
4. 輸入塊要求的實(shí)際參數(shù)。為助你選擇實(shí)際參數(shù),S7-SCL以注釋指示要求的數(shù)據(jù)類型。
插入注釋模板
Inserting Templates for Comments
S7-SCL的編輯功能允許插入注釋模板。使用這些模板使得輸入信息更容易,且符合語法要
求。
大致步驟如下(Follow the steps outlined below):
1. 將光標(biāo)定位在要求的塊頭之后。
2. 選擇菜單命令插入(Insert) > 塊模板(Block Template) > 注釋(Comment)。
插入?yún)?shù)模板
Inserting Parameter Templates
一個(gè)S7-SCL的編輯功能允許插入?yún)?shù)聲明的模板。使用塊模板使得編程更容易且符合語法要
求。能夠在功能塊和函數(shù)中聲明參數(shù)。
大致步驟如下(Follow the steps outlined below):
1. 將光標(biāo)定位到FB或FC的聲明部分。
2. 選擇菜單命令插入Insert > 塊模板Block Template > 參數(shù)Parameter。
插入控制結(jié)構(gòu)
Inserting Control Structures
S7-SCL的編輯功能允許插入控制結(jié)構(gòu)模板。使用塊模板使得 輸入信息更容易且符合語法要
求。
大致步驟如下(Follow the steps outlined below):
1. 將光標(biāo)定位在要插入模板處。
2. 選擇菜單命令插入(Insert) > 控制結(jié)構(gòu)(Control Structure) > IF/CASE/FOR/WHILE/REPEAT.
關(guān)于編譯應(yīng)明白什么
What You Should Know About Compiling
在運(yùn)行或測試程序前,必須先編譯它。一旦你啟動(dòng)編譯,編譯器則自動(dòng)啟動(dòng)。編譯器有下列
特性:
?? 能夠在匯編集中編譯全部S7-SCL源文件,或編譯在源文件中的選擇的各個(gè)塊。
?? 編譯器找出的所有語法錯(cuò)誤均顯示在一個(gè)窗口中。
?? 每次調(diào)用功能塊,如未已存在則建立相應(yīng)的實(shí)例數(shù)據(jù)塊。
?? 也能夠編譯通過建立一個(gè)S7-SCL編譯控制文件合在一起的幾個(gè)S7-SCL源文件。
?? 使用選項(xiàng)(Options) > 自定義(Customize)菜單命令,能夠設(shè)置編譯器的選項(xiàng)。
一旦正確創(chuàng)建用戶程序且被編譯,就認(rèn)為程序是正確的。然而當(dāng)程序在PLC中運(yùn)行還是會(huì)出現(xiàn)
問題。使用SCL的調(diào)試功能找出此類錯(cuò)誤。
自定義編譯器
Customizing the Compiler
1. 選擇菜單命令選項(xiàng)(Options) > 自定義(Customize)來打開"自定義Customize"對(duì)話框。
2. 選擇"編譯器(Compiler)"卡或"建立塊(Create Block)"卡。
3. 在此卡輸入要求的選項(xiàng)。
在"編譯器(Compiler)"卡中的選項(xiàng)(Options in the "Compiler" tab)
在"建立塊(Create Block)"卡中的選項(xiàng)(Options in the "Create Block" tab)
建立目標(biāo)代碼 此選項(xiàng),決定是否建立可執(zhí)行代碼。無此選項(xiàng)編譯只簡
單進(jìn)行語法檢查。
優(yōu)化目標(biāo)代碼 選擇此項(xiàng),優(yōu)化塊對(duì)內(nèi)存的要求和在PLC中的運(yùn)行。讓此選項(xiàng)選中是可取的,因?yàn)閮?yōu)化對(duì)塊性能并無不便處。
監(jiān)視數(shù)組限制 如果此項(xiàng),在S7程序運(yùn)行時(shí)根據(jù)ARRAY數(shù)組的聲明檢查確定數(shù)組索引是否在允許的范圍內(nèi)。如果超出允許的范圍,OK標(biāo)志置為FALSE。
建立調(diào)試信息 此選項(xiàng)允許在已經(jīng)編譯程序并下載到CPU之后,用調(diào)試器進(jìn)行測試。然而,此選項(xiàng)增加了程序和運(yùn)行時(shí)對(duì)內(nèi)存的要求。
設(shè)置OK標(biāo)志 此選項(xiàng)允許在S7-SCL源文件中查詢OK標(biāo)志。
允許嵌套注釋 如果你要在S7-SCL源文件中嵌套注釋到另一個(gè)注釋中,則選擇此選項(xiàng)。
最大串長度 在這,能夠減少串?dāng)?shù)據(jù)類型的標(biāo)準(zhǔn)長度。默認(rèn)是254個(gè)字符。此設(shè)置影響所有作為函數(shù)值的輸出和輸入/輸出參數(shù)。記住設(shè)置的值必須不小于在程序中實(shí)際串變量。
覆蓋塊 如果在編譯期間建立了有相同標(biāo)識(shí)符的塊,則覆蓋在S7程序的“塊”文件夾中已經(jīng)存在的塊。當(dāng)下載塊時(shí),在目標(biāo)系統(tǒng)中已經(jīng)存在同名的塊也將被覆蓋。如果不選擇此項(xiàng),則塊在覆蓋前將提示你以得到確認(rèn)。
顯示警告 決定是否也將警告信息顯示附加在編譯的錯(cuò)誤信息之后。
警告前顯示錯(cuò)誤 在顯示窗口中警告信息前有一個(gè)錯(cuò)誤列表。
生成參考數(shù)據(jù) 如果要在建立塊時(shí)自動(dòng)生成參考數(shù)據(jù),選擇此項(xiàng)。用菜單命令選項(xiàng)(Options) > 參考數(shù)據(jù)(Reference Data),也能夠以后生成或修訂參考數(shù)據(jù)。
包含系統(tǒng)屬性 如果在建立塊時(shí),要將"S7 server" 參數(shù)的系統(tǒng)屬性放入報(bào)告中,則選擇此項(xiàng)。當(dāng)參數(shù)與連接的構(gòu)造和信息有關(guān)時(shí)則應(yīng)此屬性。它包含了連接或信息編號(hào)。此選項(xiàng)增加所需的編譯時(shí)間。

什么是影響PLC控制系統(tǒng)的干擾源
影響PLC控制系統(tǒng)的干擾源于一般影響工業(yè)控制設(shè)備的干擾源一樣,大都產(chǎn)生在電流或電壓劇烈變化的部位,這些電荷劇烈移動(dòng)的部位就是噪聲源,即干擾源。
干擾類型通常按干擾產(chǎn)生的原因、噪聲的干擾模式和噪聲的波形性質(zhì)的不同劃分。其中:按噪聲產(chǎn)生的原因不同,分為放電噪聲、浪涌噪聲、高頻振蕩噪聲等;按噪聲的波形、性質(zhì)不同,分為持續(xù)噪聲、偶發(fā)噪聲等;按聲音干擾模式不同,分為共模干擾和差模干擾。共模干擾和差模干擾是一種比較常用的分類方法。共模干擾是信號(hào)對(duì)地面的電位差,主要由電網(wǎng)串入、地電位差及空間電磁輻射在信號(hào)線上感應(yīng)的共態(tài)(同方向)電壓送加所形成。共模電壓有時(shí)較大,特別是采用隔離性能差的電器供電室,變送器輸出信號(hào)的共模電壓普遍較高,有的可高達(dá)130V以上。共模電壓通過不對(duì)稱電路可轉(zhuǎn)換成差模電壓,直接影響測控信號(hào),造成元器件損壞(這就是一些系統(tǒng)I/O模件損壞率較高的原因),這種共模干擾可為直流、亦可為交流。差模干擾是指用于信號(hào)兩極間得干擾電壓,主要由空間電磁場在信號(hào)間耦合感應(yīng)及由不平衡電路轉(zhuǎn)換共模干擾所形成的電壓,這種讓直接疊加在信號(hào)上,直接影響測量與控制精度。

PLC控制系統(tǒng)中電磁干擾的主要來源有哪些
(1)來自空間的輻射干擾
空間的輻射電磁場(EMI)主要是由電力網(wǎng)絡(luò)、電氣設(shè)備的暫態(tài)過程、雷電、無線電廣播、電視、雷達(dá)、高頻感應(yīng)加熱設(shè)備等產(chǎn)生的,通常稱為輻射干擾,其分布極為復(fù)雜。若PLC系統(tǒng)置于所射頻場內(nèi),就回收到輻射干擾,其影響主要通過兩條路徑;一是直接對(duì)PLC內(nèi)部的輻射,由電路感應(yīng)產(chǎn)生干擾;而是對(duì)PLC通信內(nèi)網(wǎng)絡(luò)的輻射,由通信線路的感應(yīng)引入干擾。輻射干擾與現(xiàn)場設(shè)備布置及設(shè)備所產(chǎn)生的電磁場大小,特別是頻率有關(guān),一般通過設(shè)置屏蔽電纜和PLC局部屏蔽及高壓泄放元件進(jìn)行保護(hù)。
(2)來自系統(tǒng)外引線的干擾
主要通過電源和信號(hào)線引入,通常稱為傳導(dǎo)干擾。這種干擾在我國工業(yè)現(xiàn)場較嚴(yán)重。
(3)來自電源的干擾
實(shí)踐證明,因電源引入的干擾造成PLC控制系統(tǒng)故障的情況很多,筆者在某工程調(diào)試中遇到過,后更換隔離性能更高的PLC電源,問題才得到解決。
PLC系統(tǒng)的正常供電電源均由電網(wǎng)供電。由于電網(wǎng)覆蓋范圍廣,將受到所有空間電磁干擾而在線路上感應(yīng)電壓和電路。尤其是電網(wǎng)內(nèi)部的變化,入開關(guān)操作浪涌、大型電力設(shè)備起停、交直流轉(zhuǎn)動(dòng)裝置引起的諧波、電網(wǎng)短路暫態(tài)沖擊等,都通過輸電線路到電源邊。PLC電源通常采用隔離電源,但其機(jī)構(gòu)及制造工藝因素使其隔離性并不理想。實(shí)際上,由于分布參數(shù)特別是分布電容的存在,隔離是不可能的。
(4)來自信號(hào)線引入的干擾
與PLC控制系統(tǒng)連接的各類信號(hào)傳輸線,除了傳輸有效的各類信號(hào)之外,總會(huì)有外部干擾信號(hào)侵入。此干擾主要有兩種途徑:一是通過變送器或共用信號(hào)儀表的供電電源串入的電網(wǎng)干擾,這往往被忽略;二是信號(hào)線受空間電磁輻射感應(yīng)的干擾,即信號(hào)線上的外部感應(yīng)干擾,這是很嚴(yán)重的。由信號(hào)引入干擾會(huì)引起I/O信號(hào)工作異常和測量精度大大降低,嚴(yán)重時(shí)將引起元器件損傷。對(duì)于隔離性能差的系統(tǒng),還將導(dǎo)致信號(hào)間互相干擾,引起共地系統(tǒng)總線回流,造成邏輯數(shù)據(jù)變化、誤動(dòng)和死機(jī)。PLC控制系統(tǒng)因信號(hào)引入干擾造成I/O模件損壞數(shù)相當(dāng)嚴(yán)重,由此引起系統(tǒng)故障的情況也很多。
?。?)來自接地系統(tǒng)混亂時(shí)的干擾
接地是提高電子設(shè)備電磁兼容性(EMC)的有效手段之一。正確的接地,既能抑制電磁干擾的影響,又能抑制設(shè)備向外發(fā)出干擾;而錯(cuò)誤的接地,反而會(huì)引入嚴(yán)重的干擾信號(hào),使PLC系統(tǒng)將無法正常工作。PLC控制系統(tǒng)的地線包括系統(tǒng)地、屏蔽地、交流地和保護(hù)地等。接地系統(tǒng)混亂對(duì)PLC系統(tǒng)的干擾主要是各個(gè)接地點(diǎn)電位分布不均,不同接地點(diǎn)間存在地電位差,引起地環(huán)路電流,影響系統(tǒng)正常工作。例如電纜屏蔽層必須一點(diǎn)接地,如果電纜屏蔽層兩端A、B都接地,就存在地電位差,有電流流過屏蔽層,當(dāng)發(fā)生異常狀態(tài)加雷擊時(shí),地線電流將更大。
此外,屏蔽層、接地線和大地有可能構(gòu)成閉合環(huán)路,在變化磁場的作用下,屏蔽層內(nèi)有會(huì)出現(xiàn)感應(yīng)電流,通過屏蔽層與芯線之間的耦合,干擾信號(hào)回路。若系統(tǒng)地與其它接地處理混亂,所產(chǎn)生的地環(huán)流可能在地線上產(chǎn)生不等電位分布,影響PLC內(nèi)邏輯電路和模擬電路的正常工作。PLC工作的邏輯電壓干擾容限較低,邏輯地電位的分布干擾容易影響PLC的邏輯運(yùn)算和數(shù)據(jù)存儲(chǔ),造成數(shù)據(jù)混亂、程序跑飛或死機(jī)。模擬地電位的分布將導(dǎo)致測量精度下降,引起對(duì)信號(hào)測控的嚴(yán)重失真和誤動(dòng)作。
(6)來自PLC系統(tǒng)內(nèi)部的干擾
主要由系統(tǒng)內(nèi)部元器件及電路間的相互電磁輻射產(chǎn)生,如邏輯電路
互輻射及其對(duì)模擬電路的影響,模擬地與邏輯地的相互影響及元器件間的相互不匹配使用等。這都屬于PLC制造廠對(duì)系統(tǒng)內(nèi)部進(jìn)行電磁兼容設(shè)計(jì)的內(nèi)容,比較復(fù)雜,作為應(yīng)用部門是無法改變,可不多考慮,但要選擇具有較多應(yīng)用實(shí)績或經(jīng)過考驗(yàn)的系統(tǒng)。

6ES7334-0CE01-0AA0