PLC的數(shù)據(jù)類型&&尋址方式 (這個地方要分清楚,,PLC的存儲空間大?。ㄎ蛔止?jié)字雙字BIT BYTE WORD DWORD)、儲存器類型(西門子DIDQAIAQMSMVLTCHTHC區(qū),;三菱XYMDTCRVZ區(qū)),、數(shù)據(jù)類型(INT16 DINT32 REAL STRING WORD16 DWORD32 BOOL TIME DATE CHAR8 BYTE8 ))PLC STEP7中常數(shù)的表達方式(K10,H16,O8,BCD)三菱中的D0是16位的,兩個字節(jié),。M0是1位,。西門子1200中的則全是M區(qū),用MB/MW /MD來表示8位16位32位PLC(Programmable Logic Controller),,可編程邏輯控制器,。工業(yè)控制用的計算機。其基本構成有 電源,、CPU,、儲存器、輸入單元,、輸出單元,、通信接口、擴展接口,。a)電源:PLC供電,,可以是220VAC或者24VDC,CPU處理單元所需要的電源為5VDC,。b)CPU(中央處理單元),,包含了控制器、運算器,、寄存器。c)存儲器是之具有記憶功能的半導體電路,,可以存放系統(tǒng)程序,、用戶程序、邏輯變量,。分為ROM(Read Only Memory 系統(tǒng)存儲區(qū))和RAM(Random Access Memory),。i.ROM存儲區(qū)分為系統(tǒng)管理程序、用戶程序編輯以及指令解釋程序,、子程序調(diào)用及管理程序ii.RAM存儲區(qū)包括用戶程序存儲區(qū)和數(shù)據(jù)存儲區(qū),,分別用來放置用戶程序和程序執(zhí)行過程中各點的ON/OFF狀態(tài)量,。用戶存儲區(qū)的數(shù)據(jù)可讀可寫執(zhí)行。采用的材質(zhì)為CMOS RAM或者EPRAM和EEPRAM,。容量一般以“字”為單位(16個位為1字,,8個位為1字節(jié))。所以我認為建議編程的時候使用偶數(shù)編程d)輸入單元是指接收信號的單元,,檢測信號傳來的信息并且將其轉(zhuǎn)化為高低電平的數(shù)字量信號,。(分為開關量和模擬量,模擬量通常采用A/D轉(zhuǎn)換電路,,把模擬量轉(zhuǎn)換成數(shù)字量,。數(shù)字量采用的接口電路比較多,分為內(nèi)部直流輸入(12V或者24V),、外部交流輸入(100-120V,、200-240V)、外部交直流輸入,、與信號輸出相連的輸入電路,。)(交流輸入、直流輸入,、源型漏型,、共陰極共陽極、外界信號輸出接PLC輸入單元(PNP,NPN))e)輸出單元指將CPU處理之后的弱電信號轉(zhuǎn)化為電平信號,。(電平信號是指設備輸出信號和輸入信號的功率比然后取對數(shù)值,,通常用P表示,P=lgP2/P1,。)(輸出接口分為開關量和模擬量,。模擬量接口通常通過D/A轉(zhuǎn)換電路,數(shù)字量轉(zhuǎn)換成模擬量,,數(shù)字量輸出電路形式比較多,,有繼電器輸出、晶體管輸出(PNP,,NPN),、晶體閘輸出。)f)通信接口,,和監(jiān)視器,、打印機、其他PLC,、計算機等設備實現(xiàn)通訊,。g)擴展接口,給PLC增加一些專用功能模塊,比如高速計數(shù)模塊,、閉環(huán)控制模塊,、運動控制模塊、中斷控制模塊,。PLC通電→內(nèi)部處理→通信處理→自診斷→輸入采樣→用戶程序執(zhí)行→輸出刷新→PLC采用周期循環(huán)掃描的方式,,集中輸入集中輸出。優(yōu)點是:可靠性高,、抗干擾能力強,。缺點是:響應速度慢、響應滯后,。PLC會采用WDT(看門狗)來監(jiān)視掃描是否超過預定時間,。內(nèi)部自處理:包括硬件初始化、I/O模塊配置檢查,、停電保護范圍設定等等,。在自診斷測試階段,CPU檢測PLC各模塊的狀態(tài),,若出現(xiàn)異常立即進行診斷和處理,,同時給出故障信號,點亮CPU面板上的LED指示燈,。當出現(xiàn)致命錯誤時,,CPU被強制為STOP方式,停止執(zhí)行程序,。CPU的自診斷測試將有助于及時發(fā)現(xiàn)或提前預報系統(tǒng)的故障,,提高系統(tǒng)的可靠性。通信處理階段:PLC和自身帶有CPU的智能模塊以及其他外部設備進行通信,,完成數(shù)據(jù)的收發(fā),,響應編程器的命令,更新編程器顯示的內(nèi)容,,更新時鐘以及特殊寄存器的內(nèi)容,。在通信處理階段,CPU檢查有無通信任務,,如果有則調(diào)用相應進程,,完成與其他設備(例如,帶微處理器的智能模塊,、遠程I/O接口,、編程器、HMI裝置等)的通信處理,,并對通信數(shù)據(jù)做相應處理。(自診斷→輸入采樣→用戶程序執(zhí)行→輸出刷新→)為一個掃描周期輸入采樣階段:掃描所有的輸入端子并且將其的狀態(tài)(0/1)存放到輸入寄存器(PII)中。然后關閉輸入通道,,進行下一步程序,。這種方式可靠性高,但是會有一定的時間延遲,,在大型的項目中,,由于時間的關系,可能會采取定期輸入取樣,、直接輸入取樣,、中斷輸入取樣、智能I/O接口模塊取樣,,用來提高速度,。用戶程序執(zhí)行階段:此階段中,數(shù)據(jù)從輸入寄存器(PIQ)和內(nèi)部元件寄存器(內(nèi)部繼電器,、計數(shù)器,、計時器)中,將有關元件的狀態(tài)和數(shù)據(jù)取出,,按照程序中的邏輯運算和算術運算,,將結果寫到輸出映像寄存器和相關存儲器中。所以,,在PLC內(nèi)部,,內(nèi)部元件寄存器的狀態(tài)是一直在改變的。輸出處理階段:程序執(zhí)行完成后,,把內(nèi)部元件寄存器中的所有輸出繼電器狀態(tài)在輸出階段一次型轉(zhuǎn)存到輸出鎖存器中,,經(jīng)過隔離、驅(qū)動功率放大電路輸送到輸出端,,并且外部PLC接線驅(qū)動實際負載,。輸入輸出滯后時間:該時間又稱為系統(tǒng)響應時間,包括輸入電路濾波時間,、輸出電路滯后時間,、因掃描工作方式產(chǎn)生的滯后時間。PLC的響應延遲一般是幾毫秒-幾十毫秒,,對于一般的系統(tǒng)沒有影響,。如果需要時間短的系統(tǒng),我們可以采用掃描速度快的PLC或者采取中斷等措施,。a)輸入電路濾波時間,。主要是由于外部傳入的信號可能存在噪音干擾、尖峰電壓,、外部抖動會影響我們的輸入信號,。所以使用RC濾波電路(利用電壓源和電流源驅(qū)動電容和電阻組成的電路)和光耦合器(在輸入側采用光耦來切斷內(nèi)部與外部線路電氣上的聯(lián)系)來消除這些影響,。濾波電路的時間常數(shù)決定了濾波時間的長短。b)輸出模塊電路滯后時間:與類型有關,,繼電器輸出模塊的之后時間一般為10ms,,雙向晶閘管的滯后時間為1ms-10ms,晶體管的滯后時間為1ms以下,。c)由掃描工作方式引起的滯后時間:最長可以達到2-3個掃描周期,。 硬件內(nèi)部的數(shù)據(jù)處理是按照二進制進行的
負數(shù)的處理,也是以二進制的補碼來實現(xiàn)的在三菱FX系列中,,輸入繼電器,、輸出繼電器的軟元件編號都是X0~X7 Y010~Y017 BCD碼(BCD: BINARY CODE DECIMAL)BCD碼就是將10進制的數(shù)字,用二進制的形式表示出來,,比方說10的BCD碼就是 0001 0000實數(shù)(浮點數(shù)數(shù)據(jù))在三菱FX系列中,采用二進制進行實數(shù)運算,,采用10進制進行實數(shù)監(jiān)控字符長度位8位,,所以 D100(16位)可以代表兩個字符字符串的數(shù)據(jù),從指定的位置開始(D100或者M100開始都可以),,當碰到OOH代碼(也就是NULL代碼,,需要16位)的時候,表示字符串結束,,如果沒有碰到OOH或者只碰到一般,,是不會檢測到字符串結束的。三菱FX系列中位的位數(shù)的指定(KnX0 ………)像X Y S M 這些處理ON/OFF信息的軟元件是位軟元件像T C D R 這些處理數(shù)值信息的軟元件是字軟元件但是,,我們的位軟元件經(jīng)過組合也可以當做字來使用,。以位數(shù)Kn和起始軟元件的編號的位數(shù)為4位單元,K1K4表示16位,;K1k8表示32位(位(BOOL)→字節(jié)(BYTE)→字(WORD)/整數(shù)(INT)→雙字(DWORD)/雙整數(shù)(DINT)/浮點數(shù)(REAL))1個ttl電平信號為1位,;8個位為一個字節(jié);2個字節(jié)為1個字,;2個字為1個雙字,。字節(jié)的范圍為 0—255,;0-FF;相鄰的8個為(0-7)(IB1=I1.0~I1.7)字的范圍為 0—65535,;0000-FFFF,;相鄰的兩個字節(jié)(IW2=IB2+IB3)雙字的范圍為 0—2的32次方;00000000-FFFFFFFF,;相鄰的兩個字(ID4=IW4+IW6=IB4+IB5+IB6+IB7)尋址方式有按位尋址,、按字節(jié)尋址,、按字尋址、按雙字尋址按位尋址:I0.0 I0.1 I0.2 I1.5 I2.7 I2.8(錯誤)按字節(jié)尋址:VB0 VB1 VB2 VB3… (間隔為1)按字尋址:VW0 VW2 VW4 VW6 VW32…(間隔為2)按雙字尋址:VD0 VD4 VD8 VD32….(間隔為4)西門子的數(shù)據(jù)存儲類型是高字低位,。怎么理解,?M100.7/6/5/4/3/2/1/0M101.7/6/5/4/3/2/1/0M102.7/6/5/4/3/2/1/0 M103.7/6/5/4/3/2/1/0其中,M103.0就是高字節(jié)的低位,;M100.7就是低字節(jié)的高位三菱的數(shù)據(jù)存儲類型是高字高位。怎么理解,?(存儲從右往左依次增大)D101. F/E/D/C/B/A/9/8/7/6/5/4/3/2/1/0D100.F/E/D/C/B/A/9/8/7/6/5/4/3/2/1/0其中,,D101.F就是高字節(jié)的高位;D100.0就是低字節(jié)的低位V存儲器(變量存儲器),一般用來存放邏輯的中間結果,,很常見,。M存儲器(標志存儲器),一般用來標志,。不常用,。MB0-MB13 這14個字節(jié)存儲SM存儲器(系統(tǒng)存儲器):在F1幫助中可以查看,,或WIN中符號表中有S7-200指令SM0.1:首次掃描的時候打開,用于初始化程序,。SM0.5:時鐘脈沖,,0.5s閉合,0.5s打開,。L存儲區(qū)(局部存儲區(qū)):V存儲區(qū)為全局有效,,而L存儲區(qū)只是在局部有效。局部存儲區(qū)需要CPU進行動態(tài)分配,,當中斷程序或者調(diào)用一個子程序的時候,,CPU會分配局部存儲器給中斷程序或者子程序。另外,,局部存儲區(qū)在分配的時候需要進行初始化,,因為給的數(shù)據(jù)是隨機的。AC寄存器(累加寄存器):可以向子程序傳遞參數(shù),,儲存計算的中間結果,。S7-200中提供了4個32位累加器(AC0 AC1 AC2 AC3)。話外:S7-300中的寄存器有:ACCUx累加寄存器 ,、 AR1/AR2地址寄存器,、 數(shù)據(jù)塊寄存器,、狀態(tài)字S7-300中的存儲區(qū)有:I/Q 輸入輸出過程映象區(qū)、M(位存儲區(qū)),、T定時器,、C計時器、PQ/PI 立即訪問輸出輸入模塊,、 DB共享數(shù)據(jù)塊,、 DI 背景數(shù)據(jù)塊、 L局部數(shù)據(jù)系統(tǒng)要求3個按鈕控制正反轉(zhuǎn)和停轉(zhuǎn),,并且要求對電動機進行過載保護,,另外正反轉(zhuǎn) 自鎖和互鎖2.確定輸入輸出設備,并且為其分配相應的I/O端子正轉(zhuǎn)控制,、反轉(zhuǎn)控制、停轉(zhuǎn)控制,、過載保護6.安裝系統(tǒng)控制線路,,并且進行現(xiàn)場調(diào)試程序調(diào)試好之后,現(xiàn)場調(diào)試,。(硬件問題&&軟件問題)STEP7中常數(shù)值可以是字節(jié),、字、雙字,,CPU是使用二進制方式儲存常數(shù)的,。在STEP7中,常數(shù)也可以使用十進制,、十六進制,、ASCII碼、浮點數(shù)等格式進行表示,。B#W16,、W#16#、DW#16# 表示 16進制字節(jié)常數(shù),、16進制字常數(shù),、 16進制雙字常數(shù)C#表示16位計數(shù)器常數(shù)(BCD碼)ASCII字符使用單引號’’表示,每個ASCII碼占用一個字節(jié)
|