三維力控工控自動(dòng)化軟件通訊介紹_第1頁
三維力控工控自動(dòng)化軟件通訊介紹_第2頁
三維力控工控自動(dòng)化軟件通訊介紹_第3頁
三維力控工控自動(dòng)化軟件通訊介紹_第4頁
三維力控工控自動(dòng)化軟件通訊介紹_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

力控?

科技產(chǎn)品通訊

通訊組力控?軟件與硬件或其他軟件通訊

串口通訊1

力控I/O設(shè)備組態(tài)3

串口調(diào)試助手和串口監(jiān)視工具的使用2

力控軟件與其他軟件的OPC通訊5

Modbus協(xié)議與力控Modbus驅(qū)動(dòng)4

通訊問題分析思路及處理方法6串口通訊一、RS-232CRS-232-C是美國(guó)電子工業(yè)協(xié)會(huì)EIA(ElectronicIndustryAssociation)制定的一種串行物理接口標(biāo)準(zhǔn),RS-232被定義為在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn),采取單端通訊。RS-232-C總線標(biāo)準(zhǔn)設(shè)有25條信號(hào)線,包括一個(gè)主通道和一個(gè)輔助通道,在多數(shù)情況下主要使用主通道,對(duì)于一般雙工通信,僅需幾條信號(hào)線就可實(shí)現(xiàn),如一條發(fā)送線、一條接收線及一條地線。RS-232屬單端信號(hào)傳送,傳輸距離短,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20米以內(nèi)的通信。RS-232-C總線標(biāo)準(zhǔn)DB25連接器引腳如右圖所示

9針串口(DB9)25針串口(DB25)針號(hào)功能說明縮寫針號(hào)功能說明縮寫1數(shù)據(jù)載波檢測(cè)DCD8數(shù)據(jù)載波檢測(cè)DCD2接收數(shù)據(jù)RXD3接收數(shù)據(jù)RXD3發(fā)送數(shù)據(jù)TXD2發(fā)送數(shù)據(jù)TXD4數(shù)據(jù)終端準(zhǔn)備DTR20數(shù)據(jù)終端準(zhǔn)備DTR5信號(hào)地GND7信號(hào)地GND6數(shù)據(jù)設(shè)備準(zhǔn)備好DSR6數(shù)據(jù)準(zhǔn)備好DSR7請(qǐng)求發(fā)送RTS4請(qǐng)求發(fā)送RTS8清除發(fā)送CTS5清除發(fā)送CTS9振鈴指示DELL22振鈴指示DELL引腳定義ch串口通訊串口通訊分兩種情況:1.同一種串口的接收腳和發(fā)送腳直接用線相連,對(duì)9針串口和25針串口,均是2與3直接相連;2.兩個(gè)不同串口(不論是同一臺(tái)計(jì)算機(jī)的兩個(gè)串口或是不同計(jì)算機(jī)的串口)

9針-9針25針-25針9針-25針233222322333557757RS232C串口通信接線方法(三線制)串口通訊二、RS422和RS485RS-422是一種單機(jī)發(fā)送、多機(jī)接收的單向、平衡傳輸規(guī)范,被命名為TIA/EIA-422-A標(biāo)準(zhǔn);RS-485標(biāo)準(zhǔn),增加多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一條總線上,RS-422、RS-485與RS-232不一樣,數(shù)據(jù)信號(hào)采用差分傳輸方式,也稱作平衡傳輸,它使用一對(duì)雙絞線,將其中一線定義為A,另一線定義為B串口通訊RS-422和RS485的電氣規(guī)定:RS-422標(biāo)準(zhǔn)全稱是“平衡電壓數(shù)字接口電路的電氣特性”,它定義了接口電路的特性。下圖是典型的RS-422四線接口,實(shí)際上還有一根信號(hào)地線,共5根線,允許在相同傳輸線上連接多個(gè)接收節(jié)點(diǎn),最多可接10個(gè)節(jié)點(diǎn)。即一個(gè)主設(shè)備(Master),其余為從設(shè)備(Salve),從設(shè)備之間不能通信,RS-422支持點(diǎn)對(duì)多的雙向通信。串口通訊RS-422需要一終接電阻,要求其阻值約等于傳輸電纜的特性阻抗,在短距離傳輸時(shí)可不需終接電阻,即一般在300米以下不需終接電阻,終接電阻接在傳輸電纜的最遠(yuǎn)端。RS-485是從RS-422基礎(chǔ)上發(fā)展而來的,所以RS-485許多電氣規(guī)定與RS-422相仿,如都采用平衡傳輸方式、都需要在傳輸線上接終接電阻等;RS-485可以采用二線與四線方式,二線制可實(shí)現(xiàn)真正的多點(diǎn)雙向通信;采用四線連接時(shí),與RS-422一樣只能實(shí)現(xiàn)點(diǎn)對(duì)多的通信,即只能有一個(gè)主(Master)設(shè)備,其余為從設(shè)備,但它比RS-422有改進(jìn),無論四線還是二線連接方式總線上可多接到32個(gè)設(shè)備。串口調(diào)試助手和串口監(jiān)視工具使用一、串口調(diào)試助手的使用串口調(diào)試助手和串口監(jiān)視工具使用先按照硬件或仿真軟件的協(xié)議設(shè)定波特率、數(shù)據(jù)位、停止位、校驗(yàn)位,“DTR:數(shù)據(jù)終端準(zhǔn)備好,RTS:請(qǐng)求發(fā)送”一般不勾選,串口按電腦實(shí)際連接的端口或虛擬端口進(jìn)行設(shè)定,點(diǎn)擊“無冗余校驗(yàn)復(fù)選框”,進(jìn)行起始字節(jié)、校驗(yàn)方式、結(jié)束符的設(shè)定;注意:對(duì)于Modbus(RTU)協(xié)議,校驗(yàn)方式選擇“CRC16”,Modbus(ACSII)協(xié)議校驗(yàn)方式選擇“LRC”,然后按照協(xié)議的請(qǐng)求幀輸入相關(guān)的16進(jìn)制或ACSII報(bào)文,最后點(diǎn)擊“打開串口和發(fā)送”即可,如果通訊成功,底下空白處會(huì)顯示回應(yīng)的報(bào)文,可將應(yīng)答報(bào)文和協(xié)議做比照,如果一致,數(shù)據(jù)采集或下置沒有問題,如果應(yīng)答報(bào)文和協(xié)議中規(guī)定的不一致或沒有應(yīng)答報(bào)文,請(qǐng)檢查發(fā)送的請(qǐng)求幀是否有誤或通訊線路連接是否正確。串口調(diào)試助手和串口監(jiān)視工具使用二、串口監(jiān)視工具的使用1.請(qǐng)?jiān)跍y(cè)試驅(qū)動(dòng)之前,打開此工具,在打開工具后點(diǎn)擊被紅方框圈中的按鈕,然后選擇相對(duì)應(yīng)的測(cè)試端口。串口調(diào)試助手和串口監(jiān)視工具使用2.然后點(diǎn)擊綠色的“開始”按鈕串口調(diào)試助手和串口監(jiān)視工具使用3.在測(cè)試驅(qū)動(dòng)的時(shí)候,該工具會(huì)獲取通信時(shí)發(fā)送的報(bào)文:串口調(diào)試助手和串口監(jiān)視工具使用4.請(qǐng)?jiān)诘玫綀?bào)文后,點(diǎn)擊”文件”按鈕,并選擇保存即可3力控?I/O設(shè)備組態(tài)一、力控軟件支持的通訊方式:與I/O設(shè)備之間一般通過以下幾種方式進(jìn)行數(shù)據(jù)交換:串行通信方式(RS232/422/485,支持Modem、電臺(tái)遠(yuǎn)程通信)、板卡方式、網(wǎng)絡(luò)節(jié)點(diǎn)(支持TCP/IP協(xié)議UDP/IP協(xié)議通訊)方式、適配器方式、DDE方式、OPC方式、網(wǎng)橋方式支持(GPRS、CDMA)等。二、通訊方式選擇:

1、同步(板卡、適配器、API等)同步方式一般是利用I/O設(shè)備制造廠家提供的安裝在計(jì)算機(jī)插槽中的專用接口卡與設(shè)備進(jìn)行通信,I/O卡一般直接插在計(jì)算機(jī)的擴(kuò)展總線上,如ISA、PCI等,然后利用開發(fā)商提供的驅(qū)動(dòng)程序或直接經(jīng)端口操作和軟件進(jìn)行通信,I/O設(shè)備與計(jì)算機(jī)間的通信完全由這塊專用接口卡管理并負(fù)責(zé)兩者之間的數(shù)據(jù)交換,現(xiàn)場(chǎng)總線網(wǎng)絡(luò)主要借助于這種方式,如MB+、LON、PROFIBUS等。力控?I/O設(shè)備組態(tài)2、串口(RS232/422/485):力控軟件是通過標(biāo)準(zhǔn)的RS-232、RS-422、RS-485等方式與設(shè)備進(jìn)行通信;另外,使用RS-232互連的計(jì)算機(jī)串口和設(shè)備通信口還可以用Modem、電臺(tái)、GPRS/CDMA等方式通信。3、TCP/IP網(wǎng)絡(luò)、UDP/IP網(wǎng)絡(luò):無論是局域網(wǎng)、廣域網(wǎng)、移動(dòng)網(wǎng),支持TCP/IP或者UDP/IP等標(biāo)準(zhǔn)網(wǎng)絡(luò)通訊協(xié)議,就可以進(jìn)行網(wǎng)絡(luò)節(jié)點(diǎn)之間的數(shù)據(jù)傳遞。4、網(wǎng)橋(GPRS、CDMA等):針對(duì)DTU模塊、無限通訊的RTU模塊、力控Commserver擴(kuò)展組件,可以選擇此方式通訊。力控?I/O設(shè)備組態(tài)5、Modem:針對(duì)無線電臺(tái)的硬件通訊設(shè)備接入力控軟件的通訊,選擇此種方式三、I/O設(shè)備組態(tài)的基本參數(shù)含義:1、設(shè)備地址:硬件設(shè)備的物理地址或軟件的設(shè)定地址,力控I/O設(shè)備組態(tài)時(shí)的設(shè)備地址與硬件設(shè)備的物理地址或軟件的設(shè)定地址保持一致。2、更新周期:I/O設(shè)備在連續(xù)兩次處理相同數(shù)據(jù)包的采集任務(wù)時(shí)的時(shí)間間隔。更新周期的設(shè)置一定要考慮到物理設(shè)備的實(shí)際特性,對(duì)有些通訊能力不強(qiáng)的通訊設(shè)備,更新周期設(shè)置過小,導(dǎo)致頻繁采集物理設(shè)備,增加設(shè)備的處理負(fù)荷,甚至出現(xiàn)通信中斷的情況。3、超時(shí)時(shí)間:在處理一個(gè)數(shù)據(jù)包的讀寫操作時(shí),等待物理設(shè)備正確響應(yīng)的時(shí)間。力控?I/O設(shè)備組態(tài)4、故障后恢復(fù)查詢周期:對(duì)于多點(diǎn)共線的情況,在同一RS485/422總線上連接多臺(tái)物理設(shè)備時(shí),若有一臺(tái)設(shè)備發(fā)生故障,驅(qū)動(dòng)程序能夠自動(dòng)診斷并停止采集與該設(shè)備相關(guān)的數(shù)據(jù),但會(huì)每隔一段時(shí)間嘗試恢復(fù)與該設(shè)備的通訊。間隔的時(shí)間即為該參數(shù)設(shè)置,時(shí)間單位為秒。5、故障后恢復(fù)查詢最大時(shí)限:若驅(qū)動(dòng)程序在一段時(shí)間之內(nèi)一直不能恢復(fù)與設(shè)備的通訊,則不再嘗試恢復(fù)與設(shè)備通訊,這一時(shí)間就是指最大時(shí)限的時(shí)間。四、高級(jí)通訊參數(shù)配置:力控?I/O設(shè)備組態(tài)力控?I/O設(shè)備組態(tài)1、設(shè)備掃描周期:每次處理完該設(shè)備采集任務(wù)到下一次開始處理的時(shí)間間隔。當(dāng)用戶希望對(duì)設(shè)備的采集過程盡可能的快,即:處理完成設(shè)備的本次采集任務(wù)后,立即開始下一次的采集任務(wù),此時(shí)可將該參數(shù)設(shè)為1ms。當(dāng)用戶希望對(duì)設(shè)備的采集任務(wù)的處理間隔進(jìn)行精確的控制時(shí),例如:通過GPRS通信方式進(jìn)行采集,希望精確控制采集間隔時(shí)間以便有效控制通信流量和費(fèi)用,則需要根據(jù)實(shí)際情況準(zhǔn)確設(shè)置該參數(shù)。2、命令間隔周期:連續(xù)的兩個(gè)數(shù)據(jù)包采集的最小間隔時(shí)間。此設(shè)置主要是針對(duì)一些通訊能力不強(qiáng)的通訊設(shè)備的設(shè)置,如果這種設(shè)備采集頻率過快,力控?I/O設(shè)備組態(tài)會(huì)導(dǎo)致設(shè)備的通訊負(fù)荷很重,有可能造成通訊失敗。通過給數(shù)據(jù)包之間設(shè)置合適的間隔時(shí)間,就可以有效此類問題。命令間隔周期與更新周期的區(qū)別,如下圖所示:力控?I/O設(shè)備組態(tài)3、數(shù)據(jù)包采集失敗后重試()次:力控驅(qū)動(dòng)程序在采集某一數(shù)據(jù)包如果發(fā)生超時(shí),會(huì)重復(fù)采集當(dāng)前數(shù)據(jù)包,重復(fù)的次數(shù)即為該參數(shù)設(shè)置。4、數(shù)據(jù)包下置失敗后重試()次:

