例如:有一個(gè)掃碼槍,掃碼完成后的數(shù)據(jù)要求存入數(shù)組中,而后由其它指令來(lái)進(jìn)行取數(shù)據(jù),每次只能取走一個(gè)數(shù)據(jù),而且要先存的先取走,并且隨時(shí)可以再存入
1:新建一個(gè)FB塊,SCL語(yǔ)言寫,接口接口如下:
2:程序正文:
REGION 存數(shù)據(jù)
IF #啟動(dòng)填充 = TRUE AND #INDEX <#count THEN //#啟動(dòng)填充按鈕為真時(shí),
#INDEX := #INDEX + 1; //索引加1,索引的初始化值為0,
IF #INDEX <= #count THEN //索引小于等于存入的數(shù)組的最大長(zhǎng)度
#數(shù)據(jù)數(shù)組[#INDEX] := #填充數(shù)據(jù);//把填充的數(shù)據(jù)存入數(shù)組
END_IF;
END_IF;
#啟動(dòng)填充 := FALSE;//#啟動(dòng)填充按鈕復(fù)位
END_REGION
REGION 取數(shù)據(jù)
IF #啟動(dòng)取出 = TRUE AND #INDEX >= 1 THEN //#啟動(dòng)取出按鈕為真時(shí),
#取出數(shù)據(jù) := #數(shù)據(jù)數(shù)組[1]; //把數(shù)組的第一個(gè)元素取出
FOR #i := 1 TO #count - 1 DO //把數(shù)組內(nèi)的數(shù)據(jù)向前移動(dòng)一個(gè)位置
#數(shù)據(jù)數(shù)組[#i] := #數(shù)據(jù)數(shù)組[#i + 1];
END_FOR;
#數(shù)據(jù)數(shù)組[#INDEX] := -9999; // 把數(shù)組的最后一個(gè)元素給-9999,表示說(shuō)明被取走一個(gè)
#INDEX := #INDEX - 1; //取走數(shù)據(jù),把索引減1
END_IF;
#啟動(dòng)取出 := FALSE; //#啟動(dòng)取出按鈕復(fù)位
END_REGION
3:開(kāi)始寫入數(shù)據(jù)
4:一共存入10個(gè)數(shù)據(jù)
5:開(kāi)始取數(shù)據(jù)
6:取完后的數(shù)據(jù)地址寫入-9999,表示數(shù)據(jù)已被取走
可以寫入數(shù)據(jù)長(zhǎng)度為10個(gè),如果想要更長(zhǎng)的數(shù)組,把count改為更長(zhǎng)即可
審核編輯 :李倩
-
plc
+關(guān)注
關(guān)注
5031文章
13781瀏覽量
472482 -
通訊
+關(guān)注
關(guān)注
9文章
927瀏覽量
35516
原文標(biāo)題:SCL語(yǔ)言編程:PLC與掃碼槍通訊完成PLC數(shù)據(jù)隊(duì)列的操作
文章出處:【微信號(hào):xue_PLC,微信公眾號(hào):PLC技術(shù)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
232轉(zhuǎn)Profinet網(wǎng)關(guān)接掃碼槍與PLC通訊在物流分揀線上的應(yīng)用

RS232自由轉(zhuǎn)Profinet協(xié)議網(wǎng)關(guān)模塊連接1200PLC與掃碼槍通訊及手動(dòng)清零案例

掃碼槍識(shí)別系統(tǒng)如何知道掃碼完成往下執(zhí)行程序
無(wú)線射頻模塊在無(wú)線掃碼槍的應(yīng)用
USB掃碼槍掃碼存儲(chǔ)(數(shù)據(jù)存儲(chǔ)、換型)
RS232轉(zhuǎn)Profinet網(wǎng)關(guān)連接銳碼掃碼槍

RS232轉(zhuǎn)Profinet網(wǎng)關(guān)連接銳碼掃碼槍

RS232轉(zhuǎn)profinet網(wǎng)關(guān)掃碼槍自由口與1500程序?qū)Ρ?/a>

通過(guò)232轉(zhuǎn)Profinet將霍尼韋爾掃碼槍連接到PLC上

232Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)接掃碼槍與PLC通訊

羅克韋爾Ethernet/IP協(xié)議PLC轉(zhuǎn)霍尼韋爾232自由協(xié)議掃碼槍

RS232轉(zhuǎn)Profinet網(wǎng)關(guān)接掃碼槍與PLC數(shù)據(jù)交互

RS232轉(zhuǎn)Profibus DP網(wǎng)關(guān)接掃碼槍與PLC通訊

評(píng)論