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