S7200通過自由口控制Modbus變頻器正負轉頻率寫入等_第1頁
S7200通過自由口控制Modbus變頻器正負轉頻率寫入等_第2頁
S7200通過自由口控制Modbus變頻器正負轉頻率寫入等_第3頁
S7200通過自由口控制Modbus變頻器正負轉頻率寫入等_第4頁
S7200通過自由口控制Modbus變頻器正負轉頻率寫入等_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、S7-200通過自由口控制Modbus變頻器正負轉頻率寫入等西門子S7-200通過自由口需要控制英威騰變頻器的正負轉停止和故障復位,運行頻率控制以及分二次讀取運行速度等12條變頻器信息。程序略微變動適應所有ModbusRTU需要控制。下面是程序,可以直接導入程序后寫入PLC試驗冋貉2知果是讀趙信烏希令f2校讀迦均是詼戰(zhàn)6條信息晅回疊息數(shù)丁嚀節(jié)100202ORGANIZATION_BLOCK主程序:OB1TITLE=BEGINNetwork1/主程序,初始化并查執(zhí)各變頻器指令/一功能介紹/該程序?qū)橛⑼vCHF系列變頻器編寫。英威騰CHF系列變頻器內(nèi)置國際標準的MODBUS通信協(xié)議。程序運行時,

2、變頻器作為MODBUS協(xié)議從站接收來自CPU224PLC的通信指令,實現(xiàn)起停、頻率給定、監(jiān)控等功能。/CHF系列矢量變頻器在與CPU224通信前須做好以下準備工作:1.確認己安裝好CHF系列變頻器的通訊卡,并將卡上的端口跳線置于RS485端;/2.用一根帶9針陽性插頭的串口通信電纜連接在CPU224PLC的自由通信口端,電纜另一端的第5、3、8線分別接在CHF變頻器RS485通訊卡的GND、485+、485端子上,其余線屏蔽不用;/3.預先設置變頻器以下參數(shù):/PC.00=1變頻器通訊地址為1/PC.01=3通訊波特率9.6K/PC.02=1通訊數(shù)據(jù)偶校驗8位數(shù)據(jù)位1位停止位/P0.03=2變

3、頻器的運行指令采用通訊方式/P3.01=7變頻器的A頻率設定采用通訊方式(注意P3.04/P3.05對P3.01通訊頻率的影響)/二程式結構說明/該程序由1個主程序3個子程序及2個中斷程序組成。子程序里包含了變頻器的起停、復位、查詢功能指令,由主程序調(diào)用。中斷程序為發(fā)送及接收指令提供中斷支持。/main/主程式,初始化并查執(zhí)各變頻器指令/sbrOCRC校驗子程序/sbr1/通訊端口初始化子程序/sbr2發(fā)送變頻器寫入06/讀取03指令,共8個字節(jié)/intO/接收完成中斷程序/int1/發(fā)送完成中斷程序LDSM0.1CALLSBR1調(diào)用初始化子程序,使能PORTO自由口模式Network2/接收

4、完成后延時10mSM4.4接通,運行下一次發(fā)送數(shù)據(jù)LDNM4.0ANM4.1TONT35,1/通訊完成后延時10mSM4.4=1,允許下一次通訊,AT35=M4.4主要是為了ModbusRTU二次通訊中間3.5字符間隔時間Network3如果發(fā)送或接收超時,延時0.2秒復位M4.0/M4.1,這里暫時設置5秒是為了方便調(diào)試LDM4.0OM4.1TONT199,50AT199RM4.0,2/發(fā)送或接收超過0.2秒沒有完成,復位發(fā)送/接收Network4/調(diào)用Modbus06寫入指令,通訊成功,這里暫時不用,可以作打手頻率設定,不知道是否支持廣播寫入,廣播寫入主要是變頻器故障復位和三個打手頻率設定

5、.給棉變頻器如果需要用PID控制沒有必要用PLC的PID當VW110MVW300時把VW110寫入變頻器,VW110范圍(+10000-10000)-10000 x50Hz/地址為變頻器地址;字節(jié)為發(fā)送的字節(jié)數(shù)量=8個字節(jié);指令=03為讀取指令,06為寫入指令;數(shù)據(jù)地址=2000H為英威騰變頻器設置頻率的地址;數(shù)據(jù)內(nèi)容為寫入2000H的內(nèi)容,范圍+100000-10000/運行命令權限最高,如果運行命令沒有完成,程序?qū)恢眻?zhí)行下去,直到運行命令完成LDNM8.1/沒有發(fā)送運行命令,當運行命令發(fā)送過程中不能夠發(fā)送頻率寫通訊AWVW300,VW110發(fā)送的數(shù)據(jù)VW110與通訊完成返回的數(shù)據(jù)不等A

