国产强伦姧在线观看无码,中文字幕99久久亚洲精品,国产精品乱码在线观看,色桃花亚洲天堂视频久久,日韩精品无码观看视频免费

      您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>PC(語(yǔ)言編程)與西門(mén)子S7300/400通訊方法

      直播推薦

      更多>

      企業(yè)動(dòng)態(tài)

      更多>

      推薦展會(huì)

      更多>

      PC(語(yǔ)言編程)與西門(mén)子S7300/400通訊方法

      2016年01月04日 15:41:30人氣:1474來(lái)源:上海翰粵自動(dòng)化系統(tǒng)有限公司

      PC(語(yǔ)言編程)與西門(mén)子S7300/400通訊方法

      在實(shí)際應(yīng)用過(guò)程中,某些時(shí)候可能會(huì)采用VB/DELPHI/VC等語(yǔ)言,自主編程與西門(mén)子PLC進(jìn)行通訊,這類帖子、論文在網(wǎng)上都可以找到,在此總結(jié)一下。

      1、Prodave通訊

      Prodave是西門(mén)子提供的一個(gè)軟件包,為語(yǔ)言編程和plc通訊提供接口。

      通訊接口:MPI

      因?yàn)镸PI口是每塊cpu的編程口,所以plc不需要另外添加通訊模塊,這個(gè)方案就比較經(jīng)濟(jì),而且prodave軟件包里面附帶了example和詳細(xì)的說(shuō)明,用起來(lái)應(yīng)該比較簡(jiǎn)單和方便(本人只匆匆看過(guò)文檔,沒(méi)有實(shí)驗(yàn)過(guò))。這方面的資料在上很多。當(dāng)然,mpi的速度是有限的,如果采用普通的pc adapter連接pc和plc,zui高速度也就38.4kbps,我不知道prodave能否支持mpi卡(5611之類的話),如果可以的話速度可以達(dá)到187.5kbps。

      2、串行通訊

      看到過(guò)一些論文,采用串行通訊的方法實(shí)現(xiàn)pc和plc通訊。這種情況存在幾點(diǎn)要求:

      a、需要為plc添加一塊串行通訊模塊,比如300的話就需要cp340或者cp341(前者便宜些);

      b、plc里面需要對(duì)串行通訊進(jìn)行編程,其實(shí)也就是接收?qǐng)?bào)文和發(fā)送報(bào)文,調(diào)用fb2/fb3(cp340的話)。

      c、串行通訊的速度是有目共睹的,而且cp340或者cp341的數(shù)據(jù)吞吐量也是有限的,即報(bào)文長(zhǎng)度是有限制的,因此個(gè)人認(rèn)為通訊數(shù)據(jù)量大的話采用串行通訊就不合適了。

      d、報(bào)文格式的話就比較自由,但是也應(yīng)當(dāng)合理,我雖然沒(méi)有具體實(shí)驗(yàn)過(guò),但是個(gè)人認(rèn)為可以參考modbus的報(bào)文結(jié)構(gòu)來(lái)編程,甚至就采用modbus的規(guī)范,不過(guò)這樣的話要求編程者對(duì)pc和plc側(cè)的modbus編程都要熟悉。

      3、OPC

      Opc是這些年來(lái)很流行的東西,其實(shí)我很討厭opc的安全認(rèn)證的設(shè)定。不過(guò)采用opc編程來(lái)訪問(wèn)plc真的是一件非常輕松愜意的事情。你需要做的就是了解opc的結(jié)構(gòu)和編程,尤其是采用vb來(lái)編寫(xiě)opc簡(jiǎn)直是件傻瓜化的工作當(dāng)然也犧牲了很多。

      前面我實(shí)驗(yàn)了用vb通過(guò)opc(以太網(wǎng))來(lái)訪問(wèn)300,包括用西門(mén)子的simaticnet提供的opc接口和第三方的kepserver。

      采用opc接口編程的優(yōu)點(diǎn):通訊速度快,編程簡(jiǎn)單。

      4、以太網(wǎng)編程

      采用以太網(wǎng)編程訪問(wèn)plc,其實(shí)又可以分為兩種:

      一種是socket接口,需要在plc里面編程進(jìn)行收/發(fā),大概是fc5/fc6吧,印象不深了,當(dāng)然plc里面要定義一個(gè)connection,填好地址、端口號(hào)之類的信息,這個(gè)對(duì)于熟悉西門(mén)子工業(yè)通訊的人是很easy的事情。Pc側(cè)采用socket接口編程,zui簡(jiǎn)單的就是vb里面的wisock控件,當(dāng)然這掩蓋了很多細(xì)節(jié)。Socket編程本來(lái)就是一門(mén)藝術(shù),講究說(shuō)學(xué)逗唱:)

      這個(gè)方法的優(yōu)點(diǎn)應(yīng)該是pc側(cè)編程稍微簡(jiǎn)單點(diǎn)(相對(duì)于后一種),而且可以不局限于windows平臺(tái),因?yàn)閟ocket接口被諸如unix支持的更好。

      第二種是采用西門(mén)子的sapi接口函數(shù),這樣plc里面不需要過(guò)多的編程了,當(dāng)然pc側(cè)的編程難度就比較高了,ms只能用c來(lái)寫(xiě),所以我望而卻步鳥(niǎo)??催^(guò)相關(guān)帖子和論文,有高人在項(xiàng)目里面就這么干的,而且數(shù)據(jù)量很大,看來(lái)高人很多很多啊,向他們致敬!關(guān)于sapi的資料其實(shí)都在simaticnet軟件光盤(pán)里面,有興趣的可以去找來(lái)看看。

      轉(zhuǎn)個(gè)baidu來(lái)的關(guān)于sapi-s7的資料:

      ―――――――――――――――――――――――

      為了允許PC機(jī)和工作站上的應(yīng)用程序與西門(mén)子S7系列產(chǎn)品進(jìn)行S7通訊西門(mén)子公司提供了一個(gè)SAPI-S7應(yīng)用程序接口通過(guò)它可以靈活而方便地跟西門(mén)子S7系列產(chǎn)品進(jìn)行通信。安裝SIMATIC Ner軟件后會(huì)在系統(tǒng)system32目錄下生成一個(gè)s732.dll文件該動(dòng)態(tài)鏈接庫(kù)提供了大量基于WindowsNT、Window95/98、Windows3.11和MS-DOS的函數(shù)這樣就使得用戶解決PLC和PC機(jī)的數(shù)據(jù)交換和數(shù)據(jù)處理問(wèn)題變?yōu)榭赡?。通信編程包括兩個(gè)部分:(1)CP連接組態(tài)(2)PLC與上位機(jī)通信編程。 4.1 CP連接組態(tài) 可采用step7軟件或step7軟件中用于工業(yè)以太網(wǎng)的NCMS7軟件對(duì)CP進(jìn)行網(wǎng)絡(luò)組態(tài)。通訊處理器CP可連接PCPC/PG上一般裝網(wǎng)卡CP1613。在Windows控制面板下的“set PC/PG”下安裝所用網(wǎng)卡驅(qū)動(dòng)程序并設(shè)協(xié)議、站號(hào)、波特率、是否為主站完成對(duì)VFDs(Virtual Field Device)和S7 connections的配置[4]。 4.2 PLC和上位機(jī)的通訊編程 S7-300/400PLC有以下各類資源:①輸入點(diǎn)I:接收外部開(kāi)關(guān)量信號(hào) ②輸出點(diǎn)Q:輸出給外部的開(kāi)關(guān)量信號(hào) ③內(nèi)部輔助點(diǎn)M:存放所需中間結(jié)果 ④時(shí)間繼電器T ⑤計(jì)數(shù)器 ⑥數(shù)據(jù)塊DB:存放程序數(shù)據(jù)的存儲(chǔ)區(qū)域 ⑦外設(shè)輸入PI:主要接收模擬量輸入信號(hào)經(jīng)A/D轉(zhuǎn)換⑧外設(shè)輸出PQ:給出模擬兩輸出值[5]。要讀/寫(xiě)這些資源首先要建立PLC和PC機(jī)的連接。 4.2.1 初始化與PLC的連接 SAPI-S7應(yīng)用程序接口提供的管理服務(wù)模塊(Administrative Services)提供了一些可供讀出配置信息和登錄/退出通訊系統(tǒng)的函數(shù)下面作一些簡(jiǎn)要介紹[6]: Ø s7_get_device() :通過(guò)此函數(shù)用戶程序可以查詢所有已安裝的CP的CP名。 Ø s7_get_vfd() :通過(guò)此函數(shù)用戶程序可以查詢?nèi)我籆P的所有已配置的VFD。 Ø s7_init():通過(guò)此函數(shù)用戶程序可登錄通訊系統(tǒng)。 Ø s7_get_cref() :此函數(shù)提供了一個(gè)指向所選S7 connection名的指針。 Ø s7_get_conn():此函數(shù)返回已登錄VFD的所有S7 connection名和指向他們的指針。 Ø s7_shut():通過(guò)此函數(shù)用戶程序可退出通訊系統(tǒng)。 一個(gè)應(yīng)用程序可以登錄一個(gè)或多個(gè)CP的若干個(gè)VFD只有當(dāng)應(yīng)用程序登錄CP及其所選的VFD在配置期間給該VFD的所有連接才是有效的。 4.2.2讀/寫(xiě)PLC內(nèi)部資源 初始化與PLC的連接成功后就可以對(duì)PLC進(jìn)行讀寫(xiě)操作。對(duì)PLC存儲(chǔ)區(qū)即數(shù)據(jù)塊DB的讀寫(xiě)是實(shí)現(xiàn)監(jiān)控的zui基本操作。SAPI-S7應(yīng)用程序接口提供的變量服務(wù)模塊(Variable Services)提供了一些讀寫(xiě)函數(shù)由于篇幅有限現(xiàn)選一些經(jīng)常用到的函數(shù)作一些簡(jiǎn)單介紹。 Ø s7_cycl_read():此函數(shù)通知服務(wù)方準(zhǔn)備對(duì)單存儲(chǔ)單元循環(huán)讀一個(gè)變量。 Ø s7_get_cycl_read_ind():此函數(shù)接收來(lái)自服務(wù)方發(fā)送的數(shù)據(jù)。 Ø s7_multiple_read_req():此函數(shù)通知服務(wù)方準(zhǔn)備對(duì)多存儲(chǔ)單元讀一個(gè)或多個(gè)變量。 Ø s7_get_multiple_read_cnf():此函數(shù)接收來(lái)自服務(wù)方的一個(gè)或多個(gè)變量的值。 Ø s7_multiple_write_req():此函數(shù)通知服務(wù)方準(zhǔn)備對(duì)多存儲(chǔ)單元寫(xiě)一個(gè)或多個(gè)變量。 Ø s7_get_multiple_write_cnf():此函數(shù)接收來(lái)來(lái)自服務(wù)方的執(zhí)行上述寫(xiě)請(qǐng)求的結(jié)果。 需要特別注意的是:S7 300/400PLC遵循“高地址、低字節(jié)”的規(guī)律這與某些習(xí)慣用法不同。例如在C++Builder6中變量類型為word的變量它的數(shù)據(jù)存放順序是“低地址低字節(jié)”的規(guī)律。因此在對(duì)所讀取的數(shù)據(jù)進(jìn)行操作或給PLC數(shù)據(jù)塊中寫(xiě)數(shù)據(jù)字時(shí)要進(jìn)行相應(yīng)的處理。 為解決上位機(jī)不能因前臺(tái)的信息處理而中斷后臺(tái)的監(jiān)聽(tīng)等問(wèn)題可采用多線程編程技術(shù)將對(duì)PLC內(nèi)部資源的讀/寫(xiě)功能模塊交給一個(gè)后臺(tái)線程來(lái)完成。多線程編程技術(shù)能提高CPU利用率加快信息處理提高系統(tǒng)的實(shí)時(shí)性在由多臺(tái)計(jì)算機(jī)組成的分布式實(shí)時(shí)控制系統(tǒng)中應(yīng)用多線程技術(shù)是*必要的。 4.2.3 后臺(tái)讀/寫(xiě)線程模塊部分代碼 ····· do { ret = s7_receive(cp_descr&cref&orderid); switch(ret) { case S7_NO_MSG: break; case S7_INITIATE_CNF: Synchronize(my_get_initiate_cnf); Synchronize(my_multiple_read_req); break; case S7_MULTIPLE_READ_CNF: Synchronize(my_get_multiple_read_cnf); Synchronize(my_multiple_read_req); break; · · case S7_ABORT_IND: Synchronize(my_get_abort_ind); break; case S7_VFD_STATE_CNF: Synchronize(my_get_vfd_state_cnf); Synchronize(my_abort); break; case S7_VFD_USTATE_IND: Synchronize(my_get_vfd_ustate_ind); break; default : ····· } }while(ret != last_event_expected) 5 總結(jié) 運(yùn)用C++Builder6.0編寫(xiě)的PLC控制調(diào)試程序具有用戶界面友好人機(jī)交互方便數(shù)據(jù)庫(kù)功能強(qiáng)大靈活的特點(diǎn)具有較強(qiáng)的通用性和實(shí)用性。通過(guò)調(diào)用S7通訊提供的SAPI-S7應(yīng)用程序接口實(shí)現(xiàn)PC機(jī)與S7300/400PLC基于工業(yè)以太網(wǎng)的數(shù)據(jù)通訊不僅數(shù)據(jù)傳輸率快而且數(shù)據(jù)傳輸正確率高。在對(duì)PLC控制系統(tǒng)的調(diào)試過(guò)程中大大縮短了調(diào)試周期提高了工作效率。此通訊技術(shù)的實(shí)現(xiàn)對(duì)西門(mén)子工控產(chǎn)品的應(yīng)用以及工業(yè)以太網(wǎng)的推廣應(yīng)用有著廣泛普遍的重要意義。

      ――――――――――――――――――――

      再來(lái)個(gè)強(qiáng)人寫(xiě)的帖子,在億萬(wàn)論壇里面的,沒(méi)全部貼下來(lái),有興趣的自己去看:

      ――――――――――――――――――――

      我們知道要訪問(wèn)西門(mén)子的300/400 系列PLC中的I/O點(diǎn),M和DB區(qū)內(nèi)的數(shù)據(jù)有若干種方法可供選擇。zui常用的是使用組態(tài)軟件Wincc來(lái)讀取。另外,西門(mén)子還提供了SAPI-S7接口和Send/Receive接口。SAPI-S7位于網(wǎng)絡(luò)七層協(xié)議的5-7層,是專門(mén)為S7連接優(yōu)化的,可以方便訪問(wèn)PLC內(nèi)任意存儲(chǔ)區(qū)。就我使用過(guò)的其他組態(tài)軟件如intouch(I/O server )和iFix的連接驅(qū)動(dòng),都是在SAPI-S7接口上開(kāi)發(fā)的(從組態(tài)驅(qū)動(dòng)時(shí)的配置過(guò)程可以看出)。Send/Receive屬于較低的層次,一方面可以使用西門(mén)子的接口函數(shù)編寫(xiě),另一方面還可以直接用Socket接口編程。這時(shí),在PLC方面要用的功能塊編寫(xiě)發(fā)送接收程序來(lái)配合。常適用于報(bào)文的傳送(報(bào)文結(jié)構(gòu)通常存儲(chǔ)于DB塊)。關(guān)于Socket編程我曾專門(mén)發(fā)帖討論過(guò)其中若干細(xì)節(jié)。
      還有一種就是新興的OPC接口,但個(gè)人認(rèn)為這種接口不適于較快數(shù)據(jù)的傳輸,即采樣時(shí)間間隔不能太短。
      所以綜合考慮還是覺(jué)得SAPI-S7zui有研究的價(jià)值。這方面的學(xué)習(xí)有些前輩可能已經(jīng)討論過(guò)了,在下不揣冒昧,把自己的一些體會(huì)寫(xiě)下來(lái)供大家參考。
      SAPI-S7和Send/Receive接口都是隨Simatic Net一起安裝到系統(tǒng)上的。就現(xiàn)在我手上有的兩個(gè)版本的Net說(shuō)明一下。其一,是2000/05版,對(duì)應(yīng)于5.0,其中含有COML S7等工具;其二,是2005版,對(duì)應(yīng)6.3,在6.0以后就廢棄了COML S7,而采用統(tǒng)一的PC Station 了。這兩個(gè)版本在建立連接組態(tài)方面有很大的差異,后面我盡可能的說(shuō)明之。
      相應(yīng)的參考手冊(cè)有以下幾本;
      Volume 1_Introducing SOFTNET for Industrial Ethernet.pdf
      Volume 2_Send-Receive Programming Interface.pdf
      Volume 3_S7 Programming Interface.pdf
      Volume 4_Configuring the S7 Mode with COML S7.pdf
      6.0以后還要參考:
      Commissioning PC Stations.pdf
      這些資料都可以下載到,或從Net的另一張文檔光盤(pán)上找到。
      說(shuō)一下兩個(gè)版本的光盤(pán)。2000/05的光盤(pán)安裝后會(huì)提供一些C語(yǔ)言編寫(xiě)的SAPi-S7的例子,而且光盤(pán)上還有關(guān)于用VB編程的資料和例子。2005的就沒(méi)有了。我學(xué)習(xí)的起點(diǎn)就是2000/5的C和VB的例子。先建立應(yīng)用環(huán)境,再對(duì)程序功能一邊測(cè)試,一邊觀摩源程序。
      由于編程是半路出家,VC++就放棄了,熟悉Delphi編程(網(wǎng)上能找到Software option 公司的The SIMATIC NET SAPI-S7 Interface for Borland Delphi,但我只有試用版),所以選擇C++ Builder做為編程工具。

      全年征稿/資訊合作 聯(lián)系郵箱:1271141964@qq.com

      免責(zé)聲明

      • 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://www.towegas.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)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
      • 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

      <
      更多 >

      工控網(wǎng)機(jī)器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機(jī)械包裝機(jī)械印刷機(jī)械農(nóng)業(yè)機(jī)械食品加工設(shè)備制藥設(shè)備倉(cāng)儲(chǔ)物流環(huán)保設(shè)備造紙機(jī)械工程機(jī)械紡織機(jī)械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機(jī)械印染機(jī)械制鞋機(jī)械玻璃機(jī)械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


      我要投稿
      • 投稿請(qǐng)發(fā)送郵件至:(郵件標(biāo)題請(qǐng)備注“投稿”)1271141964.qq.com
      • 聯(lián)系電話0571-89719789
      工業(yè)4.0時(shí)代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺(tái)
      智能制造網(wǎng)APP

      功能豐富 實(shí)時(shí)交流

      智能制造網(wǎng)小程序

      訂閱獲取更多服務(wù)

      微信公眾號(hào)

      關(guān)注我們

      抖音

      智能制造網(wǎng)

      抖音號(hào):gkzhan

      打開(kāi)抖音 搜索頁(yè)掃一掃

      視頻號(hào)

      智能制造網(wǎng)

      公眾號(hào):智能制造網(wǎng)

      打開(kāi)微信掃碼關(guān)注視頻號(hào)

      快手

      智能制造網(wǎng)

      快手ID:gkzhan2006

      打開(kāi)快手 掃一掃關(guān)注
      意見(jiàn)反饋
      關(guān)閉
      企業(yè)未開(kāi)通此功能
      詳詢客服 : 0571-87858618