力控驅(qū)動(dòng)程序在執(zhí)行某一數(shù)據(jù)項(xiàng)下置命令時(shí)發(fā)生超時(shí),會(huì)重復(fù)執(zhí)行該操作,重復(fù)的次數(shù)即為該參數(shù)設(shè)置5、設(shè)備連續(xù)采集失?。ǎ┐无D(zhuǎn)為故障:

驅(qū)動(dòng)程序內(nèi)部對(duì)每個(gè)邏輯設(shè)備都設(shè)置了一個(gè)計(jì)數(shù)器,記錄設(shè)備連續(xù)產(chǎn)生的超時(shí)次數(shù)(無論是不是同一個(gè)數(shù)包產(chǎn)生的超時(shí),都會(huì)被計(jì)數(shù)器累計(jì))。當(dāng)超時(shí)次數(shù)超出該參數(shù)設(shè)置后,這個(gè)邏輯設(shè)備即被標(biāo)為故障狀態(tài)。力控?I/O設(shè)備組態(tài)處于故障狀態(tài)的設(shè)備將不再按照“更新周期”的時(shí)間參數(shù)對(duì)其進(jìn)行采集,而是按照“故障后恢復(fù)查詢”的“周期”時(shí)間參數(shù)每隔一段時(shí)間嘗試恢復(fù)與該設(shè)備的通訊。6、包故障恢復(fù)周期:

在一個(gè)邏輯設(shè)備內(nèi)如果涉及對(duì)多個(gè)數(shù)據(jù)包的采集,當(dāng)某個(gè)數(shù)據(jù)包發(fā)生故障(例如:Modbus設(shè)備中某個(gè)數(shù)據(jù)包指定無效的地址)時(shí),驅(qū)動(dòng)程序能夠自動(dòng)診斷并停止采集該數(shù)據(jù)包,但會(huì)每隔一段時(shí)間嘗試與該數(shù)據(jù)包的通信,間隔的時(shí)間即為該參數(shù)設(shè)置,時(shí)間單位為秒。力控?I/O設(shè)備組態(tài)7、動(dòng)態(tài)優(yōu)化:該參數(shù)用于提高對(duì)設(shè)備的采集效率。8、初始禁止:選擇該參數(shù)選項(xiàng)后,在開始啟動(dòng)力控運(yùn)行系統(tǒng)后,驅(qū)動(dòng)程序會(huì)將該設(shè)備置為禁止?fàn)顟B(tài),所有對(duì)該設(shè)備的讀寫操作都將無效。若要激活該設(shè)備,需要在腳本程序中調(diào)用DEVICEOPEN()函數(shù)。該選項(xiàng)主要用于在某些工程應(yīng)用中,雖然系統(tǒng)已經(jīng)投入運(yùn)行,但部分設(shè)備尚未安裝、投用,需要滯后啟用的情況。力控?I/O設(shè)備組態(tài)9、包采集立即提交:

