西門子PLC的S7-200系列CPU程序執(zhí)行過程
西門子PLC在*次掃描時執(zhí)行初始化子程序,對端口及RCV指令進行初始化。初始化完成后,運行RCV指令使端口處于接受狀態(tài)。 RCV會將以"g"開頭"G"結尾的指令保存到接收緩沖區(qū),并同時產(chǎn)生接收完成中斷。 RCVcomplete中斷服務程序用來處理接收完成中斷事件,它會將接收緩沖區(qū)中的十六進制ASCII碼還原成數(shù)據(jù)并保存,同時置位Verify子程序的觸發(fā)條件(M0.1)。 西門子plc子程序首先復位本身的觸發(fā)條件以防止子程序被重復調用,然后求出接收緩沖區(qū)中指令的BCC校驗碼并與指令中的BCC校驗碼進行比對。如果相等則置BCC碼校驗正確的標志位(M0.0)為1;如果指令格式正確(指令的結束標志在接收緩沖區(qū)中特定的位置VB133)而BCC碼不相等,則發(fā)送代表BCC校驗碼錯誤的反饋信息;如果指令格式不正確(VB133中不是指令的結束標志),則返回代表指令格式錯誤的反饋信息。
威綸觸摸屏的Read子程序的觸發(fā)條件為:指令中的站地址與本機西門子plc的地址相符、指令類型為讀指令、BCC檢驗碼正確。當條件滿足時,Read子程序被執(zhí)行。Read子程序首先禁止RCV,然后將指令所要讀取的數(shù)據(jù)轉換成十六進制ASCII碼并寫入發(fā)送緩沖區(qū)、計算BCC檢驗碼、zui后發(fā)送反饋信息。
西門子plc的子程序的觸發(fā)條件為:指令中的站地址與本機站地址相符、指令類型為寫指令、BCC檢驗碼正確。當條件滿足時,Write子程序被執(zhí)行。Write子程序首先禁止RCV,然后將指令中的數(shù)據(jù)寫入目標西門子plc模塊寄存器,zui后發(fā)送代表寫入正確的反饋信息。
西門子PLC每接到一條指令后都會發(fā)送一條反饋信息,當反饋信息發(fā)送完成時,會產(chǎn)生發(fā)送完成中斷,XMTcomplete中斷服務程序用來處理發(fā)送完成中斷事件。在昆侖通態(tài)觸摸屏中斷服務程序中所要執(zhí)行的操作包括:復位BCC校驗碼正確的標志位(M0.0);允許RCV;bcc碼寄存器清零;重新裝入用于計算BCC校驗碼的地址指針;接收緩沖區(qū)中存放指令結束字符的字節(jié)VB133清零(用來判斷下一條指令格式是否正確)。
聯(lián)系我們
上海翰粵自動化系統(tǒng)有限公司 公司地址:上海市松江區(qū)思賢路2399弄137號 技術支持:化工儀器網(wǎng)掃一掃 更多精彩
微信二維碼
網(wǎng)站二維碼