公司主營:西門子數控,S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人機界面,變頻器,DP總線,MM變頻器,6SE70交流工程調速變頻器6RA70等系列產品。
產品簡介
詳細介紹
西門子編程6DD16840GC0編程
本公司主營西門子工業自動化產品,原裝,假一罰十,品質保障.PV 參數的值作為確定“TagOut"輸出的。只要當前計數器值大于或等于操作數
“Tag_PV"的值,輸出“TagOut"的狀態就為“1"。在其它任何情況下,輸出“TagOut"
的狀態均為“0"。
有關以上示例中編程代碼的更多信息,請參見“Sample Library for Instructions
(頁 697)"。
參見
有效數據類型概述 (頁 247)
設置局部變量的保持性 (頁 8040)
設置背景數據塊中的保持性 (頁 8114)
有關 LAD 的基本信息 (頁 8207)
CTD:減計數
說明
可以使用“減計數"指令,遞減輸出 CV 的值。如果輸入 CD 的狀態從“0"變為“1"
(上升沿),則執行該指令,同時輸出 CV 的當前計數器值減 1。每檢測到一個上
升沿,計數器值就會遞減 1,直到達到數據類型的下限為止。達到下*,輸入 CD
的狀態將不再影響該指令。
可以查詢 Q 輸出中的計數器狀態。如果當前計數器值小于或等于“0",則 Q 輸出的狀
態將置位為“1"。在其它任何情況下,輸出 Q 的狀態均為“0"。
輸入 LD 的狀態變為“1"時,將輸出 CV 的值設置為參數 PV 的值。只要輸入 LD 的信
號狀態仍為“1",輸入 CD 的狀態就不會影響該指令。
說明
只需在程序中的某一位置處使用計數器,即可避免計數錯誤的風險。
每次調用“減計數"指令,都會為其分配一個 IEC 計數器用于存儲指令數據。IEC 計數器
是一種具有以下某種數據類型的結構:
指令
4.1 指令
對 PLC 進行編程
786 編程和操作手冊, 10/2018
對于 S7-1200 CPU
數據類型 IEC_<Counter> 的數據塊(共
享 DB)
局部變量
● IEC_SCOUNTER / IEC_USCOUNTER
● IEC_COUNTER / IEC_UCOUNTER
● IEC_DCOUNTER / IEC_UDCOUNTER
● CTD_SINT / CTD_USINT
● CTD_INT / CTD_UINT
● CTD_DINT / CTD_UDINT
● IEC_SCOUNTER / IEC_USCOUNTER
● IEC_COUNTER / IEC_UCOUNTER
● IEC_DCOUNTER / IEC_UDCOUNTER
對于 S7-1500 CPU
數據類型 IEC_<Counter> 的數據塊(共
享 DB)
局部變量
● IEC_SCOUNTER / IEC_USCOUNTER
● IEC_COUNTER / IEC_UCOUNTER
● IEC_DCOUNTER / IEC_UDCOUNTER
● IEC_LCOUNTER / IEC_ULCOUNTER
● CTD_SINT / CTD_USINT
● CTD_INT / CTD_UINT
● CTD_DINT / CTD_UDINT
● CTD_LINT / CTD_ULINT
● IEC_SCOUNTER / IEC_USCOUNTER
● IEC_COUNTER / IEC_UCOUNTER
● IEC_DCOUNTER / IEC_UDCOUNTER
● IEC_LCOUNTER / IEC_ULCOUNTER
可以按如下聲明 IEC 計數器:
● 數據類型 IEC_<Counter> 的數據塊聲明(例如,“MyIEC_COUNTER")
● 聲明為塊中“Static"部分的 CTD_<Data type> 或 IEC_<Counter> 類型的局部變量(例
如 #MyIEC_COUNTER)
如果在單獨的數據塊中設置 IEC 計數器(單背景),則將默認使用“的塊訪問"
(optimized block access) 創建背景數據塊,并將各個變量定義為具有保持性。有關在背景
數據塊中設置保持性的更多信息,請參見“另請參見"。
如果在函數塊中使用“的塊訪問"(optimized block access) 設置 IEC 計數器作為本地
變量(多重背景),則其在塊接定義為具有保持性。
執行“減計數"指令之前,需要事先預設一個邏輯運算。該運算可以放置在程序段的中間
或者末尾。
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 787
參數
下表列出了“減計數"(Count down) 指令的參數:
參數聲明數據類型存儲區說明
S7-1200 S7-1500
CD Input BOOL I、Q、M、
D、L 或常
數
I、Q、M、
D、L 或常
數
計數輸入
LD Input BOOL I、Q、M、
D、L、P 或
常數
I、Q、M、
T、C、D、
L、P 或常
數
裝載輸入
PV Input 整數I、Q、M、
D、L、P 或
常數
I、Q、M、
D、L、P
或常數
使用 LD = 1 置位
輸出 CV 的目標
值。
Q Output BOOL I、Q、M、
D、L
I、Q、M、
D、L
計數器狀態
CV Output 整數、CHAR、
WCHAR、
DATE
I、Q、M、
D、L、P
I、Q、M、
D、L、P
當前計數器值
可以從指令框的“???"下拉列表中選擇該指令的數據類型。
示例
以下示例說明了該指令的工作原理:
????
????
????
??
????
??????????????????
??????????????????
????????????????
????????????????
????????????????
????????????????
??????
??????
當“TagIn_1"操作數的狀態從“0"變為“1"時,執行該指令且“Tag_CV"輸出的值減
1。每檢測到一個上升沿,計數器值就會遞減 1,直到達到所數據類型的下限 (INT
= -32768)。
指令
4.1 指令
對 PLC 進行編程
788 編程和操作手冊, 10/2018
只要當前計數器值小于或等于 0,“TagOut"輸出的狀態就為“1"。在其它任何情況
下,輸出“TagOut"的狀態均為“0"。
有關以上示例中編程代碼的更多信息,請參見“Sample Library for Instructions
(頁 697)"。
參見
有效數據類型概述 (頁 247)
設置背景數據塊中的保持性 (頁 8114)
設置局部變量的保持性 (頁 8040)
有關 LAD 的基本信息 (頁 8207)
CTUD:加減計數
說明
可以使用“加減計數"指令,遞增和遞減輸出 CV 的計數器值。如果輸入 CU 的狀態
從“0"變為“1"(上升沿),則當前計數器值加 1 并存儲在輸出 CV 中。如果輸入 CD
的狀態從“0"變為“1"(上升沿),則輸出 CV 的計數器值減 1。如果在一個程序
周期內,輸入 CU 和 CD 都出現上升沿,則輸出 CV 的當前計數器值保持不變。
計數器值可以一直遞增,直到其達到輸出 CV 處數據類型的上限。達到上限后,即使
出現上升沿,計數器值也不再遞增。達到數據類型的下限后,計數器值便不再遞
減。
輸入 LD 的狀態變為“1"時,將輸出 CV 的計數器值置位為參數 PV 的值。只要輸入
LD 的狀態仍為“1",輸入 CU 和 CD 的狀態就不會影響該指令。
當輸入 R 的狀態變為“1"時,將計數器值置位為“0"。只要輸入 R 的狀態仍為
“1",輸入 CU、CD 和 LD 狀態的改變就不會影響“加減計數"指令。
可以在 QU 輸出中查詢加計數器的狀態。如果當前計數器值大于或等于參數 PV 的值,則
將輸出 QU 的狀態置位為“1"。在其它任何情況下,輸出 QU 的狀態均為“0"。
可以在 QD 輸出中查詢減計數器的狀態。如果當前計數器值小于或等于“0",則 QD 輸出
的狀態將置位為“1"。在其它任何情況下,輸出 QD 的狀態均為“0"。
說明
只需在程序中的某一位置處使用計數器,即可避免計數錯誤的風險。
下一篇:西門子組態軟件6AV6612-0AA00-0AM0總代理