隔壁新婚少妇真紧真爽,超碰e日韩,av无码视屏日韩,老鸭窝手机在我

文章詳情

  1. 您現(xiàn)在的位置:首頁
  2. 資訊中心
  3. 技術(shù)資料
  4. 詳情

應(yīng)用程序接口有什么作用

應(yīng)用程序接口概況

  簡稱API(ApplicaonProgrammingInterface),就是軟件系統(tǒng)不同組成部分銜接的約定。

  在數(shù)據(jù)封裝時,網(wǎng)絡(luò)分層中的每個層相互之間會用接口進行交互并提供服務(wù),其中應(yīng)用層與用戶之間的接口稱之為應(yīng)用程序接口。API實際上是一種功能集合,也可說是定義、協(xié)議的集合,無論是那種集合,它的實質(zhì)都是通過抽象為用戶屏蔽實現(xiàn)上的細(xì)節(jié)和復(fù)雜性。

  從用戶角度看應(yīng)用程序接口,表現(xiàn)為一系列API函數(shù),用戶可以使用這些函數(shù)進行網(wǎng)絡(luò)應(yīng)用程序開發(fā)。從網(wǎng)絡(luò)角度看,應(yīng)用程序接口給用戶提供了一組方法,用戶可以使用這組方法向應(yīng)用層發(fā)送業(yè)務(wù)請求、信息和數(shù)據(jù),網(wǎng)絡(luò)中的各層則依次響應(yīng),最終完成網(wǎng)絡(luò)數(shù)據(jù)傳輸。

什么是應(yīng)用程序接口_應(yīng)用程序接口有什么作用

  API的作用:

  1.遠(yuǎn)程過程調(diào)用(RPC):通過作用在共享數(shù)據(jù)緩存器上的過程(或任務(wù))實現(xiàn)程序間的通信。

  2.標(biāo)準(zhǔn)查詢語言(SQL):是標(biāo)準(zhǔn)的訪問數(shù)據(jù)的查詢語言,通過通用數(shù)據(jù)庫實現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享。

  3.文件傳輸:文件傳輸通過發(fā)送格式化文件實現(xiàn)應(yīng)用程序間數(shù)據(jù)共享。

  4.信息交付:指松耦合或緊耦合應(yīng)用程序間的小型格式化信息,通過程序間的直接通信實現(xiàn)數(shù)據(jù)共享。

  原理:

  API是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細(xì)節(jié)。

  常見應(yīng)用程序接口

  應(yīng)用層的應(yīng)用程序接口有很多,并且發(fā)展很快,比較常見的如socket、FTP、HTTP以及telnet。這些接口從大類上可分為四類:

  遠(yuǎn)程過程調(diào)用(RPC,Remote Procedure Call Protocol)

  數(shù)據(jù)查詢接口

  文件類接口

  數(shù)據(jù)通信接口

  例如FTP協(xié)議就是文件類接口,基于FTP,用戶可以實現(xiàn)文件在網(wǎng)絡(luò)間的共享和傳輸。而Socket和HTTP可歸結(jié)為數(shù)據(jù)通信接口,基于這兩種接口,用戶可以開發(fā)網(wǎng)絡(luò)通信應(yīng)用程序,以及web頁面交互程序。當(dāng)然如果從編程開發(fā)角度看,無論是FTP、HTTP還是telnet,都是基于socket接口開發(fā)出來的應(yīng)用層協(xié)議,是對socket接口的進一步封裝和抽象,從而為用戶提供更高一層的服務(wù)和接口。

  socket有時稱之為“Berkeley Socket”,它是最早由伯克利開發(fā)的應(yīng)用程序接口。常用的socket類型有兩種:流式socket(SOCK_STREAM)和數(shù)據(jù)報式socket(SOCK_DGRAM)。

  流式socket是一種面向連接的socket,針對于面向連接的TCP服務(wù)應(yīng)用。

  數(shù)據(jù)報式socket是一種無連接的socket,對應(yīng)于無連接的UDP服務(wù)應(yīng)用。

  從用戶接口意義上講,還有傳輸層的TLI接口,是由AT&T開發(fā)的,有時也稱作X。它是傳輸層為用戶提供的應(yīng)用程序接口,可以用來在傳輸層進行應(yīng)用開發(fā)。

  API之主要目的是提供應(yīng)用程序與開發(fā)人員以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細(xì)節(jié)。提供API所定義的功能的軟件稱作此API的實現(xiàn)。API是一種接口,故而是一種抽象。

#e#

  以下部分包含應(yīng)用程序接口的一般說明

  每個應(yīng)用程序應(yīng)該通過兩個步驟使用主站:

  配置 請求主站并應(yīng)用配置。 例如,創(chuàng)建域,配置從屬并注冊PDO條目(請參見第3.1節(jié))。

  運行運行循環(huán)代碼和交換過程數(shù)據(jù)(參見第3.2節(jié))。

  應(yīng)用程序示例 在主站代碼的examples /子目錄中有一些示例應(yīng)用程序。 它們被記錄在源代碼中。

  3.1 主站配置

  總線配置通過應(yīng)用程序接口提供。圖3.1給出了可由應(yīng)用程序配置的對象的概述。

  總線配置通過應(yīng)用程序接口提供。圖3.1給出了可由應(yīng)用程序配置的對象的概述。

 

什么是應(yīng)用程序接口_應(yīng)用程序接口有什么作用

  3.1.1 從站配置

  應(yīng)用程序必須告訴主站有關(guān)預(yù)期的總線拓?fù)?。這可以通過創(chuàng)建“從站配置”來完成。從站配置可以看作是預(yù)期的從站設(shè)備。當(dāng)創(chuàng)建從站配置時,應(yīng)用程序提供總線位置(見下文),供應(yīng)商ID和產(chǎn)品代碼。

  當(dāng)應(yīng)用總線配置時,主站會檢查,在給定位置是否存在給定供應(yīng)商ID和產(chǎn)品代碼的從站。如果存在,從站配置將“附加”到總線上的實際從站,并根據(jù)應(yīng)用程序提供的設(shè)置配置從站。從站配置的狀態(tài)可以通過應(yīng)用程序接口或通過命令行工具查詢。

  從站位置 從站位置必須指定為“別名”和“位置”的元組。允許通過絕對總線位置或通過保存的稱為“別名”的標(biāo)識符或兩者的混合來對從站尋址。別名是存儲在從站E2PROM中的16位值。它可以通過命令行工具進行修改。表3.1顯示了如何解釋這些值。

  別名位置解釋

  00-65535位置尋址。 位置參數(shù)被解釋為總線中的絕對環(huán)位置。

  1-655350-65535別名尋址。 位置參數(shù)被解釋為在具有給定別名地址的第一從站之后的相對位置。

  圖3.2顯示了如何連接從站配置的示例。添加了一些配置,而其他配置保持分離。下面的列表給出了從最高開始的各從站配置的原因。

 

什么是應(yīng)用程序接口_應(yīng)用程序接口有什么作用

  1. 別名為0意味著使用簡單的位置尋址。 從站1存在,并且供應(yīng)商ID和產(chǎn)品代碼與預(yù)期值匹配。

  2. 雖然找到了位置為0的從站,但產(chǎn)品代碼不匹配,因此不添加配置。

  3. 別名非0,因此使用別名尋址。 從站2是別名為0x2000的第一個從機。 由于位置值為0,因此使用相同的從站。

  4. 沒有具有給定別名的從站,因此無法添加配置。

  5. 從站2再次是別名為0x2000的第一個從機,但位置現(xiàn)在為1,因此添加從站3。

  如果主站源代碼配置了–enable-wildcards,則0xffffffff將匹配任何一個供應(yīng)商ID和/或產(chǎn)品代碼。

  3.2 循環(huán)操作

  要進入循環(huán)操作模式,必須“激活”主站來計算過程數(shù)據(jù)映像,并首次循環(huán)操作時應(yīng)用總線配置。激活后,應(yīng)用程序負(fù)責(zé)發(fā)送和接收幀。激活后無法更改配置。

  3.3 VoE處理程序

  在配置階段,應(yīng)用程序可以創(chuàng)建第6.3節(jié)中描述的VoE郵箱協(xié)議的處理程序。一個VoE處理程序總是屬于某個從站配置,因此創(chuàng)建函數(shù)是從站配置的一個方法。

  VoE處理器管理VoE數(shù)據(jù)和用于發(fā)送和接收VoE消息的數(shù)據(jù)報。它包含傳輸VoE消息所需的狀態(tài)機。

  VoE狀態(tài)機一次只能處理一個操作。因此,一次可以進行一個讀或?qū)懖僮?。操作啟動后,處理程序必須循環(huán)執(zhí)行,直到完成。之后,可以檢索操作的結(jié)果。

  VoE處理程序具有自己的數(shù)據(jù)報結(jié)構(gòu),它將被標(biāo)記,用于在每個執(zhí)行步驟之后進行交換。因此,應(yīng)用程序可以決定在發(fā)送相應(yīng)的EtherCAT幀之前執(zhí)行多少個處理程序。

  有關(guān)使用VoE處理程序的更多信息,請參閱examples /目錄中提供的應(yīng)用程序接口函數(shù)和示例應(yīng)用程序的文檔。

  3.4并發(fā)主站訪問

  在某些情況下,一個主站由多個實例使用,例如,當(dāng)應(yīng)用程序執(zhí)行循環(huán)過程數(shù)據(jù)交換的同時時,存在支持EoE的從站需要與內(nèi)核交換以太網(wǎng)數(shù)據(jù)(參見第6.1節(jié))。為此,主站是共享資源,并且對其的訪問必須被順序化。這通常通過鎖定信號量或其他方法保護關(guān)鍵部分來完成。

  主站本身不能提供鎖定機制,因為它沒有機會知道合適的鎖定類型。例如,如果應(yīng)用程序在內(nèi)核空間中并且使用RTAI功能,則普通內(nèi)核信號量將是不夠的。為此,作出了一個重要的設(shè)計決定:預(yù)定主站的應(yīng)用程序必須具有完全控制,因此它必須負(fù)責(zé)提供適當(dāng)?shù)逆i定機制。如果另一個實例想要訪問主站,它必須通過回調(diào)請求總線訪問,這必須由應(yīng)用程序提供。此外,如果應(yīng)用程序認(rèn)為實例在當(dāng)時是不合適的,則可以拒絕對主機的訪問。

  圖3.3示例顯示了兩個進程如何共享一個主站:應(yīng)用程序的循環(huán)任務(wù)使用主站進行過程數(shù)據(jù)交換,而主站內(nèi)部EoE進程使用主站與具有EoE功能的從站通信。兩者都不時訪問總線,但EoE進程通過“請求”應(yīng)用程序

  訪問總線。這樣,應(yīng)用程序可以使用適當(dāng)?shù)逆i定機制來避免同時訪問總線。有關(guān)如何使用這些回調(diào),請參閱應(yīng)用程序接口文檔(第3章)。

 

什么是應(yīng)用程序接口_應(yīng)用程序接口有什么作用

  3.5 分布式時鐘

  從版本1.5開始,主站支持EtherCAT的“分布式時鐘”功能??梢詫⒖偩€上的從站時鐘同步到“參考時鐘”(支持DC的第一從站的本地時鐘),并且將參考時鐘同步到“主站時鐘”(主站的本地時鐘)??偩€上的所有其他時鐘(在參考時鐘之后)被視為“從站時鐘”(見圖3.4)。

