999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PLC的船舶電力推進(jìn)仿真系統(tǒng)的網(wǎng)絡(luò)通信*

2007-09-20 05:49:16尚前明
船海工程 2007年4期
關(guān)鍵詞:船舶系統(tǒng)

尚前明,劉 安

(武漢理工大學(xué) 仿真中心,武漢430063)

基于PLC的數(shù)據(jù)采集和控制在實(shí)際系統(tǒng)中應(yīng)用很廣泛,隨著計(jì)算機(jī)技術(shù)的發(fā)展,綜合全電力推進(jìn)系統(tǒng)(IPS)和船舶電力推進(jìn)已經(jīng)進(jìn)入了發(fā)展的新時期[1]。為研究需要,建造小比例實(shí)物電力推進(jìn)系統(tǒng)進(jìn)行混合仿真,該系統(tǒng)應(yīng)用了仿真技術(shù)、數(shù)據(jù)采集技術(shù)、控制技術(shù)以及網(wǎng)絡(luò)通信技術(shù)。

1 研究對象描述

船舶電力推進(jìn)仿真系統(tǒng)由配電室、推進(jìn)裝置、集中控制室等組成,該系統(tǒng)主要實(shí)現(xiàn)如下幾方面研究:采用與實(shí)船相似的電力推進(jìn)系統(tǒng)搭建了小比例實(shí)物電力推進(jìn)系統(tǒng);采用可編程控制器PLC和PC機(jī)組成數(shù)據(jù)采集系統(tǒng),變頻器、變壓器、推進(jìn)電機(jī)、負(fù)載電機(jī)、操作控制器等通過PROFIBUS總線組成電力推進(jìn)控制系統(tǒng);采用了TCP/IP協(xié)議的局域網(wǎng);建立了船舶綜合中央能量管理系統(tǒng)的數(shù)學(xué)模型并進(jìn)行實(shí)時仿真研究[2];將電力推進(jìn)系統(tǒng)分為不同的子模塊,編制每個子系統(tǒng)仿真模型的數(shù)學(xué)模型并用仿真軟件Saber對系統(tǒng)進(jìn)行仿真分析。

2 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和協(xié)議

2.1 網(wǎng)絡(luò)組成及拓?fù)浣Y(jié)構(gòu)

電力推進(jìn)仿真系統(tǒng)網(wǎng)絡(luò)由4臺PC機(jī)和1套PLC構(gòu)成。PC機(jī)采用以太網(wǎng)的分布式結(jié)構(gòu),其中一臺計(jì)算機(jī)作服務(wù)器(Server),運(yùn)行電力推進(jìn)系統(tǒng)的能量管理數(shù)學(xué)模型程序,另外三臺計(jì)算機(jī)作為數(shù)據(jù)采集和監(jiān)控計(jì)算機(jī)的客戶端(Client)。型號為PLC314C-2DP的CPU一端通過插在集控臺計(jì)算機(jī)上的CP5611通訊板卡實(shí)現(xiàn)與監(jiān)控計(jì)算機(jī)的數(shù)據(jù)采集和通訊;另一端采用雙絞線連接集控臺、駕控臺、機(jī)旁和變頻柜,采用PROFIBUS_DP協(xié)議的PROFIBUS總線結(jié)構(gòu)實(shí)現(xiàn)數(shù)據(jù)通訊。船舶電力推進(jìn)系統(tǒng)的網(wǎng)絡(luò)組成如圖1所示,上位計(jì)算機(jī)網(wǎng)絡(luò)特點(diǎn):分布式結(jié)構(gòu)、TCP/IP協(xié)議和C/S模式;下位計(jì)算機(jī)網(wǎng)絡(luò)的特點(diǎn):Profibus總線和PROFIBUS-DP協(xié)議。

圖1 船舶電力推進(jìn)系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖

2.2 網(wǎng)絡(luò)的協(xié)議介紹

PLC與四個變頻柜的通信采用了PROFIBUS-DP協(xié)議,Profibus/DP協(xié)議是一個復(fù)雜的通訊協(xié)議[3]。Profibus的重要電文結(jié)構(gòu)為:令牌信息、FDL狀態(tài)請求電文、數(shù)據(jù)電文[2]。

