西門子PCS7系統(tǒng)中使用CP341實(shí)現(xiàn)MODBUS-RTU主站通訊的方法
西門子pcs7系統(tǒng)中使用cp341實(shí)現(xiàn)modbus-rtu主站通訊的方法
1:西門子pcs7系統(tǒng)的硬件配置環(huán)境,以工程實(shí)例介紹
1)plc為cpu414-5h冗余plc,cp341(使用im153-2),cp341主站硬件狗dongle(6es7870-1aa0-0ya0)
2)cp341可以擴(kuò)展多個(gè),目前較多用到10個(gè)cp341,但需要注意將cpu屬性中的cycle/clockmemory中過程映像區(qū)的size由768改為較大,如1024
2:西門子pcs7系統(tǒng)的軟件配置環(huán)境
1)pcs7v8.1西門子pcs7編程組態(tài)軟件
2)cpptpparamv5.1sp14串行通訊模塊驅(qū)動(dòng)程序
3)cpptpmodbusmasterv3.1sp7cp341的modbus主站驅(qū)動(dòng)協(xié)議,必須在安裝cpptpparamv5.1sp14之后再安裝此驅(qū)動(dòng)程序
3:cp341硬件組態(tài)
1)雙擊打開cp341屬性對(duì)話框,點(diǎn)擊parameters按鈕,然后選擇modbusmaster;
2)雙擊protocol,設(shè)置modbus通訊的波特率,停止位和奇偶校驗(yàn)位,如圖:參數(shù)設(shè)置為:9600,8-n-1,各個(gè)從站必須與此處保持一致;
3)設(shè)置電氣接口,選擇為半雙工2線rs485,各個(gè)從站的電氣接口標(biāo)準(zhǔn)必須與主站一致;
4)配置完成后保存,并裝載,裝載時(shí)冗余cpu必須都設(shè)置為stop模式.
4:軟件編程
1)首先需要手動(dòng)建立發(fā)送和接收數(shù)據(jù)塊db,打開組件視圖,在blocks中進(jìn)行建立,比如發(fā)送數(shù)據(jù)塊定義為db51,并定義符號(hào)名為:source_db(此符號(hào)名必須定義),打開數(shù)據(jù)塊后定義modbus功能碼的數(shù)據(jù)格式,如圖中:address從站地址為1,code功能碼為3(讀取保持寄存器區(qū)如40001/400001),reg_startadr寄存器起始地址為0,reg_count讀取25個(gè)寄存器數(shù)據(jù),可按照此順序定義多個(gè)不同從站地址,不同功能碼,不同寄存器。
2)定義接收數(shù)據(jù)塊db52,符號(hào)名為:destination_db,用于存放來自從站的不同數(shù)據(jù),從站寄存器地址在從站編程時(shí)較好將需要與主站通訊的數(shù)據(jù)規(guī)劃到連續(xù)的寄存器區(qū)域,且數(shù)據(jù)類型較好保持一致,如果地址不連續(xù),或者數(shù)據(jù)類型不同,那么在此處需要手動(dòng)建立多個(gè)接收地址,如圖中receive1定義為數(shù)組,包含25個(gè)實(shí)數(shù)類型,而對(duì)于地址不連續(xù)且數(shù)據(jù)類型不同的寄存器必須手動(dòng)建立。
3)區(qū)別于step7中的梯形圖編程,pcs7中使用cfc進(jìn)行編程,在工廠視圖中,“deviceinformation”中建立cfc通訊程序comm,此cfc程序中在ob33使用循環(huán)方式輪訓(xùn)各個(gè)讀取功能塊,當(dāng)數(shù)字為1時(shí),執(zhí)行cfc圖2中的**個(gè)程序塊,為2時(shí),執(zhí)行圖2中的*二個(gè)程序塊,依次類推。
上海顥勇自動(dòng)化設(shè)備有限公司專注于江蘇省西門子et-200代理商,山東西門子代理商,浙江西門子代理商等