麻豆一区区三三四区产品麻豆-麻豆影视国产TV在线观看-麻豆影视国产在线观看-麻豆影视在线-麻豆影视在线观看av-麻豆影院

johnsonxjq
必攻不守
級別: 略有小成
精華主題: 0
發帖數量: 149 個
工控威望: 333 點
下載積分: 470 分
在線時間: 70(小時)
注冊時間: 2007-08-31
最后登錄: 2024-09-01
查看johnsonxjq的 主題 / 回貼
樓主  發表于: 2018-07-03 09:21
圖片:
三菱Modbus通信初始化,結構化編程,上面的首尾相聯初始化成功,可以正常通信,
下面的書寫模式初始化失敗,端口不發送數據.失聯狀態.原因不明,哪位高手解釋一下.
讀寫是用ADPRW ,在這里不要懷疑其它部分程序了,我只改這里,一個通信正常,一個完全不能通信
難道是三菱結構化編程還存在bug.三菱的推出結構化編程,真心比西門子的難用,寫程序很慢,本人也是嘗試
[ 此帖被johnsonxjq在2018-07-03 09:27重新編輯 ]
staunch
級別: 探索解密
精華主題: 0
發帖數量: 54 個
工控威望: 170 點
下載積分: 4817 分
在線時間: 56(小時)
注冊時間: 2014-05-22
最后登錄: 2024-10-28
查看staunch的 主題 / 回貼
1樓  發表于: 2018-07-03 13:57
頂一下,飄過!
instanttw
級別: 探索解密
精華主題: 0
發帖數量: 26 個
工控威望: 155 點
下載積分: 2292 分
在線時間: 39(小時)
注冊時間: 2013-04-25
最后登錄: 2021-11-04
查看instanttw的 主題 / 回貼
2樓  發表于: 2018-07-03 15:08
惡魔就躲在 EN 和 ENO。
SFC、ST 的樣子不代表就是階梯圖的樣子。
將兩段程序寫進 PLC 后以階梯圖讀出來觀察就會明白了。
johnsonxjq
必攻不守
級別: 略有小成
精華主題: 0
發帖數量: 149 個
工控威望: 333 點
下載積分: 470 分
在線時間: 70(小時)
注冊時間: 2007-08-31
最后登錄: 2024-09-01
查看johnsonxjq的 主題 / 回貼
3樓  發表于: 2018-07-03 18:11
惡魔就躲在 EN 和 ENO。
SFC、ST 的樣子不代表就是階梯圖的樣子。
將兩段程序寫進 PLC 后以階梯圖讀出來觀察就會明白了。

讀出來,一個是M8411只有一個,全部初始化在后面,一個是M8411有多個,每個帶兩個Mov指令,邏輯上沒問題呀,但實際唉,
三菱的編譯器是否有問題?那就坑人了.
twingo49
級別: 網絡英雄

精華主題: 0
發帖數量: 559 個
工控威望: 9134 點
下載積分: 22585 分
在線時間: 1019(小時)
注冊時間: 2013-08-08
最后登錄: 2024-12-09
查看twingo49的 主題 / 回貼
4樓  發表于: 2018-07-03 20:03
引用
引用第3樓johnsonxjq于2018-07-03 18:11發表的  :
惡魔就躲在 EN 和 ENO。
SFC、ST 的樣子不代表就是階梯圖的樣子。
將兩段程序寫進 PLC 后以階梯圖讀出來觀察就會明白了。

讀出來,一個是M8411只有一個,全部初始化在后面,一個是M8411有多個,每個帶兩個Mov指令,邏輯上沒問題呀,但實際唉,
.......

