:1800弄(電子商務(wù)園)5005公司主營(yíng):西門子數(shù)控系統(tǒng),V20變頻器S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人機(jī)界面,變頻器,DP總線,MM變頻器,6SE70交流工程調(diào)速變頻器6RA70等系列產(chǎn)品。
產(chǎn)品簡(jiǎn)介
詳細(xì)介紹
西門子精智面板6AV6645-0EB01-0AX1現(xiàn)貨
敬請(qǐng)放心購(gòu)買!量大價(jià)優(yōu),歡迎選購(gòu)!
1. 字符計(jì)數(shù):接收指令必須已知要接收的字符數(shù)(SMB94或SMB194)。當(dāng)達(dá)到或者超出 這個(gè)值,接收消息功能結(jié)束。即使不會(huì)被用作結(jié)束條件,接收指令要求用戶一個(gè)字符 個(gè)數(shù)。這是因?yàn)榻邮罩噶钚枰澜邮障⒌拈L(zhǎng)度,這樣才能保證消息緩沖區(qū)之后的用戶 數(shù)據(jù)不會(huì)被覆蓋。
對(duì)于消息的長(zhǎng)度已知并且恒定的協(xié)議,可以使用字符計(jì)數(shù)來(lái)結(jié)束消息。字符計(jì)數(shù)總是 與結(jié)束字符檢測(cè)、字符間定時(shí)器或者消息定時(shí)器結(jié)合在一起使用。
2. 奇偶校驗(yàn)錯(cuò)誤:當(dāng)硬件發(fā)出指示在接收的字符上有奇偶校驗(yàn)錯(cuò)誤時(shí),接收指令自動(dòng)終止。 只有在SMB30或者SMB130中使能了校驗(yàn)位,才有可能出現(xiàn)校驗(yàn)錯(cuò)誤。沒(méi)有辦法禁止此功能。
3. 用戶終止:用戶程序可以通過(guò)執(zhí)行另一個(gè)在SMB87或SMB187中的啟用位(EN)設(shè)置為零的接收
指令來(lái)終止接收消息功能。這樣可以立即終止接收消息功能。
使用字符中斷控制接收數(shù)據(jù)
為了*適應(yīng)對(duì)各種協(xié)議的支持,您也可以使用字符中斷控制的接收數(shù)據(jù)。接收每個(gè)字符時(shí)都會(huì) 產(chǎn)生中斷。在執(zhí)行與接收字符事件相連的中斷程序之前,接收到的字符存入SMB2中,校驗(yàn)狀態(tài)(如果 使能的話)存入SM3.0。SMB2是端口接收字符緩沖區(qū)。在端口下,每一個(gè)接收到的字符 都會(huì)存放到這一位置,便于用戶程序訪問(wèn)。SMB3用于端口。它包含一個(gè)校驗(yàn)錯(cuò)誤標(biāo)志位。 當(dāng)接收字符的同時(shí)檢測(cè)到校驗(yàn)錯(cuò)誤時(shí),該位被置位。該字節(jié)的其他位被保留。利用校驗(yàn)位去丟棄消息 或向該消息發(fā)送否定應(yīng)答。
在較高的波特率下(38.4K到115.2K)使用字符中斷時(shí),中斷之間的時(shí)間間隔會(huì)非常短。例如:在38.4 時(shí)為260微秒;在57.6K時(shí)為173微秒;在115.2K時(shí)為86微秒。確保您的中斷程序足夠短,不會(huì)丟失字 符或者使用接收指令。
M A I N | Network1 //本程序接收一個(gè)字符串, //直到接收到換行字符。 //接收完成后, //消息會(huì)發(fā)送回到發(fā)送方。 LD SM0.1 // 第 一 次 掃 描 時(shí) : MOVB 16#09, SMB30 //1. 初始化端口: // - 選擇9600波特。 // - 選擇8位數(shù)據(jù)位 // - 選擇無(wú)校驗(yàn) MOVB 16#B0, SMB87 //2. 初始化RCV消息控制字節(jié): // - RCV已啟用。 // - 檢測(cè)消息結(jié)束字符 // - 檢測(cè)空閑線消息條件 MOVB 16#0A, SMB89 //3. 將消息結(jié)束字符設(shè)為 // 十六進(jìn)制O (進(jìn)一行) 。 MOVW +5, SMW90 //4. 將空閑線超時(shí)設(shè)為 // 5 ms。 MOVB 100, SMB94 //5. 將字符數(shù)設(shè)為 // 100。 ATCH INT_0, 23 //6. 將中斷0 // 連接到接收完成事件。 ATCH INT_2, 9 //7. 將中斷2 // 連接到發(fā)送完成事件。 ENI //8. 啟用用戶中斷。 RCV VB100, 0 //9. 啟用帶有VB100處的緩沖區(qū) // 的接收方框。 |
實(shí)例:發(fā)送和接收指令 | ||
I N T 0 | Network 1 // 接收完成中斷程序: //1. 如果接收狀態(tài)顯示接收結(jié)束字符 // 則連接一個(gè) // 10 ms定時(shí)器,觸發(fā)發(fā)送并返回。 //2. 如果接收因其他原因完成, // 則啟動(dòng)新的接收。 LDB= SMB86,16#20 MOVB 10,SMB34 ATCH INT_1,10 CRETI NOT RCV VB100,0 | |
I N T 1 | Network 1 //10-ms 定時(shí)器中斷: //1. 斷開(kāi)定時(shí)器中斷。 //2. 將消息發(fā)送返回端口上的用戶。 LD SM0.0 DTCH 10 XMT VB100,0 | |
I N T 2 | Network 1 //發(fā)送完成中斷: //啟用另一個(gè)接收。 LD SM0.0 RCV VB100,0 |
獲取端口地址和設(shè)置端口地址指令
獲取端口地址指令(GPA)讀取PORT的CPU口的站地址, 并將數(shù)值放入ADDR的地址中。
設(shè)置端口地址指令(SPA)將口的站地址(PORT)設(shè)置為ADDR指 定的數(shù)值。新地址不能保存。重新上電后,口地址將返回 到原來(lái)的地址值(用塊下載的地址)。
設(shè)置ENO=0的錯(cuò)誤條件:
■ 0006 (間接尋址)
■ 0004 (試圖在中斷程序中執(zhí)行設(shè)置端口地址指令)
表6--14 獲取端口地址和設(shè)置端口地址指令的有效操作數(shù)
輸入/輸出 | 數(shù)據(jù)類型 | 操作數(shù) |
ADDR | BYTE | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常數(shù) (常數(shù)值僅用于設(shè)置端口地址指令。) |
PORT | BYTE | 常數(shù) 對(duì)于CPU 221、CPU 222、CPU 224: 0 對(duì)于CPU 224XP、CPU 226: 0或1 |
比較指令
數(shù)值比較
比較指令用于比較兩個(gè)數(shù)值:
IN1 = IN2 IN1 >= IN2 IN1 <= IN2 IN1 > IN2 IN1 < IN2 IN1 <> IN2
字節(jié)比較操作是無(wú)符號(hào)的。整數(shù)比較操作是有符號(hào)的。雙字比較操作是有符號(hào)的。實(shí)數(shù)比較操作是有符號(hào)的。
對(duì)于LAD和FBD:當(dāng)比較結(jié)果為真時(shí),比較指令接通觸點(diǎn)
(LAD)或輸出(FBD)。
對(duì)于STL:當(dāng)比較結(jié)果為真時(shí),比較指令將1載入棧頂,再將
1與棧頂值作“與"或者“或"運(yùn)算(STL)。
當(dāng)您使用IEC比較指令時(shí),您可以使用各種數(shù)據(jù)類型作為輸 入。但是,兩個(gè)輸入的數(shù)據(jù)類型必須*。
表6--15 比較指令的有效操作數(shù)
輸入/輸出 | 類型 | 操作數(shù) |
IN1、IN2 | BYTE | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常數(shù) |
INT | IW、QW、VW、MW、SMW、SW、LW、T、C、AC、AIW、*VD、 *LD、*AC、常數(shù) | |
DINT | ID、QD、VD、MD、SMD、SD、LD、AC、HC、*VD、*LD、*AC、常數(shù) | |
實(shí)型 | ID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC、常數(shù) | |
OUT | BOOL | I、Q、V、M、SM、S、T、C、L、功率流 |
下一篇:西門子精智面板6AV6645-0CB01-0AX0代理商