三菱plc程序逻辑问题

三菱plc程序逻辑问题,第1张

感觉这个逻辑有问题:

M0 先置位 Y001;

然后 Y001 使能 T0 计时器工作,3秒后 T0 输出;

T0 复位 Y001。注意,因为 Y001 使能指令在前面,此时不漏银会复位 T0 计时器,要等到这个凳银周期把下面的程序执行完成后才会再从第一枣搜宴步开始执行;

到下一个周期执行到第 4 步时,M0 又把 Y001 置位;

到第 6步时,因为 T0 在前一个周期还没有复位,此时 Y001 又使能了 T0。所以 T0 不会被复位;

再往下……

周而复始都不会复位 T0!

……

除非,M0 被复位!

function show_all_class($f_id = 0){

global $arr,$k

for($i=0$i<count($arr)++$i){

if($arr[$i][1]==$f_id)

{$str=leadStr($k++)

这儿使用$i之前+1 所以 不会出现当$i=0时,$arr[0][1]==$f_id的情况 而是$arr[1][1]==$f_id也就是数据销裤库查出的 row[f_id]==0 就执行以下代码 不过$k=0运行还是后 我们看下面 有个函数调用自身的过程 show_all_class($arr[$i][0])也就是show_all_class($arr[1][0])不管你$k有没被调用 运行后$k==0 这样leadstr方法中第一个传入去的$k应该是0 而$k被用后下面函数show_all_class()会递加1 我不知道你数据库传进的数据是什么 你传过来的值带进去 按这逻辑运行下 理解下函数的递归亏搜简 你就会明白了 不过这代码写得太不专业了 很乱漏大 而且很不标准


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12358443.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存