PLC程序執(zhí)行過程

發(fā)布時間:2024-03-08
plc在第一次掃描時執(zhí)行初始化子程序,對端口及rcv指令進行初始化。初始化完成后,運行rcv指令使端口處于接受狀態(tài)。
rcv會將以g開頭g結尾的指令保存到接收緩沖區(qū),并同時產生接收完成中斷。
rcvcomplete中斷服務程序用來處理接收完成中斷事件,它會將接收緩沖區(qū)中的十六進制ascii碼還原成數(shù)據(jù)并保存,同時置位verify子程序的觸發(fā)條件(m0.1)。 ----verify子程序首先復位本身的觸發(fā)條件以防止子程序被重復調用,然后求出接收緩沖區(qū)中指令的bcc校驗碼并與指令中的bcc校驗碼進行比對。如果相等則置bcc碼校驗正確的標志位(m0.0)為1;如果指令格式正確(指令的結束標志在接收緩沖區(qū)中特定的位置vb133)而bcc碼不相等,則發(fā)送代表bcc校驗碼錯誤的反饋信息;如果指令格式不正確(vb133中不是指令的結束標志),則返回代表指令格式錯誤的反饋信息。
read子程序的觸發(fā)條件為:指令中的站地址與本機站地址相符、指令類型為讀指令、bcc檢驗碼正確。當條件滿足時,read子程序被執(zhí)行。read子程序首先禁止rcv,然后將指令所要讀取的數(shù)據(jù)轉換成十六進制ascii碼并寫入發(fā)送緩沖區(qū)、計算bcc檢驗碼、最后發(fā)送反饋信息。
write子程序的觸發(fā)條件為:指令中的站地址與本機站地址相符、指令類型為寫指令、bcc檢驗碼正確。當條件滿足時,write子程序被執(zhí)行。write子程序首先禁止rcv,然后將指令中的數(shù)據(jù)寫入目標寄存器,最后發(fā)送代表寫入正確的反饋信息。
plc每接到一條指令后都會發(fā)送一條反饋信息,當反饋信息發(fā)送完成時,會產生發(fā)送完成中斷,xmtcomplete中斷服務程序用來處理發(fā)送完成中斷事件。在xmtcomplete中斷服務程序中所要執(zhí)行的操作包括:復位bcc校驗碼正確的標志位(m0.0);允許rcv;bcc碼寄存器清零;重新裝入用于計算bcc校驗碼的地址指針;接收緩沖區(qū)中存放指令結束字符的字節(jié)vb133清零(用來判斷下一條指令格式是否正確)。
上一個:5000元辦公電腦組裝,辦公電腦組裝好還是品牌好
下一個:win7系統(tǒng)如何徹底刪除流氓彈窗廣告(win7系統(tǒng)如何徹底刪除流氓彈窗記錄)

真空衰減法檢漏儀|儀器參數(shù)
液體揚塵抑制劑代替綠網(wǎng)
發(fā)包方和承包方是什么意思
六盤水玉舍滑雪場攻略
韓國autonics自動門側傳感器進口ads
建筑工程質量管理失敗的十個主要原因
未經同意占用他人土地怎么處理
蘋果手機怎么連接usb
電腦桌面壁紙1920×1200(電腦桌面壁紙1360×768)
德國Trenz Electronic微控制器
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos