美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)電子產(chǎn)品 > 半導(dǎo)體產(chǎn)品 > 微控制器MCU

類型分類:
科普知識
數(shù)據(jù)分類:
微控制器MCU

關(guān)于正運(yùn)動控制器嵌入式實(shí)時(shí)系統(tǒng)的優(yōu)勢和常見問題

發(fā)布日期:2022-04-22 點(diǎn)擊率:96

  • 關(guān)鍵詞:                                                                正運(yùn)動控制器                                                                嵌入式

  • 摘要:本文檔介紹如下內(nèi)容: 一、嵌入式實(shí)時(shí)系統(tǒng)架構(gòu)簡介和優(yōu)勢 二、Basic程序簡單介紹 三、和PC程序的互動方式 四、Basic程序的掃描頻率和如何實(shí)現(xiàn)恒定頻率掃描


嵌入式實(shí)時(shí)系統(tǒng)架構(gòu)簡介和優(yōu)勢

正運(yùn)動的ZMC系列控制器全部是獨(dú)立式控制器,可以脫離上位機(jī)像PLC一樣獨(dú)立工作的。自帶嵌入式實(shí)時(shí)系統(tǒng),可以像PLC一樣實(shí)現(xiàn)高速的邏輯響應(yīng)和IO響應(yīng),這樣的架構(gòu)是進(jìn)口運(yùn)動控制器的標(biāo)準(zhǔn)架構(gòu)。

進(jìn)口控制器這么設(shè)計(jì)是因?yàn)檫@樣的架構(gòu)有多種好處:

1)任務(wù)調(diào)度更簡單,實(shí)時(shí)性更好

Windows是屬于GPOS(General Purpose OS),考慮多種用戶需求,調(diào)度策略(dispatch algorithm)非常復(fù)雜,既要考慮前臺響應(yīng)速度又要顧及后臺響應(yīng)能力,既要考慮復(fù)雜任務(wù)的計(jì)算效率,又要考慮簡單任務(wù)的響應(yīng)速度,所以盡管Windows非常強(qiáng)大,可以運(yùn)行復(fù)雜的算法,可以運(yùn)行復(fù)雜的語言和函數(shù),但很多時(shí)候不適合用來處理需要實(shí)時(shí)響應(yīng)的任務(wù)(打開任務(wù)管理器,看看Windows上有多少進(jìn)程、多少線程,就可以想象Windows調(diào)度有多么復(fù)雜了)。所以在高實(shí)時(shí)性場合一般會使用實(shí)時(shí)系統(tǒng)(RTOS),而不用GPOS。(IOS和Android都屬于RTOS,并且嚴(yán)格限制后臺進(jìn)程,來保證和用戶交互的響應(yīng)速度。Windows CE也屬于RTOS)。

正運(yùn)動控制器通過使用更簡單的調(diào)度策略(分時(shí)調(diào)度,犧牲一些計(jì)算效率),使用精簡指令(不使用復(fù)雜的帶類的面向?qū)ο蟮恼Z言),實(shí)時(shí)性能就比Windows好很多,而且很容易實(shí)現(xiàn)多任務(wù)(Task)并行處理,所以,在需要實(shí)時(shí)響應(yīng)的場合就不再需要運(yùn)動控制器+PLC的組合方式,一個(gè)控制器搞定全部,沒有數(shù)據(jù)通訊的麻煩,簡單高效。

2)減輕PC計(jì)算壓力,在消耗大量計(jì)算資源的應(yīng)用例如缺陷檢測中優(yōu)勢更明顯。

把邏輯控制和運(yùn)動控制全部使用Basic語言下載入控制器內(nèi),視覺處理留在PC,最大化減輕PC計(jì)算壓力。

3)開發(fā)調(diào)試更簡便。

Basic指令更簡潔、更清晰,開發(fā)速度更快。

即使不使用Basic寫程序,在PC上寫程序,通過Zdevelop開發(fā)調(diào)試工具也可以通過“軸參數(shù)”或者“在線命令”方便的查看當(dāng)前各個(gè)參數(shù)狀態(tài);可以通過“在線命令”實(shí)時(shí)修改參數(shù);可以通過“示波器”查看速度曲線.......