在缺省情況,當(dāng)一個(gè)數(shù)據(jù)包采集成功后,驅(qū)動(dòng)程序并不馬上將采集到的數(shù)據(jù)提交給數(shù)據(jù)庫(kù),而是當(dāng)該設(shè)備中的所有數(shù)據(jù)包均完成一次采集后,才將所有采集到的數(shù)據(jù)一次性提交給數(shù)據(jù)庫(kù)。這種方式可以減少驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交互頻度,降低計(jì)算機(jī)系統(tǒng)的負(fù)荷。但對(duì)于某些采集過程較為緩慢的系統(tǒng)(如:GPRS通信系統(tǒng)),用戶對(duì)“更新周期”參數(shù)的設(shè)置一般都較長(zhǎng)(可能達(dá)到幾分鐘),如果設(shè)備包含的數(shù)據(jù)包又較多,整個(gè)設(shè)備的數(shù)據(jù)更新速度就會(huì)較慢。此時(shí)啟用該參數(shù)設(shè)置,可以保證每個(gè)數(shù)據(jù)包采集成功后立刻提交給數(shù)據(jù)庫(kù),整個(gè)設(shè)備的數(shù)據(jù)更新速度就會(huì)相應(yīng)的提高。Modbus協(xié)議與力控Modbus驅(qū)動(dòng)一、Modbus協(xié)議Modbus是OSI模型第7層上的應(yīng)用層報(bào)文傳輸協(xié)議,它在連接至不同類型總線或網(wǎng)絡(luò)的設(shè)備之間提供客戶機(jī)/服務(wù)器通信,是請(qǐng)求/應(yīng)答協(xié)議,并提供功能碼規(guī)定的服務(wù),Modbus功能碼是Modbus請(qǐng)求/應(yīng)答的PDU元素,包括Modbus(ACSII)、Modbus(RTU)、Modbus(TCP)三種傳輸模式,下面以Modbus(RTU)傳輸模式為例加以說明。新建MicrosoftOfficeWord文檔.docxModbus協(xié)議與力控Modbus驅(qū)動(dòng)1、讀取硬件設(shè)備寄存器內(nèi)容(功能碼03H)上位機(jī)發(fā)送的幀格式:順序代碼示例說明1硬件地址1硬件的通訊地址(1-255之間)203H03H功能碼3起始寄存器地址高字節(jié)10H4起始寄存器地址低字節(jié)00H寄存器起始地址5寄存器個(gè)數(shù)高字節(jié)00H6寄存器個(gè)數(shù)低字節(jié)02H寄存器個(gè)數(shù)7CRC16校驗(yàn)高字節(jié)C0H8CRC16校驗(yàn)低字節(jié)CBHCRC校驗(yàn)數(shù)據(jù)Modbus協(xié)議與力控Modbus驅(qū)動(dòng)硬件設(shè)備回送的正確幀格式:順序代碼說明1硬件地址硬件的通訊地址(1-255之間)203H功能碼3回送數(shù)據(jù)域字節(jié)數(shù)(M)4第一個(gè)寄存器數(shù)據(jù)…………第N個(gè)寄存器數(shù)據(jù)M+4CRC校驗(yàn)高字節(jié)M+5CRC校驗(yàn)低字節(jié)Modbus協(xié)議與力控Modbus驅(qū)動(dòng)如果起始寄存器地址或寄存器個(gè)數(shù)錯(cuò)誤,儀表回送:順序代碼示例說明1硬件地址1硬件的通訊地址(1-255之間)283H83H功能碼302H02H錯(cuò)誤代碼4CRC校驗(yàn)高字節(jié)C0H5CRC校驗(yàn)低字節(jié)F1HModbus協(xié)議與力控Modbus驅(qū)動(dòng)2、設(shè)置硬件設(shè)備寄存器內(nèi)容(功能碼06H或10H)(1)功能碼06H寫單路,將一個(gè)字(2字節(jié))數(shù)據(jù)寫入硬件設(shè)備寄存器中,上位機(jī)發(fā)送的幀格式:順序代碼示例說明1硬件地址1硬件的通訊地址(1-255之間)206H06H功能碼3寄存器地址高字節(jié)10H4寄存器地址低字節(jié)00H寄存器地址1000H5寫入數(shù)據(jù)高字節(jié)00H6寫入數(shù)據(jù)低字節(jié)0CH寫入數(shù)據(jù)0CH7CRC校驗(yàn)高字節(jié)8DH8CRC校驗(yàn)低字節(jié)0FHCRC校驗(yàn)數(shù)據(jù)8D0FHModbus協(xié)議與力控Modbus驅(qū)動(dòng)硬件設(shè)備應(yīng)答:如果寫入正確,則硬件設(shè)備回送相同的數(shù)據(jù)。(2)功能碼10H寫多路寄存器,上位機(jī)發(fā)送的幀格式:順序代碼示例說明1硬件地址1硬件的通訊地址(1-255之間)210H10H功能碼3寄存器起始地址高字節(jié)1FH4寄存器起始地址低字節(jié)02H寄存器地址1F02H5寄存器個(gè)數(shù)高字節(jié)00H00HModbus協(xié)議與力控Modbus驅(qū)動(dòng)順序代碼示例說明6寄存器個(gè)數(shù)低字節(jié)02H字節(jié)數(shù)據(jù)、整形數(shù)據(jù):01H

浮點(diǎn)數(shù)、長(zhǎng)整形數(shù):02H7字節(jié)數(shù)(M)4字節(jié)數(shù)據(jù):01H

整形數(shù)據(jù):02H

