1、堆栈
堆栈就是货仓,这是数字电子技术中借用的一个名词。具体到PLC来说,堆栈就是在PLC中的一个特定存储区,用来存储某些中间运算结果和存放程序断点及数据。堆栈操作的特点是:先进后出,后进先出。
为一具有11个存储单元的堆栈,下面为栈底,上面为栈顶。把一个数据
或运算结果送入堆栈,叫进栈或压栈;把运算结果取出叫出栈。进栈时,后来的永远在栈顶,原先栈中的数则依序向下移动一个单元。出栈时,栈顶的数从栈中弹出(不在栈中了)而下面的数则依序向上移动一个单元。这就和家中的米箱类似,先进米箱的米后吃,后倒进去的米先吃。进栈和出栈是对堆栈的两种操作,还有一种操作叫读栈。读栈只是读出栈顶的数据,而不会把数据从栈弹出。
上面介绍的是三菱FX2N的有关堆栈知识,在计算机中,堆栈是一个非常重要的概念,他可以帮助我们正确理解许多程序运行的过程
一、寻址
就是寻找操作数的存放地址。大部分指令都有操作数,而寻址方式的快慢直接影响到PLC的扫描速度。了解了寻址方式也有助于加强对指令功能特别是功能指令的执行过程的理解。单片机,微机中的寻址方式较多,而PLC的指令寻址方式相对较少,一般有下面三种:
1、直接寻址
操作数就存放在数据的地址。基本逻辑指令都是直接寻址方式。
2、立即寻址
其特点是操作数(一般为源址)就是一个10进制或16进制的常数。
3、变址寻址
这是一种复杂的寻址方式,立即寻址和变址寻址均用在功能指令中。我们只能举例加以说明。
MOV D5V0 D10Z0
易改性
程序要便于修改。PLC的特点之一就是方便,可方便的在软件上修改或重新设计程序。重新设计程序,一般是在改变PLC工艺的用途要求的情况才需要,这时不仅程序重编,I/O也要重新分配。大多数情况下不需要重编程序,作一些修改就可以了。这就要求程序具有易改性,便于修改。
扩展性
许多程序可能在进现场之前都已经编好,到了现场,可能还需要添加的功能程序,为了避免打乱整套系统的结构,需要在每个功能区预留一定的空间作为备用。硬件上留出足够的余量,软件在编写的时候把手动,自动,半自动考虑好,做出预留。
具备报警保护系统
PLC系统往往用于工业环境中,每一次的故障或事故都会造成或大或小的损失,为了做到将损失降到小,必须重视PLC的报警和保护,要将其摘出来作为系统的一个重要组成部分。
运行前的模拟系统
为了保证现场的调试进度或者给客户展示,往往在进现场之前,要对自己的程序进行全自动的模拟。为此需要在程序中加入模拟程序部分,模拟程序部分在正常现场运行之后断开。
为了使程序具备模拟功能,需要做以下工作:(1)将实际的PLC的I/O点转换为PLC的中间变量或者数据块变量;(2)根据工艺要求编写各个设备的模拟程序。
正确性
PLC的程序一定要正确,并要经过调试验证,证明其能够正确工作。这是对PLC程序的根本的要求,若这一点做不到,其它的再好也没有用是吧?要使程序正确,一定要准确的使用指令,正确的使用编程软元件。必要时,可编些小程序对一些不清楚的指令作些测试。
可靠性
PLC程序不仅要正确,还要可靠,这反映着PLC程序的稳定性,这也是对PLC程序的基本要求。有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停电,又很快再通电)或进行操作(如一些按钮不按顺序按,或按若干按钮)后,程序就不能正常工作了,这种程序,就不太可靠,或者说是不好的程序。
好的PLC程序对非正常工作条件出现,能予以识别,好的PLC程序对操作能予以拒绝,只接受合法操作。联锁是拒绝操作常用的手段,继电电路常用这个方法,PLC也可继承这个方法。
简单性
好能够使PLC程序尽可能简单。简单的含义就是尽可能的使用标准化的程序框架,尽可能使用简单的指令。要想程序简单,就要优化程序结构,用流程控制等指令简化程序。
可读性
要求所设计的程序可读性要好。这不仅便于程序设计者加深对程序的理解,便于调试,还要便于别人读懂你的程序,便于使用者维护。要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次结构,实现模块化。要多用一些标准化的设计。I/O分配要有规律性,便于记忆与理解。必要时,还要做一些注释工作。