《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > S7-200與紫金橋Modbus從機的通信
S7-200與紫金橋Modbus從機的通信
紫金橋軟件技術(shù)有限公司
摘要: 很多自動化工程師在實際應(yīng)用中使用組態(tài)軟件與PLC進行modbus通訊,組態(tài)軟件作為主站PLC作為從站。組態(tài)軟件來采集PLC數(shù)據(jù)使用這種方式是比較常見的。
Abstract:
Key words :

一、概述

很多自動化工程師在實際應(yīng)用中使用組態(tài)軟件與PLC進行modbus通訊,組態(tài)軟件作為主站PLC作為從站。組態(tài)軟件來采集PLC數(shù)據(jù)使用這種方式是比較常見的。但是反向的利用modbus協(xié)議讓PLC去讀組態(tài)軟件里的數(shù)據(jù)確有著特殊的意義,在某些工控場合也是很好解決方案。紫金橋軟件在組態(tài)軟件行業(yè)里首先推出了modbus server,既紫金橋modbus server可以作為modbus從機為其他軟件和硬件設(shè)備提供數(shù)據(jù),在這篇文章中對此功能我們詳細地加以介紹。

二、S7-200 Modbus主站的實現(xiàn)

1、S7-200 Modbus 通信協(xié)議介紹

Modbus 是一種單主站的主/從通信模式。Modbus 網(wǎng)絡(luò)上只能有一個主站存在,主站在 Modbus 網(wǎng)絡(luò)上沒有地址,從站的地址范圍為 0 - 247,其中 0 為廣播地址,從站的實際地址范圍為 1 - 247。在 S7-200 CPU 通信口上實現(xiàn)的是 RS485 半雙工通信,使用的是 S7-200 的自由口能。S7-200支持 Modbus 通信協(xié)議: S7-200 CPU 上的通訊口 0 和 1 (Port 0 和 Port 1)通過指令庫支持 Modbus RTU 主站模式。

2、S7-200 Modbus主站的配置

西門子在 Micro/WIN V4.0 SP5 中正式推出 Modbus RTU 主站協(xié)議庫(西門子標(biāo)準(zhǔn)庫指令)。要使用 Modbus RTU 主站指令庫,須遵循下列步驟:

⑴安裝西門子標(biāo)準(zhǔn)指令庫

⑵按照要求編寫用戶程序調(diào)用 Modubs RTU 主站指令庫 Modbus RTU 主站功能編程使用 SM0.0 調(diào)用 MBUS_CTRL 完成主站的初始化,并啟動其功能控制:

具體參數(shù)的解釋如下:

EN使能:必須保證每一掃描周期都被使能(使用SM0.0)

Mode模式:常為1,使能 Modbus 協(xié)議功能;為0 時恢復(fù)為系統(tǒng) PPI 協(xié)議

Baud波特率:設(shè)為9600,要與從站波特率對應(yīng)

Parity校驗:校驗方式選擇 0=無校驗

Timeout超時:主站等待從站響應(yīng)的時間,以毫秒為單位,典型的設(shè)置值為1000毫秒(1秒),允許設(shè)置的范圍為 1-32767。注意:這個值必須設(shè)置足夠大以保證從站有時間響應(yīng)。

Done完成位:初始化完成,此位會自動置1。可以用該位啟動 MBUS_MSG 讀寫操作

Error初始化錯誤代碼(只有在 Done 位為1時有效):

0=無錯誤

1=校驗選擇非法

2=波特率選擇非法

3=模式選擇非法

⑶調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求;

如圖1所示,具體參數(shù)設(shè)置如下:

Slave從站地址:可選擇的范圍 1-247

RW讀寫操作:0=讀, 1=寫

注意:1. 開關(guān)量輸出和保持寄存器支持讀和寫功能

2. 開關(guān)量輸入和模擬量輸入只支持讀功能

Addr讀寫從站的數(shù)據(jù)地址:選擇讀寫的數(shù)據(jù)類型 00001至0xxxx-開關(guān)量輸出10001至1xxxx-開關(guān)量輸入

30001至3xxxx-模擬量輸入

40001至4xxxx-保持寄存器

Count通訊的數(shù)據(jù)個數(shù)(位或字的個數(shù))

注意: Modbus主站可讀/寫的最大數(shù)據(jù)量為120個字(是指每一個 MBUS_MSG 指令)

DataPtr數(shù)據(jù)指針:1. 如果是讀指令,讀回的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中

2. 如果是寫指令,要寫出的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中

Done讀寫功能完成位

 

圖1西門子Modbus RTU 主站協(xié)議庫

 

三、紫金橋軟件Modbus從站的實現(xiàn)

1、紫金橋modbus server的設(shè)置

Modbus 服務(wù)器可以把紫金橋數(shù)據(jù)庫中的點映射為Modbus 設(shè)備的HR 寄存器,當(dāng)前版本為3.0,支持串口和TCP/IP訪問方式,支持HR區(qū)的讀和寫方式。也就是說支持03、06、16 號命令。

具體操作是先在紫金橋軟件的安裝目錄中找到 ModbusSerSet.exe 并運行。其中左側(cè)為變量配置顯示區(qū),它分為三列,分別是序號、數(shù)據(jù)庫位號和Modbus 地址。后兩列的意義是把某一個數(shù)據(jù)庫位號和一個Modbus 地址建立映射關(guān)系。然后再調(diào)出系統(tǒng)設(shè)置對話框配置從機地址、串口等參數(shù)或以太網(wǎng)端口號、數(shù)據(jù)格式等。

2、通訊過程

配置完成后,先運行紫金橋軟件然后在紫金橋軟件的安裝目錄中找到 ModbusServer.exe 并運行。

從上面的通訊過程看到,S7-200與紫金橋modbus server通訊的響應(yīng)速度為毫秒級的。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。