林亦然
级别: 探索解密
精华主题: 0
发帖数量: 41 个
工控威望: 142 点
下载积分: 336 分
在线时间: 118(小时)
注册时间: 2015-04-16
最后登录: 2024-11-04
查看林亦然的 主题 / 回贴
楼主  发表于: 2020-01-12 15:24
一个10000多步的程序,怎么将输入输出的响应缩短,发现一个扫描周期很长,怕影响机械的响应精度。
lugua1
级别: 探索解密
精华主题: 0
发帖数量: 17 个
工控威望: 107 点
下载积分: 471 分
在线时间: 105(小时)
注册时间: 2015-04-06
最后登录: 2024-11-13
查看lugua1的 主题 / 回贴
1楼  发表于: 2020-01-13 11:23
PLC的工作模式     输入采集   程序执行    输出刷新。这样做能保证输入状态在同一个程序执行周期状态时一样的,给你编程和监控减小了很多难度。我猜你的工作模型可能是这样:比如一个运动部件往前运动,当传感器检测到时马上停止,这样程序在顺序执行时,你程序的长短肯定会影响你停的位置。如果你希望传感器感应到后运动尽可能快的停止可以采用如下方式1.你可用用外部输入中断。2.采用子程序和跳转,这样比如你的程序是10000多步,你运用跳转和子程序后(当前不用的程序不执行),可能当前执行的程序只有1000步。
lugua1
级别: 探索解密
精华主题: 0
发帖数量: 17 个
工控威望: 107 点
下载积分: 471 分
在线时间: 105(小时)
注册时间: 2015-04-06
最后登录: 2024-11-13
查看lugua1的 主题 / 回贴
2楼  发表于: 2020-01-18 14:09
先说外部中断,在外部输入状态变化时,立即跳出当前循环扫描执行程序,转而执行中断服务子程序,执行完中断服务子程序后,再跳回到之前跳出的循环扫描程序位置继续执行顺序程序。所以你只需要在中断服务子程序中写入你的停止程序即可。外部中断输入点不受扫描周期影响。另外基于以上特性不是所有的输入点都可以执行中断,只有硬件支持的才能中断(具体那几个点支持中断,需要你自行根据PLC的型号查手册)。                                                                                                         再回到楼主的工作模型,其实你停止的位置精度除了受你的程序执行周期影响外,还受你当前运行速度影响,例如你以1MM/S的速度立即停止和以100MM/S的速度立即停止是相差蛮远的(其实速度差异远远大于PLC扫描周期带来的差异)。。。。。。。由于在运行之前你并不知道目标地址在哪里,是检测到停止,都存在一个滞后性,不管你运用什么马达这个滞后性肯定是不能消除的,所以只要马达响应性还可以,不管是类型的马达没有什么大的区别。。。。。感应到停止最好例子是就PLC自带的马达归原点指令。我们可以去查看下各种PLC手册,对于马达归原点指令:有近原点开关      有原点开关         有原点回归高速       有原点回归爬行速度。你可以留意一下对系统归原点指令的原点开关,都是系统已经指定的一个输入点,为什么指定呢,就是因为这个输入点需要具有高响应性,换句话说需要具有中断能力。马达归原点的过程是这样的:先高速运行,检测到近原点开关后,切换到爬行速度,以爬行速度检测到原点开关后立即停止(当然回归方式很多,大概都是这个模式)。即使是这样,你的爬行速度不一样,找的原点位置也不一样。纯手打,希望楼主有所启发
本帖最近评分记录:
  • 下载积分:+1(bjb20082008)
  • 下载积分:+5(joker.k) 真是好人!