西門子模塊6ES7417-4XT05-0AB0
MicroWin功能塊參數(shù)說明:
(1) SIWAREX MS需要SIMATIC CPU的輸入和輸出區(qū)域中的4個字來進(jìn)行操作。參數(shù)“First_AIW、Second_AIW、Third_AIW和Fourth_AIW”及“First_AQW、Second_AQW、Third_AQW和Fourth_AQW”必須匹配實際模塊地址。如下圖所示:

(2) FirstVB_Pointer:為了能夠與SIWAREX模塊進(jìn)行通信,每臺秤需要用20字節(jié)的變量存儲區(qū),該范圍的起始字節(jié)通過參數(shù)“FirstVB_POINTER”來傳送,采用指針格式, 如&VB0。
變量具體含義參見下表:

(3) Lib_Error_Bits:存儲錯誤狀態(tài);
6.
建立符號表:

7.
,建立變量表,然后 ,在線查看和修改PLC變量
步:零點(diǎn)標(biāo)定
空秤時顯示毛重為1.85kg (注:默認(rèn)單位為kg,小數(shù)點(diǎn)位數(shù)為2)

寫入命令代碼3,并將觸發(fā)位置1,
按鈕,進(jìn)行零點(diǎn)標(biāo)定,將當(dāng)前重量標(biāo)為0,如下所示:

第二步:砝碼標(biāo)定
將一個20kg的砝碼傳感器上,然后寫入命令代碼4,并將觸發(fā)位置1

命令執(zhí)行完畢后,值為2000,即20kg

注:(1)務(wù)必保證標(biāo)定砝碼的重量大于所有稱重傳感器的總額定負(fù)荷的5 %,否則命令4無法執(zhí)行;
(2)標(biāo)定砝碼的重量可以通過SIWATOOL MS進(jìn)行修改,默認(rèn)值為20kg

第三步:去皮操作
當(dāng)前毛重為6.59kg,寫入命令代碼22,并將觸發(fā)位置1,如下所示

命令執(zhí)行完畢后,毛重值變?yōu)?kg

注:(1)如果采用預(yù)設(shè)皮重的,那么可以在VW14中輸入預(yù)設(shè)的皮重值,然后執(zhí)行命令26;或者在SIWATOOL MSDR15中輸入預(yù)設(shè)皮重,然后執(zhí)行命令24

第四步:毛重、皮重和凈重的顯示
西門子模塊6ES7417-4XT05-0AB0
下面的步驟將具體介紹此功能實現(xiàn)的步驟:
①、在PLC中編寫發(fā)送程序。在項目管理視圖下雙擊“Device”下的程序塊下的Main(OB1),打開OB1,在主程序中調(diào)用RCV_PTP功能塊如下圖所示:(注:RCV_PTP在指令庫下的擴(kuò)展指令中通訊指令下)

圖15: 調(diào)用發(fā)送功能塊
要對RCV_PTP賦值參數(shù),首先需要創(chuàng)建RCV_PTP的背景數(shù)據(jù)塊和發(fā)送緩沖數(shù)據(jù)塊 ,雙擊“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在彈出的串口命名DB_RCV_PTP,選擇DB塊,在Type后選擇“RCV_PTP(SFB114)”

圖16: 創(chuàng)建接收功能塊的背景數(shù)據(jù)塊
插入背景DB后,再插入接收緩沖DB塊,重復(fù)上面的步驟,只是在選擇DB類型為“bbbbbb DB”,并去掉“Symbolic access only”選項勾(這樣可以對該DB塊進(jìn)行直接地址訪問),并取名該DB塊為DB_RCV_BUFF。建好這兩個DB塊后,雙擊打開DB_RCV_BUFF定義接收緩沖區(qū)數(shù)據(jù)的類型,如下圖所示:

圖17:定義接收緩沖區(qū)
定義完接收緩沖區(qū)后,接下來就可以對RCV_PTP賦值參數(shù),賦值參數(shù)后如下圖:

圖18:接收編程
在上面的編程塊里需要注意的是,在接收緩沖區(qū)時。字符的開始地址是從第二個字節(jié),而不是零字節(jié)開始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200對字符串的存放的格式造成的,S7-1200對字符串的前兩個字節(jié)的定義第一字節(jié)是最大的字符長度,第二個字節(jié)是實際的字符長度。接下來才是存放實際字符。如下圖:

圖19:bbbbbb存儲格式
上面就完成了程序的編寫,對項目進(jìn)行編譯;右擊PLC_1項目在彈出的菜單里選擇“Complies ALL”選項,這樣就對硬件與軟件進(jìn)行編譯,如下圖:

圖20:編譯項目
編譯且沒有錯誤后就可以下載程序到PLC中,同樣右擊PLC_1項目,在彈出的菜單選擇“Download to Device”。
②、用串叉線連接S7-1200的串口與計算機(jī)的串口,打開計算機(jī)的超級終端程序,并設(shè)置硬件端口參數(shù)如下圖:

圖21:超級終端的端口設(shè)置
在桌面上新建文本文件,打開此文本文件在里面輸入“gfdcba”,如下圖:

圖22:在文本文件下輸入要發(fā)送的字符串
③、打開變量監(jiān)控表,強(qiáng)制M0.0,使能接收。然后, 在超級終端里,選擇菜單“Transfer”下的“Send Text file”,在打開的窗口里找到桌面 上的文本文件。

圖23:通過超級終端發(fā)送數(shù)據(jù)
打開DB_RCV_BUFF數(shù)據(jù)塊,在線查看接收到的數(shù)據(jù),如下圖:

圖23:接收緩沖區(qū)中接收到的數(shù)據(jù)
通過上面的例子實現(xiàn)了簡單的應(yīng)用,在實際的應(yīng)用過程中,需要按第三方設(shè)備的協(xié)議進(jìn)行編寫S7-1200的程序。
西門子S7-1200 緊湊型PLC在當(dāng)前的市場中有著廣泛的應(yīng)用,作為經(jīng)常與SENTRON PAC3200系列儀表共同使用的PLC,其Modbus通信協(xié)議的使用一直在市場上有著非常廣泛的應(yīng)用。本文將主要介紹如何使用Modbus 通信協(xié)議來實現(xiàn)S7-1200與SENTRON PAC3200儀表的通信。
1.西門子SENTRON PAC3200 儀表介紹
西門子的SENTRON PAC3200多功能電力儀表是一種用于面板安裝的儀表,可用來計量、顯示配電系統(tǒng)多達(dá)50個測量變量,例如電壓、電流、功率、有功功率、頻率以及最大值、最小值和平均值。中文大屏幕圖形液晶顯示使用戶可遠(yuǎn)距離讀表。PAC3200儀表如下圖所示。

圖1:儀表PAC3200
1.1 SENTRON PAC3200 MODBUS RTU通信擴(kuò)展模塊介紹
PAC3200多功能儀表的本體沒有MODBUS RTU通信的功能,如果希望將PAC3200作為從站連接到MODBUS RTU網(wǎng)絡(luò)與主站進(jìn)行數(shù)據(jù)交換必須選用外部擴(kuò)展通信模塊――SENTRON PAC RS485模塊。(注意: PAC RS485 擴(kuò)展模塊使用錯誤的固件版本時將不能工作
SENTRON PAC3200 電力監(jiān)測設(shè)備的固件版本低應(yīng)為FWV2.0X。 較早的版本不支持
PAC RS485 擴(kuò)展模塊。)該擴(kuò)展模塊具有下列性能特點(diǎn):
• 可通過設(shè)備正面設(shè)置參數(shù)
• 即插即用
• 支持 4.8/9.6/19.2 以及 38.4 KBd 通信傳輸速率
• 通過6針螺釘端子接線
• 不需要外接輔助電源
• 通過模塊上的 LED 顯示狀態(tài)
PAC3200 MODBUS RTU通信擴(kuò)展模塊如下圖所示。
(1) 通信接線端子
(2) 安裝螺釘
(3) 通風(fēng)口
(4) LED

圖2:PAC3200 MODBUS RTU 通信模塊
1.2 SENTRON PAC3200 MODBUS RTU通信擴(kuò)展模塊的接線
SENTRON PAC3200 MODBUS RTU通信擴(kuò)展模塊的接線如下圖所示

圖3:PAC3200 MODBUS RTU 通信模塊的接線圖
1. 將電纜連接到端子排上相應(yīng)的螺栓端子。
2. 將電纜屏蔽層的一端連接到保護(hù)性接地PE。
3. 將信號公共端連接到保護(hù)性接地。 這樣也使得擴(kuò)展模塊接地。
4. 在第一個和最后一個通信節(jié)點(diǎn)上,在正信號和負(fù)信號之間接入總線端接電阻器。 為
此,PAC RS485 擴(kuò)展模塊中集成了一個120 Ohm 的總線端接電阻器。 如果需要其它
電阻值,請使用外部總線端接電阻器。 將它連接到第一個和最后一個通信節(jié)點(diǎn)。
1.3 SENTRON PAC3200 MODBUS RTU通信的方式
1.SENTRON PAC3200設(shè)備支持的功能碼如下:
FC | 功能碼 | 數(shù)據(jù)類型 | 訪問權(quán)限 |
02 | 輸入的狀態(tài) | 位 | 輸入 | R |
03 | 輸出寄存器 | 寄存器 | 輸出 | R |
04 | 輸入寄存器 | 寄存器 | 輸入 | R |
06 | 單一輸出寄存器 | 寄存器 | 輸出 | RW |
10 | 多個輸出寄存器 | 寄存器 | - | RW |
2B | 設(shè)備識別 | - | - | R |
表1: SENTRON PAC3200設(shè)備支持的功能碼
R—可讀
RW—可讀寫
2.SENTRON PAC3200 MODBUS RTU 與S7-1200進(jìn)行通信
S7-1200 PLC可以通過功能代碼0x03 和0x04 訪問儀表PAC3200的被測量數(shù)據(jù)。
下表是一些PAC3200 被測量的數(shù)據(jù)。

