【文章內容簡介】
也并不是實際硬件組態(tài)中的硬件地址,也就是說,輸入和輸出并不代表I/O模塊的地址和數(shù)據(jù)。但是映射區(qū)域組態(tài)用到的輸入和輸出地址,同時也占用了I/O模塊的組態(tài)地址,就是說,映射區(qū)的地址和I/O地址是并行的,不能重復使用。所以最好在硬件的I/O模塊全部組態(tài)完畢之后再組態(tài)映射區(qū)。映射區(qū)的數(shù)據(jù)交換是通過系統(tǒng)功能塊SFC14(DPRD_DAT——Read Consistent Data of a Standard DP Slave)和SFC15(DPWR_DAT——Write Consistent Data to a Standard DP Slave)實現(xiàn)的。SFC14和SFC15是成對使用的,一個發(fā)送一個接收,缺一不可。數(shù)據(jù)的通訊也是交互的,可以相互交換數(shù)據(jù)。本例中,我們通過簡單的數(shù)據(jù)來驗證通訊結果。首先,我們在程序中插入數(shù)據(jù)區(qū)DB1,前面我們只建立了2個字(2 Word)的映射區(qū),于是我們建立如下內容的DB1,為了查看的方便,DB1的前半部分作為接收數(shù)據(jù)的存儲區(qū),后半部分用作發(fā)送數(shù)據(jù)的存儲區(qū)。在兩個315中我們插入同樣的DB1,然后分別在OB1中編寫通訊程序。315(主站)中的程序如下:31 5(從站)中的程序如下:其中,程序的LADDR地址,對應的是硬件的映射區(qū)組態(tài)時本站的“本地地址”中的地址,從站的“本地地址”我們組態(tài)的是0,對應的“伙伴地址”也就是主站的地址是4。需要注意的是這里的地址是需要用16進制的格式來表示的,我們組態(tài)時是用10進制表示的。完成之后,我們在各站中插入OB8OB8OB122等程序塊,這些是