个人关于PLC的调试总结(小型设备) 点击:7010 | 回复:81



快速路到达

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 73回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2007年7月04日
发表于:2007-09-02 02:47:00
楼主
    我用了LS K120S配合人机界面做一些小型自动化设备将近2年,感触有一些,
    现在将自己的一些习惯写出,想与大家多交流

1、用触摸屏做两个监控画面,
   1)是所有的I/O,调试时查线,
   2)是重要的状态M,D,T,C,S,为了观察自动运行到达的步数方便。

   比如,高速计数时,P0-P3,P40,P41发脉冲时不一定显示,
   每0.1秒用DMOV到寄存器D既可看到位置和速度变化

2、注意接近开关或光电开关的极性NPN还是PNP,
   发现当输入点没有反应时,应把公共端极性变换。
3、T值为16位。长时间计时可用C配合T。
4、用步进,伺服电机及变频器,注意加减速时间,
   为了精度和系统平稳,用多个T和M效果好一些
  换向时,按正向正常速度--按减速时间--停止时间--换向时间--加速时间--反向运动正常速度
  加减速时间不仅要考虑PLC参数设置和伺服电机或变频器参数设置,
  还要参考系统负载惯性和传送机构缓冲时间。
5、关于D参数,开机时从存贮区调出给触摸屏,运行需要时运算一次。
  GMOV等D运算指令需要用脉冲执行方式(用F12时不能用脉冲执行方式),可缩短扫描周期。
  至于保持数据区的运算,更需设条件限制。“节约资源”是有好处的。
6、高速计数时用的P0-P3,不可再用于脉冲捕捉。要观察脉宽很小的信号可用M自锁其状态。
  单周期信号不要再用D取其上升沿。
7、注意扫描顺序,当M无法解锁或提前解锁,可适当把程序段变换位置。或者增加M做标志。
8、块选择时语言要切换到英文(我的软件3.62版)。
9、多用注释,元件上面写名称,线圈竖线右边写算法,
   程序块写该段作用和主要参数,
   这些文字在几个月后,再看程序就起作用了。
10、删除行CTL+U,添加CTRL+M,记住删除以后就恢复不了了。
    所以每天的程序要做备份,每次的大的改动最好也要做备份或者记录。
11、程序结构我喜欢这种方式:
   急停按钮-----各种异常判断和报警--
   输入--通讯参数运算--通讯指令发出/接受--状态流程--实时参数运算
   --输出--监控参数运算。
12、当动作很多,此时感觉程序很乱头很大时,
    可以用WORD记录所有的P,S,D,M及名称打印出来,
    或用一张A4或更大白纸写动作流程图。
13、用笔记本监控一下,在以下情况是否有不正常的M接通,
    1)开机时或刚打到RUN时,   2)停止时  3)自动时   4)手动时   4)急停时
    尤其是停止时和急停时,那些还没有解锁的M,往往就是造成系统不稳定的隐形杀手。
14、关于功能和稳定性:
   1)让搞工艺的或机械维修的人来操作你的系统,即使你调试的时候也要耐心和认真和他们交流,
     他们的经验或许使你的系统功能更加完善。
   2)当你对自己的系统稳定性感觉比较满意后,时间允许的话,让操作工人或者外行的人操作几下。
     此时最好站在急停钮或系统电源旁边。

15、注意充分利用公用程序段,可以缩短扫描时间
    手动,自动,半自动中共用的M,外部输入点和屏钮启停等,
    要注意好联锁,比如屏钮启动,外部按钮可以停止,外部启动,屏钮也可停止运行。
16、联锁关系,除了上面说的启动和停止,硬件按钮和触摸屏按钮,
    还有气缸的电磁阀,电机正反转等等,尤其是三相交流接触器,那不是开玩笑的,
    外部还要有接触器触点加联锁。