(關(guān)于Zdevelop的詳細(xì)內(nèi)容可以參考光盤資料中的入門文檔或者教學(xué)視頻。)

Basic程序簡單介紹

正運(yùn)動控制器內(nèi)部運(yùn)行的程序主要是Basic程序,語法和VB一致,但比VB更簡單,對于軟件工程師來說非常友好。并且為了讓客戶使用更簡單,不需要定義數(shù)據(jù)類型,任意賦值自動判斷。甚至文件內(nèi)變量和局部變量都不需要定義(只有全局變量需要),編譯器自動判斷,最終的結(jié)果是,非常容易上手,開發(fā)更快,不容易出錯(cuò)。

Zdevelop開發(fā)工具可以進(jìn)入調(diào)試模式,單步運(yùn)行,觀察任務(wù)狀態(tài)、全局變量和局部變量。程序中可以方便的插入Print(等同于?操作符)指令把字符串或者變量輸出到終端方便Debug(相當(dāng)于C語言中的printf)。

正運(yùn)動控制器支持多任務(wù)(多線程),但創(chuàng)建多線程要比Windows程序簡單的多,可以非常方便的實(shí)現(xiàn)多任務(wù)并行運(yùn)行。

可以通過ticks或者timer等方式實(shí)現(xiàn)恒定頻率掃描程序。

(更多詳細(xì)內(nèi)容請參考ZBasic幫助手冊。)

這樣的架構(gòu),使正運(yùn)動控制器不僅支持像其他國產(chǎn)控制器一樣完全在PC上調(diào)用函數(shù)來控制,也支持完全把運(yùn)動控制和邏輯控制用Basic寫在控制器里,也支持部分程序?qū)懺诳刂破骼铮糠殖绦驅(qū)懺赑C上,充分發(fā)揮各自的優(yōu)勢,非常消耗CPU計(jì)算能力的復(fù)雜算法放在PC上,簡單的對響應(yīng)速度要求很高的放在控制器上,兩者可以通過全局變量、Table、VR變量等方式來交換數(shù)據(jù),Basic程序也可以向PC程序主動上報(bào)信息(PC程序中需要部署回調(diào)函數(shù),不熟悉GC回收的話不建議這樣使用)。

和PC程序的互動方式

下面就是因?yàn)槭褂眠@種獨(dú)特架構(gòu)帶來的其他國產(chǎn)控制器廠商所沒有的交互方式和獨(dú)有的函數(shù):

控制器上的Basic程序可以通過指定一個(gè)自動運(yùn)行號,讓這個(gè)任務(wù)上電自動運(yùn)行,并且適當(dāng)?shù)臅r(shí)候調(diào)用其它任務(wù)(調(diào)用其他程序文件或者sub子程序)。也可以在合適的時(shí)機(jī)由PC程序發(fā)送Basic字符串指令來運(yùn)行某個(gè)任務(wù),例如控制器上有一個(gè)文件叫“BasicInit.bas ”,那么可以調(diào)用ZAux_Execute函數(shù)發(fā)送字符串(run “BasicInit ”)來運(yùn)行起來這個(gè)文件,讓它以一個(gè)任務(wù)(線程)的方式運(yùn)行起來。

Table是控制器上的超大一維數(shù)組,VR也是一維數(shù)組,但VR變量是掉電保存的,是存在電池備份內(nèi)存上的,訪問速度又快,用不用擔(dān)心掉電丟失。具體的介紹可以參考ZBasic幫助文檔的第一章。

一方面不論控制器上Basic還是PC上的函數(shù)(如ZAux_Direct_SetTable)都可以共同訪問修改Table和VR變量,把table等作為控制器和PC共享buffer,實(shí)現(xiàn)大量數(shù)據(jù)異步交換,實(shí)現(xiàn)最大計(jì)算效率。另一方面PC還同時(shí)可以訪問用戶在Basic中定義的全局變量(例如global UsrVar),例如使用ZAux_Direct_GetVariableInt,但如果想要修改自定義全局變量的話就需要調(diào)用函數(shù)ZAux_DirectCommand發(fā)送(”UsrVar= 0 ”)這樣的字符串。

