• <ul id="ikuqo"></ul>
    <tfoot id="ikuqo"></tfoot>
    <tfoot id="ikuqo"></tfoot>
  • <ul id="ikuqo"><sup id="ikuqo"></sup></ul>
  • 閱讀 | 訂閱
    閱讀 | 訂閱
    控制系統(tǒng)

    使用Modbus協(xié)議建立S7-200與紫金橋軟件之間的通訊

    星之球激光 來源:中國(guó)自動(dòng)化網(wǎng)2012-01-05 我要評(píng)論(0 )   

    在使用西門子S7-200時(shí),在不增加其它通訊接口模塊時(shí),紫金橋軟件可以通訊PPI協(xié)議與S7-200直接通訊。但這種通訊方式由于受通訊協(xié)議本身限制,在通訊數(shù)據(jù)較多時(shí),通訊速度...

    在使用西門子S7-200時(shí),在不增加其它通訊接口模塊時(shí),紫金橋軟件可以通訊PPI協(xié)議與S7-200直接通訊。但這種通訊方式由于受通訊協(xié)議本身限制,在通訊數(shù)據(jù)較多時(shí),通訊速度相對(duì)較慢,使用Modbus協(xié)議則通訊速度可以提高約一倍。下面就介紹一下怎么使用Modbus協(xié)議建立S7-200與紫金橋軟件之間的通訊:

    硬件連接

    在使用Modbus協(xié)議時(shí),計(jì)算機(jī)與S7-200之間通訊直接使用PPI通訊電纜即可。但如果通訊距離較遠(yuǎn),或者需要將多個(gè)S7-200連接到一個(gè)通訊總線上時(shí),我們可以通過如下方法配制通訊鏈路。

    • 選配一個(gè)計(jì)算機(jī)通訊端口

    由于S7-200通訊端口物理層使用的是RS-485通訊規(guī)范,因此我們需要在計(jì)算機(jī)端增加一個(gè)RS-485通訊端口,才能與計(jì)算機(jī)通訊建立通訊。如果計(jì)算機(jī)閑置的串口,我們可以選配一個(gè)RS-232轉(zhuǎn)RS-484轉(zhuǎn)換器即可;如果沒有閑置的串口,我們通過在計(jì)算機(jī)中增加一個(gè)RS-485通訊卡也可以;現(xiàn)在很多計(jì)算機(jī)都有USB口,我們也可以在計(jì)算機(jī)上外接一個(gè)USB轉(zhuǎn)RS-485轉(zhuǎn)換器。

    • 連接通訊電纜

    S7-200的通訊端口是一個(gè)9孔(famel)D型插頭,針腳分布如下所示:

    針腳

    信號(hào)

    1

    地線 (RS-485 邏輯地)

    2

    24 V 地線 (RS-485 邏輯地)

    3

    信號(hào)B (RxD/TxD+)

    4

    RTS (TTL level)

    5

    地線 (RS-485 邏輯地)

    6

    (空)

    7

    24 V 電源

    8

    信號(hào)A (RxD/TxD-)

    9

    通訊選擇

    S7-200通訊端口(端口0)與RS-485板卡或RS-485/RS-232轉(zhuǎn)換器之間接線,如下圖所示:

    S7-200編程及設(shè)置

    在缺省情況下S7-200的通訊端口是不支持Modbus協(xié)議的,要想實(shí)現(xiàn)Modbus通訊必需在PLC的主程序模塊中調(diào)用Modbus通訊子程序。Modbus通訊子程序可以從“STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN附件:指令庫(kù))”中獲得。在安裝了“STEP 7-Micro/WIN附件:指令庫(kù)”后,在導(dǎo)航樹“指令/庫(kù)”下面我們可以找到“Modbus Protocol”。在其下面包含了MBUS_INIT和MBUS_SLAVE兩個(gè)子程序,MBUS_INIT用于對(duì)Modbus通訊進(jìn)行初始化,MBUS_SLAVE用于在指定端口上提供Modbus從站通訊服務(wù)。下在介紹如何在主程序中調(diào)相關(guān)子程序及環(huán)境參數(shù)設(shè)置:

    調(diào)用Modbus通訊初始化命令

    首先為MBUS_INIT命令建立一個(gè)觸發(fā)條件(只觸發(fā)一次),如:SM0.1;從導(dǎo)航樹“指令/庫(kù)/ Modbus Protocol”下面,將MBUS_INIT指令拖拽到主程序塊中。再就是正確設(shè)置MBUS_INIT各項(xiàng)調(diào)用參數(shù)和執(zhí)行結(jié)果輸出地址,我們可以建立一下如下圖所示初始化調(diào)用過程:

    Mode:協(xié)議類型,1-Modbus協(xié)議;0-PPI協(xié)議。

    Addr: PLC地址,1~247,。

    Baud: 通訊波特率,1200、2400、4800、9600、19200、38400、57600或11520。

    Parity: 校驗(yàn)方式,0-無校驗(yàn);1-奇數(shù)校驗(yàn);2-偶數(shù)校驗(yàn)。

    Delay:信息結(jié)束超時(shí)時(shí)間,0~32767,有線連接設(shè)置為0即可。

    MaxIQ:0~128,映射在離散輸入寄存器或離散輸出寄存器中的I或Q數(shù)。建議為:128。

    MaxAI:0~32;映射在模擬輸入寄存器中AIW數(shù);CPU 221為0,CPU 222為16,CPU 224、226和226XM為32。

    MaxHold:V內(nèi)存映射在保持寄存器中的寄存器數(shù)。

    HoldStart:V內(nèi)存的映射時(shí)的起始地址。

    Done:初始化指完成時(shí),輸出為開狀態(tài);開關(guān)量(Bit)。

    Error:初始化錯(cuò)誤代碼,請(qǐng)參閱Modbus從機(jī)協(xié)議執(zhí)行錯(cuò)誤代碼;輸出為字節(jié)。

    調(diào)用Modbus從機(jī)通訊命令

    初始化完成后,就可以調(diào)用Modbus從機(jī)通訊命令(MBUS_SLAVE)了。通常Modbus從機(jī)通訊命令在主程序塊的每個(gè)執(zhí)行周期都要初執(zhí)行(始終保持通訊狀態(tài)),因?yàn)榭梢杂靡粋€(gè)常開量作為命令的觸發(fā)條件,如:SM0.0。從導(dǎo)航樹“指令/庫(kù)/ Modbus Protocol”下面,將MBUS_SLAVE指令拖拽到主程序塊中。調(diào)用過程如下圖所示:

    Done: 當(dāng)MBUS_SLAVE指令響應(yīng)對(duì)Modbus請(qǐng)求時(shí),"Done"為開狀態(tài)。沒通訊請(qǐng)求時(shí)"Done"為關(guān)狀態(tài)。

    Error:指令執(zhí)行結(jié)果。只有"Done"為開狀態(tài)時(shí),此狀態(tài)有效。請(qǐng)參閱Modbus從機(jī)協(xié)議執(zhí)行錯(cuò)誤代碼;輸出為字節(jié)。

    庫(kù)存儲(chǔ)區(qū)分配

    在完成前面兩個(gè)指令調(diào)用后,還要為庫(kù)指令使用的符號(hào)分配內(nèi)存。當(dāng)庫(kù)指令被插入到主程序塊中,在導(dǎo)航樹“程序塊”下會(huì)出現(xiàn)一個(gè)“庫(kù)”節(jié)點(diǎn)。在“庫(kù)”節(jié)點(diǎn)上點(diǎn)擊鼠標(biāo)右鍵,在彈出菜單中選擇“庫(kù)存儲(chǔ)區(qū)”,進(jìn)入“庫(kù)存儲(chǔ)區(qū)分配”對(duì)話框。

    在地址框中輸入分配內(nèi)存的開始地址,或者通過點(diǎn)擊“建議地址”按鈕自動(dòng)分配內(nèi)存。注意,分配的內(nèi)存不要與已使用的內(nèi)存重疊。

    紫金橋軟件組態(tài)

    完成PLC編程和配制后,還要對(duì)紫金橋軟件進(jìn)行配制,這樣才能獲取、處理、查測(cè)、存儲(chǔ)和顯示相應(yīng)的數(shù)據(jù)。組態(tài)過程分為兩個(gè)步驟:(1)設(shè)備組態(tài),即建立一個(gè)與PLC相對(duì)應(yīng)的邏輯設(shè)備;(2)點(diǎn)組態(tài),即建立過程數(shù)據(jù)庫(kù)點(diǎn)的過程參量與PLC中變量的對(duì)應(yīng)關(guān)系,從而利用點(diǎn)的自身功能進(jìn)行處理、檢測(cè)和存儲(chǔ)。當(dāng)然要將過程數(shù)據(jù)在計(jì)算機(jī)上展現(xiàn)給用戶,還要進(jìn)行交互界面(窗口)組態(tài)。但這一過程對(duì)所有應(yīng)用是相同這,這里就不介紹了。#p#分頁(yè)標(biāo)題#e#

    設(shè)備組態(tài)

    設(shè)備組態(tài)就根據(jù)PLC使用的通訊協(xié)議及在網(wǎng)上的節(jié)點(diǎn)地址、端口屬性等對(duì)通訊參數(shù)進(jìn)行定義的過程。

    進(jìn)入紫金橋開發(fā)環(huán)境,將導(dǎo)航樹切換到“數(shù)據(jù)庫(kù)”,在導(dǎo)航樹上選擇“設(shè)備驅(qū)動(dòng)/MODBUS/
    MODBUS(ASCII&RTU串口通訊)”,單擊鼠標(biāo)右鍵,在單出菜單中選擇“增加設(shè)備驅(qū)動(dòng)”會(huì)彈出發(fā)下所示對(duì)話框:

    在對(duì)話框中輸入設(shè)備名稱、設(shè)備地址(與PLC中MBUS_INIT初始化的Addr參數(shù)一致),選擇串口號(hào),并且設(shè)置(點(diǎn)擊“設(shè)置”按鈕)端口屬性,使用它與PLC中MBUS_INIT命令設(shè)置的屬性一致。點(diǎn)擊“下一步”:

    在Modbus設(shè)備定義對(duì)話框中將協(xié)議類型選擇為“RTU”,存貯器類型選擇“32位”(即長(zhǎng)整和浮點(diǎn)型4字節(jié)的數(shù)據(jù)的傳送格式為高位在前,低位在后)。單擊“完成”按鈕,則設(shè)備組態(tài)完成。

    點(diǎn)組態(tài)及I/O連接

    完成了點(diǎn)組態(tài)還要進(jìn)行點(diǎn)組態(tài)I/O連接,這樣才能將PLC中的變量映射到紫金橋軟件中。

    進(jìn)入紫金橋開發(fā)環(huán)境,將導(dǎo)航樹切換到“數(shù)據(jù)庫(kù)”,在導(dǎo)航樹上雙擊“點(diǎn)組態(tài)”,進(jìn)入點(diǎn)組窗口:

    選擇點(diǎn)類型,建點(diǎn),設(shè)置常規(guī)參數(shù)是點(diǎn)組態(tài)的基本操作,對(duì)所有應(yīng)用是相同的,這里就不詳細(xì)說明了。下面重點(diǎn)介紹一下I/O連接及與變量對(duì)應(yīng)關(guān)系。

    這里以模擬I/O點(diǎn)的I/O連接為例。新建一個(gè)模擬I/O點(diǎn)后,輸入點(diǎn)名,切換到“數(shù)據(jù)連接”屬性頁(yè):

    從該屬性的設(shè)備列表框中選擇在上一步驟中建立的設(shè)備(如:MOD),點(diǎn)擊“增加連接項(xiàng)”按鈕,進(jìn)入“Modbus組點(diǎn)對(duì)話框”:

    這里的“內(nèi)存區(qū)”、“偏置”和“數(shù)據(jù)格式”是與PLC中部分內(nèi)存類型和地址相對(duì)應(yīng)的。對(duì)于在Modbus協(xié)議中不能對(duì)應(yīng)的PLC內(nèi)存類型,如果需要上傳到過程數(shù)據(jù)庫(kù)中,可以先它們先移動(dòng)到V內(nèi)存區(qū),再通過V內(nèi)存區(qū)讀取。S7-200內(nèi)存區(qū)與紫金橋I/O連接對(duì)應(yīng)關(guān)系如下所示:


     

     

    S7-200地址

    紫金橋軟件I/O連接

    內(nèi)存區(qū)

    偏置

    Q0.0

    DO離散輸出量

    0

    Q0.1

    1

    Q0.2

    2

    ……(Qm.n)

    ……(m*8+n)

    Q15.6

    126

    Q15.7

    127

    I0.0

    DI離散輸入量

    0

    I0.1

    1

    I0.2

    2

    ……(Im.n)

    ……(m*8+n)

    I15.6

    126

    I15.7

    127

    AIW0

    AR輸入寄存器

    0

    AIW2

    1

    AIW4

    2

    ……(AIW2n)

    ……(n)

    AIW62

    31

    Hold Start(如:VB0)

     

    0

    Hold Start+2(如:VB2)

     

    1

    Hold Start+4(如:VB4)

     

    2

    ……

     

    ……

    Hold Start+(HoldMax-1)*2

     

    HoldMax-1

    #p#分頁(yè)標(biāo)題#e#

    在完成存貯區(qū)和地址組態(tài),還要注意一點(diǎn)就是數(shù)據(jù)類型一致性,只有類型一致才能從PLC上獲得正確數(shù)據(jù)。我們可以從“數(shù)據(jù)格式”中選擇格式。對(duì)于字寄存器我們也可以將它拆分為位,從而獲得某個(gè)位的狀態(tài)。

    注:對(duì)新組態(tài)的數(shù)據(jù)庫(kù)點(diǎn)只有重新啟動(dòng)后才會(huì)生效。

     

    轉(zhuǎn)載請(qǐng)注明出處。

    暫無關(guān)鍵詞
    免責(zé)聲明

    ① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
    ② 凡本網(wǎng)注明其他來源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系我們刪除。
    ③ 任何單位或個(gè)人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請(qǐng)及時(shí)向本網(wǎng)提出書面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會(huì)依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

    網(wǎng)友點(diǎn)評(píng)
    0相關(guān)評(píng)論
    精彩導(dǎo)讀