lingcore
級(jí)別: 探索解密
|
許多教科書(shū)上都有搶答器的例子,但不少搶答器是不公平的,也就是說(shuō),如果兩個(gè)人在同一PLC掃描周期內(nèi)按下?lián)尨鸢粹o,搶答程序只接受程序位置上排在前面的搶答者的按鈕信號(hào)。 附件是一個(gè)公平搶答器的設(shè)計(jì)過(guò)程。 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級(jí)別: VIP會(huì)員
|
樓主,您的程序仍然存在先后掃描的問(wèn)題,即在同一個(gè)掃描周期內(nèi),仍然存在按鈕的先后,誰(shuí)在上面誰(shuí)就占優(yōu)勢(shì)。 要改變這一狀況,應(yīng)該使用諸如西門(mén)子的比較指令去同時(shí)讀取每個(gè)輸入位狀態(tài),如三菱的K2X0這樣的讀取方式,西門(mén)子則應(yīng)該使用IB~~~~ 否則,仍然會(huì)出現(xiàn)掃描周期的問(wèn)題。 Regards |
---|---|
|
打豆豆
歐姆龍-NJ系列 NX系列 NY系列,遠(yuǎn)程解密,西門(mén)子120
級(jí)別: VIP會(huì)員
|
中斷會(huì)么? |
|
---|---|---|
|
lingcore
級(jí)別: 探索解密
|
回復(fù)1樓: 不太明白您的意思,這里盡力理解和回答。 PLC一個(gè)周期的工作過(guò)程是:讀入數(shù)據(jù),處理數(shù)據(jù),輸出數(shù)據(jù)。 在同一個(gè)周期內(nèi),外部信號(hào)到達(dá)PLC有快有慢,在“讀入數(shù)據(jù)階段”,所有輸入數(shù)據(jù)都從外部復(fù)制到內(nèi)部寄存器,因此在處理數(shù)據(jù)階段,CPU所看到的輸入數(shù)據(jù)全部來(lái)自前一個(gè)數(shù)據(jù)輸入階段所讀入的數(shù)據(jù),已經(jīng)無(wú)法分辨它們的先后順序,因此對(duì)程序而言,所有輸入數(shù)據(jù)都是同時(shí)得到的,沒(méi)有先后之分。 三菱的K1X0相當(dāng)于X1,X2,X3,X4。對(duì)CPU而言,無(wú)論用K1X0去訪問(wèn)這四個(gè)變量,還是分別用X1,X2,X3,X4訪問(wèn)它們,結(jié)果是一樣的。 原帖只是對(duì)一個(gè)現(xiàn)有程序的一個(gè)改進(jìn),也許會(huì)有更好的解決方案。比如,S7-200有一個(gè)物理讀指令,可以在一個(gè)周期的工作過(guò)程中直接讀入外部信號(hào),不必等待周期結(jié)束再讀。有興趣的朋友也許可以考慮如何用這樣的質(zhì)量把搶答器做的更好。使用中斷或許是一種解決方案,但是中斷程序一般執(zhí)行時(shí)間比較長(zhǎng),而且書(shū)寫(xiě)中斷程序也比較復(fù)雜,時(shí)間分析也比較困難。 搶答器指令數(shù)量并不多,執(zhí)行速度很快,因此一個(gè)周期的時(shí)間并不長(zhǎng)。要得到更好的結(jié)果,還可以去找速度更快的PLC。絕對(duì)公平不存在,但是,只有使PLC工作周期越短,那么精確程度就越高。 歡迎進(jìn)一步探討,最好直接給出更好的程序。 [ 此帖被lingcore在2010-12-17 23:09重新編輯 ] |
---|---|
|
打豆豆
歐姆龍-NJ系列 NX系列 NY系列,遠(yuǎn)程解密,西門(mén)子120
級(jí)別: VIP會(huì)員
|
在解釋一下 中斷不受掃描影響 |
|
---|---|---|
|