
發布
注冊
/
登錄PLC程序編制
關注創建者:張飛 創建時間:2015-08-20

PLC程序編制的實例教程
這雖然是低級錯誤,也易發生在程序編制過程中。
大家在編PLC程序時犯過這種錯誤嗎?
免責聲明:本文轉自網絡,版權歸原作者所有,如涉及作品版權問題,請及時與我們聯系刪除,謝謝!
一、三菱PLC處理步驟
1、打開三菱PLC原程序
2、對梯形圖程序切換到列表
3、顯示列表進行全部COPY(Ctrl+C)
二、歐姆龍PLC處理步驟
1、新建歐姆龍PLC程序
選擇對應的型號CP1E,打開右邊-設定;
選擇CPU類型即點數;然后確定-確定。
2、Copy程序到歐姆龍PLC程序中
先把光標移到程序段,然后粘貼(Ctrl+V),彈出如下窗口,選擇被轉換的PLC型號
3、保存路徑
點擊選擇,打開如下窗口,選擇保存的路徑,文件名稱,點擊保存;然后回上個菜單點擊“OK”,完成轉換。
注意:有些指令轉換后會有所不同,直接在歐姆龍PLC程序中修改
來源:工控網智造工程師,版權歸原作者所有!
展開 (1)觸點的結果與步
即使在動作相同的程控電路中,借助于觸點的構成方法出可簡化程序與節省程序步數。
①宜將串聯電路多的電路寫在上方。如圖1的a圖。
②宜將并聯多的電路寫在左方。如圖1的b圖。
(2)程序的執行順序
對順控程序作“自上而下”,“自左向右”處理。
當PLC投入運行后,其工作過程一般分為三個階段,即輸入采樣、用戶程序執行和輸出刷新三個階段(即:輸入、執行、輸出)。完成上述三個階段稱作一個掃描周期。在整個運行期間,PLC的CPU以一定的掃描速度重復執行上述三個階段。
(一) 輸入采樣階段
在輸入采樣階段,PLC以掃描方式依次地讀入所有輸入狀態和數據,并將它們存入I/O映象區中的相應得單元內。輸入采樣結束后,轉入用戶程序執行和輸出刷新階段。在這兩個階段中,即使輸入狀態和數據發生變化,I/O映象區中的相應單元的狀態和數據也不會改變。因此,如果輸入是脈沖信號,則該脈沖信號的寬度必須大于一個掃描周期,才能保證在任何情況下,該輸入均能被讀入。
(二) 用戶程序執行階段
在執行階段,PLC總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時,又總是先掃描梯形圖左邊的由各觸點構成的控制線路,并按先左后右、先上后下的順序對由觸點構成的控制線路進行邏輯運算,然后根據邏輯運算的結果,刷新該邏輯線圈在系統RAM存儲區中對應位的狀態;或者刷新該輸出線圈在I/O映象區中對應位的狀態;或者確定是否要執行該梯形圖所規定的特殊功能指令。
(三) 輸出刷新階段
當掃描用戶程序結束后,PLC就進入輸出刷新階段。
展開 1、首先硬件組態這里隨便選擇了一款1500的PLC,添加了一個HMI;
2、程序結構;
3、建立一個FB塊,命名為LOCK_program,開始編寫程序,首先接口定義如下:
OUTPUT
靜態變量
臨時變量與常量
4、程序段編制,首先我們整理一下思路,我們要實現定時鎖機功能,可以通過調用PLC的系統時間,然后與我們設定的試用時間作比較,一旦到了設定時間,即觸發一個變量;
實現時間讀取與LOCK使能
RD_LOC_T指令就是我們西門子自帶的讀取PLC本地時間指令,需要注意的地方是,這里的數據類型是DTL;
5、提取DAY,HOUR,MINUTE,SEC(天、小時,分鐘,秒);
提取時間
6、隨機數函數調用,這里引用隨機數主要是為了生成解鎖碼,以及驗證碼的動態顯示;
隨機數
7、8位解鎖碼生成,這里的可以自己隨便定義解鎖碼的生成算法;
生成解鎖碼
8、解碼算法 (IN1+IN2+IN3+IN4+IN5+IN6+IN7+IN8)* A + B * C,可以按照個人喜好隨意更改,當設備上鎖后,使用人員需要在觸摸屏上生成8為解鎖驗證碼,然后發給廠家,廠家根據發來的驗證碼,發回一個對應的解鎖密碼;
解碼程序
9、一些狀態為復位;
狀態復位
10、功能演示
未上鎖狀態
展開 有限元基礎編程(終結篇)——C3D8單元程序編制
本篇推文是有限元基礎編程的終結篇,講述C3D8單元的程序編制及實現。主要內容有:C3D8單元理論基礎、便于編程的“乘大數法”處理邊界條件、編制程序注意事項、云圖繪制函數、INP文件讀取函數、Abaqus仿真對比等,內容量大,慢慢食用~
特別聲明:程序框架采用了吉林大學左文杰老師的腳本文件,計算單元剛度的核心計算程序仍延續我們以往編制程序的風格。代碼文件獲取方式詳見文末。
理論基礎
與Q4單元理論基礎相同,唯一的區別就是:每個節點的自由度由2變成了3,代碼具體變化看Ke函數和C3D8_cal_B函數的變化,理論部分可參考有限元基礎編程——Q4單元。
展開 
PLC程序編制的相關專題、標簽、搜索
PLC程序編制的最新內容
基于matlab編制的直齒圓柱齒輪應力計算程序,輸入設計參數:模數、齒頂高、齒寬、嚙合齒數、轉速、扭矩、安全系數、壓力角、齒輪類型(開式、閉式)等,輸出彎曲應力和許用應力,并對比是否滿足要求。并把程序成GUI界面。包含程序說明文檔。程序已調通,可直接運行。
1. 引言
本文是一篇綜合性非常強的文章,從PLC輸入輸出及步進電機接線開始,到PLC運動控制程序編寫,再到后續的ModbusTCP通信協議及上位機編程實現最終控制,涉及知識面比較廣,能夠讓我們很好地將所學知識結合起來。
2. 項目開發平臺
采用西門子TIA Portal V15編程軟件編寫運動控制程序,實現PLC(S7-1200系列:CPU1214C DC/DC/DC )對步進電機的控制
在編制PLC程序時,不管是新手還是老手,都會犯下面的這種低級錯誤。因為這種錯誤是非語法上的,所以用編程軟件也不能檢查出錯誤之處。此錯誤一旦發生,自己有時還很難發現,直至上機調試運行時,所控設備不能運行或運行到某個位置停止不前,才察覺出來有問題,再對PLC程序逐條逐句查找分析,或采取對程序逐條逐句執行,費時費工。
本文以西門子S7-1500 PLC為例,簡單講述各種自動程序設計方法,其他品牌或型號的PLC也可用使用類似的設計。這里暫不討論手動、報警、診斷等程序如何設計,希望對工控同胞們有所幫助,同時也希望工控達人們能提出寶貴意見,。
下面總結一下常用自動程序設計方法:
一:SCL CASE(結構化控制語言 也稱ST,CASE指令)
越來越多的小型PLC都支持SCL語言,SCL
在編制PLC程序時,不管是新手還是老手,都會犯下面的這種低級錯誤。因為這種錯誤是非語法上的,所以用編程軟件也不能檢查出錯誤之處。此錯誤一旦發生,自己有時還很難發現,直至上機調試運行時,所控設備不能運行或運行到某個位置停止不前,才察覺出來有問題,再對PLC程序逐條逐句查找分析,或采取對程序逐條逐句執行,費時費工。
我們都知道PLC控制是用于工程實際項目的,那么系統設計的水平就會直接影響到整個控制系統、還有設備的運行可靠性!你同意嗎?
那么我們如何能夠根據不同的控制要求,去設計出一個運行穩定、動作可靠、安全使用、調試方便、維護容易的控制系統呢,這也是我們進行PLC控制設計時需要考慮的問題。
我們先了解一下系統設計
在PLC編程中,一般把停止按鈕物理接點接成常閉,程序中寫成常開,這樣的停止按鈕在這套設備中只起到信號作用。
為什么PLC編程中急停要和普通急停按鈕相反呢?其實寫成常開的不僅僅是急停,還有熱繼、溫控等等帶有保護功能的接點,具體原因見下文:
首先急停按鈕接入PLC的DI點中也是以常閉點接入:
上圖就是急停按鈕接入PLC中的接線圖的一部分,可以看到是常閉觸點的狀態接入
點擊上方藍字關注我們
PLC底層是單片機,單片機一般通過RAM和ROM這些東西來保存數據,RAM是斷電就消失了,而ROM在斷電下依然可以保持,除非是外力來讓它改變了。
因為數據比較大,很多早期PLC使用了電池來給RAM保持,只要電池電壓低于某個值,就可能會造成數據丟失,更換電池時候,需要在電源通電前提下進行,否則一樣會造成數據丟失。
現在數據很多是通過
有限元基礎編程(終結篇)——C3D8單元程序編制
本篇推文是有限元基礎編程的終結篇,講述C3D8單元的程序編制及實現。主要內容有:C3D8單元理論基礎、便于編程的“乘大數法”處理邊界條件、編制程序注意事項、云圖繪制函數、INP文件讀取函數、Abaqus仿真對比等,內容量大,慢慢食用~
特別聲明:程序框架采用了吉林大學左文杰老師的腳本文件,計算單元剛度的核心計算程序仍延續我們以往編制程序的風格
一、程序結構統一
OB1:主程序;
OB100:初始化程序(無需主程序調用