參考價(jià): | 面議 |
- 齊全 產(chǎn)品型號(hào)
- 品牌
- 代理商 廠商性質(zhì)
- 上海 所在地
訪問(wèn)次數(shù):226更新時(shí)間:2019-07-21 08:06:32
我公司經(jīng)營(yíng)西門子*現(xiàn)貨PLC;S7-200S7-300 S7-400 S7-1200 觸摸屏,變頻器,6FC,6SNS120 V10 V60 V80伺服數(shù)控備件:*電機(jī)(1LA7、1LG4、1LA9、1LE1),國(guó)產(chǎn)電機(jī)(1LG0,1LE0)大型電機(jī)(1LA8,1LA4,1PQ8)伺服電機(jī)(1PH,1PM,1FT,1FK,1FS)西門子保內(nèi)
西門子6ES7 468-1DB00-0AA0
S7-200的仿真軟件V2.0版使用方法與軟件下載
S7-200的仿真軟件不是西門子公司編寫(xiě)的,國(guó)內(nèi)有人將它漢化,其V2.0版可以對(duì)S7-200編程軟件V4.0 編寫(xiě)的程序仿真。該仿真軟件不能對(duì)S7-200的全部指令和全部功能仿真。但是它仍然不失為一個(gè)很好的學(xué)習(xí)S7-200的工具軟件。
該軟件不需要安裝,執(zhí)行其中的“S7-200仿真.EXE”文件,就可以打開(kāi)它。點(diǎn)擊屏幕中間出現(xiàn)的畫(huà)面,輸入密碼6596后按回車鍵,開(kāi)始仿真。
軟件自動(dòng)打開(kāi)的是老型號(hào)的CPU 214,應(yīng)執(zhí)行菜單命令“配置”→“CPU型號(hào)”,用打開(kāi)的對(duì)話框設(shè)置CPU的型號(hào)為CPU 22x。
下圖左邊是CPU 224,CPU模塊下面是用于輸入數(shù)字量信號(hào)的小開(kāi)關(guān)板。開(kāi)關(guān)板下面的直線電位器用來(lái)設(shè)置SMB28和SMB29的值。
雙擊CPU模塊右邊空的方框,用出現(xiàn)的對(duì)話框添加擴(kuò)展模塊。
仿真軟件不能直接接收S7-200的程序代碼,必須用編程軟件的“導(dǎo)出”功能將S7-200的用戶程序轉(zhuǎn)換為擴(kuò)展名為“awl”的ASCII文本文件,然后再下載到仿真PLC中去。
在編程軟件中打開(kāi)主程序OB1,執(zhí)行菜單命令“文件”→“導(dǎo)出”,導(dǎo)出ASCII文本文件。
在仿真軟件中執(zhí)行菜單命令“文件”→“裝載程序”,在出現(xiàn)的對(duì)話框中選擇下載什么塊,點(diǎn)擊“確定”按鈕后,在出現(xiàn)的“打開(kāi)”對(duì)話框中雙擊要下載的*.awl文件,開(kāi)始下載。下載成功后,CPU模塊上出現(xiàn)下載的ASCII文件的名稱,同時(shí)會(huì)出現(xiàn)下載的程序代碼文本框和梯形圖(見(jiàn)下圖)。
執(zhí)行菜單命令“PLC”→“運(yùn)行”,開(kāi)始執(zhí)行用戶程序。 如果用戶程序中有仿真軟件不支持的指令或功能,執(zhí)行菜單命令“PLC”→“運(yùn)行”后,出現(xiàn)的對(duì)話框顯示出仿真軟件不能識(shí)別的指令。點(diǎn)擊“確定”按鈕,不能切換到RUN模式,CPU模塊左側(cè)的“RUN”LED的狀態(tài)不會(huì)變化。
可以用鼠標(biāo)點(diǎn)擊CPU模塊下面的開(kāi)關(guān)板上的小開(kāi)關(guān)來(lái)模擬輸入信號(hào),通過(guò)模塊上的LED觀察PLC輸出點(diǎn)的狀態(tài)變化,來(lái)檢查程序執(zhí)行的結(jié)果是否正確。
在RUN模式點(diǎn)擊工具欄上的按鈕,可以用程序狀態(tài)功能監(jiān)視梯形圖中觸點(diǎn)和線圈的狀態(tài)。
執(zhí)行菜單命令“查看”→“內(nèi)存監(jiān)控”,可以用出現(xiàn)的對(duì)話框監(jiān)控V、M、T、C等內(nèi)部變量的值。
人機(jī)界面的設(shè)計(jì)過(guò)程可分為以下幾個(gè)步驟:
3.1 創(chuàng)建系統(tǒng)功能的外部模型設(shè)計(jì)模型主要是考慮軟件的數(shù)據(jù)結(jié)構(gòu)、總體結(jié)構(gòu)和過(guò)程性描述,界面設(shè)計(jì)一般只作為附屬品,只有對(duì)用戶的情況(包括年齡、性別、心理情況、文化程度、個(gè)性、種族背景等)有所了解,才能設(shè)計(jì)出有效的用戶界面;根據(jù)終端用戶對(duì)未來(lái)系統(tǒng)的假想(簡(jiǎn)稱系統(tǒng)假想)設(shè)計(jì)用戶模型,zui終使之與系統(tǒng)實(shí)現(xiàn)后得到的系統(tǒng)映象(系統(tǒng)的外部特征)相吻合,用戶才能對(duì)系統(tǒng)感到滿意并能有效的使用它;建立用戶模型時(shí)要充分考慮系統(tǒng)假想給出的信息,系統(tǒng)映象必須準(zhǔn)確地反映系統(tǒng)的語(yǔ)法和語(yǔ)義信息。總之,只有了解用戶、了解任務(wù)才能設(shè)計(jì)出好的人機(jī)界面。
3.2 確定為完成此系統(tǒng)功能人和計(jì)算機(jī)應(yīng)分別完成的任務(wù)
任務(wù)分析有兩種途徑。一種是從實(shí)際出發(fā),通過(guò)對(duì)原有處于手工或半手工狀態(tài)下的應(yīng)用系統(tǒng)的剖析,將其映射為在人機(jī)界面上執(zhí)行的一組類似的任務(wù);另一種是通過(guò)研究系統(tǒng)的需求規(guī)格說(shuō)明,導(dǎo)出一組與用戶模型和系統(tǒng)假想相協(xié)調(diào)的用戶任務(wù)。
逐步求精和面向?qū)ο蠓治龅燃夹g(shù)同樣適用于任務(wù)分析。逐步求精技術(shù)可把任務(wù)不斷劃分為子任務(wù),直至對(duì)每個(gè)任務(wù)的要求都十分清楚;而采用面向?qū)ο蠓治黾夹g(shù)可識(shí)別出與應(yīng)用有關(guān)的所有客觀的對(duì)象以及與對(duì)象關(guān)聯(lián)的動(dòng)作。
3.3 考慮界面設(shè)計(jì)中的典型問(wèn)題
設(shè)計(jì)任何一個(gè)機(jī)界面,一般必須考慮系統(tǒng)響應(yīng)時(shí)間、用戶求助機(jī)制、錯(cuò)誤信息處理和命令方式四個(gè)方面。系統(tǒng)響應(yīng)時(shí)間過(guò)長(zhǎng)是交互式系統(tǒng)中用戶抱怨zui多的問(wèn)題,除了響應(yīng)時(shí)間的長(zhǎng)短外,用戶對(duì)不同命令在響應(yīng)時(shí)間上的差別亦很在意,若過(guò)于懸殊用戶將難以接受;用戶求助機(jī)制宜采用集成式,避免疊加式系統(tǒng)導(dǎo)致用戶求助某項(xiàng)指南而不得不瀏覽大量無(wú)關(guān)信息;錯(cuò)誤和警告信息必須選用用戶明了、含義準(zhǔn)確的術(shù)語(yǔ)描述,同時(shí)還應(yīng)盡可能提供一些有關(guān)錯(cuò)誤恢復(fù)的建議。此外,顯示出錯(cuò)信息時(shí),若再輔以聽(tīng)覺(jué)(鈴聲)、視覺(jué)(顏色)刺激,則效果更佳;命令方式是菜單與鍵盤命令并存,供用戶選用。
3.4 借助CASE工具構(gòu)造界面原型,并真正實(shí)現(xiàn)設(shè)計(jì)模型軟件模型一旦確定,即可構(gòu)造一個(gè)軟件原形,此時(shí)僅有用戶界面部分,此原形交用戶評(píng)審,根據(jù)反饋意見(jiàn)修改后再交給用戶評(píng)審,直至與用戶模型和系統(tǒng)假想*為止。一般可借助于用戶界面工具箱作。
西門子S7-200子程序,多次調(diào)用的“怪”現(xiàn)象
在S7-200編程中,子程序想必大家都用過(guò),使用子程序可以更好地組織程序結(jié)構(gòu),便于閱讀和調(diào)試,也可以縮短程序代碼。但是使用子程序也有一些需要注意的地方,除了子程序在同一周期內(nèi)被多次調(diào)用時(shí),不能使用上升沿、下降沿、定時(shí)器和計(jì)數(shù)器之外,還有子程序中局部變量的特點(diǎn),在編程多次調(diào)用帶參數(shù)子程序時(shí)要特別注意。下面就是前些天上遇到的一個(gè)Case,非常有代表性,在這里跟大家分享。
E:您好,西門子。
C:您好,我想問(wèn)下,200子程序是不是多次調(diào)用時(shí)會(huì)不好使?
E:不會(huì)啊,您是不是在子程序里使用了沿指令或者定時(shí)器?
C:沒(méi)有啊,我就編了一句很簡(jiǎn)單的開(kāi)關(guān)程序,開(kāi)關(guān)閉合,線圈導(dǎo)通,然后主程序里調(diào)用了兩次這個(gè)子程序,結(jié)果*個(gè)I點(diǎn)閉合了,兩個(gè)Q點(diǎn)都導(dǎo)通了。
E:(心里活動(dòng):看來(lái)是和子程序的局部變量有關(guān)了,估計(jì)客戶程序邏輯有問(wèn)題)那請(qǐng)您描述一下您的子程序吧,我?guī)湍纯础?/span>
于是客戶描述了一下自己的程序,大致了解了之后告知客戶我這邊測(cè)試下,稍后回復(fù)。
客戶的程序是這樣的:
子程序:是個(gè)常見(jiàn)的自保持邏輯,接口參數(shù)如紅框所示。
圖. 01
主程序:調(diào)用了兩次上面的子程序,實(shí)現(xiàn)I0.0和I0.1控制Q0.0的閉合和斷開(kāi),I0.2和I0.3控制Q0.1的閉合和斷開(kāi)。
圖. 02
那么在線測(cè)試下程序執(zhí)行情況,發(fā)現(xiàn)果然如客戶所描述的,I0.0為1后,Q0.0和Q0.1都為1了。見(jiàn)下圖.03所示。而如果閉合I0.2,則Q0.0和Q0.1都斷開(kāi)。
圖. 03
為什么會(huì)這樣呢?首先我們先明確子程序局部變量的特點(diǎn)。局部變量的變量類型分為四種:IN,IN_OUT,OUT和TEMP,局部變量存儲(chǔ)區(qū)是在子程序調(diào)用時(shí)開(kāi)辟的,子程序調(diào)用完成,局部變量占用的存儲(chǔ)空間釋放。
我們來(lái)分析下客戶的子程序。
在主程序*次調(diào)用子程序時(shí),如果I0.0為1,I0.1為0,它們將自身值分別傳給輸入局部變量#AA和#BB,子程序中程序邏輯執(zhí)行如下圖.04所示。此時(shí)局部變量#CC值為1,子程序完成,#CC將值傳送到輸出參數(shù)Q0.0上,使其置1。根據(jù)局部變量的特點(diǎn),子程序*次調(diào)用完成后,局部變量存儲(chǔ)區(qū)釋放。
圖.04
那么當(dāng)主程序第二次調(diào)用該子程序時(shí),開(kāi)辟臨時(shí)存儲(chǔ)空間,但是此時(shí)的存儲(chǔ)空間與*次調(diào)用時(shí)開(kāi)辟的不一定*??墒牵灿锌赡苡捎诔绦蚝?jiǎn)單,仍然使用*次調(diào)用時(shí)占用的存儲(chǔ)空間。如果這種情況發(fā)生了,那么*次調(diào)用時(shí)已經(jīng)將#CC的L0.2置了1,而此值依舊存在,那么第二次調(diào)用時(shí)雖然輸入?yún)?shù)I0.2和I0.3為0 ,但是#CC(L0.2)為1,由于客戶的子程序邏輯有自保持部分,所以zui后L0.2的邏輯結(jié)果仍然是1。子程序完成后,#CC將值傳送到輸出參數(shù)Q0.1上,使其置1。所以就會(huì)出現(xiàn)客戶反映的那種問(wèn)題。
那么該如何避免這種情況呢?
大家是否還記得剛剛介紹局部變量參數(shù)類型時(shí)除了IN, OUT類型外,還有一種類型叫IN_OUT,這種類型的參數(shù)是先讀入,然后再寫(xiě)出,這里我們就可以利用它的特點(diǎn)解決上面的問(wèn)題。
下面對(duì)子程序的參數(shù)進(jìn)行修改,將原先的#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會(huì)亮,不會(huì)再影響Q0.0。
了解了IN_OUT類型變量的特點(diǎn),就不難分析以上的結(jié)果。因?yàn)槊看握{(diào)用子程序時(shí),局部變量#CC都會(huì)先去讀取輸入?yún)?shù)Q0.0或Q0.1的狀態(tài),所以即使兩次調(diào)用子程序時(shí),#CC變量使用的同一區(qū)域,該區(qū)域的值也會(huì)在開(kāi)始被Q點(diǎn)的狀態(tài)所修改,就不存在兩次調(diào)用相互影響的情況了。
另外,如果在子程序一開(kāi)始就添加一條指令,對(duì)局部變量#CC進(jìn)行賦初值(如圖.08),也可以避免臨時(shí)變量區(qū)數(shù)值不定的問(wèn)題,您可以嘗試測(cè)試下。
圖.08
所以,在編寫(xiě)200子程序時(shí)要特別注意局部變量的特點(diǎn),一旦出現(xiàn)多次調(diào)用不正常的情況,就可以從局部變量的特點(diǎn)出發(fā)分析,看看是不是存在隱患。善加利用IN_OUT變量也許可以解決許多問(wèn)題。
*西門子6ES7468-1DB00-0AA0
S7-200PLC中斷指令介紹
中斷指令有4條,包括開(kāi)、關(guān)中斷指令,中斷連接、分離指令。指令格式如表1所示。
1. 開(kāi)、關(guān)中斷指令
開(kāi)中斷(ENI)指令全局性允許所有中斷事件。關(guān)中斷(DISI)指令全局性禁止所有中斷事件,中斷事件的每次出現(xiàn)均被排隊(duì)等候,直至使用全局開(kāi)中斷指令重新啟用中斷。
PLC轉(zhuǎn)換到RUN(運(yùn)行)模式時(shí),中斷開(kāi)始時(shí)被禁用,可以通過(guò)執(zhí)行開(kāi)中斷指令,允許所有中斷事件。執(zhí)行關(guān)中斷指令會(huì)禁止處理中斷,但是現(xiàn)用中斷事件將繼續(xù)排隊(duì)等候。
2. 中斷連接、分離指令
中斷連接指令(ATCH)指令將中斷事件(EVNT)與中斷程序號(hào)碼(INT)相連接,并啟用中斷事件。
分離中斷(DTCH)指令取消某中斷事件(EVNT)與所有中斷程序之間的連接,并禁用該中斷事件。
注意:一個(gè)中斷事件只能連接一個(gè)中斷程序,但多個(gè)中斷事件可以調(diào)用一個(gè)中斷程序。
表1 中斷指令格式
LAD
STL
ENI
DISI
ATCH INT,EVNT
DTCH EVNT
操作數(shù)及數(shù)據(jù)類型
無(wú)
無(wú)
INT:常量 0-127
EVNT:常量,CPU 224: 0-23; 27-33
INT/EVNT數(shù)據(jù)類型:字節(jié)
EVNT:常量, CPU 224: 0-23; 27-33
數(shù)據(jù)類型:字節(jié) :
西門子6ES7 468-1DB00-0AA0