监控时模式开关的切换也能让sm0.1接通,但有时子程序运行不正确,重上电运行sm0.1完全正常
答:sm0.1只在cpu开始运行(比如cpu上电或拨码开关从stop到run)的第一个周期为1,接下的各个周期都为0。为初始化信号。
有时在调用子程序时用sm0.0不能实现控制要求,而有时用sm0.1也不能实现控制要求,对于什么使用sm0.0和sm0.1很困惑。用sm0.1和sm0.0调用子程序有什么区别?什么情况用sm0.1?什么情况用sm0.0呢?
答: 首先,我们明确sm0.0与sm0.1的区别。sm0.0在cpu运行的每个周期中一直保持为1;而sm0.1只在cpu开始运行(比如cpu上电或拨码开关从stop到run)的第一个周期为1,接下的各个周期都为0。
因此在使用中,通常在编写只需要进行一次初始化操作的程序时,会选择使用sm0.1,而对于每个周期都需要执行的程序,则使用sm0.0。
sm0.0是指cpu运行时每一个扫描周期的刷新作用。
sm0.1是指cpu上(通)电时的一次导通,其余扫描周期都没有使能。一般这个用在初始化数据等。
你也可以看程序编辑器中的“帮助”内容。“目录和索引”----“sm特殊存储器赋值和功能”里面的smb0-29中的内容介绍。
always_on sm0.0 该位总是打开。
first_scan_on sm0.1 首次扫描周期时该位打开,一种用途是调用初始化子程序。