6、M4.4/允許發(fā)送SM8.0,1發(fā)送為寫運行速度命令,為了接收信息時保存到VW300用CALLSBR3,1,8,6,16#2000,VW110把VW110數(shù)據(jù)寫入到變頻器地址1的2000H寄存器Network5/控制變頻器正負轉停止和故障復位同時有幾個輸入時執(zhí)行最后的指令LDSM0.0LPSAI5.1/運行命令MOVW1,VW304LRDAI5.3/反轉命令MOVW2,VW304LRDAI5.2/停車命令MOVW5,VW304LPPAI5.4/故障復位命令MOVW7,VW304Network6/設定英威騰變頻器1000H通信控制命令,來控制變頻器正負轉和停止等操作命令/控制變頻器運轉英威騰變頻

7、器地址1000H01正轉運行02反轉運行03正轉點動04反轉點動05停車06自由停車07故障復位08點動停車LDWvVW304,VW302運行命令VW304與接收的返回信息比較,不相等將一直發(fā)送下去AM4.4SM8.1,1為了把返回信息的保存到VW302寄存器CALLSBR3,1,8,6,16#1000,VW304把命令內(nèi)容VW304寫入到英威騰變頻器的1000H地址Network7/調(diào)用Modbus讀取,不要讀取范圍以外的內(nèi)容,不然會報錯誤/讀取變頻器狀態(tài)3000H運行速度3001H設定速度3002H母線電壓3003H輸出電壓3004H輸出電流3005H運轉速度/當有其他重要的讀寫命令時該通

8、訊暫停/分2次讀取英威騰變頻器3000H3005H3008H3013H信息,本來英威騰變頻器說明書說可以連續(xù)讀取16條信息,不過我讀取16條信息返回數(shù)據(jù)沒有CRC校驗內(nèi)容,不知為何,本來是試驗程序,有時需要連續(xù)讀取多條信息,就試驗讀取2次12條信息LDNM8.0ANM8.1/程序沒有發(fā)送寫頻率和運行命令時才能夠讀取變頻器數(shù)據(jù)AM4.4LPS/調(diào)用查詢變頻器INCBVB270啟動T37延時斷開計時器AV270.0SM8.2,1MOVW16#3000,VW272讀取3000H開頭的連續(xù)6條信息LRDANV270.0SM8.3,1MOVW16#3008,VW272讀取3008H開頭的連續(xù)6條信息LP

9、PCALLSBR3,1,8,16#03,VW272,6END_ORGANIZATION_BLOCKSUBROUTINE_BLOCK初始化:SBR1TITLE=通訊端口初始化子程序/該程序在PLC的第一個掃描周期運行,主要是設置CPU224自由端口的通信格式、數(shù)據(jù)接收格式及復位各寄存區(qū)(參見西門子S7-200編程手冊)。/通信格式內(nèi)容包括:波特率9.6K、每字節(jié)位數(shù)8位、偶校驗等(注意與變頻器一致)。/數(shù)據(jù)接收格式完全參照MODBUSRTU格式設定,以不少于3.5個字節(jié)傳輸時間的通信口空閑間隔作為數(shù)據(jù)接收的開始及結束信號。根據(jù)協(xié)議,PLC在準備接收數(shù)據(jù)前會先監(jiān)測通信口是否空閑,如連續(xù)空閑時間超過

10、了3.5個字節(jié)的傳輸時間,則PLC默認數(shù)據(jù)接收開始,此后通訊口上出現(xiàn)的信息即被認為是一個數(shù)據(jù)幀的內(nèi)容。同理,隨著一個數(shù)據(jù)幀的最后一個字節(jié)傳輸完成,又會出現(xiàn)一個3.5字節(jié)傳輸時間的空閑間隔,來表示一個數(shù)據(jù)幀傳輸?shù)慕Y束。(參見MODBUS協(xié)議標準及CHF系列矢量變頻器通訊卡使用說明書)/對9.6K的通信波特率來說,3.5個字節(jié)傳輸時間約為5ms左右。因該程式的每個指令只準備接收一個數(shù)據(jù)幀的回饋信息,所以接收數(shù)據(jù)前的空閑檢測時間可設為0,即PLC在發(fā)出數(shù)據(jù)后立即開始接收數(shù)據(jù),但一個數(shù)據(jù)幀的傳輸結束空閑檢測時間仍需設為5ms以上。BEGINNetwork1LDSM0.0MOVB16#49,SMB30/

11、設置自由通信口格式MOVW+0,SMW90/空閑行間隔檢測時間0msMOVW+5,SMW92/字符問定時器超時檢測時間5msMOVB20,SMB94/接收信息的最大緩沖區(qū)20字節(jié)MOVB148,SMB87/設置自由通信口的數(shù)據(jù)接收格式FILL+0,MW8,1/輸出印象寄存區(qū)復位FILL+0,MW9,1/標志寄存區(qū)復位FILL+0,VW100,5/發(fā)送緩沖區(qū)復位FILL+0,VW200,5/接收緩沖區(qū)復位ATCHINT2,23/接收完成中斷ATCHINT1,9/發(fā)送完成中斷ENI/在全局啟用中斷END_SUBROUTINE_BLOCKSUBROUTINE_BLOCKCRC校驗:SBR2TITLE

12、=CRC校驗子程序/英威騰CHV系列矢量變頻器內(nèi)置的MODBUS協(xié)議采用RTU傳輸格式,該格式使用CRC校驗方式對每次發(fā)出或接收的數(shù)據(jù)幀進行校驗。因此,該子程序使用了多個局部變量,以方便其它子程序調(diào)用。/在西門子STEP7-Micro/win編程環(huán)境下(如圖一),需要在該子程序的局部變量表中預先設定以下局部變量:/(1)輸入型局部變量(VARINPUT)/Id0:DWORD:待發(fā)送數(shù)據(jù)地址指針變量/1w4:WORD;/待發(fā)送數(shù)據(jù)字節(jié)個數(shù)變量/(2)輸出型局部變量(VAR-OUTPUT)/lb6:BYTE;/CRC校驗值高位變量/lb7:BYTE;/CRC校驗值低位變量/(3)臨時局部變量(VA

13、R)/1w8:WORD;/待發(fā)送數(shù)據(jù)字節(jié)個數(shù)計數(shù)變量/1w10:WORD;/待發(fā)送數(shù)據(jù)每字節(jié)8位二進制數(shù)計數(shù)變量VAR_INPUTLD_0:DWORD;/待發(fā)送數(shù)據(jù)地址指針變量LW_4:WORD;/待發(fā)送數(shù)據(jù)字節(jié)個數(shù)變量END_VARVAR_OUTPUTIB_6:BYTE;/CRC校驗值高位變量LB_7:BYTE;/CRC校驗值低位變量END_VARVARLW_8:WORD;/待發(fā)送數(shù)據(jù)字節(jié)個數(shù)計數(shù)變量LW_10:WORD;/待發(fā)送數(shù)據(jù)每字節(jié)8位二進制數(shù)計數(shù)變量END_VARBEGINNetwork1/將16位CRC校驗寄存器LW6全置為1LDSM0.0MOVW16#FFFF,LW6/將16位

14、CRC校驗寄存器LW6全置為1Network2對待發(fā)送數(shù)據(jù)字節(jié)個數(shù)(Lw4)計數(shù)(Lw8)循環(huán)LDSM0.0FORLW8,+1,LW4對待發(fā)送數(shù)據(jù)字節(jié)個數(shù)(Lw4)計數(shù)(Lw8)循環(huán)Network3/使待發(fā)送數(shù)據(jù)的第一個字節(jié)(*LD0)與CRC校驗寄存器低位字節(jié)(LB7)進行異或運算LDSM0.0XORB*LD0,LB7使待發(fā)送數(shù)據(jù)的第一個字節(jié)(*LD0)與/CRC校驗寄存器低位字節(jié)(LB7)進行異或運算Network4/ld0指向待發(fā)送數(shù)據(jù)的下一個地址LDSM0.0INCDLD0/ld0指向待發(fā)送數(shù)據(jù)的下一個地址Network5對每字節(jié)8位二進制數(shù)計數(shù)(LW10)循環(huán)LDSM0.0FORLW

