RM新时代有限公司

          1. 歡迎光臨入喜工業(yè)控制技術(shù)(上海)有限公司
            當前位置
            首頁(yè) > 新聞中心
            S7-200自由口通訊的監視分析方法
            2020/12/4 9:06:37

            以下程序,執行過(guò)程中發(fā)生無(wú)規律的通訊中斷且不自行恢復,STOP后RUN,再次M0.0置1后恢復通訊。將INT0中的ATCH挪到ENI前面后有改善,未再出現。但是不知道是不是根源。如何監視和分析自由口通訊的過(guò)程。請指教,是否有指令,寄存器或者程序,能夠監視自由口通訊過(guò)程,如何使用的。源程序來(lái)自下面鏈接的發(fā)送程序,http://www.ad.siemens.com.cn/service/article/S7-200/S7-200freeport/Default.aspx#1_3。

            ENI是開(kāi)中斷指令。
            一般常規編寫(xiě)程序的做法是先定義,定義通訊控制字節,定義通訊頻率、定義通訊數據等,最后開(kāi)中斷。
            如果把ENI寫(xiě)在前面,從理論上是不符號西門(mén)子編程環(huán)境的,西門(mén)子的思想是先定義后使用的原則,符合歐洲人的思維邏輯。
            程序大致含義是:
            首先定義通訊(自由口通訊參數)
            定義通訊數據,由M0.0上升沿觸發(fā)發(fā)送指令,即把上面定義好的數據發(fā)送出去
            當發(fā)送完成進(jìn)入發(fā)送完成中斷,執行接收并再次定義接收完成中斷(實(shí)際上這個(gè)完全可以在初始化程序段中編輯),你的問(wèn)題是重新定義接收完成中斷后,仍然需要定義ENI指令一次。
            當接收完成后進(jìn)入接收完成中斷,你重新又再次定義定時(shí)中斷_0 = 20,(mS)這里同樣沒(méi)有再次定義ENI。
            當定時(shí)中斷激活后,會(huì )在20mS的間隔發(fā)送你第一次定義好的數據。
            我感覺(jué)你整體的程序架構不嚴謹,應該是初始化時(shí),先定義好發(fā)送完成中斷、接收完成中斷,開(kāi)中斷,不需要定義定時(shí)中斷的原因是自由口通訊是半雙工通訊,一條通訊鏈路上只能有唯一的一條指令有效,而定義定時(shí)中斷(它又不管你到底那條指令正常運行,或者指令沒(méi)有運行,到點(diǎn)一定會(huì )發(fā)送一條指令的),這樣會(huì )造成錯誤的幾率會(huì )大。
            正常應該是先定義通訊數據,完成后執行發(fā)送,在發(fā)送中斷中編輯接收指令,在接收中斷中再次編輯需要的發(fā)送指令,如此循環(huán)進(jìn)行。
            上述僅僅只是我是一點(diǎn)看法。

            提問(wèn)者對于答案的評價(jià):
            謝謝指教。收益匪淺。改過(guò)后偶爾會(huì )卡在發(fā)送中斷,如何跳出,并恢復通訊?謝謝 。

            最佳答案作者回復:
            按我的思路,在發(fā)送完成中斷中編寫(xiě)接收程序,在接收完成中斷寫(xiě)發(fā)送程序,這個(gè)是我在編輯自由口通訊的工作經(jīng)歷,按此方法可以,不會(huì )產(chǎn)生指令之間的沖突。

            聯(lián)系方式
            CONTACT US

            電話(huà):13818569113      15721373211

            郵箱:fushidianji@139.com

            網(wǎng)址:http://xiangtai88.cn

            地址:上海青浦區北青公路7171號111-112室

            用手機掃描二維碼關(guān)閉
            RM新时代有限公司
                          1. RM新时代还出款吗 RM新时代是正规平台吗 RM新时代APP官网 新时代RM官方网站下载 RM新时代官方网站