新聞中心
通訊材料:
1) plc2臺,分別是200smart 的CR60和SR20;
2) 2個(gè)DP插頭(6ES7972-0BX12-0XA0)
3) 連接導線(xiàn)若干(plc電源及通訊)
驗證內容:
令:CR60 plc為主站,發(fā)送plc系統時(shí)鐘(8個(gè)字節的信息)給SR20從站;SR20從站發(fā)送一個(gè)雙字的循環(huán)移位數據給主站,并由通訊數據VD100接收輸出到QD0。
在驗證過(guò)程中曾經(jīng)出現一個(gè)錯誤,使MSG指令始終顯示為6,表示從站無(wú)響應。我驗證時(shí),由于連接2臺plc之間的3+、8-沒(méi)有確認,造成接線(xiàn)錯誤,使MSG的error錯誤信息為6,檢查后找到原因,重新接線(xiàn)后仍然報警6。最后檢查為控制程序不完整,主要原因是沒(méi)有給MB0一個(gè)初始化操作,造成錯誤值沒(méi)有得到有效的刷新。于是,在程序段1中加入初始化操作得到解決。
從站自VB31開(kāi)始為讀取主站VB11開(kāi)始的8個(gè)字節主站系統時(shí)鐘數據,指定VB31的起始地址是由Addr地址40011定義的,從站循環(huán)指令VD11運行結果,將由Mbus_init的Holdstart定義的起始地址發(fā)送和接收。自簡(jiǎn)而深進(jìn)行編寫(xiě)modbus rtu通訊程序,相對從站通訊程序比較簡(jiǎn)單,僅僅只是指定通訊種類(lèi)由Mbus_init管腳指定maxIQ/maxAI/maxHOLD/Holdstart定義,其它管腳根據主站定義匹配進(jìn)行,相對主站需要根據從站地址偏移量來(lái)確定。
通訊數據:
Modbus通訊程序相對的難點(diǎn)是通訊映射的地址關(guān)系。
主站讀取從站的數據,起始地址是根據從站Holdstart管腳定義的起始地址開(kāi)始算,而不是指從站的V區物理地址。在驗證程序中,從站的Mbus_init起始地址為VB11,那么,主站MSG指令的Addr 40001,應該是指從站的VB11地址。
同理,從站讀取主站系統時(shí)鐘,主站的MSG指令的Addr 40011,對應到從站的地址相當于偏移了10個(gè)字(偏移量10word + 11byte = 31byte) ,即為VB31開(kāi)始的8個(gè)字節中存放,Modbus通訊地址計算是40001開(kāi)始的。
總部地址:山西省太原市長(cháng)治路227號(山西綜改示范區
學(xué)府園區高新國際大廈B座一層)