15、10,+1,+8對每字節(jié)8位二進制數(shù)計數(shù)(LW10)循環(huán)Network6/CRC校驗寄存器LW6右移一位LDSM0.0SRWLW6,1/CRC校驗寄存器LW6右移一位Network7/若移位后的溢出值SMl.1為1,則使值16#A001與LW6進行異或運算LDSM1.1/若移位后的溢出值SMl1為1XORW16#A001,LW6/則使值16#A001與LW6進行異或運算Network8/結束每字節(jié)8位二進制數(shù)計數(shù)循環(huán)NEXT/結束每字節(jié)8位二進制數(shù)計數(shù)循環(huán)Network9/結束每數(shù)據(jù)幀字節(jié)個數(shù)計數(shù)循環(huán)NEXT/結束每數(shù)據(jù)幀字節(jié)個數(shù)計數(shù)循環(huán)END_SUBROUTINE_BLOCKSUBROUTI

16、NE_BLOCKModbus讀寫:SBR3TITLE=三.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)/VW103/變頻器被寫地址/變頻器被讀起始地址/VW105/被寫數(shù)據(jù)/被讀數(shù)據(jù)字個數(shù)/VB107/被發(fā)送數(shù)據(jù)CRC低位/VB108/被發(fā)送數(shù)據(jù)CRC高位VAR_

17、INPUT地址:BYTE;/變頻器地址,字節(jié)字節(jié):BYTE;/發(fā)送字節(jié)數(shù)指令:BYTE;/讀16#03寫16#06數(shù)據(jù)地址:WORD;/需要寫的變頻器參數(shù)地址數(shù)據(jù)內(nèi)容:WORD;END_VARBEGINNetwork1LDSM0.0MOVBLB1,VB100/XMT指令要發(fā)送的字節(jié)個數(shù)MOVBLB0,VB101/變頻器地址(01)MOVBLB2,VB102/modbus寫功能碼(06)MOVWLW3,VW103/變頻器頻率設定值地址MOVWLW5,VW105/頻率設定值CALLSBR2,&VB101,6,VB108,VB107調(diào)用CRC校驗子程序XMTVB100,0將緩沖區(qū)(VBI00VBI0

18、8)數(shù)據(jù)由0端口發(fā)送SM4.0,1INCWVW4004END_SUBROUTINE_BLOCKINTERRUPT_BLOCK發(fā)送完成:INT1TITLE=發(fā)送完成中斷子程序BEGINNetwork1/數(shù)據(jù)接收開始LDSM0.0RCVVB200,0/數(shù)據(jù)接收開始Network2發(fā)送完成中斷中復位M4.0,置位M4.1監(jiān)控程序是否因發(fā)送超時還是接收超時LDSM0.0RM4.0,1SM4.1,1END_INTERRUPT_BLOCKINTERRUPT_BLOCK接收完成:INT2TITLE=接收完成中斷程序/利用西門子S7_200系列PLC提供的系統(tǒng)中斷事件,使發(fā)送指令XMT及接收指令RCV完成時自

19、動產(chǎn)生程序中斷,以便及時完成其它必要的程序操作。/這里程序只利用VB205來反映變頻器工作狀態(tài)。/2.接收指令RCV緩沖區(qū)/VB200/rev指令要接收的字節(jié)個數(shù)/VB201/變頻器地址(01)/VB202/modbus功能碼(06/03)/VW203/變頻器被寫地址/被讀數(shù)據(jù)字節(jié)個數(shù)/VW205/被寫數(shù)據(jù)/被讀數(shù)據(jù)/VB207被接收數(shù)據(jù)CRC低位/VB208被接收數(shù)據(jù)CRC高位/VB217被接收數(shù)據(jù)CRC驗算低位/VB218被接收數(shù)據(jù)CRC驗算高位BEGINNetwork1/網(wǎng)絡標題/M8.2=0是8位字節(jié)寫指令,返回數(shù)據(jù)也是8個字節(jié),校驗數(shù)據(jù)有6個字節(jié)VB201VB206,VB257VB2

