ole db 错误 通讯链接失败_西门子PLC1200的S7通讯(同一项目下)--GET接收指令
西門子PLC1200的S7通訊(同一項目下)--GET接收指令
1.0 首先在同一項目下,組態(tài)兩個PL,如下圖,組態(tài)了2個1200PLC 1214C的PLC
2.0 點擊鏈接里面,在窗口的右上角選擇S7連接,這個窗口可以看到本地ID,和主動建立連接勾選,然后選擇添加,下面的信息框就會顯示已添加
2.1 如下圖,就是建立S7連接后的組態(tài)
3.0 然后在每個PLC的程序下,新建兩個接收數(shù)據(jù)塊和發(fā)送數(shù)據(jù)塊,然后每個數(shù)據(jù)塊設(shè)定100個字節(jié)的發(fā)送和接收區(qū),并且找到數(shù)據(jù)塊屬性,把優(yōu)化訪問勾選去掉
4.0 從右邊指令欄--通信--S7連接,找到GET接收讀取指令
4.1 接下來我們解讀下這個GET指令塊
REQ:控制參數(shù)request,當(dāng)上升沿時,啟動交換數(shù)據(jù)
ID:需要匹配伙伴連接的對象的尋址參數(shù)
ADDR_1:指向伙伴PLC上需要讀取DB塊,起始地址,數(shù)據(jù)長度,數(shù)據(jù)類型
RD_1:指向存儲伙伴PLC已讀取的數(shù)據(jù)的DB塊,起始地址,數(shù)據(jù)長度,數(shù)據(jù)類型
注解:如上圖,你可以看到ADDR_1和RD_1是一樣的,但他代表的是不一樣的PLC,ADDR_1是指伙伴PLC的DB3數(shù)據(jù)塊0.0地址開始的10個字節(jié),而RD是指本地的DB塊,另外這里的設(shè)置跟TCP通訊不太一樣,指針直接指向伙伴PLC的發(fā)送地址,如果TCP的話,只能被動接收,是不知道從哪發(fā)出的
NDR:0作業(yè)尚未開始或仍在運行,1作業(yè)已成功完成
ERROR和STATUS:當(dāng)ERROR=0,STATUS為0000H表示既無警告也無錯誤,也可能<>0000H警告,當(dāng)ERROR=1,則肯定出錯了
5.0 另外還要在程序中寫兩步,如下圖,當(dāng)NDR為1,完成作業(yè)時,把STATUS的狀態(tài)保存到變量中,同理ERROR的時候也需要保存,這樣方便你判斷調(diào)試
6.0 另外需要注意下,CPU--屬性--訪問寫入讀出的權(quán)限要開起來
總結(jié)
以上是生活随笔為你收集整理的ole db 错误 通讯链接失败_西门子PLC1200的S7通讯(同一项目下)--GET接收指令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: selenium定位输入框_[Selen
 - 下一篇: ggplot2中显示坐标轴_qplot(