久久精品一级无码视频|国产成人亚洲欧美一区综合|中文字幕无码不卡在线网站|色综合天天综合网在线观看

S7-1200作為客戶端訪問(wèn)單個(gè)服務(wù)器且單挑指令的編程方法

作者:管理員 點(diǎn)擊:16445次 發(fā)布時(shí)間:2022-11-03

1. 網(wǎng)絡(luò)拓?fù)鋱D

客戶端CPU 1211C

軟件:Portal V16

服務(wù)器:ZM14-8RTD-11(網(wǎng)口型8路三線熱電阻溫度采集器)

 圖片1.png

2. 新建工程,硬件設(shè)置

添加新設(shè)備

圖片2.png

設(shè)置PLCIP地址,子網(wǎng)在此應(yīng)用上可以不用添加。

圖片3.png


系統(tǒng)和時(shí)鐘存儲(chǔ)器勾選,地位我們分別定義在MB50MB51,后面編程會(huì)用到。

圖片4.png

3. MB_Client指令使用方法

先去了解MB_Client指令使用方法,這里就不再介紹其用法了。

圖片5.png

4. 添加必用的全局?jǐn)?shù)據(jù)區(qū)

添加2個(gè)數(shù)據(jù)區(qū):1個(gè)用于MB_Client指令CONNECT指針指向的數(shù)據(jù)區(qū)(在此為了區(qū)分命名為MB_TCP連接數(shù)據(jù)區(qū)_1),1個(gè)用于客戶端與服務(wù)器的數(shù)據(jù)收發(fā)區(qū)域。

圖片6.png

3.1 建立TCON_IP_v4系統(tǒng)數(shù)據(jù)并初始化參數(shù)

在“MB_TCP連接數(shù)據(jù)區(qū)_1”里面建立一個(gè)TCON_IP_v4,這個(gè)是系統(tǒng)數(shù)據(jù)類型,不是用戶數(shù)據(jù)類型,所以需要自己輸入,也可以COPY進(jìn)去。

圖片7.png

