quote:以下是引用zhangli0在2007-12-28 17:48:17的发言:
1、在s7300/400中判断bool信号用a i0.1,而不是用l i0.1
2、虽然你得m10.1没有变化,但是当你得m10.2由0到1时,l0.1就存下了这个变化,所以m10.7就为1了。你需要看看fp的功能了!当读到m10.2由0到1时,l0.1为1,所以s m10.7会被执行l0.1没有记忆功能,是指扫描结束后它会复位,下一个周期开始,l0.1为0。没有结束的时候他是根据程序变化的!
谢谢!
1 、信号用a i0.1,而不是用l i0.1,写错了,已经更改!
2、 当读到m10.2由0到1时,l0.1为1,所以s m10.7会被执行(疑问:应该与前一周期的l0.1作比较,而前一周期的l0.1已经被复位);在“FP”指令的说明中写到:在每个程序扫描周期,都会将RLO位的状态与上一周期获得的状态进行比较,上一周期状态必须存储在沿标记地址中才能进行比较!
把FC1程序中FP改为FN后执行结果和L0.1采用M10.1的结果一致:
A M10.2
FN L0.1
S M10.7