17、当采用485通讯时,比如给多个仪表或变频器发送或者接受D寄存器数据,适当加一些延时,
   避开总线竞争。也对电器元件有好处。
   当采用无协议方式,数据接收缓冲区和待发送区处理好,提前清零或预置好。
   尤其是急停或者停止时要充分保持停止命令可靠发出。

18、工程结束把程序分解成各个功能段,另存为各个文件,做一个分类库,用时就调出来很方便。
   我一般把它们可以按以下分
   1)运算指令类 2)高速计数及脉冲输出  3)模拟量及PID调节  4)通讯程序  5)中断应用
19、凡16位数据与32位混合运算,或者要用到负数(位置控制),
    运算开始可以先将接受的中间D寄存器清零,保证其高位准确收到。
20、要经常上网,经常上网不一定是坏事,尤其是工控网,这里面资料很多,深藏不露高人也很多。
    他们的某一句话,看似漫不经心,实际含金量足足300%,有可能帮助你节省几天甚至几月的时间。


以上是个人的体会,本来想写10条,写着写着成了20条
搞工控调试的一般都不善言谈,不过写文字还是能写了,
但愿不是写废话,呵呵,见笑了。

欢迎大家把宝贵经验拿来共享!



xinzail

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 190回
  • 年度积分:0
  • 历史总积分:352
  • 注册:2007年4月16日
发表于:2007-09-07 18:24:00
21楼
26、捕捉高速计数最好用中断,用比较指令要当心。
不太明白,能解释一下吗?

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2007-09-08 16:05:00
22楼
当产生中断事件后,当前程序停止执行,转入中断服务程序,处理完中断服务程序后再返回当前程序继续执行,实时性好。
如不用采用中断,当计数到指定的脉冲时,主程序可能没有扫描到要执行的比较指令处,会造成一定的延迟(延迟时间与扫描周期有关),对于实时性要求较高的场所可能会引起误动作。
个人理解,欢迎大家拍砖!

xinzail

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 190回
  • 年度积分:0
  • 历史总积分:352
  • 注册:2007年4月16日
发表于:2007-09-08 20:27:00
23楼
谢谢,还是不太明白,是否有例子让我演示演示,再次感谢楼上的指点。

明理

  • 精华:1帖
  • 求助:1帖
  • 帖子:43帖 | 3150回
  • 年度积分:0
  • 历史总积分:20986
  • 注册:2007年6月21日
发表于:2007-09-08 21:07:00
24楼
学习学习,谢谢。

改行3次

  • 精华:1帖
  • 求助:0帖
  • 帖子:14帖 | 145回
  • 年度积分:0
  • 历史总积分:199
  • 注册:2006年7月23日
发表于:2007-09-09 15:31:00
25楼
panqy82老兄:

请教一个地方,

“30、合理利用间接寻址指令#,有时很好用。”

当P10动作时,把D100~D100+i传送到D1000~D1000+i中,i值放在D10内(不是固定值),如何用变址方式做?

       谢谢!

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2007-09-09 15:49:00
26楼
为什么要用变址方式去做,学习可以。
看看gmov指令,一条代码就搞定,要是用变址的话麻烦点

改行3次

  • 精华:1帖
  • 求助:0帖
  • 帖子:14帖 | 145回
  • 年度积分:0
  • 历史总积分:199
  • 注册:2006年7月23日
发表于:2007-09-09 15:51:00
27楼
说错了,把D100~D100+i传送到D1000-i~D1000中

改行3次

  • 精华:1帖
  • 求助:0帖
  • 帖子:14帖 | 145回
  • 年度积分:0
  • 历史总积分:199
  • 注册:2006年7月23日
发表于:2007-09-09 15:56:00
28楼
目的是把队列最后一名的数据提取出来处理掉。

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2007-09-09 16:05:00
29楼
回的挺快

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2007-09-09 16:05:00
30楼
LOAD P10
SUB 1000 D10 #D0
GMOV D100 #D0 D10

