西門(mén)子PLC模塊6ES7212-1AE40-0XB0
SIMATIC S7-1200 小型可編程控制器充分滿足于中小型自動(dòng)化的系統(tǒng)需求。在研發(fā)過(guò)程中充分考慮了系統(tǒng),、控制器、人機(jī)界面和軟件的無(wú)縫整合和高效協(xié)調(diào)的需求,。SIMATIC S7-1200 系列的問(wèn)世,,標(biāo)志著西門(mén)子在原有產(chǎn)品系列基礎(chǔ)上拓展了產(chǎn)品版圖,代表了未來(lái)小型可編程控制器的發(fā)展方向,,西門(mén)子也將一如既往開(kāi)拓創(chuàng)新,,自動(dòng)化潮流SIMATIC S7-1200 具有集成 PROFINET 接口、強(qiáng)大的集成工藝功能和靈活的可擴(kuò)展性等特點(diǎn),,為各種工藝任務(wù)提供了簡(jiǎn)單的通信和有效的解決方案,,尤其滿足多種應(yīng)用中
未分配模塊的輸入 / 輸出繼電器區(qū)以及未使用 1 : 1 鏈接時(shí)的鏈接繼電器區(qū)等均可作為內(nèi)部輔助繼電器使用。根據(jù)程序設(shè)計(jì)的需要,,應(yīng)合理安排PLC 的內(nèi)部輔助繼電器,,在設(shè)計(jì)說(shuō)明書(shū)中應(yīng)詳細(xì)列出各內(nèi)部輔助繼電器在程序中的用途,避免重復(fù)使用,。參閱有關(guān)操作手冊(cè),。
( 3 )分配定時(shí)器 / 計(jì)數(shù)器
PLC 的定時(shí)器 / 計(jì)數(shù)器數(shù)量分別見(jiàn)有關(guān)操作手冊(cè)。
7.3 PLC 軟件系統(tǒng)設(shè)計(jì)方法及步驟
7.3.1 PLC 軟件系統(tǒng)設(shè)計(jì)的方法
在了解了 PLC 程序結(jié)構(gòu)之后,,就要具體地編制程序了,。編制 PLC 控制程序的方法很多,這里主要介紹幾種典型的編程方法,。
@
圖解法編程
圖解法是靠畫(huà)圖進(jìn)行 PLC 程序設(shè)計(jì),。常見(jiàn)的主要有梯形圖法、邏輯流程圖法,、時(shí)序流程圖法和步進(jìn)順控法,。
(1) 梯形圖法:梯形圖法是用梯形圖語(yǔ)言去編制 PLC 程序。這是一種模仿繼電器控制系統(tǒng)的編程方法,。其圖形甚至元件名稱都與繼電器控制電路十分相近,。這種方法很容易地就可以把原繼電器控制電路移植成 PLC 的梯形圖語(yǔ)言。這對(duì)于熟悉繼電器控制的人來(lái)說(shuō),,是的一種編程方法,。
(2) 邏輯流程圖法:邏輯流程圖法是用邏輯框圖表示 PLC 程序的執(zhí)行過(guò)程,,反應(yīng)輸入與輸出的關(guān)系。邏輯流程圖法是把系統(tǒng)的工藝流程,,用邏輯框圖表示出來(lái)形成系統(tǒng)的邏輯流程圖,。這種方法編制的 PLC 控制程序邏輯思路清晰、輸入與輸出的因果關(guān)系及聯(lián)鎖條件明確,。邏輯流程圖會(huì)使整個(gè)程序脈絡(luò)清楚,,便于分析控制程序,便于查找故障點(diǎn),,便于調(diào)試程序和維修程序,。有時(shí)對(duì)一個(gè)復(fù)雜的程序,直接用語(yǔ)句表和用梯形圖編程可能覺(jué)得難以下手,,則可以先畫(huà)出邏輯流程圖,,再為邏輯流程圖的各個(gè)部分用語(yǔ)句表和梯形圖編制 PLC 應(yīng)用程序。
(3) 時(shí)序流程圖法:時(shí)序流程圖法使首先畫(huà)出控制系統(tǒng)的時(shí)序圖(即到某一個(gè)時(shí)間應(yīng)該進(jìn)行哪項(xiàng)控制的控制時(shí)序圖),,再根據(jù)時(shí)序關(guān)系畫(huà)出對(duì)應(yīng)的控制任務(wù)的程序框圖,,后把程序框圖寫(xiě)成 PLC 程序。時(shí)序流程圖法很適合于以時(shí)間為基準(zhǔn)的控制系統(tǒng)的編程方法,。
(4) 步進(jìn)順控法:步進(jìn)順控法是在順控指令的配合下設(shè)計(jì)復(fù)雜的控制程序,。一般比較復(fù)雜的程序,都可以分成若干個(gè)功能比較簡(jiǎn)單的程序段,,一個(gè)程序段可以看成整個(gè)控制過(guò)程中的一步,。從整個(gè)角度去看,一個(gè)復(fù)雜系統(tǒng)的控制過(guò)程是由這樣若干個(gè)步組成的,。系統(tǒng)控制的任務(wù)實(shí)際上可以認(rèn)為在不同時(shí)刻或者在不同進(jìn)程中去完成對(duì)各個(gè)步的控制,。為此,不少 PLC 生產(chǎn)廠家在自己的 PLC 中增加了步進(jìn)順控指令,。在畫(huà)完各個(gè)步進(jìn)的狀態(tài)流程圖之后,,可以利用步進(jìn)順控指令方便地編寫(xiě)控制程序。
2. 經(jīng)驗(yàn)法編程
經(jīng)驗(yàn)法是運(yùn)用自己的或別人的經(jīng)驗(yàn)進(jìn)行設(shè)計(jì),。多數(shù)是設(shè)計(jì)前先選擇與自己工藝要求相近的程序,,把這些程序看成是自己的“試驗(yàn)程序"。結(jié)合自己工程的情況,,對(duì)這些“試驗(yàn)程序"逐一修改,,使之適合自己的工程要求。這里所說(shuō)的經(jīng)驗(yàn),,有的是來(lái)自自己的經(jīng)驗(yàn)總結(jié),,有的可能是別人的設(shè)計(jì)經(jīng)驗(yàn),就需要日積月累,善于總結(jié),。
3. 計(jì)算機(jī)輔助設(shè)計(jì)編程
計(jì)算機(jī)輔助設(shè)計(jì)是通過(guò) PLC 編程軟件在計(jì)算機(jī)上進(jìn)行程序設(shè)計(jì),、離線或在線編程、離線仿真和在線調(diào)試等等,。使用編程軟件可以十分方便地在計(jì)算機(jī)上離線或在線編程,、在線調(diào)試,使用編程軟件可以十分方便地在計(jì)算機(jī)上進(jìn)行程序的存取,、加密以及形成 EXE 運(yùn)行文件,。
安裝簡(jiǎn)單方便
所有的 SIMATIC S7-1200 硬件都具有內(nèi)置安裝夾,能夠方便地安裝在一個(gè)標(biāo)準(zhǔn)的 35 mm DIN 導(dǎo)軌上,。這些內(nèi)置的安裝夾可以咬合到某個(gè)伸出位置,,以便在需要進(jìn)行背板懸掛安裝時(shí)提供安裝孔。SIMATIC S7-1200 硬件可進(jìn)行豎直安裝或水平安裝,。這些特性為用戶安裝 PLC 提供了大的靈活性,,同時(shí)也使得 SIMATIC S7-1200成為眾多應(yīng)用場(chǎng)合的理想選擇。
可拆卸的端子
所有的 SIMATIC S7-1200 硬件都配備了可拆卸的端子板,。因此只需要進(jìn)行一次接線即可,從而在項(xiàng)目的啟動(dòng)和調(diào)試階段節(jié)省了寶貴的時(shí)間,。除此之外,,它還簡(jiǎn)化了硬件組件的更換過(guò)程。
緊湊的結(jié)構(gòu)
所有的 SIMATIC S7-1200 硬件在設(shè)計(jì)時(shí)都力求緊湊,,以節(jié)省在控制柜中的安裝占用空間,。例如,CPU 1214C 的寬度僅有 110 mm,,CPU 1212C 和 CPU 1211C 的寬度也僅有 90 mm,。通信模塊和信號(hào)模塊的體積也十分小巧,使得這個(gè)緊湊的模塊化系統(tǒng)大大節(jié)省了空間,,從而在安裝過(guò)程中為您提供了率和靈活性,。
皮線光纜,又稱蝶形光纜,、8字光纜,,因?yàn)槠淙彳洝⑤p等特點(diǎn)在住宅建筑物接入網(wǎng)中被大量使用,。皮線光纜在工程中要注意哪些問(wèn)題呢,?以下是一些皮線光纜的施工規(guī)范說(shuō)明。

