首先介紹我們(men) 的硬件準備工作
1、一個(ge) 支持modbus協議的溫濕度傳(chuan) 感器
2、查看溫濕度傳(chuan) 感器參數,廠家一般都會(hui) 配一個(ge) 修改軟件,這裏不做修改,用其默認值
波特率:9600
數據格式:8位數據位、無校驗
通訊方式:標準modbus RTU
通訊地址:2
3、確定所要讀取變量地址
溫度實時寄存地址為(wei) 0,對應modbus通訊裏的40001
濕度實時寄存地址為(wei) 1,對應modbus通訊裏的40002
4、s7-200smartplc一台
s7-200smart st20
5、端口連接
將溫濕度傳(chuan) 感器與(yu) plc端DB9接口連接
溫濕度傳(chuan) 感器,廠家會(hui) 給
plc 485集成接口
準備工作完畢,接下來就是編程,因為(wei) 軟件自帶modbus庫,直接使用就好
6、初始化主站指令
“模式”(Mode) 輸入的值用於(yu) 選擇通信協議。輸入值為(wei) 1 時,將 CPU 端口分配給 Modbus 協議並啟用該協議。
參數“奇偶校驗”(Parity) 應設置為(wei) 與(yu) Modbus 從(cong) 站設備的奇偶校驗相匹配。0(無奇偶校驗)
參數“端口”(Port)設置物理通信端口(0 = CPU 中集成的 RS-485)。
參數“超時”(Timeout) 設為(wei) 等待從(cong) 站做出響應的毫秒數。典型值是 1000 ms (1 s)。
當 MBUS_CTRL指令完成時,指令將“真”(TURE) 返回給“完成”(Done) 輸出。
“錯誤”(Error) 輸出包含指令執行的結果。
以上的參數設置與(yu) 稱重儀(yi) 表端的對應
7、溫濕度傳(chuan) 感器的訪問
參數“從(cong) 站”(Slave) 是 Modbus 從(cong) 站設備的地址。允許範圍為(wei) 0 至 247。地址 0 是廣播地址。僅(jin) 將地址 0 用於(yu) 寫(xie) 入請求。係統不會(hui) 響應對地址 0 的廣播請求。並非所有從(cong) 站設備都支持廣播地址。S7-200 SMART Modbus 從(cong) 站庫不支持廣播地址。
使用參數 RW 指示是讀取還是寫(xie) 入該消息。0(讀取)
參數地址 (Addr) 是起始 Modbus 地址。寄存器地址為(wei) 0,對應Modbus通訊裏的地址40001
參數“計數”(Count) 用於(yu) 分配要在該請求中讀取或寫(xie) 入的數據元素數。讀取儀(yi) 表中保持寄存器字數。
參數 DataPtr 是間接地址指針,指向 CPU 中與(yu) 讀請求相關(guan) 的數據的 V 存儲(chu) 器。將 DataPtr 設置為(wei) 用於(yu) 存儲(chu) 從(cong) Modbus 從(cong) 站讀取的數據的第一個(ge) CPU 存儲(chu) 單元。
地址1的溫濕度數據被存入到以VW100為(wei) 起始的兩(liang) 個(ge) 字,即vw100為(wei) 溫度,vw102為(wei) 濕度,這裏要注意,整數轉為(wei) 實數,最後在除以10,並是最後的溫濕度值
8、編程結束,我們(men) 調試看下
vw100的溫度為(wei) 25.4℃,vw102的濕度為(wei) 74.0%RH
到這裏編程結束,需要源程序的可以關(guan) 注私信
下次更新昆侖(lun) 通泰觸摸屏與(yu) s7-200smart ppi通訊設置