20、58(VW257)是校驗碼。同時比較校驗碼與實際計算校驗碼是否正確,正確后M10.1置位1LDNM8.2/非讀取信息時,因讀取信息返回數(shù)據(jù)字節(jié)數(shù)因信息不一樣而不同LPS/寫信息返回字節(jié)數(shù)固定不變,均為8字節(jié)接收信息RM4.1,1CALLSBR2,&VB201,6,VB258,VB257接收接收到的信息VB201開頭連續(xù)6個字節(jié)的CRC值,見過保存到VW257AW=VW257,VW207比較接收信息的CRC位VW207與實際計算的CRC是否相等,相等說明信息正確SM10.1,1/信息正確,M10.1置位1LPPAWVW257,VW207RM10.1,1信息校驗錯誤,M10.1=0Network2

21、/如果是讀取信息命令(2次讀取均是讀取6條信息,返回信息數(shù)17字節(jié))LDM8.2/第一條讀取命令OM8.3/第二條讀取命令LPSRM4.1,1CALLSBR2,&VB201,15,VB258,VB257/校驗VB201開頭連續(xù)15字節(jié)接收信息的CRC校驗值AW=VW216,VW257SM10.2,1LPPAWVW216,VW257接收信息CRC校驗位與實際接收的信息計算的CRC結果比較,如果相等說明計算信息正確RM10.2,1Network3/如果是第一條讀取信息,則返回信息保存到VW1000開頭的連續(xù)6字LDM8.2AM10.2MOVWVW204,VW1000MOVWVW206,VW1002

22、MOVWVW208,VW1004MOVWVW210,VW1006MOVWVW212,VW1008MOVWVW214,VW1010RM8.2,1Network4/如果是第二條讀取信息,則接收到的信息保存到VW1012開頭的連續(xù)6個字LDM8.3AM10.2MOVWVW204,VW1012MOVWVW206,VW1014MOVWVW208,VW1016MOVWVW210,VW1018MOVWVW212,VW1020MOVWVW214,VW1022RM8.3,1Network5寫英威騰變頻器H2000數(shù)據(jù),如果返回數(shù)據(jù)正確,M8.0復位0,VB310清零LDM10.1AM8.0MOVWVW205,V

23、W300RM8.0,1Network6LDM10.1MOVWVW203,VW312MOVWVW205,VW302RM8.1,1Network7/END_INTERRUPT_BLOCK總記錄數(shù)39總頁數(shù)1當前頁1!1,川引用|回復|2009-03-0211:11:061樓張智勇以前在網(wǎng)上找的西門子關于自由口通訊的例子程序,都是簡單程序,沒有CRC校驗,或者只有一二個指令。對于初學者根本不起作用上面是我根據(jù)英威騰網(wǎng)站下載的例子程序增添修改而成,帶CRC校驗引用|回復|2009-03-0211:19:132樓張智勇主程序梯形圖網(wǎng)絡22網(wǎng)絡22主程序初始化并查執(zhí)各變頻器指令一.功能介鋁該趕序?qū)橛⑼?/p>

24、匚HF系列變頻器編寫.英威聘匚HF系利變頻黠內(nèi)買國際様建的MOD孌頻器作為MDDEUE協(xié)諫從站接收來SCPU224PLCfit通潔塘實現(xiàn)擔停、頻率給走、隘控等功罷匚HF系列矢量變頻器在與CPU224JI信前煩做好議下淮備工作:仁謂認己安裝好UHF丟列變頻器的通訊氓并將卡上的端口跳線置于HS4SSffi;玄;用一根芾腕+陽性插璽的串口通信電魏連接在匚巳224PL曲Em宙邇信口踹電址另一菇的第氐&醱分別接在匚H啓頻器日5朝5通詡亡的GND、435+.485-端子上苴余線屏棘不用L3預先設置變頻黯以F卷數(shù);1312tvwEMfam逋信程序運行時P匚CIOfcchPC.02P0.03P3.01:慮頻器

25、逋詛地址為1上通誦皮特率9.6K/應訊數(shù)據(jù)隅校驗適數(shù)據(jù)位1位停止位匸陝頻器的運行指嗖采用適詛方式7/廢頻器的顧聿設走采兒邇訊方式【注意P3.C4/P3.05P3.01ifffl頻率的毎響)二.程式皓構說明通程庫自4嚇主裡序乳子程序及址中斷稈序姐成.子稈序里包音了變頻黑的起停s復險亜詢功罷捂令,左主稈序調(diào)用.中斷稈序為發(fā)送及接收指令攝侯中斷吏持:/住程式:初始化井查執(zhí)各變頻鋁指令枇只宏驗子程序銳通訊篩口初始化子祥序丿泯送變頻器寫入曲讀馭嘲誅“共卉字節(jié)丿檢收兗成中斷程序/炭驗完成中斷程序rn-ain符號地址注釋開機初始化5M0.1PLCeEJUFFON即叮導通1齊捋捲周期INTONPT10mis符

