发布于 2007-10-12 20:29:14
0楼
特别是数据处理,高速计数,脉冲方面,你可以看看OMRON的同等的CP1,指令差不多900个,还有任务概念,西门子根本就没任务。
呵呵,能具体说说吗? 本人对日系不熟悉,学习一下. 举具体的例子来说明一下?
S7-300/400提供OB90,支持该功能. 对于S7-200是不提供固定扫描周期指令的.但是正如你所说,西门子很多东西都需要自己用基础指令搭建. 至于是好是坏,这是个仁者见仁,智者见智的事情. 指令多了不见得灵活,指令少了对初学者又比较麻烦. 所以很多初学者抱怨西门子入门难,不正是这样吗? 呵呵
就您提出的问题,我提供一个方法,看看是否可行?
1、在主程序的第一句
LD SM0.0
MOVB XYZ,SMB34 //XYZ代表固定扫描周期的时间(小于255)
ATCH INT_50,10 //连接定时中断子程序INT_0和定时中断0事件
ENI //中断全局允许
R M30.0 , 1 //复位标志位
2、在主程序的最后写
LBL 255
LDN M30.0
JMP 255
3、在定时中断子程序内写
LD SM0.0
S M30.0 , 1 //置位标志位
注意,以上固定周期不能超过定时中断最大时间255毫秒,如果超过,那么可以用计数,或者T32中断实现; 如果在定时中断产生时同时产生其他的系统中断,那么扫描周期会延长。
I can do it