旧货

  • 精华:0帖
  • 求助:3帖
  • 帖子:21帖 | 221回
  • 年度积分:0
  • 历史总积分:445
  • 注册:2003年1月11日
发表于:2007-09-09 16:08:00
31楼
宝贵经验,学习一下。

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2007-09-09 16:09:00
32楼
哈哈,大家相互学习

改行3次

  • 精华:1帖
  • 求助:0帖
  • 帖子:14帖 | 145回
  • 年度积分:0
  • 历史总积分:199
  • 注册:2006年7月23日
发表于:2007-09-09 16:21:00
33楼
谢谢panqy82工,回家试试看。

Ψ蓝色火焰Ψ

  • 精华:1帖
  • 求助:0帖
  • 帖子:51帖 | 1474回
  • 年度积分:0
  • 历史总积分:3985
  • 注册:2006年8月14日
发表于:2007-09-09 16:24:00
34楼
宝贵经验,学习一下。

改行3次

  • 精华:1帖
  • 求助:0帖
  • 帖子:14帖 | 145回
  • 年度积分:0
  • 历史总积分:199
  • 注册:2006年7月23日
发表于:2007-09-10 15:42:00
35楼
试了一下还可以
只是第二句要改动一下:
LOAD P10
SUBP 1001 D10 D0
GMOVP D100 #D0 D10

快速路到达

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 73回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2007年7月04日
发表于:2007-09-15 17:49:00
36楼
我们要继续前进,共同进步!

快速路到达

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 73回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2007年7月04日
发表于:2007-09-15 17:52:00
37楼
31、关于POSDST绝对方式和相对方式的区别:
1)绝对方式:POSPRS 1 3000     ,  POSDST 1  F11 10000 1000   ,
最后F042=10000 , 实际脉冲发送了7000 。
2)相对方式:POSPRS 1 3000     ,  POSDST 1  F10 10000 1000   ,
最后F042=13000 , 实际脉冲发送了10000 。

32、K120S内置有4种通讯方式,专用协议,用户自定义,MODBUS,无协议。
当采用RS232口的4,7,5或RS485的+,-- ,两个K120S基本单元1:1通讯可以有8种不同的方式。此时Cnet拨码开关1->OFF, 2 -> ON , 这是不使用外挂模块。除了专用协议以外,其他6种可以与其他控制器或仪表通讯。当与其他控制器通讯出现问题时,可以用 两个K120S基本单元1:1通讯做测试,可以很快确认出是硬件故障还是编程问题。

33、常用的F:
F10  恒ON
F11  恒OFF
F12  第1周期ON
F13  第1周期OFF
F90  20ms时钟
F91  100ms时钟
F92  200ms时钟
F93  1 s时钟
F94  2 s时钟
F97  1 min时钟
F120  CMP比较,s1<s2
F121  CMP比较,s1<=s2
F122  CMP比较,s1=s2
F123  CMP比较,s1>s2
F124  CMP比较,s1>=s2
F125  CMP比较,s1<>s2
F170  HSC0达到设定值
F171  HSC1达到设定值
F172  HSC2达到设定值
F173  HSC3达到设定值
F280  CH0运行状态
F281  CH0错误状态
F282  CH0运行结束 (单周期)
F287  CH0输出禁止
F288  CH0运行方向
F300  CH1运行状态
F301  CH1错误状态
F302  CH1运行结束 (单周期)
F307  CH1输出禁止
F308  CH1运行方向
F0340~F035F  CH0 当前位置地址
F0360~F037F  CH0 当前脉冲速率
F0420~F043F  CH1 当前位置地址
F0440~F045F  CH1 当前脉冲速率

34、报警红灯的常用顺序:
检出异常-->红灯闪(可用F93  1 s时钟),伴随声音报警-->人为按“复位”或达到延时-->红灯闪光转红灯平光(此时故障并未消除),停音-->消除故障-->红灯灭
这里面涉及一个问题,就是相应状态或数据恢复到正常区域,红灯才能熄灭。比如变频器过热报警,参数设置错误,气压过低,加热油温过高都是这种类型。

