自动化网-工控人家园官网

当前位置: 主页 > 技术文库 > PLC技术 >

plc梯形图经验设计法编程步骤-PLC编程报警功能块的实现

时间:2017-02-16 10:16来源:未知 作者:admin 点击:
plc梯形图经验设计法编程步骤-基于PLC编程报警功能块的实现
plc梯形图程序设计是可编程控制器应用中最关键的问题,PLC梯形图程序设计常用方法有经验设计法、顺序控制设计法和逻辑代数设计法等。 
    PLC梯形图程序用经验设计法编写,是沿用了设计继电器电路图的方法来设计梯形图,即在某些典型电路的基础上,根据被控对象对控制系统的具体要求,不断地修改和完善梯形图。有时需要多次反复地进行调试和修改梯形图,不断地增加中间编程元件和辅助触点,最后才能得到一个较为满意的结果。因此,所谓的经验设计法是指利用已经的经验(一些典型的控制程序、控制方法等),对其进行重新组合或改造,再经过多次反复修改,最终得出符合要求的控制程序。 
    这种设计方法没有普遍的规律可以遵循,具有很大的试探性和随意性,最后的结果也不是唯一的,设计所用的时间、设计质量与设计者的经验有很大的关系,因此,有人就称这种设计方法为经验设计法,它是其他设计方法的基础,用于较简单的梯形图程序设计。 
    用经验设计法编程,可归纳为以下四个步骤。 
[1]控制模块划分(工艺分析)。在准确了解控制要求后,合理地对控制系统中的事件进行划分,得出控制要求有几个模块组成、每个模块要实现什么功能、因果关系如何、模块与模块之间怎样联络等内容。划分时,一般可将一个功能作为一个模块来处理,也就是说,一个模块完成一个功能。 
[2]功能及端口定义。对控制系统中的主令元件和执行元件进行功能定义、代号定义与I/O口的定义(分配),画出I/O接线图。对于一些要用到的内部元件,也要进行定义,以方便后期的程序设计。在进行定义时,可用资源分配表的形式来进行合理安排元器件。 
[3]功能模块梯形图程序设计。根据已划分的功能模块,进行梯形图程序的设计,一个模块,对应一个程序。这一阶段的工作关键是找到一些能实现模块功能的典型的控制程序,对这些控制程序进行比较,选择最佳的控制程序(方案选优),并进行一定的修改补充,使其能实现所需功能。这一阶段可由几个人一起分工编写程序。 
[4]程序组合,得出最终梯形图程序。对各个功能模块的程序进行组合,得出总的梯形图程序。组合以后的程序,它只是一个关键程序,而不是一个最终程序(完善的程序),在这个关键程序的基础上,需要进一步的对程序进行补充、修改。经过多次反复的完善,最后要得出一个功能完整的程序。 
    因此,在程序组合时,一方面要注意各个功能模块组合的先后顺序;二是要注意各个功能模块之间的联络信号;三是要注意线圈之间的联锁(互锁)信号;最后不要忘了程序结束时要有程序结束指令。 

基于PLC编程报警功能块的实现

电气工程师在平常的程序编写中,会有各种各样的技巧类的方法,有助于程序结构清晰的,有利于程序简化的,更有自我创新的,多多地学他人之长以弥补自己之短,对自己的工作是有十足好处的。
在一个项目程序中,报警程序的编写是不可或缺的,但是如何给相同或类似的报警汇总出一个功能块来,还没有定论,当然有各种各样可以实现的方法,以下是我在平常的程序编写中已经习惯性用的FB报警功能块,感觉有利于程序的简化和统一,分享一下!
以下我的编程环境使用倍福的TwinCAT,如图1所示,它的编程语言符合plc标准化语言IEC61131-3,人性化的编程界面简单易学。


图1.Twincat属性
第一个功能块Alarm1,功能块实现的是执行器得到输出信号后,但是到位信号在规定时间内未反馈回来,则给出执行器未到位报警,此类报警的应用情况很多,例如拿一个气缸来说:


图2.变量表
VAR_INPUT(输入变量):
_CONTROL:指PLC发出的给气缸的伸出信号;
_SIGNAL:指气缸的伸出到位信号;
_RESET:指报警复位按钮信号;
_TIME0:指设定规定时间的设定值;
VAR_OUTPUT(输出变量):
_ALARM:指气缸异常的报警输出;
VAR(中间变量):
_TON1:定时时间继电器;
_TQ:定时器输出;
如图2中所示的逻辑程序部分:气缸的初始状态为收回状态,伸出到位检测信号为0,当PLC输出给气缸的伸出信号置1后,气缸动作即变为伸出状态,此时正常情况下在规定时间(例如_TIME0=3秒时),气缸的伸出到位检测信号_SIGNAL变为1,此时报警输出状态不变,为FALSE,不会报警;但是如果规定时间已到,即_TQ有输出,并且气缸的伸出到位信号未变为1,仍为0,则_ALARM信号为TRUE,报警有输出,显示气缸未到位报警。此时如果修复气缸开关,使得气缸的伸出到位信号_SIGNAL变为1,则按下复位按钮,即_RESET=TRUE,_AlARM信号变为FALSE,报警消除。
如果控制信号_CONTROL为0的话,报警信号_ALARM即变为FALSE。


图3.逻辑控制程序
整体的效果如图4所示。


图4.整体外观图
此类报警应用不仅限于气缸,又如你电机、电缸等执行器均适用。
第二个功能块Alarm2,此报警功能块实现的是执行器的两端传感器在规定时间内同时有信号或同时无信号时,则给出执行器检测开关报警,此类报警的应用情况也很多,同样我们拿一个气缸来举例:
变量表如图5所示:
VAR_INPUT(输入变量): 
_SIGNAL1:传感器信号1;
_SIGNAL2:传感器信号2;
_RESET:复位信号;
VAR_OUTPUT(输出变量): 
_ALARM:指气缸异常的报警输出;
VAR(中间变量):
_IN0:定时器的使能端;
_TON2:定时时间继电器;


图5.变量表
如图6所示的逻辑控制程序,如果一个气缸的两端信号同时为1,即_SIGNAL1和_SIGNAL2同时都有信号,或者两者同时都没有信号,即_SIGNAL1和_SIGNAL2同时为0,则定时器的使能端信号_IN0变为TRUE,定时器_TON2开始计时,此例设定定时器的值为1秒,当计时器的时间到后,_ALARM信号置为TRUE,使能端信号_IN0变为0,当修复气缸两端的检测信号到正常状态时,按动复位按钮后,报警信号会复位,_ALARM信号复位为0,报警消除。


图6.逻辑控制程序
如图7所示完整视图,此报警也不仅局限于气缸的操作,同样适用于电机等其它执行器的报警显示。


图7.整体外观图
实际FC块中调用FB块的实例如图8所示,在FC编辑块中将ALARM引入,对其输入引脚和输出引脚分别对应赋值,实现对相应执行器的报警显示。


图8.FC块中的ALARM块实现
诸如此类的总结在日常工作中还有很很多,只要平时下一点点的功夫,善于总结,勇于与大家交流,将编程的便捷与开扩的思路与众人分享,我们的技术进步指日可待!

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片