余建國(1972-)
男,河北石家莊人,本科學(xué)歷,講師,(河北省衡水市科技局微機(jī)中心,河北 衡水 053000) ,主要從事軟件開發(fā)和計(jì)算機(jī)教學(xué)工作。
摘要:文章主要針對利用PLC控制一個(gè)精確的提升裝置,介紹了三菱PLC在工業(yè)遠(yuǎn)程控制方面的應(yīng)用。
關(guān)鍵詞:PLC;通訊;A/D轉(zhuǎn)換;D/A轉(zhuǎn)換
Abstract: This paper mostly mainly introduces describes the application of MITSUBISHI PLC in remote industrial control system by introducing aim at controlling an accurate takeup device controlled by PLC.
Key words: PLC; Communication; A/D; D/A
1 引言
由于PLC是專為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì)的一種工業(yè)控制計(jì)算機(jī),具有抗干擾能力強(qiáng)、可靠性極高、體積小等顯著優(yōu)點(diǎn)。本項(xiàng)目利用三菱PLC控制一個(gè)精確的提升裝置實(shí)現(xiàn)某種國防產(chǎn)品的裝配作業(yè)。控制要求PLC對現(xiàn)場采集到的參數(shù)進(jìn)行接收并處理,將數(shù)據(jù)傳送到500米以外的監(jiān)控室的上位計(jì)算機(jī),同時(shí)接受計(jì)算機(jī)發(fā)來的控制指令來完成提升裝置的特定的動(dòng)作,從而達(dá)到生產(chǎn)的目的。
鑒于三菱PLC的FX系列有掃描速度高、結(jié)構(gòu)緊湊、價(jià)格低廉以及具有模塊化和標(biāo)準(zhǔn)化便于編程開發(fā)等諸多優(yōu)點(diǎn),根據(jù)項(xiàng)目具體控制點(diǎn)數(shù)的要求,選擇了FX2N-32MR基本單元。該單元的PLC僅能實(shí)現(xiàn)開關(guān)量的輸入和輸出控制。為了實(shí)現(xiàn)數(shù)字量和模擬量的相互轉(zhuǎn)換,增加了A/D和D/A轉(zhuǎn)換模塊。為了與上位計(jì)算機(jī)實(shí)現(xiàn)遠(yuǎn)距離串行通信,PLC主體還需增加用于格式和電平轉(zhuǎn)換的485ADP模塊。
2 上位計(jì)算機(jī)與三菱FX系列PLC的串行通訊設(shè)計(jì)
FX系列PLC支持多種通訊類型,如:N : N網(wǎng)絡(luò)型、并行連接型、無協(xié)議通訊型和計(jì)算機(jī)連接型等。由于本系統(tǒng)采用上位計(jì)算機(jī)與PLC串行通訊,所以采用計(jì)算機(jī)連接類型通訊。
2.1 計(jì)算機(jī)連接類型通訊協(xié)議設(shè)計(jì)
計(jì)算機(jī)連接類型的協(xié)議是三菱公司為用戶提供的一種專用的通訊協(xié)議,既可以實(shí)現(xiàn)RS-485(422)通訊也可以實(shí)現(xiàn)RS-232通訊,如果要求的通訊距離不大,可以直接將PLC提供的RS-232通訊口與計(jì)算機(jī)的9針串口連接起來。本項(xiàng)目要實(shí)現(xiàn)300~500米的通訊距離,因此采用RS-485的通訊標(biāo)準(zhǔn),此種通訊需要專用的轉(zhuǎn)換模塊完成RS-232到RS-485的轉(zhuǎn)換。圖1為本系統(tǒng)的控制接線圖。
圖1 RS-485接線圖
圖1中的485PC-IF和485ADP都是三菱公司生產(chǎn)的用于通訊的模塊。計(jì)算機(jī)端和485PC-IF的接線采用的三線制的接法(地線可以不接),此間屬于RS-232通信標(biāo)準(zhǔn)。在485PC-IF和485ADP模塊之間的數(shù)據(jù)傳輸是RS-485的標(biāo)準(zhǔn),如圖1所示,兩模塊之間用一對雙絞線連接,信號的傳輸方式是差分傳輸,其傳輸距離可達(dá)1200米,因此采用此種接線標(biāo)準(zhǔn)可以充分滿足項(xiàng)目300~500米的遠(yuǎn)距離傳輸?shù)囊蟆LC與485ADP之間采用數(shù)據(jù)線相連接,為了便于各模塊間的組裝,每個(gè)模塊都有提供一個(gè)數(shù)據(jù)口,模塊間可以通過從數(shù)據(jù)口引出的數(shù)據(jù)線進(jìn)行一一擴(kuò)展。
雖然計(jì)算機(jī)連接型的通訊協(xié)議已經(jīng)有專用的通訊協(xié)議,用戶不必去開發(fā)PLC一方的協(xié)議,但是要實(shí)現(xiàn)與計(jì)算機(jī)的通訊,還需對計(jì)算機(jī)側(cè)進(jìn)行協(xié)議開發(fā),而且要與PLC的專用協(xié)議保持一致,協(xié)議規(guī)定計(jì)算機(jī)方為主動(dòng)請求方,PLC接收到請求信號后,開始初始化通訊設(shè)置,然后發(fā)送應(yīng)答信號以示握手聯(lián)絡(luò)成功,等待接收數(shù)據(jù)。計(jì)算機(jī)收到應(yīng)答信號后,可以根據(jù)固定的協(xié)議發(fā)送數(shù)據(jù)或控制指令。在計(jì)算機(jī)側(cè)無論是用何種軟件開發(fā)通信協(xié)議,都要保證數(shù)據(jù)在PLC與計(jì)算機(jī)間是以ASCII碼的形式進(jìn)行數(shù)據(jù)傳輸,在沒有自動(dòng)將數(shù)據(jù)轉(zhuǎn)化成ASCII碼的編程軟件中要進(jìn)行手動(dòng)轉(zhuǎn)化。
2.2 PLC在計(jì)算機(jī)連接類型中的系統(tǒng)參數(shù)設(shè)置
PLC雖然有專用的通訊協(xié)議,但是要滿足具體的通訊還需要對一些待定的參數(shù)進(jìn)行設(shè)置,PLC提供了以下幾種特殊的寄存器來幫用戶實(shí)現(xiàn)相關(guān)參數(shù)的設(shè)置。
· 通訊格式設(shè)置參數(shù)寄存器(D8120):
D8120存入一個(gè)16位十六進(jìn)制數(shù),每一位都有相關(guān)的說明,用戶可以根據(jù)具體的情況完成通訊參數(shù)的設(shè)置。從低位到高位依次對數(shù)據(jù)長度、奇偶校驗(yàn)、停止位、波特率等進(jìn)行規(guī)定,不同的設(shè)置組成不同的數(shù)值,將此數(shù)值存入D8120即可。
· 主從站點(diǎn)設(shè)置寄存器(D8121):
由于計(jì)算機(jī)連接類型的通訊可以實(shí)現(xiàn)1 : n的連接,即一個(gè)上位計(jì)算機(jī)可以與多個(gè)PLC通迅,這就必須對每個(gè)PLC進(jìn)行一個(gè)編號(站點(diǎn)號),分為主站點(diǎn)和從站點(diǎn),D8121中的一個(gè)十六進(jìn)制數(shù)值就是代表某個(gè)PLC的站點(diǎn),從而使計(jì)算機(jī)明確本次是與哪一PLC進(jìn)行的通訊。數(shù)值的范圍是從00H~0FH。
· 超時(shí)設(shè)置寄存器(D8129):
超時(shí)檢查時(shí)間是指在計(jì)算機(jī)向PLC的失敗傳送接收結(jié)束后一直到發(fā)送序列初始化的這一時(shí)間,根據(jù)PLC的不同型號,給出響應(yīng)的時(shí)間范圍。圖2是對D8120、D8121、D8129的設(shè)置梯形圖:
圖2 參數(shù)設(shè)置梯形圖
圖2中:
D8120中的數(shù)值規(guī)定了:數(shù)據(jù)長度為7位、偶校驗(yàn)、波特率為9600bps、無協(xié)議通訊、未使用標(biāo)題、未使用終結(jié)符、控制線為普通模式;
D8121中的數(shù)值規(guī)定了與計(jì)算機(jī)是與0站點(diǎn)PLC通訊;
D8129中的數(shù)值規(guī)定了通訊超時(shí)時(shí)間是60ms。
3 PLC程序設(shè)計(jì)
要實(shí)現(xiàn)計(jì)算機(jī)與PLC的數(shù)據(jù)通信,只對通訊參數(shù)進(jìn)行設(shè)置是不夠的。需要對計(jì)算機(jī)與PLC之間流動(dòng)的數(shù)據(jù)(包括開關(guān)量和模擬量)進(jìn)行編程設(shè)計(jì)。開關(guān)量一般是上位計(jì)算機(jī)對PLC的軟元件(X、Y、M)等的一些強(qiáng)制的ON或OFF操作,從而觸發(fā)PLC梯形圖的某種邏輯關(guān)系。而模擬量是通訊的主要部分,PLC通過數(shù)字量到模擬量的轉(zhuǎn)換模塊(D/A)來控制現(xiàn)場提升裝置如變頻器、比例電磁閥等模擬量調(diào)節(jié)裝置,進(jìn)而控制變頻電機(jī)的轉(zhuǎn)速和調(diào)節(jié)液壓系統(tǒng)的油路壓力,從而實(shí)現(xiàn)了對提升裝置速度和提升力的遠(yuǎn)程調(diào)節(jié)。為了實(shí)現(xiàn)對現(xiàn)場的提升速度、油路壓力、提升力的監(jiān)測,PLC需要多個(gè)通道的模擬量到數(shù)字量的轉(zhuǎn)換模塊(A/D),把安裝在現(xiàn)場設(shè)備上的速度、壓力和拉力傳感器傳來的模擬信號轉(zhuǎn)化為數(shù)字量,存入規(guī)定的存儲(chǔ)區(qū)供計(jì)算機(jī)訪問。A/D和D/A兩種模塊屬于PLC的主體的兩個(gè)擴(kuò)展單元,本身沒有CPU處理單元,它是通過主體中的數(shù)據(jù)線連接在一起,要實(shí)現(xiàn)與主單元模塊的協(xié)同操作,必須對其進(jìn)行程序驅(qū)動(dòng),用以確定數(shù)據(jù)的轉(zhuǎn)換時(shí)間、數(shù)據(jù)的存儲(chǔ)位置、通道選擇以及對采集的數(shù)據(jù)進(jìn)行增益量和偏移量的軟調(diào)節(jié)等。
圖3為D/A轉(zhuǎn)換的部分梯形圖程序,整個(gè)轉(zhuǎn)換過程通過MOV和TO指令來完成的;在D/A轉(zhuǎn)換過程中,MOV指令使數(shù)據(jù)寄存器中的數(shù)值移動(dòng)到緩沖區(qū),通過一系列的TO指令使緩沖區(qū)中的數(shù)值發(fā)送到D/A模塊的規(guī)定的通道中。A/D轉(zhuǎn)換過程采用FROM和TO指令將模塊中的數(shù)據(jù)發(fā)送到指定的數(shù)據(jù)寄存器中。D/A控制以控制變頻電機(jī)為例,本項(xiàng)目中變頻電機(jī)的轉(zhuǎn)速隨提升的要求分為慢速提升、快速提升和高速提升三個(gè)轉(zhuǎn)速,在每個(gè)速段需要有一個(gè)D/A轉(zhuǎn)換的梯形圖與其對應(yīng),圖3是電機(jī)慢速提升時(shí)的控制梯形圖。
圖3 D/A控制梯形圖
圖3中:
第一行,“慢速提升”按鈕使X001為ON,將數(shù)據(jù)寄存器D1中的數(shù)據(jù)存入緩沖區(qū),數(shù)據(jù)寄存器D1存放的是電機(jī)的頻率值;
第二行,用TO指令將低8位數(shù)據(jù)向D/A模塊輸出;
三、四行語句使輸出低8位數(shù)據(jù)保持,等待高4位的數(shù)據(jù);
第五行語句使高4位的數(shù)據(jù)向D/A模塊輸出;
最后兩行語句是對數(shù)據(jù)輸出的通道進(jìn)行選擇,選擇通道1。
圖4是對現(xiàn)場壓力傳感器采集的數(shù)據(jù)進(jìn)行轉(zhuǎn)換的梯形圖,本梯形圖只涉及A/D的轉(zhuǎn)換, 沒有對采集的數(shù)據(jù)的比例調(diào)整程序:
圖4 A/D轉(zhuǎn)換梯形圖
圖4中:
第一行語句,用FROM語句將#30號緩存區(qū)的數(shù)值放入D4中,#30存放的是此A/D模塊的驗(yàn)證碼,正常值是K2010;
第二語句用K2010與D4中的值進(jìn)行比較,如果相等是M1為ON;
第三條語句是通道選擇程序,本語句選擇1通道和2通道,即將H3300存入#0號緩存區(qū);
最后一條語句作用是將1、2通道的數(shù)據(jù)存入數(shù)據(jù)寄存器D3、D4。
4 結(jié)語
本文通過對PLC的正確硬件連接和軟件的設(shè)計(jì),實(shí)現(xiàn)了遠(yuǎn)程上位計(jì)算機(jī)與現(xiàn)場PLC的實(shí)時(shí)通信;實(shí)現(xiàn)了遠(yuǎn)程對現(xiàn)場變頻器和比例電磁閥等的控制,滿足了項(xiàng)目提出的作業(yè)要求。
參考文獻(xiàn)
[1] 廖常初. 可編程序控制器應(yīng)用技術(shù)[M]. 重慶大學(xué)出版社, 2001, 2.
[2] 三菱可編程控制器FX通訊用戶手冊[S].
[3] 王兆義. 小型可編程控制器實(shí)用技術(shù)[M]. 機(jī)械工業(yè)出版社,2002.
[4] MITSUBISHI ELECTRIC CROP. 三菱微型可編程控制器使用手冊[S].
[5] 宋德玉. 可編程控制器原來及應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)[M]. 冶金工業(yè)出版社,2000.