TCP/IP協(xié)議的基本傳輸單位是數(shù)據(jù)包(datagram),TCP協(xié)議負(fù)責(zé)把數(shù)據(jù)分成若干個數(shù)據(jù)包,并給每個數(shù)據(jù)包加上相應(yīng)的編號的包頭(就像給一封信加上信封),以保證在數(shù)據(jù)接收端能將數(shù)據(jù)還原為原來的格式;IP協(xié)議在每個包頭上再加上接收端主機(jī)地址 (就像信封上要寫明地址一樣),如果傳輸過程中出現(xiàn)數(shù)據(jù)丟失、數(shù)據(jù)失真等情況,TCP協(xié)議會自動要求數(shù)據(jù)重新傳輸,并重新組包。總之,IP協(xié)議保證數(shù)據(jù)的傳輸,TCP協(xié)議保證數(shù)據(jù)傳輸?shù)馁|(zhì)量。

3 數(shù)據(jù)采集和通信實(shí)現(xiàn)

3.1 PLC的選型和組態(tài)編程

選用SIMATIC S7-300型PLC。在軟件包STEP7中,設(shè)置通信端口,MPI地址設(shè)定,選擇數(shù)據(jù)傳輸速率等。通過MPI端口對S7-300的機(jī)架、電源、CPU、信號模件、通信處理器等的類型和物理地址進(jìn)行組態(tài),并將組態(tài)程序下載到PLC[3]。在STEP7中,可用梯形圖(Ladder)、語句表(STL)或流程圖(FlowChart)進(jìn)行編程,若選擇“線性程序設(shè)計(jì)”方法,則把所有程序放在PLC操作系統(tǒng)與用戶程序間的接口的OB1中,PLC周期性地調(diào)用此塊。若選擇“結(jié)構(gòu)式程序設(shè)計(jì)”方法,則通過組織塊OB1調(diào)用其它塊,如功能塊FB、數(shù)據(jù)塊DB等。

3.2 PLC與WinCC之間的通信

工控組態(tài)軟件 WinCC[4]提供PLC的通信驅(qū)動程序和功能強(qiáng)大的工具(打印報(bào)表、趨勢圖、報(bào)警、系統(tǒng)安全等)使開發(fā)監(jiān)控應(yīng)用程序變得非常方便。PLC與WinCC之間通信的實(shí)現(xiàn)方法首先啟動WinCC,建立一個新的WinCC項(xiàng)目,然后在標(biāo)簽管理中選擇添加PLC驅(qū)動程序,建立WinCC與PLC之間的通信連接。然后在編程軟件STEP7下設(shè)置標(biāo)簽名、數(shù)據(jù)類型和地址,其中最重要的是標(biāo)簽地址,它定義了此標(biāo)簽與PLC中某一確定地址如某一輸入位、輸出位或標(biāo)志位等一一對應(yīng)的關(guān)系,實(shí)現(xiàn)PLC與WinCC之間需要通信的數(shù)據(jù)的一一定義標(biāo)簽,即可完成PLC與WinCC之間的數(shù)據(jù)通信。最后在圖形編輯器(GraphicsEditor)中,用基本元件或圖形庫中對象制作工藝流程監(jiān)控畫面,并將變量標(biāo)簽與每個對象連接,即相當(dāng)于畫面中各對象與現(xiàn)場設(shè)備相連,從而可在CRT畫面上監(jiān)視、控制現(xiàn)場設(shè)備。

3.3 WinCC與Visual C++應(yīng)用程序的進(jìn)程間通信

由于西門子S7-300系列PLC通訊協(xié)議不公開[5],要實(shí)現(xiàn)電力推進(jìn)能量管理必須將PLC采集的數(shù)據(jù)與仿真的數(shù)據(jù)集成于服務(wù)器。實(shí)現(xiàn)與PLC的數(shù)據(jù)交換實(shí)際上是實(shí)現(xiàn)Visual C++與WinCC之間的進(jìn)程通信。由于WinCC可以讀寫Excel數(shù)據(jù)庫和進(jìn)行文件操作,并且支持C語言腳本編程,但是WinCC在運(yùn)行時必須打開Excel數(shù)據(jù)表才能動態(tài)刷新采集的數(shù)據(jù),而且Excel數(shù)據(jù)表并非真正的數(shù)據(jù)庫,應(yīng)該算是數(shù)據(jù)視圖。所以通過ODBC或DAO的數(shù)據(jù)庫記錄集類CRecordSet實(shí)現(xiàn)對Excel的讀,只有通過SQL查詢語句才能實(shí)現(xiàn)對Excel表的修改,而且同時實(shí)現(xiàn)對Excel讀寫,這種方式的數(shù)據(jù)刷新的實(shí)時性很差。因此在應(yīng)用程序中開辟了兩個線程:ReadExcelProc線程負(fù)責(zé)從Excel表讀取來自PLC的數(shù)據(jù),WriteFileProc線程負(fù)責(zé)將服務(wù)器下傳的數(shù)據(jù)寫進(jìn)文件里,WinCC通過long_main()函數(shù)去讀文件數(shù)據(jù),從而實(shí)現(xiàn)了進(jìn)程間數(shù)據(jù)通信。

