發送指令及發送完成位:編程
圖1. 發送完成位3d
接收指令及接收完成位:blog
圖2.接收完成位字符串
S7-1200字符串結構:table
總字符數 | 當前字符數 | 字符1 | 字符2 | ...... | 字符256 |
如上面S7-1200字符串結構,第一個字節是總字符數,第二個字節是當前字符數,因此發送和接收真正的字符內容都應該從字符串的第三個字節開始,所以發送和接收字符串都要進行相應的轉換。bfc
發送字符串轉換:im
要將 DB3.DBB20 中的字符串發送出去,須要通過下列轉換:通信
圖3. 發送字符串轉換db
接收字符串轉換:img
要將收到的字符串送入 DB3.DBB30 中須要進行如下轉換:
圖4. 接收字符串轉換
通訊任務:
主站將 P#DB3.DBX20.0 中的字符串「西門子」(注意發送緩衝區由 P#DB3.DBX22.0 開始,由於字符串前兩個字節分別是總字符數和當前字符數)發送給從站的接收緩衝區P#DB3.DBX32.0;從站 P#DB3.DBX22.0 返回「博大精深」給主站 P#DB3.DBX32.0。
主站輪詢:
圖5. 主站輪詢
從站輪詢:
圖6. 從站輪詢
通訊結果:
圖7.通訊結果