|  Modbus RTU是基于串口的一種通信協(xié)議,協(xié)議開放,多用于連接現(xiàn)場儀表設(shè)備,通信距離與串行通信定義相同。由于報文簡單、開發(fā)成本比較低,許多現(xiàn)場儀表仍然使用Modbus RTU協(xié)議通信。Modbus RTU格式通信協(xié)議以主從的方式進行數(shù)據(jù)傳輸,主站發(fā)送數(shù)據(jù)請求報文到從站,從站返回相應(yīng)報文。     CP341發(fā)送模塊的設(shè)計而發(fā)送程序主要是通過調(diào)用功能塊FB8來實現(xiàn),F(xiàn)B8是基于上升沿觸發(fā)工作的.來一個上升沿FB8工作一次向總線上發(fā)送一個請求數(shù)據(jù)包,所以在程序中一定要設(shè)計一個觸發(fā)代碼段,來不斷的使REQ:=M50.0循環(huán)往復(fù)的置“1”置“0”,這樣FB8就可以正常運行了。在設(shè)計程序時一定要注意FB8的參數(shù)SF:=‘S’及R_TYP:=‘X’的值都是大寫否則程序調(diào)試不成功。FB8需要一個背景數(shù)據(jù)塊.這一背景數(shù)據(jù)塊一般由系統(tǒng)自動生成.以上程序中為DB3;對于通過CP34 1的Modbus Master驅(qū)動通訊的發(fā)送模塊需要設(shè)計發(fā)送數(shù)據(jù)塊DB塊.用來對主站發(fā)送參數(shù)進行設(shè)置和初始化。
 接收程序是調(diào)用FB7來實現(xiàn)的,由于CP341可以處理接收程序的細節(jié)部分.因此對于設(shè)計者來說只需要進行簡單的設(shè)計就可以實現(xiàn)數(shù)據(jù)的接收。
     對于Modbus多從站的通信(CP341帶硬件狗為主站),編程時尤為需要注意,對于地址和站號等的輪詢需要合理安排,否則會引起從站間的數(shù)據(jù)混亂。同時注意讀上來的高低字節(jié)問題。     按照CP341用戶手冊接線--------然后按照下面的手冊進行配置和修改下載例程。A0081  應(yīng)用文檔  CP340/341/440/441通訊及編程(更新版)  2010/05/24  3.87MB
 
 注意兩個容易忽略的問題:1,硬件狗的安裝,我同事有次通訊不上就是因為忘了安裝Dongle;
 2,注意CP341的版本號,硬件配置要和實際一致。
 1CH02與1CH01的區(qū)別連接
 http://support.automation./CN/view/zh/32813363
 |