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