在工業(yè)控制現(xiàn)場(chǎng)需要采集電表數(shù)據(jù),但是控制系統(tǒng)一般都是采用的Modbus通訊協(xié)議,而不支持電表的DL/T645-1997協(xié)議,為了讓控制系統(tǒng)能夠讀取電表的數(shù)據(jù),而采用這個(gè)模塊可以自動(dòng)讀取電表數(shù)據(jù),并以Modbus協(xié)議轉(zhuǎn)發(fā),再由控制系統(tǒng)進(jìn)行接收。
電路采用STC15F4K61S4芯片設(shè)計(jì)(本程序長(zhǎng)度12K以內(nèi),所以也可以采用其他存儲(chǔ)器大于12K即可),總共可以使用6個(gè)不同的通訊口,其中COM1可以切換3個(gè)不同的接口,其他COM2~COM4與COM1口一共可以同時(shí)使用4個(gè);如果采用STC15F2K60S2就只能使用COM1~COM2,程序可以通用。
電路除了通訊口其他功能暫未使用,如果有興趣自己開發(fā);所有通訊口全部采用電氣隔離設(shè)計(jì),保證設(shè)備安全;由于光耦速度限制,波特率不能設(shè)置太高,4800及以下可以可靠使用,不過用于電表數(shù)據(jù)采集完全足夠。
電路板采用100*75標(biāo)準(zhǔn)尺寸,可以采用標(biāo)準(zhǔn)導(dǎo)軌安裝板,不用專用外殼,這種安裝板也容易購買;電路如果只使用COM1~COM2口,不用其他功能,電路非常簡(jiǎn)單,也容易制作。
電路焊接安裝好后,需用USB轉(zhuǎn)串口電路進(jìn)行程序燒寫,燒寫完成后即可利用串口進(jìn)行設(shè)置,設(shè)置只能使用COM1口(Modbus通訊使用同一端口),但需要注意的是電路為了使用方便已經(jīng)將COM1口默認(rèn)使用P36/P37引腳,而不是程序燒寫用的P30/P31引腳,如需使用傳統(tǒng)的P30/P31引腳,必須先用默認(rèn)使用的P36/P37引腳進(jìn)行設(shè)置,設(shè)置后Modbus通訊口同時(shí)改變,詳細(xì)設(shè)置請(qǐng)參考使用說明。
電度表通訊默認(rèn)使用1200Bts偶校驗(yàn)(大多電表采用),如果采用其他波特率也可以進(jìn)行設(shè)置,通訊默認(rèn)采用COM2口,一般不要改變,如果通訊設(shè)置已經(jīng)完成即可以進(jìn)行讀電度表地址并設(shè)置電度表位號(hào),最后設(shè)置完成必須保存然后重新開機(jī)即可。
Modbus口默認(rèn)為COM1口,設(shè)備地址默認(rèn)為4,當(dāng)然也可設(shè)置為32以下其他數(shù)字,模塊在讀取電度表數(shù)據(jù)后按照之前設(shè)置的序號(hào)依次保存,模塊設(shè)置有16位寄存器共40個(gè),每?jī)蓚€(gè)寄存器存儲(chǔ)一組數(shù)據(jù),所以一共可以存儲(chǔ)10塊表的20組數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)為16進(jìn)制高位在前;通訊協(xié)議采用Modbus標(biāo)準(zhǔn)協(xié)議進(jìn)行數(shù)據(jù)交換,用03功能碼讀取寄存器數(shù)據(jù),Modbus通訊協(xié)議請(qǐng)參考相應(yīng)的資料。