白象文化‧印書小舖 不需出版社審核,人人都可以出書
  聯絡我們 | 合作提案 | 線上付款
................................................................................
搜尋
................................................................................
書籍分類
*

商業理財

....................
*

文學小說

....................
*

散文小品

....................
*

人文科普

....................
*

心靈勵志

....................
*

宗教哲思

....................
*

醫療保健

....................
*

親子共享

....................
*

星相命理

....................
*

休閒娛樂

....................
*

進修學習

....................
*

藝術創意

....................
*

人物傳記

....................
*

新詩

....................
*

社區文宣

....................
 
 
我的瀏覽紀錄
   
  工具機PLC程式設計
  工具機PLC程式設計
  一流的電控工程師,從基礎到精通的訓練教材
   
 
三分鐘瞭解自費出書
 
出書543

 
買書
 
商品訊息
 

作  者:周國華
類  別:進修學習
出  版:白象文化
出版日期:2011年7月
語  言:繁體中文
I S B N :9789866111969
裝  訂:平裝

定  價:NT$400

狀  態:已下架

分享 Facebook Plurk Twitter
 
內容簡介

 
 
同類商品推薦
 
 
普通化學試題詳解
普通化學試題詳解

學生好評推薦化學名師李鉌助你考場輕鬆發揮實力

 
ESL English Grammar Prescriptions: Simplified Version
ESL English Grammar Prescriptions: Simplified Version

最完整的英文文法及寫作學習指南!一套四冊,編排層級分明,循序漸進以清楚圖表、豐富例句與實用範例,啟動自主學習!

 
Joe愛說日文  第二冊
Joe愛說日文 第二冊

跟著可愛漫畫人物快樂學日文,單字、句型、會話一次搞定!

 
幫老闆做決策:3x7思考力解放術(隨書附贈便利貼海報,貼出創意更輕鬆!)
幫老闆做決策:3x7思考力解放術(隨書附贈便利貼海報,貼出創意更輕鬆!)

3個方向 x 7種試想 = 21個解放創新點子的發想法!

 
更多同類商品

 

內容簡介

序 / 導讀

試  閱

作  者

   
 

由淺至深,一步步為你搭建通往頂尖電控工程師的階梯。

本書是以銑床綜合加工機搭配FANUC控制器為載具,詳述工具機各種功能,循序漸進了解整個系統,書中直接介紹控制器程式設計的技巧,是假設讀者對控制器的訊號已經有些了解,或者讀者能自修閱讀控制器手冊,不適合對機器與控制器完全陌生的讀者,書裡由作者親手繪製大量的圖解,輔以精準的文字說明,方便讀者按圖索驥,進而融會貫通,是想要更上一層樓的您不可或缺的隨身教科書。

   
 

台灣工具機產值居全球第五位,一直都是機械產業主流。工具機的PLC程式在控制器廠商的技術支援下,都有不錯的表現。近年來台灣工具機公司不斷擴廠、發展新產品,人才不足、訓練緩慢是普遍的問題。電控工程師在程式設計的訓練大都是師徒制,研究前輩設計的程式,在既有的程式架構,開發類似的產品。對學校剛畢業的職場新鮮人而言,最有效率的教育訓練方式是教科書搭配實做。教科書的好處是可以不斷的複習,且大家擁有相同的觀念,產品設計有一致性,大家較容易互相支援與溝通。
本書是以銑床綜合加工機搭配FANUC控制器為載具,詳述工具機各種功能,循序漸進了解整個系統。第一章是程式設計的基本觀念,是最重要的、也是最抽象的,建議新進的工程師在閱讀完第三章後,一定要再回頭看第一章。第二章是程式基本格式,要記在心理,在第三章到處都可以看到第二章的影子。第三章是工具機基本功能實用範例,重點在合理操作程序與防錯觀念,是普遍常見的寫法,從這裡可以了解工具機完整的電控系統。第四章是特殊功能的設計,是綜合PLC、MACRO、機構的應用,訓練讀者對應用程式的使用技巧。第五章是客製畫面的設計,簡單介紹C Executor的入門程式,希望能在台灣拋轉引玉,吸引更多人投入。
本書直接介紹控制器程式設計的技巧,是假設讀者對控制器的訊號已經有些了解,或者讀者能自修閱讀控制器手冊,本書不適合對機器與控制器完全陌生的讀者。本書寫作是在FANUC 18iB時代,程式內容仍然可適用於31iB,對於31iB控制器新功能沒有介紹,感到有些遺憾。工具機PLC程式設計並不是很難,各家公司都擁有不錯的程式設計能力,個人只想提供基本教材幫助後輩精英紮實入門,也是對自己的人生的努力做個紀錄。
有半年多晚上、假日都在書房寫作業,很累,也欠家人陪伴時間。寫完後、耗盡精神,校稿時、已經無力仔細校正,還好程式設計重於觀念,觀念對、除錯只是時間問題。對於本書疏失錯誤之處,還請讀者多多包涵。

   
 

