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