亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        利用串行通信實現(xiàn)計算機與PLC協(xié)同工作

        2021-07-08 06:02:12張勇喜胡雯雯楊文華任少鵬
        儀表技術(shù)與傳感器 2021年6期
        關(guān)鍵詞:指令程序計算機

        張勇喜,金 秀,張 帆,胡雯雯,楊文華,任少鵬

        (沈陽儀表科學(xué)研究院有限公司,遼寧沈陽 110043)

        0 引言

        近年來,隨著用工成本的不斷上升,越來越多的企業(yè)開始使用自動化設(shè)備來替代人工,有些是直接引進全新的自動化設(shè)備,而有些是在現(xiàn)有的設(shè)備上進行自動化改進升級。光纖光譜儀是一種快速光譜測試儀器,可實現(xiàn)濾光片的光學(xué)性能快速檢測。光纖光譜儀雖然測試速度塊,但需要人工放置測試樣品,測試效率大約為300片/h。為提高測試效率,降低人員勞動強度,本文對光纖光譜儀進行了自動化改造,增加了樣品自動進給、數(shù)據(jù)打印、自動分揀等功能,實現(xiàn)了濾光片產(chǎn)品的自動化檢測。由于光纖光譜儀是定型設(shè)備,底層硬件完全固化,所以不能通過改變測試儀器硬件來實現(xiàn)這些自動化功能。為實現(xiàn)產(chǎn)品的自動測試,采用PLC系統(tǒng)完成樣品的進給、分揀等過程,然后編寫中間控制程序來實現(xiàn)PLC系統(tǒng)和光纖光譜儀測試系統(tǒng)的信息溝通,實現(xiàn)兩者的協(xié)調(diào)工作。

        1 PLC串行通信模式及命令格式

        本文負(fù)責(zé)樣品進給等功能的PLC系統(tǒng)是一個獨立的子系統(tǒng),負(fù)責(zé)樣品測試和數(shù)據(jù)處理的測試系統(tǒng)是一個以通用計算機為基礎(chǔ)的獨立子系統(tǒng),中間程序要實現(xiàn)兩者的信息溝通首先要解決計算機與PLC的通信問題。PLC通常具有多個通信接口[1-2],以便和觸摸屏、上/下位PLC或計算機連接。串行通訊是PLC最常用的通信方式,常用的接口方式有RS232、RS422和RS485,其中RS232接口可以直接和計算機相連,使用范圍最廣。

        PLC串行通信都有固定的格式[3],只有按固定格式發(fā)送到信息才能被正確執(zhí)行。PLC會對每一條通信指令產(chǎn)生一個反饋信號,這個信號可能是需要傳送的數(shù)據(jù),也可能是命令執(zhí)行的結(jié)果,計算機可以通過接收這個信號來獲得所需數(shù)據(jù)或判斷命令是否被正確執(zhí)行。與PLC通信一般先要進行“握手”[4-5],然后才能進行正式的通信,當(dāng)要斷開聯(lián)系的時候需要發(fā)送結(jié)束命令,以免發(fā)送錯誤信號導(dǎo)致PLC異動。表1列舉了幾個常用的通訊指令,更多信息可以查閱產(chǎn)品手冊。

        表1 PLC通信指令格式

        2 計算機與PLC的交互信號

        圖1為自動測試條件下PLC系統(tǒng)和測試系統(tǒng)的工作流程,根據(jù)該流程,計算機和PLC之間需要4個交互信號,但實際上為了整個自動測試系統(tǒng)更穩(wěn)定的運行,交互信號需要增加到9個(見表2)。首先是打印機的狀態(tài)必須監(jiān)控,不能在打印機出錯的情況下還繼續(xù)工作;其次是測試儀器需要定期校準(zhǔn);然后是聯(lián)機通信情況的監(jiān)控;最后是測試合格與否的信號必須分裂成2個,不能用1個信號的2種狀態(tài)來標(biāo)識合格與否。在這些信號中,MR8001為狀態(tài)信號,用0/1表示,等于1表明打印機正常,等于0時表明打印機異常,PLC將暫停工作進程。MR8004為心跳信號[6],即持續(xù)的脈沖信號,當(dāng)按一定頻率持續(xù)輸出,表明計算機和PLC聯(lián)機正常。其它信號均為指令信號,上升沿有效,計算機和PLC接到信號后都要執(zhí)行一定的任務(wù)。

        圖1 自動測試子系統(tǒng)工作流程

        表2 計算機與PLC的交互信號

        3 信號處理與傳遞

        由于串行通信在某一時刻只能接收或者發(fā)送1個信息,而PLC每收到一條通信指令都會產(chǎn)生1個反饋信號,所以計算機與PLC通信必須以獨占方式進行,1次只處理1個指令。從PLC讀取位狀態(tài)信息和發(fā)送脈沖信號都是周期性通信,可以通過定時器來完成[7-8]。而計算機向PLC發(fā)送位控制命令是隨測試過程而產(chǎn)生的,是非周期性的。如果把位控制命令的發(fā)送放到相應(yīng)的過程后面,則存在與周期性通信爭搶串口的風(fēng)險。雖然可以設(shè)置串口占用標(biāo)志來避免錯誤通信,但這將導(dǎo)致串口占用時間延長,信號傳遞不暢。為解決這個問題,可以參照PLC端口的輸入輸出工作模式——“統(tǒng)一讀入,統(tǒng)一輸出”來處理計算機和PLC的信號傳遞問題。即將通信過程都集中放入一個定時程序中,先從PLC讀取所需數(shù)據(jù),然后再將需要輸出的數(shù)據(jù)寫入PLC。

        由于PLC具有上升沿判定指令,而且控制程序在響應(yīng)指令后會清除數(shù)據(jù)位,所以計算機只需將1寫入PLC的數(shù)據(jù)位即可。根據(jù)PLC系統(tǒng)的工作流程,在一個測試周期內(nèi),測試合格與否和打印完成這2個指令只需要響應(yīng)一次,所以計算機只需在這個時間段內(nèi)將信號寫入一次即可,多次寫入將引發(fā)錯誤。此時,測試系統(tǒng)的主程序需要為每一個數(shù)據(jù)位設(shè)置一個寫入標(biāo)志,定時程序根據(jù)該標(biāo)志輸出數(shù)據(jù)。如果寫入成功,則清除該寫入標(biāo)志,防止下次循環(huán)再次輸出,引發(fā)錯誤;如果寫入不成功,則保留標(biāo)志,等待下次掃描循環(huán)時寫入數(shù)據(jù)。由于定時掃描程序設(shè)置的掃描周期很短,所以在一個樣品測試周期內(nèi)有很多次機會向PLC寫入數(shù)據(jù),寫入成功的概率非常高。

        計算機沒有直接的上升沿判斷指令,從PLC獲得的信息只是原始的位狀態(tài)信息,需要轉(zhuǎn)換方可成為正確的命令信息。定時程序不斷地掃描端口,計算機會重復(fù)地讀入0或者1,只有從0到1的上升時刻才是命令到來的時刻。為獲得這一變化的時刻,協(xié)作控制程序給每一個數(shù)據(jù)位設(shè)置了一個全局變量,用于記錄上次讀取的結(jié)果,如果上次為0,本次新讀入的為1,則該數(shù)據(jù)位發(fā)生0到1的跳變,命令標(biāo)志有效。協(xié)作主程序則根據(jù)命令標(biāo)志位來決定程序的運行。

        4 程序?qū)崿F(xiàn)

        本文采用VB6編寫協(xié)作控制程序,串行通信采用了MSComm控件[9-10],通信相關(guān)程序如下。

        串口參數(shù)設(shè)置程序:

        MSComm1.PortOpen = False

        MSComm1.CommPort = 3

        MSComm1.PortOpen = True

        MSComm1.Settings = ″19200,e,8,1″

        MSComm1.InputMode = comInputModeText

        MSComm1.InputLen = 0

        串口中斷程序:

        Private Sub MSComm1_OnComm()

        Select Case MSComm1.CommEvent

        Case comEvReceive’接收事件

        Serial_bck = MSComm1.Input’將接收內(nèi)容存儲到全局變量中

        End Select

        End Sub

        串行通信輸入輸出定時處理程序如下:

        Serial_in = MSComm1.Input ’清串口

        Serial_bck = "" ’清空舊數(shù)據(jù)

        MSComm1.RThreshold = 27 ’響應(yīng)字節(jié)數(shù)

        MSComm1.Output=″RDS MR800013″+Chr(13)

        Delay 30 ’等待中斷響應(yīng)

        Serial_in = Serial_bck ’讀取響應(yīng)數(shù)據(jù)

        If Right(Serial_in,2) = vbCrLf Then

        StrBit = Split(Serial_in,″ ″)

        MR8000.Value = Val(StrBit(0))

        If Last8010 = 0 And MR8010.Value = 1

        Then ’0/1上升沿判斷

        MR8010UP = True

        End If

        Last8010 = MR8010.Value

        If Last8011 = 0 And MR8011.Value = 1

        Then

        MR8011UP = True

        End If

        Last8011 = MR8011.Value

        End If

        Heart_Time = Heart_Time + 1 ’心跳信號

        If Heart_Time = 5 Then

        If Heart Then

        MSComm1.Output=″ST MR8004″&Chr(13)

        MR8004.Value = 1′’狀態(tài)顯示

        Heart = False ’狀態(tài)反轉(zhuǎn)標(biāo)記

        Else

        MSComm1.Output=″RS MR8004″&Chr(13)

        MR8004.Value = 0

        Heart = True

        End If

        Heart_Time = 0

        End If

        If WR_8000 Then ’數(shù)據(jù)寫入標(biāo)志為真

        Serial_in = MSComm1.Input ’清串口

        Serial_bck = ″″ ’清空舊數(shù)據(jù)

        MSComm1.RThreshold = 4 ’響應(yīng)字節(jié)數(shù)

        If V_8000 Then

        MSComm1.Output=″ST MR8000″&Chr(13)

        Else

        MSComm1.Output=″RS MR8000″&Chr(13)

        End If

        Delay 10 ’等待反饋

        Serial_in = Left(Serial_bck,2)

        If Serial_in=″OK″Then WR_8000=False

        ’寫入成功則清除標(biāo)志

        End If

        5 結(jié)束語

        改造后的自動測試儀器基本不需要人工干預(yù),可以實現(xiàn)濾光片的批量自動測試,測試效率可達到340片/h,比人工測試提高了10%。自動測試系統(tǒng)是由2個獨立的子系統(tǒng)構(gòu)成,讓兩者協(xié)調(diào)工作的關(guān)鍵在于信號的高效準(zhǔn)確地傳遞。本文將通信任務(wù)集中放置在定時程序中,一方面短定時周期提高了信息傳遞的時效性,另一方面信息處理逐項以獨占式完成提高了信息傳遞的準(zhǔn)確性,一些時效性要求較高的系統(tǒng)可以借鑒此方法。由于定時程序會重復(fù)輸入輸出數(shù)據(jù),所以在控制程序中設(shè)置了一些標(biāo)志位和全局變量,通過這些標(biāo)志位和全局變量來輸入輸出準(zhǔn)確的命令信息,通過該方法確保了信息傳遞的準(zhǔn)確性。

        猜你喜歡
        指令程序計算機
        聽我指令:大催眠術(shù)
        計算機操作系統(tǒng)
        基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
        科技傳播(2019年22期)2020-01-14 03:06:34
        試論我國未決羈押程序的立法完善
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        信息系統(tǒng)審計中計算機審計的應(yīng)用
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進
        欧美牲交a欧美牲交aⅴ免费下载 | 特黄做受又硬又粗又大视频小说| 69久久夜色精品国产69| 少妇做爰免费视频了| 影音先锋男人av鲁色资源网| 人人妻人人爽人人做夜欢视频九色 | 精品一区二区三区久久| 97成人精品国语自产拍| 国产老熟妇精品观看| 免费网站看v片在线18禁无码| 国产精品久久久久影院嫩草| 两个人看的www中文在线观看| jlzzjlzz全部女高潮| 性感人妻一区二区三区| 一本一道久久综合久久| 内射夜晚在线观看| 亚洲国产精品特色大片观看完整版| 天天干夜夜躁| 女女同性av一区二区三区免费看| 国语淫秽一区二区三区四区| 中国女人内谢69xxxxxa片| 亚洲av无码精品色午夜果冻不卡| 国产精品无码久久久久久蜜臀AV| 国产女主播福利在线观看| 成 人 免 费 黄 色| 欧美猛男军警gay自慰| 国产精品原创av片国产日韩| 国产视频在线观看一区二区三区| 女人被男人爽到呻吟的视频| 中文字幕+乱码+中文字幕无忧| 国产小视频一区二区三区| 超级乱淫片国语对白免费视频| 性做久久久久久久| 国产精品多人P群无码| 人妻无码ΑV中文字幕久久琪琪布| 有码视频一区二区三区| 久久久久夜夜夜精品国产| 国产成人精品日本亚洲18| 偷柏自拍亚洲综合在线| 日本一区二区三区区视频| 精品无码国产一区二区三区av |