上圖上我們初始值鍵入interfaceld 64(16#40),需要與PN口硬件號(hào)一致。圖片18.png

ID號(hào)根據(jù)需求填寫(xiě),每使用1個(gè)MB_Client指令,ID號(hào)需要不一樣,ConnectionType保持默認(rèn)16#0B,ActiveEstablished初始化必須為1,否則啟用時(shí)會(huì)出錯(cuò),填寫(xiě)需要訪問(wèn)的服務(wù)器IP,192.168.0.200,遠(yuǎn)程端口號(hào)502,本地端口號(hào)0

3.2 在交換數(shù)據(jù)區(qū)建立對(duì)應(yīng)的變量

圖片8.png

ZM14-8RTD-118路三線制PT100熱電阻溫度采集模塊,溫度范圍-100~600℃,顯示-1000~6000的數(shù)據(jù),所以我們需要建立8個(gè)有符號(hào)整型數(shù)據(jù),變量名AI,數(shù)據(jù)類型Array[0..7]of Int8個(gè)有符號(hào)整形數(shù)據(jù)。

5. 建立客戶端訪問(wèn)單個(gè)服務(wù)器程序段

4.1. 調(diào)用MB_Client指令

圖片9.png

4.2. 背景區(qū)

自動(dòng)生成數(shù)據(jù)背景區(qū)DB1即可,也可自定義其它號(hào)的DB。

4.3. REQDISCONNET、MB_MODE、MB_DATA_ADDRMB_DATA_LEN的使用

這里使用系統(tǒng)時(shí)鐘指令M51.0,10HZ100mS一個(gè)上升沿來(lái)觸發(fā)REQ,DISCONNET需要設(shè)置為FALSE,功能碼、地址 、長(zhǎng)度根據(jù)ZM14-8RTD的相關(guān)參數(shù)設(shè)置,具體參考下表

PLC地址

Modbus地址

數(shù)據(jù)類容

功能碼 16#

長(zhǎng)度(INT

30001

0X 00

熱電阻溫度×10

04(讀)

1

30002

0X 01

熱電阻溫度×10

04(讀)

1

30003

0X 02

熱電阻溫度×10

04(讀)

1

……

……

……

……

……

30008

0X 07

熱電阻溫度×10

04(讀)

1

我們使用功能號(hào)104,地址0,數(shù)據(jù)長(zhǎng)度8

圖片10.png

4.4. MB_DATA_PTR的使用

MB_DATA_PTR指向上面已建立的數(shù)據(jù)收發(fā)區(qū),注意:指針不要指向具體的一個(gè)變量,比如變量AI[0],如果這樣會(huì)造成MB_Client通訊狀態(tài)的ERROR標(biāo)志置1,STATUS狀態(tài)代碼16#8383。應(yīng)該需要指向AI變量的地址指針,而不是數(shù)據(jù)首地址,如下圖,應(yīng)選擇無(wú)。

圖片11.png

選擇“無(wú)”后顯示下圖

圖片12.png

若數(shù)據(jù)交換區(qū)建立的數(shù)據(jù)變量只建立了一個(gè)數(shù)組變量,指針也可以指向DB區(qū)的首地址指針,如下圖

圖片13.png

選擇“無(wú)”后顯示為下圖

圖片14.png

4.5. CONNECT的使用

圖片15.png

CONNECT指向建立的系統(tǒng)數(shù)據(jù)區(qū)的首地址即可,同MB_DATA_PTR的使用一樣,也不要指向內(nèi)部具體的一個(gè)數(shù)據(jù)地址,選“無(wú)”即可。

4.6. DONE、BUSY、ERRORSTATUS

這幾個(gè)是MB_Client指令的輸出狀態(tài),在監(jiān)視狀態(tài)可查看其值來(lái)判斷有沒(méi)有錯(cuò)誤信息,對(duì)編程很有幫助。

6. MB_Client背景數(shù)據(jù)區(qū)參數(shù)設(shè)置

其中的MB_UNIT_ID的設(shè)置尤為重要,西門(mén)子默認(rèn)是16#FF,但實(shí)際運(yùn)用中會(huì)根據(jù)作為服務(wù)器的擴(kuò)展IO模塊的實(shí)際通訊站地址來(lái)設(shè)置。

ZM14-8RTD-11,通訊站地址為01即撥碼開(kāi)關(guān)前7位設(shè)置為“1000000”,則MB_UNIT_ID需要初始化設(shè)置成01;

圖片16.png

也可將撥碼開(kāi)關(guān)前7位都撥到OFF狀態(tài)“0000000”,即通訊站地址16#FF,這里的MB_UNIT_ID就可以不需要改變了。

7. 編譯、下載、查看狀態(tài)

編譯組態(tài)及程序,然后下載。

在監(jiān)視狀態(tài)下查看DONEBUSY、ERROR、STATUS狀態(tài),DONE、BUSY的狀態(tài)是TRUE、FALSE之間變換,而ERROR的狀態(tài)沒(méi)有TRUESTATUS狀態(tài)輸出字是16#7004、7005、7006來(lái)回變化,證明通訊成功。

圖片17.png

不足的是我們用的系統(tǒng)時(shí)鐘指令M51.0,定時(shí)100mS來(lái)觸發(fā)REQ的,因?yàn)檫@種觸發(fā)沒(méi)有在乎主、從通訊是否已經(jīng)完成,只要100mS時(shí)間段一到就會(huì)觸發(fā)下一條指令,這個(gè)只適用于單個(gè)服務(wù)器的使用。

需要客戶端訪問(wèn)單個(gè)服務(wù)器(單指令、多指令)、多個(gè)服務(wù)器示例程序,

請(qǐng)聯(lián)系技術(shù)顧問(wèn):朱經(jīng)理15983845957微信同號(hào)。



德陽(yáng)旭捷科技有限公司

怀柔区| 福清市| 阳山县| 乌拉特后旗| 赣州市| 依安县| 万载县| 潼关县| 梁山县| 将乐县| 临泉县| 修武县| 闽清县| 郓城县| 马鞍山市| 沐川县| 静乐县| 当雄县| 肇源县| 黄骅市| 林芝县| 锡林浩特市| 沂水县| 九龙坡区| 凤阳县| 海兴县| 临夏市| 南陵县| 台中市| 南溪县| 万年县| 无极县| 长垣县| 冀州市| 闵行区| 宿州市| 曲阜市| 政和县| 泗洪县| 砚山县| 罗田县|