回復1樓:
不太明白您的意思,這里盡力理解和回答。
PLC一個(gè)周期的工作過(guò)程是:讀入數據,處理數據,輸出數據。
在同一個(gè)周期內,外部信號到達PLC有快有慢,在“讀入數據階段”,所有輸入數據都從外部復制到內部寄存器,因此在處理數據階段,CPU所看到的輸入數據全部來(lái)自前一個(gè)數據輸入階段所讀入的數據,已經(jīng)無(wú)法分辨它們的先后順序,因此對程序而言,所有輸入數據都是同時(shí)得到的,沒(méi)有先后之分。
三菱的K1X0相當于X1,X2,X3,X4。對CPU而言,無(wú)論用K1X0去訪(fǎng)問(wèn)這四個(gè)變量,還是分別用X1,X2,X3,X4訪(fǎng)問(wèn)它們,結果是一樣的。
原帖只是對一個(gè)現有程序的一個(gè)改進(jìn),也許會(huì )有更好的解決方案。比如,S7-200有一個(gè)物理讀指令,可以在一個(gè)周期的工作過(guò)程中直接讀入外部信號,不必等待周期結束再讀。有興趣的朋友也許可以考慮如何用這樣的質(zhì)量把搶答器做的更好。使用中斷或許是一種解決方案,但是中斷程序一般執行時(shí)間比較長(cháng),而且書(shū)寫(xiě)中斷程序也比較復雜,時(shí)間分析也比較困難。
搶答器指令數量并不多,執行速度很快,因此一個(gè)周期的時(shí)間并不長(cháng)。要得到更好的結果,還可以去找速度更快的PLC。絕對公平不存在,但是,只有使PLC工作周期越短,那么精確程度就越高。
歡迎進(jìn)一步探討,最好直接給出更好的程序。
[ 此帖被lingcore在2010-12-17 23:09重新編輯 ]