西門子軟件6AV6381-2BE07-5AV0
使用“檢測(cè)下降沿"指令,可以檢測(cè)輸入 CLK 的從“1"到“0"的狀態(tài)變化。該指令將
輸入 CLK 的當(dāng)前值與保存在實(shí)例中的上次查詢(邊沿存儲(chǔ)位)的狀態(tài)進(jìn)行比較。如果
該指令檢測(cè)到輸入 CLK 的狀態(tài)從“1"變成了“0",就會(huì)在輸出 Q 中生成一個(gè)下降沿,
即輸出的值將在一個(gè)循環(huán)周期內(nèi)為 TRUE 或“1"。
在其它任何情況下,該指令輸出的狀態(tài)均為“0"。
參數(shù)
下表列出了“檢測(cè)下降沿"指令的參數(shù):
參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明
CLK Input BOOL I、Q、M、D、
L 或常數(shù)
到達(dá),將查
詢?cè)摰倪?/span>
沿。
Q Output BOOL I、Q、M、D、L 邊沿檢測(cè)的結(jié)果
指令
4.1 指令
對(duì) PLC 進(jìn)行編程
1510 編程和操作手冊(cè), 10/2018
示例
以下示例說(shuō)明了該指令的工作原理:
STL 說(shuō)明
CALL F_TRIG, "F_TRIG_DB" // 調(diào)用指令。
CLK := "TagIn" // 檢測(cè)到下降沿。
Q := "TagOut" // 在下降沿發(fā)送狀態(tài)“1"。
輸入 CLK 中變量的上一個(gè)狀態(tài)存儲(chǔ)在“F_TRIG_DB"變量中。如果檢測(cè)到操作數(shù)“TagIn"
的狀態(tài)從“1"變?yōu)椤?",則輸出“TagOut"的狀態(tài)在一個(gè)循環(huán)周期內(nèi)為“1"。
參見(jiàn)
有效數(shù)據(jù)類型概述 (頁(yè) 247)
狀態(tài)字的基本信息 (頁(yè) 200)
STL 指令 (頁(yè) 8357)
編輯 STL 指令 (頁(yè) 8377)
實(shí)例 (頁(yè) 68)
在 STL 中查詢并設(shè)置狀態(tài)位 (頁(yè) 201)
定時(shí)器操作 (S7-1500)
TP:生成脈沖 (S7-1500)
說(shuō)明
使用“生成脈沖"指令,可以將輸出 Q 設(shè)置為預(yù)設(shè)的一段時(shí)間。當(dāng)參數(shù) IN 的邏輯運(yùn)算結(jié)
果 (RLO) 從“0"變?yōu)椤?"(上升沿)時(shí),啟動(dòng)該指令。指令啟動(dòng)時(shí),預(yù)設(shè)的時(shí)間 PT
即開(kāi)始計(jì)時(shí)。隨后無(wú)論輸入如何改變,都會(huì)將參數(shù) Q 設(shè)置為時(shí)間 PT。如果時(shí)間
Q 仍在計(jì)時(shí),即使檢測(cè)到新的上升沿,參數(shù) PT 的狀態(tài)也不會(huì)受到影響。
可以在 ET 輸出上查詢當(dāng)前時(shí)間值。時(shí)間值從 T#0s 開(kāi)始,達(dá)到 PT 時(shí)間值時(shí)結(jié)束。如果
PT 時(shí)間用完且輸入 IN 的狀態(tài)為“0",則復(fù)位 ET 輸出。
指令
4.1 指令
對(duì) PLC 進(jìn)行編程
編程和操作手冊(cè), 10/2018 1511
在程序代碼中使用“調(diào)用塊"(Call block) (CALL) 指令以調(diào)用“生成脈沖"(Generate pulse)
指令。
說(shuō)明
如果程序中未調(diào)用定時(shí)器(這是因?yàn)闀?huì)忽略定時(shí)器),則輸出 ET 會(huì)在定時(shí)器計(jì)時(shí)結(jié)束后
立即返回一個(gè)常數(shù)值。
每次調(diào)用“生成脈沖"指令,都會(huì)為其分配一個(gè) IEC 定時(shí)器用于存儲(chǔ)指令數(shù)據(jù)。IEC 定時(shí)
器是一個(gè) IEC_TIMER、IEC_LTIMER、TP_TIME 或 TP_LTIME 數(shù)據(jù)類型的結(jié)構(gòu),可如下
聲明:
● 聲明為一個(gè)數(shù)據(jù)類型為 IEC_TIMER 或 IEC_LTIMER 的數(shù)據(jù)塊(例
如,“MyIEC_TIMER")
● 聲明為塊中“Static"部分的 TP_TIME 或 TP_LTIME 類型的局部變量(例如,
#MyTP_TIMER)
從下拉列表“???"中選擇數(shù)據(jù)類型后,將打開(kāi)“調(diào)用選項(xiàng)"(Call options) 對(duì)話框。
在以下情況下將更新指令數(shù)據(jù):
● 當(dāng)輸出 ET 或 Q 互連時(shí),調(diào)用該指令。如果輸出未互連,則不會(huì)更新輸出 ET 中的當(dāng)前
時(shí)間值。
● 訪問(wèn)輸出 Q 或 ET 時(shí)。
操作會(huì)在冷啟動(dòng)期間復(fù)位“生成脈沖"指令的實(shí)例。如果要在暖啟動(dòng)之后初始化該指
令的實(shí)例,則需在啟動(dòng) OB 中將 PT 參數(shù)置位為“0"的情況下調(diào)用這些待初始化的實(shí)例
如果操作數(shù)“TagIn"的狀態(tài)為“1",則執(zhí)行該指令。更改輸入“TagIn_Value"中值的
符號(hào),并將結(jié)果存儲(chǔ)至輸出“TagOut_Value"中。如果該指令執(zhí)行成功,則使能輸出 ENO
的狀態(tài)為“1",同時(shí)置位輸出“TagOut"
西門子軟件6AV6381-2BE07-5AV0
WinCC與S7-1200 CPU的OPC 通信
WinCC V7.2以前版本中沒(méi)有與S7-1200 CPU 通信的驅(qū)動(dòng),所以WinCC與S7-1200 CPU之間通過(guò)以太網(wǎng)的通信,只能通過(guò)OPC的方式實(shí)現(xiàn)。S7-1200 作為OPC的Sever端,只需設(shè)置IP 地址即可。上位機(jī)作為OPC 的Client端,通過(guò)SIMATIC NET 軟件建立PC Station 來(lái)與S7-1200通信,實(shí)現(xiàn)步驟見(jiàn) SIMATIC NET OPC 。
建立好PC Station 后,WinCC中的實(shí)現(xiàn)步驟如下:
1. 建立所有WinCC中要用到的變量
首先在OPC Scout中建立好所有WinCC中要用到的變量,步驟 OPC scout 。
2. 添加新的驅(qū)動(dòng)
打開(kāi)WinCC 軟件新建一個(gè)項(xiàng)目,用鼠標(biāo)右鍵點(diǎn)擊“變量管理",在快捷菜單中點(diǎn)擊“添加新的驅(qū)動(dòng)程序",添加新的驅(qū)動(dòng):Opc.chn。如圖1所示。
圖1. 添加一個(gè)新的驅(qū)動(dòng)new driver, OPC driver
西門子6AV63812BE075AV0 WINCC通信
3. 在WinCC中搜索及添加OPC Scout中定義的變量
首先用鼠標(biāo)右鍵點(diǎn)擊OPC Groups ,在快捷菜單中點(diǎn)擊“系統(tǒng)參數(shù)",如圖2所示。
圖2.進(jìn)入系統(tǒng)參數(shù)system parameter
然后選中OPC.SimaticNET,點(diǎn)擊“瀏覽服務(wù)器"按鈕進(jìn)行搜索。如圖3所示。
圖3.選擇服務(wù)器瀏覽
4. 建立新連接并添加所需變量
在變量列表中選擇所需要的變量,點(diǎn)“添加條目"按鈕添加所需變量,此時(shí)會(huì)自動(dòng)要求你建立一個(gè)新連接,并將變量添加到這個(gè)連接中,如圖4所示。
圖4.添加變量并建立連接new connection,connection name,select connection
成功添加完變量后,WinCC中變量顯示,如圖5所示。完成以上所有配置,就可以在WinCC里監(jiān)控這些變量了。
圖5.從OPC Scout中成功添加變量item setup
WinCC V7.2與S7-1200 PLC 通信
1.設(shè)置PLC通訊參數(shù)以及DB塊屬性設(shè)置
在Step7 V13組態(tài)軟件中打開(kāi)S7-1200項(xiàng)目,關(guān)于PLC硬件組態(tài)步驟在此不詳述。
注意,如果您使用固件版本為 V4.0 以上的 S7-1200 CPU,則需要如下額外設(shè)置,才能保證通信正常。
請(qǐng)點(diǎn)開(kāi) CPU 的設(shè)備組態(tài),"屬性->常規(guī)->保護(hù)"里"連接機(jī)制"一項(xiàng)需要勾選"允許從遠(yuǎn)程伙伴(PLCHMIOPC...)使用 PUT/GET 通信訪問(wèn)",如圖 1所示:
圖1. 連接機(jī)制