S7-200的編輯軟體稱為 SETP 7-MicroWin,目前最新版本V4.0 SP7

 

A:可使用S7-200的Subroutine Function因為MC指令的功能大部分是做為程式分段,例如依主控制命令進行 手動/自動 模式的切換。而SIMATIC S7-200的程式組織更符合程式分段的特色。 S7-200的程式是由三個基本單元構成  主程式(OB1)  副程式(SBR0)  中斷程式(INT0)

主程式:程式之主體。主程式的指令是被連續性地執行,CPU每次掃描都會執行一次。

副程式:這是選擇性的單元,僅在主程式呼叫時才被執行。

中斷程式:這是選擇性的單元,它在每次中斷事件發生時才被執行。

 

範例應用程式:自動/手動 跑馬燈控制 功能:具有 自動/手動 模式供使用者切換,單一方向的反覆動作。

動作說明:

選擇開關(I0.0)ON,選在手動(即M0.1 on) 每次起始由Q0.1開始亮,按I0.1一次則向右移動一盞。

 選擇開關(I0.0)OFF,選在自動(即M0.0 on) 每次起始由上次手動模式的最後狀態,開始接續動作。 可調整移動時間(VW90, time-base:100ms)。


 程式說明:

主程式(Main):判斷要呼叫副程式的條件為何,及結束副程式時要做何動作。I0.0當做選擇開關, I0.0 on時,導通M0.0(呼叫Auto Subroutine). I0.0 off時,導通M0.1(呼叫Manual Subroutine). 結束Auto Subroutine時, 清除Auto Subroutine內所有已使用到的資料型態(Q, T, C).

 副程式(Auto):可調整移動時間(VW90, time-base:100ms)。使用T37, T38這兩個Timer, 作為閃爍時間切換. 使用C0這個Counter作為移動的依據. 使用ROL_B這個Function Block作為旋轉的依據.

副程式(Manual):按I0.1一次則向右移動一盞。使用C0這個Counter作為移動的依據. 使用ROL_B這個Function Block作為旋轉的依據. 使用I0.1作為移動的命令條件.

 

討論: 使用S7-200的Subroutine時,須注意Subroutine內有使用到那些資料型態。因為Subroutine具有自保持的特性,如果在主程式結束Subroutine的呼叫,而Subroutine內的程式尚未執行完畢,或已經有輸出狀態,此時跳回到主程式時,所有在Subroutine內的資料型態都會保持在上一次CPU掃描時間時的狀態。 例如 跑馬燈程式裡有用到的Q, Timer, Counter,如果在呼叫的條件結束時要同時清除用到的Data,可用同的條件的下緣脈波(N)或反閘NOT來清除.

 

此文件請自行下載,如需電子檔請留E-mail,我再傳給各位看倌。

PS:因為我不知道怎樣可以將檔案放在Blog上供他人下載。

 

 

------------------------------------------------------------------------------------------------------------------------------------------

Siemens SIMATIC PLC S7-400 S7-300 S7-200 LOGO HMI 西門子 自動化
 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Bob 的頭像
    Bob

    鮑伯的PLC事件 (Bob's Blog)

    Bob 發表在 痞客邦 留言(0) 人氣()