超碰成人av-青青草97-天天做天天躁天天躁-久久精品国产亚洲一区二区-亚洲天堂狠狠干-在线观看欧美精品-国产精品美女一区二区视频-国产成人欧美日韩在线电影-一级片免费看视频-免费国产视频在线观看-伊人网久久久-无码人妻丰满熟妇啪啪网不卡-精品欧美乱码久久久久久-国产真实夫妇视频-中文久草

  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
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)專家指點(diǎn)一下,USS_RPM_R是輪詢順序執(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í)間有要求,你的輪詢讀沒(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ù)雜吧。西門子手冊(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ù)雜吧。西門子手冊(cè)也沒(méi)你說(shuō)的要中斷一個(gè)通訊才能啟用另一個(gè)通訊。只說(shuō)了USS讀寫(xiě)指令同一時(shí)刻只能使用一個(gè)。

    你對(duì)通訊認(rèn)識(shí)還不夠,因?yàn)槟?個(gè)指令都是存在詢問(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)用到而已。  比如: 你詢問(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í)中斷類似,就是你必須先知道與通訊的設(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)
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go

主站蜘蛛池模板: 澳门一级淫片免费视频 | 97精品国产高清在线看入口 | 亚洲熟妇丰满大屁股熟妇 | 99久久国产宗和精品1上映 | 久草热久草视频 | 亚洲国产精品自在在线观看 | 91视频麻豆视频 | 精品一区二区三区中文字幕 | 欧美激情猛片xxxⅹ大3 | 91视频一区二区三区 | 精品偷拍一区二区三区在线看 | 少妇人妻无码专区在线视频 | 福利在线免费视频 | 天堂网在线观看 | 乱码av麻豆丝袜熟女系列 | 欧美日韩中文字幕在线手机版本 | 大地资源中文第3页 | 久久国产免费观看精品3 | 国外成人免费视频 | 欧美放荡的少妇 | 国产精品无码一区二区在线 | 中文字幕第二页 | 999久久久精品视频 999久久久精品视频在线观看 | 男女啪啪永久免费观看网站 | 粉嫩av国产一区二区三区 | 免费看污又色又爽又黄视频 | 国产69精品久久久久app下载 | 6080yyy午夜理论片中无码 | 亚洲精品国产第1页 | 免费人成视频x8x8 | 人人人妻人人人妻人人人 | 91亚洲影院 | 在线播放国产视频 | 亚洲熟女少妇一区二区 | 精品久久av| 日韩二区三区 | 新版天堂资源中文8在线 | 日本美女一区二区 | 三级无码在钱av无码在钱 | 亚洲国产长腿丝袜av天堂 | 久久久久久久综合狠狠综合 | 久久免费精品视频在线观看 | 久久精品无码中文字幕 | 97色免费视频 | 国产av熟女一区二区三区 | 中文字幕亚洲综合 | 开心久久婷婷综合中文字幕 | 亚洲精品久久久久久中文传媒 | 久久国产精品-国产精品 | 污污视频免费网站 | 国产精品jizz在线观看软件 | 国产成人av一区二区三区不卡 | 国产精品一区在线 | 中文精品无码中文字幕无码专区 | 91香蕉影视 | 亚洲国产精品无码一线岛国 | 真人一进一出120秒试看 | 精品人妻久久久久久888 | 99re久久精品国产 | 午夜精品久久久久久久第一页 | 久久精品国产一区二区电影 | 偷拍做爰吃奶视频免费看 | 国产精品一区2区3区 | 在线涩涩免费观看国产精品 | 亚洲中文字幕无码不卡电影 | 国产亚洲成av人片在线观黄桃 | 一区二区三区精品视频 | 亚洲视频在线视频 | 中文字幕久久熟女蜜桃 | 国产91精品久久久久久久 | 最新亚洲人成无码网www电影 | 国产爆操| 久久精品欧美一区二区三区不卡 | 国产亚洲精品精品精品 | 一区二区三区四区高清视频 | 性色av一区二区三区在线观看 | 视频三区 | 亚洲欧美视频在线 | 天天操夜夜操 | 国产偷录视频叫床高潮 | 日韩av福利 | 老熟女重囗味hdxx70星空 | 黄a大片av永久免费 一区二区三区在线观看视频 | 亚洲日韩中文无码久久 | 中国孕妇变态孕交xxxx | 三级在线国产 | 亚洲中文字幕久久无码 | 国产成人精品三级麻豆 | 在线观看一区二区三区四区 | 韩国精品一区二区三区无码视频 | 91精品成人福利在线播放 | 成人动漫视频网站 | 免费a一级毛片在线播放 | 免费无码又爽又高潮视频 | 无码av波多野结衣久久 | 福利一区二区三区视频在线观看 | 亚洲人成色777777精品音频 | 国产羞羞网站 | 强奷乱码中文字幕 |