浮點(diǎn)數(shù)、長(zhǎng)整形:04H8數(shù)據(jù)高字節(jié)42H數(shù)據(jù)次高字節(jié)C8H設(shè)置的浮點(diǎn)數(shù)據(jù)為100數(shù)據(jù)次低字節(jié)00H數(shù)據(jù)低字節(jié)00HM+8CRC校驗(yàn)高字節(jié)6BHCRC校驗(yàn)數(shù)據(jù)6BCOHM+9CRC校驗(yàn)低字節(jié)C0HModbus協(xié)議與力控Modbus驅(qū)動(dòng)硬件設(shè)備應(yīng)答:如果寫入成功,則應(yīng)答幀如下:順序代碼示例說明1硬件地址1硬件的通訊地址(1-255之間)210H10H功能碼3起始地址高字節(jié)1FH4起始地址低字節(jié)02H寄存器起始地址1F02H寄存器個(gè)數(shù)高字節(jié)00H

寄存器個(gè)數(shù)低字節(jié)02H寄存器個(gè)數(shù)2CRC校驗(yàn)高字節(jié)E7HCRC校驗(yàn)低字節(jié)DCHCRC校驗(yàn)數(shù)據(jù)E7DCHModbus協(xié)議與力控Modbus驅(qū)動(dòng)硬件設(shè)備應(yīng)答:地址或數(shù)據(jù)錯(cuò)誤,則應(yīng)答幀如下:順序代碼說明1硬件地址硬件的通訊地址(1-255之間)296H或90H或86H針對(duì)10H、06H功能碼

03H錯(cuò)誤代碼CRC校驗(yàn)高字節(jié)CRC校驗(yàn)低字節(jié)Modbus協(xié)議與力控Modbus驅(qū)動(dòng)3、Modbus功能碼功能碼 名稱 作用 01讀取線圈狀態(tài) 取得一組邏輯線圈的當(dāng)前狀態(tài)(ON/OFF) 02讀取輸入狀態(tài) 取得一組開關(guān)輸入的當(dāng)前狀態(tài)(ON/OFF) 03讀取保持寄存器在一個(gè)或多個(gè)保持寄存器中取得當(dāng)前的二進(jìn)制值 04讀取輸入寄存器在一個(gè)或多個(gè)輸入寄存器中取得當(dāng)前的二進(jìn)制值 05強(qiáng)置單線圈 強(qiáng)置一個(gè)邏輯線圈的通斷狀態(tài) 06預(yù)置單寄存器 把具體二進(jìn)值裝入一個(gè)保持寄存器 Modbus協(xié)議與力控Modbus驅(qū)動(dòng)Modbus協(xié)議與力控Modbus驅(qū)動(dòng)Modbus協(xié)議與力控Modbus驅(qū)動(dòng)二、力控Modbus驅(qū)動(dòng)1、Modbus(RTU)、Modbus(ASCII):

這兩個(gè)驅(qū)動(dòng)是針對(duì)串口的通訊鏈路使用的,區(qū)別在于RTU幀與ASCII幀格式不同,ASCII幀以冒號(hào)(:)字符(ASCII碼3AH)開始,以回車換行符結(jié)束(ASCII碼0DH,0AH),典型的ASCII消息幀,如下圖2所示:Modbus協(xié)議與力控Modbus驅(qū)動(dòng)其它域可以使用的傳輸字符是十六進(jìn)制的0...9,A...F。網(wǎng)絡(luò)上的設(shè)備不斷偵測(cè)“:”字符,當(dāng)有一個(gè)冒號(hào)接收到時(shí),每個(gè)設(shè)備都解碼下個(gè)域(地址域)來判斷是否發(fā)給自己的,消息中字符間發(fā)送的時(shí)間間隔最長(zhǎng)不能超過1秒,否則接收的設(shè)備將認(rèn)為傳輸錯(cuò)。RTU幀消息發(fā)送至少要以3.5個(gè)字符時(shí)間的停頓間隔開始,傳輸?shù)牡谝粋€(gè)域是設(shè)備地址,可以使用的傳輸字符是十六進(jìn)制的0...9,A...F。網(wǎng)絡(luò)設(shè)備不斷偵測(cè)網(wǎng)絡(luò)總線,包括停頓間隔時(shí)間內(nèi)。當(dāng)?shù)谝粋€(gè)域(地址域)接收到,每個(gè)設(shè)備都進(jìn)行解碼以判斷是否發(fā)往自己的,在最后一個(gè)傳輸字符之后,一個(gè)至少3.5個(gè)字符時(shí)間的停頓標(biāo)定消息的結(jié)束,典型的RTU幀如下圖3所示:Modbus協(xié)議與力控Modbus驅(qū)動(dòng)2、Modbus(TCP):

此驅(qū)動(dòng)是針對(duì)TCP鏈路使用的,在TCP/IP上使用一種專用報(bào)文頭識(shí)別MODBUS應(yīng)用數(shù)據(jù)單元,此報(bào)文頭稱為MBAP報(bào)文頭(MODBUS協(xié)議報(bào)文頭),MBAP報(bào)文頭描述如下圖所示:Modbus協(xié)議與力控Modbus驅(qū)動(dòng)Modbus協(xié)議與力控Modbus驅(qū)動(dòng)報(bào)文頭為7個(gè)字節(jié)長(zhǎng):(1)事務(wù)處理標(biāo)識(shí)符:用于事務(wù)處理配對(duì)。在響應(yīng)中,MODBUS服務(wù)器復(fù)制請(qǐng)求的事務(wù)處理標(biāo)識(shí)符。(2)協(xié)議標(biāo)識(shí)符:用于系統(tǒng)內(nèi)的多路復(fù)用。通過值0識(shí)別MODBUS協(xié)議。(3)長(zhǎng)度:長(zhǎng)度域是下一個(gè)域的字節(jié)數(shù),包括單元標(biāo)識(shí)符和數(shù)據(jù)域。(4)單元標(biāo)識(shí)符:為了系統(tǒng)內(nèi)路由,使用這個(gè)域。專門用于通過以太網(wǎng)TCP-IP網(wǎng)絡(luò)和MODBUS串行鏈路之間的網(wǎng)關(guān)對(duì)MODBUS或MODBUS+串行鏈路從站的通信,MODBUS客戶機(jī)在請(qǐng)求中設(shè)置這個(gè)域,在響應(yīng)中服務(wù)器必須利用相同的值返回這個(gè)域。Modbus協(xié)議與力控Modbus驅(qū)動(dòng)3、力控Modbus驅(qū)動(dòng)使用要點(diǎn):(1)設(shè)備配置第三步里32位數(shù)據(jù)的讀?。褐饕墙鉀Q如何解析32位整數(shù)、浮點(diǎn)數(shù),請(qǐng)根據(jù)所使用的硬件設(shè)備中32位數(shù)據(jù)類型上傳的格式來選擇相應(yīng)的格式。(2)包的最大長(zhǎng)度:是指MODBUS中一條數(shù)據(jù)所讀取的字節(jié)數(shù),包的長(zhǎng)度越長(zhǎng),一次讀取的數(shù)據(jù)就越多,通訊效率就越快,MODBUS協(xié)議中規(guī)定數(shù)據(jù)包最大長(zhǎng)度不能超過255。另外有些PLC對(duì)包長(zhǎng)還有限制,需要根據(jù)硬件設(shè)備支持的最大數(shù)據(jù)包長(zhǎng)度配置。(3)

