直播推薦
企業(yè)動態(tài)
- 會后報道 | 世界級制造WCM與工業(yè)4.0創(chuàng)新大會暨頒獎盛典新聞動態(tài)
- 東莞皓天交付隔爆試驗箱,助力廣東電子科技企業(yè)品質(zhì)升級
- SNEC 2025大秦數(shù)能兩類新品連發(fā),以“智慧儲能”助推能源轉(zhuǎn)型
- 藍(lán)芯科技即將亮相泰國NEPCON Thailand 2025
- 漢達(dá)森攜手瑞典AQ邀您共聚CPHI China 2025
- 歐姆龍亮相SNEC 2025:助推新能源產(chǎn)業(yè)加速升級,為零碳未來蓄能
- 東莞市皓天試驗設(shè)備有限公司召開線上技術(shù)會議 凝聚智慧共促技術(shù)升級
- 天津市投資促進(jìn)局、天津市建設(shè)銀行一行到訪國聯(lián)股份肥多多
推薦展會
關(guān)鍵詞:通信協(xié)議 RS232 PLC
AbstractThe paper introduces the MEWTOCOL-COM communication protocol of NASI PLC.A small program in Windows is written to complete the communication between computer with NASI FP1 series PLC.
Key wordsCommunication Protocol RS232 PLC
分類號TN919 文獻(xiàn)標(biāo)識碼A 文章編號1606-51232002 06-0048-0
1 引 言
可編程控制器以下簡稱PLC 由于其高可靠性、編程簡單、通用性強(qiáng)、體積小、結(jié)構(gòu)緊湊、安裝維護(hù)方便等特點,而在工業(yè)控制中得到了廣泛應(yīng)用。由于計算機(jī)在圖形顯示、數(shù)據(jù)處理、打印報表、中文顯示等方面有很強(qiáng)的功能,因此在諸如柔性制造系統(tǒng)的現(xiàn)代化大型控制系統(tǒng)中常常將多臺PLC與計算機(jī)聯(lián)接起來構(gòu)成多級分布控制系統(tǒng)。在此類系統(tǒng)的構(gòu)成中,關(guān)鍵問題之一是如何實現(xiàn)PLC與計算機(jī)之間的通信。不同系列的PLC與計算機(jī)通信方式各不相同,本文以松下公司的FP1系列PLC為對象,分析了通信接口及通信協(xié)議,并在Windows 98Se中用Borland C++Bulider 5.0編制了一個簡單的通信程序。
2 松下FP1系列PLC與計算機(jī)之間的通信接口及通信協(xié)議
2.1 通信接口
FP1系列的通信接口采用標(biāo)準(zhǔn)9芯RS232接口,接線如圖1所示。
1 PC的RXD端與PLC的TXD端聯(lián)接,使PC接收到PLC發(fā)出的數(shù)據(jù)。
2 PC的TXD端與PLC的RXD端聯(lián)接,使PC發(fā)出的數(shù)據(jù)被PLC接收到。
3 PC與PLC的SG端互聯(lián),使兩者的工作基準(zhǔn)地電平相同。
4 PC與PLC的RTS端互聯(lián),PC在此引腳發(fā)出訊號, 通知
PLC可以向PC發(fā)送數(shù)據(jù)。
5 PC與PLC的CTS端互聯(lián),PLC在此引腳發(fā)出訊號,通知PLC可以向PC發(fā)送數(shù)據(jù)。
2.2 通信協(xié)議
松下FP1系列PLC與計算機(jī)之間的通信協(xié)議為松下公司的MEWTOCOL-COM協(xié)議。該協(xié)議采用異步通信方式,其波特率有1200、2400、4800、9600、19200、38400、57600、115200bps等多種可選,且報文長度可變可固定。該協(xié)議格式分為命令消息Command Message ,正常響應(yīng)消息Response Message-normal ,出錯響應(yīng)消息Response Message-error 三種。
其中,%為起始符,標(biāo)記每一幀報文的開始,CR為結(jié)束符,標(biāo)記每一幀報文的結(jié)束。
AD為PLC的站地址,為兩位16進(jìn)制數(shù),如00則表示*臺PLC。
#、$、標(biāo)注該幀報文為何種類型。
Command code為命令代碼,如后文的例1中的“RD”,表示讀數(shù)據(jù)區(qū)。Response code為響應(yīng)代碼一般返回接收到的命令消息中的命令代碼。ErrorH 和ErrorL 為出錯代碼,是兩位16進(jìn)制數(shù),可根據(jù)其值在協(xié)議中查出錯誤的描述。
Text code為命令參數(shù),如例1命令消息中“D0110501107”,“D”表示數(shù)據(jù)寄存器,“01105 01107”表示第1105號至1107號,而在例1響應(yīng)消息中,“6300 4433 0A00”則表示DT1105至DT1107中數(shù)據(jù)分別為6300、4433、0A00。
BCCH 和BCCL 為前面字符串的BCC校驗碼的高、低位,為兩位16進(jìn)制數(shù)。其初值為0,然后從起始符開始與該幀報文中每一字節(jié)按位進(jìn)行異或運算得到。
例1:讀取DT1105至DT1107中的數(shù)據(jù)的命令消息如下:
% 01 # RD D01105 01107 57 CR
若DT1105至DT1107中數(shù)據(jù)分別為6300、4433和0A00,PLC返回的響應(yīng)消息如下:
% 01 $ RD 6300 4433 0A00 62 CR
3 PC與松下FP1系列PLC通信的WINDOWS編程實現(xiàn)
在本程序中用到了MSCOMM32.OCX控件,該控件可在MS Visual Basic 6.0的光盤中找到,但需注冊,安裝一遍VB即可解決。
*步:C++Builder 5.0中導(dǎo)入MSCOMM32.OCX控件,新建一個Application。在其主窗體中添加一個MSComm控件,命名為MSComm1,并設(shè)置其屬性值。注意波特率及校驗方式要與PLC的設(shè)置一致。再添加一個Label控件和一個Button控件,分別命名為Labell和Buttonl。
第二步:在Buttonl的OnClick事件中添加如下代碼。
int i
AnsiString outs
Ole Variant buf
outs=″%01#RDD011050110757\r″∥設(shè)置命令消息
ifMSComml->PortOpen==false MSComml->PortOpen=true∥打開端口
buf=outs
MSComml->Output=buf
i=0
whilei<=10000000?。椋牎窝訒r,等待PLC發(fā)回響應(yīng)消息
outs=″″
buf=MSComml->Input∥接收響應(yīng)消息
outs=WideStringbuf
ifouts=″″?。蹋幔猓澹欤欤荆茫幔穑簦椋铮睿剑铮酰簦螃?
else Labell->Cabell->"接收不到";
若想采用其它命令消息,則必須計算其BCC校驗碼,可采用如下函數(shù)實現(xiàn)。
AnsiString BCCProAnsiString ComdMesg
unsigned char bcc
unsigned char*tempc
char ab
AnsiString BccH
AnsiString BccL
AnsiString temp
int bcc-int
int i
temp=ComdMesg
tempc=ComdMesg.c-str
bcc=0
fori=0i< temp.Length i++?。猓悖悖蓿剑簦澹恚穑悚煟椁牔?
bcc-int=bcc
BccH=bcc-int/16
BccL=bcc-int%16
BccH=IntToHexBccH
BccL=IntToHexBccL
temp=ComdMesg+BccH+BccL+″\r″
return temp
使用這個函數(shù)便可將所有你要發(fā)送的命令消息自動加上兩位16進(jìn)制BCC碼和結(jié)束符。
4 結(jié) 論
本文所有程序均在Windows 98SeBorland C++Bulider 5.0環(huán)境中調(diào)試通過,并多次長時間運行測試,以驗證其準(zhǔn)確性與穩(wěn)定性,收到了令人滿意的效果,通信十分穩(wěn)定可靠。讀者可在本文的基礎(chǔ)上,參考松下公司的MEWTOCOL-COM協(xié)議,便可輕松實現(xiàn)PC與松下FP1系列PLC的通信,以完成上位機(jī)對PLC的監(jiān)視與控制。
免責(zé)聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://www.caslcampaign.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025中國鄭州衡器與計量技術(shù)設(shè)備展覽會
展會城市:鄭州市展會時間:2025-11-07