專(zhuān)利名稱(chēng):接口帶可編程邏輯控制器的擴(kuò)展模塊的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及將控制模塊接口到其它模塊上。更具體地,本發(fā)明的示范實(shí)施例涉及接口帶可編程邏輯控制器(PLC)的擴(kuò)展模塊。
背景技術(shù):
此前,已利用接口將控制模塊接口到其它模塊上。然而,在通過(guò)引用將其全文結(jié)合在此的名為“從屬ASIC”的美國(guó)專(zhuān)利申請(qǐng)序號(hào)09/814,221中所描述與要求的發(fā)明所詳細(xì)設(shè)想的系統(tǒng)及方法之前,尚無(wú)用于接口多種通信協(xié)議的通用接口可以利用。
然而,存在著對(duì)接口帶可編程邏輯控制器(PLC)的擴(kuò)展模塊的改進(jìn)的系統(tǒng)及方法的需求。此外,存在著對(duì)檢測(cè)通信信號(hào)的第一字節(jié)上存在的錯(cuò)誤來(lái)防止寫(xiě)出無(wú)效數(shù)據(jù)的需求。
發(fā)明內(nèi)容
本發(fā)明涉及用于與可編程邏輯控制器一起使用的擴(kuò)展模塊的通信接口。這一通信接口包含與擴(kuò)展模塊通信以便讀與寫(xiě)離散輸入/輸出、模擬輸入/輸出、智能模塊控制、及擴(kuò)展模塊狀態(tài)的處理器。在一個(gè)實(shí)施例中,這些擴(kuò)展模塊是應(yīng)用特定的集成電路(ASIC)。該ASIC具有適當(dāng)?shù)貞?yīng)答輸入/輸出擴(kuò)展總線信號(hào)的狀態(tài)機(jī)結(jié)構(gòu)。在示范性實(shí)施例中,ASIC中包含智能借此從來(lái)自控制器的消息的第一字節(jié)起進(jìn)行檢錯(cuò)。從而,該ASIC檢測(cè)何時(shí)傳遞了來(lái)自控制器的錯(cuò)誤消息,并將消息傳輸給其輸出狀態(tài)不根據(jù)來(lái)自控制器的消息而改變的消息擴(kuò)展模塊。從而,擴(kuò)展模塊忽略該錯(cuò)誤消息。
一個(gè)示范實(shí)施例涉及一種防止接口控制器與輸入/輸出(I/O)設(shè)備的通信接口寫(xiě)出無(wú)效數(shù)據(jù)的方法。這一方法可包含解碼從控制器傳遞給應(yīng)用特定集成電路(ASIC)的消息中的控制字節(jié),確定控制器正在尋址的是若干擴(kuò)展模塊中哪一個(gè)擴(kuò)展模塊及正在傳遞的是哪一類(lèi)型的消息,生成奇偶校驗(yàn)位,將生成的奇偶校驗(yàn)位與附加在控制字節(jié)上的奇偶校驗(yàn)位比較,以及如果奇偶校驗(yàn)位不匹配,發(fā)布信號(hào)保留這些擴(kuò)展模塊的輸出狀態(tài)。
另一示范實(shí)施例涉及響應(yīng)用于接口擴(kuò)展模塊的通信協(xié)議,以便讀與寫(xiě)離散輸入/輸出(I/O)、模擬I/O、智能模塊控制及擴(kuò)展模塊狀態(tài)的通信接口裝置。該裝置可包含用于解碼從控制器傳遞的消息中的控制字節(jié)的裝置,用于確定該控制器正在尋址的是若干擴(kuò)展模塊中哪一擴(kuò)展模塊(EM)及正在傳遞的是哪一類(lèi)型的消息的裝置,用于生成奇偶校驗(yàn)位的裝置,用于將該生成的奇偶校驗(yàn)位與附加在控制字節(jié)上的奇偶校驗(yàn)位比較的裝置,以及用于在奇偶校驗(yàn)位不匹配時(shí)發(fā)布信號(hào)來(lái)保持這些擴(kuò)展模塊的輸出狀態(tài)的裝置。
另一示范實(shí)施例涉及提供串行通信給擴(kuò)展模塊來(lái)讀與寫(xiě)離散輸入/輸出、模擬輸入/輸出、智能模塊控制、及擴(kuò)展模塊狀態(tài)的系統(tǒng)。這一系統(tǒng)可包含提供通信與控制給若干擴(kuò)展模塊的狀態(tài)機(jī)結(jié)構(gòu)以及提供讀消息與寫(xiě)消息給狀態(tài)機(jī)結(jié)構(gòu)的控制器。這些讀消息與寫(xiě)消息的第一字節(jié)包含控制信息與奇偶校驗(yàn)位。將狀態(tài)機(jī)結(jié)構(gòu)配置成解碼來(lái)自控制器的控制信息,確定控制器正在尋址這些擴(kuò)展模塊中哪一個(gè)及來(lái)自控制器的消息是讀還是寫(xiě)消息,生成測(cè)試奇偶校驗(yàn)位,將來(lái)自控制器的奇偶校驗(yàn)位與該測(cè)試奇偶校驗(yàn)位比較,以及如果來(lái)自控制器的奇偶校驗(yàn)位與該測(cè)試奇偶校驗(yàn)位不匹配便傳遞檢錯(cuò)信號(hào)給這些擴(kuò)展模塊。
熟悉本技術(shù)的人員在審閱了后面的圖、詳細(xì)說(shuō)明、及所附權(quán)利要求時(shí),本發(fā)明的其它本質(zhì)與優(yōu)點(diǎn)將是顯而易見(jiàn)的。
下面將參照附圖描述本發(fā)明的示范實(shí)施例,其中相同的數(shù)字表示相同的元件,以及圖1為從擴(kuò)展模塊(EM)觀察到的輸入/輸出(I/O)擴(kuò)展總線信號(hào)的表;圖2為展示擴(kuò)展總線針腳分配及連接器鍵朝向的擴(kuò)展模塊印刷接線板(PWB)圖20;圖3為擴(kuò)展總線寫(xiě)周期處理的信號(hào)圖;圖4為擴(kuò)展總線讀周期處理的信號(hào)圖;圖5為ASIC針腳分配、信號(hào)名、緩沖器類(lèi)型、及信號(hào)說(shuō)明的表;圖6為展示連接在I/O擴(kuò)展總線上的擴(kuò)展模塊(EM)從屬應(yīng)用特定集成電路(ASIC)的電路圖;圖7為連接在一起的一組ASIC模塊;
圖8為按照各種值的ASIC模式的表;圖9為用在模式1操作中的地址與控制部分的表;圖10為用在模式2操作中的總線信號(hào)表;圖11為PLC的模擬輸入訪問(wèn)序列的框圖;圖12為PLC的模擬輸出訪問(wèn)序列的框圖;圖13為設(shè)定振蕩器周期的電路圖;圖14為定時(shí)器電路;圖15-23為各種消息類(lèi)型與條件的ASIC信號(hào)的定時(shí)圖;圖24-28為PLC的模擬輸入中的指令的定時(shí)圖;以及圖29-31為PLC的模擬輸出中的指令的定時(shí)圖。
具體實(shí)施方案描述了接口帶可編程邏輯控制器(PLC)的擴(kuò)展模塊的系統(tǒng)與方法。在下面的描述中,為了說(shuō)明的目的,陳述了許多特定細(xì)節(jié)以便提供對(duì)本發(fā)明的徹底理解。然而,對(duì)于熟悉本技術(shù)的人員而言,顯而易見(jiàn)可以無(wú)須這些特定細(xì)節(jié)而實(shí)踐示范性實(shí)施例。在其它實(shí)例中,以框圖形式示出結(jié)構(gòu)與裝置以便方便示范性實(shí)施例的描述。
在一個(gè)示范性實(shí)施例中,本發(fā)明的接口提供對(duì)擴(kuò)展模塊(EM)的串行通信。接口的CPU控制去往與來(lái)自EM的所有通信并在這里稱(chēng)作“主功能”。擴(kuò)展模塊包含ASIC來(lái)實(shí)現(xiàn)這一串行通信協(xié)議并稱(chēng)作“從屬功能”或“從屬ASIC”。
圖1示出從擴(kuò)展模塊(EM)觀察到的示范性輸入/輸出(I/O)擴(kuò)展總線信號(hào)的表10,從PLC到EM及從EM到EM的連接最好是用10腳管座型連接的1對(duì)1連接。
圖2示出擴(kuò)展總線針腳分配及連接器鍵朝向的示范性擴(kuò)展模塊印刷接線板(PWB)圖20。
圖3-4示出擴(kuò)展總線讀周期與寫(xiě)周期序列。總線處理是由XA_OD信號(hào)上的短低態(tài)有效脈沖發(fā)動(dòng)的。圖3中MA-模塊0至6的模塊地址(3位)R-讀/寫(xiě)位(讀低態(tài)有效)RA-寄存器R0至R15的寄存器地址(4位)CP-CPU在MA、R、RA上生成的控制奇偶校驗(yàn)(2位)寫(xiě)數(shù)據(jù)-寫(xiě)到模塊上的數(shù)據(jù)(8位)
DP-CPU在寫(xiě)數(shù)據(jù)上生成的數(shù)據(jù)奇偶校驗(yàn)(2位)ACK-好的寫(xiě)周期的模塊確認(rèn)(2位)圖4中MA-模塊0至6的模塊地址(3位)R-讀/寫(xiě)位(讀低態(tài)有效)RA-寄存器R0至R15的寄存器地址(4位)CP-CPU在MA、R、RA上生成的控制奇偶校驗(yàn)(2位)讀數(shù)據(jù)-讀自模塊的數(shù)據(jù)(8位)DP-CPU在寫(xiě)數(shù)據(jù)上生成的數(shù)據(jù)奇偶校驗(yàn)(2位)圖5示出EM SLAVE ASIC的針腳分配、信號(hào)名、緩沖器類(lèi)型及信號(hào)說(shuō)明的表50。ASIC的輸入/輸出(I/O)提供所有擴(kuò)展模塊I/O配置。即ASIC為通用接口。這一通用性是通過(guò)在ASIC中實(shí)現(xiàn)多種操作模式完成的。下面參照?qǐng)D15-31進(jìn)一步描述這多種操作模式。
圖6示出連接在I/O擴(kuò)展總線上的擴(kuò)展模塊(EM)從屬ASIC 62。外部滯后門(mén)64提供附加滯后來(lái)確保保持時(shí)鐘的質(zhì)量。除了外部滯后門(mén)64,EM從屬ASIC 62在所有關(guān)鍵性輸入信號(hào)上實(shí)現(xiàn)模擬Schmitt觸發(fā)器輸入緩沖器66來(lái)防御電噪聲干擾。模擬Schmitt觸發(fā)器輸入作用在EMC_1、EMC_N、XAS、XOD、及EXP2輸入信號(hào)上。
已設(shè)計(jì)出能消除外部滯后門(mén)64的EM從屬ASIC 62。只有一個(gè)時(shí)鐘輸入是有效的并將其它時(shí)鐘輸入拉到適當(dāng)?shù)臓顟B(tài)。I/O擴(kuò)展總線上的數(shù)據(jù)信號(hào)EMD是雙向信號(hào)而方向控制與緩沖存儲(chǔ)是受EM從屬ASIC 62控制的。
將EM從屬ASIC 62設(shè)計(jì)成接收及轉(zhuǎn)發(fā)I/O擴(kuò)展總線信號(hào)到下游下一個(gè)模塊或?qū)?lái)自下游模塊的數(shù)據(jù)轉(zhuǎn)發(fā)回PLC。信號(hào)XAS與XOD是從I/O擴(kuò)展總線信號(hào)XAOD導(dǎo)出的。XAS信號(hào)跟隨XAOD信號(hào)與在發(fā)動(dòng)總線處理的時(shí)鐘前沿上抽樣的短低態(tài)有效脈沖(1個(gè)時(shí)鐘周期)。信號(hào)XOD濾出該短低態(tài)有效脈沖XAS,并只在XAOD已經(jīng)是低態(tài)10μsec或以上時(shí)才成為有效。信號(hào)XOD是到ASIC中的異步輸入并復(fù)位ASIC及清除所有輸出。輸出信號(hào)ASIC_XAOD用作對(duì)下游下一個(gè)模塊的XAOD輸入。這一輸出信號(hào)包含XAS與XOD功能并附加ASIC生成的同步XAS信號(hào)(ASIC_XAS)。當(dāng)在總線消息的第一字節(jié)上檢測(cè)到奇偶校驗(yàn)錯(cuò)誤時(shí)ASIC_XAS成為低態(tài)有效并保持低態(tài)大約2.2μsec。下游模塊檢測(cè)到有效的XAS,從而保留輸出數(shù)據(jù)。
在接通電源時(shí)XOD釋放時(shí)鎖存輸入模塊地址MA_IN〔20〕并且只能在XOD低態(tài)時(shí)改變。下一個(gè)模塊地址MA_OUT〔20〕是通過(guò)將輸入模塊地址增加一生成的并將其傳輸給下游下一個(gè)模塊。第一個(gè)擴(kuò)展模塊具有模塊地址零,并能總共級(jí)聯(lián)8個(gè)擴(kuò)展模塊。
EM從屬ASIC 62提供兩個(gè)雙向緩沖器68與69來(lái)適當(dāng)?shù)靥幚鞩/O擴(kuò)展總線上的數(shù)據(jù)信號(hào)。EMD緩沖器(雙向緩沖器68)用PLC或上游擴(kuò)展模塊(較小物理地址的擴(kuò)展模塊)傳輸及接收數(shù)據(jù)。雙向緩沖器69EMD_NEXT_EM用下游擴(kuò)展模塊(較大物理地址的擴(kuò)展模塊)傳輸與接收數(shù)據(jù)。雙向緩沖器68與69的方向受到EM從屬ASIC 62的狀態(tài)機(jī)邏輯的下述控制。EMD緩沖器68默認(rèn)為輸入,并在EM從屬ASIC 62已確定PLC已尋址該模塊或具有較大地址的模塊及正在請(qǐng)求應(yīng)答時(shí)改變到輸出。EMD_NEXT_EM緩沖器69默認(rèn)為輸出,并在EM從屬ASIC 62已確定已請(qǐng)求具有大于其本身的地址的模塊來(lái)應(yīng)答PLC時(shí)改變到輸入。在已尋址該模塊或上游模塊時(shí),在對(duì)PLC應(yīng)答期間EMD_NEXT_EM信號(hào)將數(shù)據(jù)總線驅(qū)動(dòng)到低態(tài)。
EM從屬ASIC 62提供不反相(EMC_N)與反相時(shí)鐘(EM_I)輸入。在使用外部滯后門(mén)64時(shí),反相時(shí)鐘輸入有效并將不反相時(shí)鐘輸入拉高。在不使用滯后門(mén)的情況中,不反相時(shí)鐘輸入有效并將反相時(shí)鐘輸入拉低。在任何一種情況中,EM從屬ASIC 62都輸出不反相時(shí)鐘EMC_0到下游下一個(gè)模塊。
圖7示出ASIC系列72(ASIC 72a、72b、72c)及ASIC系列74(ASIC74a、74b、74c)。ASIC系列72為CPU所控制的三個(gè)連接的ASIC模塊的集合。在CPU具有控制時(shí)緩沖器76(示出為帶陰影的)在使用中。ASIC系列74為具有地址0、1、與2的三個(gè)連接的ASIC模塊的集合。ASIC系列74示出操作狀態(tài),其中CPU已尋址EM模塊74b且EM模塊74b應(yīng)答并且EM模塊74a傳遞通過(guò)的數(shù)據(jù)到CPU。在這一操作中使用緩沖器78。
圖8提供按照ID_BUF與ANA_TYPE值列出ASIC模式的表80。EM從屬ASIC 62具有三種操作模式來(lái)支持所有類(lèi)型的擴(kuò)展模塊。在初始接通電源時(shí)將標(biāo)識(shí)寄存器(ID_BUF)輸入到ASIC中并由ASIC解碼其值來(lái)確定操作模式。當(dāng)已將ID_BUF解碼為模擬類(lèi)型時(shí),利用輸入信號(hào)ANA_TYPE來(lái)選擇模式1或模式2操作。
EM從屬ASIC模式0提供8個(gè)離散輸入及8個(gè)離散輸出,并且不需要外部寄存器。模式0稱(chēng)作離散模式。
在模式0中,EXT0端口作為8位數(shù)據(jù)輸入端口操作而EXT1端口作為低態(tài)有效8位數(shù)據(jù)輸出端口操作。信號(hào)EXP0、EXP1、EXP2、及EXP4的功能是與模式相關(guān)的。在模式0中,信號(hào)EXP0、EXP1、及EXP2用作監(jiān)視器定時(shí)器功能,下面將對(duì)圖13-14進(jìn)一步描述。
EM從屬ASIC模式1提供智能模塊、帶板上微處理器的模擬模塊或需要8個(gè)以上輸入及8個(gè)以上輸出的模塊使用的總線接口。模式1可稱(chēng)作總線接口模式。
EXT0端口作為高態(tài)有效、8位雙向數(shù)據(jù)端口操作而EXT1端口包含8位地址與控制。圖9包含模式1中的EXT1地址與控制端口的表90。監(jiān)視器定時(shí)器功能可利用信號(hào)EXP0、EXP1、及EXP2。信號(hào)EXP4是模式1中的輸入并可稱(chēng)作WDT0。監(jiān)視暫停(WDT0)輸入用在智能模塊或包含本機(jī)處理器的模塊上。如果本機(jī)處理器的監(jiān)視器定時(shí)器起動(dòng),則WDT0信號(hào)成為高態(tài)有效。EM從屬ASIC通過(guò)在任何應(yīng)答消息上返回全1給PLC來(lái)應(yīng)答這一輸入。例如,在讀周期中,EM從屬ASIC返回8個(gè)數(shù)據(jù)位1及兩個(gè)奇偶校驗(yàn)位1。PLC在讀數(shù)據(jù)上識(shí)別出奇偶校驗(yàn)錯(cuò)誤而不處理該信息。即使WDT0已成為高態(tài)有效時(shí)EM從屬ASIC也允許下游模塊傳遞。圖21與22提供這些信號(hào)的模式1讀與寫(xiě)序列及定時(shí)的實(shí)例。
模式2操作是對(duì)非智能模擬模塊特定的并提供特定模數(shù)轉(zhuǎn)換器(ADC)。數(shù)模轉(zhuǎn)換器(DAC)、及模擬輸入多路復(fù)用器所需的配置與控制。EXT0總線用作8位、高態(tài)有效、雙向數(shù)據(jù)總線,用于與DAC及ADC裝置傳輸及接收數(shù)據(jù)。EXT1總線用于控制ADC與MUX裝置并示出在圖10的表100中。
在模式2中,用信號(hào)EXP0、EXP1、EXP2、及EXP4來(lái)控制DAC裝置并示出在圖2中。模式2操作遵照PLC發(fā)布的訪問(wèn)模擬裝置的獨(dú)一無(wú)二的指令序列。用在模式2中的PLC指令序列的說(shuō)明對(duì)圖11與12進(jìn)一步描述。參照?qǐng)D24-31進(jìn)一步描述該序列的實(shí)例及這些信號(hào)的定時(shí)。
參見(jiàn)圖11,其中示出模擬輸入方向序列110。PLC以特定的順序指令次序訪問(wèn)模擬輸入。如果PLC在序列中任何指令上檢測(cè)到錯(cuò)誤,則PLC可重試故障的指令而無(wú)須起動(dòng)該序列。
在步驟112中,從存儲(chǔ)體0中訪問(wèn)模擬輸入,而PLC通過(guò)在寄存器地址2h(R2)中寫(xiě)入16進(jìn)制值0來(lái)選擇存儲(chǔ)體0。在步驟114中,存儲(chǔ)體0有4條多路復(fù)用通道供選擇而PLC通過(guò)將任何值寫(xiě)入想要的通道的最高位(MSB)單元中來(lái)選擇該MUX通道。在步驟116中,用對(duì)該想要的通道的最低位(LSB)的PLC寫(xiě)來(lái)起動(dòng)ADC轉(zhuǎn)換。在步驟118中,在規(guī)定的時(shí)間量之后,PLC讀取MSB而MSB讀同時(shí)復(fù)位MUX裝置從而不選擇輸入。這是為力圖減少通道間串?dāng)_而進(jìn)行的。在步驟119中,PLC讀取LSB。LSB讀處理起動(dòng)另一ADC轉(zhuǎn)換,因此將該LSB值存儲(chǔ)在ASIC中的臨時(shí)寄存器中。這便允許PLC重試LSB讀。任何一個(gè)狀態(tài)寄存器的PLC讀或任何寫(xiě)處理釋放該臨時(shí)寄存器。
參見(jiàn)圖12,其中示出了模擬輸出訪問(wèn)序列120。模擬輸出是由PLC按特定順序指令次序訪問(wèn)的。如果PLC在序列中任何指令上檢測(cè)到錯(cuò)誤,則PLC可重試故障的指令而無(wú)須從頭起動(dòng)序列。
在步驟122中,從存儲(chǔ)體4訪問(wèn)模擬輸出。PLC通過(guò)將值4h寫(xiě)入寄存器地址2h(R2)來(lái)選擇存儲(chǔ)體4。存儲(chǔ)體4具有多達(dá)四條模擬輸出通道。在步驟124中,PLC通過(guò)尋址想要的通道的MSB來(lái)選擇模擬輸出通道。在這一處理期間將MSB字節(jié)寫(xiě)到DAC。在步驟126中,PLC尋址想要的通道的LSB。將該LSB字節(jié)寫(xiě)入DAC而在短時(shí)段之后發(fā)生DAC加載。
現(xiàn)在按照示范實(shí)施例描述監(jiān)視器定時(shí)器操作。利用外部針腳EXP0、EXP1、及EXP2來(lái)實(shí)現(xiàn)模式0與1中的監(jiān)視器功能。監(jiān)視器的一個(gè)目的是在CPU與擴(kuò)展模塊通信故障超過(guò)規(guī)定時(shí)段的事件中截止所有離散輸出。當(dāng)ASIC在模式0或1操作中時(shí)起動(dòng)監(jiān)視器定時(shí)器功能。監(jiān)視器由XOD或返回給CPU的有效ACK的出現(xiàn)復(fù)位。如果這兩個(gè)事件都未發(fā)生,則在監(jiān)視器超時(shí)之后清除所有輸出。一旦監(jiān)視器超時(shí),它便保持空轉(zhuǎn)直到發(fā)布了XOD或者有效的ACK返回到CPU為止。在模式0中,在ASIC內(nèi)部清除輸出。在模式1中,用信號(hào)EXP0來(lái)清除外部寄存器并將其稱(chēng)作EXT_CLR。如果監(jiān)視器超時(shí),將控制端口EXT1置位成全1。
為了實(shí)施監(jiān)視器定時(shí)器電路,利用信號(hào)EXP2作為監(jiān)視器時(shí)鐘輸入(CLK_IN)。諸如LM555定時(shí)器電路等外部振蕩器電路驅(qū)動(dòng)“模擬Schmitt觸發(fā)器”時(shí)鐘輸入EXP2。EM從屬ASIC提供反相時(shí)鐘輸出信號(hào)EXP1,在不使用LM555定時(shí)器電路的情況中可將其用來(lái)反饋到外部RC網(wǎng)絡(luò)中。圖13示出設(shè)定大約590μsec的振蕩器周期的RC網(wǎng)絡(luò)電路130。將EM從屬ASIC預(yù)置成1200個(gè)計(jì)數(shù)并給定590μsec的振蕩器周期,監(jiān)視器時(shí)段為大約708msec。圖14示出定時(shí)器電路實(shí)現(xiàn)140。
按照示范性實(shí)施例描述擴(kuò)展模塊(EM)從屬ASIC操作。EM從屬ASIC實(shí)現(xiàn)狀態(tài)機(jī)結(jié)構(gòu)來(lái)提供適當(dāng)?shù)耐ㄐ排c控制。PLC提供給EM從屬ASIC的有兩種類(lèi)型的消息寫(xiě)消息與讀消息。兩種消息的第一字節(jié)為帶有兩個(gè)奇偶校驗(yàn)位的控制字節(jié)。EM從屬ASIC解碼該控制字節(jié)并確定該P(yáng)LC正在尋址哪一個(gè)BM模塊、消息類(lèi)型(讀或?qū)?及正在訪問(wèn)的寄存器。EM從屬ASIC在接收的控制字節(jié)上生成兩位奇偶校驗(yàn)位并將它們的值與附加在控制字節(jié)上的奇偶校驗(yàn)位比較。如果奇偶校驗(yàn)位并不匹配則該EM從屬ASIC發(fā)布有效ASIC_XAS大約2.2μsec。通過(guò)XAOD信號(hào)將ASIC_XAS傳輸?shù)较掠蜗乱粋€(gè)模塊,從而保持輸出狀態(tài)。
寫(xiě)消息的第二字節(jié)為帶兩個(gè)奇偶校驗(yàn)位的寫(xiě)數(shù)據(jù)字節(jié)。EM從屬ASIC在該寫(xiě)數(shù)據(jù)字節(jié)上生成奇偶校驗(yàn)位并將這一值與寫(xiě)數(shù)據(jù)字節(jié)一起接收的奇偶校驗(yàn)位比較。如果這兩個(gè)值不等,則EM從屬ASIC用無(wú)效確認(rèn)(11)應(yīng)答PLC。如果奇偶校驗(yàn)值相等,則EM從屬ASIC用有效確認(rèn)(01)應(yīng)答PLC并用新數(shù)據(jù)更新輸出數(shù)據(jù)總線。在時(shí)鐘前沿上將確認(rèn)數(shù)據(jù)傳輸給PLC。
讀消息的第二字節(jié)為從EM從屬ASIC對(duì)PLC的應(yīng)答并包括一個(gè)讀字節(jié)及EM從屬ASIC生成的兩個(gè)奇偶校驗(yàn)位。EM從屬ASIC在時(shí)鐘前沿上將讀數(shù)據(jù)字節(jié)與奇偶校驗(yàn)位傳輸給PLC。
在初始接通電源時(shí),PLC發(fā)布有效XOD信號(hào)。檢測(cè)到XOD將狀態(tài)機(jī)置于其原始狀態(tài)并清除離散輸出及模擬輸出。也是在初始接通電源時(shí),EM從屬ASIC確定其模塊地址(MA_IN)、操作模式(模式0、1或2)并通過(guò)將其模塊地址增加一擴(kuò)展下一模塊地址(MA_OUT)。一旦發(fā)布了XOD,EM從屬ASIC鎖存該模塊地址MA_IN。當(dāng)在時(shí)鐘的前沿上抽樣到有效的XAS信號(hào)時(shí),便發(fā)動(dòng)總線處理。在抽樣X(jué)AS為真時(shí),狀態(tài)機(jī)從其原始狀態(tài)轉(zhuǎn)變到狀態(tài)0。在進(jìn)入狀態(tài)0時(shí)初始化狀態(tài)機(jī)并在下一個(gè)時(shí)鐘前沿上擴(kuò)展到狀態(tài)1。如果在任何時(shí)間上XOD信號(hào)成為有效的,則異步復(fù)位所有輸出而狀態(tài)機(jī)返回到其原始狀態(tài)。
圖15-23示出各種消息類(lèi)型與條件的EM從屬ASIC信號(hào)的定時(shí)圖150、160、170、180、190、200、210、220、及230。參見(jiàn)圖15,在時(shí)鐘21的前沿上在輸出端口EXT1上啟動(dòng)新數(shù)據(jù)。在模式0中,EXT1為低態(tài)有效輸出端口。
在圖16中,啟動(dòng)對(duì)外部端口EXT0的輸入數(shù)據(jù)一個(gè)時(shí)鐘周期并在時(shí)鐘12的后沿上在ASIC內(nèi)部登記。在時(shí)鐘13的前沿上內(nèi)部登記的讀數(shù)據(jù)開(kāi)始在EMD信號(hào)上串行移位出去。最小的寄存器配置時(shí)間是10nsec且最小保持時(shí)間是10nsec。
一起參見(jiàn)圖17與圖18,將在控制字節(jié)上生成的奇偶校驗(yàn)位與附加在控制字節(jié)上的奇偶校驗(yàn)位比較,并在時(shí)鐘10的后沿上登記結(jié)果。如果檢測(cè)到控制字節(jié)奇偶檢驗(yàn)錯(cuò)誤,則EM從屬ASIC生成其本身的XAS信號(hào)并在時(shí)鐘11的前沿上成為低態(tài)有效及保持低態(tài)9個(gè)時(shí)鐘周期。用CPU生成的信號(hào)XAS與XOD選通該ASIC信號(hào)ASIC_XAS。得出的輸出ASIC_XAOD用作對(duì)下游下一個(gè)模塊的XAOD信號(hào)。當(dāng)在控制字節(jié)上檢測(cè)到奇偶校驗(yàn)錯(cuò)誤時(shí)ASIC生成的XAS信號(hào)的目的是保留下游擴(kuò)展模塊的I/O數(shù)據(jù)。EM從屬ASIC只在時(shí)鐘0與12上抽樣X(jué)AS輸入信號(hào)。如果EM從屬ASIC在時(shí)鐘12上抽樣到有效的XAS,則它返回到其原始狀態(tài),從而防止將無(wú)效數(shù)據(jù)寫(xiě)到輸出上。
參見(jiàn)圖19,當(dāng)在寫(xiě)數(shù)據(jù)字節(jié)上檢測(cè)到奇偶校驗(yàn)錯(cuò)誤時(shí),EM從屬ASIC用無(wú)效確認(rèn)應(yīng)答CPU并且不用新數(shù)據(jù)更新EXT1數(shù)據(jù),寫(xiě)數(shù)據(jù)字節(jié)上的奇偶校驗(yàn)錯(cuò)誤并不生成有效的ASIC_XAS信號(hào),這一點(diǎn)與控制字節(jié)上的奇偶校驗(yàn)錯(cuò)誤不同。
圖20中的讀消息示出當(dāng)CPU已尋址帶較高物理地址的EM時(shí)EM從屬ASIC的應(yīng)答。讀字節(jié)是由被尋址的下游模塊驅(qū)動(dòng)的。信號(hào)EMD-TRI_EN及NEXT_EM_TRI_EN示出EMD雙向數(shù)據(jù)緩沖器的方向控制。
參見(jiàn)圖21-23,在模式1中,EXT0端口是高態(tài)有效的雙向數(shù)據(jù)端口而EXT1端口用作控制的8位。
參見(jiàn)圖23,擁有板上處理器的擴(kuò)展模塊具有監(jiān)視器超時(shí)信號(hào)。EM從屬ASIC提供輸入WDT0或EXP4來(lái)監(jiān)視本機(jī)處理器的監(jiān)視器超時(shí)狀態(tài)。當(dāng)WDT0為低態(tài)時(shí)EM從屬ASIC正常操作。如果WDT0信號(hào)變成高態(tài),EM從屬ASIC在讀消息應(yīng)答期間用全1應(yīng)答CPU。這在CPU所讀取的數(shù)據(jù)上強(qiáng)加奇偶校驗(yàn)錯(cuò)誤,從而防止CPU應(yīng)答無(wú)效數(shù)據(jù)。如果本機(jī)處理器已超時(shí),EM從屬ASIC并不禁止可能連接在系統(tǒng)上的其它模塊。換言之,即使本機(jī)處理器已超時(shí),EM從屬ASIC也適當(dāng)?shù)貞?yīng)答預(yù)定給其它擴(kuò)展模塊的消息。
PLC通過(guò)發(fā)布指定的指令序列來(lái)訪問(wèn)模擬輸入。圖24-28示出五條示范性指令的定時(shí)圖并示出模式2中的EM從屬ASIC的定時(shí)要求。EM從屬ASIC允許PLC重試任何給出的指令而無(wú)須從頭起動(dòng)序列。
參見(jiàn)圖24,利用第一指令,PLC通過(guò)寫(xiě)0hex到寄存器2選擇存儲(chǔ)體0或?qū)?hex到寄存器2選擇存儲(chǔ)體2。EM從屬ASIC識(shí)別出這是模擬輸入序列的第一指令。
參見(jiàn)圖25,借助第二指令,PLC通過(guò)寫(xiě)任何值到想要的輸入通道的MSB單元中來(lái)選擇要讀的輸入通道。EM從屬ASIC解碼該消息并使MUX選擇想要的輸入通道。
參見(jiàn)圖26,借助第三指令,PLC通過(guò)寫(xiě)任何值到想要的通道的LSB來(lái)發(fā)動(dòng)模數(shù)轉(zhuǎn)換。EM從屬ASIC解碼這一消息并使ADC_BYTE_SEL信號(hào)成為低態(tài)及ADC_RD信號(hào)脈沖地產(chǎn)生低態(tài)。這兩個(gè)條件導(dǎo)致ADC起動(dòng)轉(zhuǎn)換。
參見(jiàn)圖27,借助第四指令,PLC讀取轉(zhuǎn)換后的模擬信號(hào)的最高位(MSB)。EM從屬ASIC通過(guò)將ADC_BYTE_SEL設(shè)定為高態(tài)并在時(shí)鐘10的后沿上將MSB起動(dòng)到EXT0數(shù)據(jù)總線上并將其保持在上面直到時(shí)鐘13的后沿而尋址MSB。EM從屬ASIC在時(shí)鐘12的后沿上登記MSB并在時(shí)鐘13上開(kāi)始將新數(shù)據(jù)移位回PLC。
參見(jiàn)圖28,借助最后指令,PLC讀取轉(zhuǎn)換后的模擬信號(hào)的最低位(LSB)。EM從屬ASIC通過(guò)將ADC_BYTE_SEL設(shè)定為低態(tài)并在時(shí)鐘10的后沿上起動(dòng)LSB到EXT0數(shù)據(jù)總線上及保持在上面直到時(shí)鐘13的后沿來(lái)尋址LSB。在時(shí)鐘12的后沿上登記LSB并在時(shí)鐘13上將新數(shù)據(jù)移位回PLC。LSB讀指令還導(dǎo)致ADC發(fā)動(dòng)新的轉(zhuǎn)換,因此將該LSB放置在ASIC內(nèi)部的臨時(shí)保存寄存器中。這允許PLC重試最后指令及接收有效數(shù)據(jù)。在任何寫(xiě)處理或任何狀態(tài)寄存器讀處理時(shí)釋放該保存寄存器。
PLC通過(guò)發(fā)布指定的指令序列訪問(wèn)模擬輸出。圖29-31示出三條示范性指令的定時(shí)圖并示出模式2中的EM從屬ASIC的定時(shí)要求。EM從屬ASIC允許PLC重試三條指令中任何一條而無(wú)須從頭起動(dòng)序列。
參見(jiàn)圖29,借助第一指令,PLC通過(guò)寫(xiě)4hex到寄存器2中選擇存儲(chǔ)體4。EM從屬ASIC識(shí)別出這是模擬輸出序列的第一指令。
參見(jiàn)圖30,PLC通過(guò)寫(xiě)通道的MSB單元來(lái)選擇該模擬輸出通道。在這一指令期間還將MSB寫(xiě)到數(shù)模轉(zhuǎn)換器中。ME從屬ASIC在時(shí)鐘16的前沿上將ADDR_DAC設(shè)定為高態(tài)。在時(shí)鐘21的前沿上將MSB起動(dòng)到總線上并在時(shí)鐘22的前沿上將其起動(dòng)到DAC鎖存器中。在時(shí)鐘23的前沿上將MSB鎖存到DAC中。
參見(jiàn)圖31,借助最后指令,PLC尋址想要的通道的LSB,并將該LSB值寫(xiě)到數(shù)模轉(zhuǎn)換器中。EM從屬ASIC在時(shí)鐘16的前沿上將ADDR_DAC信號(hào)拉低。在時(shí)鐘21的前沿上將LSB起動(dòng)到EXZT0數(shù)據(jù)總線上并在時(shí)鐘22的前沿上起動(dòng)到DAC鎖存器中。WR_DAC_0的前沿導(dǎo)致DAC鎖存LSB而LD_DAC的前沿導(dǎo)致數(shù)模轉(zhuǎn)換。
雖然圖中所示與上面描述的示范性實(shí)施例是當(dāng)前較佳的,應(yīng)理解這些實(shí)施例只是通過(guò)示例方式提供的。其它實(shí)施例可包含例如各種不同的智能電纜。本發(fā)明不限于特定實(shí)施例,而是可擴(kuò)展到所附權(quán)利要求范圍與精神中的各種修正、組合、與重新配置。
權(quán)利要求
1.一種防止接口控制器與輸入/輸出(I/O)設(shè)備的通信接口寫(xiě)出無(wú)效數(shù)據(jù)的方法,包括解碼從控制器傳遞給應(yīng)用特定的集成電路(ASIC)的消息中的控制字節(jié),該控制字節(jié)擁有奇偶校驗(yàn)位;確定該控制器正在尋址若干擴(kuò)展模塊中哪一擴(kuò)展模塊(EM)及正在傳遞哪一類(lèi)型的消息;生成奇偶校驗(yàn)位;將生成的奇偶校驗(yàn)位與附加在控制字節(jié)上的奇偶校驗(yàn)位比較;以及如果奇偶校驗(yàn)位不匹配,發(fā)布信號(hào)來(lái)保持這些擴(kuò)展模塊的輸出狀態(tài)。
2.如權(quán)利要求1的方法,其中確定控制器正在尋址若干擴(kuò)展模塊中哪一擴(kuò)展模塊(EM)及正在傳遞哪一類(lèi)型的消息還包括確定正在訪問(wèn)哪一寄存器。
3.如權(quán)利要求1的方法,其中從控制器傳遞給ASIC的消息為寫(xiě)消息。
4.如權(quán)利要求1的方法,其中從控制器傳遞給ASIC的消息為讀消息。
5.如權(quán)利要求4的方法,其中該讀消息的第二字節(jié)包含ASIC生成的奇偶校驗(yàn)位。
6.如權(quán)利要求1的方法,還包括,如果奇偶校驗(yàn)位匹配,允許這些擴(kuò)展模塊繼續(xù)操作。
7.如權(quán)利要求1的方法,其中這些擴(kuò)展模塊為從菊花鏈形式連接在一起的七個(gè)擴(kuò)展模塊。
8.如權(quán)利要求1的方法,其中該發(fā)布的信號(hào)是傳輸給下游下一個(gè)擴(kuò)展模塊的錯(cuò)誤檢測(cè)信號(hào)。
9.如權(quán)利要求1的方法,其中該發(fā)布的信號(hào)有效2.2微秒。
10.一種應(yīng)答用于接口擴(kuò)展模塊,以便讀與寫(xiě)離散輸入/輸出(I/O)、模擬I/O、智能模塊控制及擴(kuò)展模塊狀態(tài)的通信協(xié)議的通信接口裝置,包括用于解碼從控制器傳遞的消息中的控制字節(jié)的裝置,該控制字節(jié)具有奇偶校驗(yàn)位;用于確定該控制器正在尋址若干擴(kuò)展模塊中哪一擴(kuò)展模塊(EM)及正在傳遞哪一類(lèi)型的消息的裝置;用于生成奇偶校驗(yàn)位的裝置;用于將生成的奇偶校驗(yàn)位與附加在控制字節(jié)上的奇偶校驗(yàn)位進(jìn)行比較的裝置;以及如果奇偶校驗(yàn)位不匹配,發(fā)布信號(hào)保持這些擴(kuò)展模塊的輸出狀態(tài)的裝置。
11.如權(quán)利要求10的裝置,還包括提供第一離散輸入/輸出裝置的第一操作模式。
12.如權(quán)利要求11的裝置,還包括提供需要8個(gè)輸入與輸出以上的模塊所使用的總線接口的第二操作模式。
13.如權(quán)利要求12的裝置,還包括提供非智能模擬模塊的控制的第三操作模式。
14.一種提供對(duì)擴(kuò)展模塊的串行通信以便讀與寫(xiě)離散輸入/輸出、模擬輸入/輸出、智能模塊控制、及擴(kuò)展模塊狀態(tài)的系統(tǒng),包括提供對(duì)若干擴(kuò)展模塊的通信與控制的狀態(tài)機(jī)結(jié)構(gòu);以及向狀態(tài)機(jī)結(jié)構(gòu)提供讀消息與寫(xiě)消息的控制器,讀消息與寫(xiě)消息的第一字節(jié)包含控制信息及奇偶校驗(yàn)位;其中將該狀態(tài)機(jī)結(jié)構(gòu)配置成解碼來(lái)自控制器的控制信息;確定控制器正在尋址若干擴(kuò)展模塊中哪一個(gè)及來(lái)自控制器的消息是讀消息還是寫(xiě)消息;生成測(cè)試奇偶校驗(yàn)位;比較來(lái)自控制器的奇偶校驗(yàn)位與測(cè)試奇偶校驗(yàn)位;以及如果來(lái)自控制器的奇偶校驗(yàn)位與測(cè)試奇偶校驗(yàn)位不匹配,傳遞錯(cuò)誤檢測(cè)信號(hào)給若干擴(kuò)展模塊。
15.如權(quán)利要求14的系統(tǒng),其中該狀態(tài)機(jī)結(jié)構(gòu)是從應(yīng)用特定的集成電路(ASIC)實(shí)現(xiàn)的。
16.如權(quán)利要求15的系統(tǒng),其中該ASIC包含雙向緩沖器。
17.如權(quán)利要求15的系統(tǒng),其中該ASIC具有三種操作模式用于具有8個(gè)或更少輸入/輸出的離散輸入/輸出的第一模式,用于具有8個(gè)以上輸入/輸出的離散輸入/輸出的第二模式,以及用于配置與控制非智能模擬模塊的第三模式。
18.如權(quán)利要求17的系統(tǒng),其中實(shí)現(xiàn)了監(jiān)視器功能,當(dāng)該控制器不能與這些擴(kuò)展模塊之一通信超過(guò)一個(gè)時(shí)段時(shí)禁止所有離散輸出。
19.如權(quán)利要求18的系統(tǒng),其中該監(jiān)視器功能是在第一與第二操作模式中啟動(dòng)的。
20.如權(quán)利要求14的系統(tǒng),其中將該錯(cuò)誤檢測(cè)信號(hào)傳遞至少2.2微秒。
全文摘要
一種通信接口包含與擴(kuò)展模塊通信以便讀與寫(xiě)離散輸入/輸出、模擬輸入/輸出、智能模塊控制、及擴(kuò)展模塊狀態(tài)的處理器。該擴(kuò)展模塊可以是應(yīng)用特定的集成電路(ASIC),各具有適當(dāng)?shù)貞?yīng)答輸入/輸出擴(kuò)展總線信號(hào)的狀態(tài)機(jī)結(jié)構(gòu)。該ASIC可包含利用來(lái)自控制器的消息的第一字節(jié)的錯(cuò)誤檢測(cè)。從而,該ASIC檢測(cè)到已從控制器傳遞錯(cuò)誤消息時(shí)傳輸消息給擴(kuò)展模塊使它們不響應(yīng)來(lái)自控制器的消息改變它們的輸出狀態(tài)。
文檔編號(hào)G06F13/38GK1409220SQ0214361
公開(kāi)日2003年4月9日 申請(qǐng)日期2002年9月20日 優(yōu)先權(quán)日2001年9月20日
發(fā)明者M·R·馬斯 申請(qǐng)人:西門(mén)子能量及自動(dòng)化公司