ISD:信息交換接口模塊
Index
1- 介紹
ISD模塊屬于Contatto系統(tǒng)范疇,它的意思是Data Exchange Interface,即信息交換模塊,它的作用使多個(gè)MCP之間能夠進(jìn)行信息交換,MCP和ISD通過RS485連接成一個(gè)網(wǎng)絡(luò)。ISD的編程也是通過MCPtools軟件寫簡(jiǎn)單的程序等式來實(shí)現(xiàn)的。
MCP之間通過ISD的信息交換是使用虛擬點(diǎn),ISD有如下的功能:
1. 它能夠在內(nèi)部RAM區(qū)創(chuàng)建所有連接的MCP(最多31個(gè))的虛擬點(diǎn)鏡像。
2. 按照順序執(zhí)行程序等式,如果某個(gè)程序等式的結(jié)果和先前的結(jié)果不一樣,則其就在緩存中改變虛擬點(diǎn),就會(huì)向?qū)?yīng)得MCP發(fā)送新的狀態(tài)。
3. 所有的信息是通過緩存發(fā)送到MCP的
ISD有2個(gè)獨(dú)立的串口:RS485用于連接MCP;另一個(gè)是RS232口,用于連接PC機(jī)(用于編程或監(jiān)控)。
由于MCP控制器是通過RS485口相連的,所以必須使用MCP plus,因?yàn)樗哂蠷S485口。下文所說的MCP就是指MCP plus。每個(gè)MCP在RS485網(wǎng)絡(luò)中具有不同的地址。
每個(gè)MCP控制器控制自己的總線,ISD接口能夠在MCP之間傳遞虛擬點(diǎn)的狀態(tài)。舉例,能夠控制一盞燈通過使用MCP2網(wǎng)絡(luò)中的輸出,使用MCP1網(wǎng)絡(luò)中的輸入。
最多可以連31個(gè)MCP控制器在同一個(gè)網(wǎng)絡(luò)當(dāng)中,ISD接口讀取各個(gè)MCP模塊的虛擬點(diǎn)的時(shí)間將隨著MCP模塊數(shù)量的增加而有所增加,這在RS485網(wǎng)絡(luò)中是很正常的。具體的延遲時(shí)間和很多因素有關(guān),難以計(jì)算,大致的時(shí)間計(jì)算公式如下:
Tr = (連接的MCP的數(shù)量) x 0.5 seconds
此公式的在ISD和MCP之間通信速率為19200 Baud時(shí)有效,并且監(jiān)視器沒有通過RS232連接在總線上(查看上面的連接圖)。事實(shí)上,如果監(jiān)視器掛接在總線上,則反應(yīng)時(shí)間將會(huì)增大一點(diǎn)。
1.1 一般說明
Contatto家族里的ISD通信模塊,在其RAM中,有1000個(gè)虛擬點(diǎn),另加每個(gè)連接的MCP的1000個(gè)虛擬點(diǎn)的鏡像。如上所說,也就是ISD只能交換MCP之間的虛擬點(diǎn)的信息。為了區(qū)分MCP之間和ISD的虛擬點(diǎn),我們使用如下標(biāo)識(shí):
Vm.n
這里m就是MCP的地址,n是虛擬點(diǎn)。如果m=0,則表示ISD的虛擬點(diǎn)。
u 虛擬點(diǎn)V0.1到V0.1000是ISD本身的虛擬點(diǎn)。
u 虛擬點(diǎn)V1.1到V1.1000時(shí)MCP地址為1的虛擬點(diǎn)的鏡像。
u 虛擬點(diǎn)V2.1到V2.1000時(shí)MCP地址為2的虛擬點(diǎn)的鏡像。
u ……
u 虛擬點(diǎn)Vn.1到Vn.1000時(shí)MCP地址為n的虛擬點(diǎn)的鏡像(n小于32)。
ISD預(yù)留一些點(diǎn)作特殊功用。
u V0.1000:只允許讀;當(dāng)ISD探測(cè)到一個(gè)或多個(gè)MCP出錯(cuò)的時(shí)候,此虛擬點(diǎn)激活,且其狀態(tài)可在MCP的LED燈 MCP.F上顯示。
u V0.999:可讀/寫點(diǎn); 這個(gè)點(diǎn)狀態(tài)控制著ISD內(nèi)置的繼電器,更確切的說,當(dāng)V0.999為0的時(shí)候,繼電器活動(dòng);當(dāng)V0.999為1的時(shí)候,繼電器不活動(dòng)。
u V0.998:只讀點(diǎn);在模塊上電程序初始化或在重新編程后,該點(diǎn)被激活。
u V0.997:只讀點(diǎn);該點(diǎn)的狀態(tài)每0.5秒改變一次。
u V0.996:保留
u V0.995:保留
u V0.994:保留
u V0.993:保留
2- 等式:類型和標(biāo)識(shí)符
只有邏輯等式才能下載到ISD模塊里。通過虛擬點(diǎn)(作為輸入)的邏輯等式控制虛擬點(diǎn)(作為輸出)的狀態(tài)。一個(gè)等式中包含的輸入點(diǎn)量是沒有限制的。一般ISD里的邏輯等式表示如下:
Vm.n = f ( Vj.k )
這里Vm.n是MCP地址為m的虛擬點(diǎn)n,f ( Vj.k )是輸入點(diǎn)的聯(lián)合等式。
用作輸出的虛擬點(diǎn)的功能實(shí)現(xiàn),可以通過使用邏輯的 與(符號(hào)&) 和 或(符號(hào)|)來聯(lián)合一個(gè)或多個(gè)輸入虛擬點(diǎn),也可以在輸入點(diǎn)前加 非 (符號(hào)!)。與的操作優(yōu)先級(jí)高于或的操作優(yōu)先級(jí),但要注意的是優(yōu)先級(jí)可以通過使用括號(hào)()來改變。
為避免混淆,一般遵循以下規(guī)則:
u 在MCP中作為輸入使用的虛擬點(diǎn),在ISD中作為輸出使用。
u 在MCP中作為輸出使用的虛擬點(diǎn),在ISD中作為輸入使用。
例子1:
此配置具有兩個(gè)MCP控制器,MCP1和MCP2,MCP1的一個(gè)輸出O1.1由MCP2的I1.1來控制,兩個(gè)MCP通過ISD連在RS485網(wǎng)絡(luò)上。
MCP2中的程序等式為:
ADDRESS=2 //給MCP分配地址為2
V1= I1.1 // V1由I1.1來控制
ISD中的程序等式為:
V1.1=V2.1 //MCP1中的虛擬點(diǎn)1由MCP2中的虛擬點(diǎn)1來控制
MCP1中的程序等式為:
ADDRESS=1 //給MCP分配地址為1
O1.1= V1 //O1.1的狀態(tài)由V1 來控制,即通過ISD,由MCP2中的I1.1來控制。
其實(shí)現(xiàn)過程,可參見下圖:
例子2:
此配置具有兩個(gè)MCP控制器,MCP1和MCP2,MCP1的一個(gè)輸出O1.1由MCP2的I1.1通過返回式按鈕來觸發(fā)控制,兩個(gè)MCP通過ISD連在RS485網(wǎng)絡(luò)上。
這個(gè)例子和例子1有點(diǎn)相似,因此有人想只是在MCP1中修改等式就可以,把O1.1 = V1 改為O1.1 = TV1;這是正確的,但是由于RS485網(wǎng)絡(luò)的反應(yīng)時(shí)間可能相當(dāng)長(zhǎng),有可能丟失短暫的觸發(fā)信號(hào)。所以一般最好的解決方法是T加在實(shí)際輸入點(diǎn)前,即I1.1前,而不是V1前。
MCP2中的程序等式為:
ADDRESS=2 //給MCP分配地址為2
V1= T I1.1 // V1由I1.1來觸發(fā)控制
ISD中的程序等式為:
V1.1=V2.1 //MCP1中的虛擬點(diǎn)1由MCP2中的虛擬點(diǎn)1來控制
MCP1中的程序等式為:
ADDRESS=1 //給MCP分配地址為1
O1.1= V1 //O1.1的狀態(tài)由V1 來控制,即通過ISD,由MCP2中的I1.1來控制。
例子3:
此配置具有兩個(gè)MCP控制器,MCP1和MCP2,MCP1的一個(gè)輸出O1.1在由MCP2的I1.1閉合的情況下持續(xù)閃爍。兩個(gè)MCP通過ISD連在RS485網(wǎng)絡(luò)上。最好使用MCP的V997來控制閃爍輸出,程序等式如下:
MCP2中的程序等式為:
ADDRESS=2 //給MCP分配地址為2
V1= I1.1 // V1由I1.1來控制
ISD中的程序等式為:
V1.1=V2.1 //MCP1中的虛擬點(diǎn)1由MCP2中的虛擬點(diǎn)1來控制
MCP1中的程序等式為:
ADDRESS=1 //給MCP分配地址為1
O1.1= V1&V997 //O1.1的狀態(tài)當(dāng)V1激活的時(shí)候閃爍。
例子4:
此配置具有兩個(gè)MCP控制器,MCP1和MCP2,以及一個(gè)ISD接口模塊。ISD的內(nèi)置繼電器在如下異常的情況下將會(huì)失效:
u 至少M(fèi)CP1網(wǎng)絡(luò)中1個(gè)模塊總線錯(cuò)誤
u MCP1總線短路
u 至少M(fèi)CP2網(wǎng)絡(luò)中1個(gè)模塊總線錯(cuò)誤
u MCP2總線短路
u ISD與至少1個(gè)MCP模塊通信錯(cuò)誤
ISD中的程序等式為:
V0.999=V0.1000|V1.1000|V2.1000|V1.999|V2.999
事實(shí)上:
u V0.999是ISD控制內(nèi)置繼電器的虛擬點(diǎn)
u V0.1000在RS485網(wǎng)絡(luò)中與至少1個(gè)MCP通信錯(cuò)誤的情況下激活
u V1.1000和V2.1000是對(duì)應(yīng)得MCP網(wǎng)絡(luò)中,當(dāng)有模塊出現(xiàn)錯(cuò)誤的時(shí)候,該點(diǎn)被激活
u V1.999和V2.999是對(duì)應(yīng)得MCP網(wǎng)絡(luò)中,當(dāng)有總總線出現(xiàn)錯(cuò)誤的時(shí)候,該點(diǎn)被激活
任一種警報(bào)的虛擬點(diǎn)的激活都會(huì)激活V0.999,也就是會(huì)使ISD內(nèi)部的繼電器失效,警報(bào)發(fā)生器(如汽笛等)必須連接在常閉的繼電器上。即使是在電源故障的情況下都會(huì)激活警報(bào)器。
例子5:
此配置具有三個(gè)MCP控制器,MCP1,MCP2和MCP3,以及一個(gè)ISD接口模塊。MCP3的輸出O7.3在MCP1的輸入I38.4閉合,并且MCP2輸入I46.3打開的時(shí)候激活。此例的程序等式如下:
MCP1中的程序等式為:
ADDRESS=1 //給MCP分配地址為1
V51= I38.4 // V51由I38.4來控制
MCP2中的程序等式為:
ADDRESS=2 //給MCP分配地址為2
V87= I46.3 //V87的狀態(tài)由I46.3
ISD中的程序等式為:
V3.1=V1.51 & !V2.87 //這里輸入部分的虛擬點(diǎn)等價(jià)于I38.4和I46.3
MCP3中的程序等式:
ADDRESS = 3 //給MCP分配地址為3
O7.3 = V1 //O7.1由V1來控制
3- 等式書寫
等式書寫是ISD編程的第一步。等式必須依照前面章節(jié)介紹的語(yǔ)法結(jié)構(gòu)來書寫。
用MCPTOOLS軟件來編寫等式;此軟件與MCP模塊一起由DUEMMEGI提供。
MCPTOOLS工作在個(gè)人計(jì)算機(jī)WINDOWS操作環(huán)境下,且允許程序的簡(jiǎn)單書寫和系統(tǒng)配置。
MCPTOOLS一般包括:
l 編寫程序的文本編輯器
l 可將ASCII文件轉(zhuǎn)換成二進(jìn)制文件的編譯器。
l 可校驗(yàn)程序的仿真器。
l 可將程序從PC傳輸?shù)絀SD
l 配置的輸入輸出模塊的狀態(tài)顯示圖。
包含等式的文件為ASCII格式,文件擴(kuò)展名必須為.EQU;例如:
filename.EQU
這里filename為程序文件的名稱,可以為WINDOWS下任何允許的名字。擴(kuò)展名.EQU是必須的,因?yàn)镸CP程序的一系列步驟(編譯和傳輸)要求源程序必須為此擴(kuò)展名。
ISD模塊程序包含3個(gè)連續(xù)步驟:
1.filename.EQU文件的建立(或編輯)
2.filename.EQU文件的編譯,這是將ASCII文件轉(zhuǎn)化為適合ISD存儲(chǔ)器格式的filename.BIN文件。
3.將filename.BIN文件下載到ISD存儲(chǔ)器。
假如在步驟2發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,則錯(cuò)誤的語(yǔ)法,連同錯(cuò)誤類型的信息和錯(cuò)誤發(fā)生的行數(shù),將被編譯器說明。
3.1 等式書寫規(guī)范
每個(gè)等式都必須按照相應(yīng)的語(yǔ)法來書寫。
以下規(guī)則必須遵守:
1.空格和TAB字符沒有意義,將被編譯器忽略,但是為了程序的可讀性,等式項(xiàng)間的一些空格的使用被推薦。
2.使用符號(hào)“”可以使等式分散為多行。
3.等式在一行結(jié)尾處結(jié)束(假如沒有“”符號(hào)說明)
4.“//”符號(hào)(雙斜線)表明在本行結(jié)束前,接下去的字為注釋,且他們將被編譯器忽略。注釋可增強(qiáng)程序的可讀性。強(qiáng)烈推薦使用注釋來描述程序中的等式。
5.在等式書寫中大小寫字母都可以使用。
編寫和編譯程序不需要將ISD模塊連接到PC上。
3.2 等式編譯
編譯為ISD程序處理的第二步。包含等式的文件(.EQU擴(kuò)展名)必須經(jīng)由MCPTOOLS專門的菜單項(xiàng)編譯。
編譯器處理編寫的等式,檢查語(yǔ)法和前后一致性,警告任何存在的錯(cuò)誤,且將數(shù)據(jù)存儲(chǔ)在一個(gè)名字相同,擴(kuò)展名為.BIN而不是.EQU的二進(jìn)制文件。二進(jìn)制文件為不可印刷格式,但它可以傳送到ISD儲(chǔ)存器。
在編譯過程中,假如錯(cuò)誤發(fā)生,這些錯(cuò)誤將顯示在PC上,且程序繼續(xù)檢查所有的等式但不產(chǎn)生二進(jìn)制文件。
編譯器同樣也報(bào)告警告:這意味著沒有錯(cuò)誤發(fā)生,但在下載到ISD存儲(chǔ)器前有一些地方需要核實(shí);即使有警告信息,也會(huì)建立二進(jìn)制文件。
3.3 將程序下載到ISD存儲(chǔ)器
ISD程序處理的最后一步為將二進(jìn)制文件傳送到ISD的閃存中,這個(gè)二進(jìn)制文件包含系統(tǒng)配置和等式代碼。
下載由MCPTOOLS固有的菜單項(xiàng)實(shí)現(xiàn),通過PC的RS232口連接到ISD的串口。
程序的下載要求ISD模塊存在且通過合適的線纜連接到PC。
注意:ISD出廠波特率為19200;假如需要一個(gè)較低速的,可以設(shè)置內(nèi)部跳線或ISD模塊的微型開關(guān)選擇器。
4 配置
4.1 連接
ISD模塊提供一個(gè)連接到系統(tǒng)總線的5孔可移動(dòng)式終端接口和一個(gè)內(nèi)部連接到繼電器用作系統(tǒng)錯(cuò)誤(模塊錯(cuò)誤,總線錯(cuò)誤等等)信號(hào)的3孔可移動(dòng)式終端接口。這個(gè)繼電器通常為激活的,當(dāng)錯(cuò)誤發(fā)生時(shí),繼電器無效;這樣即使在ISD模塊電源錯(cuò)誤時(shí),也會(huì)發(fā)生系統(tǒng)異常警報(bào)。繼電器的復(fù)位是自動(dòng)的,因?yàn)楫?dāng)異常消失時(shí),繼電器將恢復(fù)到它的正常狀態(tài)(激活)。
由于剛剛描述的運(yùn)行模式,可選錯(cuò)誤指示器(閃光燈,警報(bào)器或其他)得連接到繼電器的常閉觸點(diǎn);觸點(diǎn)功耗為5A @ 250Vac。
4.3波特率選擇
出廠的默認(rèn)設(shè)置時(shí)19200,如果需要更改,可以獲得如下的波特率:
u 19200 Baud
u 9600 Baud
u 4800 Baud
u 2400 Baud
掀開模塊的表面板,通過跳線來選擇需要的波特率。
注意:RS232口和RS485口的波特率是一樣的。