PLC的编程元件
PLC的各种功能主要是通过运行控制程序来实现。编制程序时,需要合理使用PLC提供的编程元件(即软元件)。FPO型PLC中常用的编程元件有两种:位元件(bit)和字元件(word)。位元件实际上是PLC内存区域所提供的一个二进制位单元,又被称为软继电器,主要用作基本顺序指令的编程元件,如输入继电器Xn、输出继电器Yn、内部通用继电器Rn、定时(计数)器等,其参与控制的方式主要是通过对应触点的通断状态改变影响逻辑运算结果即输出。
字元件则为PLC内存区域内的一个字单元(16bit),主要用作功能指令和指令的编程元件,通常用以存放数据,如数据寄存器DTn,定时(计数)器的设定值SVn、经过值EVn等。字元件没有触点,通常以整体内容参与控制。
值得注意的是内存中的输入(X)区、输出(Y)区和内部通用(R)区,该区中的每个bit均可用作位元件,而且每16bit可构成一个字元件,如WRIO即是由16个位元件R100~R10F构成的字元件,该字元件中的内容一旦发生变化,这16个位的状态也随之发生改变。如:
图7 编程元件示例程序
图7所示程序中,WR0即为字元件,是左移位指令SR的编程元件,而Y0为输出软继电器的线圈,X0、X1、X2、X3则为输人软继电器的触点,其中第4步的R4触点为位元件R4的常开触点,而位元件R4又是字元件WR0中的一位,因此其状态受限于WR0的移位结果。
四、顺序控制多步同输出的编程方法
顺序控制是生产现场常见的一类控制任务,步进指令是PLC指令库中专用于顺序控制的。步进指令编程时,根据工艺流程将程序划分为一个个独立的程序段,执行时,CPU严格按梯形图编程顺序,只有执行完前一段程序后才能激活下一段程序,并在下一段程序执行之前,将前面程序段复位。并且在语法上要求各程序段所使用的输出不允许重复。这在解决顺序控制任务中有多步同输出的情况时,就带来了一定的困难。借助于内部通用继电器可方便解决这一难题。如某一顺序控制任务如以下流程图(图8)所示。
图8 某机械手动作流程图
从机械手动作流程图可以看出,这个控制任务每个循环的工作可以划分为八步,其中第1步与第5步动作相同,均为上升;第3步和第7步动作相同,均为下降。在利用步进指令进行编程时,这两个工步所对应的程序段的输出不能直接设置为Y3、Y4,同一个输出使用两次则会出现语法错误。这时应考虑使用用于存储中间状态的内部通用继电器Rn来解决这个问题。如图7所示梯形图程序,其中R1、R5分别被定义为第1步与第5步的输出,R3、R7分别被定义为第3步与第7步的输出,在步进结束后再将R1、R5的状态输出到上升Y3,将R3、R7的状态输出到下降Y4,通过这样的方法可方便解决顺序控制任务中若干工步输出相同的问题。
PLC是专为工业自动控制而开发的装置,通常PLC采用面向控制过程,面向问题的“自然语言”编程。不同厂家的产品采用的编程语言不同,这些编程语言有梯形图、语句表、控制系统流程图等。为了增强PLC的各种运算功能,有的PLC还配有BASIC语言,并正在探索用其他语言来编程。
日本的FANUC公司、立石公司、三菱公司、富士公司等所生产的PLC产品,都采用梯形图编程。在用编程器向PLC输入程序时,一般简易编程器都采用编码表输入,大型编程器也可用梯形图直接输入。在众多的PLC产品中,由于制造厂家不同,其指令系统的表示方法和语句表中的助记符也不尽相同,但原理是完全相同的。在本书中我们以FANUC-PMC-L为例,对适用于数控机床控制的PLC指令作一介绍。在FANUC系列的PLC中,规格型号不同时,只是功能指令的数目有所不同,如北京机床研究所与FANUC公司合作开发的FANUC-BESK PLC-B功能指令23条,除此以外,指令系统是完全一样的。
在FANUC-PMC-L中有两种指令:基本指令和功能指令。当设计顺序程序时,使用多的是基本指令,基本指令共12条。功能指令便于机床特殊运行控制的编程,功能指令有35条。
在基本指令和功能指令执行中,用一个堆栈寄存器暂存逻辑操作的中间结果,堆栈寄存器有9位(如图1所示),按先进后出、后进先出的原理工作。当前操作结果压入时,堆栈各原状态全部左移一位;相反地取出操作结果时堆栈全部右移一位,后压入的信号首先恢复读出。
图9 机械手控制梯形图
- 西门子模块总代理商-郴州 2023-10-26
- 西门子模块总代理商-益阳 2023-10-26
- 西门子模块总代理商-张家界 2023-10-26
- 西门子模块总代理商-常德 2023-10-26
- 西门子模块总代理商-岳阳 2023-10-26
- 西门子模块总代理商-邵阳 2023-10-26
- 西门子模块总代理商-衡阳 2023-10-26
- 西门子模块总代理商-湘潭 2023-10-26
- 西门子模块总代理商-株洲 2023-10-26
- 西门子模块总代理商-长沙 2023-10-26