




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SoMachine 軟件介紹和編程培訓(xùn)Confidential Property of Schneider Electric王兆宇2018-5-12Page 2Confidential Property of Schneider Electric |1SoMachine軟件簡(jiǎn)介軟件簡(jiǎn)介2SoMachine軟件編程入門(mén)培訓(xùn)軟件編程入門(mén)培訓(xùn)3SoMachine典型編程舉例典型編程舉例-HSC4SoMachine典型編程舉例典型編程舉例-PTO5SoMachine典型編程舉例典型編程舉例-Modbus6SoMachine典型編程舉例典型編程舉例-CANopen7SoMachine在線編譯、診斷在線編
2、譯、診斷SoMachinePage 3Confidential Property of Schneider Electric |Confidential Property of Schneider ElectricSoMachine V4.3 編程軟件編程軟件V1 2007V2 2009V3 2011V4.12014u友好的軟件界面友好的軟件界面u豐富的編程語(yǔ)言豐富的編程語(yǔ)言u(píng)靈活的配置方案靈活的配置方案u詳實(shí)的在線幫助詳實(shí)的在線幫助V4.1 SP12015V4.2 2016V4.3 2017V4.3 SP22018Confidential Property of Schneider Elec
3、tricSoMachine V4.2/V4.3 自定義安裝自定義安裝Windows 7 SP1 專(zhuān)業(yè)版 32 位/64 位Windows 8.1專(zhuān)業(yè)版 32 位/64 位Windows 10專(zhuān)業(yè)版 32 位/64 位PC推薦配置CPU-Intel Core i7內(nèi)存-8G硬盤(pán)-15G空閑空間SoMachine 4.2/4.3 軟件下載:請(qǐng)關(guān)注微信號(hào)SoMachine然后在首頁(yè)中下載SoMachine 4.1授權(quán)在4.2/3中有效SoMachine 具有強(qiáng)大的設(shè)備集成能力具有強(qiáng)大的設(shè)備集成能力簡(jiǎn)化機(jī)器的工程階段 實(shí)現(xiàn)完整的機(jī)器設(shè)備程序,通過(guò): 1 項(xiàng)目文件項(xiàng)目文件 1 次下載次下載 1 根編程電
4、纜根編程電纜 TVDA文檔和項(xiàng)目文件可以重復(fù)使用在相同機(jī)器上,大量節(jié)省設(shè)計(jì)時(shí)間。注:TVDA: Tested Validated Documented Architecture Page 6Confidential Property of Schneider Electric |高級(jí)集成 設(shè)備元件本體集成在SoMachine編程軟件中, 方便使用SoMachine兼容FDT/DTM 使用FDT/DTM 的好處: 所有集成設(shè)備的一致性基于統(tǒng)一的標(biāo)準(zhǔn),開(kāi)放第三方產(chǎn)品的接入Page 7Confidential Property of Schneider Electric | 通過(guò)拖放來(lái)配置你的設(shè)備通
5、過(guò)拖放來(lái)配置你的設(shè)備 從設(shè)備和模塊目錄 本地集成減少操作次數(shù) 驅(qū)動(dòng)器是預(yù)配置好的驅(qū)動(dòng)器是預(yù)配置好的 網(wǎng)絡(luò)配置已經(jīng)預(yù)設(shè)值完成 現(xiàn)場(chǎng)總線預(yù)配置完成 配置好的IO映射能夠簡(jiǎn)化項(xiàng)目的開(kāi)始階段 自動(dòng)加載庫(kù)文件第一步快速而且簡(jiǎn)單:拖放 編譯 下載 運(yùn)行 !SoMachine編程入門(mén)Page 8Confidential Property of Schneider Electric |SoMachine軟件軟件如何啟動(dòng)SoMachine和更改編程軟件的語(yǔ)言 從窗口的開(kāi)始菜單選擇從窗口的開(kāi)始菜單選擇SoMachine V4.2/4.3 或者雙擊桌面上的或者雙擊桌面上的SoMachine V4.2/4.3打開(kāi)So
6、Machine軟件 SoMachine第一次打開(kāi)后是英文版第一次打開(kāi)后是英文版在系統(tǒng)設(shè)定-logic builder option -International setting-選擇中文,選擇后點(diǎn)擊OK然后退出SoMachine再重新進(jìn)入就是中文界面了Page 9Confidential Property of Schneider Electric |SoMachine軟件啟動(dòng)介紹軟件啟動(dòng)介紹SoMachine 軟件啟動(dòng)畫(huà)面 進(jìn)入進(jìn)入SoMachine V4.2軟件后軟件后在啟動(dòng)界面下共有四個(gè)選項(xiàng)在啟動(dòng)界面下共有四個(gè)選項(xiàng)最近的項(xiàng)目-打開(kāi)最近編輯過(guò)的項(xiàng)目連接控制器新建項(xiàng)目打開(kāi)項(xiàng)目 選擇新建項(xiàng)目后
7、選擇新建項(xiàng)目后SoMachine提供4個(gè)新建項(xiàng)目的方式,分別是:使用助手帶模塊空項(xiàng)目新建庫(kù)Page 10Confidential Property of Schneider Electric |SoMachine軟件創(chuàng)建新的項(xiàng)目軟件創(chuàng)建新的項(xiàng)目使用模板 使用模板中的使用模板中的TVDA創(chuàng)建項(xiàng)目創(chuàng)建項(xiàng)目在帶模板選項(xiàng)下面,選擇機(jī)器類(lèi)型并填寫(xiě)項(xiàng)目名稱(chēng)在帶模板選項(xiàng)下面,選擇機(jī)器類(lèi)型并填寫(xiě)項(xiàng)目名稱(chēng)Page 11Confidential Property of Schneider Electric |SoMachine軟件創(chuàng)建新的項(xiàng)目軟件創(chuàng)建新的項(xiàng)目使用空項(xiàng)目創(chuàng)建新項(xiàng)目 使用空項(xiàng)目創(chuàng)建新的項(xiàng)目,項(xiàng)目中的使
8、用空項(xiàng)目創(chuàng)建新的項(xiàng)目,項(xiàng)目中的PLC、觸摸屏等硬件和程序需手動(dòng)添加、觸摸屏等硬件和程序需手動(dòng)添加Page 12Confidential Property of Schneider Electric |SoMachine軟件創(chuàng)建新的庫(kù)軟件創(chuàng)建新的庫(kù)使用空項(xiàng)目創(chuàng)建新庫(kù) 使用空項(xiàng)目創(chuàng)建新的庫(kù)使用空項(xiàng)目創(chuàng)建新的庫(kù)-庫(kù)的名稱(chēng)和庫(kù)的屬性庫(kù)的名稱(chēng)和庫(kù)的屬性Page 13Confidential Property of Schneider Electric |SoMachine主頁(yè)面編程環(huán)境介紹主頁(yè)面編程環(huán)境介紹主界面簡(jiǎn)介 多選項(xiàng)卡導(dǎo)航器:設(shè)備樹(shù)、應(yīng)用程序樹(shù)和工具樹(shù)Page 14Confidential Pr
9、operty of Schneider Electric |SoMachine設(shè)備樹(shù)設(shè)備樹(shù)硬件配置 在設(shè)備樹(shù)下雙擊需要編輯的條目在設(shè)備樹(shù)下雙擊需要編輯的條目例如需要設(shè)置高速計(jì)數(shù)器則雙擊counter,其它設(shè)置例如PTO,邏輯輸入、輸出、通訊等都使用同樣的方法 然后進(jìn)行進(jìn)一步設(shè)置,例如選擇高速計(jì)數(shù)器的類(lèi)型為HSCsimple IO上的擴(kuò)展:上的擴(kuò)展:Catridge、COM_Bus和和IO_Bus,采用右鍵菜單,選擇,采用右鍵菜單,選擇“添加設(shè)備添加設(shè)備”P(pán)age 15Confidential Property of Schneider Electric |SoMachine應(yīng)用程序樹(shù)應(yīng)用程序樹(shù)
10、編程的功能 應(yīng)用程序樹(shù)包含了軟件編程核心的功能應(yīng)用程序樹(shù)包含了軟件編程核心的功能 采用右鍵菜單,選擇采用右鍵菜單,選擇“添加對(duì)象添加對(duì)象”,可添加的對(duì)象包括最常用的,可添加的對(duì)象包括最常用的POU、跟蹤、可視化、配方、跟蹤、可視化、配方. 然后選擇添加程序組織單元然后選擇添加程序組織單元POU,在,在POU中選擇此中選擇此POU是程序、功能塊還是函數(shù)是程序、功能塊還是函數(shù)Page 16Confidential Property of Schneider Electric |SoMachine應(yīng)用程序樹(shù)續(xù)應(yīng)用程序樹(shù)續(xù)任務(wù)的配置和POU的調(diào)用 在任務(wù)配置中可創(chuàng)建多個(gè)任務(wù),在任務(wù)配置中可創(chuàng)建多個(gè)任務(wù)
11、, MAST任務(wù)在創(chuàng)建項(xiàng)目后自動(dòng)創(chuàng)建任務(wù)在創(chuàng)建項(xiàng)目后自動(dòng)創(chuàng)建 選擇某一任務(wù),例如選擇某一任務(wù),例如MAST任務(wù),雙擊進(jìn)入任務(wù)配置界面,設(shè)置任務(wù)優(yōu)先級(jí)(數(shù)值越小越高)和任任務(wù),雙擊進(jìn)入任務(wù)配置界面,設(shè)置任務(wù)優(yōu)先級(jí)(數(shù)值越小越高)和任務(wù)的類(lèi)型,如果是循環(huán)的,則每隔一段設(shè)置的務(wù)的類(lèi)型,如果是循環(huán)的,則每隔一段設(shè)置的“間隔間隔”時(shí)間自動(dòng)執(zhí)行。時(shí)間自動(dòng)執(zhí)行。Page 17Confidential Property of Schneider Electric |SoMachine應(yīng)用程序樹(shù)續(xù)應(yīng)用程序樹(shù)續(xù)任務(wù)的配置和POU的調(diào)用 在任務(wù)配置中可設(shè)置軟件看門(mén)狗,看門(mén)狗的報(bào)警時(shí)間在任務(wù)配置中可設(shè)置軟件看門(mén)狗,看
12、門(mén)狗的報(bào)警時(shí)間時(shí)間時(shí)間*“靈敏度靈敏度” 在在“添加調(diào)用添加調(diào)用”選擇在任務(wù)中執(zhí)行的程序組織單元選擇在任務(wù)中執(zhí)行的程序組織單元POU 。Page 18Confidential Property of Schneider Electric |SoMachine工具樹(shù)工具樹(shù)庫(kù)文件的添加和配置 施耐德提供大量的庫(kù)文件供最終用戶使用,有些庫(kù)在添加硬件時(shí)自動(dòng)添加,有些庫(kù)可以手動(dòng)添加施耐德提供大量的庫(kù)文件供最終用戶使用,有些庫(kù)在添加硬件時(shí)自動(dòng)添加,有些庫(kù)可以手動(dòng)添加 在工具樹(shù)還有一個(gè)重要功能是工程設(shè)置在工具樹(shù)還有一個(gè)重要功能是工程設(shè)置Page 19Confidential Property of Schn
13、eider Electric |SoMachine六種編程語(yǔ)言一六種編程語(yǔ)言一FBD/LD/IL/CFC/ST/SFC 梯形圖LD是基于圖形的編程語(yǔ)言,梯形圖語(yǔ)言沿襲了繼電器控制電路的形式,梯形圖是在常用的繼電器與接觸器邏輯控制基礎(chǔ)上簡(jiǎn)化了符號(hào)演變而來(lái)的,具有形象、直觀、實(shí)用等特點(diǎn),電氣技術(shù)人員容易接受,是電氣人員編程使用比較多的語(yǔ)言 指令列表 (IL) 是一種類(lèi)似匯編程序的 IEC 61131-3 編程語(yǔ)言,適合熟練掌握機(jī)器語(yǔ)言的IT人員來(lái)使用,該語(yǔ)言支持基于累加器的編程。支持 IEC 61131-3 操作符以及多輸入/多輸出、取反、注釋、輸出的設(shè)置/重置和無(wú)條件/有條件跳轉(zhuǎn)。 每個(gè)指令主要
14、通過(guò)使用 LD 操作符將值載入累加器來(lái)發(fā)揮作用。此后會(huì)使用從累加器中獲得的第一個(gè)參數(shù)執(zhí)行操作。操作的結(jié)果可在累加器中使用Page 20Confidential Property of Schneider Electric |SoMachine六種編程語(yǔ)言二六種編程語(yǔ)言二FBD/LD/IL/CFC/ST/SFC FBD功能塊圖是面向圖形的編程語(yǔ)言,是一種類(lèi)似于數(shù)字邏輯電路結(jié)構(gòu)的編程語(yǔ)言,是一種使用布爾代數(shù)的圖形邏輯符號(hào)來(lái)表示的控制邏輯,一些復(fù)雜的功能用指令框表示,適合于有數(shù)字電路基礎(chǔ)的編程人員使用。功能塊圖用類(lèi)似于與門(mén)、或門(mén)的框圖來(lái)表示邏輯運(yùn)算關(guān)系,方框的左側(cè)為邏輯運(yùn)算的輸入變量,右側(cè)為輸出變量
15、,輸入、輸出端的小圓圈表示“非”運(yùn)算,方框用“導(dǎo)線”連在一起,信號(hào)自左向右 連續(xù)功能圖 (CFC) 語(yǔ)言是用圖形方式連接程序庫(kù)中以塊的形式提供的各種功能,包括從簡(jiǎn)單的邏輯操作到復(fù)雜的功能塊調(diào)用。編程時(shí)將這些塊放到圖中并用線連接起來(lái)即可。功能塊自由放置,調(diào)整圖形元素,允許將功能塊的輸出反過(guò)來(lái)接到輸入。 Page 21Confidential Property of Schneider Electric |SoMachine六種編程語(yǔ)言三六種編程語(yǔ)言三FBD/LD/IL/CFC/ST/SFC ST語(yǔ)言是定位給程序設(shè)計(jì)者使用的,它是一個(gè)與Pascal語(yǔ)言相類(lèi)似的高級(jí)程序設(shè)計(jì)語(yǔ)言.程序包含了一些象DO
16、 - WHILE、REPEAT - UNTIL、FOR - TO - DO、IF - THEN - ELSE、CASE - OF的結(jié)構(gòu)語(yǔ)句使用,方便用戶編程,雖然不直觀,但是編程方便,相比梯形圖來(lái)說(shuō)占用空間小,建議使用SoMachine軟件的編程人員都要掌握這種編程方法。 SFC順序功能圖,也稱(chēng)為順序功能流程圖,是一種強(qiáng)大的描述控制程序的順序行為特征的圖形化語(yǔ)言,可對(duì)復(fù)雜的過(guò)程或操作由頂?shù)降椎剡M(jìn)行輔助開(kāi)發(fā),特別適合用于有固定流程的工藝過(guò)程。SFC允許一個(gè)復(fù)雜的問(wèn)題逐層地分解為步和較小的能夠被詳細(xì)分析的順序。SFC本身不是一種獨(dú)立的語(yǔ)言. 一個(gè)用SFC編寫(xiě)的程序看上去就象一個(gè)方框圖,這個(gè)方框圖由
17、程序塊(梯階)、步間的轉(zhuǎn)換和發(fā)生這些轉(zhuǎn)換時(shí)所依賴的條件組成。Page 22Confidential Property of Schneider Electric |SoMachine編程中的變量聲明編程中的變量聲明變量聲明 可通過(guò)以下方式聲明一個(gè)變量:在軟件目錄的變量視圖中 在 POU 的聲明編輯器中-手動(dòng)添加,常用 通過(guò)自動(dòng)聲明對(duì)話框 最常用在 DUT 編輯器中在 GVL 編輯器中-手動(dòng)添加,常用 變量聲明的語(yǔ)法: AT : :=; :=這部分根據(jù)需要填寫(xiě),可以沒(méi)有初始值。 變量的數(shù)據(jù)類(lèi)型 VAR_INPUT、 VAR_OUTPUT、 VAR_IN_OUT、 VAR_GLOBAL、 VAR_
18、TEMP、 VAR_STAT、VAR_EXTERNAL、 VAR_CONFIGPage 23Confidential Property of Schneider Electric |SoMachine編程中的變量聲明編程中的變量聲明變量聲明 變量數(shù)值的斷電保持(剩余變量和保留持久性變量): 前 1000 個(gè) %MW 會(huì)自動(dòng)持久保留,如果沒(méi)有使用AT指令與這些變量關(guān)聯(lián)。它們的值在重新啟動(dòng)/熱復(fù)位/冷復(fù)位后得到保留。 在GVL編輯器中聲明為VAR GLOBAL PERSISTENT RETAIN,即將變量m1聲明為保留持久性變量Page 24Confidential Property of Sch
19、neider Electric |SoMachine的梯形圖編程界面和常用指令的梯形圖編程界面和常用指令梯形圖的編程 在FBD/LD/IL編輯器中,可選擇梯形圖編程時(shí)的所有元素包括:插入新的網(wǎng)絡(luò)(即新的梯級(jí))、常開(kāi)、常閉、上升沿、下降沿觸點(diǎn)、串聯(lián)或并聯(lián)觸點(diǎn)、線圈、(置位線圈、復(fù)位線圈、取反線圈)、定時(shí)器(TON,TOFF,TP)、比較器 可插入跳轉(zhuǎn)或返回return 可通過(guò)空功能塊調(diào)用庫(kù)中或用戶自己編寫(xiě)的功能塊 可插入分支 通過(guò)視圖可以將程序在FBD、IL或LD三種語(yǔ)言中切換 推薦用戶盡快熟悉和使用ST編程語(yǔ)言Page 25Confidential Property of Schneider
20、Electric |SoMachine的常用指令的常用指令常用基本指令 基本算術(shù)指令(由 IEC1131-3 標(biāo)準(zhǔn)規(guī)定)可用: ADD 加、MUL -乘、SUB 減、DIV 除、MOD-取余數(shù)、MOVE 賦值操作 邏輯操作操作符可用(與 IEC1131-3 標(biāo)準(zhǔn)匹配): AND-與、OR-或、XOR 異或、NOT-取反 移位操作符 SHL-用于操作數(shù)的逐位左移位的 IEC 操作符。 erg:= SHL (in, n)in:將向左移位的操作數(shù) ;n:in 向左進(jìn)行移位的位數(shù) SHR -用于操作數(shù)的逐位左移位的 IEC 操作符 ROL 循環(huán)左移 ROR-循環(huán)右移 Page 26Confidenti
21、al Property of Schneider Electric |SoMachine的常用指令的常用指令常用基本指令 移位操作符 SHR-用于操作數(shù)的逐位右移位的 IEC 操作符,左側(cè)以0填充。 erg:= SHR(in, n)in:將向右移位的操作數(shù) ;n:in 向左進(jìn)行移位的位數(shù)ROL-循環(huán)左移用于對(duì)操作數(shù)進(jìn)行向左逐位旋轉(zhuǎn)的 IEC 操作符。 允許的數(shù)據(jù)類(lèi)型 :BYTE 、WORD 、DWORD、LWORD in 將 n 次向左進(jìn)行 1 個(gè)位置的移位,而距離左側(cè)最遠(yuǎn)的位將從右側(cè)重新插入 例:ROR-循環(huán)右移Page 27Confidential Property of Schneide
22、r Electric |SoMachine的常用指令的常用指令常用基本指令 選擇操作符 SEL-選擇操作符還可以通過(guò)變量來(lái)執(zhí)行。用于二進(jìn)制選擇的 IEC 選擇操作符。 G 將決定是否把 IN0 或 IN1 分配到 OUT。 OUT := SEL(G, IN0, IN1) ;則 if G=FALSE ,OUT := IN0; if G=TRUE OUT := IN1 MAX-取兩個(gè)值中的最大值 MIN-取兩個(gè)值中的最小值 LIMIT-限制函數(shù)OUT := LIMIT(Min, IN, Max) N (MAX (IN, Min), Max)Max 是結(jié)果的上限,而 Min 是結(jié)果的下限。如果值 I
23、N 超出上限 Max, 則 LIMIT 將返回 Max。如果 IN 低于 Min,則結(jié)果將為 Min。 IN 和 OUT 可以是任何類(lèi)型的變量。 Page 28Confidential Property of Schneider Electric |SoMachine的常用指令的常用指令常用基本指令 選擇操作符 MUX-選擇操作符還可以通過(guò)變量來(lái)執(zhí)行IEC 選擇操作符,用于多路復(fù)用操作。 OUT := MUX(K, IN0,.,INn) 意味著: OUT := INk IN0, .,INn 和 OUT 可以是任何類(lèi)型的變量。 K 必須是 BYTE, WORD, DWORD, LWORD, SI
24、NT, USINT, INT, UINT, DINT, LINT, ULINT 或 UDINT。 MUX 用于從一組值中選擇第 K 個(gè)值。 IN 和 OUT 可以是任何類(lèi)型的變量。 Page 29Confidential Property of Schneider Electric |SoMachine的梯形圖編程界面和常用指令的梯形圖編程界面和常用指令常用基本指令 比較操作符GT GT 操作符是布爾操作符,當(dāng)?shù)谝粋€(gè)操作數(shù)的值大于第二個(gè)操作數(shù)的值時(shí),返回值 TRUE。 LT LT 操作符是布爾操作符,當(dāng)?shù)谝粋€(gè)操作數(shù)的值小于第二個(gè)操作數(shù)的值時(shí),返回值 TRUE。LE LE 操作符是布爾操作符,當(dāng)
25、第一個(gè)操作數(shù)的值小于或等于第二個(gè)操作數(shù)的值時(shí),返回值 TRUE。 GE-GE 操作符是布爾操作符,當(dāng)?shù)谝粋€(gè)操作數(shù)的值大于或等于第二個(gè)操作數(shù)的值時(shí),返回值 TRUE。EQ EQ 操作符是布爾操作符,當(dāng)兩個(gè)操作數(shù)相等時(shí),返回值 TRUE。NE NE 操作符是布爾操作符,當(dāng)操作數(shù)不相等時(shí),返回值 TRUE。 地址操作符 ADR-ADR 用于返回其參數(shù)的地址,以 DWORD 為數(shù)據(jù)類(lèi)型。此地址可以分配給工程中的指針。 -可以用內(nèi)容操作符,傳遞指針指向的內(nèi)容例如pt := ADR(var_int1); var_int2:=pt;Page 30Confidential Property of Schnei
26、der Electric |SoMachine的梯形圖編程界面和常用指令的梯形圖編程界面和常用指令常用基本指令 顯式轉(zhuǎn)換操作符 BOOL_TO 轉(zhuǎn)換 TO_BOOL 轉(zhuǎn)換 整數(shù)類(lèi)型之間的轉(zhuǎn)換 REAL_TO-/ LREAL_TO 轉(zhuǎn)換 TIME_TO/TIME_OF_DAY 轉(zhuǎn)換 DATE_TO/DT_TO 轉(zhuǎn)換 STRING_TO 轉(zhuǎn)換 TRUNC(浮點(diǎn)數(shù)轉(zhuǎn)換為 DINT) TRUNC_INT ANY_NUM_TO_ ANY_._TO 轉(zhuǎn)換 。 Page 31Confidential Property of Schneider Electric |SoMachine的梯形圖編程界面和常用指令
27、的梯形圖編程界面和常用指令常用基本指令 數(shù)學(xué)函數(shù) ABS-絕對(duì)值 SQRT 開(kāi)根號(hào) LN 自然對(duì)數(shù) LOG -返回以 10 為底數(shù)的數(shù)字的對(duì)數(shù)值。 EXP -數(shù)字 IEC 操作符,用于返回指數(shù)函數(shù) SIN -用于返回角的正弦值。以弧度為單位,輸出變量必須是 REAL 或 LREAL 類(lèi)型。 COS- 余弦函數(shù) TAN-正切函數(shù) ASIN 反正弦 ACOS 反余弦 ATAN 反正切 EXPT -用于使用一個(gè)變量對(duì)另一個(gè)變量求冪 Page 32Confidential Property of Schneider Electric |SoMachine的在線仿真和調(diào)試技巧Page 33Confide
28、ntial Property of Schneider Electric |SoMachine的在線仿真程序的在線仿真 通過(guò)編譯等選項(xiàng)查找程序的語(yǔ)法錯(cuò)誤后,可使用仿真查找程序中可能存在的邏輯錯(cuò)誤仿真功能可以在不連接到實(shí)際PLC進(jìn)行軟件的調(diào)試在“在線”菜單下勾選“仿真”然后在設(shè)備樹(shù)選擇在線的“codesys”然后登陸如果項(xiàng)目是最新的,要重新檢查,點(diǎn)擊:重新編譯重新編譯Page 34Confidential Property of Schneider Electric |SoMachine的在線仿真-續(xù)程序的在線仿真在彈出的對(duì)話框確認(rèn)選擇“Yes”選擇登錄到仿真PLC“W7CN1021200081
29、0”然后SoMachine提示仿真器沒(méi)有程序,在對(duì)話框中選擇“是”SoMachine將下載程序,程序下載后點(diǎn)擊運(yùn)行程序運(yùn)行后在編程軟件中顯示“運(yùn)行”P(pán)age 35Confidential Property of Schneider Electric |SoMachine的在線仿真-續(xù)程序的在線仿真 程序運(yùn)行后,先在準(zhǔn)備值中設(shè)好需要的數(shù)據(jù)值,然后按CTRL+F7修改值 如果需要更改變量的顯示模式例如改為16進(jìn)制顯示,“調(diào)試”-“顯示模式”-“16進(jìn)制”P(pán)age 36Confidential Property of Schneider Electric |SoMachine的在線仿真程序的變量監(jiān)視
30、 程序運(yùn)行后,可以在監(jiān)視窗口添加要監(jiān)視的變量,這樣調(diào)整程序中的問(wèn)題更方便Page 37Confidential Property of Schneider Electric |SoMachine的在線仿真程序的變量的交叉參數(shù)和查找 當(dāng)程序比較大, 變量被多次讀寫(xiě)和調(diào)用,這時(shí)可以使用交叉參考和程序搜索功能幫助查找問(wèn)題 直接按Ctrl+F,查找的結(jié)果在消息變量對(duì)話框中Page 38Confidential Property of Schneider Electric |SoMachine的內(nèi)部畫(huà)面和功能塊演示Page 39Confidential Property of Schneider Ele
31、ctric |SoMachine的內(nèi)部畫(huà)面首先創(chuàng)建一個(gè)CFC編程的POU,加入ATV320控制功能塊,然后創(chuàng)建SoMachine內(nèi)部畫(huà)面Page 40Confidential Property of Schneider Electric |SoMachine的內(nèi)部畫(huà)面添加內(nèi)部畫(huà)面完成后,在內(nèi)部畫(huà)面中選擇Frame加入Page 41Confidential Property of Schneider Electric |SoMachine的內(nèi)部畫(huà)面在內(nèi)部畫(huà)面中選擇Control_ATV功能塊,然后在m_input中的.,在輸入助手中關(guān)聯(lián)POU中的功能塊實(shí)例Page 42Confidential
32、Property of Schneider Electric |SoMachine項(xiàng)目相關(guān)練習(xí)項(xiàng)目相關(guān)練習(xí)編程基礎(chǔ) 練習(xí)1在SoMachine中新建TM241的項(xiàng)目。 練習(xí)2打開(kāi)一個(gè)IMC卡的TVDA項(xiàng)目,觀察此TVDA項(xiàng)目的結(jié)構(gòu)。 練習(xí)3創(chuàng)建一個(gè)庫(kù)文件,用于實(shí)現(xiàn)卷徑的計(jì)算,卷徑采用R=R0+2*h*m,其中R是實(shí)時(shí)卷徑,R0是卷筒的直徑、h為卷材的厚度,m為卷材的圈數(shù)。編程語(yǔ)言不限,要求編寫(xiě)實(shí)現(xiàn)此運(yùn)算的功能塊的編譯庫(kù),并在新項(xiàng)目中添加并完成調(diào)用。Page 43Confidential Property of Schneider Electric |SoMachine的ST編程語(yǔ)言Page 4
33、4Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言梯形圖的編程 結(jié)構(gòu)文本是一種高級(jí)語(yǔ)言,如果你知道如何使用高級(jí)語(yǔ)言來(lái)編程,像:Basic、PACSAL或C,那么你會(huì)很輕松的掌握Structured Text(ST)編程;如果了解這些高級(jí)語(yǔ)言,你也會(huì)看到ST有著簡(jiǎn)單、標(biāo)準(zhǔn)的結(jié)構(gòu),程序運(yùn)行高效、閱讀程序簡(jiǎn)潔易懂等突出的優(yōu)點(diǎn)。 ST使用了高級(jí)語(yǔ)言的許多傳統(tǒng)特性,包括:變量、操作符和控制流程語(yǔ)句。 ST提供以下功能: 數(shù)字量和模擬量I/O 邏輯操作和邏輯比較表達(dá)式 算術(shù)運(yùn)算 判斷語(yǔ)句 循環(huán)語(yǔ)句 功能塊 可選用的動(dòng)態(tài)變量
34、 診斷工具Page 45Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 表達(dá)式表達(dá)式是指返回變量評(píng)估值的結(jié)構(gòu)。表達(dá)式由操作符和操作數(shù)組成。操作數(shù)可以是常量,變量,調(diào)用函數(shù)或其它表達(dá)式。 賦值操作符通過(guò)一個(gè)表達(dá)式和一個(gè)值來(lái)給變量賦值。賦值語(yǔ)句包括位于左邊的變量,賦值操作符“:=”,及后邊需要計(jì)算的表達(dá)式。所有的語(yǔ)句,包括賦值語(yǔ)句,必須要以分號(hào)“;”結(jié)尾。注意“=”是比較兩者是否相等! 注釋雖然注釋經(jīng)常被刪掉,但它們是源代碼中非常重要的一部分。它們解釋了一部分代碼,使程序更易讀懂。注釋幫助你或其他人讀你的
35、程序,即使過(guò)去了很長(zhǎng)時(shí)間。注釋不被編譯,因此不會(huì)影響程序的執(zhí)行。注釋?xiě)?yīng)該用一對(duì)星號(hào)和小括號(hào)括起來(lái)“(*comment*)”或者在原有的程序加兩個(gè)反斜杠“/”使原來(lái)的程序不起作用Page 46Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 操作符優(yōu)先級(jí)如果在一個(gè)表達(dá)式中使用幾個(gè)操作符,就會(huì)出現(xiàn)優(yōu)先級(jí)的問(wèn)題(執(zhí)行的順序)。操作符按優(yōu)先級(jí)的順序來(lái)執(zhí)行。在任何一個(gè)表達(dá)式中,首先執(zhí)行最高級(jí)別的操作符,接著執(zhí)行低一級(jí)的操作符,等等,直到執(zhí)行完所有的操作符。具有相同級(jí)別的操作符按照書(shū)寫(xiě)順序從左至右依次執(zhí)行。Page
36、 47Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) SoMachine的數(shù)據(jù)類(lèi)型SoMachine的數(shù)據(jù)類(lèi)型分為兩類(lèi):標(biāo)準(zhǔn)型和用戶定義類(lèi)型。 標(biāo)準(zhǔn)型的數(shù)據(jù)類(lèi)型BOOL 、整數(shù) 、REAL / LREAL 、STRING 、時(shí)間數(shù)據(jù)類(lèi)型(TOD 和DT)和某些標(biāo)準(zhǔn)型的擴(kuò)展Page 48Confidential Property of Schneider Electric |數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 下限下限 上限上限 存儲(chǔ)器空間存儲(chǔ)器空間 BYTE 0 255 8 位 WORD 0 65,535 16 位 D
37、WORD 0 4,294,967,295 32 位 LWORD 0 264-1 64 位 SINT 128 127 8 位 USINT 0 255 8 位 INT 32,768 32,767 16 位 UINT 0 65,535 16 位 DINT 2,147,483,648 2,147,483,647 32 位 UDINT 0 4,294,967,295 32 位 LINT 263 263-1 64 位 ULINT 0 264-1 64 位 REAL1.401e-453.403e+3832位LREAL2.2250738585072014e-3081.7976931348623158e+308
38、64位TIME或或LTIME類(lèi)型舉例類(lèi)型舉例TIME1 := T#14ms;TIME1 := T#100S12ms;TIME1 := t#12h34m15s;LTIME1 := LTIME#1000d15h23m12s34ms2us44nsDATE 值可以內(nèi)部方式處理為值可以內(nèi)部方式處理為 DWORD 值,包含從值,包含從 1970 年年 01 月月 01 日日 00:00 時(shí)鐘時(shí)間開(kāi)始的時(shí)間范圍,以秒為單位。時(shí)鐘時(shí)間開(kāi)始的時(shí)間范圍,以秒為單位。 例如:例如: DATE#1996-05-06d#1972-03-29TIME_OF_DAY 值可以內(nèi)部方式處理為值可以內(nèi)部方式處理為 DWORD 值
39、,包含從值,包含從 00:00 時(shí)鐘時(shí)間開(kāi)始的時(shí)間范圍,以毫秒為單位。時(shí)鐘時(shí)間開(kāi)始的時(shí)間范圍,以毫秒為單位。 例如例如TIME_OF_DAY#15:36:30.123tod#00:00:00SoMachine的的ST編程語(yǔ)言編程語(yǔ)言數(shù)組和結(jié)構(gòu) 擴(kuò)展的數(shù)據(jù)類(lèi)型-數(shù)組支持將一維、兩維或三維數(shù)組。在 POU 的聲明部分以及全局變量中定義數(shù)組。還可以使用隱式邊界檢查。 :ARRAY .,.,. OF ,其中,ll1, ll2, ll3 標(biāo)識(shí)字段范圍的下限。 ul1, ul2 和 ul3 標(biāo)識(shí)字段范圍的上限。 范圍值必須為整數(shù)類(lèi)型。 例如聲明一個(gè)撲克牌的二維數(shù)組:Card_game: ARRAY 1.1
40、3, 1.4 OF INT;數(shù)組初始化舉例:arr1 : ARRAY 1.5 OF INT := 1,2,3,4,5; 擴(kuò)展的數(shù)據(jù)類(lèi)型-結(jié)構(gòu)在工廠生產(chǎn)產(chǎn)品的出廠信息包括了名字、批次、出廠日期等等數(shù)據(jù),無(wú)法用一種數(shù)據(jù)類(lèi)型進(jìn)行描述,這時(shí)要用到結(jié)構(gòu)體數(shù)據(jù)類(lèi)型。 TYPE : STRUCT . END_STRUCT END_TYPE 是在工程中識(shí)別的類(lèi)型,并且可以用作標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型。 結(jié)構(gòu)體允許嵌套但是不支持AT指令。多邊形的結(jié)構(gòu)定義示例: TYPE Polygonline:STRUCT Start:ARRAY 1.2 OF INT; Point1:ARRAY 1.2 OF INT; Point2:AR
41、RAY 1.2 OF INT; Point3:ARRAY 1.2 OF INT; Point4:ARRAY 1.2 OF INT; End:ARRAY 1.2 OF INT;END_STRUCTPage 49Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言枚舉 擴(kuò)展的數(shù)據(jù)類(lèi)型-枚舉一個(gè)星期七天,一年只有十二個(gè)月,紅綠燈有紅、白、藍(lán)三個(gè)顏色等等。串口校驗(yàn)方式:奇、偶、無(wú)。CANopen的狀態(tài): 語(yǔ)法 TYPE (, .,) |;END_TYPE 類(lèi)型的變量可以采用下列其中一個(gè)枚舉值 并且將以第一個(gè)枚舉值進(jìn)行初始化
42、。這些值與整數(shù)兼容!如果枚舉值未以聲明中的特定值進(jìn)行初始化,則計(jì)數(shù)將從 0 開(kāi)始。初始化時(shí),請(qǐng)確保初始值在組件行中增加。 Page 50Confidential Property of Schneider Electric |INIT 初始化0RESET_COMM復(fù)位通訊1RESET_APP復(fù)位應(yīng)用2PRE_OPERATIONAL預(yù)處理3STOPPED停止4OPERATIONAL正常運(yùn)行5UNKNOWN未知6NOT_AVAIL不可用7SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 布爾邏輯操作布爾邏輯操作的操作數(shù)可以是BOOL、字節(jié)、字、雙字或長(zhǎng)雙字等類(lèi)型。Page 51Confident
43、ial Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 布爾邏輯操作編程舉例1在下面的電氣圖中DISilo1Up是常開(kāi)觸點(diǎn),DoValveSilo2和DoValveSilo3是常閉觸點(diǎn),DoValveSilo1是線圈,使用ST語(yǔ)言進(jìn)行編程。 布爾邏輯操作編程例2在下面的電氣圖中MotorStart是電機(jī)啟動(dòng)按鈕, MotorStop電機(jī)停止按鈕,Motor_Thermal是電機(jī)的熱保護(hù)常閉觸點(diǎn),MotorRun是線圈和它的常開(kāi)觸點(diǎn),應(yīng)如何進(jìn)行編程?Page 52Confidential Property of Schneide
44、r Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 基本算術(shù)運(yùn)算SoMachine提供的基本運(yùn)算包括加+、減-、乘*、除/和模除Mod。 變量類(lèi)型在算術(shù)運(yùn)算中非常重要從下面的運(yùn)算結(jié)果中可以看出變量類(lèi)型對(duì)計(jì)算結(jié)果的影響,當(dāng)res3為整型時(shí),程序的編譯將直接報(bào)錯(cuò)! 。Page 53Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 變量類(lèi)型的隱式轉(zhuǎn)換該類(lèi)型的轉(zhuǎn)換由編譯器完成。編譯器將表達(dá)式中低的數(shù)據(jù)類(lèi)型轉(zhuǎn)換成高的數(shù)據(jù)類(lèi)型。如果有兩種或多個(gè)類(lèi)型的變量參與運(yùn)算,那么必須將它們轉(zhuǎn)換成相同的類(lèi)
45、型以便執(zhí)行運(yùn)算。 編譯器會(huì)將USINT轉(zhuǎn)為INT進(jìn)行計(jì)算,如將VAR1_INT的變量類(lèi)型設(shè)為USINT,編譯會(huì)報(bào)錯(cuò),提示不能轉(zhuǎn)換。Page 54Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 變量類(lèi)型的顯式轉(zhuǎn)換隱式轉(zhuǎn)換不允許從較大的類(lèi)型為較小的類(lèi)型(例如,從 INT 到 BYTE 或從 DINT 到 WORD)。因此,必須使用顯式交換才能執(zhí)行特殊的類(lèi)型轉(zhuǎn)換。顯式交換基本上可以在任何基本類(lèi)型之間轉(zhuǎn)換。 顯性數(shù)據(jù)類(lèi)型轉(zhuǎn)換也是數(shù)據(jù)類(lèi)型轉(zhuǎn)換問(wèn)題。我們知道,表達(dá)式的左右兩邊要有相同的數(shù)據(jù)類(lèi)型,但還需注意上面編程
46、的問(wèn)題初看好像沒(méi)什么問(wèn)題,但是要注意有時(shí)兩個(gè)INT的和會(huì)超過(guò)INT的范圍(-32768到32767),這時(shí)程序就應(yīng)修改為: 比較指令高級(jí)編程語(yǔ)言ST允許比較操作的簡(jiǎn)單結(jié)構(gòu)分支。比較的結(jié)果是真(TRUE)或假(FALSE)。比較操作作為一個(gè)邏輯條件用在IF, ELSE, WHILE 和UNTIL語(yǔ)句中。Page 55Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 比較指令: 判斷指令:用IF語(yǔ)句表示判斷,這里還要用到比較操作。判斷分三部分:簡(jiǎn)單IF語(yǔ)句IF ELSE語(yǔ)句IF ELSIF語(yǔ)句嵌套的IF。P
47、age 56Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 判斷指令: 最簡(jiǎn)單的IF指令基本上,如果條件表達(dá)式的結(jié)果為T(mén)RUE就執(zhí)行語(yǔ)句。如果條件表達(dá)式的結(jié)果是FALSE,程序就執(zhí)行END_IF后面的語(yǔ)句。條件表達(dá)式可以是簡(jiǎn)單關(guān)聯(lián)的語(yǔ)句或用運(yùn)算符(and,or等)連接的復(fù)合語(yǔ)句Page 57Confidential Property of Schneider Electric |判斷判斷語(yǔ)法語(yǔ)法描述描述IF THENIF a b THEN1.比較 Result := 1;1.條件為真執(zhí)行ELSIF T
48、HENELSIF a c THEN2.比較 (可選 ),可以有多個(gè) Result := 2;2. 條件為真執(zhí)行ELSEELSE前面 IF語(yǔ)句都不滿足 (可選 ) Result : = 3;3.條件為真執(zhí)行END_IFEND_IF判斷結(jié)束SoMachine的的ST編程語(yǔ)言編程語(yǔ)言SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) IF-ELSE指令它是簡(jiǎn)單IF語(yǔ)句的擴(kuò)展。在IF結(jié)構(gòu)中應(yīng)該只有一個(gè)ELSE語(yǔ)句。當(dāng)條件為 true 時(shí)執(zhí)行THEN后面的代碼,當(dāng)條件為 false 時(shí)執(zhí)行ELSE后面的程序 IF-ELSIF-ELSE運(yùn)用一個(gè)或多個(gè)ELSE_IF語(yǔ)句可以實(shí)現(xiàn)多個(gè)不同的條件,而不用多個(gè)簡(jiǎn)單
49、的IF語(yǔ)句創(chuàng)建復(fù)雜的程序邏輯。處理器自上而下地執(zhí)行判定。如果條件的結(jié)果為T(mén)RUE,那么就執(zhí)行屬于這個(gè)條件的指令和命令,之后處理器就跳到判斷語(yǔ)句的結(jié)尾(END_IF)。在程序的一次循環(huán)中,無(wú)論下一個(gè)條件是否為T(mén)RUE,只有上面屬于第一個(gè)條件TRUE的語(yǔ)句被執(zhí)行。如果IF或ELSIF條件都不為T(mén)RUE,那么就執(zhí)行屬于ELSE下的指令。Page 58Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 嵌套的IF語(yǔ)句嵌套對(duì)于依賴其它條件的條件測(cè)試很有用處。一個(gè)嵌套的IF語(yǔ)句其優(yōu)先級(jí)低于上一層的優(yōu)先級(jí),它的執(zhí)行取決
50、于上一層IF條件的結(jié)果。使用嵌套時(shí)必須注意每個(gè)IF要和END_IF相匹配,否則會(huì)導(dǎo)致錯(cuò)誤的執(zhí)行順序。當(dāng)if語(yǔ)句中的執(zhí)行語(yǔ)句又是if語(yǔ)句時(shí),則構(gòu)成了if 語(yǔ)句嵌套的情形。其一般形式可表示如下: if(表達(dá)式) if語(yǔ)句; 或者為: if(表達(dá)式) if語(yǔ)句; else if語(yǔ)句;在嵌套內(nèi)的if語(yǔ)句可能又是if-else型的,這將會(huì)出現(xiàn)多個(gè)if和多個(gè)else重疊的情況,這時(shí)要特別注意if和else的配對(duì)問(wèn)題。 建議在每個(gè)嵌套的IF 語(yǔ)句和它的執(zhí)行語(yǔ)句中使用縮排。IF語(yǔ)句可以嵌套在你想要的深度,但是級(jí)數(shù)過(guò)多將占用非常多的內(nèi)存,所以這嵌套最多應(yīng)使用3級(jí)嵌套,如果超過(guò)三級(jí)嵌套,應(yīng)重新改寫(xiě)程序!練習(xí):請(qǐng)使
51、用ST語(yǔ)言編寫(xiě)程序判斷某一年是否是閏年,仿真設(shè)置不同的數(shù)值檢查程序是否正確。Page 59Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) CASE語(yǔ)句在CASE語(yǔ)句中,控制變量與幾個(gè)值作比較,如果表達(dá)式的結(jié)果與其中一個(gè)值相同,那么就執(zhí)行相應(yīng)的語(yǔ)句。如果表達(dá)式的結(jié)果與任何一個(gè)值都不相同,那么就執(zhí)行象IF 語(yǔ)句一樣的ELSE分支。語(yǔ)句執(zhí)行完后,繼續(xù)執(zhí)行END_CASE后的程序。 CASE語(yǔ)句的語(yǔ)法: CASE語(yǔ)句以CASE開(kāi)始,以END_CASE結(jié)束,并且各自單獨(dú)占一行。在CASE和OF之間的變量必須是U
52、INT類(lèi)型。在CASE的子句中,只能使用正整數(shù),不允許使用變量名或表達(dá)式。數(shù)字不能重疊使或在幾個(gè)區(qū)域內(nèi)使用。Page 60Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 循環(huán)語(yǔ)句-FOR指令語(yǔ)法 循環(huán)次數(shù)已知時(shí),可以用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。循環(huán)變量則從“初值”開(kāi)始逐次增加到“終值INT_Var:INT; FOR := TO BY DO END_FOR; 括號(hào) 中的段為可選。 注意: 如果 等于數(shù)據(jù)類(lèi)型 的最大限制值,例如變量的類(lèi)型為SINT而終值設(shè)為127將導(dǎo)致無(wú)窮循環(huán)。Page 61Confide
53、ntial Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 循環(huán)語(yǔ)句-While指令 當(dāng)循環(huán)次數(shù)未知,只能根據(jù)某一條件來(lái)決定是否進(jìn)行循環(huán)時(shí),用while 語(yǔ)句或repeat語(yǔ)句實(shí)現(xiàn)循環(huán)要更方便。如果條件最初并為“假”,則不會(huì)執(zhí)行循環(huán)。如果條件最初為“真”,在程序運(yùn)行中變?yōu)椤凹佟保瑒t循環(huán)會(huì)終止。 WHILE DO END_WHILE; 初始和當(dāng)前布爾表達(dá)式必須在循環(huán)指令內(nèi)的某些點(diǎn)設(shè)置值變?yōu)椤凹佟薄7駝t,循環(huán)將不會(huì)終止,導(dǎo)致無(wú)限、無(wú)窮循環(huán)條件。 循環(huán)語(yǔ)句-Repeat指令用while語(yǔ)句可以實(shí)現(xiàn)當(dāng)型循環(huán),用repeat-until
54、 語(yǔ)句可以實(shí)現(xiàn)直到型循環(huán)。repeat-until語(yǔ)句的含義是:重復(fù)執(zhí)行循環(huán),直到指定的條件為真時(shí)為止。REPEAT UNTIL END_REPEAT;只要 返回“真”,就會(huì)反復(fù)執(zhí)行 如果 已經(jīng)在第一個(gè) UNTIL 計(jì)算生成,則只會(huì)將 執(zhí)行一次。 必須在循環(huán)指令內(nèi)的某些點(diǎn)設(shè)置值“真”。否則,循環(huán)將不會(huì)終止,導(dǎo)致無(wú)限、無(wú)窮循環(huán)條件。練習(xí):請(qǐng)編寫(xiě)程序求m!+(m+1)!+(m+2)!之和,當(dāng)m=7,20時(shí)的值分別是多少?Page 62Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 循環(huán)語(yǔ)句-EXIT指令
55、EXIT語(yǔ)句是當(dāng)終止條件滿足時(shí),退出所有的循環(huán)語(yǔ)句。初始和當(dāng)前布爾表達(dá)式必須在循環(huán)指令內(nèi)的某些點(diǎn)設(shè)置值變?yōu)椤凹佟薄7駝t,循環(huán)將不會(huì)終止,導(dǎo)致無(wú)限、無(wú)窮循環(huán)條件。 循環(huán)語(yǔ)句-Contiue指令 continue語(yǔ)句的作用是跳過(guò)循環(huán)體中剩余的語(yǔ)句而強(qiáng)行執(zhí)行下一次循環(huán),F(xiàn)OR、WHILE 和 REPEAT 循環(huán)中支持 CONTINUE指令。Page 63Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 跳轉(zhuǎn)語(yǔ)句-JMP指令 JMP 指令用于實(shí)現(xiàn)程序無(wú)條件跳轉(zhuǎn)到標(biāo)簽標(biāo)記的代碼行。注意:使用過(guò)多的JMP會(huì)降低程序
56、的可讀性,增加程序維護(hù)的難度。 RETURN指令 使用 RETURN 指令來(lái)離開(kāi) POU,并結(jié)束后面語(yǔ)句的執(zhí)行。Page 64Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 調(diào)用功能塊在SoMachine中使用F2功能鍵調(diào)用功能塊。下面的程序調(diào)用了上升沿功能塊。Page 65Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 上電后的初始化程序在SoMachine中常常需要進(jìn)行PLC的上電初始化,這時(shí)需用到: I
57、sFirstMastCycle-第一個(gè) MAST 循環(huán)期間返回 TRUE IsFirstMastColdCycle -下載或冷復(fù)位后的第一個(gè)循環(huán) IsFirstMastWarmCycle-熱啟動(dòng)后的第一個(gè) MAST 循環(huán)期間返回 TRUE。Page 66Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 常用功能塊。Page 67Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 練習(xí)1在SoMachine中使用F2
58、功能鍵調(diào)用功能塊。實(shí)現(xiàn)按下啟動(dòng)按鈕后延時(shí)兩秒啟動(dòng)電機(jī)。 練習(xí)2創(chuàng)建一個(gè)程序來(lái)計(jì)算傳送帶上瓶子的數(shù)量。運(yùn)用STANDARD 庫(kù)中的CTU (上升沿計(jì)數(shù)器)功能塊。使用CTU完成瓶子的計(jì)數(shù),每計(jì)數(shù)24個(gè)計(jì)一箱。每5000箱一個(gè)班次Page 68Confidential Property of Schneider Electric |SoMachine的的ST編程語(yǔ)言編程語(yǔ)言編程基礎(chǔ) 練習(xí)3試編寫(xiě)程序,實(shí)現(xiàn)按一下按鈕DI4選擇電機(jī)1,再按超過(guò)2秒取消選擇,DI5是電機(jī)1的啟動(dòng)按鈕,DI6是電機(jī)1的停止按鈕,DI7是熱保護(hù)繼電器的端子,常閉,輸出是DQ1。請(qǐng)編寫(xiě)程序?qū)崿F(xiàn)上述邏輯要求。 練習(xí)4在三位的整
59、數(shù)中,例如153可以滿足13 + 53 + 33 = 153,這樣的數(shù)稱(chēng)之為Armstrong數(shù),試寫(xiě)出一程式找出所有的三位數(shù)Armstrong數(shù)。練習(xí)5:請(qǐng)編寫(xiě)程序求120之間的素?cái)?shù)。Page 69Confidential Property of Schneider Electric |SoMachine典型編程舉例PTOPage 70Confidential Property of Schneider Electric |SoMachine典型應(yīng)用編程典型應(yīng)用編程PTO的配置和編程 在設(shè)備樹(shù)下選擇在設(shè)備樹(shù)下選擇Pulse_Generators選擇脈沖發(fā)生功能下選擇PTO選擇脈沖方式為脈沖加
60、方向設(shè)置輔助輸入:原點(diǎn)開(kāi)關(guān)REF、Z脈沖和探針PROBEPage 71Confidential Property of Schneider Electric |SoMachine典型應(yīng)用編程典型應(yīng)用編程PTO的配置和編程 PTO的三種脈沖輸出模式的三種脈沖輸出模式正反轉(zhuǎn)脈沖脈沖加方向正交-AB兩相差90的輸出方式Page 72Confidential Property of Schneider Electric | PTO的加減速時(shí)間和的加減速時(shí)間和JerkRatioJerkRatio為0時(shí)是梯形斜坡且加減速通用JerkRatio大于0則是S曲線JerkRatio越大加減速的直線部分越短 加減
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天器振動(dòng)與噪聲控制技術(shù)考核試卷
- 機(jī)動(dòng)車(chē)交通事故公證處理考核試卷
- 聯(lián)合品牌推廣考核試卷
- 稀土金屬壓延加工中的質(zhì)量改進(jìn)方法比較與分析考核試卷
- 自行車(chē)的時(shí)尚與服裝設(shè)計(jì)考核試卷
- 航海倫理與職業(yè)道德規(guī)范實(shí)踐考核試卷
- 四川司法警官職業(yè)學(xué)院《籃球俱樂(lè)部》2023-2024學(xué)年第二學(xué)期期末試卷
- 網(wǎng)絡(luò)安全技術(shù)實(shí)踐教程(微課版)-教案 信息收集與漏洞掃描
- 上海市閔行區(qū)七寶中學(xué)2025年高三考前適應(yīng)性訓(xùn)練化學(xué)試題試卷含解析
- 太湖創(chuàng)意職業(yè)技術(shù)學(xué)院《口腔醫(yī)學(xué)探究性學(xué)習(xí)》2023-2024學(xué)年第一學(xué)期期末試卷
- 生物安全管理體系文件
- 2025年高考數(shù)學(xué)復(fù)習(xí)(新高考專(zhuān)用)第04講三角函數(shù)與解三角形(2022-2024高考真題)特訓(xùn)(學(xué)生版+解析)
- 水泥機(jī)械傷害的預(yù)防措施
- 2023九年級(jí)數(shù)學(xué)下冊(cè) 第二十八章 銳角三角函數(shù)28.2 解直角三角形及其應(yīng)用28.2.2 應(yīng)用舉例第2課時(shí) 方向角和坡角問(wèn)題說(shuō)課稿 (新版)新人教版
- 智能投顧發(fā)展態(tài)勢(shì)-深度研究
- 小學(xué)班主任的教育管理策略與實(shí)踐
- YY/T 1938-2024醫(yī)用透明質(zhì)酸鈉敷料
- 物流行業(yè)物流園區(qū)智慧安防方案
- 尼龍防護(hù)網(wǎng)施工方案
- GB/T 45083-2024再生資源分揀中心建設(shè)和管理規(guī)范
- 分子生物學(xué)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋湖南科技大學(xué)
評(píng)論
0/150
提交評(píng)論