日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

編程的時(shí)候除了注意指令的使用環(huán)境,還需要注意基本的運(yùn)行規(guī)則,否則就會(huì)產(chǎn)生不必要的小BUG,這些小BUG看似簡(jiǎn)單,但是真正解決起來(lái)卻不容易,因?yàn)檫@樣的錯(cuò)誤是根深蒂固地存在大腦的深處,看著錯(cuò)誤可能就是覺(jué)得是正確的,這樣就會(huì)懷疑其它的地方,造成方向性的錯(cuò)誤,比如是不是CPU的操作系統(tǒng)有BUG,或者是指令系統(tǒng)有BUG,即使老司機(jī)也可能犯低級(jí)的錯(cuò)誤。

在編寫(xiě)《從S7-300_400到S7-1500看變址尋址的改變》系列時(shí)做了一個(gè)小的示例程序,結(jié)果總是有問(wèn)題,分析也很燒腦。好了,先介紹一下程序的功能,這是一段表查詢的小程序:

例如創(chuàng)建一個(gè)數(shù)據(jù)塊A,然后在里面再創(chuàng)建一個(gè)數(shù)組B,INDEX從0~100,單位是INT,這樣一個(gè)表就創(chuàng)建完畢,然后使用一個(gè)已知的值與表中的值比較,如果查詢到第一個(gè)相同的值就記錄值的位置,就是數(shù)組中INDEX的值,然后清零INDEX的值并復(fù)位查詢使能位,如果沒(méi)有查詢到,INDEX值加1,如果整個(gè)表中都沒(méi)有相同的值,同樣清零INDEX并復(fù)位查詢使能位。程序參考圖1。

圖1

"Start_comp"作為查詢使能位,如果 "Comp_Value"與表(數(shù)組) "A".B["Index"]的值相同,將"Index"的值存儲(chǔ)到"Result"中,然后清零"Index"并復(fù)位查詢使能位 "Start_comp";如果 "Comp_Value"與表(數(shù)組) "A".B["Index"]的不相同,將"Index"的值加1,如果查詢到表的最后,還是沒(méi)有相同的值,同樣清零"Index"并復(fù)位查詢使能位 "Start_comp"。一段小程序,非常簡(jiǎn)單,好了,再看一下程序監(jiān)控吧,參考圖2。

圖2

查詢的結(jié)果是正確的,但是"Index"的值定格為1而不是0。對(duì)于這樣的結(jié)果,我首先想到的是時(shí)序的問(wèn)題,是不是S7-1500編程功能擴(kuò)展后程序有些變化?想起一個(gè)辦法就是在S7-300中編寫(xiě)相同的程序,然后切換到STL,使用斷點(diǎn)監(jiān)控一下,后來(lái)還是放棄了,因?yàn)镾7-300不支持?jǐn)?shù)組INDEX 的方式,如果使用S7-1500做也比較麻煩。可以把程序放到循環(huán)中斷中,放大掃描時(shí)間看一下結(jié)果,就是相當(dāng)于慢放功能,監(jiān)控程序,首先是值不相等條件滿足,如圖3所示。

圖3

從圖3中可以看到,值不相等,"Index"的值加1,然后與下一個(gè)值進(jìn)行比較,直到與比較值相同,如圖4所示。

圖4

從圖4中可以看到,比較值等于與不等于同時(shí)滿足,所以上面"Index"的值清零了,下面一行又加1了,所以"Index"的值最終定格在1上,只是什么邏輯!!! 搞不明白!!!

經(jīng)過(guò)一番折騰,發(fā)現(xiàn)問(wèn)題了,比較值相等的"Index"是2,比較值不相等的"Index"是0,說(shuō)明"Index"是清零了,所以會(huì)出現(xiàn)比較值等于與不等于同時(shí)滿足的情況,就是因?yàn)楸容^的值不同了,所以犯了一個(gè)小錯(cuò)誤,也是沒(méi)有仔細(xì)查看,也是由于設(shè)定的掃描時(shí)間還是比較短,最后使用圖片抓拍才發(fā)現(xiàn)。

總結(jié)一下這里的問(wèn)題,主要還是時(shí)序的問(wèn)題,相同程序段線圈的復(fù)位結(jié)果作用在下一個(gè)掃描周期,而賦值結(jié)果是在指令完成之后。可以把上下兩行程序互換一下位置就可以解決問(wèn)題了,程序參考圖5。

圖5

想要學(xué)習(xí)更多工業(yè)知識(shí),歡迎訪問(wèn)西門(mén)子1847工業(yè)學(xué)習(xí)平臺(tái),這是一個(gè)官方的學(xué)習(xí)平臺(tái),能夠幫助您高效獲得實(shí)用和權(quán)威的資料。

另外,這里還有60場(chǎng)西門(mén)子1847工業(yè)專家會(huì)議等您來(lái)參與!點(diǎn)擊下方鏈接查看會(huì)議詳情。

分享到:
標(biāo)簽:BUG
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定