
上海雄巖電氣有限公司
24小時(shí)服務(wù)專線:15201969730
電 話:021-39721176
傳 真:021-39721196
通訊地址:上海市青浦區(qū)秀泉路551弄3號(hào)
企業(yè)郵箱:one@herostones.com
企業(yè)網(wǎng)址:www.p21815.cn
三菱FX3U PLC 通用串口通信在MODBUS環(huán)境中的應(yīng)用
返回列表在工業(yè)控制中,可編程控制器(PLC)由于控制靈活、可靠性高、抗干擾能力強(qiáng)、體積小、使用方便等優(yōu)點(diǎn)而得到了廣泛的應(yīng)用,已經(jīng)成為現(xiàn)代工業(yè)控制的主要技術(shù)平臺(tái)之一。PLC作為工業(yè)控制網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn),它通常處于現(xiàn)場(chǎng)設(shè)備和上位機(jī)之間。這就要求PLC在上位機(jī)和現(xiàn)場(chǎng)設(shè)備之間具有良好的適應(yīng)性。
實(shí)際應(yīng)用中往往上位機(jī)與PLC之間的通信方式需要服從已有的協(xié)議(如MODBUS等),而PLC的專用通信模塊由于需求數(shù)量的原因,并受制于供貨周期等因素?zé)o法在規(guī)定時(shí)間內(nèi)到位。本文以某生產(chǎn)線中PLC通用RS232模塊與上位機(jī)之間MODBUS通信的實(shí)現(xiàn)為基礎(chǔ),探討通用RS232接口的MODBUS通信實(shí)現(xiàn)問題。系統(tǒng)框圖如圖1。
圖1 系統(tǒng)的總體框圖
2、方案概述
在許多紡織、化工工業(yè)生產(chǎn)線控制系統(tǒng)中,開關(guān)量較少,主要是生產(chǎn)線上多個(gè)變頻器的控制,考慮到系統(tǒng)造價(jià)和可靠性等因素,采用三菱FX3U系列PLC可滿足要求。上位機(jī)方面:通過MODBUS協(xié)議,上位機(jī)要監(jiān)視多條生產(chǎn)線的運(yùn)行狀態(tài)并對(duì)現(xiàn)場(chǎng)設(shè)備的運(yùn)轉(zhuǎn)進(jìn)行參數(shù)的給定或調(diào)整,PLC收到操作指令后要對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行相應(yīng)操作并將現(xiàn)場(chǎng)情況根據(jù)上位機(jī)要求進(jìn)行反饋。本方案中的FX3U系列PLC具有專用MODBUS通信接口模塊,但項(xiàng)目實(shí)施過程中由于需求數(shù)量少,供貨中期過長(zhǎng),在權(quán)衡各因素后,決定采用通用通信接口編程的方法來實(shí)現(xiàn)MODBUS通信。
FX3U系列的RS232端口模塊具有并聯(lián)鏈接、計(jì)算機(jī)鏈接、無協(xié)議等通信方式;因并聯(lián)鏈接、計(jì)算機(jī)鏈接通信方式都是固化的通信協(xié)議,與MODBUS不兼容,所以本系統(tǒng)只能采用無協(xié)議通信方式。
根據(jù)系統(tǒng)需要,MODBUS協(xié)議采用RTU傳輸模式。上位機(jī)為主站,向從站發(fā)送查詢或?qū)懭胫噶睿凰蠵LC作為從站,根據(jù)主站發(fā)出的信息和協(xié)議采取規(guī)定的操作。
3、工控機(jī)與FX3U通信規(guī)約
上位機(jī)主要的控制功能有讀寄存器區(qū)如表1(讀出當(dāng)前PLC的通信參數(shù)、變頻器運(yùn)行頻率以及其輸出電壓和電流),寫寄存器區(qū)如表2(對(duì)PLC通信參數(shù)和多個(gè)變頻器的運(yùn)行進(jìn)行集中控制),寫單個(gè)寄存器的狀態(tài)(包括PLC通信參數(shù)的單獨(dú)設(shè)定、單個(gè)變頻器的啟停和頻率設(shè)定)和廣播設(shè)備啟??刂?。上位機(jī)通信規(guī)約如下。
表1 功能碼03H 讀寄存器規(guī)約
表2 功能碼10H寫寄存器通信規(guī)約
控制單個(gè)變頻器的啟停協(xié)議為:
命令:ADDR 06H 開始地址 DATA CRC
響應(yīng):同命令。
控制所有變頻器的啟停協(xié)議為:
命令:ADDR 10H 00H 10H 00H 0AH DATA CRC
響應(yīng):ADDR 10H 00H 10H 00H 0AH CRC
4、PLC通信程序
4.1 通信端口初始化
初始化部分主要實(shí)現(xiàn)對(duì)系統(tǒng)的基本參數(shù)進(jìn)行設(shè)定,包括通信波特率、數(shù)據(jù)格式、通信發(fā)送接收緩沖區(qū)的設(shè)定等,代碼如下。
LD M8000
MOV H1C81 D8120 /*通信默認(rèn)值設(shè)定,9600bps,8
數(shù)據(jù)位、無校驗(yàn),1停止位*/
MOV K7 D8121 /*本站站號(hào)默認(rèn)值設(shè)定*/
MOV K10 D8129 /*超時(shí)時(shí)間設(shè)定8*/
ANI M8000
OUT M8161 /*該端口通信采用8位模式*/
RS D500 D107 D400 K100 K1/*
通信通道,啟始、終止位和數(shù)據(jù)長(zhǎng)度設(shè)定*/
4.2 控制主程序
圖2 主程序程序流程圖
主程序的主要功能是在通信完成以后對(duì)接收的數(shù)據(jù)進(jìn)行CRC校驗(yàn),校驗(yàn)結(jié)果與上位機(jī)發(fā)送的校驗(yàn)碼比較,確定通信過程中是否有錯(cuò)誤;并對(duì)符合條件的指令進(jìn)行判斷,調(diào)用不同功能的子程序,實(shí)現(xiàn)相應(yīng)的任務(wù)。程序流程如圖2。
MOV D8423 D108
WTOB D400 D110 K8
SUB D108 K2 D101
CRC D400 D100 D101 /*校驗(yàn)后數(shù)據(jù)存儲(chǔ)于D100*/
CMP D8421 D110 M11 /*地址驗(yàn)證,若正確,M12置ON*/
AND= D110 K0
AND= D111 K16
CALL P1 /*廣播起停調(diào)用*/
LD M12
MPS
AND= D111 K3
AND= D100 D403
CALL P3 /*CRC校驗(yàn)成功,讀取寄存器子程序調(diào)用*/
MRD
AND= D111 K6
CALL P6 /*預(yù)置單寄存器子程序調(diào)用*/
MRD
AND= D111 K16
BMOV D400 D600 K60
MRD
AND= D111 K16
DIV D108 K2 D94
MRD
AND= D111 K16
SUB D94 K1 D95
MRD
AND= D111 K16
FDEL D97 D600 D95
MPP
AND= D111 K16
AND= D97 D100
CALL P16 /*多寄存器寫入子程序調(diào)用*/
4.3 寫寄存器子程序
該子程序根據(jù)寄存器的地址確定采取的操作,主要的功能有遠(yuǎn)程修改PLC的站號(hào)、波特率,設(shè)定變頻器輸出頻率、啟??刂坪拖鄳?yīng)信息的返回。程序代碼如下。
LD M8123
SET M7
LD M7
MPS
AND= D401 H0
MOV D402 D0
MOV D114 D8121 /*站號(hào)設(shè)定*/
MPS
AND= D115 H3
MOV H1C51 D8120 /*波特率設(shè)定*/
MRD
AND= D401 H1 /*變頻器頻率設(shè)定*/
MOV D402 D1
MPP
SET M21 /*變頻器啟??刂?/
LD M7
BMOV D400 D500 K4
SET M8122 /*數(shù)據(jù)發(fā)送*/
LD M7
RST M8123
RST M7 /*復(fù)位*/
4.4 注意事項(xiàng)
該方案在應(yīng)用規(guī)劃初期需要根據(jù)PLC的運(yùn)算能力、運(yùn)算速度和任務(wù)的復(fù)雜程度以及上位機(jī)指定的超時(shí)時(shí)間確定。因?yàn)镕X3U作為微型PLC(其他類似微型PLC同樣需要主義),它的處理能力和處理速度不是很快,如果PLC要完成的控制功能較復(fù)雜或者需要用其運(yùn)行一些控制算法的話,掃描周期可能就已經(jīng)超過上位工控機(jī)規(guī)定的超時(shí)時(shí)間,造成即使PLC能收到控制信息并按照要求進(jìn)行相應(yīng)反饋,也會(huì)造成上位機(jī)判斷該站通信超時(shí)。這是關(guān)系到該方案能否可行的一個(gè)關(guān)鍵要素。
5、結(jié)論
MODBUS--RTU協(xié)議在工業(yè)控制領(lǐng)域有著廣泛的應(yīng)用。在工程設(shè)計(jì)和實(shí)施的過程中往往需要新的控制設(shè)備融合到已有的控制網(wǎng)絡(luò)中,除了配置專用通信模塊外,使用通用硬件,通過軟件編程實(shí)現(xiàn)其功能也是不錯(cuò)的選擇。另外,該程序在采用RS485進(jìn)行上位機(jī)與PLC的通信時(shí)同樣適用。