• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
楼主  发表于: 2009-05-14 18:57
假设,程序中有个定时器T1,定时时间为50ms,执行整个程序1个周期耗时为20ms,那么执行第二个周期时定时器的时间是否要增加20ms?
伟大的光荣的正确的中国人民万岁!!
醉湮邃虞
醉湮邃虞话老黑
级别: 略有小成
精华主题: 0
发帖数量: 229 个
工控威望: 409 点
下载积分: 1577 分
在线时间: 209(小时)
注册时间: 2009-01-16
最后登录: 2015-03-18
查看醉湮邃虞的 主题 / 回贴
1楼  发表于: 2009-05-14 19:15
这里有个概念
你的整个工作过程20毫秒?这也太短了。程序控制的是微生物的什么?
你的整个程序扫描周期20毫秒?这也太长了。扫描周期超过15毫秒就要精检程序了,一般的在7毫秒左右。
没明白你的意思,的,无从回答。
你这里有三个时间,50毫秒,20毫秒,第二个周期定时器时间。

定时器啥时记时,和他的输入端开毕时间有直接关系。如果你的控制周期在毫秒,建议你用多个PLC或者换个扫描周期在微妙数量级的PLC,(S7-200系列的扫描周期数量级是毫秒)..也就是说,如果用普通的指令, 例如 S  Q0.0,1 ,Q0.0被置位,最大有扫描周期(一般为7毫秒)的延迟。这个延迟时间是你不能承受的,换句话说,如果用S7-200系列来控制微妙级的时序,真的是很困难。
[ 此帖被醉湮邃虞在2009-05-14 19:23重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(justinzhou) 热心助人!
  • 棋牌比赛免费得实物,闲暇好去处
    http://www.jj.cn/indexTG.html?promoterid=108502812
    qwe123zxclk
    级别: 家园常客
    精华主题: 0
    发帖数量: 259 个
    工控威望: 502 点
    下载积分: 1759 分
    在线时间: 238(小时)
    注册时间: 2008-11-06
    最后登录: 2023-01-07
    查看qwe123zxclk的 主题 / 回贴
    2楼  发表于: 2009-05-14 19:38
    定时器应该是跟程序扫描同时进行的,到程序扫描2个周期后,如果定时器在再过10MS后被扫描到,那么时间控制的是最精确的,如果定时器在2个周期+10MS之前就扫描了,那么到下一周期才会扫描到定时器输出变化
    lanjinghao
    师夷洋技以制夷!!!
    级别: 略有小成
    精华主题: 0
    发帖数量: 21 个
    工控威望: 234 点
    下载积分: 600 分
    在线时间: 21(小时)
    注册时间: 2009-05-06
    最后登录: 2012-09-18
    查看lanjinghao的 主题 / 回贴
    3楼  发表于: 2009-05-14 20:07
    引用
    引用第1楼醉湮邃虞于2009-05-14 19:15发表的  :
    这里有个概念
    你的整个工作过程20毫秒?这也太短了。程序控制的是微生物的什么?
    你的整个程序扫描周期20毫秒?这也太长了。扫描周期超过15毫秒就要精检程序了,一般的在7毫秒左右。
    没明白你的意思,的,无从回答。
    你这里有三个时间,50毫秒,20毫秒,第二个周期定时器时间。
    .......


    整个程序比较庞大,扫描周期为20ms。PLC信息栏可以看到,最高21ms,最少16ms。我假设在我程序中有个定时器T1,定时时间为50ms,程序进行第二次扫描时,定时器T1的时间是否要增加20ms?还有个问题是整个程序的扫描周期为20ms,就意味着我的系统最少有20ms的时间不可控?
    [ 此帖被lanjinghao在2009-05-14 20:39重新编辑 ]
    伟大的光荣的正确的中国人民万岁!!
    醉湮邃虞
    醉湮邃虞话老黑
    级别: 略有小成
    精华主题: 0
    发帖数量: 229 个
    工控威望: 409 点
    下载积分: 1577 分
    在线时间: 209(小时)
    注册时间: 2009-01-16
    最后登录: 2015-03-18
    查看醉湮邃虞的 主题 / 回贴
    4楼  发表于: 2009-05-14 23:35
    建议你在可能的情况下在主程序中加入:
    诸如:if   I0.0   (or MB0<>0 )    than  call  SUB0  以缩短扫描周期,扫描周期过长的确会带来一系列问题。
    我理解不是20毫秒不可控,而是各种动作要延迟20毫秒才能有动作。
    至于加上20毫秒,如果需要50毫秒的方波信号,我怎么感觉应该减20毫秒呢,或者PLC本身可以处理这种延迟?要不怎么扫描周期是10毫秒级,怎么还会有1毫秒级的定时器呢?
    初看很简单的问题,把俺搞糊涂啦?

    扫描周期过长,建议使用时间中断,在中断程序中做一些动作,以满足时序要求。
    本帖最近评分记录:
  • 下载积分:+1(justinzhou) 优秀文章!
  • 棋牌比赛免费得实物,闲暇好去处
    http://www.jj.cn/indexTG.html?promoterid=108502812
    lanjinghao
    师夷洋技以制夷!!!
    级别: 略有小成
    精华主题: 0
    发帖数量: 21 个
    工控威望: 234 点
    下载积分: 600 分
    在线时间: 21(小时)
    注册时间: 2009-05-06
    最后登录: 2012-09-18
    查看lanjinghao的 主题 / 回贴
    5楼  发表于: 2009-05-15 08:14
    现在有个问题是,自由口通讯轮询时间间隔为50ms,加个计数器,每个50ms计数器加1,判断计数器的值进行轮询发送通讯命令,一次轮询发送10个通讯命令。可能是扫描周期过长的原因,轮询的通讯命令不是按照顺序发送,而是随机发送。这样也就意味着一个轮询需要50×10=500ms的时间,再加上20ms的扫描周期,有可能实际上一个轮询时间为500+20=520ms。如果有个通讯指令要隔一个轮询才能执行,那就意味着同个指令执行相隔时间为2×520ms=1040ms,相差1s多啊,而触摸屏和PLC采样周期为1S,那就有可能触摸屏显示的信息不能反映出实际运行情况。我这样分析对吗?
    伟大的光荣的正确的中国人民万岁!!
    醉湮邃虞
    醉湮邃虞话老黑
    级别: 略有小成
    精华主题: 0
    发帖数量: 229 个
    工控威望: 409 点
    下载积分: 1577 分
    在线时间: 209(小时)
    注册时间: 2009-01-16
    最后登录: 2015-03-18
    查看醉湮邃虞的 主题 / 回贴
    6楼  发表于: 2009-05-15 16:16
    从你叙述的通讯的控制出方式上看,感觉你的通讯控制方式有问题。你文中的计数器不是计数器,、而而是个计时器,用记时器就有可能造成通讯随机,这种随机方式有可能某个命令会很长时间比如10秒才发送一次,
    使用个内存单元,比如VD0,为零时,0号通讯,完毕使其为1,然后1号通讯,结束后,使其为2,然后2号命令通讯..............9号完毕后使其为零,0号通讯.................这种控制方法是绝对的轮流工作,、而不会造成丢失命令。

    即使扫描周期很端的程序,触摸屏幕显示的也不是即时值.,我观察过Q点,设备已经开始工作,、而触摸屏上的Q点状态指示灯,要过1-5秒才能有反应,反应的时间和触摸屏幕上的可视元件数量好像也有关系(除通讯速率、数据交换周期影响外)。
    .
    棋牌比赛免费得实物,闲暇好去处
    http://www.jj.cn/indexTG.html?promoterid=108502812
    lanjinghao
    师夷洋技以制夷!!!
    级别: 略有小成
    精华主题: 0
    发帖数量: 21 个
    工控威望: 234 点
    下载积分: 600 分
    在线时间: 21(小时)
    注册时间: 2009-05-06
    最后登录: 2012-09-18
    查看lanjinghao的 主题 / 回贴
    7楼  发表于: 2009-05-18 12:44
    我有个高压变频系统,PLC采用S7-200,触摸屏是TP277。现在触摸屏显示的运行频率、输入电流和输出电流有时会跳变到0,但实际的运行参数又没有任何变化。运行参数都是主控板采集或计算出来的,PLC通过通讯指令读取到运行参数并存储到PLC的存储空间,然后通过触摸屏显示出来。而这个问题又是随机发生,有时候在试验平台有这个问题,但在现场又正常,有时候现场出现这个问题,拿回来测试又正常。检测软件代码也没有任何故障,这个问题是否与触摸屏和PLC通讯干扰有关还是怎样?
    伟大的光荣的正确的中国人民万岁!!
    justinzhou
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看justinzhou的 主题 / 回贴
    8楼  发表于: 2009-05-18 13:00
    有启发,有收获。
    justinzhou
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看justinzhou的 主题 / 回贴
    9楼  发表于: 2009-05-18 13:29
    引用
    引用第4楼醉湮邃虞于2009-05-14 23:35发表的  :
    建议你在可能的情况下在主程序中加入:
    诸如:if   I0.0   (or MB0<>0 )    than  call  SUB0  以缩短扫描周期,扫描周期过长的确会带来一系列问题。
    我理解不是20毫秒不可控,而是各种动作要延迟20毫秒才能有动作。
    至于加上20毫秒,如果需要50毫秒的方波信号,我怎么感觉应该减20毫秒呢,或者PLC本身可以处理这种延迟?要不怎么扫描周期是10毫秒级,怎么还会有1毫秒级的定时器呢?
    初看很简单的问题,把俺搞糊涂啦?
    .......


    刚才试了一下,我的程序扫描周期为最大9,最小8。
    然后,优化了几个子程序的调用,结果扫描周期缩短为6ms至5ms。
    醉湮邃虞
    醉湮邃虞话老黑
    级别: 略有小成
    精华主题: 0
    发帖数量: 229 个
    工控威望: 409 点
    下载积分: 1577 分
    在线时间: 209(小时)
    注册时间: 2009-01-16
    最后登录: 2015-03-18
    查看醉湮邃虞的 主题 / 回贴
    10楼  发表于: 2009-05-18 23:49
    引用
    引用第7楼lanjinghao于2009-05-18 12:44发表的  :
    我有个高压变频系统,PLC采用S7-200,触摸屏是TP277。现在触摸屏显示的运行频率、输入电流和输出电流有时会跳变到0,但实际的运行参数又没有任何变化。运行参数都是主控板采集或计算出来的,PLC通过通讯指令读取到运行参数并存储到PLC的存储空间,然后通过触摸屏显示出来。而这个问题又是随机发生,有时候在试验平台有这个问题,但在现场又正常,有时候现场出现这个问题,拿回来测试又正常。检测软件代码也没有任何故障,这个问题是否与触摸屏和PLC通讯干扰有关还是怎样?


    感觉不是触摸屏与PLC 的通讯问题,应该是数据采集问题,如果没有握手信号,由于采集的时间很随机,可能会采集到0数据。

    在程序中加入一句:
    ld sm0.1
    movw   0,vw10000
    ...................
    if  采集数据=0 ,than vw10000=255

    再在触摸屏幕上,加入vw10000地址的显示信息,一段时间后观察其值,如果变为255,说明你真的采集到了数据0。

    我没有和设备直接通讯过,猜想想设备应该有个数据准备好信号,只有该信号为真,采集到的数据才是真实值。
    [ 此帖被醉湮邃虞在2009-05-19 00:14重新编辑 ]
    棋牌比赛免费得实物,闲暇好去处
    http://www.jj.cn/indexTG.html?promoterid=108502812
    lanjinghao
    师夷洋技以制夷!!!
    级别: 略有小成
    精华主题: 0
    发帖数量: 21 个
    工控威望: 234 点
    下载积分: 600 分
    在线时间: 21(小时)
    注册时间: 2009-05-06
    最后登录: 2012-09-18
    查看lanjinghao的 主题 / 回贴
    11楼  发表于: 2009-05-19 11:12
    你这个建议非常不错
    伟大的光荣的正确的中国人民万岁!!
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go