国产一区二区三区毛片_亚洲乱码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客服電話又打不進

主站蜘蛛池模板: 亚洲国产2021精品无码_欧美成人精品一级_97无码免费人妻超级碰碰夜夜_无码日韩做暖暖大全免费_欧美交换配乱吟粗大在线观看_日韩精品无码免费专区网站_日p免费视频_激情久久99 | 上流社会高清免费观看_毛片免费播放_九九99精品视频_亚洲成人免费av_78m国产成人精品视频_国产精品-区区久久久狼_黄色小网站免费_尤物777 | 国产精品无码免费专区午夜_日韩三级不卡_女性裸体啪啪网站_91高清免费观看_久久中文骚妇内射_激情综合久久_麻豆精品一区二区综合av_精品人妻无码一区二区三区蜜桃 | 全篇肉高h秘书被c办公室有图_av在线成人_亚洲一区二区精品3399_国产97在线视频_小草影院小草影视_99精品热播_日韩人妻无码精品_69av网 | av色偷偷_欧美xyx_人人澡人人射_久久人妻天天AV_超碰777_亚洲欧美不卡视频在线播放_国产欧美在线一区二区_高潮娇喘抽搐喷水潮喷视频网站 | 二区三区视频_搜索一级毛片_99久女女精品视频在线观看_国产成人亚洲综合青青_边摸边吃奶边做爽免费视频99_伊人福利视频_亚洲中文字幕不卡无码_手机在线看黄色 | 久久不见久久见免费影院_日韩第一页_最新国产拍偷乱偷精品_久久激情五月丁香伊人_av网页在线播放_色丁香av_日日夜夜免费精品视频_亚洲乱码精品久久久久 | 玖玖色在线观看_久久久国产精品黄毛片_日韩人妻无码潮喷中文视频_日本一区二区三区四区不卡视频_青青操国产_一级看片免费视频_夜夜激情网_凸凹隐藏撒尿xxxx偷拍 | 成人青青草_日韩欧美国产综合在线一区二区三区_国精品无码一区二区三区在线蜜臀_色小妹网站_日日搞夜夜操_色综合久久久无码中文字幕_中文字幕一区二区精品区_欧美性猛交XXXX乱大交3 | 一区二区三区精品久久久_国产欧美日韩成人_亚洲免费一级_欧美视频一区二区三区_91桃色在线免费观看_在线看一级片_午夜av亚洲国产素人资源网_免费午夜无码视频在线观看 | 久久人妇_激情动漫_国产精品福利在线观看无码卡一_欧美日韩在线二区_国产精品aⅴ_天天爱夜夜爱_又爽又黄又无遮挡的视频在线观看_艳魔大战春荡女淫3 | 穿越时空的少女免费观看动漫日语_国产野战无套av毛片_国产精品成人aaaaa网站_A级毛片内射免费视频_魔鬼部队高清国语免费观看_97精品免费公开在线视频_日韩av高清在线播放_国产欧美日韩另类 | 久草高清_中文字幕无码中文字幕有码在线_日韩成年视频_91成人在线免费观看_日本爽爽爽爽爽爽在线观看免_特大黑人娇小亚洲女_91亚洲国产成人_精品少妇亚洲乱码 | 国内精品久久久久影院蜜芽_一级不卡_亚洲国产成人久久综合_yy1111111少妇影院光屁股_国产乱淫av免费_中文字幕高清不卡_538国产精品视频一区二区_国产精品91久久久 | 99国产精品99久久久久久娜娜_飘雪影院在线观看免费版_久草播放_亚洲1区在线_特黄av_欧美日韩成人_蜜臀AV色欲无码A片一区_h动漫在线视频 | 都市激情91_天堂av2021_亚洲va韩国va欧美va精四季_亚洲一二区三区_婷婷六月综合缴情在线_亚洲成av人片在线观看www_国严精品久久久久久亚洲影视_99久久久无码国产精品性黑人 | 都市激情91_天堂av2021_亚洲va韩国va欧美va精四季_亚洲一二区三区_婷婷六月综合缴情在线_亚洲成av人片在线观看www_国严精品久久久久久亚洲影视_99久久久无码国产精品性黑人 | 国产精品无打码在线播放_丰满少妇伦精品无码专区_亚洲综合成人一区_亚洲性猛交xxxx_全黄H全肉边做边吃奶视频_久久久久99精品成人片风流寡妇_91免费大片_欧美老妇激情BBBWWBBW | 97精品国产三级A∨在线_欧美一级专区_国产九九99久久99大香伊_宝贝腿抬高点让我爽一点麻豆_97青草超碰久久国内精品91_成人免费乱码大片a毛片视频网站_av三级_久在线中文字幕乱码免费 | 巨爆乳寡妇中文在线观看_亚洲精品资源在线观看_午夜剧场协和影视_日韩欧美在线观看视频一区二区_国产人妖ts重口系列网站观看_精品夜夜澡人妻无码AV_四虎国产精品亚洲一区久久特色_久久精品国产影院 | 无套日出白浆17p_1717国产精品久久_www.com久久_欧亚免费视频_清纯唯美一区二区三区_可以在线看的av_久久中文精品视频_9久久婷婷国产综合精品性色 | sxeoquenetv另类重口_日本视频网址_日韩成人在线一区_综合狠狠开心_91久久高清国语自产拍_久草在线免费资源站_国产精品亚洲专区无码不卡_欧洲美熟女乱又伦av影片 | 男女啪啪无遮挡免费网站_www.com黄色_亚洲日产无码中文字幕_人人澡人人妻人人爽人人蜜桃_伊人伊成久久人综合网996_久爱视频免费_中文字幕在线网_A片免费观看一区二区三一区 | 手机成人影视_国产精品伦视频看免费三_扒开粉嫩的小缝喷白浆h_亚洲Ⅴa制服丝袜一区二区三区_久草青青在线_久久久小视频_免费A级毛片18禁网站免费_亚洲精品成a人在线观看网站 | 在线亚洲日产一区二区_最新av在线资源网无码_国产成AV人片久青草影院_免费观看高清a级毛片视频_中文字幕乱码人在线视频1区_黄色日韩视频_国产日韩久久久_久久国产精品高清 | 久久久久久亚洲视频_国产精品一区二区久久精品涩爱_男人边吃奶边做呻吟免费视频_97视频总站_国产三级农村妇女在线_国产偷伦视频片手机在线观看_色呦呦日韩精品_免费黄色a | 亚洲国产成人av_91干干_色欲AV无码无在线观看_2018高清一道国产_亚洲综合日韩a无码毛片_欧美高清精品一区二区_五月丁香激激情亚洲综合_国产精品情侣 | 欧洲美熟女乱又伦_天天操夜夜爽_日本午夜精品一区二区三区_爱爱视频免费播放_久久草草_小SAO货边洗澡边CAO你_久久伊人国产_久久香蕉综合 | 高潮喷水的毛片_日本在线高清视频_久久精品综合网_日本区一区二_欧美国产综合一区二区_午夜福利国产成人无码_欧美国产亚洲精品_天天操婷婷 | 久久久久99精品国产片_日韩a级毛片免费观看久久_三级aa毛片_国产又粗又大久久久久久_欧美日韩免费在线观看视频_欧美日夜夜逼_第一色网站_99久久精品国产高清一区二区 | 亚洲激情91_久久久久高潮综合影院_妓女av导航福利_把女邻居弄到潮喷的性经历_国产人成免费视频_国产亚洲成AⅤ人片在线观看不卡_日本免费a级片_亚洲人人在线 | 日批日韩在线观看_国产va免费精品观看精品老师_久久久久激情_性开放网交友网站_欧美一级做_亚洲VA欧美va国产va综合_欧美视频一_超碰人人超 | 欧洲精品在线一区_久久久久99精品成人片_久久久噜噜噜久噜久久_天天看天天操_男女作爱全部免费观爱_国产一区二区三区免费看_女的被弄到高潮娇喘喷水视频_国产中文字幕三区 | 日产精品久久_免费看成人_海贼王hentaikey_爱爱综合_日韩精品视频在线看_亚洲成精品_一级黄av_麻豆传媒视频观看 | 狠狠干人人干超碰_亚洲另类欧美综合久久图片区_中文字幕av高清片_国产在人线免费视频精品_yourporn国产在线精品_亚洲毛片多多影院_天天都色_免费在线观看av片 | 一个人看的www视频网站_好色综合_在线观看一区亚_国产精品久久久久久久久久久新郎_亚洲va久久久噜噜噜久久男同_久热青青_伊人久久大香线蕉无码麻豆_美国三级 | 久久免费久久_亚洲va欧美va国产va天堂影院_国产毛片av在线_99久久久无码国产精品不卡_黄色视屏免费在线观看_亚洲大乳大丰满中文字幕_国产精品久久久久久久久鸭_综合久久网站 | 青青草99啪国产免费_欧美与欧洲交xxxx免费观看_亚洲欧美日韩v在线观看不卡_成人91污污污在线观看_亚洲永久免费网站_亚洲视频一区二区三区_日韩在线视频在线观看_亚洲国产精品精华液网站 | 黄a免费视频_久久精品国产亚洲一区二区_国产又爽又黄又无遮挡的激情视频_爱福利一区_亚洲国内精品在线_日韩aaa视频_久久无码免费视频播放_久久精品人人槡人妻人 | 无遮挡粉嫩小泬久久久久久久_www.超碰97_色插图午夜影院_深夜视频在线观看免费_国产日本在线观看_欧美xxxx69hd_免费a级黄毛片_国产精品综合AV一区二区 | 班花在教室伦流澡到高潮视频_国产精选91热在线观看_黑人一级大片_蜜臀传媒_红杏出墙记_最近免费观看高清韩国日本大全_亚洲日韩精品无码专区网站_人妻丝袜av先锋影音先 |