西門子: | LOGO擴(kuò)展模塊 |
LOGO: | 6ED1055-1MM00-0BA2 |
中國: | 凈重0.132KG |
單價(jià): | 550.00元/臺 |
發(fā)貨期限: | 自買家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 |
有效期至: | 長期有效 |
發(fā)布時(shí)間: | 2024-10-07 15:57 |
最后更新: | 2024-10-07 15:57 |
瀏覽次數(shù): | 58 |
采購咨詢: |
請賣家聯(lián)系我
|
位序列的組合與分解(LAD和SCL)包括如圖1所示4個(gè)指令:
圖1 指令位置
其中SCATTER(_BLK)是將位序列(數(shù)組)分解成若干Bool變量,,GATHER(_BLK)是將若干Bool變量組合成位序列(數(shù)組),。
版本:
1. TIA 博途 V14SP1開始,,S7-1200 V4.2支持V1.0版本
2. TIA 博途 V15開始,,S7-1200 V4.2支持V1.1版本
圖2 SCATTER指令詳情
V1.0版本:SCATTER指令是將位序列(Byte、Word,、DWord)分解成Bool數(shù)組,,其中Byte分解成8Bool元素的數(shù)組,Word分解成16Bool元素的數(shù)組,,DWord分解成32Bool元素的數(shù)組,。LAD需要在下拉框“???”選擇輸入類型(Byte、Word,、DWord),,SCL無需選擇。IN是待分解的位序列變量,,OUT是Bool數(shù)組名,,元素?cái)?shù)量必須正好符合要求,。
V1.1版本:OUT除Bool數(shù)組之外,,可以是Struct,、UDT類型的變量,變量內(nèi)是連續(xù)的8Bool,、16Bool,、32Bool,OUT處填寫Struct,、UDT類型的變量名,。
注:LAD版本的SCATTER,如果調(diào)用該塊的OB\FB\FC如果沒有激活I(lǐng)EC檢查,,IN變量支持整數(shù),、字符、TIME,、DATE,、TOD類型。
使用舉例,,如圖3-5所示:
1. 將Word變量"DB66".Static_1分解成Array[0..15] of Bool變量"DB66".Static_2,,將Byte變量"DB66".Static_3分解成UDT中的連續(xù)8個(gè)Bool變量Tag_3
圖3 DB66的定義
圖4 Q點(diǎn)在PLC變量表的定義
圖5 程序詳情
圖6 SCATTER_BLK指令詳情
V1.0版本:SCATTER_BLK指令是將位序列(Byte、Word,、DWord)數(shù)組分解成Bool數(shù)組,。LAD需要在下拉框選擇輸入數(shù)組IN的類型(Byte、Word,、DWord),,COUNT_IN的類型(USInt、UInt,、UDInt),,SCL無需選擇。IN是待分解的位序列數(shù)組起始元素,,COUNT_IN是待分解的位序列數(shù)組元素個(gè)數(shù),,OUT是接收的Bool數(shù)組起始元素。
V1.1版本:OUT除Bool數(shù)組之外,,可以是Struct,、UDT類型的變量,變量內(nèi)是連續(xù)的Bool變量,,OUT處填寫Struct,、UDT類型內(nèi)的接收的Bool起始變量。
注意:
1. 當(dāng)COUNT_IN超過了位序列數(shù)組元素個(gè)數(shù),,將不執(zhí)行指令,。如果激活指令的ENO功能,則ENO=False,。
2. 當(dāng)所需的Boo數(shù)量超過了已有的Bool數(shù)量,,指令正常執(zhí)行,,多余部分被舍棄。
3. 當(dāng)Bool數(shù)組起始
使用舉例,,如圖7-8所示:
1. 將"DB67".Static_1,,從第3個(gè)元素開始的2個(gè)Byte變量分解成"DB67".Static_2,從第1個(gè)元素開始
2. 將"DB67".Static_3,,從第1個(gè)元素開始的2個(gè)Byte變量變量分解成"DB67".Static_4,,從這個(gè)Struct個(gè)變量開始
圖7 DB67中的定義
圖8 程序詳情
圖9 GATHER指令詳情
V1.0版本:GATHER指令是將Bool數(shù)組合并成位序列(Byte、Word,、DWord),,其中8Bool元素的數(shù)組合并成Byte,16Bool元素的數(shù)組合并成Word,,32Bool元素的數(shù)組合并成DWord,。LAD需要在下拉框選擇輸出類型(Byte、Word,、DWord),,SCL無需選擇。IN是Bool數(shù)組名,,元素?cái)?shù)量必須正好符合要求,,OUT是合并后的位序列變量。
V1.1版本:IN除Bool數(shù)組之外,,可以是Struct,、UDT類型的變量,變量內(nèi)是連續(xù)的8Bool,、16Bool,、32Bool,OUT處填寫Struct,、UDT類型的變量名,。
使用舉例,如圖10-12所示:
1. 將Array[0..15] of Bool變量"DB68".Static_1合并成Word變量"DB68".Static_2,,將UDT中的連續(xù)8個(gè)Bool變量Tag_4合并成Byte變量"DB68".Static_3
圖10 DB68中的定義
圖11 I點(diǎn)在PLC變量表的定義
圖12 程序詳情
圖13 GATHER_BLK指令詳情
V1.0版本:GATHER_BLK指令是將Bool數(shù)組合并成位序列(Byte,、Word、DWord)數(shù)組,。LAD需要在下拉框選擇輸出數(shù)組OUT的類型(Byte,、Word、DWord),,COUNT_IN的類型(USInt,、UInt、UDInt),SCL無需選擇,。IN是待合并的Bool數(shù)組起始元素,,COUNT_IN是合并后的位序列數(shù)組元素個(gè)數(shù),OUT是位序列數(shù)組起始元素,。
V1.1版本:IN除Bool數(shù)組之外,可以是Struct,、UDT類型的變量,,變量內(nèi)是連續(xù)的Bool變量,IN處填寫Struct,、UDT類型內(nèi)的接收的Bool起始變量,。
注意:
2. 當(dāng)所需的Boo數(shù)量超過了已有的Bool數(shù)量,將不執(zhí)行指令,,如果激活指令的ENO功能,,則ENO=False。
使用舉例,,如圖14-15所示:
1. 將"DB69".Static_2,,從第1個(gè)Bool元素開始合并成"DB69".Static_1,從第3個(gè)元素開始的2個(gè)Byte變量
2. 將"DB69".Static_4,,從Struct第1個(gè)元素開始合并成"DB69".Static_3,,從第1個(gè)元素開始的2個(gè)Byte變量
圖14 DB69中的定義