閱讀 | 訂閱
閱讀 | 訂閱
控製係統

西門子PLC與CHV係列變頻器通信(二)

星之球激光 來源:中國自動化網2013-03-16 我要評論(0 )   

2.CRC校驗子程序(SBR0) 英威騰CHV係列矢量 變頻器 內(nei) 置的MODBUS協議采用RTU傳(chuan) 輸格式,該格式使用CRC校驗方式對每次發出或接收的數據幀進行校驗。因此,該子程序使用...

    2.CRC校驗子程序(SBR0)

  英威騰CHV係列矢量變頻器內(nei) 置的MODBUS協議采用RTU傳(chuan) 輸格式,該格式使用CRC校驗方式對每次發出或接收的數據幀進行校驗。因此,該子程序使用了多個(ge) 局部變量,以方便其它子程序調用。

  在西門子STEP 7-Micro/Win 編程環境下(如圖一),需要在該子程序的局部變量表中預先設定以下局部變量:

  

  (1)輸入型局部變量(VAR_INPUT)

  1d_0:DWORD; // 待發送數據地址指針變量

  lw_4:WORD; // 待發送數據字節個(ge) 數變量

  (2)輸出型局部變量(VAR_OUTPUT)

  lb_6:BYTE; // CRC校驗值高位變量

  lb_7:BYTE; // CRC校驗值低位變量

  (3)臨(lin) 時局部變量(VAR)

  lw_8:WORD; // 待發送數據字節個(ge) 數計數變量

  lw_10:WORD; // 待發送數據每字節8位二進製數計數變量

  Network 1

  LD SM0.0

  MOVW 16#FFFF, LW6 //將16位CRC校驗寄存器LW6全置為(wei) 1

#p#分頁標題#e#  Network 2

  LD SM0.0

  FOR LW8, +1, LW4 //對待發送數據字節個(ge) 數(LW4)計數(LW8)循環

  Network 3

  LD SM0.0

  XORB *LD0, LB7 //使待發送數據的第一個(ge) 字節(*LD0)與(yu)

  //CRC校驗寄存器低位字節(LB7)進行異或運算

  Network 4

  LD SM0.0

  INCD LD0 //ld_0指向待發送數據的下一個(ge) 地址

  Network 5

  LD SM0.0

  FOR LW10, +1, +8 //對每字節8位二進製數計數(LW10)循環

  Network 6

  LD SM0.0

  SRW LW6, 1 //CRC校驗寄存器LW6右移一位

  Network 7

  LD SM1.1 //若移位後的溢出值SM1.1為(wei) 1

#p#分頁標題#e#  XORW 16#A001, LW6 //則使值16#A001與(yu) LW6進行異或運算

  Network 8

  NEXT //結束每字節8位二進製數計數循環

  Network 9

  NEXT //結束每數據幀字節個(ge) 數計數循環

    3. 初始化子程序(SBR1)

  該程序在PLC的第一個(ge) 掃描周期運行,主要是設置CPU224自由端口的通信格式、數據接收格式及複位各寄存區(參見西門子S7-200編程手冊(ce) )。

  通信格式內(nei) 容包括:波特率9.6K、每字節位數8位、偶校驗等(注意與(yu) 變頻器一致)。

  數據接收格式完全參照MODBUS RTU格式設定,以不少於(yu) 3.5個(ge) 字節傳(chuan) 輸時間的通信口空閑間隔作為(wei) 數據接收的開始及結束信號。根據協議,PLC在準備接收數據前會(hui) 先監測通信口是否空閑,如連續空閑時間超過了3.5個(ge) 字節的傳(chuan) 輸時間,則PLC默認數據接收開始,此後通訊口上出現的信息即被認為(wei) 是一個(ge) 數據幀的內(nei) 容。同理,隨著一個(ge) 數據幀的最後一個(ge) 字節傳(chuan) 輸完成,又會(hui) 出現一個(ge) 3.5字節傳(chuan) 輸時間的空閑間隔,來表示一個(ge) 數據幀傳(chuan) 輸的結束。(參見MODBUS協議標準及CHV係列矢量變頻器通訊卡使用說明書(shu) )

  對9.6K的通信波特率來說,3.5個(ge) 字節傳(chuan) 輸時間約為(wei) 5ms左右。因該程式的每個(ge) 指令隻準備接收一個(ge) 數據幀的回饋信息,所以接收數據前的空閑檢測時間可設為(wei) 0,即PLC在發出數據後立即開始接收數據,但一個(ge) 數據幀的傳(chuan) 輸結束空閑檢測時間仍需設為(wei) 5ms以上。

  Network 1

  LD SM0.0

  MOVB 16#49, SMB30 //設置自由通信口格式

  MOVW +0, SMW90 //空閑行間隔檢測時間0ms

  MOVW +5, SMW92 //字符間定時器超時檢測時間5ms

  MOVB 20, SMB94 //接收信息的最大緩衝(chong) 區20字節#p#分頁標題#e#

  MOVB 148, SMB87 //設置自由通信口的數據接收格式

  FILL +0, QW0, 1 //輸出印象寄存區複位

  FILL +0, MW0, 1 //標誌寄存區複位

  FILL +0, VW100, 5 //發送緩衝(chong) 區複位

  FILL +0, VW200, 5 //接收緩衝(chong) 區複位

  ATCH INT_0, 23 //接收完成中斷

  ATCH INT_1, 9 //發送完成中斷

  ENI //在全局啟用中斷

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