通過gprs實(shí)現(xiàn)組態(tài)軟件與plc的modbus通訊,實(shí)現(xiàn)無(wú)線遠(yuǎn)距離通訊。
plc采用s7-1200 1212c cpu和cm1241 rs485通訊模塊
宏電h7710sgs 485接口 gprs dtu模塊,組態(tài)軟件為紫金橋
對(duì)于宏電h7710 的工作原理,是把采集數(shù)據(jù)的s71200經(jīng)rs485 串口連接到gprs模塊上,之后通過模塊上的sim卡的網(wǎng)絡(luò),走流量連接到internet網(wǎng)中的一個(gè)固定ip地址的數(shù)據(jù)中心server,中心站采用紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù).
cm1241接口的3和8為rs485通訊正負(fù)極,對(duì)應(yīng)連接h7710的3和2端子
這個(gè)系統(tǒng)里plc作為從站使用,組態(tài)軟件為主站。
plc ob1 里始終調(diào)用mb_slave塊 ,mb_addr 為從站地址,mb_hold_reg 為指向 modbus 保持寄存器數(shù)據(jù)塊的指針。
在mb_hold_reg指定的數(shù)據(jù)塊db4中建立要發(fā)送的數(shù)據(jù)
mb_comm_load塊 用于組態(tài)端口使用 modbus rtu 協(xié)議來通信,在ob100里調(diào)用一次即可。port 端口號(hào),baud 波特率,parity 校驗(yàn)方式,mb_db mb_slave指令的背景數(shù)據(jù)塊的引用。 在程序中插入mb_slave之后,數(shù)據(jù)塊標(biāo)識(shí)符會(huì)顯示在 mb_db 框連接的下拉列表中。
通過以上指令從站plc程序部分基本完成,具備通訊條件。
再簡(jiǎn)單描述一下上位機(jī)設(shè)置。
在紫金橋組態(tài)軟件設(shè)備組態(tài)中配置所連接的從站設(shè)備1200。選擇modbus串行通訊,數(shù)據(jù)讀取周期時(shí)間設(shè)5秒,輸入正確plc通訊 地址,設(shè)置串口通訊格式,配置gprs設(shè)備h7710,dtu標(biāo)識(shí)輸入手機(jī)卡的電話號(hào)碼。
h7710的具體設(shè)置這里就不詳細(xì)敘述了,不是本文重點(diǎn)。
在紫金橋組態(tài)軟件點(diǎn)組態(tài)中添加mb_hold_reg指定的數(shù)據(jù)塊db4中的數(shù)據(jù),這樣在組態(tài)畫面就可以讀取從站的數(shù)據(jù)了。
這個(gè)案例主要用于實(shí)現(xiàn)無(wú)線遠(yuǎn)距離數(shù)據(jù)采集.
有錯(cuò)誤不足之處歡迎指正吐槽。