什么是應(yīng)用程序接口_應(yīng)用程序接口有什么作用

  本地時鐘 任何支持DC的EtherCAT從站都有一個具有納秒分辨率的本地時鐘寄存器。如果從站被供電,則時鐘從零開始,這意味著當(dāng)從站在不同時間上電時,它們的時鐘將具有不同的值。這些“偏移”必須通過分布式時鐘機制來補償。另一方面,時鐘不是以相同的速度精確地運行,因為所使用的石英單元具有固有的頻率偏差。該偏差通常非常小,但是在較長時間段內(nèi),誤差將累積,而且本地時鐘之間的差異將增大。這個時鐘“漂移”也必須由DC機制補償。

  應(yīng)用程序時間 總線的公共時基必須由應(yīng)用程序提供。 使用此應(yīng)用程序時間的tapp

  1. 以配置從站的時鐘偏移(見下文),

  2. 以編程從器件的同步脈沖產(chǎn)生的開始時間(見下文),

  3. 以將參考時鐘同步到主時鐘(可選)。

  偏移補償 對于偏移補償,每個從站提供一個“系統(tǒng)時間偏移”寄存器toff,它被添加到內(nèi)部時鐘值TInt以獲得“系統(tǒng)時間”tsys:

  tsys = TInt + toff

  ? tint = tsys ? toff

  主站讀取兩個寄存器的值,以某種方式計算新的系統(tǒng)時間偏移,結(jié)果系統(tǒng)時間應(yīng)與主機的應(yīng)用時間tapp匹配:

  tsys ? tapp

  ? tint + toff ? tapp

  ? toff = tapp ? tint

  ? toff = tapp ?( tsys ? toff )

  ? toff = tapp ? tsys + toff

  由讀取和寫入寄存器的不同時間產(chǎn)生的小的時間偏移誤差將由漂移補償進行補償。

  漂移補償 由于每個支持DC的從站中有特殊機制,因此可以進行漂移補償:對“系統(tǒng)時間”寄存器的寫操作將使得內(nèi)部時間控制循環(huán)對寫入時間(減去編程的傳輸延遲,見下文)與當(dāng)前系統(tǒng)時間進行比較。計算出的時間誤差將用作時間控制器的輸入,根據(jù)誤差的符號將本地時鐘速度調(diào)整為稍快或慢一些2。

  傳輸延遲 以太網(wǎng)幀從從站到從站需要少量時間。所得的傳輸延遲時間累積在總線上,并且可以達(dá)到微秒級別,因此在漂移補償期間必須被考慮。支持DC的EtherCAT從站提供一種測量傳輸延遲的機制:對于四個從站端口中的每一個,有一個接收時間寄存器。從對端口0的接收時間寄存器的寫操作開始測量,一旦在相應(yīng)端口上接收到幀,則當(dāng)前系統(tǒng)時間被鎖存并存儲在接收時間寄存器中。主站可以讀出相對接收時間,然后計算從站之間的時間延遲(使用主站對總線拓?fù)涞亩x),最后計算從參考時鐘到每個從機的時間延遲。這些值通過編程被寫到從站的傳輸延遲寄存器中。以這種方式,漂移補償可以達(dá)到納秒級同步。

  檢查同步性 支持DC的從站在地址0x092c處提供32位“系統(tǒng)時間差”寄存器,其中最后一次漂移補償?shù)南到y(tǒng)時間差以納秒分辨率和符號-幅值編碼方式存儲3。為了檢查總線同步性,系統(tǒng)時間差寄存器也可以通過命令行工具循環(huán)讀?。ㄒ姷?.1.14節(jié)):、

  $ watch -n0 “ethercat reg read -p4 -tsm32 0x92c”

  同步信號 同步時鐘是總線上同步事件的先決條件。每個支持DC的從站提供兩個“同步信號”,其可以被編程以創(chuàng)建事件,這將,例如,使得從站應(yīng)用程序在某個時刻鎖存其輸入。同步事件可以一次生成或循環(huán)生成,取決于哪種對從站應(yīng)用程序有意義。編程同步信號設(shè)置所謂的“AssignActivate”字和同步信號的周期和移位時間。AssignActivate字是從站確定的,并且必須取自XML從站描述(Device→ Dc),其中還可以找到典型的同步信號配置“ OpModes”。

  1如果需要同時發(fā)送和接收,則可以為從配置創(chuàng)建兩個VoE處理程序。

  2本地從時鐘將每10 ns以9 ns,10 ns或 11 ns的頻率遞增。

  3這允許廣播讀取總線上的所有系統(tǒng)時間差寄存器以獲得向上近似



亚欧美日韩一二三区| 国产一区视频在线免费观看| 国产在线看片无码人精品| 国产在线aa视频免费观看| 亚洲香蕉成人网站| 精品国产国语对白久| 最好看的日本字幕福利| 午夜电影中文字幕福利网站| 国产精品国产欧美综合一区| 无毒不卡在线观看无需下载| 国产aⅴ夜夜欢一区二区三区| 久久无码一区二区三区毛片| 最新国产精品推| 久久天堂无码AV| 日韩三级三区| 人人看人气| 国产区尤物吃瓜| 久久久精品入口AV| 日韩欧美国产高清亚洲| 亚洲热热视频| 99最新国产精品| 色欲精品国产一区二区三区五区 | 久久久亚洲天堂精品999| 激情区另类区小说区| 久色中文网| 久久精品无码一区二区导航| 欧美怡红院视频一区二区三区| 日韩中文字幕黄色网站| 无码精品视频一区二区免费| 无码精品人妻一区二区三区影院| 亚洲国产麻豆| 一起搞成人在线视频| 国产在线无码视频| 国内国内在线精品视频| 六月婷婷啪啪| 尹人香蕉久久99天天| 亚洲无码三区| 麻豆精品久久久一区二区| 人妻人人看| 亚洲18不禁AV| 国产免费AⅤ大片在线|