Basic程序運(yùn)行完畢后,如果想要主動通知PC程序,而不是等待PC查詢,可以在PC程序中部署回調(diào)函數(shù),PC不再需要輪詢查詢(如果不熟悉GC回收,不建議使用回調(diào)函數(shù))。

目前PC上的函數(shù)已經(jīng)很豐富了,但如果還是想要訪問控制器Basic支持的,而PC函數(shù)暫時(shí)不支持的軸參數(shù)(例如AXIS_STOPREASON)可以ZAux_Direct_SetParam和ZAux_Direct_GetParam來訪問。

如果想要一次讀取或者設(shè)置大量的IO變量、大量的位置狀態(tài),可以使用輸入輸出函數(shù)中帶modbus前綴的函數(shù),如GetModbusIn,這樣命名是因?yàn)樵诳刂破鲀?nèi)部有些modbus寄存器映射到這些地址上了(GetModbusIn只反應(yīng)IO的真實(shí)狀態(tài),反轉(zhuǎn)指令無效。如果需要反轉(zhuǎn)之后的狀態(tài),需要使用ZAux_Direct_GetInMulti)。

備注1, 具體某個(gè)型號的控制器有多少Table和VR變量,支持多少任務(wù)(Task),都可以使用ZDevelop在“在線命令”中輸入?*max來查看。)

備注2, PC函數(shù)中DirectCommand和Execute的用法一致,都是通過PC發(fā)送一個(gè)控制器支持的Basic字符串指令,但DirectCommand運(yùn)行速度更快,盡量使用DirectCommand,經(jīng)測試,DirectCommand大多沒有返回字符串,所以參數(shù)中的最后一個(gè)返回的字符串長度可以設(shè)置為0,Execute發(fā)送的指令出錯(cuò)后,第三個(gè)參數(shù)可以返回錯(cuò)誤信息,想要顯示的話可以用System.Text.Encoding.ASCII.GetString把byte數(shù)組轉(zhuǎn)化為字符串(可以參考C#例程“例程8-功能測試”)。DirectCommand和Execute函數(shù)本身返回?cái)?shù)值,正常運(yùn)行則為0,不正常則返回非零值,所以在多數(shù)場合可能只要判斷返回值就可以了,不需要去查看返回字符串。


Basic程序的掃描頻率和如何實(shí)現(xiàn)恒定頻率掃描

用過PLC的客戶往往對正運(yùn)動控制器嵌入式系統(tǒng)的掃描頻率有疑問,正運(yùn)動控制器和PLC不一樣的地方是沒有標(biāo)準(zhǔn)的任務(wù)可供客戶使用來實(shí)現(xiàn)恒定頻率掃描,但可以自己寫程序使用多種方式讓控制器內(nèi)的Basic任務(wù)實(shí)現(xiàn)恒定頻率掃描。

正運(yùn)動控制器自帶的嵌入式實(shí)時(shí)系統(tǒng)運(yùn)行方式和Windows程序比較相似的是如果沒有人為約束,沒有恒定的掃描頻率,CPU有空閑就去運(yùn)行用戶程序,最大化利用CPU資源,所以除去固件運(yùn)行所占用的時(shí)間和EtherCAT主站計(jì)算所占用的時(shí)間,剩下的全是用戶程序的運(yùn)行時(shí)間。用戶的程序越短,掃描頻率越高。所以,雖然系統(tǒng)的中斷周期一般為1ms或者0.5ms,但如果程序足夠短,它在一個(gè)中斷周期內(nèi)會運(yùn)行很多次(具體數(shù)量取決于客戶程序),可能超過大多數(shù)客戶的需求(不同系列控制器CPU速度不一樣)。

當(dāng)一個(gè)任務(wù)需要很高的實(shí)時(shí)性時(shí),推薦把這部分任務(wù)單獨(dú)放入一個(gè)Task內(nèi),代碼行數(shù)盡量短,那么它的掃描頻率就非常高。對實(shí)時(shí)性要求不高的就和其它一起合并放入一個(gè)大的任務(wù)(Task)。

如何計(jì)算當(dāng)前任務(wù)的掃描時(shí)間?

使用Ticks,賦予Ticks一個(gè)初始化值,每過1ms系統(tǒng)就會減一,可以用于計(jì)算掃描時(shí)間,例如:

(注意,ticks是屬于單個(gè)任務(wù)的變量,不是全局變量)

如何以恒定頻率掃描程序?

1)使用Ticks:

2)使用硬件時(shí)鐘Timer:

需要注意的是所有硬件時(shí)鐘中斷任務(wù)的處理任務(wù)(Task)只有1個(gè),所以如果使用了多個(gè)硬件時(shí)鐘中斷,并且執(zhí)行時(shí)間比較長,推薦把相關(guān)代碼放入另外一個(gè)程序文件里,run這個(gè)程序文件,不要讓中斷程序獨(dú)占當(dāng)前task。

備注:

1)關(guān)于程序(Program)和任務(wù)(Task),任務(wù)和PC上的線程比較相似,并行運(yùn)行,可以共享全局變量。一個(gè)程序文件(Program)可以被run起來多個(gè)Task(多個(gè)instance),所以在上面的示例注釋中寫著要小心不要run起來多個(gè)Task,把Timer_Start放入中斷程序結(jié)尾。(可以在調(diào)試模式下觀察現(xiàn)在有幾個(gè)task在運(yùn)行)

2)因?yàn)榭刂破魇褂昧藢?shí)時(shí)系統(tǒng),所以要使用循環(huán)掃描,可以很安全的使用while 1,這個(gè)Task的時(shí)間片用完后就會切換任務(wù),不用擔(dān)心控制器資源都被鎖死在當(dāng)前任務(wù)。




下一篇: PLC、DCS、FCS三大控

上一篇: MATLAB和Simulink在航

