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