26、號地址注釋翁送允許M4.4通訊豆成后延時訕砧接通境送中M4.0發(fā)送數(shù)據(jù)時謹位=1炭送完畢執(zhí)行接收中斷時置D接收申M4.1廢送完卑潔執(zhí)行接收趕序.躡置位1捲收完成或晉超時復位INTONPT100mf.K地址注釋發(fā)遴中M4.0叢送顫據(jù)時該位=1炭薩兗畢軌行接收中斷時畫0接收中M4.1趙沁畢后執(zhí)訂接收禪甫,擁置怪1攜收元成或調(diào)超時復位25製蠢豔鑑聽標蠹尊黯蠶継蘿暮齡廣譬當W11OW350Ht把1vW11謁典喪頻黠,V?/110HC-+1000010000)討曲血沾陽e地址為變頻器地址,字書為發(fā)送的字節(jié)數(shù)呈=&T字節(jié):指警匕貞為讀取損睜二旺再寫入指卷:數(shù)據(jù)地址=2000H為英威騰變頻器設置頻率的說址了

27、數(shù)庭內(nèi)容為寫A2000H的內(nèi)容?eU+1OOOCWO-10000M8.1W3002訃W11OK盒)1Mcidbu疥賣寫EN1-地址S-字節(jié)6-16tt2000-數(shù)據(jù)地2who-數(shù)據(jù)內(nèi)FH4.4M8.0咼號地址發(fā)送允許M4.4通謙完感右延時lOmSil童運行M8.1發(fā)送運行命否置位頻窒逼-W300爰送謖置驪塞指洋的返回值設置頻率W110Mii10000.miOGz矗大工作頻率起復位出錯寫頻率M8.0PLC寫驪率時置位1遞回數(shù)據(jù)校驗正確時食怪地址注釋I5.3變頻器辰轉指爭敵障復位I5.4變頻器祓陣復位指弩開機初貽化;SM0.1PLEEfiOFFnN,SM0.1導通1于押描周期停機15.2費頻器停機

