jww
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 28 個(gè)
工控威望: 178 點(diǎn)
下載積分: 642 分
在線時(shí)間: 44(小時(shí))
注冊(cè)時(shí)間: 2008-12-21
最后登錄: 2024-09-13
查看jww的 主題 / 回貼
456樓  發(fā)表于: 2009-12-18 09:50
新手請(qǐng)教:1. 可不可以用PROFIBUS線進(jìn)行MPI通信(在兩臺(tái)S7 300之間)?
          2.我安裝的STEP7 V5.4中文版軟件編程窗口下左側(cè)目錄的“庫(kù)”里文件不全,只有SMATIC-NET-CP文件,如何補(bǔ)全?
敬請(qǐng)高手指教。謝謝!
deanhao
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看deanhao的 主題 / 回貼
457樓  發(fā)表于: 2009-12-18 22:23
引用
引用第517樓jww于2009-12-18 09:50發(fā)表的  :
新手請(qǐng)教:1. 可不可以用PROFIBUS線進(jìn)行MPI通信(在兩臺(tái)S7 300之間)?
          2.我安裝的STEP7 V5.4中文版軟件編程窗口下左側(cè)目錄的“庫(kù)”里文件不全,只有SMATIC-NET-CP文件,如何補(bǔ)全?
敬請(qǐng)高手指教。謝謝!

1,可以的。
2 找一找?guī)煳募@個(gè)我倒是沒(méi)有遇到過(guò)。
jww
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 28 個(gè)
工控威望: 178 點(diǎn)
下載積分: 642 分
在線時(shí)間: 44(小時(shí))
注冊(cè)時(shí)間: 2008-12-21
最后登錄: 2024-09-13
查看jww的 主題 / 回貼
458樓  發(fā)表于: 2009-12-19 12:57
用PROFIBUS線進(jìn)行MPI通信(在兩臺(tái)S7 300之間),是不是兩端接上DP頭,電阻都打在ON,然后按照MPI的編程操作就行了?我是這樣進(jìn)行的,但兩臺(tái)300 PLC不通訊錯(cuò)在哪里呢?請(qǐng)高手指教!
wwcwwc
級(jí)別: VIP會(huì)員

精華主題: 0
發(fā)帖數(shù)量: 3393 個(gè)
工控威望: 3189 點(diǎn)
下載積分: 70387 分
在線時(shí)間: 1603(小時(shí))
注冊(cè)時(shí)間: 2008-04-20
最后登錄: 2024-10-31
查看wwcwwc的 主題 / 回貼
459樓  發(fā)表于: 2009-12-22 09:33
回519樓:請(qǐng)問(wèn)你的硬件組態(tài)怎樣?發(fā)幾個(gè)圖片你看看
  

在組態(tài)完成后,加OB82;OB85;OB86;OB87;OB122塊上去.
jww
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 28 個(gè)
工控威望: 178 點(diǎn)
下載積分: 642 分
在線時(shí)間: 44(小時(shí))
注冊(cè)時(shí)間: 2008-12-21
最后登錄: 2024-09-13
查看jww的 主題 / 回貼
460樓  發(fā)表于: 2009-12-22 16:22
感謝520樓,我用的兩臺(tái)PLC 是西門子300 CPU314 訂貨號(hào)是314-1AG14-0AB0,不能進(jìn)行MPI通信(利用PROFIBUS線)的原因可能是這款PLC不支持PROFIBUS通信,它的硬件設(shè)置里就不能進(jìn)行PROFIBUS通信設(shè)置。非常感謝,我說(shuō)的對(duì)嗎?
hhjauto
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 26 個(gè)
工控威望: 139 點(diǎn)
下載積分: 480 分
在線時(shí)間: 11(小時(shí))
注冊(cè)時(shí)間: 2009-11-24
最后登錄: 2015-07-01
查看hhjauto的 主題 / 回貼
461樓  發(fā)表于: 2009-12-25 16:45
在FC中,定義臨時(shí)變量#TEMP12、#TEMP4、#TEMP5、#TEMP6、#TEMP7均為DWord類型。#TEMP12用于計(jì)算指針偏移量,#TEMP4-7用于指向4個(gè)ARRY[1……112]BOOL類型的數(shù)組)STL代碼如下:
   OPN   #IN0                 //打開(kāi)相應(yīng)的DB
     ……   ……
      L     DBW    8               //DBW8保存了一個(gè)值為112的INT數(shù)據(jù)
      L        8
      /I    
      SLD   3
      L     P#DBX 0.0           //這里為何是用P#DBX0.0而不是用P#0.0?可否用P#0.0?
      +D    
      T     #TEMP12              //相加之后#TEMP12的內(nèi)容是怎樣的?
       L     P#DBX 10.0
      T     #TEMP4          
      L     #TEMP12
      +D    
      T     #TEMP6                //我的問(wèn)題是:用到P#DBX byte.bit來(lái)相加,則高字節(jié)的內(nèi)容是否相加?對(duì)尋址有無(wú)影響?
      L     #TEMP12
      +D    
      T     #TEMP7
      L     #TEMP12
      +D    
      T     #TEMP5
       L     DBW    8
