西门子(全国)代理商-西门子模块代理商

报价
请来电询价
联系手机
15221406036
微信号
15221406036
品牌
西门子
产品规格
模块式
产地
德国

一组PLC程序的逻辑错误分析

  ●程序问题


  如果两个抢答者在同一时刻按下按钮,在程序中处于前面的抢答者的警报器输出正常,另一个抢答者的警报器没有输出。


  ●程序分析


  本问题分成三个程序段,它们本应并行执行方能达到公平的效果。但plc的cpu只能顺序执行程序,因此在程序中位置处于前面的抢答者的输出产生之后,后面的程序输出就被立即阻断。因此两个按钮同时按下时,只有其中的一个得到响应。


  plc的编程模式来源于继电器电路控制系统,在那些系统中,上述三个程序段对于三个并行运行的电路,但是转到cpu中之后,这些程序就不得不顺序执行。并行模型与顺序执行的冲突是许多程序错误的原因。在作者先前的论文中就对这一问题进行了分析[1]。


  在顺序执行的机器上面实现plc并行语义是可能的。但是依然需要小心各种陷阱。下面的第一次尝试存在一个错误,再后面一个程序改正了这个错误,通过了程序测试。


  ●程序修正尝试


  克服上面问题的一个自然的想法是使用中间变量保存每个程序段的输出。这一思路导致下面的程序实现(见图3):


  


  图3 程序修正尝试程序实现图


  使用这一程序时,如果两个抢答者的按钮同时按下,对应的两个警报器会同时响。但是,在下一周期,两个警报器的输出又会同时恢复到0。原因是每一个抢答输入都会导致另一个抢答无效,两个抢答输入就会同时导致对方无效。


  ●Zui终程序


  下面的程序克服了上述问题,并且通过了基本的测试检查(见图4)。


  它同前面程序不同之处在于把q0.0等变量的管辖范围放宽了,因此一旦q0.0为1,只要主持人按钮不按下,它的值就能继续保持下去。


  


  图4 基本测试检查结果


3 喷泉程序


  题目:plc在喷泉中的应用


  来源:plc应用技术开发与实践


  编程平台:三菱公司fx2n系列


  问题描述


  (1)喷泉有a,b,c 3组喷头;


  (2)按动开始按钮后,a组先喷,10秒后停,然后b组和c组同时喷;


  (3)b和c喷10秒后b停,再10秒后c停;


  (4)a,b又喷,5秒后,c也喷,持续10秒后全部停;


  (5)再5秒后重返上述(2)到(4)步;


  (6)按动停止按钮后,a,b,c 3组喷头全部停。

一组PLC程序的逻辑错误分析

1 引言


  可编程序控制器(简称plc)是一种工业自动控制中使用的计算装置。它广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、航天、环保及文化娱乐等各个行业。小到家用设备,大到航天器材,都有plc的应用。


  典型的plc由一个专用的cpu,一个存储器和一组输入输出端口构成,如图1所示。它通过输入端口接收来自传感器的信号,并通过输出端口发出控制信号驱动同它连接的外部设备。存储器中安放控制程序,系统的活动由控制程序所驱动。


  plc系统每隔一定的时间间隔(比如5毫秒)从输入端口读入信号,执行计算,然后向输出端口发送输出信号。每一“输入-计算-输出”周期称为一个扫描周期。plc程序在每个扫描周期中重复执行一遍。plc的简单应用有洗衣机控制,电梯控制。复杂的应用有自动机床控制,自动化工程控制。


  plc程序设计具有不寻常的软件编程模式。设计中需要考虑多个并行线程,它们之间的交互作用,以及在时间域上的行为。在plc的五种主要的编程语言当中,源自继电器控制系统的梯形图语言采用了一种简单的方式巧妙地处理了并行程序设计问题,然而,由于plc编程问题的固有复杂性,以及测试手段的缺乏,许多plc程序中依然存在大量的错误。


  为了解决这一问题,灵芯实验室正在开发plc测试系统,为plc程序的调试提供解决方案。在这一系统的试用过程中,在两本plc入门教科书的6个简单程序例子中发现其中的4个程序里面至少包含8个错误。


  ●一个抢答器程序在两个参赛者同时按下抢答按钮时,只有其中一个人的警报器能够发出警报;


  ●一个喷泉程序中,喷水组在几个指定时间上没有按要求停止喷水,或开始喷水;


  ●一个交通灯控制程序中,绿灯闪烁控制不正常;系统启动的时候,一个方向绿灯亮,另一个方向的红灯却不亮;强通结束之后,交通灯没有立即恢复正常运行;


  ●在另一个交通灯程序中,按下停止按钮之后,所有的灯熄灭,但两个方向人行道上却亮红灯。


  我们认为这一发现是不同寻常的。虽然每个程序员和教师都会犯编程错误,但是我们还从未在任何一本程序设计的教科书中发现如此高比例的程序错。这一现象初步证实了plc程序错误的广泛性和严重性。


  本文将逐一分析上述每一个程序的错误,指出错误原因。其中大部分程序,我们给出纠正了错误的新程序。期望这一分析能够帮助plc程序员和教师提高plc程序设计的正确性。plc程序的执行原理以及梯形图的语义将在例子的介绍中同时给予解释。我们相信,通过分析错误来学习是掌握遍程技巧的好方法。


关键词

西门子代理商 , 西门子模块代理商 , 西门子一级代理商 , 西门子PLC代理 , 西门子中国代理商

更新时间
皇冠会员
第4年
统一社会信用代码
91310117MA1J3R698D
成立日期
2019年09月10日
法定代表人
袁宜男
注册资本
500

主营产品

西门子PLC模块,变频器,触摸屏,交换机

经营范围

从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务,工业自动化设备安装,工业自动化控制设备、电气设备、机申设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售,商务信息咨询,软件开发,建筑装修装饰建设工程专业施工,建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。

公司简介

本公司销售的一律为原装正品,假一罚十,可签正规的产品购销合同,可开增值税发票,税点另外算,24小时销售热线:15221406036 本公司销售的一律为原装正品假一罚十可签正规的产品购销合同可开增值税发票税点另外算24小时销售热线15221406036 西门子触摸屏代理商,西门子一级代理商,西门子中国授权总代理 ----浔之漫智控技术(上海)有限公司   本公司专业经销合信/CO-TRUST科思创西门子PLC;S7-200S7-300 S...

查看公司详情
电话/手机15221406036拨打邮箱3064686604@qq.com邮件
经理聂航
地址上海市松江区广富林路4855弄星月大业领地88号3楼
我们其他产品
我们的新闻
微信
电话