新型的西門(mén)子PLC SIMATIC S7-1500 控制器除了包含多種創(chuàng)新技術(shù)之外,,還設(shè)定了新標(biāo)高生產(chǎn)效率,。無(wú)論是小型設(shè)備還是對(duì)速度和準(zhǔn)確性要求較高的復(fù)雜設(shè)備裝置,都一一適用,。SIMATIC S7-1500 無(wú)縫集成到TIA 博途中,,極大提高了工程組態(tài)的效率,。
西門(mén)子PLC模塊6ES7212-1AE40-0XB0
調(diào)用Modbus RTU 主站讀寫(xiě)子程序
各參數(shù)意義如下:
a. | EN | 使能: | 同一時(shí)刻只能有一個(gè)讀寫(xiě)功能(即 MBUS_MSG)使能 |
---|
| 注意:建議每一個(gè)讀寫(xiě)功能(即 MBUS_MSG)都用上一個(gè) MBUS_MSG 指令的 Done 完成位來(lái)激活,以保證所有讀寫(xiě)指令循環(huán)進(jìn)行(見(jiàn)例程),。 |
---|
b. | First | 讀寫(xiě)請(qǐng)求位: | 每一個(gè)新的讀寫(xiě)請(qǐng)求必須使用脈沖觸發(fā) |
---|
c. | Slave | 從站地址: | 可選擇的范圍 1 - 247 |
---|
d. | RW | 從站地址: | 0 = 讀,, 1 = 寫(xiě) |
---|
| 注意: |
---|
1. 開(kāi)關(guān)量輸出和保持寄存器支持讀和寫(xiě)功能 |
2. 開(kāi)關(guān)量輸入和模擬量輸入只支持讀功能 |
e. | Addr | 讀寫(xiě)從站的數(shù)據(jù)地址: |
---|
| 選擇讀寫(xiě)的數(shù)據(jù)類型 |
---|
| 00001 至 0xxxx - 開(kāi)關(guān)量輸出 |
---|
| 10001 至 1xxxx - 開(kāi)關(guān)量輸入 |
---|
30001 至 3xxxx - 模擬量輸入 |
40001 至 4xxxx - 保持寄存器 |
f. | Count | 數(shù)據(jù)個(gè)數(shù) | 通訊的數(shù)據(jù)個(gè)數(shù)(位或字的個(gè)數(shù)) |
---|
| 注意: Modbus主站可讀/寫(xiě)的zui大數(shù)據(jù)量為120個(gè)字(是指每一個(gè) MBUS_MSG 指令) |
---|
g. | DataPtr | 數(shù)據(jù)指針: | 1. 如果是讀指令,讀回的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中 |
---|
| 2. 如果是寫(xiě)指令,,要寫(xiě)出的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中 |
---|
h. | Done | 完成位 | 讀寫(xiě)功能完成位 |
---|
i. | Error | 錯(cuò)誤代碼: | 只有在 Done 位為1時(shí),,錯(cuò)誤代碼才有效 |
---|
| 0 = 無(wú)錯(cuò)誤 |
---|
1 = 響應(yīng)校驗(yàn)錯(cuò)誤 |
2 = 未用 |
3 = 接收超時(shí)(從站無(wú)響應(yīng)) |
4 = 請(qǐng)求參數(shù)錯(cuò)誤(slave address, Modbus address, count, RW) |
5 = Modbus/自由口未使能 |
6 = Modbus正在忙于其它請(qǐng)求 |
7 = 響應(yīng)錯(cuò)誤(響應(yīng)不是請(qǐng)求的操作) |
8 = 響應(yīng)CRC校驗(yàn)和錯(cuò)誤 |
- |
101 = 從站不支持請(qǐng)求的功能 |
102 = 從站不支持?jǐn)?shù)據(jù)地址 |
103 = 從站不支持此種數(shù)據(jù)類型 |
104 = 從站設(shè)備故障 |
105 = 從站接受了信息,但是響應(yīng)被延遲 |
106 = 從站忙,,拒絕了該信息 |
107 = 從站拒絕了信息 |
108 = 從站存儲(chǔ)器奇偶錯(cuò)誤 |
常見(jiàn)的錯(cuò)誤:
如果多個(gè) MBUS_MSG 指令同時(shí)使能會(huì)造成 6 號(hào)錯(cuò)誤
庫(kù)存儲(chǔ)區(qū)被程序其它地方復(fù)用,,有時(shí)也會(huì)造成6 號(hào)錯(cuò)誤
從站 delay 參數(shù)設(shè)的時(shí)間過(guò)長(zhǎng)會(huì)造成主站 3 號(hào)錯(cuò)誤
從站掉電或不運(yùn)行,網(wǎng)絡(luò)故障都會(huì)造成主站 3 號(hào)錯(cuò)誤
3. 在 CPU 的 V 數(shù)據(jù)區(qū)中為庫(kù)指令分配存儲(chǔ)區(qū)(Library Memory)
Modbus Master 指令庫(kù)需要一個(gè)284個(gè)字節(jié)的全局 V 存儲(chǔ)區(qū),。
參考:分配庫(kù)指令數(shù)據(jù)區(qū)
1.3 關(guān)于 Modbus RTU 主站協(xié)議及地址
此為西門(mén)子正式推出的標(biāo)準(zhǔn)庫(kù)指令說(shuō)明資料,。
在 Modbus RTU Master 協(xié)議和 PPI 協(xié)議之間切換:
Modbus RTU Master 協(xié)議指令庫(kù)使通信口工作在自由口模式下,此時(shí)不能與 Micro/WIN 軟件通信,。要在切換回 PPI 協(xié)議,,可以:
Modbus RTU Master 協(xié)議庫(kù)的執(zhí)行時(shí)間:
Modbus RTU Master 協(xié)議庫(kù)的 MBUS_CTRL 指令不需要很長(zhǎng)的執(zhí)行時(shí)間。MBUS_需要 1.11 ms 用于初始化,,在后續(xù)的每個(gè)掃描周期中只占用 0.41 ms,。
調(diào)用 MBUS_MSG 子程序會(huì)加長(zhǎng)處理時(shí)間。大部分時(shí)間都用于 CRC 校驗(yàn)的計(jì)算,。每讀,、寫(xiě)一個(gè)字的數(shù)據(jù)就需要 1.85 ms 掃描時(shí)間。數(shù)據(jù)zui多的情況下(讀,、寫(xiě) 120 字的數(shù)據(jù)),,掃描時(shí)間大概會(huì)擴(kuò)增加 222 ms。讀操作的時(shí)間主要消耗在接收數(shù)據(jù)上,;寫(xiě)操作的時(shí)間主要消耗在發(fā)送數(shù)據(jù)上,。
Modbus 地址
通常 Modbus 地址由 5 位數(shù)字組成,包括起始的數(shù)據(jù)類型代號(hào),,以及后面的偏移地址,。Modbus Master 協(xié)議庫(kù)把標(biāo)準(zhǔn)的 Modbus 地址映射為所謂 Modbus 功能號(hào),讀寫(xiě)從站的數(shù)據(jù),。Modbus Master 協(xié)議庫(kù)支持如下地址:
00001 - 09999:數(shù)字量輸出( 線圈)
10001 - 19999:數(shù)字量輸入(觸點(diǎn))
30001 - 39999:輸入數(shù)據(jù)寄存器(通常為模擬量輸入)
40001 - 49999:數(shù)據(jù)保持寄存器
Modbus Master 協(xié)議庫(kù)支持的功能
為了支持上述 Modbus 地址的讀寫(xiě),,Modbus Master 協(xié)議庫(kù)需要從站支持下列功能:
表 1. 需要從站支持的功能
Modbus 地址 | 讀/寫(xiě) | Modbus 從站須支持的功能 |
---|
00001 - 09999 數(shù)字量輸出 | 讀 | 功能 1 |
---|
寫(xiě) | 功能 5:寫(xiě)單輸出點(diǎn) 功能 15:寫(xiě)多輸出點(diǎn) |
10001 - 19999 數(shù)字量輸入 | 讀 | 功能 2 |
---|
寫(xiě) | - |
30001 - 39999 輸入寄存器 | 讀 | 功能 4 |
---|
寫(xiě) | - |
40001 - 49999 保持寄存器 | 讀 | 功能 3 |
---|
寫(xiě) | 功能 6:寫(xiě)單寄存器單元 功能 16:寫(xiě)多寄存器單元 |
Modbus 地址和 S7-200 存儲(chǔ)區(qū)地址的映射
S7-200 通過(guò) Modbus Master 和 Slave 協(xié)議庫(kù)通信時(shí),Modbus 地址和 S7-200 內(nèi)存儲(chǔ)區(qū)地址的 映射關(guān)系都類似,。
Modbus 保持寄存器地址映射舉例:

