siemens x
I/O 設(shè)備

科威PLC通過自由協(xié)議與深圳傳動之星變頻器通信說明

2025China.cn   2007年10月25日
   第1節(jié) 傳動之星系列變頻器串口通訊協(xié)議
  一、適用網(wǎng)絡(luò)
  單監(jiān)控主機(jī)多變頻器從機(jī)控制網(wǎng)。即單主多從方式。
  單監(jiān)控主機(jī)單變頻器從機(jī)控制網(wǎng)。即單主單從方式。
  單監(jiān)控主機(jī)可以由變頻器代替,能實(shí)現(xiàn)同步的啟動和停止。?
  二、物理接口?
  ?1)接口方式?
  RS485/232接口,異步,半雙工?
  ?2)數(shù)據(jù)格式?
  1位起始位、8位數(shù)據(jù)位、無奇偶校驗(yàn)位、1位停止位?
  1位起始位、8位數(shù)據(jù)位、偶校驗(yàn)位、1位停止位
  1位起始位、8位數(shù)據(jù)位、奇校驗(yàn)位、1位停止位
  ?3)波特率?
  300bps 600bps 1200bps 2400bps 4800bps 9600bps 19200bps 38400bps
  三、通訊協(xié)議功能?
  通過通訊協(xié)議格式建立主機(jī)和變頻器之間的相互訪問,達(dá)到控制變頻器的目的。
  四、通訊方式?
   1)上位機(jī)為主機(jī),主機(jī)可為計(jì)算機(jī)、PLC?可編程控制器等,變頻器為從機(jī)。采用主機(jī)?輪詢?,從機(jī)?應(yīng)答?的點(diǎn)對點(diǎn)通訊方式。主機(jī)廣播時,從機(jī)不允許應(yīng)答。
   2)利用鍵盤設(shè)定變頻器串行接口通訊參數(shù),包括本機(jī)地址(從站地址),波特率,串行接口地址等。?
   3)為保證半雙工的可靠工作,發(fā)送數(shù)據(jù)幀與接收數(shù)據(jù)幀之間時間間隔應(yīng)不小于?5ms,數(shù)據(jù)幀的字節(jié)之間的時間,間隔應(yīng)不小于1ms。
  五、通訊出錯?
   通訊時,若出現(xiàn)校驗(yàn)和錯誤或數(shù)據(jù)超出范圍,從機(jī)變頻器將發(fā)送報(bào)錯數(shù)據(jù)包,并準(zhǔn)備接收下一幀數(shù)據(jù)。
  六、協(xié)議數(shù)據(jù)包格式格式?
  發(fā)送順序?
  
  定義?? 頭?地址區(qū)?狀態(tài)區(qū)?命令區(qū)?代碼區(qū)?數(shù)據(jù)區(qū)?校驗(yàn)??尾??
  發(fā)送字節(jié)? 1 2 2 2 2 4 ??2???1??
  
  注意:除去數(shù)據(jù)包頭和數(shù)據(jù)包尾?其他數(shù)據(jù)都要轉(zhuǎn)化為ASCⅡ碼。字節(jié)計(jì)算方法是除去數(shù)據(jù)包頭和數(shù)據(jù)包尾各算一個字節(jié),其他數(shù)據(jù)都要轉(zhuǎn)化為ASCⅡ碼后?一個ASCⅡ碼表示一個字節(jié)。例如:1號從機(jī)地址為01H,則高位ASCⅡ碼30H,低位ASCⅡ碼31H。共兩個字節(jié)。
  七、協(xié)議格式解釋(以下提到的D99,D100,D101,D102等數(shù)據(jù)都是PLC中的地址)
   1)數(shù)據(jù)包頭=7EH?
  數(shù)據(jù)包的起始字節(jié),不用轉(zhuǎn)換為ASCⅡ碼,記為一個字節(jié)。?
   2)D99=從機(jī)地址?
  數(shù)據(jù)含義:變頻器為從機(jī),變頻器的本機(jī)地址即為從機(jī)地址。?
  發(fā)送方式:將從機(jī)地址的高?4位和低4位拆分并轉(zhuǎn)換為ASCⅡ碼,先高后低發(fā)送。?
  例如:1號從機(jī)地址為01H,則高位ASCⅡ碼30H,低位ASCⅡ碼31H。共兩個字節(jié)。先發(fā)送30H,再發(fā)送31H共兩個字節(jié),其他字節(jié)的發(fā)送方式與此一致。??
   3)狀態(tài)代碼?(編程時發(fā)送包里狀態(tài)碼永遠(yuǎn)置為00H,而接收包里為其他的6個狀態(tài)碼,具體是哪個要看是變頻器所處的狀態(tài))
  數(shù)據(jù)含義:從機(jī)變頻器的狀態(tài)代碼。即參數(shù)設(shè)定狀態(tài)、運(yùn)行狀態(tài)(01H)、停車狀態(tài)(02H)、故障狀態(tài)(03H)和工廠測試狀態(tài),接收的數(shù)據(jù)幀中ASCⅡ碼有錯(90H),數(shù)據(jù)或命令超出可設(shè)定的范圍(80H),運(yùn)行中該參數(shù)不可修改(70H)
  先高后低發(fā)送。?
  狀態(tài)代碼定義:?
  00H=保留?
  01H=從機(jī)運(yùn)行?
  02H=從機(jī)停車?
  03H=從機(jī)故障?
  90H=接收的數(shù)據(jù)幀中ASCⅡ碼有錯誤?
  80H=數(shù)據(jù)或命令超出可設(shè)定的范圍?
  70H=運(yùn)行中該參數(shù)不可修改?
  其他=預(yù)留?
  
   4)D100=命令代碼?
  數(shù)據(jù)含義:主機(jī)發(fā)送的命令代碼,對從機(jī)進(jìn)行相應(yīng)操作,如讀、寫、啟動、停車、清除故障等。
  發(fā)送方式:先高后低發(fā)送。?
  命令代碼定義:?
  00H=變頻器運(yùn)行狀態(tài)查詢?
  01H=啟動變頻器運(yùn)行?
  02H=變頻器停車?
  03H=復(fù)位變頻器故障?
  04H=讀對應(yīng)功能代碼內(nèi)容?
  05H=寫對應(yīng)功能代碼內(nèi)容?
  06H=讀取監(jiān)視參數(shù)?
  07H=讀取歷史故障信息??
  08H=恢復(fù)默認(rèn)值?
  09H=機(jī)給定頻率設(shè)定?
  其他=非法?
   5)D101=數(shù)據(jù)地址?
  數(shù)據(jù)含義:數(shù)據(jù)地址的定義,即變頻器的功能代碼地址編號(參見功能代碼表及意義)。??
  發(fā)送方式:將功能代碼的高?4位和低4位拆分并轉(zhuǎn)換為ASCⅡ碼,先高后低發(fā)送。?
   6)D102=數(shù)據(jù)信息高字節(jié)?,D103=數(shù)據(jù)信息低字節(jié)
  數(shù)據(jù)含義:數(shù)據(jù)信息的定義,范圍:?0-32000。無小數(shù)點(diǎn),是否為小數(shù)和有幾位小數(shù)見功能代碼說明,若功能代碼內(nèi)容為10.00,發(fā)送的數(shù)據(jù)為1000,轉(zhuǎn)換成16進(jìn)制為03E8H。?
  數(shù)據(jù)類型:?十六進(jìn)制,雙字節(jié)。?
  發(fā)送方式:先發(fā)高字節(jié),再發(fā)低字節(jié),將數(shù)據(jù)信息雙字節(jié)的高4位和低4位拆分并轉(zhuǎn)換為ASCⅡ碼,先高后低發(fā)送。
  若發(fā)送16進(jìn)制的03E8H,則依次發(fā)送30H,33H,45H,38H?
   7)校驗(yàn)碼?
  數(shù)據(jù)含義:數(shù)據(jù)幀中,從從機(jī)地址至數(shù)據(jù)信息12個字節(jié)ASCⅡ碼值的累加和的低字節(jié)。?
   8)數(shù)據(jù)包尾=0DH
  
   第2節(jié) 科威PLC自由協(xié)議通信說明
  一、自由協(xié)議收發(fā)函數(shù)
  通過對通信格式字D8120的設(shè)置來完成通信。更多具體示例參見科威PLC《編程手冊》第十一章<自由協(xié)議說明及應(yīng)用>
  1〕相關(guān)標(biāo)志位及寄存器
   特殊數(shù)據(jù)寄存器
  特殊數(shù)據(jù)寄存器 描述
  D8120 通信格式
  D8121 待發(fā)送字節(jié)數(shù)
  D8122 發(fā)送剩余字節(jié)數(shù)
  D8123 待接收字節(jié)數(shù)
  D8124 已接收字節(jié)數(shù)
  D8125 接收起始符
  D8126 接收終止符
  D8127 發(fā)送接收超時
  D8128 發(fā)送起始單元
  D8129 接收起始單元
  D8130 超時剩余時間
  
  特殊輔助繼電器
  特殊輔助繼電器 描述
  M8120 奇偶校驗(yàn)錯標(biāo)志
  M8121 發(fā)送請求標(biāo)志
  M8122 發(fā)送成功標(biāo)志
  M8123 接收請求標(biāo)志
  M8124 接收成功標(biāo)志
  M8125 接收起始符標(biāo)志
  M8126 接收終止符標(biāo)志
  M8127 發(fā)送接收超時標(biāo)志
  
  2〕自由協(xié)議發(fā)送函數(shù) UART1_SEND
  
  功能:將設(shè)置好的數(shù)據(jù)等信息進(jìn)行發(fā)送。
  函數(shù)號:D8200=29 函數(shù)調(diào)用:M8200
  
  

  

  3〕自由協(xié)議接收函數(shù)UART1_REV
  功能:將設(shè)置好的數(shù)據(jù)等信息接收。
  函數(shù)號:D8200=30 函數(shù)調(diào)用:M8200
  

  

  
  二、自由協(xié)議的通信格式
   自由協(xié)議的通信格式由D8120控制,在運(yùn)行過程中,根據(jù)通信對象的不同,可以改變控制字。但專用協(xié)議和自由協(xié)議,在運(yùn)行時不允許相互切換。
   嵌入式PLC串口1通信,一旦選擇專有協(xié)議,其各項(xiàng)通信指標(biāo)是固定的。只有選擇自由協(xié)議,各項(xiàng)通信參數(shù)才根據(jù)D8120而變化。
   專有協(xié)議有主從站設(shè)置和地址設(shè)置類信息,而自由協(xié)議的的主從信息、地址信息是隱含在編程中。如,主從信息表現(xiàn)在主動發(fā)信息還是被動發(fā)信息的編程上,地址信息包含在規(guī)劃的報(bào)文格式中及解讀報(bào)文的編程中。
   D8120的協(xié)議選項(xiàng)(D8120_Bit14),決定是自由協(xié)議還是專有協(xié)議,其他選項(xiàng)都是針對自由協(xié)議的。當(dāng)選擇專有協(xié)議時,其他各項(xiàng)可以不選。
   嵌入式PLC每次上電,D8120都有一個默認(rèn)初值D8120=H6881,也就是默認(rèn)選擇為專
  有協(xié)議。當(dāng)選擇為自由協(xié)議時,才需要對D8120進(jìn)行重新賦值。
  

  

   如D8120=H0431,表示自由協(xié)議,發(fā)送結(jié)束自動轉(zhuǎn)接收,通信速率為9600bps,7位數(shù)據(jù),無奇偶校驗(yàn)。
   自由協(xié)議的通信格式總共是11位,其中起始位1位,數(shù)據(jù)位9位(B0----B7+TB8/RB8),1停止位,如圖所示。
  

  

  
  嵌入PLC與其它控制器通信,如與計(jì)算機(jī)通信,以自由協(xié)議方式,9600bps速率,發(fā)送自動轉(zhuǎn)接收為例,可選設(shè)置項(xiàng)如下:
 ?、佟?位數(shù)據(jù)+無奇偶校驗(yàn)+1停止位: 請按第②種情況設(shè)置。
  ②、7位數(shù)據(jù)+無奇偶校驗(yàn)+2停止位 (Bit7=1) D8120=H0438
 ?、?、7位數(shù)據(jù)+奇校驗(yàn)+1停止位 (Bit7=奇校驗(yàn)) D8120=H0432
 ?、?、7位數(shù)據(jù)+偶校驗(yàn)+1停止位 (Bit7=偶校驗(yàn)) D8120=H0436
 ?、?、7位數(shù)據(jù)+奇校驗(yàn)+2停止位 (Bit7=奇校驗(yàn),TB81/RB81=1) D8120=H043A
 ?、?、7位數(shù)據(jù)+偶校驗(yàn)+2停止位 (Bit7=偶校驗(yàn),TB81/RB81=1) D8120=H043E
 ?、?、8位數(shù)據(jù)+無奇偶校驗(yàn)+1停止位 D8120=H0431
 ?、?、8位數(shù)據(jù)+無奇偶校驗(yàn)+2停止位 (TB81/RB81=1) D8120=H0439
 ?、?、8位數(shù)據(jù)+奇校驗(yàn)+1停止位 (TB81/RB81=奇校驗(yàn)) D8120=H0433
  ⑩、8位數(shù)據(jù)+偶校驗(yàn)+1停止位 (TB81/RB81=偶校驗(yàn)) D8120=H0437
  ⑾、8位數(shù)據(jù)+奇校驗(yàn)+2停止位: 請按第⑨種情況設(shè)置。
 ?、?、8位數(shù)據(jù)+偶校驗(yàn)+2停止位: 請按第⑩種情況設(shè)置。
  
  三、自由協(xié)議通信中常用功能函數(shù)
   1〕常用功能函數(shù)
  函數(shù)號(25)+函數(shù)名(ASCII_HEX函數(shù))+功能說明(將指定寄存器的ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù)HEX);
  函數(shù)號(26)+函數(shù)名(HEX_ASCII函數(shù))+功能說明(將指定寄存器的十六進(jìn)制數(shù)HEX轉(zhuǎn)換為ASCII碼) ;
  函數(shù)號(27)+函數(shù)名(BYTE_ BYTE函數(shù))+功能說明(將指定寄存器的字進(jìn)行拆分和組合);
  函數(shù)號(28)+函數(shù)名(CRC函數(shù))+功能說明(將和校驗(yàn)區(qū)ASCII碼的十六進(jìn)制數(shù)相加后,取后兩位字符);
  函數(shù)號(29)+函數(shù)名(自由協(xié)議發(fā)送函數(shù))+功能說明(將設(shè)置好的數(shù)據(jù)等信息進(jìn)行發(fā)送);
  函數(shù)號(30)+函數(shù)名(自由協(xié)議接收函數(shù))+功能說明(將設(shè)置好的數(shù)據(jù)等信息接收);
  
   2〕自由協(xié)議相關(guān)函數(shù)
   在工控通信中,根據(jù)不同的情況,各工控廠家有不同的通信協(xié)議。有的以16進(jìn)制的方
  式傳輸,有的以ASCII碼傳輸,有的以BCD碼傳輸;校驗(yàn)方式有和校驗(yàn),異或校驗(yàn);傳輸順序有的從高字節(jié)開始,有的從低字節(jié)開始;傳輸單位一般是以字節(jié)為單位,而PLC在梯形圖中多以字為單位。而自由協(xié)議的發(fā)送區(qū)和接收區(qū)是以字節(jié)為單位的連續(xù)區(qū)。為適應(yīng)各家協(xié)議,必須有相關(guān)的輔助函數(shù),才能更好發(fā)揮自由協(xié)議的作用。
   輔助函數(shù)只針對數(shù)據(jù)寄存器區(qū)。
   1.ASCII碼字符轉(zhuǎn)HEX數(shù)值 (函數(shù)號:25)
   將ASCII碼表示的“0---9,A---F”字符轉(zhuǎn)換成16進(jìn)制的數(shù)值0---9,A---F。如ASCII值為31 32 33 42 (表示字符“123B”),經(jīng)函數(shù)轉(zhuǎn)換后成HEX值為 123B,四個字節(jié)變成二個字節(jié)。
   2.HEX數(shù)值轉(zhuǎn)換成ASCII碼字符 (函數(shù)號:26)
   將HEX表示的數(shù)值變換為ASCII碼,與25號函數(shù)功能相對。如將HEX值A(chǔ)B23轉(zhuǎn)換為ASCII碼字符“AB23”,ASCII值為41 42 32 33。
   3. 區(qū)域移動 (函數(shù)號:27)
   將字節(jié)拼成字,或?qū)⒆植鸪勺止?jié),或字區(qū)的移動。如,填寫發(fā)送字節(jié)時,將字節(jié)賦給字單元的低字節(jié),我們會覺得方便;但對發(fā)送而言,發(fā)送的是連續(xù)字節(jié)區(qū),因此發(fā)送前,又必須將不連續(xù)的低字節(jié)變成連續(xù)的字節(jié),即連續(xù)的字區(qū)。
   4.區(qū)域求和 (函數(shù)號:28)
   在有和校驗(yàn)的協(xié)議中,以字節(jié)為單位進(jìn)行求和運(yùn)算。因此對接收字可能需拆成字節(jié),而后進(jìn)行求和運(yùn)算。如11H 22H 33H 44H 55H 66H 77H 的7個字節(jié),求和結(jié)果為01DCH。如果只傳兩個字的ASCII碼值,則只傳“DC”,ASCII碼值為44H 43H。
   以上提供的輔助函數(shù)在自由協(xié)議方式下,使用的頻率較高,輔助函數(shù)的調(diào)用方式也大體相同。
   入口參數(shù):輸入的元件號 (D8201):如D8201=K100,表示從D100開始。
   輸入的有效字節(jié)數(shù) (D8202):如D8202=K10,表示10個字節(jié)。
   起始字節(jié)高/低選擇 (M8201):如SET M8201表示從低字節(jié)開始。
   字/字節(jié)有效選擇 (M8202):如SET M8202表示字節(jié)方式。
   出口參數(shù):輸出元件號 (D8203):如D8203=K1000,表示結(jié)果存在D1000超始區(qū)。
   起始字節(jié)高/低選擇 (M8203):如SET M8203表示從低字節(jié)開始。
   字/字節(jié)有效選擇 (M8204):如SET M8204表示字節(jié)方式。
   以上函數(shù)的具體示例參見科威PLC《編程手冊》第八章<常用功能函數(shù)說明>
  
   第3節(jié) 科威PLC通過自由協(xié)議與深圳傳動之星變頻器通信實(shí)現(xiàn)
  一、程序流程圖
  

  

  二、資源分配
   1)資源分配總體情況
   字元件(D0?D4)+位元件(M11?M42)+標(biāo)簽P(P1,P10?P19)+定時器(T0,T1,T3);
   字元件(D10?D49)+位元件(M100,M110,M120,M130,M140,M150,M160,M170,M180,M190);
   字元件(D99?D103)+位元件(M1000?M1016(僅在子程序P1中);
   2)主程序里包含的資源
   字元件(D0?D4,D99)+位元件(M100,M110,M120,M130,M140,M150,M160,M170,M180,M190)+標(biāo)簽P(P1,P10?P19)+定時器(T0,T1,T3);
   字元件(D10?D49)+位元件(M0?M4,);
   3)子程序P1
   字元件(D49,D23,D24)+位元件(M1000?M1016(僅在子程序P1中)+標(biāo)簽P(P1,P10?P19);
   4)子程序P10?P19
  字元件
  D28?D31
  D100?D103
  
  二、讀寫方法舉例
   1)讀操作流程:
  

  

   2)寫操作流程:
  

  

  
   3)假設(shè)要讀取的1#變頻器的“給定[頻率”F0-002=50HZ=5000*0.01HZ(最小單位)
   解析:讀1#變頻器D99=01,讀命令代碼D100=“04H”,參數(shù)的序號D101=“002”(10進(jìn)制)=數(shù)據(jù)地址=“02H”,讀命令代碼對應(yīng)程序中定義的M140=ON,填寫后D4=1388H,同時還出現(xiàn)以下的應(yīng)答報(bào)文格式:
  

  

  
  注意:表中D40H表示D40的高字節(jié),D40L表示D40L的低字節(jié),其他定義也一樣
   4)假設(shè)要向1#變頻器寫“給定[頻率”F0-002=50HZ=5000*0.01HZ(最小單位)
  解析:寫入1#變頻器D99=“01H”,寫入的命令代碼D100=“05H”,命令代碼對應(yīng)程序中定義的M150=ON,參數(shù)的序號D101=“002”(10進(jìn)制)=數(shù)據(jù)地址=“02H”,數(shù)據(jù)信息=“1388H”,所以數(shù)據(jù)信息高字節(jié)D102=13H,數(shù)據(jù)信息高字節(jié)D102=88H,填寫后將出現(xiàn)以下的應(yīng)答報(bào)文格式:
  

  

  
  注意:表中D40H表示D40的高字節(jié),D40L表示D40L的低字節(jié),其他定義也一樣
  使用下表說明:要求填寫序號(D101)是指功能碼去掉頭三個字符F0-后,留下的三個字符的10進(jìn)制,如F0-000,去掉頭三個字符F0-后留下000就是所說的功能序號,數(shù)值大小也等于表中16進(jìn)制表示的“數(shù)據(jù)地址”所以填序號實(shí)際上就是填數(shù)據(jù)地址。
  
  功能代碼的定義表參見科威公司主頁: 中的“資料下載”-“PLC應(yīng)用”。

(轉(zhuǎn)載)

標(biāo)簽:科威PLC 變頻器 我要反饋 
2024世界人工智能大會專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會
專題報(bào)道