18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 梯形圖實例 >> 正文

西門子S7-200 Smart與變頻器的MODBUS變頻器通信實操

作者:佚名    文章來源:網絡整理    點擊數:    更新時間:2024/9/28
【1】MODBUS RTU通信庫

     

庫文件?

 

    在step7-mirco/win smart編程軟件的指令中,可以找MODBUS RTU的通信庫文件:

 

這裏Smart作為(wei) 主站。

我們(men) 如果采用的是CPU本地的串口,那麽(me) 我們(men) 選擇庫文件為(wei) Modbus RTU Master;若是擴展通訊板,則選擇Modbus RTU Master2。

    【2】庫文件的調用

 

初始化主站:

初始化主站指令是:MBUS_CTRL

 “模式”(Mode) 輸入的值用於(yu) 選擇通信協議。輸入值為(wei) 1 時,將 CPU 端口分配給 Modbus 協議並啟用該協議。輸入值為(wei) 0 時,將 CPU 端口分配給 PPI 係統協議並禁用 Modbus 協議。

參數“奇偶校驗”(Parity) 應設置為(wei) 與(yu) Modbus 從(cong) 站設備的奇偶校驗相匹配。所有設置使用一個(ge) 起始位和一個(ge) 停止位。允許的值如下:0(無奇偶校驗)、1(奇校驗)和 2(偶校驗)。

參數“端口”(Port)設置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可選 CM01 信號板上的 RS-485 或 RS-232)。

參數“超時”(Timeout) 設為(wei) 等待從(cong) 站做出響應的毫秒數。“

當 MBUS_CTRL指令完成時,指令將“真”(TRUE) 返回給“完成”(Done) 輸出。“錯誤”(Error) 輸出包含指令執行的結果。

 

Mode=1將 CPU 端口分配給 Modbus 協議並啟用該協議;

Baud為(wei) 波特率;Parity=0無奇偶校驗;port=0代表使用本體(ti) 通信口。

Timeout=1000ms。

 

設計循環計數器

因為(wei) 是半雙工,采用的是輪詢方式。為(wei) 此我們(men) 設計一個(ge) 循環計數器。

 

 

數據讀

 

當計數器==1時,此數據塊執行。

Slave=11代表從(cong) 站設備的通訊ID為(wei) 11;RW=0代表隻讀;Addr=432769代表從(cong) 站設備的modbus寄存器地址;count=1代表一個(ge) 字。DataPtr(間接地址指針)=&VB3200代表從(cong) VB3200開始。一個(ge) 字就是VW3200。                            

 

數據寫(xie)

 

與(yu) 數據讀不通的是,RW=1。

當48193=1時,變頻器啟動;當48193=5時,變頻器停止。

對應S7-200smart的地址是VW104。(count=1為(wei) 一個(ge) 字)

【3】通訊的總結

   ① 輪詢通訊有時間差,比如讀頻率反饋的時候,會(hui) 發現頻率反饋是非連續性的。

   ②可以用Done還驅動下一個(ge) 數據輪詢。但是若上一條沒有執行,那麽(me) 後麵的不會(hui) 執行?具體(ti) 可以參考庫文件的幫助。

   ③讀取過來的數據有可能要進行地址偏移或者數據的轉換,比如高低字的轉換,整數轉換為(wei) 浮點數,浮點數轉換為(wei) 整數等。

    ④首先利用ModScan32.exe或者Modbus Poll可以很好的監測數據地址及數據格式。

    

Tags:MODBUS通訊,變頻器,200smart  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