cpgz868
级别: 探索解密
精华主题: 0
发帖数量: 20 个
工控威望: 181 点
下载积分: 718 分
在线时间: 3(小时)
注册时间: 2008-01-07
最后登录: 2013-01-06
查看cpgz868的 主题 / 回贴
楼主  发表于: 2008-08-12 21:58
急急急------关于西门子plc使用“ob40”有问题
我自己在学习plc
自己写了个程序:

ob1如下:
     A M 3.2
          JNB m001
          CALL "EN_IRT" //激活OB40对应的硬件中断
     MODE :=B#16#2 //用OB编号指定中断
     OB_NR :=40 //组织块编号
     RET_VAL:=MW100
m001: NOP 0


          A M 3.3
          JNB m002 //不是I0.3的上升沿时跳转
     CALL "DIS_IRT" //禁止OB40对应的硬件中断
     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"设置hardware interrupt勾上 然后在trigger for hardware设置前面两个为上升沿。



然后在plcsim模拟程序,但就是不行 请高手指点 万分着急。。。。
bhqt
级别: 论坛版主

精华主题: 6 篇
发帖数量: 254 个
工控威望: 5338 点
下载积分: 8391 分
在线时间: 57(小时)
注册时间: 2007-04-11
最后登录: 2023-11-24
查看bhqt的 主题 / 回贴
1楼  发表于: 2008-08-18 15:42
OB40例程.rar (163 K) 下载次数:107 给你一个标准例子,自己对照找原因。
从明天起,做个幸福的人,骑马劈柴周游世界;
从明天起,关心粮食和蔬菜,有一所房子,面朝大海,春暖花开