3.4 C/S模式下服務(wù)器與客戶端之間的命名管道通信

3.4.1 命名管道程序?qū)崿F(xiàn)原理

1)建立連接和通信。服務(wù)端使用CreateN-amedPipe函數(shù)創(chuàng)建一個命名管道的實(shí)例并返回相應(yīng)的句柄,或?yàn)橐汛嬖诘墓艿绖?chuàng)建新的實(shí)例。如果在已定義超時值變?yōu)榱阋郧?,?shí)例管道成功創(chuàng)建并返回管道句柄,可以用ConnectNamedPipe函數(shù)來偵聽客戶端的連接請求。客戶端通過函數(shù)WaitNamedPipe實(shí)現(xiàn)客戶進(jìn)程連接到一個命名管道,如果在超時值變?yōu)榱阋郧?,有一個管道可以為連接使用,則 WaitNamedPipe將返回True,調(diào)用CreateFile或CallNamedPipe函數(shù)來呼叫對服務(wù)端的連接。當(dāng)服務(wù)端與客戶端成功建立連接后,服務(wù)端ConnectNamedPipe返回True,客戶端CreateFile將返回一指向管道文件的句柄。以后客戶端與服務(wù)器端即可通過ReadFile和WriteFile,利用得到的管道文件句柄,進(jìn)行彼此間網(wǎng)絡(luò)通信。

2)連接終止。當(dāng)客戶端與服務(wù)端的通信結(jié)束,或由于某種原因一方需要斷開時,客戶端應(yīng)調(diào)用CloseFile,而服務(wù)端應(yīng)接著調(diào)用DisconnectN-amedPipe。當(dāng)然服務(wù)端亦可通過單方面調(diào)用DisconnectNamedPipe終止連接。最后應(yīng)調(diào)用函數(shù)CloseHandle來關(guān)閉該管道。

3.4.2 通信代碼的實(shí)現(xiàn)

1)客戶端代碼

HANDLE ClientHandle;

Char PipeNameStr[200];

sprintf(PipeNameStr,″\\\\ServerName\\Pipe\\PipeName″);

if(WaitNamedPipe(PipeNameStr,NMPWAIT _WAIT_FOREVER)==FALSE

MessageBox(″建立管道失敗!″);

else

CltHandle=CreateFile(ClientPipeStr,GENERIC_READ|GENERIC_WRITE,F(xiàn)ILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,F(xiàn)ILE_ATTRIBUTE_ARCHIVE|FILE_FLAG_WRITE_THROUGH,NULL);

If(ClientHandle==INVALID_HANDLE_VALUE)

MessageBox(″管道連接失??!″);

else//連接成功,從管道讀寫信息

……。

2)服務(wù)端代碼

HANDLE ServerHandle;

char PipeNameStr[200];

sprintf(PipeNameStr,″\\\\ServerName\\Pipe\\PipeName″);

ServerHandle=CreateNamedPipe(PipeNameStr,

PIPE_ACCESS_DUPLEX|FILE_FLAG_WRITE_THROUGH,

FILE_WAIT|PIPE_TYPE_BYTE,PIPE_UNLIMITED_INSTANCES,

128,128,NULL,NULL);

if(ServerHandle = =INVALID_HANDLE_VALUE)

MessageBox(″建立管道失??!″);

else

If(ConnectNamedPipe(ServerHandle,NULL)==FALSE)

MessageBox(″管道連接失敗!″);

else////連接成功,從管道讀寫信息

……

}。

4 結(jié)論

