版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
TwinCAT高級語言編程接口
1尚德明決財水蕪慶疊船溺寇媚誰堂相楔尸體醚江乞抉止構(gòu)蹄嘎桓占袋嫉封取堅姿TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCAT高級語言編程接口1尚德明決TwinCATSoftPLC工業(yè)軟PLC分類:實時運行核:使用操作系統(tǒng)的實時性自主研發(fā)實時核編程語言PLC程序執(zhí)行機制和Windows應(yīng)用程序的執(zhí)行機制不同,Windows應(yīng)用程序是通過消息機制觸發(fā),而PLC程序的執(zhí)行時通過一個定時器自動定期觸發(fā)。因此對于軟PLC來說,定時器的精準直接影響PLC邏輯執(zhí)行的準確性和效率。自主開發(fā)的實時核和操作系統(tǒng)依賴性小,更穩(wěn)定,更準確。目前世界上主要有三家公司開發(fā)了實時核:Beckhoff,IntervalZero,TenAsys。目前我們公司的實時核還不對外開放,TwinCAT3以后將對外開放,對外開放就意味可以使用高級語言來編寫PLC程序。目前TwinCAT系統(tǒng)中想使用高級語言來進行控制只能使用操作系統(tǒng)的實時系統(tǒng)通過R3IO來實現(xiàn)另外一種軟PLC。:編程語言計算機高級語言(如C++)(R3IO)IEC61131-3國際編程標準
2撐秘廈費痕郎蘊獅綠先飛妊腑鎮(zhèn)郝嘔鴻方杠泅采拔球煎幣篷又晦吸據(jù)攬忽TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCATSoftPLC工業(yè)軟PLC分類:高級語言和下位的通訊方式上位用戶界面和BECKHOFF產(chǎn)品通訊主要方式:實時非遠程:R3IO非實時遠程:ADS通訊,Modbus,OPC文檔:R3IO:InformationSystem->TwinCAT->TwinCATR3IOADS:InformationSystem->TwinCAT->TwinCATSystem->TwinCATConnectivity
3倡懂宦繹郁劇拉樟械焰嗅淚亂歐葫緬帆撈貪玲抒筑岡管保諧囊稱掏綏熊蛆TwinCAT高級語言編程接口TwinCAT高級語言編程接口高級語言和下位的通訊方式上位用戶界面和BECKHOFF產(chǎn)品通訊方式比較通訊周期:R3IO通訊時間可以忽略,數(shù)據(jù)交換時間取決于定時器,CE試用BECKHOFF提供的TcTimer可以達到100微秒XP系統(tǒng)最小在1毫秒左右ADS通訊時間在2-3毫秒左右.但是考慮到ADSServer的響應(yīng)時間,一個命令周期可能需要200毫秒系統(tǒng)拓撲:R3IO是通過指針直接訪問IO內(nèi)存映像.本地操作(把它當成高級語言編寫的PLC)ADS是網(wǎng)絡(luò)通訊,可以是遠程訪問Modbus和OPC的性能和ADS在水平以下主要介紹ADS通訊
4壘平臀賒萎倡糖明禍付椿罐啊投勉堯擔侵佐釉堪諒籠私卒脈亮熏厲誨頹錠TwinCAT高級語言編程接口TwinCAT高級語言編程接口通訊方式比較通訊周期:4壘平臀賒萎倡糖明ADS簡介在BeckhoffTwinCAT系統(tǒng)中,各個軟件模塊(如TwinCATPLC、TwinCATNC、Windows應(yīng)用程序等)的工作模式類似于硬件設(shè)備,它們能夠獨立工作。各個軟件模塊之間的信息交換通過TwinCATADS而完成。ADS(AutomationDeviceSpecification)即自動化設(shè)備規(guī)范,它為設(shè)備之間的通訊提供路由。在TwinCATPC和Beckhoff的CX、BX、BC系列控制器中都包含TwinCAT信息路由器。因此各個ADS設(shè)備之間都能夠交換數(shù)據(jù)和信息。ADS服務(wù)有TwinCAT服務(wù)程序提供,當PLC中需要調(diào)用操作系統(tǒng)功能時也是通過ADS命令來驅(qū)動TwinCAT服務(wù)來完成(如文本文件讀寫,獲取系統(tǒng)時間等)?;贏DS的TwinCAT系統(tǒng)構(gòu)架如下圖所示:
5滬粥癢章稗漾因福際瑰果請誹鼎時旋奧襯阿莽蝎娛捏河坦蘭妒丫虜妹誤田TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS簡介在BeckhoffTwinCAT系統(tǒng)中,各個軟ADS通訊協(xié)議概述ADS協(xié)議處于網(wǎng)絡(luò)通訊協(xié)議的應(yīng)用層。
6應(yīng)用層傳輸層Internet層網(wǎng)絡(luò)接口層TCP/IP模型OSI模型瘍障巷凹直原岔瘓汾酒窩兄盆燥奴踐捆暫臻萬宮浸裴恨園懂慕忱蹦鄭圓務(wù)TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS通訊協(xié)議概述ADS協(xié)議處于網(wǎng)絡(luò)通訊協(xié)議的應(yīng)用層。TwinCATADS設(shè)備標識每臺TwinCATADS設(shè)備都有各自不同的AdsAmsNetId和AdsPort(端口號),以相互區(qū)別。AdsAmsNetId是TCP/IP地址的擴展,是TwinCATMessageRouter,存在于每臺TwinCATPC或BeckhoffCX、BX、BC系列控制器中。例如:如果一臺PC的IP地址是“0”,那么它的AdsAmsNetId就是“0.1.1”。當然,也可以對AdsAmsNetId進行修改。每臺ADS設(shè)備(ADSServer)的AdsPort都各不相同,且固定不變。而ADS客戶端(ADSClient)應(yīng)用程序的AdsPort則是可變的。不同ADS設(shè)備的AdsPort如下圖所示:ADS設(shè)備
AdsPortPC控制器中的PLCRun-timesystem1801Run-timesystem2811Run-timesystem3821Run-timesystem4831自定義任務(wù)(AdditionalTask)AdditionalTask1301AdditionalTask2302BCxxxx控制器中的PLC
800NC
500
7飲威榆咳椅盾奉別墓彰瞻聯(lián)漬日袖芝就嫡指魏鄉(xiāng)護鄧兜漿倪浩遭跑敖邦券TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCATADS設(shè)備標識每臺TwinCATADSADS通訊方式ADS設(shè)備之間的通訊有多種方式,不同方式有不同的特點。一般的ADS通訊(GeneralADSServices) -異步方式(Asynchronous) ADS客戶端向ADS服務(wù)器發(fā)送ADS請求,同時客戶端繼續(xù)自己的工作。ADS服務(wù)器處理請求后,把響應(yīng)以Call-back函數(shù)方式發(fā)給客戶端。 -通知方式(Notification) ADS客戶端向ADS服務(wù)器發(fā)送ADS請求,ADS服務(wù)器以Call-back函數(shù)的方式不斷向客戶端發(fā)送響應(yīng),直到客戶端取消該請求。這兩種通訊方式的效率高,但需求復(fù)雜的客戶端程序。注意:每個的端口最多注冊550個通知優(yōu)點:不會造成系統(tǒng)堵塞缺點:不能確保每次請求都有返回比喻:發(fā)郵件
8奴轟送癰眠淺優(yōu)盅療羔芳消粕翱顧果淡盲肥尿構(gòu)頓袖挾誦臆薩址冀豆略哎TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS通訊方式ADS設(shè)備之間的通訊有多種方式,不同方式有ADS通訊方式特殊的ADS通訊(SpecificADSServices)TwinCATADS設(shè)備和Windows應(yīng)用程序(例如VB、VC應(yīng)用程序等)之間的通訊除了可以采用一般的ADS通訊方式外,還可以采用特殊的通訊方式,即同步通訊方式。-同步方式(Synchronous)ADS客戶端向ADS服務(wù)器發(fā)送ADS請求,在通訊過程中客戶端程序停止執(zhí)行,直到獲得ADS服務(wù)器返回的響應(yīng)。這種通訊方式不需求復(fù)雜的客戶端程序,但其輪循的通訊方式給系統(tǒng)帶來比較大的負載,因此通訊效率較低。優(yōu)點:能即時返回結(jié)果缺點:如果通訊故障會造成系統(tǒng)堵塞比喻:通電話
9磊茬遇健永柳黨碉潤懾勤匠犯挑桓淚宮反師洪厄位芒船犢手約螞候禽肥疼TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS通訊方式特殊的ADS通訊(SpecificADSADSAPI為方便各種計算機高級語言及其環(huán)境使用ADS通訊,BeckhoffTwinCAT提供相如下組件:?ADS.NETComponent 適用.NET平臺,VB.NET,C#等?ADS-OCX(ActiveXCOM控件) 適用于VisualBasic,VisualC++,Delphi等.?ADS-DLL 適用于VisualC++等.?ADS-Script-DLL 適用于VBScript,Jscript等腳本,創(chuàng)建B/S架構(gòu)的應(yīng)用.?JAVADLL適用于JAVA語言。?“PlcSystem.lib”PLC庫ADS設(shè)備可以通過據(jù)此和其他ADS設(shè)備以及Windows進行通訊。
10澡刷謗氛審棋姚攤蒂旺瑞銷誓針泌清淡懼姜吹氮眨灣沾度呢惕哀宙捷芭并TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADSAPI為方便各種計算機高級語言及其環(huán)境使用ADS通訊ADS訪問變量方式TwinCATADS訪問變量有兩種方式:1.地址方式一個PLC變量的地址由兩部分組成:GroupIndex和OffsetIndex:GroupIndex一般用于區(qū)別寄存器類型,在TwinCATADS設(shè)備中為常量,具體內(nèi)容可以參考InformationSystem(后附常用的GroupIndex值)。OffsetIndex為變量的偏移地址,在PLC中為該變量的地址。2.變量名方式在TwinCATADS設(shè)備中每個變量都有一個句柄(Handle)。適用變量名訪問變量首先需要得到該變量的句柄。(不同的高級語言方式略有不同)
11堿清它絢醚行澡給齡搔待蹦醇嗚翁歌傍迢蕩謀翹床盅兜那訃巍躍諧汕阜唬TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS訪問變量方式TwinCATADS訪問變量有兩種方式ADS組件庫文件組成簡介
12ADS組件庫集成在TwinCAT軟件中,安裝任何版本的TwinCAT軟件都包含ADS通訊組件,如果用戶希望在沒有安裝TwinCAT軟件的計算機適用ADS通訊組件可以安裝Supplement中的TwinCAT_ADS_Communication_Library此為免費產(chǎn)品。除需要復(fù)制到Windows/System32目錄外絕大部分相關(guān)文件可以在TwinCAT安裝目錄找到。假設(shè)TwinCAT安裝路徑為C:\TwinCAT文件描述C:\TwinCAT\ADSApi\TcAdsDll\ADSDLLC:\TwinCAT\ADSApi\.NET.NET組件(支持三個版本的Framework)C:\TwinCAT\ADSApi\AdsToJavaADSJAVADLLC:\TwinCAT\ADSApi\CompactFramework.NETCompactFramework組件C:\TwinCAT\ADSApi\LibVS97LibC:\TwinCAT\ADSApi\TcAdsWebServiceWebService組件C:\WINDOWS\system32\AdsOcx.ocxADSOCXC:\TwinCAT\TcScript.dllADS-Script-DLL如果可以建議用戶最好用TwinCATCP,ADS組件出了配置稍微麻煩一些外,對于多個客戶端并行通訊業(yè)有局限性譏命本隙桿螺語鐳翟擦忽阿捌代仟至法姻背兜升臣藕聾悉穢幅紋碧蟄革瑟TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS組件庫文件組成簡介12ADS組件庫Ads組件調(diào)用過程簡介
13.NET調(diào)用流程新建工程添加引用TwinCAT.Ads.dll定義TcAdsClient對象
private
TcAdsClientadsClient;初始化TcAdsClient對象adsClient=newTcAdsClient();adsClient.Connect(801);
通過變量名取得變量的句柄注冊DeviceNotification事件用于讀寫變量AddDeviceNotification讀寫變量接受處理返回結(jié)果釋放資源矛螞盅氣攫毯雁媽之隊鴨斗紀抑閡半近腥雄骯寐煥瓜瓶妝師濕淮值奈升署TwinCAT高級語言編程接口TwinCAT高級語言編程接口Ads組件調(diào)用過程簡介13.NET調(diào)用ADS.NET組件通訊方式
14直接封裝TcAdsDll.Dll(ADSClient工作模式)按照AMS協(xié)議組件Socket數(shù)據(jù)包直接通過TCP系統(tǒng)通訊(ADSServer)癢鎮(zhèn)馭樟釣餐纂辦栽千寅搗速侖囪刃慫慕沏礫估早膘脯糕簽蕾罪鑲督鍬杠TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS.NET組件通訊方式14直接封裝Ads組件調(diào)用過程簡介C++在VisualC++中進行鏈接和程序開發(fā)時所需要的文件:TcAdsDll.dll–動態(tài)鏈接庫TcAdsDll.lib–使用TcAdsDll.dll的函數(shù)庫TcAdsApi.h–聲明ADS功能的頭文件TcAdsDef.h–聲明結(jié)構(gòu)和常數(shù)的頭文件主要接口:AdsPortOpen:建立TwinCAT信息路由器連接(通訊口)。AdsPortClose:關(guān)閉TwinCAT信息路由器的連接(通訊口)。AdsGetLocalAddress:返回本地NetId和端口號AdsSyncWriteReq:同步寫數(shù)據(jù)到一個ADS設(shè)備AdsSyncReadReq:從ADS服務(wù)器中同步讀數(shù)據(jù)。AdsSyncReadWriteReq:同步寫入數(shù)據(jù)到ADS服務(wù)器中并從ADS設(shè)備接收返回的數(shù)據(jù)。AdsSyncReadStateReq:從ADS服務(wù)器中讀ADS狀態(tài)和設(shè)備狀態(tài)。AdsSyncAddDeviceNotificationReq:通知在ADS服務(wù)器中進行定義(如PLC)。當某個事件發(fā)生時,該功能(回調(diào)功能)在ADS客戶端進行調(diào)用(C程序)。AdsSyncDelDeviceNotificationReq:從ADS服務(wù)器中刪除以前定義的通知。
15徽嫌姐勾遞巖蹦膚苛可沼敞論捏奴緊椿孿搬舷履驟咸訝暮愿株嚏落層訪剩TwinCAT高級語言編程接口TwinCAT高級語言編程接口Ads組件調(diào)用過程簡介C++15徽嫌姐輔助工具-TwinCATADSMonitorTwinCATADSMonitor可以抓取ADS通訊數(shù)據(jù)包
16ADS數(shù)據(jù)結(jié)構(gòu)幀數(shù)據(jù)通訊數(shù)據(jù)幀記錄基黎遭逾契滓瓶弧溪竟琺岳卿奔權(quán)緝跳嘛缽捻康帥挾翻昆元著汛報煩壽懲TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-TwinCATADSMonitorTwinC輔助工具-WiresharkPortable
17可以抓取網(wǎng)絡(luò)適配器上的數(shù)據(jù),包括ADSEtherCAT等,但不能抓取本地ADS數(shù)據(jù)包酋臆姨咒欽飲筐攀捧抑凍臣澈懸泳惦刀閩輝胡吵氖朋脅歧疏脫寂兄咆數(shù)鴉TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-WiresharkPortable輔助工具-仿真器1.下載文件:以下路徑為FTp路徑()/Software/embPC-Control/CE/Solutions/CX_Emulator/emulator.zip(CE仿真器英文)/Software/embPC-Control/CE/Solutions/SDK/BeckhoffHMI500V1.3SDK.msi/Software/embPC-Control/CE/Solutions/VS_NET2005/CE5_DbgHlp.zip2.仿真器安裝:a.安裝MicrosoftWindowsCE5.0Emulator.msi需要連接互聯(lián)網(wǎng)b.安裝完仿真器,再安裝虛擬網(wǎng)卡驅(qū)動netsvwrap.msi3.配置:a.安裝后修改StartEmulator_DE.bat文件,將參數(shù)中的/Ethernet的MAC改為本地網(wǎng)卡的實際MAC地址b.參數(shù)vmid后的GUID值做為保存映像是的文件夾名稱。4.設(shè)置仿真器和VS.net集成環(huán)境:WindowsCE5的模擬器是基于x86的,VS2005的DeviceEmulator是基于ARM的,VS2005開發(fā)環(huán)境無法和WinCE模擬器進行集成進行遠程調(diào)試。但是可以通過下面的方式實現(xiàn)集成:1).將CE5_DbgHlp.zip壓縮包文件解壓復(fù)制仿真器的\harddisk\system路徑下(實際的控制器新版本系統(tǒng)中這些文件已經(jīng)存在)2).運行Conmanclient2.exe
18括邪聚洱慎名宿蔚論喇膳曹冤翠班猾徑疤草續(xù)青淀崩睡鋅丹漆桑安夠氖柞TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-仿真器1.下載文件:18括邪聚輔助工具-仿真器(續(xù))3).配置VS2005開發(fā)環(huán)境:a.轉(zhuǎn)到“Tools-->options-->devicetools-->devices”b.選擇WindowsCE5.0設(shè)備,點擊“屬性(properties)”按鈕c.在WindowsCE5.0設(shè)備屬性對話框點擊“配置(configure)”按鈕d.在TCP/IP配置對話框選定“使用特定的IP(usespecificIPaddress)”,輸入仿真器的IP地址。下面就可以DebugCE應(yīng)用程序,選擇部署到WindowsCE5.0。如果部署仍然失敗,運行仿真器\harddisk\system路徑下的cMaccept.exe文件。測試正常后保存仿真器的設(shè)置,載關(guān)閉時選擇SaveSate而不是TrueOff,這樣下次啟動仿真器就不需要重新設(shè)置仿真器。如果想刪除保存的文件,轉(zhuǎn)到“我的文檔\MyVirtualMachines下,將上文提到的在StartEmulator_DE.bat設(shè)置的vmid值為名稱的文件夾刪除即可。如果在具體操作用什么問題,您可以隨時和我們聯(lián)系。vs2008注意事項:用如下文件代替CE5_DbgHlp.zip內(nèi)的文件C:\ProgramFiles\CommonFiles\MicrosoftShared\CoreCon\1.0\Target\wce400\x86
19讓忍杉俄邢泣焊親窺余毆培渠硫坑喇瞬憤投囊毒撫顛伍寢誘啪柯續(xù)臆壹籃TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-仿真器(續(xù))3).配置VS2005開發(fā)環(huán)境:輔助工具-仿真器(續(xù))最近剛剛發(fā)布了基于MicrosoftVirtualPC的WinCE6.0仿真器,能夠更真實的模擬我們的硬件控制器。
20睬戶纏詢撩畝蓖砒灌烘神悄巷鴦覺梭愈板褲踢墟擋習悸窺辣班紗婿壞長嫌TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-仿真器(續(xù))最近剛剛發(fā)布了基于MicrosoftPLC運行狀態(tài)檢測1.HMI啟動是需要檢測PLCServer的啟動狀態(tài)2.在運行中檢測控制器的狀態(tài)舉例:VS.NET:AmsRouterNotificationAdsStateChanged注:此兩個事件只針對本地通訊有用(客戶端和服務(wù)器端在同一個PC上)
21溯僵螞叛仲掙腿芹南狼瞇掖繭脹牢情召冒訊迂吏蓋五門竭特膳輩犀相咬懲TwinCAT高級語言編程接口TwinCAT高級語言編程接口PLC運行狀態(tài)檢測1.HMI啟動是需要檢測PLCServe常用的GroupIndex
22GroupIndex值描述0x00004020M寄存器(用%M聲明)0x00004021MX寄存器(用MX聲明)0x0000F020I寄存器(用%I聲明)0x0000F021IX寄存器(用IX聲明)0x0000F030Q寄存器(用%Q聲明)0x0000F031QX寄存器(用QX聲明)0x0000F003取變量的句柄0x0000F005通過變量句柄訪問變量值0x0000F006釋放句柄1.對于MX,IX,QX寄存器的偏移地址的單位是“位”,而不是字節(jié),計算地址需要注意2.M寄存器偏移地址最大值為0x0000FFFF,而MX,I,IX,Q,QX偏移地址最大值為0xFFFFFFFF。3.上表后三個主要用于C++語言,其他高級語言已經(jīng)封裝成專有方法,不需直接調(diào)用。鞍脂鄖匣阮擺皇倫加佃曉嫡平庫戀塘湘控下瞞疑阻可岳食糾岳刷捌欺豹雅TwinCAT高級語言編程接口TwinCAT高級語言編程接口常用的GroupIndex22GroupTwinCATSystemCOMObject可以用來遠程控制TwinCATService的停止,啟動等操作
23催杏攙喧扯勇傲番坤備夷浪材頗橡娛秦雖讓渾殼橫亮班甘羹藏佩姑綿既抖TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCATSystemCOMObject可以用來遠TwinCATSystemManagerAutomationInterface可以實現(xiàn)SystemManager的部分功能,如掃描IO,修改鏈接,激活配置等。實際應(yīng)用舉例:一鍵式系統(tǒng)更新:通過TwinCATSystemManagerAutomationInterface自動更新系統(tǒng)配置信息(tsm文件)通過PLCControlCommandLine自動更新PLC程序(PRO)
24粳紊商膜畏咽存般爵讀審獺秉酶億命梗澆侵辯氈詭酮刃疥記侯峭犁苦贅懂TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCATSystemManagerAutomatTwinCATADSModularDeviceProfile基于ETG組織的ModularDeviceProfile規(guī)范,可以對硬件等系統(tǒng)模塊進行監(jiān)控和設(shè)置,比如顯示分辨率,網(wǎng)卡的IP地址等。具有和PLC和高級語言接口有效:WindowsCE6.0(imageversion3.08orhigher)WindowsXPe(imageversion2.2orhigher)
25悟俯冷奠儀浪嬸胡君冤績糖硫語仿梧藹豺友馳市起喇延蒙肌建燕惦視鴨刃TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCATADSModularDeviceProWinCE下設(shè)置應(yīng)用程序自啟動的幾種方法一、利用WinCE的機制:1.修改系統(tǒng)Init入口:運行注冊表編輯器,開始(Start)-運行(Run)輸入“REGEDIT”然后確定,即打開注冊表。定位到[HKEY_LOCAL_MACHINE\init]然后添加新項。比如:"Launch99"="app.exe"
"Depend99"=hex:14001e00320050005a00這個是設(shè)定啟動順序,launch后面的數(shù)字越大的越是后啟動,Depend90后面的指定依賴項,為16進制,上面的語句表明依賴項為launch20,launch30,launch60,launch80,launch90定義的項目。device.exe和launch30中定義的gwes.exe,注意Launch后面的數(shù)字范圍為0到99,此范圍之外的將不會有效果。2.放在Windows啟動中。默認windows的啟動文件夾被指向到windows下的startup文件夾,這個文件夾不是CF上的物理文件夾,所以不能保存用戶改動的東西,如果需要用到這個文件夾,需要修改注冊表將這個系統(tǒng)文件夾位置修改到指向CF卡(也就是HardDisk)上的一個文件夾。定位到HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders修改Startup的值為HardDisk上的一個文件夾,然后將應(yīng)用程序的快捷方式放到這個文件夾,系統(tǒng)啟動時即會自動運行。相當于向開始菜單的啟動中添加項目。
26涉烈星柴踴另朋綴甭借辮進黃泰抑下鷹糞私抬咎鄲散島夏耐震賣姥喝他熬TwinCAT高級語言編程接口TwinCAT高級語言編程接口WinCE下設(shè)置應(yīng)用程序自啟動的幾種方法一、利用WinCE的WinCE下設(shè)置應(yīng)用程序自啟動的幾種方法3.修改Autoexec.cmd文件這個文件位于HardDisk\System下,這個文件就是一個DOS下的批處理文件,BeckhoffCE啟動時會自動運行\(zhòng)HardDisk\System\startup.exe程序,這個程序會查找HardDisk\System下的Autoexec.cmd文件,如果有則運行它,因此將要自定運行的命令寫入這個文件,也會達到自動運行的效果,在命令前加上start關(guān)鍵字,則批處理程序運行完dos窗口會自動關(guān)閉。如果要關(guān)閉這個只需要將autoexec.cmd改名。以上三種方法都是利用WinCE系統(tǒng)機制實現(xiàn)自動運行應(yīng)用程序的目的,用這種方法可能會產(chǎn)生應(yīng)用程序比PLCServer先運行起來,如果應(yīng)用程序中存在和PLCServer通過的過程,如果HMI先運行起來可能會造成初始化失敗,因此用這種方法啟動應(yīng)用程序,需要在應(yīng)用程序入口加上檢測PLC運行狀態(tài)的過程。二、利用PLC語言來運行用戶定制的HMI程序這種是利用PLC庫中的NT_StartProcess功能塊,在PLC加載完,執(zhí)行HMI應(yīng)用程序,這樣可以保證啟動的先后順序。三,使用WinCE6Image內(nèi)部集成的StartManager工具
27貓暈絲清珊孔曬還故煌部昆墻翰奔殼馬浦催峭祥堰麥寒羹斗室喊黍耘財肆TwinCAT高級語言編程接口TwinCAT高級語言編程接口WinCE下設(shè)置應(yīng)用程序自啟動的幾種方法3.修改AutoexOPCClient-和BeckhoffOPCServer通訊大體步驟:1.PLC程序添加OPC相關(guān)屬性,詳細參考InformationSystem2.配置OPCServer:設(shè)置AutoCfg為83.下載:OPCFoundationwebsite下載OpcNetApi.dll,OpcNetApi.Com.dll(具有成員資格的組織才可以下載)4.在.net中編程實現(xiàn)OPCClient的功能枚舉OPC服務(wù)器:
privateOpc.Server[]servers;servers=m_discovery.GetAvailableServers(Specification.COM_DA_20,"",null);枚舉變量:通過遞歸調(diào)用m_server.Browse來枚舉OPC中的變量
28育搭隋敦翌思面茹爆枝串網(wǎng)魄苑緯療澄咸紊孿沿筐邀樹撼進鱗圭鉤夯婿羞TwinCAT高級語言編程接口TwinCAT高級語言編程接口OPCClient-和BeckhoffOPCServeTwinCAT高級語言編程接口
29尚德明決財水蕪慶疊船溺寇媚誰堂相楔尸體醚江乞抉止構(gòu)蹄嘎桓占袋嫉封取堅姿TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCAT高級語言編程接口1尚德明決TwinCATSoftPLC工業(yè)軟PLC分類:實時運行核:使用操作系統(tǒng)的實時性自主研發(fā)實時核編程語言PLC程序執(zhí)行機制和Windows應(yīng)用程序的執(zhí)行機制不同,Windows應(yīng)用程序是通過消息機制觸發(fā),而PLC程序的執(zhí)行時通過一個定時器自動定期觸發(fā)。因此對于軟PLC來說,定時器的精準直接影響PLC邏輯執(zhí)行的準確性和效率。自主開發(fā)的實時核和操作系統(tǒng)依賴性小,更穩(wěn)定,更準確。目前世界上主要有三家公司開發(fā)了實時核:Beckhoff,IntervalZero,TenAsys。目前我們公司的實時核還不對外開放,TwinCAT3以后將對外開放,對外開放就意味可以使用高級語言來編寫PLC程序。目前TwinCAT系統(tǒng)中想使用高級語言來進行控制只能使用操作系統(tǒng)的實時系統(tǒng)通過R3IO來實現(xiàn)另外一種軟PLC。:編程語言計算機高級語言(如C++)(R3IO)IEC61131-3國際編程標準
30撐秘廈費痕郎蘊獅綠先飛妊腑鎮(zhèn)郝嘔鴻方杠泅采拔球煎幣篷又晦吸據(jù)攬忽TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCATSoftPLC工業(yè)軟PLC分類:高級語言和下位的通訊方式上位用戶界面和BECKHOFF產(chǎn)品通訊主要方式:實時非遠程:R3IO非實時遠程:ADS通訊,Modbus,OPC文檔:R3IO:InformationSystem->TwinCAT->TwinCATR3IOADS:InformationSystem->TwinCAT->TwinCATSystem->TwinCATConnectivity
31倡懂宦繹郁劇拉樟械焰嗅淚亂歐葫緬帆撈貪玲抒筑岡管保諧囊稱掏綏熊蛆TwinCAT高級語言編程接口TwinCAT高級語言編程接口高級語言和下位的通訊方式上位用戶界面和BECKHOFF產(chǎn)品通訊方式比較通訊周期:R3IO通訊時間可以忽略,數(shù)據(jù)交換時間取決于定時器,CE試用BECKHOFF提供的TcTimer可以達到100微秒XP系統(tǒng)最小在1毫秒左右ADS通訊時間在2-3毫秒左右.但是考慮到ADSServer的響應(yīng)時間,一個命令周期可能需要200毫秒系統(tǒng)拓撲:R3IO是通過指針直接訪問IO內(nèi)存映像.本地操作(把它當成高級語言編寫的PLC)ADS是網(wǎng)絡(luò)通訊,可以是遠程訪問Modbus和OPC的性能和ADS在水平以下主要介紹ADS通訊
32壘平臀賒萎倡糖明禍付椿罐啊投勉堯擔侵佐釉堪諒籠私卒脈亮熏厲誨頹錠TwinCAT高級語言編程接口TwinCAT高級語言編程接口通訊方式比較通訊周期:4壘平臀賒萎倡糖明ADS簡介在BeckhoffTwinCAT系統(tǒng)中,各個軟件模塊(如TwinCATPLC、TwinCATNC、Windows應(yīng)用程序等)的工作模式類似于硬件設(shè)備,它們能夠獨立工作。各個軟件模塊之間的信息交換通過TwinCATADS而完成。ADS(AutomationDeviceSpecification)即自動化設(shè)備規(guī)范,它為設(shè)備之間的通訊提供路由。在TwinCATPC和Beckhoff的CX、BX、BC系列控制器中都包含TwinCAT信息路由器。因此各個ADS設(shè)備之間都能夠交換數(shù)據(jù)和信息。ADS服務(wù)有TwinCAT服務(wù)程序提供,當PLC中需要調(diào)用操作系統(tǒng)功能時也是通過ADS命令來驅(qū)動TwinCAT服務(wù)來完成(如文本文件讀寫,獲取系統(tǒng)時間等)?;贏DS的TwinCAT系統(tǒng)構(gòu)架如下圖所示:
33滬粥癢章稗漾因福際瑰果請誹鼎時旋奧襯阿莽蝎娛捏河坦蘭妒丫虜妹誤田TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS簡介在BeckhoffTwinCAT系統(tǒng)中,各個軟ADS通訊協(xié)議概述ADS協(xié)議處于網(wǎng)絡(luò)通訊協(xié)議的應(yīng)用層。
34應(yīng)用層傳輸層Internet層網(wǎng)絡(luò)接口層TCP/IP模型OSI模型瘍障巷凹直原岔瘓汾酒窩兄盆燥奴踐捆暫臻萬宮浸裴恨園懂慕忱蹦鄭圓務(wù)TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS通訊協(xié)議概述ADS協(xié)議處于網(wǎng)絡(luò)通訊協(xié)議的應(yīng)用層。TwinCATADS設(shè)備標識每臺TwinCATADS設(shè)備都有各自不同的AdsAmsNetId和AdsPort(端口號),以相互區(qū)別。AdsAmsNetId是TCP/IP地址的擴展,是TwinCATMessageRouter,存在于每臺TwinCATPC或BeckhoffCX、BX、BC系列控制器中。例如:如果一臺PC的IP地址是“0”,那么它的AdsAmsNetId就是“0.1.1”。當然,也可以對AdsAmsNetId進行修改。每臺ADS設(shè)備(ADSServer)的AdsPort都各不相同,且固定不變。而ADS客戶端(ADSClient)應(yīng)用程序的AdsPort則是可變的。不同ADS設(shè)備的AdsPort如下圖所示:ADS設(shè)備
AdsPortPC控制器中的PLCRun-timesystem1801Run-timesystem2811Run-timesystem3821Run-timesystem4831自定義任務(wù)(AdditionalTask)AdditionalTask1301AdditionalTask2302BCxxxx控制器中的PLC
800NC
500
35飲威榆咳椅盾奉別墓彰瞻聯(lián)漬日袖芝就嫡指魏鄉(xiāng)護鄧兜漿倪浩遭跑敖邦券TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCATADS設(shè)備標識每臺TwinCATADSADS通訊方式ADS設(shè)備之間的通訊有多種方式,不同方式有不同的特點。一般的ADS通訊(GeneralADSServices) -異步方式(Asynchronous) ADS客戶端向ADS服務(wù)器發(fā)送ADS請求,同時客戶端繼續(xù)自己的工作。ADS服務(wù)器處理請求后,把響應(yīng)以Call-back函數(shù)方式發(fā)給客戶端。 -通知方式(Notification) ADS客戶端向ADS服務(wù)器發(fā)送ADS請求,ADS服務(wù)器以Call-back函數(shù)的方式不斷向客戶端發(fā)送響應(yīng),直到客戶端取消該請求。這兩種通訊方式的效率高,但需求復(fù)雜的客戶端程序。注意:每個的端口最多注冊550個通知優(yōu)點:不會造成系統(tǒng)堵塞缺點:不能確保每次請求都有返回比喻:發(fā)郵件
36奴轟送癰眠淺優(yōu)盅療羔芳消粕翱顧果淡盲肥尿構(gòu)頓袖挾誦臆薩址冀豆略哎TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS通訊方式ADS設(shè)備之間的通訊有多種方式,不同方式有ADS通訊方式特殊的ADS通訊(SpecificADSServices)TwinCATADS設(shè)備和Windows應(yīng)用程序(例如VB、VC應(yīng)用程序等)之間的通訊除了可以采用一般的ADS通訊方式外,還可以采用特殊的通訊方式,即同步通訊方式。-同步方式(Synchronous)ADS客戶端向ADS服務(wù)器發(fā)送ADS請求,在通訊過程中客戶端程序停止執(zhí)行,直到獲得ADS服務(wù)器返回的響應(yīng)。這種通訊方式不需求復(fù)雜的客戶端程序,但其輪循的通訊方式給系統(tǒng)帶來比較大的負載,因此通訊效率較低。優(yōu)點:能即時返回結(jié)果缺點:如果通訊故障會造成系統(tǒng)堵塞比喻:通電話
37磊茬遇健永柳黨碉潤懾勤匠犯挑桓淚宮反師洪厄位芒船犢手約螞候禽肥疼TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS通訊方式特殊的ADS通訊(SpecificADSADSAPI為方便各種計算機高級語言及其環(huán)境使用ADS通訊,BeckhoffTwinCAT提供相如下組件:?ADS.NETComponent 適用.NET平臺,VB.NET,C#等?ADS-OCX(ActiveXCOM控件) 適用于VisualBasic,VisualC++,Delphi等.?ADS-DLL 適用于VisualC++等.?ADS-Script-DLL 適用于VBScript,Jscript等腳本,創(chuàng)建B/S架構(gòu)的應(yīng)用.?JAVADLL適用于JAVA語言。?“PlcSystem.lib”PLC庫ADS設(shè)備可以通過據(jù)此和其他ADS設(shè)備以及Windows進行通訊。
38澡刷謗氛審棋姚攤蒂旺瑞銷誓針泌清淡懼姜吹氮眨灣沾度呢惕哀宙捷芭并TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADSAPI為方便各種計算機高級語言及其環(huán)境使用ADS通訊ADS訪問變量方式TwinCATADS訪問變量有兩種方式:1.地址方式一個PLC變量的地址由兩部分組成:GroupIndex和OffsetIndex:GroupIndex一般用于區(qū)別寄存器類型,在TwinCATADS設(shè)備中為常量,具體內(nèi)容可以參考InformationSystem(后附常用的GroupIndex值)。OffsetIndex為變量的偏移地址,在PLC中為該變量的地址。2.變量名方式在TwinCATADS設(shè)備中每個變量都有一個句柄(Handle)。適用變量名訪問變量首先需要得到該變量的句柄。(不同的高級語言方式略有不同)
39堿清它絢醚行澡給齡搔待蹦醇嗚翁歌傍迢蕩謀翹床盅兜那訃巍躍諧汕阜唬TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS訪問變量方式TwinCATADS訪問變量有兩種方式ADS組件庫文件組成簡介
40ADS組件庫集成在TwinCAT軟件中,安裝任何版本的TwinCAT軟件都包含ADS通訊組件,如果用戶希望在沒有安裝TwinCAT軟件的計算機適用ADS通訊組件可以安裝Supplement中的TwinCAT_ADS_Communication_Library此為免費產(chǎn)品。除需要復(fù)制到Windows/System32目錄外絕大部分相關(guān)文件可以在TwinCAT安裝目錄找到。假設(shè)TwinCAT安裝路徑為C:\TwinCAT文件描述C:\TwinCAT\ADSApi\TcAdsDll\ADSDLLC:\TwinCAT\ADSApi\.NET.NET組件(支持三個版本的Framework)C:\TwinCAT\ADSApi\AdsToJavaADSJAVADLLC:\TwinCAT\ADSApi\CompactFramework.NETCompactFramework組件C:\TwinCAT\ADSApi\LibVS97LibC:\TwinCAT\ADSApi\TcAdsWebServiceWebService組件C:\WINDOWS\system32\AdsOcx.ocxADSOCXC:\TwinCAT\TcScript.dllADS-Script-DLL如果可以建議用戶最好用TwinCATCP,ADS組件出了配置稍微麻煩一些外,對于多個客戶端并行通訊業(yè)有局限性譏命本隙桿螺語鐳翟擦忽阿捌代仟至法姻背兜升臣藕聾悉穢幅紋碧蟄革瑟TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS組件庫文件組成簡介12ADS組件庫Ads組件調(diào)用過程簡介
41.NET調(diào)用流程新建工程添加引用TwinCAT.Ads.dll定義TcAdsClient對象
private
TcAdsClientadsClient;初始化TcAdsClient對象adsClient=newTcAdsClient();adsClient.Connect(801);
通過變量名取得變量的句柄注冊DeviceNotification事件用于讀寫變量AddDeviceNotification讀寫變量接受處理返回結(jié)果釋放資源矛螞盅氣攫毯雁媽之隊鴨斗紀抑閡半近腥雄骯寐煥瓜瓶妝師濕淮值奈升署TwinCAT高級語言編程接口TwinCAT高級語言編程接口Ads組件調(diào)用過程簡介13.NET調(diào)用ADS.NET組件通訊方式
42直接封裝TcAdsDll.Dll(ADSClient工作模式)按照AMS協(xié)議組件Socket數(shù)據(jù)包直接通過TCP系統(tǒng)通訊(ADSServer)癢鎮(zhèn)馭樟釣餐纂辦栽千寅搗速侖囪刃慫慕沏礫估早膘脯糕簽蕾罪鑲督鍬杠TwinCAT高級語言編程接口TwinCAT高級語言編程接口ADS.NET組件通訊方式14直接封裝Ads組件調(diào)用過程簡介C++在VisualC++中進行鏈接和程序開發(fā)時所需要的文件:TcAdsDll.dll–動態(tài)鏈接庫TcAdsDll.lib–使用TcAdsDll.dll的函數(shù)庫TcAdsApi.h–聲明ADS功能的頭文件TcAdsDef.h–聲明結(jié)構(gòu)和常數(shù)的頭文件主要接口:AdsPortOpen:建立TwinCAT信息路由器連接(通訊口)。AdsPortClose:關(guān)閉TwinCAT信息路由器的連接(通訊口)。AdsGetLocalAddress:返回本地NetId和端口號AdsSyncWriteReq:同步寫數(shù)據(jù)到一個ADS設(shè)備AdsSyncReadReq:從ADS服務(wù)器中同步讀數(shù)據(jù)。AdsSyncReadWriteReq:同步寫入數(shù)據(jù)到ADS服務(wù)器中并從ADS設(shè)備接收返回的數(shù)據(jù)。AdsSyncReadStateReq:從ADS服務(wù)器中讀ADS狀態(tài)和設(shè)備狀態(tài)。AdsSyncAddDeviceNotificationReq:通知在ADS服務(wù)器中進行定義(如PLC)。當某個事件發(fā)生時,該功能(回調(diào)功能)在ADS客戶端進行調(diào)用(C程序)。AdsSyncDelDeviceNotificationReq:從ADS服務(wù)器中刪除以前定義的通知。
43徽嫌姐勾遞巖蹦膚苛可沼敞論捏奴緊椿孿搬舷履驟咸訝暮愿株嚏落層訪剩TwinCAT高級語言編程接口TwinCAT高級語言編程接口Ads組件調(diào)用過程簡介C++15徽嫌姐輔助工具-TwinCATADSMonitorTwinCATADSMonitor可以抓取ADS通訊數(shù)據(jù)包
44ADS數(shù)據(jù)結(jié)構(gòu)幀數(shù)據(jù)通訊數(shù)據(jù)幀記錄基黎遭逾契滓瓶弧溪竟琺岳卿奔權(quán)緝跳嘛缽捻康帥挾翻昆元著汛報煩壽懲TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-TwinCATADSMonitorTwinC輔助工具-WiresharkPortable
45可以抓取網(wǎng)絡(luò)適配器上的數(shù)據(jù),包括ADSEtherCAT等,但不能抓取本地ADS數(shù)據(jù)包酋臆姨咒欽飲筐攀捧抑凍臣澈懸泳惦刀閩輝胡吵氖朋脅歧疏脫寂兄咆數(shù)鴉TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-WiresharkPortable輔助工具-仿真器1.下載文件:以下路徑為FTp路徑()/Software/embPC-Control/CE/Solutions/CX_Emulator/emulator.zip(CE仿真器英文)/Software/embPC-Control/CE/Solutions/SDK/BeckhoffHMI500V1.3SDK.msi/Software/embPC-Control/CE/Solutions/VS_NET2005/CE5_DbgHlp.zip2.仿真器安裝:a.安裝MicrosoftWindowsCE5.0Emulator.msi需要連接互聯(lián)網(wǎng)b.安裝完仿真器,再安裝虛擬網(wǎng)卡驅(qū)動netsvwrap.msi3.配置:a.安裝后修改StartEmulator_DE.bat文件,將參數(shù)中的/Ethernet的MAC改為本地網(wǎng)卡的實際MAC地址b.參數(shù)vmid后的GUID值做為保存映像是的文件夾名稱。4.設(shè)置仿真器和VS.net集成環(huán)境:WindowsCE5的模擬器是基于x86的,VS2005的DeviceEmulator是基于ARM的,VS2005開發(fā)環(huán)境無法和WinCE模擬器進行集成進行遠程調(diào)試。但是可以通過下面的方式實現(xiàn)集成:1).將CE5_DbgHlp.zip壓縮包文件解壓復(fù)制仿真器的\harddisk\system路徑下(實際的控制器新版本系統(tǒng)中這些文件已經(jīng)存在)2).運行Conmanclient2.exe
46括邪聚洱慎名宿蔚論喇膳曹冤翠班猾徑疤草續(xù)青淀崩睡鋅丹漆桑安夠氖柞TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-仿真器1.下載文件:18括邪聚輔助工具-仿真器(續(xù))3).配置VS2005開發(fā)環(huán)境:a.轉(zhuǎn)到“Tools-->options-->devicetools-->devices”b.選擇WindowsCE5.0設(shè)備,點擊“屬性(properties)”按鈕c.在WindowsCE5.0設(shè)備屬性對話框點擊“配置(configure)”按鈕d.在TCP/IP配置對話框選定“使用特定的IP(usespecificIPaddress)”,輸入仿真器的IP地址。下面就可以DebugCE應(yīng)用程序,選擇部署到WindowsCE5.0。如果部署仍然失敗,運行仿真器\harddisk\system路徑下的cMaccept.exe文件。測試正常后保存仿真器的設(shè)置,載關(guān)閉時選擇SaveSate而不是TrueOff,這樣下次啟動仿真器就不需要重新設(shè)置仿真器。如果想刪除保存的文件,轉(zhuǎn)到“我的文檔\MyVirtualMachines下,將上文提到的在StartEmulator_DE.bat設(shè)置的vmid值為名稱的文件夾刪除即可。如果在具體操作用什么問題,您可以隨時和我們聯(lián)系。vs2008注意事項:用如下文件代替CE5_DbgHlp.zip內(nèi)的文件C:\ProgramFiles\CommonFiles\MicrosoftShared\CoreCon\1.0\Target\wce400\x86
47讓忍杉俄邢泣焊親窺余毆培渠硫坑喇瞬憤投囊毒撫顛伍寢誘啪柯續(xù)臆壹籃TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-仿真器(續(xù))3).配置VS2005開發(fā)環(huán)境:輔助工具-仿真器(續(xù))最近剛剛發(fā)布了基于MicrosoftVirtualPC的WinCE6.0仿真器,能夠更真實的模擬我們的硬件控制器。
48睬戶纏詢撩畝蓖砒灌烘神悄巷鴦覺梭愈板褲踢墟擋習悸窺辣班紗婿壞長嫌TwinCAT高級語言編程接口TwinCAT高級語言編程接口輔助工具-仿真器(續(xù))最近剛剛發(fā)布了基于MicrosoftPLC運行狀態(tài)檢測1.HMI啟動是需要檢測PLCServer的啟動狀態(tài)2.在運行中檢測控制器的狀態(tài)舉例:VS.NET:AmsRouterNotificationAdsStateChanged注:此兩個事件只針對本地通訊有用(客戶端和服務(wù)器端在同一個PC上)
49溯僵螞叛仲掙腿芹南狼瞇掖繭脹牢情召冒訊迂吏蓋五門竭特膳輩犀相咬懲TwinCAT高級語言編程接口TwinCAT高級語言編程接口PLC運行狀態(tài)檢測1.HMI啟動是需要檢測PLCServe常用的GroupIndex
50GroupIndex值描述0x00004020M寄存器(用%M聲明)0x00004021MX寄存器(用MX聲明)0x0000F020I寄存器(用%I聲明)0x0000F021IX寄存器(用IX聲明)0x0000F030Q寄存器(用%Q聲明)0x0000F031QX寄存器(用QX聲明)0x0000F003取變量的句柄0x0000F005通過變量句柄訪問變量值0x0000F006釋放句柄1.對于MX,IX,QX寄存器的偏移地址的單位是“位”,而不是字節(jié),計算地址需要注意2.M寄存器偏移地址最大值為0x0000FFFF,而MX,I,IX,Q,QX偏移地址最大值為0xFFFFFFFF。3.上表后三個主要用于C++語言,其他高級語言已經(jīng)封裝成專有方法,不需直接調(diào)用。鞍脂鄖匣阮擺皇倫加佃曉嫡平庫戀塘湘控下瞞疑阻可岳食糾岳刷捌欺豹雅TwinCAT高級語言編程接口TwinCAT高級語言編程接口常用的GroupIndex22GroupTwinCATSystemCOMObject可以用來遠程控制TwinCATService的停止,啟動等操作
51催杏攙喧扯勇傲番坤備夷浪材頗橡娛秦雖讓渾殼橫亮班甘羹藏佩姑綿既抖TwinCAT高級語言編程接口TwinCAT高級語言編程接口TwinCATSystemCOMObject可以用來遠TwinCATSystemManagerAutomationInterface可以實現(xiàn)SystemManager的部分功能,如掃描IO,修改鏈接,激活配置等。實際應(yīng)用舉例:一鍵式系統(tǒng)更新:通過TwinCATSystemManagerAutomationInterface自動更新系統(tǒng)配置信息(tsm文件)通過PLCControlCommandLine自動更新PLC程序(PRO)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度環(huán)保型海沙運輸合作協(xié)議范本3篇
- 新鄉(xiāng)工程學院《數(shù)據(jù)通信與協(xié)議》2023-2024學年第一學期期末試卷
- 2025年滬教版高二語文上冊月考試卷
- 新疆警察學院《現(xiàn)代生物技術(shù)及應(yīng)用》2023-2024學年第一學期期末試卷
- 《抗日戰(zhàn)爭的》課件
- 門診慢病政策解讀
- 維修承建合同范例
- 房屋租賃合同范例app
- 商鋪合作快遞合同范例
- 購買軟件算法合同范例
- 2023上海初三語文一模試題記敘文閱讀匯編(15區(qū)含答案)
- 山東大學《高級語言程序設(shè)計》2022-2023學年期末試卷
- 《微機系統(tǒng)與匯編語言》-課程設(shè)計-實時時鐘的設(shè)計與實現(xiàn)
- 廣東省深圳市龍崗區(qū)2023-2024學年四年級上學期期末數(shù)學試卷+
- 安全標準化示范班組建設(shè)匯報
- 智能電網(wǎng)建設(shè)與發(fā)展趨勢
- 005獨立避雷針基礎(chǔ)施工方案
- 第三方代付工程款協(xié)議書范本
- 外研版英語九年級上冊 Module1-12作文范文
- 公路工程勘察設(shè)計投標方案(技術(shù)方案)
- 小米科技公司的供應(yīng)鏈管理策略分析(全面完整版)
評論
0/150
提交評論