第一章  程式設計基本觀念
程式設計準備工作有:(1).程式語法了解,(2).規劃機構操作程序與了解操作者習慣用法,(3).功能分類模組化,(4).記憶體資料區規劃。
對程式設計師而言,程式語法是最容易學習的,語法錯誤在程式編譯時都會有警報提示。程式指令說明書都有「WARNING」的提醒與特殊說明地方,例如Timer函式的WARNING是:TMR的號碼不可以重複,否則TMR輸出會錯亂,修改Timer延遲時間值必須大於目前計時值,否則TMR計時會錯亂。特殊說明地方、例如Timer#1~#8是48ms為單位,可以設定較長時間約26分鐘,Timer#9以後是8ms為單位,設定時間較短、約4分鐘。類似的函式的差異、特殊函式的用途,都必須細心分析、了解。好的程式是用對的指令,簡化程式碼、增加程式的閱讀性。例如有關Timer的函式有:TMR、TMRB、TMRBF、TMRC,最常用的是TMR、精度最差的也是TMR。如果Timer時間固定且精度要求高,則可以使用TMRB與TMRBF。若Timer設定時間非常長,可以使用TMRC。例如特殊的指令有PARI、AXCTL、SFT、WINDR、WINDW等,先了解用途、記在心裡,當有需要的時候,就會想到使用。
程式設計者就像一部戲的導演,必須先寫好劇本,規劃機器操作程序。書本有章節與內容,規劃機器操作程序相對有單元大綱與細節。先將機器的功能做單元分類、以副程式包裝,然後對每一個功能單元畫出流程圖或定義標準程序。操作機器有其實務用途的考量,例如加工中途要手動換刀,例如自動執行程式中、手動刀倉上下刀具,操作需求因加工型態而異,只要是合理的狀況,就必須提供簡單方法解決。通常程式設計者對控制器加工指令不熟,認為這是控制器的功能、是操作者要學習的,這觀念大錯特錯。程式設計者要比操作者更懂得機器使用技巧,否則機器必遭客戶抱怨、慘遭修理。若程式設計者不清楚機器操作,對功能的測試就不夠嚴謹、完整,甚至輕率將問題推給客戶挖掘。基本上、工具機操作沒有國際標準,但是幾乎大同小異,操作大同是行規、小異是各家機器自有特色。令人困擾的是:操作者要求機器操作與過去使用機器的習慣一致,尤其是控制器不同時,實在很難相容。這個問題思考的方向是:目前提供的操作是否簡單、有效解決客戶的問題,若操作方式與加工型態有關,則用keep relay切換操作方式,若只是單純的個人習慣,則以個案處裡,而不寫入標準程式。對程式設計者而言,機器操作程序是沒有堅持的,只要劇本固定、合乎邏輯即可,最怕意見分歧、造成程式管理上的困難。機器的操作必須有相容性,所以第一次功能設計時、就要慎重、再慎重,任何的定義、例如M碼,也要全盤考慮。工具機的客戶大都會重複購機,若發現同家同規格機器的操作不同,必定無法被接受,到時製造商將進退失據,即使原先的操作程序有瑕疵,有時只能將就使用,導致進步空間受限。
單元功能模組化是程式設計的口頭禪,但是要劃分多細才適合。機器功能粗略劃分為伺服軸、主軸、刀庫、頭庫、周邊設備等,以主軸為例、還可以再細分為主軸旋轉、換檔、定位、攻牙、CS軸等,以主軸旋轉為例、還可以更細分為手動操作與自動操作,依此類推、可以細分到每個功能只有2~3行程式。單元功能分太細,反而瑣碎、失去分類的用意。基本上、每個單元功能間關聯性小,相同用途的操作應規劃在同一個單元功能,或者以機構模組做分類,或者以機器選購項目做分類。單元功能分類的好,同用途不同機構的程式是容易用keep relay做切換的,在閱讀程式時、不會見樹不見林的感覺,而且可以看出操作程序是連續且完整的。
PLC的記憶體很大、用不完,即使隨機定義使用也不會有記憶體不足的問題,但是顯得雜亂無章、增加管理時間。通常會根據單元功能分配R記憶體,尤其是將位元組的變數區獨立開來,給予window函式足夠大的參數記憶體,避免記憶體資料被錯誤覆蓋。將同類型的變數規劃在Data Table相同區域,將警報性質分類、alarm與message的位置分開,有系統的分類可使程式設計觀念更加清楚。當變數記憶體有根據單元功能做區隔,那麼可以輕易將A型機器的副程式直接複製到B型機器上,不用擔心記憶體位址定義錯亂。
設計程式時、必須做到:(1).程式指令的邏輯合理性,(2).變數名稱的定義要簡短、易懂、有規則,(3).程式格式標準化,(4).動作的安全考慮,(5).符合NC訊號定義與時序,(6).明確定義邏輯變數代表機構動作的每一個物理狀態。
在程式設計前的準備工作裡,談到研讀程式指令的注意事項,在設計程式時、更要留意。寫程式比較容易犯錯的地方是編譯器不會檢查的地方,列舉如下。(1).資料格式有BCD與BIN,與程式指令有關,與PLC參數輸入格式有關。例如COMPB是使用BIN資料,COIN是使用BCD資料。在Ladder程式編輯軟體有System Parameter設定Counter資料格式,在控制器的Data Table也有設定資料格式,總之、相同的記憶體資料格式必須使用一致。(2).記憶體大小不適當、造成資料被覆蓋。例如feed override G12是1個位元組記憶體,若占用2位元組,就有可能使進給速度不正確。例如PLC主軸轉數命令G32是12位元,若占用2位元組,就會覆蓋掉G33#7~#5的設定,有可能造成主軸運轉異常。例如A、B、C記憶體各占2位元組,四則運算A*B/C的值也是兩位元組,但是A*B可能超過2位元組,因此運算過程需要設定成4位元組記憶體。同時也要注意A記憶體從2位元組擴充到4位元組,是否會覆蓋到其他變數。例如使用window讀NC資料,回傳的記憶體大小可能與window的參數有關,例如伺服軸數、參數資料大小,必須保留足夠記憶體給window程式使用。(3).注意變數的生命週期,例如COIN的執行條件不成立,則結果輸出的邏輯變數不會改變。因此函式的結果輸出邏輯值不一定符合目前最新的狀態。例如COMPB的結果寫在R9000,但是許多函式結果也都寫在R9000,因此必須在函式下一行先確認執行條件成立,再檢查R9000結果,否則R9000的結果不確定是哪一個函式的結果輸出。(4).訊號時序先後會有不同的結果,尤其變數是脈衝訊號。(5).若邏輯輸出變數有重複指定,則以最後的程式碼控制邏輯變數值,因此建議邏輯輸出變數不要重複。(6).相同記憶體位址有不同的定義,使得程式邏輯錯亂。例如1個位元組原本被當作整數使用,但是又不小心將其中位元定義其他用途,看似邏輯變數輸出莫名奇妙被修改。例如使用MOVE將X0#0~#3複製到R0,若又定義R0#7為其他用途,則容易發生邏輯值錯亂。
變數名稱的定義要簡短、易懂、有規則、一致性,是好程式必要條件,為了一個好的變數名稱,即使花兩小時反覆修改也是值得的。程式設計除了功能要達到外,最重要就是方便維護、容易閱讀。好的程式就像一本小說,看著函式與變數名稱就能直接翻譯,只要對機構了解,就能立即了解程式意義,看程式就像在閱讀小說一樣輕鬆。FANUC的變數名稱在PLC螢幕最多顯示7個字母,所以盡量縮短變數名稱在7個字母內。英文的縮寫的規則是:(1).英文單字取每個音節的子音,(2).FANUC手冊內定訊號名稱,(3).常見的簡寫、兩個單字取其開頭字母,(4).特殊字元符號代表特定意義。例如handle的縮寫是HND,例如release的縮寫是RLS,spindle的縮寫是SPD,emergency的縮寫是EMG,都是取每個音節的子音,除非第一個字母是母音。FANUC手冊內定訊號名稱、例如NC start的簡寫是ST,例如M碼的旗標(flag)的簡寫是MF,輔助訊號的結束(finish)的簡寫是FIN。常見的簡寫、例如按鍵(push button)的簡寫是PB、換刀(tool change)的簡寫是TC,刀庫(magazine)的簡寫是MAZ或者MAG。特殊字元符號代表特定意義,例如「*」代表訊號是反邏輯,舉例*EMG=0就是EMG=1,意思是緊急停止發生。例如「#」代表號碼,舉例#SPD是主軸刀號、S#1是第一個主軸。例如「@」代表keep relay變數,「/」代表單字的分隔。七個字母表達一個變數完整意義是有困難的,即使有縮寫或簡寫還是不夠清楚,若同性質的東西以一個符號代替,則變數名稱的意義就更豐富了,例如燈的符號是L (lamp),電磁閥輸出是S(solenoid),感測器輸入就沒有明顯的字母可替代,可以取比較中性的字母,例如X、I、M等,本書以M為代表。以下列出常用的縮寫字,例如stop的縮寫可以是SP或STP,manual的縮寫是MAN或M,這要看變數名稱以哪7個字母較能表達完整意義。
PLC程式大都是邏輯運算,若每行程式都要用真值表分析邏輯輸出的變化,那麼看程式就非常慢且累。若程式有標準格式,請參考第二章介紹,則只要熟悉標準格式,就能快速閱讀程式。其實PLC複雜的程式功能都用函式(單一指令)包裝起來,機構控制程序都有固定模式,所以建立標準程式格式是可行的。工具機的PLC程式並不是很複雜、很難的程式,只要功能正確且方便維護即可,並不需要在這個地方標新立異,適合建立標準程式格式。
40%的PLC程式是用於正常操作機器,60%的程式是用於安全保護人與機器,即使在錯誤的操作下,不可以當機、不可以誤動作、更不可以傷害人與機器。熟悉機構的物理問題,配合嚴謹的邏輯思考,才能建構無漏洞的安全保護程式。例如考慮機器在哪些A條件可以執行,在哪些B條件下絕對不可以執行,至於其他亂七八糟的C條件(亂操作)都不必管他,程式碼只要考慮A與B條件即可,使程式更簡潔。什麼是嚴謹的邏輯思考?就是與A物理現象有關的(input、output訊號)條件都考慮進去,尤其是輸入訊號(input)要正反狀態都要考慮,例如門開與門關,刀臂上位與下位。例如主軸是盤型彈簧抓刀、油壓電磁閥鬆刀,則完整主軸抓刀狀態是:(1).沒有鬆刀命令的輸出(output),(2).沒有鬆刀感測器訊號、但是有抓刀感測訊號(input)。例如刀倉定位銷常態是油壓固鎖動作,則完整的刀倉停止狀態是:(1).沒有刀倉解鎖的輸出命令(output),(2).沒有刀倉解鎖感測器訊號、但是有刀倉固鎖感測器訊號(input),(3).沒有刀倉正反旋轉命令輸出(output),(4).刀倉正常停止時之計數感測器的狀態(input)。安全保護程式的大略規則是:(1).根據機構動作的原理限制動作命令的條件,例如刀臂只能在上位旋轉,刀臂在下位時、旋轉機構是卡住的,那麼就要限定刀臂在上位旋轉。(2).根據機構幾何空間避免干涉與碰撞,例如刀倉必須停止、刀臂才能移到刀倉側,否則刀倉與刀臂會相撞。(3).注意人靠近機構的條件,例如操作門打開、刀庫門打開,人可以接觸到的機構都不可以移動、或是在有限條件下動作,請參考3.19章節說明。(4).避免傷害機構壽命,例如切削液不可以污染附加頭內部,例如抽水馬達不可以空運轉,例如旋轉工作台沒有油浮、不可以旋轉。(5).設備重大異常時,必須立刻停止,例如馬達過載。(6).嚴謹地設定正常合理操作條件,使得錯誤操作沒有機會誤動作。(7).異常問題發生時,機構動作命令不可以自保,否則故障排除後、機構會突然動作。任何自保訊號都要有異常結束的條件,否則會有當機的危機。
有些工具機的功能與控制器有關,尤其是伺服軸與主軸必須按照控制器要求的訊號時序,才能產生正確的功能。熟讀控制器的訊號的定義與時序的要求,不但可以產生正確的功能外,還可以減少程式碼,因為控制器也有做條件過濾,PLC不需要重複做相同的事。控制器功能手冊提出每一個功能,都有他應用的實績,絕不是憑空幻想、不切實際。控制器會根據過去使用經驗,提出一些警告訊息或建議使用方式,絕對要重視。對於控制器奇怪的功能,要極盡想像空間,去了解可能的用途,總之、一定有人使用、而且是頂尖大廠的要求,控制器大廠才有可能開發這個功能,或許可以技巧性解決自家機器遇到的難題。
從程式語言發展技術來看,物件導向已經是普遍的觀念,每個副程式都有定義出:內部使用的變數、外部使用的變數,甚至定義外部變數只能提供外部程式讀或是讀寫皆可,釐清副程式間溝通介面,避免誤用、亂用變數。程式設計者必須弄清楚這個副程式哪一個資訊對其他程式有用,然後將他定義為外部變數,這個外部變數可能由數個內部變數組合成。同理、工具機每個副程式都是一個可獨立的功能,副程式(功能)間的外部變數大都是機構的物理狀態,尤其是代表這個功能是否在執行。例如定義TC/MAC為換刀程式的執行,可用於行程極限的解除、切削液動作的暫停條件、手動操作面板的禁止條件。每一行階梯圖都有數個邏輯輸入變數、一個邏輯輸出變數,若輸出變數代表一個抽象狀態,閱讀程式就困難了,需要看前後相關程式,才能知道其意義。若輸出變數代表一個物理狀態,就比較容易理解,同時也容易用在其他行程式的輸入邏輯變數。
程式設計不要求沒有錯誤,因為還有測試、除錯階段。測試能力比程式設計能力還要重要、還要難培養,只要能測試出PLC的問題,幾乎都可以解決,只是解的漂不漂亮而已。對程式設計者而言,寫程式固然要小心與檢查,但不須反覆檢查程式,不像機械設計錯誤、須付出很大代價,測試與除錯本來就是程式設計的一部分。程式有錯是正常的、沒什麼好大驚小怪,重點在測試能力、是否能找出所有的問題。通常測試能力強的人,對機器操作與應用熟練、邏輯思考一定強,程式設計能力也不會差。好的程式測試者不一定要會寫程式,也不是隨便亂測試,可歸納的規則是:(1).模擬每個功能合理的操作程序,並將與其他功能混合測試。(2).假想機構任一零件損壞時,是否會有誤動作。(3).任一操作中斷或警報,是否可以故障排除。(4).指令不完整、操作順序顛倒、同時操作相反或相似指令與隨意操作是否會有誤動作、警報或當機。(5).不同的操作模式,例如手動、自動、單節、開機、緊急停止等,測試各種使用狀況。(6).模擬機構調整不佳,測試程式防錯能力。(7).長時間地可靠度測試,不單純是測試機構問題、也是測試程式時序問題。好的程式測試者必定有豐富的測試經驗,熟知過去客服、品檢、設計遇到過的問題,才能將無限多的測試項目收斂到主要的有限項目。有些測試項目不是這麼容易做到,必須靠有技巧的模擬,甚至有危險性,測試者必須兼具18般武藝才能達成任務。通常機器的測試者大都是程式設計者,既然測試是設計程式的一部分,測試當然是設計者的工作。但是測試自己的程式會有盲點,這是不可否認的,設計者會循著自己的邏輯測試,因此程式測試者必須要有第二者,公司應該重視培養這方面人才。
只要測試出問題,剩下就是如何找原因與除錯。找問題常見方法是用視波器監測各種訊號,大部分的控制器都有提供類似的軟體功能,所以原因不難找出來。一般常見的除錯方式是少什麼條件就直接加上去,或是直接擋住某個邏輯輸出,就是見招拆招。這種方式往往是解決一個問題,又發現另外衍生問題,然後修修補補,最後程式的結構都變形了。好的程式設計者對任何除錯,都是回到程式最初的架構,以全盤考慮的方式去修改。所以結構化程式的特徵是:除錯時、要修改的程式碼是最少的,或許只是加減一個邏輯條件。反之、大改程式就是程式結構化不佳,或著到處程式碼都有特例條件,程式看起來凌亂,這都是不好程式的特徵。如果每個機構的物理狀態都有一個變數代表,那麼修改程式碼會是最簡潔。
寫PLC程式並不難,每個人都有自己的風格與寫法,寫100行與寫1行程式碼的成本是一樣的,程式簡潔與複雜對操作者是一樣的,只要最終輸出訊號時序正確、功能就會正確。但是對程式設計師而言,設計與思考的訓練可以用在其他研發計畫,故須以嚴謹態度將PLC程式設計更加理想。程式設計的觀念是非常重要,若沒有實際設計的經驗,會覺得這些觀念只是空談,有聽沒有感覺,建議讀者有實際設計程式之後,一定要再回頭看本章,定有收穫。

