本測試為:一臺200 SMART(CPU1)和2臺200 SMART(CPU2和CPU3)做Get/Put通信。 在Get/Put向?qū)е刑顚懞妙愋?、傳送大小和遠(yuǎn)程CPU的IP地址,測試程序中本地和遠(yuǎn)程CPU對應(yīng)的地址為:
圖1.本地和遠(yuǎn)程對應(yīng)地址
向?qū)渲猛瓿珊?,在CPU1程序中用sm0.5的一個秒脈沖賦值給v100.0,做一個心跳信號。
圖2.心跳信號
在伙伴方CPU2和CPU3中監(jiān)控V0.0,當(dāng)通信建立后V0.0應(yīng)為0\1不停切換,當(dāng)某一個CPU中的V0.0一直為1或者一直為0時,表明該CPU與本地CPU1的通信中斷。
Get/Put向?qū)?chuàng)建的每一個操作都會有狀態(tài)字。點擊左側(cè)項目樹程序塊---向?qū)е蠳ET_EXE,可以看到每個操作對應(yīng)的狀態(tài)字,本測試程序中CPU2的PUT對應(yīng)的狀態(tài)字為VB340,CPU3的PUT對應(yīng)的狀態(tài)字為VB380。
圖3.狀態(tài)字
在狀態(tài)圖表中監(jiān)控VB340和VB380,格式選擇二進(jìn)制,狀態(tài)字VB340和VB380的第6位(通信已經(jīng)激活標(biāo)志位)正常情況下是0 1不斷變換,當(dāng)某一個遠(yuǎn)程通信伙伴方線路斷開后,該位會一直保持為1。
接著上文中“方式二”的測試,狀態(tài)字的低4位為錯誤代碼,通過判斷錯誤代碼來判斷通信是否已經(jīng)中斷,這里需要特別注意,當(dāng)通信伙伴線路斷開時,本地CPU并沒立馬收到錯誤代碼,需在RUN---STOP—RUN切換后才能收到錯誤代碼。錯誤代碼(錯誤代碼5)只會存在一個掃描周期,所以需要用上升沿來捕捉錯誤代碼,如下圖所示。
圖4.錯誤代碼的讀取
電話:13818569113
郵箱:13818569113@139.com
網(wǎng)址:http://www.xmzgk.com
地址:中國上海市青浦區(qū)崧盈路398號6棟