学习一种编程语言不是一件简单的事情,不可能一朝一夕就能完成,在初学阶段难免会犯一些错误,作为编程人员一定要清楚程序的来龙去脉,否则程序在执行过程中就可能与编程人员的初衷大相径庭,在本文中不对STEP7软件及编程语言做详细的讲解,只是列举一些在STEP7编程过程中常见的错误,希望通过本文能让你在学习编程过程中尽量减少在编程方面的错误。 前期回顾:可参见文章如下 #西门子STEP7编程过程中常见错误之简单错误及循环程序错误举例 S7-300/400数制及基本数据类型 #西门子STEP7编程过程中常见错误之数据类型匹配不严谨 本文持续更新,本文主要就语句执行先后顺序来进行分析和讲解。 这里就涉及到PLC的扫描顺序,PLC的扫描顺序是由头到尾一次执行的,所以我们在编程必须要重视程序语句的执行顺序对逻辑结果的影响,下面举例,对于下面程序大家都会判断MW0中最后的执行结果,但是,随着程序的复杂性的增加,对于语句执行的先后顺序引起的错误,就容易被我们忽视。 ![]() 上面的程序的原来目的是T1定时器每秒导通一次,C1和C3会每隔1秒进行一次加1操作。但在实际监控运行结果时发现C1工作正常,C3并没有继续计数。下面我们来看看是什么原因?将上面程序转换成STL格式,可以更清楚看出语句在程序中执行的顺序。 ![]() 正确的程序应如下,反而更加精简,C1和C3并列出现: ![]() ![]() 由于LAD对程序语法规则检查是自动完成的,所以我们可能在使用时更随意一些,但没有语法规则错误并不一定会按照我们编程的本意来执行。
|
|
来自: flyk0tcfb46p9f > 《待分类》