以上內容節錄自《工具機PLC程式設計》周國華◎著/白象文化出版

   
 

周國華

生於1970年,畢業於清華大學動力機械研究所,專長於工具機軟體應用設計與機器性能分析與量測。

 
團購優惠
 
點閱率排行榜
   
  長春餓殍戰:中國國共內戰最慘烈的圍困,1947.11.4~1948.10.19
  長春餓殍戰:中國國共內戰最慘烈的圍困,1947.11.4~1948.10.19
  全球第一本!首次揭露中國國共內戰期間,中共對長春發動「圍困」戰術造成約數十萬人活活餓死的深入報導。許多父母吃了自己的孩子,每斤人肉賣250萬元……
   
 
2. 營利事業所得稅查核準則實務解析
3. 「玩賺權證」達人祕笈
4. 21世紀黑死病-憂鬱症的解藥
5. 異位性皮膚炎的診斷與治療
6. 來自天堂的雨
 
開卷試讀
   
  《藍灯號誌》Vol.4:記憶博物館
  《藍灯號誌》Vol.4:記憶博物館
  博物館,收藏物件,海涵情感;館內收藏,盛裝過往,雋刻時代。
   
 
2.用色彩創造歷史:獻麒紡織染整心路
3.夏志清的國學根底:采詩題跋眉批集
4.走過教育來時路
5.生活的大智慧:進入自性佛1
 
 
白象文化 印書小舖 文學創作者 白象文化生活館
 
................................................................................
 
出書 賣書 買書 阿宅咖啡館 關於我們 聯絡我們
* 如何出書
* 實體書
* 電子書
* 線上申請
* 服務方式
* 銷售通路
* 行銷工具
* 線上申請
 
線上講堂
* 出版FAQ
* 經銷FAQ
* 編印FAQ
* 討論交流
* 媒體報導
* 客戶見證
* 活動點滴
* 公司簡介
* 理念及特色
* 出版品牌
* 大事紀
* 加入我們
* 我要發問
* 交通位置
會員中心
合作提案
線上付款
 
................................................................................
  Copyright©2010 PressStore All Rights Reserved.