1.s7-200和s7-300進(jìn)行mpi通信
s7-200 plc與s7-300 plc之間采用mpi通訊方式時(shí),s7-200 plc中不需要編寫(xiě)任何與通訊有關(guān)的程序,只需要將要交換的數(shù)據(jù)整理到一個(gè)連續(xù)的v 存儲(chǔ)區(qū)當(dāng)中即可,而s7-300 plc中需要在組織塊ob1(或是定時(shí)中斷組織塊ob35)當(dāng)中調(diào)用系統(tǒng)功能x_get(sfc67)和x_put(sfc68),以實(shí)現(xiàn)s7-200 plc與s7-300 plc之間的通訊。調(diào)用sfc67和sfc68時(shí)var_addr參數(shù)填寫(xiě)s7-200的數(shù)據(jù)地址區(qū),由于s7-200的數(shù)據(jù)區(qū)為v區(qū),這里需填寫(xiě) p#db1.dbx×× byte n 對(duì)應(yīng)的就是s7200 v存儲(chǔ)區(qū)當(dāng)中vb××到vb(××+n)的數(shù)據(jù)區(qū)。例如交換的數(shù)據(jù)存在s7-200中vb50到vb59這10個(gè)字節(jié)當(dāng)中,var_addr參數(shù)應(yīng)為 p#db1.dbx50.0 byte 10.
首先根據(jù)s7-300的硬件配置,在step7當(dāng)中組態(tài)s7-300站并且下載,注意s7-200和s7-300出廠(chǎng)默認(rèn)的mpi地址都是2,所以必須修 改其中一個(gè)plc的站地址,例子程序當(dāng)中將s7-300 mpi地址設(shè)定為2,s7-200地址設(shè)定3,另外要分別將s7-300和s7-200的通訊速率設(shè)定一致,可設(shè)為9.6k,19.2k,187.5k三 種波特率,例子程序當(dāng)中選用了19.2k的速率。
s7-200 plc修改mpi地址可以參考下圖:
圖1 s7-200 設(shè)置mpi地址
s7-300 plc修改mpi地址可以參考下圖:
圖2 s7-300 設(shè)置mpi地址
例子程序在ob1當(dāng)中調(diào)用數(shù)據(jù)讀寫(xiě)功能塊:sfc67和sfc68,如下圖:
圖3 程序編寫(xiě)
分別在step7 microwin32 和step7當(dāng)中監(jiān)視s7-200和s7-300 plc當(dāng)中的數(shù)據(jù),數(shù)據(jù)監(jiān)視界面如下:
圖4 s7-200監(jiān)控結(jié)果
圖5 s7-300監(jiān)控結(jié)果
通過(guò)cp5611,step7 microwin32, set pg/pc interface可以讀取s7200和s7300的站地址,如下圖:
圖6 cp5611診斷結(jié)果(站地址0為進(jìn)行編程的計(jì)算機(jī))
圖7 使用step7 microwin32診斷結(jié)果
2.s7-200和s7-300進(jìn)行profibus通信
s7-300與s7-200通過(guò)em277進(jìn)行 profibus dp通訊,需要在step7中進(jìn)行s7-300站組態(tài),在s7-200系統(tǒng)中不需要對(duì)通訊進(jìn)行組態(tài)和編程,只需要將要進(jìn)行通訊的數(shù)據(jù)整理存放在v 存儲(chǔ)區(qū),并且s7-300組態(tài)em277從站時(shí)設(shè)置正確的地址即可。
插入一個(gè)s7-300的站:
圖8 s7-300組態(tài)
選中step7的硬件組態(tài)窗口中的菜單 option® install new gsd(gsd 文件下載:113652)
導(dǎo)入siem089d.gsd文件,安裝em277從站配置文件,如下圖:
圖9 安裝gsd
在simatic文件夾中有em277的gsd文件:
圖10 安裝gsd
導(dǎo)入gsd文件后,在右側(cè)的設(shè)備選擇列表中找到em277從站,profibus dp®additional field devices®plc®simatic®em277,并且根據(jù)通訊字節(jié)數(shù),選擇一種配置,本例選擇8字節(jié)入/8字節(jié)出的方式,如下圖:
圖11 通信區(qū)域組態(tài)
根據(jù)em277上的撥位開(kāi)關(guān)設(shè)定以上em277從站的站地址。
圖12組態(tài)dp通信地址
組態(tài)完系統(tǒng)的硬件配置后,將編譯下載到s7-300的plc當(dāng)中。s7-300的硬件下載完成后,將em277的撥位開(kāi)關(guān)撥到與以上硬件組 態(tài)的設(shè)定值一致,在s7-200中編寫(xiě)程序?qū)⑦M(jìn)行交換的數(shù)據(jù)存放在vb0-vb15,對(duì)應(yīng)s7-300的pqb0-pqb7和pib0-pib7,打開(kāi) step7中的變量表和step7 microwin32的狀態(tài)表進(jìn)行監(jiān)控,它們的數(shù)據(jù)交換結(jié)果如下圖:
圖13 通信數(shù)據(jù)監(jiān)控
圖14 通信數(shù)據(jù)監(jiān)控
注意:vb0-vb7是s7-300寫(xiě)到s7-200的數(shù)據(jù),vb8-vb15是s7-300從s7-200讀取的值。em277上撥位開(kāi) 關(guān)的位置一定要和s7-300中組態(tài)的地址值一致。如果使用的s7-200通信區(qū)域不從vb0開(kāi)始,則需要設(shè)置地址偏移,在s7-300硬件組態(tài)中雙擊 em277,修改數(shù)值0為實(shí)際使用的數(shù)值即可,如下圖所示:
圖15 地址區(qū)域偏移設(shè)置
3.s7-200和s7-300進(jìn)行以太網(wǎng)通信
可以把s7-200的以太網(wǎng)模塊cp243-1配置為client,使用step 7 micro/win32中的向?qū)нM(jìn)行通信的配置即可。在命令菜單中選擇工具--> 以太網(wǎng)向?qū)А?
圖16 打開(kāi)以太網(wǎng)向?qū)?
第一步是對(duì)以太網(wǎng)通信的描述.點(diǎn)擊下一步開(kāi)始以太網(wǎng)配置。
圖17 向?qū)Ы榻B
在此處選擇模塊的位置,在線(xiàn)的情況下,您也可以用讀取模塊按鈕搜尋在線(xiàn)的cp243-1模塊。點(diǎn)擊下一步;
圖18 讀取模塊
在此處填寫(xiě)ip地址和子網(wǎng)掩碼。點(diǎn)擊下一步;
圖19 地址設(shè)置
需要填寫(xiě)模塊的連接數(shù)目,如只和cp343-1通信則在此處填寫(xiě)1,點(diǎn)擊下一步。
圖20 模塊占用地址設(shè)置
選擇此為客戶(hù)機(jī)連接,遠(yuǎn)程屬性tsap (transport service access point)填寫(xiě)為03.02,輸入343-1的ip地址.,點(diǎn)擊數(shù)據(jù)傳輸按鈕進(jìn)入數(shù)據(jù)交換的定義。
圖21 連接設(shè)置
點(diǎn)擊新傳輸按鈕進(jìn)入設(shè)置:選擇是讀取數(shù)據(jù)還是寫(xiě)入數(shù)據(jù)。填寫(xiě)通訊數(shù)據(jù)的字節(jié)個(gè)數(shù),填寫(xiě)發(fā)送數(shù)據(jù)區(qū)和接收數(shù)據(jù)區(qū)的起始地址,本例中為從s7-300的mb200開(kāi)始讀取8個(gè)字節(jié)到vb1000開(kāi)始的8個(gè)字節(jié)的區(qū)域中。
點(diǎn)擊確認(rèn)按鈕:
圖22 數(shù)據(jù)區(qū)域設(shè)置
選擇crc校驗(yàn),使用缺省的時(shí)間間隔30秒,點(diǎn)擊下一步按鈕。
圖23 使用crc
填寫(xiě)模塊所占用的v存儲(chǔ)區(qū)的起始地址。你也可以通過(guò)suggest address按鈕來(lái)獲得系統(tǒng)建議的v存儲(chǔ)區(qū)的起始地址, 點(diǎn)擊下一步按鈕。
圖24 配置存儲(chǔ)區(qū)
完成以太網(wǎng)向?qū)渲煤笮枰诔绦蛑姓{(diào)用以太網(wǎng)向?qū)傻膃thx_ctrl和eth0_xfr, 然后,將整個(gè)項(xiàng)目下載到作client的s7-200 cpu上。
圖25 程序編寫(xiě)