同步动作的工作方式

已锁定

老学童

  • 帖子

    714
  • 精华

    29
  • 被关注

    48

论坛等级:奇侠

注册时间:2011-06-22

钻石 钻石 如何晋级?

同步动作的工作方式

2660

8

2020-08-18 15:14:29

最近在老外写的一段SPL(SAFE.SPF)中有一段程序无法理解,有疑问部分的内容如下:

....

DEFINE TIMER_RESET          AS $A_PLCSIOUT[2]

....

IDS=98 WHEN (TIMER_RESET == 1) DO TIMER_RESET = 0

IDS=99 WHEN (TIMER_RESET == 0) DO TIMER_RESET = 1

N999 $A_PLCSIOUT[1]=1; 

N1000 RET

问题:

比较疑惑的时红色部分,IDS=98中将TIMER_RESET设置为0,IDS=99中将TIMER_RESET设置为1,按理同步动作会在一个插补周期完成,那么执行的结果是什么呢?

测试:

SINUTRAIN中没有SPL,为了理解上述同步动作,只好利用程序事件激活同步动作,在CYCPE1MA.SPF添加以下程序段:

....

IDS=10 WHEN (R10 == 1) DO $R10=0

IDS=11 WHEN (R10 == 0) DO $R10=1

M17


测试结果:

重新启动SINUTRAIN后

1)可以看到同步动作有效;


2)R10的值由0变1;

3)手动将R10的值改成0后,R10保持值0

4)每次按复位键,R10的值会交替由0变1,或由1变0

结论:

各个同步动作之间相互关联,一个同步动作对一个变量操作后,下一个同步动作对同一变量无效。

虽然对其工作方式有了新的认识,但是,还是不太明白其中的道理,如果用PLC的工作原理思考,这两个程序段就无法理解了,希望各位高手来发表自己的见解!


同步动作的工作方式 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有24753条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。