|
楼主 |
发表于 2010-3-1 15:49:00
|
显示全部楼层
下面就讲讲具体的调试过程,先讲设计思路,然后讲PLC程序,再讲触摸屏,最后讲PCB的细节,PCB的细节有些朋友可能用不到,可以忽略不看,但我建议你看下去,因为PLC总是涉及到NPN或PNP的关系,了解也无妨。
一,设计思路
[attachimg]5855[/attachimg]
图1
设计思路如上,这个和项目构思时有点差别:
1.指示灯直接放在了触摸屏上,尽管电箱和PCB中已经留了位置
2.由于使用了稳压电源,欠压信号取消
3.由于计时不用太准,所以用M8014(分)来触发计数器,算法简单很多
4.电箱设计时没有考虑周到,很拥挤,不好配线,但勉强可以使用。
5.马达控制方法也有所变更,改为运行3s,停止1s,如此循环150万次
二,PLC程序(修改后)
这里只讲单个Motor程序,其他的类似。
1.Motor控制部分程序
[attachimg]5856[/attachimg]
[attachimg]5857[/attachimg]
[attachimg]5858[/attachimg]
M1是马达1的启动停止部分,是由触摸屏来控制的。M1上升沿设置32位计数器C200正向计数(M8200),下降沿停止电机,
T1,T0组成一个循环,运行3s,停止1s。如果无法理解这个,网友看看我站的另外一篇文章“初学者必须掌握的几个提行图”
Y0,Y1是控制IC TA8429H,00,表示停止,01正转,10反转,11刹车,这里我们只用到00,和01。
2.开机设置默认参数
M8002是PLC开机第一个扫描周期是ON,利用这个时间可以讲一些数据赋值给D寄存器,以后M8002是断开的,这样D寄存器就可以修改了。这里我们默认马达运行8小时。说到8小时,我心里是没有底的,这个机器一共10各马达,正常运行电流是1.5A,很大的电流,尽管每个只有150MA但是TA8429H发热还是很厉害的,在加上PLC和电源,PCB本身也是发热大户,所以电箱里面的温度很容易上升,温度一升,PCB的中运算放大器,还有电阻的温飘就上去了,这个直接影响过电流的准确度,甚至影响电机的控制,这个我是深有体会,简述PCB时再来说这个问题。
[attachimg]5859[/attachimg]
D0是设置马达1的运行次数,是低16位,高十六位放在D1中。
[attachimg]5860[/attachimg]
3.马达运行时间统计程序。
M8014是以分计时的特殊寄存器,M1开启时C0计一次数,这样C0的计数就是运行的时间。
[attachimg]5861[/attachimg]
4.过流检测程序:不要小瞧这一段程序,其实此项目最大的难点就在这里,PCB的设计难点也在这里(里面涉及到电流的计算精度这个在后面讲),从程序可以看到,有的过流输入是直接输出到s寄存器,有的是取反后输出到S寄存器, S0~S10显示触摸屏上,为啥是这样的,这个电路的电阻阻值有关。后面PCB讲
[attachimg]5862[/attachimg]
5触摸屏控制电机
通过下面的程序可以实现全部启动电机和全部停止电机,这里程序少一段,全部要看PLC源码
原理都能看懂吧,嘿嘿!这里不再费口舌了!
[attachimg]5863[/attachimg]
三,PLC程序(修改前)
下面分析网友提供的程序
这个程序我放到了PLC里面试过了,基本可以用。
程序是在软件上模拟过的,估计是花了很大的心血,是按照一开始项目规划时的IO分配写的。不过我改了一些输入输出,电机过流指示灯直接用PLC的输出控制,启动,停止按钮也直接用触摸屏控制,所以IO就发生了变化。
这个程序设计思路基本和我上面的一致,只是风格不够简洁。我们来分析一路控制,其他的基本一样。如果网友要看全部,可在网站上找到原程序。
梯形图中,Y4,表示正转,Y5,表示反转,通过互锁实现,X4,X5是OUT指令控制的,其实这是有点繁琐的,用SET指令即可,这样就可以去掉互锁了。M1是触摸屏中的控制按钮,这里说明一点,M1在触摸屏中,可以做为一个自锁按钮,也可以是点动按钮,这里如果换成自锁按钮不就可以随意控制了,这一段解释可以看看我的程序。
紧急停止X000,我的设计中没有用到这个,而是用“全部停止” (触摸屏按钮)代替了,严格的讲,不应该这样,每一个设备最基本的安全措施就是一个急停,而且必须是硬件急停,这样可以将损失减小到最少,对人身也安全。
T1,T2构成一个循环回路可以完成一个 正转-》反转-》正转-》。。。。的动作。思路和我的一样。
[attachimg]5864[/attachimg]
X001是过流指示,项目规划时加的功能,我的程序中也有。说起过流指示,倒是可以,如果说电流检测,那就难了,直流电机要频繁的启动停止,电流时很大的大约是正常电流的10倍以上,
本来要检测过流时间的,当时实际当中,发现太困难了,电机的发热,PLC,电源的发热,PCB的发热,加载一起,控制箱内的温度一下子就上来了,此时PCB的温度剧升,里面的电阻也会产生变化,所以精度就很难保证了,实际情况是10个电机转动半个小时后,就不可控了。我想了很久,并找了精度很高的电阻,也不完美。最终还是放弃了这个电流检测的想法,改用过电流指示,就是过电流严重时触摸屏指示灯连续亮。总结一句,在高温情况下,检测一个电流,难度较高,首要是要考虑温度对影响,这让我想起以前在国企维护西门子的数控中心的工作环境,那可是几个中央空调专门给两台数控中心服务的。
PLC程序:
http://bbs.plcjs.com/showtopic-13825.html
loveplc 2010年2月27日 深圳 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册哦
x
|