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

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

(3) Lib_Error_Bits:存儲(chǔ)錯(cuò)誤狀態(tài);
6.
建立符號(hào)表:

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

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

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

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

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

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

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

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

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

圖15: 調(diào)用發(fā)送功能塊
要對(duì)RCV_PTP賦值參數(shù),首先需要?jiǎng)?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類(lèi)型為“bbbbbb DB”,并去掉“Symbolic access only”選項(xiàng)勾(這樣可以對(duì)該DB塊進(jìn)行直接地址訪(fǎng)問(wèn)),并取名該DB塊為DB_RCV_BUFF。建好這兩個(gè)DB塊后,雙擊打開(kāi)DB_RCV_BUFF定義接收緩沖區(qū)數(shù)據(jù)的類(lèi)型,如下圖所示:

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

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

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

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

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

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

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

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

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

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

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

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

圖4:S7-1200與PAC3200進(jìn)行MODBUS RTU 進(jìn)行通信的接線(xiàn)圖
3.硬件需求
S7-1200 PLC目前有3種類(lèi)型的CPU:
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
這三種類(lèi)型的CPU都可以使用MODBUS通信協(xié)議通過(guò)通信模塊CM1241 RS485來(lái)實(shí)現(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ù)來(lái)選擇 Modbus 功能類(lèi)型的。
DATA_ADDR(從站中的起始 Modbus 地址): 要在 Modbus 從站中訪(fǎng)問(wèn)的數(shù)據(jù)的起始地址。MB_MASTER 使用 MODE 輸入而非功能代碼輸入。 MODE 和 Modbus 地址范圍一起確定實(shí)際 Modbus 消息中使用的功能代碼。
下表列出了 MB_MASTER 參數(shù) MODE、Modbus 功能代碼和 Modbus 地址范圍之間的對(duì)應(yīng)關(guān)系。


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

圖5: 新建S7 1200項(xiàng)目
在硬件配置中,添加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)測(cè)設(shè)備的主菜單中,調(diào)用“設(shè)置”>“RS485 模塊”,出現(xiàn)下面的設(shè)置畫(huà)面:

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