馬斌仁 范祖清
摘? 要:血液輻照機(jī)用于對血液或血液制品進(jìn)行輻照??刂葡到y(tǒng)通過RS232通訊編寫VB控制程序,采用計(jì)算機(jī)、PLC和交流伺服系統(tǒng)進(jìn)行閉環(huán)控制,提高運(yùn)動和輻照精度。介紹了控制系統(tǒng)硬件電路、伺服控制系統(tǒng)和PLC控制程序及計(jì)算機(jī)控制程序的設(shè)計(jì)與開發(fā),具有較強(qiáng)的實(shí)用性。
關(guān)鍵詞:硬件電路;伺服控制;PLC;控制程序
中圖分類號:R197.39? ? ? ?文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號:2095-2945(2019)11-0043-03
Abstract: Blood irradiator is used to irradiate blood or blood products. The VB control program is compiled by RS232 communication, and the closed-loop control is carried out by computer, PLC and AC servo system to improve the motion and irradiation accuracy. This paper introduces the design and development of hardware circuit, servo control system, PLC control program and computer control program of the control system, which has strong practicability.
Keywords: hardware circuit; servo control; PLC; control program
1 研究背景
血液輻照機(jī)根據(jù)輸血相關(guān)性移植物抗宿主病的預(yù)防機(jī)理,利用鈷-60或銫-137放射源,通過控制其γ射線劑量,對血液或血液制品進(jìn)行輻照,并有效滅活血液中具有免疫活性的T淋巴細(xì)胞,從而消除TA-GVHD的發(fā)生,讓輸血更安全。
它的工作原理為將需要輻照的血液或血液制品放入樣品容器內(nèi),樣品容器作旋轉(zhuǎn)運(yùn)動。輻照時上位機(jī)發(fā)出輻照命令,屏蔽鼓旋轉(zhuǎn)機(jī)構(gòu)將樣品容器旋轉(zhuǎn)到輻照位置,放射源對血液或血液制品進(jìn)行照射。在照射過程中,樣品容器作旋轉(zhuǎn)運(yùn)動,放射源作上下運(yùn)動。主要包括放射源組件上下往復(fù)直線運(yùn)動和屏蔽鼓繞中心軸旋轉(zhuǎn)運(yùn)動及樣品容器繞中心軸旋轉(zhuǎn)運(yùn)動。
單位原血液輻照機(jī)采用計(jì)算機(jī)、PCI控制卡(I/O控制和
脈沖輸出)和步進(jìn)電機(jī)及驅(qū)動器進(jìn)行開環(huán)控制,現(xiàn)采用觸摸屏、PLC和PCI控制卡(I/O控制)及交流伺服系統(tǒng)進(jìn)行閉環(huán)控制。該控制系統(tǒng)為兩級控制,計(jì)算機(jī)是上位機(jī),既可操作又可顯示;PLC作下位機(jī),作信號檢測和執(zhí)行具體操作。交流伺服電機(jī)作為運(yùn)動執(zhí)行電機(jī),其運(yùn)行平穩(wěn),性能可靠穩(wěn)定,從而提高血液輻照機(jī)運(yùn)動到位精度和輻照精度。
2 硬件電路設(shè)計(jì)
控制系統(tǒng)硬件由計(jì)算機(jī)、觸摸屏、邏輯可編程控制器PLC(CPU、脈沖I/O模塊和輸入輸出模塊)、自主研發(fā)的PCI I/O控制卡及伺服電機(jī)驅(qū)動器、伺服電機(jī)和接近開關(guān)、開關(guān)等組成。
計(jì)算機(jī)功能:讀取PCI控制卡8255的A和B口輸入高低電平;通過RS232通訊對PLC的IR和DM區(qū)、計(jì)數(shù)器等進(jìn)行讀寫操作;輻照控制和運(yùn)動控制;系統(tǒng)參數(shù)設(shè)置與存儲等。
觸摸屏功能:系統(tǒng)參數(shù)和狀態(tài)顯示;參數(shù)設(shè)置;發(fā)出操作指令。
PLC(含脈沖I/O模塊)功能:通過RS232接收計(jì)算機(jī)的讀寫指令,并輸出伺服驅(qū)動器的使能信號(方向、啟停、頻
率);檢測運(yùn)動部件位置;接收增量編碼信號;輻照控制和運(yùn)動控制。
伺服電機(jī)及驅(qū)動器功能:交流伺服系統(tǒng)采用脈沖與方向控制方式;A/B相差動信號反饋至脈沖I/O模塊;根據(jù)實(shí)際情況設(shè)置相關(guān)參數(shù),如電子齒輪比等。
3 伺服控制系統(tǒng)設(shè)計(jì)
3.1 規(guī)格型號
根據(jù)樣品容器旋轉(zhuǎn)、源升降和屏蔽鼓旋轉(zhuǎn)的速度和力矩及轉(zhuǎn)動慣量等,選購臺達(dá)ASD-B2-0121-B和ASD-B2-0221-B等伺服電機(jī)驅(qū)動器和相應(yīng)的交流伺服電機(jī)、減速機(jī)及相關(guān)接插件。
3.2 伺服運(yùn)動控制
在血液輻照機(jī)運(yùn)動過程中,PLC輸出模塊輸出伺服電機(jī)驅(qū)動器的方向和啟停信號。同時,脈沖I/O模塊輸出驅(qū)動器的脈沖頻率信號。伺服電機(jī)內(nèi)的增量編碼器輸出增量編碼信號(OA和/OA、OB和/OB相位差信號)反饋給脈沖I/O模塊計(jì)
數(shù)。PLC程序通過PRV指令獲取高速計(jì)數(shù)器0、1、2的值并保存在DM區(qū)。計(jì)算機(jī)通過串口讀取DM區(qū)數(shù)據(jù),經(jīng)邏輯處理換算出運(yùn)動位置并實(shí)時顯示。
3.3 伺服驅(qū)動器設(shè)置
交流伺服系統(tǒng)采用位置控制模式(指令來源為外部脈沖輸入),即脈沖與方向控制方式。另外,根據(jù)需求設(shè)定伺服電機(jī)驅(qū)動器其它參數(shù),如控制模式及電子齒輪比和檢出器輸出脈沖數(shù)等。
3.4 運(yùn)動精度和理論速度計(jì)算
樣品容器、源升降和屏蔽鼓的檢出器輸出脈沖每周均設(shè)定為50(最高可達(dá)40000),PLC高速計(jì)數(shù)器接收到的脈沖數(shù)為:50×4倍頻×機(jī)械比×減速機(jī)比。按照旋轉(zhuǎn)一圈計(jì)算,對應(yīng)的樣品容器旋轉(zhuǎn)理論精度為0.045度/脈沖,源升降為0.0275mm/脈沖(半徑以0.035m計(jì)算),屏蔽鼓旋轉(zhuǎn)為0.006度/脈沖。
通過PLC的SPED指令發(fā)10000個脈沖給伺服電機(jī)驅(qū)動器,臺達(dá)伺服電機(jī)旋轉(zhuǎn)一圈。針對血液輻照機(jī)三種運(yùn)動,PLC發(fā)出20K~50K伺服驅(qū)動頻率,則旋轉(zhuǎn)速度為:伺服驅(qū)動頻率/10K×4倍頻×電子齒輪比÷(機(jī)械比×減速器比)。若伺服驅(qū)動頻率按20K計(jì)算,樣品容器理論速度為10.0r/min,源升降為18.3mm/s,屏蔽鼓為2.0r/min。
4 PLC控制程序設(shè)計(jì)
4.1 功能與設(shè)置
歐姆龍邏輯可編程控制器PLC由電源模塊CJ1W-PA202和CPU模塊CJ2M-CPU11、兩個脈沖I/O模塊CJ2M-MD211、兩個輸入模塊CJ1W-ID211及一個輸出模塊CJ1W-OC211組成。
脈沖I/O模塊功能:采集增量編碼信號(A/B相差動信號)和輸出伺服驅(qū)動頻率。
CPU模塊功能:與上位機(jī)RS232通訊、邏輯處理和計(jì)算。
輸入模塊功能:采集安全聯(lián)鎖信號(網(wǎng)電源中斷、急停等)和設(shè)備狀態(tài)(門關(guān)、源升降和樣品容器零位等)及手動按鍵(樣品容器和屏蔽鼓正反轉(zhuǎn)、源升降)。
輸出模塊功能:輸出使能信號(方向、啟停)和控制信號等。
4.2 輻照控制及流程
通過PLC的PRV指令讀取高速計(jì)數(shù)器0、1、2的值,并實(shí)時保存在DM區(qū)內(nèi);樣品容器零位,源升降零位及屏蔽鼓裝載位對高速計(jì)數(shù)器(A531.00~A531.02)復(fù)位;通過PLC的CPSL指令(有符號長二進(jìn)制比較)進(jìn)行比較并形成標(biāo)志位,控制血液輻照機(jī)三種運(yùn)動的啟停和方向;通過PLC的SPED和@INI指令發(fā)出脈沖頻率至伺服電機(jī)驅(qū)動器。
源升降在運(yùn)動行程內(nèi),可設(shè)置最多六個駐留點(diǎn)(至少兩個),且駐留點(diǎn)時間可調(diào)。因此,通過PLC的++B(BCD碼遞增)和--B(BCD碼遞減)指令,采用BCD間接DM尋址(間址)方式,對放射源升或降進(jìn)行運(yùn)動控制。
PLC程序主要完成系統(tǒng)上電初始化和復(fù)位、準(zhǔn)備輻照及正在輻照等功能。正在輻照控制流程圖如下:
圖2 輻照控制流程圖
5 計(jì)算機(jī)控制程序設(shè)計(jì)
計(jì)算機(jī)控制程序使用Visual Basic 6.0開發(fā),采用模塊化設(shè)計(jì),主要完成功能如下:
(1)配置文件:對系統(tǒng)和輻照參數(shù)進(jìn)行管理。包括:通訊端口設(shè)置、輻照時間設(shè)定、運(yùn)動速度、源升降駐留點(diǎn)位置和駐留時間的設(shè)置等。
(2)輻照控制和運(yùn)動控制。通過系統(tǒng)參數(shù)設(shè)置對PLC的DM區(qū)和IR區(qū)寫入相應(yīng)的值;PLC對伺服電機(jī)驅(qū)動器進(jìn)行頻率輸出,對伺服電機(jī)的啟停、方向進(jìn)行控制,實(shí)現(xiàn)伺服電機(jī)的運(yùn)動控制和輻照啟動、停止及初始化等。另外,通過讀取PCI I/O控制卡8255的A和B端口高低電平和PLC的IR區(qū)標(biāo)志位,實(shí)現(xiàn)運(yùn)動狀態(tài)和故障的顯示。另外,讀取PLC的DM區(qū)數(shù)值,通過邏輯處理和換算,利用timer顯示三種運(yùn)動的速度和位置。
5.1 PCI卡地址采集
接近開關(guān)信號和運(yùn)動故障信號及開關(guān)信號等經(jīng)光電隔離TLP521-4光耦輸入到上位機(jī)PCI控制卡8255可編程并行I/O接口芯片的A、B口??刂瞥绦蛞胐lportio.dll文件和調(diào)用DlPortReadPortUchar函數(shù)對A和B端口輸入的高低電平進(jìn)行讀取,實(shí)現(xiàn)系統(tǒng)狀態(tài)和運(yùn)動故障采集、顯示。
5.2 PCI IR/DM區(qū)讀寫
程序通過api232.dll動態(tài)鏈接庫文件sio_open函數(shù),與PLC通訊連接成功后,發(fā)至PLC的命令如下:
從指定字開始讀IR字中指定數(shù)目的內(nèi)容,讀格式為:@00RR+起始字+字?jǐn)?shù)+FCS+結(jié)束符,響應(yīng)格式為:@00RR+結(jié)束代碼+讀出數(shù)據(jù)(1個字)+…+FCS+結(jié)束符;將數(shù)據(jù)寫入IR區(qū),從指定字開始,寫是逐字完成的,寫格式為:@00WR+起始字+寫入數(shù)據(jù)(1個字)+…+FCS+結(jié)束符。計(jì)算機(jī)對PLC的IR/DM讀寫一樣,僅標(biāo)題碼為RD或WD。
通過對PLC的IR區(qū)16.00~16.08標(biāo)志位寫操作,實(shí)現(xiàn)啟動輻照和電磁鐵控制、手動控制等。同時,對PLC的IR區(qū)30.00~30.10讀操作,利用timer實(shí)現(xiàn)檢測輻照狀態(tài)和手動模式等。
另外,程序通過RS232對PLC DM區(qū)的值進(jìn)行讀操作,經(jīng)過邏輯運(yùn)算和處理,顯示輻照時間、源升降當(dāng)前駐留點(diǎn)和位置以及樣品容器和屏蔽鼓的旋轉(zhuǎn)位置等。同時,按照寫DM區(qū)的命令格式,結(jié)合血液輻照機(jī)PLC工作位表,將三種運(yùn)動的伺服驅(qū)動脈沖、源升降駐留點(diǎn)數(shù)和駐留時間等輻照參數(shù)寫入PLC相應(yīng)的DM區(qū)。
6 結(jié)束語
血液輻照機(jī)控制系統(tǒng)為伺服驅(qū)動系統(tǒng)閉環(huán)控制,PLC含脈沖I/O模塊對編碼器反饋信號進(jìn)行采樣,控制精度由電機(jī)軸后端的旋轉(zhuǎn)編碼器保證且驅(qū)動器采用四倍頻技術(shù)。較步進(jìn)電機(jī)其控制精度高且PLC控制時間準(zhǔn)確。另外,由于機(jī)械裝配和累積誤差等因素,血液輻照機(jī)經(jīng)測試,源升降運(yùn)動精度為0.2mm,屏蔽鼓旋轉(zhuǎn)到位精度為0.3°,輻照時間與預(yù)置值誤差0.2s等技術(shù)指標(biāo)滿足設(shè)計(jì)開發(fā)要求。
交流伺服電機(jī)運(yùn)行平穩(wěn),在額定轉(zhuǎn)速內(nèi),均能恒功率輸出。較步進(jìn)電機(jī)開環(huán)控制,控制性能更穩(wěn)定可靠,克服步進(jìn)電機(jī)失步和電機(jī)啟動力矩小等缺點(diǎn)。另外,較步進(jìn)電機(jī)速度響應(yīng)性能,伺服系統(tǒng)的加速性能較好。因此,血液輻照機(jī)控制系統(tǒng)的設(shè)計(jì)與開發(fā)具有較強(qiáng)的實(shí)用性。
參考文獻(xiàn):
[1]趙茂泰.智能儀表原理及應(yīng)用[M].電子工業(yè)出版社.
[2]曾琦.Visual Basic 6.0編程實(shí)例與技巧[M].中國水利水電出版社.
[3]清漢計(jì)算機(jī)工作室.Visual Basic 6.0數(shù)據(jù)庫開發(fā)實(shí)例[M].機(jī)械工業(yè)出版社.
[4]廖常初.可編程序控制器的編程方法與工程應(yīng)用[M].重慶大學(xué)出版社.