溫度控制器RS-485通訊功能連接問題如何處理
RS485通訊功能 客戶端為電腦時的連接方法及通訊參數(shù)的設(shè)定:
1、 首先電腦終端需連接含有定義RS485通信端口的轉(zhuǎn)換器 USB to RS485 Converter。
2、 從轉(zhuǎn)換器定義的RS485端口引出兩根導(dǎo)線(可用屏蔽雙絞線)(DATA+ DATA-)用于連接溫控器。
3、 當連接多臺溫控器時,先將溫控器對應(yīng)RS485的腳位并聯(lián)起來然后再連接轉(zhuǎn)換器。
4、 溫控器電源腳位也采取并聯(lián)方式連接。大體的連接方式如下圖:
5、 送電后修改參數(shù):在溫控器階層選擇界面找到“SPC”界面后確認進入,然后調(diào)節(jié)通訊速率參數(shù)“Baud”(可根據(jù)需要調(diào)成2.4K、4.8K、9.6K(默認)、19.2K、38.4K)和站點參數(shù)“Addr” (多臺控制器依次分別調(diào)為1、2、3... ,將分別對應(yīng)電腦軟件界面上的站點1、2、3...)
6、 在電腦上安裝RS485通訊功能測試軟件。在電腦的設(shè)備管理器查看所連接的轉(zhuǎn)換器在電腦上占用的COM點(假設(shè)為COM 3)。
7、 接下來雙擊打開軟件“ ”。在對話框“ ”
一欄內(nèi)將“Com Port”調(diào)成“COM 3”如下圖:
(BaudRate的值與控制器參數(shù)“Baud”值一致)
8、 分別進入“ ”欄內(nèi)點開溫控器對應(yīng)站點的開關(guān)即可進行通訊測試。
備注:通訊程式可直接到我司官網(wǎng)免費下載使用。
作者:xintec(來自豆瓣)
來源:https://www.douban.com/note/561745795/
RS485通訊功能 客戶端為人機界面時的連接方法及內(nèi)部通訊設(shè)定:
溫控器和人機界面進行485通訊是利用人機界面豐富的通訊口功能(一般可提供給用戶3個COM接口)。舉個例子, 一個完整的控制系統(tǒng)大致如下:COM 1:通過RS232通訊方式與下位PLC連接,以進行生產(chǎn)工藝參數(shù)設(shè)置和讀??;COM 2:RS485通訊方式與一臺變頻器連接,可以進行給定頻率設(shè)定,顯示輸出頻率、輸出電壓、輸出電流、報警信息及大致原因等參數(shù),同時還可以通過人機界面通訊控制啟動、停止變頻器;COM 3:RS485通訊方式與多臺溫度控制器連接,可以顯示溫度設(shè)定值、當前值,還可以通過通訊設(shè)定這幾臺溫控器的通訊站號、PID參數(shù)等內(nèi)容值。大致連接圖如下:
下面只說明人機與溫控器的連接操作:連接HMI和溫控器時,在連接方面,將人機界面定義RS485功能的通訊口與多臺溫控器相連(溫控器之間采取并聯(lián)方式且腳位要對應(yīng))。通訊方面,在人機界面中,對通訊格式進行設(shè)定。我司生產(chǎn)的RS-485通訊功能控制器通訊協(xié)議符合標準的MODBUS RTU模式,資料結(jié)構(gòu)為8N1。連接遵從人機界面為主、溫控器為從的主從關(guān)系。此外通訊軟體要通過HMI自帶的編程軟件進行編寫。應(yīng)用COM端口連接多臺溫控器,除了實時讀取相應(yīng)槽位SV、PV值,采用PID溫度控制方式達到準確控溫效果,也可以通過人機界面分別設(shè)置P、I、D相關(guān)參數(shù)以及實現(xiàn)通訊協(xié)議自動同步功能。
關(guān)于人機界面通信協(xié)議的編寫要根據(jù)ModBus RTU協(xié)議編寫:首先下載人機界面的組態(tài)軟件,下載安裝好軟件之后,新建一個工程文件,型號對應(yīng)的是公司出產(chǎn)產(chǎn)品型號,
然后點擊下面的通道選擇ModBus RTU協(xié)議:
可以通過[新增]擴展通訊接口設(shè)置 擴展數(shù)量由硬件決定,人機界面串口既可以做RS232,又可以做RS485,根據(jù)需求接線(這里做485的接線),通訊協(xié)議對應(yīng)的就是Modbus rtu協(xié)議。然后要給各通道一個寄存器地址,方法實現(xiàn)如下:所有的通道都設(shè)置好后把工程下載到人機界面顯示屏里(或在線模擬)即可。
具體的步驟如下:
1、 連接:將觸摸屏定義RS485功能的通訊口與我司溫控器相連(多臺溫控器時,溫控器之間采取并聯(lián)方式且腳位要對應(yīng))。
2、 觸摸屏通訊格式設(shè)定為標準的MODBUS RTU模式,資料結(jié)構(gòu)為8N1。
3、 通信速度Baud請設(shè)定跟溫控表一致。
4、 站號Addr請勿重復(fù) 。
5、 參數(shù)位址 請參考對照表 。
下面以HITECH人機與我司溫控器通訊的應(yīng)用為例說明通訊設(shè)定和連接操作:
本例應(yīng)用中,使用一款5.7寸單色HITECH人機,型號為PWS6600S-P來跟溫控器通訊
通訊設(shè)定:
一、人機軟件中的通訊設(shè)定
首先,在HITECH人機編程軟件ADP中,選定人機型號及所連接的控制器類型,如下圖:
軟件中PLC種類選擇Modicon 984(RTU;Slave),這就是標準MODBUS協(xié)議,溫控器作為從站。(注意此處將控制區(qū)和狀態(tài)區(qū)地址都刪掉,否則會影響通訊。)
通訊參數(shù)設(shè)定如下圖:
二、溫控器中的通訊設(shè)定
將溫控器送電后在階層選擇菜單下找到SPC階層,確認進入后可通過參數(shù)“Addr”來決定通訊的站位地址,然后通過“Baud”參數(shù)來決定傳輸速率(默認為9600)。要注意的是,為了確保通訊暢通,將人機模組參數(shù)項通訊口通訊協(xié)議、通訊格式(標準的MODBUS RTU模式,資料結(jié)構(gòu)為8N1)分別和溫控器相應(yīng)參數(shù)(包括通訊站號“Addr”以及通訊速率“Baud”)設(shè)置一致。
三、通訊連接方式
PWS6600S-P具有兩個通訊口,而且都支持RS232和RS485通訊方式,跟溫控器通訊使用RS485方式,而且支持多個模塊組網(wǎng)通訊。
RS485通訊功能 客戶端為PLC時的連接方法及通訊設(shè)定:
我司溫控器與PLC進行485通訊時同樣遵從ModBus RTU格式。當PLC與多臺溫控器通訊時,遵循PLC為主 溫控器為從的主從關(guān)系。即由PLC對各溫控器進行輪詢并發(fā)送的動作指令(通訊程式由PLC編程軟件編寫)。連接方面:將PLC上定義RS-485的腳位與主溫控器相連,然后溫控器之間采用并聯(lián)方式即可,注意引腳的正負要對應(yīng)。關(guān)于PLC上引腳的定義,舉例如圖:
注意:連接時引腳要對應(yīng)連接,否則通訊會出錯。
通訊設(shè)定:
一、 溫控器上通訊設(shè)定: 表3-1
參數(shù)(SPC階層) 參數(shù)說明 設(shè)定值
Addr 通訊站位 各溫控器依次設(shè)為1,2,3...
Baud 通訊速率 9600(默認)
溫控器通訊規(guī)格:
1、 支持ModBus RTU通訊格式,支持波特率24,19200,38400。
2、 通訊地址:00H~FFH 參數(shù)位置:0000H~0100H
3、 支持通訊格式:資料位元=8,同位元偶合=無,起始位元=1,停止位元=1。
二、 PLC上通訊設(shè)定:
1、對PLC上定義RS-485的定義引腳進行初始化, 使其通訊格式為 ModBus RTU, 9600, 8,N,1。(即與溫控器RS-485通訊端口通訊格式一致)
2、用PLC編程軟件根據(jù)ModBus RTU通訊協(xié)議編寫485通訊程式并燒錄。(可直接用PLC編程軟件內(nèi)的ModBus庫進行編寫)
下面以西門子S7-200為例與我司溫控器進行485通信(通信協(xié)議:MODBus RTU 資料結(jié)構(gòu):8N1)
下圖為S7-200的引腳定義圖:
首先PLC做主站,溫控器做從站。連接上將溫控器定義485的引腳接在西門子S7-200的3和8引腳(注意正負腳位要對應(yīng))。若連接多臺溫控器,則溫控器之間采用并聯(lián)方式。
溫控器參數(shù)設(shè)定:參考表3-1
PLC通訊設(shè)定:基本要求和設(shè)定如下:
要求: 要使用Modbus協(xié)議先在STEP 7 Micro/Win上安裝指令庫 。 Modbus主站協(xié)議只支持STEP 7 Micro/Win V4.0 SP5及其以上版本.。
1. 硬件設(shè)置 本例程中的Modbus通訊plc在做主站側(cè)時可以選擇相應(yīng)庫文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"然后通過對應(yīng)的通訊口通信。主從兩端通過電纜進行連接(電纜的 針腳 連接為3,8)
2. 參數(shù)匹配 對于MODBUS通訊, 主站側(cè)需要程序庫 "MBUS_CTRL" 和 "MBUS_MSG", 從站側(cè)溫控器參數(shù)設(shè)定如上。在 Micro/WIN 中需要新建一個項目,主站和從站的參數(shù)設(shè)置上要主站與從站的“Baud”和"Parity"的參數(shù)設(shè)置要一致,并且程序塊"MBUS_MSG"中的"Slave"地址要與溫控器的"Addr"所設(shè)置的一致"。
下面是關(guān)于PLC指令編寫的一些資料:
西門子標準指令庫(Micro/WIN V4.0 SP5)
注意:
1. Modbus RTU 主站指令庫的功能是通過在用戶程序中調(diào)用預(yù)先編好的程序功能塊實現(xiàn)的,該庫對 Port0 和 Port 1 有效。該指令庫將設(shè)置通信口工作在自由口模式下。
2. Modbus RTU 主站指令庫使用了一些用戶中斷功能,編其他程序時不能在用戶程序中禁止中斷。
3. Modbus RTU 主站庫對CPU的版本有要求。CPU 的版本為 2.00 或者 2.01,1.22版本之前(包括1.22版本)的 S7-200 CPU 不支持。
另外,要使用 Modbus RTU 主站指令庫,還須遵循下列步驟:
1. 安裝西門子標準指令庫
2. 按照要求編寫用戶程序調(diào)用 Modubs RTU 主站指令庫
Modbus RTU 主站功能編程
1. 調(diào)用 Modbus RTU 主站初始化和控制子程序
使用 SM0.0 調(diào)用 MBUS_CTRL 完成主站的初始化,并啟動其功能控制:
圖 2. 用 SM0.0 調(diào)用 Modbus RTU 主站初始化與控制子程序
各參數(shù)意義如下:
a. EN 使能: 每一掃描周期都被使能(使用 SM0.0)
b. Mode 模式: 為 1 時,使能 Modbus 協(xié)議功能;為 0 時恢復(fù)為系統(tǒng) PPI 協(xié)議
c. Baud 波特率: 支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200。
d. Parity 校驗: 校驗方式選擇
0=無校驗
1=奇較驗
2=偶較驗
e. Timeout 超時: 主站等待從站響應(yīng)的時間,以毫秒為單位,典型的設(shè)置值為 1000 毫秒(1 秒),允許設(shè)置的范圍為1 - 32767。
注意: 這個值設(shè)置足夠大以從站有時間響應(yīng)。
f. Done 完成位: 初始化完成,此位會自動置1。可以用該位啟動 MBUS_MSG 讀寫操作(見例程)
g. Error 初始化錯誤代碼(只有在 Done 位為1時有效):
0= 無錯誤
1= 校驗選擇非法
2= 波特率選擇非法
3= 模式選擇非法
2. 調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求;
調(diào)用Modbus RTU 主站讀寫子程序
各參數(shù)意義如下:
a. EN 使能: 同一時刻只能有一個讀寫功能(即 MBUS_MSG)使能
注意:建議每一個讀寫功能(即 MBUS_MSG)都用上一個 MBUS_MSG 指令的Done 完成位來激活,以所有讀寫指令循環(huán)進行(見例程)。
b. First 讀寫請求位: 每一個新的讀寫請求使用脈沖觸發(fā)
c. Slave 從站地址: 可選擇的范圍 1 -247
d. RW 從站地址: 0 = 讀, 1 = 寫
注意:
1. 開關(guān)量輸出和保持寄存器支持讀和寫功能
2. 開關(guān)量輸入和模擬量輸入只支持讀功能
e. Addr 讀寫從站的 選擇讀寫的數(shù)據(jù)類型
數(shù)據(jù)地址: 00001 至 0xxxx - 開關(guān)量輸出
10001 至 1xxxx - 開關(guān)量輸入
30001 至 3xxxx - 模擬量輸入
40001 至 4xxxx - 保持寄存器
f. Count 數(shù)據(jù)個數(shù) 通訊的數(shù)據(jù)個數(shù)(位或字的個數(shù))
注意: Modbus主站可讀/寫的大數(shù)據(jù)量為120個字(是指每一個 MBUS_MSG指令)
g. DataPtr 數(shù)據(jù)指針: 1. 如果是讀指令,讀回的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中
2. 如果是寫指令,要寫出的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中
h. Done 完成位 讀寫功能完成位
i. Error 錯誤代碼: 只有在 Done 位為1時,錯誤代碼才有效
0 = 無錯誤
1 = 響應(yīng)校驗錯誤
2 = 未用
3 = 接收超時(從站無響應(yīng))
4 = 請求參數(shù)錯誤(slave address, Modbus address, count,RW)
5 = Modbus/自由口未使能
6 = Modbus正在忙于其它請求
7 = 響應(yīng)錯誤(響應(yīng)不是請求的操作)
8 = 響應(yīng)CRC校驗和錯誤
-
101 = 從站不支持請求的功能
102 = 從站不支持數(shù)據(jù)地址
103 = 從站不支持此種數(shù)據(jù)類型
104 = 從站設(shè)備故障
105 = 從站接受了信息,但是響應(yīng)被延遲
106 = 從站忙,拒絕了該信息
107 = 從站拒絕了信息
108 = 從站存儲器奇偶錯誤
3. 庫的存儲地址 項目完成后要在Micro/WIN中定義庫的存儲地址,當定義完存儲區(qū)后, 要在任何情況下不能再被其它程序所使用 (主站側(cè): "DataPtr" + "Count" 從站側(cè):"HoldStart" + "MaxHold")。
4. 保持寄存器值的傳輸 將程序下載到相應(yīng)的CPU后,可以在狀態(tài)表中給主站側(cè)的V存儲區(qū)賦值,然后監(jiān)視從站的變化。
當主站的I0.0使能后,VW2中的內(nèi)容就被發(fā)送到從站并寫入從站的VW2 。
指針"DataPtr" 代表了V區(qū)被讀的起始地址。 參數(shù) "Count" 表明了地址"Addr" = "4xxxx" (保持寄存器)以字為單位被讀的個數(shù)。
主站中被讀取的V存儲區(qū)被寫入地址為"Addr" = "40002" ("RW" = "1")的保持寄存器中。 保持寄存器是以字為單位工作的,它與從站的V區(qū)地址對應(yīng)。 指針 "HoldStart" 明確了與保持寄存器起始地址40001相對應(yīng)的V存儲區(qū)的初始地址。
可以這樣計算從站的V區(qū)目標指針:
2 * (Addr - 40001) + HoldStart = 2 * (40002 - 40001) + &VB0 = &VB2 另外,要"MaxHold" 定義的數(shù)據(jù)區(qū)能夠包含主站側(cè)所要寫入的數(shù)據(jù)區(qū) : MaxHold >= Addr - 40001 + Count = 40002 - 40001 + 1 = 2
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。