本書開篇簡(jiǎn)要地介紹了歐姆龍PLC的編程軟件與仿真軟件,包括CX-Programmer、CX-Simulator、CX-Designer及CX-One等軟件,然后講解了歐姆龍PLC的指令系統(tǒng)和識(shí)讀梯形圖的方法。本書重點(diǎn)介紹時(shí)序指令、定時(shí)器/計(jì)數(shù)器指令、數(shù)據(jù)指令、運(yùn)算指令、中斷指令、通信指令、塊指令及其他特殊指令等,同時(shí)配以大量的梯形圖編程實(shí)例,以幫助讀者熟練掌握相關(guān)指令和梯形圖的應(yīng)用。 本書內(nèi)容精練、通俗易懂,既可作為歐姆龍PLC編程人員的參考用書,也可作為高等院校相關(guān)專業(yè)的教學(xué)用書。
前 言
可編程控制器(Programmable Logic Controller,PLC)是專門應(yīng)用于工業(yè)環(huán)境的以計(jì)算機(jī)技術(shù)為核心的自動(dòng)控制裝置。經(jīng)過數(shù)十年的發(fā)展,PLC已經(jīng)集數(shù)據(jù)處理、程序控制、參數(shù)調(diào)節(jié)和數(shù)據(jù)通信等功能于一體,可以滿足工業(yè)控制中絕大多數(shù)應(yīng)用場(chǎng)合的需要。
歐姆龍PLC具有體積小、能耗低、可靠性高、抗干擾能力強(qiáng)、維護(hù)方便、便于改造等突出的優(yōu)點(diǎn),因此在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表等領(lǐng)域得到極為廣泛的應(yīng)用。
本書自第1版面市以來,因其具有簡(jiǎn)單的基礎(chǔ)知識(shí)介紹、翔實(shí)的指令系統(tǒng)講解、豐富的應(yīng)用實(shí)例示范、有針對(duì)性的實(shí)踐指導(dǎo)等特點(diǎn),得到了廣大讀者的認(rèn)可和喜愛。在本書第3版編寫過程中,作者根據(jù)讀者的建議和意見進(jìn)行了部分完善和充實(shí),修正了前兩版的錯(cuò)誤之處。
本書的第3版保留了前兩版的整體內(nèi)容架構(gòu),強(qiáng)化了歐姆龍PLC梯形圖的基礎(chǔ)知識(shí)介紹,并補(bǔ)充和完善了部分指令的經(jīng)典應(yīng)用范例內(nèi)容。本書延續(xù)了前兩版的內(nèi)容特點(diǎn),即從初學(xué)者的學(xué)習(xí)特點(diǎn)出發(fā),前面兩章分別介紹歐姆龍PLC編程軟件與仿真軟件,包括CX-Programmer、CX-Simulator、CX-Designer及CX-One等,PLC的指令系統(tǒng)和識(shí)讀梯形圖的方法,然后詳細(xì)介紹歐姆龍PLC的指令系統(tǒng)和編程指令,絕大多數(shù)指令都配以精心選擇的編程實(shí)例作為參照,由淺入深地介紹了歐姆龍PLC指令應(yīng)用的全過程。本版特別注重讀者對(duì)歐姆龍PLC指令的實(shí)際應(yīng)用方面的意見,在多個(gè)章節(jié)中增加了歐姆龍PLC指令的具體實(shí)際應(yīng)用范例,實(shí)現(xiàn)了歐姆龍PLC指令基礎(chǔ)含義解釋與其典型應(yīng)用實(shí)例講解的完美結(jié)合。
本書內(nèi)容精練,通俗易懂,講解詳細(xì)。通過對(duì)本書的學(xué)習(xí),讀者可以快速掌握歐姆龍PLC指令梯形圖語(yǔ)言的編程過程。本書既可作為歐姆龍PLC編程人員的參考用書,也可作為高等院校相關(guān)專業(yè)的教學(xué)用書。
本書由劉艷偉、張凌寒和張玉光編著。另外,參加本書編寫的還有李若谷、湯嘉立、葛祥磊、姚宗旭、劉洋洋、何世蘭、王闖、韓柯華、張玉梅和徐慧超。本書在編寫過程中參考了部分優(yōu)秀書籍的相關(guān)內(nèi)容,引用了其中的數(shù)據(jù)及資料,在此向相關(guān)書籍的作者表示衷心的感謝!
由于時(shí)間倉(cāng)促,梯形圖和其他圖表較多,受學(xué)識(shí)水平所限,錯(cuò)誤之處在所難免,敬請(qǐng)廣大讀者批評(píng)指正。
編 著 者
2017年9月
劉艷偉,曾在航天企業(yè)擔(dān)任設(shè)計(jì)師,中國(guó)電子學(xué)會(huì)會(huì)員,主要從事單片機(jī)、嵌入式系統(tǒng)、機(jī)電等專業(yè)的圖書編寫和教學(xué)指導(dǎo)工作,在計(jì)算機(jī)、電子、通信方面具有扎實(shí)的理論知識(shí)基礎(chǔ)和豐富的實(shí)踐開發(fā)能力,先后編撰《單片機(jī)應(yīng)用技術(shù)實(shí)例教程》、《嵌入式系統(tǒng)開發(fā)技術(shù)》、《LabVIEW入門與實(shí)踐開發(fā)100例》、《51單片機(jī)應(yīng)用開發(fā)范例大全》等優(yōu)秀教材和圖書,受到了廣大高校師生的贊譽(yù)。
第1章 PLC編程軟件與仿真軟件
1.1 編程軟件CX-Programmer
1.1.1 安裝CX-Programmer編程軟件
1.1.2 CX-Programmer編程軟件的主要功能
1.1.3 CX-Programmer編程軟件的使用
1.2 仿真軟件CX-Simulator
1.2.1 系統(tǒng)要求
1.2.2 軟件的使用
1.3 集成工具包CX-One
1.3.1 CX-One
1.3.2 CX-Designer
第2章 PLC指令系統(tǒng)及編程語(yǔ)言
2.1 基本概念
2.2 指令系統(tǒng)
2.2.1 基本指令
2.2.2 功能指令
2.3 編程語(yǔ)言
2.3.1 編程語(yǔ)言的基本特點(diǎn)
2.3.2 編程語(yǔ)言的形式
2.4 梯形圖編程語(yǔ)言
2.4.1 梯形圖程序設(shè)計(jì)語(yǔ)言的特點(diǎn)
2.4.2 梯形圖程序設(shè)計(jì)語(yǔ)言的組成元素
2.4.3 梯形圖程序的執(zhí)行過程
第3章 時(shí)序指令
3.1 時(shí)序輸入指令
3.1.1 讀/讀非
3.1.2 與/與非
3.1.3 或/或非
3.1.4 塊與
3.1.5 塊或
3.1.6 非
3.1.7 P.F.上升沿微分
3.1.8 P.F.下降沿微分
3.1.9 LD 型·位測(cè)試/LD型·位測(cè)試非
3.1.10 AND 型·位測(cè)試/AND LD 型·位測(cè)試非
3.1.11 OR 型·位測(cè)試/OR型·位測(cè)試非
3.2 時(shí)序輸出指令
3.2.1 輸出/輸出非
3.2.2 臨時(shí)存儲(chǔ)繼電器
3.2.3 保持
3.2.4 上升沿微分
3.2.5 下降沿微分
3.2.6 置位/復(fù)位
3.2.7 多位置位
3.2.8 多位復(fù)位
3.2.9 位置位/位復(fù)位
3.2.10 位輸出
3.3 時(shí)序控制指令
3.3.1 結(jié)束
3.3.2 無功能
3.3.3 互鎖/互鎖解除
3.3.4 多重互鎖(微分標(biāo)志保持型)/多重互鎖(微分標(biāo)志非保持型)/多重互鎖解除
3.3.5 轉(zhuǎn)移/轉(zhuǎn)移結(jié)束
3.3.6 條件轉(zhuǎn)移/條件非轉(zhuǎn)移/轉(zhuǎn)移結(jié)束
3.3.7 多重轉(zhuǎn)移/多重轉(zhuǎn)移結(jié)束
3.3.8 循環(huán)開始/循環(huán)結(jié)束
3.3.9 循環(huán)中斷
3.4 典型入門范例
第4章 定時(shí)器/計(jì)數(shù)器指令
4.1 定時(shí)器指令
4.1.1 定時(shí)器
4.1.2 高速定時(shí)器
4.1.3 超高速定時(shí)器
4.1.4 累計(jì)定時(shí)器
4.1.5 長(zhǎng)時(shí)間定時(shí)器
4.1.6 多輸出定時(shí)器
4.2 計(jì)數(shù)器指令
4.2.1 計(jì)數(shù)器
4.2.2 可逆計(jì)數(shù)器
4.2.3 定時(shí)器/計(jì)數(shù)器復(fù)位
4.3 典型入門范例
第5章 數(shù)據(jù)指令
5.1 比較指令
5.1.1 數(shù)據(jù)比較
5.1.2 時(shí)刻比較
5.1.3 無符號(hào)比較/無符號(hào)倍長(zhǎng)比較
5.1.4 帶符號(hào)BIN比較/帶符號(hào)BIN倍長(zhǎng)比較
5.1.5 多通道比較
5.1.6 表格一致性比較
5.1.7 無符號(hào)表格間比較
5.1.8 擴(kuò)展表格間比較
5.1.9 區(qū)域比較/倍長(zhǎng)區(qū)域比較
5.2 數(shù)據(jù)傳送指令
5.2.1 傳送/倍長(zhǎng)傳送
5.2.2 取反傳送/取反倍長(zhǎng)傳送
5.2.3 位傳送
5.2.4 十六進(jìn)制位傳送
5.2.5 多位傳送
5.2.6 塊傳送
5.2.7 塊設(shè)定
5.2.8 數(shù)據(jù)交換/數(shù)據(jù)倍長(zhǎng)交換
5.2.9 數(shù)據(jù)分配
5.2.10 數(shù)據(jù)抽取
5.2.11 變址寄存器設(shè)定
5.3 數(shù)據(jù)移位指令
5.3.1 移位寄存器
5.3.2 左/右移位寄存器
5.3.3 非同步移位寄存器
5.3.4 字移位
5.3.5 左移1位/倍長(zhǎng)左移1位
5.3.6 右移1位/倍長(zhǎng)右移1位
5.3.7 帶進(jìn)位左循環(huán)移位1位/帶進(jìn)位倍長(zhǎng)左循環(huán)移位1位
5.3.8 無進(jìn)位左循環(huán)移位1位/無進(jìn)位倍長(zhǎng)左循環(huán)移位1位
5.3.9 帶進(jìn)位右循環(huán)移位1位/帶進(jìn)位倍長(zhǎng)右循環(huán)稱位1位
5.3.10 無進(jìn)位右循環(huán)移位1位/無進(jìn)位倍長(zhǎng)右循環(huán)移位1位
5.3.11 十六進(jìn)制左移1位
5.3.12 十六進(jìn)制右移1位
5.3.13 N位左移1位
5.3.14 N位右移1位
5.3.15 N位左移/N位倍長(zhǎng)左移
5.3.16 N位右移/N位倍長(zhǎng)右移
5.4 數(shù)據(jù)轉(zhuǎn)換指令
5.4.1 BCDBIN轉(zhuǎn)換/BCDBIN倍長(zhǎng)轉(zhuǎn)換
5.4.2 BINBCD轉(zhuǎn)換/BINBCD倍長(zhǎng)轉(zhuǎn)換
5.4.3 2的單字求補(bǔ)碼/2的雙字求補(bǔ)碼
5.4.4 符號(hào)擴(kuò)展
5.4.5 416/8256解碼器
5.4.6 164/2568編碼器
5.4.7 ASCII代碼轉(zhuǎn)換
5.4.8 ASCIIHEX轉(zhuǎn)換
5.4.9 位列位行轉(zhuǎn)換
5.4.10 位行位列轉(zhuǎn)換
5.4.11 帶符號(hào)BCDBIN轉(zhuǎn)換
5.4.12 帶符號(hào)BCDBIN倍長(zhǎng)轉(zhuǎn)換
5.4.13 帶符號(hào)BINBCD轉(zhuǎn)換
5.4.14 帶符號(hào)BINBCD倍長(zhǎng)轉(zhuǎn)換
5.4.15 格雷碼轉(zhuǎn)換
5.5 數(shù)據(jù)控制指令
5.5.1 PID運(yùn)算
5.5.2 自整定PID運(yùn)算
5.5.3 上/下限限位控制
5.5.4 死區(qū)控制
5.5.5 靜區(qū)控制
5.5.6 時(shí)間比例輸出
5.5.7 縮放1
5.5.8 縮放2
5.5.9 縮放3
5.5.10 數(shù)據(jù)平均化
5.6 表格數(shù)據(jù)處理指令
5.6.1 棧區(qū)域設(shè)定
5.6.2 棧數(shù)據(jù)存儲(chǔ)
5.6.3 先入后出
5.6.4 先入先出
5.6.5 表格區(qū)域聲明
5.6.6 記錄位置設(shè)定
5.6.7 記錄位置讀取
5.6.8 數(shù)據(jù)檢索
5.6.9 字節(jié)交換
5.6.10 最大值檢索
5.6.11 最小值檢索
5.6.12 總和計(jì)算
5.6.13 FCS值計(jì)算
5.6.14 棧數(shù)據(jù)數(shù)輸出
5.6.15 棧數(shù)據(jù)讀取
5.6.16 棧數(shù)據(jù)更新
5.6.17 棧數(shù)據(jù)插入
5.6.18 棧數(shù)據(jù)刪除
5.7 典型入門范例
第6章 運(yùn)算指令
6.1 自加/自減指令(增量/減量指令)
6.1.1 BIN增量/BIN倍長(zhǎng)增量
6.1.2 BIN減量/BIN倍長(zhǎng)減量
6.1.3 BCD增量/BCD倍長(zhǎng)增量
6.1.4 BCD減量/BCD倍長(zhǎng)減量
6.2 四則運(yùn)算指令
6.2.1 帶符號(hào)無CY標(biāo)志BIN加法/帶符號(hào)無CY標(biāo)志BIN倍長(zhǎng)加法
6.2.2 帶符號(hào)和CY標(biāo)志BIN加法/帶符號(hào)和CY標(biāo)志BIN倍長(zhǎng)加法
6.2.3 無CY標(biāo)志BCD加法/無CY標(biāo)志BCD倍長(zhǎng)加法
6.2.4 帶CY標(biāo)志BCD加法/帶CY標(biāo)志BCD倍長(zhǎng)加法
6.2.5 帶符號(hào)無CY標(biāo)志BIN減法/帶符號(hào)無CY標(biāo)志BIN倍長(zhǎng)減法
6.2.6 帶符號(hào)和CY標(biāo)志BIN減法/帶符號(hào)和CY標(biāo)志BIN倍長(zhǎng)減法
6.2.7 無CY標(biāo)志BCD減法/無CY標(biāo)志BCD倍長(zhǎng)減法
6.2.8 帶CY標(biāo)志BCD減法/帶CY標(biāo)志BCD倍長(zhǎng)減法
6.2.9 帶符號(hào)BIN乘法/帶符號(hào)BIN倍長(zhǎng)乘法
6.2.10 無符號(hào)BIN乘法/無符號(hào)BIN倍長(zhǎng)乘法
6.2.11 BCD乘法/BCD倍長(zhǎng)乘法
6.2.12 帶符號(hào)BIN除法/帶符號(hào)BIN倍長(zhǎng)除法
6.2.13 無符號(hào)BIN除法/無符號(hào)BIN倍長(zhǎng)除法
6.2.14 BCD除法/BCD倍長(zhǎng)除法
6.3 邏輯運(yùn)算指令
6.3.1 字與/雙字與
6.3.2 字或/雙字或
6.3.3 字異或/雙字異或
6.3.4 字同或/雙字同或
6.3.5 逐位取反/雙字逐位取反
6.4 特殊運(yùn)算指令
6.4.1 BIN平方根運(yùn)算
6.4.2 BCD平方根運(yùn)算
6.4.3 數(shù)值轉(zhuǎn)換
6.4.4 BCD浮點(diǎn)除法
6.4.5 位計(jì)數(shù)
6.5 浮點(diǎn)轉(zhuǎn)換/運(yùn)算指令
6.5.1 浮點(diǎn)16位BIN轉(zhuǎn)換
6.5.2 浮點(diǎn)32位BIN轉(zhuǎn)換
6.5.3 16位BIN浮點(diǎn)轉(zhuǎn)換
6.5.4 32位BIN浮點(diǎn)轉(zhuǎn)換
6.5.5 浮點(diǎn)加法
6.5.6 浮點(diǎn)減法
6.5.7 浮點(diǎn)乘法
6.5.8 浮點(diǎn)除法
6.5.9 角度弧度轉(zhuǎn)換
6.5.10 弧度角度轉(zhuǎn)換
6.5.11 sin運(yùn)算
6.5.12 cos運(yùn)算
6.5.13 tan運(yùn)算
6.5.14 arcsin運(yùn)算
6.5.15 arccos運(yùn)算
6.5.16 arctan運(yùn)算
6.5.17 平方根運(yùn)算
6.5.18 以e為底的指數(shù)運(yùn)算
6.5.19 自然對(duì)數(shù)運(yùn)算
6.5.20 指數(shù)運(yùn)算
6.5.21 單精度浮點(diǎn)數(shù)據(jù)比較
6.5.22 浮點(diǎn)字符串轉(zhuǎn)換
6.5.23 字符串浮點(diǎn)轉(zhuǎn)換
6.6 雙精度浮點(diǎn)轉(zhuǎn)換/運(yùn)算指令
6.6.1 雙精度浮點(diǎn)16位BIN轉(zhuǎn)換
6.6.2 雙精度浮點(diǎn)32位BIN轉(zhuǎn)換
6.6.3 16位BIN雙精度浮點(diǎn)轉(zhuǎn)換
6.6.4 32位BIN雙精度浮點(diǎn)轉(zhuǎn)換
6.6.5 雙精度浮點(diǎn)加法
6.6.6 雙精度浮點(diǎn)減法
6.6.7 雙精度浮點(diǎn)乘法
6.6.8 雙精度浮點(diǎn)除法
6.6.9 雙精度角度弧度轉(zhuǎn)換
6.6.10 雙精度弧度角度轉(zhuǎn)換
6.6.11 雙精度sin運(yùn)算
6.6.12 雙精度cos運(yùn)算
6.6.13 雙精度tan運(yùn)算
6.6.14 雙精度arcsin運(yùn)算
6.6.15 雙精度arccos運(yùn)算
6.6.16 雙精度arctan運(yùn)算
6.6.17 雙精度平方根運(yùn)算
6.6.18 以e為底的雙精度指數(shù)運(yùn)算
6.6.19 雙精度自然對(duì)數(shù)運(yùn)算
6.6.20 雙精度指數(shù)運(yùn)算
6.6.21 雙精度浮點(diǎn)數(shù)據(jù)比較
6.7 典型入門范例
第7章 子程序及中斷控制指令
7.1 子程序指令
7.1.1 子程序調(diào)用
7.1.2 宏
7.1.3 子程序進(jìn)入/子程序返回
7.1.4 全局子程序調(diào)用
7.1.5 全局子程序進(jìn)入/全局子程序返回
7.2 中斷控制指令
7.2.1 中斷屏蔽設(shè)置
7.2.2 中斷屏蔽前導(dǎo)
7.2.3 中斷解除
7.2.4 中斷任務(wù)執(zhí)行禁止
7.2.5 中斷任務(wù)執(zhí)行禁止解除
第8章 I/O單元用指令和高速計(jì)數(shù)/脈沖輸出指令
8.1 I/O單元用指令
8.1.1 I/O刷新
8.1.2 7段解碼器
8.1.3 數(shù)字式開關(guān)
8.1.4 10鍵輸入
8.1.5 16鍵輸入