M001: T     #TEMP3
           ……  ……
   A    DBX[#TEMP4]
      A    DBX[#TEMP5]
      =    DBX[#TEMP6]
     …… ……
   L     #TEMP3
      LOOP  M001
hhjauto
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 26 個(gè)
工控威望: 139 點(diǎn)
下載積分: 480 分
在線時(shí)間: 11(小時(shí))
注冊(cè)時(shí)間: 2009-11-24
最后登錄: 2015-07-01
查看hhjauto的 主題 / 回貼
462樓  發(fā)表于: 2009-12-25 22:43
就我的理解,將P#DBX  byte.bit裝入到32位指針中,指針的內(nèi)容為1000_0100_0000_0BBB_BBBB_BBBB_BBBB_BXXX。而若是將這樣的2個(gè)32位指針相加,那么第25、26、27位是否一樣地也相加呢??則相加的結(jié)果是否會(huì)導(dǎo)致尋址不再指向DBX了??然而別人程序就是這么編的應(yīng)該是沒(méi)錯(cuò)的,有點(diǎn)想不通。我是新手,剛接觸S7300,望前輩或是明白人給予指點(diǎn),感激不盡。
deanhao
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看deanhao的 主題 / 回貼
463樓  發(fā)表于: 2009-12-26 11:30
引用
引用第523樓hhjauto于2009-12-25 22:43發(fā)表的 樓上的問(wèn)題,哪位大俠幫忙解答下?萬(wàn)分感謝 :
就我的理解,將P#DBX  byte.bit裝入到32位指針中,指針的內(nèi)容為1000_0100_0000_0BBB_BBBB_BBBB_BBBB_BXXX。而若是將這樣的2個(gè)32位指針相加,那么第25、26、27位是否一樣地也相加呢??則相加的結(jié)果是否會(huì)導(dǎo)致尋址不再指向DBX了??然而別人程序就是這么編的應(yīng)該是沒(méi)錯(cuò)的,有點(diǎn)想不通。我是新手,剛接觸S7300,望前輩或是明白人給予指點(diǎn),感激不盡。

這個(gè)編程我覺(jué)得有點(diǎn)不嚴(yán)謹(jǐn),有可能會(huì)有莫名的問(wèn)題。
首先要肯定你的理解是正確的,兩個(gè)雙字相加,是沒(méi)有那個(gè)位被放棄的,正如你說(shuō)的25、26、27位也是相加。而這程序之所以出現(xiàn)正確結(jié)果是因?yàn)椋核褂玫氖谴鎯?chǔ)器間接尋址,而該尋址類型都是區(qū)域內(nèi)間接尋址,也就說(shuō)1000_0100_0000_0BBB_BBBB_BBBB_BBBB_BXXX,比B高的位都是無(wú)效的,原則上是應(yīng)該給清零的,以免出現(xiàn)不必要的麻煩。
就本程序而言,只有位號(hào)和字節(jié)號(hào)有效,高位也是相加只是無(wú)效,,因此你所說(shuō)的區(qū)域代碼DBX DIX等就是無(wú)用的,所以編程的結(jié)果的會(huì)出現(xiàn)對(duì)的,但是建議把高位都清零,因此這個(gè)編程是不嚴(yán)謹(jǐn)?shù)摹?br />還有就是要會(huì)利用仿真監(jiān)控,你可以監(jiān)視累加器,地址寄存器,狀態(tài)字等等,很容易能看出來(lái)到底高位有沒(méi)有變化。
deanhao
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看deanhao的 主題 / 回貼
464樓  發(fā)表于: 2009-12-26 11:33
羅嗦一下,你說(shuō)的區(qū)域代碼是區(qū)域間間接尋址用的,可使用寄存器間接尋址。
本帖最近評(píng)分記錄:
  • 下載積分:+2(hhjauto) 熱心助人
    hhjauto
    級(jí)別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 26 個(gè)
    工控威望: 139 點(diǎn)
    下載積分: 480 分
    在線時(shí)間: 11(小時(shí))
    注冊(cè)時(shí)間: 2009-11-24
    最后登錄: 2015-07-01
    查看hhjauto的 主題 / 回貼
    465樓  發(fā)表于: 2009-12-27 00:21
    引用
    引用第525樓deanhao于2009-12-26 11:33發(fā)表的  :
    羅嗦一下,你說(shuō)的區(qū)域代碼是區(qū)域間間接尋址用的,可使用寄存器間接尋址。

    感謝deanhao的指點(diǎn),也就是說(shuō)尋址正確的原因在于A   DBX[#TEMP4]這樣的指令中已經(jīng)指定了尋址DBX了是嗎?就是說(shuō)區(qū)域內(nèi)尋址一般使用P#byte.bit裝入指針中,而在區(qū)域間尋址才使用P#M byte.bit這樣的數(shù)據(jù)裝入指針中,而后面的指令就可以直接使用A  #TEMP4的形式了。PLCSIM電腦上有裝,還不熟悉怎么監(jiān)視,還需慢慢摸索。總之很感謝你的回答……一個(gè)人摸索真的是很郁悶的一件事情。此論壇真是個(gè)好地方。
    hhjauto
    級(jí)別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 26 個(gè)
    工控威望: 139 點(diǎn)
    下載積分: 480 分
    在線時(shí)間: 11(小時(shí))
    注冊(cè)時(shí)間: 2009-11-24
    最后登錄: 2015-07-01
    查看hhjauto的 主題 / 回貼
    466樓  發(fā)表于: 2009-12-27 01:26
    “而后面的指令就可以直接使用A  #TEMP4的形式了”,似乎不對(duì),這樣的指令似乎是錯(cuò)的,必須使用A  DBX[#TEMP4],百度了一下,總算是明白了,寄存器間接尋址支持X [AR1,P#byte.bit]的形式。區(qū)域代碼的作用就在這里是吧??
    deanhao
    級(jí)別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個(gè)
    工控威望: * 點(diǎn)
    下載積分: * 分
    在線時(shí)間: (小時(shí))
    注冊(cè)時(shí)間: *
    最后登錄: *
    查看deanhao的 主題 / 回貼
    467樓  發(fā)表于: 2009-12-27 11:14
    引用
    引用第527樓hhjauto于2009-12-27 01:26發(fā)表的  :
    “而后面的指令就可以直接使用A  #TEMP4的形式了”,似乎不對(duì),這樣的指令似乎是錯(cuò)的,必須使用A  DBX[#TEMP4],百度了一下,總算是明白了,寄存器間接尋址支持X [AR1,P#byte.bit]的形式。區(qū)域代碼的作用就在這里是吧??

    你的理解是正確的,以為上面已經(jīng)指定區(qū)域,即區(qū)域內(nèi)間接尋址,所以剩下的只用指定字節(jié)號(hào)和位號(hào)就可以了。
    而寄存器的尋址可以使用你說(shuō)的區(qū)域間,這時(shí)候的區(qū)域代碼就是很重要了。
    但是我不贊成你給的程序的編程方式,因?yàn)楹懿灰?guī)范回造成一些錯(cuò)誤。
    還有什么問(wèn)題歡迎討論。