6號(hào)命令對(duì)應(yīng)MODBUS協(xié)議06功能代碼——預(yù)制單個(gè)寄存器,16號(hào)命令對(duì)應(yīng)MODBUS協(xié)議16功能代碼——預(yù)制多個(gè)寄存器。Modbus協(xié)議與力控Modbus驅(qū)動(dòng)若6號(hào)和16號(hào)命令都選擇,只有在下置32位浮點(diǎn)數(shù)、64雙精度浮點(diǎn)數(shù)和字符長(zhǎng)度大于2個(gè)字符的字符型數(shù)據(jù)格式時(shí)自動(dòng)調(diào)用16號(hào)命令,其他數(shù)據(jù)類型下置時(shí)調(diào)用6號(hào)命令,這些都由驅(qū)動(dòng)程序自動(dòng)處理。

注意:有些硬件設(shè)備只支持16號(hào)功能碼,比如:HoneyWellDC1000,如果I/O組態(tài)時(shí)沒有取消支持6號(hào)功能碼,會(huì)出現(xiàn)數(shù)據(jù)下發(fā)不成功;若硬件設(shè)備不支持03或04號(hào)功能碼,數(shù)據(jù)庫(kù)組態(tài)里用03號(hào)或04號(hào)功能碼建點(diǎn)參數(shù),運(yùn)行力控會(huì)出現(xiàn)通訊超時(shí),數(shù)據(jù)下發(fā)不成功的的現(xiàn)象。

Modbus協(xié)議與力控Modbus驅(qū)動(dòng)(4)偏置地址:

力控偏置的首地址是1,如果設(shè)備的首地址(可從設(shè)備的地址對(duì)應(yīng)表中查看)是從1開始,直接填寫就可以;但如果設(shè)備首地址是從0開始的,需要在它原先地址上+1后,再填寫,否則讀到的數(shù)據(jù)就是前一地址的數(shù)據(jù),數(shù)據(jù)不正確。

數(shù)據(jù)庫(kù)組態(tài)里填寫的寄存器地址,默認(rèn)情況下是10進(jìn)制。如果設(shè)備的說明手冊(cè)提供的是16進(jìn)制的地址對(duì)應(yīng)表,那需要先轉(zhuǎn)換成10進(jìn)制的地址再填寫;另一種方法是在設(shè)備組態(tài)的最后一步的“高級(jí)”里面的“寄存器地址格式”,設(shè)置為“16進(jìn)制”填寫方式,數(shù)據(jù)庫(kù)組態(tài)時(shí)偏置地址按16進(jìn)制填寫即可。Modbus協(xié)議與力控Modbus驅(qū)動(dòng)(5)高級(jí)功能的使用(支持一些非標(biāo)準(zhǔn)的modbus):a.寄存器地址:調(diào)整請(qǐng)求命令的“起始地址”字的高低字節(jié)順序,標(biāo)準(zhǔn)modbus地址高字節(jié)在前,低字節(jié)在后。b.寄存器數(shù)據(jù):調(diào)整返回或下置代碼的“數(shù)據(jù)”字的高低字節(jié)順序,標(biāo)準(zhǔn)modbus數(shù)據(jù)高字節(jié)在前,低字節(jié)在后。c.校驗(yàn):調(diào)整校驗(yàn)碼的高低字節(jié)順序,標(biāo)準(zhǔn)modbus高字節(jié)在前,低字節(jié)在后。Modbus協(xié)議與力控Modbus驅(qū)動(dòng)d.Double:調(diào)整double型數(shù)據(jù)的各個(gè)字的高低字節(jié)順序,標(biāo)準(zhǔn)的modbus高字節(jié)在前,低字節(jié)在后。e.寄存器地址格式:調(diào)整點(diǎn)組態(tài)界面的寄存器地址(偏置)填入格式,默認(rèn)為10進(jìn)制。注意:標(biāo)準(zhǔn)modbus設(shè)備不需要配置“高級(jí)”項(xiàng)(6)批量建點(diǎn):

批量鏈接不能在設(shè)備組態(tài)中使用,要退出力控單獨(dú)運(yùn)行“增強(qiáng)數(shù)據(jù)庫(kù)組態(tài)工具”才能使用;點(diǎn)擊windows“開始”>>“程序”>>“力控Forcecontrol6.1”>>“工具”>>“增強(qiáng)數(shù)據(jù)庫(kù)組態(tài)工具”。Modbus協(xié)議與力控Modbus驅(qū)動(dòng)彈出Admin的組態(tài)界面,選擇“I/O設(shè)備”選項(xiàng)卡,會(huì)在右側(cè)顯示力控設(shè)備組態(tài)中建立的設(shè)備,進(jìn)入到“設(shè)備配置-第三步”,選擇批量“連接”,如下圖所示:Modbus協(xié)議與力控Modbus驅(qū)動(dòng)彈出“Modbus采集點(diǎn)批量連接界面”,如下圖所示:Modbus協(xié)議與力控Modbus驅(qū)動(dòng)a.點(diǎn)名:是在DB中建立的數(shù)據(jù)點(diǎn),用戶在用批量建點(diǎn)前需要在DB中建立足夠的數(shù)據(jù)點(diǎn),在彈出Modbus采集點(diǎn)批量連接界面”時(shí)會(huì)掃描DB中的點(diǎn)已獲得點(diǎn)名信息。b.寄存器類型:標(biāo)準(zhǔn)modbus驅(qū)動(dòng)現(xiàn)支持的寄存器。c.偏移(1~n):數(shù)據(jù)點(diǎn)在寄存器中的起始地址。d.數(shù)據(jù)類型:標(biāo)準(zhǔn)modbus驅(qū)動(dòng)現(xiàn)支持的數(shù)據(jù)類型。Modbus協(xié)議與力控Modbus驅(qū)動(dòng)e.讀寫屬性:請(qǐng)結(jié)合寄存器的訪問屬性和使用方式填寫。f.單字節(jié)高低位:?jiǎn)巫止?jié)數(shù)據(jù)類型的擴(kuò)展選項(xiàng)(其它數(shù)據(jù)類型不必選擇)。g.位偏移(0~15):模擬量按位讀取,Short(16位有符號(hào)數(shù))的擴(kuò)展選項(xiàng),填寫范圍是0~15。h.字節(jié)長(zhǎng)度:不確定字節(jié)長(zhǎng)度的數(shù)據(jù)類型(如BCD,字符串),的擴(kuò)展選項(xiàng)。力控字符下置時(shí)DESC最多能下置64個(gè)字節(jié)的數(shù)據(jù),所以長(zhǎng)度最好不要大于64。力控?軟件與其他軟件的OPC通訊一、OPC通訊協(xié)議

OPC(OLEforProcessControl,用于過程控制的OLE)是一個(gè)工業(yè)標(biāo)準(zhǔn),是基于微軟的OLE(現(xiàn)在的ActiveX)、DistributedinterNetApplication(DNA)構(gòu)架、COM(部件對(duì)象模型)和DCOM(分布式部件對(duì)象模型)技術(shù),OPC基金會(huì)負(fù)責(zé)管理OPC標(biāo)準(zhǔn),包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動(dòng)化系統(tǒng),COM是ComponentObjectModel的縮寫,是所有OLE機(jī)制的基礎(chǔ),COM是一種為實(shí)現(xiàn)與編程語言無關(guān)的對(duì)象而制定的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)將Windows下的對(duì)象定義為獨(dú)立單元,可不受程序限制地訪問這些單元,這種標(biāo)準(zhǔn)可以使兩個(gè)應(yīng)用程序通過對(duì)象化接口通訊,而不需要知道對(duì)方是如何創(chuàng)建的管理。力控?軟件與其他軟件的OPC通訊通過DCOM技術(shù)和OPC標(biāo)準(zhǔn),完全可以創(chuàng)建一個(gè)開放的、可互操作的控制系統(tǒng)軟件。OPC采用客戶/服務(wù)器模式,把開發(fā)訪問接口的任務(wù)放在硬件生產(chǎn)廠家或第三方廠家,以O(shè)PC服務(wù)器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統(tǒng)的集成,提高了系統(tǒng)的開放性和可互操作性。

OPC服務(wù)器通常支持兩種類型的訪問接口,它們分別為不同的編程語言環(huán)境提供訪問機(jī)制,這兩種接口是:自動(dòng)化接口(Automationinterface)和自定義接口(Custominterface);自動(dòng)化接口通常是為基于腳本編程語言而定義的標(biāo)準(zhǔn)接口,力控?軟件與其他軟件的OPC通訊可以使用VisualBasic、Delphi、PowerBuilder等編程語言開發(fā)OPC服務(wù)器的客戶應(yīng)用,自定義接口是專門為C++等高級(jí)編程語言而制定的標(biāo)準(zhǔn)接口。二、力控軟件既可以作OPC服務(wù)器,也可以作OPC客戶端與其他軟件進(jìn)行OPC通訊1.力控軟件作OPC服務(wù)器:進(jìn)力控開發(fā)系統(tǒng),先在數(shù)據(jù)庫(kù)組態(tài)里面建點(diǎn)參數(shù),然后回到系統(tǒng)配置點(diǎn)擊“初始啟動(dòng)程序”

“程序設(shè)置”

