■侯學(xué)謙 李付堂 李峰華
〔北京智棉科技有限公司,北京100089〕
關(guān)鍵字:無協(xié)議通訊;CP1H;噴碼控制器;自動刷嘜
無協(xié)議通訊是歐姆龍PLC通過RS232/485串口模塊與計算機、PLC(包含歐姆龍PLC和其他品牌PLC)或者其他串行通訊設(shè)備(條形碼讀取器、變頻器、電子秤等)之間實現(xiàn)數(shù)據(jù)交互的一種通訊方式。CP1H無協(xié)議通訊最多可以發(fā)送或讀取256個字節(jié)的數(shù)據(jù)。歐姆龍PLC的無協(xié)議通訊與西門子PLC的自由口通訊類似,由于編程簡單、通訊數(shù)據(jù)量大、通訊可靠性高等優(yōu)點,因此在PLC與其他串口設(shè)備的通訊中得到了廣泛的應(yīng)用。
本文以歐姆龍CP1H為例,通訊參數(shù)可以在歐姆龍編程軟件CX-Programmer中進行設(shè)置。首先CP1H的串口模式要設(shè)置成RS232C通訊方式,通訊參數(shù)根據(jù)下位機的需求自由設(shè)置。
如本文介紹的CP1H與噴碼控制器之間的通訊格式設(shè)置如下:
1.波特率為4 800;
2.數(shù)據(jù)位為8;
3.停止位為1;
4.奇偶校驗位為N。
無協(xié)議通訊可以將存放在起始碼與結(jié)束碼之間的數(shù)據(jù)通過TXD指令發(fā)送,而RXD指令則用于接收起始碼和結(jié)束碼之間的數(shù)據(jù),起始碼和結(jié)束碼均在歐姆龍編程軟件CX-Programmer中進行設(shè)定。表1列出了可設(shè)定在無協(xié)議通訊模式下發(fā)送和接收數(shù)據(jù)的報文格式。
表1 無協(xié)議通訊報文格式
數(shù)據(jù)發(fā)送指令TXD與接收指令RXD的PLC編程格式如圖1與圖2所示。
圖1 TXD指令格式
圖2 RXD指令格式
其中A392.13為CP1H內(nèi)部特殊輔助繼電器。當(dāng)CP1H的通訊方式設(shè)置為RS232C后,A392.13置ON說明可以進行數(shù)據(jù)發(fā)送。其中D100、#100、&5表示把以D100為首地址的連續(xù)5個字節(jié)的數(shù)據(jù)發(fā)送出去。
其中A392.14為CP1H內(nèi)部特殊輔助繼電器。當(dāng)CP1H接收數(shù)據(jù)完成后,A392.14置ON用于清除當(dāng)前接收緩存區(qū)中的數(shù)據(jù),為下一次執(zhí)行RXD指令做好準(zhǔn)備。其中D100、#100、&10表示把接收到的10個字節(jié)的數(shù)據(jù)存放在以D100為首地址的連續(xù)數(shù)據(jù)存儲區(qū)中。
根據(jù)自動刷嘜的功能需求,采用CP1H作為機構(gòu)運動控制中心,主要完成刷嘜機械動作控制。GPK3-噴碼控制器(以下簡稱噴碼控制器)作為噴印控制中心,主要完成對外展示打印信息和對高解析噴頭的打印控制。由于兩個控制中心功能缺乏系統(tǒng)聯(lián)動和信息交互,同時需要交替運行,因此,非常容易在刷嘜過程中造成噴印錯行現(xiàn)象。本文旨在解決這兩個控制中心缺乏聯(lián)動的問題,在兩者之間實現(xiàn)信息實時交互。CP1H采用無協(xié)議通訊方式,給噴碼控制器逐行發(fā)送打印校驗碼。刷嘜通訊系統(tǒng)框圖如圖3所示。
圖3 刷嘜通訊系統(tǒng)框圖
本設(shè)計中CP1H端采用歐姆龍RS232C串行通訊選項板與噴碼控制器連接。歐姆龍RS232電氣接口管腳定義與其他串口設(shè)備有所不同。圖4展示了CP1H與噴碼控制器之間的通訊端口管腳含義與電氣接線。
圖4 CP1H與噴碼控制器接線圖
自動刷嘜在正常工作時,對每個棉包前后兩個端面依次逐行進行刷嘜。根據(jù)國家標(biāo)準(zhǔn)GB 6975—2013《棉花包裝》要求,棉包前后端面信息要求完全一致。但是在實際生產(chǎn)中受工人操作失誤、外界等異常因素干擾,經(jīng)常出現(xiàn)一個棉包前后兩個端面嘜頭信息不一致的情況。根本原因是自動刷嘜的運動控制中心與噴印控制中心的功能缺乏聯(lián)動,容易造成自動刷嘜的機械運動與刷嘜信息不匹配。但是原有的自動刷嘜即使出現(xiàn)刷嘜錯行的現(xiàn)象也不會對操作人員進行提示,只有等到操作人員發(fā)現(xiàn)刷嘜錯誤后再進行人工干預(yù)。這時往往已經(jīng)生產(chǎn)了多個刷嘜信息錯誤的棉包,生產(chǎn)工人需要對這些刷嘜錯誤的棉包逐個更換包布,既增加了工人的勞動強度,又造成一定的經(jīng)濟損失。
為了解決上述問題,作者對兩個控制中心之間的信息交互進行了設(shè)計:
CP1H控制自動刷嘜進行打印動作的同時逐行給噴碼控制器發(fā)送校驗碼,噴碼控制器接收到校驗碼后與當(dāng)前打印行數(shù)信息進行比較。如果收到的校驗碼與當(dāng)前的打印行信息相同,則噴碼控制器執(zhí)行該行的打印指令;如果不同,則噴碼控制器停止執(zhí)行該行打印指令,并同時給CP1H反饋一個錯誤代碼。當(dāng)CP1H接收到錯誤代碼后與它內(nèi)部一個設(shè)定好的數(shù)據(jù)寄存器進行比較,CP1H內(nèi)部完成數(shù)據(jù)比較后,由它對外輸出報警信號來提示操作人員當(dāng)前刷嘜出現(xiàn)了錯誤。
CP1H與噴碼控制器對每個打印行的校驗碼進行約定。PLC編程時,應(yīng)把雙方約定的校驗碼依次存放到設(shè)定好的數(shù)據(jù)寄存器D0~D9中(本文按每個棉包有10行刷嘜信息進行說明),并且把數(shù)據(jù)接收指令RXD設(shè)定為連續(xù)接收狀態(tài)。例如CP1H進行第一行打印動作時,執(zhí)行一次TXD指令發(fā)送數(shù)據(jù)寄存器D0中的校驗碼給噴碼控制器,其他各行校驗過程類似,數(shù)據(jù)校驗任務(wù)由噴碼控制器完成。如果校驗結(jié)果正確,則噴碼控制器正常打印;如果校驗后發(fā)現(xiàn)錯誤,則噴碼控制器停止打印,并回傳錯誤代碼給CP1H。CP1H接收到錯誤代碼后,驅(qū)動輸出繼電器產(chǎn)生報警信號來提示操作人員及時處理。整個校驗程序設(shè)計如圖5所示。
圖5 校驗程序流程圖
本文詳盡介紹了歐姆龍CP1H無協(xié)議通訊的參數(shù)設(shè)置、報文格式、下位機通訊端口含義與電氣接線、數(shù)據(jù)發(fā)送指令TXD與數(shù)據(jù)接收指令RXD的使用方法及相關(guān)特殊內(nèi)部繼電器A392.13與A392.14的含義、無協(xié)議通訊程序設(shè)計。本設(shè)計方案已經(jīng)在生產(chǎn)現(xiàn)場中得到了實際應(yīng)用,并成功解決了原有自動刷嘜因兩個控制中心之間缺乏系統(tǒng)聯(lián)動和信息交互導(dǎo)致的刷嘜錯行問題,方案可行性較強,現(xiàn)場應(yīng)用效果顯著。