參考價: | 面議 |
- 產(chǎn)品型號
- 西門子/SIEMENS 品牌
- 經(jīng)銷商 廠商性質(zhì)
- 上海市 所在地
訪問次數(shù):263更新時間:2018-07-16 13:33:46
西門子PLC6ES72121BB230XB0
西門子PLC6ES72121BB230XB0
從上圖中可見,S7-200作為Modbus RTU主站,波特率9.6Kb/s,偶校驗,連接從站的站地址是3,數(shù)據(jù)存儲區(qū)為VB2000開始的區(qū)域。
4.2 CP341 做Modbus 從站的硬件組態(tài)
4.2.1 硬件組態(tài)
圖7 S7-300側(cè)硬件組態(tài)
4.2.2 設(shè)置Modbus參數(shù)
圖8 消息楨字符結(jié)構(gòu)
按照上述操作設(shè)置參數(shù),從上圖可以看出,本例中的傳輸波特率9.6Kb/s,1位起始位,8位數(shù)據(jù)位,偶校驗位,1位停止位,從站站地址是3,主從通訊設(shè)備的字符幀格式和波特率等參數(shù)設(shè)置需要*。
圖9 RS422/485 接口組態(tài)
RS422/485接口只能一個有效,接口的選擇只需要組態(tài)而不需要在硬件上短接。
4.2.3 Modbus驅(qū)動的下載
當(dāng)配置好Modbus通信的參數(shù)后,保存前需要向CP341下載Modbus Sle的驅(qū)動,一旦下載完成后無需再次下載。
需要注意的是,在下載驅(qū)動時(可以在無Dongle情況下下載),需要將CPU停機(jī),然后下載,操作如下所示。
圖10 下載Dongle時,需要CPU停機(jī)
圖11 從站驅(qū)動下載后結(jié)果
4.2.4 CP341做Modbus從站的編程
從Step7 下的EXAMPLE目錄中,找到項目名“zXX21_05_PtP_Com_MODSL”的項目,打開,然后將Modbus通訊模塊FB80傳遞到用戶項目中,打開路徑如下所示。
圖12 Modbus Sle 例程打開路徑
OB1中調(diào)用FB80編程如下:
圖13 FB80程序塊調(diào)用
CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK為1,否則CP_START_ERROR為1,同時可以從ERROR_NR察看錯誤信息,也可以在硬件組態(tài)中在線后的CP341的診斷緩沖區(qū)察看詳細(xì)的錯誤信息,錯誤信息對照和處理可以參考
《S7-300以用于PtP CP Modbus 協(xié)議RTU格式S7的可裝載驅(qū)動程序為從站》的手冊。
FB80的各參數(shù)含義如下
LADDR | 硬件組態(tài)中CP341的起始邏輯地址,本例中為256 |
START_TIMER | 初始化超時定時器,本例中為T120 |
START_TIME | 初始化定時器時間,本例中為5S |
OB_MASK | I/O訪問錯誤屏蔽位,本例中為True(I/O訪問錯誤已屏蔽) |
CP_START | FB初始化使能位,本例中為M0.0 |
CP_START_FM | CP_START 初始化的上升沿位,本例中為M0.1 |
CP_NDR | 從CP卡寫操作位,本例中為m0.2 |
CP_START_OK | 初始化完成且無錯誤,本例中為M0.3 |
CP_START_ERROR | 初始化完成,但有錯誤,本例中為M0.4 |
ERROR_NR | 錯誤號,本例中為MW2 |
ERROR_INFO | 錯誤信息,本例中為MW4 |
表5
5. 通訊
Modbus RTU格式通信協(xié)議是以主從的進(jìn)行數(shù)據(jù)傳輸?shù)?,在傳輸?shù)闹兄髡臼欠?,即主站發(fā)送數(shù)據(jù)請求報文到從站,從站返回響應(yīng)報文。Modbus 間的數(shù)據(jù)交換是通過功能碼來控制的,以下對現(xiàn)場常用的功能碼進(jìn)行分類,關(guān)于功能碼的詳細(xì)信息請參考手冊。
5.1 FC01/05/15功能碼
CP341從站的通訊區(qū)域配置
圖14 FC01/05/15 參數(shù)組態(tài)界面
FC01、FC05、FC15對應(yīng)的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,可以讀寫操作,用戶地址區(qū)為0xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對應(yīng)的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對應(yīng)用戶地址區(qū)為00001 ~ 00008,對應(yīng)S7-300的M10.0 ~ M10.7,并且以此為例說明FC01功能碼的通訊。
S7-200主站程序調(diào)用
圖15 功能碼FC01使用
S7-200主站,用功能碼FC01讀取從站8點數(shù)字量輸出,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結(jié)果如下。
圖16 FC01功能碼數(shù)據(jù)交換
5.2 FC02功能碼
CP341從站的通訊區(qū)域配置
圖17 FC02 參數(shù)組態(tài)界面
FC02對應(yīng)的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,只讀操作,用戶地址區(qū)為1xxxx,Modbus地址在信息傳遞中從0開始,如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對應(yīng)的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對應(yīng)用戶地址區(qū)為10001 ~ 10008,對應(yīng)S7-300的M20.0 ~ M20.7,并且以此為例說明FC02功能碼的通訊。
S7-200主站程序調(diào)用