深圳力控多功能儀表與200SMARTPLC通訊
1. 接口定義
S7-200smart通訊端口為RS485物理口(9針口),其引腳定義如圖下所示
CM01 信號板與 RS485 兼容。下表列出了為信號板提供物理連接的連接器,并描述引腳分配
2. 接線
將9針口得引腳3接深圳力控的多功能儀表的通訊端子A,引腳8接端子B.
CM01信號板Rx/A接深圳力控的多功能儀表的通訊端子A,Rx/B接端子B.
3. 說明
S7-200smart在電氣上是標(biāo)準(zhǔn)的RS-485半雙工串行通訊口,此串行字符的通訊格式:1起始位,8數(shù)據(jù)位,1位奇/偶/無校驗(yàn):1停止位。通訊波特率可設(shè)置為9.6kbps,19.2kbps,187.5kbps,符合這些的串行通訊設(shè)備可以和S7-200SMART進(jìn)行自由口通訊。
4. MOUDBUS RTU主站庫
使用moudbus庫時(shí)必須對庫存儲區(qū)進(jìn)行分配,見下圖設(shè)置,而且分配空間不能和程序中其他空間沖突,否則編譯調(diào)用會出錯(cuò)。
分配地址不能和程序中其他地址沖突。
5. S7-200SMART主站編程
編程時(shí)使用SM0.0調(diào)用MBUS_CTRL完成主站參數(shù)初始化,詳細(xì)見下表
“模式”(Mode) 輸入的值用于選擇通信協(xié)議。輸入值為 1 時(shí),將 CPU 端口分配給 Modbus 協(xié)議并啟用該協(xié)議。輸入值為 0 時(shí),將 CPU 端口分配給 PPI 系統(tǒng)協(xié)議并禁用 Modbus 協(xié)議。
參數(shù)“奇偶校驗(yàn)”(Parity) 應(yīng)設(shè)置為與 Modbus 從站設(shè)備的奇偶校驗(yàn)相匹配。所有設(shè)置使用一個(gè)起始位和一個(gè)停止位。允許的值如下:0(無奇偶校驗(yàn))、1(奇校驗(yàn))和 2(偶校驗(yàn))。
參數(shù)“端口”(Port)設(shè)置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可選 CM01 信號板上的 RS-485 或 RS-232)。
參數(shù)“超時(shí)”(Timeout) 設(shè)為等待從站做出響應(yīng)的毫秒數(shù)。“超時(shí)”(Timeout) 值可以設(shè)置為 1 ms 到 32767 ms 之間的任何值。典型值是 1000 ms (1 s)。“超時(shí)”(Timeout) 參數(shù)應(yīng)設(shè)置得足夠大,以便從站設(shè)備有時(shí)間在所選的波特率下做出響應(yīng)。
有新請求要發(fā)送時(shí),將參數(shù) First 設(shè)置為接通,并僅保持一個(gè)掃描周期。First 輸入以脈沖方式通過邊沿檢測元素(例如,上升沿),這將導(dǎo)致程序發(fā)送請求一次。
參數(shù)“從站”(Slave) 是 Modbus 從站設(shè)備的地址。儀表默認(rèn)地址是1,當(dāng)需要通訊多個(gè)儀表時(shí)可更改地址。
使用參數(shù) RW 指示是讀取還是寫入該消息。0(讀?。┖?1(寫入)。
參數(shù)地址 (Addr) 是起始 Modbus 地址。S7200 SMART 支持以下地址范圍:
對于離散量輸出(線圈),為 00001 至 09999
對于離散量輸入(觸點(diǎn)),為 10001 至 19999
對于輸入寄存器,為 30001 至 39999
對于保持寄存器,為 40001 至 49999 和 400001 至 465535
參數(shù)“計(jì)數(shù)”(Count) 用于分配要在該請求中讀取或?qū)懭氲臄?shù)據(jù)元素?cái)?shù)。對于位數(shù)據(jù)類型,“Count”是位數(shù),對于字?jǐn)?shù)據(jù)類型,則表示字?jǐn)?shù)。
對于地址 0xxxx,“計(jì)數(shù)”(Count) 是要讀取或?qū)懭氲奈粩?shù)
對于地址 1xxxx,“計(jì)數(shù)”(Count) 是要讀取的位數(shù)
對于地址 3xxxx,“計(jì)數(shù)”(Count) 是要讀取的輸入寄存器字?jǐn)?shù)
對于地址 4xxxx 或 4yyyyy,“計(jì)數(shù)”(Count) 是要讀取或?qū)懭氲谋3旨拇嫫髯謹(jǐn)?shù)
參數(shù) DataPtr 是間接地址指針,指向 CPU 中與讀/寫請求相關(guān)的數(shù)據(jù)的 V 存儲器。對于讀請求,將 DataPtr 設(shè)置為用于存儲從 Modbus 從站讀取的數(shù)據(jù)的 個(gè) CPU 存儲單元。對于寫請求,將 DataPtr 設(shè)置為要發(fā)送到 Modbus 從站的數(shù)據(jù)的 個(gè) CPU 存儲單元。
程序?qū)?/span> DataPtr 值以間接地址指針的形式傳遞到 MBUS_MSG/MB_MSG2。例如,如果要寫入到 Modbus 從站設(shè)備的數(shù)據(jù)始于 CPU 的地址 VW200,則 DataPtr 的值將為 &VB200(地址 VB200)。指針必須始終是 VB 類型,即使它們指向字?jǐn)?shù)據(jù)。
深圳力控儀表默認(rèn)地址是1,無奇偶校驗(yàn),1停止位,波特率9600。
根據(jù)深圳力控通訊地址表可以看出數(shù)據(jù)都是浮點(diǎn)數(shù),每個(gè)浮點(diǎn)數(shù)都占用2個(gè)字。上邊通訊程序是將儀表地址從0開始讀取10個(gè)字分配到VW0-VW10。因此程序監(jiān)控的VD0為電壓UA值,VD4為電壓UB值,VD8為電壓UC值。通訊地址表中其他參數(shù)的數(shù)值都可以讀取出來。
掃一掃