一.功能介紹">

      技術(shù)頻道

      西門子PLC與CHV系列變頻器通信

      一.功能介紹

      英威騰CHV系列矢量變頻器內(nèi)置國際標(biāo)準(zhǔn)的MODBUS(從站)通信協(xié)議,配合CHV系列變頻器專用通訊卡,可非常方便的實現(xiàn)遠(yuǎn)程通訊控制功能。通訊卡上提供RS232RS485兩種物理通訊端口,用戶可通過設(shè)置卡上的跳線選擇。

      下面以西門子S7-200系列PLC為例,介紹PLCCHV矢量變頻器建立通訊并實現(xiàn)對變頻器起停、頻率給定、監(jiān)控等功能的控制。

      變頻器作為MODBUS協(xié)議從站接收來自CPU224 PLC的通信指令,。

      CHV系列矢量變頻器在與CPU224通信前須做好以下準(zhǔn)備工作:

      1.確認(rèn)已安裝好CHV系列矢量變頻器的通訊卡,并將卡上的端口跳線置于RS485端;

      2.用一根帶9針陽性插頭的串口通信電纜連接在CPU224 PLC的自由通信口端,電纜另一端的第538線分別接在CHV變頻器RS485通訊卡的GND485+485-端子上,其余線屏蔽不用;

      3.預(yù)先設(shè)置變頻器以下參數(shù):

      PC0.0=1 //變頻器通訊地址為1

      PC0.1=3 //通訊波特率9.6K

      PC0.2=1 //通訊數(shù)據(jù)偶校驗

      P0.01=2 //變頻器的運(yùn)行指令采用通訊方式

      P0.03=7 //變頻器的A頻率設(shè)定采用通訊方式

      二.PLC內(nèi)存使用說明

      西門子S7-200系列PLC的自由通訊端口編程必定會用到兩個指令,即XMT(發(fā)送)指令和RCV(接收)指令。編寫程序時需要為這兩個指令指定數(shù)據(jù)緩沖區(qū),一般以最低位數(shù)為0的地址作為數(shù)據(jù)緩沖區(qū)的起始地址。

      1.發(fā)送指令XMT緩沖區(qū)(/)

      VB100 //xmt指令要發(fā)送的字節(jié)個數(shù)

      VB101 //變頻器通訊地址(01)

      VB102 //modbus功能碼(06/03)

      VB103 //變頻器被寫地址高位/變頻器被讀起始地址高位

      VB104 //變頻器被寫地址低位/變頻器被讀起始地址低位

      VB105 //被寫數(shù)據(jù)高位/被讀數(shù)據(jù)字個數(shù)高位

      VB106 //被寫數(shù)據(jù)低位/被讀數(shù)據(jù)字個數(shù)低位

      VB107 //被發(fā)送數(shù)據(jù)CRC低位

      VB108 //被發(fā)送數(shù)據(jù)CRC高位

      2.接收指令RCV緩沖區(qū)

      VB200 //rcv指令要接收的字節(jié)個數(shù)

      VB201 //變頻器地址(01)

      VB202 //modbus功能碼(06/03)

      VB203 //變頻器被寫地址高位/被讀數(shù)據(jù)字節(jié)個數(shù)高位

      VB204 //變頻器被寫地址低位/被讀數(shù)據(jù)字節(jié)個數(shù)低位

      VB205 //被寫數(shù)據(jù)高位/被讀數(shù)據(jù)高位

      VB206 //被寫數(shù)據(jù)低位/被讀數(shù)據(jù)低位

      VB207 //被接收數(shù)據(jù)CRC低位

      VB208 //被接收數(shù)據(jù)CRC高位

      VB217 //被接收數(shù)據(jù)CRC驗算低位

      VB218 //被接收數(shù)據(jù)CRC驗算高位

      2CRC校驗子程序(SBR0

      英威騰CHV系列矢量變頻器內(nèi)置的MODBUS協(xié)議采用RTU傳輸格式,該格式使用CRC校驗方式對每次發(fā)出或接收的數(shù)據(jù)幀進(jìn)行校驗。因此,該子程序使用了多個局部變量,以方便其它子程序調(diào)用。

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

      1)輸入型局部變量(VAR_INPUT

      1d_0:DWORD; // 待發(fā)送數(shù)據(jù)地址指針變量

      lw_4:WORD; // 待發(fā)送數(shù)據(jù)字節(jié)個數(shù)變量

      2)輸出型局部變量(VAR_OUTPUT

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

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

      3)臨時局部變量(VAR

      lw_8:WORD; // 待發(fā)送數(shù)據(jù)字節(jié)個數(shù)計數(shù)變量

      lw_10:WORD; // 待發(fā)送數(shù)據(jù)每字節(jié)8位二進(jìn)制數(shù)計數(shù)變量

      Network 1

      LD SM0.0

      MOVW 16#FFFF, LW6 //16CRC校驗寄存器LW6全置為1

      Network 2

      LD SM0.0

      FOR LW8, +1, LW4 //對待發(fā)送數(shù)據(jù)字節(jié)個數(shù)(LW4)計數(shù)(LW8)循環(huán)

      Network 3

      LD SM0.0

      XORB *LD0, LB7 //使待發(fā)送數(shù)據(jù)的第一個字節(jié)(*LD0)

      //CRC校驗寄存器低位字節(jié)(LB7)進(jìn)行異或運(yùn)算

      Network 4

      LD SM0.0

      INCD LD0 //ld_0指向待發(fā)送數(shù)據(jù)的下一個地址

      Network 5

      LD SM0.0

      FOR LW10, +1, +8 //對每字節(jié)8位二進(jìn)制數(shù)計數(shù)(LW10)循環(huán)

      Network 6

      LD SM0.0

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

      Network 7

      LD SM1.1 //若移位后的溢出值SM1.11

      XORW 16#A001, LW6 //則使值16#A001LW6進(jìn)行異或運(yùn)算

      Network 8

      NEXT //結(jié)束每字節(jié)8位二進(jìn)制數(shù)計數(shù)循環(huán)

      Network 9

      NEXT //結(jié)束每數(shù)據(jù)幀字節(jié)個數(shù)計數(shù)循環(huán)

      3. 初始化子程序(SBR1

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

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

      數(shù)據(jù)接收格式完全參照MODBUS RTU格式設(shè)定,以不少于3.5個字節(jié)傳輸時間的通信口空閑間隔作為數(shù)據(jù)接收的開始及結(jié)束信號。根據(jù)協(xié)議,PLC在準(zhǔn)備接收數(shù)據(jù)前會先監(jiān)測通信口是否空閑,如連續(xù)空閑時間超過了3.5個字節(jié)的傳輸時間,則PLC默認(rèn)數(shù)據(jù)接收開始,此后通訊口上出現(xiàn)的信息即被認(rèn)為是一個數(shù)據(jù)幀的內(nèi)容。同理,隨著一個數(shù)據(jù)幀的最后一個字節(jié)傳輸完成,又會出現(xiàn)一個3.5字節(jié)傳輸時間的空閑間隔,來表示一個數(shù)據(jù)幀傳輸?shù)慕Y(jié)束。(參見MODBUS協(xié)議標(biāo)準(zhǔn)及CHV系列矢量變頻器通訊卡使用說明書)

      9.6K的通信波特率來說,3.5個字節(jié)傳輸時間約為5ms左右。因該程式的每個指令只準(zhǔn)備接收一個數(shù)據(jù)幀的回饋信息,所以接收數(shù)據(jù)前的空閑檢測時間可設(shè)為0,即PLC在發(fā)出數(shù)據(jù)后立即開始接收數(shù)據(jù),但一個數(shù)據(jù)幀的傳輸結(jié)束空閑檢測時間仍需設(shè)為5ms以上。

      Network 1

      LD SM0.0

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

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

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

      MOVB 20, SMB94 //接收信息的最大緩沖區(qū)20字節(jié)

      MOVB 148, SMB87 //設(shè)置自由通信口的數(shù)據(jù)接收格式

      FILL +0, QW0, 1 //輸出印象寄存區(qū)復(fù)位

      FILL +0, MW0, 1 //標(biāo)志寄存區(qū)復(fù)位

      FILL +0, VW100, 5 //發(fā)送緩沖區(qū)復(fù)位

      FILL +0, VW200, 5 //接收緩沖區(qū)復(fù)位

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

      ATCH INT_1, 9 //發(fā)送完成中斷

      ENI //在全局啟用中斷

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 秋霞午夜一区二区| 无码人妻久久一区二区三区蜜桃| 日本高清一区二区三区| 亚洲爆乳无码一区二区三区| 中文字幕在线视频一区| 亚洲一区二区三区久久| 一区二区三区影院| 国产丝袜无码一区二区视频| 在线不卡一区二区三区日韩| 国产伦精品一区三区视频| 精品人无码一区二区三区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 日本一区二区三区精品视频| 国产一区在线播放| 天美传媒一区二区三区| 久久精品无码一区二区app| 国模视频一区二区| 久久久国产精品无码一区二区三区 | 蜜臀AV一区二区| 日本不卡一区二区三区| 久久亚洲中文字幕精品一区| 国产精品一区在线播放| 亚洲av不卡一区二区三区| 大屁股熟女一区二区三区| 国产亚洲综合一区二区三区| 一区二区三区国产精品| 中文字幕一区二区三区日韩精品| 在线观看国产一区亚洲bd| 学生妹亚洲一区二区| 国产精品视频一区麻豆| 久久久久久综合一区中文字幕| 免费无码一区二区| 精品人妻少妇一区二区三区| AA区一区二区三无码精片| 无码人妻品一区二区三区精99| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 日韩一区二区在线视频| 久久AAAA片一区二区| 午夜无码一区二区三区在线观看| 多人伦精品一区二区三区视频| 一本久久精品一区二区|