ckq工控
由于plc是从左到右,从上到下,周期性扫描运行的,所以在编程时候程序放置的位置很重要。本人编制了以上一段程序同大伙一块探讨。为何条件满足了但是Y0没有接通呢!原因?
yuanle
原因在于D0的值在下一周期内立即被写入K1,这是明显有Bug的程序,实际这属于程序员逻辑错误了。
银光人生—华
扫描周期还真没研究过,可以是一种BUG;
第五纪冰川
基本常识性错误。
ljbcompany
关键还是时序问题,总是最后的才执行。
回复内容:
对: yuanle 原因在于D0的值在下一周期内立即被写入K1,这是明显有... 内容的回复!
哈哈,有趣的bug,这就是程序扫描的奥秘,你说D0在下一个周期内被写入k1,那为何D0等于K1的条件没接通,等于k2的却接通了呢?
对: ljbcompany 关键还是时序问题,总是最后的才执行。 内容的回复!
按照你这么说,总是最后的才执行,那么D0就应该等于k2咯?那为何Y0却没有接通,原因?
对: 第五纪冰川 基本常识性错误。 ... 内容的回复!
错在哪里?
dabanshuan
你把SM400 换成SM413试试 可能扫描时间太快了 看不到跳变的现象
楼主说的很清楚了,程序是从上到下,从左到右,
y0使用的是mov k1 d0 的值,y1使用mov k2 d0的值
z4951879
好像PLC程序是错误的呢
ss330477403
和双线圈错误一样,只不过用的是数据存储器。
tiantianfuyu
楼主,能否解释一下呢
勃龙工控
有的重要,有的不重要
jattly
对: z4951879 好像PLC程序是错误的呢 内容的回复!
是呀,错的
东坡牧羊人
引用 yuanle 的回复内容: 原因在于D0的值在下一周期内立即被写入K1,这是明显有...
芳季
连扫描原理都不清楚?还有什么是知道的?
okyouandme
Y0的条件不满足的 Y1的满足的 应该是Y0没输出 Y1有输出 你这个现象可能是软件显示的问题吧。。。。 也有可能 软件收到的监控值只是循环扫描周期结束时的数据,并不反映程序中间的状态值的变化,因为速度太快了?。。。
不是速度快,应该是PLC在循环扫描结束时发送数据给监控软件的
chyjt
引用 芳季 的回复内容: 连扫描原理都不清楚?还有什么是知道的?
同意
楼主在end处算算结果不就知道了吗,
开始:
第一步:D0=1;
第三步:条件不满足,跳过;
第七步:条件满足,Y1计算得ON;
第十一步:D0=2
END:合算得D0=2;Y1=ON并将计算映射输出,则Y1输出,D0=2.
第二个扫描周期开始:重复第一步。
liuweiwei
这是显而易见的结果,时序逻辑错误。