28、指令-11-W304運行命令發(fā)送數(shù)居正潔15.1變頻器正轉指令.甩絡27設走英威膺變頻蠱潔控制命噹“來控制變頻器正負轉和停止等操住命發(fā)符號地址讀職數(shù)據(jù)hs.t綾取數(shù)據(jù)HH8.f發(fā)送允許W4.4逋訊完成后延時1餉15接通發(fā)運行HS.1股送運行希令畳艮寫頻率M8.0FLC寫頸率吋畫位1淹回數(shù)據(jù)棱驗正確時復位引用|回復|2009-03-0211:22:523樓張智勇初始化子程序,把通訊口0設置自由口模式通訊諦口初貽化子程序餞程序在門工的第一掃描周期運行,主要呈設置CPU224口的通信格式、數(shù)據(jù)搔版格式及復位各寄存區(qū)(費見西門子汐也爲程手J1H通潔稻式內(nèi)容屯括:浪時率9E也每字節(jié)位數(shù)臉、偶校驗等主意與

29、孌頻器一致h數(shù)據(jù)播收格式完全M0DBU5RTi格式設定以不少于3.5T宇節(jié)喳輸時間的通信口空鬧間瓏作対數(shù)據(jù)接收的開始及結束信號“銀蠱悔諫PLC在準備接收數(shù)據(jù)前會先監(jiān)測通信口是否空閑如連續(xù)空閑吋間超過了2連字書的苦輸吋間.:則FU默認數(shù)豬接収開貽此后謹謙口上出現(xiàn)的悟扈即襯認藥是一辛數(shù)據(jù)幀的訶容同理.隨著“?數(shù)據(jù)幀的毎后一個字節(jié)詒輸完成;乂會出現(xiàn)一個3浮節(jié)停輸時間的空閑間隔來表示一個數(shù)踣幀傳輸?shù)慕Y束,(卷見HCiDRUE協(xié)觀襪準艮曲3粟列矢星變頻器通訊卡便用說明書!對日啟糾勺通信波特率來說3M?節(jié)傳輸時間約為5進右匸因適程式的毎亍指令只唯備接戕一亍數(shù)據(jù)博的回饋信Mr所M接收數(shù)皤前的空鬧檢測時間可設

30、為即FL匸在發(fā)出數(shù)據(jù)后立即開始接收數(shù)據(jù)I但一亍數(shù)據(jù)幀的怯輸皓束空閨栓陸時間仍需設宵亦諏上網(wǎng)躋1符號地址1注釋TI1;)|:廠jiri!發(fā)送気成INT1覽送完成中斷子程序接收完成INT2接收完成中斷程序引用|回復|2009-03-0211:25:484樓張智勇CRC校驗子程序引用|回復|2009-03-0211:30:265樓張智勇Mm脂翠要發(fā)送的字節(jié)勞數(shù)/madbu&H能碼(06/031/噸冨犠貿(mào)皺讀數(shù)據(jù)字莽數(shù)釀倉送數(shù)據(jù)匚R匚高位VB101/喪頻器通訊1址I叫/瘦頻盟被寫砸址-變頻孫被瀆起繪地址IVB107/舷發(fā)送數(shù)培匚RC:低位發(fā)送子程序符號變星類型數(shù)齬類型性釋ENINeouLLBO比址IN

31、BYTE孌頻眾地址字節(jié)LB1字節(jié)INBYTE發(fā)送孚節(jié)數(shù)lB2INBYTE讀16tt03寫IGttOElW3:數(shù)豬地址INWORD需要寫的變頻貉參數(shù)地址LW5數(shù)猶內(nèi)容INWORD三.PLC內(nèi)存便用說陰西門子畀創(chuàng)體列FL目占通制端口編程必定會用到商入指令-即潮T肢送脂令和RCV弱收皚釈輛寫程序時需要為遠兩個指督指定數(shù)據(jù)緩沖醫(yī)一股以劉因位數(shù)為啲地址作為數(shù)據(jù)緩沖區(qū)的起始遡址.1.境送指命涮T鍾中區(qū)宵濮B100VB10W1058108引用|回復|2009-03-0211:31:476樓張智勇發(fā)送完成中斷子程序,發(fā)送完成執(zhí)行接收引用|回復|2009-03-0211:36:457樓張智勇接收完成中斷程序,把

32、接收到的信息保存到相對于的寄存器接收完成中斷程序利用西門子陽加U聚列氏闔供的聚編中斷爭件,使發(fā)送指瞼玄MT耳接收指奪R6完成時自動產(chǎn)生程序中斷,限便及時完成苴必姜的程序按ttn這里程序只利用詵兀睞反映喪頻器工作伏態(tài)2.接收指綁/緩沖醫(yī)VB200VB201VE202.W203W205VB207VB208VB217VB218艸站指令姜接收的字節(jié)!數(shù)/展頻器地址口/modbuslijl(OG/03)儂頻器袂篙燉址鐵讀數(shù)據(jù)字*個數(shù)丿觸寫數(shù)據(jù)觸讀數(shù)據(jù)/戰(zhàn)接l/慰厠F橄撤攵數(shù)謠匚R匚低位文數(shù)據(jù)匚R薦位攵數(shù)據(jù)莎電算莊位攵數(shù)據(jù)匚FI遞算高位網(wǎng)絡1岡絡標題MS.2=腥鮑宇節(jié)寫指令,返回數(shù)據(jù)也旱&T字節(jié),校驗歟據(jù)

33、有盜字節(jié)2口加脇VE257VB258(W257J旱校驗碼-同時出較校驗碼與實際計食校驗碼是否正謐,正確后汕陽置位1M8.ZM4.1匚|=|赍驗hl&VB201-L11LD_0IB.66-LW4LB7-VB258-VB257W257M10.1(5)1W207VW257IfhW207M10.1)gong.orr地址注釋M8.2接收中M4.1發(fā)詵完畢后執(zhí)行接收程序.該位置位;.接收完或或者超時復位校驗正確M10.1寫指驀校驗正確網(wǎng)躋2m2-加果足淒題冒懸樹參I舀史讀駆均星讀馭瞭信烏;返固信鼠數(shù)1;學申空M4.131M&.3WB201-15-CRCEMLD_OIB_6LW4出i-VBK8-VE257W

34、2161=lW257W216M卜W257M10.2-)1Ml0.2(C1符號地址讀取數(shù)據(jù)M8.2讀取數(shù)據(jù)EM8.3接收申M4.1發(fā)哇完畢后執(zhí)行捲收程序位1捲收完成咸者昶時毘位阿珞3如果是斡亠條讀職信息-則返國篇息保存到如1孔講頭的連續(xù)辱M0V2WENENO曲14-INOUTrWwia礙號!地址注釋連取數(shù)據(jù)MS.2舟線電壓1004|設定速慶W1002鏑出電流W1008輸出電壓W100G運行速厘.wwaa匿行轉速wioia=冋幫4ENENOINOUTW214-I-W1022M8.3CR)符號地址注釋FID反饋值W1014FID給定值W101Z勺委取數(shù)據(jù)2制站端子輸出標志狀悉W101S端子輸入標志狀