Modbus 數(shù)字量地址映射舉例:
位地址(0xxxx 和 1xxxx)數(shù)據(jù)總是以字節(jié)為單位打包讀寫(xiě),。*個(gè)字節(jié)中的zui低有效位對(duì)應(yīng) Modbus 地址的起始地址。如下圖所示:

圖 4. 數(shù)字量地址映射舉例
1.4 Modbus RTU 主站例程
為了更好地理解 Modbus 主站的編程,可參考下面的例程,。
例子程序1: 多個(gè)MBUS_MSG指令輪詢執(zhí)行,,
注意
1. 該例程使用 Micro/WIN V4.0 SP5 保存。
2. 該例程僅訪問(wèn)一個(gè)從站,,若訪問(wèn)不同的從站,,可通過(guò)改變從站地址來(lái)實(shí)現(xiàn)。
例子程序2:反復(fù)激活單個(gè)MBUS_MSG指令:
注意:此指令庫(kù)/程序的作者和擁有者對(duì)于該軟件的功能性和兼容性不負(fù)任何責(zé)任,。使用該軟件的風(fēng)險(xiǎn)由用戶自行承擔(dān),。由于它是免費(fèi)的,所以不提供任何擔(dān)保,,錯(cuò)誤糾正和支持,,用戶不必為 此西門(mén)子與服務(wù)部門(mén)。
1.5 Modbus RTU 主站常問(wèn)問(wèn)題
Modbus RTU 主站庫(kù)對(duì) CPU 的版本是否有要求,,為什么編譯例子程序時(shí),,會(huì)遇到 4 個(gè)錯(cuò)誤?
Modbus RTU 主站庫(kù)對(duì) CPU 的版本確實(shí)有要求,,CPU 的版本必須為 2.00 或者 2.01(即訂貨號(hào)為6ES721*-***23-0BA*),,1.22 版本之前(包括 1.22 版本)的 S7-200 CPU 不支持。
Modbus 指令庫(kù)啟動(dòng)后,,如何通過(guò)同一個(gè)通信端口進(jìn)行 CPU 監(jiān)控,?
Modbus 指令庫(kù)使用的是 CPU 的自由口通信功能,工作在自由口模式下的通訊口不能使用 Micro/WIN 的 PPI 編程通信監(jiān)控,。如果通信口都已經(jīng)被占用,,可以考慮:
加一個(gè)通信模塊(如 EM 277,、CP 243-1,、EM 241 等)擴(kuò)展出一個(gè)編程通信口
中止自由口模式,可以將 CPU 上的模式開(kāi)關(guān)從 RUN 撥到 STOP,;或者保持處于 RUN 狀態(tài),,用程序停止指令庫(kù)的 Modbus 模式(參見(jiàn)指令庫(kù)應(yīng)用)
如何理解 Modbus 地址與功能碼的區(qū)別?
Modbus 地址與 Modbus 的功能碼是兩個(gè)層次的概念