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

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


          A M 3.3
          JNB m002 //不是I0.3的上升沿時跳轉(zhuǎn)
     CALL "DIS_IRT" //禁止OB40對應(yīng)的硬件中斷
     MODE :=B#16#2 //用OB編號指定中斷
     OB_NR :=40 //組織塊編號
     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è)置前面兩個為上升沿。



然后在plcsim模擬程序,但就是不行 請高手指點 萬分著急。。。。
bhqt
級別: 論壇版主

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