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