技術頻道

      PLC通訊在紡紗質量在線檢測中的應用

        0.引言

        1969年美國數字設備公司根據美國通用汽車公司的要求,研制出世界上第一臺可編程序控制器。最初只能用于邏輯運算,故稱為可編程邏輯控制器,簡稱為PLC(ProgrammableLogicController),隨著計算機技術和電子技術的飛速發展,其功能遠遠超出順序控制和邏輯控制的范疇,不僅實現了數據運算和處理能力,而且體積小,功能強,可靠性高,編程直觀,適應性好,接口方便,性價比高。

        近年來,隨著現代化生產技術的提高,以及計算機技術、信息技術和通訊技術的相互滲透,紗線的不勻直接導致布面的不平整,這就說明在紗線生產環節極為重要。紗線不勻是影響其品質的重要指標之一。傳統的紗線檢測方式都是在實驗室離線進行的,通過對紗線的抽樣,要求一定的溫濕度前提下,相對于紗線的在線檢測反映出離線檢測的滯后性和隨機性。RS-232C串行通訊實現比較容易,常被用于自動控制、數據采集、智能儀表等上位機與外部設備的數據通訊。本文設計了VB與歐姆龍PLC-CJ1M(CPU21)之間的數據通信,在線獲得紗線的檢測數據,如CV值、紗線瞬時直徑、平均直徑、粗節最大值、細節最小值等等,及時反映紗線的不勻,使操作人員及時做出相應調整。

        1.上位機與PLC之間通訊實現

        歐姆龍PLC—CJ1M(CPU21)有兩個串行通訊口,一是通過歐姆龍專用串口通訊線CS1W-CN226,其網絡類型設置為Toolbus,同時將DIP4串行通訊設狀態置為ON;一是通過歐姆龍九針串口通訊線XM2Z-200S-CV,其網絡類型設置為SYSMACWAY,其它為默認設置,包括端口為COM1,波特率為9600。圖1所示為上位機通過RS-232C端口連接到PLC的示意圖,也可以稱作1:1連接。

      圖1RS-232C端口的1:1連接

        圖2所示為上位機與PLC之間通訊實現過程。

      圖2上位機與PLC之間通訊實現過程

        2.VB與PLC之間通訊協議和程序實現

        2.1鏈接系統的通訊協議

        在紗線數據通訊中,只需要在上位機系統中編寫上位機通訊程序,無需在PLC中編寫任何程序,PLCCPU會根據上位機發來的命令幀自動生成響應幀返回給上位機。命令幀和響應幀之間包含需要通訊的數據,只有保證正確實現命令幀和響應幀之間的應答,才能實現準確的數據交換。命令和應答有兩種方式,一種是從上位機發命令到PLC,另一種方式允許PLC發命令給上位機,我們采用淺一種方式。

        從上位機發送命令時的命令幀和響應幀如圖3。

      圖3命令幀和響應幀格式

        命令幀中:

        @——命令開始標志,所有命令都以“@”開始;

        節點號——與上位機連接的PLC,在1:1連接中默認值為00;

        標題碼——設置兩字節的命令代碼,如RD代表讀PLC的DM區數據;

        正文——設置命令參數

        FCS——設置兩字符的幀檢查順序碼,用于校驗,是用兩位ASCII碼表示的8位數據,是從“@”開始到正文結束的所有字符的ASCII碼按位異或運算的結果;

        結束符——表示命令的結束,用“*”和回車符“CHR$(13)”標明。

        應答幀中:

        @、節點號、標題碼、FCS和結束符同命令幀中的含義。

        異常號——返回命令的執行狀態,,是否有錯誤發生。

        2.2通訊端口初始化

        在上位機與PLC實現通訊之前,必須先在上位機VB中設置通訊控件MSComm1的相應屬性,通訊口初始化程序一般放在窗體加載程序中。

        PrivateSubForm_Load()

        MSComm1.CommPort=1‘設置Com1通訊口

        MSComm1.Settings=“9600,e,7,2”‘波特率9600,e偶校驗,7位數據位,2位停止位

        MSComm1.PortOpen=True‘打開通訊端口

        MSComm1.InBufferCoun t=0‘清空接收緩沖區

        EndSub

        其它設置均取通訊控件MSComm1的默認值。

        2.3幀格式代碼

        采用基于Windows操作系統功能強大的面向對象的程序設計語言——VisualBasic,編寫了上位機程序,建立了上位機與PLC之間良好的通訊協議。以讀內存DM區為例:

        上位機命令幀:

        "@"+"00"+"FA"+"1"+"00000000"+"0101"+"82"+開始地址+讀取個數+FCS+結束符

        PLC應答幀:

        "@"+"00"+"FA"+"1"+"00000000"+"0101"+"82"+"0000"+讀取數據+FCS+結束符

        其中:

        FA——表示FINS命令

        0101——表示連續讀內存區

        82——表示讀內存DM區

        2.4校驗算法實現

        為了保證通訊數據準確無誤的傳輸,歐姆龍PLC對通訊數據以按位異或算法進行校驗。代碼如下,僅供參考。

        OptionExplicit

        FunctionFCS(ByValtemp1AsString)AsString

        Dimslen1,i,xorresult1AsInteger‘定義變量

        Dimtempfcs1AsString

        xorresult1=0

        slen1=Len(temp1)‘求輸入字符串的長度

        Fori=1Toslen1

        xorresult1=xorresult1XorAsc(Mid(temp1,i,1))‘從首字符到尾字符獲取ASCII碼,按位異或

        Nexti

        Tempfcs1=Hex$(xorresult1)‘轉換為16進制

        IfLen(tempfcs1)=1Then

        FCS="0"&tempfcs1

        Else

        FCS=tempfcs1

        EndIf

        EndFunction

        3.結束語

        本文作者創新點主要通過RS-232C串口通訊,采用面向對象的可視化編程工具——VisualBasic建立上位機與歐姆龍PLC-CJ1M(CPU21)之間的數據通訊,獲取紗線在線檢測數據,現場實測表明能夠快速準確在線測量紗線的CV值、瞬時直徑、平均直徑、粗節最大值、細節最小值等等,實時反映紗線的不勻率,對提高棉紡企業紗線質量具有重要的意義。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 久久精品一区二区三区日韩| 一区二区高清在线观看| 波多野结衣中文一区二区免费| 消息称老熟妇乱视频一区二区| 视频一区二区在线观看| 国产精品一区二区电影| 国产成人精品一区二三区熟女| 亚洲一区精品视频在线| 亚洲高清毛片一区二区| 人妻无码一区二区三区四区| 亲子乱av一区二区三区| 亚洲蜜芽在线精品一区| 国产精品一区二区资源| 国产亚洲自拍一区| 国产精品自拍一区| 无码精品人妻一区二区三区影院| 国产成人高清视频一区二区| 国模吧无码一区二区三区| 蜜桃无码AV一区二区| 爆乳熟妇一区二区三区| 中文字幕日韩一区二区不卡| 亚洲视频在线一区二区| 老熟妇高潮一区二区三区| 国产精品毛片a∨一区二区三区| 78成人精品电影在线播放日韩精品电影一区亚洲| 日韩一区二区电影| 北岛玲在线一区二区| 精品国产一区二区三区麻豆| 精品成人av一区二区三区| 爆乳无码AV一区二区三区 | 精品乱人伦一区二区三区| 国产一区二区三区内射高清| 国产在线乱子伦一区二区| 亚洲国产精品第一区二区| 国产精品女同一区二区| 自慰无码一区二区三区| 精品国产一区二区三区AV性色| 日美欧韩一区二去三区| 精品国产一区二区三区在线| 亚洲av无码一区二区三区人妖 | 中文字幕永久一区二区三区在线观看|