“勾選OpcSever前面的復(fù)選框”,運(yùn)行力控軟件,力控OpcServer作為服務(wù)器供客戶端程序訪問。2.力控軟件作OPC客戶端:力控?軟件與其他軟件的OPC通訊用力控OPCClient采集驅(qū)動(dòng)即可以實(shí)現(xiàn)與其他軟件的OpcServer通訊,具體配置過程可以參考OPCClient遠(yuǎn)程連接OPC服務(wù)器操作系統(tǒng)配置手冊(cè)。三、OPC通訊可能會(huì)出現(xiàn)問題及處理辦法:1.連不上目標(biāo)OpcServer服務(wù)器,并提示如下圖所示的問題,力控?軟件與其他軟件的OPC通訊解決辦法:DCOM沒有配置好,需要對(duì)“組件服務(wù)”中“我的電腦”屬性進(jìn)行配置,訪問權(quán)限和啟動(dòng)激活權(quán)限都加入“everyone”用戶。2.連接遠(yuǎn)程OpcServer服務(wù)器時(shí),提示如下圖所示的問題:力控?軟件與其他軟件的OPC通訊3.如果IP地址不存在(或者是PING不通),會(huì)彈出以下錯(cuò)誤:解決辦法:如果OpcServer服務(wù)器防火墻已啟動(dòng),需要開放TCP端口135,(135端口用于OPCClient需要的RPC服務(wù))力控?軟件與其他軟件的OPC通訊4.如果數(shù)據(jù)過不來,或者數(shù)據(jù)不刷新,可能是沒有刪除下面的“guest”用戶通訊問題分析思路及處理方法一、通訊不上”、“采不到數(shù)據(jù)”、“數(shù)據(jù)庫(kù)中沒有數(shù)據(jù)”等現(xiàn)象的分析1.新開發(fā)的驅(qū)動(dòng):(1)有發(fā)送報(bào)文沒有返回:第一步:首先讓客戶看協(xié)議和說明書,確認(rèn)通訊參數(shù)是否填寫正確,接線是否正確。第二步:核對(duì)驅(qū)動(dòng)發(fā)送的報(bào)文和協(xié)議是否一致,不一致的話找驅(qū)動(dòng)開發(fā)人員,如果一致且有校驗(yàn)的話,用工具核對(duì)校驗(yàn)計(jì)算和協(xié)議是否一致,不一致的話找驅(qū)動(dòng)開發(fā)人員。第三步:如果確認(rèn)報(bào)文沒有問題,可以用串口或者以太網(wǎng)工具發(fā)報(bào)文試試,如果不行的話,只能拿上報(bào)文,聯(lián)系設(shè)備廠商的技術(shù)人員查找問題,如果感覺和廠商技術(shù)人員溝通有困難的話,可以確定好聯(lián)系人,讓驅(qū)動(dòng)開發(fā)人員來聯(lián)系。通訊問題分析思路及處理方法(2)有返回報(bào)文但力控?cái)?shù)據(jù)庫(kù)沒有數(shù)據(jù):這種情況可能是驅(qū)動(dòng)解析有問題,也可能是設(shè)備上傳的報(bào)文格式、校驗(yàn)、長(zhǎng)度或者其它字段和協(xié)議不一致,造成驅(qū)動(dòng)認(rèn)為是錯(cuò)誤報(bào)文而丟棄。這種情況需要仔細(xì)分析報(bào)文,比對(duì)報(bào)文和協(xié)議的一致性,如果是驅(qū)動(dòng)解析有問題,找驅(qū)動(dòng)開發(fā)人員,如果報(bào)文和協(xié)議不一致,咨詢?cè)O(shè)備廠家技術(shù)人員。(3)數(shù)據(jù)庫(kù)數(shù)據(jù)不正確:這種情況多數(shù)也是驅(qū)動(dòng)解析問題,當(dāng)然也有設(shè)備儀表有問題的情況,設(shè)備傳上來的數(shù)據(jù)就是那樣的,也是常見的情況,判斷的依據(jù)還是對(duì)照協(xié)議分析報(bào)文,找到報(bào)文中和采集數(shù)據(jù)有關(guān)的幾個(gè)字節(jié)按協(xié)議要求計(jì)算一下就可以確定問題在何方,如果計(jì)算結(jié)果的和數(shù)據(jù)庫(kù)顯示一致,則驅(qū)動(dòng)沒有問題,咨詢?cè)O(shè)備廠商技術(shù)人員即可,否則讓驅(qū)動(dòng)開發(fā)人員找問題,無論找誰都別忘截取報(bào)文,事實(shí)勝于雄辯。通訊問題分析思路及處理方法2.老驅(qū)動(dòng)維護(hù):(1)處理原則:老驅(qū)動(dòng)維護(hù)分為常見驅(qū)動(dòng)維護(hù)和不常見驅(qū)動(dòng)(小驅(qū)動(dòng))維護(hù),常見驅(qū)動(dòng)指的是使用頻率比較高的驅(qū)動(dòng),一般情況免費(fèi)維護(hù)或者叫完善;小驅(qū)動(dòng)是指不常見的用戶定制驅(qū)動(dòng),可能當(dāng)初客戶只支付協(xié)議中部分功能的費(fèi)用,其它的功能沒有做,或者由于條件限制做了客戶沒有用,所以就沒有調(diào)試,在后續(xù)的使用中出現(xiàn)問題,這種情況DA開發(fā)部會(huì)根據(jù)客戶的重要程度、驅(qū)動(dòng)使用的頻率和修改驅(qū)動(dòng)的花費(fèi)時(shí)間,做不同的處理方式,一般客戶購(gòu)買軟件數(shù)量小,而且驅(qū)動(dòng)使用頻率小,修改代碼花費(fèi)時(shí)間超過1.5小時(shí)(不算調(diào)試時(shí)間)的,都會(huì)根據(jù)修改代碼和調(diào)試花費(fèi)的工作量收取一定的費(fèi)用,如果此驅(qū)動(dòng)的開發(fā)人員離職的話,這個(gè)條件很容易滿足的,希望銷售和客戶開始交流的時(shí)候注意一下。通訊問題分析思路及處理方法(2)處理方法:按照公司的BUG處理流程,通訊問題基本都經(jīng)過技術(shù)處理后,解決不了提交DA開發(fā)部,老驅(qū)動(dòng)出問題主要有以下幾個(gè)方面:a.用戶使用不當(dāng)?shù)湫偷膯栴}是通訊參數(shù)設(shè)置錯(cuò)誤,現(xiàn)象多數(shù)是沒有返回報(bào)文,或者返回的報(bào)文很怪,比

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論