国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

ronkang
倍加福總線
級別: 略有小成
精華主題: 0
發帖數量: 147 個
工控威望: 348 點
下載積分: 914 分
在線時間: 190(小時)
注冊時間: 2008-06-24
最后登錄: 2025-05-10
查看ronkang的 主題 / 回貼
樓主  發表于: 2021-01-13 13:31
SR20帶7臺G120XA變頻器,走USS通訊,一個子程序中使用7個USS_CTRL指令讀寫變頻器。另一個子程序中使用7個USS_RPM_R指令輪訓讀取7臺變頻器電流,現在問題是:
1.兩個子程序都在主程序中調用時,USS_RPM_R沒有任何錯誤,但是USS_CTRL平均15秒就會報錯,錯誤代碼2。2這個代碼不知什么原因引起。
2.主程序中只調用USS_CTRL這個子程序時,7個USS_CTRL指令無任何錯誤。
請專家指點一下,USS_RPM_R是輪詢順序執行的,應該沒有問題,會不會是和USS_CTRL指令沖突了?問題到底出在哪里?有什么解決辦法,麻煩大家了
zhou1211
級別: 略有小成
精華主題: 1 篇
發帖數量: 206 個
工控威望: 363 點
下載積分: 1174 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2025-01-09
查看zhou1211的 主題 / 回貼
1樓  發表于: 2021-01-13 16:08
你這明顯要分時中斷
ronkang
倍加福總線
級別: 略有小成
精華主題: 0
發帖數量: 147 個
工控威望: 348 點
下載積分: 914 分
在線時間: 190(小時)
注冊時間: 2008-06-24
最后登錄: 2025-05-10
查看ronkang的 主題 / 回貼
2樓  發表于: 2021-01-13 19:08
樓上,分時中斷怎么理解?怎么中斷法?
ronkang
倍加福總線
級別: 略有小成
精華主題: 0
發帖數量: 147 個
工控威望: 348 點
下載積分: 914 分
在線時間: 190(小時)
注冊時間: 2008-06-24
最后登錄: 2025-05-10
查看ronkang的 主題 / 回貼
3樓  發表于: 2021-01-13 21:37





    
zhou1211
級別: 略有小成
精華主題: 1 篇
發帖數量: 206 個
工控威望: 363 點
下載積分: 1174 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2025-01-09
查看zhou1211的 主題 / 回貼
4樓  發表于: 2021-01-14 15:21
你一個循環周期很容易出現uss_ctrl 和Uss_RPM_R 時間間隔不夠,這樣就被掛起報錯
zhou1211
級別: 略有小成
精華主題: 1 篇
發帖數量: 206 個
工控威望: 363 點
下載積分: 1174 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2025-01-09
查看zhou1211的 主題 / 回貼
5樓  發表于: 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), (* 站點地址 *)
        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;(*參數修改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;(*參數修改OFF*)
    END_CASE
END_IF
zhou1211
級別: 略有小成
精華主題: 1 篇
發帖數量: 206 個
工控威望: 363 點
下載積分: 1174 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2025-01-09
查看zhou1211的 主題 / 回貼
6樓  發表于: 2021-01-14 15:35
通訊沒你想的那么簡單,對時間有要求,你的輪詢讀沒問題是每一步都分開了在做,并且,即使你的通訊對象只有一個,也會出現同樣的情況,你這存在2中通訊操作就必須在進行另一種的時候中斷一種,我的程序是用codesys寫的,2種模式切換,但不能同時進行,實際上切換過程時間很短,在確認發出和收到回信再切回去
ronkang
倍加福總線
級別: 略有小成
精華主題: 0
發帖數量: 147 個
工控威望: 348 點
下載積分: 914 分
在線時間: 190(小時)
注冊時間: 2008-06-24
最后登錄: 2025-05-10
查看ronkang的 主題 / 回貼
7樓  發表于: 2021-01-14 19:08
樓上兄弟,USS通訊沒你說的這么復雜吧。西門子手冊也沒你說的要中斷一個通訊才能啟用另一個通訊。只說了USS讀寫指令同一時刻只能使用一個。
zhou1211
級別: 略有小成
精華主題: 1 篇
發帖數量: 206 個
工控威望: 363 點
下載積分: 1174 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2025-01-09
查看zhou1211的 主題 / 回貼
8樓  發表于: 2021-01-15 08:30
引用
引用第7樓ronkang于2021-01-14 19:08發表的  :
樓上兄弟,USS通訊沒你說的這么復雜吧。西門子手冊也沒你說的要中斷一個通訊才能啟用另一個通訊。只說了USS讀寫指令同一時刻只能使用一個。

    你對通訊認識還不夠,因為你2個指令都是存在詢問幀,因此他就像modbus的控制字一樣,需要逐條發送,它又不能像CAN那樣打包發送,空閑接收。
你這種情況就算同時發送那也只是直接下條覆蓋上條,主要還是時間間隔不夠,例如:modbus幀間隔是3.5個字符,在一條發送完沒間隔完就直接下一條,那么2條會串在一塊形成合并幀;
這種幀99.99%的概率是不合法,無法被響應,因為校驗通不過。
    另外,你的設備越多數據量越大,你需要做的間隔就越長,波特率本身就是描述通訊速率的,可以計算得出你做程序該有的間隔。


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

主站蜘蛛池模板: 一本精品999爽爽久久久_久久av.com_最近最新中文字幕h_国产精品国产三级国产专播一_最近免费中文字幕大全高清_久久毛片一区二区三区_三年片免费观看大全国语_欧美精品无码久久久 | 中文人字幕第三页_无码纯肉视频在线观看_99re国产在线播放_日本欧美高清全视频_日韩七区_亚洲第一最快AV网站_中日韩欧美风情视频_欧美成人一区二 | 91激情网站_精品亚洲视频在线_国产精品天天看特色大片_九一成人免费版_日本三区视频_妺妺窝人体色www在线观看_亚洲伦理在线观看_国产一级二级三级毛片 | 亚洲日韩国产成网在线观看_69久久久_伊人久久精品无码麻豆一区_亚洲欧美日韩在线观看a三区_日本网站在线_av在线免费观看国产_最近免费中文字幕大全高清MV_性欧美长视频免费观看不卡 | 国产亚洲视频系列_中文字幕亚洲欧美在线不卡_国产精品成人A片在线果冻_婷婷超碰_日本a级片免费看_XXX国产精品XXX_欧美一级片在线播放_亚洲综合清纯唯美 | 丁香婷婷六月综合交清_素人视频在线观看免费_亚洲精品国精品久久99热一_亚洲AV无码无在线观看_亚洲AV无码片一区二区三区_任你操免费视频_亚洲av日韩av天堂久久_色欲天天婬色婬香视频综合网 | 欧美一区二区福利视频_国产av高潮社区_97国产香蕉_欧美日韩在线不卡_一本久草_久久精华液_成人免费午夜视频_国产99视频在线观看 | 丰满少妇大力进入_熟妇好紧好大快点舒服使劲xh_亚洲一区免费视频_成品人国产一区二区三区精品_亚洲欧美精品在线观看_原神xman图_久久久受www免费人成_久久香蕉影院 | 狠狠爱亚洲五月婷婷av_毛茸茸性XXXX毛茸茸毛茸茸_午夜精品久久久99热福利_国产日韩高清一区二区三区在线_一区二区麻豆_性无码免费一区二区三区屯线_免费观看9x视频网站在线观看_私人成片免费观看 | 成人青青草_日韩欧美国产综合在线一区二区三区_国精品无码一区二区三区在线蜜臀_色小妹网站_日日搞夜夜操_色综合久久久无码中文字幕_中文字幕一区二区精品区_欧美性猛交XXXX乱大交3 | 第一福利导航导航_国产激情久久久久久熟女老人AV_丁香五月七月综合激情_久草毛片_91亚色视频在线观看_日本女优一区_日日躁夜夜躁狠狠躁av麻豆_国产精品乱码久久久久久久久 | 大地资源网高清视频怎么在线_免费看片在线观看网站_一级久久久久久久_久久人人爽人人爽人人片ⅴ_a片欧美激情肉欲高潮_亚洲国产日韩在线_最新av在线播放_a级免费视频 | 驯服人妻hd中字日本_人妻夜夜爽天天爽三区麻豆AV网站_欧美精品日日操_日本三级大全_大香伊在人线免97_欧美视频网站www色_中国一级片网站_在线播放av更多 | 9热在线_日韩操穴_亚洲AV无码一区二区三区天堂网_亚洲AV永久无码嘿嘿嘿_飘雪影院在线观看免费版高清动漫_国产免费拔擦拔擦8x在线牛_亚洲欧洲自拍拍偷精品美利坚_久久人搡人人玩人妻精品 | a级特黄毛片_日韩毛片一区二区三区免费播放_在线导航福利_国产精品国产免费_国产一级做a爱免费视频_国产精品视频一二三区_99热一区_999久久久久久久久久久 | 亚洲免费看看_91日韩精品久久久久身材苗条_999久久久精品_拔插拔插影院_日本免费新一区视频_国产一区二区三区四区三区_91精品久久久久久久浪潮_亚洲色大成网站WWW永久网 | 女人爽到喷水的视频大全_亚洲视频一二三_亚州五月_免费大片av_国产精品无码一区二区三区观看_日韩高清在线观看不卡一区二区_片多多影视剧免费观看在线观看_91在线婚闹无删减 | 国产片在线播放_在线久草视频_91麻豆精品一二三区在线_日日噜噜夜夜狠狠_www.精品_我朋友的妈妈在线免费观看_欧美xxxx极品bbw_91色综合久久久久婷婷 | 久久久久久国产免费视网址_亚洲尺码一区二区三区_国产精品专区一_免费一级片在线_免费女人高潮流视频在线_avtt在线观看_亚洲精品国偷拍自产在线_国产成人av综合 | 深夜福利免费在线观看_欧洲性开放少妇ZOZO_又大又粗又硬又爽又黄毛片_欧洲精品_亚洲欧美成人_18禁黄网站禁片免费观看国产_日本少妇XXX做受_视频在线观看91 | 一区视频在线免费观看_久久天天躁夜夜躁狠狠_亚洲精品一级_成人性生交大片看1_xxx国产精品视频xxx软件_免费人妻无码不卡中文字幕系列_97超碰免费人人看人人_亚洲午夜一二三区视频 | 亚洲中文无码成人片在线观看_在线第一页_啊片网站在线观看_香蕉久久影院精品欧美日韩_国产精品中文字幕在线播放_日韩免费在线视频_国产资源久久_成人a片产无码免费视频在线观看 | 亚洲成人黄色网_vagaa亚洲亚洲色爽免影院_亚洲国产精品一区在线_美女十八毛片_久久成人福利视频_人人澡人人添人人爽一区二区_五十六十日本老熟妇乱_国产精品第一视频 | 国产精品18久久久久久av小说_91高清一区_好男人资源在线www免费_久久久噜噜噜久久中文福利_日本中文字幕一级_99精品视频免费观看_免费看片源_亚洲精品国男人在线视频 | 免费网站高清观看素材_人妻蜜と1~4中文字幕月野定规_97超碰免费在线_中文字幕在线人_亚洲色无码A片一区二区潘甜甜_欧美中文一区二区三区_想要xx·m3u8色视频_亚洲av中文无码4区免费 | 又色又爽又黄的视频网站_中国午夜伦理片_一区二区三区四区中文字幕_www.youjizz.com久久_狼干综合网_日韩在线视频网站_剑来高清在线观看_99青草 | 国产精品奇米一区二区三区小说_国产乱人伦av在线a_日日综合网_调味的房子在线观看_亚洲av狠狠爱一区二区三区_国产在线播放精品视频_人与禽的免费一级毛片_国产一级精品视频 | 国产区综合_精品一区二区免费视频视频_国产精品乱子乱XXXX_久久综合性_亲含舔丰满湿插_国产高清乱码又大又圆_久久免费看少妇高潮a片特黄网站_亚洲综合久 | ⅵdeodesetv性欧美_久久精品www人人做人人爽_我要看黄色影片_欧美综合网站_91国产在线播放_97丨九色丨国产人妻熟女_青青久在线视频免费观看_成人av网站大全 | 中日韩VA无码中文字幕_久久一本热_少妇熟女久久综合网色欲_国产剧情亚洲福利_老色鬼在线精品视频在线观看_456成人网_亚洲国产精品久久久久婷爱影_精品午夜影院 | 中国老熟妇XXXXX_av日韩免费在线观看_91精品国产自产91精品_国产一级性生活_无码午夜人妻一区二区不卡视频_97超爽成人免费视频在线播放_中文字幕在线观看视频一区_国产成人综合av | 性欢交69精品久久久_欧美久久久久高潮不断_免费人成网站在线观看欧美_丁香啪啪综合成人亚洲_亚洲国产欧美一区_a欧美在线_av在线播放免费观看_野外做受三级视频 | 亚洲精品国产精品国自产观看浪潮_成年人在线观看视频_欧美一级片毛片_国产又黄又猛又粗又爽的A片漫_日韩精品一区av_成人无码h真人在线网站_日本毛茸茸的丰满熟妇_国产精品黑丝 | 亚洲日韩精品无码专区加勒比☆_亚洲国产综合av_四虎影院在线观看av_天天爽天天搞_久久无码av亚洲精品色午夜_国产精品免费看久久久8_亚洲中文字幕永久网站_顶级欧美做受XXX000 | 日韩三级一区二区_一级黄色性视频_在线成人观看_caoporm超碰_日本天堂在线_久久爱._4虎免费观看影片_a级片网站 | 手机在线播放国产女主播_国产精品一区二区久久不卡小说_久久夜靖品2区_精品视频色一区_品久久久久久久久久96高清_农村乱视频一区二区三区_久久久久无码精品国产情侣_黄又色又污又爽又高潮动态图 | 精品成人免费一区二区_久草观看_久久精品国产亚洲av影院_日韩精品手机在线观看_亚洲成人中文_免费一级片在线观看_国产在线拍揄自揄视频菠萝_国产免费人成在线看视频 | 午夜一区二区三区视频_成年人一级视频_亚洲区自拍区_日韩欧美一二区_青娱乐在线视频播放_国产成人综合亚洲欧美94在线_亚洲综合无码一区二区三区_亚洲精品亚洲人成人网在线播放 | 色视频网站免费_国产逼视频_双性清冷美人被老肥丑攻c哭_黄色片xxxxx_中国人与黑人牲交FREE欧美_高清视频在线_91精品国产视频_精品国产aⅴ | 天天操导航_久久国内精品自在自线图片_av夜色_啪啪自拍视频_日韩在线精品中文字幕一区二区_亚洲精品久久一区二区三区_CHINASEX喷水VIDEOS中国少妇_久草视频网址 | 日本人浓密BBW_www.爱久久.com_国产高清精品一区_久久久久久久久久久福利观看_国产超碰在线播放_系列国产精品综合在线_翘臀后进少妇大白嫩屁股_国产无码不卡一区二区 |