欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12541|回復: 0
收起左側

PLC里SCR和C語言switch程序分支的區別

[復制鏈接]
ID:51090 發表于 2014-9-16 23:45 | 顯示全部樓層 |閱讀模式
   2014-03-22,又是一個不眠的夜晚,被這個PLC的SCR段差點折磨半死。習慣了C++語言的編程,就是這個下場。不過還是找到了其中的奧秘。我來舉個例子:下面這段程序:按照C語言的理解,意思應該是當S0.0接通,S0.1斷開的時候,Q0.0應該走第一個程序段(Q0.0=1),可是PLC不是這么理解的,即使S0.1=OFF,程序依次掃描,當程序掃描到S0.1的時候,母線為OFF,那么,Q0.0這個時候又變成了0,這不是我們期待的結果。PLC沒有break這個語句,SCR語句只是告訴了系統,當前的母線已由S替代,直到發現SCRE才恢復正常的母線,即使S是OFF狀態,程序依舊掃描。如果要實現這個功能,還需要配合JMP指令和LBL指令來跳轉,或者使用RS指令,如圖2.,當程序掃描到S0.0時,Q0.0的S指令有效,這時Q0.0就為1,當程序掃描到S0.1時,Q0.0的R指令無效,那么Q0.0依舊保持原樣,即ON狀態,如圖3的C++例程,這就符合了我們的要求。當然,編程的方法有很多,SCR可以同時執行多個程序段,switch不行,各有千秋。習慣了就好,可能我還沒有完全適應PLC,需要一個過程,適應它了就有它的優勢。PLC程序比較聽話,程序依次執行,直到發現SCRE為止才跳出程序,哪怕執行了SCRT,它依舊活著,直到下次掃描才關閉。
圖1:                                                                                          

圖2:


圖3:




回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表