35、触摸屏中的重要参数页面应设置密码,防止一些涉及加工精度及运行稳定性的参数被操作人员任意修改,最好提供两种密码,一种为固定密码,一种可以修改。可修改密码可以仿QQ方式,输入一次原密码,如正确再输入两次相同的新密码,则新密码生成。固定密码只提供给设备供应商。可修改密码提供给客户管理者。

36、重要参数页面还应该设置“出厂恢复值”按键,当控制电机很多,很多设备参数需要调整的时候,这键很有必要。避免数日以后,恢复调整的麻烦。比如:脉冲当量,找零速度,偏移补偿量,时间修正值等等。

37、关于晶体管还是继电器的选择,对输出接点的实际通断频率要了解准确。当为继电器不采用浪涌吸收元件时,感性负载的电气寿命大约100K~200K,假设输出接点10秒动作一次, 每天设备运行5小时,1天动作次数 = 5X60X6=1800次,200000/1800 =111天,大约4个月。如果你感觉控制器接点坏的挺快,那就要重新核算一下设备实际的动作频率了。

38、如果PLC点数富裕,尽量留具备特殊功能的I/O点。比如P0~P3高速计数用(或P0~P7脉冲捕捉功能点),晶体管输出时P0~P3可以做位置控制用。只要这些点正常,如果本机不用,拆下来还可以用在别处,退一步说当二手卖转让也会顺一些。

39、当用K120S控制步进电机或者伺服电机时,个人感觉与FX1N的精度和稳定性差不多。
指令结构和参数的赋值方式略有不同,总的来说效果还是不错的。

“最高脉冲”指控制器给步进电机发送的最高脉冲限制,降低“最高脉冲”可以使加速曲线变的平缓,启动性能改善,减速效果也好很多。如果采用原值100K,容易造成启动时系统振动和步进电机失步,减速时对机构的冲击也很大。降低最高脉冲对这方面改善很大,但是最高速度也随之受到限制。

“加速时间”指电机启动时从零速或起步速度加速到规定速度的时间,适当加大加速时间可以使电机启动时比较平缓,减少振动和步进电机失步;但是太大则使启动较慢。

   “减速时间” 指电机启动时从运行速度减速到零速的时间,适当加大减速时间可以使电机缓慢停止,减少冲击振动;但是太大则使停止制动较慢。不过如果限位开关和机械最后保护顶块距离很小时,当速度很快时,太大的减速时间有可能会使机构超过限位开关撞击机械顶块,形成很大的冲击。也就是说很多情况要结合具体机构调整PLC参数的。


40、触摸屏上常用的一些英语词汇:
(经常做出口设备或使用进口设备的朋友 ,望有机会多交流!)
中文 Chinese
英文 English
启动 Start
停止 Stop
正转 FWD
反转 REV
长度 Length
急停 Emgstop
左行 Goleft
右行 Goright
帮助Instruction
密码 password
参数 parameters
速度 Speed
手动 Manual
自动 Auto
步进 StepMode
报警 Alarm
复位 Reset
确认 Confirm
取消 Cancel
步进电机 StepMotor
伺服电机 ServoMotor
旋转编码器 RotEncoder
传感器 Sensor
限位Limit
找零Origin
回零Home
预览Simulate
暂停Pause
错误Error
编辑Edit
轴Axis

时间过的很快,转眼又是年底,经常出差,虽然我不能回家,但我还是
祝大家工程项目顺利,中秋团圆合家欢乐,国庆旅游快乐!

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2007-09-17 15:01:00
38楼
好贴,继续!

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2007-09-17 15:02:00
39楼
好贴,继续!

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2007-09-17 15:02:00
40楼
好贴,继续!

热门招聘
相关主题

官方公众号

智造工程师