產(chǎn)品中心/ PRODUCTS
聯(lián)系電話:021-36320996
西門子S7-200 smart為中國(guó)用戶的使用習(xí)慣而集成了1個(gè)RS485通訊口,該通訊口可以實(shí)現(xiàn)RS485自由口通訊,西門子已經(jīng)為客戶開發(fā)ModbusRTU主站和從站通訊指令庫(kù)-USS通訊指令庫(kù),受到了廣大PLC用戶的歡迎,其中大的實(shí)惠就是可以連接modbus協(xié)議的值編碼器了,RS485的通訊口modbus的協(xié)議,我們就習(xí)慣的將modbus編碼器簡(jiǎn)稱為RMB編碼器,RMB和人民幣諧音,好記。
我們這里要介紹S7-200 smart和值多圈編碼器的通訊,S7-200 smart作為主站,值編碼器作為從站,那么西門子S7-200 smart與RMB值多圈編碼器編碼器如何通信?
首先是硬件準(zhǔn)備:
然后西門子PLC S7-200 smart 的接線方式,如圖1
還有編碼器的接線方式,如表1
芯纜顏色 | 信號(hào)輸出 | 硬件對(duì)應(yīng)接口 |
棕色 | 10…30Vd工作電源 | PLC的24VDC傳感器電源輸出 L+ |
藍(lán)色 | 0V GND | PLC的24VDC傳感器電源輸出 M |
黑色 | RS485A編程、輸出 | PLC的port 0 9芯插頭的3腳 |
白色 | RS485B編程、輸出 | PLC的port 0 9芯插頭的8腳 |
表1
這里的接線編碼器的電源從PLC里取
S7-200 SMART設(shè)置方法
S7-200 SMART CPU上的通信口0(Port0)通過(guò)指令庫(kù)支持Modbus RTU從站模式。
S7-200 SMART CPU 上的通訊口0和1(Port0和Port1)通過(guò)指令庫(kù)支持Modbus RTU主站模式。
S7-200 SMART CPU 上的通訊口0和1(Port0和Port1)不能同時(shí)作為Modbus RTU主站或從站。
S7-200 SMART CPU 本體集成通信口(Port 0)、可選信號(hào)板(Port 1)可以支持Modbus RTU協(xié)議,成為Modbus RTU主站站。此功能是通過(guò) S7-200 SMART的自由口通信模式實(shí)現(xiàn),因此可以通過(guò)無(wú)線數(shù)據(jù)電臺(tái)等慢速通信設(shè)備傳輸。
注:SB CM01(RS485/RS232) 訂貨號(hào):6ES7 288-5CM01-0AA0
S7-200 SMART 軟件的幫助有明確說(shuō)明
打開軟件 找到庫(kù) 選擇初始化主站 或者從站程序塊 然后按F1
從站參數(shù)“端口”(Port) 設(shè)置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可選信號(hào)板上的 RS-485 或 RS-232)。主站參數(shù)“端口”(Port)設(shè)置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可選 CM01 信號(hào)板上的 RS-485 或 RS-232)。清晰的寫著他們都可以既做主又可以做從
而且兩個(gè)口是獨(dú)立的 既可以同時(shí)做主 可以同時(shí)做從 還可以向你說(shuō)的一個(gè)做主一個(gè)做從。
Modbus RTU 從站協(xié)議
Modbus 從站協(xié)議指令使用以下 CPU 資源:
MBUS_INIT 指令會(huì)初始化 Modbus 從站協(xié)議,并使分配的 CPU 端口(0 或 1)于 Modbus 從站通信。
CPU 端口用于 Modbus 通信時(shí),無(wú)法再將其用于任何其它用途,包括與 HMI 的通信。
Modbus 從站指令會(huì)影響所有與由 MBUS_INIT 指令分配的端口上的自由端口通信相關(guān)聯(lián)的 SM 位置。
Modbus 從站指令程序大小
Modbus 從站指令使用 3 個(gè)子例程和 2 個(gè)中斷。
Modbus 從站指令需要 2113 個(gè)字節(jié)的程序空間來(lái)存儲(chǔ)兩個(gè)從站指令和支持例程。
Modbus 從站指令的變量需要 786 個(gè)字節(jié)的 V 存儲(chǔ)器塊。該區(qū)域的起始地址由用戶,保留給 Modbus 變量。
1.打開 Micro/WIN SMART軟件 - -> 選好PLC型號(hào) - -> ModbusRTU的指令在軟件安裝編程軟件之后的庫(kù) 菜單里面可以找到在“庫(kù)”中調(diào)用“MBUS_CTRL”和“MBUS_MSG“兩個(gè)子程序
使用 SM0.0 調(diào)用 MBUS_CTRL 完成主站的初始化,并啟動(dòng)其功能控制。
上圖示例為編程插入指令
各參數(shù)意義如下:
1、EN(使能):必須保證每一掃描周期都被使能(使用 SM0.0)
2、Mode(模式):為 1 時(shí),使能 Modbus 協(xié)議功能
3、Baud(波特率):編碼器支持的通訊波特率為9600,19200,38400,57600,115200。PLC與編碼器之間,雙方約定一個(gè)相同的通信速度稱之為波特率。 通訊中要求雙方有相同的波特率, 以便正確地識(shí)別被傳輸?shù)臄?shù)據(jù)位。 波特率決定了通訊的速度,波特率越小, 通訊速度越慢, 同時(shí)出錯(cuò)率也越低。9600的波特率通訊速度較慢但是比較穩(wěn)定,抗干擾能力強(qiáng),19200為常用波特率.本例使用的編碼器通過(guò)EASYPRO軟件可以將編碼器簡(jiǎn)單調(diào)整波特率為19200.
4、Parity(校驗(yàn)):校驗(yàn)方式選擇2=偶較驗(yàn) 本例試用的編碼器為偶校驗(yàn)
5、Port(端口號(hào)):0 = CPU 集成的 RS 485 通訊口
6、Timeout(超時(shí)):主站等待從站響應(yīng)的時(shí)間,以毫秒為單位,典型的設(shè)置值為 1000 毫秒(1 秒)
注意: 這個(gè)值必須設(shè)置足夠大以保證從站有時(shí)間響應(yīng)。
7、Done(完成位):初始化完成,此位會(huì)自動(dòng)置1。可以用該位啟動(dòng) MBUS_MSG 讀寫操作
二、PLC讀取編碼器參數(shù)的操作
各參數(shù)意義如下:
1、EN(使能):同一時(shí)刻只能有一個(gè)讀寫功能(即 MBUS_MSG)使能
注意:建議每一個(gè)讀寫功能(即 MBUS_MSG)都用上一個(gè) MBUS_MSG 指令的 Done 完成位來(lái)激活,以保證所有讀寫指令循環(huán)進(jìn)行。
2、First(讀寫請(qǐng)求位):每一個(gè)新的讀寫請(qǐng)求必須使用脈沖觸發(fā)
3、Slave(從站地址):可選擇的范圍 1 – 247,如果一個(gè)PLC帶多個(gè)編碼器的話,PLC作為主站,編碼器作為從站,需要對(duì)編碼器進(jìn)行地址設(shè)置。本例使用的編碼器自帶的EasyPRO設(shè)置軟件,可以非常簡(jiǎn)單的可以設(shè)置編碼器從站地址。
4、RW(讀寫請(qǐng)求):0 = 讀
注意:
1. 開關(guān)量輸出和保持寄存器支持讀和寫功能
2. 開關(guān)量輸入和模擬量輸入只支持讀功能
5、Addr(讀寫從站):選擇讀寫的數(shù)據(jù)類型,數(shù)據(jù)地址:30002
本例的編碼器數(shù)據(jù)地址是30002
6、Count(數(shù)據(jù)個(gè)數(shù)):通訊的數(shù)據(jù)個(gè)數(shù)(位或字的個(gè)數(shù))
本例的編碼器數(shù)據(jù)位數(shù)是2 位
注意: Modbus主站可讀/寫的大數(shù)據(jù)量為120個(gè)字(是指每一個(gè) MBUS_MSG 指令)
7、DataPtr(數(shù)據(jù)指針):
1. 如果是讀指令,讀回的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中
2. 如果是寫指令,要寫出的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中
8、Done(完成位):讀寫功能完成位
給MODBUS指令分配庫(kù)寄存器
編譯、下載,可以在狀態(tài)圖表里監(jiān)控VD200數(shù)據(jù)
PLC讀到的編碼器數(shù)據(jù)存放在VD200里。一般的編碼器讀到的是編碼器的原始數(shù)據(jù),需要通過(guò)公式計(jì)算來(lái)轉(zhuǎn)換成需要的數(shù)據(jù).還有根據(jù)安裝方法不一樣,會(huì)需要調(diào)整編碼器數(shù)據(jù)的方向,順時(shí)針為面對(duì)編碼器轉(zhuǎn)軸端面, 順時(shí)針旋轉(zhuǎn), 編碼器數(shù)值增大。逆時(shí)針為面對(duì)編碼器轉(zhuǎn)軸端面, 逆時(shí)針旋轉(zhuǎn), 編碼器數(shù)值增大。比如在起重大車的車輪上,一左一右,編碼器都是裝在外邊,這時(shí)一個(gè)編碼器順時(shí)針,一個(gè)編碼器逆時(shí)針. 本例的編碼器可以使用EASYPRO軟件簡(jiǎn)單調(diào)整編碼器的每圈分辨率,旋轉(zhuǎn)方向.讀到的數(shù)據(jù)可以不用公式計(jì)算直接使用在程序中.