時(shí)間:2020年12月05日 分類(lèi):電子論文 次數(shù):
摘要:采用ADS通訊協(xié)議,以VisualStudio和TwinCATPLC控制軟件為開(kāi)發(fā)平臺(tái),通過(guò)實(shí)驗(yàn)驗(yàn)證通訊模塊的基本配置以及通信性能的穩(wěn)定性,實(shí)踐證明,該種通信方式符合軟件通信的要求,系統(tǒng)性能穩(wěn)定,為后續(xù)的上位機(jī)軟件開(kāi)發(fā)奠定了基礎(chǔ)。
關(guān)鍵詞:EtherCAT;ADS通信;TwinCATPLC
1EtherCAT協(xié)議EtherCAT(EthernetforControlAutomationTechnology)是一種基于以太網(wǎng)的實(shí)時(shí)工業(yè)現(xiàn)場(chǎng)總線(xiàn)通信協(xié)議和國(guó)際標(biāo)準(zhǔn)。它具有高速和高數(shù)據(jù)有效率(dataratio)的特點(diǎn),支持多種物理拓?fù)浣Y(jié)構(gòu)。[1]符合該總線(xiàn)的主站采用標(biāo)準(zhǔn)的以太網(wǎng)控制器,通過(guò)5類(lèi)非屏蔽雙絞線(xiàn)進(jìn)行傳輸交互,物理層上使用網(wǎng)絡(luò)接口卡集成功能。EtherCAT主站通過(guò)純軟件實(shí)現(xiàn),一種是倍福公司自行研發(fā)的TwinCAT自動(dòng)化編程開(kāi)發(fā)軟件,另一種是基于NDIS的主站以及基于實(shí)施擴(kuò)展的主站[2]。
2ADS通訊協(xié)議
2.1ADS概述
TwinCAT是一款由BECKHOFF自主設(shè)計(jì)開(kāi)發(fā)的軟件,有控制編程以及可視化操作的功能。不單單適用于Windows操作系統(tǒng)而且還不需要其他的硬件來(lái)支持,將非實(shí)時(shí)系統(tǒng)改變?yōu)閷?shí)時(shí)性系統(tǒng),適用于高性能、高精度的控制任務(wù)。TwinCAT可通過(guò)對(duì)象類(lèi)別擴(kuò)充組件或者動(dòng)態(tài)鏈接庫(kù)等方式訪(fǎng)問(wèn)自主設(shè)計(jì)的人機(jī)界面,而且可通過(guò)傳輸控制協(xié)議/網(wǎng)際協(xié)議等實(shí)現(xiàn)遠(yuǎn)程訪(fǎng)問(wèn)。
ADS通訊是通過(guò)調(diào)用動(dòng)態(tài)鏈接庫(kù)文件的方式實(shí)現(xiàn)TwinCAT控制器與上位用戶(hù)界面通信的協(xié)議[3]。TwinCAT系統(tǒng)中,包括TwinCATPLC、TwinCATNC、Windows應(yīng)用程序等的工作模式類(lèi)似于硬件設(shè)備,相互之間可以獨(dú)立工作。模塊之間的信息交換通過(guò)ADS完成。ADS(AutomationDeviceSpecification)自動(dòng)化設(shè)備規(guī)范,為設(shè)備之間通訊提供路由[3]。
2.2ADS通訊方式ADS以傳輸控制協(xié)議/網(wǎng)際協(xié)議為基礎(chǔ),相當(dāng)于網(wǎng)絡(luò)通訊協(xié)議的應(yīng)用層。屬于A(yíng)DS設(shè)備通訊使用多種方式,每一種方式都有它獨(dú)特的亮點(diǎn)。異步方式(Asynchronous)——Client一邊持續(xù)自己的輸出工作,一邊向Server發(fā)送傳輸請(qǐng)求。Server把請(qǐng)求處理后,使用Call-back函數(shù)的方式重新發(fā)給Client。通知方式(Notification)——Client向Server發(fā)送傳輸請(qǐng)求,Server使用Call-back函數(shù)的方式不斷向Client發(fā)送響應(yīng),直到Server中止這個(gè)請(qǐng)求。
2.3上位機(jī)和PLC接口TwinCAT提供多種接口組件用于A(yíng)DS通訊,ADS.NETComponent、ADS-OCX、ADS-DLL。TwinCATADS訪(fǎng)問(wèn)的其中一種方式是地址方式——一個(gè)PLC變量的地址由兩部分組成:分組索引和偏移量索引:分組索引是用來(lái)區(qū)別寄存器的類(lèi)型,是一個(gè)常量,。偏移量索引是變量的偏移地址,可以確定在PLC中為變量的地址。另一種方式是變量名方式——在TwinCATPLC程序里邊中任意變量都有一個(gè)專(zhuān)屬句柄,使用變量名訪(fǎng)問(wèn)變量首先捕獲它的句柄,然后讀寫(xiě)操作,最后釋放句柄。
3通訊模塊設(shè)計(jì)
總體設(shè)計(jì):設(shè)計(jì)使用VS2017的MFC模塊,實(shí)現(xiàn)實(shí)驗(yàn)板通過(guò)記數(shù)方式點(diǎn)亮LED流水燈以及按鍵顯示的設(shè)計(jì)面板。設(shè)計(jì)面板中用到的PLC程序中任意變量以文件方式存放在上位機(jī)中,根據(jù)變量名稱(chēng)獲取變量地址信息。為了得到相應(yīng)PLC變量的句柄,使用接口函數(shù)“AdsSyncReadWriteReq”,上位機(jī)軟件對(duì)PLC進(jìn)行數(shù)據(jù)讀寫(xiě)。在運(yùn)行時(shí)需要將PLC程序與開(kāi)關(guān)量模塊的物理地址完成關(guān)聯(lián),在TwinCAT的SystemManager下將I/O變量實(shí)現(xiàn)鏈接。實(shí)驗(yàn)運(yùn)行界面。
通信論文范例:面向5G通信的射頻關(guān)鍵技術(shù)研究
結(jié)束語(yǔ)
為了實(shí)現(xiàn)上位機(jī)軟件與實(shí)驗(yàn)板通信端口的數(shù)據(jù)傳輸,通訊程序以VisualStudio作為開(kāi)發(fā)平臺(tái),設(shè)計(jì)了基于C++程序與TwinCATPLC程序之間的傳輸模塊,采用ADS通訊協(xié)議通信。通過(guò)實(shí)驗(yàn)證明,通訊模塊設(shè)計(jì)合理,數(shù)據(jù)傳輸正常、效率高,能夠?qū)崿F(xiàn)人機(jī)界面以及控制系統(tǒng)的數(shù)據(jù)交互,為后續(xù)的上位機(jī)軟件設(shè)計(jì)奠定了基礎(chǔ)。
參考文獻(xiàn)
[1]郇極,劉艷強(qiáng).工業(yè)以太網(wǎng)現(xiàn)場(chǎng)總線(xiàn)EtherCAT驅(qū)動(dòng)程序設(shè)計(jì)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010.
[2]吳麗菲.EtherCAT在實(shí)時(shí)系統(tǒng)下的實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2014.
[3]Beckhoff.嵌入式PC從入門(mén)到精通[R].德國(guó)倍福自動(dòng)化有限公司,2009.
作者:姬寧博李高益王冠