問:西門子s7-300PLC與哈斯勒沖板流量計進行DP通訊
在硬件組態中安裝了相關GSD文件,并在DP網絡中插入了ANYBUS-S PDP站點(從站),在ANYBUS-S PDP站點下插入了兩個類似模塊的東西,bbbbb 64Bit和OUTPUT 16Bit 。
問題如下:
查看哈斯勒廠家提供的通訊數據格式,里面大部分是IEEE-Float格式的數據,也有些是Byte的8個BIt,反映的是各種狀態,這些數據都存在讀寫,我查看硬件組態中bbbbb和OUTPUT都是I和Q的地址范圍,
請問如何去讀寫ANYBUS-S PDP站點(從站)中的數據呢?直接用ID、IW或是QD、QW的格式直接讀取,還是要通過SFC15和SFC14呢?
煩勞高手詳細指點一下!謝謝
可是任然存有如下疑問,還請解答一下:(還是針對S7-300與哈斯勒沖板流量計的硬件組態來說)
1·ANYBUS-S PDP站點(從站)中插入了一個64Byte大小的bbbbb,其對應I地址默認為256..319;插入了一個16Byte大小的OUTPUT,其對應Q地址默認為320...335.;
2·在S7-300主站處也添加有300的數字輸入和數字輸出模塊,I 地址為0..1,Q地址為0...1;
(參照 西門子S7-200與S7-300PROFIBUS通信,將S7-200看為儀表)問題如下:
從站那里32WORD的I地址,是否對應S7-300主站的QW0-QW31呢?S7-300主站自身的Q地址是外接實際繼電器的,在通訊的同時,這是否存在地址重疊問題?同時S7-300主站處也沒有32WORD這么多的Q點
沒有實際建立過這樣的通訊,請高手再說明一下,謝謝!
答:在回答你的問題之前,有一個概念必需搞明白,PLC的物理存儲器以字節為單位,因此存儲器單元規定為字節。
1•ANYBUS-S PDP站點(從站)中插入了一個64Byte大小的bbbbb,其對應I地址默認為IB256..IB319(共64個字節),相當于從站接收主站的數據存放在IB256..IB319;插入了一個16Byte大小的OUTPUT,其對應Q地址默認為QB320...QB335(16個字節),相當于從站發送信息給主站的數據區在QB320...QB335中;上述地址是DP從站與S7-300CPU主站之間的通信數據地址,是通過PROFIBUS總線與主站CPU交換信號的;而在S7-300主站處也添加有300的數字輸入和數字輸出模塊(I 地址為0..1,Q地址為0...1為一個字節),但它們是通過機架上背板總線(I/O總線)與CPU進行I/O信號的高速交換和對信號模塊數據的高速訪問,因此是完全不一樣的;
2.注意從站那里32WORD的I地址,不是對應S7-300主站的QW0-QW31,因為主站本身插槽中的數字輸出模塊可能已經使用此地址,必須避開S7-300主站插槽中數字量輸入/輸出模塊已經占用的地址,所以在實際組態時要避免地址重疊,一般你在硬件組態時,STEP7 軟件以及避免此類問題(選默認)。舉個例子,S7-300CPU通過EM277把S7-200掛到S7-300的PROFIBUS網絡上,而S7-300自身是16點數字輸出占用了QW0,那么在建立主站S7-300 與從站S7-200的發送區和接收區對應關系時,在主站中只能用QW2(主站將信息存入QW2),發送從站的VW0數據存儲區,為什么主站的發送數據區為QW2而不是QW0,就是因為S7-300CPU本身是16點數字輸出占用了QW0,因此不可能是QW0,QW2是在S7-300CPU本身占用和插槽模塊數字輸出基礎上設定的。當然可以設定為其他單元,但不可以設定為CPU本身及其插槽中模塊已經占有的地址。