推薦產(chǎn)品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        亚洲综合久久av| 91精品国产福利在线观看| 91视频国产资源| voyeur盗摄精品| y111111国产精品久久婷婷| 成人3d动漫一区二区三区91| 国产高清一区视频| 蜜桃传媒视频第一区入口在线看| 麻豆亚洲一区| 在线观看欧美亚洲| 日韩欧美国产不卡| 国产精品理伦片| 五月天国产精品| 国产精品一区二区免费不卡| 不卡区在线中文字幕| 国产在线欧美日韩| 一本一道综合狠狠老| 日韩一卡二卡三卡四卡| 中文字幕在线观看不卡| 天天色综合天天| 成人综合在线视频| 欧美日韩国产三区| 欧美女孩性生活视频| 国产天堂亚洲国产碰碰| 亚洲高清在线视频| 成人精品高清在线| 免费亚洲精品视频| 欧美疯狂做受xxxx富婆| 国产精品久久久久一区二区三区共| 亚洲第一二三四区| 99久久久久久99| 五月天丁香综合久久国产| 在线播放欧美女士性生活| 一区在线观看免费| 国产美女主播视频一区| 韩日午夜在线资源一区二区| 欧美亚洲自拍偷拍| 成人免费在线播放视频| 国产自产2019最新不卡| 蜜桃免费一区二区三区| 3d成人h动漫网站入口| 一区二区三区欧美视频| 处破女av一区二区| 一本色道久久加勒比精品| 久久精品亚洲国产奇米99 | 日韩国产精品大片| 91在线视频观看| 色综合久久88色综合天天6| 久久久蜜臀国产一区二区| 日本三级韩国三级欧美三级| 国产一区视频观看| 欧美一级在线免费| 日本欧美一区二区三区乱码| 国产福利不卡| 日韩视频在线永久播放| 日一区二区三区| 精品亚洲欧美日韩| 精品人伦一区二区色婷婷| 视频精品一区二区| 免费av在线一区二区| 欧美成人性福生活免费看| 天堂蜜桃91精品| 久久99久久精品国产| 精品捆绑美女sm三区| 精品一区二区国语对白| 欧洲精品在线一区| 中文字幕人成不卡一区| 91看片淫黄大片一级| 日韩一区二区电影| 国产真实精品久久二三区| 亚洲国产精品123| 亚洲色图在线播放| 成人免费视频观看视频| 26uuu国产一区二区三区| 国产福利一区二区三区视频在线 | 欧美日韩mp4| 亚洲成va人在线观看| 久久久久久久久一区二区| 久久久国际精品| 成人福利视频在线看| 欧美日韩一区二区三区视频| 日韩电影在线观看网站| 午夜一区二区三视频在线观看| 中文字幕综合网| 国产精品日韩一区二区| www激情久久| 成人久久视频在线观看| 4438x亚洲最大成人网| 国精产品一区一区三区mba桃花| 在线电影看在线一区二区三区| 亚洲影视资源网| 日韩精品久久久免费观看| 日韩理论片中文av| 狠狠色综合一区二区| 亚洲天堂免费在线观看视频| 国产女主播一区二区| 日本一区二区三区高清不卡| 俄罗斯精品一区二区| 国产女人18毛片水真多成人如厕 | 99精品欧美一区二区三区小说| 88在线观看91蜜桃国自产| 精品在线免费视频| 欧美狂野另类xxxxoooo| 成人小视频免费观看| 精品久久99ma| 91精品国产一区二区三区动漫| 国产日产精品1区| 国产精品 日韩| 亚洲男人的天堂一区二区| 日本在线视频不卡| 青椒成人免费视频| 欧美电影一区二区| 97久久精品人人做人人爽50路| 欧美精彩视频一区二区三区| 精品欧美日韩| 亚洲成人你懂的| 欧美日韩一区二区三区在线| 国产·精品毛片| 国产农村妇女毛片精品久久麻豆 | 国产精品免费一区二区三区| 国产精品国产自产拍高清av| 欧美重口乱码一区二区| 奇米精品一区二区三区在线观看一| 欧美区视频在线观看| 波多野结衣中文字幕一区| 国产欧美一区二区在线| 免费在线观看91| 麻豆免费精品视频| www国产成人| 日韩精品一区二区三区色偷偷| 麻豆精品一区二区综合av| 26uuu国产日韩综合| 欧美精品一区二区三区久久| 麻豆高清免费国产一区| 久久麻豆一区二区| 日本黑人久久| 国产毛片精品视频| 中文字幕在线不卡一区| 欧洲一区在线电影| 97人人澡人人爽| 午夜精品一区二区三区三上悠亚| 在线电影一区二区三区| 国产欧美一区二区三区另类精品| 午夜久久福利影院| 久久综合狠狠综合久久综合88 | 亚洲精品视频一二三| 处破女av一区二区| 一区二区国产视频| 欧美变态口味重另类| 日韩成人av电影在线| 国产馆精品极品| 亚洲一区在线视频观看| 51精品视频一区二区三区| 久久精品国产一区二区三区不卡| 久草中文综合在线| 亚洲色图色小说| 精品国产乱码久久久久久影片| 欧美婷婷久久| 99亚偷拍自图区亚洲| 午夜亚洲国产au精品一区二区| 久久蜜桃一区二区| 欧美曰成人黄网| 欧美日韩在线观看一区| 成人小视频免费在线观看| 亚洲成人一区在线| 国产精品久久久久三级| 欧美一区二区三区在| 色狠狠综合天天综合综合| 国产精品精品软件视频| 精品中文字幕一区二区小辣椒| 亚洲另类春色校园小说| 欧美tk—视频vk| 欧美日韩小视频| 亚洲国产婷婷香蕉久久久久久99| 91麻豆免费看| 国产大陆精品国产| 伦理电影国产精品| 偷偷要91色婷婷| 夜色激情一区二区| 国产精品美女久久久久久2018| 日韩一级黄色大片| 欧美综合欧美视频| 亚洲日本无吗高清不卡| 欧美xxxx黑人又粗又长密月| av中文字幕不卡| 国产精品影视天天线| 蜜臀av性久久久久蜜臀aⅴ流畅 | 色94色欧美sute亚洲线路二 | 国产一区91精品张津瑜| 偷拍与自拍一区| 亚洲精品视频自拍| 国产精品久久久久四虎| 国产无人区一区二区三区| 日韩一区二区三区观看| 欧美高清激情brazzers| 欧美日韩在线不卡| 欧美日韩aaa| 欧美区视频在线观看| 欧美专区在线观看一区| 一区二区视频国产|