<big id="a5mua"></big>

      <tt id="a5mua"><dfn id="a5mua"></dfn></tt>
      <wbr id="a5mua"><sup id="a5mua"></sup></wbr>

        
        

      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        ronkang
        倍加福總線
        級(jí)別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 144 個(gè)
        工控威望: 348 點(diǎn)
        下載積分: 914 分
        在線時(shí)間: 192(小時(shí))
        注冊(cè)時(shí)間: 2008-06-24
        最后登錄: 2025-10-13
        查看ronkang的 主題 / 回貼
        樓主  發(fā)表于: 2021-01-13 13:31
        SR20帶7臺(tái)G120XA變頻器,走USS通訊,一個(gè)子程序中使用7個(gè)USS_CTRL指令讀寫(xiě)變頻器。另一個(gè)子程序中使用7個(gè)USS_RPM_R指令輪訓(xùn)讀取7臺(tái)變頻器電流,現(xiàn)在問(wèn)題是:
        1.兩個(gè)子程序都在主程序中調(diào)用時(shí),USS_RPM_R沒(méi)有任何錯(cuò)誤,但是USS_CTRL平均15秒就會(huì)報(bào)錯(cuò),錯(cuò)誤代碼2。2這個(gè)代碼不知什么原因引起。
        2.主程序中只調(diào)用USS_CTRL這個(gè)子程序時(shí),7個(gè)USS_CTRL指令無(wú)任何錯(cuò)誤。
        請(qǐng)專(zhuān)家指點(diǎn)一下,USS_RPM_R是輪詢(xún)順序執(zhí)行的,應(yīng)該沒(méi)有問(wèn)題,會(huì)不會(huì)是和USS_CTRL指令沖突了?問(wèn)題到底出在哪里?有什么解決辦法,麻煩大家了
        zhou1211
        級(jí)別: 略有小成
        精華主題: 1 篇
        發(fā)帖數(shù)量: 208 個(gè)
        工控威望: 363 點(diǎn)
        下載積分: 1174 分
        在線時(shí)間: 66(小時(shí))
        注冊(cè)時(shí)間: 2013-11-04
        最后登錄: 2025-01-09
        查看zhou1211的 主題 / 回貼
        1樓  發(fā)表于: 2021-01-13 16:08
        你這明顯要分時(shí)中斷
        ronkang
        倍加福總線
        級(jí)別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 144 個(gè)
        工控威望: 348 點(diǎn)
        下載積分: 914 分
        在線時(shí)間: 192(小時(shí))
        注冊(cè)時(shí)間: 2008-06-24
        最后登錄: 2025-10-13
        查看ronkang的 主題 / 回貼
        2樓  發(fā)表于: 2021-01-13 19:08
        樓上,分時(shí)中斷怎么理解?怎么中斷法?
        ronkang
        倍加福總線
        級(jí)別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 144 個(gè)
        工控威望: 348 點(diǎn)
        下載積分: 914 分
        在線時(shí)間: 192(小時(shí))
        注冊(cè)時(shí)間: 2008-06-24
        最后登錄: 2025-10-13
        查看ronkang的 主題 / 回貼
        3樓  發(fā)表于: 2021-01-13 21:37





            
        zhou1211
        級(jí)別: 略有小成
        精華主題: 1 篇
        發(fā)帖數(shù)量: 208 個(gè)
        工控威望: 363 點(diǎn)
        下載積分: 1174 分
        在線時(shí)間: 66(小時(shí))
        注冊(cè)時(shí)間: 2013-11-04
        最后登錄: 2025-01-09
        查看zhou1211的 主題 / 回貼
        4樓  發(fā)表于: 2021-01-14 15:21
        你一個(gè)循環(huán)周期很容易出現(xiàn)uss_ctrl 和Uss_RPM_R 時(shí)間間隔不夠,這樣就被掛起報(bào)錯(cuò)
        zhou1211
        級(jí)別: 略有小成
        精華主題: 1 篇
        發(fā)帖數(shù)量: 208 個(gè)
        工控威望: 363 點(diǎn)
        下載積分: 1174 分
        在線時(shí)間: 66(小時(shí))
        注冊(cè)時(shí)間: 2013-11-04
        最后登錄: 2025-01-09
        查看zhou1211的 主題 / 回貼
        5樓  發(fā)表于: 2021-01-14 15:31
        IF iAdrOfInsulation =0 THEN
            iAdrOfInsulation :=91;
        END_IF
        IF bSensorCorrectionHMI THEN
            eCommandNum := 5;
        END_IF
        IF bParamAlterHMI THEN
            eCommandNum := 7;
        END_IF

        CASE eCommandNum OF(*SystemTotalData :=1,SubcircuitAnodeToGlobeResistance,ProductParamRead,SubcircuitCathodeToGlobeResistance,SensorCorrection,AddrAlter,ParamAlter*)
        SystemTotalData:
            wMBAdr := 16#0320;
            iLen    := 7;
            bReadEnable := TRUE;
            bWriteEnable :=FALSE;
        SubcircuitAnodeToGlobeResistance:
            wMBAdr := 16#03E8;
            iLen    := iSubTotal;
            bReadEnable := TRUE;
            bWriteEnable :=FALSE;
        ProductParamRead:
            wMBAdr := 16#0510;
            iLen    := 5;
            bReadEnable := TRUE;
            bWriteEnable :=FALSE;
        SubcircuitCathodeToGlobeResistance:
            wMBAdr := 16#04B0;
            iLen    := iSubTotal;
            bReadEnable := TRUE;
            bWriteEnable :=FALSE;
        SensorCorrection:
            wMBAdr := 16#680;
            wWriteDate    := 16#7;
            bReadEnable := FALSE;
            bWriteEnable :=TRUE;
        AddrAlter:
            bReadEnable := FALSE;
            bWriteEnable :=TRUE;
            wMBAdr := 16#1218;
            IF iWantedAdr <>0 THEN
                wWriteDate    := UINT_TO_WORD(iWantedAdr);
            ELSE
                wWriteDate    := 16#5B;
            END_IF
        ParamAlter:
            bReadEnable := FALSE;
            bWriteEnable :=TRUE;
            IF bSubcircuitCAlterHMI THEN
                wMBAdr := 16#71A;
                wWriteDate    := UINT_TO_WORD(iWantedSubcircuitAmount);
            END_IF
            IF bAlarmLimitSetHMI THEN
                wMBAdr := 16#71C;
                wWriteDate    := UINT_TO_WORD(iWantedResistanceLimit);
            END_IF
            IF bResistanceCheckRangeSetHMI THEN
                wMBAdr := 16#71E;
                wWriteDate    := UINT_TO_WORD(iWantedResistanceCheckRange);
            END_IF
        END_CASE


        IF NOT bAlter THEN
            CASE iState OF
            0:    fbMBCom.ReadRegs(Execute := FALSE);
                istate := istate +1;
            1:

                fbMBCom.ReadRegs(
                UnitID := UINT_TO_BYTE(iAdrOfInsulation), (* 站點(diǎn)地址 *)
                Quantity := iLEN,
                MBAddr := wMBAdr,
                CbLength := iLEN*2,
                pMemoryAddr:= ADR(wMemoryDate[1]),
                Execute := TRUE AND bReadEnable ,
                Timeout := t#5s,
                Busy => );
                IF NOT fbMBCom.BUSY THEN
                    fbMBCom.ReadRegs(Execute := FALSE);
                    IF fbMBCom.Error THEN
                        iState :=0;
                    ELSE
                        istate := istate +1;
                    END_IF
                END_IF
            2:
                CASE eCommandNum OF
                    1:
                        FOR i :=1 TO 7 DO
                            IF i=3 OR i=4 THEN
                            iSysTotalDate := WORD_TO_UINT(wMemoryDate AND 16#3FFF);
                            ELSE
                            iSysTotalDate := WORD_TO_UINT(wMemoryDate);
                            END_IF
                        END_FOR
                        iSubTotal := iSysTotalDate[2];
                        IF wMemoryDate[3].14 THEN
                            bErrList[1] := TRUE;
                        ELSE
                            bErrList[1] := FALSE;
                        END_IF
                        IF wMemoryDate[4].14 THEN
                            bErrList[2] := TRUE;
                        ELSE
                            bErrList[2] := FALSE;
                        END_IF
                    2:
                        FOR i :=1 TO 5 DO
                            iProductParam := WORD_TO_INT(wMemoryDate);
                        END_FOR
                    3:
                        FOR i :=1 TO iSubTotal DO
                            iSubP_EarthR := WORD_TO_INT(wMemoryDate AND 16#3FFF);
                            IF wMemoryDate.15 THEN
                                bErrList[2+i] := TRUE;
                            ELSE
                                bErrList[2+i] := TRUE;
                            END_IF
                            IF wMemoryDate.14 THEN
                                bErrList[2+iSubTotal+i] := TRUE;
                            ELSE
                                bErrList[2+iSubTotal+i] := TRUE;
                            END_IF
                        END_FOR
                    4:
                        FOR i :=1 TO iSubTotal DO
                            iSubN_EarthR := WORD_TO_INT(wMemoryDate AND 16#3FFF);
                            IF wMemoryDate.15 THEN
                                bErrList[2+2*iSubTotal+i] := TRUE;
                            ELSE
                                bErrList[2+2*iSubTotal+i] := TRUE;
                            END_IF
                            IF wMemoryDate.14 THEN
                                bErrList[2+3*iSubTotal+i] := TRUE;
                            ELSE
                                bErrList[2+3*iSubTotal+i] := TRUE;
                            END_IF
                        END_FOR
                END_CASE
                FOR i := 1 TO 64 DO
                    wMemoryDate := 0;
                END_FOR
                istate :=0;
                eCommandNum := eCommandNum +1;
                IF eCommandNum >4 THEN
                    eCommandNum :=1;
                END_IF
                bAlter := bStopHmi;(*參數(shù)修改ON*)
            END_CASE
        ELSE
            CASE istate OF
            0:    fbMBCom.WriteSingleRegister(Execute := FALSE);
                istate := istate +1;
            1:
                fbMBCom.WriteSingleRegister(
                    UnitID := UINT_TO_BYTE(iAdrOfInsulation),
                    Quantity := 1,
                    MBAddr := wMBAdr,
                    CbLength := SIZEOF(wWriteDate),
                    pMemoryAddr:= ADR(wWriteDate),
                    Execute := TRUE AND bWriteEnable,
                    Timeout := t#5000ms,
                    Busy => );
                IF NOT fbMBCom.BUSY THEN
                    fbMBCom.WriteSingleRegister(Execute := FALSE);
                    IF fbMBCom.Error THEN
                        istate := 0;
                    ELSE
                        istate :=istate +1;
                    END_IF
                END_IF
            2:
                CASE eCommandNum OF
                    5:;
                    6:
                        IF iWantedAdr = BYTE_TO_UINT(fbMBCom.InData.D[4]) THEN
                            iAdrOfInsulation := iWantedAdr;
                        END_IF
                    7:;
                END_CASE
                bWriteEnable :=FALSE;
                eCommandNum :=1;
                iState :=0;
                bAlter := bStopHmi;(*參數(shù)修改OFF*)
            END_CASE
        END_IF
        zhou1211
        級(jí)別: 略有小成
        精華主題: 1 篇
        發(fā)帖數(shù)量: 208 個(gè)
        工控威望: 363 點(diǎn)
        下載積分: 1174 分
        在線時(shí)間: 66(小時(shí))
        注冊(cè)時(shí)間: 2013-11-04
        最后登錄: 2025-01-09
        查看zhou1211的 主題 / 回貼
        6樓  發(fā)表于: 2021-01-14 15:35
        通訊沒(méi)你想的那么簡(jiǎn)單,對(duì)時(shí)間有要求,你的輪詢(xún)讀沒(méi)問(wèn)題是每一步都分開(kāi)了在做,并且,即使你的通訊對(duì)象只有一個(gè),也會(huì)出現(xiàn)同樣的情況,你這存在2中通訊操作就必須在進(jìn)行另一種的時(shí)候中斷一種,我的程序是用codesys寫(xiě)的,2種模式切換,但不能同時(shí)進(jìn)行,實(shí)際上切換過(guò)程時(shí)間很短,在確認(rèn)發(fā)出和收到回信再切回去
        ronkang
        倍加福總線
        級(jí)別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 144 個(gè)
        工控威望: 348 點(diǎn)
        下載積分: 914 分
        在線時(shí)間: 192(小時(shí))
        注冊(cè)時(shí)間: 2008-06-24
        最后登錄: 2025-10-13
        查看ronkang的 主題 / 回貼
        7樓  發(fā)表于: 2021-01-14 19:08
        樓上兄弟,USS通訊沒(méi)你說(shuō)的這么復(fù)雜吧。西門(mén)子手冊(cè)也沒(méi)你說(shuō)的要中斷一個(gè)通訊才能啟用另一個(gè)通訊。只說(shuō)了USS讀寫(xiě)指令同一時(shí)刻只能使用一個(gè)。
        zhou1211
        級(jí)別: 略有小成
        精華主題: 1 篇
        發(fā)帖數(shù)量: 208 個(gè)
        工控威望: 363 點(diǎn)
        下載積分: 1174 分
        在線時(shí)間: 66(小時(shí))
        注冊(cè)時(shí)間: 2013-11-04
        最后登錄: 2025-01-09
        查看zhou1211的 主題 / 回貼
        8樓  發(fā)表于: 2021-01-15 08:30
        引用
        引用第7樓ronkang于2021-01-14 19:08發(fā)表的  :
        樓上兄弟,USS通訊沒(méi)你說(shuō)的這么復(fù)雜吧。西門(mén)子手冊(cè)也沒(méi)你說(shuō)的要中斷一個(gè)通訊才能啟用另一個(gè)通訊。只說(shuō)了USS讀寫(xiě)指令同一時(shí)刻只能使用一個(gè)。

            你對(duì)通訊認(rèn)識(shí)還不夠,因?yàn)槟?個(gè)指令都是存在詢(xún)問(wèn)幀,因此他就像modbus的控制字一樣,需要逐條發(fā)送,它又不能像CAN那樣打包發(fā)送,空閑接收。
        你這種情況就算同時(shí)發(fā)送那也只是直接下條覆蓋上條,主要還是時(shí)間間隔不夠,例如:modbus幀間隔是3.5個(gè)字符,在一條發(fā)送完沒(méi)間隔完就直接下一條,那么2條會(huì)串在一塊形成合并幀;
        這種幀99.99%的概率是不合法,無(wú)法被響應(yīng),因?yàn)樾r?yàn)通不過(guò)。
            另外,你的設(shè)備越多數(shù)據(jù)量越大,你需要做的間隔就越長(zhǎng),波特率本身就是描述通訊速率的,可以計(jì)算得出你做程序該有的間隔。


        PS: 上面的程序并不復(fù)雜,上面是modbus協(xié)議,也是讀和寫(xiě)。codesys本身就是開(kāi)放性的,你調(diào)用的是一整塊功能,它調(diào)用可以切入內(nèi)部調(diào)用函數(shù)。即使像你那種調(diào)用也有時(shí)候會(huì)寫(xiě)得很復(fù)雜,你沒(méi)用到而已。  比如: 你詢(xún)問(wèn)一個(gè)設(shè)備,設(shè)備回的狀態(tài)可能使你不得不選擇N種參數(shù),我上面的就是,讀寫(xiě)在上面的case中其實(shí)只出現(xiàn)了2次,其他都是數(shù)據(jù)處理
        zhou1211
        級(jí)別: 略有小成
        精華主題: 1 篇
        發(fā)帖數(shù)量: 208 個(gè)
        工控威望: 363 點(diǎn)
        下載積分: 1174 分
        在線時(shí)間: 66(小時(shí))
        注冊(cè)時(shí)間: 2013-11-04
        最后登錄: 2025-01-09
        查看zhou1211的 主題 / 回貼
        9樓  發(fā)表于: 2021-01-15 08:44
        我說(shuō)的中斷是廣義上的中斷,和PLC外部中斷不是一個(gè)概念,但和定時(shí)中斷類(lèi)似,就是你必須先知道與通訊的設(shè)備是否成功的完成了上一次,而不是只管發(fā),到時(shí)收一堆報(bào)錯(cuò),這種情況當(dāng)年初學(xué)plc就是這樣。
        拿個(gè)最簡(jiǎn)單的電池SOC can2.0標(biāo)準(zhǔn)協(xié)議  只讀報(bào)文來(lái)講,plc不需要寫(xiě)數(shù)據(jù)幀,只管讀,對(duì)象的報(bào)文分成4種幀,權(quán)重50ms 100ms 200ms 1s  ,一是長(zhǎng)度不一樣,二是重要程度不一樣,那么這四種必須在確定其中一種發(fā)送完了才能發(fā)另一種,否則極可能出現(xiàn)1s間隔的不重要報(bào)文永遠(yuǎn)發(fā)不出去
        ronkang
        倍加福總線
        級(jí)別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 144 個(gè)
        工控威望: 348 點(diǎn)
        下載積分: 914 分
        在線時(shí)間: 192(小時(shí))
        注冊(cè)時(shí)間: 2008-06-24
        最后登錄: 2025-10-13
        查看ronkang的 主題 / 回貼
        10樓  發(fā)表于: 2021-01-15 17:29
        你說(shuō)的不錯(cuò),一開(kāi)始我也在糾結(jié)USS_CTRL和USS_RPM_R指令同時(shí)使用是否沖突?官方例子程序顯示不沖突,我才這樣用的。今天實(shí)際操作證明,官方的例子程序也是存在問(wèn)題的,問(wèn)題和我的一樣。也會(huì)報(bào)校驗(yàn)錯(cuò)誤,代碼2
        ronkang
        倍加福總線
        級(jí)別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 144 個(gè)
        工控威望: 348 點(diǎn)
        下載積分: 914 分
        在線時(shí)間: 192(小時(shí))
        注冊(cè)時(shí)間: 2008-06-24
        最后登錄: 2025-10-13
        查看ronkang的 主題 / 回貼
        11樓  發(fā)表于: 2021-01-16 15:39
        樓上兄弟,能提供一下具體解決辦法嗎?問(wèn)題是發(fā)現(xiàn)了,不知怎解。400客服電話又打不進(jìn)

        主站蜘蛛池模板: 乱女乱妇熟女熟妇综合网| 狠狠躁夜夜躁人人爽天天bl| 精品国产中文字幕懂色| 亚洲中文av一区二区三区| 国内自拍第一区二区三区| 97se综合| 亚洲欧美人成人让影院| 国产成人精彩在线视频50| 韩国美女福利视频在线观看 | 亚洲av无码一区东京热| 人妻少妇偷人无码视频| 在线永久看片免费的视频| 午夜高清福利在线观看| chinesemature老熟妇中国| 国产成人亚洲精品青草天美| 99精品国产成人一区二区| 日本免费人成视频在线观看| 国产亚洲欧美另类一区二区| 亚洲欧洲日产国码二区在线| 久久五月丁香合缴情网| 蜜国产精品JK白丝AV网站| 亚洲午夜无码久久久久蜜臀av| 色综合色综合久久综合频道88| 国产极品丝尤物在线观看| 亚洲国产欧美中文丝袜日韩| 国产成人精品国内自产色| 中文日产幕无线码一区中文| 国产精品va无码一区二区| 国产精品久久久久乳精品爆| 鲁丝片一区二区三区免费| 插插无码视频大全不卡网站| 亚洲综合激情六月婷婷在线观看| 亚洲一区二区精品偷拍| 国产又粗又猛又黄又爽无遮挡| 国产精品亚洲二区在线看| 国产亚洲日韩在线aaaa| 吉川爱美一区二区三区视频| 日本精品videossex黑人| av午夜福利亚洲精品福利| 亚洲精品天堂成人片AV在线播放| 91久久夜色精品国产网站|