西門子模塊6ES7315-2EH14-0AB0
將PC中編寫的程序傳送給plc稱為下載,將PLC中的程序傳送給PC稱為上載。
1.下載程序
程序編譯后,就可以將編譯好的程序下載到PLC。程序下載的方法是:執(zhí)行菜單命令“文件→下載",也可單擊工具欄上的“"圖標(biāo),會(huì)出現(xiàn)“下載"對(duì)話框,單擊“下載"按鈕即可將程序下載到PLC,如果PC與PLC連接通信不正常,會(huì)出現(xiàn)對(duì)話框,提示通信錯(cuò)誤。
程序下載應(yīng)讓PLC應(yīng)處于“STOP"模式,程序下載時(shí)PLC會(huì)自動(dòng)切換到“STOP"模式,下載結(jié)束后又會(huì)自動(dòng)切換到“RUN"模式,若希望模式切換時(shí)出現(xiàn)模式切換提示對(duì)話框,可勾選對(duì)話框右下角兩項(xiàng)。
2.上載程序
當(dāng)需要修改PLC中的程序時(shí),可利用STEP 7 - Micro/WIN軟件將PLC中的程序上載到PC。在上載程序時(shí),需要新建一個(gè)空項(xiàng)目文件,以便放置上載內(nèi)容,如果項(xiàng)目文件有內(nèi)容,將會(huì)被上載內(nèi)容覆蓋。
上載程序的方法是,執(zhí)行菜單命令“文件→上載",也可單擊工具欄上的“"圖標(biāo),會(huì)出現(xiàn)類似的“上載"對(duì)話框,單擊其中的“上載"按鈕即可將PLC中的程序上載到PC中 三菱plc可以通過485通訊的方式,和多種品牌變頻器通信如臺(tái)達(dá)、三川等變頻器。同時(shí)控制幾十臺(tái)變頻器的不同時(shí)啟停和改變各自的運(yùn)行頻率,每臺(tái)變頻器需設(shè)定不同的通訊地址,相同的通訊速度和格式。
三菱plc與三菱變頻器通訊更加簡(jiǎn)單,可以和三菱變頻器:A500系列、E500系列、F500系列、F700系列、S500系列通訊,兩者之間通過網(wǎng)線連接(網(wǎng)線的RJ45插頭和變頻器的PU插座接),使用兩對(duì)導(dǎo)線連接,即將變頻器的SDA與PLC通訊板(FX1N-485-BD)的RDA接,變頻器的SDB與PLC通訊板(FX1N-485-BD)的RDB接,變頻器的RDA與PLC通訊板(FX1N-485-BD)的SDA接,變頻器的RDB與PLC通訊板(FX1N-485-BD)的SDB接,變頻器的SG與PLC通訊板(FX1N-485-BD)的SG接。
有四種通信方式:
一:PPI方式
PPI通訊協(xié)議是通過普通的兩芯屏蔽雙絞電纜進(jìn)行聯(lián)網(wǎng),物理上采用RS485電平,波特率為9.6kbit/s,19.2kbit/s和187.5kbit/s。PPI通訊網(wǎng)絡(luò)是一個(gè)令牌傳遞網(wǎng)。
二:MPI方式
S7-200可以通過內(nèi)置接口連接到MPI網(wǎng)絡(luò)上,波特率為19.2kbit/s,187.5kbit/s。S7-200 CPU在MPI網(wǎng)絡(luò)中作為從站,它們彼此間不能通訊。
三:自由通訊方式
S7-200可以由用戶自己定義通訊協(xié)議,與任何通訊協(xié)議公開的其它設(shè)備、控制器進(jìn)行通訊。波特率最高為38.4kbit/s(可調(diào)整)。
四:PROFIBUS-DP網(wǎng)絡(luò)
在S7-200系列的CPU中,都可以通過增加EM277擴(kuò)展模塊的方法支持PROFIBUS DP網(wǎng)絡(luò)協(xié)議。最高傳輸速率可達(dá)12Mbit/s。
為了滿足工業(yè)邏輯控制的要求,同時(shí)結(jié)合計(jì)算機(jī)控制的特點(diǎn),plc的工作方式采用不斷循環(huán)的順序掃描工作方式。每一次掃描所用的時(shí)間稱為掃描周期或工作周期。CPU從第一條指令執(zhí)行開始,按順序逐條地執(zhí)行用戶程序直到用戶程序結(jié)束,然后返回第一條指令開始新的一輪掃描。PLC就是這樣周而復(fù)始地重復(fù)上述循環(huán)掃描的。PLC工作的全過程可用圖所示的運(yùn)行框圖來表示。整個(gè)過程可分為以下幾個(gè)部分:
第一部分是上電處理。PLC上電后對(duì)系統(tǒng)進(jìn)行一次初始化,包括硬件初始化和軟件初始化,停電保持范圍設(shè)定及其他初始化處理等。
第二部分是自診斷處理。PLC每掃描一次,執(zhí)行—次自診斷檢查,確定PLC自身的動(dòng)作是否正常。如CPU、電池電壓、程序存儲(chǔ)器、I/O和通訊等是否異常或出錯(cuò),如檢查出異常時(shí),CPU面板上的LED及異常繼電器會(huì)接通,在特殊寄存器中會(huì)存入出錯(cuò)代碼。當(dāng)出現(xiàn)致命錯(cuò)誤時(shí),CPU被強(qiáng)制為STOP方式,所有的掃描便停止。
圖 PLC運(yùn)行框圖
第三部分是通訊服務(wù)。PLC自診斷處理完成以后進(jìn)入通訊服務(wù)過程。首先檢查有無通訊任務(wù),如有則調(diào)用相應(yīng)進(jìn)程,完成與其他設(shè)備的通訊處理,并對(duì)通訊數(shù)據(jù)作相應(yīng)處理;然后進(jìn)行時(shí)鐘、特殊寄存器更新處理等工作。
第四部分是程序掃描過程。PLC在上電處理、自診斷和通訊服務(wù)完成以后,如果工作選擇開關(guān)在RUN位置,則進(jìn)人程序掃描工作階段。先完成輸入處理,即把輸入端子的狀態(tài)讀入輸入映像寄存器中,然后執(zhí)行用戶程序,最后把輸出處理結(jié)果刷新到輸出鎖存器中。
在上述幾個(gè)部分中,通訊服務(wù)和程序掃描過程是PLC工作的主要部分,其工作周期稱為掃描周期。可以看出掃描周期直接影響控制信號(hào)的實(shí)時(shí)性和正確性,為了確??刂颇苷_實(shí)時(shí)地進(jìn)行,在每個(gè)掃描周期中,通訊任務(wù)的作業(yè)時(shí)間必須被控制在一定范圍內(nèi)。PLC運(yùn)行正常時(shí),程序掃描周期的長(zhǎng)短與CPU的運(yùn)算速度、與I/O點(diǎn)的情況、與用戶應(yīng)用程序的長(zhǎng)短及編程情況等有關(guān)。通常用PLC執(zhí)行l(wèi) KB指令所需時(shí)間來說明其掃描速度,一般為零點(diǎn)幾ms到上百ms。值得注意的是,不同指令其執(zhí)行時(shí)間是不同的,從零點(diǎn)幾μs到上百μs不等,故選用不同指令所用的掃描時(shí)間將會(huì)不同。而對(duì)于一些需要高速處理的信號(hào),則需要特殊的軟、硬件措施來處理。
當(dāng)PLC處于正常運(yùn)行時(shí),它將不斷重復(fù)掃描過程。分析上述掃描過程,如果對(duì)遠(yuǎn)程I/O、特殊模塊和其他通訊服務(wù)暫不考慮,這樣掃描過程就只剩下“輸入采樣"、“程序執(zhí)行"和“輸出刷新"三個(gè)階段了。這三個(gè)階段是PLC工作過程的中心內(nèi)容,理解透PLC工作過程的這三個(gè)階段是學(xué)習(xí)好PLC的基礎(chǔ)。下面就對(duì)這三個(gè)階段進(jìn)行詳細(xì)的分析。
(1) 輸入采樣階段
PLC在輸入采樣階段,首先掃描所有輸人端點(diǎn),并將各輸入狀態(tài)存入相對(duì)應(yīng)的輸入映像寄存器中。此時(shí),輸入映像寄存器被刷新。接著,進(jìn)入程序執(zhí)行階段和輸出刷新階段,在此階段輸入映像寄存器與外界隔離,無論輸入情況如何變化,其內(nèi)容保持不變,直到下一個(gè)掃描周期的輸人采樣階段,才重新寫入輸入端的新內(nèi)容。所以一般來說,輸人信號(hào)的寬度要大于一個(gè)掃描周期,否則很可能造成信號(hào)的丟失。
由此可見,輸入映像寄存器的數(shù)據(jù)取決于輸入端子上各輸入點(diǎn)在上一刷新期間的接通和斷開狀態(tài)。
(2) 程序執(zhí)行階段
根據(jù)PLC梯形圖程序掃描原則,一般來說,PLC按從左到右、從上到下的步驟順序執(zhí)行程序。當(dāng)指令中涉及輸入、輸出狀態(tài)時(shí),PLC就從輸入映像寄存器中“讀入"采集到的對(duì)應(yīng)輸入端子狀態(tài),從元件映像寄存器“讀入"對(duì)應(yīng)元件(“軟繼電器")的當(dāng)前狀態(tài)。然后,進(jìn)行相應(yīng)的運(yùn)算,運(yùn)算結(jié)果再存入元件映像寄存器中。對(duì)元件映像寄存器來說,每一個(gè)元件(“軟繼電器")的狀態(tài)會(huì)隨著程序執(zhí)行過程而變化。
(3) 輸出刷新階段
在所有指令執(zhí)行完畢后,元件映像寄存器中所有輸出繼電器的狀態(tài)(接通/斷開)在輸出刷新階段轉(zhuǎn)存到輸出鎖存器中,通過輸出端子和外部電源,驅(qū)動(dòng)外部負(fù)載。
由此可見,輸出映像寄存器的數(shù)據(jù)取決于輸出指令的執(zhí)行結(jié)果,輸出鎖存器中的數(shù)據(jù)由上一次輸出刷新期間輸出映像寄存器中的數(shù)據(jù)決定,而輸出端子的接通和斷開狀態(tài),由輸出鎖存器決定
西門子模塊6ES7315-2EH14-0AB0
在 HMI 上顯示 Cam
當(dāng)項(xiàng)目運(yùn)行時(shí),為了能在HMI上以圖形方式顯示項(xiàng)目中生成的Cam曲線,目前有一個(gè)方法實(shí)現(xiàn)此功能,就是調(diào)用功能塊 FBGetCamValueForHMI 將Cam的位置輪廓顯示在HMI上。
1.1 FBGetCamValueForHMI 功能塊
在 simotion的程序單元中調(diào)用FBGetCamValueForHMI 功能塊,還需要在 WinccFlexible中進(jìn)行相關(guān)配置。
在調(diào)用 FB功能塊前,Cam必須使用系統(tǒng)函數(shù)_interpolateCam 進(jìn)行插補(bǔ)。
在HMI系統(tǒng)上顯示的點(diǎn)數(shù)定義在數(shù)據(jù)常量 giNR_OF_SET_POINTS 中,從值保存在數(shù)組中,的點(diǎn)數(shù)為 999,也就是說常量 giNR_OF_SET_POINTS 不能超過 999。如果改變此常量的默認(rèn)值,需在WinccFlexible中必須進(jìn)行相應(yīng)的配置。
Cam圖形在WinccFlexible中的輸出是以線性類型來表示的。
功能塊讀出與固定主值相關(guān)的從值并且將它們寫入到一個(gè)數(shù)組中。主軸距離由Cam的系統(tǒng)變量來計(jì)算 ("leadingrange.start"-"leadingrange.end") /NR_OF_SET_POINTS。系統(tǒng)功能塊 _getcamfollowingvalue 用于讀出從位置值。
注意:
由于可能會(huì)造成較高的系統(tǒng)負(fù)荷,所以建議此功能塊在 motion task中調(diào)用。
1.2 調(diào)用FB
在插補(bǔ)生成 Cam曲線后,可以調(diào)用 FB 塊。必須在WinccFlexible中設(shè)置趨勢(shì)指針 Transfer1,它觸發(fā)WinccFlexible中的Cam曲線顯示。
"Trend Request" 指針在WinccFlexible中進(jìn)行設(shè)置,指示當(dāng)前顯示的Cam。
示例: 調(diào)用FB 后,如果使用圖像顯示功能顯示Cam曲線,則在simotion中創(chuàng)建指針變量:
? myTrendTransfer : 在HMI中設(shè)置的指針 "Trend Transfer1"
? myTrendRequest : 在HMI中設(shè)置的指針 "Trend Request"
1.3 在WinccFlexible中配置HMI
"cam display" 功能用于在WinccFlexible中顯示Cam。一個(gè) cam 需要一個(gè) "cam buffer" , 在此數(shù)組中填入FB的 INOUT變量 "SlaveValues" 。此外,Cam顯示必須通過一個(gè)指針觸發(fā)。
1.5 LAD 示意圖
圖1: FBGetCamValueForHMI 的LAD示意圖
2 功能塊的調(diào)用編程及HMI設(shè)置
在用戶項(xiàng)目中,該功能是用于在觸摸屏上顯示Cam曲線。
2.1 Simotion中創(chuàng)建Cam
首先要?jiǎng)?chuàng)建Cam:
圖2: 創(chuàng)建Cam曲線
2.2 Simotion中Cam顯示功能塊的編程
(1) 導(dǎo)入FBGetCamValueForHMI 功能塊
右鍵點(diǎn)擊項(xiàng)目導(dǎo)航中的“Program",在彈出的菜單中選擇“Imporrt external source-ST source file"導(dǎo)入功能塊源文件:
圖3: 導(dǎo)入ST源文件
(2) 創(chuàng)建程序單元及全局變量
圖4: 創(chuàng)建全局變量
(3) 在HMICamDisplay程序單元中連接功能塊程序單元
圖5:連接調(diào)用的程序單元
(4) 用MCC語言編輯Cam曲線顯示程序(調(diào)用功能塊FBGetCamValueForHMI)
圖6:連接調(diào)用的程序單元
(5) 將程序分配到simotion系統(tǒng)執(zhí)行級(jí)中
圖7: 程序分配