詳細介紹
西門子西藏觸摸屏代理商
上海盟疆工業自動化設備有限公司工業業務領域致力于為客戶提供高品質的服務,追求客戶的滿意是我們始終如一的目標。在中國,工業業務領域擁有一支技術過硬、經驗豐富的工程師隊伍,為客戶提供7x24小時全天候服務。專業的服務人員和遍布全國的服務及備件網絡將對客戶的服務需求迅速作出響應,將由設備故障引起的損失降低到小的程度。
設計
SIMATIC S7-1200 系列包括以下模塊:
- 性能分級的不同型號緊湊型控制器,以及豐富的交/直流控制器。
- 各種信號板卡(模擬量和數字量),用于在 CPU 上進行經濟的模塊化控制器擴展,同時節省安裝空間。
- 各種數字量和模擬量信號模塊。
- 各種通信模塊和處理器。
- 帶 4 個端口的以太網交換機,用于實現各種網絡拓撲
- SIWAREX 稱重系統終端模塊
- PS 1207 穩壓電源裝置,電源電壓 115/230 V AC,額定電壓 24 VDC
機械特性
- 堅固、緊湊的塑料機殼
- 連接和控制部件易于接觸,并由前蓋板提供保護
- 模擬量或數字量擴展模塊也具有可拆卸的連接端子
設備特性
- 標準:
SIMATIC S7-1200 符合 VDE、UL、CSA 和 FM(I 類,類別 2;危險區組別 A、B、C 和 D,T4A)。生產質量管理體系已按照 ISO 9001 進行認證。
通信
SIMATIC S7-1200 支持各種通信機制:
- 集成 PROFINET IO 控制器接口
- 帶 PROFIBUS DP 主站接口的通信模塊
- 帶 PROFIBUS DP 從站接口的通信模塊
- GPRS 模塊,用于連接到 GSM/G 網絡
- LTE 模塊,用于在第四代 LTE(長期演進)網絡中進行通信。
- 通信處理器,可通過以太網接口連接到 TeleControl Server Basic 控制中心軟件,并借助于基于 IP 的網絡進行安全通信。
- 通信處理器,可連接到服務應用的控制中心。
- RF120C,可連接到 SIMATIC Ident 系統。
- 模塊 SM1278,用于連接 IO-Link 傳感器和執行器。
- 通過通信模塊實現點到點連接。
PROFINET 接口
通過集成 PROFINET 接口,可與以下設備通信:
- 編程設備
- HMI 設備
- 其它 SIMATIC 控制器
- PROFINET IO 自動化組件
支持以下協議:
- TCP/IP
- ISO-on-TCP
- S7 通信
可連接以下設備:
- 通過標準 5 類電纜連接現場編程器和 PC。
在編程器和 SIMATIC S7-1200 的 CPU 之間建立連接
- SIMATIC HMI 精簡面板
在精簡面板和 SIMATIC S7-1200 的 CPU 之間建立連接
- 其它 SIMATIC S7-1200 控制器
通過 CSM 1277 以太網交換機連接多臺設備
點到點接口,可自由編程的接口模式
通信模塊可通過點到點連接進行通信。采用 RS232 和 RS485 物理傳輸介質。在 CPU 的“自由口 (Freeport)”模式下進行數據傳輸。采用面向位的用戶特定通信協議(例如,ASCII 協議、USS 或 Modbus)。
可以連接任何具有串行接口的終端設備,如驅動、打印機、條碼讀碼器、調制解調器等。
在可編程接口模式下,通過 CM 1241 實現點到點連接
在線診斷查看模塊故障
利用在線診斷功能可以幫助我們看到現場模塊的實際狀態,比如說模塊是否運行等。
----(1)通過點擊“設備組態”進入如下的界面
----(2)點擊“轉到在線”即可查看模塊狀態
----(3)正常在線后的狀態如下:
小提示:(a)模塊上方的表示模塊正常
(b)點擊“轉到離線”即可退出監控狀態
----(4)如果實際中未插入DI模塊,則可以看到如下的顯示:
西門子西藏觸摸屏代理商
如果想進一步查看模塊的故障信息,可以點擊窗口下方的提示信息,如下:
打開模塊診斷信息如下:
1. 提出問題
圖1
問題1:M10.2能否被置位?
圖2
問題2:S_CU計數有無問題,M6.2能否被置位?
先來了解一下都有哪幾個計時器,以及它們的特性如何
圖3
2. 計時器描述
從以圖3可以看出5個計時器的基本特性,可以簡單的從中挑選與控制工藝相符合的計時器使用,如果想了解計時器的詳細信息,可以選擇計時器,并按F1看幫助信息中的具體邏輯圖。
以計時器SD為例,參見圖4
圖4
我們從中可以知道,當觸發端S的信號為上升沿時,觸發計時器開始運行,時間結束后計時器輸出端為1,S信號為下降沿時,計時器輸出端為0
那么根據此情況,以圖1為例,咱們可以把剛才的梯形圖程序通過時序圖表示如下圖5
其中a,b之間是在掃描此段程序兩個周期之間的間隙。
圖5
3. 計時器與循環程序的關系
經過分析,可以看出,M10.2(S)是可以被置位的,那為什么沒有看見其被置位呢?
大家注意,這里t的時間是8s,我們知道,一個程序的掃描周期很短,可能才十幾----幾十毫秒,在線時候可以監控到Scan Cycle Time。如圖6
圖6
那這個時間不是遠遠超過了掃描周期么?
我們又知道,如果程序掃描周期大于大掃描周期監控時間Scan Cycle Monitoring Time,那么將會觸發中斷,甚至造成CPU進入STOP狀態。
其實,計時器的執行是異步于OB1循環掃描的,只要計時器運行后,在每一周期掃描到計時器的觸發端S信號如果為1,那么計時器就將在此周期繼續計時。因此,它對于大周期監控時間并沒有太大的影響,只是調用語句時占用了少許us的時間。
怎么來驗證這個說法呢?就是說計時器的執行并不同步于OB1程序掃描周期。
1,可以在程序中加入若干SFC47增大程序掃描周期(保證小于Scan Cycle Monitoring Time),通過監控計時器的時間,可以看出,計時器的時間是跳躍式的變化的,也就是說,也就是說,當程序掃描完計時器,繼續往下進行時,計時器滿足觸發條件進行計時,此周期往后的計時是一直在進行的。
2,可以通過在中斷來證明
3,通過程序死循環監視計時證明
4,通過多個計時器監視時間來證明等等各種方法
那說明了是異步的有何作用呢?
說明了剛才咱們分析程序所作的時序圖有一定的問題,因為咱們的分析是按照程序一步步往下進行的,相當于是同步進行的。而實際在程序執行時,掃描周期是比較短的,所以計時器是在其中的某一個周期里計時器計時結束時輸出被置位為1,那么因為這樣,所以對我們編寫程序就會有一定的要求。也就有了下面一個問題
4. 計時器動作的時刻
計時器的輸出端是什么時候被置位呢,什么時候起作用呢,比如?
是等到重新掃描到計時器塊,計時器執行完畢才置位,還是不用重新掃描到計時器?程序中直接掃描的T40節點,它就已經被置位了呢?
1,我們可以設置OB35的看門狗時間為2000ms, 如圖7
OB35里觸發計時器T40,的開點給線圈M6.0,如圖8
OB1里的開點給線圈M6.1,M6.0開點給線圈M6.2,如圖9
經過試驗,觀察看到,當T40的Timer運行結束后M6.1立刻就被置位了,而M6.0和M6.2會等到再次掃描到OB35,才會被置位。
可得出結論,當計時器T40計時結束時,CPU掃描到時,它就已經為1了,不需要等到掃描計時器S_ODT(SD)。
圖7
圖8
圖9
2,也可以在OB1里調用多個“wait”代碼讓OB1的掃描周期足夠大,如5s,先調用一個SD T2 1s,然后調用若干“wait”,大概持續2s,用T2開點觸發一個線圈如M10.0,再調用若干“wait”,大概1s,然后再調用一個SD T3,可以看出再T3還沒有開始計數時,M10.0已經被置位了。
計時器在OB30—OB38里呢?
是一樣的。
可以在OB35里使用SD計時器,可以發現,當程序調用OB35時,計時器開始運行,把OB35執行時間和計時器時間設置大些,可以發現,只要每次在掃描的計時器觸發端時,條件滿足,計時器就開始運行,直到下一次掃描OB35時再掃描到此條件為止。
可以把計時器時間設置足夠大,當計時未結束前把它的觸發端變為0,那么其計時停止,直到再次觸發。
可以得出計時器的運行只與每次掃描到它的觸發端有關。掃描完觸發端后,計時器的運行就與觸發端無關了,直到下一次再次掃描到此觸發端。
5. 分析程序
了解了以上的一些基本知識,咱們再來看看剛才圖1中的程序。
一個CPU的掃描周期是可以計算的,根據不同的配置和數據的讀取,可以計算出不同的周期,在PLC運行時,每個周期的大小也是不一樣的,可以大致計算出范圍,可以根據每條語句來計算程序的執行時間,再加上相應的循環周期檢測點,周期中斷,訪問過程映像區,通信負載等。這些時間的長短與CPU型號及使用方式有關。
使用PS307 5A,CPU315-2PN/DP (315-2EH13-0AB0 V 2.6.50)為例。以下所有時間都以此配置為標準。
我們把圖1的梯型圖換成語句表來分析指令執行的過程。
圖10
一個CPU的掃描周期的計算可以根據以下幾個過程來進行
圖11
A.操作系統初始化循環時間監視
B.掃描PIO
C.掃描PII
D.執行用戶程序,并執行程序中定義的操作
E.掃描周期檢測點操作系統時間(周期結束時執行掛起的任務,如裝載和刪除塊)
F .CPU返回到周期開始的時間點,并重新開始循環周期監視
在以上的步驟中都是有時間的,雖然很小,但是也占用時間。可以根據不同的硬件組態,參照
CPU Specifications手冊進行計算,
為了便于計算和理解,咱們以理想狀態來計算。假設CPU周期中的A,B,C,E,F的時間為固定的數值X us。
只分析程序里的”D” --用戶程序中的命令執行。
程序是順序掃描的,從Network 1—3依次進行,
以*個周期開始時來分析,首先掃描Network 1中T3計時器為0,因此閉點使能,T2開始計時(0-8S),但此時掃描T2輸出為0,
因此掃描到Network 2中T2開點不使能,掃描到T3不執行,
Network 3中T3開點不使能,M10.2為0。
到此過程[0.4+0.3+2.4+0.3+0.3+2.4+0.3+0.2(或0.9)] us = 6.6 (或7.3) us。
注意:T2一直在累加時間,相當于此時T2計時也到達6.6(或7.7)us。
然后加上剛才的時間X us,那么一個周期可以認為是t=X+6.6 (7.7) us。X大于7 us,可以看出語句的執行是在很短的時刻進行,所以大家在編程時常用的每個計時器都會經過若干個程序掃描周期。
因為Timer是異步的,所以T2的時間應該在一個周期里也為t=X+6.6 (7.7) us,那么根據上面的程序看,因為T2設置為8s,所以應該在大概m=8s/[ X+6.6 (7.7)]us個周期時,T2執行完畢。
T2 假設優秀情況下,T2執行完畢的時刻是在第m個周期內,
A.如果發生在Network2的T2開點之前,那么掃描到此 T2開點的語句時,T2的輸出變為1,執行下一條語句T2開點就會閉合,T3開始計時。
B.如果T2執行完畢的時刻是程序掃描到T2開點語句之后才發生的,那么因為后面的程序沒有對T2的操作,只有在下一個m+1周期,才能檢測到T2的變化。T3開始計時。
T3開始計時的前提條件是T2開點閉合,假設在第m個周期里,T3開始計時,那么同樣,要經過大概m個周期左右,T3才能執行完畢,到此時,已經經過了2m個周期,因為M10.2線圈是由T3開點的閉合信號來置位的,那么現在就來分析一下什么時候可以發生此動作。
注意:在此例子程序中,在Network1-3中都有對T3的操作
T3 假設在優秀情況下,T3執行完畢的時刻是在第2m個周期。在第2m周期內
A.如果發生在Network1的T3閉點之前,那么在程序掃描到T3閉點的時候,T3的輸出值已經變為1了,閉點變為開點,T2輸出變為0,往下掃描到Network2的T2開點變為0,T3的SD輸出也變為0,繼續掃描到Network3,T3開點為0,那么M10.2未被置位。
B.如果發生在Network1的T3閉點之后,Network3的T3開點之前,(則T2是保持為1的),在掃描到T3開點時,T3的輸出值變為1,T3開點變為閉點,M10.2被置位。
C.如果發生在Network3的T3開點之后,那么在此周期內對m10.2不會產生置位,在下一周期(2m+1),T3輸出值變為1了,所以在Network1里T3閉點變為開點,T2輸出變為0,掃描到Network2里,T2開點變為0,導致T3輸出值變為0,掃描到Network3里,T3開點變