表2: SENTRON PAC3200設(shè)備的一些被測量數(shù)據(jù)
2.西門子SENTRON PAC3200 儀表與S7-1200進(jìn)行通信的接線圖
下圖是SENTRON PAC3200儀表與S7-1200進(jìn)行MODBUS RTU 通信的接線圖。

圖4:S7-1200與PAC3200進(jìn)行MODBUS RTU 進(jìn)行通信的接線圖
3.硬件需求
S7-1200 PLC目前有3種類型的CPU:
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
這三種類型的CPU都可以使用MODBUS通信協(xié)議通過通信模塊CM1241 RS485來實現(xiàn)S7-1200與PAC3200儀表的通信。
本例中使用的PLC硬件為:
1)PM1207電源 ( 6EP1 332-1SH71 )
2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 )
3) CM1241 RS485 ( 6ES7 241 -1CH30 -0XB0 )
4) 模擬器 ( 6ES7 274 -1XH30 -0XA0 )
本例中使用的PAC3200儀表硬件為:
1) PAC3200 (7KM2112-0BA00-3AA0)
2) MODBUS RTU 模塊 (7KM9300-0AB00-0AA0)
3) MODBUS 通信電纜 ( 6XV1830-0EH10)
3.軟件需求
1) 編程軟件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)
4.S7-1200 MODBUS RTU的通信方式
S7-1200作為MODBUS RTU主站的通信方式是由DATA_ADDR 和 MODE 參數(shù)來選擇 Modbus 功能類型的。
DATA_ADDR(從站中的起始 Modbus 地址): 要在 Modbus 從站中訪問的數(shù)據(jù)的起始地址。MB_MASTER 使用 MODE 輸入而非功能代碼輸入。 MODE 和 Modbus 地址范圍一起確定實際 Modbus 消息中使用的功能代碼。
下表列出了 MB_MASTER 參數(shù) MODE、Modbus 功能代碼和 Modbus 地址范圍之間的對應(yīng)關(guān)系。


表3: MB_MASTER的MODBUS 功能
5.S7-1200 與PAC3200 進(jìn)行MODBUS RTU的通信組態(tài)
我們通過一個實例來介紹如何在Step7 Basic V10.5 中組態(tài)S7-1214C 和PAC3200的MODBUS RTU通信。
5. 1 PLC 硬件組態(tài)
首先在Step7 Basic V10.5中建立一個項目,如圖1所示。

圖5: 新建S7 1200項目
在硬件配置中,添加CPU1214C和通信模塊CM1241 RS485模塊,如圖2所示。

圖6: S7 1200硬件配置
在CPU的屬性中,設(shè)置以太網(wǎng)的IP地址,建立PG與PLC的連接,如下圖所示。

圖7: S7 1200 IP地址的設(shè)置
5. 2 PAC3200參數(shù)設(shè)置
在SENTRON PAC 電力監(jiān)測設(shè)備的主菜單中,調(diào)用“設(shè)置”>“RS485 模塊”,出現(xiàn)下面的設(shè)置畫面:

圖8: PAC3200 MODBUS RTU 通信參數(shù)的設(shè)置
1. 地址的設(shè)置范圍:1-247。本例中設(shè)為8。
2. 波特率的設(shè)置范圍:4800,9600,19200,38400。本例中設(shè)為38400。
3. 設(shè)置外部通信的數(shù)據(jù)位、奇偶校驗位及停止位:
• 8E1=8 個數(shù)據(jù)位,奇偶校驗位為even, 1 個停止位
• 8O1=8 個數(shù)據(jù)位,奇偶校驗位為odd, 1 個停止位
• 8N2=8 個數(shù)據(jù)位,無奇偶校驗位, 2 個停止位
• 8N1=8 個數(shù)據(jù)位,無奇偶校驗位, 1 個停止位
本例中根據(jù)S7-1200 MODBUS MASTER 的參數(shù)設(shè)置為 8N1。
4. 協(xié)議的設(shè)置:可選項為:SEABUS,MODBUS RTU。
本例中設(shè)為MODBUS RTU。
5.響應(yīng)時間的設(shè)置:注意與波特率的設(shè)置相匹配,本例中設(shè)為10mS。
