自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

當前位置:機電之家首頁 >> PLC技術(shù)>> PLC基礎(chǔ) >> PLC通信 >> 使用A5進行MODBUS通訊
使用A5進行MODBUS通訊

一、              A5作為MODBUS從機
正航A5系列PLC(以下簡稱A5)有1~2個RS232/RS485通訊口,默認為MODBUS-RTU從機,可直接使用MODBUS-RTU協(xié)議訪問。
A5通訊口的默認設(shè)置如下:
MODBUS地址:1;波特率:9600;數(shù)據(jù)位:8位;停止位:1位;校驗位:無校驗。
若您沒有對A5的通訊進行任何設(shè)置,則可以直接按照上面所述的配置與A5進行通訊。
0x寄存器
1x寄存器
3x寄存器
4x寄存器
A5內(nèi)部
寄存器
MODBUS
地址
A5內(nèi)部
寄存器
MODBUS
地址
A5內(nèi)部
寄存器
MODBUS
地址
A5內(nèi)部
寄存器
MODBUS
地址
數(shù)字量輸出
Q0.0
1
數(shù)字量輸入
I0.0
1
模擬輸入
AIW0
1
中間寄存器
VW0
1
Q0.1
2
I0.1
2
AIW2
2
VW2
2
Q0.7
8
I0.7
8
AIW14
8
VW14
8
Q1.0
9
I1.0
9
AIWX
對應X/2+1
VW16
9
Q1.1
10
I1.1
10
模擬輸出
AQW0
9
VW18
10
Q1.2
11
I1.2
11
AQW2
10
VW20
11
Q…
18
I…
AQWX
對應X/2+9
V…
Q15.7
19
I15.7
128
 
 
VW1998
1000
QA.B
對應A*8+B+1
IA.B
對應A*8+B+1
 
 
VWX
對應
X/2+1
中間繼電器
M0.0
129
 
 
 
 
 
 
 
 
 
M0.1
130
 
 
 
 
 
 
 
 
M…
 
 
 
 
 
 
 
 
M15.7
256
 
 
 
 
 
 
 
 
MA.B
對應A*8+B+129
 
 
 
 
 
 
 
 
使用MODBUS協(xié)議時,A5內(nèi)部的地址與MODBUS協(xié)議規(guī)定的地址如上表所示。
 
二、              A5作為MODBUS主機
A5可以作為MODBUS主機訪問其它MODBUS設(shè)備,當然也可以訪問其它A5。
使用A5作為主機時,需要用到MODX指令及SMB95、SMB96和SMB97三個寄存器。
MODX指令的作用是發(fā)出用戶指定的MODBUS命令,若收到從機發(fā)回的命令,則將收回的內(nèi)容放置在用戶制定的區(qū)域。
SMB95寄存器的0位表示MODBUS是否空閑,1位表示接收的命令是否校驗正確,2位表示是否超時。
SMB96是用戶設(shè)定的超時寄存器,以100ms為單位。若值為0,則沒有超時設(shè)置。
SMB97表示從A5發(fā)出命令到目前為止過了多長時間,以100ms為單位。當SMB97> SMB96時,SMB95的2位置1,0位清0,結(jié)束本次MODBUS通訊。
使用A5作為MODBUS主機的具體用法及過程如下:
1、                  創(chuàng)建一個參數(shù)表,包括MODBUS命令的主要內(nèi)容
可以使用MOVB指令,也可以使用表指令來構(gòu)建參數(shù)表。
參數(shù)表的第一個字節(jié)表示此參數(shù)表有幾個字節(jié)(不包括本字節(jié))。從第二個字節(jié)開始是MODBUS指令,具體可以參見MODBUS協(xié)議的內(nèi)容。您可以不必做CRC校驗,MODX指令會自動為您添加CRC校驗字節(jié)。
下面是一個參數(shù)表的舉例:
地址
含義解釋
備注
VB0
6
本表中有6個字節(jié)
 
VB1
1
從機地址
參見MODBUS協(xié)議規(guī)定
VB2
3
MODBUS命令3(讀4x寄存器)
VB3
0
開始地址的高位
VB4
10
開始地址的低位
VB5
0
個數(shù)的高位
VB6
8
個數(shù)的低位
參數(shù)表第一個字節(jié)表明本參數(shù)表有6個字節(jié),從VB1~VB6。具體的值根據(jù)不同的命令會有所變化。
第2個字節(jié)開始都是由MODBUS協(xié)議規(guī)定的。本例中的MODBUS命令表示向地址為1的從機讀取從10地址開始的8個保持寄存器(4x寄存器)。
具體的指令如下:
l        梯形圖:

l        語句表
NETWORK   0
//首先創(chuàng)建一個表,MODBUS主機命令。
//本例中,創(chuàng)建了一個命令,訪問地址為1的從機
//MODBUS命令為3(讀中間寄存器),從地址10開始,8個寄存器。
LD        SM0.1
MOVB      6,VB0
MOVB      1,VB1
MOVB      3,VB2
MOVB      0,VB3
MOVB      10,VB4
MOVB      0,VB5
MOVB      8,VB6
 
2、                  設(shè)定通訊參數(shù)
為A5設(shè)定波特率、奇偶校驗等通訊參數(shù)。需注意的是,當作為MODBUS主站時,是不需要設(shè)定地址的。具體設(shè)定方法請參見第三節(jié)。
 
