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