畢節西門子電機中國總代理商
專業銷售西門子S7-200/300/400/1200/1500PLC,ET200分布式I/O:ET200S、ET200M、ET200SP、ET200PRO、3RW系列軟啟動器(3RW30/3RW40/3RW44/3RW31)、3RK系列電機啟動器、數控系統、變頻器(MM420/MM430/MM440/S110/S120/G120/G120C/V10/V20/V60/V80/V90/G130/G150)、人機界面、觸摸屏、伺服、電機、西門子通訊電纜、現場總線、DP接頭、工控機,西門子低壓電器,儀器儀表等,并可提供西門子維修服務,歡迎來電垂詢。
作為****的工業自動化和數字化解決方案提供商,西門子PLC控制器在工業自動化領域具有廣泛的應用。作為西門子PLC控制器的全國代理商,我們引入了西門子PLC模塊總代理,提供*新的西門子PLC控制器和西門子PLC模塊,我們致力于為客戶提供*優質的西門子PLC控制器產品,同時也提供各種控制面板和自動化系統的設計、開發和集成服務,幫助客戶提高生產效率和管理效益。
在S7-200編程中,子程序想必大家都用過,使用子程序可以更好地組織程序結構,便于閱讀和調試,也可以縮短程序代碼。但是使用子程序也有一些需要注意的地方,除了子程序在同一周期內被多次調用時,不能使用上升沿、下降沿、定時器和計數器之外,還有子程序中局部變量的特點,在編程多次調用帶參數子程序時要特別注意。下面就是前些天熱線上遇到的一個Case,非常有代表性,在這里跟大家分享。
E:您好,西門子技術支持。
C:您好,我想問下,200子程序是不是多次調用時會不好使?
E:不會啊,您是不是在子程序里使用了沿指令或者定時器?
C:沒有啊,我就編了一句很簡單的開關程序,開關閉合,線圈導通,然后主程序里調用了兩次這個子程序,結果第一個I點閉合了,兩個Q點都導通了。
E:(心里活動:看來是和子程序的局部變量有關了,估計客戶程序邏輯有問題)那請您描述一下您的子程序吧,我幫您看看。
于是客戶描述了一下自己的程序,大致了解了之后告知客戶我這邊測試下,稍后回復。
客戶的程序是這樣的:
子程序:是個常見的自保持邏輯,接口參數如紅框所示。
圖. 01
主程序:調用了兩次上面的子程序,實現I0.0和I0.1控制Q0.0的閉合和斷開,I0.2和I0.3控制Q0.1的閉合和斷開。
圖. 02
那么在線測試下程序執行情況,發現果然如客戶所描述的,I0.0為1后,Q0.0和Q0.1都為1了。見下圖.03所示。而如果閉合I0.2,則Q0.0和Q0.1都斷開。
圖. 03
為什么會這樣呢?首先我們先明確子程序局部變量的特點。局部變量的變量類型分為四種:IN,IN_OUT,OUT和TEMP,局部變量存儲區是在子程序調用時開辟的,子程序調用完成,局部變量占用的存儲空間釋放。
我們來分析下客戶的子程序。
在主程序第一次調用子程序時,如果I0.0為1,I0.1為0,它們將自身值分別傳給輸入局部變量#AA和#BB,子程序中程序邏輯執行如下圖.04所示。此時局部變量#CC值為1,子程序完成,#CC將值傳送到輸出參數Q0.0上,使其置1。根據局部變量的特點,子程序第一次調用完成后,局部變量存儲區釋放。畢節西門子電機中國總代理商
- 銅仁西門子電機中國總代理商 2024-11-24
- 安順西門子電機中國總代理商 2024-11-24
- 遵義西門子電機中國總代理商 2024-11-24
- 六盤水西門子電機中國總代理商 2024-11-24
- 貴陽西門子電機中國總代理商 2024-11-24
- 西門子授權中國區經銷商 2024-11-24
- 中國地區西門子授權經銷商 2024-11-24
- 貴州西門子電機中國總代理商 2024-11-24
- 眉山西門子電機中國總代理商 2024-11-24
- 達州西門子電機中國總代理商 2024-11-24
- 廣安西門子電機中國總代理商 2024-11-24
- 宜賓西門子電機中國總代理商 2024-11-24
- 南充西門子電機中國總代理商 2024-11-24
- 樂山西門子電機中國總代理商 2024-11-24
- 內江西門子電機中國總代理商 2024-11-24
聯系方式
- 電 話:18717946324
- 聯系人:占雪芬
- 手 機:18717946324
- 微 信:18717946324