公司主營:西門子數控,S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人機界面,變頻器,DP總線,MM變頻器,6SE70交流工程調速變頻器6RA70等系列產品。
產品簡介
詳細介紹
西門子組態(tài)6AV2103-0XA00-0AM0寫程序
本公司宗旨:本著以誠信為本,以顧客為中心,讓顧客滿意,創(chuàng)造一個舒心的購物每次調用“加減計數"指令,都會為其分配一個 IEC 計數器用來存儲指令數據。IEC 計數
器是一種具有以下某種數據類型的結構:
對于 S7-1200 CPU
數據類型 IEC_<Counter> 的數據塊(共
享 DB)
局部變量
● IEC_SCOUNTER / IEC_USCOUNTER
● IEC_COUNTER / IEC_UCOUNTER
● IEC_DCOUNTER / IEC_UDCOUNTER
● CTUD_SINT / CTUD_USINT
● CTUD_INT / CTUD_UINT
● CTUD_DINT / CTUD_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
● CTUD_SINT / CTUD_USINT
● CTUD_INT / CTUD_UINT
● CTUD_DINT / CTUD_UDINT
● CTUD_LINT / CTUD_ULINT
● IEC_SCOUNTER / IEC_USCOUNTER
● IEC_COUNTER / IEC_UCOUNTER
● IEC_DCOUNTER / IEC_UDCOUNTER
● IEC_LCOUNTER / IEC_ULCOUNTER
可以按如下聲明 IEC 計數器:
● 數據類型 IEC_<Counter> 的數據塊聲明(例如,“MyIEC_COUNTER")
● 聲明為塊中“Static"部分的 CTUD_<Data type> 或 IEC_<Counter> 類型的局部變量(例
如 #MyIEC_COUNTER)
如果在單獨的數據塊中設置 IEC 計數器(單背景),則將默認使用“的塊訪問"
(optimized block access) 創(chuàng)建背景數據塊,并將各個變量定義為具有保持性。有關在背景
數據塊中設置保持性的更多信息,請參見“另請參見"。
如果在函數塊中使用“的塊訪問"(optimized block access) 設置 IEC 計數器作為本地
變量(多重背景),則其在塊接定義為具有保持性。
指令
4.1 指令
對 PLC 進行編程
790 編程和操作手冊, 10/2018
執(zhí)行“加減計數"指令之前,需要事先預設一個邏輯運算。該運算可以放置在程序段的中
間或者末尾。
參數
下表列出了“加減計數"(Count up and down) 指令的參數:
參數聲明數據類型存儲區(qū)說明
S7-1200 S7-1500
CU Input BOOL I、Q、M、
D、L 或常
數
I、Q、M、
D、L 或常
數
加計數輸入
CD Input BOOL I、Q、M、
D、L 或常
數
I、Q、M、
D、L 或常
數
減計數輸入
R Input BOOL I、Q、M、
D、L、P 或
常數
I、Q、M、
T、C、D、
L、P 或常
數
復位輸入
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 或
常數
輸出 QU 被設置
的值/LD = 1 的情
況下,輸出 CV
被設置的值。
QU Output BOOL I、Q、M、
D、L
I、Q、M、
D、L
加計數器的狀態(tài)
QD Output BOOL I、Q、M、
D、L
I、Q、M、
D、L
減計數器的狀態(tài)
CV Output 整數、CHAR、
WCHAR、
DATE
I、Q、M、
D、L、P
I、Q、M、
D、L、P
當前計數器值
可以從指令框的“???"下拉列表中選擇該指令的數據類型。
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 791
示例
以下示例說明了該指令的工作原理:
????
????
????
????
????
????
??
????
??????????????????
??????????????????
??????????????????
??????????????????
????????????????
????????????????
????????????????
??????????????????????
????????
??????
??????????????????
如果輸入“TagIn_1"或“TagIn_2"的狀態(tài)從“0"變?yōu)椤?"(上升沿),則執(zhí)行“加
減計數"指令。輸入“TagIn_1"出現上升沿時,當前計數器值加 1 并存儲在輸出
“Tag_CV"中。輸入“TagIn_2"出現上升沿時,計數器值減 1 并存儲在輸出“Tag_CV"
中。輸入 CU 出現上升沿時,計數器值將遞增,直至其達到上限值 32767。輸入 CD
出現上升沿時,計數器值將遞減,直至其達到下限 (INT = -32768)。
只要當前計數器值大于或等于“Tag_PV"輸入的值,“TagOut"輸出的狀態(tài)就為“1"。
在其它任何情況下,輸出“TagOut"的狀態(tài)均為“0"。
只要當前計數器值小于或等于 0,“TagOut_QD"輸出的狀態(tài)就為“1"。在其它任何情
況下,輸出“TagOut_QD"的狀態(tài)均為“0"。
有關以上示例中編程代碼的更多信息,請參見“Sample Library for Instructions
(頁 697)"。
參見
有效數據類型概述 (頁 247)
設置背景數據塊中的保持性 (頁 8114)
設置局部變量的保持性 (頁 8040)
檢測存儲區(qū)的填充量示例 (頁 8267)
有關 LAD 的基本信息 (頁 8207)
指令
4.1 指令
對 PLC 進行編程
792 編程和操作手冊, 10/2018
(S7-1500)
S_CU:分配參數并加計數 (S7-1500)
說明
可使用“分配參數并加計數"指令遞增計數器值。如果輸入 CU 的狀態(tài)從“0"變?yōu)椤?"
(上升沿),則當前計數器值將加 1。當前計數器值在輸出 CV 處輸出十六進制值,在
輸出 CV_BCD 處輸出 BCD 編碼的值。計數器值達到上限“999"后,停止遞增。達到上限
后,即使出現上升沿,計數器值也不再遞增。
當輸入 S 的狀態(tài)從“0"變?yōu)椤?"時,將計數器值設置為參數 PV 的值。如果已設置計
數器,并且輸入 CU 處的 RLO 為“1",則即使沒有檢測到沿的變化,計數器也會在下
一掃描周期相應地進行計數。
當輸入 R 的狀態(tài)變?yōu)椤?"時,將計數器值置位為“0"。只要 R 輸入的狀態(tài)為“1",
輸入 CU 和 S 狀態(tài)的處理就不會影響該計數器值。
如果計數器值大于 0,輸出 Q 的狀態(tài)就為“1"。如果計數器值等于 0,則輸出 Q 的信
號狀態(tài)為“0"。
說明
只需在程序中的某一位置處使用計數器,即可避免計數錯誤的風險。
“分配參數并加計數"指令需要對邊沿評估進行前導邏輯運算,可以程序段中或程序
段的結尾。
參數
下表列出了指令“分配參數并加計數"的參數:
參數 聲明數據類型存儲區(qū)說明
<計數器> InOut/Input COUNTER C 指令中的計數器
計數器的數量取決于
CPU。
CU Input BOOL I、Q、M、D、
L 或常量
加計數輸入
S Input BOOL I、Q、M、D、
L、T、C 或常量
用于預設置計數器的輸入
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 793
參數 聲明數據類型存儲區(qū)說明
PV Input WORD I、Q、M、D、
L 或常量
預置計數器值(C#0 至
C#999)
R Input BOOL I、Q、M、D、
L、T、C 或常量
復位輸入
BI Output WORD、
S5TIME、
DATE
I、Q、M、D、L 當前計數器值(十六進制)
BCD Output WORD、
S5TIME、
DATE
I、Q、M、D、L 當前計數器值(BCD 編
碼)
Q Output BOOL I、Q、M、D、L 計數器狀態(tài)
有關有效數據類型的更多信息,請參見“另請參見"。
示例
以下示例說明了該指令的工作原理:
???????? ????????????????
????
????
??
??
??
????
????????????
??????????????????
??????????????????
??????????????????
???????????????????????????????? ????????????????????????
????????????????????????
??????????????????????
如果輸入“TagIn_1"的狀態(tài)從“0"變?yōu)椤?"(上升沿)且當前計數器值小于“999",
則計數器值加 1。當輸入“TagIn_2"的狀態(tài)從“0"變?yōu)椤?"時,將該計數器的值設置為
操作數“TagPresetValue"的值。當“TagIn_3"操作數的狀態(tài)為“1"時,計數器值復位
為“0"。
當前計數器值以十六進制值的形式保存在操作數“TagValue_1"中,以 BCD 編碼的形式保
存在操作數“TagValue_2"中。
只要當前計數器值不等于“0",輸出“TagOut"的狀態(tài)便為“1"。
有關以上示例中編程代碼的更多信息,請參見“Sample Library for Instructions
(頁 697)"。
下一篇:西門子編程軟件6AV2105-2RT05-0BD0寫程序