EASYV1.00嵌入式PLC的基本原理(二)
內(nèi)存管理
esayv1.00的運(yùn)行數(shù)據(jù)空間包括64k外部ram+256字節(jié)cpuram,將其分解為系統(tǒng)占用區(qū)、plc資源區(qū)、用戶嵌入數(shù)據(jù)區(qū)三部分。
① 系統(tǒng)占用區(qū)
系統(tǒng)占用區(qū)是easyv1.00運(yùn)行時(shí),進(jìn)行數(shù)據(jù)緩存、狀態(tài)保持、系
統(tǒng)堆棧等不對(duì)plc及用戶開設(shè)的域區(qū)。這部分?jǐn)?shù)據(jù)區(qū)的初始化運(yùn)行中的監(jiān)視都由實(shí)時(shí)os管理,plc及用戶嵌入程序不得非法侵入。
②plc資源區(qū)
梯形圖語(yǔ)言管理的數(shù)據(jù)區(qū)包括位區(qū)、字區(qū)兩部分。通常以元件形式體現(xiàn)。
<a>輸入繼電器x:x0-x177 128點(diǎn)位型
<b>輸出繼電器y:y0-y177 128點(diǎn)位型
<c>中間繼電器m:m0-m1535 1536點(diǎn)位型
<d>專用中間繼電器m8000-m8255 256點(diǎn)位型
<e>狀態(tài)繼電器s:s0-s999 1000點(diǎn)位型
<f>時(shí)間繼電器t:t0-t255 256點(diǎn)位型+字型
<g>計(jì)數(shù)器c:c0-c255 256點(diǎn)位型+字型
<h>通用數(shù)據(jù)寄存器d:d0-d7999 8000個(gè)字型
<i>專用數(shù)據(jù)寄存器d:d8000-d8255 256個(gè)字節(jié)
所有plc資源是梯形圖運(yùn)行時(shí)進(jìn)行數(shù)據(jù)存取的區(qū)域,是終端應(yīng)用層可視化區(qū)域,用戶嵌入的驅(qū)動(dòng)程序,可使用對(duì)應(yīng)元件的絕對(duì)地址進(jìn)行存取,實(shí)現(xiàn)了嵌入程序與plc梯形圖之間的數(shù)據(jù)交換。
③用戶嵌入數(shù)據(jù)區(qū)
當(dāng)用戶以easyv1.00內(nèi)核設(shè)計(jì)各種嵌入系統(tǒng)時(shí),需針對(duì)具體硬件做必要的驅(qū)動(dòng)程序,該部分程序的私有數(shù)據(jù)存放于用戶嵌入數(shù)據(jù)區(qū),公有數(shù)據(jù)存放于plc的資源區(qū),用戶嵌入數(shù)據(jù)區(qū)分配如下:
cpu內(nèi)部:位區(qū)(bitram):20h-23h 4bytes
字節(jié)區(qū)(dram):58h-67h 16bytes
外部數(shù)據(jù)存取器:字節(jié)區(qū)(xram):3600h-3fffh 2560bytes
4、梯形圖語(yǔ)言
easyv1.00梯形圖語(yǔ)言是一種解釋性語(yǔ)言,每一條梯形圖語(yǔ)句對(duì)應(yīng)一個(gè)固定的函數(shù)調(diào)用,逐句掃描直至end為一個(gè)掃描周期,easyv1.00支持86條梯形圖指令。
5、easyv1.00通信
easyv1.00內(nèi)核包括串口0、串口1、canbus三個(gè)通信接口,每個(gè)接口均定制了相應(yīng)的通信協(xié)議,適用于不同的應(yīng)用場(chǎng)合。
①串口0
l 用戶嵌入程序下載
在編程狀態(tài)下,通過(guò)串口0下載用戶嵌入程序.
嵌入程序下載軟件為科威公司軟件downhex.
l梯形圖下載
在設(shè)置狀態(tài)下,通過(guò)串口0下載梯形圖程序.
下載工具軟件為科威公司軟件easywin或三菱公司軟件fxgp_win-c.
l 梯形圖程序監(jiān)控
在運(yùn)行狀態(tài)下,通過(guò)串口0連接人機(jī)界面(如hitech,eview,delta,三菱等)和計(jì)算機(jī),對(duì)梯形圖程序和控制參數(shù)進(jìn)行監(jiān)控.
②串口1
l 下載can網(wǎng)絡(luò)配置內(nèi)容
在設(shè)置(set)狀態(tài)下,下載can網(wǎng)絡(luò)配置內(nèi)容.
編輯下載can網(wǎng)絡(luò)配置軟件為科威公司軟件canset.
l rs485網(wǎng)絡(luò)連接端口
在運(yùn)行(run)狀態(tài)下,作為rs485主從式網(wǎng)絡(luò)的數(shù)據(jù)交換接口.
該接口網(wǎng)絡(luò)通信協(xié)議由內(nèi)核自動(dòng)加載,遵循該協(xié)議的子節(jié)點(diǎn)可自動(dòng)連入該網(wǎng)絡(luò).如運(yùn)動(dòng)控制器的擴(kuò)展鍵盤連接.
③canbus通信
easyv1.00內(nèi)核含canbus現(xiàn)場(chǎng)總線通信協(xié)議,在can2.0b基礎(chǔ)上,加載了專用的主從式結(jié)構(gòu)的高層協(xié)議,借助梯形圖語(yǔ)言,對(duì)canbus占用的plc資源進(jìn)行管理(canbus文件寄存器)即可實(shí)現(xiàn)canbus互連。(詳見《easy原理及應(yīng)用》)
6、函數(shù)調(diào)用
easyv1.00系統(tǒng)提供嵌入驅(qū)動(dòng)程序函數(shù)調(diào)用,為嵌入程序設(shè)計(jì)系統(tǒng)提供了easycore.lib函數(shù)庫(kù),用戶在嵌入時(shí),只要包含該文件(include easycore.lib)即可調(diào)用系統(tǒng)提供的各類應(yīng)用函數(shù),如整數(shù)、浮點(diǎn)數(shù)運(yùn)算,數(shù)據(jù)變換等函數(shù)。
7、用戶中斷系統(tǒng)
easyv1.00運(yùn)行在c8051f040cpu上時(shí),給用戶提供了13種中斷,如事件中斷、spi、iic、a/d、d/a、比較、捕獲等。
系統(tǒng)中斷入口地址重定向?yàn)閑000h開始的區(qū)域
adr=adr0+e000h
adr0---f040中斷入口地址