其實在modbus通信手冊第35頁已經有提醒了
本帖最近評分記錄:
  • 下載積分:+5(johnsonxjq) 熱心助人!
    johnsonxjq
    必攻不守
    級別: 略有小成
    精華主題: 0
    發帖數量: 149 個
    工控威望: 333 點
    下載積分: 470 分
    在線時間: 70(小時)
    注冊時間: 2007-08-31
    最后登錄: 2024-09-01
    查看johnsonxjq的 主題 / 回貼
    5樓  發表于: 2018-07-03 21:09
    引用
    引用第4樓twingo49于2018-07-03 20:03發表的  :

    其實在modbus通信手冊第35頁已經有提醒了

    我正是在此頁看到問題才改的程序,但問題是這樣不對呀,不符合規則啊.西門子的PLC就沒有這樣的說法.三菱的仿西門子還是有點莫名其妙
    twingo49
    級別: 網絡英雄

    精華主題: 0
    發帖數量: 559 個
    工控威望: 9134 點
    下載積分: 22585 分
    在線時間: 1019(小時)
    注冊時間: 2013-08-08
    最后登錄: 2024-12-09
    查看twingo49的 主題 / 回貼
    6樓  發表于: 2018-07-04 08:36
    引用
    引用第5樓johnsonxjq于2018-07-03 21:09發表的  :

    我正是在此頁看到問題才改的程序,但問題是這樣不對呀,不符合規則啊.西門子的PLC就沒有這樣的說法.三菱的仿西門子還是有點莫名其妙

    不符合規則很正常的,要是都符合規則,表示寫一套程式就可以用在任何廠牌的PLC,沒有幾家會這樣做的。
    instanttw
    級別: 探索解密
    精華主題: 0
    發帖數量: 26 個
    工控威望: 155 點
    下載積分: 2292 分
    在線時間: 39(小時)
    注冊時間: 2013-04-25
    最后登錄: 2021-11-04
    查看instanttw的 主題 / 回貼
    7樓  發表于: 2018-07-04 10:09
    @johnsonxjq

    身邊沒東西可測試,以下只是猜測。

    復制代碼
    1. INC(MOV(M8411, H1087, D8420), D0);
    2. INC(MOV(M8411, H1, D8421), D0);
    3. INC(MOV(M8411, K1000, D8429), D0);
    4. INC(MOV(M8411, K400, D8430), D0);
    5. INC(MOV(M8411, K10, D8431), D0);
    6. INC(MOV(M8411, K1000, D8432), D0);
    7. INC(MOV(M8411, H1, D8435), D0);
    8. INC(MOV(M8411, K50, D8436), D0);

    最后執行出來 D0 會是多少?
    如果不是 8,那就不用解釋了。
    如果是 8,只能說三菱對于這樣的設定有嚴格的限制,我們不清楚第一行執行后 PLC 內部到底做了什么事情。就算用階梯圖寫一模一樣的程序,通訊一樣會失敗,這和語言無關,手冊也明確寫了如何正確設定。

    以 ST 為例:
    復制代碼
    1. D0 := D1;

    等同于
    復制代碼
    1. MOV(M8000, D1, D0);

    也是
    復制代碼
    1. LD M8000
    2. MOV D1 D0

    編譯器還是呼叫了 MOV 指令,用 M8000 讓指令一直執行,但不是無條件執行。



    基于文本程序的特性,人們更習慣 D0 := D1 而非 MOV,這樣對于較為復雜的算式尤其方便。
    復制代碼
    1. volume := 4.0 / 3.0 * PI * radius ** 3.0;

    這用 DEDIV、DEMOV 或階梯圖寫起來就會較為復雜且不夠直觀。
    如果真有需求,我們就使用指令的 EN 參數或是 IF,像是
    復制代碼
    1. MOV(M1234, D1001, D1000)




    但您提出的觀點也對,如果連續幾行的起始都是讀同一個目標,如
    復制代碼
    1. LD M8411

    那能不能將后面重復的省略以進行優化? 這樣的話編譯出來的程式就會是你想要的樣子。
    這只有對于常數值才可以進行,如果 LD 的目標是會變動的,就不能將它省略。
    M8000 或許是一個特例,但也或許會在我們還不了解的狀況下改變數值。


    所以就語言本身來說,其實沒什么問題。小弟也曾被這個問題拐過,但正因為拐過,對于這些特性才有更多思考。


    提供參考。
    本帖最近評分記錄:
  • 下載積分:+1(aaa2073) 熱心助人!
    twingo49
    級別: 網絡英雄

    精華主題: 0
    發帖數量: 559 個
    工控威望: 9134 點
    下載積分: 22585 分
    在線時間: 1019(小時)
    注冊時間: 2013-08-08
    最后登錄: 2024-12-09
    查看twingo49的 主題 / 回貼
    8樓  發表于: 2018-07-04 12:19
    其實重點在M8411,手冊有提到建議M8411只有一次(35~38頁),如果用超過一次,只有最後一次有效,第二種寫法會變成M8411用4次所以只有最後一次有效,因此通不起來。
    本帖最近評分記錄:
  • 下載積分:+1(aaa2073) 熱心助人!
    johnsonxjq
    必攻不守
    級別: 略有小成
    精華主題: 0
    發帖數量: 149 個
    工控威望: 333 點
    下載積分: 470 分
    在線時間: 70(小時)
    注冊時間: 2007-08-31
    最后登錄: 2024-09-01
    查看johnsonxjq的 主題 / 回貼
    9樓  發表于: 2018-07-04 15:07
    圖片:
    引用
    引用第7樓instanttw于2018-07-04 10:09發表的  :
    @johnsonxjq

    身邊沒東西可測試,以下只是猜測。

    [code]INC(MOV(M8411, H1087, D8420), D0);
    .......


    謝謝你的回答,你的思考深入了,實際情況D0=0;另外,我用的是FX3U,結構化編程和ST編程競然不能混用,和西門子相比,三菱的靈活性實在差很多,不過三菱,歐姆龍,臺達都有結構化編程出來 了,向西門子這個龍頭老大告攏.希望不久的將來,能形成大一統局面,為何不同的廠家不能使用同樣結構的語言,來少去我們這些代碼工人的勞動呢.雖然到那時寫程序變得更沒價值了.但畢竟這是進步.
    [ 此帖被johnsonxjq在2018-07-04 15:15重新編輯 ]
    johnsonxjq
    必攻不守
    級別: 略有小成
    精華主題: 0
    發帖數量: 149 個
    工控威望: 333 點
    下載積分: 470 分
    在線時間: 70(小時)
    注冊時間: 2007-08-31
    最后登錄: 2024-09-01
    查看johnsonxjq的 主題 / 回貼
    10樓  發表于: 2018-07-04 15:09
    引用
    引用第8樓twingo49于2018-07-04 12:19發表的  :
    其實重點在M8411,手冊有提到建議M8411只有一次(35~38頁),如果用超過一次,只有最後一次有效,第二種寫法會變成M8411用4次所以只有最後一次有效,因此通不起來。


    對,仔細看了下手冊,的確有如此說法,如果這樣說就和編譯器有關.我想說的是,三菱這樣做,像是在設陷井.
    erhaoshutong
    級別: 探索解密
    精華主題: 0
    發帖數量: 44 個
    工控威望: 137 點
    下載積分: 994 分
    在線時間: 2(小時)
    注冊時間: 2017-11-18
    最后登錄: 2018-08-14
    查看erhaoshutong的 主題 / 回貼
    11樓  發表于: 2018-07-08 21:40
    認真看手冊,手冊有說明的呀

    主站蜘蛛池模板: 美女视频大全视频a免费九| 欧美不卡视频一区二区三区 | 波多野结衣家庭教师久草| 国产精品亚洲综合一区在线观看 | 亚洲日本免费| 国产精品色欲AV亚洲三区岳| 日本高清视频在线无吗| 久久久无码A片观看免费| 国产人成激情视频在线观看| 涩涩动漫网站入口| XXX欧美性兽交| 一级特黄AAA大片在线观看| 国产精品呻吟一区二区三区 | 久久久这里只有精品免费| 久久久成人影院| 欧美人妻无码A级视频| 日本aⅴ精品一区二区三区久久| 99好久被狂躁A片视频无码 | 无码人妻一区二区三区免责| 高考陪读妇乱子伦小说长篇| 国产精品一区AV在线播放| 国产亚洲人成在线影院| 婷婷开心激情综合五月天| 久久久毛片免费基地| 日本无人区1码2码区别大吗| 国产精品人妻无码免费久久一| 亚洲人妖女同在线播放| 国产精品伦一区二区在线| 国产色精品久久人妻无码看片 | 午夜视频一区二区三区| 成熟人妻a| 中文字幕精品久久| 国产精品高清视亚洲精品| 97制片厂爱豆传媒视频| 国产亚洲一区二区三区正在播放 | 欧美日韩一二| 久久怡红院av| 91久久综合九色综合| 欧美日韩精品一区二区嫩草影| 日本妇人成熟a片高潮| 日韩一区精品视频一区二区|