日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 梯形圖實例 >> 正文

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

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

     

庫文件?

 

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

 

這里Smart作為主站。

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

    【2】庫文件的調用

 

初始化主站:

初始化主站指令是:MBUS_CTRL

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

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

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

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

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

 

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

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

Timeout=1000ms。

 

設計循環計數器

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

 

 

數據讀

 

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

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

 

數據寫

 

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

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

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

【3】通訊的總結

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

   ②可以用Done還驅動下一個數據輪詢。但是若上一條沒有執行,那么后面的不會執行?具體可以參考庫文件的幫助。

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

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

    

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

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