3、                  設(shè)定超時時間
當A5作為主機發(fā)送命令給從機后,等待從機回答。若一定時間沒有回復,則主機可以認為從機接收錯誤或從機故障。等待時間可以由SMB96設(shè)置,時間單位為100ms,因此等待時間可以從0.1秒(100ms)至25.5秒調(diào)整。若SMB96=0,則沒有超時限制。
l        梯形圖:

l        語句表
NETWORK   1
//設(shè)定超時時間為2S(100ms為單位),如果2S內(nèi)沒有反饋,則失敗
LD        SM0.1
MOVB      20,SMB96
 
4、                  使用MODX指令通訊
準備好通訊內(nèi)容和設(shè)置好通訊后,就可以使用MODX指令進行通訊了。MODX指令包含三個參數(shù):參數(shù)一表示使用哪個通訊口(目前A5系列只有0口支持MODBUS主機),參數(shù)二表示發(fā)送內(nèi)容參數(shù)表,參數(shù)三表示接收內(nèi)容放置位置。例如:
l        梯形圖:

l        語句表
NETWORK   2
//每隔0.5秒,如果上次讀取完成,再次讀取。
//讀取來的數(shù)據(jù)放在VB100開始的寄存器中
LD        SM0.5
AN        SM95.0
EU       
MODX      0,VB0,VB100
上面的語句表示,A5從0號通訊口發(fā)送VB0開始的參數(shù)命令,并將接收到的從機回復內(nèi)容放置在VB101開始的地址區(qū)域,而VB100表示接收到的字節(jié)個數(shù)。
5、                  查詢SMB95的狀態(tài)以判斷通訊結(jié)果
使用MODX指令后,您可以根據(jù)SMB95字節(jié)的內(nèi)容來判斷目前的通訊狀態(tài)。
SM位
描述
SM95.0
當MODBUS功能空閑時,此位為0,等待從機回復時,此位為1
SM95.1
該位表示是否校驗錯誤。當收到的從機回復校驗錯誤時,此位=1
SM95.2
該位表示是否超時,1=超時
SM95.3
保留
SM95.4
保留
SM95.5
保留
SM95.6
保留
SM95.7
保留
 
SMB95寄存器的0位表示MODBUS是否空閑,1位表示接收的命令是否校驗正確,2位表示是否超時。
若SM95.0=1,則說明從機還沒有回復。若SM95.0=0,則說明從機已回復或已超時。
若SM95.1=1,則說明返回的信息校驗錯誤。
若SM95.2=1,說明等待已超時。
若SMB95=0,說明從機已回復信息并校驗正確。從機回復的信息內(nèi)容已放置在VB100開始的表中。
6、                  從機返回結(jié)果分析
當SMB95=0時,說明從機返回結(jié)果正確。假設(shè)VB100開始的內(nèi)容如下:
地址
數(shù)值
VB100
19
VB101
1
VB102
3
VB103
16
VB104
0
VB105
0
VB106
0
VB107
0
VB108
0
VB109
0
VB110
0
VB111
0
VB112
0
VB113
0
VB114
0
VB115
0
VB116
0
VB117
0
VB118
0
VB119
0
VB120
228
VB121
89
VB100表示從機返回的數(shù)據(jù)有19字節(jié)(不包含CRC校驗的最后兩個字節(jié))。VB101表示從機地址為1,VB102表示MODBUS命令號為3,VB103表示數(shù)據(jù)長度16字節(jié)。VB104~VB119是16字節(jié)的數(shù)據(jù)長度,表示主機想讀取的8個字(16字節(jié))的數(shù)據(jù)值。VB120和VB121是從機返回的CRC校驗值,您可以不必關(guān)心。
 
三、              調(diào)整通訊設(shè)置
通訊的波特率、數(shù)據(jù)位、停止位、校驗位等設(shè)置可以在SMB30中設(shè)置,最低兩位表示協(xié)議類型可設(shè)置為“00”(從機),當A5執(zhí)行MODX指令時,會自動將其設(shè)置為“10”(主機)。
四、              注意事項
l        A5只支持MODBUS-RTU,不支持MODBUS-ASCII。若您需要使用MODBUS-ASCII,可以使用A5的自由口通訊模式來編程實現(xiàn)。
l        MODBUS使用的是big endian模式,而A5使用的是little endian模式。所以當A5使用命令3讀取另一臺A5時,讀取的字高字節(jié)和低字節(jié)是相反的。因此使用MODBUS命令3讀取的對應關(guān)系如下圖所示:
 
 


作者:未知 點擊:1469次 [打印] [關(guān)閉] [返回頂部]
本文標簽:使用A5進行MODBUS通訊
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《使用A5進行MODBUS通訊》相關(guān)權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

黃經(jīng)理 【求購】  LS母線槽  2026-4-3
陳先生 【求購】  施耐德塑殼...  2026-4-2
譚經(jīng)理 【求購】  工業(yè)溫度計  2026-4-2
焦經(jīng)理 【求購】  液壓馬達  2026-4-2
周先生 【求購】  36號白油  2026-4-2
王經(jīng)理 【求購】  萊克斯洛面...  2026-4-2
柯經(jīng)理 【求購】  西奧電梯  2026-4-2
云南 【求購】  離心泵  2026-4-2
VIP公司推薦