999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PLC實現激光打標時流水線的全自動控制

2013-01-01 00:00:00李永剛
職業·中旬 2013年1期

摘 要:本文介紹了一種將激光打標機與工業現場的流水線設備PLC進行互聯互通,實現自動控制的一種方法。這種方法充分利用了打標軟件對外部動態庫插件的支持功能,通過動態庫實現打標軟件對Excel文件的讀取與RS232串口通訊功能的實現,PLC通過串口通訊功能,實現了對PC機數據的實時讀取,實現了對流水線移動距離的實時控制,很好地滿足了工業生產現場的自動化控制要求,達到了增產增效,降低成本的目的。

關鍵詞:激光打標 動態庫 Excel 串口通訊 PLC

一、概述

激光打標是一種利用激光的高能量在物體上進行燒蝕,從而在物體表面上刻畫出各種文字、符號及各種各樣的圖案。它的特點是:字跡清晰、不易擦除,標刻時工作速度快,一致性好,而且是非接觸的工作方式,可保證工件不會被損壞。振鏡式激光打標的基本工作原理是,激光通過X、Y振鏡鏡片的反射,經平場透鏡聚焦后在工件表面形成高能量激光點,通過控制X、Y振鏡的不同位置及激光的開關,實現激光點在工件表面上的移動,從而形成圖案。X、Y振鏡的運動及激光的開關,都是通過計算機上的激光打標控制軟件進行控制的。

本次流水線的控制采用三菱FX2N系列PLC,流水線上的控制功能包括:①一個伺服電動機及伺服電動機驅動器,用于控制流水線的運動。②三個電磁閥,其中兩個電磁閥用于控制兩個汽缸,一個電磁閥用于控制切割吹氣。③兩個汽缸,每個汽缸上各有2個位置傳感器,用于檢測汽缸抻出到位與縮回到位信號。④流水線位置傳感器有位置傳感器1,用于檢測流水線上是否有工件(紙帶),若是從無到有,則說明有工件上了流水線,若是從有到無,則說明流水線上沒有工件,當最后一個工件完成后,需要發出警示。

本次系統要將兩個設備聯動起來,控制過程為:當用戶選用不同打標數據后,打標機開始打標,完成后流水線自動移動與打標數據相對應的距離,到位后,自動切斷工件(紙帶),開始下次打標數據選擇。要實現打標工件與流水線的全自動控制,關鍵要解決的問題包括:①打標軟件對不同打標數據的動態讀取,②打標軟件與PLC之間的數據通信。

二、上位PC機中打標軟件對不同打標數據的讀取

根據打標要求,要實現的打標數據與流水線移動距離的關系可用表1所示的方式來建立數據關系,打標圖形的中心距離前端指定的距離為B,總字帶的長度為A。

A和B值由客戶自己填寫,相對應的打標文件內容由客戶自己定義。當客戶要做1號產品時,點擊1號后,相對應的A、B以及文件內容都傳送給PLC和打標機,完成1號的產品。當客戶要做3號產品時,點擊3號后,相對應的A、B以及文件內容都傳送給PLC和打標機,完成3號的產品。

為了實現這樣的要求,這個數據關系采用Excel格式來存放,并編寫一個動態鏈接庫,以插件的形式嵌入到打標軟件中,實現對Excel文件的讀取。

動態庫采用VC6.0作為開發工具,Excel文件的讀取過程如下:

①利用VC6.0中類向導中的自動化工具(Automation)加載一個新類,指向Microsoft Office的安裝目錄中的excel.exe,然后從列表中選取_Application、_Workbook、_WorkSheet、Range、Workbooks、Worksheets 共6項。

②直接在類函數里定義Excel表格操作所需要的上步加載的六個函數變量:

ApplicationExcelApp; Workbooks wbsMybooks; _workbookwbMyBook;

Worksheets wssMySheets; Worksheet wsMySheet; Range MyRange

③實現對Excel文件讀取的主要操作:

CoUninitialize();//初始化COM支持庫

ExcelApp.CreateDispatch(\"Excel.Applic-ation\",NULL)///啟動EXCELL

ExcelApp.SetVisible(FALSE);

///利用模板文件建立新文檔

strPath1.Format(\"%s\\11.xls\",strPath);///要操作的EXCEL文件名11.xls

wbsMybooks.AttachDispatch(ExcelApp.GetWork-books(),TRUE);

wbMyBook.AttachDispatch(wbsMybooks.Add(_variant_t(strPath1)));

wssMySheets.AttachDispatch(wbMyBook.GetWorksheets(),true);

wsMySheet.AttachDispatch(wssMySheets.GetItem(_variant_t(\"sheet1\")),true);

MyRange.AttachDispatch(wsMySheet.GetCel-ls(),true);

CString sMsg;

ExcelToString(row,1,sMsg);///讀取Row行Column列的數據到 sMsg中。

此時,sMsg中的數據即為指定行列中的數據,可由打標軟件使用,實現指定數據的讀取調用。

三、PC機與PLC之間的通訊實現

打標軟件讀取Excel文件中指定數據后,要實現打標機與PLC之間的聯動,就要實時進行相互通訊。在本系統中,PLC采用FX2N-232-DB通訊模塊與PC機的串口通過RS232C協議進行通訊。

PC機上的串口通訊采用調用Windows的API函數的方式通過四個步驟來實現通訊。

1.打開串口

用API函數CreateFile來打開串口COM1;

mCOM1=CreateFile (\"COM1,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

if(hCom== INVALID_HANDLE_VALUE)

{AfxMessageBox(\"打開COM失?。"); return FALSE; }

2.配置串口

在打開通訊設備句柄后,需要通過一個DCB結構對串口進行一些初始化配置工作。DCB結構包含了諸如波特率、數據位數、奇偶校驗和停止位數等信息。同時還需設置I/O緩沖區的大小和超時。Windows用I/O緩沖區來暫存串口輸入和輸出的數據。主要實現函數如下:

SetupComm(hCom,1024,1024); //輸入輸出緩沖區大小都是1024

SetCommTimeouts(hCom,TimeOuts); //設置超時

SetCommState(hCom,dcb);//設置BCD結構

PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR); //清空緩沖區,準備讀寫

3.讀寫串口

使用API函數ReadFile和WriteFile讀寫串口:

(1)串口讀函數主要實現如下所示。

char str[100];

DWORD wCount;//讀取的字節數

BOOL bReadStat;

bReadStat=ReadFile(hCom,str,100,wCount,NULL);

if(!bReadStat)

{AfxMessageBox(\"讀串口失敗!\");return FALSE;}

(2)串口寫函數的主要實現如下所示。

char lpBuffer[100];

DWORD dwBytesWrite=100;

COMSTAT ComStat;

DWORD dwErrorFlags;

BOOL bWriteStat;

ClearCommError(hCom,dwErrorFlags,ComStat);

bWriteStat=WriteFile(hCom,lpOutBuffer,dwBytesWrite, dwBytesWrite,NULL);

if(!bWriteStat)

{ AfxMessageBox(\"寫串口失??!\"); }

PurgeComm(hCom, PURGE_TXABORT|PURGE_RXABORT |PURGE_TXCLEAR|PURGE_RXCLEAR);

4.關閉串口

當整個程序退出使用時,要關閉打開的串口,串口關閉通過調用CloseHandle來實現:

if(mCOM1) CloseHandle(mCOM1); //如串口COM1打開,則關閉。

四、PLC串口的通訊命令及設置

FX2N系列PLC中,對于串口通訊的設定有專門的數據寄存器D8120—D8129,其中需要用戶設定的寄存器有:D8120用于設定通信形式,D8121用于設定局號,D8129用于設定超時時間。PLC對于通訊的數據格式也有嚴格的要求,PC向PLC進行數據的讀寫要嚴格按照其要求進行。

1.4個通信命令

FX系列PLC有4個通信命令,它們是讀命令(30H)、寫命令(31H)、強制通命令(37H)、強制斷命令(38H)。

2.5個通信控制字符

FX系列PLC采用面向字符的傳輸規程,常用的5個通信控制字符為:STX(02H)為數據塊的起始標志,ETX(03H)為數據塊的結束標志,ENQ(05H)為計算機的查詢信號,ACK(06H)為無校驗錯誤時的應答信號,NAK(15H)為有校驗錯誤時的應答信號。

3.地址初始值分配

PLC中各軟元件地址在讀寫狀態時地址初始值分配為:輸入繼電器X:0080H;輸出繼電器Y:00A0H;狀態寄存器S:0000H;輔助繼電器M:0100H;數據寄存器D:1000H。此地址就是PC機要通過串口進行數據讀取或寫入時的入口。

4.報文格式

PC機向PLC發送信息必須按照PLC所規定的格式發送,PLC才可以接收,PC機發送信息的報文格式為:STX+CMD+數據+ETX+SUMH+SUML,其中數據段的格式為:字節1~4表示軟繼電器首地址,字節5~6表示讀寫的字節數,后面接要收發的數據位,高位在前,低位在后。當寫命令時數據段中的數據位有數據,當讀命令時數據段的數據位則無數據;讀寫字節數最大為40H(64)個。

根據如上所述FX2N的命令格式,PC機要寫數據給PLC,則按通訊格式及寫命令格式調用串口寫函數,即可將數據放入指定PLC地址。

如要讀取PLC數據,則按通訊格式及讀命令調用串口寫命令,則會觸發PLC向PC發送數,實現PC機對PLC數據的讀取。

五、PLC對流水線的控制編程

PLC對流水線的控制有嚴格的順序要求,所以在編程方面采用步進順序控制指令STL來實現編程,由于篇幅所限,在此僅列出主要PLC控制程序的狀態流程圖,如圖1所示。

六、結論

以上介紹的控制系統,充分利用了PC機與PLC的串口通訊功能,實現了上位主控PC機打標軟件與下位PLC之間的數據傳遞,達到了對工件的智能化、自動化的控制要求。兩個系統的完善融合,在實際生產過程中,極大提高了生產效率,產生了極好的經濟效益。

(作者單位:廣東省機械技師學院)

主站蜘蛛池模板: 国产精品无码久久久久久| 日韩第九页| 亚洲精品欧美日韩在线| 毛片免费试看| 2021国产v亚洲v天堂无码| 2020国产在线视精品在| 制服丝袜国产精品| 国产精品精品视频| 国产精品久久自在自线观看| 全部免费特黄特色大片视频| 欧美一级大片在线观看| 亚洲色婷婷一区二区| 亚洲a免费| 日韩少妇激情一区二区| 亚洲国产无码有码| 国产91色在线| 91久久夜色精品国产网站| 日韩亚洲高清一区二区| www.日韩三级| 亚洲无线一二三四区男男| 色婷婷国产精品视频| 大学生久久香蕉国产线观看| 欧美综合在线观看| 风韵丰满熟妇啪啪区老熟熟女| 亚洲第一区在线| 人妻精品久久无码区| 999精品免费视频| 奇米精品一区二区三区在线观看| 免费无码AV片在线观看国产 | 女同久久精品国产99国| 最近最新中文字幕免费的一页| 波多野结衣视频网站| 日韩毛片基地| 91久久偷偷做嫩草影院| 色男人的天堂久久综合| 69综合网| 中文字幕首页系列人妻| 亚洲乱码在线视频| 国产精品浪潮Av| 国产无码制服丝袜| 国产福利2021最新在线观看| 日韩在线永久免费播放| 欧美a在线| 亚洲欧洲免费视频| 激情五月婷婷综合网| 国产经典免费播放视频| 国产精品嫩草影院av| 婷婷亚洲最大| 国产欧美日本在线观看| 一级黄色网站在线免费看| 亚洲福利网址| 狠狠色综合网| 黄色网址免费在线| 欧美在线黄| 日韩av无码DVD| 亚洲精品视频免费| 亚洲国产综合精品一区| 亚洲首页在线观看| 一区二区三区在线不卡免费 | 一区二区三区国产精品视频| 国产无人区一区二区三区| 青青草国产在线视频| 国产精品30p| 无码精品国产dvd在线观看9久| 欧美一级一级做性视频| 亚洲中文制服丝袜欧美精品| 一边摸一边做爽的视频17国产 | 四虎国产精品永久一区| 成人福利在线视频免费观看| 亚洲欧美国产五月天综合| 亚洲伊人久久精品影院| 国产精选自拍| 午夜欧美在线| 黄色a一级视频| 99久久成人国产精品免费| 青青草原国产| 久久国产精品77777| 韩日午夜在线资源一区二区| 亚洲婷婷六月| 国产日韩av在线播放| 久草中文网| 5555国产在线观看|