博途的間接尋址和S7-300/400大不一樣。博途中的間接尋址主要用peek/poke指令,peek/poke指令不能用于優(yōu)化的數(shù)據(jù)塊。
優(yōu)化數(shù)據(jù)塊可以用數(shù)組類尋址。這次的控制任務(wù)是模擬類的批量處理,s7-300/400模擬量批量處理很繁瑣。
控制任務(wù)
把數(shù)量不定的模擬量轉(zhuǎn)換成工程量,然后保存到指定的數(shù)據(jù)塊中。這里我們?yōu)榱藴y試,不讀取PIW中的模擬值,而用MW代替。
象這樣的控制任務(wù),我們一般用SCL來寫會比較方便。請看下面的程序。
控制程序
程序簡單說明一下:
LOWER_BOUND 讀取 resultArray的下限
UPPER_BOUND讀取resultArray的上限
lenOfEmtpyArray是數(shù)組除去offsetArray偏移量后還剩的空余長度,如果這個(gè)長度小于模擬量的數(shù)量,則退出。另外如果arrayLowerBound小于下限,也退出。
第19行,SCL 中的循環(huán)要注意,開始和結(jié)尾都是閉區(qū)間,和c語言等高級語言不一致。
第20行,PEEK_WORD 就是讀取M區(qū)的模擬量。具體用法可以參看手冊。
第25行,對數(shù)組的讀寫,也是間接尋址,在scl中沒有這種說法了。間接尋址等概念都是匯編下的,高級語言沒有這種叫法。
最后,模擬量轉(zhuǎn)化為工程量后為100.0 和 54.0,存入數(shù)據(jù)塊。
審核編輯:劉清
-
模擬器
+關(guān)注
關(guān)注
2文章
877瀏覽量
43256 -
S7-300
+關(guān)注
關(guān)注
8文章
225瀏覽量
34310 -
SCL
+關(guān)注
關(guān)注
1文章
239瀏覽量
17103
原文標(biāo)題:干貨分享 | 你知道嗎? SCL編程可以批量處理模擬量
文章出處:【微信號:指南車機(jī)器人科技,微信公眾號:指南車機(jī)器人科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
模擬量和開關(guān)量
模擬量模塊接線方法 模擬量模塊編程詳細(xì)介紹
![<b class='flag-5'>模擬量</b>模塊接線方法 <b class='flag-5'>模擬量</b>模塊<b class='flag-5'>編程</b>詳細(xì)介紹](https://file1.elecfans.com/web2/M00/AD/76/wKgaomVNyySAU4AtAADtoZZ3PrM546.jpg)
模擬量處理程序設(shè)計(jì)實(shí)驗(yàn)
S7-200模擬量編程
模擬量模塊輸出的是什么,plc的優(yōu)點(diǎn)是什么
MCU處理模擬量的過程
![MCU<b class='flag-5'>處理</b><b class='flag-5'>模擬量</b>的過程](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
PLC系統(tǒng)模擬量數(shù)據(jù)的處理
SCL編程如何批量處理模擬量
PLC如何轉(zhuǎn)換處理模擬量信號?
![PLC如何轉(zhuǎn)換<b class='flag-5'>處理</b><b class='flag-5'>模擬量</b>信號?](https://file1.elecfans.com/web2/M00/8C/53/wKgZomSqZLKAe64hAAA4O2ktAv0574.png)
評論