35、態(tài)麗而E複擬星瓦1砸.W1020HMH1Vrirki=(1frril*n摸姒量AI2(gW1022寫英威騰孌頻器H2CM敷據(jù)如果返回數(shù)站正確M8.廛位Ch滸刃瞞零符號地址注釋頻率晅-.waao發(fā)燧設置頻率指警的返回值校驗正確M10.1寫頻率M8.0PL言頻率時置位1,返回數(shù)拇校驗正確吋復位符號地址注釋M8.1逅送運行命會豊懂校騎正確M10.1寫扌蒔極驗正帝運行遞-W302控制運行命卷返回數(shù)據(jù)引用|回復|2009-03-0211:39:448樓zhongdingjidianhao文章,頂頂,引用|回復|2009-05-1509:12:059樓jiaopengzhan難得這么詳細的好文章引用|回復

36、|2009-05-1510:22:5910樓王秀難得這么詳細的好文章,hao文章,頂頂,引用|回復|2009-05-1510:38:2911樓sales_alan頂頂,引用|回復|2010-04-0812:06:5819樓|2009-05-1511:34:2412樓ansonboy2008S7-200不是有MODBUS主站嗎?怎么要那么麻煩自己寫呢?引用|回復|2009-05-1511:42:4213樓糊涂蟲難得這么詳細的好文章引用|回復|2009-05-2320:05:5214樓jfaSfjSaffSfSfSfSfSfS引用|回復|2009-05-2320:32:1415樓無能的主好文章呀,

37、樓主介紹的很仔細。學習引用|回復|2010-04-0715:51:2916樓學無止收藏了引用|回復|2010-04-0716:36:3317樓milin000好文章呀,樓主介紹的很仔細。學習引用|回復|2010-04-0808:53:1818樓張智勇繼續(xù)引用|回復軸承制造引用jiaopengzhan的回復內(nèi)容難得這么詳細的好文章引用|回復|2010-04-0908:01:5820樓明月夜張工,好文!我還記你女兒拿著牙刷刷牙的照片引用|回復|2010-04-0908:28:3521樓張智勇呵呵最近還好嘛?引用|回復|2010-04-0908:34:2522樓doppob好文章啊,絕了引用|回復|

38、2010-04-0916:33:4523樓doppob回復內(nèi)容:對:張智勇關于呵呵最近還好嘛?引用|回復|2010-04- 13:15:5328樓引用|回復|2010-04- #13:15:5328樓引用|回復|2010-04- 20:00:3925樓你的通訊口子程序的SM0.0應該改為SM0.1吧?再問個問題啊,張工。你的MODBUS讀寫子程序中調(diào)用CRC校驗子程序時,輸入端口LD_0處用的是指針&VB101,能否這里不用間接尋址的方式而是用直接尋址,在此處就用VB101,請問這樣行嗎?對指針學的不好,麻煩給解釋一下!謝謝內(nèi)容的回復:引用|回復|2010-04-0917:09:3824樓yjig我來回答,如說的不對,請張工更正。如果輸入端口LD_0處,不用指針&VB201(不是&VB101),而是采用直接尋址VB201,本人認為不行。因為CRC校驗時,需要從VB201、VB202、直到VB206共6個數(shù)據(jù),進行循環(huán)處理,也就是說先處理VB201,然后處理VB202,最后處理VB206

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論