SIMATIC S7-314C的PLC可編程控制器數(shù)據(jù)采集的精度和實(shí)時性很好,用WinCC作為數(shù)據(jù)采集和監(jiān)控的應(yīng)用軟件是可行的方案。基于命名管道的C/S模式網(wǎng)絡(luò)通訊能夠保證數(shù)據(jù)傳輸?shù)膶?shí)時性和安全性,可以適用于與服務(wù)器與多個客戶端的連接與通信。船舶電力推進(jìn)系統(tǒng)作為“211”重點(diǎn)建設(shè)項(xiàng)目,已經(jīng)通過了省科技廳舉行的專家鑒定會,與會專家參加一致認(rèn)為該系統(tǒng)達(dá)到國際先進(jìn)水平。

[1]楊曉麗.吊艙式電力推進(jìn)系統(tǒng)的動態(tài)仿真的研究[D].上海:上海海事大學(xué),2004.

[2]溫 洪.潛艇電力推進(jìn)系統(tǒng)負(fù)載特性的計(jì)算方法[J].機(jī)電設(shè)備,1999(4):16-22.

[3]羅耀華,葉瑰昀,劉 勇.艦船全電力推進(jìn)系統(tǒng)模擬研究[J].船舶工程,2002(4):45-49.

[4]展在宏.西門子S7-300及工控組態(tài)軟件 WinCC的應(yīng)用[J].包鋼科技,2002(2):32-37.

[5]Adnanes AK.Maritime Electrical Installations and Diesel Electric Propulsion[R].Norway:ABB Marine AS,Oslo,2003.

猜你喜歡
船舶系統(tǒng)
計(jì)算流體力學(xué)在船舶操縱運(yùn)動仿真中的應(yīng)用
Smartflower POP 一體式光伏系統(tǒng)
基于改進(jìn)譜分析法的船舶疲勞強(qiáng)度直接計(jì)算
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
船舶!請加速
基于PowerPC+FPGA顯示系統(tǒng)
BOG壓縮機(jī)在小型LNG船舶上的應(yīng)用
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 妇女自拍偷自拍亚洲精品| 毛片一级在线| 国产在线视频二区| 国产成人精品免费av| 亚洲中文字幕久久精品无码一区 | 狠狠色成人综合首页| 久久久成年黄色视频| 久久精品aⅴ无码中文字幕| 2020亚洲精品无码| 青青国产成人免费精品视频| 爱做久久久久久| 国产成人一级| 亚洲国模精品一区| 欧日韩在线不卡视频| 99re在线观看视频| 日本午夜在线视频| 国产又黄又硬又粗| 国产在线观看人成激情视频| 欧美一区福利| 欧美专区日韩专区| 成人精品视频一区二区在线| 国产极品嫩模在线观看91| 欧美日韩动态图| 国产精品女同一区三区五区| 一本大道在线一本久道| 国产精品成人免费视频99| 亚洲天堂高清| 免费人欧美成又黄又爽的视频| jizz国产视频| 韩日午夜在线资源一区二区| 日韩在线欧美在线| 国产特级毛片aaaaaaa高清| 国产高颜值露脸在线观看| 日本不卡免费高清视频| 亚洲精品无码人妻无码| 成人综合在线观看| 午夜福利视频一区| 久久亚洲美女精品国产精品| 日韩人妻少妇一区二区| 老司机久久99久久精品播放 | 老色鬼欧美精品| 亚洲国产日韩视频观看| 青青操国产视频| 国产成人久久综合777777麻豆| 91亚洲影院| AⅤ色综合久久天堂AV色综合| 久久亚洲高清国产| 亚洲国产欧美中日韩成人综合视频| 国产激爽大片在线播放| 国产精品冒白浆免费视频| 无码国产伊人| 日韩黄色在线| 久久精品一卡日本电影| 97色伦色在线综合视频| 亚洲欧美精品一中文字幕| 免费无码网站| 免费aa毛片| 中文字幕佐山爱一区二区免费| 国产免费怡红院视频| 一级毛片免费播放视频| 白浆免费视频国产精品视频| 91亚洲国产视频| 日日噜噜夜夜狠狠视频| 国产福利小视频在线播放观看| 国产精品久久久久鬼色| 日本人妻丰满熟妇区| 999国产精品永久免费视频精品久久| 国产全黄a一级毛片| 久久国产黑丝袜视频| 欧美日韩va| 亚国产欧美在线人成| 精品黑人一区二区三区| 亚洲精品制服丝袜二区| 九色综合视频网| 九色视频线上播放| a级毛片免费看| 夜精品a一区二区三区| 精品久久久久久久久久久| 三上悠亚一区二区| 在线观看国产精品第一区免费| 国产欧美精品午夜在线播放| 亚洲国产精品一区二区高清无码久久|