




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
知識卡7西門子博途開發軟件
知識卡8S7-1200的編程基礎項目四可編程控制器基礎知識本項目主要介紹西門子博途軟件的使用、S7-1200的編程語言、編程所需的數據類型、存儲器地址、基本指令和擴展指令等基礎知識,為編寫控制程序打好基礎。【知識目標】能區分西門子開發軟件的博途視圖和項目視圖;掌握S7-1200的梯形圖設計語言基礎知識;掌握基本的數據類型及常用的存儲器地址;掌握常用的位邏輯、定時器、計數器、基本的計算指令;初步理解跳轉、中斷、組織塊、函數塊、函數、數據塊等概念。【能力目標】能使用博途軟件編寫、調試簡單的控制程序;能熟練使用位邏輯、定時器、計數器等基本指令編程,能在組織塊中編寫常用程序,并會編寫及調用函數塊、函數,設置數據塊。【素質目標】會使用西門子S7-1200的技術手冊查閱指令使用方法;初步理解并建立模塊化程序設計的思維;耐心細致。知識卡9S7-1200指令及應用知識卡7西門子博途開發軟件一、開發環境
TIAPortal,簡稱“博途”,是西門子發布的一款全新的全集成自動化軟件。它是業內首個采用統一的工程組態和軟件項目環境的自動化軟件,幾乎適用于所有自動化任務。借助該全新的工程技術軟件平臺,用戶能夠快速、直觀地開發和調試自動化系統,可對西門子全集成自動化中所涉及的所有自動化和驅動產品進行組態、編程和調試。2.軟件組成及功能
1.簡介專業版的博途軟件由五部分組成:用于硬件組態和編寫PLC程序的SIMATICStep7;用于仿真調試的SIMATICStep7PLCSIM;用于組態可視化監控系統、支持觸摸屏和PC工作站的SIMATICWinCC;用于設置和調試變頻器的SINAMICSStartdrive;用于安全性S7系統的Step7Safety。知識卡7西門子博途開發軟件一、開發環境
博途對安裝環境的要求較高,軟件環境必須為WIN7系統32位或64位。硬件環境要求個人計算機(PC)的配置為:微處理器為Intel?Core?i5-3320M3.3GHz或更高版本,8GB內存(不少于4GB);屏幕分辨率1920×1080(建議);20Mbit/s以太網。安裝時注意:1)Windows系統安裝64位純凈版(不要安裝鏡像版),安裝完成后不要安裝殺毒軟件及其它辦公軟件。2)安裝完成要進行授權,當許可證管理中出現licensetype為Unlimited時表明安裝成功,如圖4.1所示。
3.軟件安裝要求知識卡7西門子博途開發軟件一、開發環境
3.軟件安裝要求圖4.1博途軟件授權管理知識卡7西門子博途開發軟件二、博途v14基本使用
1.博途視圖博途v14有兩種視圖:博途視圖(PORTAL視圖)和項目視圖。博途視圖是根據工具功能組織的面向任務的視圖,博途視圖如圖4.2所示;項目視圖是由項目中各元素組成的面向項目的視圖。博途視圖提供了面向任務的視圖,類似于操作向導,選擇不同的任務入口可處理:啟動、設備與網絡、PLC編程、運動與控制技術、可視化及在線與診斷等各種工程任務功能。例如選擇打開“啟動”,可以進行打開、新建、移除、關閉項目等項目操作。知識卡7西門子博途開發軟件二、博途v14基本使用
1.博途視圖圖4.2博途視圖(PORTAL視圖)知識卡7西門子博途開發軟件二、博途v14基本使用
1.博途視圖
在博途視圖中,單擊“啟動—創建新項目”,在右邊欄目中輸入項目名稱、保存路徑、作者、注釋信息等,單擊“創建”,就可以啟動一個新項目。
在博途視圖左下角單擊“項目視圖”,打開項目視圖,項目視圖圖4.3所示。項目視圖類似于Windows界面,包含標題欄、工具欄、編輯區和狀態欄等元素。項目視圖的左側為項目樹,可以訪問所有的設備和項目數據,也可以在直接執行任務,例如添加新組件、編輯組件、項目數據等;項目視圖中間為編輯區,在此編寫控制程序;項目視圖右側為任務卡,根據已編輯或選擇的對象,查找或替換項目對象;項目視圖下方為檢查窗口,顯示工作中已選擇的對象或執行操作的附加信息。可通過單擊左下角“Portal視圖”切換到Portal視圖。
知識卡7西門子博途開發軟件二、博途v14基本使用
1.博途視圖圖4.3項目視圖知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接S7-1200CPU與計算機通信時,首先需要進行硬件配置,如果是一對一通信,不需要以太網交換機;接著需要為CPU或網絡設備分配IP地址。在PROFINET網絡中,每個設備必須具有一個MAC地址和Internet協議(IP)地址。設備與組態的大致步驟如下:①添加設備;②設備組態;③組態網絡:組態網絡之前,不能分配I/O設備的I/O地址;④設置網絡參數。1)硬件連接在編程設備和S7-1200CPU之間創建硬件連接時,首先安裝S7-1200CPU,將以太網電纜插入PROFINET端口中,再將以太網電纜連接到編程設備上知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接圖4.4創建新項目2)組態打開軟件TIAPortalV14,創建一個新項目,命名為“電動機啟停控制”,如圖4.4所示。再單擊“創建”,建立項目。知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接圖4.5組態設備對話框在“電動機啟停控制”項目對話框中,點擊“組態設備”,如圖4.5所示。知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接圖4.5組態設備對話框在組態設備與網絡對話框中,單擊“添加新設備”,選擇“控制器”→“SIMATICS7-1200”→“CPU”→“CPU1214CAC/DC/Rly”(具體的型號可以根據實際產品確定)。選中PLC后,右側會顯示該PLC的圖形及訂貨號、版本及簡要的說明信息,如圖4.6所示。單擊“確定”按鈕,即可進入項目視圖。知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接圖4.6添加新設備對話框知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接3)為編程設備和網絡設備分配IP地址通過編程計算機與運行STEP7Basic的計算機進行以太網通信,可以執行項目的下載、上傳、監控和故障診斷等任務。(1)編程計算機IP地址設置用戶可以使用桌面上的“網上鄰居”分配或檢查編程設備的IP地址:右鍵單擊“網上鄰居”→“屬性”→“本地”→“屬性”選項。在“本地連接屬性”對話框中,在“此連接使用下列項目:”區域向下滾動到“Internet協議(TCP/IP)”,單擊“Internet協議(TCP/IP)”,然后單擊“屬性”按鈕。選擇“自動獲得IP地址(DHCP)”或在“使用下面的IP地址”下輸入靜態IP地址。計算機的IP地址一般采用默認的192.168.0.2,第4個字節是子網內設備的地址。子網掩碼一般采用默認的255.255.255.0,如圖4.7所示。知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接圖4.7計算機IP地址設置知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接3)為編程設備和網絡設備分配IP地址(2)PLC的IP地址設置為S7-1200CPU分配IP地址時,采用的是在項目中組態IP地址的方法。使用S7-1200CPU配置機架之后,可組態PROFINET接口的參數。為此,單擊CPU上的綠色PROFINET框以選擇PROFINET接口。打開“屬性”選項卡會顯示PROFINET端口,如圖4.8所示,在圖中設置IP地址為192.168.0.1。知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接圖4.8設置IP地址知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接3)為編程設備和網絡設備分配IP地址(2)PLC的IP地址設置以太網相關地址包括以太網(MAC)地址、IP地址和子網掩碼等。①以太網(MAC)地址在PROFINET網絡中,制造商會為每個設備都分配一個介質訪問控制地址(MAC)地址,以進行標識。MAC地址由六組數字組成,每組兩個十六進制數,這些數字用“—”或“:”符號分隔,并按傳輸順序排列,例如(01—23—45—67—89—AB)或01:23:45:67:89:AB。②IP地址聯網的每個設備也都必須具有一個Internet協議(IP)地址,該地址相當于網絡設備的身份證號碼,使該設備可以在更加復雜的路由網絡中傳送數據。IP地址有IPV4和IPV6兩種格式,其中IPV4的每個IP地址分為四段,每段由八位二進制數組成,并以圓點分隔的十進制數格式表示,例如211.154.184.16。IP地址的第一部分用于表示網絡ID,第二部分表示主機ID。知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接3)為編程設備和網絡設備分配IP地址(2)PLC的IP地址設置以太網相關地址包括以太網(MAC)地址、IP地址和子網掩碼等。③子網掩碼子網掩碼用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。例如在小型本地網絡中為設備分配子網掩碼255.255.255.0和IP地址192.168.0.1到192.168.0.255。④不同子網間唯一的連接通過路由器實現。如果使用子網,則必須部署IP路由器,IP路由器實現LAN之間的鏈接。通過使用路由器,LAN中計算機可向其他任何網絡發送消息,這些網絡可能還隱含著其他LAN。如果數據的目的地不在LAN內,路由器會將數據轉發給可將數據傳送到目的地的另一個網絡或網絡組。路由器依靠IP地址來傳送和接收數據包。知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接4)測試運行在完成組態后,使用“擴展的下載到設備”對話框測試所連接的網絡設備。S7-1200CPU“下載到設備”功能及其“擴展的下載到設備”對話框可以顯示所有可訪問的網絡設備,以及是否為所有設備都分配了唯一的IP地址(PG/PC接口的類型:PN/IE;PG/PC接口:RealtekPCIeGBEFamilyController)。選中圖中虛線框內“顯示所有兼容設備”復選框,能夠顯示全部可訪問和可用設備以及為其分配的MAC和IP地址。如圖4.9所示。知識卡7西門子博途開發軟件二、博途v14基本使用
2.S7-1200與編程計算機的連接4)測試運行
圖4.9“擴展的下載到設備”對話框知識卡7西門子博途開發軟件三、博途軟件編程
1.程序塊新建的項目中只有一個用戶程序塊(OB1)。要添加程序塊,需要在項目樹的程序塊中,雙擊“添加新塊”,然后選擇塊的名稱、類型、編號和編程語言。如圖4.10所示。圖4.10添加程序塊可供選擇的塊類型有四種:組織塊(OB)、函數塊(FB)、函數(FC)、數據塊(DB)。OB、FC塊可供選擇的編程語言有4種:LAD、FBD、STL和SCL。FB塊可供選擇的編程語言有5種:LAD、FBD、STL、SCL和GRAPH。知識卡7西門子博途開發軟件
2.指令系統提供的指令可以在指令目錄和庫目錄窗口中選擇。雙擊項目樹中要編輯的程序塊,就可以打開程序編輯器。雙擊項目樹窗口中的PLC變量的“顯示所有變量”項目,就進入符號編輯器。編寫PLC程序之前先創建變量有利于程序的閱讀、分析和修改。PLC變量的名稱在CPU范圍內具有唯一性,即使變量位于CPU的不同變量表中。塊已經使用的名稱、CPU內其他PLC變量或常量的名稱,不能用于新的PLC變量的命名。變量名的唯一性檢查不區分大小寫字母。如果輸入了一個已經存在的變量名,系統會自動為第二次輸入的名稱后加上序號(1)。三、博途軟件編程知識卡7西門子博途開發軟件
3.用戶程序用戶程序,是在博圖軟件環境中,由用戶編寫的、用于實現特殊控制任務和功能的程序。編程界面如圖4.11所示。打開Main[OB1],在編輯區中會出現程序段1.再單擊右側的“指令”,展開指令選項,用其中的常開觸點
、
常閉觸點
、線圈
這3個符號完成第一行程序輸入。例如按住鼠標左鍵將常開觸點拖到中間的程序編輯區的黑色線上方位置,當線上顯示綠色正方形的時候,松開鼠標,輸入常開觸點的地址“I0.0”,然后回車確認;以同樣的方法輸入常閉觸點“I0.1”和線圈“Q0.0”。完成第一行程序輸入后,單擊左側母線與“I0.0”之間的線條,再選擇右側的“
”打開分支,添加第二行程序。在第二行輸入常開觸點的地址“Q0.0”,然后選擇
,按住鼠標左鍵,將連線拖動到第一行的“I0.0”和“I0.1”觸點之間,當這個位置出現綠色的小正方形,松開鼠標,連線完成,編輯完成的程序如圖4.11所示。三、博途軟件編程知識卡7西門子博途開發軟件
3.用戶程序三、博途軟件編程圖4.11編程界面知識卡7西門子博途開發軟件
博途是一個集成軟件,不僅集成了Step7Basic,還集成了仿真軟件PLCSIM。仿真PLC與實際PLC既有相通之處,也有較多區別。通過仿真,可以檢查一些常見的錯誤,幫助快速學習掌握基本的編程能力,但是最終程序是否能完成控制功能,還是需要下載到實際的控制系統中檢驗。四、程序的調試、運行監控與故障診斷
1.仿真程序PLCSIM軟件幾乎支持仿真S7-1200的所有指令,允許用戶在沒有硬件的情況下模擬調試S7-1200程序。S7-1200PLC使用仿真功能對軟件、硬件都有一定的要求。使用仿真軟件對S7-1200PLC硬件的要求是固件版本必須4.0或更高版本。使用仿真軟件對軟件的要求是仿真軟件版本在S7-PLCSIMV13SP1及以上。仿真軟件S7-PLCSIM幾乎支持S7-1200的所有指令(系統函數和系統函數塊)。知識卡7西門子博途開發軟件四、程序的調試、運行監控與故障診斷表4.1Step7Basic的修改和監視功能
2.監視和修改CPU中的數據使用Step7Basic可以監視和在線修改CPU中的數據,Step7Basic編輯器的修改和監視功能如表4.1所示。編輯器監視修改強制監視表格有有無強制表格有無有程序編輯器有有無變量表有無無DB編輯器有無無知識卡7西門子博途開發軟件四、程序的調試、運行監控與故障診斷
2.監視和修改CPU中的數據
在CPU執行用戶程序時,用戶可以通過監視表格監視或修改變量值,如圖4.12所示。可在項目中創建并保存不同的監視表格以支持各種測試環境。這使得用戶可以在調試期間或出于維修和維護目的重新進行測試。通過監視表格,可監視CPU并與CPU交互,如同CPU執行用戶程序一樣。不僅可以顯示或更改代碼塊和數據塊的變量值,還可以顯示或更改CPU存儲區的值,包含輸入和輸出(I和Q)、外圍設備輸入(I_:P)、位存儲器(M)和數據塊(DB)。使用“修改”(Modify)功能可以更改變量的值。但是,此功能對輸入(I)或輸出(Q)不起作用,這是因為CPU會在讀取已修改的值之前自動讀取I/O值并覆蓋更新。知識卡7西門子博途開發軟件四、程序的調試、運行監控與故障診斷圖4.12監視表格界面
2.監視和修改CPU中的數據
可在LAD和FBD程序編輯器中監控多達50個變量的狀態。在程序編輯器的工具欄中,單擊“接通/斷開監視”(Monitoringon/off)按鈕,以顯示用戶程序的狀態,如圖4.所示。還可以右鍵單擊指令或參數,以修改指令值。知識卡7西門子博途開發軟件四、程序的調試、運行監控與故障診斷
2.監視和修改CPU中的數據
在分析梯形圖的邏輯關系時,為了借用繼電器電路圖的分析方法,可以想象在梯形圖的左右兩側垂直“母線”(電源線)之間有一個左正右負的直流電源電壓,如圖4.13所示,圖中“On”或“Run”接通,“Off”斷開時有一個假想的“能流”(PowerFlow)流過“Run”線圈,利用能流這一概念,可以借用繼電器電路的術語和分析方法,幫助我們更好的理解和分析,梯形圖。需要注意的是能流只能從左向右流動。程序段內的邏輯運算按從左向右的方向執行,與能流的方向一致。如果沒有跳轉指令,程序段之間按從上到下的順序執行,執行完所有的程序段后,下一次掃描循環返回最上面的程序段,重新開始執行。在程序監控過程中,網絡以綠色顯示能流。左側的母線相當于電源,右側母線相當于地,程序正確運行,能流從左側母線流向右側母線。知識卡7西門子博途開發軟件四、程序的調試、運行監控與故障診斷
2.監視和修改CPU中的數據
除上述仿真、監控功能外,Step7Basic軟件還提供捕獲
DB的在線值、重設起始值、監視或修改PLC變量時使用觸發器、在CPU處于STOP模式時寫入輸出、“強制”功能、在RUN模式下的下載等操作功能。圖4.13梯形圖運行界面知識卡8S7-1200的編程基礎一、編程語言
1.PLC編程語言
IEC61131-3是世界上第一個,也是至今唯一的工業控制系統的編程語言標準,已成為DCS、IPC、FCS、SCADA和運動控制系統的軟件標準。IEC61131-3的五種編程語言分別是:
梯形圖(LadderDiagram,LD),簡稱LAD;基于電路圖來表示的一種圖形編程語言
函數塊圖(FunctionBlockDiagram,FBD);
結構文本(StructuredText,ST),西門子S7-1200為結構化控制語言(StructuredControlLanguage,SCL);
指令表(InstructionList,IL)
順序功能圖(SequentialFunctionChart,SFC)。西門子公司為S7-1200PLC提供3種標準編程語言:梯形圖(LAD)、功能塊圖(FBD)和結構化控制語言(SCL)。知識卡8S7-1200的編程基礎一、編程語言
1.PLC編程語言
1)梯形圖梯形圖沿用了繼電器、觸頭、串/并聯等類似的圖形符號,并簡化了符號,還向多種功能(如數學、定時器、計數器和移動等)提供功能框指令。梯形圖是融邏輯操作、控制于一體,面向對象的、實時的、圖形化的編程語言。梯形圖按自上而下、從左到右的順序排列,最左邊的豎線稱為起始母線(也稱左母線),然后按一定的控制要求和規則連接各個節點,最后以繼電器線圈或功能框指令(或再接右母線)結束,稱為一個邏輯行或一個“梯級”。通常一個LAD程序段中有若干邏輯行(梯級),形似梯子,如圖4.14所示,梯形圖由此而得名。梯形圖信號流向清楚、簡單、直觀、易懂,很適合電氣工程人員及初學者使用。梯形圖在PLC中應用非常廣泛。各廠家、各型號PLC都把梯形圖作為第一編程語言。知識卡8S7-1200的編程基礎一、編程語言
1.PLC編程語言
1)梯形圖圖4.14梯形圖程序梯形圖由觸點、線圈和用方框表示的指令框組成。觸點代表邏輯輸入條件,例如外部的開關、按鈕、傳感器、內部的定時器、計數器觸點等內部條件。線圈代表邏輯運算的結果,常用來控制外部的負載和內部的標志位等。指令框用來表示定時器、計數器或運算、控制等指令。觸點和線圈等元素組成的電路稱為程序段,英文名稱為Network(網絡),STEP7自動為程序段編號。可在程序段編號右邊加程序段的標題,程序段編號下方輸入其注釋。知識卡8S7-1200的編程基礎一、編程語言
1.PLC編程語言
1)梯形圖圖4.15梯形圖編程規則創建LAD程序段時應注意以下規則:①不能創建如圖4.15(a)所示可能導致反向能流的分支;②不能創建如圖4.15(b)所示可能導致短路的分支。知識卡8S7-1200的編程基礎一、編程語言
1.PLC編程語言
2)函數塊圖圖4.16函數塊圖類似于普通的邏輯功能圖,它沿用了半導體邏輯電路的邏輯框圖的表達方式,使用布爾代數的圖形邏輯符號來表示控制邏輯,使用指令框來表示復雜的功能,有基本功能模塊和特殊功能模塊兩類。基本功能模塊如AND、OR、XOR等,特殊功能模塊如脈沖輸出、計數器等。一般用一種功能方框表示一種特定的功能,框圖內的符號表達了該功能塊圖的功能。如圖4.16所示,第一個框表示進行時間比較,比較的結果和第二個框的“I0.0”進行與運算,與運算的結果控制“Q0.0”的狀態。知識卡8S7-1200的編程基礎一、編程語言
1.PLC編程語言
3)SCL圖4.17SCL語言結構化控制語言(StructuredControlLanguage,SCL)是用于SIMATICS7CPU的基于PASCAL的高級編程語言。SCL指令使用標準編程運算符,其程序結構如圖4.17所示。例如,用(:=)表示賦值,+表示相加,-表示相減,*表示相乘,/表示相除。SCL也使用標準的PASCAL程序控制操作,如IF-THEN-END_IF、CASE、REPEAT-UNTIL、GOTO和RETURN等。知識卡8S7-1200的編程基礎二、數據類型
1.常數1)數制(1)二進制數二進制數的1位只能為0和1。用1位二進制數來表示開關量的兩種不同的狀態。如果該位為1,梯形圖中對應的位編程元件的線圈通電、常開觸點接通、常閉觸點斷開,稱該編程元件為TRUE或1狀態。該位為0則反之,稱該編程元件為FALSE或0狀態。二進制位的數據類型為BOOL(布爾)型。(3)十六進制數十六進制數用于簡化二進制數的表示方法,16個數為0~9和A~F(10~15),1位十六進制數對應于4位二進制數,例如2#0001001110101111可以轉換為16#13AF或13AFH。十六進制數“逢16進1”,第n位的權值為16n。16#2F對應的十進制數為2×161+15×160=47。知識卡8S7-1200的編程基礎二、數據類型
1.常數2)編碼
(1)補碼有符號二進制整數用補碼來表示,其最高位為符號位,符號位為0時為正數,為1時為負數。正數的補碼就是它本身,最大的16位二進制正數為32767。將正數的補碼逐位取反后加1,得到絕對值與它相同的負數的補碼。例如1158對應的補碼為2#0000010010000110,-1158對應的補碼為2#1111101101111010。(2)ASCII碼ASCII碼即美國信息交換標準代碼,是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。其中數字0~9的ASCII碼為十六進制數30H~39H,英語大寫字母A~Z的ASCII碼為41H~5AH,英語小寫字母a~z的ASCII碼為61H~7AH。詳細情況可查閱ASCII碼表。知識卡8S7-1200的編程基礎二、數據類型
1.常數2)編碼
圖4.17BCD碼格式(3)BCD碼BCD是二進制編碼的十進制數的縮寫,用4位二進制數表示一位十進制數,每位BCD碼允許的數值范圍為2#0000~2#1001,對應于十進制數0~9。BCD碼的最高4位表示符號,負數為1111,正數為0000。16位BCD碼的范圍為-999~+999,32位BCD碼的范圍為-9999999~+9999999。圖4.17中的BCD碼為-829。BCD碼用于PLC的輸入和輸出。知識卡8S7-1200的編程基礎二、數據類型
2.數據類型數據類型用來描述數據的長度(即二進制的位數)和屬性。1)基本數據類型S7-1200PLC的指令參數所用的基本數據類型有布爾型(Bool)、字節型(Byte)、字型(Word)、雙字型(DWord)、無符號8位整數USInt、有符號8位整數SInt、無符號16位整數UInt、有符號16位整數Int、無符號32位整數UDInt、有符號32位整數DInt、32位實數型Real、64位實數型LReal、IEC時間值Time、日期值Date,以及時鐘值TOD、字節日期和時間結構DTL、單字符Char、雙字符WChar、單字節字符串String、雙字節字符串WString。知識卡8S7-1200的編程基礎二、數據類型
2.數據類型數據類型用來描述數據的長度(即二進制的位數)和屬性。2)擴展數據類型擴展數據類型包含全局數據塊、數組、指針等。在此僅簡單介紹全局數據塊和數組。(1)全局數據塊單擊項目樹中的“添加新塊”,單擊打開的對話框中的“數據塊(DB)”按鈕,生成一個數據塊,如圖4.18所示。可以修改其名稱,其類型為默認的“全局DB”。知識卡8S7-1200的編程基礎二、數據類型
2.數據類型
2)擴展數據類型(2)數組數組(Array)是由固定數目的同一種數據類型元素組成的數據結構。允許使用除了Array之外的所有數據類型作為數組的元素,最多為6維。圖4.20是名為“電流”的二維數組Array[1..2,1..3]ofByte的內部結構。第一維的下標1、2是電動機的編號,第二維的下標1~3是三相電流的序號。數組元素“電流[1,2]”是一號電動機的第2相的電流。圖4.20數組定義知識卡8S7-1200的編程基礎二、數據類型
3.數據長度與數值范圍表4.3S7-1200的常用數據類型、長度及其范圍序號變量類型符號位數取值范圍常數舉例1位Bool11,0TRUE,FALSE或1,02字節Byte816#00~16#FF16#12,16#AB3字Word1616#0000~16#FFFF16#ABCD,16#00014雙字DWord3216#00000000~16#FFFFFFFF16#02468ACE5字符Char816#00~16#FF‘A’,‘t’,‘@’6有符號字節SInt8-128~127110,-887有符號整數Int16-32768~3276730000,-123008有符號雙整數DInt32-2147483648~214748364712300,-123009無符號字節USInt80~25522310無符號整數UInt160~655356500011無符號雙整數UDInt320~429496729586500012單精度浮點數(實數)Real32±1.175495×10-38~±3.402823×103812.45,-3.4,-1.2E+313雙精度浮點數(實數)LReal64±2.2250738585072020×10-308~±1.7976931348623157×1030812345.12345-1,2E+4014時間Time32T#-24d_20h_31m_23s_648ms~T#24d_20h_31m_23s_647msT#1d_2h_15m_30s_45ms15日期Date16D#1990-1-1~D#2168-12-31D#2009-12-31知識卡8S7-1200的編程基礎三、存儲區與地址1.西門子S7-1200的存儲區西門子S7-1200的CPU內有用于存儲用戶程序、數據和組態的存儲區,包括裝載存儲器、工作存儲器、保持性存儲器和存儲卡四種存儲器。裝載存儲器,用于非易失性地存儲用戶程序、數據和組態。將項目下載到CPU后,CPU會先將程序存儲在裝載存儲區中。該存儲區位于存儲卡(如存在)或CPU中。CPU能夠在斷電后繼續保持該非易失性存儲區。存儲卡支持的存儲空間比CPU內置的存儲空間更大。工作存儲器,是易失性存儲器,集成在CPU中的高速存取的RAM。類似于計算機的內存,用于在執行用戶程序時存儲用戶項目的某些內容。CPU會將一些項目內容從裝載存儲器復制到工作存儲器中。該易失性存儲區將在斷電后丟失,而在恢復供電時由CPU恢復。保持性存儲器,用于非易失性地存儲限量的工作存儲器值。斷電過程中,CPU使用保持性存儲器存儲所選用戶存儲單元的值。如果發生斷電或掉電,CPU將在上電時恢復這些保持性值。可選的存儲卡,用來存儲用戶程序,或用于傳送程序。知識卡8S7-1200的編程基礎三、存儲區與地址1.西門子S7-1200的存儲區存儲器按用途可以分為程序區、系統區、數據區。程序區用于存放用戶程序,存儲器為EEPROM。系統區用于存放有關PLC配置結構的參數,如PLC主機及擴展模塊的I/O配置和編址、配置PLC站地址,設置保護口令、停電記憶保持區、軟件濾波功能等,存儲器為EEPROM。數據區是S7-1200CPU提供的存儲器特定區域。它包括過程映象輸入(I)、物理輸入(I_:P)、過程映象輸出(Q)、物理輸出(Q_:P)、位存儲器(M)、臨時存儲器(L)、函數塊(FB)的變量、數據塊(DB)。數據區空間是用戶程序執行過程中的內部工作區域。數據區使CPU的運行更快、更有效。存儲器為EEPROM和RAM。用戶對程序區、系統區和部分數據區進行編輯,編輯后寫入PLC的EEPROM。RAM為EEPROM存儲器提供備份存儲區,用于PLC運行時動態使用。RAM由大容量電容進行停電保持。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式1)尋址方式S7-1200提供存儲用戶程序、數據和組態的存儲區。尋址方式就是對數據存儲區進行讀寫訪問的方式。STEP7的尋址方式有:立即數尋址、直接尋址、間接尋址三大類。其中:
立即數尋址的數據在指令中以常數形式出現;
直接尋址是指在指令中直接給出要訪問的存儲器或寄存器的名稱和地址編號;STEP7的直接尋址有:位尋址;字節尋址;字尋址;雙字尋址。
間接尋址是指使用地址指針間接給出要訪問的存儲器或寄存器地址。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式2)數據存儲區地址格式每個存儲單元都有唯一的地址。用戶程序利用這些地址訪問存儲單元中的信息。如圖4.21所示,由以下元素組成:存儲區標識符(如I、Q或M);要訪問的數據的大小(“B”表示Byte、“W”表示Word或“D”表示DWord);數據的起始地址(如字節3或字3);A—存儲區標識符B—字節地址:字節3C—分隔符(“字節.位”)D—位在字節中的位置(位4,共8位)E—存儲區的字節F—選定字節的位圖4.21存儲地址訪問方式知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
(1)位地址訪問位地址中的位時,不需要輸入數據大小的助記符,格式為:地址標識符+字節起始地址.位地址,例如I0.0、Q0.1或M3.4。圖4.21存儲地址訪問方式(2)字節、字、雙字地址訪問字節、字、雙字地址數據區存儲器的區域格式為:地址標識符+數據長度類型+字節起始地址例如MB2、MW2、MD2分別表示字節、字、雙字地址。MW2由MB2和MB3兩個字節組成;MD2由MB2~MB5四個字節組成。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
圖4.22MB2、MW2、MD2三種尋址方式對應的存儲空間(2)字節、字、雙字地址其中數據長度類型包含字節、字和雙字,分別使用“B”(BYTE)、“W”(WORD)、“D”(DoubleWORD)表示。當數據長度為多字節時,各字節按字節起始地址由高到低排序,如圖4.22所示為MB2、MW2、MD2三種尋址方式對應的存儲空間。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
3)數據區存儲器區域(1)輸入/輸出映像寄存器(I/Q)①輸入映像寄存器(I)過程映像輸入(I)也稱為輸入映像寄存器(I)。PLC的輸入端子是從外部接收輸入信號的窗口。每個輸入端子與輸入映像寄存器(I)的相應位相對應。輸入點的狀態在每次掃描周期開始(或結束)時進行采樣,并將采樣值存于輸入映像寄存器,作為程序處理時輸入點狀態的依據。輸入映像寄存器的狀態只能由外部輸入信號驅動,而不能在內部由程序指令來改變。輸入映像寄存器(I)的地址格式為:位地址:I[字節地址].[位地址],如I0.1。字節、字、雙字地址:I[數據長度][起始字節地址],如IB4、IW6、ID10。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
3)數據區存儲器區域(1)輸入/輸出映像寄存器(I/Q)②物理輸入(I_:P)物理輸入(I_:P)也稱為物理輸入點(輸入端子),其功能是通過在讀指令的位地址I偏移量后追加“:P”,可執行立即讀取物理輸入點的狀態(例如:“%I3.4:P”)。對于立即讀取,直接從物理輸入讀取位數據值,而非從過程映像中讀取。立即讀取不會更新對應的過程映像。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
3)數據區存儲器區域(1)輸入/輸出映像寄存器(I/Q)③過程映像輸出(Q)也稱為輸出映像寄存器(Q)。每個輸出模塊的端子與輸出映像寄存器的相應位相對應。CPU將輸出判斷結果存放在輸出映像寄存器中,在掃描周期的結尾,CPU以批處理方式將輸出映像寄存器的數值復制到相應的輸出端子上,通過輸出模塊將輸出信號傳送給外部負載。可見,PLC的輸出端子是PLC向外部負載發出控制命令的窗口。輸出映像寄存器(Q)地址格式為:位地址:Q[字節地址].[位地址],如Q1.1。字節、字、雙字地址:Q[數據長度][起始字節地址],如QB5、QW8、QD11。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
3)數據區存儲器區域(1)輸入/輸出映像寄存器(I/Q)④物理輸出(Q_:P)物理輸出(Q_:P)也稱為物理輸出點(輸出端子),其功能是通過在寫指令的位地址Q偏移量后追加“:P”,可執行立即輸出結果到物理輸出點(例如:“%Q3.4:P”)。對于立即輸出,將位數據值寫入輸出過程映像輸出并直接寫入物理輸出點。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
3)數據區存儲器區域(2)位存儲器(M)內部全局標志位存儲器(M),用于中間運算結果或標志位的存儲,是模擬繼電器控制系統中的中間繼電器,針對控制繼電器及數據的位存儲區(M存儲器)用于存儲操作的中間狀態或其它控制信息。可以按位、字節、字或雙字訪問位存儲區。M存儲器允許讀訪問和寫訪問。位存儲器(M)的地址格式為:位地址:M[字節地址].[位地址],如M26.7。字節、字、雙字地址:M[數據長度][起始字節地址],如MB11、MW23、MD26。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
3)數據區存儲器區域(3)臨時存儲器(L)CPU根據需要分配臨時存儲器。啟動代碼塊(對于OB)或調用代碼塊(對于FC或FB)時,CPU將為代碼塊分配臨時存儲器并將存儲單元初始化為0。臨時存儲器與M存儲器類似,但有一個主要的區別:M存儲器在“全局”范圍內有效,而臨時存儲器只在“局部”范圍內有效。M存儲器:任何OB、FC或FB都可以訪問M存儲器中的數據,也就是說,這些數據可以全局性地用于用戶程序中的所有元素。CPU限定只有創建或聲明了臨時存儲單元的OB、FC或FB才可以訪問臨時存儲器中的數據。臨時存儲單元是局部有效的,并且其他代碼塊不會共享臨時存儲器,即使在代碼塊調用其他代碼塊時也是如此。例如:當OB調用FC時,FC無法訪問對其進行調用的OB的臨時存儲器。可以按位、字節、字、雙字訪問局部存儲器,局部存儲器(L)的地址格式為:位地址:L[字節地址].[位地址],如L0.0。字節、字、雙字地址:L[數據長度][起始字節地址],如LB33、LW44、LD55。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
3)數據區存儲器區域(4)數據塊(DB)DB存儲器用于存儲各種類型的數據,其中包括操作的中間狀態或FB的其它控制信息參數,以及許多指令(如定時器和計數器)所需的數據結構。可以按位、字節、字或雙字訪問數據塊存儲器。讀/寫數據塊允許讀訪問和寫訪問,只讀數據塊只允許讀訪問。位地址:DB[數據塊編號].DBX[字節地址].[位地址],如DB1.DBX2.3。字節、字、雙字地址:DB[數據塊編號].DB[大小][起始字節地址],如DB1.DBB4、DB10.DBW2、DB20.DBD8。S7-1200PLC的常用存儲區(寄存器)、基本功能以及相關約定可參閱表4.3所示內容。知識卡8S7-1200的編程基礎三、存儲區與地址2.數據區存儲器的地址表示格式
3)數據區存儲器區域(4)數據塊(DB)表4.3常用存儲區存儲區(符號)功能說明強制保持過程映像輸入(I)在掃描循環開始時,從物理輸入復制的輸入值無無物理輸入(I_:P)通過該區域立即讀取物理輸入支持無過程映像輸出(Q)在掃描循環開始時,將輸出值寫入物理輸出無無物理輸出(Q_:P)通過該區域立即寫物理輸出支持無位存儲器(M)用于存儲用戶程序的中間運算結果或標志位無支持臨時存儲器(L)塊的臨時局部數據,只能供塊內部使用,只可以通過符號方式來訪問無無數據塊(DB)數據存儲器與FB的參數存儲器無支持知識卡9S7-1200指令及應用一、指令的知識1、指令的概念
一條語句就是給CPU的一條命令,規定其對誰(操作數)做什么工作(操作碼)。一個控制動作由一句或多句語句組成的應用程序來實現。指令一般由操作碼和操作數構成。其中:操作碼:是PLC指令系統的指令代碼,或稱指令助記符,表示需要進行的工作。操作數:是指令的操作對象,主要是存儲區地址,每一個存儲區地址都用一個字母或特殊的數字開頭,表示所屬存儲區的類型;后綴的數字則表示該存儲區中的位號。操作數也可以表示用戶對時間和計數常數的設置、跳轉地址的編號等,也有個別指令不含操作數,如空操作指令。例如:ADDIN1IN2指令的操作碼是ADD(加法),操作數是IN1和IN2。知識卡9S7-1200指令及應用一、指令的知識2、指令的分類
西門子S7-1200PLC的指令系統分為基本指令、擴展指令、工藝指令、通信指令和選件包指令5類。基本指令包含位邏輯運算指令(直接對輸入和輸出點進行操作的指令,如輸入、輸出及邏輯“與”、“或”、“非”等操作);定時器指令、計數器指令;數據傳送、數據處理、數據運算、程序控制等操作的指令。基本指令是學習的重點,而擴展指令、工藝、通信及選件包指令可以查閱手冊來學習并應用。知識卡9S7-1200指令及應用二、S7-1200基本指令S7-1200PLC有10種基本指令,包含:位邏輯運算指令;定時器操作指令;計數器操作指令;比較操作指令;數學運算指令;移動操作指令;轉換操作指令;程序控制指令;邏輯運算指令;移位和循環移位指令。1.位邏輯運算指令位邏輯運算指令如圖4.23所示。主要完成數字量信息的輸入、運算和輸出控制功能。位邏輯運算指令包含:觸點和線圈等基本元素指令、置位和復位指令、上升沿和下降沿指令。位邏輯運算指令中如果有操作數,則為BOOL型,操作數的編址范圍可以是:I、I_:P、Q、Q_:P、M、L、DB。知識卡9S7-1200指令及應用二、S7-1200基本指令1.位邏輯運算指令圖4.23位邏輯運算指令知識卡9S7-1200指令及應用二、S7-1200基本指令1.位邏輯運算指令1)觸點和線圈等基本元素指令觸點和線圈等基本元素指令包括觸點指令、NOT邏輯反相器指令、輸出線圈指令,主要是與位相關的輸入/輸出及觸點的簡單連接。(1)觸點指令在梯形圖中,每個從左母線開始的單一邏輯行、每個程序塊(邏輯梯級)的開始、指令框的輸入端都必須使用觸點指令,觸點指令程序如圖4.24所示。觸點有常開觸點(
)和常閉觸點(
)兩種,可將觸點相互連接并創建用戶自己的組合邏輯。LAD觸點分配位IN為布爾型,IN值賦“1”時,常開觸點閉合(ON),常閉觸點斷開(OFF);IN值賦“0”時,常開觸點斷開(OFF),常閉觸點閉合(ON)。知識卡9S7-1200指令及應用二、S7-1200基本指令1.位邏輯運算指令1)觸點和線圈等基本元素指令(1)觸點指令通過在I偏移量后追加“:P”,可執行立即讀取物理輸入(例如,%I3.4:P)。對于立即讀取,直接從物理輸入讀取位數據值,而非從過程映像輸入寄存器中讀取。立即讀取不會更新過程映像輸入寄存器。圖4.24觸點指令程序知識卡9S7-1200指令及應用二、S7-1200基本指令1.位邏輯運算指令1)觸點和線圈等基本元素指令(1)觸點指令
(2)NOT邏輯反相器指令NOT邏輯反相器指令可對輸入的邏輯運算結果(RLO)進行取反。NOT指令能取反能流輸入的邏輯狀態,如圖4.25所示。(3)輸出線圈指令輸出線圈有賦值線圈(
)和賦值取反線圈(
)兩種,可向輸出位OUT寫入值,OUT數據類型為布爾型,如圖4.25所示,Q0.2為賦值線圈。知識卡9S7-1200指令及應用二、S7-1200基本指令1.位邏輯運算指令1)觸點和線圈等基本元素指令(1)觸點指令
(2)NOT邏輯反相器指令圖4.25NOT指令
如果有能流通過輸出線圈,則賦值線圈輸出位OUT設置為“1”,賦值取反線圈輸出位OUT設置為“0”;如果沒有能流通過輸出線圈,則賦值線圈輸出位OUT設置為“0”,賦值取反線圈輸出位OUT設置為“1”。通過在Q偏移量后加上“:P”,可指定立即寫入物理輸出(例如,%Q3.4:P)。對于立即寫入,將位數據值寫入過程映像輸出并直接寫入物理輸出。知識卡9S7-1200指令及應用二、S7-1200基本指令1.位邏輯運算指令觸點串聯方式連接,創建AND(與)邏輯程序段;觸點并聯方式連接,創建OR(或)邏輯程序段。【例4-1】編寫兩個輸入點I0.0和I0.1的與運算(結果控制Q0.0)、或運算(結果控制Q0.1)、異或運算(結果控制Q0.2)和同或運算(結果控制Q0.3),程序如圖4.26所示。知識卡9S7-1200指令及應用圖4.26觸點邏輯運算知識卡9S7-1200指令及應用二、S7-1200基本指令2)置位和復位指令置位和復位指令包含:置位線圈和復位線圈指令、置位和復位位域指令、置位優先和復位優先指令。置位即置1且保持,復位即置0且保持,即置位和復位指令具有“記憶”功能。
(1)S和R:置位和復位線圈指令
置位線圈(
)和復位線圈(
)指令,OUT分配位數據類型為布爾型。當線圈輸入的邏輯運算結果(RLO)為“1”時,才執行S和R指令,S指令參數OUT的數據值設置為1,R指令參數OUT的數據值設置為0。當線圈輸入的邏輯運算結果(RLO)為“0”時,不執行S和R指令。置位和復位線圈指令編程實例如圖4.27所示。圖4.27置位和復位線圈指令知識卡9S7-1200指令及應用二、S7-1200基本指令
(2)SET_BF和RESET_BF:置位和復位位域指令
置位和復位位域指令的參數OUT的數據類型為布爾型,用于指定置位或復位位域起始元素;參數n的數據類型為無符號整型,賦值為常量,用于指定要置位或復位的二進制位數。當指令輸入的邏輯運算結果(RLO)為“1”時,執行SET_BF和RESET_BF指令;執行SET_BF時,置位從OUT開始的n位二進制數;執行RESET_BF時,復位從OUT開始的n位二進制數。當指令輸入的邏輯運算結果(RLO)為“0”時,不執行指令。SET_BF和RESET_BF指令必須是梯形圖分支中最右端的指令,指令的編程實例如圖4.28所示。當I0.0接通,I0.1斷開時,置位M0.0開始的4位二進制數,即M0.0~M0.3均為“1”,同時復位M1.4開始的4位二進制數,即M1.4~M1.7均為“0”。知識卡9S7-1200指令及應用二、S7-1200基本指令
(2)SET_BF和RESET_BF:置位和復位位域指令圖4.28置位和復位位域指令知識卡9S7-1200指令及應用二、S7-1200基本指令
(3)RS和SR:置位優先和復位優先指令(a)RS置位優先指令(b)SR復位優先指令圖4.29置位優先和復位優先指令RS和SR指令分配位S和S1為置位輸入,S1表示置位優先;分配位R和R1為復位輸入,R1表示復位優先;分配位INOUT為待置位或復位的數據;分配位Q遵循INOUT位的狀態,指令如圖4.29所示。分配位S、S1、R、R1、INOUT和Q的數據類型都為布爾型。知識卡9S7-1200指令及應用二、S7-1200基本指令
(3)RS和SR:置位優先和復位優先指令表4.4RS和SR指令的輸入/輸出變化指令S1RINOUTQRS00先前狀態遵循INOUT位的狀態010101111指令SR1INOUTQSR00先前狀態遵循INOUT位的狀態010101110知識卡9S7-1200指令及應用二、S7-1200基本指令
(3)RS和SR:置位優先和復位優先指令(a)RS置位優先指令(b)SR復位優先指令圖4.29置位優先和復位優先指令【例4-2】設計一個單按鈕啟停控制程序,奇數次按下按鈕燈亮,偶數次按下按鈕燈滅。編程方法1:使用復位優先指令實現,奇數次按下I0.0,Q0.2接通;偶數次按下I0.0,由于S和R1同時高電平,由于復位優先,Q0.2斷開。程序如圖4.30(a)所示。編程方法2:使用置位優先指令實現,奇數次按下I0.0,Q0.2接通,Q0.2常閉觸點斷開;偶數次按下I0.0,由于R和S1同時高電平,由于置位優先,Q0.2斷開。程序如圖4.30(b)所示。知識卡9S7-1200指令及應用二、S7-1200基本指令
(3)RS和SR:置位優先和復位優先指令(a)使用RS指令(b)使用SR指令圖4.30單按鈕啟停控制程序知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令上升沿和下降沿指令包含:P和N觸點指令、P和N線圈指令、P_TRIG和N_TRIG功能框指令、R_TRIG和F_TRIG功能框指令。
(1)P和N觸點指令P和N觸點指令掃描IN的上升沿和下降沿,如圖4.31(a)所示為置位/復位觸點指令。分配位IN為指令要掃描的信號,數據類型為布爾型;分配位M_BIT保存上次掃描的IN的信號狀態,數據類型為布爾型。僅將M、全局DB或靜態存儲器(在背景DB中)用于M_BIT存儲器分配。執行指令時,P和N觸點指令比較IN的當前信號狀態與保存在操作數M_BIT中的上一次掃描的信號狀態。檢測到操作數IN的上升沿時,P觸點指令的信號狀態將在一個程序周期內保持置位為“1”;檢測到操作數IN的下降沿時,N觸點指令的信號狀態將在一個程序周期內保持置位為“1”;在其他任何情況下,P和N觸點指令的信號狀態均為“0”。P和N觸點指令編程實例如圖4.32所示。知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令
(1)P和N觸點指令(a)置位/復位觸點指令(b)置位/復位線圈指令圖4.31P和N指令圖4.32P和N觸點指令編程實例知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令(2)P和N線圈指令P和N線圈指令在信號上升沿和下降沿,如圖4.31(b)所示。將分配位OUT在一個程序周期內置位為“1”。分配位OUT數據類型為布爾型;分配位M_BIT保存上次查詢的線圈輸入信號狀態,數據類型為布爾型。僅將M、全局DB或靜態存儲器(在背景DB中)用于M_BIT存儲器分配。執行指令時,P和N線圈指令將比較當前線圈輸入信號狀態與保存在操作數M_BIT中的上一次查詢的信號狀態。P和N線圈指令編程實例如圖4.33所示。知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令(2)P和N線圈指令圖4.33P和N線圈指令編程實例知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令(3)P_TRIG和N_TRIG功能框指令圖4.34P/N觸發功能框指令P_TRIG和N_TRIG功能框指令,如圖4.34所示。分配位CLK為指令要掃描的信號,數據類型為布爾型;分配位M_BIT保存上次掃描的CLK的信號狀態,數據類型為布爾型;Q為指令邊沿檢測的結果,數據類型為布爾型。執行指令時,P_TRIG和N_TRIG指令比較CLK輸入的RLO當前狀態與保存在操作數M_BIT中上一次查詢的信號狀態。檢測到CLK輸入的RLO上升沿時,P_TRIG指令的Q將在一個程序周期內置位為“1”;檢測到CLK輸入的RLO下降沿時,N_TRIG指令的Q將在一個程序周期內置位為“1”;在其他任何情況下,輸出Q的信號狀態均為“0”。在LAD編程中,P_TRIG和N_TRIG指令不能放置在程序段的開頭或結尾。知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令(4)R_TRIG和F_TRIG功能框指令圖4.35R/F觸發功能框指令R_TRIG和F_TRIG功能框指令檢測分配位CLK信號的上升沿和下降沿,指令如圖4.35所示。分配位CLK為指令要掃描的信號,分配位Q為指令邊沿檢測的結果,分配位M_BIT保存上次掃描的CLK的信號狀態,所有數據類型均為布爾型。指令調用時,分配的背景數據塊可存儲CLK輸入的前一狀態。使能輸入EN為“1”時,執行R_TRIG和F_TRIG指令。執行指令時,R_TRIG和F_TRIG指令比較參數CLK輸入的當前狀態與保存在背景數據塊中上一次查詢的信號狀態。檢測到參數CLK輸入信號上升沿時,R_TRIG指令的輸出Q將在一個程序周期內置位為“1”;檢測到參數CLK輸入信號下降沿時,F_TRIG指令的輸出Q將在一個程序周期內置位為“1”;在其他任何情況下,輸出Q的信號狀態均為“0”。知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令(4)R_TRIG和F_TRIG功能框指令圖4.36R_TRIG功能框指令編程在LAD編程中,R_TRIG和F_TRIG指令不能放置在程序段的開頭或結尾,如圖4.34所示為R_TRIG功能框指令編程實例。知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令(4)R_TRIG和F_TRIG功能框指令例4-3】設計故障信息顯示電路,從故障信號I0.0的上升沿開始,Q0.7控制的指示燈以1Hz的頻率閃爍。操作人員按復位按鈕I0.1后,如果故障已經消失,則指示燈熄滅。如果沒有消失,則指示燈轉為常亮,直至故障消失,故障信息顯示的時序圖如圖4.35(a)所示。設置MB0為時鐘存儲器字節,M0.5提供周期為1s的時鐘脈沖。出現故障時,將I0.0提供的故障信號用M2.1鎖存起來,M2.1和M0.5的常開觸點組成的串聯電路使Q0.7控制的指示燈以1Hz的頻率閃爍。按下復位按鈕I0.1,故障鎖存標志M2.1被復位為0狀態。如果故障已經消失,指示燈熄滅。如果沒有消失,M2.1的常閉觸點與I0.0的常開觸點組成的串聯電路使指示燈轉為常亮,直至I0.0變為0狀態,故障消失,指示燈熄滅。故障信息顯示的梯形圖如圖4.37(b)所示。知識卡9S7-1200指令及應用二、S7-1200基本指令
3)上升沿和下降沿指令(4)R_TRIG和F_TRIG功能框指令(a)故障信息顯示時序圖(b)故障信息顯示梯形圖圖4.37故障信息顯示電路圖知識卡9S7-1200指令及應用二、S7-1200基本指令
2.定時器操作指令和計數器操作指令定時器和計數器由集成電路構成,是PLC中的重要硬件編程器件。兩者電路結構基本相同,對內部固定脈沖信號計數即為定時器,對外部脈沖信號計數即為計數器。西門子S7-1200的定時器操作指令和計數器操作指令如圖4.38所示。圖4.38定時器和計數器操作指令知識卡9S7-1200指令及應用二、S7-1200基本指令
1)定時器操作指令定時器操作指令包括:脈沖型定時器TP、接通延時定時器TON、關斷延時定時器TOF和保持性接通延時定時器TONR,四種定時器指令框如圖4.39所示。(a)TP指令
(b)TON指令(c)TOF指令(d)TONR指令圖4.39定時器操作指令知識卡9S7-1200指令及應用二、S7-1200基本指令
(1)TP指令(脈沖型定時器)脈沖型定時器可生成具有預設寬度時間的脈沖,指令標識符為TP。首次掃描,定時器輸出Q為0,當前值ET為0。IN是指令使能輸入,0為禁用定時器,1為啟用定時器;PT表示預設時間的輸入;Q表示定時器的輸出狀態;ET表示定時器的當前值,表示定時器從啟用時刻開始經過的時間。PT和ET以前綴“T#”+“TIME”數據類型表示,取值范圍0~2147483647ms。TP指令執行時的時序圖如圖4.40所示,當IN為1時啟動定時器,此時Q輸出為1,定時時間到,Q輸出為0;在定時器啟動工作后,Q輸出為1狀態,如果此時IN變為0,Q也要等到定時時間到才變為0。圖4.40TP指令執行時序圖知識卡9S7-1200指令及應用二、S7-1200基本指令
(1)TP指令(脈沖型定時器)TP指令的編程實例如圖4.41所示,當I0.0為ON時,Q0.0接通,10秒后Q0.0斷開,即實現產生10秒的脈沖功能。I0.1為1時,定時器復位線圈RT通電,定時器T1被復位。如果正在定時,且IN輸入信號為0狀態,將使當前時間值ET清零,Q輸出也變為0狀態。如果此時正在定時,且IN輸入信號為1狀態,將使當前時間清零,但是Q輸出保持為1狀態。復位信號I0.1變為0狀態時,如果IN輸入信號為1狀態,將重新開始定時。圖4.41TP編程實例知識卡9S7-1200指令及應用二、S7-1200基本指令
(2)TON指令(接通延時定時器)接通延時定時器在預設的延時過后將輸出Q設置為ON,定時器的指令標識符為TON。指令中引腳定義與TP指令引腳定義一致。TON指令執行時的時序圖如圖4.42所示,當IN為1時啟動定時器,此時Q輸出為0,定時時間到,Q輸出為1,此時IN為0,則Q輸出馬上變為0;如果IN為1,定時器啟動工作,但是沒有到設定時間IN變為0,則定時器被復位。圖4.42TON指令執行時序圖知識卡9S7-1200指令及應用二、S7-1200基本指令
(2)TON指令(接通延時定時器)TON指令的編程實例如圖4.43所示,當I0.2為ON時,定時器10s后Q0.1接通,即實現延時接通功能。當I0.3為ON時,復位定時器。圖4.43TON指令編程實例知識卡9S7-1200指令及應用二、S7-1200基本指令(2)TON指令(接通延時定時器)【例4-4】用接通延時定時器設計周期和占空比可調的振蕩電路。圖4.44中的串聯電路接通后,定時器T5的IN輸入信號為1狀態,開始定時。2s后定時時間到,它的Q輸出使定時器T6開始定時,同時Q0.7的線圈通電。3s后T6的定時時間到,它的輸出“T6”.Q的常閉觸點斷開,使T5的IN輸入電路斷開,其Q輸出變為0狀態,使Q0.7和定時器T6的Q輸出也變為0狀態。下一個掃描周期因為“T6”.Q的常閉觸點接通,T5又從預設值開始定時。Q0.7的線圈將這樣周期性地通電和斷電,直到串聯電路斷開。Q0.7線圈通電和斷電的時間分別等于T6和T5的預設值。圖4.44定時器設計振蕩電路知識卡9S7-1200指令及應用二、S7-1200基本指令
(3)TOF指令(關斷延時定時器)關斷延時定時器在預設的延時過后將輸出Q重置為OFF,定時器的指令標識符為TOF。指令中引腳定義與TP/TON指令引腳定義一致。TOF指令執行時的時序圖如圖4.45所示,當IN由0變為1時,Q為1;當IN由1變為0時,定時器開始定時,定時時間到,Q為0;如果IN為1的狀態下,突然有一個小于定時時間的延時,則Q不會變為0。圖4.45TOF指令時序圖知識卡9S7-1200指令及應用二、S7-1200基本指令
(3)TOF指令(關斷延時定時器)TOF指令的編程實例如圖4.46所示,當I0.5為ON時,Q0.4輸出為ON,當I0.5變為OFF時,Q0.4保持輸出10s后自動斷開為OFF,即實現延時關斷功能。圖4.46TOF編程實例知識卡9S7-1200指令及應用二、S7-1200基本指令
(4)TONR指令(保持性接通延時定時器)保持性接通延時定時器在預設的延時過后將輸出Q設置為ON,標識符為TONR。保持性接通延時定時器的功能與接通延時定時器的功能基本一致,區別在于保持型接通延時定時器在定時器的輸入端的狀態變為OFF時,定時器的當前值不清零,在使用R輸入重置經過的時間之前,會跨越多個定時時段一直累加經過的時間而接通延時定時器;在定時器的輸入端的狀態變為OFF時,定時器的當前值會自動清零。指令中引腳定義R表示重置定時器,其余與TP/TON指令引腳定義一致,TONR指令執行時的時序圖如圖4.47所示。圖4.47TONR時序圖知識卡9S7-1200指令及應用二、S7-1200基本指令
(4)TONR指令(保持性接通延時定時器)TONR指令的編程實例如圖4.48所示,當I0.5接通為ON時,TONR指令執行延時功能,若在定時器的延時時間未到達10s時,I0.5變為OFF,則定時器的當前值保持不變,當I0.5再次變為ON時,定時器在原基礎上繼續往上計時。當定時器的延時時間到達10s時,Q0.4輸出為ON。在任何時候,只要I1.1的狀態為ON,則該定時器的當前值都會被清零,輸出Q0.4復位。圖4.48TONR編程實例知識卡9S7-1200指令及應用二、S7-1200基本指令
(4)TONR指令(保持性接通延時定時器)【例4-5】用3種定時器指令設計衛生間沖水控制電路,功能為當光電開關檢測到有人使用,控制沖水電磁閥。當檢測有人使用時,延時3秒后沖水4s,檢測到人離開后沖水5s。圖4.49是衛生間沖水時序圖,圖4.50是梯形圖控制程序。I0.7是光電開關檢測到的有使用者的信號,用Q1.0控制沖水電磁閥。從I0.7(有人使用)的上升沿開始,TON延時3s后其輸出Q變為1狀態,使TP的IN輸入信號變為1狀態,M2.0提供4s的脈沖。TOF的Q輸出M2.1的波形減去I0.7的波形得到寬度為5s的脈沖波形,用兩個觸點的串聯電路來實現上述要求。兩塊脈沖波形的疊加用并聯電路來實現。M2.0的常開觸點用于防止3s內有人進入和離開時沖水。知識卡9S7-1200指令及應用二、S7-1200基本指令
(4)TONR指令(保持性接通延時定時器)圖4.49衛生間沖水控制時序圖知識卡9S7-1200指令及應用二、S7-1200基本指令
(4)TONR指令(保持性接通延時定時器)圖4.50衛生間沖水控制梯形圖知識卡9S7-1200指令及應用二、S7-1200基本指令
(4)TONR指令(保持性接通延時定時器)【例4-6】兩條傳送帶順序相連,如圖4.51所示,按下啟動按鈕I0.3,1號傳送帶開始運行,8s后2號傳送帶自動起動。按了停止按鈕I0.2,先停2號傳送帶,8s后停1號傳送帶。圖4.51傳送帶控制知識卡9S7-1200指令及應用二、S7-1200基本指令
(4)TONR指令(保持性接通延時定時器)在傳送帶控制程序中設置了一個用啟動、停止按鈕控制的輔助位M2.3,控制TON的IN輸入端和TOF線圈。中間標有TOF的線圈上面是定時器的背景數據塊,下面是時間預設值PT。TOF線圈和TOF方框定時器指令的功能相同。傳送帶控制梯形圖程序如圖4.52所示。圖4.52傳送帶控制梯形圖知識卡9S7-1200指令及應用二、S7-1200基本指令
2)計數器操作指令S7-1200有三種IEC計數器操作指令:加計數器(CTU)、減計數器(CTD)、加減計數器(CTUD),它們屬于軟計數器,其最大計數頻率受到OB掃描周期的限制。如果需要頻率更高的計數器,可以使用CPU內置的高速計數器。S7-1200的計數器屬于函數塊,調用時需要生成背景數據塊。單擊指令助記符下面的問號,用下拉式列表選擇某種整數數據類型。CU和CD分別是加計數輸入和減計數輸入,在CU或CD信號的上升沿,當前計數器值CV被加1或減1。PV為預設計數值,CV為當前計數器值,R為復位輸入,Q為布爾輸出。知識卡9S7-1200指令及應用二、S7-1200基本指令
(1)加計數器CTU當接在R輸入端的I1.1為0狀態,在CU信號I1.0的上升沿,CV加1,直到達到指定的數據類型的上限值用,CV的值不再增加。CV大于等于PV時,輸出Q為1狀態,反之為0狀態。第一次執行指令時,CV被清零。各類計數器的復位輸入R為1狀態時,計數器被復位,輸出Q變為0狀態,CV被清零。加計數指令及時序圖如圖4.53所示。圖4.53加計數器指令及時序圖知識卡9S7-1200指令及應用二、S7-1200基本指令(2)減計數器CTD減計數器的裝載輸入LD為1狀態時,輸出Q被復位為0,并把PV的值裝入CV。在減計數輸入CD的上升沿,CV減1,直到CV達到指定的數據類型的下限值。此后CV的值不再減小。CV
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒教育學 幼兒教育概述課件
- 打造幼教服務產業鏈園區生態圈
- 2024-2025學年下學期高二生物人教版期末必刷常考題之生態系統的物質循環
- 部編版二年級下冊第七單元《大象的耳朵》教案
- 8 4 拋物線-2026版53高考數學總復習A版精煉
- 2025屆河北省唐山市高三二模語文試題(解析版)
- 2024-2025學年四川省雅安市高三第一次診斷性考試語文試題(解析版)
- 2024-2025學年山東省威海市文登區高三第一次模擬語文試題(解析版)
- it項目應急預案
- 信訪問題回復函
- 亞聲威格入職培訓測試(武漢)附有答案
- 洗染行業消費糾紛處理指南
- GB/T 19995.1-2005天然材料體育場地使用要求及檢驗方法第1部分:足球場地天然草面層
- 山西省衛生院社區衛生服務中心信息名單目錄
- 全民經紀人協議書
- 護理學課件-鋪床法
- GB∕T 31062-2014 聚合物多元醇
- 氧、氬、二氧化碳氣體充裝企業風險點分級管控資料
- 人教版 2021-2022學年 五年級下冊數學期末測試試卷(一)含答案
- 西門子SAMA圖DEH邏輯講解
- 國家開放大學《土木工程力學(本)》形考作業1-5參考答案
評論
0/150
提交評論