cpgz868
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 20 個(gè)
工控威望: 181 點(diǎn)
下載積分: 718 分
在線時(shí)間: 3(小時(shí))
注冊(cè)時(shí)間: 2008-01-07
最后登錄: 2013-01-06
查看cpgz868的 主題 / 回貼
樓主  發(fā)表于: 2008-08-12 21:58
急急急------關(guān)于西門子plc使用“ob40”有問(wèn)題
我自己在學(xué)習(xí)plc
自己寫了個(gè)程序:

ob1如下:
     A M 3.2
          JNB m001
          CALL "EN_IRT" //激活OB40對(duì)應(yīng)的硬件中斷
     MODE :=B#16#2 //用OB編號(hào)指定中斷
     OB_NR :=40 //組織塊編號(hào)
     RET_VAL:=MW100
m001: NOP 0


          A M 3.3
          JNB m002 //不是I0.3的上升沿時(shí)跳轉(zhuǎn)
     CALL "DIS_IRT" //禁止OB40對(duì)應(yīng)的硬件中斷
     MODE :=B#16#2 //用OB編號(hào)指定中斷
     OB_NR :=40 //組織塊編號(hào)
     RET_VAL:=MW104
m002: NOP 0

ob40如下:
L MW 0
L 1
+I
T MW 0
NOP 0

A(
L #OB40_MDL_ADDR
T MW 10
SET //rlo=1
SAVE //br=rlo
CLR //rlo=0
A BR
)
JNB _001
L #OB40_POINT_ADDR
T MD 12
_001: NOP 0


然后在hw config里的“DI16*DC24V interrupt"設(shè)置hardware interrupt勾上 然后在trigger for hardware設(shè)置前面兩個(gè)為上升沿。



然后在plcsim模擬程序,但就是不行 請(qǐng)高手指點(diǎn) 萬(wàn)分著急。。。。
bhqt
級(jí)別: 論壇版主

精華主題: 6 篇
發(fā)帖數(shù)量: 254 個(gè)
工控威望: 5338 點(diǎn)
下載積分: 8391 分
在線時(shí)間: 57(小時(shí))
注冊(cè)時(shí)間: 2007-04-11
最后登錄: 2023-11-24
查看bhqt的 主題 / 回貼
1樓  發(fā)表于: 2008-08-18 15:42
OB40例程.rar (163 K) 下载次数:107 給你一個(gè)標(biāo)準(zhǔn)例子,自己對(duì)照找原因。
從明天起,做個(gè)幸福的人,騎馬劈柴周游世界;
從明天起,關(guān)心糧食和蔬菜,有一所房子,面朝大海,春暖花開