上位機(jī)指令格式 - 如何用自由協(xié)議實(shí)現(xiàn)計(jì)算機(jī)與S7-200的通信
?
表2 反饋信息格式
PLC程序執(zhí)行過程
----PLC在第一次掃描時(shí)執(zhí)行初始化子程序,對(duì)端口及RCV指令進(jìn)行初始化。初始化完成后,運(yùn)行RCV指令使端口處于接受狀態(tài)。
----RCV會(huì)將以"g"開頭"G"結(jié)尾的指令保存到接收緩沖區(qū),并同時(shí)產(chǎn)生接收完成中斷。
----RCVcomplete中斷服務(wù)程序用來處理接收完成中斷事件,它會(huì)將接收緩沖區(qū)中的十六進(jìn)制ASCII碼還原成數(shù)據(jù)并保存,同時(shí)置位Verify子程序的觸發(fā)條件(M0.1)。 ----Verify子程序首先復(fù)位本身的觸發(fā)條件以防止子程序被重復(fù)調(diào)用,然后求出接收緩沖區(qū)中指令的BCC校驗(yàn)碼并與指令中的BCC校驗(yàn)碼進(jìn)行比對(duì)。如果相等則置BCC碼校驗(yàn)正確的標(biāo)志位(M0.0)為1;如果指令格式正確(指令的結(jié)束標(biāo)志在接收緩沖區(qū)中特定的位置VB133)而BCC碼不相等,則發(fā)送代表BCC校驗(yàn)碼錯(cuò)誤的反饋信息;如果指令格式不正確(VB133中不是指令的結(jié)束標(biāo)志),則返回代表指令格式錯(cuò)誤的反饋信息。
----Read子程序的觸發(fā)條件為:指令中的站地址與本機(jī)站地址相符、指令類型為讀指令、BCC檢驗(yàn)碼正確。當(dāng)條件滿足時(shí),Read子程序被執(zhí)行。Read子程序首先禁止RCV,然后將指令所要讀取的數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制ASCII碼并寫入發(fā)送緩沖區(qū)、計(jì)算BCC檢驗(yàn)碼、最后發(fā)送反饋信息。
----Write子程序的觸發(fā)條件為:指令中的站地址與本機(jī)站地址相符、指令類型為寫指令、BCC檢驗(yàn)碼正確。當(dāng)條件滿足時(shí),Write子程序被執(zhí)行。Write子程序首先禁止RCV,然后將指令中的數(shù)據(jù)寫入目標(biāo)寄存器,最后發(fā)送代表寫入正確的反饋信息。
----PLC每接到一條指令后都會(huì)發(fā)送一條反饋信息,當(dāng)反饋信息發(fā)送完成時(shí),會(huì)產(chǎn)生發(fā)送完成中斷,XMTcomplete中斷服務(wù)程序用來處理發(fā)送完成中斷事件。在XMTcomplete中斷服務(wù)程序中所要執(zhí)行的操作包括:復(fù)位BCC校驗(yàn)碼正確的標(biāo)志位(M0.0);允許RCV;bcc碼寄存器清零;重新裝入用于計(jì)算BCC校驗(yàn)碼的地址指針;接收緩沖區(qū)中存放指令結(jié)束字符的字節(jié)VB133清零(用來判斷下一條指令格式是否正確)。
- 第 1 頁:如何用自由協(xié)議實(shí)現(xiàn)計(jì)算機(jī)與S7-200的通信
- 第 2 頁:數(shù)據(jù)區(qū)
- 第 3 頁:上位機(jī)指令格式
本文導(dǎo)航
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [工業(yè)控制] 五款西門子的PLC系列特點(diǎn)介紹 2023-10-24
- [電子說] Blackwell GB100能否在超級(jí)計(jì)算機(jī)和AI市場(chǎng)保持領(lǐng)先優(yōu)勢(shì)? 2023-10-24
- [電子說] 3線串行數(shù)據(jù)通訊EEPROM的使用 2023-10-23
- [電子說] 浩辰軟件深耕CAD領(lǐng)域 致力于成為行業(yè)標(biāo)桿企業(yè) 2023-10-23
- [電子說] SymPy:四行代碼秒解微積分 2023-10-21
- [電子說] 強(qiáng)固型智慧工廠解決方案:BOXER-6406-AND 2023-10-21
- [電子說] 飛秒激光器在醫(yī)學(xué)上的應(yīng)用 2023-10-21
- [電子說] TCP/IP協(xié)議和OPC協(xié)議的區(qū)別 2023-10-20
( 發(fā)表人:葉子 )