999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁(yè)
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺(jué)
DCS系統(tǒng)中的通訊方式問(wèn)題探討
中華工控網(wǎng)
收藏本文     查看收藏

  一.簡(jiǎn)介

  隨著我國(guó)工業(yè)的自動(dòng)化整體水平的提高,企業(yè)中的控制系統(tǒng)及控制設(shè)備的種類(lèi)也越來(lái)越多;同時(shí),隨著市場(chǎng)經(jīng)濟(jì)的發(fā)展,各個(gè)企業(yè)也對(duì)DCS系統(tǒng)的要求也越來(lái)越高,除了要滿足常規(guī)的控制以外,還要求DCS系統(tǒng)能將控制系統(tǒng)的各個(gè)運(yùn)行參數(shù)實(shí)時(shí)傳送到上位的MIS系統(tǒng)或SIS系統(tǒng)中去,進(jìn)行數(shù)據(jù)后處理加工、共享、性能優(yōu)化。所有的這些,都對(duì)DCS系統(tǒng)提出了通訊問(wèn)題,包括和其它DCS或PLC的通訊、以及與上位機(jī)的通訊。

  在諫壁發(fā)電廠的四臺(tái)300MW機(jī)組(7#、8#、9#、10#)的DCS改造中,全部采用的Foxboro公司的I/A’s系統(tǒng),與I/A’s通訊的裝置有893類(lèi)智能數(shù)據(jù)采集前端、鍋爐高過(guò)壁溫分析系統(tǒng)、基于PC機(jī)的實(shí)時(shí)報(bào)表數(shù)據(jù)庫(kù)系統(tǒng)、PI海量數(shù)據(jù)庫(kù)(SIS系統(tǒng)),幾乎涵蓋了DCS系統(tǒng)與其他系統(tǒng)進(jìn)行通訊的所有方式:使用專(zhuān)業(yè)通訊硬件實(shí)現(xiàn)通訊、使用專(zhuān)業(yè)通訊軟件實(shí)現(xiàn)通訊、自行開(kāi)發(fā)通訊程序(包括:串口通訊、TCP/IP通訊、FTP通訊、基于TCP/IP的MODBUS協(xié)議通訊)。

  下面,將對(duì)以上幾種通訊方式的實(shí)現(xiàn)做一個(gè)簡(jiǎn)單介紹并比較,給出在選擇通訊方式時(shí)的幾點(diǎn)建議。

  二.利用硬件實(shí)現(xiàn)通訊

  對(duì)于市場(chǎng)上廣泛使用的A-B公司PLC產(chǎn)品,F(xiàn)oxboro公司專(zhuān)門(mén)開(kāi)發(fā)專(zhuān)用的通訊硬件--集成在I/A’s中的AB-STATION,通過(guò)AB-STATION,在I/A’s中可以直接對(duì)A-B的PLC進(jìn)行管理、組態(tài)、通訊及數(shù)據(jù)采集監(jiān)視,使整個(gè)系統(tǒng)既具有PLC快速的優(yōu)點(diǎn),又具有DCS系統(tǒng)友好的人機(jī)界面,強(qiáng)大的數(shù)據(jù)庫(kù)管理的優(yōu)勢(shì)。

  對(duì)于工業(yè)界廣泛采用的MODBUS協(xié)議(含ASCII協(xié)議及RTU協(xié)議),F(xiàn)oxboro公司開(kāi)發(fā)了多種符合MODBUS協(xié)議的硬件,主要有:MODBUSGATEWAY,MODBUSGATEWAYPLUS,適用于RS-232通訊及RS-485通訊,并可以選擇做為仆方或主方。采用專(zhuān)門(mén)的通訊硬件,可以與一切提供MODBUS協(xié)議通訊接口的設(shè)備進(jìn)行通訊,包括其它公司的DCS系統(tǒng)、PLC產(chǎn)品等。在上海Foxboro公司所實(shí)施的大部分需要進(jìn)行通訊的項(xiàng)目中均采用這種方式。

  除以上兩種專(zhuān)門(mén)通訊硬件外,F(xiàn)oxboro公司還有一個(gè)可以自定義協(xié)議的通訊硬件—FOREIGNDEVICEINTIGRATOR30(設(shè)備集成器30)。使用此通訊硬件,需要通訊的雙方只要定義好通訊數(shù)據(jù)包格式(包括數(shù)據(jù)包報(bào)頭信息、數(shù)據(jù)格式、數(shù)據(jù)包報(bào)尾信息)和通訊參數(shù)(包括起始位、停止位、數(shù)據(jù)位、波特率)即可實(shí)現(xiàn)通訊。在鎮(zhèn)江電廠項(xiàng)目中,上海Foxboro公司就采用這個(gè)方法實(shí)現(xiàn)了與GEPLC及無(wú)錫陽(yáng)山智能數(shù)據(jù)采集前端的通訊,大大減少了用戶的投資。

  此外,對(duì)于市場(chǎng)上使用較多的PLC和DCS產(chǎn)品,F(xiàn)oxboro公司提供專(zhuān)門(mén)的通訊軟件進(jìn)行通訊。

  以上所有的通訊方式所采用的硬件是一樣的:通訊處理機(jī)30(COMMUNICATIONPROCESSOR30),不同之處在于所選用的通訊軟件不一樣。

  對(duì)于MODBUS協(xié)議,采用的波特率通常為9600bps,因此每秒所能通訊的數(shù)據(jù)包是有限制的。

  對(duì)于MODBUS協(xié)議,如果MODBUS設(shè)備不同,每個(gè)通訊包所能通訊的量是不一樣的,通常使用的548設(shè)備可以通訊到256個(gè)字節(jié),亦即128個(gè)模擬量或2048個(gè)數(shù)字量。

  標(biāo)準(zhǔn)的MODBUS通訊幀格式為:“〈仆方地址〉〈功能碼〉〈起始地址〉〈數(shù)據(jù)傳送量〉〈校驗(yàn)碼〉”。對(duì)于不同的設(shè)備具有不同的MODBUS地址;同一設(shè)備,不同數(shù)據(jù)類(lèi)型(外部寄存器、內(nèi)部寄存器、外部保持線圈、內(nèi)部保持線圈等)具有不同的功能碼;同一數(shù)據(jù)類(lèi)型,讀/寫(xiě)操作不同時(shí),也具有不同的功能碼。

  因此,在考慮MODBUS協(xié)議通訊時(shí),不能只看有多少個(gè)模擬量/數(shù)字量,而必須同時(shí)考慮:有多少個(gè)設(shè)備,每個(gè)設(shè)備的通訊模擬量/數(shù)字量數(shù)據(jù)有多少,數(shù)據(jù)是否雙向傳送,通訊速率為多少。綜合考慮以上因數(shù)后,計(jì)算出需要多少個(gè)通訊處理器。

  需要強(qiáng)調(diào)的是:Foxboro公司的硬件通訊產(chǎn)品COMM30與許多公司的硬件通訊方式通過(guò)采用插在工程師站/操作員站主板上的串口通訊卡實(shí)現(xiàn)不同,F(xiàn)oxboro公司的COMM30具有專(zhuān)用的CPU芯片,獨(dú)立于工程師站及操作員站運(yùn)行,是控制網(wǎng)絡(luò)中一個(gè)獨(dú)立的處理站,即使在工程師站/操作員站死機(jī)時(shí)仍能保證通訊的正常運(yùn)行,這在參與控制的通訊(如與定排程控、吹灰程控等)中顯的尤為重要。

  三.用專(zhuān)業(yè)通訊軟件實(shí)現(xiàn)通訊

  專(zhuān)業(yè)的通訊軟件主要分為兩類(lèi):一類(lèi)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)采集與傳送,另一類(lèi)實(shí)現(xiàn)流程畫(huà)面的實(shí)時(shí)傳送。

  3.1數(shù)據(jù)的實(shí)時(shí)采集及傳送

  用Foxboro公司開(kāi)發(fā)的通訊軟件或利用第三方開(kāi)發(fā)的針對(duì)I/A’s的通訊軟件實(shí)現(xiàn)通訊是一種非常方便的辦法,它可以大大縮短項(xiàng)目周期。

  Foxboro公司的專(zhuān)業(yè)通訊軟件從早期的DataforWindow、PIMS中的DataLink到現(xiàn)在使用的AIM*AT軟件秉承始終如一的思想,利用AISAPI(FOXAPI的早期版本),F(xiàn)OXAPI的內(nèi)部函數(shù)調(diào)用實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)讀寫(xiě);利用TCP/IP實(shí)現(xiàn)數(shù)據(jù)在I/A’s與PC機(jī)之間的雙向傳送;利用DDE技術(shù)將I/A’s的數(shù)據(jù)在支持DDE技術(shù)的程序(如:Excel、Lotus1-2-3、Delphi等)中顯示,同時(shí)提供VB調(diào)用函數(shù),便于用戶的二次開(kāi)發(fā)。該軟件的最快傳送速率為0.1秒。在目前的項(xiàng)目中,比較多的采用了這種辦法。

  對(duì)于目前較流行的OPC通訊協(xié)議,F(xiàn)oxboro公司提供專(zhuān)門(mén)的OPC通訊軟件,同時(shí)也可以選用第三方,如:MATRICON公司的OPC通訊軟件。

  第三方通訊軟件主要是美國(guó)OSI公司的PI實(shí)時(shí)數(shù)據(jù)庫(kù)。OSI公司的PI系統(tǒng)基于C/S結(jié)構(gòu),能將100多家的DCS系統(tǒng)或PLC中的實(shí)時(shí)數(shù)據(jù)傳送到WindowNT服務(wù)器中,利用其專(zhuān)利的“螺旋門(mén)壓縮”技術(shù),將數(shù)據(jù)進(jìn)行壓縮加工,使其保存周期可長(zhǎng)達(dá)數(shù)年以上(取決于硬盤(pán)容量)。同時(shí),利用其強(qiáng)大的系統(tǒng)工具實(shí)現(xiàn)二次開(kāi)發(fā),包括流程畫(huà)面顯示、趨勢(shì)顯示、優(yōu)化處理、性能計(jì)算等。PI實(shí)時(shí)數(shù)據(jù)庫(kù)在Foxboro的I/A’s中的應(yīng)用在國(guó)外已經(jīng)有了上百個(gè)成功使用的業(yè)績(jī)。諫壁發(fā)電廠利用PI系統(tǒng)將其#7、#8、#9、#10四臺(tái)300MW機(jī)組多達(dá)20,000點(diǎn)的數(shù)據(jù)實(shí)現(xiàn)了實(shí)時(shí)傳送、長(zhǎng)達(dá)2年的數(shù)據(jù)存儲(chǔ),并利用其強(qiáng)大的二次開(kāi)發(fā)工具,為全廠MIS(或SIS)系統(tǒng)的應(yīng)用開(kāi)發(fā)服務(wù)。

  專(zhuān)業(yè)的通訊軟件,如:PI,除了具有高率、高速、數(shù)據(jù)保存時(shí)間長(zhǎng)、安全可靠、功能強(qiáng)大、界面友好、使用方便等優(yōu)點(diǎn)外,通常在數(shù)據(jù)傳送時(shí)還具有以下特性:

  l采用“例外報(bào)告”方式:設(shè)定數(shù)據(jù)需要傳送的變化范圍,對(duì)未超過(guò)變化范圍的數(shù)據(jù)不傳送,這一機(jī)制大大降低了通訊負(fù)載。

  l具有“數(shù)據(jù)緩存”機(jī)制:在網(wǎng)絡(luò)通訊中斷時(shí),將需要傳送的數(shù)據(jù)緩存在工作站的硬盤(pán)上,待網(wǎng)絡(luò)通訊恢復(fù)時(shí),在網(wǎng)絡(luò)通訊的空閑時(shí)再將數(shù)據(jù)傳送到數(shù)據(jù)庫(kù)中。這一機(jī)制保證了數(shù)據(jù)不丟失。

  3.2流程畫(huà)面的實(shí)時(shí)傳送

  將流程畫(huà)面實(shí)時(shí)傳送到PC機(jī)上,可以使企業(yè)領(lǐng)導(dǎo)和運(yùn)行管理人員、熱工儀表維護(hù)人員可以及時(shí)掌握現(xiàn)場(chǎng)的生產(chǎn)運(yùn)行情況,便于整個(gè)企業(yè)的資源共享、狀態(tài)監(jiān)視及物流管理。

  關(guān)于流程畫(huà)面的實(shí)時(shí)傳送,目前使用較多的是使用HumingBird公司的Exceed軟件。利用Exceed軟件的Telnet功能和I/A’s的附加顯示管理器(AdditionalDisplayManager),將I/A’s中的流程畫(huà)面實(shí)時(shí)傳送至PC機(jī)中,并可以定義在PC機(jī)中的操作權(quán)限是否可以操作。

  除Exceed軟件外,還可以使用GraphOn公司的GO_Global軟件,該軟件可以直接利用網(wǎng)絡(luò)傳輸,也可以用撥號(hào)方式,將I/A’s中的流程畫(huà)面實(shí)時(shí)傳送至PC機(jī)中。

  在使用Exceed及GO_Global軟件時(shí),利用Modem撥號(hào),就可以實(shí)現(xiàn)“遠(yuǎn)程診斷”(FOXWATCH),即:將I/A’s使用情況等信息,及時(shí)傳送回Foxboro公司,F(xiàn)oxboro公司的工程技術(shù)人員在公司內(nèi)就可以對(duì)用戶的各種要求進(jìn)行及時(shí)響應(yīng),對(duì)其系統(tǒng)進(jìn)行診斷,并對(duì)用戶提出使用建議。在諫壁發(fā)電廠的I/A’s系統(tǒng)中,就安裝有FOXWATCH軟件,使用效果非常好,廠級(jí)領(lǐng)導(dǎo)、熱工維護(hù)人員等在辦公室內(nèi)即可了解機(jī)組生產(chǎn)運(yùn)行情況;在出現(xiàn)故障時(shí),可以迅速將DCS系統(tǒng)使用情況傳送給Foxboro公司的工程技術(shù)人員,在最短的時(shí)間內(nèi)得到技術(shù)支持,最大程度地降低損失。

  無(wú)論是采用專(zhuān)門(mén)的硬件實(shí)現(xiàn)通訊,還是使用專(zhuān)業(yè)的通訊軟件實(shí)現(xiàn)通訊,實(shí)現(xiàn)方法都比較簡(jiǎn)單,下面將重點(diǎn)介紹在Foxboro公司I/A’s產(chǎn)品中用軟件編程方法實(shí)現(xiàn)通訊的幾種方法。

  四.利用軟件編程實(shí)現(xiàn)通訊

  利用軟件編程方式,可以更加靈活實(shí)現(xiàn)各種非常規(guī)的通訊。

  由于自行編寫(xiě)的程序在工程師站/操作員站運(yùn)行,需要占用一定的CUP時(shí)間及內(nèi)存,因此在通訊數(shù)據(jù)量較大,同時(shí)要求通訊速度較快時(shí),由于沒(méi)有專(zhuān)業(yè)通訊軟件的“例外報(bào)告”機(jī)制,建議不要采用自行開(kāi)發(fā)程序的辦法。

  由于自行編寫(xiě)的程序通常沒(méi)有“數(shù)據(jù)緩存”機(jī)制,在傳送非常重要的數(shù)據(jù)時(shí)應(yīng)該謹(jǐn)慎使用。

  自行編程主要工作為了兩方面,一為I/A數(shù)據(jù)的讀寫(xiě)及處理,一為通訊的實(shí)現(xiàn)。

  通常自行開(kāi)發(fā)通訊軟件包括:串口通訊(如智能前端)、TCP/IP通訊(如實(shí)時(shí)數(shù)據(jù)傳送)、FTP通訊(如定期傳送報(bào)表文本)、基于TCP/IP的MODBUS協(xié)議通訊。

  以上幾種通訊方式在通訊的實(shí)現(xiàn)方式上不同,但在I/A’s內(nèi)數(shù)據(jù)的讀寫(xiě)操作是一樣的,接下來(lái)將闡述軟件編程時(shí)的主要函數(shù)及方式:

  4.1I/A’s數(shù)據(jù)的讀寫(xiě)及處理

  Foxboro公司I/A’s系統(tǒng)提供強(qiáng)大的內(nèi)部編程函數(shù)(C函數(shù)、FORTRAN),主要包括有:

  lOMCALL函數(shù)–實(shí)現(xiàn)I/A’s系統(tǒng)內(nèi)部數(shù)據(jù)的讀寫(xiě)操作。

  主要函數(shù)有:

  2intgetval(char*name,intobj_type,intimport,char*value,unsignedint*status,intdata_len)
  此函數(shù)實(shí)現(xiàn)單個(gè)數(shù)據(jù)的讀操作。
  2intom_getval(char*name,intobj_type,intimport,charvalue,unsignedint*status,intdata_len,PSAP_ADDR*psap_ptr)
  此函數(shù)實(shí)現(xiàn)單個(gè)數(shù)據(jù)的讀操作,它使用PSAP指針。
  2intsetval(char*name,intobj_type,intimport,char*value,unsigned*status,intdata_len)
  此函數(shù)實(shí)現(xiàn)單個(gè)數(shù)據(jù)的寫(xiě)操作。
  2intom_setval(char*name,intobj_type,intimport,char*value,unsigned*status,intdata_len,PASP_ADDR*psap_ptr);
  此函數(shù)實(shí)現(xiàn)單個(gè)數(shù)據(jù)的寫(xiě)操作,它使用PSAP指針。
  2intomopen(structom_header_node*om_descriptor,intopen_id)
  此函數(shù)實(shí)現(xiàn)打開(kāi)一個(gè)LIST,為數(shù)據(jù)的讀寫(xiě)操作做準(zhǔn)備。
  2intomread(intomopen_id,intsize_list,structvalue*var_list)
  此函數(shù)實(shí)現(xiàn)從打開(kāi)的LIST中讀取數(shù)據(jù)。
  2intomwrite(intomopen_id,intsize_list,structvalue*var_list);
  此函數(shù)實(shí)現(xiàn)向打開(kāi)的LIST中寫(xiě)數(shù)據(jù)。
  2intomclose(intopen_id,structom_header_node*header,structopen_var*var_list,structnet_addr*addr_tbl)
  此函數(shù)實(shí)現(xiàn)關(guān)閉一個(gè)已經(jīng)打開(kāi)的LIST。

  2頭部文件、OM結(jié)構(gòu)及例程

  #include
  #include
  #include
  #include
  #include
  main()
  {
  structopen_varin_var_list[8];
  structheader_nodein_om_desc;
  structnet_adrin_net_adr_tbl[2];
  intin_open_id;
  intrtn;
  floatdelta_temp,delta_fc,delta_df;
  structvalue*in_data_list,*temp;
  inti;
  delta_temp=5.0;
  delta_fc=1.0;
  delta_df=0.5;
  in_om_desc.task_status=OM_R_ACCESS;
  in_om_desc.net_adr_tbl_ptr=in_net_adr_tbl;
  in_om_desc.size_net_adr_tbl=2;
  in_om_desc.open_list_ptr=in_var_list;
  in_om_desc.size_open_list=8;
  ……
  }

  2特點(diǎn)

  使用getval、setval、om_getval、om_setval函數(shù)進(jìn)行編程比較簡(jiǎn)單,但效率較差;用omopen、omread、omwrite、omclose編程需要復(fù)雜的聲明,編程比較復(fù)雜,但程序通用性好(不要FOXAPI的支持)、效率高。

  lFOXAPI函數(shù)–實(shí)現(xiàn)I/A’s系統(tǒng)內(nèi)部數(shù)據(jù)的讀寫(xiě)操作及強(qiáng)大的C/S結(jié)構(gòu)編程。

  主要函數(shù)有:

  2intsbopen(int*gw_array,intnument,char*name_array,int*valtyp_array,intacctyp,float*delta_array,intclexit,intrsr,intwsr,float*wdelta_array,int*dset,int*index_array,int*error_array,int*reterr)

  此函數(shù)實(shí)現(xiàn)以連續(xù)更新的方式打開(kāi)一個(gè)讀寫(xiě)SET。
  2intbread(intdset,long*value_array,int*status_array,int*reterr)
  此函數(shù)實(shí)現(xiàn)從一個(gè)已經(jīng)打開(kāi)SET中讀取數(shù)據(jù)。
  2intbwrite(intdset,long*value_array,int*error_array,int*reterr)
  此函數(shù)實(shí)現(xiàn)向一個(gè)已經(jīng)打開(kāi)SET中寫(xiě)數(shù)據(jù)。
  2intclsset(intdset,int*reterr)
  此函數(shù)實(shí)現(xiàn)關(guān)閉一個(gè)已經(jīng)打開(kāi)SET,釋放程序所使用的內(nèi)存空間,釋放對(duì)CP中數(shù)據(jù)的控制權(quán)。

  2頭部函數(shù),F(xiàn)OXAPI結(jié)構(gòu)定義及例程

  #include
  #include
  #include
  #include
  #include
  #include
  #include
  #defineOBJNUM100
  #defineSETNUM20
  typedefunion
  {
  longlval;
  shortival;
  floatfval;
  charbval;
  }IAXVAL;
  /*PredefinedParameterofI/Avalue*/
  staticintgw[SETNUM][OBJNUM];/*GatewayArray*/
  charname[SETNUM][OBJNUM][32];/*ObjectNameArray*/
  chardesc[SETNUM][OBJNUM][15];/*ObjectdescriptionArray*/
  staticintvaltype[SETNUM][OBJNUM];/*ObjectValueTypeArray*/
  staticintacctype=1;/*Read-onlyArray*/
  staticfloatrdelta[SETNUM][OBJNUM];/*ObjectsReadDeltaArray*/
  staticfloatwdelta[SETNUM][OBJNUM];/*ObjectsWriteDeltaArray*/
  interror[SETNUM][OBJNUM];/*ObjectsErrorArray*/
  intindex[SETNUM][OBJNUM];/*ObjectsIndexesArray*/
  intstatus[SETNUM][OBJNUM];/*ObjectsStatusArray*/
  IAXVALvalue[SETNUM][OBJNUM];/*ObjectsValueArray*/
  staticintrsr=4;/*ReadScanRate*/
  staticintwsr=4;/*WriteScanRate*/
  staticintclexit=1;/*IgnoredinUNIX*/
  intreterr[SETNUM];/*OpenSetreturnErrorCode*/
  /*PredefineParameterofutility*/
  intset[SETNUM];/*OpenSetNumber*/
  intTotal_SET;/*TotalSetNumber*/
  intLast_SET_Num;/*LastSetValueNuber*/
  intTotal_Num;/*TotalNumberofobjects*/
  intTotal_File;/*TotaloutputfilesNumber*/
  intINTERVAL;/*Communicateinterval*/
  intCol_Num;/*Valuenumberperline*/
  main()
  {
  ……scopen(gw[i],k,name[i],valtype[i],acctype,rdelta[i],clexit,rsr,\
  wsr,wdelta[i],&set[i],index[i],error[i],&reterr[i]);
  printf("ReturnErrorCode=%-d\n",reterr[i]);
  printf("ReturnDataSet=%-d\n",set[i]);
  ……rtn=bread(set[i],value[i],status[i],&reterr[i]);
  if(reterr[i]!=0)
  {
  printf("BufferedReadObjectsError%d,%d,%d\n",rtn,\
  reterr[i],set[i]);
  }
  ……for(i=0;i
  {
  clsset(set[i],&reterr[i]);
  }
  ……
  }

  2特點(diǎn)

  使用FOXAPI編程比較簡(jiǎn)單,程序效率也很高,但程序的執(zhí)行需要FOXAPI的支持,編譯好的程序只能在裝有FOXAPI的AW、AP機(jī)器中運(yùn)行。PI實(shí)時(shí)數(shù)據(jù)庫(kù)實(shí)際上便是利用FOXAPI函數(shù)編寫(xiě)的應(yīng)用程序。

  lHICALL函數(shù)–實(shí)現(xiàn)具有I/A’s風(fēng)格的人機(jī)界面(HUMANINTERFACE)編程,包括顯示元素,如:矩形、圓弧、填充色;對(duì)話框、菜單結(jié)構(gòu)、鼠標(biāo)鍵盤(pán)驅(qū)動(dòng)、查詢(xún)、文件驅(qū)動(dòng)等,事實(shí)上,整個(gè)I/A’s的人機(jī)界面編寫(xiě)既是通過(guò)這些函數(shù)完成。

  lIPCALL函數(shù)–實(shí)現(xiàn)I/A’s系統(tǒng)內(nèi)部通訊編程,如:SOE軟件等。
  lICCAPI函數(shù)–實(shí)現(xiàn)I/A’s控制處理器CP中CIO的相關(guān)操作。
  l數(shù)學(xué)庫(kù)–提供各種經(jīng)典數(shù)值計(jì)算的調(diào)用函數(shù)。
  l物理特性庫(kù)–提供各種物理特性計(jì)算的調(diào)用函數(shù),包括水、蒸汽的焓、熵等計(jì)算。
  2intvpt(floatp,floatt,float*v)
  此函數(shù)根據(jù)蒸汽的壓力及溫度計(jì)算蒸汽的容積。
  2inthpt_stm(floatp,floatt,float*h)
  此函數(shù)根據(jù)蒸汽的壓力及溫度計(jì)算蒸汽的焓。
  2intspt_stm(floatp,floatt,float*s)
  此函數(shù)根據(jù)蒸汽的壓力及溫度計(jì)算蒸汽的熵。
  2inthpt_wtr(floatp,floatt,float*h)
  此函數(shù)根據(jù)水的壓力及溫度計(jì)算水的焓。
  2intspt_wtr(floatp,floatt,float*s)
  此函數(shù)根據(jù)水的壓力及溫度計(jì)算水的熵。
  2inthpt_air(floatp,floatt,float*h)
  此函數(shù)根據(jù)空氣的壓力及溫度計(jì)算空氣的焓。
  2intspt_air(floatp,floatt,float*s)
  此函數(shù)根據(jù)空氣的壓力及溫度計(jì)算空氣的熵。
  lINFORMIX編程。
  在某些需要對(duì)歷史數(shù)據(jù)進(jìn)行操作的場(chǎng)合,可以利用INFORMIX及E-SQL進(jìn)行編程。

  4.2通訊的實(shí)現(xiàn)

  在用軟件編程實(shí)現(xiàn)通訊時(shí)所采用的具體的通訊硬件上,既可以通過(guò)串口實(shí)現(xiàn)RS-232通訊,也可以通過(guò)AUI網(wǎng)卡、BNC網(wǎng)卡、RJ-45網(wǎng)卡實(shí)現(xiàn)FTP通訊、TCP/IP通訊。

  當(dāng)與I/A’s通訊的其它設(shè)備(如智能數(shù)據(jù)采集前端、GPS、自動(dòng)同期裝置等非通用設(shè)備)可以提供串口通訊,且通訊點(diǎn)數(shù)量不多時(shí),采用專(zhuān)門(mén)的硬件實(shí)現(xiàn)通訊硬件不是一個(gè)非常經(jīng)濟(jì)的方案,此時(shí)可以采用RS-232實(shí)現(xiàn)通訊。

  用RS-232實(shí)現(xiàn)通訊時(shí),首先應(yīng)初始化通訊端口,然后可以按RS-232通訊規(guī)程(RXD,TXD,RTS,CTS,DSR,DTR,DCD信號(hào)),發(fā)送指令并接受數(shù)據(jù)。

  以下是初始化端口的一段例程:

  intinit_port(intk,int*fd,char*comport)
  {
  intsavef;
  if((*fd=open(comport,O_RDWR|O_NDELAY|O_NONBLOCK))<0)
  return(1);
  fflush(stdout);
  fflush(stdin);
  if(savef=fcntl(*fd,F_GETFL,0)<0)
  return(2);
  if(fcntl(*fd,F_SETFL,savef|O_NDELAY)<0)
  return(3);
  if(ioctl(*fd,TCGETS,&termio)<0)
  return(4);
  /*Settheportparameteras9600Baudrate,8databits,1siopbit,
  Enablereceiver,Evenparityenable*/
  termio.c_cflag=B9600|CS8|CREAD|PARENB|CLOCAL;
  termio.c_cflag&=~CSTOPB;
  termio.c_cflag&=~PARODD;
  termio.c_iflag=INPCK;
   termio.c_iflag&=~ISTRIP;
  termio.c_lflag=0;
   termio.c_oflag=0;
  termio.c_cc[VMIN]=1;
  termio.c_cc[VTIME]=0;
  if(ioctl(*fd,TCSETS,&termio)<0)
  return(5);
  sleep(1);
  return(0);
  }
  以下是讀寫(xiě)端口的一段例程:
  intcomm(unsignedcharnum,intfd)
  {
  intI,rtn,tioc;
  unsignedcharT[200];
  unsignedcharbuff[200];
  ……ioctl(fd,TIOCMGET,&tioc);
  tioc=tioc|TIOCM_RTS;
  ioctl(fd,TIOCMSET,&tioc);
  ……write(fd,T,200);
   rtn=ioctl(fd,TCSBRK,1);
  strcpy(buf,”“,200);
  read(fd,buf,200);
  }

  如果與I/A’s進(jìn)行通訊的是PC機(jī)或其它DCS,比較好的通訊辦法是利用RJ-45等通訊口,按FTP協(xié)議或TCP/IP協(xié)議進(jìn)行通訊。其中,F(xiàn)TP通訊的效率較低,且一直有讀盤(pán)/寫(xiě)盤(pán)動(dòng)作,對(duì)機(jī)器的影響較大,但此方法比較簡(jiǎn)單,容易實(shí)現(xiàn),因此,在通訊不頻繁的時(shí)候(建議大于一小時(shí)),也可以采用這個(gè)辦法。在更多的時(shí)候,則建議使用TCP/IP協(xié)議進(jìn)行通訊。

  利用TCP/IP進(jìn)行通訊時(shí),有兩個(gè)協(xié)議可以選擇:TCP及UDP,其中TCP(TransportControlProtocol,傳輸控制協(xié)議)是面向聯(lián)接的,它提供高可靠性服務(wù),尤其適用于傳輸大量報(bào)文信息。UDP(UserDatagramProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)是無(wú)聯(lián)接的,它提供高效率的服務(wù),適用于一次傳輸少量報(bào)文信息的場(chǎng)合。

  UDP通訊的程序的編寫(xiě)也比較容易,只需指定客戶機(jī)的IP地址(或主機(jī)名)及傳送端口號(hào)即可,下面是一段利用UDP初始化例程:

  #include
  #include
  #include
  #include
  #include
  #include
  intsock,length;
  structsockaddr_in,sockname;
   charbuff[1024];
  intInit_Socket()
  {
  char*clientName=“AW5101”;
  intportNum=10002;
  structhostent*hp,*gethostbyname();
  /*Creatsocketonwhichtosend.*/
  sock=socket(AF_INET,SOCK_DGRAM,0);
  if(sock==-1)
  {
  perror(“opendatagramsocketerr0r”);
  exit(1);
  }
  hp=gethostbyname(clientName);
  if(hp==(structhostent*)0)
   {
  printf(“unkownhost:%s\n”,clientName);
  exit(2);
  }
   memcpy((char*)&sockname.sin_addr,(char*)hp->h_addr,hp->h_length);
  sockname.sin_family=AF_INET;
  sockname.sin_port=htons(atoi(portNum);
  return(0);
  }……

  五.通訊安全性的考慮

  在采用了I/A’s和PC或其它DCS之間雙向通訊后,安全性就成為一個(gè)比較突出的問(wèn)題,應(yīng)盡力避免不必要的人為破壞。安全性是一個(gè)非常復(fù)雜的問(wèn)題,請(qǐng)參考專(zhuān)業(yè)文獻(xiàn)。在此不做詳細(xì)討論,只就一般性原則提出幾點(diǎn)建議:

  I.自行開(kāi)發(fā)軟件時(shí),必須考慮到安全性,包括對(duì)控制處理器數(shù)據(jù)的讀寫(xiě)操作權(quán)限、軟件的事件處理功能(進(jìn)程的意外中斷、程序的死循環(huán)、邊界處理、內(nèi)存的釋放等)、TCP/IP的操作權(quán)限。

  II.對(duì)于專(zhuān)業(yè)軟件,由于功能強(qiáng)大,在使用時(shí),應(yīng)對(duì)軟件不必要的部分加以封閉,并對(duì)軟件的操作加以口令授權(quán)。

  III.建立通訊程序握手機(jī)制時(shí),必須考慮安全性。

  IV.加強(qiáng)有關(guān)的安全性規(guī)章制度的建設(shè),避免人為的破壞。

  V.DCS系統(tǒng)與MIS/SIS系統(tǒng)之間設(shè)置網(wǎng)關(guān),企業(yè)MIS/SIS系統(tǒng)聯(lián)結(jié)到INTERNET時(shí)配置防火墻。

  六.結(jié)論

  本文通過(guò)以諫壁發(fā)電廠使用的Foxboro公司的I/A’s系統(tǒng)為例,討論了DCS系統(tǒng)中實(shí)行通訊的幾種方法。歸納起來(lái)有:使用專(zhuān)業(yè)硬件、使用專(zhuān)門(mén)通訊軟件,以及自行開(kāi)發(fā)軟件三種。

  對(duì)主流通訊協(xié)議(MODBUS、A-BPLC)以及通訊數(shù)據(jù)量較多時(shí),采用專(zhuān)業(yè)通訊硬件實(shí)現(xiàn)通訊是一個(gè)比較好的辦法。這種配置方式的優(yōu)勢(shì)在于:通訊可靠、安全性好、容易實(shí)現(xiàn)、開(kāi)發(fā)周期短;不足之處在于:增加了硬件投資。需要指出:在考慮MODBUS協(xié)議通訊時(shí),不能只看有多少個(gè)模擬量/數(shù)字量,而必須同時(shí)考慮:有多少個(gè)設(shè)備,每個(gè)設(shè)備的通訊模擬量/數(shù)字量數(shù)據(jù)有多少,數(shù)據(jù)是否雙向傳送,通訊速率為多少。綜合考慮以上因數(shù)后,計(jì)算出需要多少個(gè)通訊處理器。

  專(zhuān)門(mén)的通訊軟件由于功能強(qiáng)大,在使用時(shí)首先要考慮的是安全性,同時(shí)要增加軟件費(fèi)用(大型的數(shù)據(jù)庫(kù)如:PI,I-FIX等價(jià)格都比較貴)。但它也有非常明顯的優(yōu)勢(shì):實(shí)現(xiàn)通訊容易、二次開(kāi)發(fā)工具充足,項(xiàng)目周期短,項(xiàng)目質(zhì)量有保證。

  在需要實(shí)時(shí)傳送流程畫(huà)面時(shí),當(dāng)然應(yīng)采用專(zhuān)業(yè)通訊軟件,如:Exceed、GO_Global等。

  如果自行開(kāi)發(fā)通訊程序,需要考慮的有:編程工具—C語(yǔ)言投資、程序的魯棒性、編程的工作量、項(xiàng)目周期、通訊效率、對(duì)工程師站/操作員站的CPU占用等問(wèn)題。它的優(yōu)勢(shì)在于:開(kāi)發(fā)靈活,容易實(shí)現(xiàn)用戶的各種特殊需求。

  如果通訊量不大(50點(diǎn)左右),建議使用增加I/O卡件,不同系統(tǒng)系統(tǒng)之間通過(guò)硬接線連接的方式實(shí)現(xiàn)。這樣既考慮到了總體投資、項(xiàng)目周期,也增加了系統(tǒng)的可靠性。

  如果通訊只提供RS-232通訊,則采用RS-232C協(xié)議進(jìn)行通訊。

  如果通訊量較大,但時(shí)間間隔較長(zhǎng),可以考慮采用FTP方式傳送文本數(shù)據(jù)。

  如果通訊頻率較高,建議采用TCP/IP中的UDP協(xié)議進(jìn)行通訊。

  


 

狀 態(tài): 離線

公司簡(jiǎn)介
產(chǎn)品目錄

公司名稱(chēng): 中華工控網(wǎng)
聯(lián) 系 人: 客服中心
電  話: 0755-26546361
傳  真: 0755-26585268
地  址: 深圳市南山區(qū)創(chuàng)業(yè)路現(xiàn)代城華庭1棟6A
郵  編: 518054
主  頁(yè):
 
該廠商相關(guān)技術(shù)文摘:
智能儀器儀表的發(fā)展特點(diǎn)與前景分析
電動(dòng)機(jī)性能虛擬儀器測(cè)試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
視頻監(jiān)控護(hù)航高鐵安全運(yùn)營(yíng)
基于PLC,觸摸屏及變頻器對(duì)吹膜機(jī)的改造
永宏P(guān)LC應(yīng)用于自助圖書(shū)借還終端機(jī)
基于永宏P(guān)LC的GSM通訊原理及其應(yīng)用
改善汽車(chē)生態(tài)學(xué)、安全性和舒適性,四大測(cè)試分析是關(guān)鍵
改善汽車(chē)生態(tài)學(xué)、安全性和舒適性,四大測(cè)試分析是關(guān)鍵
數(shù)控技術(shù)的發(fā)展趨勢(shì)及產(chǎn)業(yè)化
數(shù)控技術(shù)發(fā)展戰(zhàn)略與發(fā)展途徑的思考
用Energid 的軟件進(jìn)行機(jī)器人的抓取和操作
如何借助RFID技術(shù)升級(jí)企業(yè)信息管理水平
更多文摘...
立即發(fā)送詢(xún)問(wèn)信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved